Join the discussion

Write your take first — we'll ask for email only when you're ready to publish.

  • Hacker News
  • > The experimental JIT compiler has been significantly upgraded, with 7-8% geometric mean performance improvement on x86-64 Linux over the standard interpreter, and 11-12% speedup on AArch64 macOS over the tail-calling interpreter.

    Nice to see improvements here!

  • > PEP 798: Unpacking in comprehensions

    > PEP 814: Add frozendict built-in type

    About damned time. These are little quality of life changes that I've wanted roughly forever. Glad to see them arriving.

  • This might irk many but going forward, I see only following languages surviving:

    1. Typescript + Javascript

    2. Rust.

    3. Python - because of data science and interactive apps.

    Basically, everything that can be rewritten in Rust with or without AI will be rewritten in Rust with or without AI in coming decade.

    Famous cases:

    1. Some backends at 37 signals from Ruby to Rust.

    2. Bun from Zig to Rust.

    3. Git in transition.

    4. Mold linker from C to Rust.

    5. Biome

    6. TailwindCSS CLI

    And much much more. Even Python interpreter is in process of using Rust as the main language if I am not wrong.

    [0]. https://github.com/kevincouton/awesome-rust-migrations#1

    by wg0
  • OK this is fun:

      uvx --python 3.15 whatsnewt
  • > PEP 810: Explicit lazy imports for faster startup times

    Yes lazy import! Finally!

  • The XZ-compressed source tarball is about half again as large as the one for 3.14. What happened?

    Edit: Digging in a bit, a lot of things are slightly bigger overall as you'd expect; but notably the documentation folder has gained two animated GIFs totaling over 10MB (which presumably don't compress too much further even with XZ) demonstrating "tachyon" (which presumably refers to the new sampling profiler, https://docs.python.org/3.15/library/profiling.sampling.html ). These seem to be screen captures from terminal sessions, which work well enough to illustrate what a TUI looks like, but are probably not all that informative about how to use it. I would have much preferred SVG diagrams based around static screenshots.

  • My headline feature is the new “abi3t” stable ABI for the free-threaded build. While Petr Viktorin did most of the CPython implementation, I’ve been trying to make sure ecosystem support is ready. It’s been a rewarding but quite challenging project to make sure everything is working. There were some late nights leading up to the beta1 release when we found a Windows-specific issue that needed a fix.

    I’m particularly proud that the cryptography project is already shipping a single abi3.abi3t wheel for each platform on Python 3.15 or newer. The GIL-enabled build and free-threaded build can both use the same wheel now, because PyObject is opaque.

    If you want to learn more about this, I gave a talk at EuroPython this year on Python’s ABI and the road to building and releasing abi3t today. See https://youtu.be/An8lO29SxXE.

  • As a maintainer of a whole bunch of open source Python libraries, my favorite thing about a new Python release is that it signifies the end of support for an older one. In this case that's Python 3.10... which means that my libraries that aim to support every current Python version can finally start embracing features from Python 3.11!

    Here's the "what's new in Python 3.11" document: https://docs.python.org/3/whatsnew/3.11.html

Explore Birbla archives