BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//pretalx//programme.europython.eu//europython-2024//speaker//BPFJE
 J
BEGIN:VTIMEZONE
TZID:CET
BEGIN:STANDARD
DTSTART:20001029T040000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
TZNAME:CET
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:20000326T030000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3
TZNAME:CEST
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
UID:pretalx-europython-2024-CVXAB7@programme.europython.eu
DTSTART;TZID=CET:20240710T160500
DTEND;TZID=CET:20240710T163500
DESCRIPTION:Decorators are powerful\, magical syntax sugar\, offering a con
 venient way to wrap and enhance functions. But sometimes\, it's not clear 
 how to use a defined decorator.\n\nWhat arguments should we pass to a give
 n decorator? What functions does it target? Does it change the return type
  of the wrapped function? Have you ever faced these questions?\n\nIf prope
 r type hints are defined for decorators\, static type checkers like mypy a
 nd pyright IDEs will point out the errors in usage. Thus\, guiding you on 
 the right path by catching bugs earlier\, reducing unnecessary debugging a
 nd unexpected runtime behaviour.\n\nThis talk will step you through type d
 efinitions utilizing `typing.TypeVarTuple`\, `typing.Protocol`\, `typing.P
 aramSpec`\, `typing.Concatenate`\, `Type Parameter Syntax`\, and more\, al
 l of which are practical to implement and can make your project robust!
DTSTAMP:20260612T023438Z
LOCATION:South Hall 2A
SUMMARY:Enhancing Decorators with Type Annotations: Techniques and Best Pra
 ctices - Koudai Aono
URL:https://programme.europython.eu/europython-2024/talk/CVXAB7/
END:VEVENT
END:VCALENDAR
