Graham Dumpleton: Tracing Flask with wrapture
Link: https://grahamdumpleton.me/posts/2026/09/tracing-flask-with-wrapture/
For a web application the natural unit of tracing is the request: one HTTP request, its method, path and status, and every observed call made while handling it, as one tree. The config file from last
Link: https://grahamdumpleton.me/posts/2026/09/tracing-flask-with-wrapture/
For a web application the natural unit of tracing is the request: one HTTP request, its method, path and status, and every observed call made while handling it, as one tree. The config file from last
grahamdumpleton.me
Tracing Flask with wrapture - Graham Dumpleton
One HTTP request as one tree, from a single config entry, with the failing request saying both that it answered 500 and why.
Python GUIs: How to Check if a QLineEdit is Empty in Python — Empty strings are falsey in Python
Link: https://www.pythonguis.com/faq/check-qlineedit-empty-pyqt/
A reader asked:
I just want to know, how do I check whether a QLineEdit is empty or not?
The QLineEdit class doesn't have an isEmpty() method which you can call to find out if the line edit is empty
Link: https://www.pythonguis.com/faq/check-qlineedit-empty-pyqt/
A reader asked:
I just want to know, how do I check whether a QLineEdit is empty or not?
The QLineEdit class doesn't have an isEmpty() method which you can call to find out if the line edit is empty
Python GUIs
How to Check if a QLineEdit is Empty — PyQt5/6 & PySide2/6
Learn how to check if a QLineEdit is empty in PyQt5, PyQt6, PySide2 and PySide6. Use Python's falsey empty strings to validate QLineEdit input with a working example.
Python GUIs: Fixing Crashes When Using NumPy Arrays with QImage in Qt Threads — How to safely pass image data between threads when streaming video or updating displays
Link: https://www.pythonguis.com/faq/crashing-in-qrunner-threads-with-numpy/
I'm using a threaded runner to stream a live video feed by converting a NumPy array to a QImage, then to a QPixmap, and displaying it on a QLabel. But I'm frequently encountering crashes when the lab
Link: https://www.pythonguis.com/faq/crashing-in-qrunner-threads-with-numpy/
I'm using a threaded runner to stream a live video feed by converting a NumPy array to a QImage, then to a QPixmap, and displaying it on a QLabel. But I'm frequently encountering crashes when the lab
Python GUIs
Fix QImage NumPy Crash in PyQt6 PySide6 Multithreaded Applications
Learn why passing NumPy arrays to QImage in multithared PyQt6 or PySide6 applications can cause crashes, and how to fix it by managing memory buffers and using signals correctly.
Python GUIs: Clean up on exit — Stopping threads when closing a PyQt6 application — How to properly shut down background threads and workers when your application window is closed
Link: https://www.pythonguis.com/faq/clean-up-on-exit-application/
I'm using QThreadPool and worker threads in my PyQt application. When I click the X button to close the window, the threads keep running in the background. What's the best way to clean everything up
Link: https://www.pythonguis.com/faq/clean-up-on-exit-application/
I'm using QThreadPool and worker threads in my PyQt application. When I click the X button to close the window, the threads keep running in the background. What's the best way to clean everything up
Python GUIs
How to stop background threads on exit in PyQt6 — closeEvent cleanup
Learn how to handle application exit in PyQt6 by overriding closeEvent to stop background threads and workers, ensuring a clean shutdown without errors or orphaned processes.
Bob Belderbos: Database-Driven RBAC with FastAPI and Azure Entra ID
Link: https://belderbos.dev/blog/database-driven-rbac-fastapi-azure-entra/
This came out of a coaching project: a FastAPI service backing a geotechnical database. We use Azure Entra ID for authentication, but we needed role-based access control (RBAC) granularly per endpoint
Link: https://belderbos.dev/blog/database-driven-rbac-fastapi-azure-entra/
This came out of a coaching project: a FastAPI service backing a geotechnical database. We use Azure Entra ID for authentication, but we needed role-based access control (RBAC) granularly per endpoint
belderbos.dev
Database-Driven RBAC with FastAPI and Azure Entra ID
Wire Azure Entra ID roles into FastAPI, then keep the endpoint-to-role policy in the database so an admin can re-point access without a redeploy.
Armin Ronacher: Astra for Coding: Why Are We Doing This Again?
Link: https://lucumr.pocoo.org/2026/9/7/astra-why/
I’m more and more convinced that all of AI engineering is
Neijuan (内卷, meaning curl inwards). In
China it describes a system that demands ever more effort and competition
without improving output. T
Link: https://lucumr.pocoo.org/2026/9/7/astra-why/
I’m more and more convinced that all of AI engineering is
Neijuan (内卷, meaning curl inwards). In
China it describes a system that demands ever more effort and competition
without improving output. T
Armin Ronacher's Thoughts and Writings
Astra for Coding: Why Are We Doing This Again?
Some thoughts on Astra and newfangled long-horizon models.
Graham Dumpleton: Finding slow code with wrapture
Link: https://grahamdumpleton.me/posts/2026/09/finding-slow-code-with-wrapture/
The /order endpoint of the Flask shop is slow. The view calls the order service, the service calls the gateway and then the ledger, and the question is which of those the time is going to. To give the
Link: https://grahamdumpleton.me/posts/2026/09/finding-slow-code-with-wrapture/
The /order endpoint of the Flask shop is slow. The view calls the order service, the service calls the gateway and then the ledger, and the question is which of those the time is going to. To give the
grahamdumpleton.me
Finding slow code with wrapture - Graham Dumpleton
One endpoint is slow and there are three layers it could be. Self time for the handful of methods you chose answers the question without a profiler and without a stopwatch in every layer.
EuroPython: EuroPython 2026: Videos Published
Link: https://blog.europython.eu/europython-2026-videos-published/
Hi all Pythonistas! 👋EuroPython 2026 took over the ICE Congress Centre in Kraków from 13 - 19 July and it wouldn’t have been possible without all of our attendees, speakers, volunteers, and sponsors.
Link: https://blog.europython.eu/europython-2026-videos-published/
Hi all Pythonistas! 👋EuroPython 2026 took over the ICE Congress Centre in Kraków from 13 - 19 July and it wouldn’t have been possible without all of our attendees, speakers, volunteers, and sponsors.
EuroPython Blog
EuroPython 2026: Videos Published
Hi all Pythonistas! 👋
EuroPython 2026 took over the ICE Congress Centre in Kraków from 13 - 19 July and it wouldn’t have been possible without all of our attendees, speakers, volunteers, and sponsors. You allowed us to showcase the Python community at its…
EuroPython 2026 took over the ICE Congress Centre in Kraków from 13 - 19 July and it wouldn’t have been possible without all of our attendees, speakers, volunteers, and sponsors. You allowed us to showcase the Python community at its…
Hugo van Kemenade: Soft-deprecating re.match()
Link: https://hugovk.dev/blog/2026/soft-deprecating-re.match/
Quick, without looking it up, what does re.match() do? Which of these return a match?
import re
re.match("pi", "pi")
re.match("pi", "pie")
re.match("pi", "api")
re.match("pi", "magpie")
How does it co
Link: https://hugovk.dev/blog/2026/soft-deprecating-re.match/
Quick, without looking it up, what does re.match() do? Which of these return a match?
import re
re.match("pi", "pi")
re.match("pi", "pie")
re.match("pi", "api")
re.match("pi", "magpie")
How does it co
Hugo van Kemenade
Soft-deprecating re.match()
Django Weblog: PyCharm & Django Fundraiser Extended to September 14
Link: https://www.djangoproject.com/weblog/2026/sep/10/pycharm-django-fundraiser-extended/
The second half of our annual JetBrains fundraiser has been extended through September 14, 2026. Thank you to JetBrains for the extra time. You still have time to renew your PyCharm license or give it
Link: https://www.djangoproject.com/weblog/2026/sep/10/pycharm-django-fundraiser-extended/
The second half of our annual JetBrains fundraiser has been extended through September 14, 2026. Thank you to JetBrains for the extra time. You still have time to renew your PyCharm license or give it
Django Project
PyCharm & Django Fundraiser Extended to September 14
Posted by Jeff Triplett on Sept. 10, 2026
Talk Python to Me: #562: DuckLake: The Lakehouse That's Just SQL and Parquet
Link: https://talkpython.fm/episodes/show/562/ducklake-the-lakehouse-thats-just-sql-and-parquet
How many files does your query read before it reads any data? On some data lakes, you go through JSON and metadata files first, just to learn which Parquet files matter. DuckLake asks one SQL question
Link: https://talkpython.fm/episodes/show/562/ducklake-the-lakehouse-thats-just-sql-and-parquet
How many files does your query read before it reads any data? On some data lakes, you go through JSON and metadata files first, just to learn which Parquet files matter. DuckLake asks one SQL question
talkpython.fm
DuckLake: The Lakehouse That's Just SQL and Parquet
How many files does your query read before it reads any data? On some data lakes, you go through JSON and metadata files first, just to learn which Parquet files matter. DuckLake asks one SQL question instead. The metadata lives in a real database. The data…
Graham Dumpleton: OpenTelemetry export in wrapture
Link: https://grahamdumpleton.me/posts/2026/09/opentelemetry-export-in-wrapture/
Everything in the last four posts rendered a trace for a person to read or wrote it to a file for later. The other destination is a tracing backend, fed while the application runs, and OpenTelemetry i
Link: https://grahamdumpleton.me/posts/2026/09/opentelemetry-export-in-wrapture/
Everything in the last four posts rendered a trace for a person to read or wrote it to a file for later. The other destination is a tracing backend, fed while the application runs, and OpenTelemetry i
grahamdumpleton.me
OpenTelemetry export in wrapture - Graham Dumpleton
The same events that print a tree or fill a file can feed an OpenTelemetry backend while the application runs, with one trace id shared across files, headers and spans.
Bob Belderbos: Why Learn to Code If AI Can Code? 6 Reasons
Link: https://belderbos.dev/blog/why-learn-to-code-if-ai-can-code/
Stanford's Chris Piech runs Code in Place, an intro programming class with 17,000 students and over 1,000 teachers. They've run it both before and after Cursor and Claude Code arrived, and enrollment
Link: https://belderbos.dev/blog/why-learn-to-code-if-ai-can-code/
Stanford's Chris Piech runs Code in Place, an intro programming class with 17,000 students and over 1,000 teachers. They've run it both before and after Cursor and Claude Code arrived, and enrollment
belderbos.dev
Why Learn to Code If AI Can Code? 6 Reasons
Stanford's Chris Piech runs a class with 17,000 students. Enrollment basically doubled in the era of Claude Code and Cursor. Six reasons why, from his interview.
LernerPython blog, from Reuven Lerner: Newsprint: Turning e-mail newsletters into a personal PDF
Link: https://lernerpython.com/2026/09/11/newsprint-turning-e-mail-newsletters-into-a-personal-pdf/
I really enjoy reading e-mail newsletters. They’re clever, informative, and funny, and provide me with lots of food for thought — as well as professional information that is crucial to my work.
The th
Link: https://lernerpython.com/2026/09/11/newsprint-turning-e-mail-newsletters-into-a-personal-pdf/
I really enjoy reading e-mail newsletters. They’re clever, informative, and funny, and provide me with lots of food for thought — as well as professional information that is crucial to my work.
The th
LernerPython
Newsprint: Turning e-mail newsletters into a personal PDF - LernerPython
I really enjoy reading e-mail newsletters. They’re clever, informative, and funny, and provide me with lots of food for thought — as well as professional information that is crucial to […]
Mike C. Fletcher: Hardware Accelerated Video Capture for PyOpenGL
Link: http://blog.vrplumber.com/b/2026/09/11/hardware-accelerated-video-capture-for-pyopengl/
The pyopengl-video library is a small hack that lets you pass FrameBufferObjects (FBOs) directly to the local platform video encoding library (or allows you to use your existing video buffer as an FBO
Link: http://blog.vrplumber.com/b/2026/09/11/hardware-accelerated-video-capture-for-pyopengl/
The pyopengl-video library is a small hack that lets you pass FrameBufferObjects (FBOs) directly to the local platform video encoding library (or allows you to use your existing video buffer as an FBO
Vrplumber
Plumbing Life's Depths - Hardware Accelerated Video Capture for PyOpenGL
The pyopengl-video library is a small hack that lets you pass FrameBufferObjects (FBOs) directly to the local platform video encoding library (or allows you to use your existing video buffer as an FBO, depending on the platform). The purpose of the library…
Graham Dumpleton: Trying out wrapture
Link: https://grahamdumpleton.me/posts/2026/09/trying-out-wrapture/
Since introducing wrapture at the end of August I have been putting out a post every day or so, first working through how it is used in unit tests and then how the same bindings trace a running applic
Link: https://grahamdumpleton.me/posts/2026/09/trying-out-wrapture/
Since introducing wrapture at the end of August I have been putting out a post every day or so, first working through how it is used in unit tests and then how the same bindings trace a running applic
grahamdumpleton.me
Trying out wrapture - Graham Dumpleton
wrapture and its instrumentation packages are now at 1.0.0b1 with the API settled. A summary of the posts so far, the packages, the docs, and 24 workshops you can run in your browser on mybinder.
Armin Ronacher: P(doom)
Link: https://lucumr.pocoo.org/2026/9/12/pdoom/
This week some flavor of “AI is going to kill us all” went viral. In particular
one where an employee put his personal probability of that happening above
10%. Which made me go to the Wikipedia page
Link: https://lucumr.pocoo.org/2026/9/12/pdoom/
This week some flavor of “AI is going to kill us all” went viral. In particular
one where an employee put his personal probability of that happening above
10%. Which made me go to the Wikipedia page
Armin Ronacher's Thoughts and Writings
P(doom)
Are we all going to die?
Bob Belderbos: How Libraries Run Rust Inside Python (with PyO3)
Link: https://belderbos.dev/blog/how-libraries-run-rust-inside-python/
Every time you validate data with Pydantic v2, the data-validation library most Python apps reach for, a Rust extension does the work. Its core, pydantic-core, is built with PyO3, the same toolchain w
Link: https://belderbos.dev/blog/how-libraries-run-rust-inside-python/
Every time you validate data with Pydantic v2, the data-validation library most Python apps reach for, a Rust extension does the work. Its core, pydantic-core, is built with PyO3, the same toolchain w
belderbos.dev
How Libraries Run Rust Inside Python (with PyO3)
Build a Rust JSON parser into a module Python can import with PyO3, then see what the return trip costs when Rust data becomes Python dicts and lists.
Graham Dumpleton: Hands-on learning in the age of AI
Link: https://grahamdumpleton.me/posts/2026/09/hands-on-learning-in-the-age-of-ai/
At PyCon AU 2026 I gave a talk in the DevRel track titled "Hands-on learning in the age of AI", with the subtitle "Are developer workshops still relevant?". The video is now up on YouTube if you want
Link: https://grahamdumpleton.me/posts/2026/09/hands-on-learning-in-the-age-of-ai/
At PyCon AU 2026 I gave a talk in the DevRel track titled "Hands-on learning in the age of AI", with the subtitle "Are developer workshops still relevant?". The video is now up on YouTube if you want
grahamdumpleton.me
Hands-on learning in the age of AI - Graham Dumpleton
A summary of my PyCon AU 2026 talk on whether developer workshops still matter when anyone can ask an AI, and why I released 24 wrapture workshops anyway.
Armin Ronacher: Interpreting Pangram
Link: https://lucumr.pocoo.org/2026/9/14/interpreting-pangram/
Yesterday David Sacks wrote a
tweet and within a few
minutes people did, what they usually do, and they asked Pangram if it was AI.
And Pangram said it’s entirely AI
generated.
To which David replied
Link: https://lucumr.pocoo.org/2026/9/14/interpreting-pangram/
Yesterday David Sacks wrote a
tweet and within a few
minutes people did, what they usually do, and they asked Pangram if it was AI.
And Pangram said it’s entirely AI
generated.
To which David replied
Armin Ronacher's Thoughts and Writings
Interpreting Pangram
What is AI generated text anyways?