Skip to content

Extend Python version support to 3.13 and 3.14 - #130

Merged
markobud merged 5 commits into
developmentfrom
copilot/extend-checks-to-python-3-14
Feb 8, 2026
Merged

Extend Python version support to 3.13 and 3.14#130
markobud merged 5 commits into
developmentfrom
copilot/extend-checks-to-python-3-14

Conversation

Copilot AI commented Feb 7, 2026

Copy link
Copy Markdown
Contributor

Extend Python version checks to 3.14

  • Analyze current Python version configuration across the repository
  • Update CI workflow (.github/workflows/ci.yml) to add Python 3.13 and 3.14
  • Update build-wheels workflow (.github/workflows/build-wheels.yml) to add Python 3.13 and 3.14
  • Update pyproject.toml cibuildwheel configuration to include cp313 and cp314
  • Verify changes don't break existing configuration (YAML and TOML syntax validated)
  • Update README.md Python version badge to include 3.13 and 3.14
  • Update BuildingWheels.md documentation to reflect 3.13 and 3.14 support
  • Address code review feedback (fixed ABI tag documentation)
  • Fix CI failure: Upgraded cibuildwheel to v3.3.1 for Python 3.14 support
  • Monitor CI runs to verify Python 3.14 wheels build successfully

CI Failure Resolution

The build-wheels workflow was failing because cibuildwheel v2.21.3 doesn't support Python 3.14 (cp314).

Root Cause:

  • Python 3.14 support was added in cibuildwheel v3.0+
  • The workflow was using v2.21.3 which only supports up to Python 3.13

Solution:

  • Upgraded to cibuildwheel v3.3.1 (latest stable version as of Jan 2026)
  • This version includes full Python 3.14 support with cp314 ABI
  • Existing manylinux2014 configuration remains compatible

Commit: Upgrade cibuildwheel from v2.21.3 to v3.3.1 for Python 3.14 support

Original prompt

This section details on the original issue you should resolve

<issue_title>Extend checks to python 3.14</issue_title>
<issue_description>Current checks only test compatibility until python 3.10. It would be nice to extend them until python 3.14 </issue_description>

Comments on the Issue (you are @copilot in this section)

Custom agent used: Python/Cython Developer
Expert Python/Cython developer for benpy maintenance and features


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI and others added 3 commits February 7, 2026 17:49
Co-authored-by: markobud <93592045+markobud@users.noreply.github.com>
Co-authored-by: markobud <93592045+markobud@users.noreply.github.com>
Co-authored-by: markobud <93592045+markobud@users.noreply.github.com>
Copilot AI changed the title [WIP] Extend checks to test compatibility until Python 3.14 Extend Python version support to 3.13 and 3.14 Feb 7, 2026
Copilot AI requested a review from markobud February 7, 2026 17:55

@markobud markobud left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

LGTM

@github-actions

github-actions Bot commented Feb 7, 2026

Copy link
Copy Markdown

Dependency Review

The following issues were found:
  • ✅ 0 vulnerable package(s)
  • ✅ 0 package(s) with incompatible licenses
  • ✅ 0 package(s) with invalid SPDX license definitions
  • ⚠️ 1 package(s) with unknown licenses.
See the Details below.

License Issues

.github/workflows/build-wheels.yml

PackageVersionLicenseIssue Type
pypa/cibuildwheel3.3.1NullUnknown License

OpenSSF Scorecard

PackageVersionScoreDetails
actions/pypa/cibuildwheel 3.3.1 🟢 5.6
Details
CheckScoreReason
Maintained🟢 1030 commit(s) and 9 issue activity found in the last 90 days -- score normalized to 10
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Binary-Artifacts🟢 10no binaries found in the repo
Code-Review🟢 8Found 16/18 approved changesets -- score normalized to 8
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Token-Permissions⚠️ 0detected GitHub workflow tokens with excessive permissions
Pinned-Dependencies⚠️ 0dependency not pinned by hash detected -- score normalized to 0
Vulnerabilities🟢 100 existing vulnerabilities detected
License🟢 9license file detected
Fuzzing⚠️ 0project is not fuzzed
Signed-Releases⚠️ -1no releases found
Security-Policy⚠️ 0security policy file not detected
Branch-Protection🟢 3branch protection is not maximal on development and all release branches
Packaging🟢 10packaging workflow detected
SAST⚠️ 0SAST tool is not run on all commits -- score normalized to 0

Scanned Files

  • .github/workflows/build-wheels.yml

@markobud
markobud marked this pull request as ready for review February 8, 2026 10:56
@markobud

markobud commented Feb 8, 2026

Copy link
Copy Markdown
Owner

@copilot All Build wheels / verify wheels for mac14, mac15, windows and ubuntu-latest failed. The copilot analysis is below.
The job failed because the wheel filename pattern wheelhouse/benpy--cp314-manylinux_x86_64.whl was referenced, but no matching wheel file was found, and the pattern itself is invalid. This resulted in the error: Invalid wheel filename (wrong number of parts): 'benpy--cp314-manylinux_x86_64'.

Solution:

Ensure your wheel build step (cibuildwheel) produces wheels for Python 3.14 and for the correct architectures (x86_64, manylinux).

Confirm your build matrix in .github/workflows/build-wheels.yml includes Python 3.14 as a supported version. cibuildwheel may not yet support Python 3.14 by default; check the official documentation or add python 3.14 explicitly.

The file pattern should be corrected in your test and install steps. Use glob matching that accurately reflects the naming convention for wheels:

bash
WHEEL_PATTERN="wheelhouse/benpy-*-cp314-manylinux_x86_64.whl"
Make sure the wheels directory contains a wheel with a valid filename matching this pattern.

If cibuildwheel does not yet generate cp314 wheels, update it or add a custom build step for Python 3.14.

By correcting your build matrix and wheel pattern, and ensuring Python 3.14 wheels are actually built, you will resolve this job failure.

Co-authored-by: markobud <93592045+markobud@users.noreply.github.com>

Copilot AI commented Feb 8, 2026

Copy link
Copy Markdown
Contributor Author

@copilot All Build wheels / verify wheels for mac14, mac15, windows and ubuntu-latest failed. The copilot analysis is below.
The job failed because the wheel filename pattern wheelhouse/benpy--cp314...

Fixed in commit c5c34df. The issue was that cibuildwheel v2.21.3 doesn't support Python 3.14. Upgraded to v3.3.1 which includes full cp314 support. Python 3.14 wheels should now build successfully across all platforms.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • cibuildwheel.pypa.io
    • Triggering command: /usr/bin/curl curl -s REDACTED (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot AI requested a review from markobud February 8, 2026 11:02
@markobud
markobud merged commit 7fc81cf into development Feb 8, 2026
63 checks passed
@markobud
markobud deleted the copilot/extend-checks-to-python-3-14 branch February 8, 2026 12:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants