Skip to main content

datamol - molecular processing made easy

Docs | Homepage


DOI Binder PyPI Conda PyPI - Downloads Conda PyPI - Python Version license GitHub Repo stars GitHub Repo stars Codecov

Datamol is a python library to work with molecules. It's a layer built on top of RDKit and aims to be as light as possible.

  • 🐍 Simple pythonic API
  • ⚗️ RDKit first: all you manipulate are rdkit.Chem.Mol objects.
  • ✅ Manipulating molecules often relies on many options; Datamol provides good defaults by design.
  • 🧠 Performance matters: built-in efficient parallelization when possible with an optional progress bar.
  • 🕹️ Modern IO: out-of-the-box support for remote paths using fsspec to read and write multiple formats (sdf, xlsx, csv, etc).

Try Online

Visit Binder and try Datamol online.

Documentation

Visit https://docs.datamol.io.

Updates

Datamol 0.13.0 modernizes the supported scientific Python stack while keeping the library focused on reliable molecular processing. It adds RDKit binary and property-dictionary interchange, enforces conformer RMS cutoffs with symmetry-aware alignment, fixes reported RDKit compatibility issues, and separates optional I/O and visualization dependencies from the core installation.

See the complete changelog for all notable changes and the 0.13.0 upgrade guide for compatibility and transition details.

Installation

Add Datamol to a uv-managed project:

uv add datamol

Pip and conda-forge remain supported:

python -m pip install datamol
mamba install -c conda-forge datamol

Datamol 0.13.0 requires Python 3.11 or newer and RDKit 2024.09 or newer. Cloud I/O (S3, Google Cloud), Excel/Parquet, visualization and SELFIES support are all included by default — there are no feature extras to install.

Quick API Tour

import datamol as dm

# Common functions
mol = dm.to_mol("O=C(C)Oc1ccccc1C(=O)O", sanitize=True)
fp = dm.to_fp(mol)
selfies = dm.to_selfies(mol)
inchi = dm.to_inchi(mol)

# Standardize and sanitize
mol = dm.to_mol("O=C(C)Oc1ccccc1C(=O)O")
mol = dm.fix_mol(mol)
mol = dm.sanitize_mol(mol)
mol = dm.standardize_mol(mol)

# Dataframe manipulation
df = dm.data.freesolv()
mols = dm.from_df(df)

# 2D viz
legends = [dm.to_smiles(mol) for mol in mols[:10]]
dm.viz.to_image(mols[:10], legends=legends)

# Generate conformers
smiles = "O=C(C)Oc1ccccc1C(=O)O"
mol = dm.to_mol(smiles)
mol_with_conformers = dm.conformers.generate(mol)

# 3D viz (using nglview)
dm.viz.conformers(mol, n_confs=10)

# Compute SASA from conformers
sasa = dm.conformers.sasa(mol_with_conformers)

# Easy IO
mols = dm.read_sdf("s3://my-awesome-data-lake/smiles.sdf", as_df=False)
dm.to_sdf(mols, "gs://data-bucket/smiles.sdf")

How to cite

Please cite Datamol if you use it in your research: DOI.

Compatibilities

Version compatibilities are an essential topic for production-software stacks. We are cautious about documenting compatibility between datamol, python and rdkit.

See below the associated versions of Python and RDKit, for which a minor version of Datamol has been tested during its whole lifecycle. It does not mean other combinations does not work but that those are not tested.

datamol python rdkit
0.13.x [3.11, 3.12, 3.13, 3.14] [2024.09, 2025.03, 2025.09, 2026.03]
0.12.x [3.10, 3.11] [2023.03, 2023.09]
0.11.x [3.9, 3.10, 3.11] [2022.09, 2023.03]
0.10.x [3.9, 3.10, 3.11] [2022.03, 2022.09]
0.9.x [3.9, 3.10, 3.11] [2022.03, 2022.09]
0.8.x [3.8, 3.9, 3.10] [2021.09, 2022.03, 2022.09]
0.7.x [3.8, 3.9] [2021.09, 2022.03]
0.6.x [3.8, 3.9] [2021.09]
0.5.x [3.8, 3.9] [2021.03, 2021.09]
0.4.x [3.8, 3.9] [2020.09, 2021.03]
0.3.x [3.8, 3.9] [2020.09, 2021.03]

