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
querykey 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__.pageSizeto 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.queryand 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_templatewill add operations from a template to this PlannerPlanner.copyhas 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
mergeadded to sample, which merge samples by namesave_inventoryoptionally 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
Collectionmodel completely reworked.Collectionnow has multiple ‘views’ to view dat, including sample_id, sample, data_value, data_associations, part_associations, and parts.Collectionsample_ids and data_associations c can be updated using advanced indexingCollectionupdate 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
arrowremoved
pandaschanged 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
marshmallowas a serialization/deserialization library. A custom library is now used that avoids unnecessary field validation. As a result, modelloadanddumpis many fold faster.
Minor changes¶
Continuous validation - Cannot set Nested/Relationship attributes to arbitrary values. E.g.
sample_type.sample = 5will raise an Exception, but settingsample_type.sample = mysamplewill not.sample_type.sample = mysamplewill also automatically set thesample_idattribute, since this is defined in the HasOne relationship as an attribute_key. But settingsample_type.sample.id = 5will not change thesample_idkey.
setting
Nonewill no longer trigger a query attempt. In previous versions, a relationship whose value was set toNonewould intialize a query attempt anytimegetattraccessed 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.sampleis called).FieldValue.set_valuenow 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_keywill return anid. Ifid==None, then theridis returned (e.g.rid1023)HasOnerelationship will automatically set the corresponding model reference when setting attributes. E.g.sample.sample_type = mystwill also automatically setsample.sample_type_id = myst.idsince this is defined in theHasOnefield. Similar tracking is not implemented for other relationships.
Developer changes
poetryhttps://poetry.eustace.io/ now used as the package manager, replacing pipenvvcrpy` is used to cache and store queries for deterministic testing.
Improved documentation.