extxyz 0.2.2
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/Makefileretired. The standalone C library, thecextxyzC test driver, and the optionalfextxyzFortran demo are now Meson targets:The Fortran demo opts in viameson setup builddir meson compile -C builddir extxyz cextxyz meson install -C builddir
-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-releaseandpypa/gh-action-pypi-publishonce each. The previous design ran them in every matrix job;pypa/gh-action-pypi-publishis 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_propertyinextxyz.extxyz— silences ASE's FutureWarning on import. Identity-stable cache preserved.tests/run_tests.py:np.string_→np.bytes_(removed in NumPy 2.0) andnp.bool→np.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