Closed
Description
When installing coverage 7.8.2 via pip on CPython 3.9 to CPython 3.13, it will by default install a wheel that includes CTracer. However, when installing on CPython 3.14, coverage-7.8.2-py3-none-any.whl
will be installed. This is not optimal because it doesn’t contain CTracer although it would work on CPython 3.14.
I see two solutions:
- Publish wheels for CPython 3.14. Given that CPython 3.14 is now in beta, this may be justified. However, it might not be a good idea to do the same for future alpha releases (CPython 3.15 and above).
- Don’t publish an universal wheel. I think this will cause CTracer to be build on CPython 3.14. This is in conflict with the goal of Add py3-none-any wheel to distribution artefacts #1912. That issue said that “[publishing a py3-none-any wheel] would only affect users on niche platforms”. However, it also affects users of CPython 3.14 on mainstream platforms. Maybe there’s some solution solving both problems. (CC @freakboy3742)
A workaround is to disable wheels when installing coverage on CPython 3.14. However, that will always build from source, even when wheels including CTracer become available in the future.