🐍 PyGrunn Schedule

09:00

09:00 – 09:50

Reception (Atrium, Rabo studio & Newsroom - up via spiralstairs from ground floor)

09:50

10:00

10:00 – 10:15

Walk to cinema area - (3rd and 5th floor, via escalator)

10:15

Company: Eventim

Summary: Modern applications often rely on complex configuration flows that are difficult for users to understand and navigate. In this talk, I’ll explore how AI can be integrated with existing APIs to simplify these processes, transforming difficult workflows into natural conversation. I’ll also cover the infrastructure required to support such an assistant, performance monitoring, and key security considerations. Along the way, I’ll share practical challenges we’ve encountered and how we approached solving them. By the end of the talk, you’ll have a clearer understanding of how to leverage AI within your existing systems to simplify complex user interactions.

Bio: I’m a software developer with around five years of experience. I enjoy working on high-traffic systems where scalability and architecture are important. Most of my experience is in Python and PHP but i’ve also worked with React and Next.js on the frontend, but I never really enjoyed creating pretty interfaces. Before joining Eventim, I worked at several companies on a wide range of projects. I contributed to planning software for hospitals, helped build applications for one of the largest battery providers in the Netherlands, and worked on both warehouse management systems and game software for children’s parks. Because of this, I come from a diverse background and have experience working across different domains, each with its own technical and business challenges. At Eventim, I work on systems that handle high traffic and occasional heavy burst loads at a scale I hadn’t worked with before. I’ve led several interesting projects, including redesigning the webshop queue to scale with the growing demand of large festivals. I also implemented streaming for very large reports, shifting memory usage from the Python application to the database to improve efficiency and performance, whilst keeping backward compatibility with the old service. Currently, I’m working on an AI-powered assistant that will help users setup and configure events.

AI Infrastructure & DevOps

Company: Sopra Steria, NCG, MikeHuls.com

Summary: Your code works but it feel fragile so you hesitate to work on it. Adding a feature means performing open-heart surgery on the the app, modifying business logic with unknown consequences. Functions "do everything" and take 15 parameters. Tests are skipped because they require spinning up a database and manually preparing and deleting records. Business requirements change and your app should evolve with them. How do we prevent the cost of change from rising over time? This talk demonstrates how to professionalize your project by applying a layered architecture. We move from "code that works" to a structure that improves readability, robustness, and extensibility. We will look at which layers exist, how they relate, and how to apply them so developers can make changes with confidence. We’ll also cover gradual refactoring techniques so you can improve an existing codebase without rewriting it. You will leave with actionable patterns to make your app cleaner, easier to work on and test, and more scalable over time.

Bio: Mike is a data and AI expert focused on making data work for organizations instead of against them. He specializes in data platforms, data engineering, and system architecture, always combining technical expertise with organizational insight to design systems that drive alignment, scalability, and long-term impact.

Web Development & APIs

Company: Freelancer, currently at Brenntag

Summary: Showcase of FastAPI-Restly. What is it? Why use it? How to use it? And we'll deep-dive into some of the magic that was necessary to enable class-based FastAPI views.

Bio: Full-time Pythonista for over 14 years who kept his head down whenever they looked for new product owners or managers. Studied software engineering in Delft and since then has been doing the grunt work on all kinds of commercial applications. Code bases small or large, old or new, good or bad. He has seen it all. Specializes in refactoring and performance optimization.

Web Development & APIs

Company: Stekz da rocket, da best, da future

Summary: TBD - More visionary: the future of our professsion, with some MyStekz -> Agents -> Code - Or more busienss owns a seat at the IT table: from spec to code, with multi manyear projects. - Of iets anders leuk tegen die tijd.

AI

11:00

Company: Catalyz B.V.

Summary: Building web-apps has become a sophisticated art. Extensive frameworks like React and Angular enable developers to build huge and complex Single Page Apps (SPA). However, sometimes, especially for simpler interactions, these frameworks start to feel bloated and sensitive to bugs that are hard to track. Enter HTMX, an almost embarrasingly simple approach that cuts out the crap of multi-layered SPAs. In this talk I will explain what HTMX is and show how it can be used in a simple demo application.

