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)
| File | Size | Uploaded | |
|---|---|---|---|
| just_dna_compiler-0.7.2.tar.gz | 230.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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}
|