femic.freshforge_materialization Module

The femic.freshforge_materialization module owns FEMIC’s optional FreshForge provider for generic model-instance materialization workflows.

It is separate from femic.freshforge, which owns model-build stages. The materialization provider is config-driven and must not hardcode named example instances. Instance repositories supply overlay YAML files that describe instance paths, install requirements, special remotes, materialization paths, audit paths, and report paths.

API

FreshForge provider for FEMIC model-instance materialization workflows.

class femic.freshforge_materialization.FemicMaterializationProvider(command_runner=None)[source]

Bases: object

FreshForge provider for generic FEMIC model-instance materialization.

Parameters:

command_runner (CommandRunner | None)

metadata()[source]

Return FreshForge provider metadata.

Return type:

Any

run_node(node, node_type, *, context)[source]

Run one materialization node through the released FreshForge API.

Parameters:
  • node (Any)

  • node_type (Any)

  • context (Any)

Return type:

Any

validate_node(node, node_type, *, location)[source]

Validate broad materialization node shape without executing commands.

Parameters:
  • node (Any)

  • node_type (Any)

  • location (str)

Return type:

tuple[Any, …]

class femic.freshforge_materialization.MaterializationOverlay(instance_root, venv_path, special_remote, materialization_paths, audit_paths, report_path, submodule_path=None, annex_enabled=True, install_requirements=(), install_editable_paths=(), install_extras=(), install_packages=())[source]

Bases: object

Generic model-instance materialization overlay.

Parameters:
  • instance_root (Path)

  • venv_path (Path)

  • special_remote (str)

  • materialization_paths (tuple[Path, ...])

  • audit_paths (tuple[Path, ...])

  • report_path (Path)

  • submodule_path (Path | None)

  • annex_enabled (bool)

  • install_requirements (tuple[Path, ...])

  • install_editable_paths (tuple[Path, ...])

  • install_extras (tuple[str, ...])

  • install_packages (tuple[str, ...])

annex_enabled: bool = True
audit_paths: tuple[Path, ...]
install_editable_paths: tuple[Path, ...] = ()
install_extras: tuple[str, ...] = ()
install_packages: tuple[str, ...] = ()
install_requirements: tuple[Path, ...] = ()
instance_root: Path
materialization_paths: tuple[Path, ...]
report_path: Path
special_remote: str
submodule_path: Path | None = None
to_dict()[source]
Return type:

dict[str, Any]

venv_path: Path
femic.freshforge_materialization.load_materialization_overlay(path)[source]

Load and validate a materialization overlay YAML document.

Parameters:

path (Path)

Return type:

tuple[MaterializationOverlay | None, tuple[str, …]]

femic.freshforge_materialization.provider_factory()[source]

Return the FEMIC materialization provider for entry-point discovery.

Return type:

FemicMaterializationProvider