Bio: Jan Murre is a long time (since 1999) python lover. He started his career as a chemist, but always with a heavy focus on IT. When the internet started he got hooked to web-technology and has loved this ever since. He discovered python and it was love at first sight. After working for the university and several companies he founded his own web-company with some colleagues, using (of course) Python, Zope, Plone, Django, Pyramid and Flask. After 10 years he switched careers to become a free-lance consultant.

Web Development & APIs

Company: Nelen & Schuurmans

Summary: From time to time, I have to get a Django project up-to-date. If it is a really old project, upgrading all the versions in one go is not the way to go: stuff will go wrong and finding the error is hard. Doing it step-by-step is easier. Especially as deprecation warnings can tell you what you need to do, saving you the problem of looking it up yourself. Using docker is a handy way to build a local environment that matches the server. My last upgrade project was Ubuntu 18.04, python 3.6 and Django 3.2: getting that combination to work on my new laptop was only possible with docker. I'll show you how to iteratively work towards an up-to-date project. I use Django as an example, but it will be applicable to most other projects.

Bio: Summarizer of all-but-one pygrunn conferences, python user since 2000, lots of plone and django. Now working 15 years at a water consultancy/it company and enjoying it a lot.

Infrastructure & DevOps Python Ecosystem & Packaging

Company: Four Digits

Summary: Last year at PyGrunn, a totally unscientific poll revealed that 87% of attendees use either PyCharm, Visual Studio Code or NeoVim. This talk is for anyone interested in the new kid on the block: Zed. We'll be looking at how Zed compares to mainly PyCharm and VSCode. Spoiler alert: It's fast.

Bio: Kees is a Django developer with a passion for sustainability and practical innovation. At Four Digits, a digital agency delivering diverse projects, he has the opportunity to explore new approaches and technologies. Originally from Groningen, he has called Arnhem home for more than ten years.

Developer Productivity & Tooling

Company: Lasso Security

Summary: Most ML benchmarks are quietly broken. Leaderboard gaming, data leaks, logging errors, and poorly designed execution functions mean teams spend more time debugging than learning. The best case is rare: implement once, run once, analyze without pain. This talk shares hard-won wisdom practitioners rarely document: designing experiments backwards from the questions you want to answer, building robust single-execution functions that are cacheable, stateless, and failure-aware, saving raw responses, and versioning everything at the right level of rigor. We will also demo xetrack, an open-source Python experiment tracking library built for practitioners who want lightweight logging without vendor lock-in. xetrack ships with a Claude skill that acts as a built-in methodology guide, helping AI agents design experiments correctly, avoid common pitfalls, and work methodically from the start. If you have ever stared at a 3 AM benchmark failure, wondering what went wrong, this talk is for you.

Bio: Yonatan Alexander builds AI systems that ship fast, work at scale, and actually solve problems. As Head of AI at Lasso Security, he leads teams building production ML systems for enterprise security. He invented a patent-pending LLM inference architecture achieving 570X cost reduction and pioneered serverless machine learning before it became an industry standard. Yonatan is the creator of xetrack, an open-source experiment tracking library, and a technical advisor to Vaex (8.5K+ GitHub stars), helping shape how Python handles billion-row datasets on standard hardware. His "Beyond Pandas" article has been read 18.8K times by practitioners navigating real-world data challenges. He has delivered technical talks at PyData and AIGrunn on the messy realities of production AI, from LLM hallucinations to the gap between demos and deployed systems. His "Branches Are All You Need" framework influences how teams approach ML versioning.

AI Data & Analytics

11:45

Company: Spheer

Summary: Authentication and authorization in distributed systems are often treated as static states: you are either logged on, or you are not. But in reality, they are often dynamic processes: evolving with user actions, system changes, and security contexts. This talk dives into why treating auth as a **process** instead of a state leads to more resilient, adaptable, and secure systems. We’ll explore: - How distributed systems challenge traditional auth models. - Practical patterns for dynamic auth workflows - The important difference between entitlements and permissions - Real-world examples of process-driven auth in Python, from microservices to serverless.

