LernerPython blog, from Reuven Lerner: Get Python help, one on one: my coaching sessions
Link: https://lernerpython.com/2026/09/20/python-coaching-one-on-one/
Some of the most satisfying work I do happens one on one. You arrive with a real problem from your real job — code that will not behave, an architecture you are unsure about, a Git situation that has
Link: https://lernerpython.com/2026/09/20/python-coaching-one-on-one/
Some of the most satisfying work I do happens one on one. You arrive with a real problem from your real job — code that will not behave, an architecture you are unsure about, a Git situation that has
LernerPython
Get Python help, one on one: my coaching sessions
An hour on Zoom for code review, pair programming, Git, Pandas or Claude Code. Private, recorded for you, $300, and no membership required.
Andre Roberge: Breaking a four year hiatus to talk about the export keyword (PEPs 842 and 843)
Link: https://aroberge.blogspot.com/2026/09/breaking-four-year-hiatus-to-talk-about.html
I started writing this blog in 2004 and, every year I published at least one post until 2022. So four years of not writing about Python ... and, actually, four years of (essentially) not writing any c
Link: https://aroberge.blogspot.com/2026/09/breaking-four-year-hiatus-to-talk-about.html
I started writing this blog in 2004 and, every year I published at least one post until 2022. So four years of not writing about Python ... and, actually, four years of (essentially) not writing any c
Blogspot
Breaking a four year hiatus to talk about the export keyword (PEPs 842 and 843)
I started writing this blog in 2004 and, every year I published at least one post until 2022. So four years of not writing about Python ... ...
Django Weblog: New Technical Governance Approved
Link: https://www.djangoproject.com/weblog/2026/sep/22/new-technical-governance-approved/
Both the Steering Council and DSF Board have approved DEP 19, which implements our new technical governance. Thank you to everyone who read the document and participated in the process! This was the e
Link: https://www.djangoproject.com/weblog/2026/sep/22/new-technical-governance-approved/
Both the Steering Council and DSF Board have approved DEP 19, which implements our new technical governance. Thank you to everyone who read the document and participated in the process! This was the e
Django Project
New Technical Governance Approved
Posted by Tim Schilling and the Steering Council on Sept. 22, 2026
Talk Python to Me: #564: EVE Online Departs for Python 3
Link: https://talkpython.fm/episodes/show/564/eve-online-departs-for-python-3
Every ship in EVE Online eventually undocks and leaves the station. This time, it's the whole game. EVE has run on Python 2 since it launched in 2003, all 2.4 million lines of it, on a custom Stackles
Link: https://talkpython.fm/episodes/show/564/eve-online-departs-for-python-3
Every ship in EVE Online eventually undocks and leaves the station. This time, it's the whole game. EVE has run on Python 2 since it launched in 2003, all 2.4 million lines of it, on a custom Stackles
talkpython.fm
EVE Online Departs for Python 3
Every ship in EVE Online eventually undocks and leaves the station. This time, it's the whole game. EVE has run on Python 2 since it launched in 2003, all 2.4 million lines of it, on a custom Stackless interpreter that stopped at 3.8 and was archived last…
PyCoder’s Weekly: Issue #753: frozendict, pytest Plugins, re.prefixmatch(), and More (2026-09-22)
Link: https://pycoders.com/issues/753
#753 – SEPTEMBER 22, 2026 View in Browser » Python 3.15 Preview: frozendict Preview Python 3.15’s frozendict: build immutable mappings you can hash, cache, and share across threads, and learn wh
Link: https://pycoders.com/issues/753
#753 – SEPTEMBER 22, 2026 View in Browser » Python 3.15 Preview: frozendict Preview Python 3.15’s frozendict: build immutable mappings you can hash, cache, and share across threads, and learn wh
Pycoders
PyCoder’s Weekly | Issue #753
frozendict, pytest Plugins, re.prefixmatch(), and More
Python Bytes: #497 Faster than light profiling
Link: https://pythonbytes.fm/episodes/show/497/faster-than-light-profiling
Topics covered in this episode:
Tachyon: A sampling profiler ships in Python 3.15's stdlib
Python Workers are now generally available on Cloudflare
Flet 1.0 - build cross-platform apps in Python
mari
Link: https://pythonbytes.fm/episodes/show/497/faster-than-light-profiling
Topics covered in this episode:
Tachyon: A sampling profiler ships in Python 3.15's stdlib
Python Workers are now generally available on Cloudflare
Flet 1.0 - build cross-platform apps in Python
mari
pythonbytes.fm
Faster than light profiling
News and announcements from the Python community for the week of Sep 22nd, 2026
LernerPython blog, from Reuven Lerner: NaN in Pandas: Why you need np.nan, not pd.NaN
Link: https://lernerpython.com/2026/09/20/nan-in-pandas-why-you-need-np-nan-not-pd-nan/
Missing data? NumPy calls it nan. Python Pandas displays it as NaN.
But: Pandas doesn’t define pd.nan or pd.NaN. NumPy removed np.NaN in version 2.0.
So you have to refer to np.nan from within Panda
Link: https://lernerpython.com/2026/09/20/nan-in-pandas-why-you-need-np-nan-not-pd-nan/
Missing data? NumPy calls it nan. Python Pandas displays it as NaN.
But: Pandas doesn’t define pd.nan or pd.NaN. NumPy removed np.NaN in version 2.0.
So you have to refer to np.nan from within Panda
LernerPython
NaN in Pandas: Why you need np.nan, not pd.NaN - LernerPython
Missing data? NumPy calls it nan. Python Pandas displays it as NaN. But: Pandas doesn’t define pd.nan or pd.NaN. NumPy removed np.NaN in version 2.0. So you have to refer […]
LernerPython blog, from Reuven Lerner: Pandas nullable integers: Keeping ints with Int64 and pd.NA
Link: https://lernerpython.com/2026/09/22/pandas-nullable-integers-keeping-ints-with-int64-and-pd-na/
You have a Python Pandas series with ints + NaN. You don’t want float forced on you.
Solution: Use the “extension” type Int64 (note Initial Caps) and pd.NA:
s = Series([10, pd.NA, 30], dtype='Int64')
Link: https://lernerpython.com/2026/09/22/pandas-nullable-integers-keeping-ints-with-int64-and-pd-na/
You have a Python Pandas series with ints + NaN. You don’t want float forced on you.
Solution: Use the “extension” type Int64 (note Initial Caps) and pd.NA:
s = Series([10, pd.NA, 30], dtype='Int64')
LernerPython
Pandas nullable integers: Keeping ints with Int64 and pd.NA - LernerPython
You have a Python Pandas series with ints + NaN. You don’t want float forced on you. Solution: Use the “extension” type Int64 (note Initial Caps) and pd.NA: s is: […]
Python GUIs: Dynamically Adding Rows of Widgets in PyQt6 — How to use QGridLayout to add multiple widgets per row at runtime
Link: https://www.pythonguis.com/faq/creating-dynamic-textboxes/
I have a GUI where I dynamically add a QLineEdit for each image a user selects. That part works. But now I want to extend it so that each image gets a row of three text boxes — one for the filename,
Link: https://www.pythonguis.com/faq/creating-dynamic-textboxes/
I have a GUI where I dynamically add a QLineEdit for each image a user selects. That part works. But now I want to extend it so that each image gets a row of three text boxes — one for the filename,
Python GUIs
How to Dynamically Add Rows of Widgets in PyQt6 with QGridLayout
Learn how to dynamically create rows of QLineEdit widgets in PyQt6 using QGridLayout. This tutorial shows how to add multiple text boxes per row based on user input, such as selecting files from a dialog.
Python Insider: The Python documentation is now available in Persian
Link: https://blog.python.org/2026/09/the-python-documentation-is-now-available-in-persian/
Link: https://blog.python.org/2026/09/the-python-documentation-is-now-available-in-persian/
Python Insider
The Python documentation is now available in Persian | Python Insider
The official blog of the Python core development team.
LernerPython blog, from Reuven Lerner: PyArrow dtypes in pandas: Nullable integers with pd.NA
Link: https://lernerpython.com/2026/09/23/pyarrow-dtypes-in-pandas-nullable-integers-with-pd-na/
PyArrow dtypes in Python Pandas are nullable (with pd.NA):
s = Series([10, pd.NA, 30], dtype='int64[pyarrow]')
s is:
0 101 2 30dtype: int64[pyarrow]
The dtype is int64, but allows nulls.
Link: https://lernerpython.com/2026/09/23/pyarrow-dtypes-in-pandas-nullable-integers-with-pd-na/
PyArrow dtypes in Python Pandas are nullable (with pd.NA):
s = Series([10, pd.NA, 30], dtype='int64[pyarrow]')
s is:
0 101 2 30dtype: int64[pyarrow]
The dtype is int64, but allows nulls.
LernerPython
PyArrow dtypes in pandas: Nullable integers with pd.NA - LernerPython
PyArrow dtypes in Python Pandas are nullable (with pd.NA): s is: 0 101 <NA>2 30dtype: int64[pyarrow] The dtype is int64, but allows nulls. (Use np.nan? It’s turned into pd.NA.)
LernerPython blog, from Reuven Lerner: New on the LernerPython practice system: A visual debugger
Link: https://lernerpython.com/2026/09/24/new-on-the-lernerpython-practice-system-a-visual-debugger/
I’m a big fan of exercises, which is why the LernerPython platform includes hundreds of them — all using my in-browser practice system, which handles Python, Pandas, and Git, along with an AI-based S
Link: https://lernerpython.com/2026/09/24/new-on-the-lernerpython-practice-system-a-visual-debugger/
I’m a big fan of exercises, which is why the LernerPython platform includes hundreds of them — all using my in-browser practice system, which handles Python, Pandas, and Git, along with an AI-based S
LernerPython
New on the LernerPython practice system: A visual debugger - LernerPython
I’m a big fan of exercises, which is why the LernerPython platform includes hundreds of them — all using my in-browser practice system, which handles Python, Pandas, and Git, along […]
Django Weblog: DSF member of the month - Ken Whitesell
Link: https://www.djangoproject.com/weblog/2026/sep/24/dsf-member-of-the-month-ken-whitesell/
For September 2026, we welcome Ken Whitesell as our DSF member of the month! ⭐
Ken has long been part of the Django community, serving for many years as an helper in the Django forum and recipient of
Link: https://www.djangoproject.com/weblog/2026/sep/24/dsf-member-of-the-month-ken-whitesell/
For September 2026, we welcome Ken Whitesell as our DSF member of the month! ⭐
Ken has long been part of the Django community, serving for many years as an helper in the Django forum and recipient of
Django Project
DSF member of the month - Ken Whitesell
Posted by Sarah Abderemane on Sept. 24, 2026
PyCon: PyCon US 2026 Recap and Recordings
Link: https://pycon.blogspot.com/2026/09/pycon-us-2026-recap-and-recordings.html
As we close the books on PyCon US 2026, we can’t express enough gratitude to everyone who joined us for our first year in Long Beach, CA, and made our 7 days together a special and unforgettable exper
Link: https://pycon.blogspot.com/2026/09/pycon-us-2026-recap-and-recordings.html
As we close the books on PyCon US 2026, we can’t express enough gratitude to everyone who joined us for our first year in Long Beach, CA, and made our 7 days together a special and unforgettable exper
Blogspot
PyCon US 2026 Recap and Recordings
As we close the books on PyCon US 2026, we can’t express enough gratitude to everyone who joined us for our first year in Long Beach, CA, an...
Graham Dumpleton: A master class in decorators, patching and tracing
Link: https://grahamdumpleton.me/posts/2026/09/a-master-class-in-decorators-patching-and-tracing/
There is now a Workshops page on this site listing seventy free hands-on workshops, spread across five collections. They start with how decorators work in plain Python using nothing but the standard l
Link: https://grahamdumpleton.me/posts/2026/09/a-master-class-in-decorators-patching-and-tracing/
There is now a Workshops page on this site listing seventy free hands-on workshops, spread across five collections. They start with how decorators work in plain Python using nothing but the standard l
grahamdumpleton.me
A master class in decorators, patching and tracing - Graham Dumpleton
Seventy free hands-on workshops, from writing decorators with just the standard library through wrapt to testing and tracing with wrapture. Nothing to install.
Glyph Lefkowitz: Who Is Open Source About?
Link: https://blog.glyph.im/2026/09/who-is-open-source-about.html
Open source is, at least in part, about you, where “you” refers to the
user.
Open Source Is Not About “Open Source Is Not About You”
In other words: Rich Hickey was wrong when he wrote “Open Source Is
Link: https://blog.glyph.im/2026/09/who-is-open-source-about.html
Open source is, at least in part, about you, where “you” refers to the
user.
Open Source Is Not About “Open Source Is Not About You”
In other words: Rich Hickey was wrong when he wrote “Open Source Is
blog.glyph.im
Who Is Open Source About?
Open source comprises a complex social web of ongoing relationships, not a simple one-way “gift” of value from maintainer to user.
Rodrigo Girão Serrão: TIL #146 – Using maturin through uv
Link: https://mathspp.com/blog/til/using-maturin-through-uv
Today I learned how to setup a Rust project that can be called from Python with PyO3 and maturin through uv.
When you follow the PyO3 getting started guide to create a simple Rust project that can be
Link: https://mathspp.com/blog/til/using-maturin-through-uv
Today I learned how to setup a Rust project that can be called from Python with PyO3 and maturin through uv.
When you follow the PyO3 getting started guide to create a simple Rust project that can be
Mathspp
TIL 146 – Using maturin through uv
Today I learned how to setup a Rust project that can be called from Python with PyO3 and maturin through uv.
LernerPython blog, from Reuven Lerner: Pandas dropna: The best way to remove NaN values from a series
Link: https://lernerpython.com/2026/09/25/pandas-dropna-the-best-way-to-remove-nan-values-from-a-series/
Coming to Python Pandas from NumPy? You’ll reach for np.isnan:
s = Series([10, np.nan, 30])
s.loc[ ~np.isnan(s) ] # returns 10, 30
Unfortunately, this works. Better, use s.isna (or s.isnull).
But the
Link: https://lernerpython.com/2026/09/25/pandas-dropna-the-best-way-to-remove-nan-values-from-a-series/
Coming to Python Pandas from NumPy? You’ll reach for np.isnan:
s = Series([10, np.nan, 30])
s.loc[ ~np.isnan(s) ] # returns 10, 30
Unfortunately, this works. Better, use s.isna (or s.isnull).
But the
LernerPython
Pandas dropna: The best way to remove NaN values from a series - LernerPython
Coming to Python Pandas from NumPy? You’ll reach for np.isnan: Unfortunately, this works. Better, use s.isna (or s.isnull). But the best way to drop NaN? Use dropna:
Python Insider: The Python documentation is now available in German
Link: https://blog.python.org/2026/09/python-docs-in-german/
You can now read the Python documentation online in German!
Link: https://blog.python.org/2026/09/python-docs-in-german/
You can now read the Python documentation online in German!
Python Insider
The Python documentation is now available in German | Python Insider
You can now read the Python documentation online in German!
Glyph Lefkowitz: What Would A Serious AI Product Look Like?
Link: https://blog.glyph.im/2026/09/serious-ai-product.html
One of the issues that I have with the current generation of “AI” products is
that they do not appear to take their own premises seriously. I look at a
plethora of obsequious chatbots claiming to be
Link: https://blog.glyph.im/2026/09/serious-ai-product.html
One of the issues that I have with the current generation of “AI” products is
that they do not appear to take their own premises seriously. I look at a
plethora of obsequious chatbots claiming to be
blog.glyph.im
What Would A Serious AI Product Look Like?
Every “AI” tool is missing critical features that you would need if you wanted to do real work with them. What would those look like, if they existed?