<?xml version='1.0' encoding='utf-8' ?>
<!-- Made with love by pretalx v2026.3.0.dev0. -->
<schedule>
    <generator name="pretalx" system="cfp.pydata.org" version="2026.3.0.dev0" />
    <version>0.11</version>
    <conference>
        <title>PyData Eindhoven 2025</title>
        <acronym>pydata-eindhoven-2025</acronym>
        <start>2025-12-09</start>
        <end>2025-12-09</end>
        <days>1</days>
        <timeslot_duration>00:05</timeslot_duration>
        <base_url>https://cfp.pydata.org</base_url>
        
        <time_zone_name>UTC</time_zone_name>
        
        
        <track name="Data Engineering" slug="6089-data-engineering"  color="#f50244" />
        
        <track name="AI/Machine Learning/GenAI" slug="6090-aimachine-learninggenai"  color="#000000" />
        
        <track name="Sports Analytics hosted PySport" slug="6095-sports-analytics-hosted-pysport"  color="#084cb1" />
        
    </conference>
    <day index='1' date='2025-12-09' start='2025-12-09T04:00:00+00:00' end='2025-12-10T03:59:00+00:00'>
        <room name='Auditorium' guid='910e86ee-7648-59d0-9aaa-1276772e8e5d'>
            <event guid='c08fbf75-c60c-5e85-8c8d-d82329df2630' id='84665' code='LZRVAL'>
                <room>Auditorium</room>
                <title>Opening</title>
                <subtitle></subtitle>
                <type>Opening</type>
                <date>2025-12-09T09:00:00+00:00</date>
                <start>09:00</start>
                <duration>00:10</duration>
                <abstract>Welcome to PyData Eindhoven 2025</abstract>
                <slug>pydata-eindhoven-2025-84665-opening</slug>
                <track></track>
                
                <persons>
                    
                </persons>
                <language>en</language>
                <description>Welcome to PyData Eindhoven 2025</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/LZRVAL/</url>
                <feedback_url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/LZRVAL/feedback/</feedback_url>
            </event>
            <event guid='54373263-a549-5890-80bf-cf632f8ce90f' id='84667' code='R7NMXB'>
                <room>Auditorium</room>
                <title>Opening Keynote by Maurits Hendriks: &#8220;The Science of Showing Up&#8221;: Why Confrontation, Selection, and Data Matter in the Journey to Elite&#160;Performance</title>
                <subtitle></subtitle>
                <type>Keynote</type>
                <date>2025-12-09T09:10:00+00:00</date>
                <start>09:10</start>
                <duration>00:45</duration>
                <abstract>In elite sport, winning depends on the ability to deliver at the precise moment it matters. The Science of Showing Up examines how athletes build systems that enable performance on demand&#8212;through daily iteration, selective focus, and confronting real progress. Technology and data now amplify this process. But the key question remains: does data help us win? Only when it sharpens decision-making, accelerates learning, and keeps us connected to the essence of the sport. Data is a tool&#8212;not the destination.</abstract>
                <slug>pydata-eindhoven-2025-84667-opening-keynote-by-maurits-hendriks-the-science-of-showing-up-why-confrontation-selection-and-data-matter-in-the-journey-to-elite-performance</slug>
                <track></track>
                
                <persons>
                    
                </persons>
                <language>en</language>
                <description>Drawing on decades in Olympic and professional high-performance environments, this keynote reveals how the best athletes and teams design structures to peak at exactly the right moment. Ultimately, the science of showing up is the art of combining human resilience with intelligent systems&#8212;being ready, physically, mentally, and organizationally, when the world&#160;is&#160;watching.</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/R7NMXB/</url>
                <feedback_url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/R7NMXB/feedback/</feedback_url>
            </event>
            <event guid='ec18c0c1-5d36-57d6-9298-65a19e455786' id='82530' code='XMJ9LX'>
                <room>Auditorium</room>
                <title>Scaling Retail Planning at IKEA: Orchestrating Sales, Fulfillment and Capacity Assessment with Metaflow</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2025-12-09T10:00:00+00:00</date>
                <start>10:00</start>
                <duration>00:30</duration>
                <abstract>At IKEA, retail planning is a complex chain of processes, from sales forecasting to fulfillment and capacity assessment, that involve multiple teams. Each team builds their own predictive models independently, yet their outputs depend on one another to ensure a concise planning chain. 

In this talk, we will show how IKEA uses Metaflow, an open-source framework for building and managing real-life ML, to orchestrate and connect the forecasting pipelines for more than thirty countries. We&#8217;ll discuss how Metaflow helps align independent teams, improve readability, and enable reproducible workflows and scale. 

You will leave with practical approaches for an aligned team workflow and concrete patterns for orchestrating ML/AI pipelines.</abstract>
                <slug>pydata-eindhoven-2025-82530-scaling-retail-planning-at-ikea-orchestrating-sales-fulfillment-and-capacity-assessment-with-metaflow</slug>
                <track>Data Engineering</track>
                
                <persons>
                    <person id='83956'>Yannick Mariman</person><person id='86493'>Harlley de Lima</person>
                </persons>
                <language>en</language>
                <description>Retail planning at IKEA is more than just predicting sales, it is about connecting various forecasts that inform and depend on one another: 

Sales forecasting: How much will customers buy? 
Fulfillment planning: Can we ensure availability? 
Capacity assessment: Do our stores and distribution centers have enough capacity to handle the volume? 
Each of these domains has its own models and ways of working. Previously, these teams built and deployed everything independently. Making it difficult to align predictions and maintain visibility across the retail chain. To improve this process, IKEA adopted Metaflow as a data science platform. Metaflow provides a framework for developing, running, and monitoring pipelines. 

The patterns and solutions shared during the presentation can apply to any organization dealing with (complex) workflows, interconnected predictions, or resource/scaling challenges. 

 

Target audience: 

Data scientists, data engineers, ML practitioners, and technical leads interested in: 

Workflow orchestration and reproducibility. 
Cross-team collaboration in data science. 
Scalable forecasting systems in production environments. 
 

Background knowledge: Basic understanding of data pipelines and workflow orchestration. No Metaflow experience required. 

 

Talk outline: 

0-10 minutes: 

Introduction to IKEA&#8217;s Retail Planning 
Problems that you encounter coordinating these processes in 30+ countries 
Why traditional pipelines did not succeed 
10-15 minutes: 

What we needed: A system that could handle complex dependencies, scale and let non-engineers contribute safe and easy 
Introduce Metaflow as an OS framework solution 
 
15-25 minutes: 

Quick introduction how Metaflow works in practice 
Show how Metaflow handles the Retail Planning chain 
Show how Metaflow works together with Argo Workflows 
Show how Metaflow helps us scale and manage our resources at the same time 
 
