Skip to content

Developer Guide

This guide addresses contributors and library developers working on MolPy as a research software library. It is organized around what you came here to do:

Canonical field names and topology keys live in the Naming Conventions appendix of the Tutorials.

Contributing

Day-to-day development practices:

  • Development Setup — repository cloning, editable installation, building molrs from source, and test execution
  • Contributing Workflow — the pull request workflow, commit message conventions, and the pre-commit hook suite
  • Coding Style — identifier style, formatting requirements, and the mutation contract
  • Testing — pytest conventions, test markers, coverage requirements, and the distinction between local and external tests
  • Release Process — the shared molpy/molrs minor line and CI-driven package publication
  • Third-Party Attributions — licenses of ported code and bundled parameter data

Architecture

The design context that the extension recipes assume:

  • Architecture Overview — module responsibilities, the graph and tabular layers, the formatter hierarchy, the mutation contract, and the build-loop performance model
  • molrs Backend — how the Rust column store and compute kernels surface in Python: boxes, neighbor lists, RDF, and the analysis catalog

Extending MolPy

Ordered from plug-in interfaces (implement a subclass, register a handler) to core internals (discuss in a GitHub issue before implementation):

Issue Tracking and Discussion