Python Bytes Podcast Por Michael Kennedy and Brian Okken capa

Python Bytes

Python Bytes

De: Michael Kennedy and Brian Okken
Ouça grátis

Sobre este título

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 e Governo
Episódios
  • #470 A Jolting Episode
    Feb 23 2026
    Topics covered in this episode: Better Python tests with inline-snapshotjolt Battery intelligence for your laptopMarkdown code formatting with ruffact - run your GitHub actions locallyExtrasJokeWatch 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: Better Python tests with inline-snapshot Alex Hall, on Pydantic blogGreat for testing complex data structuresAllows you to write a test like this: from inline_snapshot import snapshot def test_user_creation(): user = create_user(id=123, name="test_user") assert user.dict() == snapshot({}) Then run pytest --inline-snapshot=fixAnd the library updates the test source code to look like this: def test_user_creation(): user = create_user(id=123, name="test_user") assert user.dict() == snapshot({ "id": 123, "name": "test_user", "status": "active" }) Now, when you run the code without “fix” the collected data is used for comparisonAwesome to be able to visually inspect the test data right there in the test code.Projects mentioned inline-snapshotpytest-examplessyrupydirty-equalsexecuting Michael #2: jolt Battery intelligence for your laptop Support for both macOS and LinuxBattery Status — Charge percentage, time remaining, health, and cycle countPower Monitoring — System power draw with CPU/GPU breakdownProcess Tracking — Processes sorted by energy impact with color-coded severityHistorical Graphs — Track battery and power trends over timeThemes — 10+ built-in themes with dark/light auto-detectionBackground Daemon — Collect historical data even when the TUI isn't runningProcess Management — Kill energy-hungry processes directly Brian #3: Markdown code formatting with ruff Suggested by Matthias Schoettleruff can now format code within markdown filesWill format valid Python code in code blocks marked with python, py, python3 or py3.Also recognizes pyi as Python type stub files.Includes the ability to turn off formatting with comment [HTML_REMOVED] , [HTML_REMOVED] blocks.Requires preview mode [tool.ruff.lint] preview = true Michael #4: act - run your GitHub actions locally Run your GitHub Actions locally! Why would you want to do this? Two reasons: Fast Feedback - Rather than having to commit/push every time you want to test out the changes you are making to your .github/workflows/ files (or for any changes to embedded GitHub actions), you can use act to run the actions locally. The environment variables and filesystem are all configured to match what GitHub provides.Local Task Runner - I love make. However, I also hate repeating myself. With act, you can use the GitHub Actions defined in your .github/workflows/ to replace your Makefile!When you run act it reads in your GitHub Actions from .github/workflows/ and determines the set of actions that need to be run. Uses the Docker API to either pull or build the necessary images, as defined in your workflow files and finally determines the execution path based on the dependencies that were defined.Once it has the execution path, it then uses the Docker API to run containers for each action based on the images prepared earlier.The environment variables and filesystem are all configured to match what GitHub provides. Extras Michael: Winter is coming: Frozendict acceptedDjango ORM stand-aloneCommand Book app announcement post Joke: Plug ‘n Paste
    Exibir mais Exibir menos
    25 minutos
  • #469 Commands, out of the terminal
    Feb 9 2026
    Topics covered in this episode: Command Book Appuvx.sh: Install Python tools without uv or PythonEnding 15 years of subprocess pollingmonty: A minimal, secure Python interpreter written in Rust for use by AIExtrasJokeWatch 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 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: Command Book App New app from MichaelCommand Book App is a native macOS app for developers, data scientists, AI enthusiasts and more.This is a tool I've been using lately to help build Talk Python, Python Bytes, Talk Python Training, and many more applications.It's a bit like advanced terminal commands or complex shell aliases, but hosted outside of your terminal. This leaves the terminal there for interactive commands, exploration, short actions.Command Book manages commands like "tail this log while I'm developing the app", "Run the dev web server with true auto-reload", and even "Run MongoDB in Docker with exactly the settings I need"I'd love it if you gave it a look, shared it with your team, and send me feedback.Has a free version and paid version.Build with Swift and Swift UICheck it out at https://commandbookapp.com Brian #2: uvx.sh: Install Python tools without uv or Python Tim Hopper Michael #3: Ending 15 years of subprocess polling by Giampaolo RodolaThe standard library's subprocess module has relied on a busy-loop polling approach since the timeout parameter was added to Popen.wait() in Python 3.3, around 15 years agoThe problem with busy-polling CPU wake-ups: even with exponential backoff (starting at 0.1ms, capping at 40ms), the system constantly wakes up to check process status, wasting CPU cycles and draining batteries.Latency: there's always a gap between when a process actually terminates and when you detect it.Scalability: monitoring many processes simultaneously magnifies all of the above.+ L1/L2 CPU cache invalidationsIt’s interesting to note that waiting via poll() (or kqueue()) puts the process into the exact same sleeping state as a plain time.sleep() call. From the kernel's perspective, both are interruptible sleeps.Here is the merged PR for this change. Brian #4: monty: A minimal, secure Python interpreter written in Rust for use by AI Samuel Colvin and others at PydanticStill experimental“Monty avoids the cost, latency, complexity and general faff of using a full container based sandbox for running LLM generated code. ““Instead, it lets you safely run Python code written by an LLM embedded in your agent, with startup times measured in single digit microseconds not hundreds of milliseconds.” Extras Brian: Expertise is the art of ignoring - Kevin Renskers You don’t need to master the language. You need to master your slice.Learning everything up front is wasted effort.Experience changes what you pay attention to.I hate fish - Rands (Michael Lopp) Really about productivity systemsAnd a nice process for dealing with email Michael: Talk Python now has a CLINew essay: It's not vibe coding - Agentic engineeringGitHub is having a dayPython 3.14.3 and 3.13.12 are availableWall Street just lost $285 billion because of 13 markdown files Joke: Silence, current side project!
    Exibir mais Exibir menos
    34 minutos
  • #468 A bolt of Django
    Feb 3 2026
    Topics covered in this episode: django-bolt: Faster than FastAPI, but with Django ORM, Django Admin, and Django packagespyleakMore Django (three articles)DatastarExtrasJokeWatch 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: django-bolt : Faster than FastAPI, but with Django ORM, Django Admin, and Django packages Farhan Ali RazaHigh-Performance Fully Typed API Framework for DjangoInspired by DRF, FastAPI, Litestar, and RobynDjango-Bolt docsInterview with Farhan on Django Chat PodcastAnd a walkthrough video Michael #2: pyleak Detect leaked asyncio tasks, threads, and event loop blocking with stack trace in Python. Inspired by goleak.Has patterns for Context managersdecoratorsChecks for Unawaited asyncio tasksThreadsBlocking of an asyncio loopIncludes a pytest plugin so you can do @pytest.mark.no_leaks Brian #3: More Django (three articles) Migrating From Celery to Django Tasks Paul TaylorNice intro of how easy it is to get started with Django TasksSome notes on starting to use Django Julia EvansA handful of reasons why Django is a great choice for a web framework less magic than Railsa built-in adminnice ORMautomatic migrationsnice docsyou can use sqlite in productionbuilt in emailThe definitive guide to using Django with SQLite in production I’m gonna have to study this a bit.The conclusion states one of the benefits is “reduced complexity”, but, it still seems like quite a bit to me. Michael #4: Datastar Sent to us by Forrest LanierLots of work by Chris MayOut on Talk Python soon.Official Datastar Python SDKDatastar is a little like HTMX, but The single source of truth is your serverEvents can be sent from server automatically (using SSE) e.g yield SSE.patch_elements( f"""{(#HTML#)}{datetime.now().isoformat()}""" ) Why I switched from HTMX to Datastar article Extras Brian: Django Chat: Inverting the Testing Pyramid - Brian Okken Quite a fun interviewPEP 686 – Make UTF-8 mode default Now with status “Final” and slated for Python 3.15 Michael: Prayson Daniel’s Paper trackerIce Cubes (open source Mastodon client for macOS)Rumdl for PyCharm, et. alcURL Gets Rid of Its Bug Bounty Program Over AI Slop OverrunPython Developers Survey 2026 Joke: Pushed to prod
    Exibir mais Exibir menos
    31 minutos
Ainda não há avaliações