Pular para o conteúdo

Reducing the Size of Python Docker Containers

5 de junho de 2026 · 39 min

Notas do episódio

How can you easily reduce the size of a Python Docker container? What are the exceptions you should catch in your code? Christopher Trudeau is back on the show this week with another batch of PyCoder’s Weekly articles and projects.

We cover a tutorial by Khuyen Tran at CodeCut about shrinking the size of a Python Docker container. The piece explores SlimToolKit, which analyzes a container at runtime, identifies what files are used, and then builds a minimal image with only those dependencies.

We dig into a recent piece by Trey Hunner about Python exceptions. When trying to determine a strategy to handle potential errors, which exceptions should you catch and which should you leave unhandled?

We also share other articles and projects from the Python community, including recent releases, two PEPs that have been deferred to 3.16, a critical vulnerability in an open-source ASGI framework, resolving a lazy import manually, a project to anonymize sensitive PII data, and a tool for loading Django settings from a TOML file.

This episode is sponsored by AURI by Endor Labs.

Course Spotlight: Raising and Handling Python Exceptions

In this course, you’ll learn what an exception is and how it differs from a syntax error. You’ll learn about raising exceptions, making assertions, and catching exceptions to change the control flow of your program using the try, except, else, and finally keywords.

Topics:

  • 00:00:00 – Introduction
  • 00:02:32 – Django 6.1 Alpha 1 Released
  • 00:03:07 – Nuitka Python Compiler Release 4.1
  • 00:04:00 – PEP 813: The Pretty Print Protocol (Deferred to 3.16)
  • 00:04:28 – PEP 830: Add Timestamps to Exceptions and Tracebacks
  • 00:04:50 – Millions of AI agents imperiled by critical vulnerability in open source package
  • 00:07:27 – What Types of Exceptions Should You Catch?
  • 00:13:28 – Sponsor: AURI from Endor Labs
  • 00:14:18 – PyCon US 2026 Packaging Summit Recap
  • 00:18:39 – Slim Down Python Docker Containers
  • 00:24:17 – Video Course Spotlight
  • 00:25:45 – Resolve a Lazy Import Manually
  • 00:28:04 – presidio: Detect, Redact, & Anonymize Sensitive Data (PII)
  • 00:32:37 – dj-toml-settings: Load Django settings from a TOML file
  • 00:37:14 – Thanks and goodbye

News:

Show Links:

  • What Types of Exceptions Should You Catch? – The trickiest programming bugs are often caused by catching exceptions that you didn’t mean to catch or handling exceptions in ways that obfuscate the actual error that’s occurring. Which exceptions should you catch and which should you leave unhandled?
  • PyCon US 2026 Packaging Summit Recap – Per-talk notes from the PyCon US 2026 Packaging Summit, including: Emma Smith on Wheel 2.0 and Zstandard compression, Mike Fiedler on PyPI abuse vectors, Mahe Iram Khan on ecosystems, lightning talks on PEP 772, mobile wheels, AI accelerator variants, and the roundtable discussions.
  • Slim Down Python Docker Containers – Learn how SlimToolKit can reduce a Python Docker image by analyzing what your app actually uses at runtime. This tutorial walks through slimming a Chainlit LLM chatbot image, shows where container bloat comes from, and explains how to avoid breaking lazily loaded Python frameworks.
  • Resolve a Lazy Import Manually – Learn how to work around the Python 3.15 machinery to resolve an explicit lazy import manually.
  • TIL #141 – Inspect a lazy import - mathspp

Projects:

Additional Links:

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

Support the podcast & join our community of Pythonistas

Todos os episódios de The Real Python Podcast

Configurações

Exibição

Idioma

Define quais estações você vê primeiro na página inicial.

Histórico

As rádios e episódios ouvidos recentemente e suas últimas buscas ficam só neste navegador.

Avisos

Um aviso rápido quando um podcast que você segue tem um episódio novo. Desative podcasts individuais pelo sino na página deles.

Conta

Salve favoritos – no app e no site.

Atalhos de teclado

/
Abrir busca
Espaço
Reproduzir ou pausar
← →
No player: voltar 15 s, avançar 30 s (episódios) · na fileira: próximo bloco
↑ ↓
Na fileira: alvo dentro do bloco
Home / End
Na fileira: primeiro ou último bloco
Esc
Fechar janela ou menu
?
Esta visão geral
Tocando agora

Ir para a estação

A seguir

    Adicione episódios com “A seguir” – eles tocam depois do episódio atual.