Skip to content

v2026.5.18

Latest

Choose a tag to compare

@shyuep shyuep released this 18 May 23:39
· 25 commits to main since this release
519d34e

Volumetric I/O. VolumetricData.parse_file for CHGCAR/LOCPOT/ELFCAR is now backed by a Cython fast-float parser (vendored single-header fast_float C port). Roughly 6× faster than the prior _plain_loadtxt path on real fixtures and ~11× with parallel scaling experiments on multi-GB inputs (sequential path is what ships).

  • PR #59 pymatgen.optimization.fast_parser.parse_n_doubles: new Cython parser for ASCII double streams from binary file objects; VolumetricData.parse_file migrated off np.loadtxt. Bit-identical output verified against the prior path. (by @hheei, with review follow-ups)
  • PR #55 Remove POTCAR cryptographic hash validation (PotcarSingle.verify_potcar, identify_potcar_hash_based, the MD5/SHA256 file-hash lookup tables). The hash database is unmaintained and UnknownPotcarWarning was firing on perfectly valid newer POTCARs; the summary-stats validator (PotcarSingle.is_valid) remains the supported path. (by @shyuep)
  • PR #61 Replace deprecated numpy.gcd/numpy.lcm reductions with math.gcd/math.lcm; minor cleanup of redundant array dtype casts. (by @kavanase)
  • Route remaining hard-coded physical-constant literals (Bohr radius, Rydberg-eV, h·c, Abinit unit factors) through pymatgen.core.constants so future CODATA revisions update everywhere at once. Vasprun optical absorption now uses the CODATA-exact h·c/e value.

Fixes

  • (#44) Correct RMSD formula in molecule_matcher: Kabsch/BruteForce/Hungarian/Genetic matchers now sum over the coordinate axis before averaging, matching the standard charnley/rmsd convention. Argmin selection is unchanged but reported RMSDs and user thresholds shift by √3. (by @shyuep)
  • Strip the np.float64 type wrapper from Lattice.__repr__ so lattice vectors render as plain floats under numpy 2.x.

Docs / CI / Tests

  • (#30) Correct cod-tools attribution in symm_ops.yaml (the YAML mirrors COD::Spacegroups::Lookup::COD; header now points at cod-developers/cod-tools rather than the AiiDA wrapper). (by @shyuep)
  • Codecov: upload from the shard with extras: optional so reported coverage reflects ASE/seekpath/phonopy/hiphive-gated code; switch the upload action to OIDC (tokenless) auth after the shared CODECOV_TOKEN lost its repo binding.
  • Speed up the slowest test setups (lift heavy setup_method work to setup_class; vectorise the BSDOS projection generator) and add a conftest fixture that closes matplotlib figures between tests.
  • Expand coverage for phonon.ir_spectra (47%→75%) and core.bond_valence (57%→97%).
  • Skip the extras: optional test job on Windows (CI runtime, not a correctness change). PR #60 dependabot bump of faraday in /docs.