API Reference
Developer-facing API documentation for the public Python module surface.
Use this section when you already know you need to work in FEMIC’s Python modules and you want to understand module responsibilities, callable surfaces, and package boundaries.
This section is not meant to replace the Guides. The Guides explain workflows and operator sequences. The API reference should explain what the code owns, how the main modules fit together, and where to start when you need to extend or debug a specific runtime seam.
If you need the shortest source-of-truth answers for repo/runtime contracts rather than module ownership, start with Technical Contracts.
API contract
The API reference is generated from src/femic modules using
sphinx.ext.autodoc and sphinx.ext.autosummary with Google-style
docstrings.
Default policy:
Include public FEMIC modules under
src/femic.Exclude resource-only payload modules under
femic.resources.Exclude private members by default (names prefixed with
_).Keep narrative workflow guidance in Guides and Sample Models; keep API pages focused on callable/module reference behavior.
How to use this reference
If you are orienting yourself in the codebase, start with the package or module that matches the job you are trying to do:
femic.cli.main: CLI entrypoints and command wiring.femic.pipeline.vdyp_stage: VDYP orchestration, smoothing, and runtime boundary logic.femic.pipeline.io: runtime path resolution, external-data discovery, and canonical artifact selection.femic.pipeline.tipsy: BatchTIPSY handoff generation and related fixed-width export logic.femic.fansier_runtime: FAN$IER clean-session launch, batch automation, and unattended runtime seam helpers.femic.fansier_reporting: FAN$IER long-report text parsing and normalized table extraction for downstream FEMIC use.femic.fansier_workflow: higher-level FAN$IER workflows that chain tracked extraction and parsing seams into one FEMIC-owned operation.femic.patchworks_variants: registry-backed Patchworks variant resolution for installed providers, user overlays, and named launch surfaces.femic.pipeline.siteprod: SiteProd artifact resolution, band mapping, and raster assignment helpers.femic.fmg.patchworks: Patchworks export synthesis, fragments wiring, and ForestModel generation.femic.patchworks_runtime: Patchworks preflight, launch, and matrix-build runtime helpers.femic.workflows.legacy: orchestration layer around the still-active legacy stage scripts.
Current limitation
Phase 24 has now curated the highest-value operational, support-contract, and rebuild/release pages. The remaining generated-only pages are intended to be leaf helpers, package namespace surfaces, or narrower integration modules unless the closure-sweep artifact identifies them as still needing promotion.
For the explicit generated-only classification used to close the main rewrite
pass, see planning/phase24_api_docs_closure_sweep.md.
The API reference is therefore mixed by design:
curated pages for the modules that own major runtime, contract, or maintenance seams
generated pages for narrower helper/package surfaces where autodoc completeness is enough