25-30 minutes: recap and questions</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/XMJ9LX/</url>
                <feedback_url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/XMJ9LX/feedback/</feedback_url>
            </event>
            <event guid='0f122366-5cdb-5acc-bcaf-90fc6346e402' id='82089' code='NHFJJW'>
                <room>Auditorium</room>
                <title>AI-Powered Web Scraping: From Data Collection to Strategic Insights</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2025-12-09T10:45:00+00:00</date>
                <start>10:45</start>
                <duration>00:30</duration>
                <abstract>Companies today are hungry for external data to stay competitive, but actually getting and making sense of that data isn&#8217;t easy. Standard web scraping often produces messy or incomplete results, and modern anti-bot systems make reliable collection even tougher.

In this talk, I&#8217;ll share how pairing Python&#8217;s scraping frameworks (like Scrapy, Playwright, and Selenium) with AI/ML can turn raw, unstructured data into clear, actionable insights.

We&#8217;ll look at:

1) How to build scrapers that still work in 2025.

2) Ways to use AI to automatically clean, enrich, and classify data.

3) Real-world applications of sentiment analysis for reviews and social media.

4) Case studies showing how SMEs have used these pipelines to sharpen marketing and product strategies.

By the end, you&#8217;ll see how to design pipelines that don&#8217;t just gather data, but deliver real strategic value. The session will focus on practical Python tools, scalable deployment (Airflow, Kubernetes, cloud platforms), and key lessons learned from hands-on projects at the intersection of scraping and AI.</abstract>
                <slug>pydata-eindhoven-2025-82089-ai-powered-web-scraping-from-data-collection-to-strategic-insights</slug>
                <track>Data Engineering</track>
                
                <persons>
                    <person id='83591'>Yevhenii</person>
                </persons>
                <language>en</language>
                <description>Collecting web data is getting harder&#8212;between messy datasets and stronger bot defenses, traditional scraping often falls short. This talk shows how combining Python tools (Scrapy, Playwright, Selenium) with AI/ML can turn raw, unstructured data into clear insights. We&#8217;ll explore practical best practices, real-world case studies, and how SMEs use sentiment analysis pipelines to make smarter marketing and product decisions.</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/NHFJJW/</url>
                <feedback_url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/NHFJJW/feedback/</feedback_url>
            </event>
            <event guid='db845e86-347d-5f82-b38d-fb05526ac6f8' id='82556' code='LURJEK'>
                <room>Auditorium</room>
                <title>Efficient Time-Series Forecasting with Thousands of Local Models on Databricks</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2025-12-09T11:20:00+00:00</date>
                <start>11:20</start>
                <duration>00:30</duration>
                <abstract>In industries like energy and retail, forecasting often requires local models when each time series has unique behavior &#8212; though training thousands of them can be overwhelming. However, training and managing thousands of such models presents scalability and operational challenges. This talk shows how we scaled local models on Databricks by leveraging the Pandas API on Spark, and shares practical lessons on storage, reuse, and scaling challenges to make this approach efficient when it&#8217;s truly needed</abstract>
                <slug>pydata-eindhoven-2025-82556-efficient-time-series-forecasting-with-thousands-of-local-models-on-databricks</slug>
                <track>Data Engineering</track>
                
                <persons>
                    <person id='84015'>Daria Mustafina</person>
                </persons>
                <language>en</language>
                <description>Industries like energy, retail, and logistics often face a critical problem: forecasting demand or consumption for thousands of entities, each with unique patterns. Global models may miss local nuances, while training individual models can overwhelm traditional pipelines.
In this talk, we&#8217;ll explore a practical and scalable solution built on Databricks&#8212;using pandas API on spark to train and predict thousands of local models in parallel.
You&#8217;ll discover how to:
- Train and serialize ML models per group efficiently.
- Use binary model storage to overcome MLflow&#8217;s RPS limits.
- Generate and forecast future data asynchronously at scale.
We&#8217;ll discuss the trade-offs between MLflow Registry, Unity Catalog, and inline model execution, and how this approach powers forecasting for thousands of groups in the energy sector.
Whether you&#8217;re a data scientist or ML engineer, you&#8217;ll leave with actionable ideas for scaling your own forecasting workflows on Databricks</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/LURJEK/</url>
                <feedback_url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/LURJEK/feedback/</feedback_url>
            </event>
            <event guid='0889e849-14f9-5582-b485-441c5f9f7e2e' id='82392' code='9FRSYC'>
                <room>Auditorium</room>
                <title>Finding trash in waste</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2025-12-09T12:50:00+00:00</date>
                <start>12:50</start>
                <duration>00:30</duration>
                <abstract>At waste transfer stations for source separated packaging waste incoming waste trucks are visually inspected on objects that could disturb the sorting and recycling of the truck load. This is a manual procedure and in case the number of disturbing items is too high, the part of the  truck load needs to be removed. Currently, 8.5 % of the truck loads is rejected. This leads to loss of valuable plastics for recycling. We have investigated the automation of this inspection using cameras and vision foundation models. Inhouse, we developed a data pipeline where waste items are first detected, then segmented and eventually classified whether they belong to this waste stream using anomaly detection. The accepted material continues to a plastic recovery facility. This approach has led to a proof-of-principle with the potential to be implemented as a pilot-scale at a waste transfer station. The project is part of the research program &#8216;MultiPurpose Plastic Sorting&#8217; subsidised by TKI Energy &amp; Industry.</abstract>
                <slug>pydata-eindhoven-2025-82392-finding-trash-in-waste</slug>
                <track>AI/Machine Learning/GenAI</track>
                <logo>/media/pydata-eindhoven-2025/submissions/9FRSYC/20250826100916_Z1vy6UO.jpg</logo>
                <persons>
                    <person id='83871'>Tom Koopen</person>
                </persons>
                <language>en</language>
                <description>After waste collection of lightweight packaging waste, in the Netherlands known as PMD (plastic-, metaal- en drankkartons), the incoming material is visually inspected by an operator to extract contaminants that disturb the sorting and recycling. Typical contaminants are non-packaging material and large rigids and foils.

At the applied research institute NTCP, we investigated how to automate the detection process in order to have an objective method to inspect a PMD waste stream. This improves consistency and thereby quality and reduces required time needed for a thorough assessment. We decided to use cameras in a top view of the pile of items, as the inspection is performed. For every item, we first need to locate it in the image and segment the pixels of it. We built a data pipeline using vision foundation models.

To determine whether an item is considered a contaminant or PMD packaging, we found that the class of contaminants had a too broad variety to build a classification network. Therefore, we chose to explore the feasibility of anomaly detection models. Several dedicated anomaly detection models were trained. Finally, we learned that using a combination of foundation models for both visual as well textual features, resulted in a suitable distribution to distinguish contaminants from PMD packaging.

