Skip to main content

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

PyPI - Version GitHub License PyPI - Downloads 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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

polars_bio-0.33.1.tar.gz (47.4 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

polars_bio-0.33.1-cp310-abi3-win_amd64.whl (76.4 MB view details)

Uploaded CPython 3.10+Windows x86-64

polars_bio-0.33.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (86.1 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ x86-64

polars_bio-0.33.1-cp310-abi3-macosx_11_0_arm64.whl (78.1 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

polars_bio-0.33.1-cp310-abi3-macosx_10_12_x86_64.whl (81.2 MB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

Details for the file polars_bio-0.33.1.tar.gz.

File metadata

  • Download URL: polars_bio-0.33.1.tar.gz
  • Upload date:
  • Size: 47.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.14.1

File hashes

Hashes for polars_bio-0.33.1.tar.gz
Algorithm Hash digest
SHA256 341b2e2821cee55efa428836b102769d6b31eb7c6d6c6444593cc9cddedd5ecd
MD5 64bc68cb8597dac186a4c83221ac7a2f
BLAKE2b-256 89834ba6dac2f23016baef2273c6318392bcd7109036279f601a20070714c22b

See more details on using hashes here.

File details

Details for the file polars_bio-0.33.1-cp310-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for polars_bio-0.33.1-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 03f8e2bca582bb96b732b1f37b1a7e7f4256fa17992513ad997ca01aab1dc567
MD5 27a4566ca83919acf44da48beeb8c595
BLAKE2b-256 218f0d1043d269f17a1f8da3d3dc8709593dc504a1f89b04e68bac4f24dd2412

See more details on using hashes here.

File details

Details for the file polars_bio-0.33.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for polars_bio-0.33.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d3ee5d419354306cc794257becb04e43f624db1c39d3989be9379bc274a5dd92
MD5 bb90d9b926f91ecbe01852a9f7edca05
BLAKE2b-256 b8300255ffd247c08195ec23df66a26518cfe70c4f4e20ad4d7e7efe3f0149d5

See more details on using hashes here.

File details

Details for the file polars_bio-0.33.1-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for polars_bio-0.33.1-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e3cadd666e33458b3839b7eb169327d546d8baac7e0107d2d2b888693115e500
MD5 a5ed38f51ac1516eb8140ab1e89a8b03
BLAKE2b-256 ab26b276f58470630b0bfa95d51369d1bc0f803872b2a3291158b24baf5bfff3

See more details on using hashes here.

File details

Details for the file polars_bio-0.33.1-cp310-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for polars_bio-0.33.1-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e85ff06267dcc88cd7f7edfd51441329e2c05a6f2b080c7cca2f46fb3869d1a7
MD5 6ed4c3bef4f009c53d5c5055c519578e
BLAKE2b-256 3a2bd33eb2e324fb06d84ea42e478e2c3323340925e3d4814d1ee0939e0ce486

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page