Skip to main content

VPMDK

VPMDK (Vasp-Protocol Machine-learning Dynamics Kit, aka “VasP-MoDoKi”) provides a common ASE-oriented interface to machine-learning interatomic potentials. It also offers a VASP-style command-line workflow that reads POSCAR, INCAR, and BCAR and writes familiar outputs such as OUTCAR, OSZICAR, CONTCAR, and vasprun.xml.

Use the Python API for ase.Atoms workflows, or use the CLI when existing tools expect a VASP-like calculation directory. Supported backends and their optional dependencies are listed in the backend reference.

Highlights

  • One interface across ML potential packages with different model-loading and calculator conventions.
  • Both a Python API for ase.Atoms and a directory-based CLI for existing VASP-oriented workflows.
  • Single-point calculations, structural and cell relaxation, molecular dynamics, NEB, and optional charge-density prediction.
  • Familiar VASP-style inputs and outputs, including INCAR, POSCAR, OUTCAR, OSZICAR, CONTCAR, and vasprun.xml.
  • An optional resident server that avoids reloading the same model between short batch calculations.

Supported Backends

Force-field integrations include CHGNET, MATGL / M3GNET, MACE, PROPHET, MATTERSIM, MATLANTIS, EQNORM, MATRIS, ALPHANET, HIENET, NEQUIX, SEVENNET, FLASHTP, BAM, NEQUIP, ALLEGRO, ORB, UPET, TACE, EQUFLASH, EQUIFORMER_V3, FAIRCHEM (v1 and v2 paths, including ESEN), GRACE, and DEEPMD (including DPA-family checkpoints).

Optional charge-density integrations include ChargE3Net, DeepDFT, and DeepCDP. Actual availability depends on the packages and model files installed in your environment. See the backend reference for model requirements, aliases, defaults, and backend-specific caveats.

Installation

pip install vpmdk
pip install chgnet  # example backend

For development from a checkout:

pip install -e .

See the installation guide for backend environments and optional dependencies.

CLI Quick Start

Create a calculation directory containing at least POSCAR. For example:

calc/
├── POSCAR
├── INCAR
└── BCAR

INCAR:

IBRION = 2
NSW = 200
EDIFFG = -0.02
ISIF = 3

BCAR:

MLP=CHGNET
DEVICE=cpu

Run the calculation:

vpmdk --dir ./calc

If BCAR is omitted, the CLI defaults to CHGNet. See CLI Workflows for supported run modes and the INCAR and BCAR references for configuration details.

Python API

from ase.io import read
import vpmdk

atoms = read("POSCAR")
backend = vpmdk.BackendConfig(mlp="CHGNET", device="cpu")

result = vpmdk.single_point(atoms, backend)
relaxed = vpmdk.relax(atoms, backend, steps=200, fmax=0.02)
trajectory = vpmdk.md(atoms, backend, temperature=300, steps=100)

The Python API does not write VASP compatibility files by default. See the Python API guide and API reference.

Optional Server Mode

For batches that repeatedly use the same model, POSIX systems can keep one calculator resident in CPU or GPU memory:

vpmdk serve --dir ./model_config --daemon
vpmdk run --dir ./calc
vpmdk stop

One server processes calculations serially. Read the Server Mode guide before using it in an automated or shared-system workflow.

Documentation and Examples

License

VPMDK is distributed under the BSD 3-Clause License. See LICENSE.

Metadata

Release files for vpmdk 0.5.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 vpmdk 0.5.1
File Size Uploaded
vpmdk-0.5.1.tar.gz 254.0 kB Details

Built distribution (wheel)

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

Total release size: 533.0 kB

Release files / vpmdk-0.5.1.tar.gz

Download URL vpmdk-0.5.1.tar.gz
Size 254.0 kB
Tags Source
SHA-256 checksum
How to use checksums
07248c02d79400dd3142b6063244e35a5ab4fdb23719f181d0029a43d6555a47
BLAKE2b-256 checksum
How to use checksums
876de9777560b34fbc2c4990c45099b031ebac45bb9b461cb4a073623faed7e8
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 19, 2026.

Transparency log

Release files / vpmdk-0.5.1-py3-none-any.whl

Download URL vpmdk-0.5.1-py3-none-any.whl
Size 279.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2a9a86c170d343b1a86909a22d20dbf530306db424d0f85c5a6daed79afb32f8
BLAKE2b-256 checksum
How to use checksums
6d3da89248145d1be0eea294a60f163d9885a3fd42f95c14925ad942f50a206e
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 19, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.5.1 This release

2 release files

0.5.0

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.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