Skip to content

v1.0.3 - Enhanced Multi-Platform PyPI Support

Choose a tag to compare

@aryabhatt aryabhatt released this 08 Jun 14:41
· 13 commits to master since this release

ximreader v1.0.3

Packaging and release-infrastructure overhaul. There are no changes to the XIM-reading API.

Highlights

Prebuilt binary wheels are now published for Linux (manylinux and
musllinux), macOS (Apple Silicon), and Windows. pip install ximreader no
longer requires a C++ toolchain on these platforms.
Python 3.10 or newer is now required. The package metadata previously
advertised 3.8 even though the build already required 3.10; the declared
minimum now matches reality. Python 3.8 and 3.9 are not supported.

Fixed

  • Windows C++17 compilation. The extension was compiled with -std=c++17,
    a GCC/Clang flag that MSVC does not understand; the C++ standard is now set
    correctly on every compiler.
  • PyPI metadata. The BSD 2-Clause license and the full classifier list were
    being silently dropped from the published metadata and are now included.
  • Release workflow trigger. A YAML indentation error that prevented the
    release trigger from firing has been corrected.

Changed

  • Versioning is derived from git tags via setuptools-scm. There is no
    version string to edit by hand — the tag is the version.
  • Releases publish via PyPI Trusted Publishing (OIDC). The stored
    PYPI_API_TOKEN secret is no longer used.
  • Releases are triggered by pushing a version tag (e.g. v1.1.0) rather
    than through the GitHub Releases UI.
  • Wheels are built with cibuildwheel from the source distribution,
    replacing the previous per-Python / per-OS build matrix that produced
    non-manylinux Linux wheels PyPI would reject.

Removed

  • The static version field in pyproject.toml.
  • In setup.py: the requirements.txt-based dependency reading, the custom
    build_ext subclass, setup_requires, and the manual Python-version check —
    all now handled by pyproject.toml, setuptools-scm, and pybind11's build
    helpers.