Topics covered in this episode:
Setting up a Python monorepo with uv workspacescattrs: Flexible Object Serialization and ValidationLearning to program in the AI ageVS Code extension for FastAPI and friendsExtrasJokeWatch on YouTube
Sponsored by us! Support our work through:
Our courses at Talk Python TrainingThe Complete pytest CoursePatreon SupportersConnect with the hosts
Michael: @[email protected] / @mkennedy.codes (bsky) Brian: @[email protected] / @brianokken.bsky.social Show: @[email protected] / @pythonbytes.fm (bsky) Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 11am 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.
Brian #1: Setting up a Python monorepo with uv workspaces
Dennis TraubThe 3 thingsGive the Root a Distinct NameUse workspace = true for Inter-Package DepsUse importlib Mode for pytestMichael #2: cattrs: Flexible Object Serialization and Validation
cattrs is a Swiss Army knife for (un)structuring and validating data in Python.A natural alternative/follow on from DataClass WizardConverts to ←→ from dictionariescattrs also focuses on functional composition and not coupling your data model to its serialization and validation rules.When you’re handed unstructured data (by your network, file system, database, …), cattrs helps to convert this data into trustworthy structured data.Batteries Included: cattrs comes with pre-configured converters for a number of serialization libraries, including JSON (standard library, orjson, UltraJSON), msgpack, cbor2, bson, PyYAML, tomlkit and msgspec (supports only JSON at this time).Brian #3: Learning to program in the AI age
Jose Blanca“I teach a couple of introductory Python courses and I've been thinking about which advice to give to my students, that are studying how to program for the first time. I have collected my ideas in these blog posts”Why learning to program is as useful as ever, even with powerful AI tools available.How to use AI as a tutor rather than a shortcut, and why practice remains the key to real understanding.What the real learning objectives are: mental models, managing complexity, and thinking like a software developer.Michael #4: VS Code extension for FastAPI and friends
Enhances the FastAPI development experience in Visual Studio CodePath Operation Explorer: Provides a hierarchical tree view of all FastAPI routes in your application.Search for routes: Use the Command Palette and quickly search for routes by path, method, or name.CodeLens links appear above HTTP client calls like client.get('/items'), letting you jump directly to the matching route definition.Deploy your application directly to FastAPI Cloud from the status bar with zero config.View real-time logs from your FastAPI Cloud deployed applications directly within VS Code.Install from Marketplace.Guido van Rossum interviews key Python developers from the first 25 yearsInterview with Brett CannonInterview with Thomas WoutersMichael:
IntelliJ IDEA: The Documentary | An origin story videoCursor Joined the ACP Registry and Is Now Live in Your JetBrains IDEWhat hyper-personal software looks likeI’m doing in-person training again (limited scope):On-site, hands-on AI engineering enablement for software teams with Michael