Skip to main content

vepyr

PyPI - Version Python versions Platforms GitHub License PyPI - Downloads install with bioconda Bioconda Bioconda - Downloads Bioconda - Platforms nf-core module nf-core subworkflow GitHub commit activity

CI Docs

vepyr logo

vepyr (/ˈvaɪpər/) — VEP Yielding Performant Results — is a blazing-fast Rust reimplementation of Ensembl's Variant Effect Predictor, exposed as a Python library and a vepyr command. It builds and uses Ensembl VEP caches locally, annotates VCF input through a native DataFusion engine, and returns results as a polars.LazyFrame or a VCF with CSQ in the INFO column.

📚 Documentation

https://biodatageeks.org/vepyr/

Quick start Install, get a cache, annotate
Polars DataFrames Schema, region filters, filter_vep in Polars
Command line vepyr annotate, VCF in, VCF out
Nextflow The vepyr/annotate module, amd64 and arm64 containers, and the vcf_annotate_vepyr subworkflow (normalize, optional Hugging Face cache, annotate)
Download Ensembl VEP and plugin caches Prebuilt release-116 caches
Caches Cache types, entity schemas, CSQ output fields
Plugins CADD, SpliceAI, AlphaMissense, ClinVar, dbNSFP, PhenotypeOrthologous
API reference build_cache(), annotate(), …
Performance Benchmarks vs Ensembl VEP

Install

pip install vepyr

or from bioconda (linux-64, osx-64, osx-arm64):

conda install -c conda-forge -c bioconda vepyr

Either installs both the Python package and a vepyr executable:

vepyr annotate \
    -i input.vcf.gz \
    -o annotated.vcf.gz \
    --dir_cache ~/vepyr_cache/116_GRCh38_ensembl \
    --fasta GRCh38.fa \
    --fork 8

See Developers for building from source and running the test suite.

Quick sanity check with chr22

Check Ensembl VEP 116.0 parity on the 50,861 normalized HG002 GRCh38 chr22 records using the existing run_comparison.py CLI. Docker provides vepyr 0.9.2, the Hugging Face client, Git LFS and the VCF tools.

From the repository root, download the merged chr22 cache and run its md5 check:

docker build -t vepyr-e2e e2e-testing/docker
mkdir -p e2e-testing/results/sanity-chr22
docker run --rm --user "$(id -u):$(id -g)" -e HOME=/tmp \
  -v "$PWD:/repo" \
  -v "$PWD/e2e-testing/results/sanity-chr22:/work" \
  vepyr-e2e bash -ec '
    python e2e-testing/scripts/download_chr22.py --work-dir /work --profiles merged
    DATA_VEPYR_DIR=/work python e2e-testing/scripts/run_comparison.py \
      --release 116 --profile merged --chroms 22 \
      --vcf /work/input/input_chr22.vcf.gz --fasta /work/input/chr22.fa.gz \
      --output-dir /work --comparison-mode md5 --md5-mode both --bgzf --no-normalize
  '

The download helper fetches only chr22 shards, manifests and the cache-root policy files from Hugging Face at pinned revisions, plus the BGZF golden VCF and FASTA through Git LFS. The comparison CLI prints the strict and canonical record-body md5 verdicts and exits nonzero on a mismatch. Downloads and results persist in the mounted folder. The input is already normalized with bcftools norm -m -both.

See Quick sanity check with chr22 for the command that runs all 10 profiles, offline reuse and golden-data provenance. The three caches total ~1.5 GB and the ten BGZF goldens total ~178 MB; allow about 6 GB of disk space for the complete run and Docker image.

Continuous integration

Four tiers gate every change; tiers 2-4 test the wheel built from the code under review.

Tier What Draft PR PR master Release
1 Unit lint, cargo test, pytest, wheels, vep-parity-checks yes required yes yes
2 Ensembl VEP parity porting-tests/ data suite (205 tests) no admin dispatch, required no yes
3 Integration chr22 VEP 116 parity, one job per profile no admin dispatch, required no yes
4 nf-core module + subworkflow nf-test on a PR-built image no required yes yes

Admins run tiers 2-3 for a PR by commenting exactly /parity on it, or with gh workflow run parity-tests.yml -f pr=<n> (or Actions -> Parity tests). They report parity/vep-parity and parity/integration on the PR head; a new push needs a new run. A /parity comment gets a rocket reaction and a reply with the run link, then a final reply with both statuses; a non-admin's /parity is refused with a reply. The comment route always runs master's copy of the workflow, so it works for fork PRs and a PR cannot alter its own gate. Releases (publish_to_pypi.yml) run all tiers and publish only if all pass; dry_run=true runs everything without tagging or publishing.

