rdkit
A collection of chemoinformatics and machine-learning software written in C++ and Python
Decision gist · record as of 2026-08-14
Yes. RDKit is actively maintained, widely used in chemoinformatics, has no known vulnerabilities, and offers precompiled wheels for modern Python on major platforms. Install friction is moderate but manageable; the BSD-3-Clause license is permissive. Install it if you work with molecular structures, chemical data, or computational chemistry.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires glibc >= 2.28 on Linux; macOS 10.15+ on Intel or macOS 11+ on ARM; no explicit Python version constraint declared but wheels exist for Python 3.10–3.14.
- Medium install friction due to compiled C++ dependencies requiring platform-specific wheels.
- Wheels are available for modern Python versions (3.10–3.14) across Linux (x86_64, aarch64), macOS (Intel and ARM), and Windows.
License · maintenance · safety
BSD-3-Clause (permissive) — BSD-3-Clause is permissive, allowing commercial and private use with minimal restrictions. You must include the license notice in distributions but face no copyleft obligations.
last release 2026-08-03 (11 days) · last repo commit 2026-08-03 · 138 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 11,469,327 downloads/mo, #1,391 on PyPI
Alternatives
Verify before relying
pip install rdkit
from rdkit import Chem
mol = Chem.MolFromSmiles('C1CCC1')
print(Chem.MolToMolBlock(mol))- Whether the package supports Python versions earlier than 3.10 (wheels shown are 3.10–3.14 only, but requires_python is unspecified)
- Whether numpy and Pillow are hard runtime dependencies or optional for specific features
What it is and what it does
RDKit is a mature chemoinformatics library that wraps C++ computational chemistry code in a Python interface. It handles molecular structure parsing (from SMILES and other formats), property calculation, substructure matching, and visualization. The package is distributed as precompiled wheels containing platform-specific dynamic libraries, making installation straightforward on supported systems without requiring a C++ compiler.
The library is commonly used in computational chemistry, drug discovery, and machine-learning pipelines where chemical structure data must be processed programmatically. It depends on numpy for numerical operations and Pillow for image rendering. Active maintenance and broad platform coverage (Linux, macOS, Windows; multiple architectures) make it a stable choice for production chemoinformatics workflows.
Use it for
- Parse and manipulate molecular structures from SMILES strings or other chemical formats in drug discovery pipelines.
- Calculate molecular descriptors and fingerprints for machine-learning models predicting chemical properties.
- Perform substructure searches and similarity comparisons across chemical compound databases.
- Visualize molecular structures as 2D images for reports or interactive applications.
- Validate chemical structure data and standardize molecular representations in data preprocessing workflows.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
RDKit is actively maintained, widely used in chemoinformatics, has no known vulnerabilities, and offers precompiled wheels for modern Python on major platforms. Install friction is moderate but manageable; the BSD-3-Clause license is permissive. Install it if you work with molecular structures, chemical data, or computational chemistry.
Install
rdkit on PyPI
Before you install
Medium install friction due to compiled C++ dependencies requiring platform-specific wheels. Wheels are available for modern Python versions (3.10–3.14) across Linux (x86_64, aarch64), macOS (Intel and ARM), and Windows. Active maintenance with recent releases; last update 11 days ago.
Requires glibc >= 2.28 on Linux; macOS 10.15+ on Intel or macOS 11+ on ARM; no explicit Python version constraint declared but wheels exist for Python 3.10–3.14.
License in practice
BSD-3-Clause is permissive, allowing commercial and private use with minimal restrictions. You must include the license notice in distributions but face no copyleft obligations.
Quickstart
pip install rdkit
from rdkit import Chem
mol = Chem.MolFromSmiles('C1CCC1')
print(Chem.MolToMolBlock(mol))
Verify before relying
- Whether the package supports Python versions earlier than 3.10 (wheels shown are 3.10–3.14 only, but requires_python is unspecified)
- Whether numpy and Pillow are hard runtime dependencies or optional for specific features
Package facts
| License | BSD-3-Clause permissive |
| Python support | Not specified |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | 2 packagesnumpyPillow |
| Maintenance | Actively maintained 11 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 11,469,327 / month, #1,391 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
Evidence: rdkit-2026.3.5-cp310-cp310-macosx_11_0_arm64.whl; rdkit-2026.3.5-cp310-cp310-manylinux_2_28_aarch64.whl; rdkit-2026.3.5-cp310-cp310-manylinux_2_28_x86_64.whl; rdkit-2026.3.5-cp310-cp310-win_amd64.whl; rdkit-2026.3.5-cp311-cp311-macosx_11_0_arm64.whl; rdkit-2026.3.5-cp311-cp311-manylinux_2_28_aarch64.whl; rdkit-2026.3.5-cp311-cp311-manylinux_2_28_x86_64.whl; rdkit-2026.3.5-cp311-cp311-win_amd64.whl; rdkit-2026.3.5-cp312-cp312-macosx_11_0_arm64.whl; rdkit-2026.3.5-cp312-cp312-manylinux_2_28_aarch64.whl; rdkit-2026.3.5-cp312-cp312-manylinux_2_28_x86_64.whl; rdkit-2026.3.5-cp312-cp312-win_amd64.whl; rdkit-2026.3.5-cp313-cp313-macosx_11_0_arm64.whl; rdkit-2026.3.5-cp313-cp313-manylinux_2_28_aarch64.whl; rdkit-2026.3.5-cp313-cp313-manylinux_2_28_x86_64.whl; rdkit-2026.3.5-cp313-cp313-win_amd64.whl; rdkit-2026.3.5-cp314-cp314-macosx_11_0_arm64.whl; rdkit-2026.3.5-cp314-cp314-manylinux_2_28_aarch64.whl; rdkit-2026.3.5-cp314-cp314-manylinux_2_28_x86_64.whl; rdkit-2026.3.5-cp314-cp314-win_amd64.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “molecular structure analysis”
- rdkitRDKit is a chemoinformatics toolkit providing C++ and Python…
- aseASE provides Python tools for setting up, running, and analyzing…
- aimsim-coreProvides core molecular featurization and similarity comparison…
Give your agent the search over MCP, or paste the wish link into any chat.
More Scientific/Engineering packages
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.
scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.
scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.
Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.
dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.
Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.
Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.
See also chembl-structure-pipeline · datamol · pdbeccdutils · rdkit-pypi · aimsim-core · openbabel-wheel · PubChemPy · mordredcommunity · epam-indigo · chemprop