Skip to main content

vdjtools

vdjtools — immune-repertoire analysis

PyPI CI docs python license

TCR/BCR immune-repertoire analysis — a clean-room Python + C++ rewrite of the legacy Groovy/Java vdjtools, standardised on the AIRR schema and polars DataFrames with minimal object-orientation.

Built on the antigenomics ecosystem: seqtree (fuzzy search / e-value engine), vdjmatch (overlap + TCRnet), arda (AIRR annotation + markup repair).

Status: v3.0.0 — the native V(D)J model engine plus the full analytics suite (diversity, overlap/TCRnet, preprocessing, biomarkers, single-cell), longitudinal clonotype dynamics (paired expansion testing + the VDJtrack recapture model), CDR features, and legacy-format ingestion (MiXcr, MiGec, immunoSEQ, IMGT/HighV-QUEST, Vidjil, RTCR, TRUST4, arda). Clonotype columns follow the AIRR junction convention (junction_nt / junction_aa). The legacy v1.x tool lives on the legacy-1.x branch and its releases remain available under the repository tags (v0.0.11.2.1).

Install

pip install vdjtools

Prebuilt wheels ship for CPython 3.10–3.13 on Linux, macOS (Apple Silicon), and Windows; the native _core C++ extension is bundled (the source distribution compiles it on install).

That one command gives you everything vdjtools advertises — no extras to opt into. The three antigenomics engines it delegates to are base dependencies:

Engine Powers
arda the germline reference (V/D/J + CDR3 anchors), model engine, annotation
seqtree fuzzy search / e-values → error correction, similarity overlap, TCRnet
vdjmatch sample overlap, TCRnet, metaclonotypes

So preprocess.correct(), overlap.tcrnet(), biomarker.metaclonotypes() and model.reference.load_germline() all just work from a plain install — and downstream libraries can depend on plain vdjtools and rely on them being there. All three are imported lazily, so import vdjtools stays light; between them they add only requests on top of what vdjtools already needs. arda fetches its IMGT reference once, on first use.

Two things are still optional, because each has a working alternative or is a side integration:

pip install "vdjtools[overlap]"   # scikit-learn — only for cluster_samples(method="mds");
                                  # method="hclust" works out of the box (scipy)
pip install "vdjtools[sc]"        # single-cell extras: anndata (scverse bridge), pyyaml

MMseqs2 is needed only for arda's alignment/annotation path (model.stitch.annotate) — never for germline lookup, Pgen, generation, or the analytics. Install it via conda/brew if you need it.

Development

Uses uv — one repo-local .venv, no conda:

uv venv && source .venv/bin/activate
uv pip install -e ".[dev,test]"       # builds the _core C++ extension (scikit-build-core)

Or run the bootstrap script (portable across bash/zsh, uv-first with a python -m venv fallback):

bash setup.sh --dev-parents --tests   # or: zsh setup.sh

You need a C++ toolchain (Xcode CLT on macOS, build-essential on Linux) for the native _core extension. MMseqs2 is arda's aligner, needed only for the annotation path and the slow arda round-trip tests — brew install mmseqs2, or use the optional environment.yml conda env which bundles it.

Quickstart — recombination model engine

Precomputed models for all 7 human loci ship in the wheel — no OLGA or download needed:

from vdjtools.model import load_bundled, native
from vdjtools.model.generate import generate

model = load_bundled("TRB", source="olga")     # or source="learned" (fit to real repertoires)

native.pgen_nt(model, "TGTGCCAGCAGC...")        # nucleotide generation probability (native C++)
native.pgen_aa(model, "CASSLAPGATNEKLFF")       # amino-acid Pgen (codon-marginalised)
native.pgen_aa(model, "CASSLAPGATNEKLFF", mismatches=1)   # + the whole Hamming-1 ball
native.pgen_aa_batch(model, seqs, mismatches=1, threads=0)  # Pgen over many CDR3s, thread-parallel (~11×)
generate(model, 1000)                           # sample a repertoire -> polars DataFrame

Matches OLGA's Pgen to machine precision across all 7 loci, and adds tandem-D (D-D) support that OLGA/IGoR lack. Learn a model from your own non-functional reads (out-of-frame or stop-codon — both escaped selection, which is all a generative model needs) with model.infer.infer_native.

Explore any model's recombination Bayes net interactively (entropy, mutual information, marginals):

pip install "vdjtools[examples]"
marimo edit examples/model_explorer.py

