
Sign up to save your podcasts
Or
About the show
Sponsored by Sentry: pythonbytes.fm/sentry
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: ty documentation site and uv migration guide
Brian #2: uv build backend is now stable + other Astral news
The uv build backend is now stable
From Charlie Marsh
“(In a future release, we'll make this the default.)”
I believe it’s faster, but I agree with Brett Cannon in asking “What's being benchmarked? I'm not sure what a "backend sync" is referring to other than maybe installing the build back-end?”
See also: uv: Making Python Local Workflows FAST and BORING in 2025 - Hynek
Brian #3: Refactoring long boolean expressions
Trey Hunner
This is applied boolean logic, and even folks who learned this in a CS program probably did so early on, and may have forgotten it.
How can you improve the readability of long Boolean expressions in Python?
Put parens around the whole expression and separate clauses onto different lines
Where to put boolean operators between clauses? at the end of the line or the beginning?
Naming sub-expressions with variables
Naming operations with functions
Using De Morgan’s Law : replacing a compound expression with a similar (and hopefully easier to read) expression
Michael #4: fastapi-ml-skeleton
Extras
Brian:
Michael:
via Wei Lee
Extra Airflow ruff rules:
Starting from Ruff version 0.11.13, most changes from Airflow 2 to Airflow 3 can be automated using AIR3. (It’s still in preview so a “—-preview” flag is needed)
e.g., if you have the following Airflow 2 code
it can be fixed with uvx ruff check --select AIR3 --fix --unsafe-fixes --preview
which works with Airflow 3.
Joke:
4.7
212212 ratings
About the show
Sponsored by Sentry: pythonbytes.fm/sentry
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: ty documentation site and uv migration guide
Brian #2: uv build backend is now stable + other Astral news
The uv build backend is now stable
From Charlie Marsh
“(In a future release, we'll make this the default.)”
I believe it’s faster, but I agree with Brett Cannon in asking “What's being benchmarked? I'm not sure what a "backend sync" is referring to other than maybe installing the build back-end?”
See also: uv: Making Python Local Workflows FAST and BORING in 2025 - Hynek
Brian #3: Refactoring long boolean expressions
Trey Hunner
This is applied boolean logic, and even folks who learned this in a CS program probably did so early on, and may have forgotten it.
How can you improve the readability of long Boolean expressions in Python?
Put parens around the whole expression and separate clauses onto different lines
Where to put boolean operators between clauses? at the end of the line or the beginning?
Naming sub-expressions with variables
Naming operations with functions
Using De Morgan’s Law : replacing a compound expression with a similar (and hopefully easier to read) expression
Michael #4: fastapi-ml-skeleton
Extras
Brian:
Michael:
via Wei Lee
Extra Airflow ruff rules:
Starting from Ruff version 0.11.13, most changes from Airflow 2 to Airflow 3 can be automated using AIR3. (It’s still in preview so a “—-preview” flag is needed)
e.g., if you have the following Airflow 2 code
it can be fixed with uvx ruff check --select AIR3 --fix --unsafe-fixes --preview
which works with Airflow 3.
Joke:
274 Listeners
284 Listeners
481 Listeners
590 Listeners
621 Listeners
70 Listeners
298 Listeners
141 Listeners
987 Listeners
189 Listeners
267 Listeners
192 Listeners
62 Listeners
139 Listeners
47 Listeners