With a prototype set-up, we have showcased a proof-of-principle of a well working and promising automatic detection system on actual waste, given the variety in both PMD and&#160;contaminants. images, given the variety in both valid waste and unwanted items.</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/9FRSYC/</url>
                <feedback_url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/9FRSYC/feedback/</feedback_url>
            </event>
            <event guid='a2820937-4ece-5b2f-b913-8a84c00c7ea8' id='82472' code='RUTXQ3'>
                <room>Auditorium</room>
                <title>From &#8364;1M License to In-House Success: How We Built a Real-Time Recommendation System and Saved Millions Doing It</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2025-12-09T13:25:00+00:00</date>
                <start>13:25</start>
                <duration>00:30</duration>
                <abstract>When we at Bol decided to personalize campaign banners, we did what many companies do: bought an expensive solution. As a software engineering team with zero data science experience, we integrated a third-party recommender system for &#8364;1 million annually, built the cloud infrastructure, and waited for results. After our first season, the data told a harsh truth&#8212;the third-party tool wasn&apos;t delivering value proportional to its cost. We faced a crossroads: accept mediocrity or build our own solution from scratch, tailored to our requirements and architecture.
We&apos;ll walk you through our journey of building a more intelligent and flexible recommendation system from the ground up, and how this journey saved us over a million euros per year. We will share the incremental steps that shaped our journey, alongside the valuable lessons learned along the way</abstract>
                <slug>pydata-eindhoven-2025-82472-from-1m-license-to-in-house-success-how-we-built-a-real-time-recommendation-system-and-saved-millions-doing-it</slug>
                <track>AI/Machine Learning/GenAI</track>
                
                <persons>
                    <person id='84547'>ALI KOHAN</person>
                </persons>
                <language>en</language>
                <description>We started our journey of developing an in-house personalized banner recommendation system at Bol, by replacing an expensive third-party tool. We are going to talk about our decisions from ML to explore-exploit balance of our recommendations, sharing our story of building the system from scratch.</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/RUTXQ3/</url>
                <feedback_url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/RUTXQ3/feedback/</feedback_url>
            </event>
            <event guid='28bc8284-aedd-5a68-ad19-6b90340a780d' id='85836' code='JBPQS9'>
                <room>Auditorium</room>
                <title>Federated Data, Centralized Action: A Governance Model Powered by Lakewatch and Databricks System Tables</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2025-12-09T14:10:00+00:00</date>
                <start>14:10</start>
                <duration>00:30</duration>
                <abstract>In federated data architectures, balancing team autonomy with accountability is a critical challenge. This presentation introduces our 3 pillar-based governance model that transforms raw Databricks System Tables into actionable scorecards for cost efficiency and best practices.</abstract>
                <slug>pydata-eindhoven-2025-85836-federated-data-centralized-action-a-governance-model-powered-by-lakewatch-and-databricks-system-tables</slug>
                <track>Data Engineering</track>
                
                <persons>
                    <person id='86955'>Cristiano Cortez Da Rocha</person><person id='86956'>Frank Chidi Mbonu</person>
                </persons>
                <language>en</language>
                <description>Learn how this approach drives centralized action, empowers domain teams, and eliminates governance bottlenecks while optimizing Databricks-related costs.</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/JBPQS9/</url>
                <feedback_url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/JBPQS9/feedback/</feedback_url>
            </event>
            <event guid='e6312fd3-bd18-5df6-ba2e-3c007d32ea4d' id='85302' code='TN83BD'>
                <room>Auditorium</room>
                <title>Building, Deploying and Managing AI Agents at Scale</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2025-12-09T14:45:00+00:00</date>
                <start>14:45</start>
                <duration>00:30</duration>
                <abstract>This session delivers a blueprint for building, deploying, and managing agents in a secure, scalable, and cost-effective manner on Google Cloud, bridging the critical gap between development and operations.</abstract>
                <slug>pydata-eindhoven-2025-85302-building-deploying-and-managing-ai-agents-at-scale</slug>
                <track>AI/Machine Learning/GenAI</track>
                
                <persons>
                    <person id='86427'>Sander van Donkelaar</person>
                </persons>
                <language>en</language>
                <description>The hype around Agentic AI is real, but so are the challenges. Creating a single agent is straightforward.. But how do you scale effectively? If you don&apos;t do it properly, critical issues will arise: spiraling costs, fragmented oversight, and major governance risks. Your agents need to be governed by a set of fundamental design principles. In other words, you need a platform. But what does a &#8220;platform&#8221; truly mean in practice? Sander will provide a pragmatic deep dive&#8212;no hype, no superficial demos&#8212;into the key pillars of this foundational platform: - Infrastructure &amp; Serving: reliable serving patterns with Vertex AI Agent Engine. - State &amp; Memory: Implementing session management and long-term memory for personalized interactions using Google Cloud&apos;s MemoryBank. - Orchestration: Using frameworks like Google&apos;s Agent-Development-Kit (ADK) - Integration: We will take a look into the different options to connect your agents with external services and data. - Security: Highlighting current authentication and authorization challenges for autonomous agents. - Governance &amp; Cost Control: Establishing robust guardrails for cost, security, and compliance from day one. - Observability &amp; Evaluation: Implementing rigorous monitoring and evaluation to prove business value and ensure reliability. This talk offers a pragmatic, engineering-focused approach to building a resilient, manageable, and impactful AI agent ecosystem on Google Cloud.</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/TN83BD/</url>
                <feedback_url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/TN83BD/feedback/</feedback_url>
            </event>
            <event guid='ecb7edc2-c1d4-50c4-9517-6f84cff1bd83' id='85703' code='8YNNH9'>
                <room>Auditorium</room>
                <title>Responsible Human-Agent Ecosystem: Making Mission Critical Systems Situationally Aware</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2025-12-09T15:20:00+00:00</date>
                <start>15:20</start>
                <duration>00:30</duration>
                <abstract>Modern mission-critical systems operate in environments that change by the second. To keep up, they need more than static maps and siloed data, they need true situational awareness. This talk explores how we are building a Responsible Human-Agent Ecosystem that combines high-resolution 3D geospatial data, real-time sensor fusion, and AI-driven agents to help mission-critical platforms understand the world the way humans do- but faster and at scale.</abstract>
                <slug>pydata-eindhoven-2025-85703-responsible-human-agent-ecosystem-making-mission-critical-systems-situationally-aware</slug>
                <track>AI/Machine Learning/GenAI</track>
                
                <persons>
                    <person id='86767'>Ipsit Dash</person><person id='86768'>Bart-Peter Smit</person>
                </persons>
                <language>en</language>
                <description>Using technologies such as 3D digital twins, computer vision, and predictive ML models, our systems create a live, interactive view of the internal working of a large, multi-system operational environment. AI agents can detect anomalies, track threats, reason about context, and support operators with transparent, trustworthy insights.
