skillfed

rdkit

A collection of chemoinformatics and machine-learning software written in C++ and Python

rdkit v2026.3.5 11.5M downloads/30d#1,391 on PyPI138
Permissive license BSD-3-Clause Active released

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

RDKit is a chemoinformatics toolkit providing C++ and Python libraries for molecular structure manipulation, analysis, and machine-learning workflows on chemical data.

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

pip

pip install rdkit

uv

uv add rdkit

poetry

poetry add rdkit

Installing rdkit

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.

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))

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.

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 — numpy, Pillow
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

molecular structure analysischemoinformatics toolkitSMILES parsing and manipulationchemical compound processingmolecular descriptor calculationcheminformatics python librarymolecule visualizationchemical data processing
chemistrymolecular-modelingdrug-discovery

More Scientific/Engineering packages