Skip to content

Revamp project registry, modernise plot functions, and various other improvements

Yunus Sevinchan requested to merge utopia-integration into main

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 YAMLRegistry for project registry, removing the old one
    • Add eval_after_run model info bundle key that controls whether evaluation will start after a run
    • Adjust and improve CLI:
      • Use --set-default CLI option instead of set_as_default key in manifest file (no longer supported breaking change)
      • Use --eval/--no-eval to overwrite model-specific evaluation setting (dropping --no-plot again)
    • Add snsplot for seaborn-based plots
    • Modernise the ca.state plot: now called caplot and supporting the data transformation framework
    • Improve README and add setup.py package description
    • Add ExtendedModel to demo project #7 (closed)
    • Reactivate some skipped test cases #7 (closed)
    • Move load_cfg.data entry out of utopya base config (should be project-specific)
    • Improve utopya._import_tools
    • Improve ModelRegistry.info_str_detailed
    • Make setting ModelRegistryEntry.default_label update the registry file and add set_default_label method
    • 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
  • 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

Merge request reports