For developers and technologists, this work sits at the intersection of AI, geospatial engineering, high-performance computing, and human-centered design offering a chance to build systems that truly matter. Join us to see how cutting-edge tech is shaping the next generation of situationally aware capabilities.</description>
                <recording>
                    <license></license>
                    <optout>true</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/8YNNH9/</url>
                <feedback_url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/8YNNH9/feedback/</feedback_url>
            </event>
            <event guid='847a2755-a969-5b3c-b108-55ef00a20e5d' id='84668' code='XTSZYZ'>
                <room>Auditorium</room>
                <title>Hier is Vincent. E&#233;n en al oor.</title>
                <subtitle></subtitle>
                <type>Keynote</type>
                <date>2025-12-09T15:55:00+00:00</date>
                <start>15:55</start>
                <duration>00:30</duration>
                <abstract>Can we unlock heritage by engaging in dialogue with it?</abstract>
                <slug>pydata-eindhoven-2025-84668-hier-is-vincent-een-en-al-oor</slug>
                <track></track>
                
                <persons>
                    <person id='85917'>Rob Mulder</person>
                </persons>
                <language>en</language>
                <description>Can the public engage directly with Vincent van Gogh? Based on more than 800 letters in which he describes his circumstances, work and emotions, a so-called Digital Twin has been developed. Enriched with additional sources and skills, and created with respect for copyrights, ethics and privacy. This gives the public the opportunity to experience his thoughts, struggles, vulnerability, and passion in a vivid and meaningful encounter.</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/XTSZYZ/</url>
                <feedback_url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/XTSZYZ/feedback/</feedback_url>
            </event>
            <event guid='e1839d6f-6e8e-5ba4-969c-10cbc982d51b' id='84670' code='PHUKC8'>
                <room>Auditorium</room>
                <title>Closing</title>
                <subtitle></subtitle>
                <type>Closing</type>
                <date>2025-12-09T16:25:00+00:00</date>
                <start>16:25</start>
                <duration>00:15</duration>
                <abstract>Closing</abstract>
                <slug>pydata-eindhoven-2025-84670-closing</slug>
                <track></track>
                
                <persons>
                    
                </persons>
                <language>en</language>
                <description>Closing</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/PHUKC8/</url>
                <feedback_url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/PHUKC8/feedback/</feedback_url>
            </event>
            
        </room>
        <room name='Ernst-Curie' guid='beaaa232-c1cd-5e55-9486-89a54685807e'>
            <event guid='7442d293-6c23-5f52-8fb3-30572dd91143' id='79874' code='7GEDFP'>
                <room>Ernst-Curie</room>
                <title>Developing a Nation-Wide Padel Rating System: A Data-Driven Approach</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2025-12-09T10:00:00+00:00</date>
                <start>10:00</start>
                <duration>00:30</duration>
                <abstract>Padel has been one of the fastest-growing sports in the Netherlands in recent years. While it initially benefited from the rating facilities of its &#8216;big brother&#8217; tennis, the KNLTB decided in 2024 to develop a dedicated, tailor-made rating system for padel, which has been in effect since 2025. The development process involved extensive analyses, simulations, and probability modeling on data from more than 300,000 padel matches, complemented by recommendations from the field.

In this presentation, the audience will be taken through the technical development process, as well as the unique characteristics of padel that were crucial in creating an effective rating system.</abstract>
                <slug>pydata-eindhoven-2025-79874-developing-a-nation-wide-padel-rating-system-a-data-driven-approach</slug>
                <track>Sports Analytics hosted PySport</track>
                
                <persons>
                    <person id='80763'>Max Brouwer</person>
                </persons>
                <language>en</language>
                <description>Elo systems are widely used to estimate player levels in situations where everyone plays against different opponents. The principle is simple: after each match, your rating shifts based on the expected win probability. Beating a stronger team increases your rating more than beating a weaker one.
In the Netherlands, padel initially used the existing tennis rating system. But tennis and padel have different characteristics that make this challenging. In tennis, a rating gap often translates quite predictably into a win probability. In padel, more factors come into play: mixed-gender teams, asymmetric pairings (e.g., two men versus a man and a woman), and the sport&#8217;s specific match dynamics. 
Developing an effective padel rating system is a real-world problem. We found that data analysis is crucial, but without sport-specific knowledge and context, conclusions can be misleading.
We analyzed data from more than 300,000 padel matches and tested a range of models&#8212;from standard Elo variants to fully custom-built algorithms. Each system was evaluated on, amongst other things,  two core metrics: speed (how quickly a system converges to a realistic player level) and efficiency (how stable ratings remain without unnecessary fluctuations).
This presentation will walk through the technical process, the model comparisons, and the padel-specific decisions that led to a rating system designed to work in real competition.</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/7GEDFP/</url>
                <feedback_url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/7GEDFP/feedback/</feedback_url>
            </event>
            <event guid='751df793-9198-5995-81ce-65a070a441fd' id='82527' code='38RZBP'>
                <room>Ernst-Curie</room>
                <title>Identifying playstyles in football through spatial networks</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2025-12-09T11:20:00+00:00</date>
                <start>11:20</start>
                <duration>00:30</duration>
                <abstract>Breaking away from traditional manual video analysis, this talk introduces a data-driven approach to automatically identify football playstyles in key moments before a shot on goal , using tracking and event data. By applying network science , which studies relationships and interactions within complex systems, we objectively analyze attacking and defensive strategies. Key spatial network metrics are used to reveal diverse playstyles through clustering techniques. The session concludes with insights into the results and possible applications of these findings in football analysis.</abstract>
                <slug>pydata-eindhoven-2025-82527-identifying-playstyles-in-football-through-spatial-networks</slug>
                <track>Sports Analytics hosted PySport</track>
                
                <persons>
                    <person id='83955'>Annemarijn Blom</person>
                </persons>
                <language>en</language>
                <description>Football analysts and coaches rely on manual video analysis to identify playstyles and tactical behaviors, a process that is time-consuming and often subjective. This talk introduces an innovative approach that leverages tracking and event data to automatically identify playstyles in the critical moments leading up to a shot on goal. By employing advanced network science and football analytics, this method offers a comprehensive and objective analysis of both attacking and defensive strategies.

In this presentation, we will start with the introduction of spatial networks, where we approach football players as an undirected graph. Then, we will look into the developed spatial network metrics that are used in the identification of playstyles. These are summarized into three groups, measuring space control, pressure, and connectivity. With these metrics, we can use clustering techniques to obtain different attacking and defending playstyles. We conclude with the results of the clustering techniques and the possible interpretation and applications of the results.</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/38RZBP/</url>
                <feedback_url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/38RZBP/feedback/</feedback_url>
            </event>
            <event guid='74395091-486b-5771-95e9-99b34a285a0f' id='82438' code='9KFFYT'>
                <room>Ernst-Curie</room>
                <title>FootballBERT: Encoding player identity in vectors with Transformers.</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2025-12-09T12:50:00+00:00</date>
                <start>12:50</start>
                <duration>00:30</duration>
                <abstract>FootballBERT introduces a new way of representing football players &#8212; not as static IDs or statistical aggregates that fluctuate wildly over short periods, but as contextual embeddings learned directly from match data.
