Added free-threaded non-GIL Python and PyPy wheels, up to 3.15 now.
This commit is contained in:
+21
-14
@@ -7,22 +7,24 @@ import subprocess
|
|||||||
import sys
|
import sys
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
import tomllib
|
|
||||||
from packaging.specifiers import SpecifierSet
|
|
||||||
from packaging.version import Version
|
from packaging.version import Version
|
||||||
|
|
||||||
# Import generate module from same directory
|
# Import generate module from same directory
|
||||||
sys.path.insert(0, str(Path(__file__).parent))
|
sys.path.insert(0, str(Path(__file__).parent))
|
||||||
import generate
|
import generate
|
||||||
|
|
||||||
|
PYTHON_VERSIONS = [
|
||||||
def get_python_versions():
|
"3.10",
|
||||||
"""Get supported Python versions."""
|
"3.11",
|
||||||
pyproject_toml = Path(__file__).parent.parent / "pyproject.toml"
|
"3.12",
|
||||||
data = tomllib.loads(pyproject_toml.read_text(encoding="utf-8"))
|
"3.13",
|
||||||
spec = SpecifierSet(data["project"]["requires-python"])
|
"3.14",
|
||||||
# Generate versions that match the specifier (up to Python 3.14)
|
"3.14t",
|
||||||
return [f"3.{minor}" for minor in range(10, 15) if f"3.{minor}" in spec]
|
"3.15",
|
||||||
|
"3.15t",
|
||||||
|
"pypy3.10",
|
||||||
|
"pypy3.11",
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
def get_version_from_scm():
|
def get_version_from_scm():
|
||||||
@@ -92,9 +94,6 @@ def make_release_message(version):
|
|||||||
return msg
|
return msg
|
||||||
|
|
||||||
|
|
||||||
PYTHON_VERSIONS = get_python_versions()
|
|
||||||
|
|
||||||
|
|
||||||
def run_command(cmd, description):
|
def run_command(cmd, description):
|
||||||
"""Run a command and handle errors."""
|
"""Run a command and handle errors."""
|
||||||
print(f"\n{'=' * 70}")
|
print(f"\n{'=' * 70}")
|
||||||
@@ -204,7 +203,15 @@ def main():
|
|||||||
continue
|
continue
|
||||||
|
|
||||||
# Find the wheel for this version
|
# Find the wheel for this version
|
||||||
wheel_pattern = f"aeg-*-cp{py_version.replace('.', '')}-*.whl"
|
if py_version.startswith("pypy"):
|
||||||
|
# PyPy wheels use pp3XX format
|
||||||
|
wheel_pattern = (
|
||||||
|
f"aeg-*-pp{py_version.replace('pypy', '').replace('.', '')}-*.whl"
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
wheel_pattern = (
|
||||||
|
f"aeg-*-cp{py_version.replace('.', '').replace('t', '')}-*.whl"
|
||||||
|
)
|
||||||
wheels = list(dist_dir.glob(wheel_pattern))
|
wheels = list(dist_dir.glob(wheel_pattern))
|
||||||
if not wheels:
|
if not wheels:
|
||||||
print(f"✗ Could not find wheel for Python {py_version}", file=sys.stderr)
|
print(f"✗ Could not find wheel for Python {py_version}", file=sys.stderr)
|
||||||
|
|||||||
Reference in New Issue
Block a user