<?xml version='1.0' encoding='utf-8' ?>
<iCalendar xmlns:pentabarf='http://pentabarf.org' xmlns:xCal='urn:ietf:params:xml:ns:xcal'>
    <vcalendar>
        <version>2.0</version>
        <prodid>-//Pentabarf//Schedule//EN</prodid>
        <x-wr-caldesc></x-wr-caldesc>
        <x-wr-calname></x-wr-calname>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>YFYXAC@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-YFYXAC</pentabarf:event-slug>
            <pentabarf:title>Making Databases LLM-Ready: Building Production Semantic Layers with Semantido</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260605T090000</dtstart>
            <dtend>20260605T103000</dtend>
            <duration>013000</duration>
            <summary>Making Databases LLM-Ready: Building Production Semantic Layers with Semantido</summary>
            <description>Learning Objectives

By the end of this tutorial, participants will be able to:

* Design and implement semantic models that capture business logic and domain knowledge alongside database schema definitions
* Build LLM integrations that leverage semantic metadata for accurate query generation and validation
* Deploy scalable semantic APIs that abstract database complexity from LLM applications
* Use PydanticAI for an agentic analytics harness
* Implement observability patterns for monitoring and debugging
* How to evaluate semantic layer quality


__Desired Tutorial Structure (90 minutes)__

__Part 1: Foundations (~20 minutes)__

- The Text2SQL Challenge: Why naive approaches fail
- Semantic Layer Architecture: Core concepts, design patterns, and the role of metadata in LLM reliability
- Semantido Quick Start: Installation, project setup, and connecting to the playground database
- *Hands-on Exercise*: Participants will set up their development environment and connect semantido to a provided database.

__Part 2: Building Your First Semantic Layer (~25 minutes - 35 mins)__

- Declarative Model Definition: Extending SQLAlchemy models with business metadata, descriptions, and constraints
- Relationship Semantics: Annotating foreign keys, joins, and cross-table business rules
- Domain Knowledge Injection: Adding enums, validation logic, and computed fields with business meaning
- *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.

__Part 3: LLM Integration Patterns (~20 minutes)__

- Context aware Query Generation: Using semantic layers exposed via a FastAPI endpoint
- *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.

__Part 4: Production Considerations (~20 minutes)__

- Observability and Debugging (6 min): Logging semantic context, tracing query generation, and monitoring LLM-database interactions
- Evaluation Framework (5 min): Testing semantic layer quality with automated benchmarks and business logic validation
- Deployment Patterns (4 min): Docker, FastAPI integration, and scaling considerations
- *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.

__Part 5: Production Considerations (15 minutes)__
* Q&amp;A: Open discussion and troubleshooting</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Tutorial</category>
            <url>https://pretalx.com/pydata-london-2026/talk/YFYXAC/</url>
            <location>Grand Hall 1</location>
            
            <attendee>Dragos Crintea</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>DBGAND@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-DBGAND</pentabarf:event-slug>
            <pentabarf:title>GPU Algorithm Authoring with CUDA Tile</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260605T105000</dtstart>
            <dtend>20260605T122000</dtend>
            <duration>013000</duration>
            <summary>GPU Algorithm Authoring with CUDA Tile</summary>
            <description>CUDA Tile is NVIDIA&apos;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.

This 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&apos;s Nsight profilers. We&apos;ll explore examples from both DL and HPC, such as large language model inference and conjugate gradient solvers.

This session is hands-on with no installation required, just a web browser. We&apos;ll use Brev, NVIDIA&apos;s developer cloud, to get access to GPUs, and all work will be done in a JupyterLab environment. 

By the end of this session, you will:
- Build an accurate mental model of tiles, thread groups, and how tile code executes on GPUs.
- Write and debug tile-based GPU kernels in Python for real workloads.
- Use profiling traces to identify bottlenecks and guide optimizations inside a notebook workflow.
- Decide when tile programming is the right tool versus SIMT, and how to mix the two when needed.

Links:
- Accelerated Computing Hub: https://github.com/NVIDIA/accelerated-computing-hub
- cuTile Python: https://github.com/NVIDIA/cutile-python
- Tile IR: https://github.com/NVIDIA/cuda-tile
- TileGym examples: https://github.com/NVIDIA/TileGym</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Tutorial</category>
            <url>https://pretalx.com/pydata-london-2026/talk/DBGAND/</url>
            <location>Grand Hall 1</location>
            
            <attendee>Katrina Riehl</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>TAWYHU@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-TAWYHU</pentabarf:event-slug>
            <pentabarf:title>Keynote: Samuel Colvin: Pydantic Monty &amp; Logfire: Wild LLMs, from tool calling to computer use</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260605T132000</dtstart>
            <dtend>20260605T140500</dtend>
            <duration>004500</duration>
            <summary>Keynote: Samuel Colvin: Pydantic Monty &amp; Logfire: Wild LLMs, from tool calling to computer use</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/TAWYHU/</url>
            <location>Grand Hall 1</location>
            
            <attendee>Samuel Colvin</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>M8TE3Q@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-M8TE3Q</pentabarf:event-slug>
            <pentabarf:title>Flexible Statistical Modeling with Bayesian Additive Regression Trees</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260605T141000</dtstart>
            <dtend>20260605T154000</dtend>
            <duration>013000</duration>
            <summary>Flexible Statistical Modeling with Bayesian Additive Regression Trees</summary>
            <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.

Bayesian 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&#8212;every fitted value comes with a credible interval that reflects genuine uncertainty about the underlying function.

This tutorial introduces BART through three applications, each demonstrating how uncertainty changes the way we interpret results:

**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&apos;ll explore variable importance&#8212;which comes with its own uncertainty&#8212;and partial dependence plots that reveal non-linear effects.

**Classification:** For binary outcomes, BART produces predicted probabilities with uncertainty, not just class labels. We&apos;ll examine how this uncertainty propagates through decision-making and compare calibration against standard classifiers.

### Target audience 

Data scientists and analysts looking to add useful statistical methods to their toolkit. 

## Takeaways 

Participants 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&apos;s uncertainty quantification justifies its computational cost over simpler alternatives.

## Materials 

GitHub 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.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Tutorial</category>
            <url>https://pretalx.com/pydata-london-2026/talk/M8TE3Q/</url>
            <location>Grand Hall 1</location>
            
            <attendee>Chris Fonnesbeck</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>SUJZCA@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-SUJZCA</pentabarf:event-slug>
            <pentabarf:title>Do you know how well your model is doing? Evaluate your LLMs</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260605T160000</dtstart>
            <dtend>20260605T173000</dtend>
            <duration>013000</duration>
            <summary>Do you know how well your model is doing? Evaluate your LLMs</summary>
            <description>Prerequisites:

- Have experience coding in Python (with Python installed in the local machine)
- Basic understanding of machine learning and LLMs
- Experience with Hugging Face Transformers is preferred but not necessary
- A Hugging Face Hub account (sign up for free)
- A modern computer that can fine-turn small LLMs locally

Description:

We 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.

Finally, 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.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Tutorial</category>
            <url>https://pretalx.com/pydata-london-2026/talk/SUJZCA/</url>
            <location>Grand Hall 1</location>
            
            <attendee>Cheuk Ting Ho</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>3RBSQM@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-3RBSQM</pentabarf:event-slug>
            <pentabarf:title>After Conference Social- Fleets- Sponsored by PDFTA &amp; Coefficient</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260605T180000</dtstart>
            <dtend>20260605T210000</dtend>
            <duration>030000</duration>
            <summary>After Conference Social- Fleets- Sponsored by PDFTA &amp; Coefficient</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/3RBSQM/</url>
            <location>Grand Hall 1</location>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>9PPVRK@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-9PPVRK</pentabarf:event-slug>
            <pentabarf:title>Learn to Unlock Document Intelligence with Open-Source AI</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260605T090000</dtstart>
            <dtend>20260605T103000</dtend>
            <duration>013000</duration>
            <summary>Learn to Unlock Document Intelligence with Open-Source AI</summary>
            <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.

This 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.

You&apos;ll be building a complete document intelligence pipeline from the ground up. We&apos;ll work through three progressive modules: first, converting documents and exploring Docling&apos;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.

No 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.

Link to workshop, project resources, and more: https://red.ht/pydataLON</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Tutorial</category>
            <url>https://pretalx.com/pydata-london-2026/talk/9PPVRK/</url>
            <location>Doddington Forum</location>
            
            <attendee>Mingxuan Zhao</attendee>
            
            <attendee>Abby Tse</attendee>
            
            <attendee>Carol Chen</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>APYSNR@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-APYSNR</pentabarf:event-slug>
            <pentabarf:title>Observing Agentic AI in Production: MCP Server Tracing with OpenTelemetry and Animal Crossing</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260605T105000</dtstart>
            <dtend>20260605T122000</dtend>
            <duration>013000</duration>
            <summary>Observing Agentic AI in Production: MCP Server Tracing with OpenTelemetry and Animal Crossing</summary>
            <description>### Why this matters

OpenTelemetry 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 &quot;year of AI agents&quot; 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.

However, most teams building agents today have none of this. The reason is a &#8220;developer experience gap&#8221;: 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&apos;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&apos;s agent ran in a loop for 11 hours accumulating $47,000 in costs before anyone noticed.

### What we will do

We 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. 

* Check out a FastMCP server (understand the MCP request/response lifecycle).
* OpenTelemetry for agentic AI (traces, metrics, logs and why they&apos;re the primary signal for agents).
* Instrument the MCP server (OpenTelemetry instrumentation, see how errors are automatically recorded with stack traces).
* From traces to dashboards (build a dashboard that answers which tools are slowest, showing error rates and token costs).
* Production patterns and case studies (patterns for sensitive data handling, sampling strategies for high-throughput agent workflows).
* Connecting auth and observability (auth attributes appearing in traces when OAuth is enabled, giving per-user visibility).