Interactive marimo notebooks (data auto-loads from HuggingFace, or a local ~/hf/ copy):

  • examples/vaccination_tracking.py — clonotype tracking + the recapture model across yellow-fever / influenza / TBE vaccination time courses (vdjtools.dynamics).
  • examples/aging.py — cohort-streaming diversity, clone-size and spectratype vs age.
  • examples/ankspond_motif.py — the ankylosing-spondylitis TRBV9 "AS27" motif: disease vs HLA-B27 carriage.
  • examples/biomarker_explorer.py — Emerson public-TCR association + co-occurrence.

Command line

pip install vdjtools installs the vdjtools command — the model engine (OLGA/IGoR-style) and the repertoire analytics (over sample files or a metadata table, like the legacy tool):

# recombination model engine — built-in models for all 7 loci (no download)
vdjtools models                                # list the bundled models
vdjtools generate -m TRB -n 1000 -o gen.tsv    # sample sequences   (cf. olga-generate_sequences)
vdjtools pgen seqs.tsv -m TRB -o pgen.tsv      # Pgen per CDR3       (cf. olga-compute_pgen)
vdjtools pgen seqs.tsv -m TRB --mismatches 1   # + the Hamming-1 ball; --v-col/--j-col to condition

# data — convert any format to the canonical table (TSV, or Parquet by extension), preprocess
vdjtools convert mixcr.txt.gz -o clones.parquet   # MiXcr/immunoSEQ/AIRR/… → canonical Parquet
vdjtools downsample clones.parquet 100000 -o ds.tsv
vdjtools filter clones.parquet --coding --min-freq 1e-4 -o coding.tsv
vdjtools pool s1.tsv s2.tsv s3.tsv --join --min-samples 2 -o joint.tsv

# repertoire analytics — sample files, or a cohort via -m/--metadata + --base-dir
vdjtools diversity      sampleA.tsv sampleB.tsv -o diversity.tsv
vdjtools overlap        *.tsv -o overlap.tsv
vdjtools segment-usage  *.tsv --segment v -o usage.tsv
vdjtools spectratype    *.tsv -o spectra.tsv
vdjtools diversity      -m metadata.txt --base-dir samples/ --threads 8 -o div.tsv   # parallel cohort
vdjtools spectratype    --cohort cohort_parquet/ -o spectra.tsv                       # one streamed pass

# longitudinal — paired within-donor expansion test between two timepoints
vdjtools dynamics day0.tsv day15.tsv -o tracked.tsv

Native vdjtools, AIRR Rearrangement, Parquet, and third-party inputs are auto-detected; every command writes to -oTSV, or Parquet when the path ends in .parquet / .pq — or to stdout (so it pipes). Cohort commands parallelise over samples with -t/--threads or stream a pre-ingested Parquet cohort with --cohort. Run vdjtools <command> --help for options.

Analytics (Python API)

Every reader returns one canonical polars clonotype frame (AIRR junction columns), and every analysis function takes and returns such frames — so results chain together and drop straight into plotting. A tour of the analysis modules (full runnable walkthrough in the User guide):

from vdjtools import io as vio, stats, features, overlap, preprocess

# load (auto-detects MiXcr / immunoSEQ / AIRR / native / … and converts), or a whole cohort:
sample = vio.read("clones.tsv")
cohort = vio.read_samples(vio.read_metadata("metadata.txt"), base_dir="samples/")

# diversity, rarefaction, segment usage, spectratype
stats.diversity_stats(sample)                 # observed, Chao1, Shannon, inverse-Simpson, d50, …
stats.inext(sample, q=(0, 1, 2))              # Hill-number rarefaction/extrapolation + bootstrap CIs
stats.segment_usage(sample, "v")              # V (or "j") usage;  stats.spectratype(sample)

# CDR3 physicochemistry & k-mers
features.physchem_profile(sample, region="all")

# repertoire overlap & TCRnet (fuzzy/similarity/TCRnet via the [overlap] engine)
overlap.overlap_metrics(sampleA, sampleB)     # F / D / Jaccard / Morisita-Horn …
overlap.tcrnet(sample)                         # per-clonotype neighbourhood enrichment

# preprocessing: downsample to a common depth, error-correct, filter, pool
preprocess.downsample(sample, 100_000)
preprocess.correct(preprocess.filter_functional(sample))

# cross-batch V/J-usage bias: batch-correct usage, then resample the clonotype table
usage = preprocess.correct_vj_usage(cohort, batch_col="batch", transform="sigmoid")  # Vlasova 2026
fixed = preprocess.apply_vj_correction(sampleA, usage, sample_id="A0")

Longitudinal tracking — which clonotypes changed between two timepoints, and the VDJtrack recapture model (Pavlova, Zvyagin & Shugay 2024):

from vdjtools import dynamics

