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 IntelligenceDevOps

Estrategias de Optimización de Costos en GenAI con Python y AWS

¿Es posible escalar la Inteligencia Artificial Generativa sin que el éxito del proyecto comprometa la estabilidad financiera de la organización? En esta sesión se abordará cómo transformar el despliegue de modelos de lenguaje de gran tamaño (LLMs) mediante un diseño de arquitectura orientado a la eficiencia operativa. En lugar de aceptar el consumo elevado de tokens como un costo inevitable, se explorará un modelo de costos sostenible que permite construir aplicaciones inteligentes y escalables sin sacrificar la rentabilidad. A través de una ruta técnica centrada en Python y los servicios de AWS, se analizarán estrategias clave como el arbitraje de modelos, donde la lógica de la aplicación decide dinámicamente qué motor de inteligencia utilizar según la complejidad de la tarea. Se profundizará en cómo el uso inteligente de bases de datos vectoriales de bajo impacto y el almacenamiento en caché semántico permiten reutilizar conocimientos previos, logrando ahorros significativos en infraestructura. Los asistentes descubrirán cómo la implementación de flujos asíncronos y el procesamiento por lotes permiten optimizar los recursos disponibles. Esta charla es una guía práctica para arquitectos y desarrolladores que buscan liderar la transición de prototipos costosos a sistemas en producción que sean técnica y económicamente viables.

View talk
Artificial IntelligenceMachine LearningDevOps

From Expert Judgment to Autonomous Optimization: Encoding Human Expertise into LLM Judges with DSPy

A single misread clause in a reinsurance contract can mean millions in liability. Our LLM pipeline could extract and summarize these documents, but how do you know the output is actually correct? String matching fails ("USD 5,000,000" vs "$5M" scores zero), human review at scale is unaffordable, and a single LLM-as-judge prompt gives inconsistent, uncalibrated scores. The real bottleneck was never generation; it was evaluation. This talk shows how we solved it in two steps, both built entirely in Python. First, we encoded expert evaluation at scale using DSPy to distill judgments from five domain experts into a panel of calibrated LLM judges, each targeting a single quality dimension, weighted to reflect what experts actually care about. Then we closed the loop using DSPy's MIPROv2 and GEPA optimizers, wiring the judge panel as a fitness function and letting the system rewrite prompts autonomously, with regression guards and CI gates so humans review only the final score delta. The stack is Python-native: DSPy, MLflow, LiteLLM, Pydantic. You will leave with a concrete recipe for encoding expert knowledge into automated LLM evaluation and self-improving optimization, applicable to any domain where "correct" is nuanced.

View talk
Security

From Typosquatting to Infrastructure Poisoning

En 2026, la seguridad de la cadena de suministro de Python ha dejado de ser un problema de nombres mal escritos para convertirse en un campo de batalla de infraestructura. Esta charla analiza la transición técnica desde ataques simples de Typosquatting hacia el envenenamiento sofisticado de herramientas de CI/CD y entornos de ejecución. Exploraremos casos reales recientes como la campaña de TeamPCP y el compromiso de Aqua Security Trivy, analizando técnicas de persistencia mediante archivos .pth que permiten ejecución maliciosa sin necesidad de un import explícito. Finalmente, presentaremos la hoja de ruta para la defensa moderna: desde Sigstore y el PEP 740 hasta el cumplimiento de la Ley de Resiliencia Ciberactiva (CRA).

View talk
Artificial IntelligenceSecurity

Hacking AI Agents with Python

La inteligencia artificial está evolucionando de modelos estáticos a sistemas autónomos capaces de razonar, tomar decisiones y ejecutar acciones mediante herramientas y APIs. Estos sistemas, conocidos como agentes de IA, están siendo construidos principalmente en Python. Pero con esta evolución también aparece una nueva superficie de ataque. En esta charla exploraremos cómo los agentes de IA pueden ser explotados desde una perspectiva ofensiva, utilizando Python para demostrar ataques reales como: prompt injection en pipelines de agentes, exfiltración de información a través de RAG, manipulación de decisiones mediante inputs adversarios y abuso de herramientas y APIs conectadas. A partir de estos escenarios, mostraremos cómo diseñar pruebas de seguridad (pentesting) específicas para sistemas de IA, incluyendo enfoques de caja negra, gris y blanca. La charla no solo se enfocará en ataques, sino también en cómo mitigarlos, presentando un roadmap práctico para evaluar y fortalecer sistemas de IA en producción. Esta sesión está dirigida a desarrolladores Python, data scientists y engineers que están construyendo o integrando sistemas de IA y quieren entender cómo asegurar lo que están creando.

View talk
Artificial IntelligenceMachine Learning

No todo clavo necesita un martillo de IA: Arquitecturas que piensan antes de generar

Vivimos en la era donde todo “necesita IA generativa”… o eso nos venden. En esta charla desmonto el hype para hablar de lo que realmente importa: diseñar arquitecturas limpias, intencionadas y sostenibles. Vamos a explorar cómo combinar lo mejor del mundo tradicional con las herramientas emergentes sin caer en el over-engineering. Porque a veces, un regex bien puesto le gana a un LLM de millones de parámetros. Si estás cansado de ver Ferraris estacionados en el supermercado, esta charla es para ti.

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
Machine LearningScientific Computing

Python y Machine Learning para Optimización Termoquímica Sostenible

