Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Drop Python 3.8, add 3.13 #694

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Drop Python 3.8, add 3.13 #694

wants to merge 1 commit into from

Conversation

cretz
Copy link
Member

@cretz cretz commented Nov 25, 2024

What was changed

Drop Python 3.8 support and confirm Python 3.13 support

Specifically this included:

  • Update CI GH workflow to do 3.9/3.13 instead of 3.8/3.12
  • Update binary build and bench GH workflows to do 3.13
  • Remove outdated workarounds for older Poetry and older Python versions in CI
  • Create a new branch in features repo named python-version-upgrade to pass CI
  • Update minimum Python versions in README
  • Update code to support protobuf 5.x
    • Basically this was just doing a poetry update for protobuf and some minor tweaks, but it means we now test proto 3.x and proto 5.x in CI, but not 4.x
  • Update cibuildwheel and align grpcio and `grpcio-tools
  • Add protoc install step to wheel building since it was removed as part of pyproject.toml: Removed protoc-wheel dependency #684 and we didn't notice until now it broke wheel building
  • Update fix-wheel.py script to unzip wheel to fix it instead of wheel unpack which was failing on macos for strange hash mismatch
  • Updated wheel and bridge to have minimum 3.9 support instead of 3.8
  • Exclude os.stat from sandbox restrictions since as of gh-106922: Support multi-line error locations in traceback (attempt 2) python/cpython#112097 it appears that is invoked even when displaying errors
  • Update test teardown to, in 3.9, swallow certain loop close errors and disable pytest-asyncio's creation of a post-teardown loop creation since they were breaking in strange ways
  • Skip all unfinished-handler tests in 3.9 since they were reliably causing issues (instead of sometimes flaking as in all other Python versions). This needs to be investigated when the unfinished-handler test flakes are investigated in general.

After the PR is approved, I will change the required passing CI steps to be 3.9/3.13.

Checklist

  1. Closes [Feature Request] Drop 3.8 support, confirm 3.13 support #672

@cretz cretz force-pushed the drop-3.8 branch 8 times, most recently from c761cff to 48c5bd5 Compare November 25, 2024 21:59
@cretz cretz force-pushed the drop-3.8 branch 5 times, most recently from a200bb5 to c7326f4 Compare December 11, 2024 16:22
@cretz cretz force-pushed the drop-3.8 branch 16 times, most recently from 794c62b to bf725ec Compare December 13, 2024 16:47
@cretz cretz force-pushed the drop-3.8 branch 13 times, most recently from 0db2839 to fd57843 Compare December 18, 2024 16:37
@cretz cretz marked this pull request as ready for review December 18, 2024 20:26
@cretz cretz requested a review from a team as a code owner December 18, 2024 20:26
@cretz
Copy link
Member Author

cretz commented Dec 18, 2024

This is now ready for review. But we may not merge until early next due to holiday period availability.

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.

[Feature Request] Drop 3.8 support, confirm 3.13 support
1 participant