Python Bytes is a weekly podcast hosted by Michael Kennedy and Brian Okken. The show is a short discussion on the headlines and noteworthy news in the Python, developer, and data science space.

#435 Stop with .folders in my ~/

June 09, 2025 00:25:34 24.68 MB Downloads: 0
Topics covered in this episode:
Watch on YouTube

About the show

Sponsored by us! Support our work through:

Connect with the hosts

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.”

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:

Michael:

Joke: Does your dog bite?