Repository navigation
v1.0.3 - Enhanced Multi-Platform PyPI Support
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.