Skip to main content

SEAMM xnn Plug-in

GitHub pull requests Build Status Code Coverage Code Quality Documentation Status PyPi VERSION

A SEAMM plug-in providing machine-learned force fields (MLFFs) trained with xnn as model chemistries, run as MDI engines.

Features

  • Advertises every xnn checkpoint found in the directories listed in xnn.ini to the Model Chemistry step as xnn:MLFF@<model>.

  • Launches xnn mdi – the checkpoint served as a resident MDI engine – for any step that drives a model chemistry over MDI: Energy (single points for many structures), LAMMPS (MD with the MLFF as the QM engine), Dimer Builder, Normal Mode Sampling.

  • Molecular and periodic systems (energy, forces and stress); runs on the CPU or a GPU (device in xnn.ini).

  • There is no xnn step to place in a flowchart: the models are used through Model Chemistry + Energy (or LAMMPS).

Note: xnn is published on PyPI under the name xnns; the import name and the xnn command are unchanged.

Acknowledgements

This package was created with the molssi-seamm/cookiecutter-seamm-plugin tool, which is based on the excellent Cookiecutter.

Developed by the Molecular Sciences Software Institute (MolSSI), which receives funding from the National Science Foundation under award CHE-2136142.

History

2026.9.28 – Require xnns 0.4.0, which loads the existing checkpoints
  • The environment now requires xnns>=0.4.0 instead of xnns<0.2. xnns 0.4.0 loads the checkpoints that 0.2.1 and 0.3.0 could not, and its engine supports --eeq-reuse. Updating the plug-in moves an existing environment to it, including one rolled back to 0.1.0 by hand; a torch built for the machine’s CUDA driver is kept, since xnns needs only torch 2.0 or later.

2026.9.27.1 – Local models can belong to the installation
  • local: model directories in xnn.ini meant ~/SEAMM/data/Forcefields. They now mean the data/Forcefields directory of the SEAMM installation in use, then ~/SEAMM/data/Forcefields; a model in the installation’s own directory takes precedence. A second installation such as ~/SEAMM_DEV therefore sees the default installation’s models and can add its own.

  • The SEAMM root now comes from seamm_util.current_root(), so an installation’s xnn.ini is found without --root. Requires seamm-util 2026.9.27.1.

2026.9.27 – Bugfix: pin xnns below 0.2 so existing checkpoints load
  • The environment now requires xnns<0.2. The 0.2.1 and 0.3.0 releases on PyPI added scale_shift buffers to the MACE model with no defaults for older state dicts, so every existing checkpoint failed to load in the MDI engine (“Missing key(s) in state_dict: model.model.scale_shift.scale/shift”) and a LAMMPS run then hung waiting for it. A fresh installation was getting 0.3.0.

  • Updating does not downgrade an environment that already has a newer xnns; run pip install xnns==0.1.0 in it by hand. The pin will move forward once an xnns release loads the older checkpoints.

2026.9.26 – Internal: depend on seamm-manager rather than seamm-installer
  • The plug-in’s installer now builds on seamm-manager, which replaces seamm-installer for managing SEAMM installations. Nothing changes for users; this only lets the two packages stop being installed side by side.

2026.9.19.1 (2026-09-19)

  • Bugfix: the seamm-xnn environment file no longer installs PyTorch with conda. On Linux conda-forge resolves pytorch to a CPU-only build, so updating an environment that held a pip CUDA build of PyTorch silently lost the GPU and broke every compiled extension built against it, such as vesin-torch. PyTorch now comes from pip, which leaves a suitable existing installation alone.

  • Bugfix: pymdi now comes from conda-forge rather than pip. Only that build links the MDI library against MPI, which the -method MPI launch used for LAMMPS dynamics needs; with the PyPI build the engine stopped at “Error in MDI_Init: Failed to initialize MPI”.

  • Bugfix: xnn-step-installer reported the xnn version as “unknown” because it looked for a distribution named xnn, though the code is published as xnns.

  • Documented the two default model directories and their personal:/local: prefixes, the MPI launch path, and the effect of pointing xnn.ini at an environment shared with another code.

2026.9.19 (2026-09-19)

  • Model directories in xnn.ini may be given as personal:<subdir> (~/.seamm.d/data/Forcefields/<subdir>) or local:<subdir> (~/SEAMM/data/Forcefields/<subdir>), the same convention as the Forcefield step; the default is personal:xnn then local:xnn, a personal model shadowing a machine one of the same name. Each model’s source (e.g. personal:xnn/water.pt) is reported to the Model Chemistry step.

  • Installs xnn from PyPI as xnns; documents the Apple mps constraints.

2026.9.18 (2026-09-18)

  • Initial release. Provides xnn machine-learned force fields as xnn:MLFF@<model> model chemistries (checkpoints discovered from the directories in xnn.ini) and launches xnn mdi as the MDI engine for the Energy, LAMMPS and other MDI-driving steps. Includes xnn-step-installer for the seamm-xnn conda environment.

  • Plug-in created using the SEAMM plug-in cookiecutter.

Metadata

Release files for xnn-step 2026.9.28

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

Source distribution (sdist)

Source distribution for xnn-step 2026.9.28
File Size Uploaded
xnn_step-2026.9.28.tar.gz 323.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for xnn-step 2026.9.28
File Interpreter ABI Platform
xnn_step-2026.9.28-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 348.8 kB

Release files / xnn_step-2026.9.28.tar.gz

Download URL xnn_step-2026.9.28.tar.gz
Size 323.7 kB
Tags Source
SHA-256 checksum
How to use checksums
8e7272cf20f938b9ed25a3138b9453882be14387a3f4a69f23f052c5edf18e51
BLAKE2b-256 checksum
How to use checksums
f0bbb7bd61c0d2a24fdc426cd927e585a4271c621ba2b8e9bc6c1309581369ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / xnn_step-2026.9.28-py2.py3-none-any.whl

Download URL xnn_step-2026.9.28-py2.py3-none-any.whl
Size 25.0 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
5548b414d4fe6030fb35b5d99220a6540d374501b4ac1e585827d1763c7d1629
BLAKE2b-256 checksum
How to use checksums
393249483c4524a91de79d3ecd8b5ceb411ceb89295f2e85ddca0c338d239a1f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

2026.9.28 This release

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