### Target audience

Data 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&#8217;re just a fan of Animal Crossing and social simulation gaming.

### Prerequisites

* Basic to Intermediate Python (comfortable with decorators, async/await basics and uv).
* No prior knowledge of MCP, OpenTelemetry or FastMCP is required.

### Tutorial requirements

* MacOS/Linux laptop or Windows with PowerShell.
* Docker, Colima or OrbStack (to run Docker Compose for the local observability stack).
* uv for package management.
* A code editor (VS Code, Cursor, Kiro or similar).
* LLM access, either via a vendor (Anthropic, OpenAI, etc) or local Ollama. We will be serving a local 1B model, so you&#8217;ll need enough RAM and disk space ~4 GB.
* Visit the GitHub repo &lt;https://tinyurl.com/anteaters26&gt; and follow the `SETUP.md` to install all the tools prior to arrival.

### Key takeaways

1. Understand why distributed tracing (rather than traditional metrics) is the primary observability signal for agentic AI systems.
2. Be able to build an MCP server with custom tools using FastMCP and instrument it with OpenTelemetry.
3. Know the OpenTelemetry GenAI and MCP semantic conventions and how they standardise telemetry across agent frameworks.
4. Be able to visualise, query and dashboard agent traces using Jaeger.
5. Understand the production observability landscape: auto-instrumentation libraries, sensitive data handling and compliance considerations.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Tutorial</category>
            <url>https://pretalx.com/pydata-london-2026/talk/APYSNR/</url>
            <location>Doddington Forum</location>
            
            <attendee>Tun Shwe</attendee>
            
            <attendee>Fei Phoon</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>ZAR8AG@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-ZAR8AG</pentabarf:event-slug>
            <pentabarf:title>Building a Browser Agent from Scratch: Teach an LLM to Navigate the Web</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260605T141000</dtstart>
            <dtend>20260605T154000</dtend>
            <duration>013000</duration>
            <summary>Building a Browser Agent from Scratch: Teach an LLM to Navigate the Web</summary>
            <description>The web is the world&#8217;s 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&#8217;t go as expected.

This 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.

This tutorial strips away the abstraction layers and builds each component from scratch. The &#8220;from scratch&#8221; 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.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Tutorial</category>
            <url>https://pretalx.com/pydata-london-2026/talk/ZAR8AG/</url>
            <location>Doddington Forum</location>
            
            <attendee>Richard</attendee>
            
            <attendee>Oreolorun Olu-Ipinlaye</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>HC3SLQ@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-HC3SLQ</pentabarf:event-slug>
            <pentabarf:title>From Synthetic Examples to Production Signals: Multimodal Training Data Pipelines with Privacy-Safe Feedback</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260605T160000</dtstart>
            <dtend>20260605T173000</dtend>
            <duration>013000</duration>
            <summary>From Synthetic Examples to Production Signals: Multimodal Training Data Pipelines with Privacy-Safe Feedback</summary>
            <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.

Across three progressive Jupyter notebooks, participants will:
- 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.

- 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.

- Anonymize production-style usage data from a fine-tuned model, comparing privacy strategies that reduce sensitive-data risk while preserving useful training signal.

Participants leave with a working repo, runnable notebooks, and a reusable mental model for building training-data pipelines across text and images.

**Takeaways**
- A reproducible pattern for multimodal training-data generation.
- Practical use of source datasets, example-mix controls, dependency-aware columns, structured LLM outputs, and judge-based validation.
- A privacy workflow for turning production usage logs into safer source data for future training iterations.
- Hands-on experience with NeMo Data Designer and NeMo Anonymizer.
- A clear view of how synthetic generation, quality validation, and anonymized production feedback support a training-data lifecycle.

**Why Attend This Session?**
Most 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.

**Prerequisites**
This is a hands-on notebook workshop. To follow along, please bring:
- A laptop where you can run Python and Jupyter notebooks.
- Basic comfort with Python, pandas-style dataframes, and editing notebook cells.
- Ability to clone a GitHub repository and run simple terminal commands. Setup instructions will include installing uv if you do not already have it.
- 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.
- Internet access for calling hosted LLM APIs during the exercises.

The 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.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Tutorial</category>
            <url>https://pretalx.com/pydata-london-2026/talk/HC3SLQ/</url>
            <location>Doddington Forum</location>
            
            <attendee>Nabin Mulepati</attendee>
            
            <attendee>Lipika Ramaswamy</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>SKBDNF@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-SKBDNF</pentabarf:event-slug>
            <pentabarf:title>Beyond ML Model Calibration: Hands-On Multicalibration with MCGrad</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260605T090000</dtstart>
            <dtend>20260605T103000</dtend>
            <duration>013000</duration>
            <summary>Beyond ML Model Calibration: Hands-On Multicalibration with MCGrad</summary>
            <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.

This 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.

OUTLINE:
- **Welcome &amp; Setup** (5 min)
    Goals, format, open Colab notebook, pip install mcgrad.
- **The Calibration Gap** (15 min)
    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.
- **From Calibration to Multicalibration** (15 min)
    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).
- **MCGrad in Action -- Hands-On** (30 min)
    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.
- **Advanced Features &amp; Production Tips** (15 min)
Hyperparameter tuning, safety mechanisms (no-op failsafe), regression multicalibration, model serialization, when not to use multicalibration.
- **Wrap-Up &amp; Q&amp;A** (10 min)
    Recap the three-step workflow (measure MCE, fit MCGrad, verify). Pointers to docs and tutorials. Open Q&amp;A.

Attendees 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.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Tutorial</category>
            <url>https://pretalx.com/pydata-london-2026/talk/SKBDNF/</url>
            <location>Hardwick Hub</location>
            
            <attendee>Niek Tax</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>WDQZLR@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-WDQZLR</pentabarf:event-slug>
            <pentabarf:title>Hands-On with Tabular Foundation Models: From Zero to Strong Baselines</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260605T105000</dtstart>
            <dtend>20260605T122000</dtend>
            <duration>013000</duration>
            <summary>Hands-On with Tabular Foundation Models: From Zero to Strong Baselines</summary>
            <description>Tabular foundation models are generating excitement, but most practitioners haven&apos;t used them yet. This **90-minute hands-on tutorial** bridges that gap.

Participants will work through **four progressive notebooks** on real-world datasets of varying difficulty. By the end, they won&apos;t just know *about* tabular FMs &#8212; they&apos;ll have **run them, broken them, and compared them** against familiar baselines.

### Who is this for?

Data scientists and ML engineers who:

- Use sklearn / XGBoost / LightGBM regularly
- Are curious about tabular FMs but haven&apos;t tried them
- Want to build informed opinions grounded in hands-on experience

### What we&apos;ll use

- **Models:** Any TFMs (TabICL, TabPFN or Neuralk proprietary model with free credits), XGBoost, Random Forest
- **Datasets:** 3 curated real-world datasets chosen to expose different behaviors:
    - A small medical dataset (~500 rows, 12 features) &#8212; where TFMs tend to shine
    - A medium e-commerce dataset (~5K rows, 40+ features with mixed types) &#8212; a realistic &quot;grey zone&quot;
    - A large, noisy dataset (~50K rows) &#8212; where trees typically dominate
- **Stack:** Python 3.9+, sklearn, tabicl, xgboost, matplotlib, pandas

### Detailed outline (90 min)

| Time | Phase | What participants do | Expected output |
| --- | --- | --- | --- |
| 0&#8211;15 | **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 |
| 15&#8211;30 | **Notebook 1: First predictions** | Install a TFM, load the small medical dataset, generate predictions. Compare API with sklearn&apos;s `.fit()/.predict()` pattern. | Working predictions; comfort with the API |
| 30&#8211;45 | **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 |
| 45&#8211;60 | **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 |
| 60&#8211;75 | **Notebook 4: Diagnostics &amp; 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 |
| 75&#8211;85 | **Wrap-up: Decision framework** | Collaborative exercise: given 3 new dataset descriptions, participants vote on which model they&apos;d choose and why. We discuss as a group. | Internalized decision criteria |
| 85&#8211;90 | **Q&amp;A and next steps** | Open discussion. Pointers to further resources, papers, and community. |  |

### Requirements

- Laptop with Python 3.9+
- Familiarity with sklearn (fit/predict/cross_val_score)
- No deep learning experience needed
- All materials (notebooks + datasets + environment setup) will be distributed via a **public GitHub repository** at least 2 weeks before the event

&gt; **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. &lt;!-- TODO: replace with actual link once repo is created --&gt;
&gt; 

### What attendees will be able to do after this tutorial

- **Run** tabular foundation models on their own datasets using a familiar sklearn-compatible API
- **Benchmark** TFMs against tree-based baselines with proper cross-validation and meaningful metrics
- **Diagnose** model behavior: identify when a TFM is failing, why, and what to do about it
- **Interpret** TFM outputs using SHAP while understanding the limitations of post-hoc explanations on learned priors
- **Decide** whether to adopt a tabular FM for a new project based on concrete, experience-backed criteria

### Key takeaways

- A working local environment with tabular FM tooling ready to use
- Four completed notebooks they can reuse as templates on their own data
- Confidence to try (or deliberately skip) tabular FMs on their next project</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Tutorial</category>
            <url>https://pretalx.com/pydata-london-2026/talk/WDQZLR/</url>
            <location>Hardwick Hub</location>
            
            <attendee>Nicolas Makaroff</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>MRKKWJ@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-MRKKWJ</pentabarf:event-slug>
            <pentabarf:title>Test-Driven Data Analysis</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260605T141000</dtstart>
            <dtend>20260605T154000</dtend>
            <duration>013000</duration>
            <summary>Test-Driven Data Analysis</summary>
            <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

 - generate constraints characterising data in data frames automatically;
 - validate data using previously generated constraints;
 - test structured data resulting from analyses in data frames;
 - test unstructured date from analyses, typically in text files and graphical form,