Bio: Dirk is a PyGrunner since 2014, a devoted father of three, and a husband to an exceptionally brilliant wife. By day, he leads the development team at Spheer, where he champions the processes that transform project ideas into successful deliveries. His passion lies in bridging the gap between technical excellence and human-centric workflows, especially in distributed systems.

Web Development & APIs Infrastructure & DevOps

Company: Hanze

Summary: As a python developer you know that machines are good at certain things. Machines can perform tasks fast and through python we can control these machines and get them to do tasks for us. These machines or computers are good at tasks that we can describe through code, with β€œif and else blocks” to do something. Computers are good at working at tasks that have these defined rules. An example is playing a game of chess against a computer. We could program β€œif and else blocks” (lots of them) to discover how to move each piece and what the pros and cons are. Without these specific rules the program will not function. But how do you describe a cat to a computer? If you try to write that code with python, you could describe that a cat has fur, that a cat has whiskers, a cat miaows. The computer will ask you back, what is a miaow? What is fur? The harder it is to describe this, the harder it is for us to tell machines what to do. In this talk we tackle this problem with Machine Learning, a subset of AI. The topic of Machine Learning overlaps with Data Science, analysing data with a business goal. You need to be able to understand and work with data to do Machine Learning. The goal of Machine Learning is to make machines act more like humans. The smarter they get, the more they help us accomplish our goals. In this talk you will learn the 6 steps of Machine Learning and which tools to use. If you want to follow along, get your Jupyter Notebook ready and create a free account on Kaggle. In this talk we will be getting our hands dirty with some coding.

Bio: Maybel is a lecturer at Hanze University of Applied Sciences, specializing in Data Science and Machine Learning. Their work centers on extracting value from data through advanced analytics, predictive modeling, and intelligent systems. By combining statistical methods with modern machine learning techniques, Maybel helps students understand how data can be transformed into powerful, data-driven solutions.

AI Data & Analytics

Company: Entropynaut

Summary: Guix is a package manager as well as a GNU/Linux distribution, with a focus on reproducibility and giving users control. Everything is configured in Scheme in Guix. Packaging Python for Guix delivers unique challenges, because rebuilds all dependants if a package is changed. With over 75% of its 30000+ packages depending (indirectly) on Python, it is a difficult task to upgrade Python. I'd like you to take you along on the trip of upgrading the Guix' Python to 3.12. What are the strengths of Guix with respect to Python, and what can you learn from our (mis)adventures?

Bio: Hugo Buddelmeijer is a Python enthousiast who is always looking for ways to expand their arsenal of languages. An astronomer by trade, Hugo has a focus on scientific software, in particular data processing and archiving.

Python Ecosystem & Packaging

12:15

12:15 – 13:30

Lunch (Atrium, Rabo studio en Newsroom - spiral stairs from the ground floor)

13:30

Company: Samotics, Python Leiden

Summary: Expect a mix of open source drama and real technical content. On the drama side: how we ended up forking, what "friendly" means in practice, why we chose Codeberg over GitHub, and how a fork earns trust when the original still exists. On the technical side: the differences between HTTP/1.1 and HTTP/2, what it takes to write a genuinely performant HTTP client in Python (including the one trick most people get wrong), and the sys.modules and submodule tricks that make import httpxyz as httpx actually work across the ecosystem. If you use httpx directly or through one of the many libraries that depend on it, or if you are a happy requests user, this talk is for you.

Bio: Michiel is a software engineer and works at Samotics in Leiden. He is author and maintainer of several packages on PyPi and occasionally contributes to core python. Also, he is the founder and one of the organizers of Python Leiden.

Python Ecosystem & Packaging

Company: Hanze University of Applied Sciences

