Skip to content

Python 3.13 support #5484

Closed
Closed

Description

@youknowone

Previous major version update

Though #5078 has lots of changes, the core part of version update is importlib, site and ensurepip which have hard-coded python version or binary. test.support is not necessary, but usually need to be either updated or manually fixed to be compatible to new importlib.

In #5078, I tried to update importlib and resolve every following issues. site and ensurepip is done separately.

The first step is #5482, the easy part as it is. Changing CI CPython version to 3.13. It shows what behavior is changed in new version and what to prepare to cover it.
The second step is #5483. I found a few challanges in this update, but this is not the full list of them

  • __doc__ is changed. It now trims left whitespaces.
  • _opcode is added. This is _opcode.c in CPython source code. This could be temporarily ignored or replaced by python version.
  • match statement is now being used more and more. RustPython doesn't implement match statement yet. For 3.12, I rewrote a few match statement in standard library using if statement. 2 options. Implementing match or rewriting it without match.
  • remove dead batteries in https://peps.python.org/pep-0594/

Activity

  1. youknowone commented on Jan 18, 2025

    @youknowone
    MemberAuthor
  2. arihant2math commented on Jan 18, 2025

    @arihant2math
    Contributor

    I'd suggest going for a match statement implementation first, it's save us a lot in the long run.

  3. arihant2math commented on Jan 23, 2025

    @arihant2math
    Contributor

    Can we get a list of match statements in standard libraries?

  4. youknowone commented on Oct 23, 2025

    @youknowone
    MemberAuthor

    hey, sorry for missing your comments.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions