Releases: deepmodeling/dpdata
Releases · deepmodeling/dpdata
v1.0.0
What's Changed
Today, we release dpdata v1.0.0. With our paper now published, this milestone signals that dpdata’s APIs and features are stable and mature, suitable for long-term production use.
Cite dpdata in your work:
- Jinzhe Zeng, Xingliang Peng, Yong-Bin Zhuang, Haidi Wang, Fengbo Yuan, Duo Zhang, Renxi Liu, Yingze Wang, Ping Tuo, Yuzhi Zhang, Yixiao Chen, Yifan Li, Cao Thang Nguyen, Jiameng Huang, Anyang Peng, Marián Rynik, Wei-Hong Xu, Zezhong Zhang, Xu-Yuan Zhou, Tao Chen, Jiahao Fan, Wanrun Jiang, Bowen Li, Denan Li, Haoxi Li, Wenshuo Liang, Ruihao Liao, Liping Liu, Chenxing Luo, Logan Ward, Kaiwei Wan, Junjie Wang, Pan Xiang, Chengqian Zhang, Jinchao Zhang, Rui Zhou, Jia-Xin Zhu, Linfeng Zhang, Han Wang, dpdata: A Scalable Python Toolkit for Atomistic Machine Learning Data Sets, J. Chem. Inf. Model., 2025, DOI: 10.1021/acs.jcim.5c01767.
New features
- feat: scf convergence check in vasp .xml format. by @wanghan-iapcm in #862
- feat: support virial in qe/traj by @wanghan-iapcm in #859
- feat: add support for multiple LAMMPS atom styles with automatic detection by @Copilot in #867
- feat(lammps): implement to_system method for LAMMPSDumpFormat by @Copilot in #882
- feat(quip/gap/xyz): implement to_labeled_system and to_multi_systems methods with file handler support by @Copilot in #888
- feat(xyz): add extended XYZ format alias by @Copilot in #881
- Latest support for abacus scf output by @kluophysics in #875
- Add gaussian/fchk format support by @Romarin87 in #896
Documentation
Bugfixes
- fix: raise runtime error when the vasp long ions per type bug is triggered by @wanghan-iapcm in #861
- fix(qe): use ndmin=2 in np.loadtxt to handle single-line .evp files by @Copilot in #900
CI/CD
- CI(benchmark): run benchmark for wall time by @njzjz in #858
- chore(deps): bump actions/checkout from 4 to 5 by @dependabot[bot] in #865
- docs: add comprehensive GitHub Copilot instructions with uv and semantic commit guidelines by @Copilot in #873
- chore(deps): bump actions/setup-python from 5 to 6 by @dependabot[bot] in #892
- docs: move .github/copilot-instructions.md to AGENTS.md by @Copilot in #898
- chore(deps): bump CodSpeedHQ/action from 3 to 4 by @dependabot[bot] in #893
- chore(deps): bump astral-sh/setup-uv from 6 to 7 by @dependabot[bot] in #906
New Contributors
- @Copilot made their first contribution in #867
- @kluophysics made their first contribution in #875
- @Romarin87 made their first contribution in #896
Full Changelog: v0.2.25...v1.0.0
v0.2.25
What's Changed
Enhancements
Bugfixes
- fix typo by @pxlxingliang in #813
- ABACUS: rotate to fit right hand rule when reading STRU by @pxlxingliang in #841
- fix: issue 822 and 836 by @wanghan-iapcm in #844
- lammps: rotate cell to lower_triangle before writing to lammps by @pxlxingliang in #842
- Fix incorrect spin-element mapping in make_unlabeled_stru() for ABACUS STRU generation by @aboys-cb in #852
- abaucs/stru: add UT for the case of chaotic atomic species by @pxlxingliang in #854
- Handle custom data types in mixed systems by @caic99 in #855
- fix: skip datatype registration warning for duplicate types by @caic99 in #856
CI/CD
- chore(deps): bump astral-sh/setup-uv from 5 to 6 by @dependabot[bot] in #819
- CI: pin numpy to <2.3 & rdkit to <2025.3.3 by @njzjz in #837
- docs: fix compatibility with jupyterlite-xeus v4 by @njzjz in #838
New Contributors
Full Changelog: v0.2.24...v0.2.25
v0.2.24
What's Changed
Bugfixes
- abacus/stru: return spins only when atomic magnetic moment is specified by @pxlxingliang in #800
- update coords after shift_orig_zero by @zrzrv5 in #803
New Contributors
Full Changelog: v0.2.23...v0.2.24
v0.2.23
What's Changed
- Refactor the reading and writing of abacus/stru format by @pxlxingliang in #793
Full Changelog: v0.2.22...v0.2.23
v0.2.22
What's Changed
Breaking changes
- breaking: drop python 3.7 by @wanghan-iapcm in #783
- breaking: change internal prec of quip/gap/xyz to float64 by @wanghan-iapcm in #777
New features
- Feat: set force label optional by @anyangml in #772
- add spin for lammps by @pxlxingliang in #738
- abacus: add checks on pp and orb in construction of STRU by @pxlxingliang in #737
- Add support for converting move flags between Abacus and VASP by @Angel-Jia in #744
- support spin for deepmd format by @pxlxingliang in #750
- add spin for abacus/stru by @pxlxingliang in #751
Enhancements
- Adjust pp_file as an unnessary parameter in save to abacus/stru by @pxlxingliang in #752
Bugfixes
- fix: change
project.entry-points.console_scriptstoproject.scriptsinpyproject.tomlby @njzjz in #743 - abacus: fix bug in reading nspin2 results by @pxlxingliang in #758
- Fix: ignore UP031 by @wanghan-iapcm in #762
- Fix: pyright error: Type "floating[Any]" is not assignable to return type "ndarray[Unknown, Unknown]" by @wanghan-iapcm in #765
- fix: pin scipy constants to version 2018 by @wanghan-iapcm in #775
- fix: add optional force check by @anyangml in #780
- fix: 781 pymatgen structure bug by @wanghan-iapcm in #782
Documentation
- fix(rtd): pin python to
<3.13and mamba to<2by @njzjz in #735 - docs: replace sphinx-rtd-theme with sphinx-book-theme by @njzjz-bot in #745
- fix: doc dpgen->dpdata by @wanghan-iapcm in #776
- docs: bump minimal dpdata version to 3.8 in README by @njzjz in #785
CI/CD
- ci: test against numpy v2 by @njzjz in #695
- chore(ci): use astral-sh/setup-uv action by @njzjz-bot in #734
- chore(deps): bump codecov/codecov-action from 4 to 5 by @dependabot in #755
- chore(deps): bump astral-sh/setup-uv from 3 to 4 by @dependabot in #760
- chore(deps): bump astral-sh/setup-uv from 4 to 5 by @dependabot in #767
New Contributors
Full Changelog: v0.2.21...v0.2.22
v0.2.21
What's Changed
New features
- Feat: Support specifying proportion of atoms to be perturbed in System by @Chengqian-Zhang in #716
- feat: support data type dumped to a different name by @njzjz in #727
- feat: support spin for ABACUS by @pxlxingliang in #718
Documentation
Bugfixes
- Update ase.py: To avoid errors in writing to the .extxyz format from an Atom object coverted from .npy with dpdata. by @ZhouXY-PKU in #717
- fix: qe input blocks not seperated by empty lines by @wanghan-iapcm in #724
- Fix: qe/pw/scf unit conversion is not consistent with dpdata by @wanghan-iapcm in #725
New Contributors
- @Chengqian-Zhang made their first contribution in #716
Full Changelog: v0.2.20...v0.2.21
v0.2.20
What's Changed
New features
- feat: customized dtypes for unlabeled deepmd by @njzjz in #702 and #710
- feat: file object passed to open by @njzjz in #709
Bugfixes
- fix: use deepcopy when dumping mixed types by @iProzd in #671
- abacus: fix bug in collecting force by @pxlxingliang in #669
- fix: remove ref-names from .git_archival.txt by @njzjz-bot in #679
- fix: reuse regular methods for deepmd/mixed by @njzjz in #704
- fix: only apply comp_prec for floating dtypes by @njzjz in #711
Documentation
- docs: pin sphinx-argparse to < 0.5.0 by @njzjz-bot in #683
- docs: migrate from m2r2 to myst-parser by @njzjz in #701
- docs: reformat README and documentation by @njzjz in #707
Tests/CI/CD
- test: support comparison between two multi systems by @wanghan-iapcm in #705
- test: mixed data format: test if the index_map (when type_map is provided) works by @wanghan-iapcm in #706
- Bump CodSpeedHQ/action from 2 to 3 by @dependabot in #691
Full Changelog: v0.2.19...v0.2.20
v0.2.19
What's Changed
New features
- PyMatgenStructureFormat with from_system method by @MoseyQAQ in #626
- feat(build): Add Git archives version files by @njzjz-bot in #635
- support
python -m dpdataby @njzjz in #649
Enhancements
- pref: lazy import modules by @njzjz in #658
- chore: improve type annotations by @njzjz in #659
- improve ASE traj by @thangckt in #633
Documentation
- Add function description: apply_type_map by @dulinhan in #646
- docs: fix documentation build by @njzjz in #655
Bugfix
- fix: fix invalid escape sequence by @njzjz in #647
- fix: complete periodic table by @iProzd in #656
- fix: the replicate will fail if the atom types of system is not sorted by @wanghan-iapcm in #667
CI/CD
- Bump actions/checkout from 2 to 4 by @dependabot in #631
- Bump actions/setup-python from 2 to 5 by @dependabot in #630
- CI: setup uv by @njzjz in #639
- benchmark performance of import by @njzjz in #653
- style: enforce LF line ending by @njzjz in #661
New Contributors
- @dependabot made their first contribution in #631
- @MoseyQAQ made their first contribution in #626
- @dulinhan made their first contribution in #646
Full Changelog: v0.2.18...v0.2.19
v0.2.18
What's Changed
New features
- add psi4/inp format by @njzjz in #564
- QE: Support output files without stress by @Yi-FanLi in #572
- Add new format for OpenMX by @shigeandtomo in #585 #619
- Orca support by @hl2500 in #597
- add ASE's traj support by @thangckt in #614
- add support for n2p2 data format by @Yi-FanLi in #627
Enhancement
- exclude docs and tests from sdist by @njzjz in #570
- add error message when Gaussian input orientation is missing by @njzjz in #568
- print detailed information on outcar reading failure by @wanghan-iapcm in #596
- Update the Plugin class docstring by @robinzyb in #601
- raise error instead of sys.exit by @njzjz in #569
Bugfix
- fix psi4 length conversion by @njzjz in #571
- fix vasp/xml errors when no virial is printed by @njzjz in #574
- fix duplicated elements in vasp/xml by @njzjz in #575
- fix a bug when reading the key block of STRU by @pxlxingliang in #591
- Fix bug when reading file in "pwmat/movement" format by @lhycms in #599
- Make improvements to the format for OpenMX by @shigeandtomo in #619
- fix virial in HybridDriver by @njzjz in #604
CI/CD
- move to ruff formatter by @njzjz in #565
- CI: Bump codecov/codecov-action from v3 to v4 by @njzjz-bot in #620
- CI: Setup Dependabot for GitHub Actions by @njzjz-bot in #621
- test with the latest Python version (3.12) by @njzjz in #618
New Contributors
- @Yi-FanLi made their first contribution in #572
- @shigeandtomo made their first contribution in #585
- @lhycms made their first contribution in #599
- @hl2500 made their first contribution in #597
- @thangckt made their first contribution in #614
- @njzjz-bot made their first contribution in #620
Full Changelog: v0.2.17...v0.2.18
v0.2.17
New feature
- abacus: update the read of stress and force for ABACUS v3.4.1 by @pxlxingliang in #560
Enhancement
- support assigning 'type_map' for mixed_type by @iProzd in #540
- replace the old data type with the same name and throw warning by @njzjz in #541
- limit the filename length dumped by MultiSystems by @njzjz in #554
- fix SciPy DeprecationWarning by @njzjz in #551
Bugfix
- fix(abacus): fix bug to read the data when relax job not set cal_stress by @pxlxingliang in #549
Documentation
- Update README.md for recommendation of using cp2kdata by @robinzyb in #537
- docs: try dpdata online by @njzjz in #552
- update issue templates by @njzjz in #557
Full Changelog: 0.2.16...v0.2.17