feat: drop python 3.6 & 3.7 support (#2282)
This commit is contained in:
+36
-46
@@ -161,15 +161,15 @@ which means it can be given multiple times.
|
||||
manylinux-x86_64-image = "manylinux2014"
|
||||
|
||||
[[tool.cibuildwheel.overrides]]
|
||||
select = "cp36-*"
|
||||
select = "cp38-*"
|
||||
manylinux-x86_64-image = "manylinux1"
|
||||
|
||||
[[tool.cibuildwheel.overrides]]
|
||||
select = "cp3{7,8,9}-*"
|
||||
select = "cp3{9,10}-*"
|
||||
manylinux-x86_64-image = "manylinux2010"
|
||||
```
|
||||
|
||||
This example will build CPython 3.6 wheels on manylinux1, CPython 3.7-3.9
|
||||
This example will build CPython 3.8 wheels on manylinux1, CPython 3.9-3.10
|
||||
wheels on manylinux2010, and manylinux2014 wheels for any newer Python
|
||||
(like 3.10).
|
||||
|
||||
@@ -290,15 +290,12 @@ When setting the options, you can use shell-style globbing syntax, as per [fnmat
|
||||
|
||||
| | macOS | Windows | Linux Intel | Linux Other |
|
||||
|---------------|------------------------------------------------------------------------|-----------------------------------------------------|-----------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| Python 3.6 | cp36-macosx_x86_64 | cp36-win_amd64<br/>cp36-win32 | cp36-manylinux_x86_64<br/>cp36-manylinux_i686<br/>cp36-musllinux_x86_64<br/>cp36-musllinux_i686 | cp36-manylinux_aarch64<br/>cp36-manylinux_ppc64le<br/>cp36-manylinux_s390x<br/>cp36-manylinux_armv7l<br/>cp36-musllinux_aarch64<br/>cp36-musllinux_ppc64le<br/>cp36-musllinux_s390x<br/>cp36-musllinux_armv7l |
|
||||
| Python 3.7 | cp37-macosx_x86_64 | cp37-win_amd64<br/>cp37-win32 | cp37-manylinux_x86_64<br/>cp37-manylinux_i686<br/>cp37-musllinux_x86_64<br/>cp37-musllinux_i686 | cp37-manylinux_aarch64<br/>cp37-manylinux_ppc64le<br/>cp37-manylinux_s390x<br/>cp37-manylinux_armv7l<br/>cp37-musllinux_aarch64<br/>cp37-musllinux_ppc64le<br/>cp37-musllinux_s390x<br/>cp37-musllinux_armv7l |
|
||||
| Python 3.8 | cp38-macosx_x86_64<br/>cp38-macosx_universal2<br/>cp38-macosx_arm64 | cp38-win_amd64<br/>cp38-win32 | cp38-manylinux_x86_64<br/>cp38-manylinux_i686<br/>cp38-musllinux_x86_64<br/>cp38-musllinux_i686 | cp38-manylinux_aarch64<br/>cp38-manylinux_ppc64le<br/>cp38-manylinux_s390x<br/>cp38-manylinux_armv7l<br/>cp38-musllinux_aarch64<br/>cp38-musllinux_ppc64le<br/>cp38-musllinux_s390x<br/>cp38-musllinux_armv7l |
|
||||
| Python 3.9 | cp39-macosx_x86_64<br/>cp39-macosx_universal2<br/>cp39-macosx_arm64 | cp39-win_amd64<br/>cp39-win32<br/>cp39-win_arm64 | cp39-manylinux_x86_64<br/>cp39-manylinux_i686<br/>cp39-musllinux_x86_64<br/>cp39-musllinux_i686 | cp39-manylinux_aarch64<br/>cp39-manylinux_ppc64le<br/>cp39-manylinux_s390x<br/>cp39-manylinux_armv7l<br/>cp39-musllinux_aarch64<br/>cp39-musllinux_ppc64le<br/>cp39-musllinux_s390x<br/>cp39-musllinux_armv7l |
|
||||
| Python 3.10 | cp310-macosx_x86_64<br/>cp310-macosx_universal2<br/>cp310-macosx_arm64 | cp310-win_amd64<br/>cp310-win32<br/>cp310-win_arm64 | cp310-manylinux_x86_64<br/>cp310-manylinux_i686<br/>cp310-musllinux_x86_64<br/>cp310-musllinux_i686 | cp310-manylinux_aarch64<br/>cp310-manylinux_ppc64le<br/>cp310-manylinux_s390x<br/>cp310-manylinux_armv7l<br/>cp310-musllinux_aarch64<br/>cp310-musllinux_ppc64le<br/>cp310-musllinux_s390x<br/>cp310-musllinux_armv7l |
|
||||
| Python 3.11 | cp311-macosx_x86_64<br/>cp311-macosx_universal2<br/>cp311-macosx_arm64 | cp311-win_amd64<br/>cp311-win32<br/>cp311-win_arm64 | cp311-manylinux_x86_64<br/>cp311-manylinux_i686<br/>cp311-musllinux_x86_64<br/>cp311-musllinux_i686 | cp311-manylinux_aarch64<br/>cp311-manylinux_ppc64le<br/>cp311-manylinux_s390x<br/>cp311-manylinux_armv7l<br/>cp311-musllinux_aarch64<br/>cp311-musllinux_ppc64le<br/>cp311-musllinux_s390x<br/>cp311-musllinux_armv7l |
|
||||
| Python 3.12 | cp312-macosx_x86_64<br/>cp312-macosx_universal2<br/>cp312-macosx_arm64 | cp312-win_amd64<br/>cp312-win32<br/>cp312-win_arm64 | cp312-manylinux_x86_64<br/>cp312-manylinux_i686<br/>cp312-musllinux_x86_64<br/>cp312-musllinux_i686 | cp312-manylinux_aarch64<br/>cp312-manylinux_ppc64le<br/>cp312-manylinux_s390x<br/>cp312-musllinux_armv7l<br/>cp312-musllinux_ppc64le<br/>cp312-musllinux_s390x<br/>cp312-musllinux_armv7l |
|
||||
| Python 3.13 | cp313-macosx_x86_64<br/>cp313-macosx_universal2<br/>cp313-macosx_arm64 | cp313-win_amd64<br/>cp313-win32<br/>cp313-win_arm64 | cp313-manylinux_x86_64<br/>cp313-manylinux_i686<br/>cp313-musllinux_x86_64<br/>cp313-musllinux_i686 | cp313-manylinux_aarch64<br/>cp313-manylinux_ppc64le<br/>cp313-manylinux_s390x<br/>cp313-manylinux_armv7l<br/>cp313-musllinux_aarch64<br/>cp313-musllinux_ppc64le<br/>cp313-musllinux_s390x<br/>cp313-musllinux_armv7l |
|
||||
| PyPy3.7 v7.3 | pp37-macosx_x86_64 | pp37-win_amd64 | pp37-manylinux_x86_64<br/>pp37-manylinux_i686 | pp37-manylinux_aarch64 |
|
||||
| PyPy3.8 v7.3 | pp38-macosx_x86_64<br/>pp38-macosx_arm64 | pp38-win_amd64 | pp38-manylinux_x86_64<br/>pp38-manylinux_i686 | pp38-manylinux_aarch64 |
|
||||
| PyPy3.9 v7.3 | pp39-macosx_x86_64<br/>pp39-macosx_arm64 | pp39-win_amd64 | pp39-manylinux_x86_64<br/>pp39-manylinux_i686 | pp39-manylinux_aarch64 |
|
||||
| PyPy3.10 v7.3 | pp310-macosx_x86_64<br/>pp310-macosx_arm64 | pp310-win_amd64 | pp310-manylinux_x86_64<br/>pp310-manylinux_i686 | pp310-manylinux_aarch64 |
|
||||
@@ -311,10 +308,10 @@ The lowest value you can set `MACOSX_DEPLOYMENT_TARGET` is as follows:
|
||||
|
||||
| Arch | Python version range | Minimum target |
|
||||
|-------|----------------------|----------------|
|
||||
| Intel | CPython 3.6-3.11 | 10.9 |
|
||||
| Intel | CPython 3.8-3.11 | 10.9 |
|
||||
| Intel | CPython 3.12+ | 10.13 |
|
||||
| AS | CPython or PyPy | 11 |
|
||||
| Intel | PyPy 3.7-3.8 | 10.13 |
|
||||
| Intel | PyPy 3.8 | 10.13 |
|
||||
| Intel | PyPy 3.9+ | 10.15 |
|
||||
|
||||
If you set the value lower, cibuildwheel will cap it to the lowest supported value for each target as needed.
|
||||
@@ -331,29 +328,26 @@ See the [cibuildwheel 1 documentation](https://cibuildwheel.pypa.io/en/1.x/) for
|
||||
!!! tab examples "Environment variables"
|
||||
|
||||
```yaml
|
||||
# Only build on CPython 3.6
|
||||
CIBW_BUILD: cp36-*
|
||||
|
||||
# Skip building on CPython 3.6 on the Mac
|
||||
CIBW_SKIP: cp36-macosx_x86_64
|
||||
# Only build on CPython 3.8
|
||||
CIBW_BUILD: cp38-*
|
||||
|
||||
# Skip building on CPython 3.8 on the Mac
|
||||
CIBW_SKIP: cp38-macosx_x86_64
|
||||
|
||||
# Skip building on CPython 3.6 on all platforms
|
||||
CIBW_SKIP: cp36-*
|
||||
# Skip building on CPython 3.8 on all platforms
|
||||
CIBW_SKIP: cp38-*
|
||||
|
||||
# Skip CPython 3.6 on Windows
|
||||
CIBW_SKIP: cp36-win*
|
||||
# Skip CPython 3.8 on Windows
|
||||
CIBW_SKIP: cp38-win*
|
||||
|
||||
# Skip CPython 3.6 on 32-bit Windows
|
||||
CIBW_SKIP: cp36-win32
|
||||
# Skip CPython 3.8 on 32-bit Windows
|
||||
CIBW_SKIP: cp38-win32
|
||||
|
||||
# Skip CPython 3.6 and CPython 3.7
|
||||
CIBW_SKIP: cp36-* cp37-*
|
||||
# Skip CPython 3.8 and CPython 3.9
|
||||
CIBW_SKIP: cp38-* cp39-*
|
||||
|
||||
# Skip Python 3.6 on Linux
|
||||
CIBW_SKIP: cp36-manylinux*
|
||||
# Skip Python 3.8 on Linux
|
||||
CIBW_SKIP: cp38-manylinux*
|
||||
|
||||
# Skip 32-bit builds
|
||||
CIBW_SKIP: "*-win32 *-manylinux_i686"
|
||||
@@ -368,29 +362,26 @@ See the [cibuildwheel 1 documentation](https://cibuildwheel.pypa.io/en/1.x/) for
|
||||
|
||||
```toml
|
||||
[tool.cibuildwheel]
|
||||
# Only build on CPython 3.6
|
||||
build = "cp36-*"
|
||||
|
||||
# Skip building on CPython 3.6 on the Mac
|
||||
skip = "cp36-macosx_x86_64"
|
||||
# Only build on CPython 3.8
|
||||
build = "cp38-*"
|
||||
|
||||
# Skip building on CPython 3.8 on the Mac
|
||||
skip = "cp38-macosx_x86_64"
|
||||
|
||||
# Skip building on CPython 3.6 on all platforms
|
||||
skip = "cp36-*"
|
||||
# Skip building on CPython 3.8 on all platforms
|
||||
skip = "cp38-*"
|
||||
|
||||
# Skip CPython 3.6 on Windows
|
||||
skip = "cp36-win*"
|
||||
# Skip CPython 3.8 on Windows
|
||||
skip = "cp38-win*"
|
||||
|
||||
# Skip CPython 3.6 on 32-bit Windows
|
||||
skip = "cp36-win32"
|
||||
# Skip CPython 3.8 on 32-bit Windows
|
||||
skip = "cp38-win32"
|
||||
|
||||
# Skip CPython 3.6 and CPython 3.7
|
||||
skip = ["cp36-*", "cp37-*"]
|
||||
# Skip CPython 3.8 and CPython 3.9
|
||||
skip = ["cp38-*", "cp39-*"]
|
||||
|
||||
# Skip Python 3.6 on Linux
|
||||
skip = "cp36-manylinux*"
|
||||
# Skip Python 3.8 on Linux
|
||||
skip = "cp38-manylinux*"
|
||||
|
||||
# Skip 32-bit builds
|
||||
skip = ["*-win32", "*-manylinux_i686"]
|
||||
@@ -518,7 +509,7 @@ simple keyword assignment in a top level function call. If you need to override
|
||||
this behaviour for some reason, you can use this option.
|
||||
|
||||
When setting this option, the syntax is the same as `project.requires-python`,
|
||||
using 'version specifiers' like `>=3.6`, according to
|
||||
using 'version specifiers' like `>=3.8`, according to
|
||||
[PEP440](https://www.python.org/dev/peps/pep-0440/#version-specifiers).
|
||||
|
||||
Default: reads your package's Python compatibility from `pyproject.toml`
|
||||
@@ -539,7 +530,7 @@ the package is compatible with all versions of Python that it can build.
|
||||
```toml
|
||||
[project]
|
||||
...
|
||||
requires-python = ">=3.6"
|
||||
requires-python = ">=3.8"
|
||||
```
|
||||
|
||||
Note that not all build backends fully support using a `[project]` table yet;
|
||||
@@ -555,7 +546,7 @@ the package is compatible with all versions of Python that it can build.
|
||||
!!! tab examples "Environment variables"
|
||||
|
||||
```yaml
|
||||
CIBW_PROJECT_REQUIRES_PYTHON: ">=3.6"
|
||||
CIBW_PROJECT_REQUIRES_PYTHON: ">=3.8"
|
||||
```
|
||||
|
||||
### `CIBW_ENABLE` {: #enable}
|
||||
@@ -683,10 +674,9 @@ possible, both through `--installer=uv` passed to build, as well as when making
|
||||
all build and test environments. This will generally speed up cibuildwheel.
|
||||
Make sure you have an external uv on Windows and macOS, either by
|
||||
pre-installing it, or installing cibuildwheel with the uv extra,
|
||||
`cibuildwheel[uv]`. `uv` will not be used for Python 3.6 or Python 3.7. You
|
||||
cannot use uv currently on Windows for ARM or for musllinux on s390x as
|
||||
binaries are not provided by uv. Legacy dependencies like setuptools on Python
|
||||
< 3.12 and pip are not installed if using uv.
|
||||
`cibuildwheel[uv]`. You cannot use uv currently on Windows for ARM or for
|
||||
musllinux on s390x as binaries are not provided by uv. Legacy dependencies like
|
||||
setuptools on Python < 3.12 and pip are not installed if using uv.
|
||||
|
||||
Pyodide ignores this setting, as only "build" is supported.
|
||||
|
||||
@@ -1389,7 +1379,7 @@ here and it will be used instead.
|
||||
If you need different dependencies for each python version, provide them
|
||||
in the same folder with a `-pythonXY` suffix. e.g. if your
|
||||
`CIBW_DEPENDENCY_VERSIONS=./constraints.txt`, cibuildwheel will use
|
||||
`./constraints-python37.txt` on Python 3.7, or fallback to
|
||||
`./constraints-python38.txt` on Python 3.8, or fallback to
|
||||
`./constraints.txt` if that's not found.
|
||||
|
||||
Platform-specific environment variables are also available:<br/>
|
||||
|
||||
+3
-3
@@ -100,11 +100,11 @@ You can override the cache folder using the ``CIBW_CACHE_PATH`` environment vari
|
||||
CPython:
|
||||
|
||||
```console
|
||||
Error: CPython 3.6 is not installed.
|
||||
Error: CPython 3.9 is not installed.
|
||||
cibuildwheel will not perform system-wide installs when running outside of CI.
|
||||
To build locally, install CPython 3.6 on this machine, or, disable this version of Python using CIBW_SKIP=cp36-macosx_*
|
||||
To build locally, install CPython 3.9 on this machine, or, disable this version of Python using CIBW_SKIP=cp39-macosx_*
|
||||
|
||||
Download link: https://www.python.org/ftp/python/3.6.8/python-3.6.8-macosx10.9.pkg
|
||||
Download link: https://www.python.org/ftp/python/3.9.8/python-3.9.8-macosx10.9.pkg
|
||||
```
|
||||
|
||||
### Pyodide (WebAssembly) builds (experimental)
|
||||
|
||||
Reference in New Issue
Block a user