Saltar al contenido

Limitations in Human and Automated Code Review

27 de marzo de 2026 · 51 min

Notas del episodio

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:

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:

Projects:

Additional Links:

Level up your Python skills with our expert-led courses:

Support the podcast & join our community of Pythonistas

Todos los episodios de The Real Python Podcast

Ajustes

Visualización

Idioma

Determina qué emisoras ves primero en la página de inicio.

Historial

Las emisoras y episodios escuchados recientemente y tus últimas búsquedas solo se guardan en este navegador.

Avisos

Un breve aviso cuando un pódcast que sigues tiene un episodio nuevo. Puedes desactivar pódcast concretos con la campana de su página.

Cuenta

Guarda tus favoritos: en la app y en la web.

Atajos de teclado

/
Abrir búsqueda
Espacio
Reproducir o pausar
← →
En el reproductor: 15 s atrás, 30 s adelante (episodios) · en una fila: siguiente tarjeta
↑ ↓
En una fila: destino dentro de la tarjeta
Inicio / Fin
En una fila: primera o última tarjeta
Esc
Cerrar ventana o menú
?
Este resumen
Reproduciendo ahora

Ir a la emisora

A continuación

    Añade episodios con «A continuación»: sonarán después del episodio actual.