Summary: This talk tells the story of building Trial Submission Studio, a desktop application that transforms clinical trial data into FDA-compliant CDISC SDTM formats, and the hard decision to move its core from Python to Rust. In pharmaceutical data mapping, determinism is not optional: every transformation must produce byte-identical, reproducible output that regulators can trust. Python served well for prototyping, but when the stakes are FDA submissions and patient data, we needed stronger guarantees. I will walk through the practical decision matrix we used: where Python excels (ecosystem, speed of development, data science libraries) and where it falls short (deterministic floating-point handling, packaging standalone desktop apps, performance on large datasets). Then I will show how Rust addressed those gaps, and where Rust made life harder, like needing to write custom modules for domain-specific formats that had no existing crates. The app runs entirely offline because pharmaceutical data cannot leave the building. It has a full GUI built with Iced, designed so that clinical data managers, not programmers, can map, validate, and export their data themselves without writing a single line of code. The goal is to dramatically speed up the submission process that today often relies on expensive proprietary tools or manual work. I will show real code, the architecture of the 6-crate workspace, and the fuzzy matching pipeline that suggests column mappings automatically. The takeaway is honest: there is no silver bullet. Both languages have a place, and the right choice depends on your constraints. I hope to give the audience a practical framework for making that call in their own projects.

Bio: Ruben Talstra has been teaching himself to code since 2013. He currently works as IT Solution Analyst at Stadler Rail Management AG while studying Business IT & Management at Hanze University of Applied Sciences. During his "AI and Your Future Profession" minor, he created "Trial Submission Studio" an open-source desktop application that transforms clinical trial data into FDA-compliant CDISC formats.

Python Ecosystem & Packaging

Company: Springer Nature

Summary: In the age of AI coding agents, LLMs are only as good as the context we give them. Vague prompts produce vague, unreliable code - so we need clear structure and rails. This talk shows a practical, structural approach to working with agents: how to turn any codebase into something agents can truly understand and work with reliably. You'll learn how to start a brand-new project from scratch, and how to adapt an existing one to become fully "agentic" with minimal effort. We cover agent harness tools, and share concrete tips on which free-tier and local models work best today. You'll see what a spec-driven workflow looks like. The result is more reliable code, fewer mistakes, less repetition, and documentation that actually stays correct. No hype - just hands-on techniques and workflows you can start using immediately.

Bio: I like to talk about subjects, things I do, things I like/dislike or curious about. I don't like to talk about myself, so I'll keep it brief. I started to open-source in 2011. Currently working as Senior Software Engineer, shifting towards LLM Ops. I like generative AI and things you can do with it. When developing, I run most of the stuff on my laptop. Most of my free time is spent on kids/family. What's left is split between open-source, playing guitar, watching movies and listening to the music.

AI

Company: Independent Contributor, Ukraine National Team Fan Community

Summary: This talk shows how to use Python and modern football data to rigorously validate tactical principles instead of merely describing them. Focusing on Germany under Julian Nagelsmann, we will ingest, clean, and structure match data from Hudl Statsbomb and Sportmonks to build a practical tactical analysis pipeline. Using targeted metrics and custom Python workflows, we will test how well performances align with key principles such as gegenpressing intensity, attacking aggressiveness, and defensive compactness across phases of play. Attendees will see how to move from qualitative impressions to quantitative evidence by defining hypotheses, engineering features, and visualizing tactical behaviours over time, ideal for those who know the basics of football data access and now want to support or challenge tactical narratives with hard data.

Bio: Ukrainian Software and Platform Engineer based in Poland. Former Engineer and Architect at Fortune 500 companies. Core areas: modern data platforms and cloud computing. Public speaker at EuroPython, PyCon CZ, PyCon LT, PyCon PL, Python Summit, Pytech Summit, and PyCode.

Data & Analytics Domain-Specific Applications

14:15

Summary: Helicopter aerodynamics are brutal, beautiful and perfectly suited for Python. In this talk we break down the real physics behind rotor flight and bring them to life in code, driven live into a flight simulator.

Domain-Specific Applications

Company: PriceSpider

