Releases: materialsproject/pymatgen
Releases · materialsproject/pymatgen
v2025.1.9
- Iterating Element no longer contains isotopes (D and T). (@DanielYang59)
- Remove is_rare_earth_metal from ElementBase (@jdewasseigeosium)
- Fix DOS parsing for SOC calculations (@kavanase)
- Added Pure Random Algo to OrderDisorderedStructureTransformation (@jmmshn)
- Fix ion formula check in ion_or_solid_comp_object of analysis.pourbaix_diagram (@DanielYang59)
- AseAtomsAdaptor: Support arbitrary selective dynamics constraints (@yantar92)
- Explicit UTF-8 encoding for zopen and open. (@DanielYang59)
v2024.11.13
- CP2K fixes (@janosh)
- Fix borg.hive.SimpleVaspToComputedEntryDrone.assimilate ValueError when core file missing (@DanielYang59)
- Revert breaking analysis.local_env default_op_params/cn_opt_params rename (@DanielYang59)
- Added new Flag for AutoOxiStateDecorationTransformation (@jmmshn)
- Fixed execution of packmol in relative path. (@davidwaroquiers)
- Improve element mismatch handling with POTCAR for Poscar.from_file/str (@DanielYang59)
- Preprocess Structure Reduction Before Bulk Match (@lan496)
- Add min "thickness" check in CifParser to filter invalid structure which leads to infinite loop (@DanielYang59)
v2024.10.29
- VaspDir has been renamed and moved to pymatgen.io.common.PMGDir for more general support of all IO classes. Note that
this is a backwards incompatible change. It should not affect many users since VaspDir was introduced only in the last
one week. - Fixed execution of packmol in relative path. (@davidwaroquiers)
- VaspDoc.get_incar_tags: Use Mediawiki API (@yantar92)
- Fix comment pass in Kpoints constructors (@DanielYang59)
v2024.10.27
- Bug fix for parsing of dielectric calculations from vasprun.xml.
v2024.10.25
- VaspDir now supports nest directories. Also, supports non-object string returns.
- Bug fix for parsing of BSE vaspruns.xml.
v2024.10.22
- New
pyamtgen.io.vasp.VaspDir
class 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
PWInput
by @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
PROCAR
parsing 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
sum
overlen
+if
by @janosh in #4012 - Explicitly use
int64
in 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
/src
in doc links to source code by @DanielYang59 in #4032 - Fix
LNONCOLLINEAR
match inOutcar
parser by @DanielYang59 in #4034 - Fix in-place
VaspInput.incar
updates having no effect ifincar
is dict (notIncar
instance) by @janosh in #4052 - Fix typo in
Cp2kOutput.parse_hirshfeld
add_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.inputs
and format tweaks for some other parts by @DanielYang59 in #3996 - Replace HTTP URLs with HTTPS, avoid
from pytest import raises/mark
by @DanielYang59 in #4021 - Fix incorrect attribute name in
Lobster.outputs.Cohpcar
docstring by @DanielYang59 in #4039
🧹 House-Keeping
- Use
strict=True
withzip
to 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
skip
mark fortest_delta_func
by @njzjz in #4014 - Recover commented out code in tests and mark with
pytest.mark.skip
instead by @DanielYang59 in #4027 - Add unit test for
io.vasp.help
by @DanielYang59 in #4020
🧹 Linting
- Fix failing ruff
PT001
on master by @DanielYang59 in #4003 - Fix fixable
ruff
rules by @DanielYang59 in #4015 - Fix
S101
, replace allassert
in code base (except for tests) by @DanielYang59 in #4017 - Fix
ruff
PLC0206 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
pymatgen
directly by @DanielYang59 in #4053
🏷️ Type Hints
- Set
kpoints
infrom_str
method 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