Skip to main content

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

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

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.34.0.tar.gz (49.2 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.34.0-cp310-abi3-win_amd64.whl (79.6 MB view details)

Uploaded CPython 3.10+Windows x86-64

polars_bio-0.34.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (89.4 MB view details)

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

polars_bio-0.34.0-cp310-abi3-macosx_11_0_arm64.whl (81.2 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

polars_bio-0.34.0-cp310-abi3-macosx_10_12_x86_64.whl (84.4 MB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for polars_bio-0.34.0.tar.gz
Algorithm Hash digest
SHA256 ddf864e95a3867f308c5c6e750f04f4535b8afe840c479dfb23a283167c4f82e
MD5 cabbdc378a330d517a0f554f97b35a56
BLAKE2b-256 4c7bbc4f3d7a02695d91b4e35b6adb5b4cbf614a5a00703d65cb668219d5ab23

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for polars_bio-0.34.0-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 bb334240e9e33162d9b9295067221e8bdf14555aa137a6d494f6876c7aa62f52
MD5 613d49b5879269ed7833280505bd82d9
BLAKE2b-256 d6de789d787de26e4b222f75a99fce50545baa4c207e1f90d6332241d5567c50

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for polars_bio-0.34.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4ce32efb4a10baa188089ecbca9cb2c000d2e398c4c8329bd24868c2cdaa4864
MD5 90ea0e109d0cbfb66ce5e3d7bbac4bae
BLAKE2b-256 9dfc05a1ab09ab72b93c1022cce33ac25b70b2bf797cd3b2cf50e5d674af6174

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for polars_bio-0.34.0-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3de249ee855e24bfd73167113d4eac3e0fad4058d5c9020ee4a08f2763ce11cd
MD5 422e437a09b07f07336374821b323abd
BLAKE2b-256 fc9dbaeb07b583560acb35efcfd322c79c4c80219a84d75ea9eebbdc77e19c73

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for polars_bio-0.34.0-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 4d567dd728ae5d650fbcbc5f5cbde36cbf81d9d7caa014d2dad1fb657c91b159
MD5 4c01cec7665c6c30fa6f2efdad705cb3
BLAKE2b-256 0bb0d27875e17cfeefe4775690cdef461c979ae082a0427eb62e3078bfebdaa9

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