Python Bytes Podcast Por Michael Kennedy and Brian Okken arte de portada

Python Bytes

Python Bytes

De: Michael Kennedy and Brian Okken
Escúchala gratis

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.Copyright 2016-2026 Política y Gobierno
Episodios
  • #473 A clean room rewrite?
    Mar 16 2026
    Topics covered in this episode: chardet ,AI, and licensingrefined-githubpgdog: PostgreSQL connection pooler, load balancer and database sharderAgentic Engineering PatternsExtrasJokeWatch on YouTube About the show Sponsored by us! Support our work through: Our courses at Talk Python TrainingThe Complete pytest CoursePatreon Supporters Connect with the hosts Michael: @mkennedy@fosstodon.org / @mkennedy.codes (bsky)Brian: @brianokken@fosstodon.org / @brianokken.bsky.socialShow: @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: chardet ,AI, and licensing Thanks Ian LessingWow, where to start?A bit of legal precedence research.Chardet dispute shows how AI will kill software licensing, argues Bruce Perens on the RegisterAlso see this GitHub issue.Dan Blanchard, maintainer of a Python character encoding detection library called chardet, released a new version of the library under a new software license. (LGPL → MIT)Dan is allowed to make this change because v7 is a complete “clean room” rewrite using AIBTW, v7 is WAY better: The result is a 48x increase in detection speed for a project that lives in the hot loops of many projects. That will lead to noticeable performance increases for literally millions of users (the package gets ~130M downloads per month).It paves a path towards inclusion in the standard library (assuming they don’t institute policies against using AI tools).Thread-safe detect() and detect_all() with no measurable overhead; scales on free-threaded Python 3.13t+An individual claiming to be Mark Pilgrim, the original creator of the library, opened an issue in the project's GitHub repo arguing that Blanchard had no right to change the software license, citing the LPGL requirement that the license remain unchanged.A 'complete rewrite' is irrelevant, since they had ample exposure to the originally licensed code (i.e. this is not a 'clean room' implementation).Blanchard disagreed, citing how version 7.0.0 and 6.0.0 compare when subjected to JPlag, a library for detecting plagiarism.Blanchard told The Register he had wanted to get chardet added to the Python standard library for more than a decade since it’s a core dependency to most Python projects. Brian #2: refined-github Suggested by Matthias SchöttleA browser plugin that improves the GitHub experienceA sampling Adds a build/CI status icon next to the repo’s name.Adds a link back to the PR that ran the workflow.Enables tab and shift tab for indentation in comment fields.Auto-resizes comment fields to fit their content and no longer show scroll bars.Highlights the most useful comment in issues.Changes the default sort order of issues/PRs to Recently updated.But really, it’s a huge list of improvements Michael #3: pgdog: PostgreSQL connection pooler, load balancer and database sharder PgDog is a proxy for scaling PostgreSQL.It supports connection pooling, load balancing queries and sharding entire databases.Written in Rust, PgDog is fast, secure and can manage thousands of connections on commodity hardware.Features PgDog is an application layer load balancer for PostgreSQLHealth Checks: PgDog maintains a real-time list of healthy hosts. When a database fails a health check, it's removed from the active rotation and queries are re-routed to other replicasSingle Endpoint: PgDog can detect writes (e.g. INSERT, UPDATE, CREATE TABLE, etc.) and send them to the primary, leaving the replicas to serve readsFailover: PgDog monitors Postgres replication state and can automatically redirect writes to a different database if a replica is promotedSharding: PgDog is able to manage databases with multiple shards Brian #4: Agentic Engineering Patterns Simon WillisonSo much great stuff here, especially Anti-patterns: things to avoidAnd 3 sections on testing Red/green TDDFirst run the testAgentic manual testing Extras Brian: uv python upgrade will upgrade all versions of Python installed with uv to latest patch release suggested by John HagenCoding After Coders: The End of Computer Programming as We Know It NY Times ArticleSuggested by ChristopherBest quote: “Pushing code that fails pytest is unacceptable and embarrassing.” Michael: Talk Python Training users get a better account dashboardPackage Managers Need to Cool DownWill AI Kill Open Source, article + videoMy Always activate the venv is now a zsh-plugin, sorta. Joke: Ergonomic keyboard Also pretty good and related: Claude Code Mandated Links legal precedence researchChardet dispute shows how AI will kill software licensing, argues Bruce Perensthis GitHub issuecitingJPlagrefined-githubAgentic Engineering PatternsAnti-patterns: things to avoidRed/green ...
    Más Menos
    46 m
  • #472 Monorepos
    Mar 9 2026
    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 About the show Sponsored by us! Support our work through: Our courses at Talk Python TrainingThe Complete pytest CoursePatreon Supporters Connect with the hostsMichael: @mkennedy@fosstodon.org / @mkennedy.codes (bsky)Brian: @brianokken@fosstodon.org / @brianokken.bsky.socialShow: @pythonbytes@fosstodon.org / @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 things Give the Root a Distinct NameUse workspace = true for Inter-Package DepsUse importlib Mode for pytest Michael #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. Extras Brian: Guido van Rossum interviews key Python developers from the first 25 years Interview with Brett CannonInterview with Thomas Wouters Michael: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 Joke: Saas is dead
    Más Menos
    29 m
  • #471 The ORM pattern of 2026?
    Mar 2 2026
    Topics covered in this episode: Raw+DC: The ORM pattern of 2026?pytest-check releasesDataclass WizardSQLiteo - “native macOS SQLite browser built for normal people”ExtrasJokeWatch on YouTube About the show Sponsored by us! Support our work through: Our courses at Talk Python TrainingThe Complete pytest CoursePatreon Supporters Connect with the hostsMichael: @mkennedy@fosstodon.org / @mkennedy.codes (bsky)Brian: @brianokken@fosstodon.org / @brianokken.bsky.socialShow: @pythonbytes@fosstodon.org / @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. Michael #1: Raw+DC: The ORM pattern of 2026? ORMs/ODMs provide great support and abstractions for developersThey are not the native language of agentic AIRaw queries are trained 100x+ more than standard ORMsUsing raw queries at the data access optimizes for AI codingReturning some sort of object mapped to the data optimizes for type safety and devs Brian #2: pytest-check releases 3 merged pull requests8 closed issuesat one point got to 0 PR’s and 1 enhancement requestNow back to 2 issues and 1 PR, but activity means it’s still alive and being used. so coolCheck out changelog for all modsA lot of changes around supporting mypy I’ve decided to NOT have the examples be fully --strict as I find it reduces readability See tox.ini for explanationBut src is --strict clean now, so user tests can be --strict clean. Michael #3: Dataclass Wizard Simple, elegant wizarding tools for Python’s dataclasses.Features 🚀 Fast — code-generated loaders and dumpers🪶 Lightweight — pure Python, minimal dependencies🧠 Typed — powered by Python type hints🧙 Flexible — JSON, YAML, TOML, and environment variables🧪 Reliable — battle-tested with extensive test coverageNo Inheritance Needed Brian #4: SQLiteo - “native macOS SQLite browser built for normal people” Adam HillThis is a fun tool, built by someone I trust.That trust part is something I’m thinking about a lot in these days of dev+agent built toolsSome notes on my thoughts when evaluating I know mac rules around installing .dmg files not from the apple store are picky. And I like thatBut I’m ok with the override when something comes from a dev I trustThe contributors are all Adam I’m still not sure how I feel about letting agents do commits in reposThere’s “AGENTS” folder and markdown files in the project for agents, so Ad Extras Michael: PyTV Python Unplugged This WeekIBM Crashes 11% in 4 Hours - $24 Billion Wiped Out After Anthropic's Claude Code Threatens the Entire COBOL Consulting IndustryLoving my 40” ultrawide monitor more every dayUpdatest for updating all the mac thingsIce has Thawed out (mac menubar app) Joke: House is read-only!
    Más Menos
    39 m
Todas las estrellas
Más relevante
I've listened for years and am grateful for its content. If you listen, you'll learn much about Python, its ecosystem. and its contributors.

Great content for Python programmers

Se ha producido un error. Vuelve a intentarlo dentro de unos minutos.