v2024.4.12
What's Changed
🎉 New Features
- Add
pymatgen.io.openff
module by @orionarcher in #3729
🐛 Bug Fixes
- Fix blank line bug in
io.res.ResWriter
by @stefsmeets in #3671 - Reset label for sites changed by
Structure.replace_species()
by @stefsmeets in #3672 - Fix
phonopy.get_pmg_structure
site_properties
key for magmoms by @JonathanSchmidt1 in #3679 - Improve Bandoverlaps parser by @naik-aakash in #3689
- Convert some
staticmethod
toclassmethod
by @DanielYang59 in #3710 - Correct units of Element.atomic_orbitals by @esoteric-ephemera in #3714
- Add a fix for if a parameter is None in AimsControlIn by @tpurcell90 in #3727
- Replace general
raise Exception
and add missingraise
keyword by @DanielYang59 in #3728 - Fix
ChemicalPotentialDiagram
2D plot not respectingformal_chempots
setting by @uliaschauer in #3734 - Update ENCUT type to float in incar_parameters.json by @yuuukuma in #3741
- Clean up
core.surface
comments and docstrings by @DanielYang59 in #3691 - Fix
io.cp2k.input.DataFile
by @DanielYang59 in #3745
🛠 Enhancements
- Ensure
MSONAtoms
is indeedMSONable
whenAtoms.info
is loaded with goodies by @Andrew-S-Rosen in #3670 - Generalize fatband plots from Lobster by @JaGeo in #3688
- Plotting of Multicenter COBIs by @JaGeo in #2926
- Support appending vectors to positions in XSF format by @mturiansky in #3704
- Define
needs_u_correction(comp: CompositionLike) -> set[str]
utility function by @janosh in #3703 - Add more flexibility to
PhononDOSPlotter
andPhononBSPlotter
by @ab5424 in #3700 - Define
ElementType
enum incore/periodic_table.py
by @janosh in #3726
📖 Documentation
- Reformat docstrings to Google style and add type annotations by @DanielYang59 in #3694
🧹 House-Keeping
- Breaking: all plot methods return
plt.Axes
by @janosh in #3749 - Clean up test files: VASP outputs by @DanielYang59 in #3653
- Clean up test files: VASP inputs by @DanielYang59 in #3674
- Clean up test files: dedicated VASP directories,
xyz
,mcif
,cssr
,exciting
,wannier90
by @DanielYang59 in #3681 - Remove exception printing when importing phonopy by @lan496 in #3696
- Standardize test names: e.g.
LatticeTestCase
->TestLattice
by @janosh in #3693 - Clean up tests by @janosh in #3713
- Fix import order for
if TYPE_CHECKING:
block by @DanielYang59 in #3711 - Use
Self
type in Method Signatures by @DanielYang59 in #3705 - Remove deprecated
analysis.interface
, rename classes to PascalCase and renamewith_*
tofrom_*
by @DanielYang59 in #3725 - Test
EntrySet.ground_states
and CIF writing inNEBSet.write_input
by @janosh in #3732
🚀 Performance
- Migrate CI dependency installation from
pip
touv
by @janosh in #3675 - Dynamic
__hash__
forBalancedReaction
by @DanielYang59 in #3676
🚧 CI
🧪 Tests
- Clean up tests 2 by @janosh in #3716
- Remove unnecessary
unittest.TestCase
subclassing by @janosh in #3718
🔒 Security Fixes
- Avoid using
exec
in code by @DanielYang59 in #3736 - Avoid using
eval
, replace manual offset inenumerate
and rename single letter variables by @DanielYang59 in #3739
🏷️ Type Hints
Self
return type onfrom_dict
methods by @janosh in #3702- Return
self
fromStructure
methodsreplace
,substitute
,remove_species
,remove_sites
by @janosh in #3706 Self
return type onLattice
methods by @janosh in #3707
🤷♂️ Other Changes
New Contributors
- @JonathanSchmidt1 made their first contribution in #3679
- @uliaschauer made their first contribution in #3734
Full Changelog: v2024.3.1...v2024.4.12