Skip to content

feat: Python 3.12 #8811

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

Draft
wants to merge 19 commits into
base: main
Choose a base branch
from
Draft

feat: Python 3.12 #8811

wants to merge 19 commits into from

Conversation

jennifer-richards
Copy link
Member

@jennifer-richards jennifer-richards commented Apr 17, 2025

Updates Python to 3.12. Fixes #7929.

Draft while WIP.

Outstanding issues:

  • Coverage is outrageously slow, currently disabled
    • Context: the old version of coverage that we use (4.5.4, ca 2019) is falling back from its fast CTracer module to its very slow PyTracer when used on Python 3.12. It's not clear exactly why, but it's almost 3x slower.
    • The situation may be better if we can update to a current version of coverage, but see Poor performance in Python 3.12 nedbat/coveragepy#1665 for more info.
  • Should at least skim major requirements to confirm actual Python 3.12 compatibility (tests do pass, aside from coverage issues)
  • Need to decide if we want to move from :latest to a versioned tag (e.g., :bookworm-py312) to avoid pulling the rug out from under users' dev environments

jennifer-richards and others added 16 commits April 16, 2025 17:46
The test has been working, but in a broken way, for as long as it has existed. The smtpd-based test_smtpserver was masking an exception that did not interfere with the test's effectiveness.
Removed a few suppressions that were OBE based on running the tests and checking versions of the dependencies that were causing them. Reordered kwargs to make it more readable (to me anyway).
See the comment in settings.py for details.

tl;dr coverage is unusably slow under python 3.12 as we're using it
# Conflicts:
#	dev/build/Dockerfile
#	dev/build/TARGET_BASE
@jennifer-richards jennifer-richards changed the base branch from main to feat/blobstage April 22, 2025 15:00
@jennifer-richards jennifer-richards changed the base branch from feat/blobstage to main April 22, 2025 15:00
jennifer-richards and others added 3 commits April 22, 2025 15:11
# Conflicts:
#	dev/build/Dockerfile
#	dev/build/TARGET_BASE
#	ietf/doc/tests_review.py
#	ietf/review/mailarch.py
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.

Move datatracker off of python 3.9
1 participant