Skip to main content

just-dna-format

The declarative schema + integrity contract for just-dna annotation modules: both the authored input DSL and the compiled manifest.json. Dependency-light (Pydantic + cryptography, for Ed25519 signature verification) so it can be shared as the single source of truth by:

  • just-dna-compiler — the reference transform (spec → parquet artifact + manifest);
  • just-dna-pipelines — emits manifest.json when it compiles a module;
  • just-dna-marketplace — indexes, serves, and verifies those manifests;
  • just-dna-agents — authoring support (renders reference.authoring_reference()).

Keeping the contract in one small package prevents the sides from drifting.

What's here

Module Contents
just_dna_format.spec The authored DSL: ModuleSpecConfig, VariantRow, StudyRow, ModuleInfo, Defaults (+ extract_pmids).
just_dna_format.binning The measure→phenotype primitive: MeasureBinRow + Activity/CopyNumber/RepeatAllele/Heteroplasmy rows and validate_bins (0.4).
just_dna_format.pgx PGx star-allele model: HaplotypeRow, AlleleFunctionRow, DiplotypeRow, PharmVariantRow (0.4).
just_dna_format.pgs PgsRow — a curated PGS-Catalog interface with ancestry-validity fields (0.4).
just_dna_format.vocab Shared constrained vocabularies, identifier grammars, and validator helpers.
just_dna_format.derive Legacy state/ClinVar-boolean → 0.3-axis derivations (total, idempotent).
just_dna_format.manifest ModuleManifest + sub-models (Identity, Display, Stats, Compilation, FileEntry, Artifact, Provenance, Signature, GenePanelSpec); read_manifest / write_manifest. SPEC §4.
just_dna_format.integrity sha256_file, artifact_digest (canonical Merkle root), build_artifact, verify_manifest, verify_signature, IntegrityError. SPEC §5.
just_dna_format.signing Ed25519 signing over artifact.digest (key management side).
just_dna_format.aggregate Cross-version log / provenance union helpers.
just_dna_format.reference authoring_reference() / json_schemas() — drift-proof DSL description generated from the live models.
just_dna_format.identity Name/namespace rules, canonical_id, SemVer Version + parse_version, version_from_legacy (vN → N.0.0), latest. SPEC §6.

Usage

from just_dna_format.manifest import ModuleManifest, read_manifest
from just_dna_format.integrity import build_artifact, verify_manifest

# Compiler side: hash outputs and record the digest.
artifact = build_artifact(output_dir, ["weights.parquet", "annotations.parquet", "studies.parquet"])

# Downloader side: verify before installing (raises IntegrityError on any mismatch).
manifest = read_manifest(module_dir / "manifest.json")
verify_manifest(module_dir, manifest)                            # a registry install
verify_manifest(module_dir, manifest, require_marketplace=False)  # a locally-compiled module

Those two calls are different policies, not a strict and a lax mode — pick per install route rather than picking one. The default additionally requires compiled_by == "marketplace-server", so it rejects any module compiled anywhere else, this project's own compiler included (it leaves compiled_by null on purpose). Both check every file hash and the digest in full.

All hashes are SHA-256, lowercase hex, prefixed sha256:. The artifact.digest is a Merkle-style root over the canonical file listing — verifying it verifies the whole set and is the version's byte identity: these bytes, from this compiler. The content identity is content_signature, over the authored rows and independent of the reference that resolved them, so a rebuild that moves the digest while leaving the signature still means the data did not change.

Develop

uv sync
uv run pytest -vvv

Metadata

Release files for just-dna-format 0.7.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for just-dna-format 0.7.0
File Size Uploaded
just_dna_format-0.7.0.tar.gz 290.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for just-dna-format 0.7.0
File Interpreter ABI Platform
just_dna_format-0.7.0-py3-none-any.whl Python 3 none any Details

Total release size: 610.0 kB

Release files / just_dna_format-0.7.0.tar.gz

Download URL just_dna_format-0.7.0.tar.gz
Size 290.5 kB
Tags Source
SHA-256 checksum
How to use checksums
9a07bcfdc7d2d23405c88cf6a2a42a778275302036152d004cab8324e98043ed
BLAKE2b-256 checksum
How to use checksums
254349c9ac8c1054a4d75fefbbc1d4da49bde348f98ff1d423c73f1315d5fe9b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / just_dna_format-0.7.0-py3-none-any.whl

Download URL just_dna_format-0.7.0-py3-none-any.whl
Size 319.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c7e417c321d4bae3e84e1deafc2d3363751b1c32f4fa1d6ecfd4bc6b16ba6df1
BLAKE2b-256 checksum
How to use checksums
e19b1eceabe23d7798f56bf43ea9c330fd275291459fa085d71211aac1c6fcb3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

0.7.1

2 release files

This release

0.7.0 This release

2 release files

0.6.6

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.4

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page