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

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.1
File Size Uploaded
just_dna_compiler-0.7.1.tar.gz 230.1 kB Details

Built distribution (wheel)

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

Total release size: 468.8 kB

Release files / just_dna_compiler-0.7.1.tar.gz

Download URL just_dna_compiler-0.7.1.tar.gz
Size 230.1 kB
Tags Source
SHA-256 checksum
How to use checksums
57b48ac50c4d54596042e431d1bb5b5dc2a7ae33fa605c30d88843d3769443e7
BLAKE2b-256 checksum
How to use checksums
6d3f1b0234459f67e685aaa26aa53ed1ecc0d8b634d1a4bce1fa02585f332b03
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.1-py3-none-any.whl

Download URL just_dna_compiler-0.7.1-py3-none-any.whl
Size 238.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4433a6cce00525c2a0af73eb8b9152c83ee8e301cba820e64df4b8f880b3f032
BLAKE2b-256 checksum
How to use checksums
64f8f105c75e97e63ddd312632103683ed70473dd6ac376a9ef5a29415c46804
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.2

2 release files

This release

0.7.1 This release

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