Skip to content

extxyz 0.2.2

Choose a tag to compare

@jameskermode jameskermode released this 28 Apr 22:20
· 53 commits to master since this release

Maintenance release on top of 0.2.0. (0.2.1 was yanked — only 4 of 16 wheels uploaded due to a CI deploy bug, fixed here.)

Build & packaging

  • libextxyz/Makefile retired. The standalone C library, the cextxyz C test driver, and the optional fextxyz Fortran demo are now Meson targets:
    meson setup builddir
    meson compile -C builddir extxyz cextxyz
    meson install -C builddir
    The Fortran demo opts in via -Dquip_lib_dir=… and -Dquip_mod_dir=….
  • The standalone shared library is kept out of the Python wheel via tool.meson-python.wheel.exclude, so the Windows wheel-bundling check no longer trips.

CI

  • Wheel-publish refactored to a single Linux job that downloads all wheel artifacts and runs softprops/action-gh-release and pypa/gh-action-pypi-publish once each. The previous design ran them in every matrix job; pypa/gh-action-pypi-publish is Linux-only and refused to run on macOS/Windows runners — that's what stranded 12 wheels of 0.2.1.

Code quality

  • @lazyproperty@functools.cached_property in extxyz.extxyz — silences ASE's FutureWarning on import. Identity-stable cache preserved.
  • tests/run_tests.py: np.string_np.bytes_ (removed in NumPy 2.0) and np.boolnp.bool_ (removed in NumPy 1.20).

Docs

README updated to describe the unified Meson build for both the Python wheel and the standalone library + Fortran demo.

Installation

pip install --upgrade extxyz

🤖 Release notes assembled with Claude Code