Built on a Transformer architecture and trained through a Masked Player Prediction (MPP) objective, FootballBERT captures how a player&#8217;s identity emerges from teammates, opponents, and coaches tactical demands &#8212; much like BERT learns word meaning from sentences.
Openly released on Hugging Face, FootballBERT is a plug-and-play foundation model whose embeddings can be integrated into any downstream system, paving the way for player-aware analytics across performance modeling, recruitment and prediction.</abstract>
                <slug>pydata-eindhoven-2025-82438-footballbert-encoding-player-identity-in-vectors-with-transformers</slug>
                <track>Sports Analytics hosted PySport</track>
                <logo>/media/pydata-eindhoven-2025/submissions/9KFFYT/footballbert_UB71YnD.png</logo>
                <persons>
                    <person id='83928'>Achraff ADJILEYE</person>
                </persons>
                <language>en</language>
                <description>In football analytics, player identity is still often encoded using one-hot vectors or individual statistics &#8212; highly volatile over short time periods. Such approaches ignore the relational context between teammates and opponents, and coaches tactical demands.

FootballBERT changes that paradigm. Inspired by NLP breakthroughs, it applies the Transformer architecture to lineup data, learning contextual player embeddings through a Masked Player Prediction (MPP) objective. Each embedding encodes a player&#8217;s identity through patterns of who they play with, against, and under which tactical setups.

In this talk, I&#8217;ll walk through:

- Why embedding player identity into dense vectors matters for football analytics.

- How FootballBERT is trained end-to-end from raw lineup data and positional features across 170K+ matches.

- Empirical insights on what these embeddings capture &#8212; especially their ability to generalize across leagues.

- How such representations enable downstream applications like BALLER-Transfer Portal, an AI model that predicts how any player would perform in any tactical context with unprecedented granularity.

This session bridges deep learning, transformers, and sports data science &#8212; showing how domain-specific foundation models like FootballBERT can power the next generation of context-aware analytics.
Whether you&#8217;re an ML researcher, AI engineer, or football data scientist, you&#8217;ll leave with a concrete understanding of how to build, train, and apply transformer models beyond text &#8212; starting from real-world, messy data.</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/9KFFYT/</url>
                <feedback_url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/9KFFYT/feedback/</feedback_url>
            </event>
            <event guid='8deed598-b0f2-5d09-84f5-a16f639df3d3' id='82187' code='AHXR33'>
                <room>Ernst-Curie</room>
                <title>Football is complex, but your code doesn&#8217;t have to be &#8212; meet DataBallPy and a practical deep dive into pressing</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2025-12-09T13:25:00+00:00</date>
                <start>13:25</start>
                <duration>00:30</duration>
                <abstract>DataBallPy is an open-source Python package that quickly starts your analysis of a football-related question. In the current talk, we will introduce the core features and functionalities of DataBallPy using code examples with compelling visualisations. The second part of the talk will showcase a practical example of how the Royal Belgian Football Association (RBFA) has used components of DataBallPy to analyse the effectiveness and efficiency of pressuring the opponent in over 200 games. Taken together, this talk will give you a clear starting point of how to start answering your football-related questions.</abstract>
                <slug>pydata-eindhoven-2025-82187-football-is-complex-but-your-code-doesn-t-have-to-be-meet-databallpy-and-a-practical-deep-dive-into-pressing</slug>
                <track>Sports Analytics hosted PySport</track>
                
                <persons>
                    <person id='83676'>Alexander Oonk</person><person id='83677'>Tygo Nikamp</person>
                </persons>
                <language>en</language>
                <description>Answering complex data-driven questions about football tactics is a lot of fun. Trying to parse football data, synchronize tracking and event data, and determine which individual player actually has ball possession is just tedious work, which limits the time to actually answer the questions you wanted to answer in the first place. DataBallPy is an open-source Python package designed to abstract away these repetitive tasks, allowing analysts and developers to focus on building models and answering their questions.
In the first half of this talk, we introduce DataBallPy&#8217;s architecture and core functionality (and how it differs from existing packages like Kloppy). Using code examples, we will show how you can perform multiple preprocessing steps and visualise the data, and we will showcase some of the implemented features. Equally important, we value transparency and education. Therefore, we have some elaborate documentation on how all features are implemented. In short, DataBallPy will quickstart your process in answering your questions.
The second half of the talk presents a practical case study: how the Royal Belgian Football Federation (RBFA) uses open-source packages, among which DataBallPy, to analyse the efficiency and effectiveness of pressuring the opponent. The RBFA was inspired by the Common Data Format (CDF) (Anzer et al., 2025) to document and store data. Similarly, DataBallPy functionalities were made to work with the CDF as intended. The research builds on Bekkers&#8217; pressing model, which uses the Time To Intercept (TTI) concept to estimate how quickly a defender can reach a specific target location on the pitch, allowing it to represent pressure. During the talk, we will showcase how the RBFA got to answer the following two questions: (1) Does external load differ significantly between successful and unsuccessful pressing actions? and (2) How does external load vary across pressing actions initiated from high-, mid-, and low-block defensive positions?</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/AHXR33/</url>
                <feedback_url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/AHXR33/feedback/</feedback_url>
            </event>
            <event guid='c82ffd21-514b-54d2-868e-c3bd050c9021' id='81070' code='GGZ9TA'>
                <room>Ernst-Curie</room>
                <title>Planning Hockey Careers With Python</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2025-12-09T14:10:00+00:00</date>
                <start>14:10</start>
                <duration>00:30</duration>
                <abstract>How can data science help young athletes navigate their careers? In this talk, I&#8217;ll share my experience building a career path planner for aspiring ice hockey players. The project combines player performance data, career path patterns, and predictive modeling to suggest possible development paths and milestones. Along the way, I&#8217;ll discuss the challenges of messy sports data and communicating insights in a way that resonates with non-technical users like coaches, parents, and players.</abstract>
                <slug>pydata-eindhoven-2025-81070-planning-hockey-careers-with-python</slug>
                <track>Sports Analytics hosted PySport</track>
                
                <persons>
                    <person id='82524'>Jaroslav Bezdek</person>
                </persons>
                <language>en</language>
                <description>## Objective

To share the process of building a data-driven career path planner for young hockey players, highlighting both the technical challenges and the broader impact of applying data science in real-world decision-making.

## Outline

- Why hockey (and why career planning matters in sports)
- Data collection &amp; wrangling: turning messy, incomplete performance records into usable data
- Modeling progression: techniques to identify likely career trajectories and milestones
- Communicating results: designing tools that resonate with non-technical stakeholders (players, coaches, parents)
- Lessons learned: challenges, surprises, and what translates to other domains beyond sports

## Central Thesis

Data science can provide valuable guidance in high-stakes, personal decision-making &#8212; but building tools for non-technical users requires more than just models. It demands thoughtful data cleaning, careful feature selection, and communication strategies that make insights accessible and actionable.

