Skip to main content

polars-bio - Next-gen Python DataFrame operations for genomics!

PyPI - Version Python versions Platforms GitHub License PyPI - Downloads install with bioconda Bioconda Bioconda - Downloads Bioconda - Platforms GitHub commit activity

CI Docs

polars-bio logo

polars-bio is a Python library for genomics built on top of polars, Apache Arrow and Apache DataFusion. It provides a DataFrame API for genomics data and is designed to be blazing fast, memory efficient and easy to use.

🎉 Join us at ECCB 2026 in Geneva!

We'll be presenting polars-bio at ECCB 2026 — the 25th European Conference on Computational Biology, 31 August – 4 September 2026, Geneva, Switzerland. Come and say hi!

Join us at ECCB 2026 in Geneva

Key Features

Performance

polars-bio is optimized for both genomic interval operations and reading genomic file formats. See the full performance results.

Genomic interval operations — speedups vs. other Python libraries:

Benchmark summary

Genomic file format readers — single-threaded throughput vs. other Python readers (full benchmark):

FASTQ readers

BAM readers (with tags)

VCF readers (with INFO)

Multi-threaded scalability of file-format reading (wall time & peak memory):

File-format thread scaling

For developers: See benchmarks/README_BENCHMARKS.md for information about running performance benchmarks via GitHub Actions.

Citing

If you use polars-bio in your work, please cite:

@article{10.1093/bioinformatics/btaf640,
    author = {Wiewiórka, Marek and Khamutou, Pavel and Zbysiński, Marek and Gambin, Tomasz},
    title = {polars-bio—fast, scalable and out-of-core operations on large genomic interval datasets},
    journal = {Bioinformatics},
    pages = {btaf640},
    year = {2025},
    month = {12},
    abstract = {Genomic studies very often rely on computationally intensive analyses of relationships between features, which are typically represented as intervals along a one-dimensional coordinate system (such as positions on a chromosome). In this context, the Python programming language is extensively used for manipulating and analyzing data stored in a tabular form of rows and columns, called a DataFrame. Pandas is the most widely used Python DataFrame package and has been criticized for inefficiencies and scalability issues, which its modern alternative—Polars—aims to address with a native backend written in the Rust programming language.polars-bio is a Python library that enables fast, parallel and out-of-core operations on large genomic interval datasets. Its main components are implemented in Rust, using the Apache DataFusion query engine and Apache Arrow for efficient data representation. It is compatible with Polars and Pandas DataFrame formats. In a real-world comparison (107 vs. 1.2×106 intervals), our library runs overlap queries 6.5x, nearest queries 15.5x, count\_overlaps queries 38x, and coverage queries 15x faster than Bioframe. On equally-sized synthetic sets (107 vs. 107), the corresponding speedups are 1.6x, 5.5x, 6x, and 6x. In streaming mode, on real and synthetic interval pairs, our implementation uses 90x and 15x less memory for overlap, 4.5x and 6.5x less for nearest, 60x and 12x less for count\_overlaps, and 34x and 7x less for coverage than Bioframe. Multi-threaded benchmarks show good scalability characteristics. To the best of our knowledge, polars-bio is the most efficient single-node library for genomic interval DataFrames in Python.polars-bio is an open-source Python package distributed under the Apache License available for major platforms, including Linux, macOS, and Windows in the PyPI registry. The online documentation is https://biodatageeks.org/polars-bio/ and the source code is available on GitHub: https://github.com/biodatageeks/polars-bio and Zenodo: https://doi.org/10.5281/zenodo.16374290. Supplementary Materials are available at Bioinformatics online.},
    issn = {1367-4811},
    doi = {10.1093/bioinformatics/btaf640},
    url = {https://doi.org/10.1093/bioinformatics/btaf640},
    eprint = {https://academic.oup.com/bioinformatics/advance-article-pdf/doi/10.1093/bioinformatics/btaf640/65667510/btaf640.pdf},
}

Read the documentation

Metadata

Release files for polars-bio 0.35.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 polars-bio 0.35.1
File Size Uploaded
polars_bio-0.35.1.tar.gz 49.2 MB Details

Built distributions (wheels)

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

Total release size: 392.9 MB

Release files / polars_bio-0.35.1.tar.gz

Download URL polars_bio-0.35.1.tar.gz
Size 49.2 MB
Tags Source
SHA-256 checksum
How to use checksums
70febfd08ade96da7495334fc804ab1838b14f8ee79ade9c4aeaa06b1361f6ee
BLAKE2b-256 checksum
How to use checksums
2fa682f1d84baede314596b0737243d65a64b0da2f5821dc683267f88bb21265
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

Release files / polars_bio-0.35.1-cp310-abi3-win_amd64.whl

Download URL polars_bio-0.35.1-cp310-abi3-win_amd64.whl
Size 83.0 MB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
dbebb837fe45b9ee54be04b4a580d1d7e0c8b082618238aa07b1cfa0548dd0d9
BLAKE2b-256 checksum
How to use checksums
b22d65ff78ac457bd88174e4a841d93fd5827654000c00be04344b099f0ffa24
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

Release files / polars_bio-0.35.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL polars_bio-0.35.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 91.5 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
816edeb6eb192c17eea750f8790979b46f16e4f9d5ee2c7618d90dfc32b49030
BLAKE2b-256 checksum
How to use checksums
d83edf0f2ebc615ffff3691f66ad7ca3169095ece43f39835300fefb2c3206a7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

Release files / polars_bio-0.35.1-cp310-abi3-macosx_11_0_arm64.whl

Download URL polars_bio-0.35.1-cp310-abi3-macosx_11_0_arm64.whl
Size 82.8 MB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
25493c9c99d28b0a04fa84618ca15cc30365a5973643bd25b164cb19867e4ea5
BLAKE2b-256 checksum
How to use checksums
4b5ea5b41369ed8606ed924e5fdaa16c08b3e8a475d3f195016a491a17f6bed5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

Release files / polars_bio-0.35.1-cp310-abi3-macosx_10_12_x86_64.whl

Download URL polars_bio-0.35.1-cp310-abi3-macosx_10_12_x86_64.whl
Size 86.3 MB
Tags CPython 3.10 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
180bea971e4deeb5ea0dfdca7a077abf9c489de2302c9752abb08bf4416a572e
BLAKE2b-256 checksum
How to use checksums
bac6e587e3e7ddd58f49521ccb1b69940598761261b25aabbdcce99a61adddf1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0
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