EuroPython: Call for Onsite Volunteers: Make EuroPython 2026 Happen
Link: https://blog.europython.eu/make-europython-2026-happen/
We need volunteers to make EuroPython 2026 happen. And you might be exactly who we&aposre looking for!Before sharing all the information, here is a personal story from me:
The first time I attended Eu
Link: https://blog.europython.eu/make-europython-2026-happen/
We need volunteers to make EuroPython 2026 happen. And you might be exactly who we&aposre looking for!Before sharing all the information, here is a personal story from me:
The first time I attended Eu
EuroPython Blog
Call for Onsite Volunteers: Make EuroPython 2026 Happen
We need volunteers to make EuroPython 2026 happen. And you might be exactly who we're looking for! No experience necessary. You don't need to be a Python expert. You just need to care about the community and be willing to help out.
Bob Belderbos: A 500 That Survived Ten Successful Deploys
Link: https://belderbos.dev/blog/500-survived-ten-successful-deploys/
A specific page returns 500. Other pages load. The site builds clean locally. All referenced images exist. Every internal link resolves. CI is green. It turns out the bug was introduced ten releases a
Link: https://belderbos.dev/blog/500-survived-ten-successful-deploys/
A specific page returns 500. Other pages load. The site builds clean locally. All referenced images exist. Every internal link resolves. CI is green. It turns out the bug was introduced ten releases a
belderbos.dev
A 500 That Survived Ten Successful Deploys
Page 500, clean local build, green CI. Tracing stale Cloudflare Pages state back ten releases and the lesson about silent failures.
Graham Dumpleton: Stateful decorators in wrapt
Link: https://grahamdumpleton.me/posts/2026/05/stateful-decorators-in-wrapt/
A new version of wrapt was released earlier this week. Version 2.2.0 introduces a small helper that makes it noticeably easier to write decorators that need to keep state across calls. It is the kind
Link: https://grahamdumpleton.me/posts/2026/05/stateful-decorators-in-wrapt/
A new version of wrapt was released earlier this week. Version 2.2.0 introduces a small helper that makes it noticeably easier to write decorators that need to keep state across calls. It is the kind
grahamdumpleton.me
Stateful decorators in wrapt - Graham Dumpleton
A walkthrough of the new bind_state_to_wrapper helper in wrapt 2.2.0 and how it makes stateful decorators in Python easier to write.
Graham Dumpleton: Per-instance lru_cache using wrapt
Link: https://grahamdumpleton.me/posts/2026/05/lru-cache-using-wrapt/
Following on from the previous post on stateful decorators, there is another small addition in wrapt 2.2.0 worth a closer look. A new wrapt.lru_cache helper has been added that fixes the long-standing
Link: https://grahamdumpleton.me/posts/2026/05/lru-cache-using-wrapt/
Following on from the previous post on stateful decorators, there is another small addition in wrapt 2.2.0 worth a closer look. A new wrapt.lru_cache helper has been added that fixes the long-standing
grahamdumpleton.me
Per-instance lru_cache using wrapt - Graham Dumpleton
How wrapt 2.2.0's lru_cache helper builds on top of functools.lru_cache to fix the issues with using it on instance methods.
Graham Dumpleton: Lazy monkey patching with wrapt
Link: https://grahamdumpleton.me/posts/2026/05/lazy-monkey-patching-with-wrapt/
This post is for the people who write APM agents, tracers, profilers, debuggers, and anything else that instruments Python code without asking the user to change it. Everyone else is welcome along.
Th
Link: https://grahamdumpleton.me/posts/2026/05/lazy-monkey-patching-with-wrapt/
This post is for the people who write APM agents, tracers, profilers, debuggers, and anything else that instruments Python code without asking the user to change it. Everyone else is welcome along.
Th
grahamdumpleton.me
Lazy monkey patching with wrapt - Graham Dumpleton
Deferred monkey patching has been in wrapt for years. Python 3.15's lazy imports make it the right default for instrumentation libraries.
Graham Dumpleton: Reshaping decorated functions with wrapt
Link: https://grahamdumpleton.me/posts/2026/05/reshaping-decorated-functions-with-wrapt/
Most decorators leave the function's outward shape alone. The same parameters go in, the same return type comes out, and inspect.signature and inspect.iscoroutinefunction give the same answers they wo
Link: https://grahamdumpleton.me/posts/2026/05/reshaping-decorated-functions-with-wrapt/
Most decorators leave the function's outward shape alone. The same parameters go in, the same return type comes out, and inspect.signature and inspect.iscoroutinefunction give the same answers they wo
grahamdumpleton.me
Reshaping decorated functions with wrapt - Graham Dumpleton
How wrapt 2.2.0 lets a decorator change what runtime introspection sees of a wrapped function's signature or calling convention.
Graham Dumpleton: Async support for wrapt.synchronized
Link: https://grahamdumpleton.me/posts/2026/05/async-support-for-wrapt-synchronized/
Continuing the tour through the wrapt 2.2.0 release, the last piece worth a closer look is the new async support in wrapt.synchronized. The decorator has been part of wrapt from the start, but until 2
Link: https://grahamdumpleton.me/posts/2026/05/async-support-for-wrapt-synchronized/
Continuing the tour through the wrapt 2.2.0 release, the last piece worth a closer look is the new async support in wrapt.synchronized. The decorator has been part of wrapt from the start, but until 2
grahamdumpleton.me
Async support for wrapt.synchronized - Graham Dumpleton
How wrapt 2.2.0 extends the synchronized decorator and context manager to async functions, and why reentrancy is not supported on the async side.
Armin Ronacher: Building Pi With Pi
Link: https://lucumr.pocoo.org/2026/5/24/pi-oss/
Pi is now part of Earendil, but in the important sense it is
still Mario’s project. He has been living with its
issue tracker longer than I have, and he has been exposed to the weirdness of
the new f
Link: https://lucumr.pocoo.org/2026/5/24/pi-oss/
Pi is now part of Earendil, but in the important sense it is
still Mario’s project. He has been living with its
issue tracker longer than I have, and he has been exposed to the weirdness of
the new f
Armin Ronacher's Thoughts and Writings
Building Pi With Pi
Learnings from post-AI Open Source and how we’re approaching this so far.
The Python Coding Stack: Stephen's Preface to Agents Unpacked
Link: https://www.thepythoncodingstack.com/p/stephens-preface-to-agents-unpacked-ai-agents
Like many, I started using chatbots when GPT whatever-version-it-was came out and took the world by storm. It was really not very good at the time (compared to today’s top-end chatbots), but it was cl
Link: https://www.thepythoncodingstack.com/p/stephens-preface-to-agents-unpacked-ai-agents
Like many, I started using chatbots when GPT whatever-version-it-was came out and took the world by storm. It was really not very good at the time (compared to today’s top-end chatbots), but it was cl
Thepythoncodingstack
Stephen's Preface to Agents Unpacked
Why I Build an Agent to Teach Me About Agents, Using My Own Teaching Style
The Python Coding Stack: Table of Contents • Agents Unpacked
Link: https://www.thepythoncodingstack.com/p/table-of-contents-agents-unpacked
Here’s the planned Table of Contents. This is likely to change as Priya and I work on this:Stephen’s Preface to Agents UnpackedPart I — The Mental ShiftChapter 1 — From Answer to OutcomeChapter 2 — An
Link: https://www.thepythoncodingstack.com/p/table-of-contents-agents-unpacked
Here’s the planned Table of Contents. This is likely to change as Priya and I work on this:Stephen’s Preface to Agents UnpackedPart I — The Mental ShiftChapter 1 — From Answer to OutcomeChapter 2 — An
Thepythoncodingstack
Table of Contents • Agents Unpacked
Here’s the planned Table of Contents.
The Python Coding Stack: 1. From Answer to Outcome
Link: https://www.thepythoncodingstack.com/p/understanding-ai-agents-from-answer-to-outcome
Something has shifted in how we use AI. We still talk about “chatbots” and “prompts” and “getting a good answer.” But underneath those familiar words, a different kind of system has been quietly takin
Link: https://www.thepythoncodingstack.com/p/understanding-ai-agents-from-answer-to-outcome
Something has shifted in how we use AI. We still talk about “chatbots” and “prompts” and “getting a good answer.” But underneath those familiar words, a different kind of system has been quietly takin
Thepythoncodingstack
1. From Answer to Outcome
Something has shifted in how we use AI.
Ned Batchelder: PyCon US 2026
Link: https://nedbatchelder.com/blog/202605/pycon_us_2026
Last week was PyCon US in Long Beach California. As always, it was a
jam-packed intense time. I’ll try to report on my experience. The videos aren’t
uploaded yet, but I’ll link to them later when they
Link: https://nedbatchelder.com/blog/202605/pycon_us_2026
Last week was PyCon US in Long Beach California. As always, it was a
jam-packed intense time. I’ll try to report on my experience. The videos aren’t
uploaded yet, but I’ll link to them later when they
Ned Batchelder
PyCon US 2026
Thoughts from PyCon US 2026 in Long Beach CA.
Graham Dumpleton: Per-interpreter GIL in mod_wsgi 6.0.0
Link: https://grahamdumpleton.me/posts/2026/05/per-interpreter-gil-in-mod-wsgi-6-0-0/
mod_wsgi 6.0.0 is currently available as a release candidate. You can install it from PyPI, or grab the source from the GitHub releases page. There is a significant amount of code cleanup behind this
Link: https://grahamdumpleton.me/posts/2026/05/per-interpreter-gil-in-mod-wsgi-6-0-0/
mod_wsgi 6.0.0 is currently available as a release candidate. You can install it from PyPI, or grab the source from the GitHub releases page. There is a significant amount of code cleanup behind this
grahamdumpleton.me
Per-interpreter GIL in mod_wsgi 6.0.0 - Graham Dumpleton
mod_wsgi 6.0.0 adds WSGIPerInterpreterGIL, an opt-in directive for running sub-interpreters with their own GIL (PEP 684) for parallel Python in one process.
Graham Dumpleton: Free-threading in mod_wsgi 6.0.0
Link: https://grahamdumpleton.me/posts/2026/05/free-threading-in-mod-wsgi-6-0-0/
The previous post in this series covered the new WSGIPerInterpreterGIL directive in mod_wsgi 6.0.0 and the PEP 684 per-interpreter GIL feature that landed in Python 3.12. This post is about its siblin
Link: https://grahamdumpleton.me/posts/2026/05/free-threading-in-mod-wsgi-6-0-0/
The previous post in this series covered the new WSGIPerInterpreterGIL directive in mod_wsgi 6.0.0 and the PEP 684 per-interpreter GIL feature that landed in Python 3.12. This post is about its siblin
grahamdumpleton.me
Free-threading in mod_wsgi 6.0.0 - Graham Dumpleton
mod_wsgi 6.0.0 adds WSGIFreeThreading, an opt-in directive for PEP 703 free-threaded Python. GIL-enabled mode remains the default even on free-threaded builds.
Real Python: Quiz: How to Make a Scatter Plot in Python With plt.scatter()
Link: https://realpython.com/quizzes/visualizing-python-plt-scatter/
In this quiz, you’ll test your understanding of
How to Make a Scatter Plot in Python With plt.scatter().
By working through this quiz, you’ll revisit how to use plt.scatter()
from Matplotlib’s pyplot
Link: https://realpython.com/quizzes/visualizing-python-plt-scatter/
In this quiz, you’ll test your understanding of
How to Make a Scatter Plot in Python With plt.scatter().
By working through this quiz, you’ll revisit how to use plt.scatter()
from Matplotlib’s pyplot
Realpython
How to Make a Scatter Plot in Python With plt.scatter() Quiz – Real Python
Practice using plt.scatter() in Python to create scatter plots and encode multiple variables with marker size, color, shape, and transparency.
Real Python: How to Make a Scatter Plot in Python With plt.scatter()
Link: https://realpython.com/visualizing-python-plt-scatter/
Visualizing data is a core part of analysis, and Python’s most popular plotting library is Matplotlib. To make a scatter plot, you reach for plt.scatter() from Matplotlib’s pyplot submodule, conventio
Link: https://realpython.com/visualizing-python-plt-scatter/
Visualizing data is a core part of analysis, and Python’s most popular plotting library is Matplotlib. To make a scatter plot, you reach for plt.scatter() from Matplotlib’s pyplot submodule, conventio
Realpython
How to Make a Scatter Plot in Python With plt.scatter() – Real Python
Learn how to make scatter plots in Python with plt.scatter() and customize markers by size, color, shape, and transparency.
Talk Python Blog: Spanish subtitles available for all courses
Link: https://talkpython.fm/blog/posts/spanish-subtitles-available-for-all-courses/
Earlier this month, we announed support for multi-lingual subtitles on our courses. You can read the announcement for the full details. Now we are ready to release our second language, Spanish!
All 2
Link: https://talkpython.fm/blog/posts/spanish-subtitles-available-for-all-courses/
Earlier this month, we announed support for multi-lingual subtitles on our courses. You can read the announcement for the full details. Now we are ready to release our second language, Spanish!
All 2
talkpython.fm
Spanish subtitles available for all courses
¡Hola, estudiantes! Spanish subtitles are now live across every Talk Python course. All 283 hours, fully translated, with customizable size and placement.
Python Bytes: #481 Ways to die
Link: https://pythonbytes.fm/episodes/show/481/ways-to-die
Topics covered in this episode:
Dumb Ways for an Open Source Project to Die
How to create a pylock.toml lockfile
https://github.com/facebook/Lifeguard
Choosing a Python Logging Library in 2026
Extras
Link: https://pythonbytes.fm/episodes/show/481/ways-to-die
Topics covered in this episode:
Dumb Ways for an Open Source Project to Die
How to create a pylock.toml lockfile
https://github.com/facebook/Lifeguard
Choosing a Python Logging Library in 2026
Extras
pythonbytes.fm
Ways to die
News and announcements from the Python community for the week of May 25th, 2026
Talk Python to Me: #549: Great Docs
Link: https://talkpython.fm/episodes/show/549/great-docs
Your documentation has two audiences now - humans reading the rendered HTML, and AI agents trying to make sense of your library. Rich Iannone and Michael Chow from Posit are back on Talk Python with a
Link: https://talkpython.fm/episodes/show/549/great-docs
Your documentation has two audiences now - humans reading the rendered HTML, and AI agents trying to make sense of your library. Rich Iannone and Michael Chow from Posit are back on Talk Python with a
talkpython.fm
Great Docs
Your documentation has two audiences now - humans reading the rendered HTML, and AI agents trying to make sense of your library. Rich Iannone and Michael Chow from Posit are back on Talk Python with a brand new Python documentation tool called Great Docs…
Graham Dumpleton: WSGISwitchInterval in mod_wsgi 6.0.0
Link: https://grahamdumpleton.me/posts/2026/05/wsgi-switch-interval-in-mod-wsgi-6-0-0/
The first two posts in this series covered new directives in mod_wsgi 6.0.0 that change the concurrency model the interpreter runs under. WSGIPerInterpreterGIL opts a sub-interpreter into its own GIL.
Link: https://grahamdumpleton.me/posts/2026/05/wsgi-switch-interval-in-mod-wsgi-6-0-0/
The first two posts in this series covered new directives in mod_wsgi 6.0.0 that change the concurrency model the interpreter runs under. WSGIPerInterpreterGIL opts a sub-interpreter into its own GIL.
grahamdumpleton.me
WSGISwitchInterval in mod_wsgi 6.0.0 - Graham Dumpleton
mod_wsgi 6.0.0 adds WSGISwitchInterval, a tuning lever for Python's GIL switch interval. With proper telemetry it can deliver large gains on CPU-bound workloads.