## Audience

This talk is for data scientists, analysts, and practitioners who are curious about applying machine learning to sports. It will appeal both to those interested in the technical process (data wrangling, predictive modeling) and those interested in building data products that impact real people.

## Tone / Type of Talk

Informative and light-hearted &#8212; grounded in practical data challenges, with a touch of storytelling from the hockey world. This is not a heavily mathematical talk at all, suitable for broader audience as well.

## Key Takeaways

- How to wrangle and model messy sports data for career planning use cases.
- How to design predictive models that communicate uncertainty and possible paths.
- Lessons on building data tools for non-technical stakeholders.
- Inspiration for applying data science to creative and impactful real-world problems.

## Background Knowledge Expected

No prior knowledge of hockey is required &#8212; we&#8217;ll keep the sports side light and fun.</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/GGZ9TA/</url>
                <feedback_url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/GGZ9TA/feedback/</feedback_url>
            </event>
            <event guid='55f9d9b3-0dfb-557a-94a3-328f5b336874' id='82416' code='EGJV7E'>
                <room>Ernst-Curie</room>
                <title>Optimizing fantasy basketball decisions with Python: linear &amp; integer programming for roster management</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2025-12-09T14:45:00+00:00</date>
                <start>14:45</start>
                <duration>00:30</duration>
                <abstract>Fantasy basketball involves daily decisions: which players to start, who to pick up from free agency, and how to balance competing objectives across multiple statistical categories. This talk demonstrates how linear programming and integer programming can help solving those problems.

Using Python library PuLP  we&apos;ll explore when to use linear programming versus integer programming, how to formulate constraints for roster decisions, and how to handle different league formats. Through practical examples, we&apos;ll build optimizers for start/sit decisions and free agency streaming.</abstract>
                <slug>pydata-eindhoven-2025-82416-optimizing-fantasy-basketball-decisions-with-python-linear-integer-programming-for-roster-management</slug>
                <track>Sports Analytics hosted PySport</track>
                
                <persons>
                    <person id='83905'>Pawel Kapuscinski</person>
                </persons>
                <language>en</language>
                <description>Core Content:
This talk teaches Linear and Integer Programming fundamentals through fantasy basketball examples, demonstrating when to use each approach for optimization problems.

Session Structure:

 -Linear programming fundamentals
- Integer programming fundamentals 
- Demo: start/sit optimization
- Demo: free agency optimization 
- Real life applications

I will also explain rules of different fantasy basketball formats.
Prior Knowledge Expected:
Python (no basketball knowledge needed but not hating on sports will help)</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/EGJV7E/</url>
                <feedback_url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/EGJV7E/feedback/</feedback_url>
            </event>
            <event guid='30326fe9-9768-5222-8dc4-eca155ced0af' id='82550' code='K9LDVT'>
                <room>Ernst-Curie</room>
                <title>xReceiver: a GNN approach to the evaluation of the decision-making process of passing options in football</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2025-12-09T15:20:00+00:00</date>
                <start>15:20</start>
                <duration>00:30</duration>
                <abstract>The process of decision-making in football is characterized by a complex interplay between spatial positioning, opponent pressure, and player intent. In this research, we introduce xReceiver, a real-time Graph Neural Network (GNN) framework designed to predict the optimal passing target by modeling on-field interactions as dynamic graphs. Each player is represented as a node with positional and contextual features, while potential passing lines form weighted edges characterized by distance, angle, and pressure metrics. We have developed a Message-Passing Neural Network (MPNN) that is trained using a combination of tracking data and event data from professional matches. Our model achieves 65.22% accuracy in identifying the actual chosen receiver and 95.65% accuracy within its top three suggestions. xReceiver further offers quantification of each option&apos;s likelihood, threat, and creativity, enabling performance analysts to evaluate over 1,000 passes in seconds.</abstract>
                <slug>pydata-eindhoven-2025-82550-xreceiver-a-gnn-approach-to-the-evaluation-of-the-decision-making-process-of-passing-options-in-football</slug>
                <track>Sports Analytics hosted PySport</track>
                
                <persons>
                    <person id='84011'>Gabriel Masella</person>
                </persons>
                <language>en</language>
                <description>During my internship at the Royal Belgian FA, my supervisor received a request from the performance analyst: how can we analyse the quality of passes using AI? 
We generally consider a player to be a good passer if most of their passes are successful, but sometimes passing the ball to that player is not the right option if there is someone else who is less marked and in a better position! Can players really identify the right teammate in the right situation? 

Outline of what will be discussed during the talk:

