Skip to content

Python 3.11 #8304

Description

@esc

This is the meta/coordination issue for Python 3.11 support for Numba and llvmlite.

Note: The issue text will be updated continuously to reflect the current process and progress.

As Numba interfaces with cpython on the bytecode and C-level, Python minor version upgrades present a significant compatibility challenge and have -- in the past -- required multiple PRs over multiple months of work. For Python 3.11 this issue will serve as a central point of coordination of the efforts. As such it will list the current branches pertaining to Python 3.11 support in addition to using the tag Python 3.11.

In order to support testing against beta releases and release candidates, I created a small utility that allows easy setup of a Numba development environment against a Python pre-release docker container. https://github.com/numba/numba-hatchery this can be used with development branches/repositories of Numba and llvmlite.

Activity

  1. added
    Python 3.11All issues related to Python 3.11 support
    on Aug 2, 2022
  2. added this to the Numba 0.57 RC milestone on Aug 2, 2022
  3. sklam commented on Sep 28, 2022

    @sklam
    Member

    I'm making progress on the bytecode support at https://github.com/sklam/numba/tree/py3.11wip

  4. pinned this issue on Oct 25, 2022
  5. sklam commented on Oct 26, 2022

    @sklam
    Member

    I'm making progress at #8545. The PR adapts Numba for the major bytecode changes in Py3.11.

  6. binary-husky commented on Nov 18, 2022

    @binary-husky

    Still no official support for python 3.11 ?

  7. alonme commented on Dec 3, 2022

    @alonme

    Any news?

  8. extesy commented on Dec 3, 2022

    @extesy

    There is an active https://github.com/numba/numba/commits/py3.11 branch, a lot of progress is happening.

  9. esc commented on Dec 3, 2022

    @esc
    MemberAuthor

    @extesy thank you for listing that link. @alonme to answer your question: Indeed all the work for Python 3.11 is currently being merged one PR at a time to the py3.11 branch and collected there for further testing. IIRC @sklam mentioned during the last developer meeting (https://github.com/numba/numba/wiki/Minutes_2022_11_29) that there are only a handful of failing tests that remain. From what I can tell it shouldn't be long now and with any luck there will be a Numba release candidate that supports 3.11 before the end of the year 🤞 (but making no guarantees, obviously).

  10. alonme commented on Dec 3, 2022

    @alonme

    @esc thanks for the detailed answer!
    Waiting for it

  11. stuartarchibald commented on Dec 5, 2022

    @stuartarchibald
    Contributor

    The changes needed to accommodate the majority of the new Python 3.11 op-code additions, along with changes to the op-code behaviour/sequences in the bytecode, have been addressed in #8545 and #8590 with thanks to @sklam. The majority of the remaining issues are addressed in #8639, a summary of the current state of the Numba test suite against this branch is here #8639 (comment) (less than 10 failures with varying degrees of difficulty to fix).

  12. sklam commented on Dec 15, 2022

    @sklam
    Member

    We are providing a docker image for early testing Numba on Python 3.11. Please see details at: https://numba.discourse.group/t/ann-docker-image-for-early-testing-numba-on-python-3-11/1698

  13. 27 remaining items

  14. Scolymus commented on Mar 10, 2023

    @Scolymus

    hey @esc ,

    so I understand this version won't be compatible with numpy>1.24, right? I know it may not be the place to ask but, can I know what's the problem with numpy >1.24 and when there will be a version for that? I never use numba, but just install a repo dependent on numba, and after having my project working in local and integrating in a bigger project I realized numba wasn't working with numpy 1.25, which is what we use in the other project... I installed 0.57.0dev0 to allow pip to install numba while having numpy > 1.24, but I got an error that I saw is related with numpy version in a different issue:
    initialization of _internal failed without raising an exception

  15. esc commented on Mar 10, 2023

    @esc
    MemberAuthor

    @Scolymus -- from what I can tell support for 1.24 was merged here: #8691 --

  16. esc commented on Mar 10, 2023

    @esc
    MemberAuthor

    @Scolymus and 1.25 support is no implemented yet and being tracked here: #8698

  17. imichaelmoore commented on Mar 14, 2023

    @imichaelmoore

    This issue is quite convoluted at this point, could one of the maintainers chime in and let the community know specifically what they need help with in terms of testing? We are all watching this issue but at this point it's not clear what needs to be tested to enable a release. (And we want to help! 😄 )

  18. esc commented on Mar 14, 2023

    @esc
    MemberAuthor

    This issue is quite convoluted at this point, could one of the maintainers chime in and let the community know specifically what they need help with in terms of testing? We are all watching this issue but at this point it's not clear what needs to be tested to enable a release. (And we want to help! 😄 )

    Sure, allow me to chime in! @sklam is currently still merging development branches and we are hoping to publish a release candidate next week (maybe the week after...). As soon the projects have been tagged and the build artifacts produced, we will be very grateful for everyone to test those candidates with their respective libraries and applications (and of course... to report back any encountered issues). An announcement with instructions on how to install will be posted to our discourse (numba.discourse.group) and will post a link here too, pointing everyone in the right direction.

  19. kaluzniacki commented on Mar 17, 2023

    @kaluzniacki

    The developers have my sympathies - I very much understand how using conda makes things easier - I hope to never have to install gdal without conda, and I can install independent versions of gcc with conda. Best of luck!

  20. sklam commented on Mar 21, 2023

    @sklam
    Member

    Py3.11 branch have been merged to main by #8822

  21. sklam commented on Mar 22, 2023

    @sklam
    Member

    We are planning to cut an RC next week. Closing

  22. jakirkham commented on Mar 22, 2023

    @jakirkham
    Contributor

    Is there an issue to track updates on the RC and releases?

  23. stuartarchibald commented on Mar 23, 2023

    @stuartarchibald
    Contributor

    Is there an issue to track updates on the RC and releases?

    A Release Candidate checklist for 0.57.0rc1 is now in #8841. Please do subscribe to that if you are interested in following progress. The official RC announcement will be made on the discourse forum as usual.

  24. unpinned this issue on May 3, 2023
  25. quanqigu commented on Mar 18, 2025

    @quanqigu

    Python3.11 is supported from numba 0.57.0.

  26. hauntsaninja commented on Mar 18, 2025

    @hauntsaninja
    Contributor

    https://github.com/hauntsaninja/python_readiness

    λ uv tool run python_readiness --python 3.11 --package numba
    numba>=0.57.0     # has_classifier_and_explicit_wheel
    
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

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions