Talks

Discover the Talks at PyCon Colombia 2026 ✨

Browse every accepted session—titles, tracks, levels, and speakers—before you plan your days in Medellín.

Search talks
Artificial IntelligenceMachine LearningCore Python

Clean Code in the Era of LLMs: Do Good Practices Still Matter?

Instead, research from METR, CodeRabbit, and GitClear is converging on an uncomfortable truth: code duplication has quadrupled, copy-pasted code now exceeds moved code, bugs have risen 70%, and security issues have nearly tripled. AI didn't break our codebases. It amplified what was already broken. So what do we actually do about it? This talk makes the case that clean code, SOLID, DDD, TDD, and design patterns matter more than ever when LLMs write half the code. Your codebase is now a prompt: clean code leads to better AI suggestions, which make it easier to stay clean. We'll walk through which practices now matter more, which ones have quietly turned against you, and how to collaborate with an LLM without becoming a rubber stamp for its output. You'll leave with a concrete framework, Adversarial Collaboration: generate, critique, refactor, verify. Not vibe coding. Real engineering, just faster.

View talk
Artificial IntelligenceMachine LearningCore PythonWeb

De voz a acción: construyendo un asistente de IA con Python y Google Workspace

Saltar entre pestañas de Gmail, Calendar, Drive y Jira para tareas repetitivas es agotador. Por eso construimos Attento, un asistente que permite ejecutar acciones reales en Google Workspace usando lenguaje natural. En esta charla construimos Attento, un asistente de voz end-to-end que convierte lenguaje natural en acciones reales sobre Google Workspace. Veremos arquitectura con FastAPI, autenticación OAuth 2.0 con PKCE, function calling con Gemini, streaming con NDJSON, buenas prácticas con uv y Pydantic Settings, y el camino de demo a producción con Postgres y briefings matutinos automatizados.

View talk
Artificial IntelligenceCore PythonDevOps

Elevate your code quality in Python with modern, ultra-fast tooling

AI coding assistants have changed how we build software. We can now generate features, refactors, and entire services in minutes — but speed without strong engineering practices quickly becomes technical debt. In this talk, I'll show how modern Python teams can build fast and reliable development workflows using tools like Astral's Ruff, Ty, and uv. We'll explore how traditional slow and noisy quality pipelines are being replaced by a new generation of tooling that provides near-instant feedback while improving code quality and developer experience. Topics include why AI-generated code makes automated quality gates more important than ever, using Ruff for formatting and linting, using Ty for modern static typing, structuring formatter → linter → type-checker workflows, pre-commit hooks and CI pipelines developers actually enjoy using, and reducing friction between local development and CI/CD.

View talk
Core PythonScientific Computing

Leverage your Python skill using the Python interpreter

In this talk, I'll challenge the audience's mindset about Python. Python is not an interpreter, and in fact, there are multiple Python interpreters—each with its own architecture and purpose. I'll walk through Python's core internals and show how programming languages interact beneath the surface. We'll explore how to write better Python by understanding the garbage collector, what you can build using the AST, how to read and leverage the disassembler, and the practical implications of Python's transition from its old LL(1) parser to the current PEG parser. We'll also dive into lesser-known features of Python interpreters, what a PEP really is and how it shapes the language, and conclude with a deep look at Python without the GIL—what changes, what breaks, and how the core team removed it. Throughout the talk, I'll share personal stories, including battles caused by identical ASTs and the moment I believed I had discovered a way to speed up the Python interpreter itself.

View talk
Machine LearningData ScienceCore PythonDevOps

NLP sin etiquetas: cómo clusterizar N procesos jurídicos del Estado colombiano y convertir el caos en un clasificador en producción

¿Qué haces cuando tienes 600.000 quejas jurídicas, cero datos etiquetados y una entidad del Estado esperando resultados? Esta charla recorre el proceso completo de construcción de un sistema de clasificación NLP no supervisado para la Procuraduría General de la Nación. Partiendo de texto administrativo en bruto — ruidoso, lleno de abreviaciones y jerga institucional — mostraré cómo TF-IDF, SVD truncado y KMeans se combinaron para organizar más de medio millón de registros en 64 grupos semánticamente coherentes, sin una sola etiqueta manual. Pero la clusterización es solo el punto de partida. Cubriré cómo se validaron los clusters, cómo se entrenó un clasificador de Regresión Logística sobre ellos para hacer el sistema desplegable, y cómo el pipeline final fue empaquetado en un .pkl que hoy usan colegas no técnicos en producción. En el camino, enfrentaremos los problemas reales: curvas de codo que no se comportan, desbalances de tamaño entre clusters de 1:20, y la tensión entre elegancia matemática y usabilidad institucional. Porque en el sector público, un modelo que nadie usa no es un modelo — es un PDF acumulando polvo.

View talk
Artificial IntelligenceCore PythonDevOpsCommunityOpen Source

Provenance by Default: AI Media Pipelines in Python

A model can now generate a video that looks indistinguishable from one your camera recorded. The same is true for an image, a voice, or a song. As Python developers, we are building those pipelines — and we are also the ones who will be asked, very soon, to prove what came out of them. This talk is about building generative media pipelines in Python in a way that answers that question by default. We'll walk through Genblaze, an open-source SDK (github.com/backblaze-labs/genblaze, MIT licensed) that I work on at Backblaze, and use it as a vehicle to talk about the design problems any team faces when wiring AI generation into a real product. We will cover, with live code: the Pipeline pattern with a fluent Pipeline → Step → Run → Manifest API built on Pydantic v2; one API across eleven providers; provenance that survives the file with SHA-256-verified manifests embedded into PNG, JPEG, MP4, MP3, and WAV; privacy and policy controls; storage and replay; and agent loops with lineage. By the end, attendees will have a clear reference for how to architect generative-AI features in Python so that what did this system actually produce, and can I prove it? is a one-line answer instead of a ticket.

View talk
Core PythonWeb

Python in the Browser: Powered by WebAssembly

What if the browser could run Python as a first-class language? In this talk, I'll show how PyScript makes it possible to execute real Python directly in the browser, powered by WebAssembly. Through a series of exciting, live examples, you'll see Python manipulating the DOM, calling browser APIs, and building interactive experiences, all without a traditional JavaScript codebase. I will also show a couple of examples of how you can embed both JavaScript and Python on PyScript to make even more exciting tools. I will also discuss what WebAssembly is, why it exists, and how it enables languages like Python to run safely and efficiently on the web platform. Finally, I'll discuss when tools like PyScript make sense, and compare it with similar tools. Whether you're a Python developer curious about the frontend, an engineer interested in WebAssembly, or simply someone who enjoys seeing the boundaries of Python pushed, this talk will change how you think about what can run in a browser.

View talk
Core Python

Understanding Cognitive Complexity in Python

Modern Python makes it incredibly easy to write code quickly, but much harder to keep it understandable as projects grow. This talk explores cognitive complexity: a metric focused not on what code does, but on how difficult it is for humans to read, reason about, and maintain. Through real Python examples, we will analyze how nested conditionals, branching logic, async flows, exceptions, and growing business rules silently increase the mental load required to work with a codebase. We will also discuss why traditional metrics such as cyclomatic complexity often fail to reflect actual readability, and how cognitive complexity provides a more human-centered perspective on maintainability. The talk includes practical refactoring techniques, common anti-patterns found in production Python projects, and lessons learned while building complexipy, an open source cognitive complexity analyzer for Python written in Rust, designed to provide fast local feedback and CI integration.

View talk
Artificial IntelligenceMachine LearningData ScienceCore Python

Your AI Eval Is Lying To You

When you set temperature=0 and run your AI eval, you expect the same input to give the same output. It doesn't. Recent measurements on Qwen3-235B at temperature=0 produced 80 unique completions on a single prompt. So when your eval reports "92% pass rate," what does that actually mean? This talk is about the gap between how the AI eval ecosystem talks about scores and what those scores can actually support. We walk through five specific tools that fix the gap: Pass@k versus pass^k, Wilson confidence intervals, Bayesian pass@k with Beta-Binomial conjugacy, sequential drift detection with EWMA, CUSUM, and OLS, and family-wise error control via Benjamini-Hochberg procedures. Each method gets a short demo in pure Python with no framework dependency. The audience leaves with reference implementations they can paste into an existing pytest setup tonight.

View talk