Revamp project registry, modernise plot functions, and various other improvements
This MR applies further changes to utopya that work towards a smooth integration of utopya into Utopia, see utopia!277 (merged).
The main change is the implementation of a generic YAMLRegistry that uses pydantic for schema validation. This replaces the hacky implementation of the projects registry that was used before.
Furthermore, plot functions are modernised and various other smaller improvements are implemented.
Can this MR be accepted?
-
Implementation ready -
Implement YAMLRegistry -
Use specialized YAMLRegistryfor project registry, removing the old one -
Add eval_after_runmodel info bundle key that controls whether evaluation will start after a run -
Adjust and improve CLI: - Use
--set-defaultCLI option instead ofset_as_defaultkey in manifest file (no longer supported breaking change) - Use
--eval/--no-evalto overwrite model-specific evaluation setting (dropping--no-plotagain)
- Use
-
Add snsplotfor seaborn-based plots -
Modernise the ca.stateplot: now calledcaplotand supporting the data transformation framework -
Improve README and add setup.pypackage description -
Add ExtendedModelto demo project #7 (closed) -
Reactivate some skipped test cases #7 (closed) -
Move load_cfg.dataentry out of utopya base config (should be project-specific) -
Improve utopya._import_tools -
Improve ModelRegistry.info_str_detailed -
Make setting ModelRegistryEntry.default_labelupdate the registry file and addset_default_labelmethod -
Consolidate test fixtures and rework how models and projects are temporarily registered in test contexts - ...improving reproducibility and reducing production of artifacts in the project or model registry
-
...
-
-
Tests added or adjusted -
Documentation extended or updated
-
Code quality -
Changes follow coding guidelines -
Checked code coverage on new and adjusted code
-
-
Ready for merging -
Pipeline passes without warnings -
History cleaned-up or squash option set -
Changelog entry added -
Version number bumped -
Reviewed & approved by @
-
Related issues
Closes #18 (closed)
Edited by Yunus Sevinchan