Skip to content

Move to python 3.10 #14326

@eli-schwartz

Description

@eli-schwartz

3.9 EOL: 2025-10-31 (https://endoflife.date/python)

Distro availability:

  • Debian oldoldstable (buster) is stuck on 3.7. oldstable (bullseye) has 3.9, stable (bookworm) has 3.11
  • RHEL 8 has python 3.6, RHEL 9 has 3.9, RHEL 10 has ???. All have "AppStream" access to 3.12 etc.
  • Ubuntu 18.04 has 3.8, Ubuntu 20.04 has 3.8 by default with an upgrade to 3.9, Ubuntu 22.04 has 3.10
  • OpenSUSE Leap always has a python3 package owning the default python as 3.6. Leap 15.4 and on, have a "python310" and "python311" package. Leap 15.3 was EOL in January
  • XCode on macOS: has python 3.9

Useful features that we can take advantage of in development: https://docs.python.org/3/whatsnew/3.10.html

  • Structural Pattern Matching. Pretty huge.
  • dataclass __slots__ support, I've been looking forward to this for a while
  • dataclass KW_ONLY, likewise
  • importlib.metadata has a guaranteed stable API, relevant for the import('python') module
  • platform.freedesktop_os_release() may be a useful API to offer via host_machine.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions