feat: add CPython 3.10 pre-release support (#675)
* Add CPython 3.10 support * Fix logger displaying CPython 3.1 instead of 3.10 * Fix tests failing with CPython 3.10 * Use pytest instead of nose * feat: --pre flag Apply suggestions from code review Co-authored-by: Matthieu Darbois <mayeut@users.noreply.github.com> * fix: update Python update script to process beta versions * refactor: prerelease-pythons * Use `strtobool` to parse `CIBW_PRERELEASE_PYTHONS` env var * Update python version filtering for universal2 & arm64 * Filter out CPython 3.10 and above for `test_manylinuxXXXX_only[manylinux1]` test * Use CIBW_BUILD filtering rather than CIBW_SKIP for test_docker_images * Use skip_patterns to filter out pre-releases * Use `prerelease_pythons` instead of `pre` * Reword `CIBW_PRERELEASE_PYTHONS` doc per review. * Use `CIBW_PRERELEASE_PYTHONS: True` for usage example. * Update `cibuildwheel --help` doc * docs: add note on spec.filter * Clean up the BuildSelector __repr__ by refactoring * fix: remove platform variants for CIBW_PRERELEASE_PYTHONS * docs: mention the flag Co-authored-by: Henry Schreiner <henryschreineriii@gmail.com> Co-authored-by: Joe Rickerby <joerick@mac.com>
This commit is contained in:
co-authored by
Henry Schreiner
Joe Rickerby
parent
f294cab7aa
commit
5b22fc636b
+30
-2
@@ -299,6 +299,32 @@ the package is compatible with all versions of Python that it can build.
|
||||
CIBW_PROJECT_REQUIRES_PYTHON: ">=3.6"
|
||||
```
|
||||
|
||||
### `CIBW_PRERELEASE_PYTHONS` {: #prerelease-pythons}
|
||||
> Enable building with pre-release versions of Python
|
||||
|
||||
During the beta period, when new versions of Python are being tested,
|
||||
cibuildwheel will often gain early support for beta releases. If you would
|
||||
like to test wheel building with these versions, you can enable this flag.
|
||||
|
||||
!!! caution
|
||||
This option is provided for testing purposes only. It is not
|
||||
recommended to distribute wheels built when `CIBW_PRERELEASE_PYTHONS` is
|
||||
set, such as uploading to PyPI. Please _do not_ upload these wheels to
|
||||
PyPI, as they are not guaranteed to work with the final Python release.
|
||||
Once Python is ABI stable and enters the release candidate phase, that
|
||||
version of Python will become available without this flag.
|
||||
|
||||
Default: Off (0) if Python is available in beta phase. No effect otherwise.
|
||||
|
||||
This option can also be set using the [command-line option](#command-line) `--prerelease-pythons`.
|
||||
|
||||
#### Examples
|
||||
|
||||
```yaml
|
||||
# Include latest Python beta
|
||||
CIBW_PRERELEASE_PYTHONS: True
|
||||
```
|
||||
|
||||
## Build customization
|
||||
|
||||
### `CIBW_ENVIRONMENT` {: #environment}
|
||||
@@ -715,6 +741,7 @@ CIBW_BUILD_VERBOSITY: 1
|
||||
usage: cibuildwheel [-h] [--platform {auto,linux,macos,windows}]
|
||||
[--archs ARCHS] [--output-dir OUTPUT_DIR]
|
||||
[--print-build-identifiers] [--allow-empty]
|
||||
[--prerelease-pythons]
|
||||
[package_dir]
|
||||
|
||||
Build wheels for all the platforms.
|
||||
@@ -741,8 +768,8 @@ optional arguments:
|
||||
natively supported on this machine. Set this option to
|
||||
build an architecture via emulation, for example,
|
||||
using binfmt_misc and QEMU. Default: auto. Choices:
|
||||
auto, native, all, x86_64, i686, aarch64, ppc64le,
|
||||
s390x, x86, AMD64
|
||||
auto, auto64, auto32, native, all, x86_64, i686,
|
||||
aarch64, ppc64le, s390x, universal2, arm64, x86, AMD64
|
||||
--output-dir OUTPUT_DIR
|
||||
Destination folder for the wheels.
|
||||
--print-build-identifiers
|
||||
@@ -750,6 +777,7 @@ optional arguments:
|
||||
invocation and exit.
|
||||
--allow-empty Do not report an error code if the build does not
|
||||
match any wheels.
|
||||
--prerelease-pythons Enable pre-release Python versions if available.
|
||||
```
|
||||
|
||||
<style>
|
||||
|
||||
Reference in New Issue
Block a user