Need help?
<- Back

Comments (70)

  • ngoldbaum
    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.
  • simonw
    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
  • zahlman
    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.
  • wg0
    This might irk many but going forward, I see only following languages surviving:1. Typescript + Javascript2. 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. Biome6. TailwindCSS CLIAnd 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
  • kbumsik
    > PEP 810: Explicit lazy imports for faster startup timesYes lazy import! Finally!
  • simonw
    OK this is fun: uvx --python 3.15 whatsnewt
  • PaulHoule
  • 6gvONxR4sf7o
    > PEP 798: Unpacking in comprehensions> PEP 814: Add frozendict built-in typeAbout damned time. These are little quality of life changes that I've wanted roughly forever. Glad to see them arriving.
  • droidjj
    > 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!
  • hncbw02z5a
    Shipping one abi3 wheel instead of per version builds cut our CI matrix from like 20 jobs to 4, that alone was worth it.
  • rirze
    Hmm I see https://peps.python.org/pep-0829/ is now merged in. I understand why it's necessary, but I was doing some cool things with codecs installing "macros" with `.pth` imports.
  • fishgoesblub
    Been waiting for lazy imports for a long time now, glad to see them finally.
  • alienbaby
    A large number of the links in the page appear broken for me :/
  • ChrisArchitect
    Related:How Fast is Python 3.15?https://news.ycombinator.com/item?id=49984652
  • zshn
    Quite a few nice features, need to play around a bit with them more though. Lazy imports seems nice mainly for my work at the moment.
  • latencyharbor
    [flagged]
  • OutOfHere
    Whether you use 3.15 or not, if your project already passes a modern type checker, one thing that you can do easily using AI is to significantly tighten (narrow) the type annotations of your functions. Run this two or three times until the annotations are sufficiently but not excessively narrowed. This prevents a whole lot of bugs, and increases clarity of the code for AI.This matters more for newer versions of Python which actually offer the constructs needed for it. Python 3.15 extends this with sentinel and enhancements to TypedDict.
  • lsofzz
    <3