Skip to content

Releases: bjmorgan/vasppy

v1.0.0

28 Mar 15:49
381a359

Choose a tag to compare

vasppy v1.0.0

Breaking changes

  • Removed the custom Poscar class — all structure handling now uses pymatgen Structure. Code that imported vasppy.poscar.Poscar must be updated to use pymatgen.core.Structure or pymatgen.io.vasp.Poscar.
  • Removed dead modules: atom.py, pimaim.py, polyhedron.py, xdatcar.py and their associated scripts (pimaim_to_poscar, pimaim_to_xtl, poscar_to_pimaim, xdatcar_to_disp, xdatcar_to_rdf).
  • Removed --scale and --group flags from proc_poscar. pymatgen always folds the scaling factor into the lattice, so --scale is now the default behaviour. --group relied on arbitrary species labels not supported by pymatgen.
  • Requires Python 3.11+.

Improvements

  • Type hints and Google-style docstrings throughout all modules.
  • All mypy strict-mode errors resolved.
  • Refactored doscar.py pdos_select into composable helpers with guard-clause and normalise-then-act patterns.
  • Replaced manual lazy-loading with functools.cached_property in Vasprun.
  • Improved error handling: narrowed broad exception catches, added warnings for corrupt vasprun files, validated YAML inputs, added None checks for truncated XML.
  • Vectorised self-reference mask construction in dr_ij using NumPy broadcasting.
  • Module-level compiled regex constants in outcar.py.
  • CI improvements: mypy in its own job, dropped redundant pylint, fixed duplicate runs on feature branches.

Bug fixes

  • Fixed bitwise operator bug in Band.__eq__.
  • Fixed PROCAR k-point regex and KPoint.__eq__.
  • Fixed RDF initialisation with numpy array indices.
  • Fixed file handle leaks in outcar.py.
  • Fixed bare except and potcar_spec return type in summary.py.
  • Fixed swapped tensor element ordering in optics.py docstrings.
  • Fixed read_total_dos return type annotation.
  • Fixed dr_ij diagonal masking to only apply when indices_i == indices_j.

v0.7.2.0

27 Mar 21:25

Choose a tag to compare

Changes

  • Fix dependency specification that caused pip resolver warnings on install
  • Add automated PyPI release workflow via GitHub Actions

Version 0.6.3.0

24 Jan 15:10

Choose a tag to compare

Adds simple Vasprun class for parsing vasprun.xml data.

0.6.1.1

15 Jun 17:19

Choose a tag to compare

Minor update to potcar_spec to include option to print md5 hashes of POTCARs

0.6.1.0

22 Feb 13:13

Choose a tag to compare

Updates to vasp_summary parsing of summary vasp data.

  • Defaults to parse_dos=False when parsing vasprun.xml to speed up processing.
  • Added a -b command line option to show a progress bar.
  • Added a -j n command line option for parallel parsing of VASP calculation directories.

0.6.0.0

13 Feb 11:31

Choose a tag to compare

Bug fixes and updates, including:

  • POTCAR hashes now include "revised" VASP POTCAR *_54 formats.
  • Tests relying on physical constants use the updated scipy 1.4.1 values.

Procar refactoring

17 May 10:37

Choose a tag to compare

Extensive refactoring to the Procar class, that introduces breaking changes:

  • The preferred ways to read PROCAR files are now Procar.from_file() and Procar.from_files(). Procar.read_from_file() is deprecated as a public method and will be removed in a future version.
  • Procar.from_files() takes a list of file path strings, and collates each PROCAR in sequence. This is useful where e.g. a band structure calculation has been split over multiple VASP calculations.
  • Procar.from_file() now has an optional select_zero_weighted_kpoints argument. Setting this to True will return a Procar object that only has those k-points with zero weights. This is useful for processing data from hybrid DFT calculations, where some k-points might have zero weightings.
  • Procar.from_files() inherits all keyword arguments from Procar.from_file().
  • Procar objects can be concatenated, using normal addition operators.
  • Specific k-points can be selected, as a new Procar object, using the select_k_points() method.

0.4.1.0

05 May 09:40

Choose a tag to compare

Bumped version number to 0.4.1.0

0.4.0.10

26 Mar 12:30

Choose a tag to compare

Bug fixes.

0.4.0.9

11 Nov 13:33

Choose a tag to compare

Bumped version number to 0.4.0.9