Our Plan for Python 3.13

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

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • 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.

  • 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.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • ideas5

    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

    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

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB 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