Build CPython 3.13 by default (#1950)
* Build CPython 3.13 by default Enable building with CPython 3.13 by default, no longer requiring prerelease_pythons flag to be set true. * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * README.md: Add note about free-threaded support * build_selector_test.py: cp313t still behind flag Even with 3.13 being enabled by default, cp313t is still behind a flag for now. This commit updates the test accordingly. * fix unit tests --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: mayeut <mayeut@users.noreply.github.com>
This commit is contained in:
co-authored by
pre-commit-ci[bot]
mayeut
parent
8a69dbd9d4
commit
9d023cf77a
@@ -39,7 +39,7 @@ What does it do?
|
|||||||
|
|
||||||
<sup>¹ PyPy is only supported for manylinux wheels.</sup><br>
|
<sup>¹ PyPy is only supported for manylinux wheels.</sup><br>
|
||||||
<sup>² Windows arm64 support is experimental.</sup><br>
|
<sup>² Windows arm64 support is experimental.</sup><br>
|
||||||
<sup>³ CPython 3.13 is available using the [`CIBW_PRERELEASE_PYTHONS`](https://cibuildwheel.pypa.io/en/stable/options/#prerelease-pythons) option. Free-threaded mode requires opt-in.</sup><br>
|
<sup>³ CPython 3.13 is built by default using Python RCs, starting with cibuildwheel 2.20. Free-threaded mode will still require opt-in using [`CIBW_FREE_THREADED_SUPPORT`](https://cibuildwheel.pypa.io/en/stable/options/#free-threaded-support).</sup><br>
|
||||||
<sup>⁴ Experimental, not yet supported on PyPI, but can be used directly in web deployment. Use `--platform pyodide` to build.</sup><br>
|
<sup>⁴ Experimental, not yet supported on PyPI, but can be used directly in web deployment. Use `--platform pyodide` to build.</sup><br>
|
||||||
|
|
||||||
- Builds manylinux, musllinux, macOS 10.9+, and Windows wheels for CPython and PyPy
|
- Builds manylinux, musllinux, macOS 10.9+, and Windows wheels for CPython and PyPy
|
||||||
|
|||||||
@@ -248,7 +248,7 @@ class BuildSelector:
|
|||||||
requires_python: SpecifierSet | None = None
|
requires_python: SpecifierSet | None = None
|
||||||
|
|
||||||
# a pattern that skips prerelease versions, when include_prereleases is False.
|
# a pattern that skips prerelease versions, when include_prereleases is False.
|
||||||
PRERELEASE_SKIP: ClassVar[str] = "cp313-* cp313t-*"
|
PRERELEASE_SKIP: ClassVar[str] = ""
|
||||||
prerelease_pythons: bool = False
|
prerelease_pythons: bool = False
|
||||||
|
|
||||||
free_threaded_support: bool = False
|
free_threaded_support: bool = False
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ def test_build():
|
|||||||
assert build_selector("cp310-manylinux_x86_64")
|
assert build_selector("cp310-manylinux_x86_64")
|
||||||
assert build_selector("cp311-manylinux_x86_64")
|
assert build_selector("cp311-manylinux_x86_64")
|
||||||
assert build_selector("cp312-manylinux_x86_64")
|
assert build_selector("cp312-manylinux_x86_64")
|
||||||
assert not build_selector("cp313-manylinux_x86_64")
|
assert build_selector("cp313-manylinux_x86_64")
|
||||||
assert build_selector("pp36-manylinux_x86_64")
|
assert build_selector("pp36-manylinux_x86_64")
|
||||||
assert build_selector("pp37-manylinux_x86_64")
|
assert build_selector("pp37-manylinux_x86_64")
|
||||||
assert build_selector("cp36-manylinux_i686")
|
assert build_selector("cp36-manylinux_i686")
|
||||||
@@ -34,7 +34,7 @@ def test_build():
|
|||||||
assert build_selector("cp310-win_amd64")
|
assert build_selector("cp310-win_amd64")
|
||||||
assert build_selector("cp311-win_amd64")
|
assert build_selector("cp311-win_amd64")
|
||||||
assert build_selector("cp312-win_amd64")
|
assert build_selector("cp312-win_amd64")
|
||||||
assert not build_selector("cp313-win_amd64")
|
assert build_selector("cp313-win_amd64")
|
||||||
assert not build_selector("pp36-win_amd64")
|
assert not build_selector("pp36-win_amd64")
|
||||||
assert not build_selector("pp37-win_amd64")
|
assert not build_selector("pp37-win_amd64")
|
||||||
|
|
||||||
|
|||||||
@@ -71,9 +71,10 @@ def test_linux_container_split(tmp_path: Path, monkeypatch):
|
|||||||
"cp36-manylinux_x86_64",
|
"cp36-manylinux_x86_64",
|
||||||
"cp311-manylinux_x86_64",
|
"cp311-manylinux_x86_64",
|
||||||
"cp312-manylinux_x86_64",
|
"cp312-manylinux_x86_64",
|
||||||
|
"cp313-manylinux_x86_64",
|
||||||
]
|
]
|
||||||
assert before_alls(build_steps[0]) == [""] * 3
|
assert before_alls(build_steps[0]) == [""] * 4
|
||||||
assert container_engines(build_steps[0]) == [default_container_engine] * 3
|
assert container_engines(build_steps[0]) == [default_container_engine] * 4
|
||||||
|
|
||||||
assert build_steps[1].container_image == "other_container_image"
|
assert build_steps[1].container_image == "other_container_image"
|
||||||
assert identifiers(build_steps[1]) == ["cp37-manylinux_x86_64", "cp38-manylinux_x86_64"]
|
assert identifiers(build_steps[1]) == ["cp37-manylinux_x86_64", "cp38-manylinux_x86_64"]
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ ALL_IDS = {
|
|||||||
"cp310",
|
"cp310",
|
||||||
"cp311",
|
"cp311",
|
||||||
"cp312",
|
"cp312",
|
||||||
|
"cp313",
|
||||||
"pp37",
|
"pp37",
|
||||||
"pp38",
|
"pp38",
|
||||||
"pp39",
|
"pp39",
|
||||||
@@ -155,7 +156,8 @@ before-all = "true"
|
|||||||
identifiers = {x.identifier for x in kwargs["platform_configs"]}
|
identifiers = {x.identifier for x in kwargs["platform_configs"]}
|
||||||
assert identifiers == {
|
assert identifiers == {
|
||||||
f"{x}-manylinux_x86_64"
|
f"{x}-manylinux_x86_64"
|
||||||
for x in ALL_IDS - {"cp36", "cp310", "cp311", "cp312", "pp37", "pp38", "pp39", "pp310"}
|
for x in ALL_IDS
|
||||||
|
- {"cp36", "cp310", "cp311", "cp312", "cp313", "pp37", "pp38", "pp39", "pp310"}
|
||||||
}
|
}
|
||||||
assert kwargs["options"].build_options("cp37-manylinux_x86_64").before_all == ""
|
assert kwargs["options"].build_options("cp37-manylinux_x86_64").before_all == ""
|
||||||
|
|
||||||
@@ -166,7 +168,7 @@ before-all = "true"
|
|||||||
identifiers = {x.identifier for x in kwargs["platform_configs"]}
|
identifiers = {x.identifier for x in kwargs["platform_configs"]}
|
||||||
assert identifiers == {
|
assert identifiers == {
|
||||||
f"{x}-manylinux_x86_64"
|
f"{x}-manylinux_x86_64"
|
||||||
for x in ["cp310", "cp311", "cp312", "pp37", "pp38", "pp39", "pp310"]
|
for x in ["cp310", "cp311", "cp312", "cp313", "pp37", "pp38", "pp39", "pp310"]
|
||||||
}
|
}
|
||||||
|
|
||||||
kwargs = build_in_container.call_args_list[3][1]
|
kwargs = build_in_container.call_args_list[3][1]
|
||||||
|
|||||||
Reference in New Issue
Block a user