Skip to main content

Reference compiler for just-dna annotation modules: spec directory → parquet artifact + manifest

Project description

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

validate_spec(spec_dir)                       # -> ValidationResult (genes/categories lists)
compile_module(spec_dir, out_dir,             # -> CompilationResult (+ manifest.json written)
               resolve_with_ensembl=False,    # inject an Ensembl DuckDB/parquet dir to resolve
               compiled_by="marketplace-server")

Dependencies: just-dna-format, polars, duckdb, pyyaml, platformdirs, python-dotenv — deliberately no Dagster / LLM SDKs. The Ensembl reference is injected by the caller (a .duckdb file or a parquet dir); this package never downloads it.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

just_dna_compiler-0.4.0.tar.gz (24.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

just_dna_compiler-0.4.0-py3-none-any.whl (26.9 kB view details)

Uploaded Python 3

File details

Details for the file just_dna_compiler-0.4.0.tar.gz.

File metadata

  • Download URL: just_dna_compiler-0.4.0.tar.gz
  • Upload date:
  • Size: 24.3 kB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for just_dna_compiler-0.4.0.tar.gz
Algorithm Hash digest
SHA256 ecee7f1a1a662203105ce665494fd628b9acc0693f01286907557a6e9275758b
MD5 6167f5d724ba33cafade4a878b78a514
BLAKE2b-256 4ce42c64db253178ce8b25272a480d2259fb39db2513b3d90f2ca7e7ee7f05d9

See more details on using hashes here.

File details

Details for the file just_dna_compiler-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: just_dna_compiler-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 26.9 kB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for just_dna_compiler-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 08bdff6e4ca9165d185780d5ec45bc3318a9b69c87eb106cfad0cacbb99f2922
MD5 e2dd3980e337387d21914a6c971713ea
BLAKE2b-256 97a33095e47dc910f6be48e8ff6ddd11c8512f47b17c4baeff0a6202097173d3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page