Topics covered in this episode:
platformdirs
poethepoet - “Poe the Poet is a batteries included task runner that works well with poetry or with uv.”
Python Pandas Ditches NumPy for Speedier PyArrow
pointblank: Data validation made beautiful and powerful
Extras
Joke
Watch on YouTube
About the show
Sponsored by us! Support our work through:
Our
courses at Talk Python Training
The Complete pytest Course
Patreon Supporters
Connect with the hosts
Michael:
@mkennedy@fosstodon.org / @mkennedy.codes (bsky)
Brian:
@brianokken@fosstodon.org / @brianokken.bsky.social
Show:
@pythonbytes@fosstodon.org / @pythonbytes.fm (bsky)
Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 10am PT. Older video versions available there too.
Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it.
Michael #1: platformdirs
A small Python module for determining appropriate platform-specific dirs, e.g. a "user data dir".
Why the community moved on from appdirs to platformdirs
At AppDirs:Note: This project has been officially deprecated. You may want to check out
pypi.org/project/platformdirs/ which is a more active fork of appdirs. Thanks to everyone who has used appdirs. Shout out to ActiveState for the time they gave their employees to work on this over the years.
Better than AppDirs:
Works today, works tomorrow – new Python releases sometimes change low-level APIs (win32com, pathlib, Apple sandbox rules). platformdirs tracks those changes so your code keeps running.
First-class typing – no more types-appdirs stubs; editors autocomplete paths as Path objects.
Richer directory set – if you need a user’s
Downloads folder or a per-session
runtime dir, there’s a helper for it.
Cleaner internals – rewritten to use pathlib, caching, and extensive test coverage; all platforms are exercised in CI.
Community stewardship – the project lives in the PyPA orbit and gets security/compatibility patches quickly.
Brian #2: poethepoet - “Poe the Poet is a batteries included task runner that works well with poetry or with uv.”
from
Bob Belderbos
Tasks are
easy to define and are defined in pyproject.toml
Michael #3: Python Pandas Ditches NumPy for Speedier PyArrow
Pandas 3.0 will significantly boost performance by replacing NumPy with PyArrow as its default engine, enabling faster loading and reading of columnar data.
Recently
talked with Reuven Lerner about this on Talk Python too.
In the next version, v3.0, PyArrow
will be a required dependency, with
pyarrow.string being the default type inferred for string data.
PyArrow is 10 times faster.
PyArrow offers
columnar storage, which eliminates all that computational back and forth that comes with NumPy.
PyArrow paves the way for running Pandas, by default, on
Copy on Write mode, which improves memory and performance usage.
Brian #4: pointblank: Data validation made beautiful and powerful
“With its … chainable API, you can … validate your data against comprehensive quality checks …”
Extras
Brian:
Ruff rules
Ruff users, what rules are using and what are you ignoring?
Python 3.14.0b2 - did we already cover this?
Transferring your Mastodon account to another server, in case anyone was
thinking about doing that
I’m trying out
Fathom Analytics for privacy friendly analytics
Michael:
Polars for Power Users: Transform Your Data Analysis Game Course
Joke: Does your dog bite?