<?xml version='1.0' encoding='utf-8' ?>
<!-- Made with love by pretalx v2026.3.0.dev0. -->
<schedule>
    <generator name="pretalx" system="talks.python-summit.ch" version="2026.3.0.dev0" />
    <version>0.2</version>
    <conference>
        <title>Swiss Python Summit 2026</title>
        <acronym>swiss-python-summit-2026</acronym>
        <start>2026-10-22</start>
        <end>2026-10-23</end>
        <days>2</days>
        <timeslot_duration>00:05</timeslot_duration>
        <base_url>https://talks.python-summit.ch</base_url>
        <logo>https://talks.python-summit.ch/media/swiss-python-summit-2026/img/logo_6R2af17.webp</logo>
        <time_zone_name>Europe/Zurich</time_zone_name>
        
        
        <track name="Day 1 - Python, the programming language you love" slug="6907-day-1-python-the-programming-language-you-love"  color="#f76f21" />
        
        <track name="Day 2 - Data Science &amp; More" slug="6908-day-2-data-science-more"  color="#4787ba" />
        
    </conference>
    <day index='1' date='2026-10-22' start='2026-10-22T04:00:00+02:00' end='2026-10-23T03:59:00+02:00'>
        <room name='Aula 4.101' guid='21a47753-7f00-53f1-9b27-be383f397ba1'>
            <event guid='54771e7f-518f-5e85-9839-dfae48a1825e' id='104759' code='SPNFWJ'>
                <room>Aula 4.101</room>
                <title>Welcome - Day 1</title>
                <subtitle></subtitle>
                <type>Opening/Closing</type>
                <date>2026-10-22T09:00:00+02:00</date>
                <start>09:00</start>
                <duration>00:05</duration>
                <abstract>A welcome message and useful information from the organisers.

