{"guid":"e5a1674a-c90d-400e-bed3-b6b7d028e845","title":"Python Gradual Typing: The Good, The Bad and the Ugly","subtitle":null,"slug":"bob2022-python-gradual-typing-clifford","link":"https://bobkonf.de/2022/clifford.html","description":"Python is well known as a dynamically typed\n\tlanguage, but it has an increasingly mature system of type\n\tannotations which can be gradually introduced to an existing\n\tcode base. I’d like to tell you some good stuff, some bad\n\tstuff and some terrible stuff - based around my experience\n\tadding type annotations to a large Python codebase over the\n\tlast few years.\n\t","original_language":"eng","persons":["Ben Clifford"],"tags":["bob2022","111","2022","Talk","BOB","BOBKonferenz"],"view_count":105,"promoted":false,"date":"2022-03-11T16:20:00.000+01:00","release_date":"2022-09-05T00:00:00.000+02:00","updated_at":"2026-03-19T18:30:07.502+01:00","length":2116,"duration":2116,"thumb_url":"https://static.media.ccc.de/media/events/bobkonf/2022/111-e5a1674a-c90d-400e-bed3-b6b7d028e845.jpg","poster_url":"https://static.media.ccc.de/media/events/bobkonf/2022/111-e5a1674a-c90d-400e-bed3-b6b7d028e845_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/bobkonf/2022/111-e5a1674a-c90d-400e-bed3-b6b7d028e845.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/bobkonf/2022/111-e5a1674a-c90d-400e-bed3-b6b7d028e845.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/bob2022-python-gradual-typing-clifford","url":"https://api.media.ccc.de/public/events/e5a1674a-c90d-400e-bed3-b6b7d028e845","conference_title":"BOB Konferenz 2022","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2022","related":[],"recordings":[{"size":69,"length":2116,"mime_type":"video/webm","language":"eng","filename":"bob2022-111-eng-Python_Gradual_Typing_The_Good_The_Bad_and_the_Ugly_webm-hd.webm","state":"new","folder":"webm-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2022-09-05T14:46:49.440+02:00","recording_url":"https://cdn.media.ccc.de/events/bobkonf/2022/webm-hd/bob2022-111-eng-Python_Gradual_Typing_The_Good_The_Bad_and_the_Ugly_webm-hd.webm","url":"https://api.media.ccc.de/public/recordings/61505","event_url":"https://api.media.ccc.de/public/events/e5a1674a-c90d-400e-bed3-b6b7d028e845","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2022"},{"size":35,"length":2116,"mime_type":"video/webm","language":"eng","filename":"bob2022-111-eng-Python_Gradual_Typing_The_Good_The_Bad_and_the_Ugly_webm-sd.webm","state":"new","folder":"webm-sd","high_quality":false,"width":720,"height":576,"updated_at":"2022-09-05T14:41:03.741+02:00","recording_url":"https://cdn.media.ccc.de/events/bobkonf/2022/webm-sd/bob2022-111-eng-Python_Gradual_Typing_The_Good_The_Bad_and_the_Ugly_webm-sd.webm","url":"https://api.media.ccc.de/public/recordings/61502","event_url":"https://api.media.ccc.de/public/events/e5a1674a-c90d-400e-bed3-b6b7d028e845","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2022"},{"size":32,"length":2116,"mime_type":"audio/mpeg","language":"eng","filename":"bob2022-111-eng-Python_Gradual_Typing_The_Good_The_Bad_and_the_Ugly_mp3.mp3","state":"new","folder":"mp3","high_quality":false,"width":0,"height":0,"updated_at":"2022-09-05T14:38:46.443+02:00","recording_url":"https://cdn.media.ccc.de/events/bobkonf/2022/mp3/bob2022-111-eng-Python_Gradual_Typing_The_Good_The_Bad_and_the_Ugly_mp3.mp3","url":"https://api.media.ccc.de/public/recordings/61500","event_url":"https://api.media.ccc.de/public/events/e5a1674a-c90d-400e-bed3-b6b7d028e845","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2022"},{"size":20,"length":2116,"mime_type":"audio/opus","language":"eng","filename":"bob2022-111-eng-Python_Gradual_Typing_The_Good_The_Bad_and_the_Ugly_opus.opus","state":"new","folder":"opus","high_quality":false,"width":0,"height":0,"updated_at":"2022-09-05T14:37:03.334+02:00","recording_url":"https://cdn.media.ccc.de/events/bobkonf/2022/opus/bob2022-111-eng-Python_Gradual_Typing_The_Good_The_Bad_and_the_Ugly_opus.opus","url":"https://api.media.ccc.de/public/recordings/61498","event_url":"https://api.media.ccc.de/public/events/e5a1674a-c90d-400e-bed3-b6b7d028e845","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2022"},{"size":39,"length":2116,"mime_type":"video/mp4","language":"eng","filename":"bob2022-111-eng-Python_Gradual_Typing_The_Good_The_Bad_and_the_Ugly_sd.mp4","state":"new","folder":"h264-sd","high_quality":false,"width":720,"height":576,"updated_at":"2022-09-05T14:30:19.484+02:00","recording_url":"https://cdn.media.ccc.de/events/bobkonf/2022/h264-sd/bob2022-111-eng-Python_Gradual_Typing_The_Good_The_Bad_and_the_Ugly_sd.mp4","url":"https://api.media.ccc.de/public/recordings/61495","event_url":"https://api.media.ccc.de/public/events/e5a1674a-c90d-400e-bed3-b6b7d028e845","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2022"},{"size":49,"length":2116,"mime_type":"video/mp4","language":"eng","filename":"bob2022-111-eng-Python_Gradual_Typing_The_Good_The_Bad_and_the_Ugly_hd.mp4","state":"new","folder":"h264-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2022-09-05T13:31:26.243+02:00","recording_url":"https://cdn.media.ccc.de/events/bobkonf/2022/h264-hd/bob2022-111-eng-Python_Gradual_Typing_The_Good_The_Bad_and_the_Ugly_hd.mp4","url":"https://api.media.ccc.de/public/recordings/61456","event_url":"https://api.media.ccc.de/public/events/e5a1674a-c90d-400e-bed3-b6b7d028e845","conference_url":"https://api.media.ccc.de/public/conferences/bobkonf2022"}]}