Recent Releases of paramdb
paramdb - v0.15.0
Added
- Added
ParamDB.__repr__()for better debugging.
Changed
ParamDB.commit()now has araw_jsonoption, allowing a raw JSON string to be committed to the database.- Updated the underlying JSON representation to be more self-describing; see
ParamDB.load()for the new format specification.
- Python
Published by alexhad6 over 1 year ago
paramdb - v0.14.0
Changed
- The option
decode_jsoninParamDB.load()was replaced withraw_json, which allows loading the raw JSON string from the database. - The order of data for
ParamDataobjects in the underlying JSON representation was changed; seeParamDB.load()for the new order.
Removed
ParamDBKey.WRAPPERwas removed in favor of encoding these values usingParamDBKey.PARAMwith a class name ofNone.
- Python
Published by alexhad6 over 1 year ago
paramdb - v0.13.0
Added
- The timestamps of non-
ParamDatachildren are now tracked internally and can be accessed via the new methodParamData.child_last_updated(). - The class
ParamDBKeycontains the keys used in the JSON representation of a commit.
Changed
ParamDictdot notation now treates names of existing attributes and names of class type annotations as attributes (rather than treating all names beginning with underscores as attributes).- The JSON format of a commit has been changed, as specified in the docstring for
ParamDB.load(). ParamData.to_dict()andParamData.from_dict()have been replaced byParamData.to_json()andParamData.from_json().
Removed
- Parameter primitive classes have been replaced by the new timestamp tracking.
- Python
Published by alexhad6 over 1 year ago
paramdb - v0.12.0
Added
- If Pydantic is installed, parameter data classes automatically have Pydantic type validation enabled.
- Parameter primitives classes
ParamInt,ParamFloat,ParamBool,ParamStr, andParamNone. - Parameter file classes
ParamFileandParamDataFrame.
Changed
- All
ParamDataobjects now internally track the latest time that they or any of their children were last updated, which is returned byParamData.last_updated. ParamandStructare combined into a single classParamDataclass.
- Python
Published by alexhad6 over 1 year ago
paramdb - v0.11.0
Added
ParamDB.load_commit_entry()loads a commit entry by ID or the most recent commit.ParamDB.commit_history_with_data()to retrieve the commit history with data.CommitEntryWithDatato store a commit entry containing data.
Changed
ParamDB.commit()returns aCommitEntryinstead of the commit ID.
Removed
ParamDB.latest_commitis replaced byParamDB.load_commit_entry()
- Python
Published by alexhad6 almost 2 years ago
paramdb - v0.6.0
Added
ParamDB.dispose()function for cases where it is required to fully clean up the database before the program ends, such as in testing suites.
Changed
- Commits get the current time in a way that can be mocked in tests where we want to control the time.
- Python
Published by alexhad6 over 2 years ago
paramdb - v0.4.0
Added
- ParamDB load_classes parameter can be set to False to load parameter data classes as dictionaries (created to allow ParamView to access data)
- Keys for special properties in dictionary representations of parameter data can be imported
- ParamDict returns keys in
__dir__()so that they are suggested by interactive prompts like IPython.
Changed
- ParamDict uses dictkeys, dictvalues, and dict_items instead of default KeysView, ValuesView, and ItemsView since they print nicely
- Python
Published by alexhad6 almost 3 years ago
paramdb - v0.3.0
Added
- Ability to specify start and end indices in
ParamDB.commit_history() - Support for scalar
astropy.units.Quantityobjects - Parameter dataclass bases (
ParamandStruct) automatically convert subclasses into dataclasseskw_onlyas True by default
Changed
ParamDictcan be initialized from keyword arguments in addition to dictionaries
- Python
Published by alexhad6 almost 3 years ago
paramdb - v0.2.0
Added
- Ability to specify commit ID in
ParamDB.load() ParamData.parentandParamData.rootproperties- Mixins
ParentType[PT]andRootType[PT]to type cast parent and root - Parameter collection classes
ParamListandParamDict - Database now ignores dataclass fields where
initisFalse
Removed
CommitNotFoundError(replaced with built-inIndexError)- Private
_last_updateddataclass field in parameter dataclasses
- Python
Published by alexhad6 almost 3 years ago