graph-pes is a framework built to accelerate the development of machine-learned potential energy surface (PES) models that act on graph representations of atomic structures.
Links: Google Colab Quickstart - Documentation - PyPI
Statement of need
graph-pes is a toolkit for building, training, and deploying machine-learned potential energy surfaces (PES) models that act on graph representations of atomic structures.
As a researcher who wants to train and use existing MLIPs, you can use the graph-pes-train command to train many different architectures from scratch on your own data, or fine-tune several existing foundation models. Once trained, you can use our drivers to run optimisations, single point energy calculations, and molecular dynamics simulations with your model with a variety of existing tools (LAMMPS, ASE, and torch-sim).
As a researcher wanting to work on MLIP methodology, graph-pes makes implementing new architectures easy, allows you to experiment with various different training strategies, and provides a clean, well-documented API for building things yourself.
Features
- Experiment with new model architectures by inheriting from our
GraphPESModelbase class. - Train your own or existing model architectures (e.g., SchNet, NequIP, PaiNN, MACE, TensorNet, OrB etc.).
- Use and fine-tune foundation models via a unified interface: MACE-MP0, MACE-OFF, MatterSim, GO-MACE, Egret and Orb v2/3.
- Easily configure distributed training, learning rate scheduling, weights and biases logging, and other features using our
graph-pes-traincommand line interface. - Use our data-loading pipeline within your own training loop.
- Run molecular dynamics simulations with any
GraphPESModelusing torch-sim, LAMMPS or ASE
Quickstart
pip install -q graph-pes
wget https://tinyurl.com/graph-pes-minimal-config -O config.yaml
graph-pes-train config.yaml
Alternatively, for a 0-install quickstart experience, please see this Google Colab, which you can also find in our documentation.
Contributing
Contributions are welcome! If you find any issues or have suggestions for new features, please open an issue or submit a pull request on the GitHub repository.
We use uv to manage dependencies and run commands. Install it here, and sync the dependencies using uv sync --all-extras.
Once you have made your changes, you can:
- run tests locally:
uv run pytest tests/ - build the documentation:
uv run sphinx-build docs/source docs/build
Please see our CONTRIBUTING.md file for more details.
Citing graph-pes
We kindly ask that you cite graph-pes in your work if it has been useful to you.
A manuscript is currently in preparation - in the meantime, please cite the Zenodo DOI found in the CITATION.cff file.
Release files for graph-pes 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| graph_pes-1.0.0.tar.gz | 262.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| graph_pes-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 557.3 kB
Release files / graph_pes-1.0.0.tar.gz
| Download URL | graph_pes-1.0.0.tar.gz |
|---|---|
| Size | 262.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b9a1f87b7260c2a852d91134acf1ac1f94676ad030f7813bd3d0c7954b7a2b4b
|
|
BLAKE2b-256 checksum How to use checksums |
cf085741326d32c27802202f9eb17739ea79d429c95762386f38ea5551e324ba
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 20, 2026.
Transparency logRelease files / graph_pes-1.0.0-py3-none-any.whl
| Download URL | graph_pes-1.0.0-py3-none-any.whl |
|---|---|
| Size | 295.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a158bb3a60d2cbdf20bbf0a1710cc817b9fc16639d5bf11c8515e8bb48be5e24
|
|
BLAKE2b-256 checksum How to use checksums |
61b5965e5211316c8e0a8975bbf0ae9fe9caa76c6d87dc9e359160fc68521598
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 20, 2026.
Transparency log