Skip to content

maint: bump cibuildwheel, mpfr and flint#283

Merged
oscarbenjamin merged 3 commits intoflintlib:mainfrom
oscarbenjamin:pr_cython_31
May 25, 2025
Merged

maint: bump cibuildwheel, mpfr and flint#283
oscarbenjamin merged 3 commits intoflintlib:mainfrom
oscarbenjamin:pr_cython_31

Conversation

@oscarbenjamin
Copy link
Copy Markdown
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
Copy Markdown
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.

Comment thread pyproject.toml Outdated
Comment thread 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
Copy Markdown

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
Copy Markdown
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.

Comment thread pyproject.toml
skip = "*-win32 *-manylinux_i686 *-musllinux_*"

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

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
Copy Markdown
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
Copy Markdown
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