skillfed

scikit-bio

Data structures, algorithms and educational resources for bioinformatics.

scikit-bio v0.7.3 143.1K downloads/30d#11,186 on PyPI1,227
Permissive license BSD-3-Clause Active released

What it is and what it does

scikit-bio is a Python library for bioinformatics that provides data structures and algorithms for working with biological data. It sits at the intersection of scientific computing—built on numpy, scipy, pandas, and statsmodels—and domain-specific bioinformatics, offering abstractions for biological sequences and diversity metrics. The package is actively maintained and widely adopted in projects like QIIME 2, Qiita, and Emperor, suggesting it has become a foundational layer for the bioinformatics Python ecosystem.

The library depends on a substantial stack of scientific packages: 11 runtime dependencies including h5py for data storage, biom-format for microbiome data interchange, and decorator for function wrapping. This makes installation moderately friction-heavy but also means it integrates well with existing scientific Python workflows. It supports Python 3.10 and above and is available as prebuilt wheels across major platforms and architectures, reducing build friction for most users.

Use it for:

  • Analyze microbiome data using diversity metrics and phylogenetic tree operations with biom-format integration.
  • Work with phylogenetic trees and evolutionary relationships in biological datasets.
  • Integrate bioinformatics workflows with pandas DataFrames and numpy arrays for downstream analysis.
  • Store and retrieve large biological datasets using h5py-backed data structures.
  • Build educational bioinformatics applications using standardized data structures and algorithms.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

scikit-bio provides data structures, algorithms, and educational resources for bioinformatics analysis, including sequence, phylogenetic, and diversity data manipulation.

Yes, if you are doing bioinformatics work in Python. scikit-bio is actively maintained, widely adopted by established projects, has no known vulnerabilities, and provides a permissive BSD-3-Clause license. The medium install friction is justified by its comprehensive dependency stack and the maturity it brings. Not necessary for general scientific computing; install only if you need domain-specific bioinformatics data structures.

Install

scikit-bio on PyPI

pip

pip install scikit-bio

uv

uv add scikit-bio

poetry

poetry add scikit-bio

Installing scikit-bio

Before you install

Medium install friction due to 11 runtime dependencies including numpy, scipy, pandas, h5py, and statsmodels. Active maintenance with a release 74 days ago and ongoing commits. Supports Python 3.10 and above with prebuilt wheels for macOS, Linux, and Windows across multiple architectures.

License in practice

BSD-3-Clause permissive license allows commercial and private use with minimal restrictions, requiring only license and copyright notice retention.

Quickstart

pip install scikit-bio

import decorator
import numpy
import pandas

# scikit-bio integrates with numpy and pandas for data manipulation

Requires Python 3.10 or above; multiple compiled dependencies (numpy, scipy, h5py) may require build tools on some systems.

Verify before relying

  • Specific API surface and which sequence types (DNA, RNA, protein) are supported.
  • Whether educational resources are integrated into the package or primarily external documentation.
  • Exact scope of phylogenetic tree algorithms and formats supported.
  • Performance characteristics or scalability limits for large datasets.

Package facts

License BSD-3-Clause (permissive)
Python support supports the current Python release (>=3.10)
Install friction medium — platform-specific wheel
Runtime dependencies 11 — requests, decorator, natsort, numpy, pandas, scipy, h5py, biom-format, statsmodels, patsy, array-api-compat
Maintenance actively maintained — 74 days since the last release
Last repo commit
First released
Downloads 143,050/month — #11,186 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: scikit_bio-0.7.3-cp310-cp310-macosx_10_9_x86_64.whl; scikit_bio-0.7.3-cp310-cp310-macosx_11_0_arm64.whl; scikit_bio-0.7.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; scikit_bio-0.7.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; scikit_bio-0.7.3-cp310-cp310-win_amd64.whl; scikit_bio-0.7.3-cp311-cp311-macosx_10_9_x86_64.whl; scikit_bio-0.7.3-cp311-cp311-macosx_11_0_arm64.whl; scikit_bio-0.7.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; scikit_bio-0.7.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; scikit_bio-0.7.3-cp311-cp311-win_amd64.whl; scikit_bio-0.7.3-cp311-cp311-win_arm64.whl; scikit_bio-0.7.3-cp312-cp312-macosx_10_13_x86_64.whl; scikit_bio-0.7.3-cp312-cp312-macosx_11_0_arm64.whl; scikit_bio-0.7.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; scikit_bio-0.7.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; scikit_bio-0.7.3-cp312-cp312-win_amd64.whl; scikit_bio-0.7.3-cp312-cp312-win_arm64.whl; scikit_bio-0.7.3-cp313-cp313-macosx_10_13_x86_64.whl; scikit_bio-0.7.3-cp313-cp313-macosx_11_0_arm64.whl; scikit_bio-0.7.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Development Status :: 4 - BetaOperating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: POSIXOperating System :: UnixProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Scientific/EngineeringTopic :: Scientific/Engineering :: Bio-InformaticsTopic :: Software Development :: Libraries

Tags

bioinformatics data structuressequence analysis pythonphylogenetic tree manipulationmicrobiome diversity analysisbiological sequence processingomic data handlingbioinformatics algorithms
bioinformaticssequence-analysismicrobiome

More Libraries packages