Release 0.7.0 - Config Reload
With this release, DP³ moves to use the newer version 2 of Pydantic, which is used internally for most data validation needs, be it incoming datapoints or configuration. This also means a bump in the FastAPI version used. You may need to reinstall the requirements for DP³ in your existing installations.
- Modules and values derived using
on_entity_creationandon_new_<attr>callbacks can now be refreshed after configuration changes using the API. - Updated
BaseModuleclass to initialize the logger and aSharedFlagfor module refreshing purposes. Modules should now place the loading of configuration into theload_configmethod. CallbackRegistrarnow offers newinitandfinalizehooks to give module context about snapshot creation.
- Added a new telemetry endpoint to show source validity.
- Added fulltext filters when querying the latest snapshots.
- The Control section has two new endpoints, one for refreshing all
on_entity_creationcallbacks for a particular entity, another for reloading the module configuration as mentioned above.
- Links have become more expressive, as mirrored links are now available, allowing for easier 1-M relation modelling and having data more accessible in all sides of the relation. (see config)
- Another addition is allowing links in arrays and sets, which allows M-N relations without using multi-value observations attributes.
- The schema defined by
db_entitiesis now tracked in the database and will prompt users on conflicting changes on platform startup. - The required DB changes can be applied using
dp3 schema-updateand should require no manual interaction with the database.
Internal changes:
Snapshooteronly links entities for making snapshot when necessary (previously unused relations were loaded regardless).SnapshooterandGarbageCollectorlink cache collections have been merged into one managed byLinkManager.- Links to and from deleted entities are now deleted from master records.
- Various minor logging changes and other fixes.