BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//pretalx//pretalx.com//pycon-sweden-2026//speaker//EJXSCG
BEGIN:VTIMEZONE
TZID:Europe/Stockholm
BEGIN:STANDARD
DTSTART:20251119T000000
TZNAME:CET
TZOFFSETFROM:+0100
TZOFFSETTO:+0100
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:20260329T030000
RDATE:20270328T030000
TZNAME:CEST
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
END:DAYLIGHT
BEGIN:STANDARD
DTSTART:20261025T030000
RDATE:20271031T030000
TZNAME:CET
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
SUMMARY:Concurrency with batteries included - Tobias Wrigstad
DTSTART;TZID=Europe/Stockholm:20261119T091500
DTEND;TZID=Europe/Stockholm:20261119T101500
DTSTAMP:20261111T055032Z
UID:pretalx-pycon-sweden-2026-CRJXVA@pretalx.com
DESCRIPTION:Python is losing the GIL\, and it is not handing you a concurr
 ency model in return.\n\nFree-threading gives you parallelism\, but safety
  is left as an exercise for the reader. The standard answer -- threads\, l
 ocks and queues -- is the toolkit Java and C++ have spent twenty years try
 ing to escape\, and Python is a worse place to use it. Classes\, modules a
 nd globals are mutable objects reachable from almost anywhere\, so sharing
  is the default rather than the exception. This is leaves the door open fo
 r data races.\n\nOne of Python's strengths has been kindness to its users:
  garbage collection\, strong typing\, powerful libraries. Concurrency dese
 rves the same treatment: deadlock-free and with data races manifesting as 
 debuggable exceptions instead of inexplicable values. \n\nIn this talk\, I
  will start with some of the fundamental pitfalls concurrent programming\,
  and then describe a vision for a concurrent Python that comes with batter
 ies included. At its simplest\, support for deep immutability\, so that da
 ta which cannot change can be shared without locks or copies. Then add reg
 ions\, groups of objects that can be accessed together or not at all -- li
 ke a lock that knows which objects it guards\, and catch attempts to reach
  past it. And finally behaviours\, where you declare the data a task needs
  and the scheduler runs it once that data is yours alone. This model is de
 adlock-free and data-race free.\n\nNone of this is speculative. You can `p
 ip install bocpy` today^1\, and we are bringing it to free-threaded Python
 . Immutability is working its way through the PEP process\; regions run in
  a CPython branch you can build.\n\nThe question is not whether Python can
  run in parallel\, but what\nit hands you when it does.\n\n^1 So far\, onl
 y for multiple sub interpreters.
LOCATION:Auditorium
URL:https://pretalx.com/pycon-sweden-2026/talk/CRJXVA/
END:VEVENT
END:VCALENDAR