as well as highlighting other libraries that can be used for similar purposes.

It 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.

This major error categories that will be considered are

 - errors of interpretation (of formulation and of communication),
 - errors of implementation,
 - errors of process,
 - errors of applicability, and
 - errors of judgement.

**ATTENDEES**

No 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).

If 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

     tdda examples all

will download all the data that will be used in the tutorial in subdirectories.

There 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.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Tutorial</category>
            <url>https://pretalx.com/pydata-london-2026/talk/MRKKWJ/</url>
            <location>Hardwick Hub</location>
            
            <attendee>Nick Radcliffe</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>JL7YAJ@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-JL7YAJ</pentabarf:event-slug>
            <pentabarf:title>Model criticism through posterior predictive checks</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260605T160000</dtstart>
            <dtend>20260605T173000</dtend>
            <duration>013000</duration>
            <summary>Model criticism through posterior predictive checks</summary>
            <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.

The 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.

The 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:

* Understanding the need for distributional comparisons
* Understanding how to adapt model criticism to the type of data
* Diagnosing models of heterogeneous data at both the population and group level
* Translating model criticism visualizations to model issues
* Multiple uncertainty visualization designs
* How to use ArviZ for predefined and custom posterior predictive checks</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Tutorial</category>
            <url>https://pretalx.com/pydata-london-2026/talk/JL7YAJ/</url>
            <location>Hardwick Hub</location>
            
            <attendee>Oriol Abril Pla</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>PUL99Q@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-PUL99Q</pentabarf:event-slug>
            <pentabarf:title>Keynote- Rachel Lee Nabors- The Community Is the Boat</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260606T091000</dtstart>
            <dtend>20260606T095500</dtend>
            <duration>004500</duration>
            <summary>Keynote- Rachel Lee Nabors- The Community Is the Boat</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/PUL99Q/</url>
            <location>Grand Hall 1</location>
            
            <attendee>Rachel Lee Nabors</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>V3D3LS@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-V3D3LS</pentabarf:event-slug>
            <pentabarf:title>The Rules Nobody Writes Down: Decoding and Shifting Team Culture From Any Seat</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260606T102000</dtstart>
            <dtend>20260606T110500</dtend>
            <duration>004500</duration>
            <summary>The Rules Nobody Writes Down: Decoding and Shifting Team Culture From Any Seat</summary>
            <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.

The central idea is simple. Team culture isn&apos;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&apos;s collective self-image: the shared belief about &quot;who we are&quot; and &quot;what&apos;s possible.&quot; That self-image sets the upper limit of performance. A team that sees itself as &quot;always firefighting&quot; will keep firefighting, even when the fires are out.

The good news: you can influence this from any seat. Not through announcements, but through consistent action.

I 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.

I 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.

There 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.

The 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&apos;s possible. This isn&apos;t positive thinking. It is praxis, which is integrating belief with behaviour through consistent action.

Finally, 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.

This 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&apos;] have recently joined a team, are navigating a tricky dynamic, or want more impact without moving into management.

You 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.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/V3D3LS/</url>
            <location>Grand Hall 1</location>
            
            <attendee>Margaritha Groenendijk</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>WGJMXV@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-WGJMXV</pentabarf:event-slug>
            <pentabarf:title>Columnar Thinking - Designing for high-performance execution with Arrow and Polars</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260606T110500</dtstart>
            <dtend>20260606T115000</dtend>
            <duration>004500</duration>
            <summary>Columnar Thinking - Designing for high-performance execution with Arrow and Polars</summary>
            <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.

We&#8217;ll explore the shift from row-oriented design to columnar thinking, designing and developing high-performance workloads right from the onset. Using Arrow&#8217;s columnar memory format and Polars&#8217; 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.

You&#8217;ll leave with:
1. A clear understanding of how columnar memory impacts execution, in contrast to row-oriented or traditional vectorised approaches.
2. Practical patterns for structuring column-first transformations.
3. Insights into how Arrow reduces data movement overhead in distributed systems.
4. Guidance on when lazy execution and query optimisation matters.
5. Ideal design principles for building scalable calculation pipelines with Polars and Arrow tools.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/WGJMXV/</url>
            <location>Grand Hall 1</location>
            
            <attendee>Kamlesh Shah</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>NVXBEM@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-NVXBEM</pentabarf:event-slug>
            <pentabarf:title>JupyterLite: run all your code in a web browser using WebAssembly</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260606T115000</dtstart>
            <dtend>20260606T123500</dtend>
            <duration>004500</duration>
            <summary>JupyterLite: run all your code in a web browser using WebAssembly</summary>
            <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.

This 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.

This 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.

JupyterLite sites are easy to deploy and there will be a live demonstration of a deployment to illustrate this.

Talk outline:

- Overview
- Comparison of JupyterLab and JupyterLite
- Live demonstration of basic functionality
- How it works
- Kernels, including why are there two different python kernels (pyodide and xeus-python) and how to choose between them
- Emscripten-forge package building
- Key features such as shared in-browser filesystem
- More detailed demos such as installing packages on the fly
- What it is good and bad at
- Terminal for `vim`, `git`, etc
- Jupyterlite AI
- Use in project documentation using jupyterlite-sphinx
- Deployment, including live demo
- Making it easier to deploy and share using notebook.link
- Where JupyterLite is going</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/NVXBEM/</url>
            <location>Grand Hall 1</location>
            
            <attendee>Ian Thomas</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>QU33NS@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-QU33NS</pentabarf:event-slug>
            <pentabarf:title>Keynote- Jeremiah Lowin- Build Reasonable Software</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260606T133500</dtstart>
            <dtend>20260606T142000</dtend>
            <duration>004500</duration>
            <summary>Keynote- Jeremiah Lowin- Build Reasonable Software</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/QU33NS/</url>
            <location>Grand Hall 1</location>
            
            <attendee>Jeremiah Lowin</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>AYDUBL@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-AYDUBL</pentabarf:event-slug>
            <pentabarf:title>Reading the Mind of an LLM</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260606T144500</dtstart>
            <dtend>20260606T153000</dtend>
            <duration>004500</duration>
            <summary>Reading the Mind of an LLM</summary>
            <description>What if we could step inside an LLM and watch it think in real time?

This talk distills the latest research from Anthropic, DeepMind, and OpenAI to present the current state of the art in **LLM interpretability**.

We&#8217;ll start with the modern interpretation of **embeddings** as sparse, monosemantic features living in high-dimensional space. From there, we&#8217;ll 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.

We&#8217;ll also look at new evidence suggesting that models may have limited forms of introspection&#8212;clarifying what they can, and crucially cannot, reliably report about their internal processes.

Finally, we&#8217;ll connect these &#8220;microscopic&#8221; 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.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/AYDUBL/</url>
            <location>Grand Hall 1</location>
            
            <attendee>Luca Baggi</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>ABYV3J@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-ABYV3J</pentabarf:event-slug>
            <pentabarf:title>SELECT instance FROM cloud WHERE workload = ? ORDER BY cost_efficiency</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260606T153000</dtstart>
            <dtend>20260606T161500</dtend>
            <duration>004500</duration>
            <summary>SELECT instance FROM cloud WHERE workload = ? ORDER BY cost_efficiency</summary>
            <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 &#8211; especially once real workload performance is considered.

This 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.

We 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.

The 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 &#8211; such as minimizing cost-efficiency trade-offs or reducing environmental impact.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/ABYV3J/</url>
            <location>Grand Hall 1</location>
            
            <attendee>Gergely Daroczi</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>ZFR8VH@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-ZFR8VH</pentabarf:event-slug>
            <pentabarf:title>Building a Scientific Taxonomy at Scale with Graph Clustering, Embeddings, and LLMs</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260606T161500</dtstart>
            <dtend>20260606T170000</dtend>
            <duration>004500</duration>
            <summary>Building a Scientific Taxonomy at Scale with Graph Clustering, Embeddings, and LLMs</summary>
            <description>### The problem

If you&apos;ve ever tried to make sense of author-provided keywords across millions of papers, you know the pain. *&quot;Machine learning&quot;*, *&quot;ML&quot;*, *&quot;machine-learning&quot;*: same thing, three entries. Other terms look identical but mean completely different things depending on the field. Manual cleanup? Doesn&apos;t scale. Regex and string matching? Misses the semantics entirely.

### What we built

