Skip to main content

just-dna-compiler

The reference compiler for just-dna annotation modules: it turns an authored spec directory into a deployable parquet artifact plus a manifest.json with integrity digests.

A module composes from optional table kinds: the only always-present file is module_spec.yaml. A SNP module adds variants.csv (+ studies.csv, required whenever variants are present) → the weights / annotations / studies parquets; a PGx / PharmGKB / PRS module instead carries only its own table(s) (diplotypes.csv, pharm_variants.csv, pgs.csv, …) and needs no variants.csv. Each present CSV materializes to its own parquet, so the artifact is the set of parquets the module actually uses (up to twelve), not a fixed three.

It consumes the schema/contract from just-dna-format and is the shared transform called by both just-dna-pipelines (local compile) and just-dna-marketplace (server-side recompile on publish).

from just_dna_compiler.compiler import validate_spec, compile_module, reverse_module

validate_spec(spec_dir)                       # -> ValidationResult (genes/categories lists)
compile_module(spec_dir, out_dir,             # -> CompilationResult (+ manifest.json written)
               strict=False,                  # True: refuse a partial artifact
               compiled_by="marketplace-server")
reverse_module(out_dir, spec_again)           # -> Path (the spec DSL, rebuilt from the artifact)

Resolution is injected, never fetched (CONSTITUTION Principle 2). Drop a resolution.csv beside module_spec.yaml — a table of already-resolved facts keyed by variant_key — and the compiler fills in coordinates and rsIDs from it with no network, no DuckDB and no source convention of its own. Produce that file with just-dna-enricher (just-dna-enricher enrich spec/). With nothing injected the compiler skips resolution with a warning rather than downloading anything. The pre-0.5 compile_module(ensembl_cache=…) DuckDB path still works, is deprecated, and is removed at 1.0.

Dependencies: just-dna-format, polars, pyyaml, typer — pure-Python and duckdb-free since 0.5, and deliberately no Dagster / LLM SDKs.

Metadata

Release files for just-dna-compiler 0.7.2

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-compiler 0.7.2
File Size Uploaded
just_dna_compiler-0.7.2.tar.gz 230.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for just-dna-compiler 0.7.2
File Interpreter ABI Platform
just_dna_compiler-0.7.2-py3-none-any.whl Python 3 none any Details

Total release size: 469.4 kB

Release files / just_dna_compiler-0.7.2.tar.gz

Download URL just_dna_compiler-0.7.2.tar.gz
Size 230.5 kB
Tags Source
SHA-256 checksum
How to use checksums
a60cb49c4db009eea06552690ea9ced4f99edf9d2692c8a026ec094785bf717d
BLAKE2b-256 checksum
How to use checksums
199ab54c063a53aef8b0697c1293494b549f168b9e94718a2e38105cf1691f7d
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_compiler-0.7.2-py3-none-any.whl

Download URL just_dna_compiler-0.7.2-py3-none-any.whl
Size 239.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1137b833bf2ad1144027835a92400a616b35c57299a2afaacdb5d0517f6f3991
BLAKE2b-256 checksum
How to use checksums
a0091cccfb3dfb15f0091e3147f4c71fc00332e658a579a7abb2687e68426fca
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

This release

0.7.2 This release

2 release files

0.7.1

2 release files

0.7.0

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.3

2 release files

0.5.2

2 release files

0.5.1

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