Summary: Companies today are hungry for external data to stay competitive, but actually getting and making sense of that data isn’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’ll share how pairing Python’s scraping frameworks (like Scrapy, Playwright, and Selenium) with AI/ML can turn raw, unstructured data into clear, actionable insights. We’ll look at: How to build scrapers that still work in 2025. Ways to use AI to automatically clean, enrich, and classify data. Real-world applications of sentiment analysis for reviews and social media. Case studies showing how SMEs have used these pipelines to sharpen marketing and product strategies. By the end, you’ll see how to design pipelines that don’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.

Bio: Senior Python Developer and team lead with over 8 years of experience building large-scale data acquisition systems for international companies. Led teams in developing resilient scrapers, AI-powered sentiment analysis platforms, and predictive models for industries ranging from e-commerce to finance. Passionate about turning raw web data into actionable insights, sharing hands-on lessons from real-world projects at the intersection of Python, data engineering, and machine learning.

Data & Analytics Infrastructure & DevOps

Company: Stekz

Summary: This talk aims to find answers to the question: "Can you vibecode a business"? For simplicity sake, we're going to define a business as "an entity that creates a positive cashflow by trading his time or services for an incentive" We're going to explore this topic by taking a look at two real life case studies based on personal experience while we're trying to answer the question whether everyone can do this.

Bio: I am Vincent, 29 years old, and currently enjoying my employment at Stekz here in Groningen. My interests lies in what makes people convert when they arrive on a website, what makes a good (ux)design, and rediscovering the software field with the help of AI augmented coding.

AI

Company: Dream networking and automation B.V.

Summary: Can you trust your data? In this talk we’ll take a real life use case where the flexibility desires and time have gotten the best of it. What happens when you deal with β€œfreedom” data? How to go from this to a better future? It is a technical talk how we recognise changes are desired, validation is required for trust to grow. Pydantic and pytest are used to work towards a solution where failing fast is a main objective.

Bio: Bart Dorlandt is the owner of Dream Networking and Automation. For 20 years, Bart has been expressing his love for networking as an engineer, designer, and architect, diving into every bit and byte all the way up to CCIE. In the last 10 years, he has been driving automation using programming and tooling, focusing on: "there must be a better way." He contributed to the success of large international companies and startups, combining innovative thinking, social presence, and a passion for technology.

Data & Analytics

15:00

Company: Aurea Imaging

Summary: **Abstract:** Aurea Imaging is an AgTech scaleup focusing on precision farming in orchards. By retrofitting our TreeScout sensor package to their tractors, farmers are able to collect data about their orchard down to the tree level as they perform other tasks. Using onboard stereo cameras, the tractor’s high-precision GPS, a machine-vision pipeline running in real time on the device, and near-real-time cloud-based analytics, this data is turned into maps used by other agricultural machines that enable the grower to utilize less labour and chemical products to produce more food. As the device fleet scales, one of our greatest challenges has been real-time data ingest - a TreeScout operating normally generates thousands of data points per second, and the highly seasonal nature of agriculture means that large chunks of the fleet are online and sending at the same time. Traditional data-science and GIS-analytics approaches break down in this kind of environment, so join us as we walk you through the architecture and challenges of engineering a streaming data system capable of tackling these challenges

Bio: please reuse from last time

Data & Analytics Infrastructure & DevOps Domain-Specific Applications

Company: Stekz

Summary: We'll go over the core of what we do on a daily basis to convert business needs directly into Python code, one platform at a time.

Bio: Enthusiast about building intelligent businesses. Inspired by businesses all around the globe to automate the simplest and most complicated proceses. Over a decade of experience in coding and heavily invested in making AI-assisted coding work for businesses. Currently product owner and developer of the MyStekz platform.

AI

Company: Archipunt (not employed there anymore)

Summary: Time is always limited, but when you have big plans, it's time to get smart and pragmatic. At the time, the company was rapidly growing and processes were getting more mature every day. It was a dynamic environment with a heterogenous landscape of different information systems. That mix also puts a demand on the data-quality of all those systems; an error quickly goes unnoticed. Big companies often deploy some kind of enterprise service bus for these kinds of problems, but that was clearly overkill. So I made a plan how to tackle this problem, and presented the vision within ArchiLab, our companies internal vehicle for innovation. In this presentation I will present a number of examples of what I built, which address actual use-cases within the company. Examples include publishing data on the intranet, visually comparing lists for inconsistencies and recording data on ever changing lists. With these examples I will address things like bootstrapping your project, having an information architecture, software reusability and just building cool stuff. My tooling of choice were Debian Linux (development on Mac OS X), Python, Flask and Postgresql.