We took OpenAlex&apos;s 4-level hierarchy (**Domain &#8594; Field &#8594; Subfield &#8594; Topic**) and added a fifth in-house **Concept** layer: 115K+ fine-grained concepts, each with a clear position in the tree.

The 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 *&quot;Cryptocurrency&quot;* and *&quot;Crypto Currency&quot;* must land together, while *&quot;Decision Trees&quot;* and *&quot;Random Forest&quot;* must stay apart.

LLMs come in at **five specific points** where embeddings alone aren&apos;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.

### Paper tagging

Once 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&#8211;8 concepts** with domain verification and keyword mapping, ranked.

### What comes next

With 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&apos;ll sketch out the approach.

### Tech stack

**SPECTER2** (embeddings) &#183; **igraph + leidenalg** (Leiden/CPM clustering) &#183; **hnswlib** (ANN for kNN graphs) &#183; **Qdrant** (vector search for hierarchical attachment) &#183; **Azure OpenAI** (structured LLM inference) &#183; human + automated validation framework

### You&apos;ll walk away knowing

- When LLMs actually help in large-scale NLP pipelines  and when they&apos;re overkill
- How to scale graph clustering to 100K+ nodes in Python
- How to evaluate clustering with custom pair-based constraints
- Practical trade-offs between embeddings, graph methods, and LLMs</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/ZFR8VH/</url>
            <location>Grand Hall 1</location>
            
            <attendee>Daniele Raimondi</attendee>
            
            <attendee>Feichi Lu</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>PGFXAR@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-PGFXAR</pentabarf:event-slug>
            <pentabarf:title>Conference Social</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260606T170000</dtstart>
            <dtend>20260606T180000</dtend>
            <duration>010000</duration>
            <summary>Conference Social</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/PGFXAR/</url>
            <location>Grand Hall 1</location>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>RQ3FJQ@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-RQ3FJQ</pentabarf:event-slug>
            <pentabarf:title>Building Production Multi-Agent RAG Systems on Serverless AWS</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260606T102000</dtstart>
            <dtend>20260606T110500</dtend>
            <duration>004500</duration>
            <summary>Building Production Multi-Agent RAG Systems on Serverless AWS</summary>
            <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.

Outline:
- Minutes 0-5: Why single-agent RAG hits limits &#8212; the case for multi-agent orchestration
- Minutes 5-15: Architecture deep-dive &#8212; SQS-based agent coordination, Lambda handlers, and how RAG retrieval integrates across agents
- Minutes 15-22: Cross-region Bedrock routing and why latency geography matters
- Minutes 22-30: Cost lessons &#8212; achieving 90% vector storage savings with S3 Vector Search vs managed alternatives
- Minutes 30-37: Observability and failure handling &#8212; Langfuse tracing, DLQs, and debugging distributed agent calls
- Minutes 37-40: Key takeaways and Q&amp;A

Target 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.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/RQ3FJQ/</url>
            <location>Grand Hall 2</location>
            
            <attendee>Samuel Jaja</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>3JJHZF@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-3JJHZF</pentabarf:event-slug>
            <pentabarf:title>Production-Ready AI Agents: From LLMs to Small Language Models</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260606T110500</dtstart>
            <dtend>20260606T115000</dtend>
            <duration>004500</duration>
            <summary>Production-Ready AI Agents: From LLMs to Small Language Models</summary>
            <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:

1. **The Production Agent Problem (3 min)**
The prototype-to-production gap, why closed, frontier LLMs don&apos;t scale, and the agent development lifecycle.

2. **Small Models, Big Impact (2 min)**
The case for small open language models, the current model landscape and pursuing an iterative migration pattern. 

3. **Test-Driven Agent Development (5 min)**
Starting 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. 

4. **Techniques for migrating to Small Language Models (7 min)**
Introducing task decomposition patterns, use of multi-model approaches and agent architectures better suited to Small Language Model utilisation. 

5. **CI/CD for Agents** (7 min)
Treating 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.

6. **Observability and Monitoring** (4 min)
Instrumenting 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. 

7. **Continuous Improvement Loops** (4 min)
Creating feedback pipelines from production data, triaging failures and automating analysis. Strategies for iterative improvement, and methods for measuring progress through A/B testing.

As 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.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/3JJHZF/</url>
            <location>Grand Hall 2</location>
            
            <attendee>Prattyush Mangal</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>8Y9GRD@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-8Y9GRD</pentabarf:event-slug>
            <pentabarf:title>Evaluating multi-turn conversations: A practical guide to AI Agent evals</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260606T115000</dtstart>
            <dtend>20260606T123500</dtend>
            <duration>004500</duration>
            <summary>Evaluating multi-turn conversations: A practical guide to AI Agent evals</summary>
            <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&apos;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.

In this talk we&apos;ll discuss a systematic approach to evaluating complex multi-turn conversations.

We&apos;ll talk about:
- Defining what makes a &quot;good&quot; conversation 
- The unique challenges of multi-turn evaluation
- Metrics for assessing conversation quality
- Constructing evaluation datasets for conversational AI agents
- Automated pipelines for continuous agent evaluation in production

We&apos;ll show practical implementations using Python, with real-world examples from production agent systems across different domains. 

Attendees will leave with:
- A structured framework for defining and measuring conversation quality in their domain
- Practical techniques for evaluating multi-turn interactions at scale

The session will provide actionable insights for AI engineers, data scientists, and product managers looking to evaluate AI agents rigorously and build stakeholder trust.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/8Y9GRD/</url>
            <location>Grand Hall 2</location>
            
            <attendee>Lena Shakurova</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>J99JNR@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-J99JNR</pentabarf:event-slug>
            <pentabarf:title>Fast-Forward(ing) Models: Accelerating High-Dimensional Inference with AI Emulators</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260606T144500</dtstart>
            <dtend>20260606T153000</dtend>
            <duration>004500</duration>
            <summary>Fast-Forward(ing) Models: Accelerating High-Dimensional Inference with AI Emulators</summary>
            <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:

- The motivation for accelerating models (3 mins)
- An introduction to emulation (5 mins)
- The most common emulation architectures (4 mins) 
- Effective sampling and parameter selection for training data (4 mins) 
- Model dimensionality reduction techniques and optimisation (4 mins)
- Emulator uncertainty quantification and inference techniques (4 mins) 
- Designing an emulator workflow (2 mins)
- Data augmentation for existing datasets (5 mins)
- Use case examples (9 mins) 

Attendees will gain a deep understanding of how to architect surrogate models and the libraries typically used to create them, enabling users to &quot;fast-forward&quot; their own computationally intensive numerical models.

Prerequisites: Basic familiarity with Python and regression concepts. No physics background required.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/J99JNR/</url>
            <location>Grand Hall 2</location>
            
            <attendee>Austen Wallis</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>YYTLFF@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-YYTLFF</pentabarf:event-slug>
            <pentabarf:title>Bridging Pandas and Polars: The Hidden Costs of Dataframe Interoperability</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260606T153000</dtstart>
            <dtend>20260606T161500</dtend>
            <duration>004500</duration>
            <summary>Bridging Pandas and Polars: The Hidden Costs of Dataframe Interoperability</summary>
            <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`.

Pandas stores data in NumPy arrays by default, though as of 3.0 it uses Arrow for strings. Polars is built entirely on Apache Arrow&apos;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:

- **Memory layout**: How NumPy and Arrow represent the same logical data differently, and how a dataframe database can bridge the two
- **Strings**: NumPy object arrays vs. Arrow&apos;s offset-based binary buffers -- why Arrow is dramatically more efficient and the cost of conversion
- **Missing values**: NaN/NaT/None sentinels vs. Arrow&apos;s validity bitmask -- why a Pandas NaN behaves differently from a Polars null and what breaks during conversion
- **Schema differences**: Different supported data types and different allowed column names -- e.g. Pandas allows mixed-type columns that Arrow cannot represent
- **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

Together, 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.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/YYTLFF/</url>
            <location>Grand Hall 2</location>
            
            <attendee>Ivo Dilov</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>HBPSDS@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-HBPSDS</pentabarf:event-slug>
            <pentabarf:title>Using coding agents with open models</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260606T161500</dtstart>
            <dtend>20260606T170000</dtend>
            <duration>004500</duration>
            <summary>Using coding agents with open models</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/HBPSDS/</url>
            <location>Grand Hall 2</location>
            
            <attendee>Sujee Maniyam</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>BPJEKV@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-BPJEKV</pentabarf:event-slug>
            <pentabarf:title>Kafka Streaming, the Pythonic Way</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260606T102000</dtstart>
            <dtend>20260606T110500</dtend>
            <duration>004500</duration>
            <summary>Kafka Streaming, the Pythonic Way</summary>
            <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.

From 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.

Then 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&apos;re a Python developer used to working with DataFrames, this feels like going back to writing for loops over rows. We&apos;ll look at what the naive approach looks like in code, and why it quickly becomes painful as processing logic gets more complex.

With 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&apos;d write against a Parquet file. We&apos;ll see both versions side by side to make this concrete.

We 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.

The talk assumes familiarity with Python and basic data processing with DataFrames. No prior knowledge of Kafka or streaming is required.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/BPJEKV/</url>
            <location>Doddington Forum</location>
            
            <attendee>Arthur Andres</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>T7GMEL@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-T7GMEL</pentabarf:event-slug>
            <pentabarf:title>Beyond Spark MLlib: Deduplicating Common Crawl at Scale</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260606T110500</dtstart>
            <dtend>20260606T115000</dtend>
            <duration>004500</duration>
            <summary>Beyond Spark MLlib: Deduplicating Common Crawl at Scale</summary>
            <description>&lt;Why This Matters for LLM Practitioners&gt;
Training 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&apos;s MinHashLSH suffers shuffle explosion causing OOM errors, while Google&apos;s deduplicate-text-datasets requires 600GB+ RAM on a single machine.

&lt;What You&apos;ll Learn&gt;
This 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&apos;s partitioning, co-locating similar documents before comparison and eliminating cross-partition shuffles entirely.

&lt;Target Audience&gt;
Data 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.

&lt;Talk Outline&gt;
Minutes 0-5: The deduplication challenge - why LLM training data needs deduplication, why O(N&#178;) comparisons are infeasible, why you can&apos;t split into independent batches
Minutes 5-10: Why existing tools fail - MLlib shuffle explosion, Google&apos;s memory requirements
Minutes 10-18: Our solution - partition-aware MinHash LSH architecture, code walkthrough showing pandas_udf vectorization and band-based partitioning
Minutes 18-25: Worked example - following two documents through the pipeline: hashing &#8594; band assignment &#8594; partition co-location &#8594; local candidate generation &#8594; connected components
Minutes 25-30: Benchmarks and practical lessons - 253M documents, 2.1B candidate pairs, under 5 hours, under $100. boilerplate filtering with MAX_BAND_SIZE
Minutes 30-40: Q&amp;A


&lt;Key Takeaways&gt;
How to use LSH band hashes to drive Spark partitioning for local similarity computation
Vectorized MinHash generation with NumPy and pandas_udf to avoid Python UDF overhead
Strategies for handling boilerplate-induced false positives at scale
A production-ready architecture that will be open-sourced

&lt;Background Knowledge&gt;
Basic PySpark familiarity (DataFrames, partitions). No prior knowledge of MinHash or LSH required &#8212; these concepts will be explained.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/T7GMEL/</url>
            <location>Doddington Forum</location>
            
            <attendee>Ken Obata</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>8JJUKQ@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-8JJUKQ</pentabarf:event-slug>
            <pentabarf:title>Governance-as-Code for the Lakehouse: Zero Trust with Iceberg REST Catalog and Policy Engines</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260606T115000</dtstart>
            <dtend>20260606T123500</dtend>
            <duration>004500</duration>
            <summary>Governance-as-Code for the Lakehouse: Zero Trust with Iceberg REST Catalog and Policy Engines</summary>
            <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.

This talk argues that the missing layer in many lakehouse implementations is governance-as-code enforced at the catalog boundary.

**We explore:**
- How the Iceberg REST Catalog introduces a centralized enforcement point decoupled from compute engines
- Why Zero Trust principles apply to data platforms (no implicit trust between engines, users, or services)
- How policy-as-code systems such as OPA and Cedar enable versioned, testable, auditable access control
- Patterns for implementing fine-grained authorization (row/column-level policies, environment isolation, service-to-service trust)
- How governance becomes reproducible and portable across Spark, Flink, Trino, and other engines

The session focuses on architectural patterns rather than vendor-specific tooling and highlights practical trade-offs when implementing policy enforcement in production lakehouses.

**Key Takeaways**
1. Understand why traditional RBAC is insufficient for modern lakehouses
3. Learn how REST-based catalog architectures enable centralized governance
5. See how Zero Trust can be applied to data access workflows
7. Discover how to implement policy-as-code using OPA or Cedar
9. Gain a reference architecture for governance-first lakehouse design</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/8JJUKQ/</url>
            <location>Doddington Forum</location>
            
            <attendee>Viktor Kessler</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>QMGS7U@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-QMGS7U</pentabarf:event-slug>
            <pentabarf:title>MCP, or not MCP</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260606T144500</dtstart>
            <dtend>20260606T153000</dtend>
            <duration>004500</duration>
            <summary>MCP, or not MCP</summary>
            <description>Outline:

* Intro: how can I get data from this API into my Claude Code session?
* What is MCP? When should you use it, when should you use other tools
* Work through an example
* Sharing and deploying MCP servers, alternatives and best practices
* Optimizing your tools for best results</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/QMGS7U/</url>
            <location>Doddington Forum</location>
            
            <attendee>Neal Richardson</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>T7BQTG@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-T7BQTG</pentabarf:event-slug>
            <pentabarf:title>Build your castle, dig your moat: AI sovereignty, provenance and compliance</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260606T153000</dtstart>
            <dtend>20260606T161500</dtend>
            <duration>004500</duration>
            <summary>Build your castle, dig your moat: AI sovereignty, provenance and compliance</summary>
            <description>In this talk you&#8217;ll learn&#8230;

 &#8226; What AI sovereignty actually means for your stack and your business
 &#8226; How to evaluate self-hosted, local LLMs
 &#8226; Overview of supply chain security controls for data and code artifacts &#8211; provenance, signatures and compliance measures, opacity and trust signals</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/T7BQTG/</url>
            <location>Doddington Forum</location>
            
            <attendee>Daina Bouquin</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>3MAU9W@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-3MAU9W</pentabarf:event-slug>
            <pentabarf:title>Documenting your open source projects for machines</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260606T161500</dtstart>
            <dtend>20260606T170000</dtend>
            <duration>004500</duration>
            <summary>Documenting your open source projects for machines</summary>
            <description>Introduction (5 mins)
How LLM tools consume documentation pages (5 mins)
Quick steps you can take to improve things (5 mins)
Build markdown pages with sphinx-llm or mkdocs-llmstxt
Helping LLMs write idiomatic code for your library (5 mins)
Constraining how your code is used (5 mins)
Conclusions (5 mins)</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/3MAU9W/</url>
            <location>Doddington Forum</location>
            
            <attendee>Jacob Tomlinson</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>EQZ7VK@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-EQZ7VK</pentabarf:event-slug>
            <pentabarf:title>From Noisy Sensors to Events: Event Detection in Sensor data with Kalman Filters and Hidden Markov Models</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260606T102000</dtstart>
            <dtend>20260606T110500</dtend>
            <duration>004500</duration>
            <summary>From Noisy Sensors to Events: Event Detection in Sensor data with Kalman Filters and Hidden Markov Models</summary>
            <description>Objective 
Many 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 &#8212; built entirely in Python &#8212; 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.

The Problem 
Sensors 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 &#8212; the initial &quot;traditional method&quot; &#8212; 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.

Why Kalman Filter + Hidden Markov Model? 
The 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 &#8212; smooths the raw signal, handles sensor noise, and provides a principled estimate of the true instantaneous value with an associated uncertainty. Hidden Markov Model &#8212; 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).</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/EQZ7VK/</url>
            <location>Hardwick Hub</location>
            
            <attendee>Ono Gantsog</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>CKV8PH@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-CKV8PH</pentabarf:event-slug>
            <pentabarf:title>Mapping the local heat transition: from large-scale geospatial data to real-world impact</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260606T110500</dtstart>
            <dtend>20260606T115000</dtend>
            <duration>004500</duration>
            <summary>Mapping the local heat transition: from large-scale geospatial data to real-world impact</summary>
            <description>Decarbonising UK&#8217;s 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. 

We 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.

What we will cover:
- 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
- Our Python tech stack
- A walkthrough of the user interface
- The process of translating the needs of local authorities into a functional and intuitive product

Who should attend?
No 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:
- Data scientist, engineers, academics, machine learning engineers curious about how data science operates within a mission-driven, not-for-profit context.
- Project and product managers looking for a roadmap to steer complex data products from concept to delivery.

Key takeaways:
By the end of this session, you will gain a deeper understanding of:
- Data science in practice: data science techniques and libraries used
- Applying data science for impact: How to bridge the gap between complex modelling and the practical needs of external stakeholders
- Multidisciplinary collaboration: lessons earned from a team of data scientists, full-stack developers, designers, and domain experts working toward a common goal.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/CKV8PH/</url>
            <location>Hardwick Hub</location>
            
            <attendee>Sofia Pinto</attendee>
            
            <attendee>Simran Dave</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>A38MW7@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-A38MW7</pentabarf:event-slug>
            <pentabarf:title>Hazards on the Causal Path: Bayesian Time-Varying Survival Analysis with PyMC</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260606T115000</dtstart>
            <dtend>20260606T123500</dtend>
            <duration>004500</duration>
            <summary>Hazards on the Causal Path: Bayesian Time-Varying Survival Analysis with PyMC</summary>
            <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.

In 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.

The 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.

Target audience: data scientists and researchers with some familiarity with survival analysis or Bayesian modelling.

Takeaway: attendees will understand when and why to use dynamic causal hazard models, and how to implement them in practice using PyMC.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/A38MW7/</url>
            <location>Hardwick Hub</location>
            
            <attendee>Nathaniel Forde</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>H7PFXK@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-H7PFXK</pentabarf:event-slug>
            <pentabarf:title>Did Your Rollout Actually Work? Measuring Phased Launches with Staggered DiD in Python</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260606T144500</dtstart>
            <dtend>20260606T153000</dtend>
            <duration>004500</duration>
            <summary>Did Your Rollout Actually Work? Measuring Phased Launches with Staggered DiD in Python</summary>
            <description>### Who this is for

Data 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.

### What attendees will learn (takeaways)

- How staggered adoption differs from &quot;textbook&quot; two-period Difference-in-Differences, and why the difference matters in production measurement.
- How the imputation-based estimator (Borusyak, Jaravel &amp; Spiess, 2024) works: fit on untreated observations, predict counterfactuals, aggregate by event time.
- How to turn model output into stakeholder-friendly language: probability of positive effect, expected uplift, decision thresholds &#8212; no Bayesian background needed.
- The parameter recovery pattern: validate your method on simulated data with known truth before trusting it on real data.
- Practical diagnostics and red flags: parallel trends, anticipation effects, spillovers, and when *not* to use this method.

### Outline and time plan (30 min talk + 10 min Q&amp;A)

- 0&#8211;4 min: The real-world problem &#8212; phased rollouts and why naive pre/post comparisons fail
- 4&#8211;10 min: DiD refresher, then what breaks under staggered adoption (timing heterogeneity, negative weighting in TWFE)
- 10&#8211;17 min: The staggered DiD solution (event-time framing, imputation intuition, key assumptions)
- 17&#8211;25 min: Worked example in Python with CausalPy
  - A loyalty program rolled out to 60 stores in 3 waves over 30 weeks
  - Visualise adoption timing and check pre-trends
  - Fit the model and produce event-study plots
  - Parameter recovery: compare estimated effects to known ground truth
- 25&#8211;28 min: Diagnostics &#8212; pre-treatment placebo checks, counterfactual inspection, &quot;when not to use this&quot; decision checklist
- 28&#8211;30 min: Summary &#8212; three takeaways and the six-step workflow
- 30&#8211;40 min: Q&amp;A

### Background knowledge needed

- Comfortable with tidy data, grouping/aggregating, and reading a regression coefficient.
- Basic causal inference vocabulary (treatment/control, confounding) is helpful but not required.

### What I will provide

A public GitHub repository containing:

- a reproducible Quarto notebook (the slides themselves, with all code),
- a synthetic dataset simulating a realistic store loyalty program rollout,
- and environment setup instructions (conda environment file).</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/H7PFXK/</url>
            <location>Hardwick Hub</location>
            
            <attendee>Benjamin Vincent</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>JWNWFQ@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-JWNWFQ</pentabarf:event-slug>
            <pentabarf:title>Do Multilingual Embeddings Really Share a Semantic Space? Practical Lessons Across Scripts and Languages</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260606T153000</dtstart>
            <dtend>20260606T161500</dtend>
            <duration>004500</duration>
            <summary>Do Multilingual Embeddings Really Share a Semantic Space? Practical Lessons Across Scripts and Languages</summary>
            <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.

This talk examines how true that assumption is in practice.

Using 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.

Rather than focusing on benchmark performance, the talk emphasises intuition and failure analysis:
- Why do some languages align much more reliably than others?
- Why do averages often hide important multilingual failures?
- What happens when semantic ambiguity enters the embedding space?

Through 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 &#8220;one shared semantic space.&#8221;

The talk concludes with concrete diagnostics practitioners can use, along with common failure modes to watch for in applications.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/JWNWFQ/</url>
            <location>Hardwick Hub</location>
            
            <attendee>Kavit Tolia</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>JFJFQX@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-JFJFQX</pentabarf:event-slug>
            <pentabarf:title>Designing Semantic Memory for Multi-Agent Systems with Python</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260606T161500</dtstart>
            <dtend>20260606T170000</dtend>
            <duration>004500</duration>
            <summary>Designing Semantic Memory for Multi-Agent Systems with Python</summary>
            <description>This session focuses specifically on semantic memory architecture as the critical systems layer in production-grade multi-agent AI applications.

From my role on the Azure Cosmos DB engineering team, I&#8217;ve 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.

The talk will cover:

- A practical taxonomy of agent memory: short-term state, episodic logs, declarative knowledge, and procedural memory
- Modeling conversations as append-only event streams versus mutable session documents
- Designing retrieval-aware memory stores that combine structured filtering with semantic signals
- Memory lifecycle management: summarization spans, supersession flags, retention windows, and TTL-based compaction
- Checkpointed agent workflows for traceability and debugging
- Multi-tenant memory partitioning strategies
- Cost tradeoffs between growing context windows and durable storage

A 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.

The 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.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/JFJFQX/</url>
            <location>Hardwick Hub</location>
            
            <attendee>Theo van Kraay</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>BUEZSA@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-BUEZSA</pentabarf:event-slug>
            <pentabarf:title>PyMC Code Sprint</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260606T102500</dtstart>
            <dtend>20260606T122500</dtend>
            <duration>020000</duration>
            <summary>PyMC Code Sprint</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/BUEZSA/</url>
            <location>Board Room- Unconference Track</location>
            
            <attendee>Chris Fonnesbeck</attendee>
            
            <attendee>Oriol Abril Pla</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>RZPMEY@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-RZPMEY</pentabarf:event-slug>
            <pentabarf:title>Diversity Scholar Luncheon</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260606T123500</dtstart>
            <dtend>20260606T133500</dtend>
            <duration>010000</duration>
            <summary>Diversity Scholar Luncheon</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/RZPMEY/</url>
            <location>Board Room- Unconference Track</location>
            
            <attendee>NumFOCUS</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>8SWJS9@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-8SWJS9</pentabarf:event-slug>
            <pentabarf:title>Unconference- Feminist AI</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260606T144500</dtstart>
            <dtend>20260606T153000</dtend>
            <duration>004500</duration>
            <summary>Unconference- Feminist AI</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/8SWJS9/</url>
            <location>Board Room- Unconference Track</location>
            
            <attendee>Cheuk Ting Ho</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>YPFBTB@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-YPFBTB</pentabarf:event-slug>
            <pentabarf:title>Lightning Talks</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260607T090000</dtstart>
            <dtend>20260607T094500</dtend>
            <duration>004500</duration>
            <summary>Lightning Talks</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/YPFBTB/</url>
            <location>Grand Hall 1</location>
            
            <attendee>NumFOCUS</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>NMFNQJ@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-NMFNQJ</pentabarf:event-slug>
            <pentabarf:title>Your ML Pipeline Meets the EU AI Act</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260607T101500</dtstart>
            <dtend>20260607T110000</dtend>
            <duration>004500</duration>
            <summary>Your ML Pipeline Meets the EU AI Act</summary>
            <description>Resources with slides and interactive checklist: anx.io/SI1ja

The 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.

This 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.

Attendees 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.

Target audience: data scientists, ML engineers, and MLOps practitioners working with production ML systems.

Expected background: familiarity with the basic ML lifecycle and model deployment concepts. No prior knowledge of the EU AI Act is required.

Key takeaways:
- Understand where the EU AI Act impacts ML pipelines  
- Learn practical patterns for AI Act readiness  
- Avoid common compliance pitfalls in production ML  
- Leave with a concrete checklist for next steps</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/NMFNQJ/</url>
            <location>Grand Hall 1</location>
            
            <attendee>Gabriel Lipnik</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>MMS9WY@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-MMS9WY</pentabarf:event-slug>
            <pentabarf:title>The Silent Crash: Why Your RAG Evaluation Metrics Are Lying to You</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260607T110000</dtstart>
            <dtend>20260607T114500</dtend>
            <duration>004500</duration>
            <summary>The Silent Crash: Why Your RAG Evaluation Metrics Are Lying to You</summary>
            <description>Picture this: You&#8217;ve 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.

Why did the metrics pass? Because **similarity is not correctness**. To a vector database, &quot;The treatment is safe&quot; and &quot;The treatment is not safe&quot; 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.

In this talk, we are going to stop relying on &quot;vibe checks&quot; and start treating Evaluation as a software testing problem. We&#8217;ll 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 &quot;Self-Preference Bias&quot; (where models just like their own writing style), and how to do all of this without bankrupting your API budget.

**Outline**
-   **Real-world examples** where high metrics hid major failures, and why &quot;Finding the doc&quot; (Retrieval) is different from &quot;Answering the question&quot; (Generation).
-   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.
-   Using models (like G-Eval) to grade logic and tone, and solving the &quot;Judge Paradox&quot; by swapping options to remove Position Bias.
-   Building a &quot;Hard&quot; Test Set: How to stop testing on easy questions and generate adversarial &quot;Trick Questions&quot; that specifically target your retrieval gaps.
-   Key Takeaways: A practical strategy for using metrics, plus a look at tools like Ragas and DeepEval.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/MMS9WY/</url>
            <location>Grand Hall 1</location>
            
            <attendee>Hitendri Bomble</attendee>
            
            <attendee>Arghyadeep Sarkar</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>CJGBGV@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-CJGBGV</pentabarf:event-slug>
            <pentabarf:title>Vibe NLP for Applied NLP</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260607T114500</dtstart>
            <dtend>20260607T123000</dtend>
            <duration>004500</duration>
            <summary>Vibe NLP for Applied NLP</summary>
            <description>At the core of it is an often overlooked idea: using LLMs to&#160;*build systems*&#160;instead of&#160;*as systems*. AI-powered coding assistants have transformed the way we build software &#8211; and they can be even more impactful for AI development itself and bridge the experience gap that&apos;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 &quot;Vibe NLP&quot; work for real-world problems.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/CJGBGV/</url>
            <location>Grand Hall 1</location>
            
            <attendee>Ines Montani</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>XQXNVK@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-XQXNVK</pentabarf:event-slug>
            <pentabarf:title>Keynote- Martin O&apos;Reilly- LLMs and AI agents demystified</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260607T133000</dtstart>
            <dtend>20260607T141500</dtend>
            <duration>004500</duration>
            <summary>Keynote- Martin O&apos;Reilly- LLMs and AI agents demystified</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/XQXNVK/</url>
            <location>Grand Hall 1</location>
            
            <attendee>Martin O&apos;Reilly</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>GBGB9X@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-GBGB9X</pentabarf:event-slug>
            <pentabarf:title>AI-Assisted Creative for Automated Marketing using Python</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260607T144500</dtstart>
            <dtend>20260607T153000</dtend>
            <duration>004500</duration>
            <summary>AI-Assisted Creative for Automated Marketing using Python</summary>
            <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.

This 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&#8217;ve even gone a step further by tapping into catalogue ads in paid social marketing and we&#8217;re able to deploy direct to audience-facing without any human intervention using python&#8217;s Dropbox API. 

A 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&#8217;s OpenAI API, rule-based validation, and alerting mechanisms using python&#8217;s Slack API that trigger human intervention when necessary. Plotly dash apps allow review and controlled interventions such as blacklisting problematic shows. 

While 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.

Rough timings:
0&#8211;5 min &#8212; The long-tail problem in large content catalogues
5-10 min &#8212; Examples of marketing creative
10 - 15 min &#8212; Demo of running Adobe After Effects through python
15 - 25 min &#8212; System overview: data sources, models, and orchestration
25&#8211;30 min &#8212; Making automation safe: QA layers, rules, tooling, and alerting
30&#8211;35 min &#8212; Multi-title assets and recommendation-driven content selection 
35&#8211;40 min &#8212; Key lessons, design principles, and audience Q&amp;A</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/GBGB9X/</url>
            <location>Grand Hall 1</location>
            
            <attendee>Matt Crooks</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>HAYANG@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-HAYANG</pentabarf:event-slug>
            <pentabarf:title>LLM-Based Recommendation Systems: From Embeddings to Real Personalization</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260607T153000</dtstart>
            <dtend>20260607T161500</dtend>
            <duration>004500</duration>
            <summary>LLM-Based Recommendation Systems: From Embeddings to Real Personalization</summary>
            <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.

This 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).

Topics covered include:
Using LLM embeddings for user and item representation
Hybrid retrieval pipelines combining vector search and traditional ranking models
Prompt-driven personalization and context-aware recommendations
Offline and online evaluation strategies for LLM-based recommenders
Trade-offs around latency, cost, and system complexity

The 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.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/HAYANG/</url>
            <location>Grand Hall 1</location>
            
            <attendee>&#214;zge &#199;inko</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>KDWRYR@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-KDWRYR</pentabarf:event-slug>
            <pentabarf:title>The Future of Notebooks in a Claude Code World**</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260607T161500</dtstart>
            <dtend>20260607T170000</dtend>
            <duration>004500</duration>
            <summary>The Future of Notebooks in a Claude Code World**</summary>
            <description>1. **The notebook&apos;s hidden contract** &#8212; 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 &#8212; 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&apos;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 &#8212; implicit mutable state, imperative, execution-order-dependent &#8212; and the agent&apos;s model of it degrades as state accumulates. Self-contained steps with explicit inputs and cached outputs have much better failure modes.

2. **The display surface gap** &#8212; 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.

3. **Prior art and adjacent solutions** &#8212; MCP Apps (renders UI inside Claude Desktop&apos;s chat window), chart-canvas (browser dashboard for Claude Desktop), Data Formulator (Microsoft&apos;s standalone viz tool). What each gets right, and why none of them solve the CLI agent case.

4. **The deconstructed notebook (live demo)** &#8212; 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 &#8212; preserving the notebook&apos;s narrative quality &#8212; with iteration history available but not in your face.

5. **Iteration and diffing (live demo)** &#8212; 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.

6. **What the compute substrate needs to get right** &#8212; Why &quot;just render HTML&quot; isn&apos;t enough. The notebook kernel&apos;s real job is caching &#8212; 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&apos;s expression model as one approach to these requirements.

7. **Design principles for post-notebook tooling** &#8212; Expressions are append-only and immutable &#8212; 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.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/KDWRYR/</url>
            <location>Grand Hall 1</location>
            
            <attendee>Paddy Mullen</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>BGNZLQ@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-BGNZLQ</pentabarf:event-slug>
            <pentabarf:title>Tesco AI &amp; Data Science: From Recipes to Reality</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260607T101500</dtstart>
            <dtend>20260607T110000</dtend>
            <duration>004500</duration>
            <summary>Tesco AI &amp; Data Science: From Recipes to Reality</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/BGNZLQ/</url>
            <location>Doddington Forum</location>
            
            <attendee>Julie Huang</attendee>
            
            <attendee>Kareem Hussein</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>KQDKTE@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-KQDKTE</pentabarf:event-slug>
            <pentabarf:title>Querying the queries: SQL Metaprogramming in Python</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260607T110000</dtstart>
            <dtend>20260607T114500</dtend>
            <duration>004500</duration>
            <summary>Querying the queries: SQL Metaprogramming in Python</summary>
            <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&#8209;matching, ad&#8209;hoc scripts, or one&#8209;off rewrites, approaches that are fragile and nearly impossible to generalise.

This 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.

After 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&#8209;table&#8209;heavy pipelines.

Rather 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&#8209;scale refactors.

Background required:
- Intermediate familiarity with Python (nested dictionaries, basic tree algorithms).
- Intermediate familiarity with SQL (CTEs, subqueries, aggregates)
- No prior knowledge of compiler theory or ASTs is assumed


Outline:
- 0&#8211;3 min &#8212; Motivation: Why SQL Refactoring Is Hard
-- Structural debt in real SQL codebases: duplication, inconsistencies, nested logic
-- Why regex and manual review fail at scale

3&#8211;8 min &#8212; Key Idea: Treat SQL as Data
-- What is an Abstract Syntax Tree (AST)?
-- Using Python libraries (e.g., sqloxide) to parse SQL into manipulable structures

8&#8211;15 min &#8212; Demo: Exploring Real SQL ASTs in Python
-- Show nested dictionaries representing SQL structure
-- Simple tree traversal patterns

15&#8211;25 min &#8212; Practical Refactoring Examples
-- Computing subquery depth (complexity linting)
-- Auto&#8209;aliasing aggregate expressions
-- Wrapping denominators with NULLIF()
-- Extracting table references for dependency graphs

25&#8211;32 min &#8212; Building Custom SQL Tooling
-- How these patterns generalize
-- Enforcing standards, writing linters, automating bulk rewrites
-- When AST&#8209;based tooling is worth it

32&#8211;40 min &#8212; Lessons Learned &amp; Limits + Q&amp;A
-- Homoiconicity  (Python vs Lisp for AST manipulation)</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/KQDKTE/</url>
            <location>Doddington Forum</location>
            
            <attendee>Michel Semaan</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>AMGUEK@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-AMGUEK</pentabarf:event-slug>
            <pentabarf:title>Making tech boring to keep data exciting</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260607T114500</dtstart>
            <dtend>20260607T123000</dtend>
            <duration>004500</duration>
            <summary>Making tech boring to keep data exciting</summary>
            <description>Data engineering succeeds when it disappears into the background. Not because it&#8217;s 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.

This talk tells the story of moving from that state to one where the pipeline becomes a platform:
- Predictable runs and recovery: designing for frequent ingest, safe execution windows, and fast time-to-recover when things fail.
- Incremental modernisation: migrating orchestration and execution in a way that avoids running parallel &#8220;shadow pipelines&#8221; and reduces blast radius.
- System transparency: turning a black box into something teams can interrogate &#8212; what ran, what it produced, what failed, what changed, and why.
- 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.
- 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.
- Unblocking downstream users: improving interfaces and handoffs so application, policy, and data science teams can self-serve, iterate, and trust the numbers.

The emphasis is on the big picture: how to set goals that matter (scale, resilience, extendability), how to define &#8220;done&#8221; 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 &#8212; so the work built on top of it can be exciting.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/AMGUEK/</url>
            <location>Doddington Forum</location>
            
            <attendee>Fred O&apos;Loughlin</attendee>
            
            <attendee>Kerry Parker</attendee>
            
            <attendee>Mark Cottam</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>HPJR9B@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-HPJR9B</pentabarf:event-slug>
            <pentabarf:title>The Polars vs SQL differences nobody is talking about</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260607T144500</dtstart>
            <dtend>20260607T153000</dtend>
            <duration>004500</duration>
            <summary>The Polars vs SQL differences nobody is talking about</summary>
            <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&apos;s typically missing from these comparisons is an explanation of the semantic differences.

For example:
- Why does Polars let me do `pl.col(&apos;price&apos;) - pl.col(&apos;price&apos;).mean()`, but SQL doesn&apos;t?
- Why does Polars let me filter using window functions, and how can I get SQL to?
- Are there operations that are more dangerous in Polars than in SQL?
- How do they differ when working with time zones?
- Why did SQL reorder my rows when Polars didn&apos;t?

Outline of the talk:
- Motivation: why care about Polars or about SQL?
- Relational model background, row order
- Polars model, how it differs from the relational model, and what this means for you
- Abstracting the Polars and SQL differences away in Narwhals, and advice for non-Narwhals users
- Q&amp;A

This 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.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/HPJR9B/</url>
            <location>Doddington Forum</location>
            
            <attendee>Marco Gorelli</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>QQWDVQ@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-QQWDVQ</pentabarf:event-slug>
            <pentabarf:title>From Chat-with-PDF to Quiz-Master: Live-Grading RAG with LLM-as-Judge in Python</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260607T153000</dtstart>
            <dtend>20260607T161500</dtend>
            <duration>004500</duration>
            <summary>From Chat-with-PDF to Quiz-Master: Live-Grading RAG with LLM-as-Judge in Python</summary>
            <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.

In this talk, we build a live-graded &#8220;knowledge arena&#8221;: a Python application that converts a dense technical document into an interactive quiz with two modes:
- Easy mode - automatically generated multiple-choice questions with plausible distractors
- Expert mode - free-text answers scored in real time using semantic LLM metrics

The implementation illustrates several reusable production patterns:
- **Document ingestion (Docling)**: Extracting layout, tables, and figures so evaluation covers the full source rather than plain text only.
- **Synthetic dataset generation (DeepEval)**: Creating &#8220;golden&#8221; QA pairs and automated distractors for benchmarking and training.
- **LLM-as-judge grading**: Scoring free-text answers with semantic metrics instead of brittle string matching.
- **Stateful Python UI (Marimo)**: Managing interaction and evaluation loops without custom JavaScript.

Although the interface is playful, the architecture generalises to production RAG and agentic knowledge systems for benchmarking, training, and human-in-the-loop evaluation.

This 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.

**Audience / Prerequisites**
- Intermediate Python users familiar with basic LLM and RAG concepts (embeddings, retrieval). 
- No prior experience with Docling, DeepEval, or Marimo required.

**Key Takeaways**
- A reusable LLM-as-judge evaluation pattern for RAG
- How to generate QA benchmarks from documents automatically
- Techniques for handling tables and figures in ingestion
- Where live grading fits into production workflows

Full code example available here: https://github.com/Cadarn/PyData-AI-Generated-Quiz</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/QQWDVQ/</url>
            <location>Doddington Forum</location>
            
            <attendee>Adam Hill</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>CHQLFU@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-CHQLFU</pentabarf:event-slug>
            <pentabarf:title>When Your Dataset Has Blind Spots: Practical LLM-Based Data Augmentation</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260607T161500</dtstart>
            <dtend>20260607T170000</dtend>
            <duration>004500</duration>
            <summary>When Your Dataset Has Blind Spots: Practical LLM-Based Data Augmentation</summary>
            <description>## Objective
Many 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.

## Outline
- The Data Bottleneck: Why models trained on &quot;standard&quot; food language fail to generalize to &quot;Molecular Gastronomy&quot; or niche culinary terms.
- Three Complementary Techniques:
    1. Synthetic Generation: Creating fully labeled examples for missing classes.
    2. LoRA Adapters: Fine-tuning LLMs to control style and label consistency (e.g., matching a &quot;Professional Critic&quot; tone).
    3. LLM Annotation: Labeling large volumes of messy, real-world text from social media or external scrapes.
- Validation Strategies: Addressing error amplification and bias through human agreement checks, self-consistency, and &quot;LLM-as-a-judge&quot; approaches.
- Measuring Impact: Evaluating downstream model performance via rare-class recall, calibration, and error distribution.

## Central Thesis and Takeaways
The 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.

## Background Knowledge Expected
Basic knowledge of Python and familiarity with machine learning workflows (training, labelling, and evaluation) is recommended.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/CHQLFU/</url>
            <location>Doddington Forum</location>
            
            <attendee>Ophelie Bleu</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>BAFKCL@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-BAFKCL</pentabarf:event-slug>
            <pentabarf:title>From SQL to Python: Building Data Context for Agents and People</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260607T101500</dtstart>
            <dtend>20260607T110000</dtend>
            <duration>004500</duration>
            <summary>From SQL to Python: Building Data Context for Agents and People</summary>
            <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.

After years of building data infrastructure, I&#8217;ve 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.

To reason correctly, you need data context across multiple layers:
- **Storage context -** what exists, where it lives, and how it changes
- **Metadata context** - what&#8217;s inside files, extracted signals, and hierarchical structure
- **Dataset context** - how files are grouped, reused across datasets, and versioned
- **Code context** - the Python transformations that define semantics and intent

In this talk, I&#8217;ll present a practical framework for collecting and using these layers systematically. Using DataChain as a concrete example, I&#8217;ll 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.

Attendees 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.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/BAFKCL/</url>
            <location>Hardwick Hub</location>
            
            <attendee>Dmitry Petrov</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>R7UEBE@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-R7UEBE</pentabarf:event-slug>
            <pentabarf:title>The Clean Energy Graveyard: Using Python &amp; Gemini to Map the UK&apos;s Cancelled Renewable&apos;s</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260607T110000</dtstart>
            <dtend>20260607T114500</dtend>
            <duration>004500</duration>
            <summary>The Clean Energy Graveyard: Using Python &amp; Gemini to Map the UK&apos;s Cancelled Renewable&apos;s</summary>
            <description>Within this talk, I&apos;ll go through some data on Britain&apos;s hidden energy crisis, including evaluating current quality of the Renewable Energy Planning Database (REPD), a government project that&apos;s been tracking every renewable energy project from beginnning to success/cancellation openly. 

While the data is public, it&apos;s often difficult to navigate and tells an incomplete story.

When 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.

The 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. 

The key take-aways from this talk will be:

- How to design and build AI models for the public good, to help transform byzantine systems into open data flows.
- Practical patterns for using API&apos;s to enrich datasets at scale. 
- Techniques for handling messy government data with inconsistent schemas
- How to create data visualisations that seek to tell human stories, not just difficult to understand statistics. 
- How to collaborate and work on open-source public good projects

Prior Knowledge Expected:

Basic familiarity with Python &amp; coding techniques. No prior knowledge of energy policy, LLM api&apos;s, geospatial analysis or detailed webs of council websites required. The talk is aimed at intermediate python users &amp; data scientists who want to explore how to use their skills for public good.

Target Audience:
- Data scientists interested in working with government/public sector data
- Developers exploring practical applications of LLMs past typical analysis and summarisation
- Anyone interested in climate/civic tech.

Resources:
Live Demo: nimby.bemben.co.uk
Previous Blog Post about Specific Example: https://ends.substack.com/p/faw-side-community-wind-farm
Previous Presentation Slides: github.com/dambem/nimbydex_slides


Why this talk:

This</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/R7UEBE/</url>
            <location>Hardwick Hub</location>
            
            <attendee>Damian Bemben</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>9HLYEW@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-9HLYEW</pentabarf:event-slug>
            <pentabarf:title>What We Expect from XAI - A scientist&#8217;s experience between models and users</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260607T114500</dtstart>
            <dtend>20260607T123000</dtend>
            <duration>004500</duration>
            <summary>What We Expect from XAI - A scientist&#8217;s experience between models and users</summary>
            <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.
Conceptually, an explanation provides information that allows a human observer to understand a system&#8217;s 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.
A 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&#8217;s outputs. In practice, this meant translating between different questions: domain specialists wanted to know whether the model&#8217;s 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. 
This experience motivates a closer look at what contemporary explainability methods are intended to provide to different users. Many widely used approaches&#8212;particularly post-hoc feature attribution techniques&#8212;are 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&#8217;s actual reasoning.
I unpack explainability in contemporary machine learning practice by asking what explanation methods actually guarantee&#8212;and 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.

Intended audience
The 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.
Type and tone of the talk&#8232;The 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.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/9HLYEW/</url>
            <location>Hardwick Hub</location>
            
            <attendee>Alessandra Costantino</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>3YH3WF@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-3YH3WF</pentabarf:event-slug>
            <pentabarf:title>The Human-in-the-Loop is Tired</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260607T144500</dtstart>
            <dtend>20260607T153000</dtend>
            <duration>004500</duration>
            <summary>The Human-in-the-Loop is Tired</summary>
            <description>Outline:
- The feeling: honest anecdotes from inside an AI tooling company navigating its own disruption (~8 min)
- Three named patterns: reward function disruption, intensity trap, isolation drift (~7 min)
- What&apos;s working: pre-mortems, judgment distillation, mode-switching discipline, team counter-practices (~10 min)
- The reframe: responsive design as precedent, what still matters, scarce resources are valuable (~5 min)</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/3YH3WF/</url>
            <location>Hardwick Hub</location>
            
            <attendee>Laura Summers</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>TL88MJ@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-TL88MJ</pentabarf:event-slug>
            <pentabarf:title>What Can LLMs Do with Messy Residential Electrification Data?</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260607T153000</dtstart>
            <dtend>20260607T161500</dtend>
            <duration>004500</duration>
            <summary>What Can LLMs Do with Messy Residential Electrification Data?</summary>
            <description>ResStock is an incredible tool for residential energy research, but quite tricky for anyone who isn&#8217;t 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&#8217;re writing a paper, overwhelming if you want to understand how electrification upgrades change bills or demand.

This 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 &#8220;doing the science&#8221; for us?

We 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&#8217;t just upload the parquet files. Instead, we:

- Use Python (pandas/DuckDB) to sample and aggregate the data into representative slices that fit within context limits.
- Build a clear schema description (&#8220;data card&#8221;) so the LLM understands variables, units, and constraints.
- 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.

Andrew (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.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/TL88MJ/</url>
            <location>Hardwick Hub</location>
            
            <attendee>Cedric Clyburn</attendee>
            
            <attendee>Andrew Igdal</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>RTWLPY@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-RTWLPY</pentabarf:event-slug>
            <pentabarf:title>No Ropes on a Boat: Coherent Forecasting</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260607T161500</dtstart>
            <dtend>20260607T170000</dtend>
            <duration>004500</duration>
            <summary>No Ropes on a Boat: Coherent Forecasting</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/RTWLPY/</url>
            <location>Hardwick Hub</location>
            
            <attendee>Thomas Ogden</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>AV3A3W@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-AV3A3W</pentabarf:event-slug>
            <pentabarf:title>Python Leadership and Engineering Excellence BoF</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260607T101500</dtstart>
            <dtend>20260607T111500</dtend>
            <duration>010000</duration>
            <summary>Python Leadership and Engineering Excellence BoF</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/AV3A3W/</url>
            <location>Board Room- Unconference Track</location>
            
            <attendee>Sam Joseph</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>LLVVRQ@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-LLVVRQ</pentabarf:event-slug>
            <pentabarf:title>How to write a PyData proposal</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260607T114500</dtstart>
            <dtend>20260607T123000</dtend>
            <duration>004500</duration>
            <summary>How to write a PyData proposal</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/LLVVRQ/</url>
            <location>Board Room- Unconference Track</location>
            
            <attendee>James Fielder</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>BKW3KD@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-BKW3KD</pentabarf:event-slug>
            <pentabarf:title>PyData Meetup Organizer Luncheon</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260607T123000</dtstart>
            <dtend>20260607T133000</dtend>
            <duration>010000</duration>
            <summary>PyData Meetup Organizer Luncheon</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/BKW3KD/</url>
            <location>Board Room- Unconference Track</location>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>HNKFP8@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-HNKFP8</pentabarf:event-slug>
            <pentabarf:title>Surviving (and Thriving) as a Data Professional in the Age of AI Agents</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260607T144500</dtstart>
            <dtend>20260607T153000</dtend>
            <duration>004500</duration>
            <summary>Surviving (and Thriving) as a Data Professional in the Age of AI Agents</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pydata-london-2026/talk/HNKFP8/</url>
            <location>Board Room- Unconference Track</location>
            
            <attendee>Maksym Bilychenko</attendee>
            
        </vevent>
        
    </vcalendar>
</iCalendar>
