{"$schema": "https://c3voc.de/schedule/schema.json", "generator": {"name": "pretalx", "version": "2026.1.1", "url": "https://pretalx.com"}, "schedule": {"url": "https://pretalx.com/pydata-london-2026/schedule/", "version": "0.33", "base_url": "https://pretalx.com", "conference": {"acronym": "pydata-london-2026", "title": "PyData London 2026", "start": "2026-06-05", "end": "2026-06-07", "daysCount": 3, "timeslot_duration": "00:05", "time_zone_name": "Europe/London", "colors": {"primary": "#459db9"}, "rooms": [{"name": "Grand Hall 1", "slug": "5626-grand-hall-1", "guid": "cdbb4426-356b-5463-a66d-07b70e7d6bc3", "description": null, "capacity": null}, {"name": "Grand Hall 2", "slug": "5627-grand-hall-2", "guid": "3a7d5db2-a998-56f5-8235-d2b0915f15f6", "description": null, "capacity": null}, {"name": "Doddington Forum", "slug": "5628-doddington-forum", "guid": "ecff3145-6c7f-50f2-9dc0-7f378f3dc47a", "description": null, "capacity": null}, {"name": "Hardwick Hub", "slug": "5629-hardwick-hub", "guid": "fdadcbb2-5d01-5747-973a-69dd8300ea50", "description": null, "capacity": null}, {"name": "Board Room- Unconference Track", "slug": "5630-board-room-unconference-track", "guid": "7b13abf8-dce7-5da4-b080-6a215b57a18f", "description": null, "capacity": null}], "tracks": [], "days": [{"index": 1, "date": "2026-06-05", "day_start": "2026-06-05T04:00:00+01:00", "day_end": "2026-06-06T03:59:00+01:00", "rooms": {"Grand Hall 1": [{"guid": "8a66dd96-4724-5eaf-9e1b-cb335e791ef8", "code": "YFYXAC", "id": 88321, "logo": null, "date": "2026-06-05T09:00:00+01:00", "start": "09:00", "duration": "01:30", "room": "Grand Hall 1", "slug": "pydata-london-2026-88321-making-databases-llm-ready-building-production-semantic-layers-with-semantido", "url": "https://pretalx.com/pydata-london-2026/talk/YFYXAC/", "title": "Making Databases LLM-Ready: Building Production Semantic Layers with Semantido", "subtitle": "", "track": null, "type": "Tutorial", "language": "en", "abstract": "We'll explore the architecture of production-grade semantic layers, demonstrating how Semantido enables reliable text-to-SQL applications by providing LLMs with rich contextual understanding of database schemas, relationships, and business logic. Attendees will learn practical patterns for implementing semantic layers that bridge the gap between user intent and database queries by building a semantic layer for a fictional company.\n\n\nThe repos for this tutorial:\nhttps://github.com/hikarilabs/pydata-london-2026-ui.git\nhttps://github.com/hikarilabs/pydata-london-2026-sql.git\n\nThe deck:\nhttps://docs.google.com/presentation/d/1uyN-xblr6d6cKb9HgHcgfd4ZafnN3mLRcVTuiKsYL-E/edit?usp=sharing", "description": "Learning Objectives\n\nBy the end of this tutorial, participants will be able to:\n\n* Design and implement semantic models that capture business logic and domain knowledge alongside database schema definitions\n* Build LLM integrations that leverage semantic metadata for accurate query generation and validation\n* Deploy scalable semantic APIs that abstract database complexity from LLM applications\n* Use PydanticAI for an agentic analytics harness\n* Implement observability patterns for monitoring and debugging\n* How to evaluate semantic layer quality\n\n\n__Desired Tutorial Structure (90 minutes)__\n\n__Part 1: Foundations (~20 minutes)__\n\n- The Text2SQL Challenge: Why naive approaches fail\n- Semantic Layer Architecture: Core concepts, design patterns, and the role of metadata in LLM reliability\n- Semantido Quick Start: Installation, project setup, and connecting to the playground database\n- *Hands-on Exercise*: Participants will set up their development environment and connect semantido to a provided database.\n\n__Part 2: Building Your First Semantic Layer (~25 minutes - 35 mins)__\n\n- Declarative Model Definition: Extending SQLAlchemy models with business metadata, descriptions, and constraints\n- Relationship Semantics: Annotating foreign keys, joins, and cross-table business rules\n- Domain Knowledge Injection: Adding enums, validation logic, and computed fields with business meaning\n- *Hands-on Exercise*: Participants will build a semantic layer for a given database, adding rich metadata that describes the tables and columns both in application and business terms.\n\n__Part 3: LLM Integration Patterns (~20 minutes)__\n\n- Context aware Query Generation: Using semantic layers exposed via a FastAPI endpoint\n- *Hands-on Exercise*: Participants build a simple chatbot that answers natural language questions using the generated semantic layer. Participants will implement query validation and test it with ambiguous questions.\n\n__Part 4: Production Considerations (~20 minutes)__\n\n- Observability and Debugging (6 min): Logging semantic context, tracing query generation, and monitoring LLM-database interactions\n- Evaluation Framework (5 min): Testing semantic layer quality with automated benchmarks and business logic validation\n- Deployment Patterns (4 min): Docker, FastAPI integration, and scaling considerations\n- *Hands-on Exercise*: Participants will add observability instrumentation to their semantic layer and run an evaluation suite that tests query accuracy against known business questions.\n\n__Part 5: Production Considerations (15 minutes)__\n* Q&A: Open discussion and troubleshooting", "recording_license": "", "do_not_record": false, "persons": [{"code": "UATLWR", "name": "Dragos Crintea", "avatar": "https://pretalx.com/media/avatars/UATLWR_8gEXXAs.webp", "biography": "After 12+ years architecting and engineering cloud solutions for small and large enterprises, I recognized that AI represents not a replacement for expertise, but its natural evolution. Join me in shaping the semantic layer for AI-ready data.", "public_name": "Dragos Crintea", "guid": "7b0aa4f5-4944-5b1c-a902-b77b820f1797", "url": "https://pretalx.com/pydata-london-2026/speaker/UATLWR/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/YFYXAC/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/YFYXAC/", "attachments": [{"title": "Notebook LM generated deck based on the semantido codebase", "url": "/media/pydata-london-2026-2025/submissions/YFYXAC/resources/se_Lkbzl9x.pdf", "type": "related"}]}, {"guid": "050d2cc9-cf0e-566c-9543-6a85d5b68713", "code": "DBGAND", "id": 91553, "logo": "https://pretalx.com/media/pydata-london-2026-2025/submissions/DBGAND/image_l3MUfcP.webp", "date": "2026-06-05T10:50:00+01:00", "start": "10:50", "duration": "01:30", "room": "Grand Hall 1", "slug": "pydata-london-2026-91553-gpu-algorithm-authoring-with-cuda-tile", "url": "https://pretalx.com/pydata-london-2026/talk/DBGAND/", "title": "GPU Algorithm Authoring with CUDA Tile", "subtitle": "", "track": null, "type": "Tutorial", "language": "en", "abstract": "Want to write your own GPU algorithms, but not sure how to get started or keep them portable? Come to this hands-on session to learn tile programming with CUDA Tile and cuTile Python: you will build an accurate mental model of tiles and thread groups, write and debug real GPU kernels in a browser-based JupyterLab (no installation), profile and tune performance with NVIDIA Nsight, and see how the same tile code applies across DL and HPC examples like LLM inference and conjugate gradient, including when to use tiles vs SIMT and how to mix both.", "description": "CUDA Tile is NVIDIA's new programming model for writing GPU kernels in an array-centric style that is portable across NVIDIA GPU architectures. Instead of orchestrating thousands of threads directly, you express computation over small local arrays (tiles) and let the system manage the parallel execution details: synchronization, data movement, and coordination across the GPU.\n\nThis interactive session introduces the core mental model behind tile programming and how it is realized in cuTile Python on top of the Tile IR compiler stack. You will write tile code, see how it maps onto real GPU execution, and learn how to evaluate and tune performance with NVIDIA's Nsight profilers. We'll explore examples from both DL and HPC, such as large language model inference and conjugate gradient solvers.\n\nThis session is hands-on with no installation required, just a web browser. We'll use Brev, NVIDIA's developer cloud, to get access to GPUs, and all work will be done in a JupyterLab environment. \n\nBy the end of this session, you will:\n- Build an accurate mental model of tiles, thread groups, and how tile code executes on GPUs.\n- Write and debug tile-based GPU kernels in Python for real workloads.\n- Use profiling traces to identify bottlenecks and guide optimizations inside a notebook workflow.\n- Decide when tile programming is the right tool versus SIMT, and how to mix the two when needed.\n\nLinks:\n- Accelerated Computing Hub: https://github.com/NVIDIA/accelerated-computing-hub\n- cuTile Python: https://github.com/NVIDIA/cutile-python\n- Tile IR: https://github.com/NVIDIA/cuda-tile\n- TileGym examples: https://github.com/NVIDIA/TileGym", "recording_license": "", "do_not_record": false, "persons": [{"code": "Z9ENP8", "name": "Katrina Riehl", "avatar": "https://pretalx.com/media/avatars/Z9ENP8_ml6Zw2v.webp", "biography": "Dr. Katrina Riehl is a Principal Technical Product Manager at NVIDIA leading the CUDA Education program. For over two decades, Katrina has worked extensively in the fields of scientific computing, machine learning, data science, and visualization. Most notably, she has helped lead data initiatives at the University of Texas Austin Applied Research Laboratory, Anaconda, Apple, Expedia Group, Cloudflare, and Snowflake. She is an active volunteer in the Python open-source scientific software community and currently serves on the Advisory Council for NumFOCUS.", "public_name": "Katrina Riehl", "guid": "885c34b1-3992-5e82-988f-01bce678c58b", "url": "https://pretalx.com/pydata-london-2026/speaker/Z9ENP8/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/DBGAND/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/DBGAND/", "attachments": []}, {"guid": "bb00a673-9f04-59c9-b800-ab046c7a3c14", "code": "TAWYHU", "id": 94103, "logo": null, "date": "2026-06-05T13:20:00+01:00", "start": "13:20", "duration": "00:45", "room": "Grand Hall 1", "slug": "pydata-london-2026-94103-keynote-samuel-colvin-pydantic-monty-logfire-wild-llms-from-tool-calling-to-computer-use", "url": "https://pretalx.com/pydata-london-2026/talk/TAWYHU/", "title": "Keynote: Samuel Colvin: Pydantic Monty & Logfire: Wild LLMs, from tool calling to computer use", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "LLMs are increasingly being used to take actions, call APIs, and write code. But giving AI agents the ability to run code opens up a surprisingly tricky question: how much control do you actually hand over?\n\nThere's a full continuum here, from structured tool calling at one end to full computer use at the other, but most developers don't realise how many interesting options live in between. That gap matters, because the extremes both have serious trade-offs: pure tool calling is safe but sequential and limiting, while full sandboxes or computer use are powerful but complex, slow, and often a hard sell to enterprise security teams.\n\nThis talk introduces Monty, a minimal Python interpreter written in Rust, purpose-built for running AI-generated code safely. Unlike traditional sandboxing approaches that start with full access and try to lock things down, Monty starts from zero and requires you to explicitly grant each capability \u2014 meaning the LLM can only interact with the outside world through functions you wrote, control, and can audit. It's a new paradigm: not AI using your tools, but AI writing its own programs to coordinate your tools.\n\nIn this talk, you will learn how to think about the control-capability trade-off when building AI agents, where Monty sits on that spectrum and why, and how to use it with Pydantic AI to replace sequential tool calls with expressive Python \u2014 complete with a live demo traced through Logfire.\n\nBasic familiarity with Python and LLM tool use is helpful but not required. No prior knowledge of Rust or sandboxing concepts needed.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "CDSDTD", "name": "Samuel Colvin", "avatar": "https://pretalx.com/media/avatars/ZG8GYN_jM9Jl64.webp", "biography": "Samuel Colvin is a Python and Rust developer and Founder of Pydantic Inc., backed by Sequoia to build Pydantic Logfire, the only observability tool that traces your AI and your backend together. The Pydantic library, which he created is downloaded over 580M/month and is a dependency of virtually every GenAI Python libraries including the OpenAI SDK, the Anthropic SDK, the Google Gen AI SDK, Langchain and LlamaIndex.", "public_name": "Samuel Colvin", "guid": "dcf66d98-8936-53a6-ae8e-7afa8e0eaec1", "url": "https://pretalx.com/pydata-london-2026/speaker/CDSDTD/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/TAWYHU/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/TAWYHU/", "attachments": []}, {"guid": "a39cc295-7220-5ade-9502-f81e4b387bfa", "code": "M8TE3Q", "id": 88365, "logo": null, "date": "2026-06-05T14:10:00+01:00", "start": "14:10", "duration": "01:30", "room": "Grand Hall 1", "slug": "pydata-london-2026-88365-flexible-statistical-modeling-with-bayesian-additive-regression-trees", "url": "https://pretalx.com/pydata-london-2026/talk/M8TE3Q/", "title": "Flexible Statistical Modeling with Bayesian Additive Regression Trees", "subtitle": "", "track": null, "type": "Tutorial", "language": "en", "abstract": "Most machine learning methods give you a prediction but not a measure of how much to trust it. Bayesian Additive Regression Trees (BART) combine the flexibility of tree ensembles (e.g. random forests, boosting) with full uncertainty quantification\u2014every prediction comes with a probability interval, not just a point estimate. This hands-on tutorial introduces BART for regression and classification. Using `pymc-bart`, participants will learn to fit flexible models that automatically capture non-linear relationships while providing honest uncertainty estimates. We emphasize practical interpretation throughout: visualizing predictions with uncertainty bands, understanding variable importance, and interpreting model output.", "description": "Machine learning models are often evaluated on predictive accuracy alone, but accuracy without uncertainty can be misleading. Classical tree ensemble methods like random forests and gradient boosting provide point predictions, and while techniques like conformal inference or bootstrap aggregation can add uncertainty estimates, these are often poorly calibrated or computationally expensive.\n\nBayesian Additive Regression Trees (BART) offer a different approach: uncertainty quantification is built into the model, not ignored or bolted on afterward. BART models the response as a sum of small trees, with regularization priors that keep each tree weak. Posterior inference over the tree structures yields a full distribution over predictions\u2014every fitted value comes with a credible interval that reflects genuine uncertainty about the underlying function.\n\nThis tutorial introduces BART through three applications, each demonstrating how uncertainty changes the way we interpret results:\n\n**Regression:** We begin with continuous outcomes, fitting BART models and visualizing posterior predictive distributions. Rather than a single fitted curve, participants will see HDI bands that widen where data is sparse and narrow where evidence is strong. We'll explore variable importance\u2014which comes with its own uncertainty\u2014and partial dependence plots that reveal non-linear effects.\n\n**Classification:** For binary outcomes, BART produces predicted probabilities with uncertainty, not just class labels. We'll examine how this uncertainty propagates through decision-making and compare calibration against standard classifiers.\n\n### Target audience \n\nData scientists and analysts looking to add useful statistical methods to their toolkit. \n\n## Takeaways \n\nParticipants will leave able to fit BART models for continuous, binary, and time-to-event outcomes; interpret predictions with full posterior uncertainty; use variable importance and partial dependence plots appropriately; and decide when BART's uncertainty quantification justifies its computational cost over simpler alternatives.\n\n## Materials \n\nGitHub repository with marimo notebooks, real-world datasets from sports, psychology, and other domains, environment files, and a one-page BART reference guide. Participants should clone the repository and verify their setup before the session.", "recording_license": "", "do_not_record": false, "persons": [{"code": "MZZ8YC", "name": "Chris Fonnesbeck", "avatar": "https://pretalx.com/media/avatars/MZZ8YC_Toi8z8j.webp", "biography": "Chris is a Principal Quantitative Analyst at PyMC Labs and an Adjoint Associate Professor at the Vanderbilt University Medical Center, with 20 years of experience as a data scientist in academia, industry, and government, including 7 years in pro baseball research with the Philadelphia Phillies, New York Yankees, and Milwaukee Brewers.\nHe is interested in computational statistics, machine learning, Bayesian methods, and applied decision analysis. He hails from Vancouver, Canada and received his Ph.D. from the University of Georgia.", "public_name": "Chris Fonnesbeck", "guid": "1820c9f2-1b76-5976-b9bd-1d66269268af", "url": "https://pretalx.com/pydata-london-2026/speaker/MZZ8YC/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/M8TE3Q/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/M8TE3Q/", "attachments": []}, {"guid": "78a89eb9-edb3-5add-ab2f-9c83cfdcb5ec", "code": "SUJZCA", "id": 91130, "logo": null, "date": "2026-06-05T16:00:00+01:00", "start": "16:00", "duration": "01:30", "room": "Grand Hall 1", "slug": "pydata-london-2026-91130-do-you-know-how-well-your-model-is-doing-evaluate-your-llms", "url": "https://pretalx.com/pydata-london-2026/talk/SUJZCA/", "title": "Do you know how well your model is doing? Evaluate your LLMs", "subtitle": "", "track": null, "type": "Tutorial", "language": "en", "abstract": "[Preflight check]: You may want to have a look at the repo and pre-download some libraries or models in advance: https://github.com/Cheukting/lighteval-exercises\n\nLarge Language Models (LLMs) are becoming central to modern applications, yet effectively evaluating their performance remains a significant challenge. How do you objectively compare different models, benchmark the impact of fine-tuning, or ensure your LLM responses adhere to safety guidelines (guard-railing)? This hands-on workshop addresses these critical questions.", "description": "Prerequisites:\n\n- Have experience coding in Python (with Python installed in the local machine)\n- Basic understanding of machine learning and LLMs\n- Experience with Hugging Face Transformers is preferred but not necessary\n- A Hugging Face Hub account (sign up for free)\n- A modern computer that can fine-turn small LLMs locally\n\nDescription:\n\nWe will begin with an essential revision of the Hugging Face Transformers library, covering basic LLM inference and fine-tuning. The core of the workshop will introduce and provide deep practice with Lighteval, an efficient and powerful LLM evaluation framework. Participants will learn how to leverage Lighteval to compare various LLMs available on the Hugging Face Hub using a range of pre-built tasks and metrics.\n\nFinally, we will delve into advanced evaluation techniques, focusing on creating custom tasks and metrics tailored to unique, real-world application requirements. Participants will learn how to prepare custom datasets on the Hugging Face Hub and integrate them into Lighteval for precise, domain-specific evaluation. By the end of this workshop, you will possess the practical skills to rigorously evaluate, benchmark, and fine-tune your LLMs with confidence.", "recording_license": "", "do_not_record": false, "persons": [{"code": "8EGVC9", "name": "Cheuk Ting Ho", "avatar": "https://pretalx.com/media/avatars/8EGVC9_LbezfQb.webp", "biography": "After having a career as a Data Scientist and Developer Advocate, Cheuk dedicated her work to the open-source community. Currently, she is working as a developer advocate for JetBrains. She has co-founded Humble Data, a beginner Python workshop that has been happening around the world. Cheuk also started and hosted a Python podcast, PyPodCats, which highlights the achievements of underrepresented members in the community. She has served the EuroPython Society board for two years and is now a fellow and director of the Python Software Foundation.", "public_name": "Cheuk Ting Ho", "guid": "6acb0b45-07a8-5f1c-a3fa-45ae8f0a9858", "url": "https://pretalx.com/pydata-london-2026/speaker/8EGVC9/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/SUJZCA/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/SUJZCA/", "attachments": []}, {"guid": "8bd6aab6-721c-5409-911e-3ccc6cce9fa5", "code": "3RBSQM", "id": 98763, "logo": null, "date": "2026-06-05T18:00:00+01:00", "start": "18:00", "duration": "03:00", "room": "Grand Hall 1", "slug": "pydata-london-2026-98763-after-conference-social-fleets-sponsored-by-pdfta-coefficient", "url": "https://pretalx.com/pydata-london-2026/talk/3RBSQM/", "title": "After Conference Social- Fleets- Sponsored by PDFTA & Coefficient", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Join us after Day 1 of PyData London for an evening of drinks, conversation, and community at Fleets \u2022 Bar & Kitchen, a stylish bar and social space just steps from St Paul\u2019s Cathedral. It\u2019s the perfect opportunity to unwind after a full day of talks, connect with fellow attendees, speakers, and organizers, and keep the PyData conversations going in a relaxed setting. Whether you\u2019re looking to network, catch up with colleagues, or simply enjoy a great London evening with the community, we\u2019d love to see you there.\n\nThank you to our sponsor PDFTA & Coefficient, find John Carney and John Sandall and give them a big thank you!\n\nVenue: 44\u201346 Ludgate Hill, London EC4M 7DE\nLearn more: [Fleets website](https://www.urbanpubsandbars.com/city-by-urban/venues/fleets#)", "description": "", "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/3RBSQM/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/3RBSQM/", "attachments": []}], "Doddington Forum": [{"guid": "b5a3d388-c9a2-5073-898d-85d840f753b1", "code": "9PPVRK", "id": 91899, "logo": null, "date": "2026-06-05T09:00:00+01:00", "start": "09:00", "duration": "01:30", "room": "Doddington Forum", "slug": "pydata-london-2026-91899-learn-to-unlock-document-intelligence-with-open-source-ai", "url": "https://pretalx.com/pydata-london-2026/talk/9PPVRK/", "title": "Learn to Unlock Document Intelligence with Open-Source AI", "subtitle": "", "track": null, "type": "Tutorial", "language": "en", "abstract": "Unlocking the full potential of AI starts with your data, but real-world documents come in countless formats and levels of complexity. This session will give you hands-on experience with Docling, an open-source Python library designed to convert complex documents into AI-ready formats. Learn how Docling simplifies document processing, enabling you to efficiently harness all your data for downstream AI and analytics applications.", "description": "Most organizational knowledge is still locked inside complex documents, making it difficult to extract and use the information effectively. Traditional tools often fail when working with real-world document formats, particularly PDFs. Tables lose their structure, figures get separated from captions, and multi-column layouts become unreadable text. These failures make it difficult to bring AI to document-heavy workflows.\n\nThis workshop will give you hands on experience with Docling, an open-source project that takes a different approach, using deep learning models to parse documents the way humans read them. It preserves hierarchy, extracts structured data through a consistent API, and supports 15+ file formats out of the box. All of Docling is MIT-licensed, enabling fully local execution, allowing you to keep sensitive data on-premise while delivering low-latency processing and ingestion.\n\nYou'll be building a complete document intelligence pipeline from the ground up. We'll work through three progressive modules: first, converting documents and exploring Docling's enrichment features like table detection and image classification; second, chunking strategies that preserve document semantics for retrieval; and finally, building on all our other components using Docling, we will build a multimodal RAG pipeline with visual grounding, creating an application that can cite the exact page and location where it found an answer.\n\nNo prior experience with Docling is required. Colab notebooks with hosted model endpoints will be provided, so you can follow along with just a browser. Attendees who prefer local execution should have Jupyter Notebook installed and the ability to download models from Hugging Face. Bring your own documents to experiment with, or use the samples provided.\n\nLink to workshop, project resources, and more: https://red.ht/pydataLON", "recording_license": "", "do_not_record": false, "persons": [{"code": "HRNV7T", "name": "Mingxuan Zhao", "avatar": "https://pretalx.com/media/avatars/HRNV7T_aYAFH3m.webp", "biography": "Ming Zhao is an open source developer and Developer Advocate at IBM Research, where he helps IBM leverage open technologies while building impactful tools and growing vibrant open-source communities. He\u2019s passionate about making open tech accessible to all and ensuring developers have the tools they need to succeed in the rapidly developing AI space. Ming now leads community efforts around Docling, IBM\u2019s fastest-growing open source project, recently welcomed into the LF AI & Data Foundation.", "public_name": "Mingxuan Zhao", "guid": "9564fa1c-c9a0-523b-9fcc-e717dbabeeae", "url": "https://pretalx.com/pydata-london-2026/speaker/HRNV7T/"}, {"code": "XS7A7F", "name": "Abby Tse", "avatar": "https://pretalx.com/media/avatars/XS7A7F_ABsBM3O.webp", "biography": "Abby Tse is Chair of PyData NYC, where she has led a community of over 8,000 data professionals since 2022. She organizes the annual PyData NYC/Boston Conference, a three-day event that brings together 600+ attendees from around the world to explore the latest in data science, machine learning, and AI. Abby is currently an MBA student at Columbia Business School, where she focuses on entrepreneurship and innovation. Previously, she worked at IBM, where she built enterprise AI systems, including large-scale generative AI applications to improve knowledge access.", "public_name": "Abby Tse", "guid": "c745c1ef-564d-55c3-a3dc-59b8483c0554", "url": "https://pretalx.com/pydata-london-2026/speaker/XS7A7F/"}, {"code": "W97P3X", "name": "Carol Chen", "avatar": "https://pretalx.com/media/avatars/7Y7FFQ_7vm2JCu.webp", "biography": "Carol Chen is a Community Architect at Red Hat, having led several upstream communities including InstructLab, Ansible and ManageIQ. She has been actively involved in open source communities while working for Jolla and Nokia previously. In addition, she also has experiences in software development/integration in her 12 years in the mobile industry. Carol has spoken at events around the world, including AI_Dev in Paris and OpenSearchCon in Shanghai. On a personal note, Carol plays the Timpani in an orchestra in Tampere, Finland, where she now calls home.", "public_name": "Carol Chen", "guid": "a3a9c19d-fb7a-593c-a6fc-1f92284134e3", "url": "https://pretalx.com/pydata-london-2026/speaker/W97P3X/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/9PPVRK/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/9PPVRK/", "attachments": []}, {"guid": "59c00e8a-a5a8-5e09-a974-d9cbe58395c5", "code": "APYSNR", "id": 91825, "logo": null, "date": "2026-06-05T10:50:00+01:00", "start": "10:50", "duration": "01:30", "room": "Doddington Forum", "slug": "pydata-london-2026-91825-observing-agentic-ai-in-production-mcp-server-tracing-with-opentelemetry-and-animal-crossing", "url": "https://pretalx.com/pydata-london-2026/talk/APYSNR/", "title": "Observing Agentic AI in Production: MCP Server Tracing with OpenTelemetry and Animal Crossing", "subtitle": "", "track": null, "type": "Tutorial", "language": "en", "abstract": "AI agents are moving into production in 2026, but when something goes wrong (a tool call fails silently, an LLM takes 13 seconds to respond, token costs spike overnight) teams struggle to diagnose issues across multi-step agentic workflows. In this hands-on tutorial you will solve a real problem on the island in Animal Crossing with a FastMCP Model Context Protocol (MCP) server in Python, instrumenting it with OpenTelemetry following the emerging GenAI and MCP semantic conventions and visualising end-to-end traces in a local Jaeger instance. Did I mention that events on the island occur in real time and are collected and processed using Apache Kafka?\n\nYou will learn how distributed tracing captures the hierarchical relationship between agent conversations, tool executions and MCP protocol messages, and how to use that visibility for debugging, cost analysis and performance optimisation (including picking the right model and checking if you\u2019re drowning in serialisation overhead). You will leave with a fully instrumented MCP server, a Docker Compose real-time observability stack and the knowledge to bring production-grade observability to your own agentic AI systems.", "description": "### Why this matters\n\nOpenTelemetry is rapidly becoming the standard telemetry backbone for AI agents, just as it is already for microservices. It is one of the most active CNCF projects after Kubernetes, with native support from 30+ observability vendors. Its GenAI Special Interest Group declared 2025 the \"year of AI agents\" and has since published purpose-built semantic conventions for LLM calls, agent orchestration, and MCP tool calls. The industry has followed: Amazon launched Bedrock AgentCore Observability built entirely on OTel and GenAI semantic conventions; Grafana Labs demonstrated production tracing of the OpenAI Agents SDK and AWS Bedrock AgentCore.\n\nHowever, most teams building agents today have none of this. The reason is a \u201cdeveloper experience gap\u201d: many agent builders come from data science and ML research backgrounds, not distributed systems, and have never configured a tracing pipeline. Traditional monitoring tools don't capture the signals that matter for agents: token usage, cost per invocation, tool selection, multi-agent handoffs. Since agentic architecture is interaction-centric (98% of wall-clock time is spent in LLM API calls and tool executions, not your code), this means distributed tracing, not traditional metrics, is the primary observability signal. Without it, failures are invisible: one fintech company's agent ran in a loop for 11 hours accumulating $47,000 in costs before anyone noticed.\n\n### What we will do\n\nWe will instrument a FastMCP server that exposes tools for a fun real-time data engineering scenario, instrument it with OpenTelemetry and visualise the resulting traces. \n\n* Check out a FastMCP server (understand the MCP request/response lifecycle).\n* OpenTelemetry for agentic AI (traces, metrics, logs and why they're the primary signal for agents).\n* Instrument the MCP server (OpenTelemetry instrumentation, see how errors are automatically recorded with stack traces).\n* From traces to dashboards (build a dashboard that answers which tools are slowest, showing error rates and token costs).\n* Production patterns and case studies (patterns for sensitive data handling, sampling strategies for high-throughput agent workflows).\n* Connecting auth and observability (auth attributes appearing in traces when OAuth is enabled, giving per-user visibility).\n\n### Target audience\n\nData engineers, data scientists, ML/AI engineers and SRE/platform engineers who are building or operating AI agents and need production visibility into agentic workflows. This is relevant to anyone deploying LLM-powered tools, multi-agent orchestration or MCP servers. Or you\u2019re just a fan of Animal Crossing and social simulation gaming.\n\n### Prerequisites\n\n* Basic to Intermediate Python (comfortable with decorators, async/await basics and uv).\n* No prior knowledge of MCP, OpenTelemetry or FastMCP is required.\n\n### Tutorial requirements\n\n* MacOS/Linux laptop or Windows with PowerShell.\n* Docker, Colima or OrbStack (to run Docker Compose for the local observability stack).\n* uv for package management.\n* A code editor (VS Code, Cursor, Kiro or similar).\n* LLM access, either via a vendor (Anthropic, OpenAI, etc) or local Ollama. We will be serving a local 1B model, so you\u2019ll need enough RAM and disk space ~4 GB.\n* Visit the GitHub repo <https://tinyurl.com/anteaters26> and follow the `SETUP.md` to install all the tools prior to arrival.\n\n### Key takeaways\n\n1. Understand why distributed tracing (rather than traditional metrics) is the primary observability signal for agentic AI systems.\n2. Be able to build an MCP server with custom tools using FastMCP and instrument it with OpenTelemetry.\n3. Know the OpenTelemetry GenAI and MCP semantic conventions and how they standardise telemetry across agent frameworks.\n4. Be able to visualise, query and dashboard agent traces using Jaeger.\n5. Understand the production observability landscape: auto-instrumentation libraries, sensitive data handling and compliance considerations.", "recording_license": "", "do_not_record": true, "persons": [{"code": "KBN889", "name": "Tun Shwe", "avatar": "https://pretalx.com/media/avatars/KBN889_0RnXY6U.webp", "biography": "Tun leads AI Engineering at Lenses, where he is focused on helping companies imagine and implement their strategic vision with agentic AI systems fuelled by real-time context. He was previously a Head of Data and Data/ML Engineer at high growth startups and has spent 20 years building data-intensive applications and leading T-shaped teams.\n\nTun is a co-organiser for the annual PyData London conference and co-founder of PyData Cornwall. He is a strong advocate in the Python AI engineering community and contributor to open source AI engineering and Apache Kafka tools.\n\nIn his spare time, Tun goes surfing, plays guitar and shoots 35mm film.", "public_name": "Tun Shwe", "guid": "d6bed29f-e321-5f1f-9ba8-8badc273d287", "url": "https://pretalx.com/pydata-london-2026/speaker/KBN889/"}, {"code": "WTUCWT", "name": "Fei Phoon", "avatar": "https://pretalx.com/media/avatars/WTUCWT_qNlQtP3.webp", "biography": "Data Engineer in AI Platform at The Economist, PyData Cornwall co-founder, and committed diversity and inclusion ally.", "public_name": "Fei Phoon", "guid": "23f64e0a-f740-56f2-b06d-7bc4f3445a12", "url": "https://pretalx.com/pydata-london-2026/speaker/WTUCWT/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/APYSNR/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/APYSNR/", "attachments": []}, {"guid": "533ad553-c06f-503b-ae0e-48a7462c44c7", "code": "ZAR8AG", "id": 90698, "logo": null, "date": "2026-06-05T14:10:00+01:00", "start": "14:10", "duration": "01:30", "room": "Doddington Forum", "slug": "pydata-london-2026-90698-building-a-browser-agent-from-scratch-teach-an-llm-to-navigate-the-web", "url": "https://pretalx.com/pydata-london-2026/talk/ZAR8AG/", "title": "Building a Browser Agent from Scratch: Teach an LLM to Navigate the Web", "subtitle": "", "track": null, "type": "Tutorial", "language": "en", "abstract": "AI systems that can autonomously navigate websites, fill forms, extract data, and complete multi-step workflows; are one of the most exciting and practical applications of large language models in 2026. Libraries like browser-use (60k+ GitHub stars) and Skyvern have demonstrated their potential, but their abstractions can obscure the surprisingly approachable fundamentals underneath.\n\nIn this 90-minute hands-on tutorial, attendees will build a browser agent entirely from scratch using only Python, Playwright, and an LLM API. No agent frameworks, no magic; just the core building blocks: extracting and structuring the DOM into an LLM-friendly representation, capturing screenshots for vision-based reasoning, building the observe-think-act agent loop, and handling real-world challenges like dynamic content, multi-tab navigation, and error recovery.\n\nBy building from first principles, attendees will gain a deep understanding of how browser agents actually work; knowledge that transfers directly to using, debugging, and extending any browser agent framework. Every participant will leave with a working agent that can autonomously complete tasks on live websites.\n\nThis tutorial is aimed at Python developers and data scientists who are curious about AI-driven browser automation. Basic Python proficiency and familiarity with async/await are expected. No prior experience with Playwright, browser automation, or agent frameworks is required.", "description": "The web is the world\u2019s largest API, but it was designed for humans, not machines. Traditional browser automation tools like Selenium and Playwright require developers to write brittle scripts with hardcoded selectors that break whenever a website changes its layout. Browser agents flip this model: instead of telling the browser exactly what to click, you describe what you want to accomplish, and an LLM figures out how to do it; reading the page like a human would, reasoning about what to do next, and adapting when things don\u2019t go as expected.\n\nThis approach has seen explosive growth. The open-source browser-use library surpassed 60,000 GitHub stars within months of release, and its creators raised $17M in seed funding. Skyvern, Browserbase, and others have built commercial platforms around the same idea. Under the hood, these tools all share a remarkably similar architecture: a perception layer that converts web pages into LLM-readable context, a reasoning layer where the LLM decides what action to take, and an execution layer that carries out the action via browser automation.\n\nThis tutorial strips away the abstraction layers and builds each component from scratch. The \u201cfrom scratch\u201d approach is deliberate: by understanding how the DOM is parsed, how screenshots are fed to vision models, and how the agent loop manages state, attendees gain transferable knowledge that applies to any browser agent tool or framework. When something breaks in production (and it will), this understanding is what separates debugging from guessing.", "recording_license": "", "do_not_record": false, "persons": [{"code": "QRKADD", "name": "Richard", "avatar": "https://pretalx.com/media/avatars/QRKADD_unyIt1P.webp", "biography": "Richard Kehinde Ogunyale is a Senior Software Engineer based in London, UK, with experience building production AI systems, scalable microservices, and machine learning pipelines. He currently works at Partnerize, where he leads projects involving AI-powered solutions, and has previously built RAG systems with vector databases, LLM-powered automation workflows using DAG architectures at scale.\n\nHe is passionate about open source, practical AI engineering, and bridging the gap between ML prototypes and reliable production systems.", "public_name": "Richard", "guid": "52465eee-0c59-5544-b988-2c11ba9b4527", "url": "https://pretalx.com/pydata-london-2026/speaker/QRKADD/"}, {"code": "DV9CMN", "name": "Oreolorun Olu-Ipinlaye", "avatar": "https://pretalx.com/media/avatars/S7NNH8_6s1ZY7x.webp", "biography": "Oreolorun Olu-Ipinlaye is a Machine Learning/AI Engineer at Crowdhelix in London, where he builds production AI systems end-to-end for a platform connecting researchers with EU funding opportunities. As the lead engineer behind ReviewIQ; a self-hosted-LLM proposal review tool used by researchers across dozens of organisations; he has helped researchers in assessing their proposals before submission leading to more competitive proposals. \n\nHis work spans the full stack of applied ML: self-hosted LLM infrastructure, recommender systems, semantic and hybrid search, and the event-driven pipelines underneath, built largely in Python. He's particularly drawn to taking ML products from idea to adoption with measurable impact, and to making AI capabilities legible to non-technical stakeholders.\n\nHe holds an MSc in Artificial Intelligence and Data Science from the University of Hull, where he earned the award for Best Overall Performance.", "public_name": "Oreolorun Olu-Ipinlaye", "guid": "d85d4c0d-ea97-5506-8059-6f02eb034203", "url": "https://pretalx.com/pydata-london-2026/speaker/DV9CMN/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/ZAR8AG/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/ZAR8AG/", "attachments": []}, {"guid": "355a1855-177d-5669-9cf2-10f771769137", "code": "HC3SLQ", "id": 91920, "logo": "https://pretalx.com/media/pydata-london-2026/submissions/HC3SLQ/image_AdnofbK.webp", "date": "2026-06-05T16:00:00+01:00", "start": "16:00", "duration": "01:30", "room": "Doddington Forum", "slug": "pydata-london-2026-91920-from-synthetic-examples-to-production-signals-multimodal-training-data-pipelines-with-privacy-safe-feedback", "url": "https://pretalx.com/pydata-london-2026/talk/HC3SLQ/", "title": "From Synthetic Examples to Production Signals: Multimodal Training Data Pipelines with Privacy-Safe Feedback", "subtitle": "", "track": null, "type": "Tutorial", "language": "en", "abstract": "Production AI systems improve through a data flywheel: teams create training examples from curated source material, those examples shape model behavior, production usage reveals what the model still needs, and those usage signals become the next round of improvement. This hands-on tutorial focuses on the data pipelines behind that flywheel: how to generate, validate, and anonymize training data without relying on one-off prompt scripts.\n\nParticipants will build a reproducible training-data pipeline using NVIDIA NeMo Data Designer and NeMo Anonymizer. We'll start by working through text-based examples that introduce the basics of Data Designer: defining the shape of a dataset, connecting generation to source records, creating structured outputs, and filtering generated rows with judge-based quality checks. Then we'll extend the same pattern to multimodal document understanding with rich synthetic business document images, VLM-classified visual focus areas, and VLM-generated visual QA examples.\n\nFinally, we'll shift from workshop-generated data to production-style usage data. Using Anonymizer, participants will detect and transform sensitive fields so usage logs can safely become source material for the next training iteration.\n\nBy the end, participants will understand a practical pattern for multimodal training data with privacy-safe feedback: **source data -> generate -> validate -> anonymize feedback -> improve**.", "description": "This tutorial is for AI builders who want more discipline around training-data creation. The central premise is simple: the data models consume deserves the same engineering rigor as the models themselves.\n\nAcross three progressive Jupyter notebooks, participants will:\n- Learn the Data Designer workflow through a text QA example, using explicit controls for the mix of examples, seed datasets, templated LLM generation, structured outputs, and LLM-as-a-judge quality checks.\n\n- Apply the same pipeline shape to multimodal document data, using rich synthetic business document images as source records, VLM-classified visual focus areas, VLM-generated question-answer pairs, and a judge step to filter for correctness and visual grounding.\n\n- Anonymize production-style usage data from a fine-tuned model, comparing privacy strategies that reduce sensitive-data risk while preserving useful training signal.\n\nParticipants leave with a working repo, runnable notebooks, and a reusable mental model for building training-data pipelines across text and images.\n\n**Takeaways**\n- A reproducible pattern for multimodal training-data generation.\n- Practical use of source datasets, example-mix controls, dependency-aware columns, structured LLM outputs, and judge-based validation.\n- A privacy workflow for turning production usage logs into safer source data for future training iterations.\n- Hands-on experience with NeMo Data Designer and NeMo Anonymizer.\n- A clear view of how synthetic generation, quality validation, and anonymized production feedback support a training-data lifecycle.\n\n**Why Attend This Session?**\nMost synthetic-data tutorials stop after generation. This session follows the full lifecycle: define the source material and the kinds of examples you want, generate text and multimodal training data, validate quality, anonymize production feedback, and prepare the anonymized data to be transformed into the next set of training examples.\n\n**Prerequisites**\nThis is a hands-on notebook workshop. To follow along, please bring:\n- A laptop where you can run Python and Jupyter notebooks.\n- Basic comfort with Python, pandas-style dataframes, and editing notebook cells.\n- Ability to clone a GitHub repository and run simple terminal commands. Setup instructions will include installing uv if you do not already have it.\n- One hosted model API key configured in your environment or .env file. You can create a free `NVIDIA_API_KEY` at `build.nvidia.com`, or use `OPENROUTER_API_KEY` / `OPENAI_API_KEY`; if you use OpenRouter or OpenAI, any cost incurred during the session should be very minimal.\n- Internet access for calling hosted LLM APIs during the exercises.\n\nThe workshop repository URL (https://github.com/nabinchha/pydata-london-2026-data-designer-anonymizer) will be made public before the session. You do not need prior experience with NeMo Data Designer, or NeMo Anonymizer.", "recording_license": "", "do_not_record": false, "persons": [{"code": "ADXQZR", "name": "Nabin Mulepati", "avatar": "https://pretalx.com/media/avatars/NJSKLH_wEVnIEL.webp", "biography": "Research Scientist/Engineer at NVIDIA focused on Multimodal Synthetic Data Generation", "public_name": "Nabin Mulepati", "guid": "0c4f4b74-6338-5e20-9f5a-174ea720fca6", "url": "https://pretalx.com/pydata-london-2026/speaker/ADXQZR/"}, {"code": "DGZM9L", "name": "Lipika Ramaswamy", "avatar": null, "biography": null, "public_name": "Lipika Ramaswamy", "guid": "2a1d0a96-25db-5c73-8ef1-89295e0a7a52", "url": "https://pretalx.com/pydata-london-2026/speaker/DGZM9L/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/HC3SLQ/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/HC3SLQ/", "attachments": []}], "Hardwick Hub": [{"guid": "2baa2277-0a4c-58c2-9ee3-a165f6c652ad", "code": "SKBDNF", "id": 91363, "logo": "https://pretalx.com/media/pydata-london-2026-2025/submissions/SKBDNF/image_msJdaLv.webp", "date": "2026-06-05T09:00:00+01:00", "start": "09:00", "duration": "01:30", "room": "Hardwick Hub", "slug": "pydata-london-2026-91363-beyond-ml-model-calibration-hands-on-multicalibration-with-mcgrad", "url": "https://pretalx.com/pydata-london-2026/talk/SKBDNF/", "title": "Beyond ML Model Calibration: Hands-On Multicalibration with MCGrad", "subtitle": "", "track": null, "type": "Tutorial", "language": "en", "abstract": "Your model is well-calibrated on average, but is it calibrated for *every subgroup* of your users?  In this hands-on tutorial you will learn what multicalibration is, why standard calibration methods leave systematic errors hidden in subpopulations, why this matters for ML models in production, and how to fix it in a few lines of code using MCGrad, an open-source Python library that has been battle-tested on hundreds of production models at a large tech company.  Attendees will leave with a working notebook they can immediately apply to their own projects.", "description": "A globally well-calibrated model can still be systematically overconfident for one subgroup and underconfident for another, these errors cancel out in aggregate, passing standard checks while silently degrading decisions for specific populations.  Multicalibration fixes this by ensuring predictions are calibrated across all subgroups simultaneously, while improving other notions of model performance.\n\nThis tutorial introduces multicalibration from scratch using **MCGrad**, an open-source library (`pip install mcgrad`) that has been deployed on hundreds of production ML models at a major tech company, and the methodology was recently accepted at KDD 2026. Attendees train a classifier on a public dataset, discover hidden subgroup miscalibration, then fix it with MCGrad in a few lines of code, all inside a ready-to-run Colab notebook.  We also cover hyperparameter tuning, safety mechanisms, and when not to apply multicalibration.\n\nOUTLINE:\n- **Welcome & Setup** (5 min)\n    Goals, format, open Colab notebook, pip install mcgrad.\n- **The Calibration Gap** (15 min)\n    What is calibration? And why should ML practitioners care about it? Train a logistic regression on the dataset. Apply isotonic regression -- global calibration looks perfect. Reveal: the model is still badly miscalibrated for specific subgroups.\n- **From Calibration to Multicalibration** (15 min)\n    Define multicalibration and the MCE metric. Why practitioners need it: you rarely know which subgroups matter in advance. Deployment lessons from a major tech company (hundreds of production models).\n- **MCGrad in Action -- Hands-On** (30 min)\n    Walk through the MCGrad API (`fit`/`predict`). Fit MCGrad on the dataset, inspect the learning curve, compare base model vs. isotonic regression vs. MCGrad. Visualise segment-level error reduction. Mini-exercise: change segment features, observe impact on MCE.\n- **Advanced Features & Production Tips** (15 min)\nHyperparameter tuning, safety mechanisms (no-op failsafe), regression multicalibration, model serialization, when not to use multicalibration.\n- **Wrap-Up & Q&A** (10 min)\n    Recap the three-step workflow (measure MCE, fit MCGrad, verify). Pointers to docs and tutorials. Open Q&A.\n\nAttendees leave with a working notebook, a new metric *multicalibration error* (MCE) for auditing their own models, and a pip-installable tool to act on the results.", "recording_license": "", "do_not_record": false, "persons": [{"code": "MPS8BR", "name": "Niek Tax", "avatar": "https://pretalx.com/media/avatars/MPS8BR_qyfZyU3.webp", "biography": "Niek Tax is a Staff Research Scientist and Tech Lead at Meta's Central Applied Science team in London. He focuses on longer-term, foundational work that addresses new opportunities and challenges across Meta, bridging the gap between academic rigour and product teams. Niek has extensive experience overseeing the end-to-end lifecycle of production-grade ML systems, from research to global deployment. His expertise is in uncertainty quantification, including active learning and probability calibration, and he has published articles at NeurIPS and KDD on those topics.\n\nBefore joining Meta, Niek worked as an ML engineer at Booking.com and in applied R&D at Philips Research. He holds a PhD in Computer Science from Eindhoven University of Technology, and has authored 35+ peer-reviewed publications with over 2,500 citations.", "public_name": "Niek Tax", "guid": "9f78b9be-c934-5d80-b92a-c586fcf158a8", "url": "https://pretalx.com/pydata-london-2026/speaker/MPS8BR/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/SKBDNF/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/SKBDNF/", "attachments": []}, {"guid": "2c61e915-1ac4-5747-9b49-ed838b6bf399", "code": "WDQZLR", "id": 91065, "logo": null, "date": "2026-06-05T10:50:00+01:00", "start": "10:50", "duration": "01:30", "room": "Hardwick Hub", "slug": "pydata-london-2026-91065-hands-on-with-tabular-foundation-models-from-zero-to-strong-baselines", "url": "https://pretalx.com/pydata-london-2026/talk/WDQZLR/", "title": "Hands-On with Tabular Foundation Models: From Zero to Strong Baselines", "subtitle": "", "track": null, "type": "Tutorial", "language": "en", "abstract": "This hands-on tutorial takes participants from zero to confident use of tabular foundation models. Using real datasets, we will run TabICL-style models, benchmark them rigorously against XGBoost and Random Forest, diagnose their behavior, and build intuition for when they help and when they don't.", "description": "Tabular foundation models are generating excitement, but most practitioners haven't used them yet. This **90-minute hands-on tutorial** bridges that gap.\n\nParticipants will work through **four progressive notebooks** on real-world datasets of varying difficulty. By the end, they won't just know *about* tabular FMs \u2014 they'll have **run them, broken them, and compared them** against familiar baselines.\n\n### Who is this for?\n\nData scientists and ML engineers who:\n\n- Use sklearn / XGBoost / LightGBM regularly\n- Are curious about tabular FMs but haven't tried them\n- Want to build informed opinions grounded in hands-on experience\n\n### What we'll use\n\n- **Models:** Any TFMs (TabICL, TabPFN or Neuralk proprietary model with free credits), XGBoost, Random Forest\n- **Datasets:** 3 curated real-world datasets chosen to expose different behaviors:\n    - A small medical dataset (~500 rows, 12 features) \u2014 where TFMs tend to shine\n    - A medium e-commerce dataset (~5K rows, 40+ features with mixed types) \u2014 a realistic \"grey zone\"\n    - A large, noisy dataset (~50K rows) \u2014 where trees typically dominate\n- **Stack:** Python 3.9+, sklearn, tabicl, xgboost, matplotlib, pandas\n\n### Detailed outline (90 min)\n\n| Time | Phase | What participants do | Expected output |\n| --- | --- | --- | --- |\n| 0\u201315 | **Conceptual grounding** | Short lecture: what tabular FMs are, how they differ from fitted models, what to expect. No code yet. | Shared mental model before touching code |\n| 15\u201330 | **Notebook 1: First predictions** | Install a TFM, load the small medical dataset, generate predictions. Compare API with sklearn's `.fit()/.predict()` pattern. | Working predictions; comfort with the API |\n| 30\u201345 | **Notebook 2: Rigorous benchmarking** | Run XGBoost and Random Forest on all 3 datasets with proper cross-validation. Compare with TFMs using the same splits. Discuss evaluation pitfalls (leakage, metric choice). | A comparison table with confidence intervals across 3 datasets |\n| 45\u201360 | **Notebook 3: When things break** | Deliberately stress-test the TFMs: add noisy features, increase dataset size, introduce heavy cardinality categoricals. Observe where performance degrades relative to trees. | Intuition for failure modes, backed by their own experiments |\n| 60\u201375 | **Notebook 4: Diagnostics & interpretation** | Apply SHAP to both TFMs and XGBoost on the same dataset. Compare explanations. Discuss: are these explanations trustworthy? What can we still learn? Calibration plots and confidence analysis. | Practical diagnostic skills; awareness of interpretability caveats |\n| 75\u201385 | **Wrap-up: Decision framework** | Collaborative exercise: given 3 new dataset descriptions, participants vote on which model they'd choose and why. We discuss as a group. | Internalized decision criteria |\n| 85\u201390 | **Q&A and next steps** | Open discussion. Pointers to further resources, papers, and community. |  |\n\n### Requirements\n\n- Laptop with Python 3.9+\n- Familiarity with sklearn (fit/predict/cross_val_score)\n- No deep learning experience needed\n- All materials (notebooks + datasets + environment setup) will be distributed via a **public GitHub repository** at least 2 weeks before the event\n\n> **Note on materials:** The repository is currently being prepared and will contain all notebooks, datasets, and a `requirements.txt` for easy setup. A link will be shared with organizers as soon as it is live. <!-- TODO: replace with actual link once repo is created -->\n> \n\n### What attendees will be able to do after this tutorial\n\n- **Run** tabular foundation models on their own datasets using a familiar sklearn-compatible API\n- **Benchmark** TFMs against tree-based baselines with proper cross-validation and meaningful metrics\n- **Diagnose** model behavior: identify when a TFM is failing, why, and what to do about it\n- **Interpret** TFM outputs using SHAP while understanding the limitations of post-hoc explanations on learned priors\n- **Decide** whether to adopt a tabular FM for a new project based on concrete, experience-backed criteria\n\n### Key takeaways\n\n- A working local environment with tabular FM tooling ready to use\n- Four completed notebooks they can reuse as templates on their own data\n- Confidence to try (or deliberately skip) tabular FMs on their next project", "recording_license": "", "do_not_record": false, "persons": [{"code": "RBHKHH", "name": "Nicolas Makaroff", "avatar": "https://pretalx.com/media/avatars/RBHKHH_LilkkE7.webp", "biography": "Nicolas holds a Ph.D. in applied mathematics from Universit\u00e9 Paris Dauphine - PSL, where his research focused on machine learning, with particular emphasis on attention mechanisms and geodesic approaches to segmentation. His work on designing advanced deep learning architectures for complex datasets has led to multiple publications at leading international conferences.\n\nHe brings hands-on expertise in self-supervised learning and large-scale optimisation, and is currently contributing to Neuralk's mission to develop the first enterprise tabular foundation model.", "public_name": "Nicolas Makaroff", "guid": "b395c880-e2ba-5e56-bde2-ae1a64fe5785", "url": "https://pretalx.com/pydata-london-2026/speaker/RBHKHH/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/WDQZLR/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/WDQZLR/", "attachments": []}, {"guid": "1a41cd94-f848-51b4-a0e2-d67181c00763", "code": "MRKKWJ", "id": 90734, "logo": "https://pretalx.com/media/pydata-london-2026/submissions/MRKKWJ/image_6KBm0ag.webp", "date": "2026-06-05T14:10:00+01:00", "start": "14:10", "duration": "01:30", "room": "Hardwick Hub", "slug": "pydata-london-2026-90734-test-driven-data-analysis", "url": "https://pretalx.com/pydata-london-2026/talk/MRKKWJ/", "title": "Test-Driven Data Analysis", "subtitle": "", "track": null, "type": "Tutorial", "language": "en", "abstract": "Test-Driven Data Analysis is a methodology for reducing errors in data and data analy. It is also an open-source Python package for supporting key aspects of the methodology. This tutorial will provide hands-on experience using the library to validate data and write tests (manually or automatically) for analytical processes. It will also highlight approaches to avoiding errors in specific areas not amenable to software support.", "description": "Test-Driven Data Analysis is a methodology for reducing errors in data and data analysis, and also a an open-source Python package (tdda) for supporting key aspects of the methodology. This tutorial will provide hands-on experience using the library to\n\n - generate constraints characterising data in data frames automatically;\n - validate data using previously generated constraints;\n - test structured data resulting from analyses in data frames;\n - test unstructured date from analyses, typically in text files and graphical form,\n\nas well as highlighting other libraries that can be used for similar purposes.\n\nIt will also discuss a taxonomy of errors arising during analysis and highlight approaches to reducing those errors, including through the use of 22 TDDA-focused checklists.\n\nThis major error categories that will be considered are\n\n - errors of interpretation (of formulation and of communication),\n - errors of implementation,\n - errors of process,\n - errors of applicability, and\n - errors of judgement.\n\n**ATTENDEES**\n\nNo prior experience is required, but it would be helpful to have the tdda library installed and to have some familiarity with DataFrames in polars or pandas. If you want to develop hands-on experience during the tutorial follow the instructions to install tdda at [tdda.readthedocs.io](https://tdda.readthedocs.io/en/latest/installation.html).\n\nIf this works, you should be able to use the tdda command. If you change to a directory you are happy to put data in, the command\n\n     tdda examples all\n\nwill download all the data that will be used in the tutorial in subdirectories.\n\nThere is wifi available at the conference, but if you do this ahead the tutorial, you will fight fewer people for bandwidth and will have more chance to check it works before you need the library.", "recording_license": "", "do_not_record": false, "persons": [{"code": "R89Z7R", "name": "Nick Radcliffe", "avatar": "https://pretalx.com/media/avatars/R89Z7R_uAQwhdL.webp", "biography": "Nick Radcliffe has used Python since around 2005 (starting with Python 2.1, in the form of Jython) and has been doing what we now call Data Science since around 1986. He is a Visiting Professor in the Maths Department (Operations Research) at University of Edinburgh and runs Stochastic Solutions Limited, a consulting and software company working in Data Science. Since around 2015 Nick has been developing the ideas of test-driven data analysis (TDDA), which is an approach to quality of data and analytical processes inspired by test-driven development (TDD). The open-source Python TDDA library (for which he is the lead developer) provides support for test-driven data analysis in those areas where software can help.\n\nNick has previously co-authored two books, one on Sustainability for WWF, and one on a (defunct) Python online tag-based social database called Fluidinfo. By the time of this conference, his latest book, Test-Driven Data Analysis (CRC Press) should be available.", "public_name": "Nick Radcliffe", "guid": "5219263d-4358-56b0-9393-16fbd858b0cf", "url": "https://pretalx.com/pydata-london-2026/speaker/R89Z7R/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/MRKKWJ/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/MRKKWJ/", "attachments": []}, {"guid": "87cad231-0f60-562d-be7c-4bc29a71ef33", "code": "JL7YAJ", "id": 91854, "logo": null, "date": "2026-06-05T16:00:00+01:00", "start": "16:00", "duration": "01:30", "room": "Hardwick Hub", "slug": "pydata-london-2026-91854-model-criticism-through-posterior-predictive-checks", "url": "https://pretalx.com/pydata-london-2026/talk/JL7YAJ/", "title": "Model criticism through posterior predictive checks", "subtitle": "", "track": null, "type": "Tutorial", "language": "en", "abstract": "Posterior predictive checks are a key step within Bayesian modeling workflows where we compare model predictions with the data used to fit the model. By focusing on distributional comparisons instead of point estimates, they offer valuable insights about our models, where they fail and inform model improvements. _Knowing a model is not completely right is relatively easy_, knowing **why** that is the case and **how to fix it** are a whole other question which will be the focus of the tutorial. This tutorial will provide data scientists and researchers with multiple strategies for posterior predictive checks to allow their use in continuous, discrete or categorical data, and for homogeneous or heterogeneous data.", "description": "The main expected audience of this tutorial are practitioners, either in academia or industry, working with probabilistic models, and it will also include multiple elements of interest to anyone working with any kind of statistical model or fitting data through simulations.\n\nThe material for the tutorial will be published on [GitHub](https://github.com/OriolAbril/pydata2026-ppc) beforehand so attendees can download the data and prepare their environments. The tutorial will assume attendees are familiar with Python, Jupyter notebooks and basic statistical concepts. Knowledge about Bayesian inference and posterior predictive sampling will be helpful but they are not required.\n\nThe tutorial will have an initial introductory section of ~40 minutes. The introduction will cover posterior predictive checks conceptually as well as usage examples using ArviZ. This will be followed by multiple hands-on exercises on provided example datasets to practice model criticism through posterior predictive checks. The main topics covered will be:\n\n* Understanding the need for distributional comparisons\n* Understanding how to adapt model criticism to the type of data\n* Diagnosing models of heterogeneous data at both the population and group level\n* Translating model criticism visualizations to model issues\n* Multiple uncertainty visualization designs\n* How to use ArviZ for predefined and custom posterior predictive checks", "recording_license": "", "do_not_record": false, "persons": [{"code": "MKEJ7N", "name": "Oriol Abril Pla", "avatar": "https://pretalx.com/media/avatars/MKEJ7N_SxpImx8.webp", "biography": "Oriol is a computational statistician, working as a maintainer of the ArviZ and PyMC libraries and as Principal Data Scientist with PyMC Labs. He started in academia but after some years but he left after some years in order to be able to work more freely and collaboratively on open source, software and knowledge sharing. His main areas of interest are data visualization, model and inference diagnostics, model comparison, and prior elicitation. Within open source projects, he has also dedicated a large part of his work to documentation, governance and DEI.", "public_name": "Oriol Abril Pla", "guid": "15383908-0058-5aba-b054-e89672b4497a", "url": "https://pretalx.com/pydata-london-2026/speaker/MKEJ7N/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/JL7YAJ/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/JL7YAJ/", "attachments": []}]}}, {"index": 2, "date": "2026-06-06", "day_start": "2026-06-06T04:00:00+01:00", "day_end": "2026-06-07T03:59:00+01:00", "rooms": {"Grand Hall 1": [{"guid": "278cb917-f2cf-5a23-b13b-bdc84770696d", "code": "PUL99Q", "id": 99798, "logo": null, "date": "2026-06-06T09:10:00+01:00", "start": "09:10", "duration": "00:45", "room": "Grand Hall 1", "slug": "pydata-london-2026-99798-keynote-rachel-lee-nabors-the-community-is-the-boat", "url": "https://pretalx.com/pydata-london-2026/talk/PUL99Q/", "title": "Keynote- Rachel Lee Nabors- The Community Is the Boat", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "The tech industry rises and falls in cycles, like the tide follows the moon. Every few years, the ground shifts and we all have to learn to walk again. It happened to me twice, when I moved from being an award-winning cartoonist to an underemployed web developer during the Recession, and again as a React Core engineer who washed up in AI after layoffs. I went from peak influence to the absolute bottom rung each time. Both times, what saved me wasn't genius or a special gift. It was embracing and being embraced by my new community.\n\nThis is a keynote about which skills travel across every shift, what we owe each other as the waves keep coming, and how, in a rising tide era, to find your boat and row with the crew. Whether you've been here a while, have just arrived, or are watching the water rise from the shore, there's a place in this boat.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "EUJQRL", "name": "Rachel Lee Nabors", "avatar": "https://pretalx.com/media/avatars/PGMLH9_6CeX9nd.webp", "biography": "Rachel-Lee Nabors spent the better part of their career on web standards and opensource and has spearheaded developer education at FAANG and startups, on the React Team, and W3C. Now they work to usher in the future with browser builders and Silicon Valley startups, teaching a new generation of builders that \u201cit's not magic; it's just math\u201d and building experiences that adapt information to people. You can find them drinking tea in London or shadowboxing in San Francisco.", "public_name": "Rachel Lee Nabors", "guid": "938b0f11-6cc4-5dba-8359-2b207940fdf3", "url": "https://pretalx.com/pydata-london-2026/speaker/EUJQRL/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/PUL99Q/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/PUL99Q/", "attachments": []}, {"guid": "e35d0a2d-113a-5cce-8aaf-514b23c43eb4", "code": "V3D3LS", "id": 90451, "logo": null, "date": "2026-06-06T10:20:00+01:00", "start": "10:20", "duration": "00:45", "room": "Grand Hall 1", "slug": "pydata-london-2026-90451-the-rules-nobody-writes-down-decoding-and-shifting-team-culture-from-any-seat", "url": "https://pretalx.com/pydata-london-2026/talk/V3D3LS/", "title": "The Rules Nobody Writes Down: Decoding and Shifting Team Culture From Any Seat", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Every team runs on unwritten rules. Habits that shape how decisions get made, how failure is handled, and what is safe to say. This talk provides a framework for reading those rules, understanding the collective self-image that drives team behaviour, and influencing culture from any position. With a  look at how AI adoption is forming new rules in real-time, you will leave knowing how to decode the system you are in and start shifting it.", "description": "Most talks on culture are aimed at managers, the people with formal authority to change things. But data scientists, engineers, and ML practitioners navigate team dynamics every day, often without that authority. This talk is for you: how to read the unwritten rules, understand what drives them, and shift them from any position.\n\nThe central idea is simple. Team culture isn't what is on the company wiki. It is a paradigm or a system of habits that shapes behaviour more powerfully than any stated policy. Beneath those habits sits the team's collective self-image: the shared belief about \"who we are\" and \"what's possible.\" That self-image sets the upper limit of performance. A team that sees itself as \"always firefighting\" will keep firefighting, even when the fires are out.\n\nThe good news: you can influence this from any seat. Not through announcements, but through consistent action.\n\nI will cover how to read the paradigm, the signals that reveal real culture. How failure is handled. Who speaks first. What gets celebrated versus quietly ignored. The stories that get repeated. These are data points that tell you what the team actually believes.\n\nI will also share specific questions you can use in interviews to decode culture before you join. Questions about past failures, who thrives versus struggles, how disagreement is managed. The answers matter less than how people respond: the hesitation, the energy, the discomfort.\n\nThere is a trap worth knowing about. The longer you stay, the less you see. What felt strange in week one feels normal by month three. Your first weeks are a window of clarity. I will cover how to use it before it closes.\n\nThe core of the talk is about influence. Three ways are available to anyone: modelling the behaviour you want to see, naming what others leave unspoken, and holding a different picture of what's possible. This isn't positive thinking. It is praxis, which is integrating belief with behaviour through consistent action.\n\nFinally, I will use AI adoption as an example. AI tools are shifting work toward individual tasks while new unwritten rules form around their use. Who is using AI openly? Who is hiding it? What is the unspoken agreement about quality and trust? This is a chance to watch a paradigm form in real-time and shape it before it solidifies.\n\nThis is a practical talk, not a tutorial. The target audience is data scientists, data engineers, and ML practitioners at any level and especially if you'] have recently joined a team, are navigating a tricky dynamic, or want more impact without moving into management.\n\nYou will leave with a framework for reading team culture, understanding what drives it, and influencing it through consistent behaviour starting the day you get back to work.", "recording_license": "", "do_not_record": false, "persons": [{"code": "VBMDQR", "name": "Margaritha Groenendijk", "avatar": "https://pretalx.com/media/avatars/VBMDQR_uzUEOzh.webp", "biography": "I am Chief Architect at Engineering is Easy, working in aerospace and defence consulting. I hold a PhD in environmental and geospatial modelling, and I have spent over 20 years across climate research, data science, AI, and developer advocacy.\n\nI also run Living is Easy, where I work as a certified mindset consultant focused on how habits, self-image, and mental programming drive results. That work has given me a deep understanding of how paradigms shape behaviour for both individuals and teams.", "public_name": "Margaritha Groenendijk", "guid": "bab148e9-2cf0-5042-9bbe-d76772169ab9", "url": "https://pretalx.com/pydata-london-2026/speaker/VBMDQR/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/V3D3LS/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/V3D3LS/", "attachments": []}, {"guid": "a9d15034-ef5b-5b2f-a843-889c744c1a15", "code": "WGJMXV", "id": 91392, "logo": null, "date": "2026-06-06T11:05:00+01:00", "start": "11:05", "duration": "00:45", "room": "Grand Hall 1", "slug": "pydata-london-2026-91392-columnar-thinking-designing-for-high-performance-execution-with-arrow-and-polars", "url": "https://pretalx.com/pydata-london-2026/talk/WGJMXV/", "title": "Columnar Thinking - Designing for high-performance execution with Arrow and Polars", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "When building high-performance systems for analytical workload, we often focus on the efficiency of the algorithm, like reducing Big-O complexity or optimising numerical routines. Yet in real world workloads, the decisive factor is not just the algorithm but the shape of how the data is laid out, traversed, and distributed across processes.\n \nThis talk will cover aspects of mechanical sympathy, focussing on how structures in memory can benefit from cache-sensitive, SIMD-enabled (vector instructions) CPUs, constrained by memory bandwidth and optimised for predictable, contiguous access.\n\nWe will use real-world examples to show how minimising serialisation overhead and enabling efficient cross-process and cross-language data exchange reduces the cost of data movement across systems. Beyond single-system performance, we will examine why Arrow\u2019s standardised, zero-copy columnar format is a critical enabler of distributed execution. We will see how columnar formats support scalable computation across threads, processes, and distributed nodes.", "description": "Everyday production-scale data and systems engineering still reflects a row-oriented mental model. Loops, iterations, mutations are seen as easy to read and are understandable. While these work for small datasets and toy models during explorations in notebooks, they fail to perform when workloads scale - be it for rolling analytics, high-throughput pipelines or multi-million row aggregations. This mismatch between row-wise thinking and modern CPU architecture becomes a structural bottleneck that becomes very costly to fix.\n\nWe\u2019ll explore the shift from row-oriented design to columnar thinking, designing and developing high-performance workloads right from the onset. Using Arrow\u2019s columnar memory format and Polars\u2019 execution engine, armed with concrete examples from real-life quantitative calculations, we will examine how contiguous buffers, SIMD-compatible layouts, and lazy query planning are a natural combination for performant analytical workloads.\n\nYou\u2019ll leave with:\n1. A clear understanding of how columnar memory impacts execution, in contrast to row-oriented or traditional vectorised approaches.\n2. Practical patterns for structuring column-first transformations.\n3. Insights into how Arrow reduces data movement overhead in distributed systems.\n4. Guidance on when lazy execution and query optimisation matters.\n5. Ideal design principles for building scalable calculation pipelines with Polars and Arrow tools.", "recording_license": "", "do_not_record": false, "persons": [{"code": "CDTEL8", "name": "Kamlesh Shah", "avatar": "https://pretalx.com/media/avatars/CDTEL8_R9EeFWo.webp", "biography": "I am a senior engineering lead/executive director at Morgan Stanley.\n\nI design and build large-scale, enterprise-ready, high-performance financial systems used in production environments where correctness, resilience, and speed matter. My work spans system design, hands-on engineering, and long-term platform evolution in regulated domains.\n\nI place strong emphasis on clean, maintainable architecture\u2014clear domain boundaries, explicit data contracts, and model-driven design. I optimise for systems that remain understandable and adaptable as complexity, scale, and regulatory demands increase.\n\nA significant part of my work focuses on data analytics, complex data modelling, and financial mathematics\u2014including forecasting, liquidity, risk, and regulatory calculations. I enjoy translating mathematically rich problem spaces and large datasets into precise, explainable, and production-grade implementations.\n\nI work with a prototype-to-production mindset, leveraging modern cloud platforms, data tooling, and AI techniques to move quickly while preserving architectural discipline, observability, and operational robustness.\n\nwww.linkedin.com/in/kamlesh-shah", "public_name": "Kamlesh Shah", "guid": "f0672d9f-075d-5368-9dd5-c98f31315cff", "url": "https://pretalx.com/pydata-london-2026/speaker/CDTEL8/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/WGJMXV/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/WGJMXV/", "attachments": []}, {"guid": "692b916d-8e48-5bd6-b2fa-c116868cf74f", "code": "NVXBEM", "id": 91855, "logo": null, "date": "2026-06-06T11:50:00+01:00", "start": "11:50", "duration": "00:45", "room": "Grand Hall 1", "slug": "pydata-london-2026-91855-jupyterlite-run-all-your-code-in-a-web-browser-using-webassembly", "url": "https://pretalx.com/pydata-london-2026/talk/NVXBEM/", "title": "JupyterLite: run all your code in a web browser using WebAssembly", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "JupyterLite is a JupyterLab distribution that runs entirely in the web browser, backed by in-browser language kernels. Using it you can run Python, R and C++ in your browser via WebAssembly, use `git` and `vim` in a terminal, and access AI agents in a safe, sandboxed environment.\n\nThis talk will present a comprehensive summary of all things JupyterLite, and provide live demonstrations of many of its key features and how easy it is to deploy.\n\nThe talk assumes basic familiarity with JupyterLab but not necessarily JupyterLite. It will be of benefit to anyone who wishes to learn about this emerging technology and its potential for scalable, accessible interactive computing.", "description": "JupyterLite is a JupyterLab distribution that runs entirely in the web browser, backed by in-browser language kernels. Standard JupyterLab uses kernels run in separate processes and communicate with the client by message passing, whereas JupyterLite uses kernels that run entirely in the browser, based on JavaScript and WebAssembly, such as pyodide and xeus-python.\n\nThis means that JupyterLite deployments can be scaled to millions of users without the need for individual containers for each user session, only static files need to be served which can be done with a simple web server like GitHub pages.\n\nThis talk will present a comprehensive summary of all things JupyterLite, and demonstrate key features. Highlights include the wide variety of language kernels supported, a terminal for those who wish to run `git` or `vim` at a command line in the browser, and access to AI agents in a safe sandboxed browser environment. It will explain the technology behind JupyerLite and how your favourite packages are built to run in the browser.\n\nJupyterLite sites are easy to deploy and there will be a live demonstration of a deployment to illustrate this.\n\nTalk outline:\n\n- Overview\n- Comparison of JupyterLab and JupyterLite\n- Live demonstration of basic functionality\n- How it works\n- Kernels, including why are there two different python kernels (pyodide and xeus-python) and how to choose between them\n- Emscripten-forge package building\n- Key features such as shared in-browser filesystem\n- More detailed demos such as installing packages on the fly\n- What it is good and bad at\n- Terminal for `vim`, `git`, etc\n- Jupyterlite AI\n- Use in project documentation using jupyterlite-sphinx\n- Deployment, including live demo\n- Making it easier to deploy and share using notebook.link\n- Where JupyterLite is going", "recording_license": "", "do_not_record": false, "persons": [{"code": "NKXZDM", "name": "Ian Thomas", "avatar": "https://pretalx.com/media/avatars/NKXZDM_fwMiqix.webp", "biography": "Ian is a Scientific Software Developer at QuantStack. He has been an Open Source contributor for over 15 years, is a core maintainer of the libraries Matplotlib and ContourPy and a significant contributor to Bokeh and Datashader. Recently Ian has been involved throughout the Jupyter stack, from kernels and widgets through to JupyterLite.", "public_name": "Ian Thomas", "guid": "8c933412-76e8-5891-baa0-ecca1de4dff0", "url": "https://pretalx.com/pydata-london-2026/speaker/NKXZDM/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/NVXBEM/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/NVXBEM/", "attachments": []}, {"guid": "147e2648-c9d1-5b6f-a723-f08d0012f821", "code": "QU33NS", "id": 98723, "logo": null, "date": "2026-06-06T13:35:00+01:00", "start": "13:35", "duration": "00:45", "room": "Grand Hall 1", "slug": "pydata-london-2026-98723-keynote-jeremiah-lowin-build-reasonable-software", "url": "https://pretalx.com/pydata-london-2026/talk/QU33NS/", "title": "Keynote- Jeremiah Lowin- Build Reasonable Software", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Python became the language of data science because it made hard work feel possible. It gave scientists, analysts, engineers, and researchers a shared way to express ideas without forcing them to become software specialists first. The result was a style of software that made powerful systems easier to learn, easier to combine, and easier to trust.\n\nIn this keynote, Jeremiah Lowin explores what it means for software to be Pythonic: simple, composable, readable, and easy to reason about. Those qualities helped Python become the default language for data science, and they matter even more now that software is beginning to build software.\n\nThe next generation of agentic systems will be judged by whether people can understand them, change them, and trust them. This talk argues that the lesson of PyData is also the challenge for AI: build systems that remain easy to reason about as they become more powerful, and use emerging interfaces like MCP to make data easier to communicate, explore, and act on.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "NNKJNL", "name": "Jeremiah Lowin", "avatar": "https://pretalx.com/media/avatars/XFXPNU_Ck3DwuA.webp", "biography": "Jeremiah Lowin is the founder and CEO of Prefect and the author of FastMCP. Prefect develops automation tools used across the data and AI ecosystem, and FastMCP has become the standard framework for working with the Model Context Protocol. Before founding Prefect, he spent over a decade leading risk and data initiatives at major investment firms and was a founding member of the Apache Airflow PMC. He lives in Washington, DC.", "public_name": "Jeremiah Lowin", "guid": "fc0e9fad-6c75-56d0-b7cd-d7886190f669", "url": "https://pretalx.com/pydata-london-2026/speaker/NNKJNL/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/QU33NS/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/QU33NS/", "attachments": []}, {"guid": "507ed170-4d81-523e-ba1b-9795822eb216", "code": "AYDUBL", "id": 91834, "logo": null, "date": "2026-06-06T14:45:00+01:00", "start": "14:45", "duration": "00:45", "room": "Grand Hall 1", "slug": "pydata-london-2026-91834-reading-the-mind-of-an-llm", "url": "https://pretalx.com/pydata-london-2026/talk/AYDUBL/", "title": "Reading the Mind of an LLM", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "What if you could watch an AI\u2019s thought take shape? For years, LLMs have been impenetrable \"black boxes,\" but we are finally beginning to find ways to see how the ghost in the machine actually works.\n\nThis talk explores **mechanistic interpretability**, a subfield of AI that aims to understand the internal workings of neural networks. Mapping these internal \"circuits\" is not only just a philosophical curiosity - or duty: it is a high-stakes engineering necessity for safety, debugging, and trust.", "description": "What if we could step inside an LLM and watch it think in real time?\n\nThis talk distills the latest research from Anthropic, DeepMind, and OpenAI to present the current state of the art in **LLM interpretability**.\n\nWe\u2019ll start with the modern interpretation of **embeddings** as sparse, monosemantic features living in high-dimensional space. From there, we\u2019ll explore emerging techniques such as **circuit tracing** and **attribution graphs**, and see how researchers reconstruct the computational pathways behind behaviors like multilingual reasoning, refusals, and hallucinations.\n\nWe\u2019ll also look at new evidence suggesting that models may have limited forms of introspection\u2014clarifying what they can, and crucially cannot, reliably report about their internal processes.\n\nFinally, we\u2019ll connect these \u201cmicroscopic\u201d insights to **real engineering practice**: how feature-level understanding can improve debugging, safety, and robustness in deployed AI systems, and where current methods still fall short.", "recording_license": "", "do_not_record": false, "persons": [{"code": "LCEK33", "name": "Luca Baggi", "avatar": "https://pretalx.com/media/avatars/LCEK33_5eAzatc.webp", "biography": "AI Engineer @xtream", "public_name": "Luca Baggi", "guid": "67583db7-da6f-5b51-844f-9cf951b9a0a6", "url": "https://pretalx.com/pydata-london-2026/speaker/LCEK33/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/AYDUBL/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/AYDUBL/", "attachments": []}, {"guid": "a5c18c36-5e43-571c-b71d-2f2269ff9ef0", "code": "ABYV3J", "id": 90630, "logo": null, "date": "2026-06-06T15:30:00+01:00", "start": "15:30", "duration": "00:45", "room": "Grand Hall 1", "slug": "pydata-london-2026-90630-select-instance-from-cloud-where-workload-order-by-costefficiency", "url": "https://pretalx.com/pydata-london-2026/talk/ABYV3J/", "title": "SELECT instance FROM cloud WHERE workload = ? ORDER BY cost_efficiency", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Choosing a cloud instance type for a DS/ML/AI workload is still largely a heuristic exercise. While public pricing and hardware specifications are available, they are fragmented, inconsistently structured, and challenging to compare across cloud providers -- especially once real workload performance is taken into account.\n\nIn this talk, we present Spare Cores Navigator, a Python-queryable benchmark dataset that covers thousands of cloud server types from multiple vendors, with standardized performance and cost-efficiency metrics. We demonstrate how instance selection can be expressed as a simple data query, e.g. filtering by workload characteristics, hardware or compliance constraints, and budget, then ranking candidates by price-performance.", "description": "Selecting a cloud instance for DS/ML/AI workloads is typically done using heuristics, vendor guidance, or trial-and-error. While cloud providers publish pricing tables and hardware specifications, this information is fragmented, inconsistently structured, and challenging to compare across vendors \u2013 especially once real workload performance is considered.\n\nThis talk introduces Spare Cores Navigator, a vendor-independent, open-source, Python-based ecosystem that treats cloud instance selection as a data problem. The project maintains a continuously updated benchmark dataset covering thousands of server types across multiple cloud providers, with standardized hardware metadata, performance measurements, and cost-efficiency metrics across over 500 workloads.\n\nWe describe how the dataset is built by automatically discovering and provisioning cloud instances at scale using public GitHub Actions to run hardware inspection tools and a diverse benchmark suite. This includes general CPU performance, memory bandwidth, compression algorithms, cryptographic workloads, web serving, and data store performance, as well as DS/ML-specific benchmarks such as gradient-boosted model training and LLM inference on CPUs and GPUs.\n\nThe main focus of the talk is demonstrating practical use cases for server type selection by querying the dataset under different workload characteristics, compliance and budget constraints, and optimization goals \u2013 such as minimizing cost-efficiency trade-offs or reducing environmental impact.", "recording_license": "", "do_not_record": false, "persons": [{"code": "H9DKCZ", "name": "Gergely Daroczi", "avatar": "https://pretalx.com/media/avatars/H9DKCZ_sny7LWK.webp", "biography": "Gergely Daroczi, PhD, has been a passionate open-source package developer for two decades. With over 15 years in the fintech, adtech, healthtech, and other SaaS industries, he has expertise in data science and engineering, as well as cloud infrastructure, in both California and Hungary, with a focus on building scalable data platforms. Gergely maintains a dozen open-source R and Python projects and organizes a tech meetup with 1,800 members in Hungary \u2013 along with other open-source and data conferences.", "public_name": "Gergely Daroczi", "guid": "4d77651e-66ec-52fc-8dc8-d5c13efe334c", "url": "https://pretalx.com/pydata-london-2026/speaker/H9DKCZ/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/ABYV3J/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/ABYV3J/", "attachments": []}, {"guid": "547ea986-c5b8-59af-ada4-13fe1a65f872", "code": "ZFR8VH", "id": 89791, "logo": null, "date": "2026-06-06T16:15:00+01:00", "start": "16:15", "duration": "00:45", "room": "Grand Hall 1", "slug": "pydata-london-2026-89791-building-a-scientific-taxonomy-at-scale-with-graph-clustering-embeddings-and-llms", "url": "https://pretalx.com/pydata-london-2026/talk/ZFR8VH/", "title": "Building a Scientific Taxonomy at Scale with Graph Clustering, Embeddings, and LLMs", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Scientific publishers tag **millions of articles** with author-provided keywords, but these keywords are noisy, inconsistent, and semantically ambiguous. *\"Machine learning,\" \"ML,\" and \"machine-learning\"* all mean the same thing, while other terms shift meaning across disciplines.\n\nThis talk presents a **production pipeline** that extends [OpenAlex](https://openalex.org/)'s 4-level hierarchy with a fifth in-house **Concept** layer, producing a **115K-concept scientific taxonomy**. \n\n**SPECTER2** embeddings model semantic similarity, and per-field **Leiden clustering with CPM resolution** groups 100K+ concepts via mutual kNN graphs \u2014 with hyperparameters selected through **grid search** and **custom pair-based evaluation**. **Qdrant** enables vector-based hierarchical attachment.\n\n**LLMs are deployed at five targeted stages** \u2014 granularity filtering, field classification, cluster renaming, explanation generation, and topic-assignment validation \u2014 while **deterministic methods handle everything else**, ensuring scalability and reproducibility.\n\nThe resulting taxonomy powers a **paper-tagging pipeline** where SPECTER2 retrieves ~150 candidates per paper across multiple text-splitting strategies, deterministic filters prune by field/subfield distribution and near-synonym merging, and an **LLM reranker selects the final 5\u20138 concepts**. These assignments enable applications such as **temporal trend detection** over emerging research topics and more.\n\n**Attendees will learn** when to integrate LLMs in large-scale NLP pipelines, how to scale graph clustering to 100K+ nodes, and how to design hybrid embedding\u2013LLM systems that turn noisy metadata into reliable scientific intelligence.", "description": "### The problem\n\nIf you've ever tried to make sense of author-provided keywords across millions of papers, you know the pain. *\"Machine learning\"*, *\"ML\"*, *\"machine-learning\"*: same thing, three entries. Other terms look identical but mean completely different things depending on the field. Manual cleanup? Doesn't scale. Regex and string matching? Misses the semantics entirely.\n\n### What we built\n\nWe took OpenAlex's 4-level hierarchy (**Domain \u2192 Field \u2192 Subfield \u2192 Topic**) and added a fifth in-house **Concept** layer: 115K+ fine-grained concepts, each with a clear position in the tree.\n\nThe core idea: embed all candidate concepts with **SPECTER2**, build a mutual kNN similarity graph per field, and cluster it with **Leiden (CPM resolution)** at 100K+ node scale. We tuned hyperparameters via grid search, scored against hand-curated concept pairs - things like *\"Cryptocurrency\"* and *\"Crypto Currency\"* must land together, while *\"Decision Trees\"* and *\"Random Forest\"* must stay apart.\n\nLLMs come in at **five specific points** where embeddings alone aren't enough: filtering concept granularity, classifying into fields, renaming clusters, generating explanations, and validating topic assignments. Everything else is deterministic: no LLM in the loop means reproducible and cheap.\n\n### Paper tagging\n\nOnce the taxonomy exists, we use it to tag papers. With SPECTER2 embeddings, we retrieve an initial pool of ~150 candidate concepts per paper (eight different text-splitting strategies over title, abstract, and keywords). Deterministic filters prune by field/subfield distribution and merge near-synonyms with Jaccard + union-find. Then an LLM reranker picks the final **5\u20138 concepts** with domain verification and keyword mapping, ranked.\n\n### What comes next\n\nWith millions of papers tagged consistently, the obvious next step is **trend detection**: tracking how concept frequency and co-occurrence shift over time to spot emerging research areas. We'll sketch out the approach.\n\n### Tech stack\n\n**SPECTER2** (embeddings) \u00b7 **igraph + leidenalg** (Leiden/CPM clustering) \u00b7 **hnswlib** (ANN for kNN graphs) \u00b7 **Qdrant** (vector search for hierarchical attachment) \u00b7 **Azure OpenAI** (structured LLM inference) \u00b7 human + automated validation framework\n\n### You'll walk away knowing\n\n- When LLMs actually help in large-scale NLP pipelines  and when they're overkill\n- How to scale graph clustering to 100K+ nodes in Python\n- How to evaluate clustering with custom pair-based constraints\n- Practical trade-offs between embeddings, graph methods, and LLMs", "recording_license": "", "do_not_record": false, "persons": [{"code": "3U8HLG", "name": "Daniele Raimondi", "avatar": "https://pretalx.com/media/avatars/3U8HLG_zzNqIdY.webp", "biography": "Daniele is a Data Scientist with expertise in statistics, data science and AI, passionate about exploring the intersection of AI and financial markets.\nSince 2023, he is working at MDPI, one of the largest open-access publishers.\nA former national 400m sprinter.", "public_name": "Daniele Raimondi", "guid": "c7f80c08-2f1f-5dff-8d7b-c74fc8cd76d4", "url": "https://pretalx.com/pydata-london-2026/speaker/3U8HLG/"}, {"code": "3QSYBS", "name": "Feichi Lu", "avatar": "https://pretalx.com/media/avatars/3QSYBS_ieNc7Wr.webp", "biography": "Feichi Lu is a Data Scientist at MDPI in Basel, where she works on building data-driven analytics for scientific publishing. She holds a Master\u2019s degree in Data Science from ETH Z\u00fcrich. Her experience spans large-scale data analysis, semantic modeling, and applied AI.", "public_name": "Feichi Lu", "guid": "dff9d95f-7e61-585b-abbd-074ad6f207ec", "url": "https://pretalx.com/pydata-london-2026/speaker/3QSYBS/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/ZFR8VH/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/ZFR8VH/", "attachments": []}, {"guid": "c2f7c2bc-0260-522f-9609-0427f1d7c306", "code": "PGFXAR", "id": 98764, "logo": null, "date": "2026-06-06T17:00:00+01:00", "start": "17:00", "duration": "01:00", "room": "Grand Hall 1", "slug": "pydata-london-2026-98764-conference-social", "url": "https://pretalx.com/pydata-london-2026/talk/PGFXAR/", "title": "Conference Social", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Keep the PyData London energy going as we wrap up an incredible two days of talks, learning, and connection. Join us for our closing social immediately following the final sessions on Saturday from 5:00\u20136:00 PM, right at the conference venue. This is a great chance to continue conversations sparked during the day, connect with speakers and fellow attendees, and celebrate another fantastic PyData London with the community. Grab a drink, mingle, and enjoy one last opportunity to network and reflect on the ideas and insights shared throughout the conference before heading out for the evening.", "description": "", "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/PGFXAR/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/PGFXAR/", "attachments": []}], "Grand Hall 2": [{"guid": "9996c9de-d455-51b4-ba92-b7141f60eddf", "code": "RQ3FJQ", "id": 89378, "logo": null, "date": "2026-06-06T10:20:00+01:00", "start": "10:20", "duration": "00:45", "room": "Grand Hall 2", "slug": "pydata-london-2026-89378-building-production-multi-agent-rag-systems-on-serverless-aws", "url": "https://pretalx.com/pydata-london-2026/talk/RQ3FJQ/", "title": "Building Production Multi-Agent RAG Systems on Serverless AWS", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Multi-agent AI systems promise autonomous reasoning, but most tutorials stop at prototypes. This talk shares hard-won lessons from deploying a production multi-agent RAG platform on serverless AWS , covering agent orchestration patterns, cross-region LLM routing, vector search cost optimisation, and the observability strategies that keep it all running reliably.\n\nYou'll learn concrete patterns for coordinating multiple RAG-enabled agents via SQS and Lambda, the cost/latency trade-offs between managed and self-managed vector search (including how to achieve 90% storage savings), and practical observability strategies using Langfuse and dead-letter queues. Whether you're scaling your first RAG system or architecting multi-agent workflows, you'll leave with actionable patterns you can apply immediately.", "description": "Modern AI applications increasingly require multiple specialised agents working together, but orchestrating them reliably at scale is challenging. This talk walks through the architecture and lessons learned from building a production multi-agent financial analysis platform.\n\nOutline:\n- Minutes 0-5: Why single-agent RAG hits limits \u2014 the case for multi-agent orchestration\n- Minutes 5-15: Architecture deep-dive \u2014 SQS-based agent coordination, Lambda handlers, and how RAG retrieval integrates across agents\n- Minutes 15-22: Cross-region Bedrock routing and why latency geography matters\n- Minutes 22-30: Cost lessons \u2014 achieving 90% vector storage savings with S3 Vector Search vs managed alternatives\n- Minutes 30-37: Observability and failure handling \u2014 Langfuse tracing, DLQs, and debugging distributed agent calls\n- Minutes 37-40: Key takeaways and Q&A\n\nTarget audience: ML engineers, data scientists, and developers building production AI systems. Familiarity with RAG concepts and basic AWS services assumed; no multi-agent experience required.", "recording_license": "", "do_not_record": false, "persons": [{"code": "UK3RCM", "name": "Samuel Jaja", "avatar": "https://pretalx.com/media/avatars/UK3RCM_hAdy3bY.webp", "biography": "Samuel is a Gen AI Engineer at Capgemini UK, building production multi-agent systems for enterprise clients. He is also the founder of Atlasync AI Ltd, an early-stage AI startup focused on compliance automation. He founded and organises PyData Hull, the UK's newest NumFOCUS chapter. Samuel holds an MSc in AI and Data Science with Distinction from the University of Hull and is AWS certified. His work focuses on multi-agent architectures, RAG pipelines, and agentic observability.", "public_name": "Samuel Jaja", "guid": "cd4109bb-2ef7-5ada-aa39-85f7a5615fc5", "url": "https://pretalx.com/pydata-london-2026/speaker/UK3RCM/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/RQ3FJQ/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/RQ3FJQ/", "attachments": []}, {"guid": "87f09954-a835-51bc-b1aa-4f72245e1cce", "code": "3JJHZF", "id": 92062, "logo": null, "date": "2026-06-06T11:05:00+01:00", "start": "11:05", "duration": "00:45", "room": "Grand Hall 2", "slug": "pydata-london-2026-92062-production-ready-ai-agents-from-llms-to-small-language-models", "url": "https://pretalx.com/pydata-london-2026/talk/3JJHZF/", "title": "Production-Ready AI Agents: From LLMs to Small Language Models", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Building a demo agent with hundred billion parameters and beyond can be easy. Deploying reliable, cost-effective agents in production is hard. This talk provides a comprehensive roadmap for taking AI agents from prototype to production, with a focus on migrating from expensive frontier LLMs to efficient small language models (SLMs).\n\nWe'll explore the entire lifecycle of production agent development: test-driven development practices adapted for non-deterministic AI systems, agent architectures and migration strategies from large to small models, CI/CD considerations for agents, and observability frameworks which capture what matters and assist in remediating failures. \n\nWhether you're running agents at scale or planning your first deployment, you'll leave with actionable strategies and concrete tools to build reliable, maintainable agent systems with small language models.", "description": "In this talk we will cover the complete Agent Development Lifecycle from Prototype to a scalable and robust Production agent with cost effective Small Language Models. The talk will present the following topics, gathered from real engagements with product teams:\n\n1. **The Production Agent Problem (3 min)**\nThe prototype-to-production gap, why closed, frontier LLMs don't scale, and the agent development lifecycle.\n\n2. **Small Models, Big Impact (2 min)**\nThe case for small open language models, the current model landscape and pursuing an iterative migration pattern. \n\n3. **Test-Driven Agent Development (5 min)**\nStarting with clear use cases and adapting testing practices for non-deterministic systems. Covering evaluation patterns and practical examples of testing agent behavior for different types of agents. \n\n4. **Techniques for migrating to Small Language Models (7 min)**\nIntroducing task decomposition patterns, use of multi-model approaches and agent architectures better suited to Small Language Model utilisation. \n\n5. **CI/CD for Agents** (7 min)\nTreating models and prompts as config rather than code. Building deployment pipelines that handle model and prompt versioning, integration and end-to-end testing for agents with MCP and A2A considerations, and agent packaging for production rollout.\n\n6. **Observability and Monitoring** (4 min)\nInstrumenting agents with structured logging, tracking key metrics beyond traditional monitoring, and building dashboards and alerts that surface quality issues. Monitoring non-functional metrics such as cost, latency and concurrency. \n\n7. **Continuous Improvement Loops** (4 min)\nCreating feedback pipelines from production data, triaging failures and automating analysis. Strategies for iterative improvement, and methods for measuring progress through A/B testing.\n\nAs part of this talk, we will reference some Jupyter Notebooks and reusable code snippets with the PyData stack to enable attendees to begin their own Agentic journeys to production with Small Language Models.", "recording_license": "", "do_not_record": false, "persons": [{"code": "M7JYHY", "name": "Prattyush Mangal", "avatar": "https://pretalx.com/media/avatars/LAGAMH_JCcr00y.webp", "biography": "Prattyush is a Research Software Engineer working in the Granite Feedback Team in IBM Research, based in the UK (Winchester) and the US (New York).\n\nIBM Granite is the family of AI models from IBM and Prattyush leads product and client engagements to increase adoption of the models across various use-cases. He is a technical leader for Agentic and GenAI applications, leading efforts for education content and acts as one of the release managers, contributing to testing and release efforts.\n\nPrattyush is part of the wider AI Foundations organisation and as such regularly contributes to the development of the latest IBM Research technologies, both internally and through open source.", "public_name": "Prattyush Mangal", "guid": "d3b6da28-a7ca-5ab6-9de0-6776eef6f2c8", "url": "https://pretalx.com/pydata-london-2026/speaker/M7JYHY/"}], "links": [{"title": "Useful Code Snippets and Blogs on working with SLMs for Agentic Applications", "url": "https://github.com/ibm-granite-community/granite-agent-cookbook", "type": "related"}], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/3JJHZF/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/3JJHZF/", "attachments": []}, {"guid": "60342c55-4b5e-53ac-8662-16e0c9976aee", "code": "8Y9GRD", "id": 91996, "logo": "https://pretalx.com/media/pydata-london-2026-2025/submissions/8Y9GRD/image_7Q5M7GI.webp", "date": "2026-06-06T11:50:00+01:00", "start": "11:50", "duration": "00:45", "room": "Grand Hall 2", "slug": "pydata-london-2026-91996-evaluating-multi-turn-conversations-a-practical-guide-to-ai-agent-evals", "url": "https://pretalx.com/pydata-london-2026/talk/8Y9GRD/", "title": "Evaluating multi-turn conversations: A practical guide to AI Agent evals", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "As AI agents become more popular, one question becomes increasingly important: how do you actually know if your agent is performing well? Multi-turn conversations are hard to evaluate because because there is rarely one right answer and at any given turn multiple responses can be correct. In this talk, we'll walk through a structured approach to evaluating complex conversations. We'll cover what makes a good conversation, techniques for evaluating multi-turn conversations where multiple outcomes are simultaneously valid, and how to scale evaluation pipelines. Finally, we'll discuss practical frameworks for continuous improvement and building confidence in your agent's real-world behaviour.", "description": "As AI agents move from demos to production, evaluating their performance becomes one of the most important challenges for teams shipping them. Unlike single-turn LLM calls, conversations are messy. You can't evaluate a response in isolation, each turn depends on prior context and a perfectly correct answer in one conversation might be wrong in another.\n\nIn this talk we'll discuss a systematic approach to evaluating complex multi-turn conversations.\n\nWe'll talk about:\n- Defining what makes a \"good\" conversation \n- The unique challenges of multi-turn evaluation\n- Metrics for assessing conversation quality\n- Constructing evaluation datasets for conversational AI agents\n- Automated pipelines for continuous agent evaluation in production\n\nWe'll show practical implementations using Python, with real-world examples from production agent systems across different domains. \n\nAttendees will leave with:\n- A structured framework for defining and measuring conversation quality in their domain\n- Practical techniques for evaluating multi-turn interactions at scale\n\nThe session will provide actionable insights for AI engineers, data scientists, and product managers looking to evaluate AI agents rigorously and build stakeholder trust.", "recording_license": "", "do_not_record": false, "persons": [{"code": "WXBHAE", "name": "Lena Shakurova", "avatar": null, "biography": "Lena Shakurova is the founder of ParsLabs (https://parslabs.org), a Conversational AI agency, and Chatbotly (https://chatbotly.co), a no-code platform for building AI assistants trained on custom data.\n\nAt ParsLabs, she leads a team blending AI, user research and conversation science to design and develop high quality AI Conversations that sound human. She has background in NLP and Artificial intelligence and 8+ years of experience and 110+ successful projects building production-ready chatbots and voice assistants.\n\nLena focuses on ethical, user-first AI, leveraging her expertise in Linguistics & AI to create responsible, high-quality AI solutions. She shares insights on AI innovation and human-centered design through her blog (https://shakurova.io/blog) and LinkedIn (https://www.linkedin.com/in/lena-shakurova/).", "public_name": "Lena Shakurova", "guid": "cb65ad72-de81-5be9-816a-a81c562e9a02", "url": "https://pretalx.com/pydata-london-2026/speaker/WXBHAE/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/8Y9GRD/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/8Y9GRD/", "attachments": []}, {"guid": "1ff15d9c-b0a2-5047-b44c-149d8464da9e", "code": "J99JNR", "id": 91643, "logo": "https://pretalx.com/media/pydata-london-2026-2025/submissions/J99JNR/image_LqLh6ML.webp", "date": "2026-06-06T14:45:00+01:00", "start": "14:45", "duration": "00:45", "room": "Grand Hall 2", "slug": "pydata-london-2026-91643-fast-forward-ing-models-accelerating-high-dimensional-inference-with-ai-emulators", "url": "https://pretalx.com/pydata-london-2026/talk/J99JNR/", "title": "Fast-Forward(ing) Models: Accelerating High-Dimensional Inference with AI Emulators", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "In science and engineering, we are frequently challenged by the inability to manipulate environmental variables\u2014a key component of the scientific method. For example, we cannot simply stop a hurricane in its tracks or change the temperature of the Sun. Instead, we heavily rely on \"Forward Models\"\u2014numerical simulations that predict data from physical parameters. However, these models are often massively computationally expensive.\n\nEmulators (or surrogate models) present a solution. Whether solving a single time-sensitive equation or searching a high-dimensional inference space, emulators can accelerate simulation results by orders of magnitude. In this talk, we show how these machine-learning tools are revolutionising research across STEM disciplines, from inferring input parameters to developing digital twins and augmenting foundational models.", "description": "This talk aims to show how we can accelerate the solving of complex, imperfect, high-dimensional physical models using machine learning. We will be discussing:\n\n- The motivation for accelerating models (3 mins)\n- An introduction to emulation (5 mins)\n- The most common emulation architectures (4 mins) \n- Effective sampling and parameter selection for training data (4 mins) \n- Model dimensionality reduction techniques and optimisation (4 mins)\n- Emulator uncertainty quantification and inference techniques (4 mins) \n- Designing an emulator workflow (2 mins)\n- Data augmentation for existing datasets (5 mins)\n- Use case examples (9 mins) \n\nAttendees will gain a deep understanding of how to architect surrogate models and the libraries typically used to create them, enabling users to \"fast-forward\" their own computationally intensive numerical models.\n\nPrerequisites: Basic familiarity with Python and regression concepts. No physics background required.", "recording_license": "", "do_not_record": false, "persons": [{"code": "LJMHYX", "name": "Austen Wallis", "avatar": "https://pretalx.com/media/avatars/LJMHYX_L1p5l6w.webp", "biography": "Austen is a computational astrophysicist specialising in scientific machine learning. Currently a postgraduate researcher at the University of Southampton, he will soon be joining the University of Cambridge as an Exoplanetary Data Science Research Associate. His work primarily focuses on accelerating complex physics simulations using \"fast-forward\" emulator techniques, which he has applied across diverse domains ranging from fusion-energy plasma control at the UK Atomic Energy Authority to extreme weather forecasting at IBM Research.", "public_name": "Austen Wallis", "guid": "b4ab2914-06e0-5094-9fba-54b21c6a680a", "url": "https://pretalx.com/pydata-london-2026/speaker/LJMHYX/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/J99JNR/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/J99JNR/", "attachments": []}, {"guid": "1e2f5463-576a-5581-a15b-ec0c1e920626", "code": "YYTLFF", "id": 91812, "logo": null, "date": "2026-06-06T15:30:00+01:00", "start": "15:30", "duration": "00:45", "room": "Grand Hall 2", "slug": "pydata-london-2026-91812-bridging-pandas-and-polars-the-hidden-costs-of-dataframe-interoperability", "url": "https://pretalx.com/pydata-london-2026/talk/YYTLFF/", "title": "Bridging Pandas and Polars: The Hidden Costs of Dataframe Interoperability", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "The Python data ecosystem is migrating from NumPy-based arrays toward Apache Arrow. Polars is built entirely on Arrow, and Pandas is heading in the same direction. Yet differences in string encoding, missing values, schemas, and index metadata make interoperability between the two formats surprisingly costly and error-prone. This talk examines these challenges through a case study of how ArcticDB, the open-source client-side dataframe database, navigated this same migration.", "description": "As organisations adopt Polars alongside Pandas, a critical question emerges: how do you move data between the two without silent data loss, performance regressions, or broken round-trips? The answer is more complex than calling `polars.from_pandas`.\n\nPandas stores data in NumPy arrays by default, though as of 3.0 it uses Arrow for strings. Polars is built entirely on Apache Arrow's columnar format. For each area where these formats diverge, this talk will explain the problem and show how ArcticDB, a dataframe database that must serialize, store, and reconstruct both formats, solves it in practice:\n\n- **Memory layout**: How NumPy and Arrow represent the same logical data differently, and how a dataframe database can bridge the two\n- **Strings**: NumPy object arrays vs. Arrow's offset-based binary buffers -- why Arrow is dramatically more efficient and the cost of conversion\n- **Missing values**: NaN/NaT/None sentinels vs. Arrow's validity bitmask -- why a Pandas NaN behaves differently from a Polars null and what breaks during conversion\n- **Schema differences**: Different supported data types and different allowed column names -- e.g. Pandas allows mixed-type columns that Arrow cannot represent\n- **Pandas-specific metadata** that has no Arrow equivalent: Index and RangeIndex semantics, and MultiIndex which uses an entirely different memory layout with its own performance implications\n\nTogether, these issues make conversion between Pandas and Polars far from trivial. This is especially challenging for a dataframe database like ArcticDB, where petabytes of Pandas DataFrames are stored and users increasingly want to read them back as Arrow. The talk will include benchmarks comparing native format reads against conversion-based approaches, and practical takeaways for anyone migrating a codebase, building a library that supports both formats, or choosing a dataframe database. The talk will include benchmarks comparing native format reads against conversion-based approaches, and practical takeaways for anyone migrating a codebase, building a library that supports both formats, or choosing a dataframe database.", "recording_license": "", "do_not_record": false, "persons": [{"code": "ACWZ7K", "name": "Ivo Dilov", "avatar": "https://pretalx.com/media/avatars/ACWZ7K_8BJXY3Q.webp", "biography": "Ivo Dilov has 5 years of industry experience and 10 years of competitive programming, with a focus on high-performance software. For the past 2 and a half years, he has been a senior engineer on ArcticDB, the open-source DataFrame database backed by Man Group and Bloomberg, working in C++ and Python.", "public_name": "Ivo Dilov", "guid": "e51d12f1-76d0-52d4-959a-e1640f0f6e21", "url": "https://pretalx.com/pydata-london-2026/speaker/ACWZ7K/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/YYTLFF/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/YYTLFF/", "attachments": []}, {"guid": "bb037c74-3101-5388-bd1b-398375170863", "code": "HBPSDS", "id": 98957, "logo": null, "date": "2026-06-06T16:15:00+01:00", "start": "16:15", "duration": "00:45", "room": "Grand Hall 2", "slug": "pydata-london-2026-98957-using-coding-agents-with-open-models", "url": "https://pretalx.com/pydata-london-2026/talk/HBPSDS/", "title": "Using coding agents with open models", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Coding agents such as Cursor and Claude Code are fundamentally changing software development workflows. Most teams, however, still rely primarily on proprietary frontier models.\nIn this demo-driven session, I will show how to pair modern coding agents with high-performance open models running on Nebius Token Factory, with a focus on developer experience, model behavior, considerations relevant to production use.\n\nAttendees will receive platform credits for getting started immediately with open-model-powered coding agents.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "A9KFMS", "name": "Sujee Maniyam", "avatar": "https://pretalx.com/media/avatars/HHGLYW_7fhoZ2U.webp", "biography": "Sujee Maniyam is a Developer Advocate at Nebius, with a background spanning AI, distributed systems, data engineering, and cloud infrastructure. Outside of work, he is usually on a local pickleball court.\n\n\"I\u2019m a developer, technical instructor, and entrepreneur, now focusing on Developer Advocacy / Developer Relations for AI. I have worked with AI/ML, Data Engineering, Distributed Systems, Big Data, and Cloud technologies. As a AI Developer Relations Engineer, I combine hands-on engineering with community building to help developers make the most of AI, specially open-source AI. I also influence/shape the product by providing feedback to dev/product teams. See my developer advocacy work\".", "public_name": "Sujee Maniyam", "guid": "96fd7aa3-97c4-5d54-b19f-1f62fcd6a122", "url": "https://pretalx.com/pydata-london-2026/speaker/A9KFMS/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/HBPSDS/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/HBPSDS/", "attachments": []}], "Doddington Forum": [{"guid": "f52c38f5-182f-5a9d-be95-3a0df99d05b4", "code": "BPJEKV", "id": 91564, "logo": null, "date": "2026-06-06T10:20:00+01:00", "start": "10:20", "duration": "00:45", "room": "Doddington Forum", "slug": "pydata-london-2026-91564-kafka-streaming-the-pythonic-way", "url": "https://pretalx.com/pydata-london-2026/talk/BPJEKV/", "title": "Kafka Streaming, the Pythonic Way", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Adopting a streaming architecture as a Python developer often means abandoning the tools and abstractions you know: DataFrames, batch processing, familiar data workflows, in favour of an entirely different mental model. After ten years of tackling this problem across multiple companies, I've learned it doesn't have to be that way.\n\nIn this talk, I'll show how to treat Kafka not as a stream of individual messages but as a source of micro-batches, and how to deserialize those messages, whether JSON or Protobuf, into Arrow-backed DataFrames. The result: your processing code looks the same whether the data comes from a Parquet file or a Kafka topic.\n\nNo heavy framework required. Using confluent-kafka and Apache Arrow, I'll walk through how to build this from the ground up, so you understand every layer of the stack.", "description": "The talk opens with a concrete example of stream processing. We have data flowing in, and a clear task to perform on it. No theory, no definitions, just a practical scenario the audience can immediately relate to.\n\nFrom there, we step back and look at how Kafka works. Topics, consumers, partitions, message formats. Just enough to understand the architecture behind the example, and to appreciate why Kafka has become the standard backbone for streaming systems.\n\nThen comes the friction. When you consume from Kafka, you get one message at a time. Each message is serialized as JSON or Protobuf. If you're a Python developer used to working with DataFrames, this feels like going back to writing for loops over rows. We'll look at what the naive approach looks like in code, and why it quickly becomes painful as processing logic gets more complex.\n\nWith the problem clearly felt, we introduce the solution: treating Kafka not as a stream of individual messages but as a source of micro-batches, and deserializing those batches directly into Arrow-backed DataFrames using confluent-kafka and Apache Arrow. The processing code that follows looks identical to what you'd write against a Parquet file. We'll see both versions side by side to make this concrete.\n\nWe close with lessons learned from applying this pattern in production over ten years. What breaks, what surprises you, and what trade-offs you should be aware of before adopting this approach in your own systems.\n\nThe talk assumes familiarity with Python and basic data processing with DataFrames. No prior knowledge of Kafka or streaming is required.", "recording_license": "", "do_not_record": false, "persons": [{"code": "TSF8WA", "name": "Arthur Andres", "avatar": "https://pretalx.com/media/avatars/TSF8WA_YiYZmpC.webp", "biography": "A seasoned software engineer, working in both batch and real time, data intensive, python application.", "public_name": "Arthur Andres", "guid": "c0360a01-6f24-57df-96a2-95e41264210f", "url": "https://pretalx.com/pydata-london-2026/speaker/TSF8WA/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/BPJEKV/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/BPJEKV/", "attachments": []}, {"guid": "37b98207-aa4f-5771-a690-744ae9d8ff9a", "code": "T7GMEL", "id": 91294, "logo": "https://pretalx.com/media/pydata-london-2026-2025/submissions/T7GMEL/image_qYPxFT1.webp", "date": "2026-06-06T11:05:00+01:00", "start": "11:05", "duration": "00:45", "room": "Doddington Forum", "slug": "pydata-london-2026-91294-beyond-spark-mllib-deduplicating-common-crawl-at-scale", "url": "https://pretalx.com/pydata-london-2026/talk/T7GMEL/", "title": "Beyond Spark MLlib: Deduplicating Common Crawl at Scale", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Training large language models requires massive, high-quality text corpora\u2014but web-scale datasets like Common Crawl contain significant near-duplicate content that degrades model performance and wastes compute. Existing solutions like Spark MLlib's MinHashLSH suffer from UDF serialization overhead and shuffle explosion, causing out-of-memory failures at scale.\n\nWe present a partition-aware MinHash LSH system that co-locates similar documents within Spark partitions, dramatically reducing cross-partition shuffles during similarity computation. Our approach combines vectorized MinHash generation using mathematical permutation tricks, band-based candidate filtering with configurable collision limits to handle edge cases like boilerplate false positives, and GraphFrames-based connected components for transitive deduplication.\n\nBenchmarks on Common Crawl 253.4 million documents, generating 2.1 billion candidate pair\ncompleted in under five hours on a 9-node r5d.8xlarge EMR cluster. We discuss key optimizations including partition-aware MinHash LSH and band collision filtering for common boilerplate content.\nAttendees will learn partition-aware LSH design patterns, strategies for handling boilerplate-induced false positives, and how to integrate deduplication into existing Spark ETL pipelines. The system will be open-sourced, enabling practitioners to deploy production-ready deduplication pipelines for their own LLM training workflows.", "description": "<Why This Matters for LLM Practitioners>\nTraining data quality is the bottleneck for LLM performance. Research shows duplicate content causes memorization, reduced generalization, and wasted compute (Lee et al., 2022). Yet existing tools fail at web scale: Spark MLlib's MinHashLSH suffers shuffle explosion causing OOM errors, while Google's deduplicate-text-datasets requires 600GB+ RAM on a single machine.\n\n<What You'll Learn>\nThis talk introduces a partition-aware MinHash LSH system built with PySpark and NumPy that scales horizontally on commodity clusters. The key innovation: using LSH band hashes to drive Spark's partitioning, co-locating similar documents before comparison and eliminating cross-partition shuffles entirely.\n\n<Target Audience>\nData engineers and ML practitioners working with large text corpora for NLP/LLM applications. Familiarity with PySpark basics and general understanding of similarity matching is helpful but not required.\n\n<Talk Outline>\nMinutes 0-5: The deduplication challenge - why LLM training data needs deduplication, why O(N\u00b2) comparisons are infeasible, why you can't split into independent batches\nMinutes 5-10: Why existing tools fail - MLlib shuffle explosion, Google's memory requirements\nMinutes 10-18: Our solution - partition-aware MinHash LSH architecture, code walkthrough showing pandas_udf vectorization and band-based partitioning\nMinutes 18-25: Worked example - following two documents through the pipeline: hashing \u2192 band assignment \u2192 partition co-location \u2192 local candidate generation \u2192 connected components\nMinutes 25-30: Benchmarks and practical lessons - 253M documents, 2.1B candidate pairs, under 5 hours, under $100. boilerplate filtering with MAX_BAND_SIZE\nMinutes 30-40: Q&A\n\n\n<Key Takeaways>\nHow to use LSH band hashes to drive Spark partitioning for local similarity computation\nVectorized MinHash generation with NumPy and pandas_udf to avoid Python UDF overhead\nStrategies for handling boilerplate-induced false positives at scale\nA production-ready architecture that will be open-sourced\n\n<Background Knowledge>\nBasic PySpark familiarity (DataFrames, partitions). No prior knowledge of MinHash or LSH required \u2014 these concepts will be explained.", "recording_license": "", "do_not_record": false, "persons": [{"code": "RUXK7W", "name": "Ken Obata", "avatar": "https://pretalx.com/media/avatars/RUXK7W_Et8AmAz.webp", "biography": "Ken Obata is a senior data engineer currently working at Lyft, with over seven years of experience building large-scale data infrastructure at KPMG, Amazon, and Lyft. His current research focuses on scalable text deduplication for LLM training data, where he developed a partition-aware MinHash LSH system that processes hundreds of millions of documents on commodity Spark clusters.", "public_name": "Ken Obata", "guid": "1d8342d6-bbdf-5f6b-a3ac-9f65cb34d92f", "url": "https://pretalx.com/pydata-london-2026/speaker/RUXK7W/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/T7GMEL/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/T7GMEL/", "attachments": []}, {"guid": "de6d331b-0060-5913-a8af-5a25a1e6adf2", "code": "8JJUKQ", "id": 91604, "logo": null, "date": "2026-06-06T11:50:00+01:00", "start": "11:50", "duration": "00:45", "room": "Doddington Forum", "slug": "pydata-london-2026-91604-governance-as-code-for-the-lakehouse-zero-trust-with-iceberg-rest-catalog-and-policy-engines", "url": "https://pretalx.com/pydata-london-2026/talk/8JJUKQ/", "title": "Governance-as-Code for the Lakehouse: Zero Trust with Iceberg REST Catalog and Policy Engines", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Modern lakehouse architectures promise flexibility and scale \u2014 but governance is often an afterthought. While we version data and evolve schemas, we rarely version or test access policies.\n\nThis talk explores how to implement governance-as-code in a lakehouse using the REST Catalog from Apache Iceberg, applying Zero Trust principles and enforcing fine-grained policies with Open Policy Agent (OPA) and Cedar.\n\nAttendees will learn how to move from static IAM and implicit trust to centralized, engine-agnostic, policy-driven governance.", "description": "Lakehouse architectures unify data lakes and warehouses, but governance models often lag behind the architectural innovation. Access control is frequently engine-specific, policies are fragmented, and trust is implicit.\n\nThis talk argues that the missing layer in many lakehouse implementations is governance-as-code enforced at the catalog boundary.\n\n**We explore:**\n- How the Iceberg REST Catalog introduces a centralized enforcement point decoupled from compute engines\n- Why Zero Trust principles apply to data platforms (no implicit trust between engines, users, or services)\n- How policy-as-code systems such as OPA and Cedar enable versioned, testable, auditable access control\n- Patterns for implementing fine-grained authorization (row/column-level policies, environment isolation, service-to-service trust)\n- How governance becomes reproducible and portable across Spark, Flink, Trino, and other engines\n\nThe session focuses on architectural patterns rather than vendor-specific tooling and highlights practical trade-offs when implementing policy enforcement in production lakehouses.\n\n**Key Takeaways**\n1. Understand why traditional RBAC is insufficient for modern lakehouses\n3. Learn how REST-based catalog architectures enable centralized governance\n5. See how Zero Trust can be applied to data access workflows\n7. Discover how to implement policy-as-code using OPA or Cedar\n9. Gain a reference architecture for governance-first lakehouse design", "recording_license": "", "do_not_record": false, "persons": [{"code": "P8BGN9", "name": "Viktor Kessler", "avatar": "https://pretalx.com/media/avatars/P8BGN9_LbZTPh6.webp", "biography": "\u200bViktor Kessler, is Co-Founder of Vakamo and the creator of Lakekeeper, an Apache Licensed Iceberg REST Catalog. He\u2019s a big believer in open standards like Apache Iceberg, which he sees as the backbone of today\u2019s modern, composable Data & Analytics systems.", "public_name": "Viktor Kessler", "guid": "9037355a-60b4-5cae-b203-ff7f3f238e36", "url": "https://pretalx.com/pydata-london-2026/speaker/P8BGN9/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/8JJUKQ/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/8JJUKQ/", "attachments": []}, {"guid": "3f540d11-d29a-57d2-80ce-e0a1a67bcecc", "code": "QMGS7U", "id": 91813, "logo": null, "date": "2026-06-06T14:45:00+01:00", "start": "14:45", "duration": "00:45", "room": "Doddington Forum", "slug": "pydata-london-2026-91813-mcp-or-not-mcp", "url": "https://pretalx.com/pydata-london-2026/talk/QMGS7U/", "title": "MCP, or not MCP", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Model Context Protocol is a standard for defining tools that can be made available to LLMs and AI applications. There\u2019s a lot of noise out there about what you should use to get the best results from AI, so in this talk, I will provide some guidance on when you should use MCP, and when you should reach for some other tool. I will describe cases where MCP is the right tool for the job, and when other things, like skills or other context files, are better. I will also devote attention to questions of security and authentication, which are important for MCP, and provide concrete examples of how MCP servers can be used to unlock agentic workflows while also strengthening data governance. This talk is intended for those who are interested in using LLMs for workflows involving data. No prior experience with MCP is required.", "description": "Outline:\n\n* Intro: how can I get data from this API into my Claude Code session?\n* What is MCP? When should you use it, when should you use other tools\n* Work through an example\n* Sharing and deploying MCP servers, alternatives and best practices\n* Optimizing your tools for best results", "recording_license": "", "do_not_record": false, "persons": [{"code": "TLHZQ3", "name": "Neal Richardson", "avatar": "https://pretalx.com/media/avatars/TLHZQ3_6fqUXGe.webp", "biography": "Neal Richardson is VP of Engineering at Posit and a member of the Apache Software Foundation. He is a maintainer of Apache Arrow, along with many other open-source projects. He holds a Ph.D. in Political Science from the University of California, Berkeley.", "public_name": "Neal Richardson", "guid": "a4d4ee9c-9ec4-54d6-b9ac-a1b95d36b525", "url": "https://pretalx.com/pydata-london-2026/speaker/TLHZQ3/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/QMGS7U/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/QMGS7U/", "attachments": []}, {"guid": "fa0f48b3-3bde-59a5-a535-597d86a16036", "code": "T7BQTG", "id": 94871, "logo": null, "date": "2026-06-06T15:30:00+01:00", "start": "15:30", "duration": "00:45", "room": "Doddington Forum", "slug": "pydata-london-2026-94871-build-your-castle-dig-your-moat-ai-sovereignty-provenance-and-compliance", "url": "https://pretalx.com/pydata-london-2026/talk/T7BQTG/", "title": "Build your castle, dig your moat: AI sovereignty, provenance and compliance", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Your intelligent application is your castle, and your security practices are the moat that protects it. Inside your castle, you must aim for full visibility into what you\u2019re running and why, with freedom to iterate. Your moat creates your security perimeter, ensuring no proprietary data leaves your castle and enforcing best practices including data provenance, cryptographically signed models, evaluation tools, build pipelines and reproducible environments.\n\n\nBuild on your infrastructure, answer to your requirements, scale on your terms.", "description": "In this talk you\u2019ll learn\u2026\n\n \u2022 What AI sovereignty actually means for your stack and your business\n \u2022 How to evaluate self-hosted, local LLMs\n \u2022 Overview of supply chain security controls for data and code artifacts \u2013 provenance, signatures and compliance measures, opacity and trust signals", "recording_license": "", "do_not_record": false, "persons": [{"code": "PZEMN7", "name": "Daina Bouquin", "avatar": "https://pretalx.com/media/avatars/PZEMN7_zB176St.webp", "biography": "Daina Bouquin is Senior Developer Relations Engineer at Anaconda with over 12 years of experience spanning astrophysics, library science, and software development. She previously served as Head Librarian at the Harvard-Smithsonian Center for Astrophysics, where she led projects on software citation, preservation, and recovering the contributions of early women in computing. This work gave her deep familiarity with historical computing collections in addition to experience supporting scientists doing computational research. At Anaconda, she creates educational content and strengthens connections between engineering teams and the broader open source community. She believes documentation isn't just about clarity, it's about building communities where people want to participate.", "public_name": "Daina Bouquin", "guid": "c43e0529-8870-5f9d-8e1b-a8b076578c73", "url": "https://pretalx.com/pydata-london-2026/speaker/PZEMN7/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/T7BQTG/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/T7BQTG/", "attachments": []}, {"guid": "5995561c-c5fc-5eac-b997-30b073835dbf", "code": "3MAU9W", "id": 91215, "logo": null, "date": "2026-06-06T16:15:00+01:00", "start": "16:15", "duration": "00:45", "room": "Doddington Forum", "slug": "pydata-london-2026-91215-documenting-your-open-source-projects-for-machines", "url": "https://pretalx.com/pydata-london-2026/talk/3MAU9W/", "title": "Documenting your open source projects for machines", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "As coding agents grow in popularity, open source project documentation is increasingly consumed by LLMs. When people build things with your open source library their agent will read your documentation and write code based on what it discovers there. To ensure your users have a good experience we need to start thinking about how to write and publish our documentation to make sure agents produce the best code possible.\n\nCoding agents are now on the critical path for making decisions around which libraries to use. For open source developers it\u2019s important to market your projects to LLMs as well as humans. Publishing material about the project in a way that is easy to discover and parse for models is key to increasing adoption.\n\nThis talk will cover key things you need to know to make your project successful in a coding agent world:\n\n- SEO for the LLM age\n- Publishing your docs in context efficient formats like markdown\n- Providing plentiful examples that ensure agents produce idiomatic code for your library\n- Adding LLM specific information to the documentation to help shape behaviour", "description": "Introduction (5 mins)\nHow LLM tools consume documentation pages (5 mins)\nQuick steps you can take to improve things (5 mins)\nBuild markdown pages with sphinx-llm or mkdocs-llmstxt\nHelping LLMs write idiomatic code for your library (5 mins)\nConstraining how your code is used (5 mins)\nConclusions (5 mins)", "recording_license": "", "do_not_record": false, "persons": [{"code": "EE7H7J", "name": "Jacob Tomlinson", "avatar": "https://pretalx.com/media/avatars/EE7H7J_KtXk3nN.webp", "biography": "Jacob Tomlinson is a senior Python software engineer at NVIDIA with a focus on deployment tooling for distributed systems. His work involves maintaining open source projects including RAPIDS and Dask. RAPIDS is a suite of GPU accelerated open source Python tools which mimic APIs from the PyData stack including those of Numpy, Pandas and SciKit-Learn. Dask provides advanced parallelism for analytics with out-of-core computation, lazy evaluation and distributed execution of the PyData stack. He also tinkers with the open source Kubernetes Python framework kr8s in his spare time. Jacob volunteers with the local tech community group Tech Exeter and lives in Exeter, UK.", "public_name": "Jacob Tomlinson", "guid": "7d5794a8-e43e-58a6-9a19-8751d101fde1", "url": "https://pretalx.com/pydata-london-2026/speaker/EE7H7J/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/3MAU9W/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/3MAU9W/", "attachments": []}], "Hardwick Hub": [{"guid": "0eb3eb12-5a50-53fb-8891-057775eacf58", "code": "EQZ7VK", "id": 91414, "logo": null, "date": "2026-06-06T10:20:00+01:00", "start": "10:20", "duration": "00:45", "room": "Hardwick Hub", "slug": "pydata-london-2026-91414-from-noisy-sensors-to-events-event-detection-in-sensor-data-with-kalman-filters-and-hidden-markov-models", "url": "https://pretalx.com/pydata-london-2026/talk/EQZ7VK/", "title": "From Noisy Sensors to Events: Event Detection in Sensor data with Kalman Filters and Hidden Markov Models", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Sensors operating in complex environments produce noisy data. Determining exactly when a system transitions between states \u2014 and what values it is recording \u2014 is surprisingly hard: vibrations, environmental changes, and gradual shifts all conspire against simple threshold approaches. This talk walks through a real-world Python pipeline that solves this problem, starting with classical signal processing, exposing its failure modes, and then building a principled solution using a Kalman filter for noise reduction coupled with a Hidden Markov Model (HMM) for state inference. Attendees will leave understanding how to frame sensor problems as state estimation tasks and how to apply these techniques in Python using necessary libraries.", "description": "Objective \nMany operations depend on accurate data from continuous sensor streams. Knowing when a system transitions between states, when a process cycle completes, and how much change occurred per cycle drives scheduling, monitoring, and operational reporting. This talk presents a complete data science pipeline \u2014 built entirely in Python \u2014 that automates event detection and value estimation from noisy sensor streams. The goal is to give attendees both a worked real-world case study and a transferable toolkit for tackling noisy, event-driven sensor data in any domain.\n\nThe Problem \nSensors record measurements continuously, but the raw signal is far from clean. Vibrations, speed changes, and environmental shifts all create noise that masks the true underlying state of the system (for example: wake, light sleep, deep sleep, REM sleep). A naive threshold-based approach \u2014 the initial \"traditional method\" \u2014 is brittle: it misfires on transient spikes, misses gradual transitions, and cannot estimate values reliably. This section sets up the problem visually with annotated sensor traces and shows concretely where simple methods break down.\n\nWhy Kalman Filter + Hidden Markov Model? \nThe key insight is that the system operates as a latent state machine: at any moment it is in one of a small number of discrete states (idle, transitioning, active, completing), and what we observe is a noisy function of that state. This framing motivates a two-stage approach: Kalman Filter \u2014 smooths the raw signal, handles sensor noise, and provides a principled estimate of the true instantaneous value with an associated uncertainty. Hidden Markov Model \u2014 takes the smoothed signal and infers the sequence of hidden states, including the timing of transitions and the most probable value estimate at peak. The talk explains the intuition behind both models without heavy mathematics, and then shows how to implement them in Python with filterpy (Kalman) and hmmlearn (HMM).", "recording_license": "", "do_not_record": false, "persons": [{"code": "NUPWSA", "name": "Ono Gantsog", "avatar": "https://pretalx.com/media/avatars/NUPWSA_D4Ht3NH.webp", "biography": "I am a data scientist at a international mining group.", "public_name": "Ono Gantsog", "guid": "41ed24bb-9d34-5388-8bd6-2ddb1b05ee63", "url": "https://pretalx.com/pydata-london-2026/speaker/NUPWSA/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/EQZ7VK/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/EQZ7VK/", "attachments": []}, {"guid": "0a55ee71-77c0-564d-8afa-d8d96bd7fe54", "code": "CKV8PH", "id": 91859, "logo": null, "date": "2026-06-06T11:05:00+01:00", "start": "11:05", "duration": "00:45", "room": "Hardwick Hub", "slug": "pydata-london-2026-91859-mapping-the-local-heat-transition-from-large-scale-geospatial-data-to-real-world-impact", "url": "https://pretalx.com/pydata-london-2026/talk/CKV8PH/", "title": "Mapping the local heat transition: from large-scale geospatial data to real-world impact", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Decarbonising UK\u2019s home heating is one of the greatest challenges of the Net Zero transition, yet it currently relies on individual household decisions supported by government incentives. To help accelerate the local delivery, we are building a tool that maps the most suitable low-carbon heating for clusters of properties at a neighbourhood level. \n\nIn this talk we will walk through our end-to-end data science pipeline, covering processing of large-scale geospatial data, the nuances of modelling where ground truth data does not yet exist, and how to translated local authorities needs into a functional product. We will present our Python tech stack and will conclude with a showcase of the user interface.\n\nWhether you're interested in geospatial data engineering, machine learning for social good, or how to work within a multidisciplinary team, this talk offers a blueprint for building data products with real-world impact.", "description": "Decarbonising UK\u2019s home heating is one of the greatest challenges of the Net Zero transition, yet it currently relies on individual household decisions supported by government incentives. To help accelerate the local delivery, we are building a tool that maps the most suitable low-carbon heating for clusters of properties at a neighbourhood level. \n\nWe will walk through the end-to-end journey of building a data product, from handling open data (such Ordnance Survey products and EPC) to designing a user interface that empowers non-technical decision-makers.\n\nWhat we will cover:\n- Our data science pipeline: Processing large-scale geospatial data, deployment of classification models and clustering algorithms, evaluating pipelines where ground truth data does not yet exist, etc\n- Our Python tech stack\n- A walkthrough of the user interface\n- The process of translating the needs of local authorities into a functional and intuitive product\n\nWho should attend?\nNo prior technical knowledge is required. Whether you are a data science newcomer or a seasoned professional with a decade of experience, this talk is designed to be accessible to all. We welcome:\n- Data scientist, engineers, academics, machine learning engineers curious about how data science operates within a mission-driven, not-for-profit context.\n- Project and product managers looking for a roadmap to steer complex data products from concept to delivery.\n\nKey takeaways:\nBy the end of this session, you will gain a deeper understanding of:\n- Data science in practice: data science techniques and libraries used\n- Applying data science for impact: How to bridge the gap between complex modelling and the practical needs of external stakeholders\n- Multidisciplinary collaboration: lessons earned from a team of data scientists, full-stack developers, designers, and domain experts working toward a common goal.", "recording_license": "", "do_not_record": false, "persons": [{"code": "7HMSUV", "name": "Sofia Pinto", "avatar": "https://pretalx.com/media/avatars/7HMSUV_q41mfwJ.webp", "biography": "Sofia is a principal data scientist at Nesta, working with the sustainable future mission team on decarbonising UK homes. During her time at Nesta, Sofia worked with energy performance certificates, social media and smart meter data to: estimate the cost of low carbon heating technologies, identify issues faced by homeowners in their low carbon heating path, understand how people consume energy in their homes and identifying the most suitable low carbon heating technology for groups of homes.\n\nPrior to joining Nesta, Sofia worked as a data scientist at Imperial College London, assessing the accuracy of crowdsourced data for road traffic collision and injury surveillance. Before this she worked as a research fellow at the Social Physics and Complexity research group, LIP Portugal, on health related projects such as identifying antibiotic over-prescription and factors influencing it.\n\nSofia holds a Bachelor\u2019s degree in Applied Mathematics and Master\u2019s degree in Data Science and Advanced Analytics.", "public_name": "Sofia Pinto", "guid": "f7372c0f-b30c-5228-aa84-fe4cac99bfe5", "url": "https://pretalx.com/pydata-london-2026/speaker/7HMSUV/"}, {"code": "UM38T7", "name": "Simran Dave", "avatar": "https://pretalx.com/media/avatars/KV7MN3_D7Rr74w.webp", "biography": "Simran is a PhD student in high energy physics at University College London, working on direct searches for dark matter with the LUX-ZEPLIN experiment. She is undertaking a data science placement at Nesta, working with the sustainable future team to map the local heat transition using open data. She holds a Master's degree in Theoretical Physics from Imperial College London.", "public_name": "Simran Dave", "guid": "bba129c5-c608-5737-9ca9-df2206ec64e9", "url": "https://pretalx.com/pydata-london-2026/speaker/UM38T7/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/CKV8PH/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/CKV8PH/", "attachments": []}, {"guid": "78d086a7-04c7-5308-aab4-a86512779d55", "code": "A38MW7", "id": 88161, "logo": null, "date": "2026-06-06T11:50:00+01:00", "start": "11:50", "duration": "00:45", "room": "Hardwick Hub", "slug": "pydata-london-2026-88161-hazards-on-the-causal-path-bayesian-time-varying-survival-analysis-with-pymc", "url": "https://pretalx.com/pydata-london-2026/talk/A38MW7/", "title": "Hazards on the Causal Path: Bayesian Time-Varying Survival Analysis with PyMC", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Dynamic Path Analysis (DPA) extends survival analysis with a causal, time-varying perspective. This allows causal effects to be decomposed into direct and indirect pathways that evolve over time. The perspective is particularly valuable when interventions (exercise) act through mediators (weight loss) whose influence changes dynamically in time, because we get to distil when each driver of our survival probabilities are active and whether their combined effects are harmful or positive. \n\nDespite its conceptual appeal, DPA remains niche, with existing implementations limited to frequentist R packages and no Bayesian or Python-native alternatives. In this talk, I present a Bayesian, generative implementation of Dynamic Path Analysis using PyMC. By discretising time and modelling cumulative hazard effects with smooth spline priors, we obtain interpretable time-varying causal effects with coherent uncertainty quantification. I benchmark the approach against canonical dpasurv examples and discuss why DPA focuses on hazards rather than survival curves.\n\nThis talk is aimed at Python users interested in survival analysis, causal inference, and Bayesian modelling.", "description": "Survival analysis is often used to answer when an event occurs, but in many real-world settings we also care about how and through which mechanisms interventions exert their effects over time. Dynamic Path Analysis (DPA), introduced by Aalen and colleagues, addresses this by decomposing time-varying effects on the hazard into direct and mediated causal pathways, allowing these relationships to evolve dynamically.\n\nIn this talk, I present a Bayesian, generative reinterpretation of Dynamic Path Analysis implemented in PyMC. The model discretises time into intervals and represents cumulative hazard effects using smooth spline-based priors, enabling stable estimation of time-varying direct and indirect effects with full posterior uncertainty. I show how this approach recovers the qualitative behaviour of canonical dpasurv examples while extending them to a fully probabilistic framework.\n\nThe emphasis is on the causal decomposition of hazards, clarifying why DPA is well suited to reasoning about evolving mediation structures and intervention planning. The talk highlights how generative Bayesian models make these ideas more flexible, interpretable, and extensible within the Python ecosystem. We end with practical recipes for using g-computation to derive non-parametric estimates of direct, indirect and survival-curve-differences from the fitted DPA model.\n\nTarget audience: data scientists and researchers with some familiarity with survival analysis or Bayesian modelling.\n\nTakeaway: attendees will understand when and why to use dynamic causal hazard models, and how to implement them in practice using PyMC.", "recording_license": "", "do_not_record": false, "persons": [{"code": "GB9KHE", "name": "Nathaniel Forde", "avatar": "https://pretalx.com/media/avatars/GB9KHE_9dI5Rai.webp", "biography": "I'm a Data-Scientist working in HR Tech and People Analytics with Personio.  I'm a big advocate of open source software and regularly contribute to PyMC, PyMC-Marketing and CausalPy. I've worked across a variety of industries ranging from e-commerce, insurance and gambling and in each, i've tried to find ways to apply statistical best practice to business problems. \n\nI'm always open to chat about scientific python, philosophy of science and Bayesian reasoning and decision analysis.", "public_name": "Nathaniel Forde", "guid": "2cefd0f2-a65b-52de-b220-1a65dc4df3b4", "url": "https://pretalx.com/pydata-london-2026/speaker/GB9KHE/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/A38MW7/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/A38MW7/", "attachments": []}, {"guid": "34e99fdb-fc12-5c01-90cf-366ddcfef3a2", "code": "H7PFXK", "id": 91809, "logo": null, "date": "2026-06-06T14:45:00+01:00", "start": "14:45", "duration": "00:45", "room": "Hardwick Hub", "slug": "pydata-london-2026-91809-did-your-rollout-actually-work-measuring-phased-launches-with-staggered-did-in-python", "url": "https://pretalx.com/pydata-london-2026/talk/H7PFXK/", "title": "Did Your Rollout Actually Work? Measuring Phased Launches with Staggered DiD in Python", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Your company launches a loyalty program \u2014 but not everywhere at once. Ten stores get it in January, another ten in March, the rest later. Leadership asks: \"Did it work? By how much?\" You compare before and after... and get a number that's wrong. Phased rollouts break naive pre/post comparisons, and standard regression quietly gives misleading answers.\n\nThis talk shows a practical Python workflow for getting it right. Using a realistic store-rollout example and CausalPy (an open-source library), I'll demonstrate how to produce event-study plots that show *when* and *how much* an intervention takes effect \u2014 with uncertainty estimates your stakeholders can actually act on. Whether you're measuring feature flags, marketing campaigns, or policy changes, you'll leave with a reproducible notebook and a step-by-step workflow you can apply tomorrow.", "description": "### Who this is for\n\nData scientists, analysts, and applied ML/measurement practitioners who evaluate interventions using observational or quasi-experimental data (e.g., feature flags, phased launches, regional changes). Familiarity with pandas and basic regression is helpful; no prior Bayesian experience required.\n\n### What attendees will learn (takeaways)\n\n- How staggered adoption differs from \"textbook\" two-period Difference-in-Differences, and why the difference matters in production measurement.\n- How the imputation-based estimator (Borusyak, Jaravel & Spiess, 2024) works: fit on untreated observations, predict counterfactuals, aggregate by event time.\n- How to turn model output into stakeholder-friendly language: probability of positive effect, expected uplift, decision thresholds \u2014 no Bayesian background needed.\n- The parameter recovery pattern: validate your method on simulated data with known truth before trusting it on real data.\n- Practical diagnostics and red flags: parallel trends, anticipation effects, spillovers, and when *not* to use this method.\n\n### Outline and time plan (30 min talk + 10 min Q&A)\n\n- 0\u20134 min: The real-world problem \u2014 phased rollouts and why naive pre/post comparisons fail\n- 4\u201310 min: DiD refresher, then what breaks under staggered adoption (timing heterogeneity, negative weighting in TWFE)\n- 10\u201317 min: The staggered DiD solution (event-time framing, imputation intuition, key assumptions)\n- 17\u201325 min: Worked example in Python with CausalPy\n  - A loyalty program rolled out to 60 stores in 3 waves over 30 weeks\n  - Visualise adoption timing and check pre-trends\n  - Fit the model and produce event-study plots\n  - Parameter recovery: compare estimated effects to known ground truth\n- 25\u201328 min: Diagnostics \u2014 pre-treatment placebo checks, counterfactual inspection, \"when not to use this\" decision checklist\n- 28\u201330 min: Summary \u2014 three takeaways and the six-step workflow\n- 30\u201340 min: Q&A\n\n### Background knowledge needed\n\n- Comfortable with tidy data, grouping/aggregating, and reading a regression coefficient.\n- Basic causal inference vocabulary (treatment/control, confounding) is helpful but not required.\n\n### What I will provide\n\nA public GitHub repository containing:\n\n- a reproducible Quarto notebook (the slides themselves, with all code),\n- a synthetic dataset simulating a realistic store loyalty program rollout,\n- and environment setup instructions (conda environment file).", "recording_license": "", "do_not_record": false, "persons": [{"code": "JH9SPA", "name": "Benjamin Vincent", "avatar": "https://pretalx.com/media/avatars/JH9SPA_w7gVAVa.webp", "biography": "Ben Vincent is Director of InferenceWorks Ltd and a Principal Data Scientist at PyMC Labs, where he has been building Bayesian solutions for real-world business problems since 2021. He created CausalPy, an open-source Python library for causal inference in quasi-experimental settings. He holds a PhD in Neuroscience from the University of Sussex (UK) and previously held a university faculty position for 15 years.", "public_name": "Benjamin Vincent", "guid": "8f53a50c-98e5-54d2-be61-7f031168bdde", "url": "https://pretalx.com/pydata-london-2026/speaker/JH9SPA/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/H7PFXK/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/H7PFXK/", "attachments": []}, {"guid": "d492624f-7b61-5dfe-91fe-b6be2e909d16", "code": "JWNWFQ", "id": 88184, "logo": null, "date": "2026-06-06T15:30:00+01:00", "start": "15:30", "duration": "00:45", "room": "Hardwick Hub", "slug": "pydata-london-2026-88184-do-multilingual-embeddings-really-share-a-semantic-space-practical-lessons-across-scripts-and-languages", "url": "https://pretalx.com/pydata-london-2026/talk/JWNWFQ/", "title": "Do Multilingual Embeddings Really Share a Semantic Space? Practical Lessons Across Scripts and Languages", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Multilingual embeddings are often assumed to place different languages into a shared semantic space. In practice, that alignment breaks down in systematic ways.\n\nThis talk explores where multilingual embeddings work, where they fail, and why. Using examples across multiple languages, I show how tokenisation, training data imbalance, and semantic ambiguity shape embedding behaviour in practice, along with practical diagnostics for evaluating multilingual embeddings.", "description": "Multilingual embedding models are widely used in retrieval, search, recommendation, and RAG pipelines under the assumption that semantically similar text across languages occupies a shared embedding space.\n\nThis talk examines how true that assumption is in practice.\n\nUsing pre-trained multilingual embedding models, I explore examples where multilingual alignment works extremely well, and others where it breaks down unexpectedly. Across multiple languages, we will look at how tokenisation, training data imbalance, and semantic ambiguity shape embedding geometry and retrieval behaviour.\n\nRather than focusing on benchmark performance, the talk emphasises intuition and failure analysis:\n- Why do some languages align much more reliably than others?\n- Why do averages often hide important multilingual failures?\n- What happens when semantic ambiguity enters the embedding space?\n\nThrough UMAP projections, nearest-neighbour analyses, tokenisation patterns, and translation similarity distributions, we will build a practical mental model for understanding multilingual embeddings beyond the assumption of \u201cone shared semantic space.\u201d\n\nThe talk concludes with concrete diagnostics practitioners can use, along with common failure modes to watch for in applications.", "recording_license": "", "do_not_record": false, "persons": [{"code": "PZW3NB", "name": "Kavit Tolia", "avatar": "https://pretalx.com/media/avatars/PZW3NB_L2ygT7d.webp", "biography": "The speaker spent over 12 years working in quantitative roles in investment management before returning to academia to study Artificial Intelligence. They are currently completing a Master\u2019s degree in AI and ML in Science, and are particularly interested in how modern machine learning systems behave in practice, especially where modelling assumptions quietly break down.", "public_name": "Kavit Tolia", "guid": "64a23b2e-2d38-551a-96e6-af8514d6a030", "url": "https://pretalx.com/pydata-london-2026/speaker/PZW3NB/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/JWNWFQ/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/JWNWFQ/", "attachments": []}, {"guid": "e203439a-68fa-59c3-aefc-c927bef0e967", "code": "JFJFQX", "id": 91801, "logo": null, "date": "2026-06-06T16:15:00+01:00", "start": "16:15", "duration": "00:45", "room": "Hardwick Hub", "slug": "pydata-london-2026-91801-designing-semantic-memory-for-multi-agent-systems-with-python", "url": "https://pretalx.com/pydata-london-2026/talk/JFJFQX/", "title": "Designing Semantic Memory for Multi-Agent Systems with Python", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Multi-agent GenAI systems don\u2019t fail because models lack intelligence, they fail because they lack memory.\n\nAs LLM applications move from demos to production, semantic memory becomes the defining systems challenge. Agents must remember user preferences, share context across roles, preserve conversational state across sessions, and evolve over time, all without exploding token costs or losing observability.\n\nIn this talk, I\u2019ll explore semantic memory as a data engineering problem rather than a prompt engineering trick. Drawing on real-world experience from the Azure Cosmos DB engineering team, we\u2019ll examine how to design layered memory for multi-agent systems in Python: short-term conversational state, episodic event logs, declarative and procedural memory, and retrieval-driven personalization.\n\nUsing a practical multi-agent travel planner built with LangGraph, we\u2019ll implement patterns such as session-level versus per-turn persistence, hybrid retrieval design (structured filters plus semantic signals), memory lifecycle management (write, retrieve, summarize, supersede, expire), and checkpointed workflows for reproducibility and debugging.\n\nYou\u2019ll leave with practical design heuristics for building agent systems that become more reliable, more efficient, and more explainable over time.\n\nAll demonstrations will be in Python and applicable to production-scale systems.", "description": "This session focuses specifically on semantic memory architecture as the critical systems layer in production-grade multi-agent AI applications.\n\nFrom my role on the Azure Cosmos DB engineering team, I\u2019ve worked with teams building large-scale agentic systems that must support multi-tenancy, personalization, long-lived conversational state, and operational observability. A consistent lesson is that orchestration frameworks coordinate agents, but memory design determines whether the system behaves coherently over time.\n\nThe talk will cover:\n\n- A practical taxonomy of agent memory: short-term state, episodic logs, declarative knowledge, and procedural memory\n- Modeling conversations as append-only event streams versus mutable session documents\n- Designing retrieval-aware memory stores that combine structured filtering with semantic signals\n- Memory lifecycle management: summarization spans, supersession flags, retention windows, and TTL-based compaction\n- Checkpointed agent workflows for traceability and debugging\n- Multi-tenant memory partitioning strategies\n- Cost tradeoffs between growing context windows and durable storage\n\nA live Python-based multi-agent travel planner (built with LangGraph and backed by Azure Cosmos DB) will demonstrate these patterns in practice, including MCP-based memory tools that separate reasoning from storage concerns.\n\nThe goal is to provide PyData attendees with a concrete systems framework for thinking about semantic memory, not as an afterthought to prompting, but as a first-class data architecture problem at the intersection of distributed systems and applied AI.", "recording_license": "", "do_not_record": false, "persons": [{"code": "JNRLGN", "name": "Theo van Kraay", "avatar": "https://pretalx.com/media/avatars/JNRLGN_3gbGFrO.webp", "biography": "Theo is passionate about NoSQL and distributed computing. He joined Microsoft in 2017 and has been in the Cosmos DB Engineering team as a Program Manager since 2019. He currently focuses on AI, programmability, and developer experience for Azure Cosmos DB. He has a masters degree in Data Science from Dundee University, and lives in the UK with his wife, two boys, and ragcoon cat.", "public_name": "Theo van Kraay", "guid": "1fe162bd-bcac-5d87-bf92-03d085e80574", "url": "https://pretalx.com/pydata-london-2026/speaker/JNRLGN/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/JFJFQX/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/JFJFQX/", "attachments": []}], "Board Room- Unconference Track": [{"guid": "5a193902-b777-5d27-8eee-935d34e598d8", "code": "BUEZSA", "id": 95748, "logo": null, "date": "2026-06-06T10:25:00+01:00", "start": "10:25", "duration": "02:00", "room": "Board Room- Unconference Track", "slug": "pydata-london-2026-95748-pymc-code-sprint", "url": "https://pretalx.com/pydata-london-2026/talk/BUEZSA/", "title": "PyMC Code Sprint", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Come build something with the PyMC development team.\n\nCode sprints are collaborative working sessions where contributors of all experience levels tackle meaningful open issues side by side. Whether you want to squash a long-standing bug, sharpen the documentation, build a worked example, or simply understand how a major open-source project operates from the inside \u2014 there's a place for you here.\nPyMC is the most widely used probabilistic programming library in Python, and the people who build it will be in the room. Bring your laptop; we'll handle the rest.", "description": "", "recording_license": "", "do_not_record": true, "persons": [{"code": "MZZ8YC", "name": "Chris Fonnesbeck", "avatar": "https://pretalx.com/media/avatars/MZZ8YC_Toi8z8j.webp", "biography": "Chris is a Principal Quantitative Analyst at PyMC Labs and an Adjoint Associate Professor at the Vanderbilt University Medical Center, with 20 years of experience as a data scientist in academia, industry, and government, including 7 years in pro baseball research with the Philadelphia Phillies, New York Yankees, and Milwaukee Brewers.\nHe is interested in computational statistics, machine learning, Bayesian methods, and applied decision analysis. He hails from Vancouver, Canada and received his Ph.D. from the University of Georgia.", "public_name": "Chris Fonnesbeck", "guid": "1820c9f2-1b76-5976-b9bd-1d66269268af", "url": "https://pretalx.com/pydata-london-2026/speaker/MZZ8YC/"}, {"code": "MKEJ7N", "name": "Oriol Abril Pla", "avatar": "https://pretalx.com/media/avatars/MKEJ7N_SxpImx8.webp", "biography": "Oriol is a computational statistician, working as a maintainer of the ArviZ and PyMC libraries and as Principal Data Scientist with PyMC Labs. He started in academia but after some years but he left after some years in order to be able to work more freely and collaboratively on open source, software and knowledge sharing. His main areas of interest are data visualization, model and inference diagnostics, model comparison, and prior elicitation. Within open source projects, he has also dedicated a large part of his work to documentation, governance and DEI.", "public_name": "Oriol Abril Pla", "guid": "15383908-0058-5aba-b054-e89672b4497a", "url": "https://pretalx.com/pydata-london-2026/speaker/MKEJ7N/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/BUEZSA/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/BUEZSA/", "attachments": []}, {"guid": "36ba9599-ff18-57bb-b6fb-766f503ce20b", "code": "RZPMEY", "id": 97114, "logo": null, "date": "2026-06-06T12:35:00+01:00", "start": "12:35", "duration": "01:00", "room": "Board Room- Unconference Track", "slug": "pydata-london-2026-97114-diversity-scholar-luncheon", "url": "https://pretalx.com/pydata-london-2026/talk/RZPMEY/", "title": "Diversity Scholar Luncheon", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "\"Join us for a relaxed lunch gathering to meet this year's handpicked scholars - a group of exceptional people bringing fresh perspectives to our community.\n\nThis is a chill bring-your-plate space to meet some of the PyData 2026 diversity team and welcome some fine folks with diverse interests & experiences.  Let's find conversation over lunch and a shared table.\n\nSpace permitting, all are welcome, and speakers and allies are encouraged to squeeze in!\"", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "88WGFJ", "name": "NumFOCUS", "avatar": null, "biography": "PyData London", "public_name": "NumFOCUS", "guid": "79cd2b9b-a6a9-5209-bbe5-1c666b9fce8b", "url": "https://pretalx.com/pydata-london-2026/speaker/88WGFJ/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/RZPMEY/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/RZPMEY/", "attachments": []}, {"guid": "b9145766-1a9c-5c50-97c0-97936d8412ae", "code": "8SWJS9", "id": 98790, "logo": null, "date": "2026-06-06T14:45:00+01:00", "start": "14:45", "duration": "00:45", "room": "Board Room- Unconference Track", "slug": "pydata-london-2026-98790-unconference-feminist-ai", "url": "https://pretalx.com/pydata-london-2026/talk/8SWJS9/", "title": "Unconference- Feminist AI", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Join our chill space, unwind, chat about Feminist AI and contribute to the PyData London DIY collage zine.", "description": "", "recording_license": "", "do_not_record": true, "persons": [{"code": "8EGVC9", "name": "Cheuk Ting Ho", "avatar": "https://pretalx.com/media/avatars/8EGVC9_LbezfQb.webp", "biography": "After having a career as a Data Scientist and Developer Advocate, Cheuk dedicated her work to the open-source community. Currently, she is working as a developer advocate for JetBrains. She has co-founded Humble Data, a beginner Python workshop that has been happening around the world. Cheuk also started and hosted a Python podcast, PyPodCats, which highlights the achievements of underrepresented members in the community. She has served the EuroPython Society board for two years and is now a fellow and director of the Python Software Foundation.", "public_name": "Cheuk Ting Ho", "guid": "6acb0b45-07a8-5f1c-a3fa-45ae8f0a9858", "url": "https://pretalx.com/pydata-london-2026/speaker/8EGVC9/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/8SWJS9/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/8SWJS9/", "attachments": []}]}}, {"index": 3, "date": "2026-06-07", "day_start": "2026-06-07T04:00:00+01:00", "day_end": "2026-06-08T03:59:00+01:00", "rooms": {"Grand Hall 1": [{"guid": "693df4d8-273b-5b4d-aff0-a1dbca6d7fe8", "code": "YPFBTB", "id": 94661, "logo": null, "date": "2026-06-07T09:00:00+01:00", "start": "09:00", "duration": "00:45", "room": "Grand Hall 1", "slug": "pydata-london-2026-94661-lightning-talks", "url": "https://pretalx.com/pydata-london-2026/talk/YPFBTB/", "title": "Lightning Talks", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Lightning talk sign up will take place at the NumFOCUS booth all day Saturday.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "88WGFJ", "name": "NumFOCUS", "avatar": null, "biography": "PyData London", "public_name": "NumFOCUS", "guid": "79cd2b9b-a6a9-5209-bbe5-1c666b9fce8b", "url": "https://pretalx.com/pydata-london-2026/speaker/88WGFJ/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/YPFBTB/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/YPFBTB/", "attachments": []}, {"guid": "abb73aaf-f17a-5d33-bf8d-8d8d4b780b9d", "code": "NMFNQJ", "id": 92582, "logo": null, "date": "2026-06-07T10:15:00+01:00", "start": "10:15", "duration": "00:45", "room": "Grand Hall 1", "slug": "pydata-london-2026-92582-your-ml-pipeline-meets-the-eu-ai-act", "url": "https://pretalx.com/pydata-london-2026/talk/NMFNQJ/", "title": "Your ML Pipeline Meets the EU AI Act", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "The EU AI Act is often seen as a legal concern, but many of its requirements directly affect everyday ML workflows. This talk shows data scientists and ML engineers where the regulation impacts the machine learning lifecycle and presents concrete, low-overhead patterns to make ML systems more AI Act\u2013ready, without slowing down development.", "description": "Resources with slides and interactive checklist: anx.io/SI1ja\n\nThe EU AI Act introduces new obligations that will directly affect how machine learning systems are designed, evaluated, and operated. While the regulation is often discussed from a legal perspective, many of its practical consequences fall squarely into the domain of data scientists and ML engineers.\n\nThis talk provides an engineering-focused walkthrough of where the EU AI Act intersects with the modern ML lifecycle. We map key regulatory expectations to familiar technical stages such as data collection, model training, evaluation, deployment, and monitoring. Rather than diving into legal detail, the session focuses on concrete implementation patterns and common failure modes observed in real-world ML workflows.\n\nAttendees will learn how to perform lightweight risk classification, identify typical compliance gaps in existing pipelines, and apply design patterns that improve traceability, documentation, and monitoring without significantly slowing down development. The talk concludes with a practical readiness checklist that teams can immediately apply to their own systems.\n\nTarget audience: data scientists, ML engineers, and MLOps practitioners working with production ML systems.\n\nExpected background: familiarity with the basic ML lifecycle and model deployment concepts. No prior knowledge of the EU AI Act is required.\n\nKey takeaways:\n- Understand where the EU AI Act impacts ML pipelines  \n- Learn practical patterns for AI Act readiness  \n- Avoid common compliance pitfalls in production ML  \n- Leave with a concrete checklist for next steps", "recording_license": "", "do_not_record": true, "persons": [{"code": "8GMGYR", "name": "Gabriel Lipnik", "avatar": "https://pretalx.com/media/avatars/XZPCXW_GxXXYcC.webp", "biography": "Gabriel Lipnik is an AI engineer and applied mathematician at Anexia Digital Engineering, working on production-grade machine learning, artificial intelligence, and optimisation systems. His work focuses on bridging the gap between advanced models and real-world deployment.", "public_name": "Gabriel Lipnik", "guid": "b21d3adb-3617-5067-91a0-8a217347ef5a", "url": "https://pretalx.com/pydata-london-2026/speaker/8GMGYR/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/NMFNQJ/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/NMFNQJ/", "attachments": []}, {"guid": "68952120-0866-5060-9b54-0550381a6cdf", "code": "MMS9WY", "id": 91279, "logo": null, "date": "2026-06-07T11:00:00+01:00", "start": "11:00", "duration": "00:45", "room": "Grand Hall 1", "slug": "pydata-london-2026-91279-the-silent-crash-why-your-rag-evaluation-metrics-are-lying-to-you", "url": "https://pretalx.com/pydata-london-2026/talk/MMS9WY/", "title": "The Silent Crash: Why Your RAG Evaluation Metrics Are Lying to You", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "We rely on dashboards to tell us if our RAG system is working. But most standard metrics, Cosine Similarity, BLEU, and even BERTScore, are fundamentally broken for measuring factual correctness. They measure text overlap or semantic drift, not truth.\n\nThis means you can have a \"90% Accurate\" system on paper that hallucinates dangerous misinformation in production. This talk dismantles the current state of RAG evaluation. We will look at why \"Golden Datasets\" are often contaminated, why \"LLM-as-a-Judge\" is biased towards its own output, and how to build a robust, adversarial evaluation pipeline that actually catches failures before your users do.", "description": "Picture this: You\u2019ve just finished your RAG pipeline. The test dashboard is all green, Context Recall is 85%, Answer Relevance is 92%. You deploy with confidence. Ten minutes later, a user asks a simple question, and the bot confidently gives the wrong answer.\n\nWhy did the metrics pass? Because **similarity is not correctness**. To a vector database, \"The treatment is safe\" and \"The treatment is not safe\" look nearly identical, they share the same words and sentence structure. But logically, they are opposites. Standard metrics like Cosine Similarity or BLEU often completely miss these critical negations.\n\nIn this talk, we are going to stop relying on \"vibe checks\" and start treating Evaluation as a software testing problem. We\u2019ll look at why traditional NLP metrics are useless for RAG and move toward the new standard: **LLM-as-a-Judge**. We will discuss the messy reality of using GPT-4 to grade Llama-3, how to catch \"Self-Preference Bias\" (where models just like their own writing style), and how to do all of this without bankrupting your API budget.\n\n**Outline**\n-   **Real-world examples** where high metrics hid major failures, and why \"Finding the doc\" (Retrieval) is different from \"Answering the question\" (Generation).\n-   Why Your Metrics Are Broken: Why **Cosine Similarity is good for search but bad for truth**, and why BLEU scores punish correct answers just for using different synonyms.\n-   Using models (like G-Eval) to grade logic and tone, and solving the \"Judge Paradox\" by swapping options to remove Position Bias.\n-   Building a \"Hard\" Test Set: How to stop testing on easy questions and generate adversarial \"Trick Questions\" that specifically target your retrieval gaps.\n-   Key Takeaways: A practical strategy for using metrics, plus a look at tools like Ragas and DeepEval.", "recording_license": "", "do_not_record": false, "persons": [{"code": "87KSCF", "name": "Hitendri Bomble", "avatar": "https://pretalx.com/media/avatars/87KSCF_FVp7Jkg.webp", "biography": "Hitendri Bomble is a Senior Data Scientist at Red Hat, where she builds Generative AI solutions to solve complex business problems. She specializes in working with Large Language Models (LLMs) to create tools that make everyday work more efficient. Deeply rooted in the open-source community, Hitendri focuses on using the latest AI innovations to automate tasks and bring fresh ideas to her team.", "public_name": "Hitendri Bomble", "guid": "3469d7dc-a8a1-5ea0-9cea-79b88925b35d", "url": "https://pretalx.com/pydata-london-2026/speaker/87KSCF/"}, {"code": "TN73JB", "name": "Arghyadeep Sarkar", "avatar": "https://pretalx.com/media/avatars/TN73JB_17l8EYn.webp", "biography": "Arghyadeep Sarkar is a Senior Data Scientist at Red Hat with ~8 years of experience in data science and artificial intelligence. His career has evolved from traditional machine learning to architecting **large-scale Generative AI and LLM-based production systems**.\n\nHe built strong foundations in **statistical modeling, ML pipelines, and applied AI**, later specializing in **deep learning, NLP, transformers, and Generative AI**. He has designed and deployed **LLM agents, RAG-based systems, and enterprise conversational platforms**, covering the full lifecycle from **training and fine-tuning to scalable deployment**.\n\n##### Current Focus\n\n- Building **reliable agentic AI systems**\n- Improving **retrieval grounding and RAG quality**\n- Deploying **LLMs and SLMs in production**\n- Delivering **scalable, cost-efficient enterprise AI solutions**\n\nHe brings a **system-first engineering mindset**, translating cutting-edge AI research into robust real-world products.", "public_name": "Arghyadeep Sarkar", "guid": "da54b085-c102-5d05-ab4a-01292c8381f0", "url": "https://pretalx.com/pydata-london-2026/speaker/TN73JB/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/MMS9WY/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/MMS9WY/", "attachments": []}, {"guid": "32dc977b-0006-587a-b5d2-3c7c397a02fa", "code": "CJGBGV", "id": 88176, "logo": null, "date": "2026-06-07T11:45:00+01:00", "start": "11:45", "duration": "00:45", "room": "Grand Hall 1", "slug": "pydata-london-2026-88176-vibe-nlp-for-applied-nlp", "url": "https://pretalx.com/pydata-london-2026/talk/CJGBGV/", "title": "Vibe NLP for Applied NLP", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "One of the hardest parts of applied NLP has always been breaking down complex business problems into machine learning components. It's so hard because it requires domain expertise and reasoning about the specific use case, and it's the one thing technology couldn't fix. But what if we could take some of the learnings from AI-powered coding assistants and apply them to solving real-world NLP problems? In this talk, I'll show how we've built powerful assistants and tools to help developers solve NLP tasks using open-source software, and create modular solutions that are small, fast and fully data-private.", "description": "At the core of it is an often overlooked idea: using LLMs to\u00a0*build systems*\u00a0instead of\u00a0*as systems*. AI-powered coding assistants have transformed the way we build software \u2013 and they can be even more impactful for AI development itself and bridge the experience gap that's often holding teams back and causing projects to fail. In the talk, I will show you a new way of using generative models for AI development, and some practical examples of how to make \"Vibe NLP\" work for real-world problems.", "recording_license": "", "do_not_record": false, "persons": [{"code": "FZKG9N", "name": "Ines Montani", "avatar": "https://pretalx.com/media/avatars/FZKG9N_7il65fA.webp", "biography": "Ines Montani is a developer specializing in tools for AI and NLP technology. She\u2019s the co-founder and CEO of [Explosion](https://explosion.ai) and a core developer of [spaCy](https://spacy.io), a popular open-source library for Natural Language Processing in Python, and [Prodigy](https://prodi.gy), a modern annotation tool for creating training data for machine learning models.", "public_name": "Ines Montani", "guid": "974b319d-258e-5977-a654-ce3a696a831d", "url": "https://pretalx.com/pydata-london-2026/speaker/FZKG9N/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/CJGBGV/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/CJGBGV/", "attachments": []}, {"guid": "bc4b93de-4e8c-53e3-8a0f-c1a558d4bade", "code": "XQXNVK", "id": 96252, "logo": null, "date": "2026-06-07T13:30:00+01:00", "start": "13:30", "duration": "00:45", "room": "Grand Hall 1", "slug": "pydata-london-2026-96252-keynote-martin-o-reilly-llms-and-ai-agents-demystified", "url": "https://pretalx.com/pydata-london-2026/talk/XQXNVK/", "title": "Keynote- Martin O'Reilly- LLMs and AI agents demystified", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Large language models (LLMs) have taken the world by storm since the public launch of ChatGPT 3 in November 2022, sparking a huge number of LLM-powered tools, products and start-ups. Since then LLMs have gained reasoning and tool use capabilities, and have been integrated into more autonomous agentic workflows, leading to significant increases in their usefulness for software engineering work. However, despite being readily accessible to us all, these models and their agentic wrappers remain black boxes to many of us using them in our daily work.\n\nMartin will demysitify LLMs by providing an intuitive understanding of how they build upon key prior advances to successfully cross the \"uncanny valley\" of text generation and achieve almost flawless fluency. He will explain what makes these models \"foundational\", illustrating how this \"one weird trick\" of next word prediction results in models that can be easily fine-tuned for conversation, coding and reasoning, and we'll take a peek under the hood of how LLMs have been extended to integrate private data sets, call external tools and support more autonomous agentic workflows.  \n\nThis talk won't make you an expert on deep neural networks, transformers, fine-tuning or agentic workflows, but it will give you a peek behind the curtain of how these seemingly magical models work and hopefully give you enough intuitive understanding to explain them to friends and family.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "CS8QA9", "name": "Martin O'Reilly", "avatar": "https://pretalx.com/media/avatars/DFX93J_a1ctoVN.webp", "biography": "Martin O'Reilly is Director of Research Engineering at the Alan Turing Institute, where he leads a team of software, data and infrastructure engineers who work across the Turing's research portfolio to bridge the gap between research and practice - from AI for weather prediction to AI-assisted air-traffic control. Prior to Turing, Martin spent several years developing software, data standards and engineering practices in the education sector before going back to school to build robots and try and understand the brain by modelling it.", "public_name": "Martin O'Reilly", "guid": "a0447b62-d120-5642-8a96-101494b3df39", "url": "https://pretalx.com/pydata-london-2026/speaker/CS8QA9/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/XQXNVK/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/XQXNVK/", "attachments": []}, {"guid": "e81eb8f8-7949-5f43-97d4-bcf749d5a522", "code": "GBGB9X", "id": 90552, "logo": "https://pretalx.com/media/pydata-london-2026-2025/submissions/GBGB9X/image_2MPfIB8.webp", "date": "2026-06-07T14:45:00+01:00", "start": "14:45", "duration": "00:45", "room": "Grand Hall 1", "slug": "pydata-london-2026-90552-ai-assisted-creative-for-automated-marketing-using-python", "url": "https://pretalx.com/pydata-london-2026/talk/GBGB9X/", "title": "AI-Assisted Creative for Automated Marketing using Python", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Our video streaming service hosts vast catalogue of content, but producing tailored marketing assets is slow, manual, and costly and therefore limited to the most popular shows with the biggest budgets. This talk describes how we\u2019re using python to automate the creation of thousands of marketing assets to promote our full catalogue on and off-platform. The system combines audience data, programme metadata, machine learning, and automated rendering in Adobe After Effects. For editorial safety, we\u2019ve built AI-assisted QA layers, automated Slack messaging, and plotly dash apps to allow controlled human review and intervention. All using python (mostly!)", "description": "Large content catalogues create a classic long-tail problem: while a small number of titles receive heavy promotion, a large proportion of overall consumption comes from many programmes with relatively small individual audiences. Producing bespoke marketing assets for this long tail is usually impractical, as traditional workflows rely on manual design and editing.\n\nThis talk presents a real-world Python-based system that automates marketing asset production at scale by combining audience data, asset metadata, machine learning models and automated rendering through Adobe After Effects. The pipeline generates thousands of platform-specific video and image assets, including multi-title creatives populated dynamically using recommendation outputs. We\u2019ve even gone a step further by tapping into catalogue ads in paid social marketing and we\u2019re able to deploy direct to audience-facing without any human intervention using python\u2019s Dropbox API. \n\nA key focus of the talk is how we made automation safe for audience-facing outputs without compromising editorial standards. We will cover the design of automated QA layers that utilise python\u2019s OpenAI API, rule-based validation, and alerting mechanisms using python\u2019s Slack API that trigger human intervention when necessary. Plotly dash apps allow review and controlled interventions such as blacklisting problematic shows. \n\nWhile the domain is media, the architectural challenges can be applied to other data-driven workflows: orchestration, quality assurance, risk management and human-in-the-loop design. The session is aimed at data scientists, ML engineers and data engineers interested in automation and production pipelines. The talk will aim to be accessible to all and focus on the application and output interspersed with relevant python code snippets.\n\nRough timings:\n0\u20135 min \u2014 The long-tail problem in large content catalogues\n5-10 min \u2014 Examples of marketing creative\n10 - 15 min \u2014 Demo of running Adobe After Effects through python\n15 - 25 min \u2014 System overview: data sources, models, and orchestration\n25\u201330 min \u2014 Making automation safe: QA layers, rules, tooling, and alerting\n30\u201335 min \u2014 Multi-title assets and recommendation-driven content selection \n35\u201340 min \u2014 Key lessons, design principles, and audience Q&A", "recording_license": "", "do_not_record": false, "persons": [{"code": "ESQ8WB", "name": "Matt Crooks", "avatar": "https://pretalx.com/media/avatars/ESQ8WB_9ve5PPE.webp", "biography": "Matt Crooks is a Principal Data Scientist at the BBC, where he works in the audiences data science team applying statistical and machine learning models to understand and improve marketing effectiveness and audience engagement. His current work focuses on using data and AI to automate the production of personalised creative assets at scale. Previous work has involved building an ML-powered adaptive learning quiz for BBC Bitesize during Covid. He has also had a previous role leading and developing the experimentation tooling and best practices at Typeform. Matt holds a PhD in Mathematics from the University of Manchester and began his career in academic research into weather and climate.", "public_name": "Matt Crooks", "guid": "1e0566b5-09b6-5e54-9538-0593dcc8c2e5", "url": "https://pretalx.com/pydata-london-2026/speaker/ESQ8WB/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/GBGB9X/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/GBGB9X/", "attachments": []}, {"guid": "50a3772e-3915-563e-b911-e1baa3c0573d", "code": "HAYANG", "id": 90332, "logo": null, "date": "2026-06-07T15:30:00+01:00", "start": "15:30", "duration": "00:45", "room": "Grand Hall 1", "slug": "pydata-london-2026-90332-llm-based-recommendation-systems-from-embeddings-to-real-personalization", "url": "https://pretalx.com/pydata-london-2026/talk/HAYANG/", "title": "LLM-Based Recommendation Systems: From Embeddings to Real Personalization", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Large Language Models are rapidly changing how we think about recommendation systems. Traditional pipelines based on collaborative filtering or matrix factorization are being complemented and sometimes replaced by embedding-based and LLM-driven approaches.\n\nIn this talk, we explore how modern recommendation systems can be built using LLM embeddings, vector databases, and hybrid architectures that combine classical ML with generative models. We will discuss practical design patterns for personalization, retrieval, ranking, and user modeling, focusing on real-world constraints such as latency, cost, and evaluation.\n\nThe session emphasizes hands-on insights from production systems and highlights where LLMs add real value and where they don\u2019t. Attendees will leave with a clear mental model for designing scalable, LLM-powered recommendation systems beyond toy examples.", "description": "Recommendation systems are a core component of many data-driven products, yet most practitioners are still navigating how and when to incorporate Large Language Models into these systems effectively.\n\nThis talk presents a practical, end-to-end view of LLM-based recommendation systems. We start by revisiting classical recommendation architectures and then move into modern approaches built around embeddings, vector similarity search, and retrieval-augmented generation (RAG).\n\nTopics covered include:\nUsing LLM embeddings for user and item representation\nHybrid retrieval pipelines combining vector search and traditional ranking models\nPrompt-driven personalization and context-aware recommendations\nOffline and online evaluation strategies for LLM-based recommenders\nTrade-offs around latency, cost, and system complexity\n\nThe focus is on real-world applicability rather than theoretical novelty. Examples and design patterns are drawn from production-like systems and practical experimentation. This session is aimed at data scientists, ML engineers, and practitioners who want to move beyond hype and build recommendation systems that deliver meaningful personalization using LLMs.", "recording_license": "", "do_not_record": false, "persons": [{"code": "RZSNJL", "name": "\u00d6zge \u00c7inko", "avatar": "https://pretalx.com/media/avatars/RZSNJL_3fU5ucc.webp", "biography": "Hello world! \ud83d\udc4b\nI'm \u00d6zge \u00c7inko. I'm currently an AI Engineer at ING, working around agentic AI. Before that, I spent two years as an AI Research Engineer at Huawei, where I focused on research-driven AI systems, including recommender systems. I hold a Bachelor's degree in Computer Engineering from Sakarya University. For me, engineering is a creative craft: a way of turning thoughts, emotions, and curiosity into experiences. I care about building technology that feels more purposeful, more human, and more alive. I love researching, building, learning, and exploring because they make me feel alive in the deepest way. I also love expressing myself through writing, speaking, and meaningful conversations, often inspired by art along the way.", "public_name": "\u00d6zge \u00c7inko", "guid": "99462237-2d04-5d78-8da9-bfb2ec5e3364", "url": "https://pretalx.com/pydata-london-2026/speaker/RZSNJL/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/HAYANG/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/HAYANG/", "attachments": []}, {"guid": "76db7d6a-68f1-5b61-b99b-bb7a7cf50cd0", "code": "KDWRYR", "id": 91657, "logo": null, "date": "2026-06-07T16:15:00+01:00", "start": "16:15", "duration": "00:45", "room": "Grand Hall 1", "slug": "pydata-london-2026-91657-the-future-of-notebooks-in-a-claude-code-world", "url": "https://pretalx.com/pydata-london-2026/talk/KDWRYR/", "title": "The Future of Notebooks in a Claude Code World**", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "AI coding agents are changing how data professionals work. But an AI agent chat session is a stream, a long conversation that scrolls on and on. A good notebook is something different: a sequence of distinct, well-structured transformations, each with an explanation and a visible result. How do you get from the chat stream to that? And how do you see the visualizations, the tables, charts, and diffs that make data work legible?\n\nWe'll trace the historical reasons why the programming notebook style developed, what problems it solves, and what problems it creates. Notebooks intermingle three valuable concepts: a live execution environment, a long-running process that caches state in memory, and a narrative log of exploration steps. The long-running process is the key. It's why data scientists use notebooks instead of Python scripts. But this coupling is also why notebooks are fragile, unreproducible, and impossible to productionize. And the kernel's implicit mutable state is a poor fit for AI agents. Unlike databases (explicit state, declarative interface, introspectable), a notebook kernel degrades as implicit state accumulates across cells.\n\nThis talk introduces the Deconstructed Notebook: a system that gives AI-agent-driven data work the structure and visualization of a notebook without the notebook's baggage. Claude writes the instructions in the terminal. The PyData Arrow stack, driven by Ibis and xorq, handles the compute. A browser companion renders tables, charts, diffs, and lineage live as the work iterates, organized into distinct steps, not a scrolling chat log. The key architectural insight is that automatic caching of expression results to disk replaces the notebook kernel's in-memory state, letting each step execute as a self-contained script while preserving the interactive, incremental workflow data scientists depend on. The system is built on xorq, an open-source library built on Ibis and Apache Arrow, but the design principles generalize. We'll demo the full workflow live and share what we learned about building post-notebook tooling for the age of AI agents.", "description": "1. **The notebook's hidden contract** \u2014 Jupyter intermingles three valuable things: interactive execution, a long-running process that caches state in memory, and a narrative log of exploration steps. The coupling has real benefits \u2014 edit-in-place re-execution captures a clean story, not a noisy shell log, and the persistent kernel means you never have to reload expensive state. But the coupling is also why notebooks are fragile, unreproducible, and can't go to production. AI agents are fine with long-running stateful processes like databases (explicit state, declarative interface, introspectable). A notebook kernel is the opposite \u2014 implicit mutable state, imperative, execution-order-dependent \u2014 and the agent's model of it degrades as state accumulates. Self-contained steps with explicit inputs and cached outputs have much better failure modes.\n\n2. **The display surface gap** \u2014 How data professionals actually use Claude Code today: saving PNGs, dumping ASCII tables, switching back and forth to Jupyter. The terminal is a fantastic interface for intent but a terrible interface for output.\n\n3. **Prior art and adjacent solutions** \u2014 MCP Apps (renders UI inside Claude Desktop's chat window), chart-canvas (browser dashboard for Claude Desktop), Data Formulator (Microsoft's standalone viz tool). What each gets right, and why none of them solve the CLI agent case.\n\n4. **The deconstructed notebook (live demo)** \u2014 Separate the three concerns. Terminal for intent. The PyData Arrow stack driven by Ibis/xorq for compute, with instructions written by Claude. Browser for display. Live walkthrough of the working system: the audience sees the browser update in real time as Claude iterates, with tables, charts, and diffs appearing in structured blocks, not a scrolling chat log. The default view shows the current result at each step \u2014 preserving the notebook's narrative quality \u2014 with iteration history available but not in your face.\n\n5. **Iteration and diffing (live demo)** \u2014 Exploratory data analysis through model evaluation, driven by conversation. The audience watches the full loop live: prompt, compute, result, diff, refine. Interactive tables with sort/filter, Vega-Lite charts, side-by-side diffs showing exactly what changed between iterations, and expression lineage tracing the full dependency graph from raw data to final result.\n\n6. **What the compute substrate needs to get right** \u2014 Why \"just render HTML\" isn't enough. The notebook kernel's real job is caching \u2014 keeping expensive intermediate results in memory so you can build on them. To decouple the notebook, you need a substrate that handles caching automatically: expression results stored as Parquet on local disk, streamed to the next step, no long-running process needed. Plus: content-addressing (so every iteration is retrievable), typed schemas (so composition errors are caught early), and separation of transform logic from visualization. Brief introduction of xorq's expression model as one approach to these requirements.\n\n7. **Design principles for post-notebook tooling** \u2014 Expressions are append-only and immutable \u2014 every iteration is preserved. But the workflow and the final view are structured like a notebook: blocks that are iterated on, each showing its current result, with history accessible underneath. These blocks can be arranged into a traditional notebook-style narrative or a dashboard. The human controls the intent and reviews the display. Diffing is a first-class operation. Every intermediate result is addressable.", "recording_license": "", "do_not_record": false, "persons": [{"code": "EFFTBK", "name": "Paddy Mullen", "avatar": null, "biography": "Paddy Mullen is a full\u2011stack engineer and data\u2011tooling builder. An early employee at Anaconda, he contributed to the Bokeh visualization library. He has built data tools and led teams at hedge funds and startups. Since 2023 he has been developing Buckaroo, an interactive dataframe viewer for notebook environments. He is now leading visualization at xorq-labs.", "public_name": "Paddy Mullen", "guid": "2d63347b-7cdb-5693-8f9e-73c4edb9274a", "url": "https://pretalx.com/pydata-london-2026/speaker/EFFTBK/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/KDWRYR/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/KDWRYR/", "attachments": []}], "Doddington Forum": [{"guid": "a569c654-3f5e-5eee-868e-4b6a10616ba8", "code": "BGNZLQ", "id": 100359, "logo": "https://pretalx.com/media/pydata-london-2026/submissions/BGNZLQ/image_wMoLwYz.webp", "date": "2026-06-07T10:15:00+01:00", "start": "10:15", "duration": "00:45", "room": "Doddington Forum", "slug": "pydata-london-2026-100359-tesco-ai-data-science-from-recipes-to-reality", "url": "https://pretalx.com/pydata-london-2026/talk/BGNZLQ/", "title": "Tesco AI & Data Science: From Recipes to Reality", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Tesco is applying AI and Data Science at scale to solve some of the most complex problems in retail. From personalisation to optimisation and decision support, our systems power millions of customer interactions and operational decisions every day. In this talk, we highlight how these capabilities come together in modern AI-driven customer experiences, and why Tesco is at the forefront of applying AI in real-world, high-impact settings. \n\nWe briefly introduce Tesco\u2019s Meal Planner to highlight the technical challenges behind AI-driven customer experiences. A key challenge behind the scenes is translating recipes into products that customers can actually buy. We approach this by connecting recipes, ingredients, and products in a way that enables the system to move from meal ideas to a ready-to-shop basket. This requires balancing richer reasoning over customer needs and preferences with the practical realities of a live retail environment, such as a constantly changing product catalogue, cost, and availability. \n\nWe then turn to one of the most important aspects of deploying AI systems at scale: Evaluation and how it helps to ensure that the system behaves reliably. When AI assistants support customer journeys, even small errors can degrade the experience or lead to incorrect outcomes. We present our evaluation framework, which combines multiple techniques to assess both system behaviour and response quality. This allows us to identify issues early, enforce consistent standards, and continuously improve performance. \n\nOverall, this talk offers a practical view of how Tesco applies AI and Data Science to real-world problems, combining strong technical foundations with robust evaluation to deliver reliable and impactful customer experiences.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "VVKTDR", "name": "Julie Huang", "avatar": "https://pretalx.com/media/avatars/T8UGQR_tpgQUJV.webp", "biography": "Julie Huang is an AI Data Scientist at Tesco, where she works on production AI agent systems for retail, with a focus on evaluation, reliability, and agentic user experiences. She has contributed to Tesco\u2019s Meal Planner Agent, working across LLM evaluation, scalable automated red-teaming and guardrails to help make AI agents safer and more measurable in real-world settings.\n\nHer broader work spans applied machine learning, recommendation systems and agent evaluation. Beyond Tesco, Julie contributes to open-source research on terminal-agent reinforcement learning, where she has worked on scalable verifiable environments generation and RL post-training.", "public_name": "Julie Huang", "guid": "d50a5bcb-6264-517e-bf37-b1d54be0d966", "url": "https://pretalx.com/pydata-london-2026/speaker/VVKTDR/"}, {"code": "FGG7CG", "name": "Kareem Hussein", "avatar": "https://pretalx.com/media/avatars/LHXCXF_wvsqzZC.webp", "biography": "Kareem is an AI Engineer at Tesco working on the upcoming customer shopping assistant. Particular focuses include personalisation, guardrails, and the custom evaluation framework in use for the system at scale. Before this, he was a Machine Learning Engineer in the Personalisation team at Tesco, developing and scaling core personalisation capabilities. \n\nKareem is also the co-founder and CTO of Carbon Glance, a B2B SaaS startup in the climate compliance & analytics space - solving CBAM readiness for importers, manufacturers and service providers.\n\nKareem holds an MSc in Computer Science from the University of Edinburgh and a Computer Science BSc from the University of Southampton, where his research interests spanned deep learning over graphs and natural language processing.", "public_name": "Kareem Hussein", "guid": "21cc8eb0-93d2-5648-8248-9d10290b6edf", "url": "https://pretalx.com/pydata-london-2026/speaker/FGG7CG/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/BGNZLQ/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/BGNZLQ/", "attachments": []}, {"guid": "0a3c85e7-097b-57a9-9f99-14c6ed9e4cd1", "code": "KQDKTE", "id": 88580, "logo": null, "date": "2026-06-07T11:00:00+01:00", "start": "11:00", "duration": "00:45", "room": "Doddington Forum", "slug": "pydata-london-2026-88580-querying-the-queries-sql-metaprogramming-in-python", "url": "https://pretalx.com/pydata-london-2026/talk/KQDKTE/", "title": "Querying the queries: SQL Metaprogramming in Python", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Large SQL codebases inevitably accumulate duplication, inconsistency, deep nesting, and subtle logic errors, making refactoring slow, risky, and often unrealistic to do by hand. This talk shows how Python metaprogramming can turn SQL itself into data that can be analyzed and transformed safely and automatically.\n\nInstead of relying on fragile regex patterns or manual inspection, we use Python to parse queries into Abstract Syntax Trees (represented as nested dictionaries) using libraries such as sqloxide. Once SQL itself is encoded as data, entirely new workflows become possible.\n\nThe session walks through practical examples of treating SQL programmatically via tree operations in Python: computing subquery depth for linting, wrapping all denominators in NULLIF() with a simple AST rewrite, auto\u2011aliasing aggregate expressions, and generating dependency graphs of temporary tables used across pipelines, among others. Each example highlights how metaprogramming enables precise, automatable refactors that would be error\u2011prone or impossible through text manipulation alone. This talk is designed for analytics and data engineers who work with large SQL codebases.", "description": "SQL sits at the heart of most analytics and data engineering work, yet the way we maintain SQL rarely scales with the complexity of our pipelines. As codebases grow, SQL tends to accumulate structural debt: duplicated logic, subtle inconsistencies, deeply nested subqueries, and transformations that are difficult to apply reliably. Teams often end up relying on manual pattern\u2011matching, ad\u2011hoc scripts, or one\u2011off rewrites, approaches that are fragile and nearly impossible to generalise.\n\nThis talk presents a more systematic solution: treat queries as manipulable data through metaprogramming in Python. Instead of working with SQL as raw text, we use Python to parse queries into Abstract Syntax Trees (ASTs), unlocking the ability to inspect, analyze, and modify SQL with precision at scale.\n\nAfter introducing the intuition behind SQL ASTs, we walk through what they look like in practice using Python libraries such as sqloxide. With queries represented as nested dictionaries, we can traverse them, detect patterns, and apply targeted modifications without breaking syntactic structure. The session demonstrates several real examples that highlight the power of this approach: evaluating subquery depth for complexity diagnostics, adding defensive transformations such as wrapping denominators in NULLIF(), generating consistent aliases for aggregation expressions, and extracting table references to infer dependency graphs across staging or temporary\u2011table\u2011heavy pipelines.\n\nRather than offering a single tool or framework, this talk focuses on the underlying metaprogramming techniques that empower engineers to build their own SQL analysis and refactoring utilities. Attendees will leave with a clear mental model of how SQL parsing works, how ASTs can be manipulated in Python, and how these patterns can be applied to enforce standards, build linters, or automate large\u2011scale refactors.\n\nBackground required:\n- Intermediate familiarity with Python (nested dictionaries, basic tree algorithms).\n- Intermediate familiarity with SQL (CTEs, subqueries, aggregates)\n- No prior knowledge of compiler theory or ASTs is assumed\n\n\nOutline:\n- 0\u20133 min \u2014 Motivation: Why SQL Refactoring Is Hard\n-- Structural debt in real SQL codebases: duplication, inconsistencies, nested logic\n-- Why regex and manual review fail at scale\n\n3\u20138 min \u2014 Key Idea: Treat SQL as Data\n-- What is an Abstract Syntax Tree (AST)?\n-- Using Python libraries (e.g., sqloxide) to parse SQL into manipulable structures\n\n8\u201315 min \u2014 Demo: Exploring Real SQL ASTs in Python\n-- Show nested dictionaries representing SQL structure\n-- Simple tree traversal patterns\n\n15\u201325 min \u2014 Practical Refactoring Examples\n-- Computing subquery depth (complexity linting)\n-- Auto\u2011aliasing aggregate expressions\n-- Wrapping denominators with NULLIF()\n-- Extracting table references for dependency graphs\n\n25\u201332 min \u2014 Building Custom SQL Tooling\n-- How these patterns generalize\n-- Enforcing standards, writing linters, automating bulk rewrites\n-- When AST\u2011based tooling is worth it\n\n32\u201340 min \u2014 Lessons Learned & Limits + Q&A\n-- Homoiconicity  (Python vs Lisp for AST manipulation)", "recording_license": "", "do_not_record": false, "persons": [{"code": "ZZA7AP", "name": "Michel Semaan", "avatar": "https://pretalx.com/media/avatars/ZZA7AP_WYRUI7u.webp", "biography": "Michel Semaan is the Analytics Lead for Transaction Banking at Allica Bank, previously a Senior Analytics Engineer at Amazon. Beyond his day job, Michel teaches as a DataCamp instructor with two published SQL courses and as a Python and data science mentor with Great Learning and Springboard.", "public_name": "Michel Semaan", "guid": "e831022b-bc44-5f35-8406-67041f266401", "url": "https://pretalx.com/pydata-london-2026/speaker/ZZA7AP/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/KQDKTE/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/KQDKTE/", "attachments": []}, {"guid": "3c54bfe7-7eee-5fc2-8da1-93bbbcdeb4da", "code": "AMGUEK", "id": 91906, "logo": null, "date": "2026-06-07T11:45:00+01:00", "start": "11:45", "duration": "00:45", "room": "Doddington Forum", "slug": "pydata-london-2026-91906-making-tech-boring-to-keep-data-exciting", "url": "https://pretalx.com/pydata-london-2026/talk/AMGUEK/", "title": "Making tech boring to keep data exciting", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Data work often gets blocked by the unglamorous parts: brittle pipelines, unclear ownership, slow deployments, and systems that are hard to trust. This talk is about deliberately making data infrastructure \u201cboring\u201d \u2014 predictable, observable, and easy to change \u2014 so that the data itself can be used in lots of exciting ways.\n\nClimate Policy Radar is a non-profit building open, credible databases and AI powered tools to support informed climate, nature, and development action.\n\nUsing a real-world journey from an unreliable ingest to a steadier, federated platform, this talk will walk through the principles and trade-offs that matter most: resilience over heroics, incremental delivery over big-bang rewrites, and transparency over intuition. The focus is not on specific tools, but on the engineering moves that turn data pipelines into dependable systems: orchestration that supports recovery, interfaces that unblock downstream teams, quality signals that can be acted on, and a shared layer (data lake/warehouse) that aligns definitions and reduces duplication.\n\nAttendees will leave with a practical mental model for taking maturing data flows and making them boring \u2014 in a good way.", "description": "Data engineering succeeds when it disappears into the background. Not because it\u2019s unimportant, but because it becomes reliable enough that other teams can build on it without thinking about it. In many organisations, the opposite happens: pipelines are fragile, changes are risky, and operational work consumes the roadmap.\n\nThis talk tells the story of moving from that state to one where the pipeline becomes a platform:\n- Predictable runs and recovery: designing for frequent ingest, safe execution windows, and fast time-to-recover when things fail.\n- Incremental modernisation: migrating orchestration and execution in a way that avoids running parallel \u201cshadow pipelines\u201d and reduces blast radius.\n- System transparency: turning a black box into something teams can interrogate \u2014 what ran, what it produced, what failed, what changed, and why.\n- Data quality as a product feature: creating actionable quality signals (not just logs), so improvements to text quality and search relevance can ship quickly and be measured.\n- Federation and alignment via a shared layer: using a data lake/warehouse layer to consolidate outputs, align metrics across teams, and remove ad hoc transforms at the edges.\n- Unblocking downstream users: improving interfaces and handoffs so application, policy, and data science teams can self-serve, iterate, and trust the numbers.\n\nThe emphasis is on the big picture: how to set goals that matter (scale, resilience, extendability), how to define \u201cdone\u201d in operational terms, and how to deliver tangible improvements sprint by sprint while still laying foundations for the future. The takeaway is a repeatable approach for making data infrastructure boring \u2014 so the work built on top of it can be exciting.", "recording_license": "", "do_not_record": false, "persons": [{"code": "PRTTM8", "name": "Fred O'Loughlin", "avatar": "https://pretalx.com/media/avatars/PRTTM8_9OBRObs.webp", "biography": "Lead MLOps Engineer at Climate Policy Radar", "public_name": "Fred O'Loughlin", "guid": "a86595eb-734a-5b50-931f-0864e00837e6", "url": "https://pretalx.com/pydata-london-2026/speaker/PRTTM8/"}, {"code": "Y3ZRSN", "name": "Kerry Parker", "avatar": "https://pretalx.com/media/avatars/DMCXMD_7oNtO9i.webp", "biography": "Data Engineer at Climate Policy Radar", "public_name": "Kerry Parker", "guid": "58cfdc70-d473-5418-9689-a3a404a5334e", "url": "https://pretalx.com/pydata-london-2026/speaker/Y3ZRSN/"}, {"code": "3NBVAH", "name": "Mark Cottam", "avatar": "https://pretalx.com/media/avatars/ZF3ACZ_w5uo2tc.webp", "biography": "Data Engineer at Climate Policy Radar", "public_name": "Mark Cottam", "guid": "d8b9fcbc-56be-59ea-a2df-fa0f3a42db19", "url": "https://pretalx.com/pydata-london-2026/speaker/3NBVAH/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/AMGUEK/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/AMGUEK/", "attachments": []}, {"guid": "9020a04a-589c-55b6-a978-21b2f05cbb0f", "code": "HPJR9B", "id": 90216, "logo": "https://pretalx.com/media/pydata-london-2026-2025/submissions/HPJR9B/53773211732_iZMahj5.webp", "date": "2026-06-07T14:45:00+01:00", "start": "14:45", "duration": "00:45", "room": "Doddington Forum", "slug": "pydata-london-2026-90216-the-polars-vs-sql-differences-nobody-is-talking-about", "url": "https://pretalx.com/pydata-london-2026/talk/HPJR9B/", "title": "The Polars vs SQL differences nobody is talking about", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Polars is a dataframe library which has taken the world by storm over the last 4-5 years. Because people love benchmarks, people often compare it with SQL-like engines such as DuckDB, PySpark, Daft, and others. But what if, instead of comparing performance, we compared semantics?\n\nThis talk will make no mention whatsoever of performance differences. Instead, it will focus entirely on the semantic differences - which don't get nearly enough attention - of Polars vs SQL. Attendees will leave with a heightened appreciation for the differences between the Polars and SQL models, and an understanding of the consequences this has on their code.", "description": "Polars is a dataframe library that started gaining significant traction in the data science community around 2022/2023. It is now generally regarded as a safer and more performant alternative to its extremely popular counterpart pandas. As such, it has attracted several performance comparisons with SQL-like engines such as DuckDB, PySpark, Daft, and more. What's typically missing from these comparisons is an explanation of the semantic differences.\n\nFor example:\n- Why does Polars let me do `pl.col('price') - pl.col('price').mean()`, but SQL doesn't?\n- Why does Polars let me filter using window functions, and how can I get SQL to?\n- Are there operations that are more dangerous in Polars than in SQL?\n- How do they differ when working with time zones?\n- Why did SQL reorder my rows when Polars didn't?\n\nOutline of the talk:\n- Motivation: why care about Polars or about SQL?\n- Relational model background, row order\n- Polars model, how it differs from the relational model, and what this means for you\n- Abstracting the Polars and SQL differences away in Narwhals, and advice for non-Narwhals users\n- Q&A\n\nThis is a technical but accessible talk aimed at data practitioners. Data engineers, data scientists, data analysts, and anyone else working with data will leave the talk with stronger theoretical foundations regarding the Polars and SQL data models. Most importantly, they will learn what this means for them, and what they can do about it.", "recording_license": "", "do_not_record": false, "persons": [{"code": "KEUJ9U", "name": "Marco Gorelli", "avatar": "https://pretalx.com/media/avatars/KEUJ9U_Q9qz0Ku.webp", "biography": "Author of Narwhals, heavy contributor to pandas, Polars, and NumPy (stubs). Marco works as Senior Software Engineer at Quansight Labs. His background is in Mathematics. Outside of work he can most likely be spotted at Celtic Folk Sessions.", "public_name": "Marco Gorelli", "guid": "2d6c7d56-9236-5478-9821-f6b849f264bd", "url": "https://pretalx.com/pydata-london-2026/speaker/KEUJ9U/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/HPJR9B/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/HPJR9B/", "attachments": []}, {"guid": "41ffa30d-078f-535c-8874-3ffcfbab3f05", "code": "QQWDVQ", "id": 91863, "logo": null, "date": "2026-06-07T15:30:00+01:00", "start": "15:30", "duration": "00:45", "room": "Doddington Forum", "slug": "pydata-london-2026-91863-from-chat-with-pdf-to-quiz-master-live-grading-rag-with-llm-as-judge-in-python", "url": "https://pretalx.com/pydata-london-2026/talk/QQWDVQ/", "title": "From Chat-with-PDF to Quiz-Master: Live-Grading RAG with LLM-as-Judge in Python", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Most RAG demos stop at retrieval and summarisation. In practice, we also need to measure the understanding of users, models, and the source material. This talk introduces a reusable evaluation pattern that turns any document into a live-graded \u201cexam engine\u201d using Python tools including Docling, DeepEval, and Marimo.\n\nWe will build a stateful application that generates multiple-choice and free-text questions from complex documents, creates realistic distractors, and scores answers in real time using an LLM-as-judge pipeline. The demo is intentionally playful, but each component maps to a production concern: layout-aware ingestion (tables and figures), synthetic QA dataset creation, semantic grading, and interactive evaluation loops.\n\nAttendees will learn how to move beyond passive RAG towards systems that benchmark knowledge, support training workflows, and enable human-in-the-loop evaluation.", "description": "RAG systems typically answer questions but rarely evaluate whether the answer, or the user, actually demonstrates understanding. That requires structured datasets, grading logic, and application state, not just retrieval.\n\nIn this talk, we build a live-graded \u201cknowledge arena\u201d: a Python application that converts a dense technical document into an interactive quiz with two modes:\n- Easy mode - automatically generated multiple-choice questions with plausible distractors\n- Expert mode - free-text answers scored in real time using semantic LLM metrics\n\nThe implementation illustrates several reusable production patterns:\n- **Document ingestion (Docling)**: Extracting layout, tables, and figures so evaluation covers the full source rather than plain text only.\n- **Synthetic dataset generation (DeepEval)**: Creating \u201cgolden\u201d QA pairs and automated distractors for benchmarking and training.\n- **LLM-as-judge grading**: Scoring free-text answers with semantic metrics instead of brittle string matching.\n- **Stateful Python UI (Marimo)**: Managing interaction and evaluation loops without custom JavaScript.\n\nAlthough the interface is playful, the architecture generalises to production RAG and agentic knowledge systems for benchmarking, training, and human-in-the-loop evaluation.\n\nThis talk presents a reusable LLM-as-judge architecture for evaluating understanding in RAG systems using synthetic QA generation and real-time semantic grading in Python. All demo components are pre-built and run locally with cached models and datasets.\n\n**Audience / Prerequisites**\n- Intermediate Python users familiar with basic LLM and RAG concepts (embeddings, retrieval). \n- No prior experience with Docling, DeepEval, or Marimo required.\n\n**Key Takeaways**\n- A reusable LLM-as-judge evaluation pattern for RAG\n- How to generate QA benchmarks from documents automatically\n- Techniques for handling tables and figures in ingestion\n- Where live grading fits into production workflows\n\nFull code example available here: https://github.com/Cadarn/PyData-AI-Generated-Quiz", "recording_license": "", "do_not_record": false, "persons": [{"code": "P98FWZ", "name": "Adam Hill", "avatar": "https://pretalx.com/media/avatars/P98FWZ_j3NWKKu.webp", "biography": "Adam is a Staff Data Scientist at ComplyAdvantage, where they are tackling financial crime with advanced analytics, large-scale systems, and the latest in generative and agentic AI.\n\nBefore that, he spent eight years in the smart cities space at HAL24K, helping governments and infrastructure providers make better decisions with their data. Along the way, he built and led a team of ten data scientists and helped launch four spin-out ventures.\n\nA recovering astrophysicist, Adam spent a decade analysing data from space telescopes in search of new cosmic phenomena. He\u2019s since redirected that curiosity toward Earth-based problems.\n\nAdam is an active member of the PyData community, the founder of PyData Southampton, and a long-time volunteer with DataKind UK, supporting charities and NGOs with pro-bono data science.", "public_name": "Adam Hill", "guid": "e6f72fe2-5449-5a2d-a460-68562489732b", "url": "https://pretalx.com/pydata-london-2026/speaker/P98FWZ/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/QQWDVQ/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/QQWDVQ/", "attachments": []}, {"guid": "501d3590-5653-54a1-a732-65d74325e9d6", "code": "CHQLFU", "id": 90549, "logo": null, "date": "2026-06-07T16:15:00+01:00", "start": "16:15", "duration": "00:45", "room": "Doddington Forum", "slug": "pydata-london-2026-90549-when-your-dataset-has-blind-spots-practical-llm-based-data-augmentation", "url": "https://pretalx.com/pydata-london-2026/talk/CHQLFU/", "title": "When Your Dataset Has Blind Spots: Practical LLM-Based Data Augmentation", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Learn practical techniques for using LLMs to solve the data scarcity problem that plagues real-world ML projects. This talk demonstrates three production-ready approaches: synthetic generation, LoRA fine-tuning, and LLM-powered annotation to augment training datasets when you have abundant data for common cases but almost nothing for edge cases or emerging categories. Using a food review classification scenario, you'll see how to generate high-quality training data, when each technique works best, and critically, how to validate synthetic data to avoid amplifying errors. Perfect for practitioners facing the \"we have 10k examples of X but zero for Y\" problem.\n\nTarget Audience: Data scientists and ML engineers working on classification, NLP, or content moderation tasks who struggle with imbalanced or incomplete training datasets.\n\nTakeaway: A decision framework for choosing between synthetic generation, fine-tuning, and LLM annotation, plus validation strategies to ensure data quality before retraining models.", "description": "## Objective\nMany machine learning teams struggle not because of model limitations, but because their datasets fail to cover rare classes, niche domains, or emerging user behavior. Traditional data augmentation techniques offer limited help for text, often producing surface-level variations without meaningful semantic diversity. This talk presents a practical framework for using large language models to augment NLP datasets.\n\n## Outline\n- The Data Bottleneck: Why models trained on \"standard\" food language fail to generalize to \"Molecular Gastronomy\" or niche culinary terms.\n- Three Complementary Techniques:\n    1. Synthetic Generation: Creating fully labeled examples for missing classes.\n    2. LoRA Adapters: Fine-tuning LLMs to control style and label consistency (e.g., matching a \"Professional Critic\" tone).\n    3. LLM Annotation: Labeling large volumes of messy, real-world text from social media or external scrapes.\n- Validation Strategies: Addressing error amplification and bias through human agreement checks, self-consistency, and \"LLM-as-a-judge\" approaches.\n- Measuring Impact: Evaluating downstream model performance via rare-class recall, calibration, and error distribution.\n\n## Central Thesis and Takeaways\nThe session provides a decision framework for choosing between generation, fine-tuning, and annotation based on data availability and the need for style or tone. Attendees will walk away with strategies to ensure synthetic data quality before retraining their models.\n\n## Background Knowledge Expected\nBasic knowledge of Python and familiarity with machine learning workflows (training, labelling, and evaluation) is recommended.", "recording_license": "", "do_not_record": false, "persons": [{"code": "NNQHFT", "name": "Ophelie Bleu", "avatar": "https://pretalx.com/media/avatars/NNQHFT_14k42VR.webp", "biography": "I am a Senior Machine Learning Scientist at Monzo, where my main focus is around Large Language Models (LLMs), Retrieval-Augmented Generation (RAG), and sophisticated data augmentation strategies. With 6 years of experience specializing in Natural Language Processing (NLP), I have a proven track record of building scalable AI systems for high-stakes environments.\n\nPrior to joining Monzo, I was a Machine Learning Engineer at Bumble, leading Trust and Safety initiatives by developing LLM-powered moderation pipelines to ensure platform safety at scale. I also worked as a Senior Data Scientist at ComplyAdvantage, where I applied NLP to financial crime detection, and as a consultant at Sia, focusing on complex question-answering tasks.\n\nI am passionate about the intersection of LLM infrastructure and practical data engineering, specifically solving the \"cold-start\" problem for niche domains through synthetic data and rigorous validation frameworks", "public_name": "Ophelie Bleu", "guid": "0a2455c0-2766-5ef7-8012-0042ac4ed74c", "url": "https://pretalx.com/pydata-london-2026/speaker/NNQHFT/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/CHQLFU/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/CHQLFU/", "attachments": []}], "Hardwick Hub": [{"guid": "3d0b9b51-ce05-5e8a-a5d4-73f4a5cdabde", "code": "BAFKCL", "id": 91864, "logo": null, "date": "2026-06-07T10:15:00+01:00", "start": "10:15", "duration": "00:45", "room": "Hardwick Hub", "slug": "pydata-london-2026-91864-from-sql-to-python-building-data-context-for-agents-and-people", "url": "https://pretalx.com/pydata-london-2026/talk/BAFKCL/", "title": "From SQL to Python: Building Data Context for Agents and People", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Text-to-SQL makes great demos, but in real systems generating queries is rarely the hard part - understanding data is. Modern data is increasingly S3-first and multimodal, where meaning is defined by Python workflows, not table schemas.\n\nTo work reliably, both agents and people need data context across multiple layers: storage context (what exists and where), metadata context (what\u2019s inside files), dataset context (how files are grouped and versioned), and code context (the transformations that define semantics).\n\nIn this talk, I\u2019ll share a practical framework for building these context layers in Python-first systems, and show how DataChain makes multimodal workflows agent-ready in domains like Physical AI and biotech.", "description": "Text-to-SQL is often presented as the future interface for AI-driven analytics: connect an LLM to your warehouse, ask questions, get answers. The demo works. But production systems reveal a deeper issue: SQL can query structure, but it cannot provide the context required to understand what data actually means.\n\nAfter years of building data infrastructure, I\u2019ve learned that context is the real bottleneck - for both people and agents. This becomes unavoidable in S3-first, multimodal environments: video, audio, medical scans, sensor streams, and model outputs. In these projects, the source of truth is object storage, and meaning is defined by Python pipelines.\n\nTo reason correctly, you need data context across multiple layers:\n- **Storage context -** what exists, where it lives, and how it changes\n- **Metadata context** - what\u2019s inside files, extracted signals, and hierarchical structure\n- **Dataset context** - how files are grouped, reused across datasets, and versioned\n- **Code context** - the Python transformations that define semantics and intent\n\nIn this talk, I\u2019ll present a practical framework for collecting and using these layers systematically. Using DataChain as a concrete example, I\u2019ll show how typed schemas (e.g., Pydantic), vectorized metadata operations, and scalable Python execution make multimodal workflows understandable, reusable, and agent-ready - especially in Physical AI and biotech.\n\nAttendees will leave with a clear mental model for building data platforms where meaning lives in code, and agents can operate with real context rather than isolated queries.", "recording_license": "", "do_not_record": false, "persons": [{"code": "WYJRPW", "name": "Dmitry Petrov", "avatar": "https://pretalx.com/media/avatars/WYJRPW_bB2Fgqd.webp", "biography": "Dmitry Petrov is the creator of open-source tool DVC (Data Version Control), holds a PhD in Computer Science, previously worked as a Data Scientist at Microsoft, and is now the founder of DataChain.ai, a Python-first data platform for Physical AI.", "public_name": "Dmitry Petrov", "guid": "eae1ccd4-3b72-51e4-962c-a590062a1ca4", "url": "https://pretalx.com/pydata-london-2026/speaker/WYJRPW/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/BAFKCL/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/BAFKCL/", "attachments": []}, {"guid": "e31ebfdd-a6eb-5380-8149-e9a461cb0bae", "code": "R7UEBE", "id": 89590, "logo": null, "date": "2026-06-07T11:00:00+01:00", "start": "11:00", "duration": "00:45", "room": "Hardwick Hub", "slug": "pydata-london-2026-89590-the-clean-energy-graveyard-using-python-gemini-to-map-the-uk-s-cancelled-renewable-s", "url": "https://pretalx.com/pydata-london-2026/talk/R7UEBE/", "title": "The Clean Energy Graveyard: Using Python & Gemini to Map the UK's Cancelled Renewable's", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Britain has an invisible clean energy graveyard. Over 3,800 clean energy projects have been cancelled in the UK since 2010, representing enough capacity to power millions of homes.  This talk presents the Clean Energy Graveyard - an open-source python pipeline & interactive web visualisation that transforms the government's Renewable Energy Planning Database (REPD) into a story about what's blockoing out energy transition.", "description": "Within this talk, I'll go through some data on Britain's hidden energy crisis, including evaluating current quality of the Renewable Energy Planning Database (REPD), a government project that's been tracking every renewable energy project from beginnning to success/cancellation openly. \n\nWhile the data is public, it's often difficult to navigate and tells an incomplete story.\n\nWhen a wind farm is cancelled after 4 years of planning, this represents hundreds of pages of planning documents, countless hours of work with ocmmunity objections, and interventions hidden in planning documents.\n\nThe Clean Energy Graveyard is a open-source and free web visualisation tool that seeks to transform the REPD dataset into an interactive clean energy graveyard, using a mixture between GeoPandas for spatial analysis, Pandas for dataset cleaning, and the gemini API to begin intelligently surfacing critical news stories and council data. \n\nThe key take-aways from this talk will be:\n\n- How to design and build AI models for the public good, to help transform byzantine systems into open data flows.\n- Practical patterns for using API's to enrich datasets at scale. \n- Techniques for handling messy government data with inconsistent schemas\n- How to create data visualisations that seek to tell human stories, not just difficult to understand statistics. \n- How to collaborate and work on open-source public good projects\n\nPrior Knowledge Expected:\n\nBasic familiarity with Python & coding techniques. No prior knowledge of energy policy, LLM api's, geospatial analysis or detailed webs of council websites required. The talk is aimed at intermediate python users & data scientists who want to explore how to use their skills for public good.\n\nTarget Audience:\n- Data scientists interested in working with government/public sector data\n- Developers exploring practical applications of LLMs past typical analysis and summarisation\n- Anyone interested in climate/civic tech.\n\nResources:\nLive Demo: nimby.bemben.co.uk\nPrevious Blog Post about Specific Example: https://ends.substack.com/p/faw-side-community-wind-farm\nPrevious Presentation Slides: github.com/dambem/nimbydex_slides\n\n\nWhy this talk:\n\nThis", "recording_license": "", "do_not_record": false, "persons": [{"code": "H89NEW", "name": "Damian Bemben", "avatar": "https://pretalx.com/media/avatars/H89NEW_4Zgcjsc.webp", "biography": "Damian Bemben is a prominent speaker, creative technologist & developer within the Hampshire & Solent tech space. Damian is currently a Senior Software Engineer at Ada Mode - developing groundbreaking \"human-in-the-loop\" AI applications within highly regulated industrial sectors like civil nuclear.\n\nHe holds a First Class Masters in Computer Science from the University of Sheffield. His academic work included a dissertation on robotic locomotion using evolutionary principles and using AI to monitor air pollution & local renewable energy projects.\n\nDamian is a dedicated educator and community organiser within the local space, who has excelled at translating complex research into accessible insights. He is an active organiser of events within the Hampshire creative & tech space.", "public_name": "Damian Bemben", "guid": "d75d46d7-c59f-5a33-a359-4504848f5c7a", "url": "https://pretalx.com/pydata-london-2026/speaker/H89NEW/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/R7UEBE/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/R7UEBE/", "attachments": []}, {"guid": "951ac30b-0bff-5492-ada0-b91d4fb5b9e8", "code": "9HLYEW", "id": 90453, "logo": null, "date": "2026-06-07T11:45:00+01:00", "start": "11:45", "duration": "00:45", "room": "Hardwick Hub", "slug": "pydata-london-2026-90453-what-we-expect-from-xai-a-scientist-s-experience-between-models-and-users", "url": "https://pretalx.com/pydata-london-2026/talk/9HLYEW/", "title": "What We Expect from XAI - A scientist\u2019s experience between models and users", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Explainable AI is frequently invoked to make machine learning systems understandable and trustworthy. In real applications, however, explanations are often expected to justify decisions and support action. Drawing on experience with remote sensing\u2013based risk monitoring, this talk examines the gap between the guarantees of explainability methods and the expectations placed on them by different users. It discusses how explanations can inform practice, how they can be misinterpreted, and when focusing on explainability may obscure deeper problems in models or data.", "description": "Explainable AI (XAI) emerged as a major research topic with the rise of deep learning and is now being adopted in domains where predictive models support high-impact decisions such as healthcare, finance, environmental monitoring, and public policy. As machine learning systems move into operational use, explanations are increasingly relied upon not only to understand models but also to justify and guide real decisions.\nConceptually, an explanation provides information that allows a human observer to understand a system\u2019s behaviour. In machine learning, the term refers to a broad family of approaches, ranging from interpretable models to post-hoc analysis methods. These techniques are often presented as a way to make complex models understandable and usable by human stakeholders.\nA concrete example comes from a project in which I applied machine learning to earth observation data for urban resilience, where explanations were expected to help local authorities plan maintenance and intervention actions to mitigate the impacts of natural hazards in cities. My role as the data scientist placed me between the domain specialists curating the data and the end users relying on the model\u2019s outputs. In practice, this meant translating between different questions: domain specialists wanted to know whether the model\u2019s behaviour made sense given their knowledge of the phenomenon, while end users wanted to know how the outputs could guide concrete actions and planning decisions. \nThis experience motivates a closer look at what contemporary explainability methods are intended to provide to different users. Many widely used approaches\u2014particularly post-hoc feature attribution techniques\u2014are often interpreted as revealing the reasoning of a model. In practice, however, they typically provide local approximations or sensitivity analyses rather than faithful descriptions of the decision process. For example, feature attribution methods such as SHAP may be read as identifying causal factors, and saliency maps may appear meaningful even when weakly connected to the model\u2019s actual reasoning.\nI unpack explainability in contemporary machine learning practice by asking what explanation methods actually guarantee\u2014and what they do not. Drawing on my experience working between domain experts and end users, I reflect on how XAI functions in operational settings and on the expectations attached to explanations when they are used to support decisions.\n\nIntended audience\nThe talk is aimed at machine learning practitioners, researchers, data scientists, and applied scientists who work with predictive models, as well as anyone who is interested in interpretation of model outputs in practice (including domain experts and decision-makers). No prior expertise in XAI is required.\nType and tone of the talk\u2028The presentation is conceptual and experience-driven rather than mathematical. It will use concrete examples and intuitive explanations rather than formal derivations. The tone is reflective and discussion-oriented, focusing on practical interpretation rather than algorithmic detail.", "recording_license": "", "do_not_record": false, "persons": [{"code": "8VJYBH", "name": "Alessandra Costantino", "avatar": null, "biography": "I am a researcher with a strong track record of transferring core scientific computing skills across very different technical and scientific backgrounds ranging from radiation detection and medical physics to Earth observation. I have worked across disciplines in academic and industry settings and am particularly drawn to complex problems that require continuous learning and close collaboration across different domains.", "public_name": "Alessandra Costantino", "guid": "487eaa6d-4115-5be8-9b9a-1b70a25d9be8", "url": "https://pretalx.com/pydata-london-2026/speaker/8VJYBH/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/9HLYEW/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/9HLYEW/", "attachments": []}, {"guid": "826d2fe7-5fa2-560f-88cc-44c7123da9c5", "code": "3YH3WF", "id": 91853, "logo": null, "date": "2026-06-07T14:45:00+01:00", "start": "14:45", "duration": "00:45", "room": "Hardwick Hub", "slug": "pydata-london-2026-91853-the-human-in-the-loop-is-tired", "url": "https://pretalx.com/pydata-london-2026/talk/3YH3WF/", "title": "The Human-in-the-Loop is Tired", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "A few nights ago I was up to 2am obsessively crafting an LLM plan. (_\"Just one more prompt!\"_ - famous last words). Yet it still did something inexplicably stupid. \ud83e\udee0 So yeah: LLMs are both genuinely useful and genuinely destabilising. Focusing on the first and ignoring the second is how people burn out.\n\nThis talk is an honest account of what it feels like to be a developer right now, from someone inside it, and some thoughts on what might actually help. My thesis: we've been optimising for _model output_ when we need to be optimising for _human experience_.\n\nI'll share observations from my work, peers and colleagues. The peculiar fatigue of machine supervision: holding the intent in your head while the machine generates volumes of mostly-correct output that still needs your eyes, your judgement, and your taste. The way the satisfying part of the work shrank while the exhausting part grew. The isolation of pair-programming with a machine, and the loss of real human learning, interconnection and collaboration. And underneath all of it: uncertainty. About market conditions, about employability, about whether the skills we've spent years building will still matter.\n\nThe second half is about what's been working for me, and what hasn't. On the human side: encouraging pairing and teamwork even when the tools push you toward isolation, sharing the pain openly, naming the uncomfortable thing. On the technical side: structuring your environment to collaborate with LLMs more deliberately \u2014 writing plans, configuring project-specific rules. Learning when to stop prompting and just write code. And critically: rebalancing the push and pull of information so that you're directing your attention, not feeling at the mercy of the model's output. More Star Trek, less Black Mirror.\n\nLeave with concrete strategies for recalibrating your workflow, challenges to discuss and the reassurance that if you're finding this hard, you're not broken. The feedback loop is. And we can start fixing that.", "description": "Outline:\n- The feeling: honest anecdotes from inside an AI tooling company navigating its own disruption (~8 min)\n- Three named patterns: reward function disruption, intensity trap, isolation drift (~7 min)\n- What's working: pre-mortems, judgment distillation, mode-switching discipline, team counter-practices (~10 min)\n- The reframe: responsive design as precedent, what still matters, scarce resources are valuable (~5 min)", "recording_license": "", "do_not_record": false, "persons": [{"code": "3QJLK8", "name": "Laura Summers", "avatar": "https://pretalx.com/media/avatars/3QJLK8_8WJj3Ud.webp", "biography": "Laura is a very technical designer\u2122\ufe0f, working at Pydantic as Lead Design Engineer. Her side projects include Sweet Summer Child Score (summerchild.dev) and Ethics Litmus Tests (ethical-litmus.site). Laura is passionate about feminism, digital rights and designing for privacy. She speaks, writes and runs workshops at the intersection of design and technology.", "public_name": "Laura Summers", "guid": "cfbe23d0-e1da-5fd3-979e-e63867ef294b", "url": "https://pretalx.com/pydata-london-2026/speaker/3QJLK8/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/3YH3WF/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/3YH3WF/", "attachments": []}, {"guid": "009597cc-65ca-50d3-9081-078ce90b09db", "code": "TL88MJ", "id": 89350, "logo": null, "date": "2026-06-07T15:30:00+01:00", "start": "15:30", "duration": "00:45", "room": "Hardwick Hub", "slug": "pydata-london-2026-89350-what-can-llms-do-with-messy-residential-electrification-data", "url": "https://pretalx.com/pydata-london-2026/talk/TL88MJ/", "title": "What Can LLMs Do with Messy Residential Electrification Data?", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Residential energy models like NREL\u2019s ResStock generate the kind of data most humans run from: thousands of buildings, dozens of columns, and at least 8,760 rows per column. Great for research, but difficult for anyone who just wants to ask, \u201cWhat happens to electricity demand in Texas if homes used solar water heating?\u201d or \u201cHow do HVAC upgrades change my annual cooling costs in North Carolina?\u201d\n\nJoin us for this session as a University of Texas energy researcher and a Red Hat engineer team up to see what large language models can realistically do with this kind of messy, domain-heavy data using Python. We\u2019ll show how we sample, reshape, and describe large datasets so LLMs can help generate and refine pandas/DuckDB queries, explain upgrade scenarios in plain English, and guide non-experts through \u201cwhat if\u201d electrification questions. This and more, all while being honest about where the models break down and why humans still need to do the science.", "description": "ResStock is an incredible tool for residential energy research, but quite tricky for anyone who isn\u2019t deep in the weeds. It produces huge, domain-heavy datasets: thousands of simulated homes, dozens of variables, and hourly time series for a full year. Great if you\u2019re writing a paper, overwhelming if you want to understand how electrification upgrades change bills or demand.\n\nThis talk asks a practical question: What can large language models actually do with ResStock-style data, using a Python workflow? Can LLMs help normal people make sense of the benefits of electrification upgrades without pretending the model is \u201cdoing the science\u201d for us?\n\nWe ground everything in two real ResStock runs: (1) solar thermal water heater upgrades in Texas, and (2) HVAC upgrades across the Southeastern U.S. Both are large and messy, so we can\u2019t just upload the parquet files. Instead, we:\n\n- Use Python (pandas/DuckDB) to sample and aggregate the data into representative slices that fit within context limits.\n- Build a clear schema description (\u201cdata card\u201d) so the LLM understands variables, units, and constraints.\n- Ask the LLM to help where it shines: generating and refining pandas/DuckDB queries from natural-language questions, and explaining upgrade impacts in plain English.\n\nAndrew (UT Austin) brings the ResStock data, research questions, and domain constraints; Cedric (Red Hat) brings the open source + LLM integration side. Attendees will leave with a realistic pattern for using LLMs as helpers, not replacements, when working with large, messy scientific or policy datasets in Python.", "recording_license": "", "do_not_record": false, "persons": [{"code": "VQQDJD", "name": "Cedric Clyburn", "avatar": "https://pretalx.com/media/avatars/VQQDJD_qjgsN3g.webp", "biography": "Cedric Clyburn (@cedricclyburn), Senior Developer Advocate at Red Hat, is an enthusiastic software developer with a background in Kubernetes, DevOps, and container tools. Focused on open-source software, he both contributes (e.g., Podman, vLLM) and enjoys speaking, with prior experience at Devoxx, WeAreDevelopers, The Linux Foundation, and more. Cedric also spends (too much) time creating video and written content helping developers learn new topics in emerging technologies, with over 2M+ views online. He\u2019s based in New York City and is an organizer of the local Kubernetes Community Day.", "public_name": "Cedric Clyburn", "guid": "8028a666-1ffb-5cfb-9c2a-19975625b220", "url": "https://pretalx.com/pydata-london-2026/speaker/VQQDJD/"}, {"code": "CCHWAP", "name": "Andrew Igdal", "avatar": null, "biography": "I study energy policy at the University of Texas at Austin. My work focuses on residential electrification and improving the efficacy of beneficial electrification upgrades.", "public_name": "Andrew Igdal", "guid": "f246dd5c-5bcf-5ddc-bad5-320ffd25f65e", "url": "https://pretalx.com/pydata-london-2026/speaker/CCHWAP/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/TL88MJ/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/TL88MJ/", "attachments": []}, {"guid": "084a50ee-ebdd-585d-8463-8983ac3318ae", "code": "RTWLPY", "id": 91780, "logo": null, "date": "2026-06-07T16:15:00+01:00", "start": "16:15", "duration": "00:45", "room": "Hardwick Hub", "slug": "pydata-london-2026-91780-no-ropes-on-a-boat-coherent-forecasting", "url": "https://pretalx.com/pydata-london-2026/talk/RTWLPY/", "title": "No Ropes on a Boat: Coherent Forecasting", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Forecasts live in a high-dimensional space. They vary by origin date, prediction horizon, scenario assumptions, uncertainty, granularity and decision context. Treating them as a single artefact creates ambiguity, semantic drift and misaligned expectations.\n\nIn this talk, I\u2019ll show how we reframed forecasting at Spotify as a structured prediction problem not just a modelling task. I\u2019ll cover practical design patterns for representing forecast objects across  origins and scenarios, handling probabilistic outputs, implementing hierarchical reconciliation and tracking lineage and versioning in Python-based systems.\n\nAimed at data scientists and ML engineers working with production systems, this talk offers a framework for thinking about forecast dimensionality and concrete implementation patterns you can apply in your own forecasting platforms.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "ZMGX3E", "name": "Thomas Ogden", "avatar": "https://pretalx.com/media/avatars/ZMGX3E_Rwqzsvs.webp", "biography": "Thomas Ogden is a Senior Data Scientist in Platform at Spotify. He builds tools, mostly with probabilistic machine learning on sequences and graphs.", "public_name": "Thomas Ogden", "guid": "349188f2-154f-52a9-be04-616bb1d531ca", "url": "https://pretalx.com/pydata-london-2026/speaker/ZMGX3E/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/RTWLPY/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/RTWLPY/", "attachments": []}], "Board Room- Unconference Track": [{"guid": "40793bc2-b886-5aa2-858a-a6a2cd6562c0", "code": "AV3A3W", "id": 95750, "logo": null, "date": "2026-06-07T10:15:00+01:00", "start": "10:15", "duration": "01:00", "room": "Board Room- Unconference Track", "slug": "pydata-london-2026-95750-python-leadership-and-engineering-excellence-bof", "url": "https://pretalx.com/pydata-london-2026/talk/AV3A3W/", "title": "Python Leadership and Engineering Excellence BoF", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Birds of a feather to share what\u2019s working well for us to do the best Python engineering and datascience that we can, while leading the way for our teams.", "description": "", "recording_license": "", "do_not_record": true, "persons": [{"code": "MZ3Y7X", "name": "Sam Joseph", "avatar": "https://pretalx.com/media/avatars/MZ3Y7X_HfJrXt3.webp", "biography": "I am a Senior Software Engineer & AI Specialist at DRW, a proprietary trading firm.   I was previously the lead AI developer at Qualis Flow, a company that is using the latest AI tech to help decarbonise the construction industry.  \n\nI am also the CTO of NeuroGrid Ltd., a software consultancy firm providing data science and software engineering services. Previously I was the CoFounder of AgileVentures, where I was the CTO and ran multiple open source charity projects in Ruby, Node, React, ReactNative etc..   \n\nBefore that I was Head of Education and Engineering at the Makers Academy bootcamp, and before that Associate Professor in Computer Science at Hawaii Pacific University, where I taught courses on mobile, games, AI and software engineering, remotely from the UK.\n\nI've been mucking about with computers for over 40 years, starting with early attempts to program games in basic on the BBC Micro and ZX Spectrum in the 80s.  I studied AstroPhysics, then Cognitive Science and then Computer Science at university, picking up a PhD (building Neural Nets in C and C++) and two masters along the way.  I researched mobile agents at Toshiba in Japan (Java) then went freelance for two years (writing tech articles and building the NeuroGrid search engine, and working with the Cerego learning engine - lots of SQL).  After that it was researching Peer to Peer at University of Tokyo, and then to University of Hawaii where I was working with collaborative systems, augmented reality and started programming in both PHP and Ruby/Rails.\n\nI taught Computer Science for Hawaii Pacific University remotely from the UK (Software Engineering, Computer Games programming) for five years, during which time I got involved in MOOCs (I co-ran the \"Agile Development using Ruby on Rails\" course on edX with UCBerkeley) and started AgileVentures, taking it to full UK charity status.  I also ran the MakersAcademy coding bootcamp in London for a couple of years, and am now focused on providing AI, data science and software engineering consulting services.\n\nEducation:\n\nPhD in Neural Networks\nMS in Computer Science\nMSc in Cognitive Science & Natural Language\nBSc in Physics with AstroPhysics", "public_name": "Sam Joseph", "guid": "5365fa19-af20-5ecf-bd7f-e6d4ea783f7c", "url": "https://pretalx.com/pydata-london-2026/speaker/MZ3Y7X/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/AV3A3W/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/AV3A3W/", "attachments": []}, {"guid": "6950ad15-4812-5096-9704-354eea153cc5", "code": "LLVVRQ", "id": 100481, "logo": null, "date": "2026-06-07T11:45:00+01:00", "start": "11:45", "duration": "00:45", "room": "Board Room- Unconference Track", "slug": "pydata-london-2026-100481-how-to-write-a-pydata-proposal", "url": "https://pretalx.com/pydata-london-2026/talk/LLVVRQ/", "title": "How to write a PyData proposal", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "In this unconference session, hear what reviewers actually look for in proposals for PyData and how to frame your idea so it stands out.", "description": "", "recording_license": "", "do_not_record": true, "persons": [{"code": "CPWUST", "name": "James Fielder", "avatar": null, "biography": null, "public_name": "James Fielder", "guid": "c5e44848-efdb-5f68-80f9-f1bef2c854bc", "url": "https://pretalx.com/pydata-london-2026/speaker/CPWUST/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/LLVVRQ/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/LLVVRQ/", "attachments": []}, {"guid": "c16ecacf-19e1-5cd9-9d3d-9ad1a1187ba7", "code": "BKW3KD", "id": 98789, "logo": null, "date": "2026-06-07T12:30:00+01:00", "start": "12:30", "duration": "01:00", "room": "Board Room- Unconference Track", "slug": "pydata-london-2026-98789-pydata-meetup-organizer-luncheon", "url": "https://pretalx.com/pydata-london-2026/talk/BKW3KD/", "title": "PyData Meetup Organizer Luncheon", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Are you a PyData Meetup Organizer? Come join us in the boardroom at lunch to mingle with other leaders.", "description": "", "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/BKW3KD/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/BKW3KD/", "attachments": []}, {"guid": "8d4ab56f-24ed-53b2-831b-80f4082af9ed", "code": "HNKFP8", "id": 100480, "logo": null, "date": "2026-06-07T14:45:00+01:00", "start": "14:45", "duration": "00:45", "room": "Board Room- Unconference Track", "slug": "pydata-london-2026-100480-surviving-and-thriving-as-a-data-professional-in-the-age-of-ai-agents", "url": "https://pretalx.com/pydata-london-2026/talk/HNKFP8/", "title": "Surviving (and Thriving) as a Data Professional in the Age of AI Agents", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Data scientists, analysts and engineers are all feeling the pressure \u2014 but what's actually changing, and what's hype? This session brings us together to share real experiences of integrating LLMs and agents into data workflows, honestly assess which skills still matter, and tackle the uncomfortable question: are we building the tools that replace us?", "description": "", "recording_license": "", "do_not_record": true, "persons": [{"code": "DXX9X3", "name": "Maksym Bilychenko", "avatar": "https://pretalx.com/media/avatars/XLFFWD_wQWEXaW.webp", "biography": "I am a Data Science Leader dedicated to turning complex data into commercial momentum. Over the past 8+ years, I\u2019ve partnered with executive teams to shape data strategy and integrate cross-functional data at scale for multi-million-dollar tech product companies. I bridge the gap between technical execution and business value, ensuring data isn\u2019t just collected, but leveraged for sustainable growth.\n\nBeyond building the high-performing analytics teams that power strategic decisions, I am deeply invested in growing the next generation of talent, actively mentoring professionals looking to build meaningful careers in data science.\n\nMost recently, my focus has been exploring the intersection of AI and data operations, specifically how GenAI are reshaping data teams, redefining technical roles and shifting what it means to be a modern data professional.", "public_name": "Maksym Bilychenko", "guid": "646e8ea6-e8df-5719-89bd-92bb5f356973", "url": "https://pretalx.com/pydata-london-2026/speaker/DXX9X3/"}], "links": [], "feedback_url": "https://pretalx.com/pydata-london-2026/talk/HNKFP8/feedback/", "origin_url": "https://pretalx.com/pydata-london-2026/talk/HNKFP8/", "attachments": []}]}}]}}}