Skip to main content

vdjtools

vdjtools — immune-repertoire analysis

PyPI CI docs python license

Get started · Guides · Commands · API · Examples · Glossary

Analysis of T- and B-cell receptor repertoire sequencing: read any format, measure diversity and overlap, correct batch effects, score generation probability against a native V(D)J model, and reduce a whole repertoire to one comparable feature vector.

vdjtools reads the output of every common repertoire pipeline into one canonical AIRR table backed by polars, and every analysis takes and returns that same table — so results chain together instead of needing a converter between each step.

A clean-room Python + C++ rewrite of the Groovy/Java vdjtools, built on arda (germline reference and annotation), seqtree (fuzzy search and e-values) and vdjmatch (overlap and TCRnet).

Install

pip install vdjtools

That is the whole installation — every capability below works from it, with no extras to opt into. Wheels are prebuilt for CPython 3.10–3.13 on Linux, macOS (Apple Silicon) and Windows and include the native C++ extension; a source install compiles it. The three engines above are base dependencies, imported lazily so import vdjtools stays light.

Two optional extras exist because each has a working alternative:

pip install "vdjtools[overlap]"   # scikit-learn, for cluster_samples(method="mds")
pip install "vdjtools[sc]"        # single-cell bridges: anndata, awkward, mudata, pyyaml

Quickstart

from vdjtools import io as vio, stats, overlap

sample = vio.read("clones.tsv")          # MiXcr, immunoSEQ, AIRR, Parquet, native — detected
stats.diversity_stats(sample)            # richness, Chao1, Shannon, inverse Simpson, d50
stats.segment_usage(sample, "v")         # V-gene usage

cohort = vio.read_samples(vio.read_metadata("metadata.txt"), base_dir="samples/")
overlap.overlap_matrix(cohort)           # pairwise repertoire overlap

The same thing with no Python:

vdjtools diversity     sampleA.tsv sampleB.tsv -o diversity.tsv
vdjtools segment-usage *.tsv --segment v -o usage.tsv
vdjtools overlap       *.tsv -o overlap.tsv

Every command writes to -o — TSV, or Parquet when the path ends in .parquet / .pq — or to stdout, so commands pipe. Analysis commands also take a metadata table (-m plus --base-dir) and parallelise over samples with -t/--threads.

Getting started walks through this in about ten minutes, with no data to download.

Where to start

You want to Go to
Get a first result from a file you already have Getting started
Clean, filter, downsample or batch-correct a cohort Pre-processing
Measure diversity, overlap, gene usage, spectratype Guides
Score Pgen, or fit a model to your own reads Model workshop
Reduce each sample to one feature vector for a classifier Signatures
Work with 10x data, or hand off to scirpy / dandelion Single cell
Look up a command or a function Commands · API
Check what a term means Glossary

What is in the box

Module What it does
vdjtools.io Readers for native vdjtools, AIRR Rearrangement TSV and Parquet; format-detecting converters for MiXcr, MiGec, Adaptive immunoSEQ, IMGT/HighV-QUEST, Vidjil, RTCR, TRUST4 and arda; metadata-driven batches and hive-partitioned cohorts
vdjtools.stats Diversity (richness, Chao1, Efron-Thisted, Shannon, Simpson, d50), coverage-based Hill-number rarefaction with bootstrap intervals, spectratype, V/D/J/C usage
vdjtools.model Native V(D)J recombination model: Pgen over nucleotides and amino acids, the Hamming-1 ball, sequence generation, EM inference, tandem-D support, and a 13-command model workshop
vdjtools.overlap Exact and similarity-aware repertoire overlap, TCRnet and ALICE neighbourhood enrichment, sample clustering
vdjtools.preprocess Format conversion, the three filtering axes, frequency handling, downsampling, error correction, V/J-usage batch correction, pooling and joining
vdjtools.features Junction physicochemical profiles and k-mer summaries
vdjtools.biomarker Incidence association against binary, per-HLA-allele or stratified conditions; co-occurrence pairing; metaclonotypes
vdjtools.dynamics Longitudinal clonotype tracking: paired within-donor expansion testing, the VDJtrack recapture model, an edgeR NB-exact caller
vdjtools.signature One fixed, named, already-standardised feature vector per repertoire, rotated through a published corpus
vdjtools.sc Single-cell ingestion, chain pairing and QC, paired Pgen, round-trip interop with scirpy, dandelion and scRepertoire

