Releases: materialsproject/pymatgen
Releases · materialsproject/pymatgen
v2024.10.22
- New
pyamtgen.io.vasp.VaspDirclass for easy navigation of VASP directories as pymatgen objects. - Fix gaussian input parser (@sio-salt)
- Fix: preserve site properties over cell transform (@Lattay)
- Make Incar keys case insensitive, fix init Incar from dict val processing for str/float/int (@DanielYang59)
- Fix: Preserve PBC info in AseAtomsAdaptor (@jsukpark)
- Migrate ext.COD from mysql to REST API (@DanielYang59)
- Fix: Parsing bugs in io.pwscf.PWInput (@jsukpark)
- Fix arg passing in inverse property of SymmOp (@DanielYang59)
- Add support for use_structure_charge keyword in FHI-aims input generator (@ansobolev)
- Fix: savefig in pmg.cli.plot (@DanielYang59)
- Fix: Volumetric data and XDATCAR parsing for monatomic structures (@esoteric-ephemera)
- Support to aims format from Structure instance (@ansobolev)
- Fix: Bugfix for Ion CO2(aq) reduced formula (@rkingsbury)
- Replace deprecated ExpCellFilter with FrechetCellFilter (@ab5424)
v2024.10.3
- Enable parsing of "SCF energy" and "Total energy" from QCOutput for Q-chem 6.1.1+. (@Jaebeom-P)
- Fix dict equality check with numpy array (@DanielYang59)
- Fix usage of strict=True for zip in cp2k.outputs (@DanielYang59)
- Fix bug with species defaults (@tpurcell90)
- SLME Bug Fixes (@kavanase)
v2024.9.17.1
- Emergency release No. 2 to fix yet another regression in chempot diagram. (Thanks @yang-ruoxi for fixing.)
v2024.9.17
- Emergency release to fix broken phase diagram plotting due to completely unnecessary refactoring. (Thanks @yang-ruoxi for fixing.)
v2024.9.10
💥 Breaking: NumPy/Cython integer type changed from np.long/np.int_ to int64 on Windows to align with NumPy 2.x, changing the default integer type to int64 on Windows 64-bit systems in favor of the platform-dependent np.int_ type.
Recommendation: Please explicitly declare dtype=np.int64 when initializing a NumPy array if it's passed to a Cythonized pymatgen function like find_points_in_spheres. You may also want to test downstream packages with NumPy 1.x on Windows in CI pipelines.
🛠 Enhancements
- Formatting customization for
PWInputby @jsukpark in #4001 - DOS Fingerprints enhancements by @naik-aakash in #3946
- Add HSE-specific vdW parameters for dftd3 and dftd3-bj to MPHSERelaxSet. by @hongyi-zhao in #3955
- Add VASP setting for the dftd4 vdW functional and extend PBE_64 support. by @hongyi-zhao in #3967
- Add SOC & multiple
PROCARparsing functionalities by @kavanase in #3890 - Add modification to aims input to match atomate2 magnetic order script by @tpurcell90 in #3878
🐛 Bug Fixes
- Ion: fix CO2- and I3- parsing errors; enhance tests by @rkingsbury in #3991
- Fix ruff PD901 and prefer
sumoverlen+ifby @janosh in #4012 - Explicitly use
int64in Numpy/cython code to avoid OS inconsistency by @DanielYang59 in #3992 - Update
FermiDos.get_doping()to be more robust by @kavanase in #3879 - Fix missing
/srcin doc links to source code by @DanielYang59 in #4032 - Fix
LNONCOLLINEARmatch inOutcarparser by @DanielYang59 in #4034 - Fix in-place
VaspInput.incarupdates having no effect ifincaris dict (notIncarinstance) by @janosh in #4052 - Fix typo in
Cp2kOutput.parse_hirshfeldadd_site_property("hirshf[i->'']eld")by @janosh in #4055 - Fix
apply_operation(fractional=True)by @kavanase in #4057
💥 Breaking Changes
📖 Documentation
- Docstring tweaks for
io.vasp.inputsand format tweaks for some other parts by @DanielYang59 in #3996 - Replace HTTP URLs with HTTPS, avoid
from pytest import raises/markby @DanielYang59 in #4021 - Fix incorrect attribute name in
Lobster.outputs.Cohpcardocstring by @DanielYang59 in #4039
🧹 House-Keeping
- Use
strict=Truewithzipto ensure length equality by @DanielYang59 in #4011
🚀 Performance
🚧 CI
- Install optional boltztrap, vampire and openbabel in CI by @DanielYang59 in #3985
💡 Refactoring
- Make AimsSpeciesFile a dataclass by @tpurcell90 in #4054
🧪 Tests
- Remove the
skipmark fortest_delta_funcby @njzjz in #4014 - Recover commented out code in tests and mark with
pytest.mark.skipinstead by @DanielYang59 in #4027 - Add unit test for
io.vasp.helpby @DanielYang59 in #4020
🧹 Linting
- Fix failing ruff
PT001on master by @DanielYang59 in #4003 - Fix fixable
ruffrules by @DanielYang59 in #4015 - Fix
S101, replace allassertin code base (except for tests) by @DanielYang59 in #4017 - Fix
ruffPLC0206 and PLR6104 by @janosh in #4035
🏥 Package Health
- Drop Python 3.9 support by @DanielYang59 in #4009 (min supported Python is now 3.10 following numpy)
- Avoid importing namespace package
pymatgendirectly by @DanielYang59 in #4053
🏷️ Type Hints
- Set
kpointsinfrom_strmethod as integer in auto Gamma and Monkhorst modes by @DanielYang59 in #3994 - Improve type annotations for
io.lobster.{lobsterenv/outputs}by @DanielYang59 in #3887
🤷♂️ Other Changes
New Contributors
Full Changelog: v2024.8.9...v2024.9.10
v2024.8.9
- Revert bad split of sets.py, which broke downstream code.
🎉 New Features
- Add multiwfn QTAIM parsing capabilities by @espottesmith in #3926
🐛 Bug Fixes
- Fix chemical system method for different oxidation states by @danielzuegner in #3915
- Fix coordination number bug by @jmmshn in #3954
- Fix Ion formula parsing bug; add more special formulas by @rkingsbury in #3942
- Dedup
numpydependency inpyprojectby @janosh in #3970 - test_graph: add filename only to pdf list by @drew-parsons in #3972
- Bugfix:
io.pwscf.PWInput.from_str()by @jsukpark in #3931 - Fix d2k function by @tpurcell90 in #3932
- Assign frame properties to molecule/structure when indexing trajectory by @CompRhys in #3979
🛠 Enhancements
Element/Species: orderfull_electron_structureby energy by @rkingsbury in #3944- Extend
CubicSupercelltransformation to also be able to look for orthorhombic cells by @JaGeo in #3938 - Allow custom
.pmgrc.yamllocation via newPMG_CONFIG_FILEenv var by @janosh in #3949 - Fix MPRester tests and access phonon properties from the new API without having
mp-apiinstalled. by @AntObi in #3950 - Adding Abinit magmoms from netCDF files to Structure.site_properties by @gbrunin in #3936
- Parallel Joblib Process Entries by @CompRhys in #3933
- Add OPTIMADE adapter by @ml-evs in #3876
- Check Inputs to Trajectory. by @CompRhys in #3978
📖 Documentation
- Replace expired BoltzTraP link by @DanielYang59 in #3929
- Correct method
get_projection_on_elementsdocstring underProcarclass by @DanielYang59 in #3945
🧹 House-Keeping
🚧 CI
- Install some optional dependencies in CI by @DanielYang59 in #3786
💡 Refactoring
- Fix
Incarcheck_paramsforUniontype by @DanielYang59 in #3958
🏥 Package Health
🏷️ Type Hints
- Improve types for
electronic_structure.{bandstructure/cohp}by @DanielYang59 in #3873 - Improve types for
electronic_structure.{core/dos}by @DanielYang59 in #3880
🤷♂️ Other Changes
- switch to attr access interface for transformation matrix by @tsmathis in #3964
- Fix import sorting by @janosh in #3968
- Don't run
issue-metricson forks by @ab5424 in #3962 - Enable Ruff rule family "N" and "S" by @DanielYang59 in #3892
New Contributors
- @danielzuegner made their first contribution in #3915
- @tsmathis made their first contribution in #3964
- @jsukpark made their first contribution in #3931
Full Changelog: v2024.7.18...v2024.8.8
v2024.7.18
layout: default
title: Change Log
v2024.6.10
layout: default
title: Change Log
v2024.6.4
What's Changed
🐛 Bug Fixes
- Run CI with two different
uvresolution strategies:highestandlowest-directby @janosh in #3852 - Fix filter condition for warn msg of unphysical site occupancy in
io.cifby @DanielYang59 in #3853
🛠 Enhancements
📖 Documentation
- Clarify argument
shiftforSlabGenerator.get_slabby @DanielYang59 in #3748
🚧 CI
Full Changelog: v2024.5.31...v2024.6.4
v2024.5.31
What's Changed
🐛 Bug Fixes
- Make
Beautifulsoupoptional by @ab5424 in #3774 - Fix overlayed subplots in
BSPlotterProjected.get_projected_plots_dots()by @janosh in #3798 - Fix
_get_dipole_infofor DDEC6ChargemolAnalysisand add test case by @JonathanSchmidt1 in #3801 Cp2kOutput.parse_initial_structure()use regex for line matching to allow arbitrary white space between Atom/Kind/Element/... by @janosh in #3810- Fix the minor document error in
POTCAR Setup. by @hongyi-zhao in #3834 - Use
iscloseover==for overlap position check inSlabGenerator.get_slabsby @DanielYang59 in #3825 - [Deprecation] Replace
Elementpropertyis_rare_earth_metalwithis_rare_earthto include Y and Sc by @DanielYang59 in #3817
🛠 Enhancements
- Add
is_radioactiveproperty to Element class by @AntObi in #3804 - Add a
from_ase_atoms()method toStructureby @Andrew-S-Rosen in #3812 - Adapt to the latest version of PWmat output file by @lhycms in #3823
- Update VASP sets to transition atomate2 to use pymatgen input sets exclusively by @esoteric-ephemera in #3835 (slightly breaking, see #3860 for details)
📖 Documentation
- Imperative
get_...method and@propertydoc strings by @janosh in #3802 - Doc string standardization by @janosh in #3805
🧹 House-Keeping
- Add types for
core.(molecular_orbitals|operations|sites|spectrum|tensor|xcfunc)by @DanielYang59 in #3829 - Move test structures out of
utildirectory by @DanielYang59 in #3831
🧪 Tests
- Improve type annotations for
core.(trajectory/units)by @DanielYang59 in #3832
🏷️ Type Hints
- More type annotations by @janosh in #3800
- Add types for
core.periodic_table/bonds/composition/ion/lattice/libxcfunc, new typeMillerIndexand fix Lattice hash by @DanielYang59 in #3814 - Guard
TYPE_CHECKINGonly imports by @DanielYang59 in #3827 - Improve type annotations and comments for
io.cifby @DanielYang59 in #3820 - Improve type annotations for
core.structureby @DanielYang59 in #3837 - Add type annotations for
io.vasp.outputsby @DanielYang59 in #3776
🤷♂️ Other Changes
- mixing scheme: change default for verbose by @tschaume in #3806
ruff0.4.3 auto-fixes by @janosh in #3808- Re-enable some useful
ruffrules by @DanielYang59 in #3813 pandas.read_csv: replace deprecateddelim_whitespace=Truewithsep="\s+"by @ab5424 in #3846- Improve unphysical (greater than 1) occupancy handling in
CifParserand add missing site labelif not check_occuby @DanielYang59 in #3819
Full Changelog: v2024.5.1...v2024.5.31