pybigtools
Python bindings to the Bigtools Rust library for high-performance BigWig and BigBed I/O
What it is and what it does
pybigtools is a Python binding to a Rust-based genomics library designed to read and write bigWig and bigBed files—standard formats for storing large-scale genomic interval data. It wraps the Rust bigtools crate using PyO3, inheriting Rust's performance and memory efficiency while exposing a Python API. The library depends only on numpy and is distributed as pre-compiled wheels for multiple Python versions on macOS, Linux, and Windows, reducing installation friction.
The package targets bioinformaticians and genomics researchers who need to parse or generate bigWig and bigBed files efficiently. It provides methods to read intervals from genomic coordinates, merge multiple bigWigs, and convert between formats (bigWig to bedGraph, bed to bigBed, etc.). The underlying Rust implementation uses async/await for multi-core computation where applicable, and the library is designed to minimize memory footprint—key constraints in genomics workflows that often process large datasets.
Use it for:
- Extract genomic intervals from a bigWig file over a set of genomic regions for statistical analysis.
- Convert bedGraph files to bigWig format for efficient storage and sharing of genome-wide signal tracks.
- Merge multiple bigWig files into a single file or bedGraph for comparative genomics studies.
- Query bigBed files to retrieve annotated genomic features and their metadata.
- Build bioinformatics pipelines that read/write UCSC-compatible bigWig and bigBed files.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
pybigtools is a Python wrapper around a Rust library for reading and writing bigWig and bigBed genomic data files with high performance and minimal memory overhead.
Yes. pybigtools is actively maintained, has no known vulnerabilities, and offers a performant, low-friction way to handle bigWig and bigBed files in Python. The MIT license and wide platform support make it suitable for research and production use. Install it if you work with genomic interval data in these formats.
Install
pybigtools on PyPI
pip
pip install pybigtoolsuv
uv add pybigtoolspoetry
poetry add pybigtoolsInstalling pybigtools
Before you install
Medium install friction due to compiled wheels; pre-built binaries available for Python 3.10, 3.11, 3.12 across macOS, Linux, and Windows. Active maintenance with a release 71 days ago and no known vulnerabilities.
License in practice
MIT license permits commercial and private use with minimal restrictions; suitable for most projects without licensing concerns.
Quickstart
pip install pybigtools
import pybigtools
reader = pybigtools.BigWigRead('test.bigWig')
intervals = reader.get_interval('chr1', 0, 10000)
Requires Python >=3.8; compiled wheels available for Python 3.10, 3.11, 3.12 on common platforms.
Verify before relying
- Exact performance improvements over UCSC tools and memory usage characteristics are not quantified in the fact sheet.
- Whether async/await optimizations are exposed to Python callers or used only internally is unclear.
- API stability and backward-compatibility guarantees for Beta-stage releases are not documented.
- Support for Python 3.13 wheels is listed in friction evidence but not confirmed in requires_python metadata.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 1 — numpy |
| Maintenance | actively maintained — 71 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 636,421/month — #5,627 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pybigtools-0.3.0-cp310-cp310-macosx_10_12_x86_64.whl; pybigtools-0.3.0-cp310-cp310-macosx_11_0_arm64.whl; pybigtools-0.3.0-cp310-cp310-manylinux_2_28_aarch64.whl; pybigtools-0.3.0-cp310-cp310-manylinux_2_28_x86_64.whl; pybigtools-0.3.0-cp310-cp310-win32.whl; pybigtools-0.3.0-cp310-cp310-win_amd64.whl; pybigtools-0.3.0-cp311-cp311-macosx_10_12_x86_64.whl; pybigtools-0.3.0-cp311-cp311-macosx_11_0_arm64.whl; pybigtools-0.3.0-cp311-cp311-manylinux_2_28_aarch64.whl; pybigtools-0.3.0-cp311-cp311-manylinux_2_28_x86_64.whl; pybigtools-0.3.0-cp311-cp311-win32.whl; pybigtools-0.3.0-cp311-cp311-win_amd64.whl; pybigtools-0.3.0-cp312-cp312-macosx_10_12_x86_64.whl; pybigtools-0.3.0-cp312-cp312-macosx_11_0_arm64.whl; pybigtools-0.3.0-cp312-cp312-manylinux_2_28_aarch64.whl; pybigtools-0.3.0-cp312-cp312-manylinux_2_28_x86_64.whl; pybigtools-0.3.0-cp312-cp312-win32.whl; pybigtools-0.3.0-cp312-cp312-win_amd64.whl; pybigtools-0.3.0-cp313-cp313-macosx_10_12_x86_64.whl; pybigtools-0.3.0-cp313-cp313-macosx_11_0_arm64.whl
Keywords: bigwig, bigbed, bbi, bioinformatics, genomics, kent, ucsc, rust
Tags
More Bio-Informatics packages
NetworkX provides data structures and…
permissive · top 1,000 on PyPI
biopythonBiopython provides Python tools for…
unclear · top 5,000 on PyPI
firecrawl-pyClient library for the Firecrawl API that…
permissive · top 5,000 on PyPI
intervaltreeA self-balancing interval tree data structure…
permissive · top 5,000 on PyPI
albumentationsAlbumentations applies image transformations to…
permissive · top 5,000 on PyPI
PubChemPyPubChemPy is a Python wrapper around the…
permissive · top 5,000 on PyPI
pyBigWigA Python C extension for reading and writing…
permissive · top 15,000 on PyPI
pybedtoolsWraps the BEDTools suite to perform genomic…
permissive · top 15,000 on PyPI
setuptools-rustsetuptools-rust is a setuptools plugin that…
permissive · top 5,000 on PyPI
rustworkxA high-performance graph library for Python,…
permissive · top 5,000 on PyPI
pysylphPysylph provides Python bindings to sylph,…
permissive · top 15,000 on PyPI
deepbiopDeepBioP is a deep learning preprocessing…
permissive · top 15,000 on PyPI
pysampysam reads, manipulates, and writes genomic…
permissive · top 5,000 on PyPI
py-bip39-bindingsProvides Python bindings to the tiny-bip39 Rust…
permissive · top 15,000 on PyPI
pyrangesPyRanges provides efficient querying and…
permissive · top 15,000 on PyPI
moviepilot-rustProvides Rust-accelerated parsing and filtering…
unclear · top 15,000 on PyPI