dpdata
Manipulating data formats of DeePMD-kit, VASP, QE, PWmat, and LAMMPS, etc.
What it is and what it does
dpdata is a Python toolkit for reading, writing, and converting atomistic simulation data between the formats used by different computational chemistry and machine learning software. It acts as a bridge between tools like VASP (quantum chemistry), LAMMPS (molecular dynamics), DeePMD-kit (machine learning potentials), and others, letting you prepare training data or share results across different simulation packages without manual file translation.
The package provides both command-line tools for quick format conversion and Python APIs for programmatic data manipulation. It depends on numpy, scipy, h5py for numerical work, and uses monty, wcmatch, lmdb, and msgpack-numpy for file handling and data serialization. It is actively maintained, supports Python 3.10 and later, and has no known security vulnerabilities.
Use it for:
- Convert VASP output (OUTCAR) to DeePMD-kit format for training machine learning interatomic potentials
- Prepare molecular dynamics trajectories from LAMMPS or GROMACS for analysis or machine learning
- Parse quantum chemistry calculations from Gaussian or ABACUS and reformat for downstream tools
- Batch convert atomistic datasets between formats in a computational workflow or data pipeline
- Extract and standardize atomic coordinates and energies from mixed simulation software outputs
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
dpdata converts and manipulates atomistic simulation data between formats used by computational chemistry and machine learning packages like VASP, LAMMPS, DeePMD-kit, and others.
Yes. dpdata is actively maintained, has low install friction, no known vulnerabilities, and fills a clear niche in computational chemistry workflows. The copyleft license is standard for research software. Install if you work with multiple atomistic simulation packages and need to convert or prepare data between them.
Install
dpdata on PyPI
pip
pip install dpdatauv
uv add dpdatapoetry
poetry add dpdataInstalling dpdata
Before you install
Low friction: pure Python wheel, active maintenance (last commit 2026-08-14), and only seven runtime dependencies including standard scientific libraries (numpy, scipy, h5py). Requires Python 3.10 or later.
License in practice
LGPL-3.0-or-later (copyleft): you may use and modify dpdata freely, but any derivative work must remain under LGPL and source must be made available. Acceptable for most research and open-source projects; check your organization's policy if bundling into proprietary software.
Quickstart
pip install dpdata
import dpdata
# Convert VASP OUTCAR to DeePMD-kit format
system = dpdata.System('OUTCAR', fmt='vasp/outcar')
system.to('deepmd/npy', 'deepmd_data')
Requires Python 3.10 or later. Some runtime dependencies (h5py, lmdb, msgpack-numpy) may require compilation on systems without pre-built wheels; conda installation is recommended if pip fails.
Verify before relying
- Whether msgpack-numpy is a pure-Python dependency or requires compilation on your platform
- Performance characteristics when handling large atomistic datasets (gigabytes or larger)
- Whether all supported formats (VASP, LAMMPS, Gaussian, ABACUS, etc.) are equally mature or if some are experimental
Package facts
| License | LGPL-3.0-or-later (copyleft) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 7 — numpy, monty, scipy, h5py, wcmatch, lmdb, msgpack-numpy |
| Maintenance | actively maintained — 99 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 128,156/month — #11,718 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: dpdata-1.0.2-py3-none-any.whl
Keywords: lammps, vasp, deepmd-kit
Tags
More Scientific/Engineering packages
NumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
pandaspandas provides fast, flexible data structures…
permissive · top 100 on PyPI
scipyscipy provides numerical algorithms for…
permissive · top 100 on PyPI
scikit-learnscikit-learn provides a comprehensive Python…
permissive · top 1,000 on PyPI
dilldill extends Python's pickle module to…
permissive · top 1,000 on PyPI
multiprocessMultiprocess is an enhanced fork of Python's…
permissive · top 1,000 on PyPI
aseASE provides Python tools for setting up,…
copyleft · top 5,000 on PyPI
MDAnalysisMDAnalysis reads and analyzes molecular…
copyleft · top 15,000 on PyPI
atomate2Atomate2 provides a library of pre-built…
permissive · top 15,000 on PyPI
lammpslammps provides pre-built Python bindings to…
copyleft · top 15,000 on PyPI
pymatgen-corepymatgen-core provides core data structures and…
permissive · top 15,000 on PyPI
fairchem-coreProvides pretrained machine learning models for…
permissive · top 15,000 on PyPI
vasprun-xmlParses VASP calculation output from vasprun.xml…
permissive · top 15,000 on PyPI
pymatgen-io-validationValidates VASP electronic structure calculation…
permissive · top 15,000 on PyPI
ase-db-backendsProvides database backend implementations for…
unclear · top 15,000 on PyPI
pymatgenPymatgen provides Python classes and analysis…
permissive · top 5,000 on PyPI