datamol
A python library to work with molecules. Built on top of RDKit.
What it is and what it does
Datamol is a Python library that wraps RDKit to simplify molecular cheminformatics workflows. It exposes RDKit's core Mol objects through a more intuitive API, handling common tasks like SMILES parsing, molecular fingerprinting, conformer generation, and format conversion with sensible defaults. The library emphasizes ease of use while maintaining direct access to underlying RDKit objects, so you can drop down to RDKit when needed.
It includes built-in parallelization via joblib, remote file support through fsspec for reading and writing SDF, CSV, and other formats from cloud storage, and visualization tools. The package targets chemists and computational biologists working with small-molecule datasets, offering both batch operations on DataFrames and single-molecule transformations.
Use it for:
- Convert SMILES strings to molecular objects and compute fingerprints for machine learning pipelines.
- Standardize and sanitize molecular structures in bulk from CSV or SDF files stored locally or on cloud storage.
- Generate 3D conformers and compute solvent-accessible surface area for molecular dynamics or docking studies.
- Batch-process large molecular datasets with automatic parallelization and progress tracking.
- Visualize molecular structures and conformers in Jupyter notebooks with built-in 2D and 3D rendering.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Datamol provides a pythonic layer on top of RDKit for molecular manipulation, offering simplified APIs for converting between molecular formats, standardizing molecules, and performing common cheminformatics operations.
Yes. Datamol is actively maintained, has no known vulnerabilities, and offers genuine convenience for RDKit-based workflows. Install it if you work with molecular structures and want a more ergonomic API than raw RDKit; the Apache-2.0 license poses no barrier. The main gotcha is rdkit's dependency chain—use conda-forge for a smooth install.
Install
datamol on PyPI
pip
pip install datamoluv
uv add datamolpoetry
poetry add datamolInstalling datamol
Before you install
Low install friction with a pure-wheel distribution. Actively maintained with recent commits and passing CI across Windows, OSX, and Linux. Requires rdkit as a dependency, which is typically installed via conda-forge; pip installation may require pre-built wheels.
License in practice
Apache-2.0 permissive license allows commercial and private use with minimal restrictions; you must include a copy of the license and state significant changes.
Quickstart
import datamol as dm
mol = dm.to_mol("O=C(C)Oc1ccccc1C(=O)O", sanitize=True)
fp = dm.to_fp(mol)
smiles = dm.to_smiles(mol)
Requires rdkit, which is best installed via conda-forge; pip installation may require pre-built wheels or a working C++ compiler.
Verify before relying
- Whether rdkit can be reliably installed via pip in all environments, or if conda-forge is strongly recommended.
- Performance characteristics and scalability limits for large molecular datasets or batch operations.
Package facts
| License | Apache (permissive) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 16 — tqdm, loguru, joblib, fsspec, pandas, numpy, scipy, matplotlib, pillow, selfies, platformdirs, scikit-learn, packaging, typing-extensions, importlib-resources, rdkit |
| Maintenance | actively maintained — 795 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 103,981/month — #12,776 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: datamol-0.12.5-py3-none-any.whl
Tags
More Artificial Intelligence packages
LiteLLM provides a unified Python interface to…
permissive · top 100 on PyPI
huggingface-hubClient library and CLI tool for downloading,…
permissive · top 100 on PyPI
langchainLangChain provides a framework for building…
permissive · top 1,000 on PyPI
hf-xethf-xet provides chunk-based deduplication and…
permissive · top 1,000 on PyPI
tokenizersTokenizers converts raw text into token…
permissive · top 1,000 on PyPI
transformersTransformers provides a unified framework for…
permissive · top 1,000 on PyPI
rdkitRDKit is a chemoinformatics toolkit providing…
permissive · top 5,000 on PyPI
padelpyPaDELPy wraps the PaDEL-Descriptor Java engine…
permissive · top 15,000 on PyPI
mordredcommunityCalculates molecular descriptors from chemical…
permissive · top 15,000 on PyPI
chembl-structure-pipelineStandardizes and salt-strips molecular…
permissive · top 15,000 on PyPI
pdbeccdutilsParse and process small molecule definitions…
permissive · top 15,000 on PyPI
PubChemPyPubChemPy is a Python wrapper around the…
permissive · top 5,000 on PyPI
epam-indigoIndigo is a universal cheminformatics library…
permissive · top 15,000 on PyPI
aimsim-coreProvides core molecular featurization and…
permissive · top 15,000 on PyPI
py3DmolEmbeds an interactive 3D molecular viewer in…
permissive · top 15,000 on PyPI
selfiesConverts between SELFIES (Self-Referencing…
permissive · top 15,000 on PyPI