Installation

Requirements

  • Python ≥ 3.8
  • RDKit ≥ 2025.3.5
  • numpy, joblib, tqdm (installed automatically)

RDKit version and database compatibility

Context canonicalization relies on RDKit's SMILES output. A fragment database built with one RDKit version is only guaranteed to be readable by the same (or a compatible) RDKit version. Up to now we did not observe incompatibilities. However, we recommend to pin RDKit if you share databases across machines.

RDKit version

The previous RDKit versions may also be used. However, this may result in a loss of stereoconfigurations in generated structures.

Optional extras:

  • guacamol — only needed to run the GuacaMol benchmark (guacamol_test).
  • zstandard — only needed to read .zst-compressed input when building databases.

Install from PyPI

pip install crem

Installing the package makes the crem module importable in Python and adds the command-line tools (cremdb_create, cremdb_convert, …) to your PATH.

Install from source

git clone https://github.com/DrrDom/crem
cd crem
pip install .

To build distribution artifacts (PEP 517):

pip install build
python -m build          # writes wheel + sdist to dist/

Uninstall

pip uninstall crem

Build the documentation locally

The documentation is built with MkDocs and the Material theme. The API reference is generated from docstrings by mkdocstrings, which imports crem — so the package (and RDKit) must be installed in the same environment.

pip install -r docs/requirements.txt
pip install .                     # so the API pages can import crem

mkdocs serve            # live preview at http://127.0.0.1:8000
mkdocs build            # static site in site/