{"podcast":{"title":"Python Bytes","slug":"python-bytes","podcast_index_feed_id":1021771,"rss_url":"https://pythonbytes.fm/episodes/rss","website_url":"https://pythonbytes.fm/","image_url":"https://cdn.pythonbytes.fm/static/img/podcast-theme-img_1400.jpg","author":"Michael Kennedy","episode_count":478,"summary":"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.","last_synced_at":null,"page_url":"https://stenobird.com/podcast/python-bytes"},"episode":{"title":"#461 This episdoe has a typo","slug":"461-this-episdoe-has-a-typo","published_at":"2025-12-09T08:00:00+00:00","page_url":"https://stenobird.com/podcast/python-bytes/461-this-episdoe-has-a-typo","show_page_url":"https://stenobird.com/podcast/python-bytes","url":"https://pythonbytes.fm/episodes/show/461/this-episdoe-has-a-typo","audio_url":"https://pythonbytes.fm/episodes/download/461/this-episdoe-has-a-typo.mp3","summary":"A deep dive into Python's evolving syntax and testing ecosystem, featuring PEP 798 and the nuances of mocking. The episode also explores tools for catching typos and simulating CI failures locally.","meta_description":"Explore PEP 798 unpacking, Pandas 3.0 updates, and the pitfalls of mocking built-in functions in this Python Bytes news roundup.","key_points":["Main idea: PEP 798 aims to bring unpacking consistency to comprehensions, making nested iterables easier to manage","Practical takeaway: Avoid patching the built-in 'open' function when mocking, as it can lead to unstable tests","Failure mode: Use tools like Slowlify to simulate resource-constrained CI environments locally to debug flaky tests","Main idea: New GitHub Actions can now use AST-based spell checkers to find misspellings within code strings","Practical takeaway: Keep a change log for your technical writing to manage complexity as projects grow"],"chapters":[{"start_ms":190000,"title":"PEP 798: Unpacking in Comprehensions","summary":"An analysis of the proposed syntax to make unpacking iterables more intuitive within Python comprehensions."},{"start_ms":330000,"title":"PEP 810: Explicit Lazy Imports","summary":"Discussion on the Steering Council's acceptance of explicit lazy imports."},{"start_ms":450000,"title":"Pandas 3.0.0rc0 Updates","summary":"Exploring changes in Pandas, including handling of missing values and new syntax for column operations."},{"start_ms":715000,"title":"AST-based Spell Checking","summary":"How new GitHub Actions use the Concrete Syntax Tree to identify misspellings in code."},{"start_ms":980000,"title":"The Dangers of Over-Mocking","summary":"A look at why patching built-ins like 'open' can break test suites and how to mock correctly."},{"start_ms":1475000,"title":"Django 6.0 Release","summary":"A quick update on the official release of Django 6."},{"start_ms":1595000,"title":"The Tabloid Language","summary":"A fun demonstration of a programming language inspired by clickbait headlines."}],"topics":["Python","PEP 798","Pandas","Software Testing","Mocking","Django","Programming Languages","GitHub Actions"],"duration_seconds":1730,"processing_state":"processed","actions":[{"name":"request_transcript","method":"POST","url":"https://stenobird.com/v1/public/podcasts/python-bytes/episodes/461-this-episdoe-has-a-typo/transcription-requests","description":"Idempotently request low-priority transcript generation for this episode."},{"name":"read_markdown","method":"GET","url":"https://stenobird.com/podcast/python-bytes/461-this-episdoe-has-a-typo.md","description":"Read the agent-friendly Markdown representation of this episode resource."}]}}