-
Notifications
You must be signed in to change notification settings - Fork 36
Description
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
- I agree to abide by pyOpenSci's Code of Conduct during the review process and in maintaining my package after should it be accepted.
- I have read and will commit to package maintenance after the review as per the pyOpenSci Policies Guidelines.
Description
rgpycrumbs provides a modular analytical framework for chemical physics and molecular kinetics. It implements advanced workflows for fragment detection using Wiberg Bond Orders (
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:
- Astropy: My package adheres to Astropy community standards
- Pangeo: My package adheres to the Pangeo standards listed in the pyOpenSci peer review guidebook
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
Labels
Type
Projects
Status
Status