1. Introduction (2&#8211;3 minutes).
2. From data to graph through synchronization (5 minutes).
3. Graph Neural Networks (5 minutes)
4. The xReceiver model (7-8 minutes)
5. Applications in Opponent Analysis and Scouting (5 minutes)

Questions and feedback will be welcomed at the end, since these can really help with the improvements of this project.</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/K9LDVT/</url>
                <feedback_url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/K9LDVT/feedback/</feedback_url>
            </event>
            
        </room>
        <room name='Planck-Bohr' guid='d766d663-e4a5-5fa6-a64a-747c6928700e'>
            <event guid='3233f876-ee51-5be8-97a3-2e425b3ac73e' id='81860' code='9KLLZY'>
                <room>Planck-Bohr</room>
                <title>Beyond One Model: Scaling, Orchestrating &amp; Monitoring</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2025-12-09T10:00:00+00:00</date>
                <start>10:00</start>
                <duration>00:30</duration>
                <abstract>Training one model is fun. Running thousands without everything catching fire? That&#8217;s the real challenge. In this talk, we&#8217;ll show how we &#8212; two data scientists turned accidental ML engineers &#8212; scaled anomaly detection at Vanderlande. Expect a peek into our orchestration setup, a quick code snippet, a look at our monitoring dashboard and how we scale to a thousand models.</abstract>
                <slug>pydata-eindhoven-2025-81860-beyond-one-model-scaling-orchestrating-monitoring</slug>
                <track>AI/Machine Learning/GenAI</track>
                <logo>/media/pydata-eindhoven-2025/submissions/9KLLZY/ML_pipeline_t_6Bwqz7S.webp</logo>
                <persons>
                    <person id='83350'>Azucena Morales</person><person id='85951'>Vi Chu</person>
                </persons>
                <language>en</language>
                <description># Description

Building a single machine learning model is one challenge. Running thousands of them in production &#8212; reliably, efficiently, and transparently &#8212; is another. As Vanderlande adopted its use of anomaly detection, we faced the reality that success wasn&#8217;t about the accuracy of one model, but about the MLOps infrastructure to scale, orchestrate, and monitor many.

We are two data scientists who gradually found ourselves tackling problems that look a lot more like ML engineering. In this session, we&#8217;ll share our journey in a practical and informal way, showing the real steps we took, the hurdles we hit, and the solutions we built.

We&#8217;ll walk through the orchestration layer that coordinates training and deployment for thousands of models, highlight practical solutions for scaling pipelines, and discuss how we keep the system resilient when failures occur. A short code snippet will illustrate how lightweight the deployment process can be, and we&#8217;ll close with a look at the monitoring framework that provides visibility and reliability across the entire fleet.

Whether you are just starting to scale your ML initiatives or already struggling with operational complexity, this talk will offer lessons learned and concrete practices for moving beyond one model.
 
# Outline 
**1. Vanderlande&#8217;s use case (5 min)**  
- Vanderlande specific use case
- Anomaly detection at scale 
- Why *beyond one model* became a necessity  
 
**2. Machine learning orchestration &amp; pipeline (13 min)**  
- Intro: One model ML Architecture
- Architecture &amp; orchestration design for multiple models
- Isolated pipelines to avoid cascading failures   
 
**3. Code snippet &amp; peek into monitoring (7 min)**  
- Inference orchestrator code example  
- CI/CD deployment pipeline 
- Monitoring framework: jobs, models, anomalies at scale  
- Lessons learned &amp; what we&#8217;d do differently  
 
**4. Wrap-up &amp; Q&amp;A (5 min)**  
- Key takeaways  
- Quick audience questions</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/9KLLZY/</url>
                <feedback_url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/9KLLZY/feedback/</feedback_url>
            </event>
            <event guid='bd4c27ac-934d-50f7-a29d-eb6c381c7fe7' id='82545' code='EMUNDT'>
                <room>Planck-Bohr</room>
                <title>From Data Lake Entanglement to Data Mesh Decoupling: Scaling a Self-Service Data Platform</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2025-12-09T11:20:00+00:00</date>
                <start>11:20</start>
                <duration>00:30</duration>
                <abstract>Our data platform journey started with a classic data lake &#8212; easy to ingest, hard to evolve. As domains scaled, tight coupling across source systems, pipelines, and data products slowed everything down. In this talk, we share how we re-architected toward a domain-oriented data mesh using PySpark, Delta Lake and DQX to achieve true decoupling. Expect practical lessons on designing independent data products, managing lineage and governance, and scaling self-service without chaos.</abstract>
                <slug>pydata-eindhoven-2025-82545-from-data-lake-entanglement-to-data-mesh-decoupling-scaling-a-self-service-data-platform</slug>
                <track>Data Engineering</track>
                
                <persons>
                    <person id='84007'>Geert Jongen</person>
                </persons>
                <language>en</language>
                <description>1. What exactly is architectural decoupling
2. Identify how hidden coupling creeps into data lakes and data meshes.
3. Learn technical design patterns for decoupling ingestion, transformation, and ownership using open tools.
4. Understand how to scale self-service data mesh principles without breaking governance or lineage integrity.</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/EMUNDT/</url>
                <feedback_url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/EMUNDT/feedback/</feedback_url>
            </event>
            <event guid='2a2afa02-0c98-59c8-811f-2a53b18db1fc' id='82421' code='J3ECG7'>
                <room>Planck-Bohr</room>
                <title>Scaling Python to thousands of nodes with Ray</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2025-12-09T12:50:00+00:00</date>
                <start>12:50</start>
                <duration>00:30</duration>
                <abstract>Python is the language of choice for anything to do with AI and ML. While that has made it easy to write code for one machine, it&apos;s much more difficult to run workloads across clusters of thousands of nodes. Ray allows you to do just that. I&apos;ll demonstrate how to implement this open source tool with a few lines of code. As a demo project, I&apos;ll show how I built a RAG for the Wheel of Time series.</abstract>
                <slug>pydata-eindhoven-2025-82421-scaling-python-to-thousands-of-nodes-with-ray</slug>
                <track>Data Engineering</track>
                
                <persons>
                    <person id='83909'>Rob de Wit-Liezenga</person>
                </persons>
                <language>en</language>
                <description>DESCRIPTION

I don&#8217;t read as much as I used to. As a result, ploughing through the Wheel of Time series by Robert Jordan has become a multi-year project for me. With 2787 named characters across 14 books, I often have to search on wikis for what happened six books ago. And who was that one minor character again&#8230;?

With AI we can do better. What if I fine-tuned an LLM with RAG to help me keep track of the entire saga? I could ask questions and it would give me spoiler-free answers&#8230; &#10024;&#8232;

Whipping up a few lines of Python to train and tune models is easier than ever. But while executing scripts on a laptop or VM is trivial, it becomes much more difficult when you want to parallellize such a workload across an entire cluster. That&#8217;s where Ray comes in. With a few lines of code, we can modify our code to distribute our model training to tens or hundreds of machines. If you ever wondered how you companies like OpenAI train foundational models: this is how.&#8232;

In this talk, I&#8217;ll cover Ray&#8217;s core concepts and show how to bring it in action. I&#8217;ll introduce Ray tasks and actors, and show how to set up large-scale pipelines with Ray Data. As a demo project, I&#8217;ll finetune an LLM to help me with my Wheel of Time read-through. And I&#8217;ll show how can scale your workloads from a single machine to thousands of nodes.

AGENDA

1. Introduction (2m)
2. Problem (3m)
3. Ray explained (10m)
4. Demo project (10m)
5. Conclusion and takeaways (5m)

KEY TAKEAWAYS

- For AI workloads we need frameworks that are hardware-agnostic and work on both CPUs and GPUs
- With Ray tasks and actors, we can achieve distributed computing with just a few decorators
- Automatic up- and downscaling is a must if you want to keep your cloud bill in check
- While a literary masterpiece, The Wheel of Time has too many characters and some pacing issues</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/J3ECG7/</url>
                <feedback_url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/J3ECG7/feedback/</feedback_url>
            </event>
            <event guid='7704351d-062c-5f81-9264-254b0c1518f9' id='81604' code='E7QMDN'>
                <room>Planck-Bohr</room>
                <title>Extending SQL Databases with Python</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2025-12-09T13:25:00+00:00</date>
                <start>13:25</start>
                <duration>00:30</duration>
                <abstract>What if your database could run Python code inside SQL? In this talk, we&#8217;ll explore how to extend popular databases using Python, without needing to write a line of C.

We&#8217;ll cover three systems&#8212;SQLite, DuckDB, and PostgreSQL&#8212;and show how Python can be used in each to build custom SQL functions, accelerate data workflows, and prototype analytical logic. Each database offers a unique integration path:
- SQLite and DuckDB allow you to register Python functions directly into SQL via sqlite3.create_function, making it easy to inject business logic or custom transformations.
- PostgreSQL offers PL/Python, a full-featured procedural language for writing SQL functions in Python. We&#8217;ll also touch on advanced use cases, including embedding the Python interpreter directly into a PostgreSQL extension for deeper integration.

By the end of this talk, you&#8217;ll understand the capabilities, limitations, and gotchas of Python-powered extensions in each system&#8212;and how to choose the right tool depending on your use case, whether you&#8217;re analyzing data, building pipelines, or hacking on your own database.</abstract>
                <slug>pydata-eindhoven-2025-81604-extending-sql-databases-with-python</slug>
                <track>Data Engineering</track>
                
                <persons>
                    <person id='83100'>Florents Tselai</person>
                </persons>
                <language>en</language>
                <description>1. Introduction (3 min)
	&#8226;	Who this talk is for: devs, data engineers, extension hackers
	&#8226;	Motivation: why embed Python in databases?
	&#8226;	Overview of the 3 systems (SQLite, DuckDB, PostgreSQL)

2. SQLite &amp; DuckDB: Python Functions via sqlite3.create_function (7 min)
	&#8226;	How sqlite3.create_function() works in SQLite
	&#8226;	Example: creating a simple text-processing SQL function in Python
	&#8226;	Use cases: rapid prototyping, lightweight data pipelines

3. PostgreSQL with PL/Python (6 min)
	&#8226;	Enabling and using the PL/Python extension
	&#8226;	Writing SQL functions in Python
	&#8226;	Pros and limitations (e.g., sandboxing, permissions, virtualenvs)

4. Advanced: Embedding Python into PostgreSQL Extensions (7 min)
	&#8226;	Writing PostgreSQL extensions in C that embed Python
	&#8226;	Use cases: integrating ML models, custom procedural logic
	&#8226;	Short demo or diagram: C + Python working inside Postgres

5. Trade-offs and Comparison (3 min)
	&#8226;	Performance, deployment, complexity, ecosystem
	&#8226;	When to use which approach

6. Q&amp;A (4 min)
	&#8226;	Invite questions and deeper discussion from the audience</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/E7QMDN/</url>
                <feedback_url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/E7QMDN/feedback/</feedback_url>
            </event>
            <event guid='a2fd8090-6ee8-58f8-9431-52f7bc7ef0dd' id='85298' code='GJNEKL'>
                <room>Planck-Bohr</room>
                <title>CompactifAI: Quantum-Inspired AI Model Compression</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2025-12-09T14:10:00+00:00</date>
                <start>14:10</start>
                <duration>00:30</duration>
                <abstract>Large AI models have become powerful but increasingly impractical; with escalating training costs, bloated memory requirements, and latency bottlenecks that limit real-world deployments. This talk introduces CompactifAI: a quantum-inspired compression framework that uses tensor networks to surgically shrink large models while preserving their accuracy and capabilities.</abstract>
                <slug>pydata-eindhoven-2025-85298-compactifai-quantum-inspired-ai-model-compression</slug>
                <track>AI/Machine Learning/GenAI</track>
                
                <persons>
                    <person id='86422'>Jon Lei&#241;ena Otamendi</person>
                </persons>
                <language>en</language>
                <description>We will begin with the story of how Multiverse came to be in 2019 with the mission to solve today&#8217;s problems through quantum technologies. Along this path, we discovered during a project for Bosch that quantum-inspired algorithms running entirely on classical hardware could ultra-compress AI models. In 2024, we realized that these same techniques could be applied to Large Language Models. This insight gave birth to CompactifAI. From there, we&#8217;ll walk through CompactifAI and its compression pipeline, highlighting how it outperforms naive pruning or quantization approaches in both precision and control leveraging Tensor Networks.

Attendees will see how this enables new deployment scenarios: running powerful LLMs on edge devices, routing queries between local and cloud models, and even removing or restoring specific behaviors (e.g. safety filters or domain knowledge).

Additionally, we&#8217;ll show how to integrate our compactifAI compressed models via API with minimal code changes and provide relevant developer resources for those interested in benefitting from faster, cheaper, more efficient models.
This talk is aimed at ML engineers, researchers, and technical leads working with LLMs, vision models, or constrained deployment targets who are ready to think beyond just &#8220;bigger is better.&#8221;</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/GJNEKL/</url>
                <feedback_url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/GJNEKL/feedback/</feedback_url>
            </event>
            <event guid='9ec5f13b-9574-5400-9344-c40ff15de7ab' id='85702' code='FVGMBL'>
                <room>Planck-Bohr</room>
                <title>From Experiment to Enterprise: Architecting AI for Stability and Scale</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2025-12-09T14:45:00+00:00</date>
                <start>14:45</start>
                <duration>00:30</duration>
                <abstract>AI teams iterate at the speed of innovation, while organizations require platforms that are reliable, governed, and cost&#8209;efficient. This session presents pragmatic patterns and reference architectures that align rapid development with production requirements&#8212;so data scientists and developers can move fast without breaking stability.</abstract>
                <slug>pydata-eindhoven-2025-85702-from-experiment-to-enterprise-architecting-ai-for-stability-and-scale</slug>
                <track>Data Engineering</track>
                
                <persons>
                    <person id='86766'>Roland Kunz</person>
                </persons>
                <language>en</language>
                <description>Using the Dell AI Factory as an example, we&#8217;ll show how an open ecosystem, validated designs, and expert services help teams build, deploy, and scale AI securely and repeatably.

We&#8217;ll illustrate how silicon, model, and software diversity matters and can be included in a production environment.</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/FVGMBL/</url>
                <feedback_url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/FVGMBL/feedback/</feedback_url>
            </event>
            <event guid='a66b3d8e-60fe-54a4-bc79-19f401efaec6' id='86074' code='7FTJYA'>
                <room>Planck-Bohr</room>
                <title>Ingestify: Rethinking Ingestion for Complex Data</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2025-12-09T15:20:00+00:00</date>
                <start>15:20</start>
                <duration>00:30</duration>
                <abstract>Traditional data pipelines often tie ingestion and transformation together, forcing data into rows and columns early in the process. But modern workloads - from large XML documents to high-resolution video files - have transformations that are far from trivial and require very different compute resources than ingestion. Separating these concerns becomes essential. When a transform fails, you shouldn&#8217;t have to re-download data or hit the source system again.</abstract>
                <slug>pydata-eindhoven-2025-86074-ingestify-rethinking-ingestion-for-complex-data</slug>
                <track>Data Engineering</track>
                
                <persons>
                    <person id='87147'>Koen Vossen</person>
                </persons>
                <language>en</language>
                <description>Ingestify is a Metadata-First Ingestion Layer that stores raw data as-is, enriched with structured metadata, and ingests only when the source data has actually changed. This makes the ingest step fast, durable and independent of downstream processing. Transformations can evolve, fail or be retried freely while the original data remains intact.

In this talk, I&#8217;ll show how metadata-first ingestion forms a clean and reliable foundation for working with large, complex or non-tabular data - and why it&#8217;s a good fit for modern&#160;data&#160;workflows.</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/7FTJYA/</url>
                <feedback_url>https://cfp.pydata.org/pydata-eindhoven-2025/talk/7FTJYA/feedback/</feedback_url>
            </event>
            
        </room>
        
    </day>
    
</schedule>