# paired within-donor test: emergent / expanded / persistent / contracted / vanishing
tracked = dynamics.test_pair(day0, day15)                  # depth handled per-pair (effective N)
grouped = dynamics.test_metaclonotypes(day0, day15, scope="1,0,0,1")  # 1-Hamming CDR3 ball first
called  = dynamics.expansion_test(day0, day15)             # edgeR NB-exact caller (log2FC + p)

# VDJtrack size-bucket recapture model — recapture fraction per clone-size class (Beta bands);
# split by a group column + capture_test() for the group effect (see examples/vaccination_tracking.py)
rates = dynamics.capture_rates(pre, post)

Incidence-based clonotype association (Emerson 2017 / Howie 2015 / De Witt 2018 / Vlasova 2026) — a choice of test, condition, and co-occurrence — and single-cell paired-chain Pgen:

from vdjtools import biomarker, sc
from vdjtools.biomarker import association, condition

# feature vs condition: Fisher / chi2 / Bayesian / permutation; binary, per-HLA-allele, or CMH-stratified
association(cohort, condition.binary(meta, "cmv"), test=["fisher", "bayes_bf"])
association(cohort, condition.stratified(meta, "cmv", "hla"), stratum_col="_stratum")  # CMV | HLA (CMH)

# feature vs feature: in-silico α-β pairing / same-chain co-specificity (θ lift + Fisher + FDR)
biomarker.cooccurrence(cohort, chain_a="TRA", chain_b="TRB", evalue=True)

sc.paired_pgen(sc.pair_chains(sc.read_10x("filtered_contig_annotations.csv")))  # pgen_alpha·pgen_beta

Performance

The Pgen / generation / EM / diversity hot paths are a native C++ (pybind11) core; everything else is polars. Amino-acid Pgen matches OLGA to machine precision (1e-15) across all 7 loci while being several times faster, and the built-in models keep the resident set small. Single thread, Apple M3 (arm64), bundled human TRB model:

operation throughput vs OLGA
nucleotide Pgen (single-D VDJ) ~0.5 ms/seq
amino-acid Pgen ~0.6–0.9 ms/seq 8.6×
Pgen + Hamming-1 ball (1 substitution) ~15 ms/seq 8.7×
sequence generation ~32 000 seq/s

Nucleotide Pgen (via the same transfer-matrix DP as the aa path — an in-frame CDR3 is an aa query with one codon fixed per position) is exact vs OLGA across all loci. Batched Pgen / 1-mismatch over many CDR3s parallelises over sequences (native.pgen_aa_batch, ~11× on 16 cores, bitwise-identical to the serial result); the EM E-step parallelises over reads (~6.7× on 8 threads); diversity/rarefaction run on a native iNEXT kernel (bootstrap + parallel batch). Memory stays light — ~63 MB resident for import vdjtools plus one loaded model, ~123 MB with all seven bundled models resident. Reproduce with ~/vcs/projects/2026-vdjtools-benchmark/bench/bench_pgen.py and the test_*_benchmark.py suites (RUN_BENCHMARK=1).

Capabilities (see the User guide, the API reference, and ROADMAP.md)

  • IO — canonical clonotype frame on AIRR junction columns (junction_nt / junction_aa); readers for native vdjtools, AIRR Rearrangement TSV, and Parquet, plus format-detecting converters for MiXcr (v1/2 + v3/4, incl. C-gene / BCR isotype), MiGec, Adaptive immunoSEQ (v1/v2), IMGT/HighV-QUEST, Vidjil, RTCR, TRUST4, and arda AIRR output (vdjtools.io.convert); metadata-driven batch + hive-partitioned cohorts.
  • Model — native V(D)J recombination model: generation probability (Pgen — nt, aa, 1-mismatch, V/J-agnostic, thread-parallel batch), sequence generation, and EM inference, all in a native (pybind11) core. Supersedes OLGA and IGoR: arda-driven scenario enumeration, polars marginal tables, read-parallelised EM, and tandem-D (D-D) support. Concordant with OLGA across all 7 loci; precomputed OLGA + real-data-learned models bundled (load_bundled).
  • Stats — diversity (Chao1/Shannon/Simpson/…), spectratype, V/J/VJ usage.
  • Features — CDR physicochemical profiles, k-mer / V+k-mer summaries.
  • Overlap — sample overlap and TCRnet (via vdjmatch/seqtree), similarity-aware overlap, clustering.
  • Preprocess — downsampling, error-correction, VJ-usage batch-effect correction, pooling/joining.
  • Biomarker — incidence association (Fisher / χ² / Bayesian / permutation) vs binary / HLA-allele / CMH-stratified conditions; α-β & same-chain co-occurrence pairing; metaclonotypes.
  • Dynamics — longitudinal clonotype tracking between timepoints: the paired within-donor expansion test (emergent / expanded / persistent / contracted / vanishing), the VDJtrack size-bucket recapture model, metaclonotype-grouped testing, and an edgeR NB-exact caller (vdjtools.dynamics).
  • Single-cell — AIRR Cell / 10x interoperability, chain pairing + QC, paired α/β Pgen, and a to_anndata bridge into the scverse ecosystem (writes .h5ad / .zarr via AnnData).

