Skip to content

v0.1.1

Latest

Choose a tag to compare

@alonsoJASL alonsoJASL released this 05 May 15:10

Released: 2026-05-05

Minor release. Adds a project scaffolder, renames the asset-fetching layer
to a more accurate name (with a deprecation shim), and prepares the suite
for downstream consumers using non-model artifacts (e.g. pycemrg-meshing's
C++ binaries).

No manifest schema changes. No required user action.

New

  • pycemrg init <name> — scaffold a starter project for the suite.
    Generates scripts/, config/, outputs/, pyproject.toml,
    .gitignore, and README.md. The README walks users through pipx
    install of the CLI, conda env creation, and editable installs of the
    suite siblings. --with-src adds src/<name>/ for stateless library
    code. --force writes into a non-empty target.
  • pycemrg.assets.AssetManager — generic verified-download/cache
    layer. Identical behaviour to the previous ModelManager, with a name
    that fits non-model assets (binaries, atlases, datasets, etc.). Adds
    get_asset_path(asset_name, version) as the canonical method;
    get_model_path(model_name, version) is preserved as an alias.
  • pycemrg.files.ProjectScaffolder — programmatic API behind
    pycemrg init, in case callers want to scaffold projects from code.

Changed

  • pycemrg.models.manager.ModelManager is now a deprecation shim that
    subclasses AssetManager and emits a DeprecationWarning on
    construction. Existing imports keep working.

Deprecated

  • pycemrg.models.manager.ModelManager — use
    pycemrg.assets.AssetManager instead. Removal scheduled for 0.3.0.
    Migration:
    - from pycemrg.models.manager import ModelManager
    - mgr = ModelManager("models.yaml")
    - path = mgr.get_model_path("segmenter")
    + from pycemrg.assets import AssetManager
    + mgr = AssetManager("models.yaml")  # any manifest filename works
    + path = mgr.get_asset_path("segmenter")