Topics covered in this episode:
Watch on YouTubeAbout 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 Tuesday at 7am 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: dust - a better du
du + Rust = dust - a fast, visual, intuitive disk-usage CLI- Run
dust and immediately see the biggest directories and files without piping through sort, head, or awk - Smart recursive output focuses on what matters instead of dumping every folder
- Colored bars show relative size and parent/child hierarchy, making “where did the space go?” obvious
- Perfect for Python projects bloated by
.venv, caches, Docker volumes, downloaded datasets, and local AI models - Install via
brew, cargo install du-dust, conda-forge, Scoop, Snap, deb-get, or GitHub releases
Calvin #2: A Way better ARchive format for Python packaging
- war - new archive format spec from Astral (same team as uv/ruff), v0.0.2, still no binary encoding defined yet
- Header-Index-Store layout: header IDs the file, index maps names to store offsets, store holds compressed data
- Index uses a finite-state transducer (FST) to dedupe common path prefixes across entry names
- Supports three entry types (file, directory, link) and three compression modes (store/DEFLATE/zstd), plus an "executable" metadata flag
- Unpacking is atomic - writes to a temp dir, then renames into place, so a failed extract never leaves a half-unpacked directory
- Strict name-segment rules (no NUL/control chars, no leading/trailing whitespace, blocks Windows-reserved names like CON/PRN) to avoid path traversal and cross-platform footguns
Michael #3: Hermes Agent: The AI agent that grows with you
- Hermes Agent is an open-source, Python-built AI agent framework from Nous Research - think ChatGPT-style assistant, but connected to your tools, files, shell, browser, calendar, memory, and messaging apps
- I’m using it in Discord as a long-running agent conversation, not just a one-off chatbot session
- Hermes can connect through a gateway to platforms like Discord, Telegram, Slack, WhatsApp, email, webhooks, and more - so the same assistant can follow you across surfaces
- In my setup, I can send Hermes voice/text from Discord, keep project context across turns as threads, and ask it to actually do things: read GitHub repos, run commands, edit files, schedule calendar events, generate drafts, and verify results
- A fun workflow: I can trigger one-shot actions from an Apple Watch shortcut - dictate a request, send it to Hermes, and have the agent execute it asynchronously
- Hermes has persistent memory, so it can remember durable preferences and facts - for example, how I like my research formatted
- It also has “skills,” which are reusable procedures the agent can load later, so Hermes can self-improve over time instead of rediscovering the same workflow repeatedly
- It supports scheduled jobs / cron-style automations, so it can proactively watch for releases, send summaries, run checks, or remind you about things
- It’s provider-agnostic: OpenRouter, Anthropic, Google, xAI, local models, Nous Portal, and others
- The big idea: Hermes turns an LLM from “a chat box I visit” into “an agent I can reach from anywhere that knows my workflows and can take real actions and learns over time.”
Calvin #4: llm-coding-agent 0.1a0
- Simon Willison built a Claude/Codex-style coding agent on top of his
llm library, using an alpha of the llm package plus his python-lib-template-repo - Built almost entirely via prompted TDD - asked an agent to write a spec.md, then commit + implement with red/green tests, occasionally hitting a real OpenAI key to sanity-check
- Shipped to PyPI as an alpha:
uvx --prerelease=allow --with llm-coding-agent llm code - Tool set mirrors familiar coding-agent primitives: read_file, edit_file (exact string replace + diff), write_file, list_files, search_files, execute_command
- Also exposes a Python API -
CodingAgent(model="gpt-5.5", root=..., approve=True).run(...) - which Simon didn't ask for but got anyway - Demo:
llm code --yolo told GPT-5.5 to build a SwiftUI CLI clock; model correctly noted SwiftUI isn't really CLI-friendly and still produced an ASCII-art time display
Extras
Calvin:
Michael:
Joke: Min requirements for Linux