License

GPL-3.0-or-later.

Download files

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

Source Distribution

vdjtools-3.1.2.tar.gz (1.2 MB view details)

Uploaded Source

Built Distributions

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

vdjtools-3.1.2-cp313-cp313-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.13Windows x86-64

vdjtools-3.1.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

vdjtools-3.1.2-cp313-cp313-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

vdjtools-3.1.2-cp312-cp312-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.12Windows x86-64

vdjtools-3.1.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

vdjtools-3.1.2-cp312-cp312-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

vdjtools-3.1.2-cp311-cp311-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.11Windows x86-64

vdjtools-3.1.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

vdjtools-3.1.2-cp311-cp311-macosx_11_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

vdjtools-3.1.2-cp310-cp310-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.10Windows x86-64

vdjtools-3.1.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

vdjtools-3.1.2-cp310-cp310-macosx_11_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file vdjtools-3.1.2.tar.gz.

File metadata

  • Download URL: vdjtools-3.1.2.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for vdjtools-3.1.2.tar.gz
Algorithm Hash digest
SHA256 156476dc73bbd808f9b4f3362dc5a549205f1f03cfb26267bae2221877c0f066
MD5 c9318fdba4a8ddec4f2c538aa93eca1a
BLAKE2b-256 3507d25e30d606f190fa04607eee4eccc6d09d8ba66662c2eef945f3dc5ef6c9

See more details on using hashes here.

Provenance

The following attestation bundles were made for vdjtools-3.1.2.tar.gz:

Publisher: publish.yml on antigenomics/vdjtools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vdjtools-3.1.2-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: vdjtools-3.1.2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for vdjtools-3.1.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 fe6855a6614f18a19071f7fe88c605b06fdca7d3fb94e19d29c2bb711a24a448
MD5 3140518eafbb6130460a8b15f286faa6
BLAKE2b-256 5dd0bb80e740d446dfc2a3a3be983665050e7a300be8b92a723eb15a5210a5f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for vdjtools-3.1.2-cp313-cp313-win_amd64.whl:

Publisher: publish.yml on antigenomics/vdjtools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vdjtools-3.1.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for vdjtools-3.1.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9768a14cecf48f4cb8164d3c1815929c6223802e73d9dde282ccb0225cf8bdb7
MD5 1527dddedad0865d7fc2d4072f230291
BLAKE2b-256 714f63bc30f7cb8dcb2391a428b2f2ff0e4e19e1dea6080dfc593faee1a13176

See more details on using hashes here.

Provenance

The following attestation bundles were made for vdjtools-3.1.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on antigenomics/vdjtools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vdjtools-3.1.2-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for vdjtools-3.1.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 830d7d56184c9b9f40c3d0694c3e103009621288ce383fb94b5753f9a91c83b8
MD5 58342dc5d0f5d6f1db0546d59e5d4568
BLAKE2b-256 0387215342ed36732395b40b4a5f2e04cdc0c14ad90b4386e4d0c75cc184f802

See more details on using hashes here.

Provenance

The following attestation bundles were made for vdjtools-3.1.2-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: publish.yml on antigenomics/vdjtools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vdjtools-3.1.2-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: vdjtools-3.1.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for vdjtools-3.1.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 6eb9dda1208ca86cc53af4e2ad66638c4e49ca7ae7b5a200d006b80cc8b85778
MD5 6441a1d5e84c874b634d33114aac19e1
BLAKE2b-256 f41146a341558b1bf21d2516e498510c9e83edd999883850601854aa306b0b68

See more details on using hashes here.

Provenance

The following attestation bundles were made for vdjtools-3.1.2-cp312-cp312-win_amd64.whl:

Publisher: publish.yml on antigenomics/vdjtools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vdjtools-3.1.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for vdjtools-3.1.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fd74133525112c9745006b063fea56a89690ca1ed41df5f220b2503502f25eb4
MD5 6cc3dd943cf9efb1c806f6f764eda76f
BLAKE2b-256 37b442b325c0f4a40a12fea05b676b25f72109544f89f005586f0c78b895ed83

