mache.deploy.init_update.init_or_update_repo

mache.deploy.init_update.init_or_update_repo(repo_root: str, software: str, mache_version: str | None, update: bool = False, overwrite: bool = False) None[source]

Init: Create/refresh the deploy starter kit in a target-software repo. Update: Update only a subset of deployed files for a new mache version.

Writes:
  • deploy.py (repo root)

  • deploy/cli_spec.json

  • deploy/custom_cli_spec.json (init only, downstream-owned)

  • deploy/pins.cfg (init only)

  • deploy/config.yaml.j2 (init only)

  • deploy/spack.yaml.j2 (init only)

  • deploy/hooks.py (init only, example-only)

Parameters:
  • repo_root (str) – Path to target repo root.

  • software (str) – Target software name (e.g. polaris).

  • mache_version (str | None) – Pinned mache version for this repo, default is the current mache version.

  • update (bool, optional) – If True, perform an update rather than an init.

  • overwrite (bool, optional) – If True, overwrite existing deploy files.