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?