{ "days": { "2025-07-14": { "events": [ { "code": "WR38CM", "duration": 30, "event_type": "session", "level": "beginner", "rooms": [ "Club A", "Club B", "Club C", "Club D", "Club E", "Club H" ], "session_type": "Announcements", "slug": "monday-registration-welcome-forum-hall-foyer-1st-floor", "speakers": [], "start": "2025-07-14T08:30:00+02:00", "title": "Monday Registration & Welcome @ Forum Hall Foyer 1st Floor", "track": null, "tweet": "Monday Registration & Welcome @ Forum Hall Foyer 1st Floor !", "website_url": "https://ep2025.europython.eu/session/monday-registration-welcome-forum-hall-foyer-1st-floor" }, { "code": "8CDYTD", "duration": 90, "event_type": "session", "level": "beginner", "rooms": [ "Club D" ], "session_type": "Tutorial", "slug": "learn-dns-using-python", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/CXYAXB_bBIf6Mh.webp", "code": "CXYAXB", "name": "Kushal Das", "slug": "kushal-das", "website_url": "https://ep2025.europython.eu/speaker/kushal-das" } ], "start": "2025-07-14T09:30:00+02:00", "title": "Learn DNS using Python", "track": "~ None of these topics (2025)", "tweet": "A workshop to learn about DNS and using Python to understand inner working and writing a real server", "website_url": "https://ep2025.europython.eu/session/learn-dns-using-python" }, { "code": "CFANXB", "duration": 90, "event_type": "session", "level": "intermediate", "rooms": [ "Club C" ], "session_type": "Tutorial", "slug": "rambo-python", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/FBQ8LL_IcZmAEu.webp", "code": "FBQ8LL", "name": "Julien Lenormand", "slug": "julien-lenormand", "website_url": "https://ep2025.europython.eu/speaker/julien-lenormand" }, { "avatar": "https://programme.europython.eu/media/avatars/RTRPAJ_dN46QeJ.webp", "code": "RTRPAJ", "name": "GAFFIOT Jonathan", "slug": "gaffiot-jonathan", "website_url": "https://ep2025.europython.eu/speaker/gaffiot-jonathan" } ], "start": "2025-07-14T09:30:00+02:00", "title": "Rambo Python", "track": "Tooling, Packaging, Developer Productivity (2025)", "tweet": "How to make your Python projects robust ? Come discover and apply state-of-the-art tooling to improve your workflow and quality.", "website_url": "https://ep2025.europython.eu/session/rambo-python" }, { "code": "CV3M7B", "duration": 90, "event_type": "session", "level": "beginner", "rooms": [ "Club E" ], "session_type": "Tutorial", "slug": "pytest-simple-rapid-and-fun-testing-with-python", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/HZMBBH_VpC8XqN.webp", "code": "HZMBBH", "name": "Freya Bruhin", "slug": "freya-bruhin", "website_url": "https://ep2025.europython.eu/speaker/freya-bruhin" } ], "start": "2025-07-14T09:30:00+02:00", "title": "pytest - simple, rapid and fun testing with Python", "track": "Testing, Quality Assurance, Security (2025)", "tweet": "#pytest lets you write tests in a rapid and simple way. This training will give you an introduction into its distinguishing features.", "website_url": "https://ep2025.europython.eu/session/pytest-simple-rapid-and-fun-testing-with-python" }, { "code": "GLYC3N", "duration": 90, "event_type": "session", "level": "intermediate", "rooms": [ "Club H" ], "session_type": "Tutorial", "slug": "writing-python-modules-in-rust-pyo3-101", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/8EGVC9_LbezfQb.webp", "code": "8EGVC9", "name": "Cheuk Ting Ho", "slug": "cheuk-ting-ho", "website_url": "https://ep2025.europython.eu/speaker/cheuk-ting-ho" } ], "start": "2025-07-14T09:30:00+02:00", "title": "Writing Python modules in Rust - PyO3 101", "track": "Python Core, Internals, Extensions (2025)", "tweet": "In this workshop, we will cover the very basic of using PyO3 - rust library that package rust crates into Python modules", "website_url": "https://ep2025.europython.eu/session/writing-python-modules-in-rust-pyo3-101" }, { "code": "HNHQWB", "duration": 90, "event_type": "session", "level": "intermediate", "rooms": [ "Club B" ], "session_type": "Summit", "slug": "c-api-summit", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/QMAPYZ_ujWOb0o.webp", "code": "QMAPYZ", "name": "Antonio Cuni", "slug": "antonio-cuni", "website_url": "https://ep2025.europython.eu/speaker/antonio-cuni" }, { "avatar": "https://programme.europython.eu/media/avatars/SCAGQW_gVfuTj1.webp", "code": "SCAGQW", "name": "Petr Viktorin", "slug": "petr-viktorin", "website_url": "https://ep2025.europython.eu/speaker/petr-viktorin" } ], "start": "2025-07-14T09:30:00+02:00", "title": "C API Summit", "track": "Python Core, Internals, Extensions (2025)", "tweet": "The C API Summit aims to bring together various stakeholders of Python\u2019s C API", "website_url": "https://ep2025.europython.eu/session/c-api-summit" }, { "code": "VGNBB8", "duration": 90, "event_type": "session", "level": "intermediate", "rooms": [ "Club A" ], "session_type": "Tutorial", "slug": "understand-git-and-never-break-a-repo-again", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/9RZJAF_0IGTepw.webp", "code": "9RZJAF", "name": "Themistoklis Spanoudis", "slug": "themistoklis-spanoudis", "website_url": "https://ep2025.europython.eu/speaker/themistoklis-spanoudis" } ], "start": "2025-07-14T09:30:00+02:00", "title": "Understand Git and Never Break a Repo Again", "track": "Tooling, Packaging, Developer Productivity (2025)", "tweet": "Git got you stressed? Master its core concepts with this practical tutorial, and never worry about lost commits or broken repos again!", "website_url": "https://ep2025.europython.eu/session/understand-git-and-never-break-a-repo-again" }, { "duration": 15, "event_type": "break", "rooms": [ "Club A", "Club B", "Club C", "Club D", "Club E", "Club H" ], "start": "2025-07-14T11:00:00+02:00", "title": "Coffee Break" }, { "code": "8CDYTD", "duration": 90, "event_type": "session", "level": "beginner", "rooms": [ "Club D" ], "session_type": "Tutorial", "slug": "learn-dns-using-python", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/CXYAXB_bBIf6Mh.webp", "code": "CXYAXB", "name": "Kushal Das", "slug": "kushal-das", "website_url": "https://ep2025.europython.eu/speaker/kushal-das" } ], "start": "2025-07-14T11:15:00+02:00", "title": "Learn DNS using Python", "track": "~ None of these topics (2025)", "tweet": "A workshop to learn about DNS and using Python to understand inner working and writing a real server", "website_url": "https://ep2025.europython.eu/session/learn-dns-using-python" }, { "code": "CFANXB", "duration": 90, "event_type": "session", "level": "intermediate", "rooms": [ "Club C" ], "session_type": "Tutorial", "slug": "rambo-python", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/FBQ8LL_IcZmAEu.webp", "code": "FBQ8LL", "name": "Julien Lenormand", "slug": "julien-lenormand", "website_url": "https://ep2025.europython.eu/speaker/julien-lenormand" }, { "avatar": "https://programme.europython.eu/media/avatars/RTRPAJ_dN46QeJ.webp", "code": "RTRPAJ", "name": "GAFFIOT Jonathan", "slug": "gaffiot-jonathan", "website_url": "https://ep2025.europython.eu/speaker/gaffiot-jonathan" } ], "start": "2025-07-14T11:15:00+02:00", "title": "Rambo Python", "track": "Tooling, Packaging, Developer Productivity (2025)", "tweet": "How to make your Python projects robust ? Come discover and apply state-of-the-art tooling to improve your workflow and quality.", "website_url": "https://ep2025.europython.eu/session/rambo-python" }, { "code": "CV3M7B", "duration": 90, "event_type": "session", "level": "beginner", "rooms": [ "Club E" ], "session_type": "Tutorial", "slug": "pytest-simple-rapid-and-fun-testing-with-python", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/HZMBBH_VpC8XqN.webp", "code": "HZMBBH", "name": "Freya Bruhin", "slug": "freya-bruhin", "website_url": "https://ep2025.europython.eu/speaker/freya-bruhin" } ], "start": "2025-07-14T11:15:00+02:00", "title": "pytest - simple, rapid and fun testing with Python", "track": "Testing, Quality Assurance, Security (2025)", "tweet": "#pytest lets you write tests in a rapid and simple way. This training will give you an introduction into its distinguishing features.", "website_url": "https://ep2025.europython.eu/session/pytest-simple-rapid-and-fun-testing-with-python" }, { "code": "GLYC3N", "duration": 90, "event_type": "session", "level": "intermediate", "rooms": [ "Club H" ], "session_type": "Tutorial", "slug": "writing-python-modules-in-rust-pyo3-101", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/8EGVC9_LbezfQb.webp", "code": "8EGVC9", "name": "Cheuk Ting Ho", "slug": "cheuk-ting-ho", "website_url": "https://ep2025.europython.eu/speaker/cheuk-ting-ho" } ], "start": "2025-07-14T11:15:00+02:00", "title": "Writing Python modules in Rust - PyO3 101", "track": "Python Core, Internals, Extensions (2025)", "tweet": "In this workshop, we will cover the very basic of using PyO3 - rust library that package rust crates into Python modules", "website_url": "https://ep2025.europython.eu/session/writing-python-modules-in-rust-pyo3-101" }, { "code": "HNHQWB", "duration": 90, "event_type": "session", "level": "intermediate", "rooms": [ "Club B" ], "session_type": "Summit", "slug": "c-api-summit", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/QMAPYZ_ujWOb0o.webp", "code": "QMAPYZ", "name": "Antonio Cuni", "slug": "antonio-cuni", "website_url": "https://ep2025.europython.eu/speaker/antonio-cuni" }, { "avatar": "https://programme.europython.eu/media/avatars/SCAGQW_gVfuTj1.webp", "code": "SCAGQW", "name": "Petr Viktorin", "slug": "petr-viktorin", "website_url": "https://ep2025.europython.eu/speaker/petr-viktorin" } ], "start": "2025-07-14T11:15:00+02:00", "title": "C API Summit", "track": "Python Core, Internals, Extensions (2025)", "tweet": "The C API Summit aims to bring together various stakeholders of Python\u2019s C API", "website_url": "https://ep2025.europython.eu/session/c-api-summit" }, { "code": "VGNBB8", "duration": 90, "event_type": "session", "level": "intermediate", "rooms": [ "Club A" ], "session_type": "Tutorial", "slug": "understand-git-and-never-break-a-repo-again", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/9RZJAF_0IGTepw.webp", "code": "9RZJAF", "name": "Themistoklis Spanoudis", "slug": "themistoklis-spanoudis", "website_url": "https://ep2025.europython.eu/speaker/themistoklis-spanoudis" } ], "start": "2025-07-14T11:15:00+02:00", "title": "Understand Git and Never Break a Repo Again", "track": "Tooling, Packaging, Developer Productivity (2025)", "tweet": "Git got you stressed? Master its core concepts with this practical tutorial, and never worry about lost commits or broken repos again!", "website_url": "https://ep2025.europython.eu/session/understand-git-and-never-break-a-repo-again" }, { "duration": 60, "event_type": "break", "rooms": [ "Club A", "Club B", "Club C", "Club D", "Club E", "Club H" ], "start": "2025-07-14T12:45:00+02:00", "title": "Lunch" }, { "code": "9EASAW", "duration": 90, "event_type": "session", "level": "intermediate", "rooms": [ "Club A" ], "session_type": "Tutorial", "slug": "gil-free-python-and-the-gpu-hands-on-experience", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/7VSNDY_jYa8qa1.webp", "code": "7VSNDY", "name": "Rostan Tabet", "slug": "rostan-tabet", "website_url": "https://ep2025.europython.eu/speaker/rostan-tabet" }, { "avatar": "https://programme.europython.eu/media/avatars/HATRC3_mVJCHVF.webp", "code": "HATRC3", "name": "Micha\u0142 Szo\u0142ucha", "slug": "michal-szolucha", "website_url": "https://ep2025.europython.eu/speaker/michal-szolucha" } ], "start": "2025-07-14T13:45:00+02:00", "title": "GIL-free Python and the GPU: hands-on experience", "track": "Python Core, Internals, Extensions (2025)", "tweet": "Tune in this hands-on tutorial to learn how to unlock the true parallel performance with free-threaded Python and GPU acceleration.", "website_url": "https://ep2025.europython.eu/session/gil-free-python-and-the-gpu-hands-on-experience" }, { "code": "HNHQWB", "duration": 90, "event_type": "session", "level": "intermediate", "rooms": [ "Club B" ], "session_type": "Summit", "slug": "c-api-summit", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/QMAPYZ_ujWOb0o.webp", "code": "QMAPYZ", "name": "Antonio Cuni", "slug": "antonio-cuni", "website_url": "https://ep2025.europython.eu/speaker/antonio-cuni" }, { "avatar": "https://programme.europython.eu/media/avatars/SCAGQW_gVfuTj1.webp", "code": "SCAGQW", "name": "Petr Viktorin", "slug": "petr-viktorin", "website_url": "https://ep2025.europython.eu/speaker/petr-viktorin" } ], "start": "2025-07-14T13:45:00+02:00", "title": "C API Summit", "track": "Python Core, Internals, Extensions (2025)", "tweet": "The C API Summit aims to bring together various stakeholders of Python\u2019s C API", "website_url": "https://ep2025.europython.eu/session/c-api-summit" }, { "code": "M7EFWG", "duration": 90, "event_type": "session", "level": "intermediate", "rooms": [ "Club E" ], "session_type": "Tutorial", "slug": "mastering-decorators-the-cherry-on-top-of-your-functions", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/BLNV7P_wULjbpV.webp", "code": "BLNV7P", "name": "Rodrigo Gir\u00e3o Serr\u00e3o", "slug": "rodrigo-girao-serrao", "website_url": "https://ep2025.europython.eu/speaker/rodrigo-girao-serrao" } ], "start": "2025-07-14T13:45:00+02:00", "title": "Mastering decorators: the cherry on top of your functions", "track": "Python Core, Internals, Extensions (2025)", "tweet": "Join Rodrigo to learn how to write modular and composable code with the power of decorators!", "website_url": "https://ep2025.europython.eu/session/mastering-decorators-the-cherry-on-top-of-your-functions" }, { "code": "MEDYZE", "duration": 90, "event_type": "session", "level": "beginner", "rooms": [ "Club C" ], "session_type": "Tutorial", "slug": "building-a-cross-platform-app-with-beeware", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/LDFVBH_vINhTd8.webp", "code": "LDFVBH", "name": "Russell Keith-Magee", "slug": "russell-keith-magee", "website_url": "https://ep2025.europython.eu/speaker/russell-keith-magee" } ], "start": "2025-07-14T13:45:00+02:00", "title": "Building a cross-platform app with BeeWare", "track": "~ None of these topics (2025)", "tweet": "Ever wanted to write a mobile phone app in Python? In this tutorial, you'll learn how you can!", "website_url": "https://ep2025.europython.eu/session/building-a-cross-platform-app-with-beeware" }, { "code": "QKHWXB", "duration": 90, "event_type": "session", "level": "intermediate", "rooms": [ "Club H" ], "session_type": "Tutorial", "slug": "practical-pyscript", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/WADEN9_yGxrEFA.webp", "code": "WADEN9", "name": "Nicholas H.Tollervey", "slug": "nicholas-h-tollervey", "website_url": "https://ep2025.europython.eu/speaker/nicholas-h-tollervey" } ], "start": "2025-07-14T13:45:00+02:00", "title": "Practical PyScript", "track": "Web Development, Web APIs, Front-End Integration (2025)", "tweet": "PyScript - an open source platform for Python in the browser - is seeing significant growth. Find out why in this tutorial!", "website_url": "https://ep2025.europython.eu/session/practical-pyscript" }, { "code": "QKTRVP", "duration": 90, "event_type": "session", "level": "beginner", "rooms": [ "Club D" ], "session_type": "Tutorial", "slug": "python-and-data-storytelling-to-create-and-deliver-better-presentations", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/ATT388_ogV5XFX.webp", "code": "ATT388", "name": "Sebasti\u00e1n Flores", "slug": "sebastian-flores", "website_url": "https://ep2025.europython.eu/speaker/sebastian-flores" } ], "start": "2025-07-14T13:45:00+02:00", "title": "Python and Data Storytelling to create and deliver better presentations", "track": "Data preparation and visualisation (2025)", "tweet": "In this hands-on tutorial, attendees will learn tools, tricks, and libraries to create impactful presentations for public speaking or teaching.", "website_url": "https://ep2025.europython.eu/session/python-and-data-storytelling-to-create-and-deliver-better-presentations" }, { "duration": 15, "event_type": "break", "rooms": [ "Club A", "Club B", "Club C", "Club D", "Club E", "Club H" ], "start": "2025-07-14T15:15:00+02:00", "title": "Coffee Break" }, { "code": "9EASAW", "duration": 90, "event_type": "session", "level": "intermediate", "rooms": [ "Club A" ], "session_type": "Tutorial", "slug": "gil-free-python-and-the-gpu-hands-on-experience", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/7VSNDY_jYa8qa1.webp", "code": "7VSNDY", "name": "Rostan Tabet", "slug": "rostan-tabet", "website_url": "https://ep2025.europython.eu/speaker/rostan-tabet" }, { "avatar": "https://programme.europython.eu/media/avatars/HATRC3_mVJCHVF.webp", "code": "HATRC3", "name": "Micha\u0142 Szo\u0142ucha", "slug": "michal-szolucha", "website_url": "https://ep2025.europython.eu/speaker/michal-szolucha" } ], "start": "2025-07-14T15:30:00+02:00", "title": "GIL-free Python and the GPU: hands-on experience", "track": "Python Core, Internals, Extensions (2025)", "tweet": "Tune in this hands-on tutorial to learn how to unlock the true parallel performance with free-threaded Python and GPU acceleration.", "website_url": "https://ep2025.europython.eu/session/gil-free-python-and-the-gpu-hands-on-experience" }, { "code": "HNHQWB", "duration": 90, "event_type": "session", "level": "intermediate", "rooms": [ "Club B" ], "session_type": "Summit", "slug": "c-api-summit", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/QMAPYZ_ujWOb0o.webp", "code": "QMAPYZ", "name": "Antonio Cuni", "slug": "antonio-cuni", "website_url": "https://ep2025.europython.eu/speaker/antonio-cuni" }, { "avatar": "https://programme.europython.eu/media/avatars/SCAGQW_gVfuTj1.webp", "code": "SCAGQW", "name": "Petr Viktorin", "slug": "petr-viktorin", "website_url": "https://ep2025.europython.eu/speaker/petr-viktorin" } ], "start": "2025-07-14T15:30:00+02:00", "title": "C API Summit", "track": "Python Core, Internals, Extensions (2025)", "tweet": "The C API Summit aims to bring together various stakeholders of Python\u2019s C API", "website_url": "https://ep2025.europython.eu/session/c-api-summit" }, { "code": "M7EFWG", "duration": 90, "event_type": "session", "level": "intermediate", "rooms": [ "Club E" ], "session_type": "Tutorial", "slug": "mastering-decorators-the-cherry-on-top-of-your-functions", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/BLNV7P_wULjbpV.webp", "code": "BLNV7P", "name": "Rodrigo Gir\u00e3o Serr\u00e3o", "slug": "rodrigo-girao-serrao", "website_url": "https://ep2025.europython.eu/speaker/rodrigo-girao-serrao" } ], "start": "2025-07-14T15:30:00+02:00", "title": "Mastering decorators: the cherry on top of your functions", "track": "Python Core, Internals, Extensions (2025)", "tweet": "Join Rodrigo to learn how to write modular and composable code with the power of decorators!", "website_url": "https://ep2025.europython.eu/session/mastering-decorators-the-cherry-on-top-of-your-functions" }, { "code": "MEDYZE", "duration": 90, "event_type": "session", "level": "beginner", "rooms": [ "Club C" ], "session_type": "Tutorial", "slug": "building-a-cross-platform-app-with-beeware", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/LDFVBH_vINhTd8.webp", "code": "LDFVBH", "name": "Russell Keith-Magee", "slug": "russell-keith-magee", "website_url": "https://ep2025.europython.eu/speaker/russell-keith-magee" } ], "start": "2025-07-14T15:30:00+02:00", "title": "Building a cross-platform app with BeeWare", "track": "~ None of these topics (2025)", "tweet": "Ever wanted to write a mobile phone app in Python? In this tutorial, you'll learn how you can!", "website_url": "https://ep2025.europython.eu/session/building-a-cross-platform-app-with-beeware" }, { "code": "QKHWXB", "duration": 90, "event_type": "session", "level": "intermediate", "rooms": [ "Club H" ], "session_type": "Tutorial", "slug": "practical-pyscript", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/WADEN9_yGxrEFA.webp", "code": "WADEN9", "name": "Nicholas H.Tollervey", "slug": "nicholas-h-tollervey", "website_url": "https://ep2025.europython.eu/speaker/nicholas-h-tollervey" } ], "start": "2025-07-14T15:30:00+02:00", "title": "Practical PyScript", "track": "Web Development, Web APIs, Front-End Integration (2025)", "tweet": "PyScript - an open source platform for Python in the browser - is seeing significant growth. Find out why in this tutorial!", "website_url": "https://ep2025.europython.eu/session/practical-pyscript" }, { "code": "QKTRVP", "duration": 90, "event_type": "session", "level": "beginner", "rooms": [ "Club D" ], "session_type": "Tutorial", "slug": "python-and-data-storytelling-to-create-and-deliver-better-presentations", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/ATT388_ogV5XFX.webp", "code": "ATT388", "name": "Sebasti\u00e1n Flores", "slug": "sebastian-flores", "website_url": "https://ep2025.europython.eu/speaker/sebastian-flores" } ], "start": "2025-07-14T15:30:00+02:00", "title": "Python and Data Storytelling to create and deliver better presentations", "track": "Data preparation and visualisation (2025)", "tweet": "In this hands-on tutorial, attendees will learn tools, tricks, and libraries to create impactful presentations for public speaking or teaching.", "website_url": "https://ep2025.europython.eu/session/python-and-data-storytelling-to-create-and-deliver-better-presentations" } ], "rooms": [ "Club A", "Club B", "Club C", "Club D", "Club E", "Club H" ] }, "2025-07-15": { "events": [ { "code": "G9EKQP", "duration": 30, "event_type": "session", "level": "beginner", "rooms": [ "Club A", "Club B", "Club C", "Club D", "Club E", "Club H" ], "session_type": "Announcements", "slug": "tuesday-registration-welcome-forum-hall-foyer-1st-floor", "speakers": [], "start": "2025-07-15T08:30:00+02:00", "title": "Tuesday Registration & Welcome @ Forum Hall Foyer 1st Floor", "track": null, "tweet": "Tuesday Registration & Welcome @ Forum Hall Foyer 1st Floor!", "website_url": "https://ep2025.europython.eu/session/tuesday-registration-welcome-forum-hall-foyer-1st-floor" }, { "code": "7ARRRE", "duration": 90, "event_type": "session", "level": "beginner", "rooms": [ "Club A" ], "session_type": "Tutorial", "slug": "setting-up-reliable-ci-cd-pipelines-with-python-k8s-testcontainers", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/XQMQY7_nKYZtRe.webp", "code": "XQMQY7", "name": "Koti Vellanki", "slug": "koti-vellanki", "website_url": "https://ep2025.europython.eu/speaker/koti-vellanki" } ], "start": "2025-07-15T09:30:00+02:00", "title": "Setting Up Reliable CI/CD Pipelines with Python, K8s & Testcontainers", "track": "DevOps, Cloud, Scalable Infrastructure (2025)", "tweet": "Learn how to build a smooth CI/CD pipeline with Python for reliable, scalable deployments on Kubernetes.", "website_url": "https://ep2025.europython.eu/session/setting-up-reliable-ci-cd-pipelines-with-python-k8s-testcontainers" }, { "code": "AJPPVG", "duration": 90, "event_type": "session", "level": "advanced", "rooms": [ "Club E" ], "session_type": "Tutorial", "slug": "the-mighty-dot-customize-attribute-access-with-descriptors", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/9KSJ3K_0gV51CH.webp", "code": "9KSJ3K", "name": "Mike M\u00fcller", "slug": "mike-muller", "website_url": "https://ep2025.europython.eu/speaker/mike-muller" } ], "start": "2025-07-15T09:30:00+02:00", "title": "The Mighty Dot - Customize Attribute Access with Descriptors", "track": "Python Core, Internals, Extensions (2025)", "tweet": "A three-hour deep dive into Python's attribute access - Learn what the dot is doing", "website_url": "https://ep2025.europython.eu/session/the-mighty-dot-customize-attribute-access-with-descriptors" }, { "code": "RMVNGD", "duration": 90, "event_type": "session", "level": "beginner", "rooms": [ "Club H" ], "session_type": "Tutorial", "slug": "cleaner-code-better-queries-sqlalchemy-orms-and-asyncio", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/GCUUHS_VjuW3g0.webp", "code": "GCUUHS", "name": "Rhythm Patel", "slug": "rhythm-patel", "website_url": "https://ep2025.europython.eu/speaker/rhythm-patel" }, { "avatar": "https://programme.europython.eu/media/avatars/HY78L8_J780zo6.webp", "code": "HY78L8", "name": "Olga Matoula", "slug": "olga-matoula", "website_url": "https://ep2025.europython.eu/speaker/olga-matoula" } ], "start": "2025-07-15T09:30:00+02:00", "title": "Cleaner Code, Better Queries: SQLAlchemy, ORMs and asyncio", "track": "Data preparation and visualisation (2025)", "tweet": "Learn to interact with your database using SQLAlchemy, a powerful SQL toolkit; explore its Object Relational Mapper (ORM) system and asyncio extension", "website_url": "https://ep2025.europython.eu/session/cleaner-code-better-queries-sqlalchemy-orms-and-asyncio" }, { "code": "RTCZQG", "duration": 90, "event_type": "session", "level": "intermediate", "rooms": [ "Club D" ], "session_type": "Tutorial", "slug": "efficient-query-routing-using-agentic-rag", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/XVM8TR_FTeacji.webp", "code": "XVM8TR", "name": "Tarun Jain", "slug": "tarun-jain", "website_url": "https://ep2025.europython.eu/speaker/tarun-jain" } ], "start": "2025-07-15T09:30:00+02:00", "title": "Efficient Query Routing using Agentic RAG", "track": "Machine Learning, NLP and CV (2025)", "tweet": "Have you ever written a code imitating humans? Its time to build an Agent that interact with multiple data sources, be it PDF, Youtube or web search.", "website_url": "https://ep2025.europython.eu/session/efficient-query-routing-using-agentic-rag" }, { "code": "RWPFPP", "duration": 90, "event_type": "session", "level": "intermediate", "rooms": [ "Club B" ], "session_type": "Summit", "slug": "webassembly-summit", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/WADEN9_yGxrEFA.webp", "code": "WADEN9", "name": "Nicholas H.Tollervey", "slug": "nicholas-h-tollervey", "website_url": "https://ep2025.europython.eu/speaker/nicholas-h-tollervey" } ], "start": "2025-07-15T09:30:00+02:00", "title": "WebAssembly Summit", "track": "Web Development, Web APIs, Front-End Integration (2025)", "tweet": "The WebAssembly Summit aims to bring together maintainers and users of Python with WebAssembly, to discuss the state of this ecosystem.", "website_url": "https://ep2025.europython.eu/session/webassembly-summit" }, { "code": "V3WS7N", "duration": 90, "event_type": "session", "level": "intermediate", "rooms": [ "Club C" ], "session_type": "Summit", "slug": "rust-summit", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/8EGVC9_LbezfQb.webp", "code": "8EGVC9", "name": "Cheuk Ting Ho", "slug": "cheuk-ting-ho", "website_url": "https://ep2025.europython.eu/speaker/cheuk-ting-ho" }, { "avatar": "https://programme.europython.eu/media/avatars/XJRYWL_hoO6Iqx.webp", "code": "XJRYWL", "name": "Velda Kiara", "slug": "velda-kiara", "website_url": "https://ep2025.europython.eu/speaker/velda-kiara" } ], "start": "2025-07-15T09:30:00+02:00", "title": "Rust Summit", "track": "Python Core, Internals, Extensions (2025)", "tweet": "The Rust Summit aims to bring together various stakeholders of Python\u2019s Rust ecosystem to discuss its current state.", "website_url": "https://ep2025.europython.eu/session/rust-summit" }, { "duration": 15, "event_type": "break", "rooms": [ "Club A", "Club B", "Club C", "Club D", "Club E", "Club H" ], "start": "2025-07-15T11:00:00+02:00", "title": "Coffee Break" }, { "code": "7ARRRE", "duration": 90, "event_type": "session", "level": "beginner", "rooms": [ "Club A" ], "session_type": "Tutorial", "slug": "setting-up-reliable-ci-cd-pipelines-with-python-k8s-testcontainers", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/XQMQY7_nKYZtRe.webp", "code": "XQMQY7", "name": "Koti Vellanki", "slug": "koti-vellanki", "website_url": "https://ep2025.europython.eu/speaker/koti-vellanki" } ], "start": "2025-07-15T11:15:00+02:00", "title": "Setting Up Reliable CI/CD Pipelines with Python, K8s & Testcontainers", "track": "DevOps, Cloud, Scalable Infrastructure (2025)", "tweet": "Learn how to build a smooth CI/CD pipeline with Python for reliable, scalable deployments on Kubernetes.", "website_url": "https://ep2025.europython.eu/session/setting-up-reliable-ci-cd-pipelines-with-python-k8s-testcontainers" }, { "code": "AJPPVG", "duration": 90, "event_type": "session", "level": "advanced", "rooms": [ "Club E" ], "session_type": "Tutorial", "slug": "the-mighty-dot-customize-attribute-access-with-descriptors", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/9KSJ3K_0gV51CH.webp", "code": "9KSJ3K", "name": "Mike M\u00fcller", "slug": "mike-muller", "website_url": "https://ep2025.europython.eu/speaker/mike-muller" } ], "start": "2025-07-15T11:15:00+02:00", "title": "The Mighty Dot - Customize Attribute Access with Descriptors", "track": "Python Core, Internals, Extensions (2025)", "tweet": "A three-hour deep dive into Python's attribute access - Learn what the dot is doing", "website_url": "https://ep2025.europython.eu/session/the-mighty-dot-customize-attribute-access-with-descriptors" }, { "code": "RMVNGD", "duration": 90, "event_type": "session", "level": "beginner", "rooms": [ "Club H" ], "session_type": "Tutorial", "slug": "cleaner-code-better-queries-sqlalchemy-orms-and-asyncio", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/GCUUHS_VjuW3g0.webp", "code": "GCUUHS", "name": "Rhythm Patel", "slug": "rhythm-patel", "website_url": "https://ep2025.europython.eu/speaker/rhythm-patel" }, { "avatar": "https://programme.europython.eu/media/avatars/HY78L8_J780zo6.webp", "code": "HY78L8", "name": "Olga Matoula", "slug": "olga-matoula", "website_url": "https://ep2025.europython.eu/speaker/olga-matoula" } ], "start": "2025-07-15T11:15:00+02:00", "title": "Cleaner Code, Better Queries: SQLAlchemy, ORMs and asyncio", "track": "Data preparation and visualisation (2025)", "tweet": "Learn to interact with your database using SQLAlchemy, a powerful SQL toolkit; explore its Object Relational Mapper (ORM) system and asyncio extension", "website_url": "https://ep2025.europython.eu/session/cleaner-code-better-queries-sqlalchemy-orms-and-asyncio" }, { "code": "RTCZQG", "duration": 90, "event_type": "session", "level": "intermediate", "rooms": [ "Club D" ], "session_type": "Tutorial", "slug": "efficient-query-routing-using-agentic-rag", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/XVM8TR_FTeacji.webp", "code": "XVM8TR", "name": "Tarun Jain", "slug": "tarun-jain", "website_url": "https://ep2025.europython.eu/speaker/tarun-jain" } ], "start": "2025-07-15T11:15:00+02:00", "title": "Efficient Query Routing using Agentic RAG", "track": "Machine Learning, NLP and CV (2025)", "tweet": "Have you ever written a code imitating humans? Its time to build an Agent that interact with multiple data sources, be it PDF, Youtube or web search.", "website_url": "https://ep2025.europython.eu/session/efficient-query-routing-using-agentic-rag" }, { "code": "RWPFPP", "duration": 90, "event_type": "session", "level": "intermediate", "rooms": [ "Club B" ], "session_type": "Summit", "slug": "webassembly-summit", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/WADEN9_yGxrEFA.webp", "code": "WADEN9", "name": "Nicholas H.Tollervey", "slug": "nicholas-h-tollervey", "website_url": "https://ep2025.europython.eu/speaker/nicholas-h-tollervey" } ], "start": "2025-07-15T11:15:00+02:00", "title": "WebAssembly Summit", "track": "Web Development, Web APIs, Front-End Integration (2025)", "tweet": "The WebAssembly Summit aims to bring together maintainers and users of Python with WebAssembly, to discuss the state of this ecosystem.", "website_url": "https://ep2025.europython.eu/session/webassembly-summit" }, { "code": "V3WS7N", "duration": 90, "event_type": "session", "level": "intermediate", "rooms": [ "Club C" ], "session_type": "Summit", "slug": "rust-summit", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/8EGVC9_LbezfQb.webp", "code": "8EGVC9", "name": "Cheuk Ting Ho", "slug": "cheuk-ting-ho", "website_url": "https://ep2025.europython.eu/speaker/cheuk-ting-ho" }, { "avatar": "https://programme.europython.eu/media/avatars/XJRYWL_hoO6Iqx.webp", "code": "XJRYWL", "name": "Velda Kiara", "slug": "velda-kiara", "website_url": "https://ep2025.europython.eu/speaker/velda-kiara" } ], "start": "2025-07-15T11:15:00+02:00", "title": "Rust Summit", "track": "Python Core, Internals, Extensions (2025)", "tweet": "The Rust Summit aims to bring together various stakeholders of Python\u2019s Rust ecosystem to discuss its current state.", "website_url": "https://ep2025.europython.eu/session/rust-summit" }, { "duration": 60, "event_type": "break", "rooms": [ "Club A", "Club B", "Club C", "Club D", "Club E", "Club H" ], "start": "2025-07-15T12:45:00+02:00", "title": "Lunch" }, { "code": "AYXDME", "duration": 90, "event_type": "session", "level": "intermediate", "rooms": [ "Club E" ], "session_type": "Tutorial", "slug": "strawberry-and-alittlebit-apollo", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/N3QP3G_fTTnotS.webp", "code": "N3QP3G", "name": "Arthur Bayr", "slug": "arthur-bayr", "website_url": "https://ep2025.europython.eu/speaker/arthur-bayr" } ], "start": "2025-07-15T13:45:00+02:00", "title": "Strawberry and alittlebit Apollo", "track": "Web Development, Web APIs, Front-End Integration (2025)", "tweet": "Strawberry, a modern Python library for GraphQL, simplifies API development with its type-safe schema definition and integration flexibility. Paired w", "website_url": "https://ep2025.europython.eu/session/strawberry-and-alittlebit-apollo" }, { "code": "D9JGFG", "duration": 90, "event_type": "session", "level": "intermediate", "rooms": [ "Club A" ], "session_type": "Tutorial", "slug": "accelerating-scientific-python-jax-numba-and-ray-in-action", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/BLWEQ9_zSbz63m.webp", "code": "BLWEQ9", "name": "Jakub Urban", "slug": "jakub-urban", "website_url": "https://ep2025.europython.eu/speaker/jakub-urban" }, { "avatar": "https://programme.europython.eu/media/avatars/PHKTE3_F3HP0sW.webp", "code": "PHKTE3", "name": "Jan Pipek", "slug": "jan-pipek", "website_url": "https://ep2025.europython.eu/speaker/jan-pipek" } ], "start": "2025-07-15T13:45:00+02:00", "title": "Accelerating Scientific Python: JAX, Numba, and Ray in Action", "track": "Jupyter and Scientific Python (2025)", "tweet": "Supercharge your Python numerical code with JAX, Numba, and Ray! Master JIT compilation, GPU acceleration, and distributed computing in this tutorial.", "website_url": "https://ep2025.europython.eu/session/accelerating-scientific-python-jax-numba-and-ray-in-action" }, { "code": "E9HV7P", "duration": 90, "event_type": "session", "level": "intermediate", "rooms": [ "Club H" ], "session_type": "Tutorial", "slug": "let-s-build-a-dictionary", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/VZM8L3_hrGE7DW.webp", "code": "VZM8L3", "name": "Reuven M. Lerner", "slug": "reuven-m-lerner", "website_url": "https://ep2025.europython.eu/speaker/reuven-m-lerner" } ], "start": "2025-07-15T13:45:00+02:00", "title": "Let's build a dictionary!", "track": "Python Core, Internals, Extensions (2025)", "tweet": "Wonder how Python dicts work? You'll find out in, \"Let's make a dictionary,\" where we'll create our own Dictionary class in Python.", "website_url": "https://ep2025.europython.eu/session/let-s-build-a-dictionary" }, { "code": "MXKGZ9", "duration": 90, "event_type": "session", "level": "intermediate", "rooms": [ "Club C" ], "session_type": "Summit", "slug": "packaging-summit", "speakers": [ { "avatar": null, "code": "K8VZLK", "name": "Pradyun Gedam", "slug": "pradyun-gedam", "website_url": "https://ep2025.europython.eu/speaker/pradyun-gedam" }, { "avatar": "https://programme.europython.eu/media/avatars/MCLJSN_PwGqrbL.webp", "code": "MCLJSN", "name": "Jannis Leidel", "slug": "jannis-leidel", "website_url": "https://ep2025.europython.eu/speaker/jannis-leidel" } ], "start": "2025-07-15T13:45:00+02:00", "title": "Packaging Summit", "track": "Tooling, Packaging, Developer Productivity (2025)", "tweet": "The Python Packaging Summit brings together devs, maintainers, tool authors, infra stewards, and community members working across the Python Ecosystem", "website_url": "https://ep2025.europython.eu/session/packaging-summit" }, { "code": "RBTZEC", "duration": 90, "event_type": "session", "level": "beginner", "rooms": [ "Club D" ], "session_type": "Tutorial", "slug": "speaking-at-europython-or-your-favorite-conference-yes-you-can", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/PK8LSS_AnxijVa.webp", "code": "PK8LSS", "name": "Vin\u00edcius Gubiani Ferreira", "slug": "vinicius-gubiani-ferreira", "website_url": "https://ep2025.europython.eu/speaker/vinicius-gubiani-ferreira" } ], "start": "2025-07-15T13:45:00+02:00", "title": "Speaking at EuroPython (or your favorite conference)? Yes, you can!", "track": "Professional Development, Careers, Leadership (2025)", "tweet": "Speaking at EuroPython (or another favorite conference)? Let me help you with that", "website_url": "https://ep2025.europython.eu/session/speaking-at-europython-or-your-favorite-conference-yes-you-can" }, { "code": "RWPFPP", "duration": 90, "event_type": "session", "level": "intermediate", "rooms": [ "Club B" ], "session_type": "Summit", "slug": "webassembly-summit", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/WADEN9_yGxrEFA.webp", "code": "WADEN9", "name": "Nicholas H.Tollervey", "slug": "nicholas-h-tollervey", "website_url": "https://ep2025.europython.eu/speaker/nicholas-h-tollervey" } ], "start": "2025-07-15T13:45:00+02:00", "title": "WebAssembly Summit", "track": "Web Development, Web APIs, Front-End Integration (2025)", "tweet": "The WebAssembly Summit aims to bring together maintainers and users of Python with WebAssembly, to discuss the state of this ecosystem.", "website_url": "https://ep2025.europython.eu/session/webassembly-summit" }, { "duration": 15, "event_type": "break", "rooms": [ "Club A", "Club B", "Club C", "Club D", "Club E", "Club H" ], "start": "2025-07-15T15:15:00+02:00", "title": "Coffee Break" }, { "code": "AYXDME", "duration": 90, "event_type": "session", "level": "intermediate", "rooms": [ "Club E" ], "session_type": "Tutorial", "slug": "strawberry-and-alittlebit-apollo", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/N3QP3G_fTTnotS.webp", "code": "N3QP3G", "name": "Arthur Bayr", "slug": "arthur-bayr", "website_url": "https://ep2025.europython.eu/speaker/arthur-bayr" } ], "start": "2025-07-15T15:30:00+02:00", "title": "Strawberry and alittlebit Apollo", "track": "Web Development, Web APIs, Front-End Integration (2025)", "tweet": "Strawberry, a modern Python library for GraphQL, simplifies API development with its type-safe schema definition and integration flexibility. Paired w", "website_url": "https://ep2025.europython.eu/session/strawberry-and-alittlebit-apollo" }, { "code": "D9JGFG", "duration": 90, "event_type": "session", "level": "intermediate", "rooms": [ "Club A" ], "session_type": "Tutorial", "slug": "accelerating-scientific-python-jax-numba-and-ray-in-action", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/BLWEQ9_zSbz63m.webp", "code": "BLWEQ9", "name": "Jakub Urban", "slug": "jakub-urban", "website_url": "https://ep2025.europython.eu/speaker/jakub-urban" }, { "avatar": "https://programme.europython.eu/media/avatars/PHKTE3_F3HP0sW.webp", "code": "PHKTE3", "name": "Jan Pipek", "slug": "jan-pipek", "website_url": "https://ep2025.europython.eu/speaker/jan-pipek" } ], "start": "2025-07-15T15:30:00+02:00", "title": "Accelerating Scientific Python: JAX, Numba, and Ray in Action", "track": "Jupyter and Scientific Python (2025)", "tweet": "Supercharge your Python numerical code with JAX, Numba, and Ray! Master JIT compilation, GPU acceleration, and distributed computing in this tutorial.", "website_url": "https://ep2025.europython.eu/session/accelerating-scientific-python-jax-numba-and-ray-in-action" }, { "code": "E9HV7P", "duration": 90, "event_type": "session", "level": "intermediate", "rooms": [ "Club H" ], "session_type": "Tutorial", "slug": "let-s-build-a-dictionary", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/VZM8L3_hrGE7DW.webp", "code": "VZM8L3", "name": "Reuven M. Lerner", "slug": "reuven-m-lerner", "website_url": "https://ep2025.europython.eu/speaker/reuven-m-lerner" } ], "start": "2025-07-15T15:30:00+02:00", "title": "Let's build a dictionary!", "track": "Python Core, Internals, Extensions (2025)", "tweet": "Wonder how Python dicts work? You'll find out in, \"Let's make a dictionary,\" where we'll create our own Dictionary class in Python.", "website_url": "https://ep2025.europython.eu/session/let-s-build-a-dictionary" }, { "code": "MXKGZ9", "duration": 90, "event_type": "session", "level": "intermediate", "rooms": [ "Club C" ], "session_type": "Summit", "slug": "packaging-summit", "speakers": [ { "avatar": null, "code": "K8VZLK", "name": "Pradyun Gedam", "slug": "pradyun-gedam", "website_url": "https://ep2025.europython.eu/speaker/pradyun-gedam" }, { "avatar": "https://programme.europython.eu/media/avatars/MCLJSN_PwGqrbL.webp", "code": "MCLJSN", "name": "Jannis Leidel", "slug": "jannis-leidel", "website_url": "https://ep2025.europython.eu/speaker/jannis-leidel" } ], "start": "2025-07-15T15:30:00+02:00", "title": "Packaging Summit", "track": "Tooling, Packaging, Developer Productivity (2025)", "tweet": "The Python Packaging Summit brings together devs, maintainers, tool authors, infra stewards, and community members working across the Python Ecosystem", "website_url": "https://ep2025.europython.eu/session/packaging-summit" }, { "code": "RBTZEC", "duration": 90, "event_type": "session", "level": "beginner", "rooms": [ "Club D" ], "session_type": "Tutorial", "slug": "speaking-at-europython-or-your-favorite-conference-yes-you-can", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/PK8LSS_AnxijVa.webp", "code": "PK8LSS", "name": "Vin\u00edcius Gubiani Ferreira", "slug": "vinicius-gubiani-ferreira", "website_url": "https://ep2025.europython.eu/speaker/vinicius-gubiani-ferreira" } ], "start": "2025-07-15T15:30:00+02:00", "title": "Speaking at EuroPython (or your favorite conference)? Yes, you can!", "track": "Professional Development, Careers, Leadership (2025)", "tweet": "Speaking at EuroPython (or another favorite conference)? Let me help you with that", "website_url": "https://ep2025.europython.eu/session/speaking-at-europython-or-your-favorite-conference-yes-you-can" }, { "code": "RWPFPP", "duration": 90, "event_type": "session", "level": "intermediate", "rooms": [ "Club B" ], "session_type": "Summit", "slug": "webassembly-summit", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/WADEN9_yGxrEFA.webp", "code": "WADEN9", "name": "Nicholas H.Tollervey", "slug": "nicholas-h-tollervey", "website_url": "https://ep2025.europython.eu/speaker/nicholas-h-tollervey" } ], "start": "2025-07-15T15:30:00+02:00", "title": "WebAssembly Summit", "track": "Web Development, Web APIs, Front-End Integration (2025)", "tweet": "The WebAssembly Summit aims to bring together maintainers and users of Python with WebAssembly, to discuss the state of this ecosystem.", "website_url": "https://ep2025.europython.eu/session/webassembly-summit" }, { "code": "VBSZJW", "duration": 30, "event_type": "session", "level": "beginner", "rooms": [ "Club B" ], "session_type": "Announcements", "slug": "beginner-s-orientation", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/3W9ACY_LldAyJL.webp", "code": "3W9ACY", "name": "Naa Ashiorkor Nortey", "slug": "naa-ashiorkor-nortey", "website_url": "https://ep2025.europython.eu/speaker/naa-ashiorkor-nortey" }, { "avatar": null, "code": "CXYJN7", "name": "Martin Borus", "slug": "martin-borus", "website_url": "https://ep2025.europython.eu/speaker/martin-borus" } ], "start": "2025-07-15T17:10:00+02:00", "title": "Beginner's Orientation", "track": null, "tweet": "Join the Beginner's Orientation to learn how to surf EuroPython 2025!", "website_url": "https://ep2025.europython.eu/session/beginner-s-orientation" } ], "rooms": [ "Club A", "Club B", "Club C", "Club D", "Club E", "Club H" ] }, "2025-07-16": { "events": [ { "code": "ZCPJFG", "duration": 30, "event_type": "session", "level": "beginner", "rooms": [ "Exhibit Hall", "Forum Hall", "North Hall", "South Hall 2A", "South Hall 2B", "Terrace 2A", "Terrace 2B" ], "session_type": "Announcements", "slug": "wednesday-registration-welcome-forum-hall-foyer-1st-floor", "speakers": [], "start": "2025-07-16T08:00:00+02:00", "title": "Wednesday Registration & Welcome @ Forum Hall Foyer 1st Floor", "track": null, "tweet": "Wednesday Registration & Welcome @ Forum Hall Foyer 1st Floor", "website_url": "https://ep2025.europython.eu/session/wednesday-registration-welcome-forum-hall-foyer-1st-floor" }, { "code": "JEXAHQ", "duration": 30, "event_type": "session", "level": "beginner", "rooms": [ "Forum Hall" ], "session_type": "Announcements", "slug": "conference-opening", "speakers": [], "start": "2025-07-16T09:00:00+02:00", "title": "Conference Opening \ud83c\udf89", "track": null, "tweet": "Conference Opening: Welcome to EuroPython 2025, a session that will give you an overview of the following days", "website_url": "https://ep2025.europython.eu/session/conference-opening" }, { "code": "SLSM8T", "duration": 45, "event_type": "session", "level": "beginner", "rooms": [ "Forum Hall" ], "session_type": "Keynote", "slug": "you-dont-have-to-be-a-compiler-engineer-to-work-on-python", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/HB3VXK_jYOhX4I.webp", "code": "HB3VXK", "name": "Savannah Ostrowski", "slug": "savannah-ostrowski", "website_url": "https://ep2025.europython.eu/speaker/savannah-ostrowski" } ], "start": "2025-07-16T09:30:00+02:00", "title": "You don\u2019t have to be a compiler engineer to work on Python", "track": "Python Core, Internals, Extensions (2025)", "tweet": "You don\u2019t need to be a compiler engineer to contribute to Python! This talk covers overlooked but critical work\u2014triaging, docs, build systems & more.", "website_url": "https://ep2025.europython.eu/session/you-dont-have-to-be-a-compiler-engineer-to-work-on-python" }, { "duration": 25, "event_type": "break", "rooms": [ "Forum Hall", "North Hall", "South Hall 2A", "South Hall 2B", "Terrace 2A", "Terrace 2B" ], "start": "2025-07-16T10:20:00+02:00", "title": "Coffee Break" }, { "code": "78GQHG", "duration": 45, "event_type": "session", "level": "beginner", "rooms": [ "Terrace 2B" ], "session_type": "Talk (long session)", "slug": "teamwork-makes-the-dream-work", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/YLSDKF_NXQI9h2.webp", "code": "YLSDKF", "name": "Sheena", "slug": "sheena", "website_url": "https://ep2025.europython.eu/speaker/sheena" } ], "start": "2025-07-16T10:45:00+02:00", "title": "Teamwork makes the dream work", "track": "Professional Development, Careers, Leadership (2025)", "tweet": "Software development is a team sport. We've heard it before. But what exactly does good teamwork look like? Let's be explicit about it", "website_url": "https://ep2025.europython.eu/session/teamwork-makes-the-dream-work" }, { "code": "DQFMNM", "duration": 45, "event_type": "session", "level": "intermediate", "rooms": [ "North Hall" ], "session_type": "Talk (long session)", "slug": "accelerating-privacy-enhancing-data-processing", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/BYLZXE_sYNAlzf.webp", "code": "BYLZXE", "name": "Florian Stefan", "slug": "florian-stefan", "website_url": "https://ep2025.europython.eu/speaker/florian-stefan" } ], "start": "2025-07-16T10:45:00+02:00", "title": "Accelerating privacy-enhancing data processing", "track": "Data Engineering and MLOps (2025)", "tweet": "How we transform sensitive data from heterogeneous environments into research-grade oncology datasets. And how we shift insights generation left.", "website_url": "https://ep2025.europython.eu/session/accelerating-privacy-enhancing-data-processing" }, { "code": "KCJRPT", "duration": 45, "event_type": "session", "level": "intermediate", "rooms": [ "South Hall 2A" ], "session_type": "Talk (long session)", "slug": "parallel-programming-and-cython", "speakers": [ { "avatar": null, "code": "DMLAZT", "name": "David Woods", "slug": "david-woods", "website_url": "https://ep2025.europython.eu/speaker/david-woods" } ], "start": "2025-07-16T10:45:00+02:00", "title": "Parallel programming and Cython", "track": "Python Core, Internals, Extensions (2025)", "tweet": "How to write parallel code in Cython, and how does that change with freethreaded Python.", "website_url": "https://ep2025.europython.eu/session/parallel-programming-and-cython" }, { "code": "KFQSZK", "duration": 45, "event_type": "session", "level": "beginner", "rooms": [ "Terrace 2A" ], "session_type": "Talk (long session)", "slug": "let-s-talk-communication-consensus-building-in-open-source", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/HA3SES_DibVdln.webp", "code": "HA3SES", "name": "Travis Hathaway", "slug": "travis-hathaway", "website_url": "https://ep2025.europython.eu/speaker/travis-hathaway" } ], "start": "2025-07-16T10:45:00+02:00", "title": "Let's talk: Communication & Consensus Building in Open-Source", "track": "Community Building, Education, Outreach (2025)", "tweet": "Learn about the top three things you can do to facilitate better communication and consensus building for your open source project!", "website_url": "https://ep2025.europython.eu/session/let-s-talk-communication-consensus-building-in-open-source" }, { "code": "QHFKGT", "duration": 45, "event_type": "session", "level": "intermediate", "rooms": [ "Forum Hall" ], "session_type": "Talk (long session)", "slug": "myths-and-fairy-tales-around-python-performance", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/QMAPYZ_ujWOb0o.webp", "code": "QMAPYZ", "name": "Antonio Cuni", "slug": "antonio-cuni", "website_url": "https://ep2025.europython.eu/speaker/antonio-cuni" } ], "start": "2025-07-16T10:45:00+02:00", "title": "Myths and fairy tales around Python performance", "track": "Python Core, Internals, Extensions (2025)", "tweet": "\"Think you know why Python is slow? Most common answers are myths. Let\u2019s debunk them and set the record straight!\"", "website_url": "https://ep2025.europython.eu/session/myths-and-fairy-tales-around-python-performance" }, { "code": "XCN9MD", "duration": 45, "event_type": "session", "level": "intermediate", "rooms": [ "South Hall 2B" ], "session_type": "Talk (long session)", "slug": "design-pressure-the-invisible-hand-that-shapes-your-code", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/8NBKQT_ECoOPkO.webp", "code": "8NBKQT", "name": "Hynek Schlawack", "slug": "hynek-schlawack", "website_url": "https://ep2025.europython.eu/speaker/hynek-schlawack" } ], "start": "2025-07-16T10:45:00+02:00", "title": "Design Pressure: The Invisible Hand That Shapes Your Code", "track": "~ None of these topics (2025)", "tweet": "Why does good code go bad? Hidden design pressures shape your architecture. Learn to spot these forces and leverage good ones while avoiding the bad.", "website_url": "https://ep2025.europython.eu/session/design-pressure-the-invisible-hand-that-shapes-your-code" }, { "code": "AD3TGW", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "Terrace 2A" ], "session_type": "Talk", "slug": "dbt-score-continuous-integration-for-dbt-metadata", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/9S3Z87_p5sgHpk.webp", "code": "9S3Z87", "name": "Matthieu Caneill", "slug": "matthieu-caneill", "website_url": "https://ep2025.europython.eu/speaker/matthieu-caneill" }, { "avatar": "https://programme.europython.eu/media/avatars/MSG8X8_ZqViNUV.webp", "code": "MSG8X8", "name": "Jochem van Dooren", "slug": "jochem-van-dooren", "website_url": "https://ep2025.europython.eu/speaker/jochem-van-dooren" } ], "start": "2025-07-16T11:40:00+02:00", "title": "dbt-score: continuous integration for dbt metadata", "track": "Data Engineering and MLOps (2025)", "tweet": "Centralized metadata management is wonderful to simplify large data platforms. dbt-score is a linter helping data teams keep everything tidy!", "website_url": "https://ep2025.europython.eu/session/dbt-score-continuous-integration-for-dbt-metadata" }, { "code": "D8FJPN", "duration": 30, "event_type": "session", "level": "advanced", "rooms": [ "Forum Hall" ], "session_type": "Talk", "slug": "exploring-the-cpython-jit", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/NCU7GS_zzTxxgX.webp", "code": "NCU7GS", "name": "Diego Russo", "slug": "diego-russo", "website_url": "https://ep2025.europython.eu/speaker/diego-russo" } ], "start": "2025-07-16T11:40:00+02:00", "title": "Exploring the CPython JIT", "track": "Python Core, Internals, Extensions (2025)", "tweet": "Have you heard about the CPython JIT compiler? Join me to learn how it works and how you can leverage it in the upcoming 3.14 Python release \ud83d\udc0d", "website_url": "https://ep2025.europython.eu/session/exploring-the-cpython-jit" }, { "code": "NKTHSJ", "duration": 30, "event_type": "session", "level": "beginner", "rooms": [ "South Hall 2A" ], "session_type": "Talk", "slug": "flying-free-data-analysis-with-python-for-aeronautical-planning", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/QYVKS9_tR3Wben.webp", "code": "QYVKS9", "name": "Joaqu\u00edn Rayado", "slug": "joaquin-rayado", "website_url": "https://ep2025.europython.eu/speaker/joaquin-rayado" } ], "start": "2025-07-16T11:40:00+02:00", "title": "Flying Free: data analysis with Python for aeronautical planning", "track": "Data preparation and visualisation (2025)", "tweet": "How Python can make Flight Operations easier estimating last-minute increases of passengers.", "website_url": "https://ep2025.europython.eu/session/flying-free-data-analysis-with-python-for-aeronautical-planning" }, { "code": "P9DT7T", "duration": 30, "event_type": "session", "level": "beginner", "rooms": [ "Terrace 2B" ], "session_type": "Talk", "slug": "mentoring-both-ways-helping-others-while-leveling-up-yourself", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/VLWVB9_jStzz9H.webp", "code": "VLWVB9", "name": "Manivannan Selvaraj", "slug": "manivannan-selvaraj", "website_url": "https://ep2025.europython.eu/speaker/manivannan-selvaraj" } ], "start": "2025-07-16T11:40:00+02:00", "title": "Mentoring Both Ways: Helping Others While Leveling Up Yourself!", "track": "Professional Development, Careers, Leadership (2025)", "tweet": "The talk is about how to build mentoring relationships. How to be a mentor as well as a mentee? Fun, powerful way to grow while helping others.", "website_url": "https://ep2025.europython.eu/session/mentoring-both-ways-helping-others-while-leveling-up-yourself" }, { "code": "YGXMN9", "duration": 30, "event_type": "session", "level": "beginner", "rooms": [ "North Hall" ], "session_type": "Talk", "slug": "inside-the-black-box-the-anatomy-of-virtual-environments", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/ATSTYM_mKVyUmk.webp", "code": "ATSTYM", "name": "Daniel Herv\u00e1s", "slug": "daniel-hervas", "website_url": "https://ep2025.europython.eu/speaker/daniel-hervas" } ], "start": "2025-07-16T11:40:00+02:00", "title": "Inside the Black Box: The Anatomy of Virtual Environments", "track": "Python Core, Internals, Extensions (2025)", "tweet": "Virtual environments are widely used, but also not widely explored. In this talk, we'll discover exactly how they work and what they do!", "website_url": "https://ep2025.europython.eu/session/inside-the-black-box-the-anatomy-of-virtual-environments" }, { "code": "YQ79RE", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "South Hall 2B" ], "session_type": "Talk", "slug": "fairlearn-practical-approach-to-assessing-and-mitigating-harm-in-ai-systems", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/ACTDC3_vvkiZHM.webp", "code": "ACTDC3", "name": "Tamara Atanasoska", "slug": "tamara-atanasoska", "website_url": "https://ep2025.europython.eu/speaker/tamara-atanasoska" } ], "start": "2025-07-16T11:40:00+02:00", "title": "Fairlearn:practical approach to assessing and mitigating harm in AI systems", "track": "Ethics, Social Responsibility, Sustainability, Legal (2025)", "tweet": "As AI becomes essential, ensuring fairness is vital. Discover Fairlearn, a community-driven toolkit for assessing and mitigating harm in AI systems.", "website_url": "https://ep2025.europython.eu/session/fairlearn-practical-approach-to-assessing-and-mitigating-harm-in-ai-systems" }, { "code": "3ZNVQQ", "duration": 30, "event_type": "session", "level": "beginner", "rooms": [ "Terrace 2A" ], "session_type": "Talk", "slug": "one-screenreader-to-rule-them-all-using-nvda-for-windows-automation", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/LKXMJS_Wvboovd.webp", "code": "LKXMJS", "name": "Ram\u00f3n Corominas", "slug": "ramon-corominas", "website_url": "https://ep2025.europython.eu/speaker/ramon-corominas" } ], "start": "2025-07-16T12:20:00+02:00", "title": "One Screenreader to rule them all: using NVDA for Windows automation", "track": "Tooling, Packaging, Developer Productivity (2025)", "tweet": "The NVDA screenreader is not only a great tool for blind people, it's also an incredible Python-based platform to increase your Windows productivity!", "website_url": "https://ep2025.europython.eu/session/one-screenreader-to-rule-them-all-using-nvda-for-windows-automation" }, { "code": "DKECGU", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "North Hall" ], "session_type": "Talk", "slug": "orms-a-bridge-to-efficient-database-interactions-with-python", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/XJRYWL_hoO6Iqx.webp", "code": "XJRYWL", "name": "Velda Kiara", "slug": "velda-kiara", "website_url": "https://ep2025.europython.eu/speaker/velda-kiara" } ], "start": "2025-07-16T12:20:00+02:00", "title": "ORMs: A Bridge to Efficient Database Interactions with Python", "track": "Web Development, Web APIs, Front-End Integration (2025)", "tweet": "Ever wondered how a building came together? This talk is your blueprint. We will explore how we moved from SQL to ORMs", "website_url": "https://ep2025.europython.eu/session/orms-a-bridge-to-efficient-database-interactions-with-python" }, { "code": "GMKTFY", "duration": 30, "event_type": "session", "level": "beginner", "rooms": [ "South Hall 2A" ], "session_type": "Talk", "slug": "building-my-own-accurate-spotify-wrapped", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/M93JSK_il7Q6sB.webp", "code": "M93JSK", "name": "Iulia Feroli", "slug": "iulia-feroli", "website_url": "https://ep2025.europython.eu/speaker/iulia-feroli" } ], "start": "2025-07-16T12:20:00+02:00", "title": "Building my own (accurate!) Spotify Wrapped", "track": "Data preparation and visualisation (2025)", "tweet": "who doesn't like gamifying their data and diving into your their habits? let's build a custom Spotify Wrapped - and take it a few steps further!", "website_url": "https://ep2025.europython.eu/session/building-my-own-accurate-spotify-wrapped" }, { "code": "GS8GHZ", "duration": 30, "event_type": "session", "level": "beginner", "rooms": [ "Terrace 2B" ], "session_type": "Talk", "slug": "how-to-deal-with-toxic-people", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/XL8BGH_eQkcwzr.webp", "code": "XL8BGH", "name": "Gina H\u00e4u\u00dfge", "slug": "gina-haussge", "website_url": "https://ep2025.europython.eu/speaker/gina-haussge" } ], "start": "2025-07-16T12:20:00+02:00", "title": "How to deal with toxic people", "track": "Professional Development, Careers, Leadership (2025)", "tweet": "As maintainer, you'll encounter ungrateful, entitled & outright toxic people who can be a real drain on your well-being. Let's see some ways to cope!", "website_url": "https://ep2025.europython.eu/session/how-to-deal-with-toxic-people" }, { "code": "PBNRMR", "duration": 30, "event_type": "session", "level": "advanced", "rooms": [ "Forum Hall" ], "session_type": "Talk", "slug": "a-tour-of-some-python-jit-compilers", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/GDYCUK_nRxr0jm.webp", "code": "GDYCUK", "name": "Stepan Sindelar", "slug": "stepan-sindelar", "website_url": "https://ep2025.europython.eu/speaker/stepan-sindelar" }, { "avatar": "https://programme.europython.eu/media/avatars/KRBSGU_n6kVcES.webp", "code": "KRBSGU", "name": "Michael \u0160im\u00e1\u010dek", "slug": "michael-simacek", "website_url": "https://ep2025.europython.eu/speaker/michael-simacek" } ], "start": "2025-07-16T12:20:00+02:00", "title": "A tour of (some) Python JIT compilers", "track": "Python Core, Internals, Extensions (2025)", "tweet": "From Python 3.13\u2019s new JIT to PyPy & GraalPy: how they work, what Python code can/cannot be faster with JIT, and what may happen when JIT meets no-GIL", "website_url": "https://ep2025.europython.eu/session/a-tour-of-some-python-jit-compilers" }, { "code": "ZNVECA", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "South Hall 2B" ], "session_type": "Talk", "slug": "is-prompt-engineering-dead-how-auto-optimization-is-changing-the-game", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/EACXYX_merNsK0.webp", "code": "EACXYX", "name": "Iryna Kondrashchenko", "slug": "iryna-kondrashchenko", "website_url": "https://ep2025.europython.eu/speaker/iryna-kondrashchenko" }, { "avatar": "https://programme.europython.eu/media/avatars/NWAQCX_J60YTrz.webp", "code": "NWAQCX", "name": "Oleh Kostromin", "slug": "oleh-kostromin", "website_url": "https://ep2025.europython.eu/speaker/oleh-kostromin" } ], "start": "2025-07-16T12:20:00+02:00", "title": "Is Prompt Engineering Dead? How Auto-Optimization is Changing the Game", "track": "Machine Learning, NLP and CV (2025)", "tweet": "The talk explores various automatic prompt optimization approaches, showcasing their practical applications through frameworks like DSPy & AdalFlow.", "website_url": "https://ep2025.europython.eu/session/is-prompt-engineering-dead-how-auto-optimization-is-changing-the-game" }, { "duration": 60, "event_type": "break", "rooms": [ "Forum Hall", "North Hall", "South Hall 2A", "South Hall 2B", "Terrace 2A", "Terrace 2B" ], "start": "2025-07-16T12:50:00+02:00", "title": "Lunch" }, { "code": "AEAK3B", "duration": 60, "event_type": "session", "level": "beginner", "rooms": [ "Exhibit Hall" ], "session_type": "Poster", "slug": "pyschool-introducing-high-school-students-to-the-world-of-python", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/ATT388_ogV5XFX.webp", "code": "ATT388", "name": "Sebasti\u00e1n Flores", "slug": "sebastian-flores", "website_url": "https://ep2025.europython.eu/speaker/sebastian-flores" } ], "start": "2025-07-16T12:50:00+02:00", "title": "PySchool: Introducing High School Students to the World of Python", "track": "Community Building, Education, Outreach (2025)", "tweet": "Learn about PySchool, built to teach Python to high school students with no Python knowledge as attendees. No installation needed!", "website_url": "https://ep2025.europython.eu/session/pyschool-introducing-high-school-students-to-the-world-of-python" }, { "code": "L8YSMU", "duration": 60, "event_type": "session", "level": "intermediate", "rooms": [ "Exhibit Hall" ], "session_type": "Poster", "slug": "portable-data-parallel-python-extensions-using-oneapi", "speakers": [ { "avatar": null, "code": "FHFJJF", "name": "Nikita Grigorian", "slug": "nikita-grigorian", "website_url": "https://ep2025.europython.eu/speaker/nikita-grigorian" } ], "start": "2025-07-16T12:50:00+02:00", "title": "Portable data-parallel Python extensions using oneAPI", "track": "Jupyter and Scientific Python (2025)", "tweet": "Showcasing Python extensions that can target AMD GPUs, NVIDIA GPUs, Intel GPUs, as well as multi-core CPUs.", "website_url": "https://ep2025.europython.eu/session/portable-data-parallel-python-extensions-using-oneapi" }, { "code": "ZLMT3Q", "duration": 60, "event_type": "session", "level": "intermediate", "rooms": [ "Exhibit Hall" ], "session_type": "Poster", "slug": "exploring-llm-latency", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/MTEUCU_ltm5KOw.webp", "code": "MTEUCU", "name": "Pavel Kr\u00e1l", "slug": "pavel-kral", "website_url": "https://ep2025.europython.eu/speaker/pavel-kral" } ], "start": "2025-07-16T12:50:00+02:00", "title": "Exploring LLM latency", "track": "Data Engineering and MLOps (2025)", "tweet": "Which LLM provider should you choose based on latency? As LLMs become integral to modern applications, speed can make or break your UX.", "website_url": "https://ep2025.europython.eu/session/exploring-llm-latency" }, { "code": "AR7VP8", "duration": 30, "event_type": "session", "level": "beginner", "rooms": [ "Terrace 2B" ], "session_type": "Talk", "slug": "how-to-contribute-to-python-docs-in-your-own-language", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/UP8GUY_uizV9yO.webp", "code": "UP8GUY", "name": "Marco Richetta", "slug": "marco-richetta", "website_url": "https://ep2025.europython.eu/speaker/marco-richetta" } ], "start": "2025-07-16T13:50:00+02:00", "title": "How to contribute to Python docs in your own language", "track": "Community Building, Education, Outreach (2025)", "tweet": "Would you like to be able to read the docs for your favorite project in your native language? Check out our experience with the Python translation", "website_url": "https://ep2025.europython.eu/session/how-to-contribute-to-python-docs-in-your-own-language" }, { "code": "BXWQYK", "duration": 30, "event_type": "session", "level": "beginner", "rooms": [ "South Hall 2A" ], "session_type": "Talk", "slug": "godot-python-open-source-in-game-development", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/TZP89H_ArNVJyT.webp", "code": "TZP89H", "name": "Diego D\u00edaz Mor\u00f3n", "slug": "diego-diaz-moron", "website_url": "https://ep2025.europython.eu/speaker/diego-diaz-moron" } ], "start": "2025-07-16T13:50:00+02:00", "title": "Godot & Python: open source in game development", "track": "Python for Games, Art, Play and Expression (2025)", "tweet": "Lately Godot has become very famous in the game development industry. We will see how to create a step-by-step game with Godot and Python.", "website_url": "https://ep2025.europython.eu/session/godot-python-open-source-in-game-development" }, { "code": "PRDDPR", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "North Hall" ], "session_type": "Sponsored", "slug": "build-and-deploy-ai-agents-in-vs-code", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/U7LWNU_5Jrt9Ds.webp", "code": "U7LWNU", "name": "Sharon Xu", "slug": "sharon-xu", "website_url": "https://ep2025.europython.eu/speaker/sharon-xu" } ], "start": "2025-07-16T13:50:00+02:00", "title": "Build and Deploy AI Agents in VS Code", "track": "Tooling, Packaging, Developer Productivity (2025)", "tweet": "Want to build an AI agent? Join us in this session to learn how to build, test, and deploy an agent\u2014all from VS Code. Can't wait to see you there! \ud83d\udc4b", "website_url": "https://ep2025.europython.eu/session/build-and-deploy-ai-agents-in-vs-code" }, { "code": "TU3D7R", "duration": 60, "event_type": "session", "level": "intermediate", "rooms": [ "South Hall 2B" ], "session_type": "Panel", "slug": "ai-discussion-panel", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/3QJLK8_8WJj3Ud.webp", "code": "3QJLK8", "name": "Laura Summers", "slug": "laura-summers", "website_url": "https://ep2025.europython.eu/speaker/laura-summers" }, { "avatar": "https://programme.europython.eu/media/avatars/LFUZNB_bsntvXJ.webp", "code": "LFUZNB", "name": "Kayode Makinde", "slug": "kayode-makinde", "website_url": "https://ep2025.europython.eu/speaker/kayode-makinde" }, { "avatar": "https://programme.europython.eu/media/avatars/LMVFYV_JDDlsZQ.webp", "code": "LMVFYV", "name": "Reyha Verma", "slug": "reyha-verma", "website_url": "https://ep2025.europython.eu/speaker/reyha-verma" }, { "avatar": "https://programme.europython.eu/media/avatars/UMPJBY_kLpts52.webp", "code": "UMPJBY", "name": "Jenny Vega", "slug": "jenny-vega", "website_url": "https://ep2025.europython.eu/speaker/jenny-vega" } ], "start": "2025-07-16T13:50:00+02:00", "title": "AI Discussion Panel", "track": "Machine Learning, NLP and CV (2025)", "tweet": "Join us for this fascinating discussion of the impact of AI on privacy, the environment, economics and the arts.", "website_url": "https://ep2025.europython.eu/session/ai-discussion-panel" }, { "code": "XEXS3Y", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "Forum Hall" ], "session_type": "Talk", "slug": "uncovering-the-magic-of-implementing-a-new-python-syntax-feature", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/FRXXAQ_cBQDaZd.webp", "code": "FRXXAQ", "name": "Lysandros Nikolaou", "slug": "lysandros-nikolaou", "website_url": "https://ep2025.europython.eu/speaker/lysandros-nikolaou" } ], "start": "2025-07-16T13:50:00+02:00", "title": "Uncovering the magic of implementing a new Python syntax feature", "track": "Python Core, Internals, Extensions (2025)", "tweet": "Have you ever considered how new Python features are implemented? Come take a look inside Python to understand how Python runs your programs.", "website_url": "https://ep2025.europython.eu/session/uncovering-the-magic-of-implementing-a-new-python-syntax-feature" }, { "code": "ZNMPFX", "duration": 30, "event_type": "session", "level": "beginner", "rooms": [ "Terrace 2A" ], "session_type": "Talk", "slug": "refactoring-and-maintaing-software-building-code-you-won-t-hate-tomorrow", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/CHTAPC_7VO7ieh.webp", "code": "CHTAPC", "name": "Bojan Miletic", "slug": "bojan-miletic", "website_url": "https://ep2025.europython.eu/speaker/bojan-miletic" } ], "start": "2025-07-16T13:50:00+02:00", "title": "Refactoring and Maintaing Software : Building code you won't hate tomorrow", "track": "~ None of these topics (2025)", "tweet": "While has made it easy to generate code that \"works\", learn how to make a software that can stand the test of time", "website_url": "https://ep2025.europython.eu/session/refactoring-and-maintaing-software-building-code-you-won-t-hate-tomorrow" }, { "code": "GQGKNS", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "Terrace 2B" ], "session_type": "Talk", "slug": "democratize-serverless-web-ai-apps-for-python-devs", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/DCMLEM_vvgTxTd.webp", "code": "DCMLEM", "name": "Yuichiro Tachibana", "slug": "yuichiro-tachibana", "website_url": "https://ep2025.europython.eu/speaker/yuichiro-tachibana" } ], "start": "2025-07-16T14:30:00+02:00", "title": "Democratize serverless web AI apps for Python devs", "track": "Web Development, Web APIs, Front-End Integration (2025)", "tweet": "Turn your Python scripts into interactive web apps that can be hosted as static web pages, without any frontend coding.", "website_url": "https://ep2025.europython.eu/session/democratize-serverless-web-ai-apps-for-python-devs" }, { "code": "MUAVCX", "duration": 30, "event_type": "session", "level": "beginner", "rooms": [ "Forum Hall" ], "session_type": "Talk", "slug": "wasm-and-python-the-future-of-serverless-computing", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/NXPA9Z_hhqKeEe.webp", "code": "NXPA9Z", "name": "Farhaan Bukhsh", "slug": "farhaan-bukhsh", "website_url": "https://ep2025.europython.eu/speaker/farhaan-bukhsh" }, { "avatar": "https://programme.europython.eu/media/avatars/RGWRNN_zMYbHoy.webp", "code": "RGWRNN", "name": "Kumar Anirudha", "slug": "kumar-anirudha", "website_url": "https://ep2025.europython.eu/speaker/kumar-anirudha" } ], "start": "2025-07-16T14:30:00+02:00", "title": "WASM and Python: The Future of Serverless Computing", "track": "Web Development, Web APIs, Front-End Integration (2025)", "tweet": "Exploring how WASM enables Python in serverless computing, its challenges, tools like Pyodide, and a FastAPI deployment demo using WASM.", "website_url": "https://ep2025.europython.eu/session/wasm-and-python-the-future-of-serverless-computing" }, { "code": "SCKCAV", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "Terrace 2A" ], "session_type": "Talk", "slug": "the-evolution-of-advanced-python-monitoring", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/QBZD3R_U0DEYVd.webp", "code": "QBZD3R", "name": "May Walter", "slug": "may-walter", "website_url": "https://ep2025.europython.eu/speaker/may-walter" } ], "start": "2025-07-16T14:30:00+02:00", "title": "The Evolution of Advanced Python Monitoring", "track": "Python Core, Internals, Extensions (2025)", "tweet": "Unlock Python's Monitoring Power: Learn Tools Like sys.monitoring & Import Hooks to Debug Faster, Boost Performance, and Simplify Maintenance", "website_url": "https://ep2025.europython.eu/session/the-evolution-of-advanced-python-monitoring" }, { "code": "TXZMRS", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "North Hall" ], "session_type": "Talk", "slug": "typing-at-scale-statically-type-checking-a-large-codebase", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/WWZ3SR_KQsUvXL.webp", "code": "WWZ3SR", "name": "Alan Franzoni", "slug": "alan-franzoni", "website_url": "https://ep2025.europython.eu/speaker/alan-franzoni" } ], "start": "2025-07-16T14:30:00+02:00", "title": "Typing at scale: statically type-checking a large codebase", "track": "Tooling, Packaging, Developer Productivity (2025)", "tweet": "If it looks like a duck, swims like a duck, and quacks like a duck, then it probably is a duck. What happens if we try to entirely drop the probably?", "website_url": "https://ep2025.europython.eu/session/typing-at-scale-statically-type-checking-a-large-codebase" }, { "code": "US9HWQ", "duration": 30, "event_type": "session", "level": "beginner", "rooms": [ "South Hall 2A" ], "session_type": "Talk", "slug": "bridging-the-gap-viewing-your-project-through-a-downstream-packager-s-lens", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/FYYBAE_OTaN9A1.webp", "code": "FYYBAE", "name": "Karolina Surma", "slug": "karolina-surma", "website_url": "https://ep2025.europython.eu/speaker/karolina-surma" } ], "start": "2025-07-16T14:30:00+02:00", "title": "Bridging the gap: Viewing your project through a downstream packager's lens", "track": "Tooling, Packaging, Developer Productivity (2025)", "tweet": "How does your Python project look to downstream packagers? Learn what helps, what hurts, and how to improve\u2014insights from 4,000+ packages! \ud83d\udc0d #Python", "website_url": "https://ep2025.europython.eu/session/bridging-the-gap-viewing-your-project-through-a-downstream-packager-s-lens" }, { "duration": 25, "event_type": "break", "rooms": [ "Forum Hall", "North Hall", "South Hall 2A", "South Hall 2B", "Terrace 2A", "Terrace 2B" ], "start": "2025-07-16T15:00:00+02:00", "title": "Coffee Break" }, { "code": "3BQFTP", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "Forum Hall" ], "session_type": "Talk", "slug": "pyscript-as-infrastructure-running-edublocks-at-scale-without-the-cost", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/G7GCFL_eTuB080.webp", "code": "G7GCFL", "name": "Josh Lowe", "slug": "josh-lowe", "website_url": "https://ep2025.europython.eu/speaker/josh-lowe" } ], "start": "2025-07-16T15:25:00+02:00", "title": "PyScript as Infrastructure: Running EduBlocks at Scale Without the Cost", "track": "Web Development, Web APIs, Front-End Integration (2025)", "tweet": "Learn how PyScript powers EduBlocks to run Python entirely in the browser - with zero server costs. From architecture to implementation.", "website_url": "https://ep2025.europython.eu/session/pyscript-as-infrastructure-running-edublocks-at-scale-without-the-cost" }, { "code": "3FYGDN", "duration": 30, "event_type": "session", "level": "beginner", "rooms": [ "South Hall 2B" ], "session_type": "Talk", "slug": "eu-ai-act-unveiling-lesser-known-aspects-and-implementation-entities", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/HGSWKF_ZnotwvU.webp", "code": "HGSWKF", "name": "Adrin Jalali", "slug": "adrin-jalali", "website_url": "https://ep2025.europython.eu/speaker/adrin-jalali" } ], "start": "2025-07-16T15:25:00+02:00", "title": "EU AI Act: Unveiling Lesser-Known Aspects and Implementation Entities", "track": "Ethics, Social Responsibility, Sustainability, Legal (2025)", "tweet": "The EU AI Act: Unveiling Lesser-Known Aspects, Implementation Entities, and Exemptions", "website_url": "https://ep2025.europython.eu/session/eu-ai-act-unveiling-lesser-known-aspects-and-implementation-entities" }, { "code": "8K38D8", "duration": 30, "event_type": "session", "level": "beginner", "rooms": [ "Terrace 2B" ], "session_type": "Talk", "slug": "is-your-programming-curriculum-inclusive-for-neurodivergents", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/HPYZNL_oiW7W8X.webp", "code": "HPYZNL", "name": "Mykalin Jones", "slug": "mykalin-jones", "website_url": "https://ep2025.europython.eu/speaker/mykalin-jones" } ], "start": "2025-07-16T15:25:00+02:00", "title": "Is your programming curriculum inclusive for neurodivergents?", "track": "Community Building, Education, Outreach (2025)", "tweet": "\"Learn how to make programming education inclusive for neurodivergent learners with practical tips, advocacy strategies, and actionable solutions!\"", "website_url": "https://ep2025.europython.eu/session/is-your-programming-curriculum-inclusive-for-neurodivergents" }, { "code": "GMWLFT", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "North Hall" ], "session_type": "Talk", "slug": "type-hints-in-real-world-projects-maintenance-improvement", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/BPFJEJ_nBVuCjo.webp", "code": "BPFJEJ", "name": "Koudai Aono", "slug": "koudai-aono", "website_url": "https://ep2025.europython.eu/speaker/koudai-aono" } ], "start": "2025-07-16T15:25:00+02:00", "title": "Type Hints in Real-World Projects: Maintenance & Improvement", "track": "Tooling, Packaging, Developer Productivity (2025)", "tweet": "Move beyond minimal Python type hints with smart ignoring strategies, modern tooling, and automation pipelines\u2014build a robust, maintainable codebase.", "website_url": "https://ep2025.europython.eu/session/type-hints-in-real-world-projects-maintenance-improvement" }, { "code": "HAKES9", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "South Hall 2A" ], "session_type": "Talk", "slug": "transforming-data-interaction-a-self-served-insight-tool-with-langgraph", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/8WGAEU_gScBqLM.webp", "code": "8WGAEU", "name": "Julie Fang", "slug": "julie-fang", "website_url": "https://ep2025.europython.eu/speaker/julie-fang" } ], "start": "2025-07-16T15:25:00+02:00", "title": "Transforming Data Interaction: A Self-Served Insight Tool with LangGraph", "track": "Machine Learning, NLP and CV (2025)", "tweet": "Unlock the power of agentic AI: Learn how LangGraph enables production-ready, multi-agent conversational analytics for self-service data insights.", "website_url": "https://ep2025.europython.eu/session/transforming-data-interaction-a-self-served-insight-tool-with-langgraph" }, { "code": "MPKBEN", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "Terrace 2A" ], "session_type": "Talk", "slug": "anatomy-of-a-python-opentelemetry-instrumentation", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/7HXJWM_ZAZYg4V.webp", "code": "7HXJWM", "name": "Riccardo Magliocchetti", "slug": "riccardo-magliocchetti", "website_url": "https://ep2025.europython.eu/speaker/riccardo-magliocchetti" } ], "start": "2025-07-16T15:25:00+02:00", "title": "Anatomy of a Python OpenTelemetry instrumentation", "track": "DevOps, Cloud, Scalable Infrastructure (2025)", "tweet": "OpenTelemetry Python instrumentations may seem indistinguishable from magic: let\u2019s dig a bit into the code to see what\u2019s inside the black box!", "website_url": "https://ep2025.europython.eu/session/anatomy-of-a-python-opentelemetry-instrumentation" }, { "code": "8QQYJW", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "Terrace 2A" ], "session_type": "Talk", "slug": "fearless-automation-that-runs-anywhere-with-python", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/C7HJ97_tNj9jeU.webp", "code": "C7HJ97", "name": "Padraic Calpin", "slug": "padraic-calpin", "website_url": "https://ep2025.europython.eu/speaker/padraic-calpin" } ], "start": "2025-07-16T16:05:00+02:00", "title": "Fearless Automation that Runs Anywhere with Python", "track": "DevOps, Cloud, Scalable Infrastructure (2025)", "tweet": "Create native pipelines that run locally and in the cloud with Python", "website_url": "https://ep2025.europython.eu/session/fearless-automation-that-runs-anywhere-with-python" }, { "code": "9PGYHF", "duration": 30, "event_type": "session", "level": "beginner", "rooms": [ "North Hall" ], "session_type": "Sponsored", "slug": "the-fastapi-postgres-stack-you-ve-been-waiting-for", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/A9JAT3_p7SqLxe.webp", "code": "A9JAT3", "name": "Yury Selivanov", "slug": "yury-selivanov", "website_url": "https://ep2025.europython.eu/speaker/yury-selivanov" } ], "start": "2025-07-16T16:05:00+02:00", "title": "The FastAPI-Postgres stack you've been waiting for", "track": "Web Development, Web APIs, Front-End Integration (2025)", "tweet": "New FastAPI-Postgres integration dropping at EuroPython. Statically-typed queries, asyncpg speed, auth built-in. Time for something new \ud83d\ude80", "website_url": "https://ep2025.europython.eu/session/the-fastapi-postgres-stack-you-ve-been-waiting-for" }, { "code": "AJHY9H", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "Forum Hall" ], "session_type": "Talk", "slug": "a-pythonic-semantic-search", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/BGLPFA_1uT6IzU.webp", "code": "BGLPFA", "name": "Paolo Melchiorre", "slug": "paolo-melchiorre", "website_url": "https://ep2025.europython.eu/speaker/paolo-melchiorre" } ], "start": "2025-07-16T16:05:00+02:00", "title": "A Pythonic semantic search", "track": "Web Development, Web APIs, Front-End Integration (2025)", "tweet": "How to implement a semantic search using using only an Open-Source AI stack based on Python, Django, PostgreSQL, pgvector, Sentence Transformers.", "website_url": "https://ep2025.europython.eu/session/a-pythonic-semantic-search" }, { "code": "HMRHJJ", "duration": 30, "event_type": "session", "level": "beginner", "rooms": [ "South Hall 2A" ], "session_type": "Talk", "slug": "your-very-first-contribution-to-open-source", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/EARAKA_LTBo885.webp", "code": "EARAKA", "name": "J\u00fcrgen Gmach", "slug": "jurgen-gmach", "website_url": "https://ep2025.europython.eu/speaker/jurgen-gmach" } ], "start": "2025-07-16T16:05:00+02:00", "title": "Your Very First Contribution to Open Source", "track": "Professional Development, Careers, Leadership (2025)", "tweet": "Have you always wanted to contribute to open source but were afraid? Let me take your hand and let's do it!", "website_url": "https://ep2025.europython.eu/session/your-very-first-contribution-to-open-source" }, { "code": "NATVVE", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "South Hall 2B" ], "session_type": "Sponsored", "slug": "the-pydantic-stack-for-ai-apps", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/3QJLK8_8WJj3Ud.webp", "code": "3QJLK8", "name": "Laura Summers", "slug": "laura-summers", "website_url": "https://ep2025.europython.eu/speaker/laura-summers" }, { "avatar": "https://programme.europython.eu/media/avatars/WDJ8JE_qjag5Be.webp", "code": "WDJ8JE", "name": "Victorien Plot", "slug": "victorien-plot", "website_url": "https://ep2025.europython.eu/speaker/victorien-plot" } ], "start": "2025-07-16T16:05:00+02:00", "title": "The Pydantic stack for AI apps", "track": "Data Engineering and MLOps (2025)", "tweet": "AI development is still software development\u2014with frustrating twists. We'll show you patterns for building reliable AI apps that don't fall apart, usi", "website_url": "https://ep2025.europython.eu/session/the-pydantic-stack-for-ai-apps" }, { "code": "XEMLJB", "duration": 45, "event_type": "session", "level": "beginner", "rooms": [ "Forum Hall" ], "session_type": "Keynote", "slug": "building-a-large-saas-ai-product-with-python-the-tale-of-three-ecosystems", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/KQ8BX8_DxMdUC6.webp", "code": "KQ8BX8", "name": "Petr Baudis", "slug": "petr-baudis", "website_url": "https://ep2025.europython.eu/speaker/petr-baudis" } ], "start": "2025-07-16T16:45:00+02:00", "title": "Building a large SaaS AI product with Python: The tale of three ecosystems", "track": "Tooling, Packaging, Developer Productivity (2025)", "tweet": "Building Python app automating business transactions worth trillions. And why one takeaway is losing Zen of Python in the age of Django and Pydantic.", "website_url": "https://ep2025.europython.eu/session/building-a-large-saas-ai-product-with-python-the-tale-of-three-ecosystems" }, { "code": "9VL9PH", "duration": 15, "event_type": "session", "level": "beginner", "rooms": [ "Forum Hall" ], "session_type": "Talk", "slug": "python-quiz", "speakers": [], "start": "2025-07-16T17:30:00+02:00", "title": "Python quiz", "track": null, "tweet": "Join us for a fast, fun, and brain-twisting quiz all about Python, the tools, and the community.", "website_url": "https://ep2025.europython.eu/session/python-quiz" }, { "code": "GZR9KT", "duration": 30, "event_type": "session", "level": "beginner", "rooms": [ "Forum Hall" ], "session_type": "Announcements", "slug": "lightning-talks-wednesday", "speakers": [], "start": "2025-07-16T17:45:00+02:00", "title": "Lightning talks \u26a1 Wednesday", "track": null, "tweet": "Enjoy Wednesday's lightning talks! Short talks about everything by everyone. Lightning talks are 5 minute talks that anyone participating at the con", "website_url": "https://ep2025.europython.eu/session/lightning-talks-wednesday" } ], "rooms": [ "Exhibit Hall", "Forum Hall", "North Hall", "South Hall 2A", "South Hall 2B", "Terrace 2A", "Terrace 2B" ] }, "2025-07-17": { "events": [ { "code": "PYVBDA", "duration": 30, "event_type": "session", "level": "beginner", "rooms": [ "Exhibit Hall", "Forum Hall", "North Hall", "South Hall 2A", "South Hall 2B", "Terrace 2A", "Terrace 2B" ], "session_type": "Announcements", "slug": "thursday-registration-welcome-forum-hall-foyer-1st-floor", "speakers": [], "start": "2025-07-17T08:00:00+02:00", "title": "Thursday Registration & Welcome @ Forum Hall Foyer 1st Floor", "track": null, "tweet": "Thursday Registration & Welcome @ Forum Hall Foyer 1st Floor", "website_url": "https://ep2025.europython.eu/session/thursday-registration-welcome-forum-hall-foyer-1st-floor" }, { "code": "9CERQG", "duration": 15, "event_type": "session", "level": "beginner", "rooms": [ "Forum Hall" ], "session_type": "Announcements", "slug": "thursday-s-morning-announcement", "speakers": [], "start": "2025-07-17T09:05:00+02:00", "title": "Thursday's Morning Announcement \u23f0", "track": null, "tweet": "Yesterday was an amazing day, but for sure you don't remember all the things that were mentioned during the opening.", "website_url": "https://ep2025.europython.eu/session/thursday-s-morning-announcement" }, { "code": "FCGVPR", "duration": 45, "event_type": "session", "level": "beginner", "rooms": [ "Forum Hall" ], "session_type": "Keynote", "slug": "why-it-took-4-years-to-get-a-lock-files-specification", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/LSFZCM_IWogPr5.webp", "code": "LSFZCM", "name": "Brett Cannon", "slug": "brett-cannon", "website_url": "https://ep2025.europython.eu/speaker/brett-cannon" } ], "start": "2025-07-17T09:20:00+02:00", "title": "Why it took 4 years to get a lock files specification", "track": "Tooling, Packaging, Developer Productivity (2025)", "tweet": "Why did it take 4 years to go from idea to spec for Python lock files? This talk will cover the complexities of Python packaging and lock files.", "website_url": "https://ep2025.europython.eu/session/why-it-took-4-years-to-get-a-lock-files-specification" }, { "duration": 25, "event_type": "break", "rooms": [ "Forum Hall", "North Hall", "South Hall 2A", "South Hall 2B", "Terrace 2A", "Terrace 2B" ], "start": "2025-07-17T10:05:00+02:00", "title": "Coffee Break" }, { "code": "3VNDYN", "duration": 45, "event_type": "session", "level": "advanced", "rooms": [ "Terrace 2A" ], "session_type": "Talk (long session)", "slug": "pwndbg-low-level-debugging-and-exploit-development-with-python", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/KL7QNZ_0xiYxhr.webp", "code": "KL7QNZ", "name": "disconnect3d", "slug": "disconnect3d", "website_url": "https://ep2025.europython.eu/speaker/disconnect3d" } ], "start": "2025-07-17T10:30:00+02:00", "title": "Pwndbg: Low level debugging and exploit development with Python", "track": "Testing, Quality Assurance, Security (2025)", "tweet": "This talk will introduce Pwndbg:a plugin for GDB + LLDB to make debugging suck less and which is helpful for exploit development and security research", "website_url": "https://ep2025.europython.eu/session/pwndbg-low-level-debugging-and-exploit-development-with-python" }, { "code": "BK9JTV", "duration": 45, "event_type": "session", "level": "beginner", "rooms": [ "South Hall 2B" ], "session_type": "Talk (long session)", "slug": "a-tour-of-the-module-itertools", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/BLNV7P_wULjbpV.webp", "code": "BLNV7P", "name": "Rodrigo Gir\u00e3o Serr\u00e3o", "slug": "rodrigo-girao-serrao", "website_url": "https://ep2025.europython.eu/speaker/rodrigo-girao-serrao" } ], "start": "2025-07-17T10:30:00+02:00", "title": "A tour of the module `itertools`", "track": "Python Core, Internals, Extensions (2025)", "tweet": "Rodrigo just cracked the code! He figured out how to explain how descriptors work without you wanting to pull your hair out!", "website_url": "https://ep2025.europython.eu/session/a-tour-of-the-module-itertools" }, { "code": "LHE38S", "duration": 45, "event_type": "session", "level": "advanced", "rooms": [ "Forum Hall" ], "session_type": "Talk (long session)", "slug": "a-new-safe-external-debugger-interface-for-cpython", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/NLHSWB_9yNq5Sm.webp", "code": "NLHSWB", "name": "Pablo Galindo Salgado", "slug": "pablo-galindo-salgado", "website_url": "https://ep2025.europython.eu/speaker/pablo-galindo-salgado" } ], "start": "2025-07-17T10:30:00+02:00", "title": "A new safe external debugger interface for CPython", "track": "Python Core, Internals, Extensions (2025)", "tweet": "PEP 768 brings safe, zero-overhead debugging to Python 3.14. Learn how this new interface lets you debug live Python processes without crashes.", "website_url": "https://ep2025.europython.eu/session/a-new-safe-external-debugger-interface-for-cpython" }, { "code": "PNSAM3", "duration": 45, "event_type": "session", "level": "intermediate", "rooms": [ "South Hall 2A" ], "session_type": "Talk (long session)", "slug": "intuition-vs-reality-surprising-truths-in-python-performance", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/8EZUMQ_I4rkMeS.webp", "code": "8EZUMQ", "name": "Adrien Cacciaguerra", "slug": "adrien-cacciaguerra", "website_url": "https://ep2025.europython.eu/speaker/adrien-cacciaguerra" }, { "avatar": "https://programme.europython.eu/media/avatars/UF9YY9_I3J3R9Y.webp", "code": "UF9YY9", "name": "Arthur Pastel", "slug": "arthur-pastel", "website_url": "https://ep2025.europython.eu/speaker/arthur-pastel" } ], "start": "2025-07-17T10:30:00+02:00", "title": "Intuition vs. Reality: Surprising Truths in Python Performance", "track": "Tooling, Packaging, Developer Productivity (2025)", "tweet": "Test your Python performance instincts in our interactive talk\u2014prepare for surprises and real insights on what truly matters", "website_url": "https://ep2025.europython.eu/session/intuition-vs-reality-surprising-truths-in-python-performance" }, { "code": "QLLC8C", "duration": 45, "event_type": "session", "level": "intermediate", "rooms": [ "Terrace 2B" ], "session_type": "Talk (long session)", "slug": "how-to-use-python-on-a-rpi-to-develop-a-custom-headless-guitar-fx-box", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/39LFME_1JTfhjR.webp", "code": "39LFME", "name": "Matthieu Amiguet", "slug": "matthieu-amiguet", "website_url": "https://ep2025.europython.eu/speaker/matthieu-amiguet" } ], "start": "2025-07-17T10:30:00+02:00", "title": "How to use Python on a RPi to develop a custom headless guitar FX box", "track": "Python for Games, Art, Play and Expression (2025)", "tweet": "All you need to know for developing your own guitar (or other instrument!) FX box on a raspberry pi with python", "website_url": "https://ep2025.europython.eu/session/how-to-use-python-on-a-rpi-to-develop-a-custom-headless-guitar-fx-box" }, { "code": "T3HHJG", "duration": 45, "event_type": "session", "level": "advanced", "rooms": [ "North Hall" ], "session_type": "Talk (long session)", "slug": "sharing-is-caring-efficient-data-exchange-with-pyarrow", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/EMFTT7_E21iLrb.webp", "code": "EMFTT7", "name": "Ra\u00fal Cumplido Dom\u00ednguez", "slug": "raul-cumplido-dominguez", "website_url": "https://ep2025.europython.eu/speaker/raul-cumplido-dominguez" }, { "avatar": "https://programme.europython.eu/media/avatars/ND3KXG_Fr45Kc9.webp", "code": "ND3KXG", "name": "Rok Mihevc", "slug": "rok-mihevc", "website_url": "https://ep2025.europython.eu/speaker/rok-mihevc" }, { "avatar": "https://programme.europython.eu/media/avatars/ZDP7FM_yuL4Plv.webp", "code": "ZDP7FM", "name": "Alenka Frim", "slug": "alenka-frim", "website_url": "https://ep2025.europython.eu/speaker/alenka-frim" } ], "start": "2025-07-17T10:30:00+02:00", "title": "Sharing is caring: Efficient Data Exchange with pyarrow", "track": "Data Engineering and MLOps (2025)", "tweet": "Learn about interfaces and protocols to exchange Arrow data efficiently", "website_url": "https://ep2025.europython.eu/session/sharing-is-caring-efficient-data-exchange-with-pyarrow" }, { "code": "G3SBMR", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "North Hall" ], "session_type": "Talk", "slug": "choosing-between-free-threading-and-async", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/CZVCVP_tIzZnsh.webp", "code": "CZVCVP", "name": "Samet Yaslan", "slug": "samet-yaslan", "website_url": "https://ep2025.europython.eu/speaker/samet-yaslan" } ], "start": "2025-07-17T11:25:00+02:00", "title": "Choosing Between Free Threading and Async", "track": "Python Core, Internals, Extensions (2025)", "tweet": "With the GIL gone, does Python still need async? Learn when to use free threading vs async for your project.", "website_url": "https://ep2025.europython.eu/session/choosing-between-free-threading-and-async" }, { "code": "GKRLGM", "duration": 30, "event_type": "session", "level": "beginner", "rooms": [ "Terrace 2B" ], "session_type": "Talk", "slug": "running-every-street-in-paris-with-python-and-postgis", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/NR33XU_Fd8QCAt.webp", "code": "NR33XU", "name": "Vinayak Mehta", "slug": "vinayak-mehta", "website_url": "https://ep2025.europython.eu/speaker/vinayak-mehta" } ], "start": "2025-07-17T11:25:00+02:00", "title": "Running every street in Paris with Python and PostGIS", "track": "Data preparation and visualisation (2025)", "tweet": "Running every street in Paris with Python (with libraries like osmnx, shapely, geopandas) and PostGIS", "website_url": "https://ep2025.europython.eu/session/running-every-street-in-paris-with-python-and-postgis" }, { "code": "SRVL9W", "duration": 30, "event_type": "session", "level": "advanced", "rooms": [ "Forum Hall" ], "session_type": "Talk", "slug": "building-a-new-tail-calling-interpreter-for-python", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/7Y9DS3_VCN9LzE.webp", "code": "7Y9DS3", "name": "Ken Jin", "slug": "ken-jin", "website_url": "https://ep2025.europython.eu/speaker/ken-jin" } ], "start": "2025-07-17T11:25:00+02:00", "title": "Building a new tail-calling interpreter for Python", "track": "Python Core, Internals, Extensions (2025)", "tweet": "We're building a new type of interpreter for CPython --- one that promises to be up to 7% faster on newer compilers. Find out more in this talk!", "website_url": "https://ep2025.europython.eu/session/building-a-new-tail-calling-interpreter-for-python" }, { "code": "UCHDYW", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "Terrace 2A" ], "session_type": "Talk", "slug": "testing-the-tests-assess-and-improve-your-python-testing-code", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/FWB3GY_X2GeUz0.webp", "code": "FWB3GY", "name": "Stefan B\u00e4risch", "slug": "stefan-barisch", "website_url": "https://ep2025.europython.eu/speaker/stefan-barisch" } ], "start": "2025-07-17T11:25:00+02:00", "title": "Testing the Tests - Assess and Improve Your Python Testing Code", "track": "Testing, Quality Assurance, Security (2025)", "tweet": "See how to test tests and mutate your code to find more bugs", "website_url": "https://ep2025.europython.eu/session/testing-the-tests-assess-and-improve-your-python-testing-code" }, { "code": "UDNNWJ", "duration": 30, "event_type": "session", "level": "beginner", "rooms": [ "South Hall 2A" ], "session_type": "Talk", "slug": "prenatal-diagnosis-of-genetic-diseases-using-python", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/CV8T7R_l4O00w6.webp", "code": "CV8T7R", "name": "Helena G\u00f3mez Pozo", "slug": "helena-gomez-pozo", "website_url": "https://ep2025.europython.eu/speaker/helena-gomez-pozo" }, { "avatar": "https://programme.europython.eu/media/avatars/FGZGRD_2X5sBnk.webp", "code": "FGZGRD", "name": "Marina Moro L\u00f3pez", "slug": "marina-moro-lopez", "website_url": "https://ep2025.europython.eu/speaker/marina-moro-lopez" } ], "start": "2025-07-17T11:25:00+02:00", "title": "Prenatal diagnosis of genetic diseases using Python", "track": "~ None of these topics (2025)", "tweet": "Did you know that 4% of newborns carry a genetic disease? And did you know that we can use Python to diagnose them? Join us to discover how!", "website_url": "https://ep2025.europython.eu/session/prenatal-diagnosis-of-genetic-diseases-using-python" }, { "code": "URXNP8", "duration": 30, "event_type": "session", "level": "beginner", "rooms": [ "South Hall 2B" ], "session_type": "Talk", "slug": "what-network-analysis-tells-us-about-trades-hierarchies-and-the-world", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/ACG8DX_G1MQJod.webp", "code": "ACG8DX", "name": "Kshitijaa Jaglan", "slug": "kshitijaa-jaglan", "website_url": "https://ep2025.europython.eu/speaker/kshitijaa-jaglan" } ], "start": "2025-07-17T11:25:00+02:00", "title": "What Network Analysis tells us about Trades, Hierarchies, and the World?", "track": "Machine Learning: Research & Applications (2025)", "tweet": "How can network analysis help us answer questions about our daily lives? From trade networks to corporate hierarchies, find it all!", "website_url": "https://ep2025.europython.eu/session/what-network-analysis-tells-us-about-trades-hierarchies-and-the-world" }, { "code": "8QFLC9", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "Terrace 2B" ], "session_type": "Talk", "slug": "quackosm-overturemaestro-open-geospatial-data-at-your-fingertips", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/AEKH3Q_k2VTnhw.webp", "code": "AEKH3Q", "name": "Kamil Raczycki", "slug": "kamil-raczycki", "website_url": "https://ep2025.europython.eu/speaker/kamil-raczycki" } ], "start": "2025-07-17T12:05:00+02:00", "title": "QuackOSM & OvertureMaestro: Open geospatial data at your fingertips", "track": "Data Engineering and MLOps (2025)", "tweet": "Access open geospatial data with QuackOSM & OvertureMaestro - fast, scalable, and without external dependencies!", "website_url": "https://ep2025.europython.eu/session/quackosm-overturemaestro-open-geospatial-data-at-your-fingertips" }, { "code": "CAWMEZ", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "South Hall 2B" ], "session_type": "Talk", "slug": "from-trees-to-transformers-adopting-deep-learning-for-ranking", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/EZMJWT_io5jCH5.webp", "code": "EZMJWT", "name": "Theodore Meynard", "slug": "theodore-meynard", "website_url": "https://ep2025.europython.eu/speaker/theodore-meynard" }, { "avatar": "https://programme.europython.eu/media/avatars/LPMP88_e9HpKil.webp", "code": "LPMP88", "name": "Mihail Douhaniaris", "slug": "mihail-douhaniaris", "website_url": "https://ep2025.europython.eu/speaker/mihail-douhaniaris" } ], "start": "2025-07-17T12:05:00+02:00", "title": "From Trees To Transformers: Adopting Deep Learning for Ranking", "track": "Machine Learning: Research & Applications (2025)", "tweet": "Learn how GetYourGuide transitioned from XGBoost to a PyTorch transformer-based ranking model, enhancing relevance and personalization.", "website_url": "https://ep2025.europython.eu/session/from-trees-to-transformers-adopting-deep-learning-for-ranking" }, { "code": "SXWDSA", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "South Hall 2A" ], "session_type": "Talk", "slug": "from-notes-to-codes-python-driven-ai-for-efficient-medical-coding", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/LMVFYV_JDDlsZQ.webp", "code": "LMVFYV", "name": "Reyha Verma", "slug": "reyha-verma", "website_url": "https://ep2025.europython.eu/speaker/reyha-verma" } ], "start": "2025-07-17T12:05:00+02:00", "title": "From Notes to Codes - Python-Driven AI for Efficient Medical Coding", "track": "Machine Learning: Research & Applications (2025)", "tweet": "Learn how a Python-powered AI pipeline, using tools like LangChain and Transformers, automates medical coding to enhance healthcare workflows.", "website_url": "https://ep2025.europython.eu/session/from-notes-to-codes-python-driven-ai-for-efficient-medical-coding" }, { "code": "WKDYUH", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "Terrace 2A" ], "session_type": "Talk", "slug": "fixtures-meets-parameters-writing-efficient-elegant-and-reusable-tests", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/QRLBNV_kLbdnb1.webp", "code": "QRLBNV", "name": "Anupama Tiruvaipati", "slug": "anupama-tiruvaipati", "website_url": "https://ep2025.europython.eu/speaker/anupama-tiruvaipati" } ], "start": "2025-07-17T12:05:00+02:00", "title": "Fixtures meets parameters: Writing efficient, elegant and reusable tests", "track": "Testing, Quality Assurance, Security (2025)", "tweet": "Streamline testing with pytest: Use fixtures & parameters to enhance spec-based testing for complex workflows in order to provide full coverage!", "website_url": "https://ep2025.europython.eu/session/fixtures-meets-parameters-writing-efficient-elegant-and-reusable-tests" }, { "code": "XZNTGY", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "North Hall" ], "session_type": "Talk", "slug": "get-your-lambda-on-smyth-lynara-s-guide-to-lazy-dev-life", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/ALN8NK_R12jIxa.webp", "code": "ALN8NK", "name": "Damian Wysocki", "slug": "damian-wysocki", "website_url": "https://ep2025.europython.eu/speaker/damian-wysocki" } ], "start": "2025-07-17T12:05:00+02:00", "title": "Get Your Lambda On: Smyth & Lynara's Guide to Lazy Dev Life", "track": "DevOps, Cloud, Scalable Infrastructure (2025)", "tweet": "Struggling with AWS Lambda? Learn how Lynara & Smyth simplify ASGI apps, improve workflows, and ease migration to EC2!", "website_url": "https://ep2025.europython.eu/session/get-your-lambda-on-smyth-lynara-s-guide-to-lazy-dev-life" }, { "code": "Z9DWTW", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "Forum Hall" ], "session_type": "Talk", "slug": "performance-improvements-in-3-14-and-maybe-3-15", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/LUY39H_deTgmxG.webp", "code": "LUY39H", "name": "Mark Shannon", "slug": "mark-shannon", "website_url": "https://ep2025.europython.eu/speaker/mark-shannon" } ], "start": "2025-07-17T12:05:00+02:00", "title": "Performance improvements in 3.14 and maybe 3.15", "track": "Python Core, Internals, Extensions (2025)", "tweet": "Find out how we are making Python 3.14 the fastest yet, and how 3.15 will be faster still", "website_url": "https://ep2025.europython.eu/session/performance-improvements-in-3-14-and-maybe-3-15" }, { "code": "AKQNBF", "duration": 30, "event_type": "session", "level": "beginner", "rooms": [ "South Hall 2A" ], "session_type": "Talk", "slug": "how-to-stop-an-epidemic-using-the-atomica-python-tool", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/MU8FBU_QMtFoj4.webp", "code": "MU8FBU", "name": "Eloisa P\u00e9rez Bennetts", "slug": "eloisa-perez-bennetts", "website_url": "https://ep2025.europython.eu/speaker/eloisa-perez-bennetts" } ], "start": "2025-07-17T12:45:00+02:00", "title": "How to Stop an Epidemic using the Atomica Python Tool", "track": "Jupyter and Scientific Python (2025)", "tweet": "Predicting an epidemic: Learn how to simulate disease outbreaks, optimise interventions, and save lives with data-driven decisions", "website_url": "https://ep2025.europython.eu/session/how-to-stop-an-epidemic-using-the-atomica-python-tool" }, { "code": "AMMYXT", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "South Hall 2B" ], "session_type": "Talk", "slug": "hacking-llms-an-introduction-to-mechanistic-interpretability", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/UMPJBY_kLpts52.webp", "code": "UMPJBY", "name": "Jenny Vega", "slug": "jenny-vega", "website_url": "https://ep2025.europython.eu/speaker/jenny-vega" } ], "start": "2025-07-17T12:45:00+02:00", "title": "Hacking LLMs: An Introduction to Mechanistic Interpretability", "track": "Machine Learning: Research & Applications (2025)", "tweet": "Unravel the mysteries of large language models and discover how we can decode their inner workings with Mechanistic Interpretability.", "website_url": "https://ep2025.europython.eu/session/hacking-llms-an-introduction-to-mechanistic-interpretability" }, { "code": "CYMWKD", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "Terrace 2B" ], "session_type": "Talk", "slug": "python-politics-and-public-health", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/ZT9BES_FzJJ9iI.webp", "code": "ZT9BES", "name": "Gauden Galea", "slug": "gauden-galea", "website_url": "https://ep2025.europython.eu/speaker/gauden-galea" } ], "start": "2025-07-17T12:45:00+02:00", "title": "Python, Politics, and Public Health", "track": "Ethics, Social Responsibility, Sustainability, Legal (2025)", "tweet": "Python powered public health wins\u2014from vaping networks to women's health. Why isn\u2019t it used more? Let\u2019s bridge the gap and hack health for impact.", "website_url": "https://ep2025.europython.eu/session/python-politics-and-public-health" }, { "code": "FGA7ZN", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "Forum Hall" ], "session_type": "Talk", "slug": "meet-marimo-the-next-gen-notebook", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/KK9DKJ_NX6xkQI.webp", "code": "KK9DKJ", "name": "Sven Arends", "slug": "sven-arends", "website_url": "https://ep2025.europython.eu/speaker/sven-arends" } ], "start": "2025-07-17T12:45:00+02:00", "title": "Meet Marimo, the next-gen Notebook", "track": "Jupyter and Scientific Python (2025)", "tweet": "Let's discuss Marimo. A reactive, reproducible, and git friendly alternative to Jupiter notebooks.", "website_url": "https://ep2025.europython.eu/session/meet-marimo-the-next-gen-notebook" }, { "code": "G3QBAF", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "Terrace 2A" ], "session_type": "Talk", "slug": "turbocharge-your-python-test-suite-today", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/GHXHK7_qf6xxkN.webp", "code": "GHXHK7", "name": "Konstantinos Papadopoulos", "slug": "konstantinos-papadopoulos", "website_url": "https://ep2025.europython.eu/speaker/konstantinos-papadopoulos" } ], "start": "2025-07-17T12:45:00+02:00", "title": "Turbocharge your Python test suite today! \ud83d\ude80", "track": "Testing, Quality Assurance, Security (2025)", "tweet": "Discover how you can optimize your Python tests in no time\ud83d\ude80 Join us at the talk \"Speedup your Python test suite today\" at EuroPython 2025!", "website_url": "https://ep2025.europython.eu/session/turbocharge-your-python-test-suite-today" }, { "code": "YN3MWG", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "North Hall" ], "session_type": "Talk", "slug": "breaking-http-boundaries-asgi-to-build-a-fleet-management-system-in-python", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/EGNUSU_OD1Wbnk.webp", "code": "EGNUSU", "name": "Kirill Druzhinin", "slug": "kirill-druzhinin", "website_url": "https://ep2025.europython.eu/speaker/kirill-druzhinin" } ], "start": "2025-07-17T12:45:00+02:00", "title": "Breaking HTTP Boundaries: ASGI to build a fleet management system in Python", "track": "Web Development, Web APIs, Front-End Integration (2025)", "tweet": "Breaking HTTP Boundaries: Leverage ASGI to support custom telematics protocols and build a fleet management system in Python", "website_url": "https://ep2025.europython.eu/session/breaking-http-boundaries-asgi-to-build-a-fleet-management-system-in-python" }, { "duration": 60, "event_type": "break", "rooms": [ "Forum Hall", "North Hall", "South Hall 2A", "South Hall 2B", "Terrace 2A", "Terrace 2B" ], "start": "2025-07-17T13:15:00+02:00", "title": "Lunch" }, { "code": "ABDUU8", "duration": 60, "event_type": "session", "level": "intermediate", "rooms": [ "Exhibit Hall" ], "session_type": "Poster", "slug": "psychological-model-for-mapping-and-prediction-of-stress-among-students", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/8AXEMT_pte7KHt.webp", "code": "8AXEMT", "name": "Oluwakemi Omowunmi Jacobs", "slug": "oluwakemi-omowunmi-jacobs", "website_url": "https://ep2025.europython.eu/speaker/oluwakemi-omowunmi-jacobs" }, { "avatar": "https://programme.europython.eu/media/avatars/DGMZXX_Z1UFdxj.webp", "code": "DGMZXX", "name": "Oladapo Kayode Abiodun", "slug": "oladapo-kayode-abiodun", "website_url": "https://ep2025.europython.eu/speaker/oladapo-kayode-abiodun" } ], "start": "2025-07-17T13:15:00+02:00", "title": "Psychological Model for Mapping and Prediction of Stress Among Students", "track": "Machine Learning: Research & Applications (2025)", "tweet": "Stress is a significant issue for students, impacting their well-being and academic performance. A study at McPherson University used machine learning", "website_url": "https://ep2025.europython.eu/session/psychological-model-for-mapping-and-prediction-of-stress-among-students" }, { "code": "AUAVX7", "duration": 60, "event_type": "session", "level": "intermediate", "rooms": [ "Exhibit Hall" ], "session_type": "Poster", "slug": "preserving-culture-with-python-ai-plays-ayo-a-traditional-nigerian-game", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/LFUZNB_bsntvXJ.webp", "code": "LFUZNB", "name": "Kayode Makinde", "slug": "kayode-makinde", "website_url": "https://ep2025.europython.eu/speaker/kayode-makinde" } ], "start": "2025-07-17T13:15:00+02:00", "title": "Preserving Culture with Python: AI plays Ayo, a Traditional Nigerian Game", "track": "Machine Learning: Research & Applications (2025)", "tweet": "Preserving Nigerian culture with Python: AI agents built to master Ayo, a traditional mancala game, using reinforcement learning.", "website_url": "https://ep2025.europython.eu/session/preserving-culture-with-python-ai-plays-ayo-a-traditional-nigerian-game" }, { "code": "BTV3ZJ", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "Terrace 2A" ], "session_type": "Talk", "slug": "snapshot-testing-a-new-era-of-reliability", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/UPL7L8_aL34P6u.webp", "code": "UPL7L8", "name": "Matthieu Rigal", "slug": "matthieu-rigal", "website_url": "https://ep2025.europython.eu/speaker/matthieu-rigal" } ], "start": "2025-07-17T14:15:00+02:00", "title": "Snapshot Testing: A New Era of Reliability", "track": "Testing, Quality Assurance, Security (2025)", "tweet": "Snapshot testing simplifies testing large result sets, reducing manual work, especially for APIs and for data processing. I'll show you how to use it!", "website_url": "https://ep2025.europython.eu/session/snapshot-testing-a-new-era-of-reliability" }, { "code": "CLTGAH", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "North Hall" ], "session_type": "Talk", "slug": "pydantic-everywhere-all-at-once", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/89UEWS_OYN3YiB.webp", "code": "89UEWS", "name": "\u0160imon Podhajsk\u00fd", "slug": "simon-podhajsky", "website_url": "https://ep2025.europython.eu/speaker/simon-podhajsky" } ], "start": "2025-07-17T14:15:00+02:00", "title": "Pydantic, Everywhere, All at Once", "track": "Web Development, Web APIs, Front-End Integration (2025)", "tweet": "Pydantic has many uses. What to do when they overlap? Learn to juggle LLM structured outputs, FastAPI validations, and SQLModel ORM.", "website_url": "https://ep2025.europython.eu/session/pydantic-everywhere-all-at-once" }, { "code": "LQXQVD", "duration": 30, "event_type": "session", "level": "beginner", "rooms": [ "Forum Hall" ], "session_type": "Talk", "slug": "midi-those-cheesy-sounds-from-the-90s-wrong-symbolic-music-vs-python", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/8HVY9P_23XrhBv.webp", "code": "8HVY9P", "name": "Mateusz Modrzejewski", "slug": "mateusz-modrzejewski", "website_url": "https://ep2025.europython.eu/speaker/mateusz-modrzejewski" } ], "start": "2025-07-17T14:15:00+02:00", "title": "MIDI, those cheesy sounds from the 90s? Wrong! Symbolic music vs Python", "track": "Python for Games, Art, Play and Expression (2025)", "tweet": "Cheesy 90s sounds? Think again. Python meets MIDI and unlocks its potential for creativity and musicology.", "website_url": "https://ep2025.europython.eu/session/midi-those-cheesy-sounds-from-the-90s-wrong-symbolic-music-vs-python" }, { "code": "LZPFTY", "duration": 30, "event_type": "session", "level": "beginner", "rooms": [ "Terrace 2B" ], "session_type": "Talk", "slug": "slithering-through-audio-data-with-python", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/BHFSGF_HMTqr0S.webp", "code": "BHFSGF", "name": "Tamsin Fuller", "slug": "tamsin-fuller", "website_url": "https://ep2025.europython.eu/speaker/tamsin-fuller" } ], "start": "2025-07-17T14:15:00+02:00", "title": "Slithering through Audio Data with Python", "track": "Data preparation and visualisation (2025)", "tweet": "A quick run through of techniques in Python to explore audio datasets", "website_url": "https://ep2025.europython.eu/session/slithering-through-audio-data-with-python" }, { "code": "SRM97H", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "South Hall 2A" ], "session_type": "Talk", "slug": "python-on-the-pitch-how-germany-will-win-world-cup-2026", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/BUHNGB_GrkWRO5.webp", "code": "BUHNGB", "name": "Ruslan Korniichuk", "slug": "ruslan-korniichuk", "website_url": "https://ep2025.europython.eu/speaker/ruslan-korniichuk" } ], "start": "2025-07-17T14:15:00+02:00", "title": "Python on the Pitch: How Germany will win World Cup 2026", "track": "Data preparation and visualisation (2025)", "tweet": "Deep dive into the world of football analytics. How to collect and process match data, including player tracking, event logs, tactical formations.", "website_url": "https://ep2025.europython.eu/session/python-on-the-pitch-how-germany-will-win-world-cup-2026" }, { "code": "WDDYM8", "duration": 60, "event_type": "session", "level": "intermediate", "rooms": [ "South Hall 2B" ], "session_type": "Panel", "slug": "cpython-core-development-panel", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/3WU3WV_vmNhHdj.webp", "code": "3WU3WV", "name": "Emily Morehouse-Valcarcel", "slug": "emily-morehouse-valcarcel", "website_url": "https://ep2025.europython.eu/speaker/emily-morehouse-valcarcel" }, { "avatar": "https://programme.europython.eu/media/avatars/HB3VXK_jYOhX4I.webp", "code": "HB3VXK", "name": "Savannah Ostrowski", "slug": "savannah-ostrowski", "website_url": "https://ep2025.europython.eu/speaker/savannah-ostrowski" }, { "avatar": "https://programme.europython.eu/media/avatars/LSFZCM_IWogPr5.webp", "code": "LSFZCM", "name": "Brett Cannon", "slug": "brett-cannon", "website_url": "https://ep2025.europython.eu/speaker/brett-cannon" }, { "avatar": "https://programme.europython.eu/media/avatars/LUY39H_deTgmxG.webp", "code": "LUY39H", "name": "Mark Shannon", "slug": "mark-shannon", "website_url": "https://ep2025.europython.eu/speaker/mark-shannon" }, { "avatar": "https://programme.europython.eu/media/avatars/NPC3QX_Il3iVFT.webp", "code": "NPC3QX", "name": "Hugo van Kemenade", "slug": "hugo-van-kemenade", "website_url": "https://ep2025.europython.eu/speaker/hugo-van-kemenade" } ], "start": "2025-07-17T14:15:00+02:00", "title": "CPython Core Development Panel", "track": "Python Core, Internals, Extensions (2025)", "tweet": "Join us on the CPython Core Development Panel to learn about the latest developments!", "website_url": "https://ep2025.europython.eu/session/cpython-core-development-panel" }, { "code": "9FQDQS", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "South Hall 2A" ], "session_type": "Talk", "slug": "physics-informed-ml-fusing-scientific-laws-with-machine-learning", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/E9ZYF3_32jV9vb.webp", "code": "E9ZYF3", "name": "Mehul Goyal", "slug": "mehul-goyal", "website_url": "https://ep2025.europython.eu/speaker/mehul-goyal" } ], "start": "2025-07-17T14:55:00+02:00", "title": "Physics-Informed ML: Fusing Scientific Laws with Machine Learning", "track": "Machine Learning: Research & Applications (2025)", "tweet": "Use Python to solve real-world problems by combining machine learning and physics with Physics-Informed Neural Networks (PINNs) in fluid dynamics, cli", "website_url": "https://ep2025.europython.eu/session/physics-informed-ml-fusing-scientific-laws-with-machine-learning" }, { "code": "LDD9KB", "duration": 30, "event_type": "session", "level": "beginner", "rooms": [ "Forum Hall" ], "session_type": "Talk", "slug": "behind-the-scenes-psf-infrastructure-and-how-you-can-contribute", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/S9XY8N_8FyIg6i.webp", "code": "S9XY8N", "name": "Jacob Coffee", "slug": "jacob-coffee", "website_url": "https://ep2025.europython.eu/speaker/jacob-coffee" } ], "start": "2025-07-17T14:55:00+02:00", "title": "Behind the Scenes: PSF Infrastructure and How You Can Contribute", "track": "Community Building, Education, Outreach (2025)", "tweet": "Discover the infrastructure powering Python, from things like PyPI to Python.org, and learn how you can contribute to its success!", "website_url": "https://ep2025.europython.eu/session/behind-the-scenes-psf-infrastructure-and-how-you-can-contribute" }, { "code": "MS8ZT7", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "Terrace 2B" ], "session_type": "Talk", "slug": "continuous-documentation-basics-and-advanced-techniques", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/VEGSTM_4Fj4uyP.webp", "code": "VEGSTM", "name": "Anastasiia Tymoshchuk", "slug": "anastasiia-tymoshchuk", "website_url": "https://ep2025.europython.eu/speaker/anastasiia-tymoshchuk" } ], "start": "2025-07-17T14:55:00+02:00", "title": "Continuous Documentation: basics and advanced techniques", "track": "Tooling, Packaging, Developer Productivity (2025)", "tweet": "Learn best practices of writing documentation and how to update it continuously", "website_url": "https://ep2025.europython.eu/session/continuous-documentation-basics-and-advanced-techniques" }, { "code": "T9ZYJD", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "Terrace 2A" ], "session_type": "Talk", "slug": "good-practices-for-testing-web-user-interfaces", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/897KKS_zNQDJdR.webp", "code": "897KKS", "name": "Jan Ja\u0161ek", "slug": "jan-jasek", "website_url": "https://ep2025.europython.eu/speaker/jan-jasek" }, { "avatar": "https://programme.europython.eu/media/avatars/CPYQCK_qyqLI5w.webp", "code": "CPYQCK", "name": "Ashish Gupta", "slug": "ashish-gupta", "website_url": "https://ep2025.europython.eu/speaker/ashish-gupta" } ], "start": "2025-07-17T14:55:00+02:00", "title": "Good Practices for Testing Web User Interfaces", "track": "Testing, Quality Assurance, Security (2025)", "tweet": "Tired of flaky and unstable test suite? Learn how to make your test suite better and more reliable with improved techniques!", "website_url": "https://ep2025.europython.eu/session/good-practices-for-testing-web-user-interfaces" }, { "code": "TTA8LT", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "North Hall" ], "session_type": "Talk", "slug": "offline-disaster-relief-coordination-with-openstreetmap-and-fastapi", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/AQGLHP_zJf4DVX.webp", "code": "AQGLHP", "name": "Jannis L\u00fcbbe", "slug": "jannis-lubbe", "website_url": "https://ep2025.europython.eu/speaker/jannis-lubbe" } ], "start": "2025-07-17T14:55:00+02:00", "title": "Offline Disaster Relief Coordination with OpenStreetMap and FastAPI", "track": "IoT, Embedded Systems, Hardware Integration (2025)", "tweet": "Discover how to coordinate disaster relief offline using OpenStreetMap and FastAPI on a Raspberry Pi, with LORAWAN integration for sensor data.", "website_url": "https://ep2025.europython.eu/session/offline-disaster-relief-coordination-with-openstreetmap-and-fastapi" }, { "duration": 25, "event_type": "break", "rooms": [ "Forum Hall", "North Hall", "South Hall 2A", "South Hall 2B", "Terrace 2A", "Terrace 2B" ], "start": "2025-07-17T15:25:00+02:00", "title": "Coffee Break" }, { "code": "78CWUW", "duration": 30, "event_type": "session", "level": "beginner", "rooms": [ "North Hall" ], "session_type": "Talk", "slug": "wisdom-of-the-cloud-drifting-through-community-notes", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/3QJLK8_8WJj3Ud.webp", "code": "3QJLK8", "name": "Laura Summers", "slug": "laura-summers", "website_url": "https://ep2025.europython.eu/speaker/laura-summers" }, { "avatar": "https://programme.europython.eu/media/avatars/Y3GHEB_oIDflAH.webp", "code": "Y3GHEB", "name": "Andy Kitchen", "slug": "andy-kitchen", "website_url": "https://ep2025.europython.eu/speaker/andy-kitchen" } ], "start": "2025-07-17T15:50:00+02:00", "title": "Wisdom of the cloud? Drifting through Community Notes", "track": "Machine Learning: Research & Applications (2025)", "tweet": "Wisdom of the cloud: how Community Notes improves on brute-force consensus to find truth across political divides.", "website_url": "https://ep2025.europython.eu/session/wisdom-of-the-cloud-drifting-through-community-notes" }, { "code": "9R9R97", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "Forum Hall" ], "session_type": "Talk", "slug": "a-pep-talk-adventures-as-the-inaugural-pypi-support-specialist", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/LKEVDA_QpvEdtv.webp", "code": "LKEVDA", "name": "Maria Ashna", "slug": "maria-ashna", "website_url": "https://ep2025.europython.eu/speaker/maria-ashna" } ], "start": "2025-07-17T15:50:00+02:00", "title": "A PEP Talk: Adventures As the Inaugural PyPI Support Specialist", "track": "Tooling, Packaging, Developer Productivity (2025)", "tweet": "A PEP Talk: Adventures in Account Recovery, PEP 541, And More As the Inaugural PyPI Support Specialist", "website_url": "https://ep2025.europython.eu/session/a-pep-talk-adventures-as-the-inaugural-pypi-support-specialist" }, { "code": "AVUQVA", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "Terrace 2A" ], "session_type": "Talk", "slug": "end-to-end-with-testcontainers-and-playwright", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/REFSGX_Z4y7PLQ.webp", "code": "REFSGX", "name": "Vemund Mehl Santi", "slug": "vemund-mehl-santi", "website_url": "https://ep2025.europython.eu/speaker/vemund-mehl-santi" } ], "start": "2025-07-17T15:50:00+02:00", "title": "End to End with Testcontainers and Playwright", "track": "Testing, Quality Assurance, Security (2025)", "tweet": "Learn how Testcontainers and Playwright make E2E testing as simple as unit tests. Join us at #EuroPython to level up your testing game! \ud83d\udc0d \ud83e\uddea", "website_url": "https://ep2025.europython.eu/session/end-to-end-with-testcontainers-and-playwright" }, { "code": "C8B7QH", "duration": 30, "event_type": "session", "level": "beginner", "rooms": [ "South Hall 2B" ], "session_type": "Sponsored", "slug": "driving-innovation-through-internal-technical-communities", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/B97CMW_fTynjPl.webp", "code": "B97CMW", "name": "Luca Ferocino", "slug": "luca-ferocino", "website_url": "https://ep2025.europython.eu/speaker/luca-ferocino" }, { "avatar": "https://programme.europython.eu/media/avatars/HY78L8_J780zo6.webp", "code": "HY78L8", "name": "Olga Matoula", "slug": "olga-matoula", "website_url": "https://ep2025.europython.eu/speaker/olga-matoula" } ], "start": "2025-07-17T15:50:00+02:00", "title": "Driving Innovation Through Internal Technical Communities", "track": "Community Building, Education, Outreach (2025)", "tweet": "Learn how internal tech communities, such as Bloomberg\u2019s Python Guild, foster collaboration, innovation, and engineering excellence.", "website_url": "https://ep2025.europython.eu/session/driving-innovation-through-internal-technical-communities" }, { "code": "M8LTAJ", "duration": 30, "event_type": "session", "level": "beginner", "rooms": [ "South Hall 2A" ], "session_type": "Talk", "slug": "automating-myself-out-of-an-unloved-project-with-python-n8n-and-telegram", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/8D7B98_ONoZpE2.webp", "code": "8D7B98", "name": "Sebastian Witowski", "slug": "sebastian-witowski", "website_url": "https://ep2025.europython.eu/speaker/sebastian-witowski" } ], "start": "2025-07-17T15:50:00+02:00", "title": "Automating myself out of an unloved project with Python, n8n and Telegram", "track": "~ None of these topics (2025)", "tweet": "How I used the n8n tool to automate user management for my side project by connecting custom Python scripts, a web scraper, and a Telegram bot.", "website_url": "https://ep2025.europython.eu/session/automating-myself-out-of-an-unloved-project-with-python-n8n-and-telegram" }, { "code": "ZKABJR", "duration": 30, "event_type": "session", "level": "beginner", "rooms": [ "Terrace 2B" ], "session_type": "Talk", "slug": "in-memoriam-michael-foord-1974-2025", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/WADEN9_yGxrEFA.webp", "code": "WADEN9", "name": "Nicholas H.Tollervey", "slug": "nicholas-h-tollervey", "website_url": "https://ep2025.europython.eu/speaker/nicholas-h-tollervey" } ], "start": "2025-07-17T15:50:00+02:00", "title": "In memoriam: Michael Foord (1974-2025)", "track": "~ None of these topics (2025)", "tweet": "In memoriam: Michael Foord (1974-2025). Join to hear who Michael was and the impact he had in our community.", "website_url": "https://ep2025.europython.eu/session/in-memoriam-michael-foord-1974-2025" }, { "code": "DCBMJY", "duration": 45, "event_type": "session", "level": "beginner", "rooms": [ "Forum Hall" ], "session_type": "Keynote", "slug": "behind-the-scenes-of-fastapi-and-friends-for-developers-and-builders", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/ADBT7H_bXyFtz0.webp", "code": "ADBT7H", "name": "Sebasti\u00e1n Ram\u00edrez (tiangolo)", "slug": "sebastian-ramirez-tiangolo", "website_url": "https://ep2025.europython.eu/speaker/sebastian-ramirez-tiangolo" } ], "start": "2025-07-17T16:30:00+02:00", "title": "Behind the scenes of FastAPI and friends for developers and builders", "track": "Web Development, Web APIs, Front-End Integration (2025)", "tweet": "This is a placeholder for the short version of the Invited Keynote abstract from Sebasti\u00e1n", "website_url": "https://ep2025.europython.eu/session/behind-the-scenes-of-fastapi-and-friends-for-developers-and-builders" }, { "code": "XE7FNG", "duration": 45, "event_type": "session", "level": "beginner", "rooms": [ "Forum Hall" ], "session_type": "Announcements", "slug": "lightning-talks-thursday", "speakers": [], "start": "2025-07-17T17:15:00+02:00", "title": "Lightning talks \u26a1 Thursday", "track": null, "tweet": "Enjoy Thursday's lightning talks! Short talks about everything by everyone. Lightning talks are 5 minute talks that anyone participating at the conf", "website_url": "https://ep2025.europython.eu/session/lightning-talks-thursday" } ], "rooms": [ "Exhibit Hall", "Forum Hall", "North Hall", "South Hall 2A", "South Hall 2B", "Terrace 2A", "Terrace 2B" ] }, "2025-07-18": { "events": [ { "code": "CPSMNH", "duration": 30, "event_type": "session", "level": "beginner", "rooms": [ "Forum Hall", "North Hall", "South Hall 2A", "South Hall 2B", "Terrace 2A", "Terrace 2B" ], "session_type": "Announcements", "slug": "friday-registration-welcome-forum-hall-foyer-1st-floor", "speakers": [], "start": "2025-07-18T08:00:00+02:00", "title": "Friday Registration & Welcome @ Forum Hall Foyer 1st Floor", "track": null, "tweet": "Friday Registration & Welcome @ Forum Hall Foyer 1st Floor !", "website_url": "https://ep2025.europython.eu/session/friday-registration-welcome-forum-hall-foyer-1st-floor" }, { "code": "PVKVVN", "duration": 15, "event_type": "session", "level": "beginner", "rooms": [ "Forum Hall" ], "session_type": "Announcements", "slug": "friday-s-morning-announcement", "speakers": [], "start": "2025-07-18T08:45:00+02:00", "title": "Friday's Morning Announcement \u23f0", "track": null, "tweet": "Yesterday was an amazing day, but for sure you don't remember all the things that were mentioned during the opening.", "website_url": "https://ep2025.europython.eu/session/friday-s-morning-announcement" }, { "code": "YEKGVY", "duration": 45, "event_type": "session", "level": "beginner", "rooms": [ "Forum Hall" ], "session_type": "Keynote", "slug": "the-boom-of-generative-ai-realities-promises-and-awkward-situations", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/QEJXSX_hOxyUFj.webp", "code": "QEJXSX", "name": "Nerea Luis", "slug": "nerea-luis", "website_url": "https://ep2025.europython.eu/speaker/nerea-luis" } ], "start": "2025-07-18T09:00:00+02:00", "title": "The Boom of Generative AI: realities, promises and awkward situations", "track": "Machine Learning, NLP and CV (2025)", "tweet": "This is a placeholder for the short version of the Invited Keynote abstract from Nerea", "website_url": "https://ep2025.europython.eu/session/the-boom-of-generative-ai-realities-promises-and-awkward-situations" }, { "duration": 25, "event_type": "break", "rooms": [ "Forum Hall", "North Hall", "South Hall 2A", "South Hall 2B", "Terrace 2A", "Terrace 2B" ], "start": "2025-07-18T09:45:00+02:00", "title": "Coffee Break" }, { "code": "FWETBR", "duration": 45, "event_type": "session", "level": "intermediate", "rooms": [ "South Hall 2B" ], "session_type": "Talk (long session)", "slug": "indico-the-20-year-history-and-evolution-of-an-open-source-project-at-cern", "speakers": [ { "avatar": null, "code": "WE8RNR", "name": "Dominic Hollis", "slug": "dominic-hollis", "website_url": "https://ep2025.europython.eu/speaker/dominic-hollis" }, { "avatar": "https://programme.europython.eu/media/avatars/YX7F3Y_F4LjhME.webp", "code": "YX7F3Y", "name": "Tomas Roun", "slug": "tomas-roun", "website_url": "https://ep2025.europython.eu/speaker/tomas-roun" } ], "start": "2025-07-18T10:10:00+02:00", "title": "Indico: the 20 year history and evolution of an open-source project at CERN", "track": "Community Building, Education, Outreach (2025)", "tweet": "Indico, born at CERN, has evolved for 20+ years! Learn how it tackles tech debt, legacy code & modern stacks whilst powering global events.", "website_url": "https://ep2025.europython.eu/session/indico-the-20-year-history-and-evolution-of-an-open-source-project-at-cern" }, { "code": "HPRDLE", "duration": 45, "event_type": "session", "level": "intermediate", "rooms": [ "Terrace 2A" ], "session_type": "Talk (long session)", "slug": "origami-speed-championships-fast-polygon-triangulation-in-python", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/LZRGS8_aJEO3ta.webp", "code": "LZRGS8", "name": "Grzegorz Bokota", "slug": "grzegorz-bokota", "website_url": "https://ep2025.europython.eu/speaker/grzegorz-bokota" } ], "start": "2025-07-18T10:10:00+02:00", "title": "Origami Speed Championships: Fast Polygon Triangulation in Python", "track": "Jupyter and Scientific Python (2025)", "tweet": "Speeding up polygon triangulation in Python! From Numba to Rust, learn how we optimized performance for interactive apps like napari.", "website_url": "https://ep2025.europython.eu/session/origami-speed-championships-fast-polygon-triangulation-in-python" }, { "code": "PBRK3K", "duration": 45, "event_type": "session", "level": "intermediate", "rooms": [ "South Hall 2A" ], "session_type": "Talk (long session)", "slug": "async-python-concurrency-without-the-headaches", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/GRZLB7_v4gKiFl.webp", "code": "GRZLB7", "name": "Krzysztof Wilczy\u0144ski", "slug": "krzysztof-wilczynski", "website_url": "https://ep2025.europython.eu/speaker/krzysztof-wilczynski" }, { "avatar": "https://programme.europython.eu/media/avatars/K7BGBG_KTbyak2.webp", "code": "K7BGBG", "name": "Mateusz Zaremba", "slug": "mateusz-zaremba", "website_url": "https://ep2025.europython.eu/speaker/mateusz-zaremba" } ], "start": "2025-07-18T10:10:00+02:00", "title": "Async Python: Concurrency Without the Headaches", "track": "Python Core, Internals, Extensions (2025)", "tweet": "Let's explore async Python! Learn essential concepts and practical patterns to build high-performance apps with confidence. No more async anxiety!", "website_url": "https://ep2025.europython.eu/session/async-python-concurrency-without-the-headaches" }, { "code": "TGUWZC", "duration": 45, "event_type": "session", "level": "advanced", "rooms": [ "Forum Hall" ], "session_type": "Talk (long session)", "slug": "what-comes-after-rust-in-the-python-ecosystem", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/8VVS8L_mpxCQ39.webp", "code": "8VVS8L", "name": "Cristi\u00e1n Maureira-Fredes", "slug": "cristian-maureira-fredes", "website_url": "https://ep2025.europython.eu/speaker/cristian-maureira-fredes" } ], "start": "2025-07-18T10:10:00+02:00", "title": "What comes after Rust in the Python ecosystem?", "track": "Python Core, Internals, Extensions (2025)", "tweet": "What comes after Rust in the Python ecosystem? Let's envision the Python of the future!", "website_url": "https://ep2025.europython.eu/session/what-comes-after-rust-in-the-python-ecosystem" }, { "code": "XFNVQ9", "duration": 45, "event_type": "session", "level": "beginner", "rooms": [ "Terrace 2B" ], "session_type": "Talk (long session)", "slug": "how-to-build-a-cross-platform-graphical-user-interface-with-python", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/LDFVBH_vINhTd8.webp", "code": "LDFVBH", "name": "Russell Keith-Magee", "slug": "russell-keith-magee", "website_url": "https://ep2025.europython.eu/speaker/russell-keith-magee" } ], "start": "2025-07-18T10:10:00+02:00", "title": "How to build a cross-platform graphical user interface with Python", "track": "~ None of these topics (2025)", "tweet": "Ever wanted to learn how to build a mobile phone app with Python?", "website_url": "https://ep2025.europython.eu/session/how-to-build-a-cross-platform-graphical-user-interface-with-python" }, { "code": "XJ7GMM", "duration": 45, "event_type": "session", "level": "beginner", "rooms": [ "North Hall" ], "session_type": "Talk (long session)", "slug": "it-s-all-about-time-what-developers-need-to-know-about-time", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/KCJY8T_LMZ9mNZ.webp", "code": "KCJY8T", "name": "Petter Salminen", "slug": "petter-salminen", "website_url": "https://ep2025.europython.eu/speaker/petter-salminen" } ], "start": "2025-07-18T10:10:00+02:00", "title": "It's All About Time \u23f0 - What developers need to know about time", "track": "~ None of these topics (2025)", "tweet": "Have you ever wondered about all the details there is about time in programming? GMT? UTC? DST? Let's get to it!! Now - \"It's All About Time \u23f0.\"", "website_url": "https://ep2025.europython.eu/session/it-s-all-about-time-what-developers-need-to-know-about-time" }, { "code": "8BM8PG", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "Terrace 2A" ], "session_type": "Talk", "slug": "your-cookiecutter-is-wrong", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/CNVAFW_YJ8aYgZ.webp", "code": "CNVAFW", "name": "Miloslav Pojman", "slug": "miloslav-pojman", "website_url": "https://ep2025.europython.eu/speaker/miloslav-pojman" } ], "start": "2025-07-18T11:05:00+02:00", "title": "Your Cookiecutter Is Wrong", "track": "Tooling, Packaging, Developer Productivity (2025)", "tweet": "Starting a new Python project? Packaged or not? Flat vs src layout? Tests? Docker? The right combination can save big headaches later.", "website_url": "https://ep2025.europython.eu/session/your-cookiecutter-is-wrong" }, { "code": "9QNGYF", "duration": 30, "event_type": "session", "level": "beginner", "rooms": [ "Terrace 2B" ], "session_type": "Talk", "slug": "explaining-the-5-types-of-database-and-how-to-choose-between-them", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/8YEPUD_iVVHCuM.webp", "code": "8YEPUD", "name": "Tibs", "slug": "tibs", "website_url": "https://ep2025.europython.eu/speaker/tibs" } ], "start": "2025-07-18T11:05:00+02:00", "title": "Explaining the 5 types of database and how to choose between them", "track": "~ None of these topics (2025)", "tweet": "What database should you choose? What *kind* of database should you choose? Learn about the 5 types of database, and why to choose each", "website_url": "https://ep2025.europython.eu/session/explaining-the-5-types-of-database-and-how-to-choose-between-them" }, { "code": "PYKCUL", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "North Hall" ], "session_type": "Talk", "slug": "data-governance-101-stop-firefighting-start-engineering", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/YUUPUX_FdFXV2w.webp", "code": "YUUPUX", "name": "Kate\u0159ina \u0160\u010davnick\u00e1", "slug": "katerina-scavnicka", "website_url": "https://ep2025.europython.eu/speaker/katerina-scavnicka" } ], "start": "2025-07-18T11:05:00+02:00", "title": "Data Governance 101: Stop Firefighting, Start Engineering", "track": "Data Engineering and MLOps (2025)", "tweet": "Data debt is killing your productivity! Learn how data contracts, semantic layers & governance can cut costs, boost quality & end the chaos.", "website_url": "https://ep2025.europython.eu/session/data-governance-101-stop-firefighting-start-engineering" }, { "code": "RRXUA7", "duration": 30, "event_type": "session", "level": "beginner", "rooms": [ "South Hall 2A" ], "session_type": "Talk", "slug": "efficient-caching-in-python-from-local-to-external-solutions", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/Y7UY33_w5NIfbe.webp", "code": "Y7UY33", "name": "Akshita Gupta", "slug": "akshita-gupta", "website_url": "https://ep2025.europython.eu/speaker/akshita-gupta" } ], "start": "2025-07-18T11:05:00+02:00", "title": "Efficient Caching in Python: From Local to External Solutions", "track": "DevOps, Cloud, Scalable Infrastructure (2025)", "tweet": "Learn how to optimise Python apps with effective caching strategies! From in-memory solutions like lru_cache to scaling with Redis, code efficiently!", "website_url": "https://ep2025.europython.eu/session/efficient-caching-in-python-from-local-to-external-solutions" }, { "code": "SVTXGC", "duration": 30, "event_type": "session", "level": "beginner", "rooms": [ "South Hall 2B" ], "session_type": "Talk", "slug": "microdot-the-impossibly-small-web-framework-for-python-and-micropython", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/SAHLGJ_j57lDvB.webp", "code": "SAHLGJ", "name": "Miguel Grinberg", "slug": "miguel-grinberg", "website_url": "https://ep2025.europython.eu/speaker/miguel-grinberg" } ], "start": "2025-07-18T11:05:00+02:00", "title": "Microdot, the impossibly small web framework for Python and MicroPython.", "track": "IoT, Embedded Systems, Hardware Integration (2025)", "tweet": "In this presentation, Miguel will introduce Microdot, the impossibly small web microframework for Python.", "website_url": "https://ep2025.europython.eu/session/microdot-the-impossibly-small-web-framework-for-python-and-micropython" }, { "code": "T3WXME", "duration": 30, "event_type": "session", "level": "advanced", "rooms": [ "Forum Hall" ], "session_type": "Talk", "slug": "building-a-nogil-load-balancer-in-python-in-30-minutes", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/EU8HKQ_SnhzSHU.webp", "code": "EU8HKQ", "name": "Alvaro Duran", "slug": "alvaro-duran", "website_url": "https://ep2025.europython.eu/speaker/alvaro-duran" } ], "start": "2025-07-18T11:05:00+02:00", "title": "Building a NoGIL Load Balancer in Python in 30 minutes", "track": "Python Core, Internals, Extensions (2025)", "tweet": "What is the most amazing thing you can build without the GIL in 30 minutes? A load balancer", "website_url": "https://ep2025.europython.eu/session/building-a-nogil-load-balancer-in-python-in-30-minutes" }, { "code": "3STLTA", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "Forum Hall" ], "session_type": "Talk", "slug": "what-does-do", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/VZM8L3_hrGE7DW.webp", "code": "VZM8L3", "name": "Reuven M. Lerner", "slug": "reuven-m-lerner", "website_url": "https://ep2025.europython.eu/speaker/reuven-m-lerner" } ], "start": "2025-07-18T11:45:00+02:00", "title": "What does = do?", "track": "Python Core, Internals, Extensions (2025)", "tweet": "What happens when you assign in Python? It's more complicated than you might think! In this talk, we look at what the = operator really does.", "website_url": "https://ep2025.europython.eu/session/what-does-do" }, { "code": "BW7ZBU", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "North Hall" ], "session_type": "Talk", "slug": "django-and-htmx-patterns-to-success", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/RWZSLF_DkrYuF7.webp", "code": "RWZSLF", "name": "Lucas Pires", "slug": "lucas-pires", "website_url": "https://ep2025.europython.eu/speaker/lucas-pires" } ], "start": "2025-07-18T11:45:00+02:00", "title": "Django and HTMX: Patterns to Success", "track": "Web Development, Web APIs, Front-End Integration (2025)", "tweet": "This talk will approach tried and tested patterns for building applications using Django and HTMX. A broad set of topics covering all layers of a typi", "website_url": "https://ep2025.europython.eu/session/django-and-htmx-patterns-to-success" }, { "code": "HXJ3RP", "duration": 60, "event_type": "session", "level": "beginner", "rooms": [ "Terrace 2B" ], "session_type": "Sponsored", "slug": "sponsor-highlight-recruitment-fair", "speakers": [], "start": "2025-07-18T11:45:00+02:00", "title": "Sponsor Highlight & Recruitment Fair", "track": null, "tweet": "Many of our sponsors are looking to hire talented people and EuroPython is the perfect place to reach out to them!", "website_url": "https://ep2025.europython.eu/session/sponsor-highlight-recruitment-fair" }, { "code": "K3HRVS", "duration": 30, "event_type": "session", "level": "beginner", "rooms": [ "Terrace 2A" ], "session_type": "Talk", "slug": "snake-oil-or-tools-tricks-for-making-python-run-smoother", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/LBEW9H_zrQ2lMr.webp", "code": "LBEW9H", "name": "Sindre Nistad", "slug": "sindre-nistad", "website_url": "https://ep2025.europython.eu/speaker/sindre-nistad" } ], "start": "2025-07-18T11:45:00+02:00", "title": "Snake oil - or tools & tricks for making Python run smoother", "track": "~ None of these topics (2025)", "tweet": "Is your Python lethargic? Is it sluggish? Come! I will show you how to make it blazingly fast! (your milage may vary)", "website_url": "https://ep2025.europython.eu/session/snake-oil-or-tools-tricks-for-making-python-run-smoother" }, { "code": "URZCXT", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "South Hall 2B" ], "session_type": "Talk", "slug": "programming-hardware-displays-the-easy-way-using-micropython-and-lvgl", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/QYTJB9_ANUFtLT.webp", "code": "QYTJB9", "name": "Marc-Andr\u00e9 Lemburg", "slug": "marc-andre-lemburg", "website_url": "https://ep2025.europython.eu/speaker/marc-andre-lemburg" } ], "start": "2025-07-18T11:45:00+02:00", "title": "Programming hardware displays the easy way - using MicroPython and LVGL", "track": "IoT, Embedded Systems, Hardware Integration (2025)", "tweet": "Learn how to program hardware displays using just your Python skills. No soldering required :-)", "website_url": "https://ep2025.europython.eu/session/programming-hardware-displays-the-easy-way-using-micropython-and-lvgl" }, { "code": "YZLKAP", "duration": 30, "event_type": "session", "level": "advanced", "rooms": [ "South Hall 2A" ], "session_type": "Talk", "slug": "navigating-the-mesh-istio-for-python-applications", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/BMMZFS_798AvqL.webp", "code": "BMMZFS", "name": "Israel Blancas", "slug": "israel-blancas", "website_url": "https://ep2025.europython.eu/speaker/israel-blancas" } ], "start": "2025-07-18T11:45:00+02:00", "title": "Navigating the mesh: Istio for Python applications", "track": "DevOps, Cloud, Scalable Infrastructure (2025)", "tweet": "Do you know what is a Service Mesh? Are you interested on a way to manage easily cloud applications? This talk is for you", "website_url": "https://ep2025.europython.eu/session/navigating-the-mesh-istio-for-python-applications" }, { "code": "3NB3PX", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "Forum Hall" ], "session_type": "Talk", "slug": "gpu-performance-or-ease-of-use-why-not-both", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/9RBSEV_tsNBc8C.webp", "code": "9RBSEV", "name": "Szymon Karpi\u0144ski", "slug": "szymon-karpinski", "website_url": "https://ep2025.europython.eu/speaker/szymon-karpinski" }, { "avatar": "https://programme.europython.eu/media/avatars/GLKZ3R_yECWqJ1.webp", "code": "GLKZ3R", "name": "Kamil Tokarski", "slug": "kamil-tokarski", "website_url": "https://ep2025.europython.eu/speaker/kamil-tokarski" } ], "start": "2025-07-18T12:25:00+02:00", "title": "GPU performance or ease of use: why not both?", "track": "Jupyter and Scientific Python (2025)", "tweet": "Unleash GPU power in Python with nvmath-python: bridging performance and ease of use for scientific computing.", "website_url": "https://ep2025.europython.eu/session/gpu-performance-or-ease-of-use-why-not-both" }, { "code": "9D8XMG", "duration": 30, "event_type": "session", "level": "beginner", "rooms": [ "South Hall 2B" ], "session_type": "Talk", "slug": "from-code-to-circuits-programming-with-micropython-and-raspberry-pico-2w", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/VGAQHM_zBP799p.webp", "code": "VGAQHM", "name": "Nilo Ney Coutinho Menezes", "slug": "nilo-ney-coutinho-menezes", "website_url": "https://ep2025.europython.eu/speaker/nilo-ney-coutinho-menezes" } ], "start": "2025-07-18T12:25:00+02:00", "title": "From Code to Circuits: Programming with MicroPython and Raspberry Pico 2W", "track": "IoT, Embedded Systems, Hardware Integration (2025)", "tweet": "MicroPython can be used to learn programming and electronics with simple and cheap hardware. Let's get together to start coding and making projects!", "website_url": "https://ep2025.europython.eu/session/from-code-to-circuits-programming-with-micropython-and-raspberry-pico-2w" }, { "code": "HP83AE", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "North Hall" ], "session_type": "Talk", "slug": "beyond-the-code-manipulating-bytecode-and-building-community", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/XKDR9U_1wxgAmS.webp", "code": "XKDR9U", "name": "Kir Chou", "slug": "kir-chou", "website_url": "https://ep2025.europython.eu/speaker/kir-chou" } ], "start": "2025-07-18T12:25:00+02:00", "title": "Beyond the Code: Manipulating Bytecode and Building Community", "track": "Python Core, Internals, Extensions (2025)", "tweet": "Is Python bytecode just code, or something more? My talk explores its intricacies and the community behind it. Join me!", "website_url": "https://ep2025.europython.eu/session/beyond-the-code-manipulating-bytecode-and-building-community" }, { "code": "NHUECR", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "Terrace 2A" ], "session_type": "Talk", "slug": "python-config-that-will-give-you-chills-in-a-good-way-i-promise", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/ZT9R8E_anPNVE8.webp", "code": "ZT9R8E", "name": "Grzegorz Kocjan", "slug": "grzegorz-kocjan", "website_url": "https://ep2025.europython.eu/speaker/grzegorz-kocjan" } ], "start": "2025-07-18T12:25:00+02:00", "title": "Python Config That Will Give You Chills (In a Good Way, I Promise!)", "track": "Tooling, Packaging, Developer Productivity (2025)", "tweet": "Tired of config chaos? Let\u2019s dive into super-strict, type-safe Pydantic settings\u2014no global state, no mistakes, just a setup that works! \ud83d\ude80", "website_url": "https://ep2025.europython.eu/session/python-config-that-will-give-you-chills-in-a-good-way-i-promise" }, { "code": "WB3SJP", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "South Hall 2A" ], "session_type": "Talk", "slug": "terraform-cdk-in-python-where-infrastructure-meets-code", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/Z8HXML_qoUe8xT.webp", "code": "Z8HXML", "name": "Yuliia Barabash", "slug": "yuliia-barabash", "website_url": "https://ep2025.europython.eu/speaker/yuliia-barabash" } ], "start": "2025-07-18T12:25:00+02:00", "title": "Terraform CDK in Python: Where Infrastructure Meets Code", "track": "DevOps, Cloud, Scalable Infrastructure (2025)", "tweet": "\u2601\ufe0f CLOUD, CLOUD, CLOUD!!! Everyone\u2019s shouting about it, but let\u2019s be real\u2014cloud solutions don\u2019t build themselves, and neither does your infrastructure", "website_url": "https://ep2025.europython.eu/session/terraform-cdk-in-python-where-infrastructure-meets-code" }, { "duration": 60, "event_type": "break", "rooms": [ "Forum Hall", "North Hall", "South Hall 2A", "South Hall 2B", "Terrace 2A", "Terrace 2B" ], "start": "2025-07-18T12:55:00+02:00", "title": "Lunch" }, { "code": "DGSNSE", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "Forum Hall" ], "session_type": "Talk", "slug": "when-in-practice-is-python-performance-an-issue-facts-and-myths", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/Z7MMMN_ZKPj0bk.webp", "code": "Z7MMMN", "name": "Sebastian Buczy\u0144ski", "slug": "sebastian-buczynski", "website_url": "https://ep2025.europython.eu/speaker/sebastian-buczynski" } ], "start": "2025-07-18T13:55:00+02:00", "title": "When in practice is Python performance an issue? Facts and myths.", "track": "Professional Development, Careers, Leadership (2025)", "tweet": "Why you (probably) shouldn't be losing sleep over Python's performance", "website_url": "https://ep2025.europython.eu/session/when-in-practice-is-python-performance-an-issue-facts-and-myths" }, { "code": "ETFNZG", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "Terrace 2B" ], "session_type": "Talk", "slug": "unlocking-hidden-power-of-conda-with-pixi", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/7YTCGE_OfwqzAf.webp", "code": "7YTCGE", "name": "Ruben Arts", "slug": "ruben-arts", "website_url": "https://ep2025.europython.eu/speaker/ruben-arts" }, { "avatar": "https://programme.europython.eu/media/avatars/EHYMWZ_c4SRakt.webp", "code": "EHYMWZ", "name": "Julian Hofer", "slug": "julian-hofer", "website_url": "https://ep2025.europython.eu/speaker/julian-hofer" } ], "start": "2025-07-18T13:55:00+02:00", "title": "Unlocking Hidden Power of Conda with Pixi", "track": "Tooling, Packaging, Developer Productivity (2025)", "tweet": "Find out Conda\u2019s hidden power for any language\u2014from local CI to environment setups\u2014and meet Pixi: a modern manager bridging Conda & PyPI.", "website_url": "https://ep2025.europython.eu/session/unlocking-hidden-power-of-conda-with-pixi" }, { "code": "FJH9YY", "duration": 30, "event_type": "session", "level": "beginner", "rooms": [ "South Hall 2B" ], "session_type": "Talk", "slug": "using-postgres-schemas-to-separate-data-of-your-saas-application-in-django", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/TDUUPM_0IAg1YX.webp", "code": "TDUUPM", "name": "Mikul\u00e1\u0161 Poul", "slug": "mikulas-poul", "website_url": "https://ep2025.europython.eu/speaker/mikulas-poul" } ], "start": "2025-07-18T13:55:00+02:00", "title": "Using Postgres schemas to separate data of your SaaS application in Django", "track": "Web Development, Web APIs, Front-End Integration (2025)", "tweet": "How to easily ensure only correct data get returned in a SaaS app? Database segregation to the rescue!", "website_url": "https://ep2025.europython.eu/session/using-postgres-schemas-to-separate-data-of-your-saas-application-in-django" }, { "code": "HTVBWM", "duration": 30, "event_type": "session", "level": "beginner", "rooms": [ "Terrace 2A" ], "session_type": "Talk", "slug": "design-patterns-build-better-software-from-day-one", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/RGAKT3_QDwBuc8.webp", "code": "RGAKT3", "name": "Marine Guyot", "slug": "marine-guyot", "website_url": "https://ep2025.europython.eu/speaker/marine-guyot" } ], "start": "2025-07-18T13:55:00+02:00", "title": "Design Patterns: Build better software from day one", "track": "~ None of these topics (2025)", "tweet": "Learn how to use design patterns to build clean, maintainable software from the start. Perfect for beginners starting new projects!", "website_url": "https://ep2025.europython.eu/session/design-patterns-build-better-software-from-day-one" }, { "code": "RGVZRU", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "South Hall 2A" ], "session_type": "Talk", "slug": "pyjsx-write-jsx-directly-in-python-no-strings-attached", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/YX7F3Y_F4LjhME.webp", "code": "YX7F3Y", "name": "Tomas Roun", "slug": "tomas-roun", "website_url": "https://ep2025.europython.eu/speaker/tomas-roun" } ], "start": "2025-07-18T13:55:00+02:00", "title": "PyJSX: Write JSX Directly in Python - No Strings Attached!", "track": "Web Development, Web APIs, Front-End Integration (2025)", "tweet": "PyJSX lets you write JSX directly in Python, simplifying HTML creation. Learn about its features, implementation and tooling!", "website_url": "https://ep2025.europython.eu/session/pyjsx-write-jsx-directly-in-python-no-strings-attached" }, { "code": "SKPCNV", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "North Hall" ], "session_type": "Talk", "slug": "the-art-of-yield", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/TJSMCP_UjXoW08.webp", "code": "TJSMCP", "name": "Maxim Danilov", "slug": "maxim-danilov", "website_url": "https://ep2025.europython.eu/speaker/maxim-danilov" } ], "start": "2025-07-18T13:55:00+02:00", "title": "The art of yield", "track": "Python Core, Internals, Extensions (2025)", "tweet": "How you can use yield instead of return in your lazy project", "website_url": "https://ep2025.europython.eu/session/the-art-of-yield" }, { "code": "89LBUT", "duration": 30, "event_type": "session", "level": "beginner", "rooms": [ "Terrace 2A" ], "session_type": "Talk", "slug": "anonymization-of-sensitive-information-in-financial-documents-using-python", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/WAL3T3_hvpRha9.webp", "code": "WAL3T3", "name": "Piotr Gryko", "slug": "piotr-gryko", "website_url": "https://ep2025.europython.eu/speaker/piotr-gryko" } ], "start": "2025-07-18T14:35:00+02:00", "title": "Anonymization of sensitive information in financial documents using, python", "track": "Machine Learning, NLP and CV (2025)", "tweet": "Unlock sensitive data potential with anonymization! Learn how Python, diffusion models, and Named Entity Recognition (NER)", "website_url": "https://ep2025.europython.eu/session/anonymization-of-sensitive-information-in-financial-documents-using-python" }, { "code": "AJ3Z8U", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "Forum Hall" ], "session_type": "Talk", "slug": "you-came-to-a-python-conference-now-go-do-a-pr-review", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/HQ3RL9_CG5BC6e.webp", "code": "HQ3RL9", "name": "Samiul Huque", "slug": "samiul-huque", "website_url": "https://ep2025.europython.eu/speaker/samiul-huque" } ], "start": "2025-07-18T14:35:00+02:00", "title": "You Came to a Python Conference. Now, Go Do a PR Review!", "track": "Community Building, Education, Outreach (2025)", "tweet": "The art of Pythonic PR reviews: Combine your Python know-how w/ communication best practices to give clear, constructive & technically-sound feedback", "website_url": "https://ep2025.europython.eu/session/you-came-to-a-python-conference-now-go-do-a-pr-review" }, { "code": "BVYE9B", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "North Hall" ], "session_type": "Talk", "slug": "memory-efficient-iteration-with-python-s-itertools-a-deep-dive", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/39KD3C_OWJtXnx.webp", "code": "39KD3C", "name": "Kalyan Prasad", "slug": "kalyan-prasad", "website_url": "https://ep2025.europython.eu/speaker/kalyan-prasad" } ], "start": "2025-07-18T14:35:00+02:00", "title": "Memory Efficient Iteration with Python's itertools- A Deep Dive", "track": "Python Core, Internals, Extensions (2025)", "tweet": "Master itertools for memory-efficient iteration on large datasets. Replace native loops, cut memory use, and speed processing proven with benchmarks.", "website_url": "https://ep2025.europython.eu/session/memory-efficient-iteration-with-python-s-itertools-a-deep-dive" }, { "code": "DCZCJP", "duration": 30, "event_type": "session", "level": "advanced", "rooms": [ "South Hall 2A" ], "session_type": "Talk", "slug": "broken-slots-are-a-silent-performance-killer-let-s-fix-them", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/EJLTWU_6F8olp5.webp", "code": "EJLTWU", "name": "Arie Bovenberg", "slug": "arie-bovenberg", "website_url": "https://ep2025.europython.eu/speaker/arie-bovenberg" } ], "start": "2025-07-18T14:35:00+02:00", "title": "Broken __slots__ are a silent performance killer\u2014Let's fix them!", "track": "Testing, Quality Assurance, Security (2025)", "tweet": "Mistakes in __slots__ setups often go unnoticed, negating their benefits. Learn how to find & fix common pitfalls to ensure real memory/speed gains.", "website_url": "https://ep2025.europython.eu/session/broken-slots-are-a-silent-performance-killer-let-s-fix-them" }, { "code": "XND9F9", "duration": 30, "event_type": "session", "level": "beginner", "rooms": [ "Terrace 2B" ], "session_type": "Talk", "slug": "hold-on-you-have-a-data-team-in-pycon-taiwan", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/NGUVCY_TsFY4d3.webp", "code": "NGUVCY", "name": "Wei Lee", "slug": "wei-lee", "website_url": "https://ep2025.europython.eu/speaker/wei-lee" } ], "start": "2025-07-18T14:35:00+02:00", "title": "Hold on! You have a data team in PyCon Taiwan!", "track": "Community Building, Education, Outreach (2025)", "tweet": "Join us at PyCon Taiwan to explore our journey in building a data-driven community! Discover how we use data to make evidence-based decisions!", "website_url": "https://ep2025.europython.eu/session/hold-on-you-have-a-data-team-in-pycon-taiwan" }, { "code": "Y8PVLE", "duration": 30, "event_type": "session", "level": "intermediate", "rooms": [ "South Hall 2B" ], "session_type": "Talk", "slug": "zero-drama-upgrades-real-world-tactics-for-major-python-migrations", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/YMJTM9_3ZAwSgF.webp", "code": "YMJTM9", "name": "Alejandro Cabello Jim\u00e9nez", "slug": "alejandro-cabello-jimenez", "website_url": "https://ep2025.europython.eu/speaker/alejandro-cabello-jimenez" } ], "start": "2025-07-18T14:35:00+02:00", "title": "Zero-Drama Upgrades: Real-World Tactics for Major Python Migrations", "track": "Tooling, Packaging, Developer Productivity (2025)", "tweet": "Learn how we migrated 100+ repos from Pydantic V1 to V2 at TravelPerk! Breaking changes, refactoring, and testing\u2014made smooth and actionable.", "website_url": "https://ep2025.europython.eu/session/zero-drama-upgrades-real-world-tactics-for-major-python-migrations" }, { "code": "JKZDUY", "duration": 80, "event_type": "session", "level": "beginner", "rooms": [ "Forum Hall" ], "session_type": "Documentary and Q&A", "slug": "python-the-documentary-screening-and-q-a", "speakers": [ { "avatar": "https://programme.europython.eu/media/avatars/K8J9XT_PnyHC7r.webp", "code": "K8J9XT", "name": "Paul Everitt", "slug": "paul-everitt", "website_url": "https://ep2025.europython.eu/speaker/paul-everitt" }, { "avatar": "https://programme.europython.eu/media/avatars/KV9HUP_uLV43E7.webp", "code": "KV9HUP", "name": "Armin Ronacher", "slug": "armin-ronacher", "website_url": "https://ep2025.europython.eu/speaker/armin-ronacher" }, { "avatar": "https://programme.europython.eu/media/avatars/LSFZCM_IWogPr5.webp", "code": "LSFZCM", "name": "Brett Cannon", "slug": "brett-cannon", "website_url": "https://ep2025.europython.eu/speaker/brett-cannon" } ], "start": "2025-07-18T15:15:00+02:00", "title": "\"Python: the Documentary\" screening and Q&A", "track": null, "tweet": "Join us for an excerpt from the much anticipated \"Python: the Documentary\" along with a Q&A with foundational members of the Python community.", "website_url": "https://ep2025.europython.eu/session/python-the-documentary-screening-and-q-a" }, { "duration": 25, "event_type": "break", "rooms": [ "Forum Hall" ], "start": "2025-07-18T16:35:00+02:00", "title": "Coffee Break" }, { "code": "AQEJEQ", "duration": 30, "event_type": "session", "level": "beginner", "rooms": [ "Forum Hall" ], "session_type": "Announcements", "slug": "lightning-talks-friday", "speakers": [], "start": "2025-07-18T17:00:00+02:00", "title": "Lightning talks \u26a1 Friday", "track": null, "tweet": "Enjoy Friday's lightning talks! Short talks about everything by everyone. Lightning talks are 5 minute talks that anyone participating at the confer", "website_url": "https://ep2025.europython.eu/session/lightning-talks-friday" }, { "code": "SHJXER", "duration": 20, "event_type": "session", "level": "beginner", "rooms": [ "Forum Hall" ], "session_type": "Announcements", "slug": "conference-closing", "speakers": [], "start": "2025-07-18T17:30:00+02:00", "title": "Conference Closing \ud83d\udc0d", "track": null, "tweet": "We had two tutorials days and three talks days filled with amazing topics, but more important, amazing people!", "website_url": "https://ep2025.europython.eu/session/conference-closing" }, { "code": "KHZZKV", "duration": 30, "event_type": "session", "level": "beginner", "rooms": [ "Forum Hall" ], "session_type": "Announcements", "slug": "sprint-orientation", "speakers": [], "start": "2025-07-18T17:50:00+02:00", "title": "Sprint Orientation \ud83c\udfc3", "track": null, "tweet": "Do you know what is a sprint? The sprints are activities that will happen during the weekend on a different location. Do you know if you can join?", "website_url": "https://ep2025.europython.eu/session/sprint-orientation" } ], "rooms": [ "Forum Hall", "North Hall", "South Hall 2A", "South Hall 2B", "Terrace 2A", "Terrace 2B" ] } } }