skillfed

pybigtools

Python bindings to the Bigtools Rust library for high-performance BigWig and BigBed I/O

pybigtools v0.3.0 636.4K downloads/30d#5,627 on PyPI120
Permissive license MIT Active released

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 pybigtools

uv

uv add pybigtools

poetry

poetry add pybigtools

Installing 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

Development Status :: 4 - BetaOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: RustTopic :: Scientific/Engineering :: Bio-Informatics

Tags

bigwig bigbed file I/Ogenomic data format readerbioinformatics file handlinghigh-performance genomicsucsc bigwig parserrust-backed genomics librarybedgraph conversion tools
bioinformaticsgenomicsrust-backed

More Bio-Informatics packages