rgpycrumbs¶
- Author:
Ecosystem Overview¶
The rgpycrumbs suite consists of several interlinked projects designed to
streamline computational chemistry workflows.
Overview¶
rgpycrumbs is a computational library and CLI toolkit for chemical physics
research. It provides both importable library modules for computational
tasks and a dispatcher-based CLI for running self-contained research scripts.
- Library Modules
Importable Python modules for surface fitting (JAX-based kernel methods), structure analysis (distance matrices, fragment detection), IRA matching (RMSD-based structure comparison), spline interpolation, and shared data types for NEB paths and saddle searches.
- CLI Dispatcher
A unified command-line interface that employs PEP 723 metadata to isolate dependencies per script via
uvfor conflict-free, reproducible execution.
Broadly speaking, the tooling here assists with computational methods to find reaction pathways, along with packaging helpers.
Advanced NEB Visualization¶
The plt-neb tool offers novel visualization capabilities for Nudged Elastic Band calculations:
- Force-Corrected Interpolation
Uses Hermite splines incorporating force projections to produce physically consistent energy profiles.
- 2D Energy Landscapes
Projects reaction paths onto Reactant/Product RMSD coordinates to reveal path complexity often hidden in 1D profiles.
- Structural Context
Automatically renders and embeds atomic structure insets for critical points or all images directly onto the plots.
Simulation Setup & Analysis¶
eOn¶
- NEB initial path generation
con-splitter simplifies the generation of initial paths enabling for instance
IDPPinitialization throughaseby processing multi-image trajectories into eOn-compatible input lists.- Defect Identification
ptmdisp employs Polyhedral Template Matching via
OVITOto algorithmically identify and index interstitial defects in crystalline systems.NWChemInput Generationgenerate-nwchem-input generates complete input files compatible with eOn’s
SocketNWChemPot, merging geometry data with calculation settings.
ORCA¶
- Input Generation
generate-orca-input generates ORCA input files from TOML configurations, supporting NEB and single-point runs.
PLUMED¶
- Free Energy Reconstruction
Pure-python implementations for reconstructing bias potentials from PLUMED hills files.
Infrastructure & Maintenance¶
- Prefix.dev Management
delete_packageshelps maintain custom Conda/Pixi channels by automating the cleanup of old or specific package versions on prefix.dev.
Library API¶
Beyond the CLI tools, rgpycrumbs provides importable library modules:
rgpycrumbs.surfacesJAX-based surface fitting with TPS, RBF, Matern 5/2, SE, and IMQ kernels. Includes gradient-enhanced variants for energy landscape interpolation. Install with
pip install rgpycrumbs[surfaces].rgpycrumbs.geom.analysisStructure analysis: distance matrices, bond matrices, and fragment detection via ASE’s
NeighborList. Install withpip install rgpycrumbs[analysis].rgpycrumbs.geom.iraIterative Rotations and Assignments (IRA) for RMSD-based structure comparison. Install with
pip install rgpycrumbs[ira].rgpycrumbs.interpolationSpline interpolation utilities built on SciPy. Install with
pip install rgpycrumbs[interpolation].rgpycrumbs.basetypesShared data structures (
nebiter,nebpath,SaddleMeasure,DimerOpt,MolGeom,SpinID) used acrossrgpycrumbsandchemparseplot. No extra dependencies required.
On-Demand Dependency Resolution¶
A bare pip install rgpycrumbs gives access to the full API surface. Heavy
optional dependencies (JAX, SciPy, ASE) are resolved lazily at first use
through a five-step priority chain:
Current Python environment
Parent environment (via
RGPYCRUMBS_PARENT_SITE_PACKAGES)Shared cache (
$XDG_CACHE_HOME/rgpycrumbs/deps/)Automatic
uvinstallation into the cache (opt-in:RGPYCRUMBS_AUTO_DEPS=1)Actionable error message with install instructions
CUDA-aware resolution selects CPU-only package variants (e.g. jax[cpu]) on
machines without a GPU, avoiding large downloads. See the
quickstart for configuration details.
Utility Functions¶
The package also includes pure-python helpers for parsing logs like those from bless and managing data structures in Jupyter notebooks.
Getting Started¶
Getting Started
Tool Categories¶
Developer Reference¶
For details on the dispatcher architecture or internal API: