Our Plan for Python 3.13

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • ideas

    faster-cpython team has done a lot of work to experiment on it: https://github.com/faster-cpython/ideas/issues/485#issuecomm...

    It kind of sounds like migration to register based is a foregone conclusion, but it's not very clear to me.

  • CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
  • PyO3

    Rust bindings for the Python interpreter

    The other thing I don't get is that the whole sub interpreters thing seems to totally break extension modules as well: https://github.com/PyO3/pyo3/issues/2274. In theory parts of sub-interpreters have been around for a while and it just happens that every extension module out there is incompatible with it because no one used it. But if it's going to become the recommended way to do parallelism going forward then they'll have to become compatible with it.

    The serialization thing is also a huge issue. Half of the time I want to use multiprocessing I end up finding that the serialization of data is the bottleneck and have to somehow re-architect my code to minimize it.

    I would much prefer a world in which asyncio is 2x faster and can benefit from real parallelism across threads. Libraries like anyio already make it super easy to work with async + threads. It would make Python a viable option for workloads where it currently just isn't.

  • ideas5

    Discontinued Batch 5 of Ideas for Computing

    My deep interest is multithreaded code. For a software engineer working on business software, I'm not sure if they should be spending too much time debugging multithreaded bugs because they are operating at the wrong level of abstraction from my perspective for business operations.

    I'm looking for an approach to writing concurrent code with parallelism that is elegant and easy to understand and hard to introduce bugs. This requires alternative programming approaches and in my perspective, alternative notations.

    One such design uses monotonic state machines which can only move in one direction. I've designed a syntax and written a parser and very toy runtime for the notation.

    https://github.com/samsquire/ideas5#56-stateful-circle-progr...

    https://github.com/samsquire/ideas4#558-state-machine-formul...

    The idea is inspired by LMAX Disruptor and queuing systems.

  • ideas4

    Discontinued An Additional 100 Ideas for Computing https://samsquire.github.io/ideas4/

    My deep interest is multithreaded code. For a software engineer working on business software, I'm not sure if they should be spending too much time debugging multithreaded bugs because they are operating at the wrong level of abstraction from my perspective for business operations.

    I'm looking for an approach to writing concurrent code with parallelism that is elegant and easy to understand and hard to introduce bugs. This requires alternative programming approaches and in my perspective, alternative notations.

    One such design uses monotonic state machines which can only move in one direction. I've designed a syntax and written a parser and very toy runtime for the notation.

    https://github.com/samsquire/ideas5#56-stateful-circle-progr...

    https://github.com/samsquire/ideas4#558-state-machine-formul...

    The idea is inspired by LMAX Disruptor and queuing systems.

  • nogil

    Multithreaded Python without the GIL

    This might be a dumb question, but why would removing the GIL break FFI? Is it just that existing no-GIL implementations/proposals have discarded/ignored it, or is there a fundamental requirement, e.g. C programs unavoidably interact directly with the GIL? I know that the C-API is only stable between minor releases [0] compiled in the same manner [1], so it's not like the ecosystem is dependent upon it never changing.

    I cannot seem to find much discussion about this. I have found a no-GIL interpreter that works with numpy, scikit, etc. [2][3] so it doesn't seem to be a hard limit. (That said, it was not stated if that particular no-GIL implementation requires specially built versions of C-API libs or if it's a drop-in replacement.)

    [0]: https://docs.python.org/3/c-api/stable.html#c-api-stability

    [1]: https://docs.python.org/3/c-api/stable.html#platform-conside...

    [2]: https://github.com/colesbury/nogil

    [3]: https://discuss.python.org/t/pep-703-making-the-global-inter...

  • nogil-3.12

    Multithreaded Python without the GIL (experimental rebase on 3.12)

  • RustPython

    A Python Interpreter written in Rust

    I'm actually rooting for RustPython to reach a level of maturity that we'd just be able to ship apis and stuff with it.... https://github.com/RustPython/RustPython

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • pex

    A tool for generating .pex (Python EXecutable) files, lock files and venvs.

    We get (very) close to cross-environment reproducible builds for Python with https://github.com/pantsbuild/pex (via Pants). For instance, we build Linux x86-64 artifacts that run on AWS Lambda, and can build them natively on ARM macOS.

    This is not raw requirements.txt, but isn’t too far off: Pants/PEX can consume one to produce a hash-pinned lock file.

  • steering-council

    Communications from the Steering Council

    GVR called it a fork two weeks ago in his justification for not accepting it [1]. If that surprises you, the backstory is summarized pretty well in the article [2] and FAQ [3].

    I'm really not trying to be secretive. We can debate whatever you want, but we have to at least acknowledge CPython's stated position.

    [1] https://github.com/python/steering-council/issues/188#issuec...

    [2] https://www.artima.com/weblogs/viewpost.jsp?thread=214235

    [3] https://docs.python.org/3/faq/library.html#can-t-we-get-rid-...

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • An interpreter inside an interpreter

    2 projects | dev.to | 25 Nov 2024
  • Show HN: Speeding up Python email validation 1000x

    1 project | news.ycombinator.com | 9 Aug 2024
  • Rust Bindings for the Python Interpreter

    1 project | news.ycombinator.com | 23 Jul 2024
  • Encapsulation in Rust and Python

    4 projects | dev.to | 5 Apr 2024
  • Rust Bindings for the Python Interpreter

    1 project | news.ycombinator.com | 20 Feb 2024

Did you konow that Python is
the 2nd most popular programming language
based on number of metions?