La ingeniería química sigue dependiendo en gran parte de ensayos experimentales costosos y lentos para evaluar condiciones de operación en procesos termoquímicos. Esta charla propone un enfoque práctico basado en Python y machine learning para acelerar ese proceso: construir modelos predictivos a partir de datos fisicoquímicos que permitan estimar resultados clave sin necesidad de probar cada escenario en laboratorio. Se mostrará un flujo completo orientado a aplicaciones reales, desde datos hasta decisiones, con el objetivo de reducir tiempos de análisis, disminuir costos experimentales y apoyar la optimización de procesos con impacto ambiental.

View talk
Artificial IntelligenceData Science

Sistemas de IA vulnerables: datos reales, diseño responsable

El 29% de los ataques pasan los filtros de seguridad de los LLMs más usados en producción. No es un bug. Es la naturaleza del sistema. Los LLMs son procesos estocásticos entrenados sobre lenguaje humano, el medio más flexible, ambiguo y manipulable que existe. Esta charla presenta los resultados de llm-break-bench: 3.360 pruebas adversariales sobre GPT-4o, Claude, Gemini, Grok y DeepSeek usando MLCommons AI Safety v0.5 y OWASP LLM Top 10 como estándares. El modelo más inteligente del benchmark es 5 veces más vulnerable que el más barato. Los datos se conectan con casos de uso reales donde los LLMs están en producción: RAGs, chatbots, agentes, asistentes de código. El cierre es accionable: 5 pilares de diseño para sistemas de IA que no dependan del modelo para su propia seguridad, con código real de NVIDIA NeMo Guardrails y Meta LlamaFirewall.

View talk
Artificial IntelligenceData ScienceCommunityScientific Computing

Structured Learning: Plataforma impulsada por IA que transforma papers académicos en experiencias de aprendizaje interactivas

Structured Learning es una plataforma que convierte un paper de investigación en un módulo completo de aprendizaje — explicaciones capítulo por capítulo, código ejecutable incremental, chat con RAG, flashcards con repetición espaciada FSRS, derivaciones de ecuaciones, y un grafo de conocimiento en Neo4j. Esta charla cubre el producto, la ingeniería de un pipeline de workflows agénticos que lleva un issue de GitHub hasta un PR fusionado con worktrees aislados, auto-patching tras review fallido y GitHub como API de los agentes, y cómo corre en AWS con LocalStack para paridad dev-prod. Los agentes no reemplazan ingenieros, reemplazan el pegamento entre ingenieros y el aburrido 80% del SDLC — y ahí es donde viven los retornos compuestos.

View talk
Artificial IntelligenceSecurity

STUART: Un agente hacker autónomo hecho en Python

¿Qué pasaría si le das una dirección IP a un agente de Python y le pides que encuentre las vulnerabilidades del servidor por su cuenta? Eso es exactamente lo que hice. En esta charla presento STUART, un agente autónomo de pentesting que construí con AG2 (AutoGen) y GPT-4. El agente es capaz de analizar sistemas objetivo sin intervención humana, siguiendo las primeras etapas del Cyber Kill Chain: reconocimiento e identificación de vulnerabilidades. La arquitectura es 100% Python: un AssistantAgent respaldado por GPT-4 que razona y planifica, y un UserProxyAgent con un Code Executor que interactúa directamente con el sistema objetivo. Todo orquestado por AG2, el framework open-source para construir sistemas multi-agente. La charla incluye una demostración en vivo donde STUART analizará un sistema vulnerable desplegado en Docker. Verán paso a paso cómo el agente escanea puertos, identifica servicios, detecta vulnerabilidades y reporta sus hallazgos — todo de forma autónoma, decidiendo por sí mismo qué hacer en cada paso. Te vas a llevar conocimiento práctico sobre cómo construir agentes que actúan en el mundo real con AG2, y una perspectiva concreta sobre lo que la IA ofensiva puede hacer hoy. Si un agente de Python puede encontrar tus vulnerabilidades, ¿cómo deberían prepararse los equipos de defensa? Todas las demostraciones se realizan en entornos controlados y éticos.

View talk
Artificial IntelligenceMachine LearningData Science

The GenAI Revolution Reaches RecSys

When we talk about the generative AI revolution, the conversation usually stays close to chatbots, image generation, and code assistants. But the same architectures that powered that wave (transformers, autoregressive modeling, scaling laws) are quietly reshaping fields most people don't associate with GenAI at all. Recommender systems are one of the most interesting examples. Meta, Netflix, Google, Spotify and others are replacing decades-old recsys pipelines with transformer-based foundation models, and the results are hard to ignore. This talk is a practical tour of that shift from a Python engineer's seat.

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 Intelligence

Vision-Language-Action Models: de los chatbots a la interacción con el mundo físico

Los chatbots impulsados por LLMs marcaron un antes y un después en la inteligencia artificial, permitiendo sistemas capaces de comprender y generar lenguaje natural con gran fluidez. Más recientemente, los modelos multimodales ampliaron estas capacidades al incorporar imágenes, audio y video, acercando la IA a una comprensión más completa de su entorno. En esta charla exploraremos los Vision-Language-Action Models (VLA), arquitecturas que combinan visión por computadora, lenguaje natural y toma de decisiones para permitir que agentes inteligentes interpreten su entorno y ejecuten acciones en el mundo físico. También veremos cómo el ecosistema Python se ha convertido en una pieza fundamental para desarrollar este tipo de soluciones mediante herramientas modernas como PyTorch, Hugging Face, simuladores robóticos y frameworks open source utilizados actualmente en robótica e inteligencia artificial multimodal.

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