Upgrading to Datamol 0.13.0¶
Datamol 0.13.0 refreshes the supported scientific Python stack without adding new feature domains. The goal is to preserve Datamol's public behaviour while removing compatibility code for dependency versions that are no longer maintained and integrating existing community contributions.
Supported runtime¶
- Python 3.11 or newer is required.
- RDKit 2024.09 or newer is required.
- NumPy 1.26, pandas 2.2 and scikit-learn 1.4 are the minimum supported series.
Install Datamol with python -m pip install datamol. The single package bundles
everything needed at runtime — cloud/Excel/Parquet I/O, visualization and
SELFIES conversion — so there are no feature extras to select.
Dependency-driven output changes¶
Recent RDKit releases may choose a different, but chemically equivalent, canonical SMILES or CXSMILES representation. Conformer embedding and clustering can also retain a different number of conformers between RDKit releases. Code should compare chemical structure and conformer invariants rather than version-specific strings, energies or cluster counts.
pandas 3 removed the verbose argument from pandas.read_csv. For compatibility,
datamol.open_df(..., verbose=...) accepts and ignores that argument with a
deprecation warning when the installed pandas version no longer supports it. Other
unknown reader arguments continue to raise an error.
fold_count_fp now accepts both sparse and explicit RDKit bit vectors, as its
public type contract already indicated. Datamol remains the canonical home for
general fingerprint folding and conformer alignment; downstream packages such
as Molfeat reuse these primitives rather than maintaining divergent copies.
template_align(..., auto_select_coord_gen=True) now scopes RDKit's CoordGen
preference to the alignment call. It no longer changes the process-wide RDKit
depiction preference for subsequent calls.
Conformer RMS calculations and pruning now use RDKit's optimal, symmetry-aware
pairwise alignment. This fixes cases where the returned conformers violated the
requested RMS cutoff. Existing code that deliberately pre-aligns conformers can
keep the faster common-frame calculation with cluster(..., already_aligned=True).
The default descriptor keys n_aliphatic_heterocyles,
n_aromatic_heterocyles, and n_saturated_heterocyles are corrected to use
heterocycles. The misspelled function names remain as deprecated aliases for
the 1.x transition.
Molecules can now be exchanged using RDKit binary and property-dictionary
representations through to_binary, to_dict, and from_dict (PR #238).
Development and releases¶
Create the development environment with uv sync --all-extras; env.yml
remains a supported Conda alternative. The CI uses the same uv-based install
path and tests the supported Python and RDKit series on Linux x86-64, Windows
x86-64, macOS Apple Silicon and macOS Intel. Tutorial notebooks,
documentation, formatting and package distributions run separately. Publication
remains a manual action using PyPI Trusted Publishing, with full release
validation and isolated distribution tests. See the release guide,
including the separate conda-forge recipe updates.