Potential Energy Surfaces on Graphs
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file graph_pes-1.0.0.tar.gz.
File metadata
- Download URL: graph_pes-1.0.0.tar.gz
- Upload date:
- Size: 262.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b9a1f87b7260c2a852d91134acf1ac1f94676ad030f7813bd3d0c7954b7a2b4b
|
|
| MD5 |
eeeb364d9381465c9492633d3c908426
|
|
| BLAKE2b-256 |
cf085741326d32c27802202f9eb17739ea79d429c95762386f38ea5551e324ba
|
Provenance
The following attestation bundles were made for graph_pes-1.0.0.tar.gz:
Publisher:
publish.yaml on vldgroup/graph-pes
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
graph_pes-1.0.0.tar.gz -
Subject digest:
b9a1f87b7260c2a852d91134acf1ac1f94676ad030f7813bd3d0c7954b7a2b4b - Sigstore transparency entry: 973522844
- Sigstore integration time:
-
Permalink:
vldgroup/graph-pes@14a870c1b46772323ffd88928a3567751a1825c5 -
Branch / Tag:
refs/tags/1.0.0 - Owner: https://github.com/vldgroup
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@14a870c1b46772323ffd88928a3567751a1825c5 -
Trigger Event:
push
-
Statement type:
File details
Details for the file graph_pes-1.0.0-py3-none-any.whl.
File metadata
- Download URL: graph_pes-1.0.0-py3-none-any.whl
- Upload date:
- Size: 295.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a158bb3a60d2cbdf20bbf0a1710cc817b9fc16639d5bf11c8515e8bb48be5e24
|
|
| MD5 |
7ece52b50345385f0d8f183ffca9cbb8
|
|
| BLAKE2b-256 |
61b5965e5211316c8e0a8975bbf0ae9fe9caa76c6d87dc9e359160fc68521598
|
Provenance
The following attestation bundles were made for graph_pes-1.0.0-py3-none-any.whl:
Publisher:
publish.yaml on vldgroup/graph-pes
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
graph_pes-1.0.0-py3-none-any.whl -
Subject digest:
a158bb3a60d2cbdf20bbf0a1710cc817b9fc16639d5bf11c8515e8bb48be5e24 - Sigstore transparency entry: 973522883
- Sigstore integration time:
-
Permalink:
vldgroup/graph-pes@14a870c1b46772323ffd88928a3567751a1825c5 -
Branch / Tag:
refs/tags/1.0.0 - Owner: https://github.com/vldgroup
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@14a870c1b46772323ffd88928a3567751a1825c5 -
Trigger Event:
push
-
Statement type: