feat: drop python 3.6 & 3.7 support (#2282)

This commit is contained in:
Matthieu Darbois
2025-02-25 14:23:01 -05:00
committed by GitHub
parent e061af0b82
commit 7e5810c550
19 changed files with 107 additions and 262 deletions
+2 -2
View File
@@ -40,7 +40,7 @@ def test(tmp_path):
add_env={
"CIBW_MANYLINUX_X86_64_IMAGE": "dockcross/manylinux2014-x64",
"CIBW_MANYLINUX_I686_IMAGE": "dockcross/manylinux2014-x86",
"CIBW_BUILD": "cp3{6,7,8,9}-manylinux*",
"CIBW_BUILD": "cp3{8,9}-manylinux*",
},
)
@@ -48,6 +48,6 @@ def test(tmp_path):
expected_wheels = [
w
for w in utils.expected_wheels("spam", "0.1.0", musllinux_versions=[])
if "-cp36-" in w or "-cp37-" in w or "-cp38-" in w or "-cp39-" in w
if "-cp38-" in w or "-cp39-" in w
]
assert set(actual_wheels) == set(expected_wheels)
+2 -6
View File
@@ -1,6 +1,5 @@
from __future__ import annotations
import platform
import re
import textwrap
from pathlib import Path
@@ -53,12 +52,10 @@ def get_versions_from_constraint_file(constraint_file: Path) -> dict[str, str]:
return dict(re.findall(VERSION_REGEX, constraint_file_text))
@pytest.mark.parametrize("python_version", ["3.6", "3.8", "3.12"])
@pytest.mark.parametrize("python_version", ["3.8", "3.12"])
def test_pinned_versions(tmp_path, python_version, build_frontend_env_nouv):
if utils.platform == "linux":
pytest.skip("linux doesn't pin individual tool versions, it pins manylinux images instead")
if python_version == "3.6" and utils.platform == "macos" and platform.machine() == "arm64":
pytest.skip("macOS arm64 does not support Python 3.6")
if python_version != "3.12" and utils.platform == "pyodide":
pytest.skip(f"pyodide does not support Python {python_version}")
@@ -132,12 +129,11 @@ def test_dependency_constraints_file(tmp_path, build_frontend_env_nouv):
add_env={
"CIBW_ENVIRONMENT": cibw_environment_option,
"CIBW_DEPENDENCY_VERSIONS": str(constraints_file),
"CIBW_SKIP": "cp36-*",
**build_frontend_env_nouv,
},
)
# also check that we got the right wheels
expected_wheels = [w for w in utils.expected_wheels("spam", "0.1.0") if "-cp36" not in w]
expected_wheels = utils.expected_wheels("spam", "0.1.0")
assert set(actual_wheels) == set(expected_wheels)
+2 -5
View File
@@ -198,8 +198,6 @@ def expected_wheels(
python_abi_tags = ["cp312-cp312"]
if python_abi_tags is None:
python_abi_tags = [
"cp36-cp36m",
"cp37-cp37m",
"cp38-cp38",
"cp39-cp39",
"cp310-cp310",
@@ -211,7 +209,6 @@ def expected_wheels(
if machine_arch in ["x86_64", "AMD64", "x86", "aarch64"]:
python_abi_tags += [
"pp37-pypy37_pp73",
"pp38-pypy38_pp73",
"pp39-pypy39_pp73",
"pp310-pypy310_pp73",
@@ -297,12 +294,12 @@ def expected_wheels(
elif platform == "macos":
if python_abi_tag.startswith("pp"):
if python_abi_tag.startswith(("pp37", "pp38")):
if python_abi_tag.startswith("pp38"):
min_macosx = macosx_deployment_target
else:
min_macosx = _floor_macosx(macosx_deployment_target, "10.15")
elif python_abi_tag.startswith("cp"):
if python_abi_tag.startswith(("cp36", "cp37", "cp38", "cp39", "cp310", "cp311")):
if python_abi_tag.startswith(("cp38", "cp39", "cp310", "cp311")):
min_macosx = macosx_deployment_target
else:
min_macosx = _floor_macosx(macosx_deployment_target, "10.13")