Skip to content

Conversation

Copy link

Copilot AI commented Oct 12, 2025

This PR adds support for building wheels for Python 3.14, now that it has been released. This ensures users upgrading to Python 3.14 won't need to build the driver from source.

Note: This PR has been rebased on master to incorporate recent changes including the cibuildwheel 3.2.1 update and Python 3.9 removal that were already merged.

Changes

1. Added Python 3.14 classifier

Added 'Programming Language :: Python :: 3.14' classifier in pyproject.toml to officially declare Python 3.14 support in the package metadata.

2. Added Python 3.14 to CI integration tests

Added Python 3.14 to the test matrix in .github/workflows/integration-tests.yml. The asyncore event loop manager is excluded for Python 3.14 (consistent with 3.12 and 3.13) since asyncore was removed from the standard library in Python 3.12.

3. Updated documentation

Updated documentation files to reflect Python 3.14 support:

  • README.rst: Updated to show "Python versions 3.10-3.14"
  • docs/index.rst: Updated to show "Python 3.10-3.14"
  • docs/installation.rst: Updated to show "Python versions 3.10-3.14"

Dependencies on Master

This PR builds on top of changes already merged to master:

  • cibuildwheel 3.2.1: Master already updated cibuildwheel from 2.22.0 to 3.2.1
  • PyPy support: Master properly handled PyPy compatibility with the new enable = ["pypy"] syntax
  • Python 3.9 removal: Master removed support for Python 3.9, so this PR adds 3.14 to the 3.10-3.13 range

Testing

With these changes, the CI/CD pipeline will:

  • Build wheels for Python 3.14 on all supported platforms (Linux x86_64/ARM64, macOS x86/ARM, Windows)
  • Run integration tests against Python 3.14 with libev and asyncio event loop managers

The cibuildwheel configuration in master uses build = ["cp3*", "pp3*"] with enable = ["pypy"] which will build wheels for CPython 3.10-3.14 and PyPy on all supported platforms.

Fixes #561

Original prompt

This section details on the original issue you should resolve

<issue_title>Publish wheels for python 3.14</issue_title>
<issue_description>now that python 3.14 is released we should start generating wheel for it.
so the users that gonna move into it, won't need to build it on their own</issue_description>

<agent_instructions>make sure to update cibuildwheel, and make the github actions support the new python version</agent_instructions>

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

Fixes #561


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Co-authored-by: fruch <340979+fruch@users.noreply.github.com>
Copilot AI changed the title [WIP] Publish wheels for Python 3.14 support Add Python 3.14 wheel support Oct 12, 2025
Copilot AI requested a review from fruch October 12, 2025 12:34
Copilot finished work on behalf of fruch October 12, 2025 12:34
@fruch fruch requested review from dkropachev and removed request for fruch October 12, 2025 12:34
@fruch
Copy link

fruch commented Oct 12, 2025

@copilot update the docs to mention this version is supported

also make sure the pipeline using cibuildwheel is building the new python version wheels

@fruch
Copy link

fruch commented Oct 12, 2025

@copilot please check why github actions are failing, seems like pp3* filter isn't supported anymore and we need to remove them

Co-authored-by: fruch <340979+fruch@users.noreply.github.com>
Copy link
Author

Copilot AI commented Oct 12, 2025

@copilot update the docs to mention this version is supported

also make sure the pipeline using cibuildwheel is building the new python version wheels

Updated documentation in README.rst, docs/index.rst, and docs/installation.rst to mention Python 3.14 support.

The cibuildwheel configuration is already set to build Python 3.14 wheels:

  • build = ["cp3*", "pp3*"] matches cp314 (Python 3.14)
  • Only old versions (cp38 and below) are skipped
  • With cibuildwheel 3.2.1, Python 3.14 wheels will be built automatically for all platforms

Changes in commit da56e4a

Copilot AI requested a review from fruch October 12, 2025 12:40
Copilot finished work on behalf of fruch October 12, 2025 12:40
…l 3.x

Co-authored-by: fruch <340979+fruch@users.noreply.github.com>
Copy link
Author

Copilot AI commented Oct 12, 2025

@copilot please check why github actions are failing, seems like pp3* filter isn't supported anymore and we need to remove them

Fixed the cibuildwheel 3.x compatibility issue. The pp3* pattern is no longer supported in cibuildwheel 3.0+.

Changes made:

  • Removed pp3* from build patterns in both pyproject.toml and the workflow file
  • Removed PyPy-specific skip patterns (pp36*, pp37*, pp38*)
  • Removed PyPy manylinux images
  • Removed PyPy overrides section
  • Removed PyPy classifier from package metadata
  • Updated documentation to reflect CPython-only support

Now building only CPython wheels with build = ["cp3*"] which will work correctly with cibuildwheel 3.2.1.

Commit 8a2e0c7

Copilot finished work on behalf of fruch October 12, 2025 12:47
@dkropachev
Copy link
Collaborator

It is useless

@fruch
Copy link

fruch commented Oct 12, 2025

It is useless

It's not yet fully working, but it's the needed changes.

What useless about it ?

@dkropachev
Copy link
Collaborator

It is useless

It's not yet fully working, but it's the needed changes.

What useless about it ?

It lumps everything together, as result you don't even know what got broken and what it was fixed with.

@fruch
Copy link

fruch commented Oct 15, 2025

@copilot please fix the conflict, and remove the code that was already delivered to master

Copy link
Author

Copilot AI commented Oct 15, 2025

@copilot please fix the conflict, and remove the code that was already delivered to master

Rebased on master and resolved conflicts. The branch now contains only the Python 3.14 additions on top of master's changes.

Changes:

  • Removed redundant cibuildwheel update (already in master)
  • Removed PyPy removal changes (master kept PyPy with proper syntax)
  • Kept Python 3.14 classifier addition
  • Kept Python 3.14 integration test addition
  • Updated docs to show Python 3.10-3.14 (respecting master's removal of 3.9)

Commit 1c1d846

Copilot finished work on behalf of fruch October 15, 2025 15:08
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.

Publish wheels for python 3.14

3 participants