Skip to main content
Figure
from upet.ase import UPETCalculator
calculator = UPETCalculator(model="pet-mad-s", version="1.6.0", device="cuda")
from upet.nvalchemi import UPETWrapper
model = UPETWrapper.from_checkpoint(model="pet-mad-s", version="1.6.0", device="cuda")

UPET: Universal Models for Advanced Atomistic Simulations

UPET is a family of universal interatomic potentials for advanced materials modeling across the periodic table. These models are based on the Point Edge Transformer (PET) architecture trained on various popular atomistic datasets, and they are capable of predicting energies and forces in complex atomistic workflows. The package also ships PET-MAD-DOS, a universal model for predicting the electronic density of states (DOS) of materials and molecules, as well as their Fermi levels and bandgaps.

📖 Full documentation: https://lab-cosmo.github.io/upet/latest/

Installation

Install UPET from PyPI:

pip install upet

Or directly from the GitHub repository:

pip install upet@git+https://github.com/lab-cosmo/upet.git

See the installation guide for additional methods (specific versions, uv, etc.).

Quick start

Run a single-point evaluation with the ASE-compatible UPETCalculator:

from upet.ase import UPETCalculator
from ase.build import bulk

atoms = bulk("Si", cubic=True, a=5.43, crystalstructure="diamond")
calculator = UPETCalculator(model="pet-mad-s", version="1.6.0", device="cpu")
atoms.calc = calculator

energy = atoms.get_potential_energy()
forces = atoms.get_forces()

For DOS calculations, you can use the PETMADDOSCalculator:

from upet.ase.dos import PETMADDOSCalculator
from ase.build import bulk

atoms = bulk("Si", cubic=True, a=5.43, crystalstructure="diamond")
calculator = PETMADDOSCalculator(version="latest", device="cpu")
results = calculator.calculate(atoms)

where results is a dictionary whose keys include dos_raw, dos_denoised, fermi_level and bandgap. Each key corresponds to its output quantity, e.g. dos_denoised is the denoised DOS obtained by applying a denoising algorithm to the raw predicted DOS. The DOS has units of states/eV and is projected on an energy grid with intervals of 0.05 eV. The bandgap and Fermi level have units of eV.

The first call downloads the checkpoint from the HuggingFace repository and caches it locally, so subsequent calls are fast. If version is omitted, the latest available version is used.

To list available models, sizes, and versions:

from upet import list_upet

list_upet(model="pet-mad", size="s")
list_upet(model="pet-mad")
list_upet()

Pre-trained models

UPET ships several pre-trained model families (PET-MAD, PET-OAM, PET-OMat, PET-OMATPES, PET-SPICE) at multiple sizes. PET-MAD-1.6 (XS, S, M) is the recommended choice for molecular dynamics, while PET-OAM is the one for materials discovery. The full table with supported elements, training sets, and recommended use cases is in the models documentation. All checkpoints are available on the HuggingFace repository.

Going further

The documentation covers the complete feature surface:

More worked examples for ASE, i-PI, and LAMMPS are also available in the Atomistic Cookbook.

Citing UPET Models

If you found our models useful, please cite the corresponding articles. The full list with copy-pasteable BibTeX is also available in the documentation.

PET-MAD-1.6 or PET-MAD-1.5:

@misc{PET-MAD-1.6-2026,
      title={High-quality, high-information datasets for universal atomistic machine learning},
      author={Cesare Malosso and Filippo Bigi and Paolo Pegolo and Joseph W. Abbott and Philip Loche and Mariana Rossi and Tiago J. Goncalves and Sandip De and Michele Ceriotti and Arslan Mazitov},
      year={2026},
      eprint={2603.02089},
      archivePrefix={arXiv},
      primaryClass={cond-mat.mtrl-sci},
      url={https://arxiv.org/abs/2603.02089},
}

Current UPET architecture, PET-OAM, PET-OMat, PET-OMAD, PET-OMATPES, PET-SPICE:

@misc{pushing-unconstrained-2026,
      title={Pushing the limits of unconstrained machine-learned interatomic potentials},
      author={Filippo Bigi and Paolo Pegolo and Arslan Mazitov and Michele Ceriotti},
      year={2026},
      eprint={2601.16195},
      archivePrefix={arXiv},
      primaryClass={physics.chem-ph},
      url={https://arxiv.org/abs/2601.16195},
}

PET-MAD:

@misc{PET-MAD-2025,
      title={PET-MAD as a lightweight universal interatomic potential for advanced materials modeling},
      author={Mazitov, Arslan and Bigi, Filippo and Kellner, Matthias and Pegolo, Paolo and Tisi, Davide and Fraux, Guillaume and Pozdnyakov, Sergey and Loche, Philip and Ceriotti, Michele},
      journal={Nature Communications},
      volume={16},
      number={1},
      pages={10653},
      year={2025},
      url={https://doi.org/10.1038/s41467-025-65662-7},
}

PET-MAD-DOS:

@misc{PET-MAD-DOS-2025,
      title={A universal machine learning model for the electronic density of states},
      author={Wei Bin How and Pol Febrer and Sanggyu Chong and Arslan Mazitov and Filippo Bigi and Matthias Kellner and Sergey Pozdnyakov and Michele Ceriotti},
      year={2025},
      eprint={2508.17418},
      archivePrefix={arXiv},
      primaryClass={physics.chem-ph},
      url={https://arxiv.org/abs/2508.17418},
}

For a general citation for the PET architecture, you can use

@misc{PET-ECSE-2023,
  title = {Smooth, Exact Rotational Symmetrization for Deep Learning on Point Clouds},
  journal = {Advances in {{Neural Information Processing Systems}}},
  author = {Pozdnyakov, Sergey and Ceriotti, Michele},
  year = 2023,
  volume = {36},
  pages = {79469--79501},
}

Maintainers

This project is maintained by @abmazitov, who will reply to issues and pull requests opened on this repository as soon as possible. You can mention him directly if you have not received an answer after a couple of days.

Release files for upet 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for upet 0.3.1
File Size Uploaded
upet-0.3.1.tar.gz 46.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for upet 0.3.1
File Interpreter ABI Platform
upet-0.3.1-py3-none-any.whl Python 3 none any Details

Total release size: 94.0 kB

Release files / upet-0.3.1.tar.gz

Download URL upet-0.3.1.tar.gz
Size 46.6 kB
Tags Source
SHA-256 checksum
How to use checksums
ae91a938d9100be03eacdced83755b624b4046b9b069201817c9b6b946e088b2
BLAKE2b-256 checksum
How to use checksums
29e786b3f60154dfdc12508933ed93e876d88e65c8b9a1c2f459c2a451882d64
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 25, 2026.

Transparency log

Release files / upet-0.3.1-py3-none-any.whl

Download URL upet-0.3.1-py3-none-any.whl
Size 47.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
000780057f2a3417495cd0c86d67e9ccc9274f87ae8864b53c8ccd0101cb5c39
BLAKE2b-256 checksum
How to use checksums
0955c06516a93eea3e3fb24f59cde7335a8c099a8fb2831c53783bce432077e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 25, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.1 This release

2 release files

0.3.0

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page