fair-metadata-integration
Integrate and package all metadata into RO-Crate, linking to other metadata files.
Given a Bilayers workflow
specification and the image data an analysis consumed and produced, this package
writes a Workflow RO-Crate:
an ro-crate-metadata.json describing the run, alongside copies of the files it
describes.
Installation
pip install fair-metadata-integration
Requires Python 3.12 or newer. rocrate is
installed automatically.
Usage
from fair_metadata_integration import create_ro_crate
create_ro_crate(
dest_path="crate",
workflow_schema_filename="config.yaml",
input_path="input.ome.zarr",
output_paths=["output.ome.zarr"],
)
dest_path— directory the crate is written to, created if it does not exist.workflow_schema_filename— the Bilayersconfig.yamldescribing the workflow.input_path— the input image (an OME-Zarr directory or a TIFF file).output_paths— the images the workflow produced. Each gets its own parameter.
The source files are copied into the crate, so dest_path ends up
self-contained:
crate/
├── config.yaml
├── input.ome.zarr/
├── output.ome.zarr/
└── ro-crate-metadata.json
What the crate contains
The workflow specification is the crate's mainEntity, typed as a
ComputationalWorkflow. The metadata descriptor declares RO-Crate 1.3, and the
root dataset declares the Workflow RO-Crate 1.1 profile:
{
"@id": "ro-crate-metadata.json",
"@type": "CreativeWork",
"about": { "@id": "./" },
"conformsTo": { "@id": "https://w3id.org/ro/crate/1.3" }
},
{
"@id": "./",
"@type": "Dataset",
"conformsTo": [
{ "@id": "https://w3id.org/workflowhub/workflow-ro-crate/1.1" }
],
"mainEntity": { "@id": "config.yaml" }
}
The workflow's programmingLanguage is a ComputerLanguage entity for the
Bilayers specification, identified by its Zenodo concept DOI
10.5281/zenodo.17652333, which
resolves to the latest release of the spec.
Inputs and outputs are modelled as FormalParameter entities carrying an
EDAM format IRI, from the file name: format_3915
for Zarr, format_3727 for OME-TIFF, format_3591 for TIFF, and PNG, JPEG, HDF5,
CSV, TSV, xlsx, JSON, YAML, XML and text. Folders (e.g. OME-Zarr) are Dataset
entities, files File entities, copied with their content. Each data entity
points back at the parameter it realises via exampleOfWork:
{
"@id": "input.ome.zarr/",
"@type": "Dataset",
"additionalType": "http://edamontology.org/format_3915",
"exampleOfWork": { "@id": "#input" }
}
The crate's JSON-LD context is extended with terms for describing biological
imaging metadata — biosample, specimen, organism_classification,
preparation_method, channel and others — so those properties can be added to
the crate's entities.
Development
git clone https://github.com/NL-BioImaging/fair-metadata-integration.git
cd fair-metadata-integration
pip install -e ".[test]"
pytest
License
MIT
Metadata
Release files for fair-metadata-integration 0.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| fair_metadata_integration-0.2.2.tar.gz | 8.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fair_metadata_integration-0.2.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 14.1 kB
Release files / fair_metadata_integration-0.2.2.tar.gz
| Download URL | fair_metadata_integration-0.2.2.tar.gz |
|---|---|
| Size | 8.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0cf57f57ccffe8e05133af1c700de2a27bd45484e3746750b4f36f8e55a240fa
|
|
BLAKE2b-256 checksum How to use checksums |
f9fab8093d2d206028cbe2fc7098bdab1bfbcac0fd469de4e83ef427480a20cd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.
Transparency logRelease files / fair_metadata_integration-0.2.2-py3-none-any.whl
| Download URL | fair_metadata_integration-0.2.2-py3-none-any.whl |
|---|---|
| Size | 5.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
72956de1f150a72ec44582ed8107ada2101ae67761c3e02914856bdb9012a523
|
|
BLAKE2b-256 checksum How to use checksums |
5d87ca2338914be2fe6a691edb3739d27c2eeed36e30821100cfdb2f879b2d98
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.
Transparency log