BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//pretalx//talks.python-summit.ch//swiss-python-summit-2026//speak
 er//HKMEDC
BEGIN:VTIMEZONE
TZID:Europe/Zurich
BEGIN:DAYLIGHT
DTSTART:20251022T000000
TZNAME:CEST
TZOFFSETFROM:+0200
TZOFFSETTO:+0200
END:DAYLIGHT
BEGIN:STANDARD
DTSTART:20251026T030000
RDATE:20261025T030000
TZNAME:CET
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:20260329T030000
RDATE:20270328T030000
TZNAME:CEST
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
SUMMARY:Sentinel Values in Python: Why None Is Not Enough - Florian Wilhel
 m
DTSTART;TZID=Europe/Zurich:20261022T113500
DTEND;TZID=Europe/Zurich:20261022T120500
DTSTAMP:20261111T040115Z
UID:pretalx-swiss-python-summit-2026-JHJ3XY@talks.python-summit.ch
DESCRIPTION:Every Python developer has used `None` as a default but what h
 appens when `None` is also a valid value? This talk explores sentinel valu
 es as a first-class concept in Python. We'll uncover why `None` is semanti
 cally overloaded\, how built-in sentinels like `NotImplemented` and `...` 
 (Ellipsis) quietly power Python's object model\, and what happens when you
  try to create your own. The central challenge: Python's type system has n
 o good answer for sentinel values. We'll walk through why `Optional`\, `Li
 teral`\, and custom classes all fall short\, look at real-world workaround
 s including Pydantic's experimental MISSING\, and discuss what PEP 661's d
 eferral means for your code today. You'll leave with a clear mental model 
 and practical guidance for handling absence in typed Python.
LOCATION:Aula 4.101
URL:https://talks.python-summit.ch/swiss-python-summit-2026/talk/JHJ3XY/
END:VEVENT
END:VCALENDAR
