Posts by Victor Stinner
Nearly 5 years, countless PRs, a program grown from 1 to 5. Thank you, Łukasz Langa, for defining the CPython Developer in Residence role. Best of luck on the next step of your journey and we'll see you around the community!
Please welcome Stan Ulbrych as the newest member of the Python core team!
discuss.python.org/t/vote-to-pr...
hugovk.github.io/python-core-...
#Python #CPython #CoreTeam
Core Dispatch #1
New releases are slated to drop on Monday: 3.13.13, 3.14.4, and 3.15.0a8.
PEP 803 got accepted, so free-threaded builds will have a stable ABI.
Ken Jin also wrote up what's going on with the JIT in 3.15.
coredispatch.xyz/editions/1
Just posted the Rust for CPython Progress Update for April 2026 to the Python Insider Blog!
This covers what we've been up to and our roadmap to a PEP. If you're interested in contributing please join our Discord!
blog.python.org/2026/04/rust...
Example pprint without and with expand=True. >>> pprint(config) {'allowed_origins': ['https://app.example.com', 'https://admin.example.com'], 'database': {'engine': 'postgresql', 'host': 'db-primary.internal', 'pool': {'overflow': 10, 'size': 20, 'timeout': 30}}, 'host': 'api.example.com', 'logging': {'handlers': ['console', 'file', 'syslog'], 'level': 'INFO'}, 'port': 8443} >>> >>> pprint(config, expand=True) { 'allowed_origins': ['https://app.example.com', 'https://admin.example.com'], 'database': { 'engine': 'postgresql', 'host': 'db-primary.internal', 'pool': {'overflow': 10, 'size': 20, 'timeout': 30}, }, 'host': 'api.example.com', 'logging': {'handlers': ['console', 'file', 'syslog'], 'level': 'INFO'}, 'port': 8443, }
More in this 3.15 alpha:
🖨️ pprint: new `expand` arg for Black-like output (let's make it default?)
🧛 bytes.replace() count arg can be a keyword
🌊 wave: IEEE floating-point WAVE audio support, new getformat()/setformat()
⏱️ timeit: configurable target time for autorange()
#Python #Python315 #release
REPL showing: import random random. And then I press tab and it shows the things in random in different colours, like functions in blue, methods in cyan, numbers in yellow, and types in magenta.
New in this alpha:
🧵 PEP 803: “abi3t”: Stable ABI for free-threaded builds
🪟 Official Windows 64-bit binaries now use the tail-calling interpreter for up to 40% speedup!
docs.python.org/3.15/whatsne...
🦋 REPL: colour tab completion with fancycompleter
#Python #Python315 #release
New releases!
🐍 Python 3.15.0a8!
🐍 Python 3.14.4!
🐍 Python 3.13.3!
🖼️ Pillow 12.2.0!
blog.python.org/2026/04/pyth...
pillow.readthedocs.io/en/latest/re...
⚠️ This is the final 3.15 alpha: only 4 weeks until the feature freeze! 🧊
#Python #Python313 #Python314 #Python315 #Pillow #release
Brocards for vulnerability triage
blog.yossarian.net/2026/04/11/Brocards-for-...
#security #oss
"On a besoin de vous pour trouver le prochain lieu de la PyconFR", sur une image dans une classe de la PyconFR 2025, avec le logo de l'AFPY.
📣 L’AFPy a besoin de vous pour trouver un lieu pour la PyConFR 2026.
L’événement doit normalement se tenir à l’automne prochain mais nous n’avons actuellement trouvé aucun local pour nous accueillir.
La PyConFR est un événement gratuit pour ses participant·e·s […]
[Original post on mamot.fr]
Happy to share that PEP 803 has been accepted.
A meaningful step toward Stable ABI for free threading in Python 3.15, with clear importance for C extension support.
discuss.python.org/t/pep-803-st...
Please welcome the newest member to the CPython core team, Itamar Oren!
discuss.python.org/t/vote-to-pr...
hugovk.github.io/python-core-...
#Python #CPython #CoreTeam
Stoked to share that the Steering Council has accepted PEP 814. frozendict is coming to Python 3.15!
discuss.python.org/t/pep-814-ad...
Coming soon to Python 3.15: frozendict
The Steering Council has just accepted @vstinner.bsky.social and @corona10.bsky.social's PEP 814 "Add frozendict built-in type".
discuss.python.org/t/pep-814-ad...
peps.python.org/pep-0814/
#Python #PEP814 #frozendict #Python315
I am very happy to share that PEP 814 is accepted.
Huge kudos to @vstinner.bsky.social for driving this PEP from the start!
discuss.python.org/t/pep-814-ad...
How do you use Python and its related technologies? Let us know in the 2026 Python Developers Survey! 🐍 #python #pythondevsurvey
Infographic of PyPI statistics, with a yellow background, blue and grey text, and blue rectangles to highlight each statistic. Title states "PyPI in 2025". Underneath are 5 statistics: 3.9 million+ new files published 130,000+ new projects created 1.92 exabytes of total data transferred 2.56 trillion total requests served 81,000 requests per second on average At the bottom is the PyPI logo, "Python package index" with blocks in the shape of the Python logo.
2025 was another eventful year for PyPI! Critical security enhancements, powerful new org features, a better overall user experience, and transparent security incident response 🎉👏 Thank you, PyPI team & community!
Learn more on our blog: blog.pypi.org/posts/2025-1...
I’m happy to announce that the Steering Council has approved my proposal to hold the next Language Summit at @europython.eu 2026 and then alternate with @pycon.us!
discuss.python.org/t/language-s...
ep2026.europython.eu
#Python #LanguageSummit #EuroPython
I wrote a new PEP with Donghee Na: "PEP 814: Add frozendict built-in type": discuss.python.org/t/104854 A new public immutable type frozendict is added to the builtins module. The insertion order is preserved and a frozendict can be hashed.
Looking to make a CPython contribution? I'm going to start working on maintaining a "Good First Issue" board for argparse.
If you're interested, have a look and let me know on the GitHub issue if you have any questions. Happy to help 🤝🏻!
github.com/orgs/python/...
New blog post!
Decompression is up to 30% faster in CPython 3.15
This blog goes over a journey to find an optimization in some lower-level code in CPython that yields a speedup of 10-30% when decompressing more than 1MiB of data.
emmatyping.dev/decompressio...
Wooo, unanimous acceptance of 810!
Python is getting lazy imports!
So excited about this!
discuss.python.org/t/pep-810-ex...
🎙️ Bored this weekend? Part 2 of the interviews from the CPython core sprint in Cambridge UK is out. Don’t worry, it's shorter than Part 1. Only 2 hours 18 minutes!
✨ Hear from Greg, Thomas, Paul, Pradyun, Carol, Guido, Brett, Erlend, Tal, Lys, Yury, and Diego.
creators.spotify.com/pod/profile/...
The Secret World of Arrietty
In the Python C API, I dislike APIs modifying immutable objects like _PyBytes_Resize(). I designed a new PyBytesWriter API to replace this function. As usual in Python, it took multiple iterations and one year to design the API and to reach an agreement. vstinner.github.io/pep-782-pyby...
The future Python 3.15 just got a new os.statx() function thanks to Jeffrey Bosboom! Documentation: docs.python.org/dev/library/... The syscall was added to Linux 4.11 (released in 2017) and glibc 2.28 (2018). For example, it gives access to birthtime, mount ID and subvolume ID.
🚀 Python 3.14 is out and so is 3.15 alpha! I chatted with @hugovk.dev, @pablogsal.com, and @lukasz.langa.pl about which release was the least successful, why release notes always say “and now for something completely different”, how Python actually gets released and many more!
youtu.be/BHUWyM2cxwE
Forget* about Python 3.14, the cool kids are on 3.15.0a1! 🚀
🔬 Dedicated profiling package for Python profiling tools
💬 UTF-8 as default encoding
🌊 New C API to create bytes object
⚠️ Better error messages
discuss.python.org/t/python-3-1...
* Don't forget about 3.14
#Python #Python315 #release
🐍 CPython Core Dev Sprint 2025 wrap:
~50 core devs (yes, Guido too) and invited guests hacking in Cambridge. JIT, free-threading, C-API, endless side discussions.
It's safe to say the best ideas start over coffee and a whiteboard with @python.org: community.arm.com/arm-communit...