You will also find useful information on our website [www.python-summit.ch/venue](https://www.python-summit.ch/venue/). Or feel free to ask any member of staff if you have a question.</abstract>
                <slug>swiss-python-summit-2026-104759-welcome-day-1</slug>
                <track>Day 1 - Python, the programming language you love</track>
                
                <persons>
                    
                </persons>
                <language>en</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://talks.python-summit.ch/swiss-python-summit-2026/talk/SPNFWJ/</url>
                <feedback_url>https://talks.python-summit.ch/swiss-python-summit-2026/talk/SPNFWJ/feedback/</feedback_url>
            </event>
            <event guid='9993a134-7015-5f2c-b132-629f99f36487' id='96908' code='TLBGRU'>
                <room>Aula 4.101</room>
                <title>Your Code Is Slower Than Expected - Hidden Performance Traps</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2026-10-22T09:10:00+02:00</date>
                <start>09:10</start>
                <duration>00:30</duration>
                <abstract>Python makes it easy to write clean and expressive code &#8212; but it also makes it easy to write code that is unexpectedly slow.

In this talk, we&#8217;ll look at everyday Python patterns that seem harmless but can have serious performance implications. Why is x in list sometimes dramatically slower than expected? What&#8217;s the real difference between append(), +=, and +? And when does a simple data structure choice turn an O(n) solution into O(n&#178;)?

Instead of focusing on micro-optimizations, we&#8217;ll go one level deeper: how Python&#8217;s core data structures (lists, sets, dictionaries) actually work under the hood &#8212; and how that directly impacts runtime behavior.

You&#8217;ll leave with a practical mental model and a small set of rules of thumb that help you write code that is not just correct and readable, but also efficient &#8212; without premature optimization.</abstract>
                <slug>swiss-python-summit-2026-96908-your-code-is-slower-than-expected-hidden-performance-traps</slug>
                <track>Day 1 - Python, the programming language you love</track>
                
                <persons>
                    <person id='96564'>Michael Inden</person>
                </persons>
                <language>en</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://talks.python-summit.ch/swiss-python-summit-2026/talk/TLBGRU/</url>
                <feedback_url>https://talks.python-summit.ch/swiss-python-summit-2026/talk/TLBGRU/feedback/</feedback_url>
            </event>
            <event guid='cd209242-59ae-5cee-85ef-45ee515b5274' id='101052' code='XNHXFL'>
                <room>Aula 4.101</room>
                <title>Eliminate hidden exceptions via railway-oriented programming</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2026-10-22T09:45:00+02:00</date>
                <start>09:45</start>
                <duration>00:30</duration>
                <abstract>Python&#8217;s dynamic nature makes it easy to miss hidden exceptions and implicit control flow, leading to bugs that static type checkers such as `mypy`, `pyrefly`, `pyright`, or `ty` cannot catch. Railway-oriented programming (ROP) addresses this by making all domain outcomes explicit in function signatures, using a `Result` type instead of exceptions. This talk introduces ROP in Python, showing how it enables type-safe control flow that static analyzers can verify.

We will compare three open-source libraries: `Expression` by Dag Brattli, `returns` by Nikita Sobolev (Drylabs), and `trcks` by the speaker, each offering different approaches to ROP. Special focus will be given to `trcks`, which uniquely supports both object-oriented (method chaining) and functional (pipeline composition) styles while being designed for maximum type safety and interoperability.

Attendees will learn when and how to use ROP in both synchronous and asynchronous code, how to choose the right library, and when ROP is not the best fit. By the end, you will know how to write Python code that is safer, more predictable, and easier to maintain without sacrificing expressiveness. Attendees should be familiar with type annotations and static type checking in Python. A basic understanding of object-oriented programming and of functional programming can be helpful but is not strictly required.</abstract>
                <slug>swiss-python-summit-2026-101052-eliminate-hidden-exceptions-via-railway-oriented-programming</slug>
                <track>Day 1 - Python, the programming language you love</track>
                
                <persons>
                    <person id='100304'>Christoph Gietl</person>
                </persons>
                <language>en</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://talks.python-summit.ch/swiss-python-summit-2026/talk/XNHXFL/</url>
                <feedback_url>https://talks.python-summit.ch/swiss-python-summit-2026/talk/XNHXFL/feedback/</feedback_url>
            </event>
            <event guid='f2b1a352-1388-5627-a6c1-f6ce3d629f9b' id='99867' code='FM9WWJ'>
                <room>Aula 4.101</room>
                <title>How to make Django insecure</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2026-10-22T10:20:00+02:00</date>
                <start>10:20</start>
                <duration>00:30</duration>
                <abstract>Django is one of the most security-conscious web frameworks in any language. SQL injection, cross-site scripting, CSRF, password hashing &#8212; Django handles all of it out of the box, often before you even know the attack exists. But what does Django actually *do*? And what happens when you &#8212; accidentally or on purpose &#8212; turn those protections off?

This talk walks through the OWASP by doing everything wrong first. For each vulnerability, I&apos;ll show you the insecure version &#8212; the f-string in a raw SQL query, the `|safe` on user input, the `@csrf_exempt` on a money transfer, the `DEBUG = True` in production &#8212; and then open Django&apos;s source code to show you exactly how the framework prevents it. Not as a black box, but line by line: how the ORM keeps parameters separate from SQL, how the template engine escapes every variable, how the CSRF middleware validates tokens, and why Django hashes your passwords 870,000 times.

By the end you&apos;ll know where Django protects you, where it can&apos;t, and what one management command to run before every deployment.</abstract>
                <slug>swiss-python-summit-2026-99867-how-to-make-django-insecure</slug>
                <track>Day 1 - Python, the programming language you love</track>
                
                <persons>
                    <person id='99283'>Gaweng Tan</person>
                </persons>
                <language>en</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://talks.python-summit.ch/swiss-python-summit-2026/talk/FM9WWJ/</url>
                <feedback_url>https://talks.python-summit.ch/swiss-python-summit-2026/talk/FM9WWJ/feedback/</feedback_url>
            </event>
            <event guid='3db97599-64f4-594e-be2b-7d66728a3eab' id='95619' code='JHJ3XY'>
                <room>Aula 4.101</room>
                <title>Sentinel Values in Python: Why None Is Not Enough</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2026-10-22T11:30:00+02:00</date>
                <start>11:30</start>
                <duration>00:30</duration>
                <abstract>Every Python developer has used `None` as a default but what happens when `None` is also a valid value? This talk explores sentinel values as a first-class concept in Python. We&apos;ll uncover why `None` is semantically overloaded, how built-in sentinels like `NotImplemented` and `...` (Ellipsis) quietly power Python&apos;s object model, and what happens when you try to create your own. The central challenge: Python&apos;s type system has no good answer for sentinel values. We&apos;ll walk through why `Optional`, `Literal`, and custom classes all fall short, look at real-world workarounds including Pydantic&apos;s experimental MISSING, and discuss what PEP 661&apos;s deferral means for your code today. You&apos;ll leave with a clear mental model and practical guidance for handling absence in typed Python.</abstract>
                <slug>swiss-python-summit-2026-95619-sentinel-values-in-python-why-none-is-not-enough</slug>
                <track>Day 1 - Python, the programming language you love</track>
                
                <persons>
                    <person id='95297'>Florian Wilhelm</person>
                </persons>
                <language>en</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://talks.python-summit.ch/swiss-python-summit-2026/talk/JHJ3XY/</url>
                <feedback_url>https://talks.python-summit.ch/swiss-python-summit-2026/talk/JHJ3XY/feedback/</feedback_url>
            </event>
            <event guid='ee2ff528-e02b-5d5d-9777-826f4078bdac' id='98996' code='UQXR9U'>
                <room>Aula 4.101</room>
                <title>Securing the Supply Chain of your Python app</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2026-10-22T12:05:00+02:00</date>
                <start>12:05</start>
                <duration>00:30</duration>
                <abstract>After Log4Shell and the &quot;GitHub Actions&quot; based attacks, the most significant security vulnerabilities of the past few years, controlling the software supply chain is top of mind for every security-conscious development team. We realize that embedding open-source libraries in our applications has substantial security risks. Still, no major software artifact can be built without OSS components these days. 
In this session, we will use the recommendations of the most popular supply chain frameworks to explore a series of practical software development and system architecture best practices you can follow to secure your Python builds, sources, and dependencies.
We will look at how you can protect your application from two classes of risks: internal and external. The former focuses on insider threats and compromised accounts, and the latter concentrates on open-source libraries embedded in your software projects.</abstract>
                <slug>swiss-python-summit-2026-98996-securing-the-supply-chain-of-your-python-app</slug>
                <track>Day 1 - Python, the programming language you love</track>
                
                <persons>
                    <person id='98475'>Federico Fregosi</person>
                </persons>
                <language>en</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://talks.python-summit.ch/swiss-python-summit-2026/talk/UQXR9U/</url>
                <feedback_url>https://talks.python-summit.ch/swiss-python-summit-2026/talk/UQXR9U/feedback/</feedback_url>
            </event>
            <event guid='974f7e3d-eb63-571d-ba68-1ddee946fbfd' id='96427' code='AJYKX3'>
                <room>Aula 4.101</room>
                <title>Pulumi: The Joy of Infrastructure as (Python) Code</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2026-10-22T13:55:00+02:00</date>
                <start>13:55</start>
                <duration>00:30</duration>
                <abstract>We don&apos;t need to use Python only for developing applications and pipelines, we can also use it to maintain our infrastructure. Pulumi allows us to describe our infrastructure as a Python program. As this gives us access to Python&apos;s flexibility, readability, power, and joy, it has quickly become my favourite way to manage infrastructure, no matter if for a small team&apos;s ML application or for a multinational company&apos;s analytics platform. Let me share this joy with you!

In this talk I will show you how Pulumi works and what it does better than other IaC tools: Among others, I will talk about custom resources and resource grouping, state versioning and understanding your infrastructure deployment as a program to be run.

Caution: This talk may lead to strong feelings of &quot;why haven&apos;t we always done it like this?&quot;</abstract>
                <slug>swiss-python-summit-2026-96427-pulumi-the-joy-of-infrastructure-as-python-code</slug>
                <track>Day 1 - Python, the programming language you love</track>
                
                <persons>
                    <person id='96149'>Jonas B&#246;er</person>
                </persons>
                <language>en</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://talks.python-summit.ch/swiss-python-summit-2026/talk/AJYKX3/</url>
                <feedback_url>https://talks.python-summit.ch/swiss-python-summit-2026/talk/AJYKX3/feedback/</feedback_url>
            </event>
            <event guid='ed3a67d1-d5fa-5bc4-8705-a837c74073f2' id='99132' code='WJCKGM'>
                <room>Aula 4.101</room>
                <title>Profiling Python: From cProfile to Sampling</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2026-10-22T14:30:00+02:00</date>
                <start>14:30</start>
                <duration>00:30</duration>
                <abstract>Python developers have long faced a frustrating tradeoff: the more precisely you measured performance, the more you risked changing it.

Traditional profilers like `profile` and `cProfile` trace every function call, providing exact call counts and instrumented timings at the cost of significant overhead.

The ecosystem fought back. Tools like `py-spy` and `austin` embraced statistical sampling, attaching to running processes and gathering useful insights with minimal impact. Yet statistical sampling remained outside the Python standard library.

Python 3.15 changes that.

The new `profiling.sampling` module, also known as Tachyon, brings statistical profiling into the standard library, building on years of community experimentation.

In this talk, we&apos;ll compare tracing and sampling profilers, exploring how each approach works, where it struggles, and how sampled stacks become flame graphs.

By profiling the same code with different tools, we&apos;ll see how each profiler reveals a different picture of performance &#8212; and why choosing the right tool matters.

## Problem Statement

Most Python developers reach for `cProfile` because it&apos;s built in, often without realizing its limitations or knowing modern alternatives exist. Sampling profilers have been available for years, but many developers have not encountered them. This talk closes that gap.

## Attendees will leave knowing

- Deterministic vs statistical profiling and why it matters
- When `cProfile` helps &#8212; and when it can mislead
- How and when to use Python 3.15&apos;s `profiling.sampling`
- How to choose the right profiler for the job</abstract>
                <slug>swiss-python-summit-2026-99132-profiling-python-from-cprofile-to-sampling</slug>
                <track>Day 1 - Python, the programming language you love</track>
                
                <persons>
                    <person id='98575'>Farid Mirzayev</person>
                </persons>
                <language>en</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://talks.python-summit.ch/swiss-python-summit-2026/talk/WJCKGM/</url>
                <feedback_url>https://talks.python-summit.ch/swiss-python-summit-2026/talk/WJCKGM/feedback/</feedback_url>
            </event>
            <event guid='637500cd-8181-5439-b037-5b3e53d82616' id='101241' code='UJZ39Q'>
                <room>Aula 4.101</room>
                <title>Packaging FOSS Python applications and libraries for Debian</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2026-10-22T15:40:00+02:00</date>
                <start>15:40</start>
                <duration>00:30</duration>
                <abstract># Packaging FOSS Python applications and libraries for Debian

Debian Linux is deployed on millions of desktops and servers worldwide, renowned for 30 years for its stability and the quality of software packages installable from its archives. Over 1,400 volunteer contributors from around the world serve Debian users and the free software community by maintaining more than 60,000 well-behaved, consistent, secure and up-to-date packages, including Python applications and libraries.

System administrators, software integrators, and scientists can be considerably more certain of the provenance, reliability, and intercompatibility of Python packages from the Debian archives than uploads to PyPi.org, especially at a time where these aspects are coming under greater scrutiny in Europe. For the Python developer, packaging your work for Debian, and therefore satisfying the stringent quality assurance criteria, is a great responsibility, but also a rewarding opportunity to gain more users in higher-integrity contexts, improve your coding practices, and engage with a community of free software experts.

This talk will present case studies of the &quot;Debianisation&quot; of a Python library (pyroaring) and application (Apache BuildStream 2.7.0) recently undertaken by the speaker in their first major FOSS contribution, covering from first principles:
- Preparing upstream sources and Debian-specific metadata and build instructions in compliance with Debian Policy and Free Software Guidelines, both for pure Python libraries and those with Cython extensions and Sphinx documentation
- Guiding a new package through the Debian quality assurance processes (including version control, integration testing, reproducibility, and migration) so it can be included in a release
- Responsibilities of a Debian package maintainer to their users, upstreams, and reverse-dependencies in handling bugs and updates
- Sources of help when contributing to a project as mature as Debian for the first time</abstract>
                <slug>swiss-python-summit-2026-101241-packaging-foss-python-applications-and-libraries-for-debian</slug>
                <track>Day 1 - Python, the programming language you love</track>
                
                <persons>
                    <person id='100468'>Theodore Tucker</person>
                </persons>
                <language>en</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://talks.python-summit.ch/swiss-python-summit-2026/talk/UJZ39Q/</url>
                <feedback_url>https://talks.python-summit.ch/swiss-python-summit-2026/talk/UJZ39Q/feedback/</feedback_url>
            </event>
            <event guid='b37471dc-8d5c-5296-9a1d-84e4ef4e42aa' id='104763' code='SGYKVR'>
                <room>Aula 4.101</room>
                <title>Lightning Talks - Day 1</title>
                <subtitle></subtitle>
                <type>Lightning Talks</type>
                <date>2026-10-22T16:15:00+02:00</date>
                <start>16:15</start>
                <duration>00:45</duration>
                <abstract>Our Lightning Talks are open to everyone &#128522;

How it works:
&#8211; You can register directly at the conference. First come, first served.
&#8211; Any proposal is welcome, as long as your talk has something to do with Python and respects our [Code of Conduct](https://www.python-summit.ch/coc/). We reserve the right to reject talks.
&#8211; Talk time is strictly limited to 5 minutes.
&#8211; To keep turnaround times short, you will not be able to plug in your own device. We will provide a laptop with all slides. Please submit your slides as PDF via email at least 60 minutes before Lightning Talks start. 
&#8211; By registering, you accept that your talk may be recorded, published and streamed live (audio &amp; video) under [Creative Commons Attribution 4.0 International license](https://creativecommons.org/licenses/by/4.0/deed.en).</abstract>
                <slug>swiss-python-summit-2026-104763-lightning-talks-day-1</slug>
                <track>Day 1 - Python, the programming language you love</track>
                
                <persons>
                    
                </persons>
                <language>en</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://talks.python-summit.ch/swiss-python-summit-2026/talk/SGYKVR/</url>
                <feedback_url>https://talks.python-summit.ch/swiss-python-summit-2026/talk/SGYKVR/feedback/</feedback_url>
            </event>
            <event guid='b2348d13-b13a-5aee-8ff3-242ba787313f' id='104761' code='8SBVVY'>
                <room>Aula 4.101</room>
                <title>Closing - Day 1</title>
                <subtitle></subtitle>
                <type>Opening/Closing</type>
                <date>2026-10-22T17:05:00+02:00</date>
                <start>17:05</start>
                <duration>00:05</duration>
                <abstract>A thank you from the organisers. We hope you enjoyed your day!
                                       
(It won&apos;t take long, we promise! After that long day, everyone is looking forward to the buffet!)</abstract>
                <slug>swiss-python-summit-2026-104761-closing-day-1</slug>
                <track>Day 1 - Python, the programming language you love</track>
                
                <persons>
                    
                </persons>
                <language>en</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://talks.python-summit.ch/swiss-python-summit-2026/talk/8SBVVY/</url>
                <feedback_url>https://talks.python-summit.ch/swiss-python-summit-2026/talk/8SBVVY/feedback/</feedback_url>
            </event>
            
        </room>
        
    </day>
    <day index='2' date='2026-10-23' start='2026-10-23T04:00:00+02:00' end='2026-10-24T03:59:00+02:00'>
        <room name='Aula 4.101' guid='21a47753-7f00-53f1-9b27-be383f397ba1'>
            <event guid='35e41db5-6b12-582b-ad71-9ea16079d648' id='104760' code='SH7MD8'>
                <room>Aula 4.101</room>
                <title>Welcome - Day 2</title>
                <subtitle></subtitle>
                <type>Opening/Closing</type>
                <date>2026-10-23T09:00:00+02:00</date>
                <start>09:00</start>
                <duration>00:05</duration>
                <abstract>A welcome message and useful information from the organisers.

You will also find useful information on our website [www.python-summit.ch/venue](https://www.python-summit.ch/venue/). Or feel free to ask any member of staff if you have a question.</abstract>
                <slug>swiss-python-summit-2026-104760-welcome-day-2</slug>
                <track>Day 2 - Data Science &amp; More</track>
                
                <persons>
                    
                </persons>
                <language>en</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://talks.python-summit.ch/swiss-python-summit-2026/talk/SH7MD8/</url>
                <feedback_url>https://talks.python-summit.ch/swiss-python-summit-2026/talk/SH7MD8/feedback/</feedback_url>
            </event>
            <event guid='a5174953-f9f3-5b01-a84a-c3cfaace198f' id='99775' code='AQXG8Q'>
                <room>Aula 4.101</room>
                <title>Before you open that OSS issue: evidence-first triage</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2026-10-23T09:10:00+02:00</date>
                <start>09:10</start>
                <duration>00:30</duration>
                <abstract>You found a gap in a library you use. Should you open an issue, write an RFC, or spend a month on a pull request? Most teams answer this in a one-off chat with an LLM, get a confident two-sentence verdict, and only later discover the closed duplicate issue or the adjacent API that already solves the problem.

This talk is a case study, not a product pitch. I walk through how we evaluated whether reviving PyTorch&apos;s prototype torch.masked module was worth a multi-month upstream contribution. The decision changed once we gathered evidence: old and closed GitHub issues, maintainer activity on the code path, and alternatives such as NestedTensor and FlexAttention. The useful output was not &quot;yes&quot; or &quot;no&quot; - it was a short, cited brief that a teammate could verify in ten minutes.

From that workflow I distill a repeatable method any Python team can use before writing a spec: what to retrieve (issues, merged PRs, module git history, ecosystem docs), what not to trust (verdict-first LLM answers, unvalidated &quot;library X already does this&quot;), and how to structure the result so humans keep the final call.

I briefly show the shape of a Python CLI we are building to automate retrieval and synthesis with mandatory citations - Typer, httpx, GitHub API, local indexing - but the talk stands alone: you leave with a checklist you can run tomorrow with ripgrep, gh, and a markdown template.

Audience: contributors, maintainers tired of duplicate feature requests, and teams choosing where to invest OSS effort. Intermediate level; no PyTorch expertise required (since the Data Science Day is only tomorrow).</abstract>
                <slug>swiss-python-summit-2026-99775-before-you-open-that-oss-issue-evidence-first-triage</slug>
                <track>Day 2 - Data Science &amp; More</track>
                
                <persons>
                    <person id='99209'>Pavel Sulimov</person><person id='99573'>Sergey Eremeykin</person>
                </persons>
                <language>en</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://talks.python-summit.ch/swiss-python-summit-2026/talk/AQXG8Q/</url>
                <feedback_url>https://talks.python-summit.ch/swiss-python-summit-2026/talk/AQXG8Q/feedback/</feedback_url>
            </event>
            <event guid='90b99ed8-1ed0-5549-97ce-6804423fcca7' id='101263' code='D9BNSD'>
                <room>Aula 4.101</room>
                <title>Too Complicated to Model? Missing Female Athletes Data</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2026-10-23T09:45:00+02:00</date>
                <start>09:45</start>
                <duration>00:30</duration>
                <abstract>Sports science and performance analytics have historically been built on datasets that underrepresent female athletes. In many cases, when data showed structured variability linked to biological cycles, this was treated as a complication rather than something to incorporate into modelling. As a result, female athletes were often excluded from analysis frameworks that could not easily handle this type of variation.

As an amateur athlete and data analyst myself, I see this very clearly in practice. Many training guidelines, performance models, and recovery assumptions that are widely used today are still largely based on male dominated datasets. Female athletes are not only underrepresented in the data, but the way their performance varies over time is often not properly captured in the models themselves. This leads to a situation where the structure of female athletic performance is simplified, averaged out, or ignored, rather than being understood as part of the signal.

In this talk, I explore this problem through different modelling approaches in Python, comparing standard methods with approaches that explicitly account for structured variability, such as cyclical representations and Generalized Additive Models (GAMs). The focus is on how modelling choices shape what is considered signal versus noise in athlete performance data.

Recent research directions already point toward more inclusive modelling approaches in sports science, including cycle aware performance analysis, individualized training response models, and frameworks that better account for physiological variation in female athletes. These approaches aim to improve training and nutrition recommendations and reduce blind spots that arise when female athletes are not properly represented in the data.

The key question is no longer whether this structure exists, but how we choose to model it and what becomes possible when we do.</abstract>
                <slug>swiss-python-summit-2026-101263-too-complicated-to-model-missing-female-athletes-data</slug>
                <track>Day 2 - Data Science &amp; More</track>
                
                <persons>
                    <person id='100490'>Hilal I&#351;&#305;k</person>
                </persons>
                <language>en</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://talks.python-summit.ch/swiss-python-summit-2026/talk/D9BNSD/</url>
                <feedback_url>https://talks.python-summit.ch/swiss-python-summit-2026/talk/D9BNSD/feedback/</feedback_url>
            </event>
            <event guid='125fad10-2c4c-5536-b4a3-e00648f89e91' id='99177' code='M7KSUB'>
                <room>Aula 4.101</room>
                <title>Beyond the Hype: Building a Python Game to Teach AI Concepts</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2026-10-23T10:20:00+02:00</date>
                <start>10:20</start>
                <duration>00:30</duration>
                <abstract>Everyone talks about LLMs, RAG, and AI agents &#8212; but who truly understands them? Marketing promises magic while documentation assumes expertise. Recent research from Gartner reveals the consequences: only 8% of HR leaders believe their managers possess adequate AI competency, while companies that restructure work around AI achieve revenue goals twice as often as those who merely train employees. The problem isn&apos;t lack of information; it&apos;s the lack of genuine understanding through experience.

We took a different approach. Instead of slides or tutorials, we built &quot;AI Factory&quot; &#8212; an educational platform in the form of an escape room game where players learn by doing. Craft prompts under budget pressure. Watch guardrails fail in real-time. Break your own RAG pipeline. Each mistake teaches more than any documentation ever could.

The entire platform is built in Python &#8212; Streamlit for the frontend, FastAPI for the backend &#8212; which shaped both what was easy and what surprised us. In this talk, we&apos;ll share what we discovered while building and testing this game with real users: why failure-driven learning outperforms tutorials, how game mechanics create memorable &quot;aha moments,&quot; and the surprising concepts that clicked only through play.</abstract>
                <slug>swiss-python-summit-2026-99177-beyond-the-hype-building-a-python-game-to-teach-ai-concepts</slug>
                <track>Day 2 - Data Science &amp; More</track>
                
                <persons>
                    <person id='98615'>Vadim Vlasov</person><person id='98616'>Eric Glaser</person>
                </persons>
                <language>en</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://talks.python-summit.ch/swiss-python-summit-2026/talk/M7KSUB/</url>
                <feedback_url>https://talks.python-summit.ch/swiss-python-summit-2026/talk/M7KSUB/feedback/</feedback_url>
            </event>
            <event guid='ce3697f5-fcb7-52dd-b79e-adb70944d652' id='98863' code='3F9QQD'>
                <room>Aula 4.101</room>
                <title>Is Your Data Lying? Bayesian Data Credibility</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2026-10-23T11:30:00+02:00</date>
                <start>11:30</start>
                <duration>00:30</duration>
                <abstract>Datasets are often treated as ground truth, even though they rarely are. Labels can be noisy, measurements can be imprecise, user segments can be under-recorded, and dashboards can hide uncertainty behind clean-looking numbers. Teams then often build models, metrics, and decisions on top of data whose reliability we have never actually measured.

This talk shows how Bayesian modelling can make data credibility explicit. Using simple, realistic examples, we will model uncertainty in labels, measurements, and sampling bias; distinguish signal from noise; and identify parts of a dataset that should not be trusted at face value. The goal is to employ Bayesian statistics as a practical tool for asking: where is this dataset solid, where is it fragile, and where might it be misleading us?

Attendees will leave with a practical framework for measuring data trustworthiness, and concrete examples of how Bayesian methods can make uncertainty visible before it starts to contaminate models, dashboards, or business decisions.</abstract>
                <slug>swiss-python-summit-2026-98863-is-your-data-lying-bayesian-data-credibility</slug>
                <track>Day 2 - Data Science &amp; More</track>
                
                <persons>
                    <person id='98341'>Vince Nelidov</person>
                </persons>
                <language>en</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://talks.python-summit.ch/swiss-python-summit-2026/talk/3F9QQD/</url>
                <feedback_url>https://talks.python-summit.ch/swiss-python-summit-2026/talk/3F9QQD/feedback/</feedback_url>
            </event>
            <event guid='80de5c23-6c4a-5b81-ab64-10292b307f0a' id='100363' code='T9DXZE'>
                <room>Aula 4.101</room>
                <title>Keeping data private in real-time pipelines</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2026-10-23T12:05:00+02:00</date>
                <start>12:05</start>
                <duration>00:30</duration>
                <abstract>We all love real-time data &#8212; clicks, payments, rides, messages &#8212; but most of it comes with a catch: it contains personal information we&#8217;re not supposed to leak, such as names, emails, locations, or even small clues that can identify someone. The challenge: how do we keep streaming data useful and safe at the same time?

In this talk, we&#8217;ll explore practical ways to protect privacy in streaming systems using Apache Kafka, Apache Flink, and Apache Iceberg. We&#8217;ll cover:
- simple tricks like masking and tokenizing PII;
- why &#8220;anonymous&#8221; data often isn&#8217;t anonymous (the re-identification problem);
- techniques like bucketing, k-anonymity, and adding noise;
- how to balance privacy with data utility (too much hiding makes data useless).

Along the way, we&#8217;ll look at real-world stories: from public data leaks to surprising deanonymization attacks, and show live demos of pipelines that anonymize data before it&#8217;s written to storage.
If you&#8217;ve ever wondered how to build privacy-aware pipelines, this talk will give you practical patterns you can use right away.</abstract>
                <slug>swiss-python-summit-2026-100363-keeping-data-private-in-real-time-pipelines</slug>
                <track>Day 2 - Data Science &amp; More</track>
                
                <persons>
                    <person id='99708'>Olena Kutsenko</person>
                </persons>
                <language>en</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://talks.python-summit.ch/swiss-python-summit-2026/talk/T9DXZE/</url>
                <feedback_url>https://talks.python-summit.ch/swiss-python-summit-2026/talk/T9DXZE/feedback/</feedback_url>
            </event>
            <event guid='55ccb468-4409-5047-ba89-5296f0aac51c' id='99633' code='RCWDMG'>
                <room>Aula 4.101</room>
                <title>No more model training? TabPFN v3 vs. tuned trees.</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2026-10-23T13:55:00+02:00</date>
                <start>13:55</start>
                <duration>00:30</duration>
                <abstract>What if you never had to train or tune a model again? That is the pitch behind
tabular foundation models: state-of-the-art predictions with no training, no
hyperparameter search, no feature engineering. Just call .fit() and .predict().
The headliner, TabPFN, whose earlier version was published in Nature, now adds
claims aimed straight at the gradient-boosted trees most of us reach for by
default. TabPFN v3 promises to ingest raw text natively, scale toward a million
rows, support multi-class classification natively and offer a
&quot;thinking mode&quot; for extra quality. Too good to be true? I put it on trial.

This talk walks through a systematic, reproducible Python benchmark that puts
TabPFN, exactly as it ships, up against a best-effort, Optuna-tuned pipeline of
XGBoost, LightGBM, and CatBoost on the messy public Steam Dataset 2025:
numerics, booleans, categoricals, date-times, free-text, embeddings, skewed
distributions, NaNs. The case spans three tasks: binary sentiment classification,
multi-class publisher prediction, and Metacritic-score regression.

We stress-test each vendor claim one at a time: raw text versus sentence
embeddings versus no text, out-of-the-box versus cleaned data, default versus
thinking mode, small samples up to large, few to many classes.

But the real takeaway is the method: how to benchmark a hyped claim fairly, why
the metric you pick can quietly decide the winner, and the data-leakage traps you
must defuse before you trust a single result.

The honest answer to &quot;Too good to be true?&quot; is: &quot;it depends&quot;. And knowing what
it depends on is the point. You&apos;ll leave with a feel for when a tabular
foundation model earns its keep, when a tuned tree still wins, and how to put
the next &quot;no training required&quot; promise on trial yourself.</abstract>
                <slug>swiss-python-summit-2026-99633-no-more-model-training-tabpfn-v3-vs-tuned-trees</slug>
                <track>Day 2 - Data Science &amp; More</track>
                
                <persons>
                    <person id='99079'>Dominik Traxl</person>
                </persons>
                <language>en</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://talks.python-summit.ch/swiss-python-summit-2026/talk/RCWDMG/</url>
                <feedback_url>https://talks.python-summit.ch/swiss-python-summit-2026/talk/RCWDMG/feedback/</feedback_url>
            </event>
            <event guid='14253e34-80fd-541d-a70f-83b4b47a81e6' id='101299' code='KJJUPP'>
                <room>Aula 4.101</room>
                <title>From Open Weights to Trusted Models</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2026-10-23T14:30:00+02:00</date>
                <start>14:30</start>
                <duration>00:30</duration>
                <abstract>APIs of frontier models are the fast way to ship, but rarely the cheapest place to stay. Open weights are a real alternative: you pay for compute instead of per-token rent, the model runs on your own machines so the data never leaves, residency and governance are yours to set.

The open question is whether an open-weight model is actually good enough for your use case, and which one. A leaderboard won&apos;t tell you. It measures someone else&apos;s tasks, not yours, and an agent that runs over many turns and calls tools can score well on a benchmark and still fail the real job.

This talk is about answering that for yourself, with two open-source Python tools: Inspect, the UK AI Security Institute&apos;s evaluation framework, and Petri, Anthropic&apos;s auditor built on top of it. Between them they let you judge an open-weight agent on your own traffic and on the failures you&apos;d never think to collect, so you can put a number on the open-versus-frontier trade-off and decide on evidence.

**Takeaways**

By the end you&apos;ll be able to decide whether an open-weight model is good enough to replace a frontier API for your use case, and which one. You&apos;ll be able to:

- Build an evaluation from your own traffic, then let Petri&apos;s auditor extend it, so you test the cases you&apos;ve seen and the ones you haven&apos;t.
- Score candidates against your current model on real agent work, across many turns and tool calls, not on a single tidy reply.
- Turn the result into a decision: a number on the quality-versus-cost, latency.</abstract>
                <slug>swiss-python-summit-2026-101299-from-open-weights-to-trusted-models</slug>
                <track>Day 2 - Data Science &amp; More</track>
                
                <persons>
                    <person id='99556'>Emmanuel Okedele</person>
                </persons>
                <language>en</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://talks.python-summit.ch/swiss-python-summit-2026/talk/KJJUPP/</url>
                <feedback_url>https://talks.python-summit.ch/swiss-python-summit-2026/talk/KJJUPP/feedback/</feedback_url>
            </event>
            <event guid='694d5378-3fab-521a-8da2-833f5b1ca668' id='100761' code='UT3EWL'>
                <room>Aula 4.101</room>
                <title>Did we break up? Auditing Instagram data with Python</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2026-10-23T15:40:00+02:00</date>
                <start>15:40</start>
                <duration>00:30</duration>
                <abstract>Instagram logs every interaction: likes, messages, stories viewed, searches, and follower changes. Even if you post nothing, your activity leaves a digital footprint.

In this talk, we will explore how to access and analyze the personal data Instagram collects about you. We will use Python, with libraries like pandas or polars, to clean and structure the information downloaded directly from the platform&apos;s privacy portal.

Next, we will build an interactive dashboard using Dash to visualize behavioral patterns over time. We will apply time-series anomaly detection techniques (such as rolling z-score, IsolationForest, or DBSCAN) and supervised classifiers (RandomForestClassifier, LogisticRegression) to identify potentially significant shifts in your digital activity&#8212;like a breakup.

Finally, we will reflect on the economic value of this data, the inferences platforms can make about our personal lives, and briefly discuss the European AI Act&apos;s relevance to privacy protection.</abstract>
                <slug>swiss-python-summit-2026-100761-did-we-break-up-auditing-instagram-data-with-python</slug>
                <track>Day 2 - Data Science &amp; More</track>
                
                <persons>
                    <person id='100046'>Almudena Barreiro Carrillo</person>
                </persons>
                <language>en</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://talks.python-summit.ch/swiss-python-summit-2026/talk/UT3EWL/</url>
                <feedback_url>https://talks.python-summit.ch/swiss-python-summit-2026/talk/UT3EWL/feedback/</feedback_url>
            </event>
            <event guid='1535cd30-b5ad-5b0a-a3ec-c01ea1c17462' id='104764' code='GGXRCA'>
                <room>Aula 4.101</room>
                <title>Lightning Talks - Day 2</title>
                <subtitle></subtitle>
                <type>Lightning Talks</type>
                <date>2026-10-23T16:15:00+02:00</date>
                <start>16:15</start>
                <duration>00:45</duration>
                <abstract>Our Lightning Talks are open to everyone &#128522;

How it works:
&#8211; You can register directly at the conference. First come, first served.
&#8211; Any proposal is welcome, as long as your talk has something to do with Python and respects our [Code of Conduct](https://www.python-summit.ch/coc/). We reserve the right to reject talks.
&#8211; Talk time is strictly limited to 5 minutes.
&#8211; To keep turnaround times short, you will not be able to plug in your own device. We will provide a laptop with all slides. Please submit your slides as PDF via email at least 60 minutes before Lightning Talks start. 
&#8211; By registering, you accept that your talk may be recorded, published and streamed live (audio &amp; video) under [Creative Commons Attribution 4.0 International license](https://creativecommons.org/licenses/by/4.0/deed.en).</abstract>
                <slug>swiss-python-summit-2026-104764-lightning-talks-day-2</slug>
                <track>Day 2 - Data Science &amp; More</track>
                
                <persons>
                    
                </persons>
                <language>en</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://talks.python-summit.ch/swiss-python-summit-2026/talk/GGXRCA/</url>
                <feedback_url>https://talks.python-summit.ch/swiss-python-summit-2026/talk/GGXRCA/feedback/</feedback_url>
            </event>
            <event guid='7c724380-748f-5362-949b-94bb0efc01df' id='104762' code='CZ3QKS'>
                <room>Aula 4.101</room>
                <title>Closing - Day 2</title>
                <subtitle></subtitle>
                <type>Opening/Closing</type>
                <date>2026-10-23T17:05:00+02:00</date>
                <start>17:05</start>
                <duration>00:05</duration>
                <abstract>A thank you from the organisers. We hope you enjoyed your day!
                                       
(It won&apos;t take long, we promise! After that long day, everyone is looking forward to the buffet!)</abstract>
                <slug>swiss-python-summit-2026-104762-closing-day-2</slug>
                <track>Day 2 - Data Science &amp; More</track>
                
                <persons>
                    
                </persons>
                <language>en</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://talks.python-summit.ch/swiss-python-summit-2026/talk/CZ3QKS/</url>
                <feedback_url>https://talks.python-summit.ch/swiss-python-summit-2026/talk/CZ3QKS/feedback/</feedback_url>
            </event>
            
        </room>
        
    </day>
    
</schedule>