Recombination models, built in

Models for all seven human loci ship in the wheel — no OLGA install and nothing to download:

from vdjtools.model import load_bundled, native

model = load_bundled("TRB", source="olga")            # or source="learned"
native.pgen_aa(model, "CASSLAPGATNEKLFF")             # 3.595e-08
native.pgen_aa(model, "CASSLAPGATNEKLFF", mismatches=1)   # and its whole Hamming-1 ball

Pgen agrees with OLGA to 1e-15 on every locus while being several times faster, and adds tandem-D support that OLGA and IGoR lack. You can also fit a model to your own non-productive reads, audit it against its germline, compare two models parameter by parameter, and render its recombination Bayes net — see the model workshop.

In 5.0, remove the previously unused labels keyword from model.analyze.compare_models. Use compare_net_dot(..., labels=("first", "second")) to label comparison graphs.

Signatures

One repertoire in, one fixed-width named feature vector out, standardised against a published reference corpus so your matrix and a collaborator's are in the same coordinate system without either of you fitting a scaler:

vdjtools signature --corpus blood samples/*.tsv.gz -o vsig.tsv
mir       signature --corpus blood samples/*.tsv.gz -o rsig.tsv   # the geometry half, from mirpy

Nine corpora are published, all at 256 components per locus. blood (11,117 real samples, 947 study groups), tissue (21,131 / 1,934) and deep-tcr (3,936 amplicon samples, TRA+TRB) are fitted on real repertoires; the synthetic ones need no cohort at all and rebuild byte for byte anywhere. Artifacts are fetched and digest-verified on first use rather than bundled.

--corpus is required: a signature is comparable to another one only if both were rotated through the same corpus, and nothing about the numbers would say otherwise. Signatures · How they were fitted · Channels

Performance

The Pgen, generation, EM and diversity hot paths are a native C++ core reached through pybind11; everything else is polars. Single thread, Apple M3, bundled human TRB model:

Operation Throughput vs OLGA
Nucleotide Pgen, single-D VDJ 0.5 ms/seq 9×
Amino-acid Pgen 0.6–0.9 ms/seq 8.6×
Amino-acid Pgen over the Hamming-1 ball 15 ms/seq 8.7×
Sequence generation, raw draws 32,100 seq/s —
Sequence generation, productive_only=True 8,960 seq/s —

The productive filter costs 3.6× on TRB and 5.1× on IGH (19,900 raw draws/s against 3,930 productive), because out-of-frame and stop-codon draws are discarded and redrawn. Batched Pgen parallelises over sequences (11× on 16 cores, and identical to the serial result); the EM E-step parallelises over reads (6.7× on 8 threads). Memory: 63 MB resident for import vdjtools plus one model, 123 MB with all seven loaded.

Reproduce the in-repo half with RUN_BENCHMARK=1 pytest tests/python -k benchmark.

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
pytest tests/python -q

bash setup.sh --dev-parents --tests does the same and editable-installs sibling checkouts of seqtree, arda and vdjmatch if present. You need a C++ toolchain (Xcode Command Line Tools on macOS, build-essential on Linux). MMseqs2 is needed only for arda's annotation path.

Citing

For the v2 rewrite, cite this repository. For the original tool, cite Shugay et al., PLoS Computational Biology 2015. The VDJtrack recapture model in vdjtools.dynamics is Pavlova, Zvyagin and Shugay (2024).

License

GPL-3.0-or-later. The legacy Groovy/Java v1.x tool lives on the legacy-1.x branch, with its releases under the repository tags v0.0.1 … 1.2.1.

Running signatures across samples

vdjtools signature --corpus blood --jobs 8 samples/*.tsv -o signatures.parquet

--jobs controls worker threads. It defaults to 1; use 0 to request all available cores or a positive count to set the budget explicitly. Each worker uses one thread per numerical kernel and shares fitted resources. Workers read one sample at a time; output follows input order. Positive counts must fit the CPU allocation.

For the Python cohort API, pass zero-argument readers to defer file loading into workers. Closures and lambdas work; callbacks must not mutate shared resources. Serial mode runs without a pool. Numerical import pools are kept at one thread.

Model-build resource budgets follow the same rule: build_all(..., workers=8) runs up to eight builds with one kernel thread each. build_model(..., threads=8) and infer_native(..., threads=8) instead assign eight kernel threads to one build.

CPU budgets

Import vdjtools before numerical libraries in fresh workers. Persistent numerical pools use one thread; native kernels receive allocation-aware budgets (threads=1 serial, threads=0 all allocated CPUs, or a positive count within the allocation). CPU affinity, SLURM per-task allocations and cgroup parent quotas are respected. Sample workers use serial inner kernels. Excessive or nested budgets raise. Existing multi-thread Polars pools require a fresh interpreter for outer thread parallelism.

Metadata

Release files for vdjtools 5.0.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 vdjtools 5.0.1
File Size Uploaded
vdjtools-5.0.1.tar.gz 1.4 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for vdjtools 5.0.1
File
vdjtools-5.0.1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
vdjtools-5.0.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
vdjtools-5.0.1-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
vdjtools-5.0.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
vdjtools-5.0.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
vdjtools-5.0.1-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
vdjtools-5.0.1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
vdjtools-5.0.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
vdjtools-5.0.1-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
vdjtools-5.0.1-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
vdjtools-5.0.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
vdjtools-5.0.1-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details

Total release size: 24.0 MB

Release files / vdjtools-5.0.1.tar.gz

Download URL vdjtools-5.0.1.tar.gz
Size 1.4 MB
Tags Source
SHA-256 checksum
How to use checksums
9b14a77373abe94a16d45513f838e5465848b03a70afc0399d1f2fc0c484a6cc
BLAKE2b-256 checksum
How to use checksums
3a32267df7a8ef554d90be7aa72145bdbca182c12efa42104f1b087aed423f26
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / vdjtools-5.0.1-cp313-cp313-win_amd64.whl

Download URL vdjtools-5.0.1-cp313-cp313-win_amd64.whl
Size 1.9 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
60468d96a08ab9b26a6e1b87bcafdfb65d1beb961e52020176a242dd513bfaa6
BLAKE2b-256 checksum
How to use checksums
eb8ed483f9ab8652974ae6a7ba754578f526f3f9ae22540098b610c52a5a9750
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / vdjtools-5.0.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL vdjtools-5.0.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 1.9 MB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
4d526e74ce7417d881bd212bb5ee6d21cedd7583165627807f3ffe798efe78a0
BLAKE2b-256 checksum
How to use checksums
eaa761ce1f45d6639151d0f9ada535bae8c4b0b10992a1967cac850b19e0488a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / vdjtools-5.0.1-cp313-cp313-macosx_11_0_arm64.whl

Download URL vdjtools-5.0.1-cp313-cp313-macosx_11_0_arm64.whl
Size 1.9 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
8a7878280dfc385a33d7dabf10df37385b55fee7376660b6d0d9ac11ca623923
BLAKE2b-256 checksum
How to use checksums
a9020249c5551fd6c81d8f3a6a6ed3e61ef71051d365aba70dfca210215070af
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / vdjtools-5.0.1-cp312-cp312-win_amd64.whl

Download URL vdjtools-5.0.1-cp312-cp312-win_amd64.whl
Size 1.9 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
13091953a7157bc4ab7450c907ae9479758049983208cae54cb33507b42abe72
BLAKE2b-256 checksum
How to use checksums
d730668ccbbc26cf296855106ef55ec9057092e9fba5c00f0ef172a992c45d03
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / vdjtools-5.0.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL vdjtools-5.0.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 1.9 MB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
f8a38e3c86bc9c80802283ea2958e171d80eee434acdbbcdf11cd40580de2e1c
BLAKE2b-256 checksum
How to use checksums
0e9170380456e61b7e25e59d06599421823922312d2143042d9315938be7de27
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / vdjtools-5.0.1-cp312-cp312-macosx_11_0_arm64.whl

Download URL vdjtools-5.0.1-cp312-cp312-macosx_11_0_arm64.whl
Size 1.9 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7e9923c0a8e7b556a1aa68964854f56c58d55adb4c9677b1df6dee5af71f39e3
BLAKE2b-256 checksum
How to use checksums
8ece603ff520674259fa7314e205f0b74cafbb2591c503477e6b6e386a3a60c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / vdjtools-5.0.1-cp311-cp311-win_amd64.whl

Download URL vdjtools-5.0.1-cp311-cp311-win_amd64.whl
Size 1.9 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
fd6251ff55cca4fa28b0a984d987a202c212b6a580b71ffb2974d2f38bbe3541
BLAKE2b-256 checksum
How to use checksums
bb350595556e13e755b613dc89641e1076b6de5304209b8764e8df40497d608a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / vdjtools-5.0.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL vdjtools-5.0.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 1.9 MB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
e6aa032467bf5dd89c93c0b576e6db6a631039c339e21b80d7ac99b612dbfabe
BLAKE2b-256 checksum
How to use checksums
43d28400b44dcf1a84a8e0f2cb27eef0c5d5c1718f93e42fa98dcd41d6af626a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / vdjtools-5.0.1-cp311-cp311-macosx_11_0_arm64.whl

Download URL vdjtools-5.0.1-cp311-cp311-macosx_11_0_arm64.whl
Size 1.9 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
47b083f4c1e7ff6a9b6e9bc3d891cca4a3c667f41eef7039c821a97230bb5d40
BLAKE2b-256 checksum
How to use checksums
5722c1aed85b2acd4a6cd4d0bd1b7d7ecd9cb8bf0a67cfaf8b362651c2d577d5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / vdjtools-5.0.1-cp310-cp310-win_amd64.whl

Download URL vdjtools-5.0.1-cp310-cp310-win_amd64.whl
Size 1.9 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
47ed31e4a38dc07b0f0e2ea465d62ab42ea3e46dfaa620b4ff2549bb70ff1224
BLAKE2b-256 checksum
How to use checksums
adf64f54feaa3908c3b32fb62b5927efec8d135d51fa79fb735da40ad74f560c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / vdjtools-5.0.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL vdjtools-5.0.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 1.9 MB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
af62d7ca9a86896c9460a6bce9dc50c6751c3154be86797eddc636179434f13d
BLAKE2b-256 checksum
How to use checksums
f74797a6cb9a1ba1189a4304d13c56d4fe9a738e57f4865f92994053aaca0fbc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / vdjtools-5.0.1-cp310-cp310-macosx_11_0_arm64.whl

Download URL vdjtools-5.0.1-cp310-cp310-macosx_11_0_arm64.whl
Size 1.9 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7ab46e5cc3ce235d1cf0244bd3fddec1662b3cced6a2c4300bf2984ad8d1ceed
BLAKE2b-256 checksum
How to use checksums
d283576d72263f8c04f17e2c0e025fb3b207b8811925be5c3bbea05e8b0c86ee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release history Release notifications | RSS feed

5.1.0

13 release files

5.0.2

13 release files

This release

5.0.1 This release

13 release files

4.8.0

13 release files

4.7.0

13 release files

4.6.1

13 release files

4.5.0

13 release files

4.3.0

13 release files

4.2.0

13 release files

4.1.0

13 release files

4.0.1

13 release files

3.9.3

13 release files

3.9.2

13 release files

3.9.1

13 release files

3.9.0

13 release files

3.8.0

13 release files

3.7.3

13 release files

3.7.0

13 release files

3.6.1

13 release files

3.6.0

13 release files

3.4.0

13 release files

3.1.2

13 release files

3.1.1

13 release files

3.1.0

13 release files

3.0.0

13 release files

2.9.0

13 release files

2.8.0

13 release files

2.7.0

13 release files

2.6.0

13 release files

2.5.1

13 release files

2.3.0

13 release files

2.2.1

13 release files

2.2.0

13 release files

2.1.0

13 release files

2.0.0

13 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