版本发布 6
## What's Changed ### New features * feat: add support for flexible multiplicity in CP2K inputs by @SchrodingersCattt in https://github.com/deepmodeling/dpgen/pull/1785 * feat: enhanced _sys check when adding to all_sys by @SchrodingersCattt in https://github.com/deepmodeling/dpgen/pull/1787 ### Bugfixes * fix(init_bulk): include the last perturbation in collected vasp data by @njzjz in https://github.com/deepmodeling/dpgen/pull/1748 * Update param-ch4.json by @robinzyb in https://github.com/deepmodeling/dpgen/pull/1752 * abacus: fix bug in make_abacus_scf_stru by @pxlxingliang in https://github.com/deepmodeling/dpgen/pull/1755 * fix: remove duplicated reading model deviation files by @njzjz in https://github.com/deepmodeling/dpgen/pull/1762 * Update shuffle_poscar feature in run.py by @ztzkz in https://github.com/deepmodeling/dpgen/pull/1730 ## New Contributors * @SchrodingersCattt made their first contribution in https://github.com/deepmodeling/dpgen/pull/1785 * @ztzkz made their first contribution in https://github.com/deepmodeling/dpgen/pull/1730 **Full Changelog**: https://github.com/deepmodeling/dpgen/compare/v0.13.1...v0.13.2
## What's Changed ### Bugfixes * Fix: ignore UP031 by @wanghan-iapcm in https://github.com/deepmodeling/dpgen/pull/1683 * fix: bump the upper bound of deepmd version by @njzjz in https://github.com/deepmodeling/dpgen/pull/1691 * fix bug in reading abacus stru by @pxlxingliang in https://github.com/deepmodeling/dpgen/pull/1714 and https://github.com/deepmodeling/dpgen/pull/1720 **Full Changelog**: https://github.com/deepmodeling/dpgen/compare/v0.13.0...v0.13.1
## Highlights DP-GEN v0.13.0 adds the support for multiple backends introduced in [DeePMD-kit v3.0.0](https://github.com/deepmodeling/deepmd-kit/releases/tag/v3.0.0), via `train_backend` option (set to `tensorflow` or `pytorch`). ## What's Changed ### New features * add option to select backends TF/PT by @thangckt in https://github.com/deepmodeling/dpgen/pull/1545 * feat: support jax backend (although the JAX training hasn't been supported by DeePMD-kit) by @njzjz in https://github.com/deepmodeling/dpgen/pull/1671 * Modify the post_fp_cp2k function to generate multisystem data. Allows to run different system at one single iteration model_devi step. by @dulinhan in https://github.com/deepmodeling/dpgen/pull/1513 * support fparam in lmp template by @mingzhong15 in https://github.com/deepmodeling/dpgen/pull/1662 ### Enhancement * remove conda directory since not being maintained by @njzjz in https://github.com/deepmodeling/dpgen/pull/1516 * feat(build): Add Git archives version files by @njzjz-bot in https://github.com/deepmodeling/dpgen/pull/1517 * fix broken test by @njzjz in https://github.com/deepmodeling/dpgen/pull/1538 * Simplify API version validation by @thangckt in https://github.com/deepmodeling/dpgen/pull/1556 * chore: add the `mlp_engine` option by @njzjz in https://github.com/deepmodeling/dpgen/pull/1576 * chore: ban module-level import of pymatgen by @njzjz in https://github.com/deepmodeling/dpgen/pull/1597 * Improve function `pert_scaled` by @thangckt in https://github.com/deepmodeling/dpgen/pull/1563 ### Bugfix * Change default deepmd_version and make the screen output complete by @scott-5 in https://github.com/deepmodeling/dpgen/pull/1641 * avoid syntax warning for "\{" and "\}" by @Yi-FanLi in https://github.com/deepmodeling/dpgen/pull/1539 * fix pre-commit errors by @njzjz in https://github.com/deepmodeling/dpgen/pull/1540 * fix: hard-coded model name in gromacs model devi calculation by @wanghan-iapcm in https://github.com/deepmodeling/dpgen/pull/1544 * fix: fix `SyntaxWarning: invalid escape sequence` by @njzjz in https://github.com/deepmodeling/dpgen/pull/1550 * Fix exception message by @wanghan-iapcm in https://github.com/deepmodeling/dpgen/pull/1554 * fix: remove ref-names from .git_archival.txt by @njzjz-bot in https://github.com/deepmodeling/dpgen/pull/1578 * fix: fix typo in run_train by @njzjz in https://github.com/deepmodeling/dpgen/pull/1581 * fix: fix `dtype` of `keywords_high_multiplicity` by @njzjz in https://github.com/deepmodeling/dpgen/pull/1582 * fix: skip setting seed when descriptor/fitting_net doesn't exist by @njzjz in https://github.com/deepmodeling/dpgen/pull/1584 * fix: fix checkpoint filename for the PyTorch backend by @njzjz in https://github.com/deepmodeling/dpgen/pull/1585 * fix: fix UnboundLocalError in `_select_by_model_devi_standard` by @njzjz in https://github.com/deepmodeling/dpgen/pull/1587 * fix: fix PyTorch model extension in simplify by @njzjz in https://github.com/deepmodeling/dpgen/pull/1596 * fix: support `shuffle_poscar` for other formats by @njzjz in https://github.com/deepmodeling/dpgen/pull/1610 * solve Path error on Windows by @thangckt in https://github.com/deepmodeling/dpgen/pull/1627 * fix: UT bug exposed by upgraded dpdata by @wanghan-iapcm in https://github.com/deepmodeling/dpgen/pull/1636 * fix: compare pwscf energy by relative error by @wanghan-iapcm in https://github.com/deepmodeling/dpgen/pull/1643 ### Documentation * docs: setup uv for readthedocs by @njzjz in https://github.com/deepmodeling/dpgen/pull/1524 * docs: remove `set_prefix` by @njzjz in https://github.com/deepmodeling/dpgen/pull/1537 * docs: pin sphinx-argparse to < 0.5.0 by @njzjz-bot in https://github.com/deepmodeling/dpgen/pull/1591 * docs(deps): pin `sphinx_rtd_theme` to `>=0.6` by @njzjz in https://github.com/deepmodeling/dpgen/pull/1615 * docs: update DeepModeling URLs by @njzjz-bot in https://github.com/deepmodeling/dpgen/pull/1637 * docs: replace sphinx-rtd-theme with sphinx-book-theme by @njzjz-bot in https://github.com/deepmodeling/dpgen/pull/1657 ### CI/CD * ci: setup uv by @njzjz in https://github.com/deepmodeling/dpgen/pull/1522 * ci: test against numpy v2 by @njzjz in https://github.com/deepmodeling/dpgen/pull/1614 * ci: bump pymatgen-analysis-defects and skip failed tests by @njzjz in https://github.com/deepmodeling/dpgen/pull/1659 * chore: skip failed tests by @njzjz in https://github.com/deepmodeling/dpgen/pull/1670 ### Dependency updates * build(deps): bump actions/checkout from 2 to 4 by @dependabot in https://github.com/deepmodeling/dpgen/pull/1509 * build(deps): bump actions/setup-python from 2 to 5 by @dependabot in https://github.com/deepmodeling/dpgen/pull/1508 * build(deps): bump codecov/codecov-action from 4 to 5 by @dependabot in https://github.com/deepmodeling/dpgen/pull/1673 ## New Contributors * @dependabot made their first contribution in https://github.com/deepmodeling/dpgen/pull/1509 * @dulinhan made their first contribution in https://github.com/deepmodeling/dpgen/pull/1513 * @thangckt made their first contribution in https://github.com/deepmodeling/dpgen/pull/1545 * @scott-5 made their first contribution in https://github.com/deepmodeling/dpgen/pull/1641 * @mingzhong15 made their first contribution in https://github.com/deepmodeling/dpgen/pull/1662 **Full Changelog**: https://github.com/deepmodeling/dpgen/compare/v0.12.1...v0.13.0
## What's Changed ### Breaking change * breaking: use `shlex.quote` to quote shell commands by @njzjz in https://github.com/deepmodeling/dpgen/pull/1396 Single quotes (') can be automatically escaped. One does not need to escape single quotes in command manually anymore. To those who have escaped single quotes in command manually, this is a breaking change. ### Enhancement * exclude docs and tests from sdist by @njzjz in https://github.com/deepmodeling/dpgen/pull/1385 * tests: add UT for run_model_devi by @njzjz in https://github.com/deepmodeling/dpgen/pull/1386 * throw error if training_iter0_model_path is not found by @njzjz in https://github.com/deepmodeling/dpgen/pull/1391 * pwscf: write floaing point number for atomic masses by @Yi-FanLi in https://github.com/deepmodeling/dpgen/pull/1387 * model devi: download LAMMPS log files for pimd by @Yi-FanLi in https://github.com/deepmodeling/dpgen/pull/1406 * only log the current iteration when restarting by @njzjz in https://github.com/deepmodeling/dpgen/pull/1420 * support collecting MultiSystems by @njzjz in https://github.com/deepmodeling/dpgen/pull/1422 * keep original model_devi.out files for pimd by @Yi-FanLi in https://github.com/deepmodeling/dpgen/pull/1472 ### Documentation * docs: add links to external documentation by @njzjz in https://github.com/deepmodeling/dpgen/pull/1392 * docs: add the link for how to setup the conda environment by @njzjz in https://github.com/deepmodeling/dpgen/pull/1484 * fp: add document and example for Quantum Espresso by @Yi-FanLi in https://github.com/deepmodeling/dpgen/pull/1405 * dpgen simplify: add document for fp style pwscf by @Yi-FanLi in https://github.com/deepmodeling/dpgen/pull/1413 ### CI/CD * CI: Setup Dependabot for GitHub Actions by @njzjz-bot in https://github.com/deepmodeling/dpgen/pull/1492 * CI: Bump codecov/codecov-action from v3 to v4 by @njzjz-bot in https://github.com/deepmodeling/dpgen/pull/1491 ### Bugfix * Fix UTs destroyed by pymatgen's update by @Yi-FanLi in https://github.com/deepmodeling/dpgen/pull/1471 * Bugfix for pimd: sorting model_devi files by @Yi-FanLi in https://github.com/deepmodeling/dpgen/pull/1470 * issue1475: a small bug of iterdict (generator/lib/cp2k.py) by @yohsama in https://github.com/deepmodeling/dpgen/pull/1476 ## New Contributors * @yohsama made their first contribution in https://github.com/deepmodeling/dpgen/pull/1476 * @njzjz-bot made their first contribution in https://github.com/deepmodeling/dpgen/pull/1492 **Full Changelog**: https://github.com/deepmodeling/dpgen/compare/v0.12.0...v0.12.1
## Breaking Changes * drop Python 3.8 support by @njzjz in https://github.com/deepmodeling/dpgen/pull/1264 * breaking: remove default values for training reuse arguments by @njzjz in https://github.com/deepmodeling/dpgen/pull/1330 ## New features * add dp_train_skip_neighbor_stat argument by @njzjz in https://github.com/deepmodeling/dpgen/pull/1179 * support `mixed:N` batch size by @njzjz in https://github.com/deepmodeling/dpgen/pull/1183 * support one_h5 for simplify model_devi step by @njzjz in https://github.com/deepmodeling/dpgen/pull/1185 * simplify: allow initial models trained by initial data by @njzjz in https://github.com/deepmodeling/dpgen/pull/1201 * support automatic training_reuse_old_ratio by @njzjz in https://github.com/deepmodeling/dpgen/pull/1209 * split make_fp and share `make_fp_calculation` between run and simplify by @njzjz in https://github.com/deepmodeling/dpgen/pull/1235 * add fp_style custom by @njzjz in https://github.com/deepmodeling/dpgen/pull/1244 * simplify: support model deviation of energy per atom by @njzjz in https://github.com/deepmodeling/dpgen/pull/1312 * simplify: support using true error as error indicator by @njzjz in https://github.com/deepmodeling/dpgen/pull/1321 * dprc: add `restart_from_iter` option by @njzjz in https://github.com/deepmodeling/dpgen/pull/1322 * support electronic tempeture data used in simplify; refactor post_fp_vasp by @njzjz in https://github.com/deepmodeling/dpgen/pull/1329 * support training with -f or -t argument by @njzjz in https://github.com/deepmodeling/dpgen/pull/1340 * Add `dpgui` entry point and `dpgen gui` CLI by @njzjz in https://github.com/deepmodeling/dpgen/pull/1349 * model_devi: add support for pimd by @Yi-FanLi in https://github.com/deepmodeling/dpgen/pull/1366 ## Enhancement * refactor(abacus): modify poscar2stru in auto_test.lib.abacus by @pxlxingliang in https://github.com/deepmodeling/dpgen/pull/1193 * simplify: improve performance of selecting frames by @njzjz in https://github.com/deepmodeling/dpgen/pull/1202 * Use get_global_number_of_atoms() instead by @njzjz in https://github.com/deepmodeling/dpgen/pull/1256 * load files according to filename suffix by @njzjz in https://github.com/deepmodeling/dpgen/pull/1255 * check arguments with 2D lists by @njzjz in https://github.com/deepmodeling/dpgen/pull/1258 * throw RuntimeError if no system is found by expand_sys_str by @njzjz in https://github.com/deepmodeling/dpgen/pull/1292 * rm old files when performing `dp model-devi` by @njzjz in https://github.com/deepmodeling/dpgen/pull/1332 * argcheck: restrict the type of elements in a list by @njzjz in https://github.com/deepmodeling/dpgen/pull/1364 * Update {Elastic,run,surf,Vasp,vasp}.py: To be compatible with Pymatgen by @ZhouXY-PKU in https://github.com/deepmodeling/dpgen/pull/1302 ## Bugfixes * fix(abacus): fix deepks bug in autotest by @pxlxingliang in https://github.com/deepmodeling/dpgen/pull/1163 * fix(abacus): get ION step by searching "ION=" in relax job by @pxlxingliang in https://github.com/deepmodeling/dpgen/pull/1169 * fix a bug in `convert_training_data_to_hdf5` by @njzjz in https://github.com/deepmodeling/dpgen/pull/1167 * fix batch size for simplify by @njzjz in https://github.com/deepmodeling/dpgen/pull/1184 * fix(abacus): Compatibility with kspacing set to 3 values by @pxlxingliang in https://github.com/deepmodeling/dpgen/pull/1197 * simplify: do not symlink if the file does not exist by @njzjz in https://github.com/deepmodeling/dpgen/pull/1191 * Fix the numerical mismatch for 02.fp/task/cp2k_output after update dpdata by @robinzyb in https://github.com/deepmodeling/dpgen/pull/1219 * fix(abacus): put pp/orb/dpks files to folder pporb in 02fp. by @pxlxingliang in https://github.com/deepmodeling/dpgen/pull/1214 * fix bug in make_supercell_abacus by @Liu-RX in https://github.com/deepmodeling/dpgen/pull/1212 and https://github.com/deepmodeling/dpgen/pull/1229 * len(all_sys) should > 0 for post_fp_cp2k by @robinzyb in https://github.com/deepmodeling/dpgen/pull/1245 * fix a typo in new_to_old_ratio message by @njzjz in https://github.com/deepmodeling/dpgen/pull/1270 * fix a bug in the number of frames for auto ratio by @njzjz in https://github.com/deepmodeling/dpgen/pull/1276 * Using dict.get methods to get machine.local_root by @dingzhaohan in https://github.com/deepmodeling/dpgen/pull/1287 * fix KeyError in init_reaction by @njzjz in https://github.com/deepmodeling/dpgen/pull/1352 * fix Python 3.12 compatibility by @njzjz in https://github.com/deepmodeling/dpgen/pull/1367 * abacus: fix bug of finding the final relax STRU by @pxlxingliang in https://github.com/deepmodeling/dpgen/pull/1344 ## Documentation * fix the links of DP-GUI by @njzjz in https://github.com/deepmodeling/dpgen/pull/1187 * change size and apply dark mode for the logo by @njzjz in https://github.com/deepmodeling/dpgen/pull/1190 * extend the doc of cp2k external_input_path in detail by @robinzyb in https://github.com/deepmodeling/dpgen/pull/1225 * fix: description in README.md by @cherushui in https://github.com/deepmodeling/dpgen/pull/1241 * docs: move `ratio_failed` out of fp variant by @njzjz in https://github.com/deepmodeling/dpgen/pull/1243 * docs: fix docs for fp_task_min by @njzjz in https://github.com/deepmodeling/dpgen/pull/1257 * update deepmd input to v2; format JSON files by @njzjz in https://github.com/deepmodeling/dpgen/pull/1315 * update issue templates by @njzjz in https://github.com/deepmodeling/dpgen/pull/1368 * docs: update installation documentation by @njzjz in https://github.com/deepmodeling/dpgen/pull/1372 ## CI/CD * bump pymatgen to a stable version by @njzjz in https://github.com/deepmodeling/dpgen/pull/1186 * bypass the upstream pymatgen error for CI by @njzjz in https://github.com/deepmodeling/dpgen/pull/1233 * bump pymatgen to 2023.5.31 by @njzjz in https://github.com/deepmodeling/dpgen/pull/1250 * use OIDC to publish packages by @njzjz in https://github.com/deepmodeling/dpgen/pull/1298 * test: pin pymatgen-analysis-defects to <2023.08.22 by @njzjz in https://github.com/deepmodeling/dpgen/pull/1313 * skip Sphinx 7.2.5 by @njzjz in https://github.com/deepmodeling/dpgen/pull/1324 ## Lint * apply ruff rules and fix lots of bugs by @njzjz in https://github.com/deepmodeling/dpgen/pull/1240 * move to ruff formatter by @njzjz in https://github.com/deepmodeling/dpgen/pull/1375 ## New Contributors * @pre-commit-ci made their first contribution in https://github.com/deepmodeling/dpgen/pull/1171 * @ZhouXY-PKU made their first contribution in https://github.com/deepmodeling/dpgen/pull/1302 * @Yi-FanLi made their first contribution in https://github.com/deepmodeling/dpgen/pull/1366 **Full Changelog**: https://github.com/deepmodeling/dpgen/compare/v0.11.1...v0.12.0
# Breaking changes: * breaking: remove old dispatcher by @njzjz in https://github.com/deepmodeling/dpgen/pull/1097 # Enhancements: * Add parameter 'srtab_file_path' so that one can use DP-ZBL potential successfully by @Chengqian-Zhang in https://github.com/deepmodeling/dpgen/pull/918 * Refactor: remove association between ABACUS/STRU and the element number in param.json by @pxlxingliang in https://github.com/deepmodeling/dpgen/pull/1076 * choose numb_steps/stop_batch automatically by @njzjz in https://github.com/deepmodeling/dpgen/pull/1086 * replace distutils.version.LooseVersion by packaging.version.Version by @njzjz in https://github.com/deepmodeling/dpgen/pull/1095 * Support forward files for simplify by @HuangJiameng in https://github.com/deepmodeling/dpgen/pull/1092 * Replace "python3" in command by sys.executable by @HuangJiameng in https://github.com/deepmodeling/dpgen/pull/1105 * add an option to merge data to one H5 file by @njzjz in https://github.com/deepmodeling/dpgen/pull/1119 * add and run pre-commit to format codes by @njzjz in https://github.com/deepmodeling/dpgen/pull/1124 * refactor(abacus): link the pp/orb files defined in STRU not jdata by @pxlxingliang in https://github.com/deepmodeling/dpgen/pull/1127 * Raise warnings if there is no system in the path listed in sys_configs by @HuangJiameng in https://github.com/deepmodeling/dpgen/pull/1130 * Updated the `revise_lmp_input_dump` function. by @panxiang126 in https://github.com/deepmodeling/dpgen/pull/1137 * add isort to sort imports by @njzjz in https://github.com/deepmodeling/dpgen/pull/1133 * always pass codecov status by @njzjz in https://github.com/deepmodeling/dpgen/pull/1157 # Documentation, argument parsing and examples * add placeholders for variants by @njzjz in https://github.com/deepmodeling/dpgen/pull/1068 * Doc(abacus): modify the description of parameters by @pxlxingliang in https://github.com/deepmodeling/dpgen/pull/1080 * fix doc: "structures" should be a list by @HuangJiameng in https://github.com/deepmodeling/dpgen/pull/1091 * docs: add logo to docs and README by @njzjz in https://github.com/deepmodeling/dpgen/pull/1128 * docs: add links to DP-GUI by @njzjz in https://github.com/deepmodeling/dpgen/pull/1131 # Bug fixings: * Fix: remove the reading of `ntype` when treating ABACUS related info by @pxlxingliang in https://github.com/deepmodeling/dpgen/pull/1075 * fix pass action by @njzjz in https://github.com/deepmodeling/dpgen/pull/1082 * fix compatibility with NumPy and pymatgen by @njzjz in https://github.com/deepmodeling/dpgen/pull/1085 * Fix(abacus): parse orbital information after parsing of INPUT by @pxlxingliang in https://github.com/deepmodeling/dpgen/pull/1079 * fix_bug simplify.py by @Vibsteamer in https://github.com/deepmodeling/dpgen/pull/1113 * fix_bug simplify.py by @Vibsteamer in https://github.com/deepmodeling/dpgen/pull/1114 * fix compatibility with the latest pymatgen by @njzjz in https://github.com/deepmodeling/dpgen/pull/1126 * fix restart trajectory for `merge_traj` by @wankiwi in https://github.com/deepmodeling/dpgen/pull/1111 * fix a bug in make_abacus_relax by @maki49 in https://github.com/deepmodeling/dpgen/pull/1150 * fix(abacus): do not write to deepmd raw/npy, if no abacus data in post_fp_abacus_scf() by @pxlxingliang in https://github.com/deepmodeling/dpgen/pull/1153 * bug_fix reproduce.py by @Vibsteamer in https://github.com/deepmodeling/dpgen/pull/1156 * fix numpydoc styles by @njzjz in https://github.com/deepmodeling/dpgen/pull/1134 ## New Contributors * @wankiwi made their first contribution in https://github.com/deepmodeling/dpgen/pull/1111 **Full Changelog**: https://github.com/deepmodeling/dpgen/compare/v0.11.0...v0.11.1