Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions docs/source/process_data/version_pipelines.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,13 @@ Core data processing pipelines MUST adopt [semantic versioning](https://semver.o

The pipeline's name and semantic version MUST be stored in aind-data-schema [Processing](https://github.com/AllenNeuralDynamics/aind-data-schema/blob/dev/src/aind_data_schema/core/processing.py#L970) metadata at the top level of the results.

The pipeline's name and semantic version MUST be stored in the pipeline repository and easily accessible to pipeline code. We recommend a `.env` file containing `PIPELINE_VERSION`, `PIPELINE_NAME`, and `PIPELINE_URL` variables. These environment variables can be pulled using standard tools such as `os` and added to the `aind-data-schema` `Processing` core object for proper documentation. Specifically, the following fields of the `Processing` object should be populated with these enironment variables:
The pipeline's name and semantic version MUST be stored in the pipeline repository and easily accessible to pipeline code. We recommend a `.env` file containing `PIPELINE_VERSION`, `PIPELINE_NAME`, and `PIPELINE_URL` variables. These environment variables can be pulled using standard tools such as `os` and added to the `aind-data-schema` `Processing` core object for proper documentation. Specifically, the following fields of the `Processing` object should be populated with these environment variables:

`Processing.pipeline_version=os.getenv("PIPELINE_VERSION", "No version reported.")`
`Processing.pipeline_version=os.getenv("PIPELINE_VERSION", "No pipeline version reported.")`
`Processing.pipeline_url=os.getenv("PIPELINE_URL", "No pipeline URL reported.")`
`Processing.pipeline_name=os.getenv("PIPELINE_NAME", "No pipeline name reported.")`

> **Note:** [`aind-metadata-manager>=0.1.3`](https://github.com/AllenNeuralDynamics/aind-metadata-manager) enforces that all three pipeline fields are provided — either via CLI arguments or environment variables. If a value is missing, the pipeline will fail with a clear error message rather than falling back to a placeholder default.

The pipeline repository and the repositories of all individual capsules MUST be public on GitHub.

Expand Down