Skip to content

[Pre-submission] rgpycrumbs: Dispatcher-managed analytical engine for computational chemistry #275

@HaoZeke

Description

@HaoZeke

Submitting Author: Rohit Goswami (@HaoZeke)
Package Name: rgpycrumbs
One-Line Description of Package: A dispatcher-based analytical suite for chemical physics and long-timescale molecular kinetics.
Repository Link (if existing): https://github.com/HaoZeke/rgpycrumbs
EiC: TBD


Code of Conduct & Commitment to Maintain Package

Description

rgpycrumbs provides a modular analytical framework for chemical physics and molecular kinetics. It implements advanced workflows for fragment detection using Wiberg Bond Orders ($W_{AB}$), novel 2D RMSD reactive path projections, and interoperability between various transition state search engines.

The library utilizes a dispatcher architecture that leverages PEP 723 metadata to execute submodules within isolated environments. This design permits the simultaneous use of tools with conflicting binary requirements, such as ovito for lattice defect analysis and tblite for electronic structure calculations, without host environment corruption.

Community Partnerships

We partner with communities to support peer review with an additional layer of
checks that satisfy community requirements. If your package fits into an
existing community please check below:

Scope

  • Please indicate which category or categories this package falls under:

    • Data retrieval
    • Data extraction
    • Data processing/munging
    • Data deposition
    • Data validation and testing
    • Data visualization
    • Workflow automation
    • Citation management and bibliometrics
    • Scientific software wrappers
    • Database interoperability

Domain Specific

  • Geospatial
  • Education

  • Explain how and why the package falls under these categories (briefly, 1-2 sentences). For community partnerships, check also their specific guidelines as documented in the links above. Please note any areas you are unsure of:

The software orchestrates the data handoff between electronic structure codes and transition state search engines. It transforms raw structural data into chemical fragments and projects high-dimensional reaction paths into interpretable 2D manifolds.

  • Who is the target audience and what are the scientific applications of this package?

Computational chemists and physicists investigating reaction rates, saddle point searches, and long-timescale molecular dynamics constitute the primary audience. This software provides the implementation foundation for my doctoral dissertation, Efficient Exploration of Chemical Kinetics (University of Iceland, 2025). It specifically supports Gaussian Process accelerated saddle point searches (ChemPhysChem, doi: 10.1002/cphc.202500730) and reactive path validation methods currently under journal review.

  • Are there other Python packages that accomplish similar things? If so, how does yours differ?

General libraries like ase or pymatgen lack the specific environmental isolation logic required for research tools with heterogeneous binary dependencies. rgpycrumbs introduces a unique 2D reactive path RMSD projection method and dual-mode fragment detection.

Architecturally, it differentiates itself by utilizing a formal dispatcher pattern. This implementation manages dependencies via uv and PEP 723 inline metadata to ensure reproducible execution of decoupled scientific scripts.

  • Any other questions or issues we should be aware of:

This package serves as a reference implementation for managing complex research software using PEP 723-based dispatchers. I submit this work to validate these architectural standards within the scientific Python ecosystem.

We also have an interesting org-to-rst documentation system which works well:

https://rgpycrumbs.rgoswami.me

More generally, and beyond the answers so far (where I tried to emphasize the scientific utilities already present), the point of this package is to provide the tooling we end up using (per-paper often) in a reproducible setup without being overburdened by dependency management (e.g. over the past two years, one of my deps stopped working with the others, but for the context it was used in the uv dispatcher ensures everything still works).

P.S. Have feedback/comments about our review process? Leave a comment here

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    pre-submission

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions