Skip to content

Conversation

oscarbenjamin
Copy link
Collaborator

Bump version constraints for Cython 3.1.

@oscarbenjamin oscarbenjamin added the dependencies Pull requests that update a dependency file label May 24, 2025
@oscarbenjamin oscarbenjamin force-pushed the pr_cython_31 branch 2 times, most recently from 4ef3372 to 31218df Compare May 24, 2025 22:31
@oscarbenjamin
Copy link
Collaborator Author

The manylinux arm job is building too many wheels. Reported at pypa/cibuildwheel#2412 so I will leave this PR open as a demonstration and make a new separate PR to fix the Cython version.

pyproject.toml Outdated
Comment on lines 83 to 85
# 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-* cp314-* cp314t-* pp311-*"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

By default, cibuildwheels will only build what's possible given requires-python.
I often find easier not to specify build in the configuration but only setting skip.
In this case, adding pp310-* to the skip config allows to drop the build config.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, that would be better. The comment above notes the awkwardness.

skip = "*-win32 *-manylinux_i686 *-musllinux_*"

# Enable building for free-threaded CPython builds
enable = ["cpython-freethreading"]
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The environment variable & toml setting are additive for enable, it might be better to keep the static config in pyproject.toml and only add cpython-prerelease in the workflow (you can also add a condition on tags if you don't want to forget to remove it before a release).

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. I don't think I want to have cpython-prerelease there at all actually (now that I have already confirmed that it works). For a moment it seemed like a good way to keep up to date with changes in 3.14 but actually I think it would be better just to have a job that builds fresh rather than messing with the wheel building configuration.

@oscarbenjamin
Copy link
Collaborator Author

Okay, this has produced the expected number of wheels now:

5 wheels produced in 10 minutes:
  python_flint-0.7.1-cp311-cp311-manylinux_2_28_aarch64.whl          11,292 kB
  python_flint-0.7.1-cp312-cp312-manylinux_2_28_aarch64.whl          11,200 kB
  python_flint-0.7.1-cp313-cp313-manylinux_2_28_aarch64.whl          11,186 kB
  python_flint-0.7.1-cp313-cp313t-manylinux_2_28_aarch64.whl         11,279 kB
  python_flint-0.7.1-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl   10,965 kB

Thanks @mayeut for your help!

@oscarbenjamin oscarbenjamin changed the title maint: bump max Cython version and add 3.14 in CI maint: bump to cibuildwheel 3.0.0b1 May 25, 2025
@oscarbenjamin oscarbenjamin changed the title maint: bump to cibuildwheel 3.0.0b1 maint: bump cibuildwheel, mpfr and flint May 25, 2025
@oscarbenjamin oscarbenjamin merged commit 40edeb6 into flintlib:main May 25, 2025
46 checks passed
@oscarbenjamin oscarbenjamin deleted the pr_cython_31 branch May 26, 2025 10:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants