Skip to content

Update pyproject.toml to support building wheels for Python 3.14 - #1106

Open
mhucka wants to merge 8 commits into
quantumlib:mainfrom
mhucka:add-py314
Open

Update pyproject.toml to support building wheels for Python 3.14#1106
mhucka wants to merge 8 commits into
quantumlib:mainfrom
mhucka:add-py314

Conversation

@mhucka

@mhucka mhucka commented Sep 1, 2026

Copy link
Copy Markdown
Collaborator

This partly resolves #1017. This PR makes some adjustments to pyproject.toml to make building wheels on Python 3.14 actually work. This adjusts CI to test on Python 3.14 too.

In addition, I also moved the settings around a little bit to group them in a (hopefully) more logical manner, and due to the need to make it pass validation, ended up moving the skip property and thereby fixing #1084.

Some adjustments were necessary to support building with Python 3.14.
@github-actions github-actions Bot added the size: S 10< lines changed <50 label Sep 1, 2026
@mhucka mhucka changed the title Update pyproject.toml to support Python 3.14 Update pyproject.toml to support Python 3.14 Sep 1, 2026
@mhucka mhucka changed the title Update pyproject.toml to support Python 3.14 Update pyproject.toml to support building wheels for Python 3.14 Sep 1, 2026
@mhucka
mhucka marked this pull request as ready for review September 1, 2026 03:24
@mhucka
mhucka enabled auto-merge September 1, 2026 03:24
@mhucka
mhucka disabled auto-merge September 1, 2026 03:24

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This pull request reorganizes the cibuildwheel configuration in pyproject.toml, adding specific manylinux image overrides for Python 3.14 builds. The reviewer noted that moving PIP_EXTRA_INDEX_URL and PIP_PRERELEASE to the global environment affects all Python versions, which could cause stable Python builds to unexpectedly pull in unstable nightly dependencies. It is recommended to keep these settings restricted to the Python 3.14 override block.

Comment thread pyproject.toml Outdated
Comment thread pyproject.toml
@mhucka

mhucka commented Sep 2, 2026

Copy link
Copy Markdown
Collaborator Author

/gemini review

gemini-code-assist[bot]

This comment was marked as outdated.

@mhucka

mhucka commented Sep 2, 2026

Copy link
Copy Markdown
Collaborator Author

/gemini review

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This pull request updates the pyproject.toml configuration to use the newer manylinux_2_28 image for Python 3.14 builds on x86_64 and aarch64 architectures. The reviewer pointed out that since manylinux_2_28 does not support i686, the 32-bit build will fall back to manylinux2014 and likely fail due to glibc incompatibility. They recommended explicitly skipping i686 builds for Python 3.14.

Comment thread pyproject.toml
@mhucka

mhucka commented Sep 2, 2026

Copy link
Copy Markdown
Collaborator Author

/gemini review

gemini-code-assist[bot]

This comment was marked as outdated.

@mhucka

mhucka commented Sep 2, 2026

Copy link
Copy Markdown
Collaborator Author

/gemini review

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This pull request updates the cibuildwheel configuration in pyproject.toml to support Python 3.14. The reviewer identified that manylinux-*-image options cannot be overridden inside [[tool.cibuildwheel.overrides]] as it leads to a validation error. To address this, the reviewer recommends globally upgrading the Linux manylinux images to manylinux_2_28 and removing the invalid overrides.

Comment thread pyproject.toml Outdated
Comment thread pyproject.toml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size: S 10< lines changed <50

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Binary wheels for Python 3.14

1 participant