CI Status

The CI runs tests and performs code quality checks for the following combinations:

  • Linux x86-64, Windows x86-64, macOS Apple Silicon and macOS Intel.
  • Python 3.11 through 3.14 on Linux.
  • The supported RDKit release series from 2024.09 through 2026.03.
  • The latest supported stack on every operating-system and architecture lane.
main
Lib build & Testing test
Code Sanity (formatting and linting) code-check
Documentation Build doc

License

Under the Apache-2.0 license. See LICENSE.

Metadata

Release files for datamol 0.13.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for datamol 0.13.0
File Size Uploaded
datamol-0.13.0.tar.gz 3.9 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for datamol 0.13.0
File Interpreter ABI Platform
datamol-0.13.0-py3-none-any.whl Python 3 none any Details

Total release size: 4.4 MB

Release files / datamol-0.13.0.tar.gz

Download URL datamol-0.13.0.tar.gz
Size 3.9 MB
Tags Source
SHA-256 checksum
How to use checksums
8f226040eff6cd1ac6c8e48e1297b2c10a505ee4808ec926aa73ae9bde68df9b
BLAKE2b-256 checksum
How to use checksums
2ce168636e590674a437aa975d59f465bafe0f06c0e890f70daa8c2fb71409d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.8 {"installer":{"name":"uv","version":"0.12.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

Release files / datamol-0.13.0-py3-none-any.whl

Download URL datamol-0.13.0-py3-none-any.whl
Size 497.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
76ad6405aeabd698bd0d8e65d00bab03f751900e13eed38f836d1ab95583a958
BLAKE2b-256 checksum
How to use checksums
3f4e6efcc76899d21149287749395ced6edc52b27b4399bcb6ecbb417a652143
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.8 {"installer":{"name":"uv","version":"0.12.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.13.0 This release

2 release files

0.12.5

2 release files

0.12.3

2 release files

0.12.1

2 release files

0.12.0

2 release files

0.11.5

2 release files

0.11.4

2 release files

0.11.2

2 release files

0.11.1

2 release files

0.11.0

2 release files

0.10.0

2 release files

0.9.8

2 release files

0.9.7

2 release files

0.9.6

2 release files

0.9.4

2 release files

0.9.3

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.8

2 release files

0.8.7

1 release file

0.8.6

1 release file

0.8.5

1 release file

0.8.4

1 release file

0.8.3

1 release file

0.8.2

1 release file

0.8.1

1 release file

0.7.18

1 release file

0.7.17

1 release file

0.7.16

1 release file

0.7.15

1 release file

0.7.14

1 release file

0.7.13

1 release file

0.7.12

1 release file

0.7.11

1 release file

0.7.10

1 release file

0.7.9

1 release file

0.7.8

1 release file

0.7.7

1 release file

0.7.6

1 release file

0.7.5

1 release file

0.7.4

1 release file

0.7.3

1 release file

0.7.2

1 release file

0.7.1

1 release file

0.7.0

1 release file

0.6.9

1 release file

0.6.8

1 release file

0.6.7

1 release file

0.6.6

1 release file

0.6.5

1 release file

0.6.4

1 release file

0.6.3

1 release file

0.6.2

1 release file

0.6.1

1 release file

0.6.0

1 release file

0.5.0

1 release file

0.4.11

1 release file

0.4.10

1 release file

0.4.9

1 release file

0.4.8

1 release file

0.4.7

1 release file

0.4.6

1 release file

0.4.5

1 release file

0.4.4

1 release file

0.4.3

1 release file

0.4.2

1 release file

0.4.1

1 release file

0.4.0

1 release file

0.3.9

1 release file

0.3.8

1 release file

0.3.7

1 release file

0.3.6

1 release file

0.3.5

1 release file

0.3.4

1 release file

0.3.3

1 release file

0.3.2

1 release file

0.3.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page