From 6748eb2358929e4d25cb2d03ed7f2e3aa6fe8354 Mon Sep 17 00:00:00 2001 From: Oscar Benjamin Date: Sat, 24 May 2025 21:43:02 +0100 Subject: [PATCH] maint: bump max Cython version and add pypy wheels --- .github/workflows/buildwheel.yml | 5 +++-- meson.build | 2 +- pyproject.toml | 12 ++++++------ 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/.github/workflows/buildwheel.yml b/.github/workflows/buildwheel.yml index 8c996dd1..01a85140 100644 --- a/.github/workflows/buildwheel.yml +++ b/.github/workflows/buildwheel.yml @@ -42,7 +42,7 @@ jobs: if: ${{ matrix.os == 'windows-2019' }} - name: Build wheels - uses: pypa/cibuildwheel@v2.23.3 + uses: pypa/cibuildwheel@d04cacbc9866d432033b1d09142936e6a0e2121a # v2.23.2 env: # override setting in pyproject.toml to use msys2 instead of msys64 bash CIBW_BEFORE_ALL_WINDOWS: msys2 -c bin/cibw_before_all_windows.sh @@ -86,12 +86,13 @@ jobs: os: [ubuntu-24.04, ubuntu-24.04-arm, windows-2019, macos-13, macos-14] # This list to be kept in sync with cibuildwheel config # and python-requires in pyproject.toml. - python-version: ['3.11', '3.12', '3.13', '3.13t'] # , 'pypy3.10'] + python-version: ['3.11', '3.12', '3.13', '3.13t', 'pypy3.11'] steps: - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} + allow-prereleases: true - uses: actions/download-artifact@v4 with: name: wheels-${{ matrix.os }} diff --git a/meson.build b/meson.build index 40720356..a3963a80 100644 --- a/meson.build +++ b/meson.build @@ -14,7 +14,7 @@ project( flint_lower = '>=3.0' flint_upper = '<3.3' cython_lower = '>=3.0.11' -cython_upper = '<=3.1.0a1' +cython_upper = '<3.2' py = import('python').find_installation(pure: false) dep_py = py.dependency() diff --git a/pyproject.toml b/pyproject.toml index 26d8c841..dd77941a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -28,16 +28,16 @@ content-type = "text/markdown" # Minimum build requirements tested in CI need to be kept in sync with the # versions in requires below so that they are tested. # -# To support the freethreaded build (CPython 3.13t) the alpha release 3.1.0a1 -# of Cython is needed as a minimum requirement. It is possible that future -# versions of Cython might still work but typically a Cython release breaks -# something in the build of python-flint so we pin the exact version here. +# To support the freethreaded build (CPython 3.13t) version 3.1.0 of Cython is +# needed as a minimum requirement. It is possible that future versions of +# Cython might still work but typically a Cython release breaks something in +# the build of python-flint so we include an upper bound here. # # Apart from the freethreading build any Cython version from 3.0.11 onwards is # fine. It is not possible to have a separate version constraint here for the # freethreading build only though. # -requires = ["meson-python>=0.13", "cython==3.1.0a1"] +requires = ["meson-python >= 0.13", "cython >=3.1,<3.2"] build-backend = "mesonpy" [tool.cython-lint] @@ -82,7 +82,7 @@ package = "flint" [tool.cibuildwheel] # requires-python needs to keep in sync with this and also the list of Python # versions the wheels are tested against in CI. -build = "cp311-* cp312-* cp313-* cp313t-*" # pp311-*" +build = "cp311-* cp312-* cp313-* cp313t-* pp311-*" skip = "*-win32 *-manylinux_i686 *-musllinux_*" # Enable building for free-threaded CPython builds