Planet Python RSS
210 subscribers
18.4K links
Unofficial Planet Python RSS feed from planetpython.org. Maintained by @cfinnberg
Download Telegram
Bob Belderbos: Protocol or ABC for a pluggable interface?

Link: https://belderbos.dev/blog/protocol-vs-abc-provider-interface/

I was designing the provider boundary with a student for a CLI tool that talks to two different image-generation backends.
Same inputs from the user, two different SDKs underneath. We were figuring ou
ListenData: AutoGPT : Everything You Need To Know

Link: https://www.listendata.com/2023/04/autogpt-explained-everything-you-need.html

In this post we have covered AutoGPT in detail. By end of this tutorial, you will not only understand how it works but also will be able to run it on your system. Auto-GPT has gained a significant amo
Django Weblog: Proposed change to DSF voting membership

Link: https://www.djangoproject.com/weblog/2026/sep/18/proposed-change-to-dsf-voting-membership/

We're proposing a new voting membership status to help us track active members. If you've voted in a Board election in the last two years, you're active, and you count toward quorum. If you haven't, y
LernerPython blog, from Reuven Lerner: Python callables: Any object that defines __call__

Link: https://lernerpython.com/2026/09/17/python-callables-any-object-that-defines-call/


What is a “callable” in Python? Typically, a function or class.
But really, it’s anything with __call__ defined:
class MyClass:
def __call__(self):
return 'Hi!'
m = MyClass()
m() # 'Hi!'
LernerPython blog, from Reuven Lerner: np.nan in Pandas: Why missing values break comparisons

Link: https://lernerpython.com/2026/09/18/np-nan-in-pandas-why-missing-values-break-comparisons/


Missing data in Python Pandas? We use nan (“not a number”), which comes from NumPy.
np.nan is a float, but not a normal one:
np.nan + 10 # nan
np.nan * 12345 # nan
sum([10, 20, np.na
Bob Belderbos: Ship Your First Python App: a Free Course on the Local Dev Workflow

Link: https://belderbos.dev/blog/free-python-foundations-course-local-dev-workflow/

I keep hearing this a lot: the Python syntax I picked up in an afternoon, but shipping a real project meant learning ten more things. There is a stark difference between writing some code in Python vs
PyPy: PyPy v78.0.0 release

Link: https://www.pypy.org/posts/2026/09/pypy-v800-release.html

PyPy v8.0.0: release of python 2.7, 3.11,3.12 beta released 2026-09-19
The PyPy team is proud to release version 8.0.0 of PyPy after the previous
release on May 26, 2026. This is a major new version,
LernerPython blog, from Reuven Lerner: Get Python help, one on one: my coaching sessions

Link: https://lernerpython.com/2026/09/20/get-python-help-one-on-one-my-coaching-sessions/

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 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
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
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
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
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
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
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
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')
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,
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.
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
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