grimace-py
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.