The Real Python Podcast

Limitations in Human and Automated Code Review


Listen Later

With the mountains of Python code that it’s possible to generate now, how’s your code review going? What are the limitations of human review, and where does machine review excel? Christopher Trudeau is back on the show this week with another batch of PyCoder’s Weekly articles and projects.

We discuss a recent piece from Glyph titled, “What Is Code Review For?” We dig into the limitations of human review and where software tools like linters and formatters can help you. We cover the challenges developers and open-source maintainers face with the rise of LLM-generated code and pull requests.

We also share other articles and projects from the Python community, including a collection of recent releases and announcements, creating publication-ready tables from DataFrames, choosing the right Python task queue, mastering context managers, statically checking Python dicts for completeness, an open-source inventory management system, and an ORM-based backend for Django tasks.

This episode is sponsored by SerpApi.

Spotlight: Intermediate Python Deep Dive: Write Better Python and Build Better Systems

Master advanced patterns, OOP, and Pythonic design in eight weeks–with live expert guidance.

Topics:

  • 00:00:00 – Introduction
  • 00:02:32 – DuckDB 1.5.0 Released
  • 00:03:11 – PyPy v7.3.21 Released
  • 00:03:30 – Sunsetting Jazzband
  • 00:04:08 – Thoughts on OpenAI acquiring Astral and uv/ruff/ty
  • 00:05:19 – Great Tables: Publication-Ready Tables From DataFrames
  • 00:10:24 – Comparing PDF Table Extraction Tools
  • 00:11:53 – Sponsor: SerpApi
  • 00:12:55 – Choosing the Right Python Task Queue
  • 00:16:57 – Mastering Python Context Managers
  • 00:22:40 – Statically Checking Python Dicts for Completeness
  • 00:25:00 – Spotlight: Intermediate Python Deep Dive
  • 00:26:16 – What Is Code Review For?
  • 00:43:48 – usdatasets: Installable Collection of Datasets on USA
  • 00:45:22 – InvenTree: OSS Inventory Management System
  • 00:48:01 – django-tasks-db: An ORM-based Backend for Django Tasks
  • 00:49:41 – Thanks and goodbye
  • News:

    • DuckDB 1.5.0 Released
    • PyPy v7.3.21 Released
    • Sunsetting Jazzband
    • Thoughts on OpenAI acquiring Astral and uv/ruff/ty
    • OpenAI Acquiring Astral: A 4th Option for Fun - Will Vincent
    • Show Links:

      • Great Tables: Publication-Ready Tables From DataFrames – Learn how to create publication-ready tables from Pandas and Polars DataFrames using Great Tables. Format currencies, add sparklines, apply conditional styling, and export to PNG.
      • Comparing PDF Table Extraction Tools – This article explores three Python tools for PDF table extraction: Docling, Marker, and LlamaParse. Learn which handles merged cells and multi-level headers best.
      • Choosing the Right Python Task Queue – Python has great options for task queues. Choosing between Celery and RQ isn’t an easy decision. Jump in and learn how each option compares!
      • Mastering Python Context Managers – Go beyond just using open() and learn how Python context managers work and where they are useful.
      • Statically Checking Python Dicts for Completeness – To keep code concerns separate, you might have two data structures (like an Enum and a dict) that are supposed to change in sequence: adding a value to the Enum requires you to add a similar value in the dict. This is common when separating business logic from UI code. This article shows you ways of making sure the corresponding changes happen together.
      • Discussion:

        • What Is Code Review For? – This post explores just what you should and should not use code reviews for. Learn when to use linters to catch problems vs when human review is important.
        • Your job is to deliver code you have proven to work
        • Projects:

          • usdatasets: Installable Collection of Datasets on USA
          • InvenTree: OSS Inventory Management System
          • django-tasks-db: An ORM-based Backend for Django Tasks
          • Additional Links:

            • Episode #214: Build Captivating Display Tables in Python With Great Tables
            • Great Blogposts – great_tables
            • Python’s with Statement: Manage External Resources Safely – Real Python
            • Context Managers and Using Python’s with Statement – Real Python
            • Episode #183: Exploring Code Reviews in Python and Automating the Process
            • Episode #246: Learning Intermediate Python With a Deep Dive Course
            • Level up your Python skills with our expert-led courses:

              • Modern Python Linting With Ruff
              • Context Managers and Using Python's with Statement
              • Creating Asynchronous Tasks With Celery and Django
              • Support the podcast & join our community of Pythonistas

                ...more
                View all episodesView all episodes
                Download on the App Store

                The Real Python PodcastBy Real Python

                • 4.7
                • 4.7
                • 4.7
                • 4.7
                • 4.7

                4.7

                139 ratings


                More shows like The Real Python Podcast

                View all
                The Changelog: Software Development, Open Source by Changelog Media

                The Changelog: Software Development, Open Source

                288 Listeners

                Software Engineering Daily by Software Engineering Daily

                Software Engineering Daily

                626 Listeners

                Talk Python To Me by Michael Kennedy

                Talk Python To Me

                583 Listeners

                Soft Skills Engineering by Jamison Dance and Dave Smith

                Soft Skills Engineering

                287 Listeners

                Super Data Science: ML & AI Podcast with Jon Krohn by Jon Krohn

                Super Data Science: ML & AI Podcast with Jon Krohn

                306 Listeners

                Python Bytes by Michael Kennedy and Brian Okken

                Python Bytes

                214 Listeners

                Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

                Syntax - Tasty Web Development Treats

                985 Listeners

                Darknet Diaries by Jack Rhysider

                Darknet Diaries

                8,077 Listeners

                Tech Brew Ride Home by Morning Brew

                Tech Brew Ride Home

                964 Listeners

                Practical AI by Practical AI LLC

                Practical AI

                212 Listeners

                AWS Podcast by Amazon Web Services

                AWS Podcast

                204 Listeners

                Django Chat by William Vincent and Carlton Gibson

                Django Chat

                75 Listeners

                Last Week in AI by Skynet Today

                Last Week in AI

                313 Listeners

                Machine Learning Street Talk (MLST) by Machine Learning Street Talk (MLST)

                Machine Learning Street Talk (MLST)

                101 Listeners

                The Pragmatic Engineer by Gergely Orosz

                The Pragmatic Engineer

                77 Listeners