pydent change log¶
1.0.3¶
2020-09-09T22:17:51.082004 Add handling of Krill libraries
1.0.2¶
2020-07-13T11:26:44.038874 Add tests to operation type.
1.0.1¶
2020-07-13T11:18:08.599254 Add tests to operation type.
1.0.0¶
2020-06-18T19:42:47.055781 Make release 1.0.0 from 0.1.0alpha
0.1.5a23¶
2020-05-19T10:09:04.242576 updates to AQL
query
key changed to__query__
key
0.1.5a21¶
2020-05-13T08:32:18.023349 Correction
removed print statement from
pydent.save_inventory
0.1.5a20¶
2020-04-26T10:52:22.897648 new features (AQL)
AQL: add
__options__.pageSize
to AQL schema
0.1.5a19¶
2020-04-25T19:58:33.514625 new features
Serialization:
model.dump(include_uri=True)
will return a unique URI for the model upon dumpSerialization:
model.dump(include_model_type=True)
will return the model class name upon dumpAQL:
__as__
key was removed from AQL query scheme. To dump JSON, add the__json__
key to the top level.AQL:
__json__
will, by default, dump uri and model attributes. These option can be changed by setting__json__
={"include_uri": false, "include_model_type": false}
0.1.5a18¶
2020-03-15T14:19:15.948876 MIT License
0.1.5a17¶
2020-02-20T11:09:02.777062 bug fix
sample.save checks for required properties
0.1.5a16¶
2020-02-16T14:36:27.391598
Added complex query method
session.query
and corresponding query schema.Fixes to session.browser.where
0.1.5a15¶
2020-02-14T13:30:48.952836 bug fixes
several bug fixes related to setting FieldValue properties
Planner.add_from_template
will add operations from a template to this PlannerPlanner.copy
has been fixed
0.1.5a14¶
2020-02-14T13:15:38.789723 Ω
0.1.5¶
2019-12-13T00:15:30.557477 0.1.5a14
bug fixes
merge
added to sample, which merge samples by namesave_inventory
optionally merged samples
0.1.5a13¶
2019-12-12T23:16:13.054507 features
save_inventory method to save Samples, Collections, Plans, and Items
0.1.5a12¶
2019-12-12T21:04:58.993258 bug fixes
Planner.optimize bug fixes
0.1.5a11¶
2019-12-12T20:57:28.457117 bug fixes
fixed bug in which data associations without an id would attempt to save to server
added method to delete data associations from Collection.parts
added explicit method to add associations to parts
0.1.5a10¶
2019-12-12T16:05:57.054929 New major features
Collection
model completely reworked.Collection
now has multiple ‘views’ to view dat, including sample_id, sample, data_value, data_associations, part_associations, and parts.Collection
sample_ids and data_associations c can be updated using advanced indexingCollection
update now will automatically update DataAssociations along with the Collection itselfDataAssociator refactored and fixed
Items now automatically upddate their data associations upon save
0.1.5a9¶
2019-11-19T18:48:57.740353 slimmed dependencies
removed
arrow
removed
pandas
changed browser.samples_to_df to check if pandas is installed
0.1.5a8¶
2019-11-19T18:33:38.350971 bug fixes
fixes loggable class and adds tests
fixes issue with attribute access in session
fixes issue whe3re Plan.one() return None for Aquarium 2.7
Plan no longer includes wires on query
0.1.5a6¶
2019-08-08T14:52:14.631040
0.1.5a5¶
2019-08-08T14:43:40.229011 bug fix
fixes bug with field values that have no operations when using planner.set_to_available_item
0.1.5a4¶
2019-08-08T14:37:26.698386 bug fix with setting available items
fixed RESTRICT_TO_ONE for item_preference in planner
added RESTRICT_TO_ONE_ON_SERVER that looks at all reserved items on the server
0.1.5a3¶
2019-08-06T14:42:09.748998 bug fixes
fixes find(id=0) bug that raised a mysterious error
session..all() no longer raises error when cache is being used
0.1.5a2¶
2019-07-28T13:08:07.331007 minor bug fixes
Fixed error that occurred when Planner and PlannerLayout had no operations
Added ‘using_verbose’ to session factory. Create a verbose session using
session(using_verbose=True)
Improved logging library. Logging library accessible via ‘.log’ as in
session.log.info(<msg>)
Traceback limit for logging can be set using
session.log.set_tb_limit(<limit>)
0.1.5a1¶
2019-07-26T08:46:10.461557 installation of keats
keats manager tool installation
remove warnings that occurred during plan.save() and plan.update()
0.1.5a¶
fixes a planner.open() bug
0.1.4a¶
fixes a planner.save() bug
0.1.3a¶
added pydent.login method, which returns an AqSession instance with option to input password securely. Useful for live demos.
0.1.2a¶
Major changes
Planner class - a convenience class creating and editing plans in Aquarium.
Browser
- a convenience class for browsing Samples and other models. Includes caching and query bundling to reduce number of queries and increase script speed.new queries (one, last, first)
removed requirement of Marshmallow serialization/deserialization dependency, replaced by faster code
Removed
marshmallow
as a serialization/deserialization library. A custom library is now used that avoids unnecessary field validation. As a result, modelload
anddump
is many fold faster.
Minor changes¶
Continuous validation - Cannot set Nested/Relationship attributes to arbitrary values. E.g.
sample_type.sample = 5
will raise an Exception, but settingsample_type.sample = mysample
will not.sample_type.sample = mysample
will also automatically set thesample_id
attribute, since this is defined in the HasOne relationship as an attribute_key. But settingsample_type.sample.id = 5
will not change thesample_id
key.
setting
None
will no longer trigger a query attempt. In previous versions, a relationship whose value was set toNone
would intialize a query attempt anytimegetattr
accessed a model attribute, using round-about exception handling to avoid errors; this made it impossible to set a relationship attribute toNone.
Now, a query will only be initiated if the key does not exist in the models underlying data. This means that data received from Aquarium will be used as expected (i.e. setting{"sample": None}
will not try to initiate a query next timemodel.sample
is called).FieldValue.set_value
now handles None values. In previous version, None values passed into set_field_value would be ignored, making it difficult to reset a FieldValue. For examplefield_value.set_value(sample=None)
will now reset the sample value for the FieldValue instead of being ignored.
primary_key
will return anid
. Ifid==None
, then therid
is returned (e.g.rid1023
)HasOne
relationship will automatically set the corresponding model reference when setting attributes. E.g.sample.sample_type = myst
will also automatically setsample.sample_type_id = myst.id
since this is defined in theHasOne
field. Similar tracking is not implemented for other relationships.
Developer changes
poetry
https://poetry.eustace.io/ now used as the package manager, replacing pipenvvcrpy` is used to cache and store queries for deterministic testing.
Improved documentation.