grimace-py is a Rust-first RDKit add-on for exact rooted SMILES support enumeration and online next-token decoding.

Use it when you need Grimace’s supported random-writer language for a molecule, or when you need exact legal next tokens while constructing a SMILES string.

GRIMACE stands for “graph representation integrating multiple alternate chemical equivalents”, motivated by research on NMR spectroscopy with language transformers (link).

Install the distribution named grimace-py, then import grimace:

python -m pip install grimace-py
import grimace

Plain pip install grimace installs an unrelated older package.

Repository: github.com/numpde/grimace-py.

Where to start

Task Read
Install and run the first enumeration/decoder examples Intro
Understand support, roots, decoder tokens, and writer parity Concepts
Choose supported flags and root behavior Runtime
Check current gaps and supported release assets Limitations
Use prepared molecules, deviation diagnostics, or token inventories Guides
Compare measured enumeration/decoder timings Timings
Look up signatures and return objects API
Inspect checked-in RDKit evidence and counts Testing fixtures
Trace upstream RDKit serializer coverage RDKit serializer coverage
Work on the codebase in containers Containerized development
Change internals Rust-first architecture

License

grimace-py is source-available under the PolyForm Noncommercial 1.0.0. Commercial use is not permitted under the current license.