Build CPython 3.15 wheels - #1152
Conversation
Signed-off-by: Edgar Ramírez Mondragón <edgarrm358@gmail.com>
01abf60 to
51396a6
Compare
There was a problem hiding this comment.
Building pyodide wheels for cp315 fails:
Details
+ pyodide venv /tmp/cibw-run-mqiwed6o/cp315-pyodide_wasm32/venv-test
Creating Pyodide virtualenv at
/tmp/cibw-run-mqiwed6o/cp315-pyodide_wasm32/venv-test
... Configuring virtualenv
... Installing standard library
Successfully created Pyodide virtual environment!
+ which python
/tmp/cibw-run-mqiwed6o/cp315-pyodide_wasm32/venv-test/bin/python
+ pip install /tmp/cibw-run-mqiwed6o/cp315-pyodide_wasm32/repaired_wheel/msgspec-0.21.2.dev78+g21499cc6f-cp315-cp315-pyemscripten_2026_5_wasm32.whl
Looking in indexes: https://pypi.org/simple, file:///home/runner/.cache/cibuildwheel/pyodide-build-0.39.0/315.0.0a2/xbuildenv/pyodide-root/package_index
Processing /tmp/cibw-run-mqiwed6o/cp315-pyodide_wasm32/repaired_wheel/msgspec-0.21.2.dev78+g21499cc6f-cp315-cp315-pyemscripten_2026_5_wasm32.whl
Installing collected packages: msgspec
Successfully installed msgspec-0.21.2.dev78+g21499cc6f
+ pip install 'pytest>=9' pytest-randomly attrs coverage msgpack pyyaml 'tomli; python_version < "3.11"' tomli-w
Looking in indexes: https://pypi.org/simple, file:///home/runner/.cache/cibuildwheel/pyodide-build-0.39.0/315.0.0a2/xbuildenv/pyodide-root/package_index
Ignoring tomli: markers 'python_version < "3.11"' don't match your environment
Collecting pytest>=9
Using cached pytest-9.1.1-py3-none-any.whl.metadata (7.6 kB)
WARNING: Location 'file:///home/runner/.cache/cibuildwheel/pyodide-build-0.39.0/315.0.0a2/xbuildenv/pyodide-root/package_index/pytest-randomly/' is ignored: it is neither a file nor a directory.
Collecting pytest-randomly
Using cached pytest_randomly-4.1.0-py3-none-any.whl.metadata (8.6 kB)
WARNING: Location 'file:///home/runner/.cache/cibuildwheel/pyodide-build-0.39.0/315.0.0a2/xbuildenv/pyodide-root/package_index/attrs/' is ignored: it is neither a file nor a directory.
Collecting attrs
Using cached attrs-26.1.0-py3-none-any.whl.metadata (8.8 kB)
Collecting coverage
Using cached coverage-7.15.4-py3-none-any.whl.metadata (8.6 kB)
WARNING: Location 'file:///home/runner/.cache/cibuildwheel/pyodide-build-0.39.0/315.0.0a2/xbuildenv/pyodide-root/package_index/msgpack/' is ignored: it is neither a file nor a directory.
ERROR: Could not find a version that satisfies the requirement msgpack (from versions: none)
ERROR: No matching distribution found for msgpack
Error: cibuildwheel: Command ['/tmp/cibw-run-mqiwed6o/cp315-pyodide_wasm32/venv-test/bin/pip', 'install', 'pytest>=9', 'pytest-randomly', 'attrs', 'coverage', 'msgpack', 'pyyaml', 'tomli; python_version < "3.11"', 'tomli-w'] failed with code 1.
https://github.com/msgspec/msgspec/actions/runs/31529128437/job/93905120501?pr=1152
There was a problem hiding this comment.
ERROR: Could not find a version that satisfies the requirement msgpack (from versions: none)
Seems like msgpack doesn't ship weels for pyodide yet, but that's a dev dependency in the bench group
There was a problem hiding this comment.
Yeah, it doesn't ship wasm wheels at all, but the pyodide folks build them from source for a few select packages and publish them to their own index.
In particular, https://index.pyodide.org/314.0.6 has msgpack (1.1.2) wheels, but https://index.pyodide.org/315.0.0a2 doesn't (it has significantly fewer packages in general).
UPDATE: pyodide/pyodide-recipes#652 (comment)
UPDATE 2: msgpack/msgpack-python#732
2fb7319 to
1dd36d1
Compare
1dd36d1 to
51396a6
Compare
Blockers: - msgspec/msgspec#1152 - apache/arrow#48172 (scheduled for [26.0.0](https://github.com/apache/arrow/milestone/75)) ## Summary by Sourcery Add Python 3.15 support across package metadata, dependency resolution, version handling, and continuous integration. New Features: - Add Python 3.15 to the package’s supported versions and compatibility metadata. Enhancements: - Update version discovery tests and dependency resolution to support Python 3.15, including the required PyArrow nightly dependency source. CI: - Run the main test, documentation, dependency, contributor, package, and platform coverage against Python 3.15. - Align CodSpeed’s Python version with the repository’s configured version file and prevent pre-commit CI from running uv-lock. Tests: - Update supported-version tests to include Python 3.15. Signed-off-by: Edgar Ramírez Mondragón <edgarrm358@gmail.com>

#1146 bumped cibuildwheel to 4.2.0, which adds CPython 3.15 wheels by default, but this project uses a build list in
.cibuildwheel.tomlso they need to be selected explicitly.