OGN Core Kit is the open adoption surface for Omnis Genome Nexus (OGN).
It contains:
- Job Spec JSON v1 contract (
spec/v1/jobspec.md+spec/v1/jobspec.schema.json+ fixtures) ogn-runner: stable worker entrypoint that executes an OGN engine and uploads artifacts- Python package
ogn-sdk(CLIogn, SDKogn_sdk, runnerogn_runner) - Workflow adapters (e.g.
pipelines/ogn_variant.nf)
It does not include the proprietary OGN engine implementation, GPU kernels, or engine container images. The engine
must be provided separately as a binary (e.g. ogn_run) or container image.
Requires Python 3.9+.
From PyPI:
python -m pip install ogn-sdkFrom source (dev / editable):
python -m pip install -e sdk/python[dev]This installs:
ogn(CLI wrapper; requires access to an engine binary such asogn_variant_runner)ogn-runner(worker entrypoint for Job Spec v1)ogn_sdk/ogn_runnerPython modules
The Rust crate lives at sdk/rust/ogn-sdk.
- If/when published, install via crates.io.
- Until then, consume it via a path dependency in a clone:
ogn-sdk = { path = "sdk/rust/ogn-sdk" }ogn-runner accepts a jobspec path or - for stdin (the gateway worker contract is ogn-runner -).
Engine selection:
export OGN_ENGINE_BIN=/path/to/ogn_run
# or: ogn-runner -E /path/to/ogn_run job_spec.jsonRun from a file:
ogn-runner job_spec.jsonRun from stdin:
cat job_spec.json | ogn-runner -For each outputs.* artifact:
- If
put_urlis present,ogn-runneruploads via HTTP PUT to the presigned URL. - Otherwise it uploads to
uridirectly when supported:s3://...viaaws s3 cp(AWS CLI required)file://...or a plain path via a local copy
If an output is marked optional: true, upload failures are non-fatal.
Canonical artifacts:
spec/v1/jobspec.mdspec/v1/jobspec.schema.jsonspec/v1/conformance/
Schema-level validation:
python tools/validate_conformance.pyUnknown fields are ignored (additive-only). Breaking changes require a new schema version (v2+).
Run tests:
python -m pip install -e sdk/python[dev]
pytest -qPublic repo hygiene:
./public_audit.shApache 2.0; see LICENSE and NOTICE.
See SECURITY.md.
See CONTRIBUTING.md.