rdkit-montai
Fork of RDKit 2026.09.1 with enhanced stereochemistry InChI support.
Install
Pre-built wheels for Linux (x86_64, aarch64) and macOS (ARM):
pip install rdkit-montai
What's different from upstream RDKit?
Upstream RDKit silently drops enhanced stereo group annotations (ABS, OR, AND) during InChI generation. This means a racemic mixture and a single enantiomer produce identical InChI Keys — they are indistinguishable.
This fork fixes that:
- Mol → InChI: Stereo groups (ABS/OR/AND) are passed to the InChI library via the
GetINCHIExextended API, producing a/slayer that encodes the stereo group type - InChI → Mol: The
/slayer is parsed back intoStereoGroupobjects, so round-trips preserve stereo annotations - Stable keys: Enhanced stereo InChIs produce standard
InChI=1S/output (not Beta1B), so keys will match the eventual official IUPAC release - InChI v1.07.5: Upgraded from v1.05 (2017) to the IUPAC-InChI dev branch with enhanced stereochemistry support
| Group Type | Meaning | InChI /s prefix |
|---|---|---|
| ABS | Absolute configuration | 1(...) |
| OR | This enantiomer or its mirror | 2(...) |
| AND | Racemic mixture | 3(...) |
Usage
from rdkit import Chem
from rdkit.Chem.inchi import MolToInchi, MolFromInchi
# Create a molecule with an AND stereo group (racemic)
mol = Chem.MolFromSmiles('[C@@H](F)(Cl)Br |&1:0|')
# Generate InChI — stereo group is preserved in /s layer
inchi = MolToInchi(mol)
print(inchi) # Contains /s3(...) for AND group
# Round-trip back — stereo group is restored
mol2 = MolFromInchi(inchi)
groups = mol2.GetStereoGroups()
print(len(groups)) # 1
Preserving atom order with AuxInfo
from rdkit.Chem.inchi import MolToInchiAndAuxInfo, MolFromInchiAndAuxInfo
mol = Chem.MolFromSmiles('c1cc(O)ccc1N')
inchi, aux = MolToInchiAndAuxInfo(mol)
mol2 = MolFromInchiAndAuxInfo(inchi, aux)
# Atom order and coordinates are preserved
Upstream status
| Change | Upstream PR | Status |
|---|---|---|
MolFromInchiAndAuxInfo |
rdkit/rdkit #9158 | Merged; in upstream 2026.09.1 |
| STEREOANY (wavy bond) InChI roundtrip | rdkit/rdkit #9315 | Merged; in upstream 2026.09.1 |
CXSMILES |w:| for STEREOANY double bonds |
rdkit/rdkit #9316 | Not merged (closed stale; reviewer asked to move the bond picker into WedgeBonds.cpp). Fork-only. |
| Enhanced stereo InChI | — | Not yet submitted (waiting for IUPAC official release) |
| InChI v1.07 upgrade | — | Depends on IUPAC official release |
ARM tolerance (±12°) in the DistGeomHelpers Github #9143 amide test |
— | Fork-only; upstream CI has no Linux ARM job. Candidate upstream patch |
Base: RDKit Release_2026_09_1
License
Code released under the BSD license.
Metadata
Release files for rdkit-montai 2.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| rdkit_montai-2.0.1-cp312-cp312-win_amd64.whl | CPython 3.12 | CPython 3.12 | Windows x86-64 | Details |
| rdkit_montai-2.0.1-cp312-cp312-manylinux_2_34_x86_64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.34+ x86-64 | Details |
| rdkit_montai-2.0.1-cp312-cp312-manylinux_2_34_aarch64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.34+ ARM64 | Details |
| rdkit_montai-2.0.1-cp312-cp312-macosx_14_0_arm64.whl | CPython 3.12 | CPython 3.12 | macOS 14.0+ ARM64 | Details |
Total release size: 151.0 MB
Release files / rdkit_montai-2.0.1-cp312-cp312-win_amd64.whl
| Download URL | rdkit_montai-2.0.1-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 53.6 MB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
a101d2edc920f51dfdd542c2c52c3be2db8ded8bec0730077ea998ca56bb7079
|
|
BLAKE2b-256 checksum How to use checksums |
0411b44e928571fbe013a0d81be0d2cfb516e900e98c95eb70236ceb984d3f52
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
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 Oct 14, 2026.
Transparency logRelease files / rdkit_montai-2.0.1-cp312-cp312-manylinux_2_34_x86_64.whl
| Download URL | rdkit_montai-2.0.1-cp312-cp312-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 30.3 MB |
| Tags | CPython 3.12 Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
f32335aa6bffc65a83949f60580274116caae4f841cfd19cac248bcf9a126baa
|
|
BLAKE2b-256 checksum How to use checksums |
9d34eb78ae61aa405073147c5d29d827256b10b96b28f17acb655d8244179131
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
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 Oct 14, 2026.
Transparency logRelease files / rdkit_montai-2.0.1-cp312-cp312-manylinux_2_34_aarch64.whl
| Download URL | rdkit_montai-2.0.1-cp312-cp312-manylinux_2_34_aarch64.whl |
|---|---|
| Size | 28.5 MB |
| Tags | CPython 3.12 Linux glibc 2.34+ ARM64 |
|
SHA-256 checksum How to use checksums |
a3b33613761f8b4e1b34b5985cb69e0f4243698d4e6932199b2061dcda23c418
|
|
BLAKE2b-256 checksum How to use checksums |
5215803639f8cd492c6bcd21d0c8443842d2bcee658939bf6bbf50459ad08104
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
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 Oct 14, 2026.
Transparency logRelease files / rdkit_montai-2.0.1-cp312-cp312-macosx_14_0_arm64.whl
| Download URL | rdkit_montai-2.0.1-cp312-cp312-macosx_14_0_arm64.whl |
|---|---|
| Size | 38.7 MB |
| Tags | CPython 3.12 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
d2674e02b2b27821e8891faa1156a47de985622d5a25dbea9a5ee2f3c3870064
|
|
BLAKE2b-256 checksum How to use checksums |
10967ecc50947c2ff54341fae2ff125a6bf04c70ab1a6d3723278f95c31613f5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
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 Oct 14, 2026.
Transparency logSecurity for rdkit-montai 2.0.1
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.
Full provenance
All 4 files in this release have been uploaded with provenance metadata.
Attestation for rdkit_montai-2.0.1-cp312-cp312-win_amd64.whl
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 Oct 14, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.