biopython
Freely available tools for computational molecular biology.
What it is and what it does
Biopython is a mature, production-grade library for computational molecular biology written in Python. It provides modules for reading and writing biological sequence formats, analyzing sequences, accessing biological databases, parsing phylogenetic trees, and generating graphics for molecular data. The package is built on numpy and supports optional dependencies for specialized tasks like phylogenetic visualization and database connectivity.
Developers use Biopython to automate sequence analysis workflows, parse large biological datasets, perform comparative genomics, and integrate bioinformatics into larger Python applications. It is widely adopted in academic research and bioinformatics pipelines, with active community maintenance and support for Python 3.10, 3.11, 3.12, 3.13, 3.14.
Use it for:
- Parse and manipulate biological sequences in standard formats for comparative analysis.
- Query and retrieve biological data from online databases and parse results programmatically.
- Analyze phylogenetic trees and generate visualizations with optional dependencies.
- Build automated bioinformatics pipelines combining sequence analysis and statistical methods.
- Access and query biological data stored in PostgreSQL or MySQL databases via BioSQL module.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Biopython provides Python tools for computational molecular biology, including sequence analysis, structure parsing, database access, and phylogenetic tree manipulation.
Yes, with a license review. Biopython is production-stable, actively maintained, and widely used in computational biology. Install friction is low thanks to pre-compiled wheels for multiple platforms. However, verify that the custom Biopython License Agreement aligns with your project's licensing requirements before committing to it in production or proprietary work.
Install
biopython on PyPI
pip
pip install biopythonuv
uv add biopythonpoetry
poetry add biopythonInstalling biopython
Before you install
Pre-compiled wheels available for Python 3.10, 3.11, 3.12, 3.13 on Linux, macOS, and Windows reduce install friction significantly. Active maintenance with a release 8 days old and 5164 GitHub stars indicate a well-supported project.
License in practice
License treatment is marked unclear; the package uses a custom Biopython License Agreement (LicenseRef-Biopython-License-Agreement) rather than a standard SPDX identifier. Review the LICENSE file on the repository before use in proprietary or restricted contexts.
Quickstart
pip install biopython
import biopython
# Biopython modules available for sequence analysis and database access
Requires numpy, which is installed automatically. Python 3.10 or later required.
Verify before relying
- Exact scope and restrictions of the custom Biopython License Agreement—whether it permits commercial use or has attribution requirements beyond standard open-source terms.
- Whether all optional dependencies (ReportLab, matplotlib, networkx, rdflib, psycopg2, MySQL connectors) are truly optional or required for core functionality.
- Specific sequence formats and biological databases supported by the package.
Package facts
| License | LicenseRef-Biopython-License-Agreement (unclear) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 1 — numpy |
| Maintenance | actively maintained — 8 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 14,442,412/month — #1,229 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: biopython-1.88-cp310-cp310-macosx_11_0_arm64.whl; biopython-1.88-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; biopython-1.88-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; biopython-1.88-cp310-cp310-win32.whl; biopython-1.88-cp310-cp310-win_amd64.whl; biopython-1.88-cp311-cp311-macosx_11_0_arm64.whl; biopython-1.88-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; biopython-1.88-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; biopython-1.88-cp311-cp311-win32.whl; biopython-1.88-cp311-cp311-win_amd64.whl; biopython-1.88-cp312-cp312-macosx_11_0_arm64.whl; biopython-1.88-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; biopython-1.88-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; biopython-1.88-cp312-cp312-win32.whl; biopython-1.88-cp312-cp312-win_amd64.whl; biopython-1.88-cp313-cp313-macosx_11_0_arm64.whl; biopython-1.88-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; biopython-1.88-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; biopython-1.88-cp313-cp313-win32.whl; biopython-1.88-cp313-cp313-win_amd64.whl
Tags
More Scientific/Engineering packages
NumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
pandaspandas provides fast, flexible data structures…
permissive · top 100 on PyPI
scipyscipy provides numerical algorithms for…
permissive · top 100 on PyPI
scikit-learnscikit-learn provides a comprehensive Python…
permissive · top 1,000 on PyPI
dilldill extends Python's pickle module to…
permissive · top 1,000 on PyPI
multiprocessMultiprocess is an enhanced fork of Python's…
permissive · top 1,000 on PyPI
biotiteBiotite provides a unified Python library for…
permissive · top 5,000 on PyPI
ete3ETE3 reconstructs, manipulates, analyzes, and…
copyleft · top 15,000 on PyPI
bioA command-line toolkit that simplifies common…
permissive · top 5,000 on PyPI
scikit-bioscikit-bio provides data structures,…
permissive · top 15,000 on PyPI
python-libsbmlProvides Python bindings to read, write, and…
copyleft · top 15,000 on PyPI
mmcif-pdbxProvides a pure Python interface to read,…
permissive · top 15,000 on PyPI
pysylphPysylph provides Python bindings to sylph,…
permissive · top 15,000 on PyPI
pyhmmerPyHMMER provides Python bindings to HMMER3, a…
permissive · top 5,000 on PyPI
logomakerLogomaker creates customized sequence…
permissive · top 15,000 on PyPI
gseapyPerforms gene set enrichment analysis (GSEA) on…
permissive · top 15,000 on PyPI