#476 Common themes cover art

#476 Common themes

#476 Common themes

Listen for free

View show details

About this listen

Topics covered in this episode: Migrating from mypy to ty: Lessons from FastAPIOxyde ORMTypeshedded CPython docsRaw+DC Database Pattern: A RetrospectiveExtrasJokeWatch 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 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: Migrating from mypy to ty: Lessons from FastAPI Tim HopperI saw this post by Sebastián Ramírez about all of his projects switching to ty FastAPI, Typer, SQLModel, Asyncer, FastAPI CLISqlModel is already ty only - mypy removedThis signals that ty is ready to useTim lists some steps to apply ty to your own projects Add ty alongside mypySet error-on-warning = trueAccept the double-ignore commentsPick a smaller project to cut over firstDrop mypy when the noise exceeds the signalAdd ty alongside mypyRelated anecdote: I had tried out ty with pytest-check in the past with difficultyTried it again this morning, only a few areas where mypy was happy but ty reported issuesAt least one ty warning was a potential problem for people running pre-releases of pytest,Not really related: packaging.version.parse is awesome Michael #2: Oxyde ORM Oxyde ORM is a type-safe, Pydantic-centric asynchronous ORM with a high-performance Rust core.Note: Oxyde is a young project under active development. The API may evolve between minor versions.No sync wrappers or thread pools. Oxyde is async from the ground upIncludes oxyde-adminFeatures Django-style API - Familiar Model.objects.filter() syntaxPydantic v2 models - Full validation, type hints, serializationAsync-first - Built for modern async Python with asyncioRust performance - SQL generation and execution in native RustMulti-database - PostgreSQL, SQLite, MySQL supportTransactions - transaction.atomic() context manager with savepointsMigrations - Django-style makemigrations and migrate CLI Brian #3: Typeshedded CPython docs Thanks emmatyping for the suggestionDocumentation for Python with typeshed typesSource: typeshedding_cpython_docs Michael #4: Raw+DC Database Pattern: A Retrospective A new design pattern I’m seeing gain traction in the software space: Raw+DC: The ORM pattern of 2026I’ve had a chance to migrate three of my most important web app.Thrilled to report that yes, the web app is much faster using Raw+DCPlus, this was part of the journey to move from 1.3 GB memory usage to 0.45 GB (more on this next week) Extras Brian: Lean TDD 0.5 update Significant rewrite and focus Michael: pytest-just (for just command file testing), by Michael BoothSomething going on with Encode httpx: Anyone know what's up with HTTPX? And forkedstarlette and uvicorn: Transfer of Uvicorn & Starlettemkdocs: The Slow Collapse of MkDocsdjango-rest-framework: Move to django commons?Certificates at Talk Python Training Joke: Neue Rich
No reviews yet
In the spirit of reconciliation, Audible acknowledges the Traditional Custodians of country throughout Australia and their connections to land, sea and community. We pay our respect to their elders past and present and extend that respect to all Aboriginal and Torres Strait Islander peoples today.