See more details on using hashes here.

Provenance

The following attestation bundles were made for vdjtools-3.1.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on antigenomics/vdjtools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vdjtools-3.1.2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for vdjtools-3.1.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7c4dc4370bd1218984000a525cc162e1937c330107ee1cd2cdb048bb90156254
MD5 921f310f6f7447b79ce1b860eee8fcfc
BLAKE2b-256 604f83d5e1fdd55662909c9b3896f2d337eb5d5499012b70cbf06c49461f77f6

See more details on using hashes here.

Provenance

The following attestation bundles were made for vdjtools-3.1.2-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: publish.yml on antigenomics/vdjtools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vdjtools-3.1.2-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: vdjtools-3.1.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for vdjtools-3.1.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 8e0eeb8f0b778d4e0cbf41988b1f5323b47e8d7ac2cb4e800d517f5a73a6a1cd
MD5 973d5638e1e371f611efbc3bdfaca0eb
BLAKE2b-256 419ae63eeb3e057d9e3ac58ad145175c9ffc588930680fe4159623ee1141a079

See more details on using hashes here.

Provenance

The following attestation bundles were made for vdjtools-3.1.2-cp311-cp311-win_amd64.whl:

Publisher: publish.yml on antigenomics/vdjtools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vdjtools-3.1.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for vdjtools-3.1.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 612bac4095e13ecc11335abe40eb94328cb80e924fe546f5c89a52cb53e35692
MD5 e9f10e0f38343dc037ca92f5ca6f7871
BLAKE2b-256 051ce00a7e9b9204664d6bbc5dfa37d0f34d52d49aa24220e967b3480572f5d4

See more details on using hashes here.

Provenance

The following attestation bundles were made for vdjtools-3.1.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on antigenomics/vdjtools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vdjtools-3.1.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for vdjtools-3.1.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 577bc6835411b9934e6711a4312c7d78d123d17ff53702381960294f8cd71600
MD5 b6367da6e54bc034e2e4cefef5beeb38
BLAKE2b-256 d574c25fdaec78c9f870b350315526a4c1b92810a6f1b1c212206d6f36823075

See more details on using hashes here.

Provenance

The following attestation bundles were made for vdjtools-3.1.2-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: publish.yml on antigenomics/vdjtools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vdjtools-3.1.2-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: vdjtools-3.1.2-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for vdjtools-3.1.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 8b5bc127a0f4d39a3e318437ad1fff842fbe62adbd22d92392e2a398064c3e52
MD5 bb60cc33ac4ac7d0e28ff801ab036c3b
BLAKE2b-256 188912cf4eea7003b2a20a5f6d16f989141d3a06bbd29fc8627b623939f94398

See more details on using hashes here.

Provenance

The following attestation bundles were made for vdjtools-3.1.2-cp310-cp310-win_amd64.whl:

Publisher: publish.yml on antigenomics/vdjtools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vdjtools-3.1.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for vdjtools-3.1.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3994fd41ccd1831a2caaa2ab8bca17f647ea738d7767212a296634f221f15385
MD5 078a42399b8613b8b6f8b4aba07ebc83
BLAKE2b-256 77b38a4716220b44dcdbed7e22bbaf39eda3e9d5c594ea74068ecf4404cbda15

See more details on using hashes here.

Provenance

The following attestation bundles were made for vdjtools-3.1.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on antigenomics/vdjtools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vdjtools-3.1.2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for vdjtools-3.1.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0c3577b95bf47820880358760c5699f284611f746b46fe3d22955a8f0d99b8eb
MD5 e39ecfdb82cc90e514ac9a9501004e9e
BLAKE2b-256 2cc0590bb26c5b72e5ef2f9528bb5250dc2d19c0e301e30583ccdbf2d7902e7d

See more details on using hashes here.

Provenance

The following attestation bundles were made for vdjtools-3.1.2-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: publish.yml on antigenomics/vdjtools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

3.10.0

13 files

3.9.3

13 files

3.9.2

13 files

3.9.1

13 files

3.9.0

13 files

3.8.0

13 files

3.7.3

13 files

3.7.0

13 files

3.6.1

13 files

3.6.0

13 files

3.4.0

13 files

3.2.0

13 files

This release

3.1.2 This release

13 files

3.1.1

13 files

3.1.0

13 files

3.0.0

13 files

2.9.0

13 files

2.8.0

13 files

2.7.0

13 files

2.6.0

13 files

2.5.1

13 files

2.3.0

13 files

2.2.1

13 files

2.2.0

13 files

2.1.0

13 files

2.0.0

13 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