Bio: Doeke is a versatile software developer living in the city of Groningen. Today he's programming in Python, but in the past decades he also wrote other languages like Java, C# and Objective-C for Atos, KPN and AkzoNobel amongst others. He gets energy from roles where structure and creativity come together.

Developer Productivity & Tooling

Company: Evoso

Summary: Writing more tests does not automatically mean fewer bugs. Too little testing leaves important risks uncovered, but too much of the wrong testing can slow development, create brittle suites, and reduce trust in the results. This talk presents a practical framework for deciding what to test, at what level, and why. Rather than treating tests as an afterthought, it treats testability as a design concern. From there, the focus shifts to finding the most effective and reliable way to validate the result. Using Python examples, the talk explores how code structure affects testability and how to decide between unit and integration tests. It covers practical ways to test code that depends on databases and external services without creating slow or flaky test suites. It also looks at strategies for improving testing in existing codebases. Attendees will walk away with a practical toolkit for building test suites that provide confidence and support faster development.

Bio: Jaap Bresser is a Groningen-based full-stack software developer with nearly 20 years of professional experience building web applications, SaaS platforms, and other complex software systems. He has worked across healthcare, startups, and consultancy, with a focus on practical software that combines correctness, maintainability, and usability. His background spans Python backends, data visualization, security, search, testing, and interactive user interfaces. Jaap holds an MSc in Software Engineering and Distributed Systems from the University of Groningen and previously presented "Beyond Role Based Authorization" at PyGrunn 2017.

Developer Productivity & Tooling

15:30

15:30 – 16:00

Drinks & mingle (Atrium, Rabo studio en Newsroom - via spiral stairs from the ground floor)

16:00

Company: Spotify

Summary: Spotify was built on Python. In 2008, burned by Enterprise Java, the founding engineers chose Python for nearly everything β€” and by 2013, 80% of backend services ran on it. Along the way they created Luigi, Annoy, and Hermes: tools that predated Airflow, FAISS, and gRPC by years. Then Python hit its ceiling. The GIL, memory overhead, and 15 million concurrent users forced a migration back to Java for backend services. But Python never shrunk β€” it shifted. This talk traces twenty years of Python at Spotify: from Twisted callbacks and greenlet concurrency, through the Luigi-to-Flyte pipeline evolution, to today's landscape of 20,000+ daily data pipelines, a Ray-based ML platform powering Discover Weekly and AI DJ, and Pedalboard processing audio 300x faster than the alternatives. Drawing on public talks, blog posts, and first-hand experience as a Spotify engineer, I'll share what worked, what didn't, and what the rise of AI coding agents means for the future of programming languages altogether.

Bio: Gijs Molenaar is a software engineer at Spotify in Amsterdam, where he works on edge infrastructure and service mesh systems. He grew up in Beverwijk, where his parents ran Aad Molenaar Muziekhandel β€” a record store that served the local music community for over four decades before closing in the CD piracy era. Gijs holds a PhD in radio astronomy and computer science from Rhodes University in South Africa, where he built data reduction pipelines for the Square Kilometre Array β€” the world's largest radio telescope project. He also holds an MSc in Artificial Intelligence from the University of Amsterdam. Before Spotify, he spent a decade as a freelance consultant under the name Pythonic, building scientific computing and AI systems for organizations including ASTRON, SARAO, and SETI's Breakthrough Listen. Married to a Namibian, Gijs splits his time between Amsterdam and Namibia. He has spoken at PyConZA, EuroSciPy, and Pygrunn, and produces electronic music in what's left of his spare time: soundcloud.com/gijzelaerr

AI

16:45

17:00

17:00 – 18:30

Drinks (Rabo studio en Newsroom - via spiral stairs from the ground floor)

19:00

19:00 – Late

Speakers diner