The parity/* statuses are posted with GITHUB_TOKEN, so branch protection can only pin them to the GitHub Actions app. A collaborator with write access could post the same contexts from a workflow on their own branch. Setting Settings -> Actions -> General -> Workflow permissions to read-only narrows this (such a workflow must then request statuses: write explicitly); only a dedicated status-posting GitHub App, required by branch protection, closes it.

Whole-genome parity (/parity-wgs)

An admin comment that is exactly /parity-wgs (or gh workflow run parity-wgs.yml -f pr=<n>) runs the HG002 GRCh38 whole-genome md5 parity gate against the Ensembl VEP 116.0 golden VCFs for the ensembl, merged and refseq profiles on the self-hosted runner. It reports parity/wgs (and parity/wgs/<profile>) on the PR head. Runs run one at a time on the self-hosted runner, take about 1.5 hours (wheel build, then 20–30 minutes per profile), and are not a required check unless added to branch protection. On a fork PR, pin the head commit you reviewed: /parity-wgs <sha> (7+ hex characters, or -f sha=<sha>); the run is refused if the head has moved. PR code runs only inside a fresh, locked-down container with the staged data mounted read-only. Runner setup and the accepted residual risk are in ci/wgs-runner/README.md.

License

Apache-2.0

Metadata

Release files for vepyr 0.10.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vepyr 0.10.0
File Size Uploaded Provenance
vepyr-0.10.0.tar.gz 14.3 MB With provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for vepyr 0.10.0
File
vepyr-0.10.0-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
vepyr-0.10.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 abi3 Linux glibc 2.17+ x86-64 Details
vepyr-0.10.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 abi3 Linux glibc 2.17+ ARM64 Details
vepyr-0.10.0-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details
vepyr-0.10.0-cp310-abi3-macosx_10_12_x86_64.whl CPython 3.10 abi3 macOS 10.12+ x86-64 Details

Total release size: 309.5 MB

Release files / vepyr-0.10.0.tar.gz

Download URL vepyr-0.10.0.tar.gz
Size 14.3 MB
Tags Source
SHA-256 checksum
How to use checksums
35171d231bbaf5a9404ead597c2d2b9783121435d1cc326f79bc1c0aed1e3711
BLAKE2b-256 checksum
How to use checksums
f7df4ca5ea6633e5e060f606c16fc272c3ae7be7dbac4f2930498577da8f5456
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 13, 2026.

Transparency log

Release files / vepyr-0.10.0-cp310-abi3-win_amd64.whl

Download URL vepyr-0.10.0-cp310-abi3-win_amd64.whl
Size 55.5 MB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
b1d1a80a4d18cccc11cf6b2a7c9ced120320e05f690b9cf0fba0ed9a7051bc1c
BLAKE2b-256 checksum
How to use checksums
8285734dd7e2216f39f5e9d895bc2d9f5262d1971d52e9d114b0b3389426a0ab
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 13, 2026.

Transparency log

Release files / vepyr-0.10.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL vepyr-0.10.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 62.7 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
a191f599d76f53f226ede93fbf75db3d3d68adc14ff64f00f6500372082f393f
BLAKE2b-256 checksum
How to use checksums
4e9039734b2350ab5e7ab35140bf46c3e8839ad2ae51d66de811d89e4cefbcfe
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 13, 2026.

Transparency log

Release files / vepyr-0.10.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL vepyr-0.10.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 61.5 MB
Tags CPython 3.10 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
e4d469d9909528663f19d4858659e7539f397abf2fb518255e1c2173f85d7256
BLAKE2b-256 checksum
How to use checksums
5cfb244394438e6574a9998eea3620d73a61f4a1cc631d5a67bfeaaf9b89d806
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 13, 2026.

Transparency log

Release files / vepyr-0.10.0-cp310-abi3-macosx_11_0_arm64.whl

Download URL vepyr-0.10.0-cp310-abi3-macosx_11_0_arm64.whl
Size 56.3 MB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
66efebf3211a6c017e830af1483f778b597ea3d431ff8f937b2a677237db79b5
BLAKE2b-256 checksum
How to use checksums
bc4eef016f2f9ec6d3b1a9ba2f7127e567d7e389ae83a093da8346d070972b9a
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 13, 2026.

Transparency log

Release files / vepyr-0.10.0-cp310-abi3-macosx_10_12_x86_64.whl

Download URL vepyr-0.10.0-cp310-abi3-macosx_10_12_x86_64.whl
Size 59.1 MB
Tags CPython 3.10 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
d4df657887b26696a29523080ca6b368a1bbbb59417340557251f4f67a0b5d73
BLAKE2b-256 checksum
How to use checksums
26af4b0c7a1b8f38476e2d6a910cef46f7c5bea0b8d264fc24efdf150fe7f4fa
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 13, 2026.

Transparency log

Security for vepyr 0.10.0

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.

Full provenance

All 6 files in this release have been uploaded with provenance metadata.

Select from 6 files

Attestation for vepyr-0.10.0.tar.gz

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 13, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

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