{"$schema": "https://c3voc.de/schedule/schema.json", "generator": {"name": "pretalx", "version": "2026.3.0.dev0", "url": "https://programme.europython.eu"}, "schedule": {"url": "https://programme.europython.eu/europython-2023/schedule/", "version": "0.25", "base_url": "https://programme.europython.eu", "conference": {"acronym": "europython-2023", "title": "EuroPython 2023", "start": "2023-07-17", "end": "2023-07-23", "daysCount": 7, "timeslot_duration": "00:05", "time_zone_name": "Europe/Prague", "colors": {"primary": "#030934"}, "rooms": [{"name": "Club A", "slug": "2183-club-a", "guid": "53d942d8-41c6-5ce2-9e68-e27dbe1581dd", "description": null, "capacity": 100}, {"name": "Club E", "slug": "2187-club-e", "guid": "fbf44aaf-fa84-51fb-90c7-f426cd0cfe7a", "description": null, "capacity": 100}, {"name": "Club H", "slug": "2188-club-h", "guid": "6941bc28-5e5b-53eb-b15c-1285139e1f61", "description": null, "capacity": 100}, {"name": "Club B", "slug": "2184-club-b", "guid": "adf8e14a-7784-5378-ba65-a3621e64826e", "description": null, "capacity": 40}, {"name": "Club C", "slug": "2185-club-c", "guid": "de67a498-3720-5e81-836e-c6857397d92d", "description": null, "capacity": 40}, {"name": "Club D", "slug": "2186-club-d", "guid": "7fcee5c4-5365-5ed6-87e8-a96ceb2e915b", "description": null, "capacity": 40}, {"name": "PyCharm (Forum Hall)", "slug": "2189-pycharm-forum-hall", "guid": "bde7cec6-20ad-5a61-8c4f-43220b09f87c", "description": null, "capacity": 1000}, {"name": "South Hall 2A", "slug": "2190-south-hall-2a", "guid": "b4aa8885-f330-5bc6-b7b3-d64f56d62691", "description": null, "capacity": 210}, {"name": "South Hall 2B", "slug": "2191-south-hall-2b", "guid": "eca0a8bd-c83c-5ce2-b5c8-78da7df606c8", "description": null, "capacity": 210}, {"name": "North Hall", "slug": "2194-north-hall", "guid": "a05be9db-82c0-57ef-b134-93cda35ef695", "description": null, "capacity": 200}, {"name": "Terrace 2A", "slug": "2192-terrace-2a", "guid": "ab4602e3-05dd-5b83-a1c0-aebd23a49cdc", "description": null, "capacity": 160}, {"name": "Terrace 2B", "slug": "2193-terrace-2b", "guid": "3fcaeaa9-6c50-5e80-9387-b6a42febf14b", "description": null, "capacity": 120}, {"name": "Open Space", "slug": "2234-open-space", "guid": "0fb91aae-4fa6-5849-a13f-b4cf9f4309c3", "description": null, "capacity": null}, {"name": "Posters (Sponsor Area)", "slug": "2242-posters-sponsor-area", "guid": "dff6d749-a62f-5f1d-b97c-7d4ba52f159c", "description": null, "capacity": null}], "tracks": [{"name": "Arts, Crafts Culture & Demos (2023)", "slug": "3544-arts-crafts-culture-demos-2023", "color": "#000000"}, {"name": "Infrastructure: Cloud & Hardware (2023)", "slug": "3559-infrastructure-cloud-hardware-2023", "color": "#000000"}, {"name": "Makers, Microcontrollers and IoT (2023)", "slug": "3560-makers-microcontrollers-and-iot-2023", "color": "#000000"}, {"name": "Testing (2023)", "slug": "3572-testing-2023", "color": "#000000"}, {"name": "PyData: Machine Learning, Stats (2023)", "slug": "3564-pydata-machine-learning-stats-2023", "color": "#000000"}, {"name": "PyData: Data Engineering (2023)", "slug": "3561-pydata-data-engineering-2023", "color": "#000000"}, {"name": "Web (2023)", "slug": "3573-web-2023", "color": "#000000"}, {"name": "PyData: Deep Learning, NLP, CV (2023)", "slug": "3562-pydata-deep-learning-nlp-cv-2023", "color": "#000000"}, {"name": "~ None of these topics (2023)", "slug": "3574-none-of-these-topics-2023", "color": "#000000"}, {"name": "PyData: Ethics in AI (2023)", "slug": "3563-pydata-ethics-in-ai-2023", "color": "#000000"}, {"name": "PyData: Software Packages & Jupyter (2023)", "slug": "3565-pydata-software-packages-jupyter-2023", "color": "#000000"}, {"name": "Ethics, Philosophy & Politics (2023)", "slug": "3569-ethics-philosophy-politics-2023", "color": "#000000"}, {"name": "Community & Diversity (2023)", "slug": "3556-community-diversity-2023", "color": "#000000"}, {"name": "Python Libraries (2023)", "slug": "3567-python-libraries-2023", "color": "#000000"}, {"name": "DevOps (2023)", "slug": "3557-devops-2023", "color": "#000000"}, {"name": "TBD - Multiple Tracks (2023)", "slug": "3683-tbd-multiple-tracks-2023", "color": "#FF0000"}, {"name": "Software Engineering & Architecture (2023)", "slug": "3570-software-engineering-architecture-2023", "color": "#000000"}, {"name": "Security (2023)", "slug": "3571-security-2023", "color": "#000000"}, {"name": "Career, Life, Health (2023)", "slug": "3555-career-life-health-2023", "color": "#000000"}, {"name": "Python Friends (2023)", "slug": "3566-python-friends-2023", "color": "#000000"}, {"name": "Python Internals & Ecosystem (2023)", "slug": "3568-python-internals-ecosystem-2023", "color": "#000000"}, {"name": "Education, Teaching & Training (2023)", "slug": "3558-education-teaching-training-2023", "color": "#000000"}], "days": [{"index": 1, "date": "2023-07-17", "day_start": "2023-07-17T04:00:00+02:00", "day_end": "2023-07-18T03:59:00+02:00", "rooms": {"Club A": [{"guid": "20530159-f8f3-58a9-a69c-421ceb0d0cc8", "code": "3HURZQ", "id": 35573, "logo": null, "date": "2023-07-17T08:30:00+02:00", "start": "08:30", "end": "2023-07-17T09:30:00+02:00", "duration": "01:00", "room": "Club A", "slug": "europython-2023-35573-registration-welcome-forum-hall-foyer-1st-floor", "url": "https://programme.europython.eu/europython-2023/talk/3HURZQ/", "title": "Registration & Welcome @ Forum Hall Foyer 1st Floor", "subtitle": "", "track": null, "type": "Announcements", "language": "en", "abstract": "Welcome to EuroPython 2023! You can pick up your badges at any time during the week as long as we are open! If you want to avoid the morning rush on Wednesday, come on Monday and Tuesday!\n\nQueues will be sorted by your **first name** on your ticket. Your ticket can be located via your order confirmation email (from support@pretix.eu with the Subject: Your order: XXXX). If you ordered your ticket after we've sent badges for printing (after 10 July), go directly to the Info Desk (also referred as Debugging Desk) and a volunteer will help!", "description": "", "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/3HURZQ/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/3HURZQ/", "attachments": []}, {"guid": "7e4d6e58-660d-53cc-be1f-33600da29548", "code": "8XKCB8", "id": 29567, "logo": null, "date": "2023-07-17T09:30:00+02:00", "start": "09:30", "end": "2023-07-17T11:00:00+02:00", "duration": "01:30", "room": "Club A", "slug": "europython-2023-29567-0-asyncio-without-asyncio", "url": "https://programme.europython.eu/europython-2023/talk/8XKCB8/", "title": "Asyncio without Asyncio", "subtitle": "", "track": "TBD - Multiple Tracks (2023)", "type": "Tutorial", "language": "en", "abstract": "This tutorial aims to demystify asyncio builtin module by implementing it from scratch without any dependencies other than the Python Standard Library. We will go through the problem of blocking IO and how it is possible to solve it without single \"async\" and \"await\" statement using native Python concepts. Then, we will demystify async/await syntax and see how it is implemented. We will also build our own scheduler which will have a similar API as asyncio, which will be able to run async functions the same way asyncio does. And finally we will build real asynchronous http proxy using our own asyncio implementation. Why reinvent the wheel? - \"I hear and I forget. I see and I remember. I do and I understand.\".", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "SR9UDD", "name": "Yan Yanchii", "avatar": "https://programme.europython.eu/media/avatars/SR9UDD_CtH62t8.webp", "biography": "Yan Yanchii is a senior software engineer at Kiwi.com - a leading global travel tech company headquartered in the Czech Republic, working on the Search team. Hailing from Ukraine, Yan speaks six languages and has a deep passion for computer science and low-level programming. At just 25 years old, Yan has a wealth of experience and expertise in Python and C, and particularly enjoys exploring CPython and its internals. His love for building things from scratch, rather than using ready-made solutions, has led him to develop a deep understanding of the technical underpinnings of software development. Yan is excited to share his knowledge and enthusiasm for Python and low-level programming with the Python community.", "public_name": "Yan Yanchii", "guid": "8ee6bdd2-7581-5e73-9659-31d757477b4d", "url": "https://programme.europython.eu/europython-2023/speaker/SR9UDD/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/8XKCB8/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/8XKCB8/", "attachments": []}, {"guid": "d95b2f1c-28d3-50cb-b954-3ac7ed13ad2c", "code": "8XKCB8", "id": 29567, "logo": null, "date": "2023-07-17T11:15:00+02:00", "start": "11:15", "end": "2023-07-17T12:45:00+02:00", "duration": "01:30", "room": "Club A", "slug": "europython-2023-29567-1-asyncio-without-asyncio", "url": "https://programme.europython.eu/europython-2023/talk/8XKCB8/", "title": "Asyncio without Asyncio", "subtitle": "", "track": "TBD - Multiple Tracks (2023)", "type": "Tutorial", "language": "en", "abstract": "This tutorial aims to demystify asyncio builtin module by implementing it from scratch without any dependencies other than the Python Standard Library. We will go through the problem of blocking IO and how it is possible to solve it without single \"async\" and \"await\" statement using native Python concepts. Then, we will demystify async/await syntax and see how it is implemented. We will also build our own scheduler which will have a similar API as asyncio, which will be able to run async functions the same way asyncio does. And finally we will build real asynchronous http proxy using our own asyncio implementation. Why reinvent the wheel? - \"I hear and I forget. I see and I remember. I do and I understand.\".", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "SR9UDD", "name": "Yan Yanchii", "avatar": "https://programme.europython.eu/media/avatars/SR9UDD_CtH62t8.webp", "biography": "Yan Yanchii is a senior software engineer at Kiwi.com - a leading global travel tech company headquartered in the Czech Republic, working on the Search team. Hailing from Ukraine, Yan speaks six languages and has a deep passion for computer science and low-level programming. At just 25 years old, Yan has a wealth of experience and expertise in Python and C, and particularly enjoys exploring CPython and its internals. His love for building things from scratch, rather than using ready-made solutions, has led him to develop a deep understanding of the technical underpinnings of software development. Yan is excited to share his knowledge and enthusiasm for Python and low-level programming with the Python community.", "public_name": "Yan Yanchii", "guid": "8ee6bdd2-7581-5e73-9659-31d757477b4d", "url": "https://programme.europython.eu/europython-2023/speaker/SR9UDD/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/8XKCB8/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/8XKCB8/", "attachments": []}, {"guid": "f11b32a9-ee97-5110-8de6-f91b1e07b151", "code": "3HDWUZ", "id": 29501, "logo": null, "date": "2023-07-17T13:45:00+02:00", "start": "13:45", "end": "2023-07-17T15:15:00+02:00", "duration": "01:30", "room": "Club A", "slug": "europython-2023-29501-0-geospatial-data-processing-in-python-a-comprehensive-tutorial", "url": "https://programme.europython.eu/europython-2023/talk/3HDWUZ/", "title": "Geospatial Data Processing in Python: A Comprehensive Tutorial", "subtitle": "", "track": "PyData: Data Engineering (2023)", "type": "Tutorial", "language": "en", "abstract": "In this tutorial, you will learn about the various Python modules for processing geospatial data, including GDAL, Rasterio, Pyproj, Shapely, Folium, Fiona, OSMnx, Libpysal, Geopandas, Pydeck, Whitebox, ESDA, and Leaflet. You will gain hands-on experience working with real-world geospatial data and learn how to perform tasks such as reading and writing spatial data, reprojecting data, performing spatial analyses, and creating interactive maps. This tutorial is suitable for beginners as well as intermediate Python users who want to expand their knowledge in the field of geospatial data processing.", "description": "Geospatial data, which refers to data that has a geographic component, is a crucial part of many fields, including geography, geography, urban planning, and environmental science. In this tutorial, you will learn about the various Python modules that are available for working with geospatial data.\n\nWe will start by introducing the **GDAL** (Geospatial Data Abstraction Library) and **Rasterio** modules, which are used for reading and writing raster data (data stored in a grid of cells, where each cell has a value). You will learn how to read and write common raster formats such as GeoTIFF and ESRI ASCII, as well as how to perform common raster operations such as resampling and reprojecting.\n\nNext, we will cover the **Pyproj** module, which is used for performing coordinate system transformations. You will learn how to convert between different coordinate systems and how to perform common tasks such as converting latitude and longitude coordinates to UTM (Universal Transverse Mercator) coordinates.\n\nAfter that, we will introduce the **Shapely** module, which is used for working with geometric objects in Python. You will learn how to create and manipulate points, lines, and polygons, as well as how to perform spatial operations such as intersection and union.\n\nThen, we will cover the **Folium** module, which is used for creating interactive maps in Python. You will learn how to create simple maps, add markers and popups, and customize the appearance of your maps.\n\nNext, we will introduce the **Fiona** module, which is used for reading and writing vector data (data stored as individual features, each with its own geometry and attributes). You will learn how to read and write common vector formats such as ESRI Shapefile and GeoJSON, as well as how to access and manipulate the attributes of vector features.\n\nAfter that, we will cover the **OSMnx** module, which is used for working with OpenStreetMap data in Python. You will learn how to download and manipulate street networks, buildings, and other geospatial data.\n\nNext, we will introduce the **Libpysal** module, which is used for performing spatial statistics and econometrics in Python. You will learn how to calculate spatial weights, perform spatial autocorrelation tests, and estimate spatial econometric models.\n\nThen, we will cover the **Geopandas** module, which is used for working with geospatial data in a Pandas DataFrame. You will learn how to load and manipulate vector data, perform sp", "recording_license": "", "do_not_record": false, "persons": [{"code": "DKNKQU", "name": "Martin Christen", "avatar": null, "biography": "Martin Christen is a professor of Geoinformatics and Computer Graphics at the Institute of Geomatics at the University of Applied Sciences Northwestern Switzerland (FHNW). His main research interests are geospatial Virtual- and Augmented Reality, 3D geoinformation, Deep Learning, and interactive 3D maps. \nMartin Christen is very active in the Python community. He teaches various Python-related courses and uses Python in most research projects. He organizes the PyBasel meet up - the local Python User Group Northwestern Switzerland. He also organizes the yearly GeoPython conference. He is a board member of the Python Software Verband e.V.", "public_name": "Martin Christen", "guid": "58e24b53-69ab-5ae5-a2e6-45b8786ce365", "url": "https://programme.europython.eu/europython-2023/speaker/DKNKQU/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/3HDWUZ/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/3HDWUZ/", "attachments": []}, {"guid": "1ae20717-2045-5476-90b3-605621532bd9", "code": "3HDWUZ", "id": 29501, "logo": null, "date": "2023-07-17T15:30:00+02:00", "start": "15:30", "end": "2023-07-17T17:00:00+02:00", "duration": "01:30", "room": "Club A", "slug": "europython-2023-29501-1-geospatial-data-processing-in-python-a-comprehensive-tutorial", "url": "https://programme.europython.eu/europython-2023/talk/3HDWUZ/", "title": "Geospatial Data Processing in Python: A Comprehensive Tutorial", "subtitle": "", "track": "PyData: Data Engineering (2023)", "type": "Tutorial", "language": "en", "abstract": "In this tutorial, you will learn about the various Python modules for processing geospatial data, including GDAL, Rasterio, Pyproj, Shapely, Folium, Fiona, OSMnx, Libpysal, Geopandas, Pydeck, Whitebox, ESDA, and Leaflet. You will gain hands-on experience working with real-world geospatial data and learn how to perform tasks such as reading and writing spatial data, reprojecting data, performing spatial analyses, and creating interactive maps. This tutorial is suitable for beginners as well as intermediate Python users who want to expand their knowledge in the field of geospatial data processing.", "description": "Geospatial data, which refers to data that has a geographic component, is a crucial part of many fields, including geography, geography, urban planning, and environmental science. In this tutorial, you will learn about the various Python modules that are available for working with geospatial data.\n\nWe will start by introducing the **GDAL** (Geospatial Data Abstraction Library) and **Rasterio** modules, which are used for reading and writing raster data (data stored in a grid of cells, where each cell has a value). You will learn how to read and write common raster formats such as GeoTIFF and ESRI ASCII, as well as how to perform common raster operations such as resampling and reprojecting.\n\nNext, we will cover the **Pyproj** module, which is used for performing coordinate system transformations. You will learn how to convert between different coordinate systems and how to perform common tasks such as converting latitude and longitude coordinates to UTM (Universal Transverse Mercator) coordinates.\n\nAfter that, we will introduce the **Shapely** module, which is used for working with geometric objects in Python. You will learn how to create and manipulate points, lines, and polygons, as well as how to perform spatial operations such as intersection and union.\n\nThen, we will cover the **Folium** module, which is used for creating interactive maps in Python. You will learn how to create simple maps, add markers and popups, and customize the appearance of your maps.\n\nNext, we will introduce the **Fiona** module, which is used for reading and writing vector data (data stored as individual features, each with its own geometry and attributes). You will learn how to read and write common vector formats such as ESRI Shapefile and GeoJSON, as well as how to access and manipulate the attributes of vector features.\n\nAfter that, we will cover the **OSMnx** module, which is used for working with OpenStreetMap data in Python. You will learn how to download and manipulate street networks, buildings, and other geospatial data.\n\nNext, we will introduce the **Libpysal** module, which is used for performing spatial statistics and econometrics in Python. You will learn how to calculate spatial weights, perform spatial autocorrelation tests, and estimate spatial econometric models.\n\nThen, we will cover the **Geopandas** module, which is used for working with geospatial data in a Pandas DataFrame. You will learn how to load and manipulate vector data, perform sp", "recording_license": "", "do_not_record": false, "persons": [{"code": "DKNKQU", "name": "Martin Christen", "avatar": null, "biography": "Martin Christen is a professor of Geoinformatics and Computer Graphics at the Institute of Geomatics at the University of Applied Sciences Northwestern Switzerland (FHNW). His main research interests are geospatial Virtual- and Augmented Reality, 3D geoinformation, Deep Learning, and interactive 3D maps. \nMartin Christen is very active in the Python community. He teaches various Python-related courses and uses Python in most research projects. He organizes the PyBasel meet up - the local Python User Group Northwestern Switzerland. He also organizes the yearly GeoPython conference. He is a board member of the Python Software Verband e.V.", "public_name": "Martin Christen", "guid": "58e24b53-69ab-5ae5-a2e6-45b8786ce365", "url": "https://programme.europython.eu/europython-2023/speaker/DKNKQU/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/3HDWUZ/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/3HDWUZ/", "attachments": []}], "Club E": [{"guid": "5e83e942-339d-589c-bd07-511466cd854d", "code": "PNYMHE", "id": 30023, "logo": null, "date": "2023-07-17T09:30:00+02:00", "start": "09:30", "end": "2023-07-17T11:00:00+02:00", "duration": "01:30", "room": "Club E", "slug": "europython-2023-30023-0-how-to-mlops-experiment-tracking-deployment", "url": "https://programme.europython.eu/europython-2023/talk/PNYMHE/", "title": "How to MLOps: Experiment tracking & deployment \ud83d\udcca", "subtitle": "", "track": "PyData: Machine Learning, Stats (2023)", "type": "Tutorial", "language": "en", "abstract": "What's this thing called **MLOps**? You may have heard about it by now, but never really understood what all the fuzz is about. Let's find out together!\n\nIn this tutorial, you will learn about MLOps and take your first steps in a hands-on way. To do so, we will be using **Open Source** tooling. We will be taking a simple example of Machine Learning use case and will gradually make it more ready for production \ud83d\ude80.\n\nWe start with a simple time-series model in Python using scikit-learn and first add logging steps to make the performance of the model measurable. Don't worry: we will go through it step-by-step, so you won't be overwhelmed. Then, we will log our ML model and load it back into an inference step. Lastly, we will learn about deploying these actual models by Dockerizing our application \ud83d\ude4f.", "description": "Welcome! You will be learning about MLOps in a hands-on way. So get ready to get your hands dirty and code along! \ud83d\udc4f\ud83c\udffb\n\nJoin us if you \ud83e\udef5:\n- Are working with Machine Learning / Data Science\n- Have some experience with Python\n- Are interested in MLOps and want to get some hands-on experience\n- Are interested in taking your Machine Learning model to production\n\n### Contents of the tutorial \ud83d\udccc:\n1. [15 min] MLOps: what's the fuzz about?\n2. [15 min] Why Experiment tracking? \ud83d\udcca\n3. [15 min] Hands-on: Logging metrics with MLFlow\n4. [10 min] Hands-on: Comparing experiments in the MLFlow interface\n5. [15 min] Hands-on: Saving a trained model with MLFlow\n6. [20 min] Hands-on: Loading a model with MLFlow and running inference\n7. [15 min] How to deploy our application? \ud83d\ude80\n8. [30 min] Hands-on: Dockerizing our application\n9. [30 min] Hands-on: Deploying our application\n\n### \ud83c\udfe1 What you will take home\nAt the end of the tutorial, you will be taking home the following:\n- What MLOps is\n- When it's applicable, and why it is important\n- How you can track your Machine Learning experiments and build better models because of it\n- Separate model training from model inference\n- Know how you could deploy your ML model to production\n\n### \u2764\ufe0f Open Source Software\nMany of the used tooling is Open Source. Open software for all!\n\n### \ud83c\udf92 Pre-requisites\nSome Python knowledge is required, as well as some general Data Science knowledge: model- training and inference as well as cross-validation. We will not go into details on the Data Science part, but it is good to have a rough understanding about it \ud83d\udc4d\ud83c\udffb.", "recording_license": "", "do_not_record": false, "persons": [{"code": "F3YM7C", "name": "Jeroen Overschie", "avatar": "https://programme.europython.eu/media/avatars/F3YM7C_85dKPcv.webp", "biography": "Jeroen is a Machine Learning Engineer at Xebia Data (formerly GoDataDriven), in The Netherlands. Jeroen has a background in Software Engineering and Data Science and helps companies take their Machine Learning solutions into production.\nBesides his usual work, Jeroen has been active in the Open Source community. Jeroen published several PyPi modules, npm modules, and has contributed to several large open source projects (Hydra from Facebook and Emberfire from Google). Jeroen also authored two chrome extensions, which are published on the web store.\n\nHope to see you at EuroPython \ud83c\udde8\ud83c\uddff! \ud83d\udc4b\ud83c\udffb", "public_name": "Jeroen Overschie", "guid": "b7714cb9-e991-5bfa-99e3-5ea64e34c6a8", "url": "https://programme.europython.eu/europython-2023/speaker/F3YM7C/"}, {"code": "KGPK3A", "name": "Yke Rusticus", "avatar": "https://programme.europython.eu/media/avatars/KGPK3A_eM8QToD.webp", "biography": "Yke is a Machine Learning Engineer at Xebia with a background in astronomy and artificial intelligence. In the industry, he learned that models and algorithms often do not get past the experimentation phase, leading him to specialise in MLOps to bridge the gap between experimentation and production. As a professional in this field, Yke has developed ML platforms and use cases across different cloud providers, and is passionate about sharing his knowledge through tutorials and trainings. \n\nHope to see you at EuroPython \ud83c\udde8\ud83c\uddff! \ud83d\udc4b", "public_name": "Yke Rusticus", "guid": "6e0bf5fb-9ac0-51a6-9dfd-73ea3b960801", "url": "https://programme.europython.eu/europython-2023/speaker/KGPK3A/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/PNYMHE/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/PNYMHE/", "attachments": []}, {"guid": "b996f8b1-5770-51da-82c8-c5eb37d762e4", "code": "PNYMHE", "id": 30023, "logo": null, "date": "2023-07-17T11:15:00+02:00", "start": "11:15", "end": "2023-07-17T12:45:00+02:00", "duration": "01:30", "room": "Club E", "slug": "europython-2023-30023-1-how-to-mlops-experiment-tracking-deployment", "url": "https://programme.europython.eu/europython-2023/talk/PNYMHE/", "title": "How to MLOps: Experiment tracking & deployment \ud83d\udcca", "subtitle": "", "track": "PyData: Machine Learning, Stats (2023)", "type": "Tutorial", "language": "en", "abstract": "What's this thing called **MLOps**? You may have heard about it by now, but never really understood what all the fuzz is about. Let's find out together!\n\nIn this tutorial, you will learn about MLOps and take your first steps in a hands-on way. To do so, we will be using **Open Source** tooling. We will be taking a simple example of Machine Learning use case and will gradually make it more ready for production \ud83d\ude80.\n\nWe start with a simple time-series model in Python using scikit-learn and first add logging steps to make the performance of the model measurable. Don't worry: we will go through it step-by-step, so you won't be overwhelmed. Then, we will log our ML model and load it back into an inference step. Lastly, we will learn about deploying these actual models by Dockerizing our application \ud83d\ude4f.", "description": "Welcome! You will be learning about MLOps in a hands-on way. So get ready to get your hands dirty and code along! \ud83d\udc4f\ud83c\udffb\n\nJoin us if you \ud83e\udef5:\n- Are working with Machine Learning / Data Science\n- Have some experience with Python\n- Are interested in MLOps and want to get some hands-on experience\n- Are interested in taking your Machine Learning model to production\n\n### Contents of the tutorial \ud83d\udccc:\n1. [15 min] MLOps: what's the fuzz about?\n2. [15 min] Why Experiment tracking? \ud83d\udcca\n3. [15 min] Hands-on: Logging metrics with MLFlow\n4. [10 min] Hands-on: Comparing experiments in the MLFlow interface\n5. [15 min] Hands-on: Saving a trained model with MLFlow\n6. [20 min] Hands-on: Loading a model with MLFlow and running inference\n7. [15 min] How to deploy our application? \ud83d\ude80\n8. [30 min] Hands-on: Dockerizing our application\n9. [30 min] Hands-on: Deploying our application\n\n### \ud83c\udfe1 What you will take home\nAt the end of the tutorial, you will be taking home the following:\n- What MLOps is\n- When it's applicable, and why it is important\n- How you can track your Machine Learning experiments and build better models because of it\n- Separate model training from model inference\n- Know how you could deploy your ML model to production\n\n### \u2764\ufe0f Open Source Software\nMany of the used tooling is Open Source. Open software for all!\n\n### \ud83c\udf92 Pre-requisites\nSome Python knowledge is required, as well as some general Data Science knowledge: model- training and inference as well as cross-validation. We will not go into details on the Data Science part, but it is good to have a rough understanding about it \ud83d\udc4d\ud83c\udffb.", "recording_license": "", "do_not_record": false, "persons": [{"code": "F3YM7C", "name": "Jeroen Overschie", "avatar": "https://programme.europython.eu/media/avatars/F3YM7C_85dKPcv.webp", "biography": "Jeroen is a Machine Learning Engineer at Xebia Data (formerly GoDataDriven), in The Netherlands. Jeroen has a background in Software Engineering and Data Science and helps companies take their Machine Learning solutions into production.\nBesides his usual work, Jeroen has been active in the Open Source community. Jeroen published several PyPi modules, npm modules, and has contributed to several large open source projects (Hydra from Facebook and Emberfire from Google). Jeroen also authored two chrome extensions, which are published on the web store.\n\nHope to see you at EuroPython \ud83c\udde8\ud83c\uddff! \ud83d\udc4b\ud83c\udffb", "public_name": "Jeroen Overschie", "guid": "b7714cb9-e991-5bfa-99e3-5ea64e34c6a8", "url": "https://programme.europython.eu/europython-2023/speaker/F3YM7C/"}, {"code": "KGPK3A", "name": "Yke Rusticus", "avatar": "https://programme.europython.eu/media/avatars/KGPK3A_eM8QToD.webp", "biography": "Yke is a Machine Learning Engineer at Xebia with a background in astronomy and artificial intelligence. In the industry, he learned that models and algorithms often do not get past the experimentation phase, leading him to specialise in MLOps to bridge the gap between experimentation and production. As a professional in this field, Yke has developed ML platforms and use cases across different cloud providers, and is passionate about sharing his knowledge through tutorials and trainings. \n\nHope to see you at EuroPython \ud83c\udde8\ud83c\uddff! \ud83d\udc4b", "public_name": "Yke Rusticus", "guid": "6e0bf5fb-9ac0-51a6-9dfd-73ea3b960801", "url": "https://programme.europython.eu/europython-2023/speaker/KGPK3A/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/PNYMHE/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/PNYMHE/", "attachments": []}, {"guid": "7252a403-e1e2-51df-b043-e4aedca184b1", "code": "SEBRJA", "id": 29463, "logo": null, "date": "2023-07-17T13:45:00+02:00", "start": "13:45", "end": "2023-07-17T15:15:00+02:00", "duration": "01:30", "room": "Club E", "slug": "europython-2023-29463-0-build-serve-and-deploy-a-fast-production-ready-api-with-python-and-robyn", "url": "https://programme.europython.eu/europython-2023/talk/SEBRJA/", "title": "Build, Serve, and Deploy a Fast, Production-Ready API with Python and Robyn", "subtitle": "", "track": "Web (2023)", "type": "Tutorial", "language": "en", "abstract": "Join our hands-on workshop and discover how to build fast, production-ready APIs using Robyn, a developer-friendly web framework for Python. We'll guide you through key features like GraphQL, WebSockets, and data validation, as well as essential topics like app structure, database modeling, and code splitting. With our workshop, you'll gain practical experience and valuable insights into Robyn's simple and extensible API, middleware, and deployment process.", "description": "Are you looking to build a fast, scalable, and production-ready API using Python? Look no further than Robyn - one of the fastest and most developer-friendly web frameworks on the market! In this hands-on workshop, you'll learn how to use Robyn to build a robust API that can handle a high volume of requests.\n\nWe will walk you through the key features of Robyn. You'll also learn how to take advantage of Robyn's easy deployment process, fast shipping process, and middleware functionality to customize your app's behavior.\n\nWe'll cover essential topics like app structure, database modeling, and code splitting using views so that you can organize your code in a modular and reusable way. Additionally, we'll explore Robyn's simple and extensible API, which makes it easy to create a custom API that meets your unique requirements.\n\nThroughout the workshop, you'll have ample opportunity to practice your skills and ask questions. We'll provide a fully-functional codebase that you can use as a starting point for your own API, and our instructors will be on hand to help you troubleshoot any issues you encounter.\n\nBy the end of the workshop, you'll have the confidence and expertise to build a fast, production-ready API using Python and Robyn. Whether you're building a web app, mobile app, or IoT device, this workshop is a must-attend event for anyone looking to take their API development skills to the next level. Sign up today and get ready to supercharge your API development workflow!", "recording_license": "", "do_not_record": false, "persons": [{"code": "ZPQUMD", "name": "Sanskar Jethi", "avatar": "https://programme.europython.eu/media/avatars/ZPQUMD_zviewvT.webp", "biography": "Sanskar is a Software Engineer during the day and a FOSS maintainer during the night. He is the author and maintainer of Robyn, which is one of the fastest web frameworks in the Python ecosystem. He has also recently created Starfyre, a web framework that allows you to create reactive web frontends in Python. \nSanskar loves attending, speaking, and organizing conferences and has been an active part of various Open Source conferences. \n\nWhen not writing code or attending conferences, Sanskar enjoys designing, reading philosophy, and following the latest technological trends. These days, Sanskar is a big fan of chasing the pump and lifting heavy weights in the Gym!", "public_name": "Sanskar Jethi", "guid": "3c730ab3-f2ad-5b45-a9ec-9c5601b05d11", "url": "https://programme.europython.eu/europython-2023/speaker/ZPQUMD/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/SEBRJA/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/SEBRJA/", "attachments": []}, {"guid": "a308ef1b-f619-5627-80d2-cd33e7ca0d37", "code": "SEBRJA", "id": 29463, "logo": null, "date": "2023-07-17T15:30:00+02:00", "start": "15:30", "end": "2023-07-17T17:00:00+02:00", "duration": "01:30", "room": "Club E", "slug": "europython-2023-29463-1-build-serve-and-deploy-a-fast-production-ready-api-with-python-and-robyn", "url": "https://programme.europython.eu/europython-2023/talk/SEBRJA/", "title": "Build, Serve, and Deploy a Fast, Production-Ready API with Python and Robyn", "subtitle": "", "track": "Web (2023)", "type": "Tutorial", "language": "en", "abstract": "Join our hands-on workshop and discover how to build fast, production-ready APIs using Robyn, a developer-friendly web framework for Python. We'll guide you through key features like GraphQL, WebSockets, and data validation, as well as essential topics like app structure, database modeling, and code splitting. With our workshop, you'll gain practical experience and valuable insights into Robyn's simple and extensible API, middleware, and deployment process.", "description": "Are you looking to build a fast, scalable, and production-ready API using Python? Look no further than Robyn - one of the fastest and most developer-friendly web frameworks on the market! In this hands-on workshop, you'll learn how to use Robyn to build a robust API that can handle a high volume of requests.\n\nWe will walk you through the key features of Robyn. You'll also learn how to take advantage of Robyn's easy deployment process, fast shipping process, and middleware functionality to customize your app's behavior.\n\nWe'll cover essential topics like app structure, database modeling, and code splitting using views so that you can organize your code in a modular and reusable way. Additionally, we'll explore Robyn's simple and extensible API, which makes it easy to create a custom API that meets your unique requirements.\n\nThroughout the workshop, you'll have ample opportunity to practice your skills and ask questions. We'll provide a fully-functional codebase that you can use as a starting point for your own API, and our instructors will be on hand to help you troubleshoot any issues you encounter.\n\nBy the end of the workshop, you'll have the confidence and expertise to build a fast, production-ready API using Python and Robyn. Whether you're building a web app, mobile app, or IoT device, this workshop is a must-attend event for anyone looking to take their API development skills to the next level. Sign up today and get ready to supercharge your API development workflow!", "recording_license": "", "do_not_record": false, "persons": [{"code": "ZPQUMD", "name": "Sanskar Jethi", "avatar": "https://programme.europython.eu/media/avatars/ZPQUMD_zviewvT.webp", "biography": "Sanskar is a Software Engineer during the day and a FOSS maintainer during the night. He is the author and maintainer of Robyn, which is one of the fastest web frameworks in the Python ecosystem. He has also recently created Starfyre, a web framework that allows you to create reactive web frontends in Python. \nSanskar loves attending, speaking, and organizing conferences and has been an active part of various Open Source conferences. \n\nWhen not writing code or attending conferences, Sanskar enjoys designing, reading philosophy, and following the latest technological trends. These days, Sanskar is a big fan of chasing the pump and lifting heavy weights in the Gym!", "public_name": "Sanskar Jethi", "guid": "3c730ab3-f2ad-5b45-a9ec-9c5601b05d11", "url": "https://programme.europython.eu/europython-2023/speaker/ZPQUMD/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/SEBRJA/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/SEBRJA/", "attachments": []}], "Club H": [{"guid": "148873fe-fcaa-5eed-8023-38e9bc48a2ca", "code": "BGEYP7", "id": 29384, "logo": null, "date": "2023-07-17T09:30:00+02:00", "start": "09:30", "end": "2023-07-17T11:00:00+02:00", "duration": "01:30", "room": "Club H", "slug": "europython-2023-29384-0-decorators-a-deep-dive", "url": "https://programme.europython.eu/europython-2023/talk/BGEYP7/", "title": "Decorators - A Deep Dive", "subtitle": "", "track": "Python Internals & Ecosystem (2023)", "type": "Tutorial", "language": "en", "abstract": "Python offers decorator to implement re-usable code for cross-cutting task.\nThe support the separation of cross-cutting concerns such as logging, caching,\nor checking of permissions.\nThis can improve code modularity and maintainability.\n\nThis tutorial is an in-depth introduction to decorators.\nIt covers the usage of decorators and how to implement simple and more advanced\ndecorators.\nUse cases demonstrate how to work with decorators.\nIn addition to showing how functions can use closures to create decorators,\nthe tutorial introduces callable class instance as alternative.\nClass decorators can solve problems that use be to be tasks for metaclasses.\nThe tutorial provides uses cases for class decorators.\n\nWhile the focus is on best practices and practical applications, the tutorial\nalso provides deeper insight into how Python works behind the scene.\nAfter the tutorial participants will feel comfortable with functions that take\nfunctions and return new functions.", "description": "## Audience\n\nThis tutorial is for intermediate Python programmers who want to dive deeper.\nSolid working knowledge of functions and classes basics is required.\n\n## Format\n\nThe tutorial will be hands on.\nI will start with a blank Notebook for each topic and develop the content\nstep-by-step.\nThe participants are encouraged to type along.\nMy typing speed is usually appropriate and allows participants to follow.\nThe students will receive a comprehensive PDF with all course content as well\nPython source code files for all use cases and large code blocks I use.\nI will load these files in my Notebook.\nThe students can do the same or open the files in their preferred editor or IDE.\n\nI also explicitly ask for feedback if I am too fast or things are unclear.\nI encourage questions at any time.\nIn fact, questions and my answers are often an important part of my teaching,\nmaking the learning experience much more lively and typically more useful.\n\nSo the participants will be active throughout the whole tutorial.\nThere will be two exercises that each participant has to do on its own\n(or in breakout rooms if the tutorials should be remote) during the tutorial.\nWe will look at the solutions during the tutorial.\nI also supply a solutions PDF after the tutorial.\n\n\n## Outline\n\n* Examples of using decorators\n  * from the standard library\n  * from third-party packages\n* Closures for decorators\n* Write a simple decorator\n* Best Practice\n* Use case: Caching\n* Use case: Logging\n* Parameterizing decorators\n* Chaining decorators\n* Callable instances instead of functions\n* Use case: Argument Checking\n* Use case: Registration\n* Class decorators\n* Wrap-up and questions", "recording_license": "", "do_not_record": false, "persons": [{"code": "9KSJ3K", "name": "Mike M\u00fcller", "avatar": "https://programme.europython.eu/media/avatars/9KSJ3K_0gV51CH.webp", "biography": "I've been a Python user since 1999, teaching Python professionally since 2004.\nI am also active in the community organizing Python conferences such as\nPyCon DE, EuroSciPy, and BarCamps.\nI am a PSF Fellow and chair of the German Python Software Verband.", "public_name": "Mike M\u00fcller", "guid": "83509971-e18d-5ad6-843b-373fc98d3359", "url": "https://programme.europython.eu/europython-2023/speaker/9KSJ3K/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/BGEYP7/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/BGEYP7/", "attachments": []}, {"guid": "22fded8e-f50d-5add-8f61-0d8a1b29f7e9", "code": "BGEYP7", "id": 29384, "logo": null, "date": "2023-07-17T11:15:00+02:00", "start": "11:15", "end": "2023-07-17T12:45:00+02:00", "duration": "01:30", "room": "Club H", "slug": "europython-2023-29384-1-decorators-a-deep-dive", "url": "https://programme.europython.eu/europython-2023/talk/BGEYP7/", "title": "Decorators - A Deep Dive", "subtitle": "", "track": "Python Internals & Ecosystem (2023)", "type": "Tutorial", "language": "en", "abstract": "Python offers decorator to implement re-usable code for cross-cutting task.\nThe support the separation of cross-cutting concerns such as logging, caching,\nor checking of permissions.\nThis can improve code modularity and maintainability.\n\nThis tutorial is an in-depth introduction to decorators.\nIt covers the usage of decorators and how to implement simple and more advanced\ndecorators.\nUse cases demonstrate how to work with decorators.\nIn addition to showing how functions can use closures to create decorators,\nthe tutorial introduces callable class instance as alternative.\nClass decorators can solve problems that use be to be tasks for metaclasses.\nThe tutorial provides uses cases for class decorators.\n\nWhile the focus is on best practices and practical applications, the tutorial\nalso provides deeper insight into how Python works behind the scene.\nAfter the tutorial participants will feel comfortable with functions that take\nfunctions and return new functions.", "description": "## Audience\n\nThis tutorial is for intermediate Python programmers who want to dive deeper.\nSolid working knowledge of functions and classes basics is required.\n\n## Format\n\nThe tutorial will be hands on.\nI will start with a blank Notebook for each topic and develop the content\nstep-by-step.\nThe participants are encouraged to type along.\nMy typing speed is usually appropriate and allows participants to follow.\nThe students will receive a comprehensive PDF with all course content as well\nPython source code files for all use cases and large code blocks I use.\nI will load these files in my Notebook.\nThe students can do the same or open the files in their preferred editor or IDE.\n\nI also explicitly ask for feedback if I am too fast or things are unclear.\nI encourage questions at any time.\nIn fact, questions and my answers are often an important part of my teaching,\nmaking the learning experience much more lively and typically more useful.\n\nSo the participants will be active throughout the whole tutorial.\nThere will be two exercises that each participant has to do on its own\n(or in breakout rooms if the tutorials should be remote) during the tutorial.\nWe will look at the solutions during the tutorial.\nI also supply a solutions PDF after the tutorial.\n\n\n## Outline\n\n* Examples of using decorators\n  * from the standard library\n  * from third-party packages\n* Closures for decorators\n* Write a simple decorator\n* Best Practice\n* Use case: Caching\n* Use case: Logging\n* Parameterizing decorators\n* Chaining decorators\n* Callable instances instead of functions\n* Use case: Argument Checking\n* Use case: Registration\n* Class decorators\n* Wrap-up and questions", "recording_license": "", "do_not_record": false, "persons": [{"code": "9KSJ3K", "name": "Mike M\u00fcller", "avatar": "https://programme.europython.eu/media/avatars/9KSJ3K_0gV51CH.webp", "biography": "I've been a Python user since 1999, teaching Python professionally since 2004.\nI am also active in the community organizing Python conferences such as\nPyCon DE, EuroSciPy, and BarCamps.\nI am a PSF Fellow and chair of the German Python Software Verband.", "public_name": "Mike M\u00fcller", "guid": "83509971-e18d-5ad6-843b-373fc98d3359", "url": "https://programme.europython.eu/europython-2023/speaker/9KSJ3K/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/BGEYP7/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/BGEYP7/", "attachments": []}, {"guid": "0228d42a-16cd-55eb-a04d-a28b96d30ea8", "code": "C7AZ33", "id": 29196, "logo": null, "date": "2023-07-17T13:45:00+02:00", "start": "13:45", "end": "2023-07-17T15:15:00+02:00", "duration": "01:30", "room": "Club H", "slug": "europython-2023-29196-0-build-a-terminal-todo-app-with-textual", "url": "https://programme.europython.eu/europython-2023/talk/C7AZ33/", "title": "Build a terminal TODO app with Textual", "subtitle": "", "track": "Python Libraries (2023)", "type": "Tutorial", "language": "en", "abstract": "Learn how to build powerful terminal-based user interfaces (TUIs) with ease using Textual - an open-source Python framework.\n\nThroughout this tutorial, you'll learn how to use Textual's built-in widgets, reactive features, and message-passing system to create a dynamic and user-friendly TODO app that's perfect for managing your daily tasks.\n\nFrom creating and displaying tasks to editing and deleting them, you'll cover all the essential features needed to make a functional TODO app.\n\nYou'll also learn how to use Textual CSS to style your TUI for a polished and elegant look, together with some tips and tricks to make it even easier to develop your TUIs in Textual.\n\nThis tutorial provides everything you need to get started with building TUIs in Python. By the end of the tutorial, you'll have a fully functional and stylish TODO app that showcases Textual's versatility and useful features.", "description": "[Instructions below!]\n\nDuring this tutorial, we will build a terminal-user interface for a TODO app.\nThis will showcase all the essential features that make Textual a very interesting Python framework to build terminal user interfaces.\n\nTopics covered in this tutorial include:\n\n - the vast built-in widget gallery;\n - reactive attributes;\n - handling messages;\n - key bindings and action methods;\n - Textual CSS;\n - the Textual developer console; and\n - creation of custom widgets.\n\nAttendees are not expected to have prior Textual experience but they are expected to have a working knowledge of classes, methods, and attributes.\n\nIf you want to attend the workshop, please follow the instructions in [this GitHub repo](https://github.com/Textualize/TODO-tutorial): https://github.com/Textualize/TODO-tutorial.", "recording_license": "", "do_not_record": false, "persons": [{"code": "BLNV7P", "name": "Rodrigo Gir\u00e3o Serr\u00e3o", "avatar": "https://programme.europython.eu/media/avatars/BLNV7P_wULjbpV.webp", "biography": "Rodrigo has always been fascinated by problem solving and that is why he picked up programming \u2013 so that he could solve more problems. He also loves sharing knowledge, and that is why he spends so much time writing articles in his blog [mathspp.com/blog](http://mathspp.com/blog), writing on Twitter [@mathsppblog](https://twitter.com/mathsppblog), and giving workshops and courses.\n\nHis main areas of scientific interest are mathematics (numerical analysis in particular) and programming in general (with a preference for the Python and APL languages), but Rodrigo also enjoys reading fantasy books, watching silly comedy movies and eating chocolate.\n\nAll materials can be accessed from [this GH repo](https://github.com/mathspp/talks).", "public_name": "Rodrigo Gir\u00e3o Serr\u00e3o", "guid": "b162400f-4b4a-584b-b4d6-8e9b4c49a8ac", "url": "https://programme.europython.eu/europython-2023/speaker/BLNV7P/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/C7AZ33/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/C7AZ33/", "attachments": []}, {"guid": "46d89171-66fd-5082-aa5d-141de7d3d525", "code": "C7AZ33", "id": 29196, "logo": null, "date": "2023-07-17T15:30:00+02:00", "start": "15:30", "end": "2023-07-17T17:00:00+02:00", "duration": "01:30", "room": "Club H", "slug": "europython-2023-29196-1-build-a-terminal-todo-app-with-textual", "url": "https://programme.europython.eu/europython-2023/talk/C7AZ33/", "title": "Build a terminal TODO app with Textual", "subtitle": "", "track": "Python Libraries (2023)", "type": "Tutorial", "language": "en", "abstract": "Learn how to build powerful terminal-based user interfaces (TUIs) with ease using Textual - an open-source Python framework.\n\nThroughout this tutorial, you'll learn how to use Textual's built-in widgets, reactive features, and message-passing system to create a dynamic and user-friendly TODO app that's perfect for managing your daily tasks.\n\nFrom creating and displaying tasks to editing and deleting them, you'll cover all the essential features needed to make a functional TODO app.\n\nYou'll also learn how to use Textual CSS to style your TUI for a polished and elegant look, together with some tips and tricks to make it even easier to develop your TUIs in Textual.\n\nThis tutorial provides everything you need to get started with building TUIs in Python. By the end of the tutorial, you'll have a fully functional and stylish TODO app that showcases Textual's versatility and useful features.", "description": "[Instructions below!]\n\nDuring this tutorial, we will build a terminal-user interface for a TODO app.\nThis will showcase all the essential features that make Textual a very interesting Python framework to build terminal user interfaces.\n\nTopics covered in this tutorial include:\n\n - the vast built-in widget gallery;\n - reactive attributes;\n - handling messages;\n - key bindings and action methods;\n - Textual CSS;\n - the Textual developer console; and\n - creation of custom widgets.\n\nAttendees are not expected to have prior Textual experience but they are expected to have a working knowledge of classes, methods, and attributes.\n\nIf you want to attend the workshop, please follow the instructions in [this GitHub repo](https://github.com/Textualize/TODO-tutorial): https://github.com/Textualize/TODO-tutorial.", "recording_license": "", "do_not_record": false, "persons": [{"code": "BLNV7P", "name": "Rodrigo Gir\u00e3o Serr\u00e3o", "avatar": "https://programme.europython.eu/media/avatars/BLNV7P_wULjbpV.webp", "biography": "Rodrigo has always been fascinated by problem solving and that is why he picked up programming \u2013 so that he could solve more problems. He also loves sharing knowledge, and that is why he spends so much time writing articles in his blog [mathspp.com/blog](http://mathspp.com/blog), writing on Twitter [@mathsppblog](https://twitter.com/mathsppblog), and giving workshops and courses.\n\nHis main areas of scientific interest are mathematics (numerical analysis in particular) and programming in general (with a preference for the Python and APL languages), but Rodrigo also enjoys reading fantasy books, watching silly comedy movies and eating chocolate.\n\nAll materials can be accessed from [this GH repo](https://github.com/mathspp/talks).", "public_name": "Rodrigo Gir\u00e3o Serr\u00e3o", "guid": "b162400f-4b4a-584b-b4d6-8e9b4c49a8ac", "url": "https://programme.europython.eu/europython-2023/speaker/BLNV7P/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/C7AZ33/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/C7AZ33/", "attachments": []}], "Club B": [{"guid": "a9325f6c-e4f3-5c7b-9ba5-2bbd1d4f5f82", "code": "CRTSNK", "id": 29642, "logo": null, "date": "2023-07-17T09:30:00+02:00", "start": "09:30", "end": "2023-07-17T11:00:00+02:00", "duration": "01:30", "room": "Club B", "slug": "europython-2023-29642-0-sktime-python-toolbox-for-time-series", "url": "https://programme.europython.eu/europython-2023/talk/CRTSNK/", "title": "sktime - python toolbox for time series", "subtitle": "", "track": "PyData: Software Packages & Jupyter (2023)", "type": "Tutorial", "language": "en", "abstract": "This tutorial presents sktime - a unified, open source framework for machine learning with time series in python. sktime provides interfaces to algorithms of various types, and modular tools for pipelining, composition, and tuning. You will learn how identify your learning task, and how to build, use, and evaluate different algorithms on real-world data sets.\n\nAll tutorial notebooks are available in this repository and runnable from the cloud:\nhttps://github.com/sktime/sktime-tutorial-europython-2023", "description": "Time series are ubiquitous in real-world applications, but often add considerable complications to data science workflows. \n\nIn this tutorial, we will present sktime - a unified framework for machine learning with time series. sktime covers multiple time series learning problems, including time series transformation, classification and forecasting, among others. In addition, sktime allows you to easily apply an algorithm for one task to solve another (e.g. a scikit-learn regressor to solve a forecasting problem). In the tutorial, you will learn about how you can identify these problems, what their key differences are and how they are related.\n\nTo solve these problems, sktime provides various time series algorithms and modular tools for pipelining, composition and tuning. In addition, sktime is interoperable with common libraries in the data science stack, including scikit-learn, statsmodels and prophet.\n\nYou will learn how to use, combine, tune and evaluate different algorithms on real-world data sets. We'll work through all of this step by step using Jupyter Notebooks. \n\nsktime is an openly governed open source community where everyone can join or become a leader. We encourage contributions and provide mentoring opportunities.", "recording_license": "", "do_not_record": false, "persons": [{"code": "KGV7MZ", "name": "Franz Kiraly", "avatar": null, "biography": "Founder and developer of the open source library sktime. Researcher in open source software, reliable/trustworthy models, time series. Previously faculty at University College London", "public_name": "Franz Kiraly", "guid": "36e477dd-5418-53b4-8483-b2759f000839", "url": "https://programme.europython.eu/europython-2023/speaker/KGV7MZ/"}, {"code": "GJGS9E", "name": "Sagar Mishra", "avatar": "https://programme.europython.eu/media/avatars/GJGS9E_2ywRqfb.webp", "biography": "Sagar Mishra is a core developer of sktime, and a Software Engineer at Oorjaa, a company that specializes in logistics optimization. He holds a Bachelors from the Indian Institute of Technology, Dhanbad. Besides, he has volunteered his time as a social worker in NGOs which aims to improve the life quality in underdeveloped regions of India. Lately, he's been reading Russian classics and exploring his newfound love for hiking.", "public_name": "Sagar Mishra", "guid": "72198aaa-39e1-59b7-8463-e7c6d415e89a", "url": "https://programme.europython.eu/europython-2023/speaker/GJGS9E/"}, {"code": "T9ZZJA", "name": "Kiril Ralinovski", "avatar": null, "biography": null, "public_name": "Kiril Ralinovski", "guid": "4985e103-d425-59cc-b734-ea8e165d7c4b", "url": "https://programme.europython.eu/europython-2023/speaker/T9ZZJA/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/CRTSNK/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/CRTSNK/", "attachments": []}, {"guid": "5db11823-a1a1-5689-8ee6-65bd785aa6d1", "code": "CRTSNK", "id": 29642, "logo": null, "date": "2023-07-17T11:15:00+02:00", "start": "11:15", "end": "2023-07-17T12:45:00+02:00", "duration": "01:30", "room": "Club B", "slug": "europython-2023-29642-1-sktime-python-toolbox-for-time-series", "url": "https://programme.europython.eu/europython-2023/talk/CRTSNK/", "title": "sktime - python toolbox for time series", "subtitle": "", "track": "PyData: Software Packages & Jupyter (2023)", "type": "Tutorial", "language": "en", "abstract": "This tutorial presents sktime - a unified, open source framework for machine learning with time series in python. sktime provides interfaces to algorithms of various types, and modular tools for pipelining, composition, and tuning. You will learn how identify your learning task, and how to build, use, and evaluate different algorithms on real-world data sets.\n\nAll tutorial notebooks are available in this repository and runnable from the cloud:\nhttps://github.com/sktime/sktime-tutorial-europython-2023", "description": "Time series are ubiquitous in real-world applications, but often add considerable complications to data science workflows. \n\nIn this tutorial, we will present sktime - a unified framework for machine learning with time series. sktime covers multiple time series learning problems, including time series transformation, classification and forecasting, among others. In addition, sktime allows you to easily apply an algorithm for one task to solve another (e.g. a scikit-learn regressor to solve a forecasting problem). In the tutorial, you will learn about how you can identify these problems, what their key differences are and how they are related.\n\nTo solve these problems, sktime provides various time series algorithms and modular tools for pipelining, composition and tuning. In addition, sktime is interoperable with common libraries in the data science stack, including scikit-learn, statsmodels and prophet.\n\nYou will learn how to use, combine, tune and evaluate different algorithms on real-world data sets. We'll work through all of this step by step using Jupyter Notebooks. \n\nsktime is an openly governed open source community where everyone can join or become a leader. We encourage contributions and provide mentoring opportunities.", "recording_license": "", "do_not_record": false, "persons": [{"code": "KGV7MZ", "name": "Franz Kiraly", "avatar": null, "biography": "Founder and developer of the open source library sktime. Researcher in open source software, reliable/trustworthy models, time series. Previously faculty at University College London", "public_name": "Franz Kiraly", "guid": "36e477dd-5418-53b4-8483-b2759f000839", "url": "https://programme.europython.eu/europython-2023/speaker/KGV7MZ/"}, {"code": "GJGS9E", "name": "Sagar Mishra", "avatar": "https://programme.europython.eu/media/avatars/GJGS9E_2ywRqfb.webp", "biography": "Sagar Mishra is a core developer of sktime, and a Software Engineer at Oorjaa, a company that specializes in logistics optimization. He holds a Bachelors from the Indian Institute of Technology, Dhanbad. Besides, he has volunteered his time as a social worker in NGOs which aims to improve the life quality in underdeveloped regions of India. Lately, he's been reading Russian classics and exploring his newfound love for hiking.", "public_name": "Sagar Mishra", "guid": "72198aaa-39e1-59b7-8463-e7c6d415e89a", "url": "https://programme.europython.eu/europython-2023/speaker/GJGS9E/"}, {"code": "T9ZZJA", "name": "Kiril Ralinovski", "avatar": null, "biography": null, "public_name": "Kiril Ralinovski", "guid": "4985e103-d425-59cc-b734-ea8e165d7c4b", "url": "https://programme.europython.eu/europython-2023/speaker/T9ZZJA/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/CRTSNK/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/CRTSNK/", "attachments": []}, {"guid": "8b650ba7-e9e9-5464-869c-35335980dbe7", "code": "Z7HAUH", "id": 28791, "logo": null, "date": "2023-07-17T13:45:00+02:00", "start": "13:45", "end": "2023-07-17T15:15:00+02:00", "duration": "01:30", "room": "Club B", "slug": "europython-2023-28791-0-food-for-rabbits-celery-from-zero-to-hero", "url": "https://programme.europython.eu/europython-2023/talk/Z7HAUH/", "title": "Food For Rabbits: Celery From Zero to Hero", "subtitle": "", "track": "TBD - Multiple Tracks (2023)", "type": "Tutorial", "language": "en", "abstract": "In a world, full of Micro-Services, distributing tasks is a constant challenge, and there's only one tool that can rule them all.\n\nIn this workshop, we'll introduce Celery - a tool for distributing tasks in an easy, fast, and flexible manner, and take you from zero to hero!\n- We're going to understand why we need a distributed task system, and why to choose Celery.\n- We'll write our first Celery task.\n- Understand how to configure and run Celery.\n- Familiarize ourselves with Celery's fundamental concepts.\n- Dive into celery customizable options.\n- Finally, we'll see a real-life example of how we used Celery in our production system and how we customized it to fit our needs, and discuss how you can do the same.", "description": "**Outline:**\n- Setup [5 min]\n- What is Celery? When to use it and why.  [5 min]\n- Let's write our first Celery Task.  [5 min + 10 min Exercise]\n- Getting statuses and results.  [5 min + 15 min Exercise]\n- The Celery Worker.  [5 min]\n- Go configure - the Celery Config.  [5 min]\n- Customize it & Retry [10 min + 15 min Exercise]\n- Break - [15min]\n- Celery Workflows and Signature.  [10 min + 25 min Exercise]\n- How we use Celery to solve complex problems & Production use-case [10 min]\n- Final Excercise [40 min]\n- Recap [5 min]\n\n---\n## [link to the workshop materials](https://gitlab.com/88roy88/celery_workshop)", "recording_license": "", "do_not_record": false, "persons": [{"code": "MKHTB9", "name": "Roy M Mezan", "avatar": "https://programme.europython.eu/media/avatars/MKHTB9_EQjDPRw.webp", "biography": "Roy is an enthusiastic Python programmer, Finished his B.CS at the age of 18.\nLead the drone department at the University R&D Lab.\nWas a Drone development officer at the IDF & Project manager of AR/VR development team.\nWorked on autonomous drones in the defense industry.\nCurrently working as a senior developer at Ownbackup in the Security group.", "public_name": "Roy M Mezan", "guid": "9762aefb-de7f-5bd7-bf55-e9f797147153", "url": "https://programme.europython.eu/europython-2023/speaker/MKHTB9/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/Z7HAUH/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/Z7HAUH/", "attachments": []}, {"guid": "c1745d0b-a249-53fc-b9c1-6bf3f84c674e", "code": "Z7HAUH", "id": 28791, "logo": null, "date": "2023-07-17T15:30:00+02:00", "start": "15:30", "end": "2023-07-17T17:00:00+02:00", "duration": "01:30", "room": "Club B", "slug": "europython-2023-28791-1-food-for-rabbits-celery-from-zero-to-hero", "url": "https://programme.europython.eu/europython-2023/talk/Z7HAUH/", "title": "Food For Rabbits: Celery From Zero to Hero", "subtitle": "", "track": "TBD - Multiple Tracks (2023)", "type": "Tutorial", "language": "en", "abstract": "In a world, full of Micro-Services, distributing tasks is a constant challenge, and there's only one tool that can rule them all.\n\nIn this workshop, we'll introduce Celery - a tool for distributing tasks in an easy, fast, and flexible manner, and take you from zero to hero!\n- We're going to understand why we need a distributed task system, and why to choose Celery.\n- We'll write our first Celery task.\n- Understand how to configure and run Celery.\n- Familiarize ourselves with Celery's fundamental concepts.\n- Dive into celery customizable options.\n- Finally, we'll see a real-life example of how we used Celery in our production system and how we customized it to fit our needs, and discuss how you can do the same.", "description": "**Outline:**\n- Setup [5 min]\n- What is Celery? When to use it and why.  [5 min]\n- Let's write our first Celery Task.  [5 min + 10 min Exercise]\n- Getting statuses and results.  [5 min + 15 min Exercise]\n- The Celery Worker.  [5 min]\n- Go configure - the Celery Config.  [5 min]\n- Customize it & Retry [10 min + 15 min Exercise]\n- Break - [15min]\n- Celery Workflows and Signature.  [10 min + 25 min Exercise]\n- How we use Celery to solve complex problems & Production use-case [10 min]\n- Final Excercise [40 min]\n- Recap [5 min]\n\n---\n## [link to the workshop materials](https://gitlab.com/88roy88/celery_workshop)", "recording_license": "", "do_not_record": false, "persons": [{"code": "MKHTB9", "name": "Roy M Mezan", "avatar": "https://programme.europython.eu/media/avatars/MKHTB9_EQjDPRw.webp", "biography": "Roy is an enthusiastic Python programmer, Finished his B.CS at the age of 18.\nLead the drone department at the University R&D Lab.\nWas a Drone development officer at the IDF & Project manager of AR/VR development team.\nWorked on autonomous drones in the defense industry.\nCurrently working as a senior developer at Ownbackup in the Security group.", "public_name": "Roy M Mezan", "guid": "9762aefb-de7f-5bd7-bf55-e9f797147153", "url": "https://programme.europython.eu/europython-2023/speaker/MKHTB9/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/Z7HAUH/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/Z7HAUH/", "attachments": []}], "Club C": [{"guid": "2bba52d6-6b77-5a69-a7fd-482abf0054cf", "code": "BABLES", "id": 33697, "logo": null, "date": "2023-07-17T09:30:00+02:00", "start": "09:30", "end": "2023-07-17T11:00:00+02:00", "duration": "01:30", "room": "Club C", "slug": "europython-2023-33697-0-humble-data", "url": "https://programme.europython.eu/europython-2023/talk/BABLES/", "title": "Humble Data", "subtitle": "", "track": null, "type": "Conference Workshop", "language": "en", "abstract": "Are you a complete beginner to coding, but would love to learn how to get started? Have you been curious about data science, but feel overwhelmed with all the talk of AI? Many people working in data science were once in the same position and know how hard it is to take those first steps.\n\nHowever, fear not! It\u2019s easier than you think to get started, and to help make this transition easier we\u2019re hosting a workshop to teach beginners how to get started in Python and data science. We\u2019ll start with Python basics, and show you how you can use this knowledge to easily read and transform data using Pandas, Python\u2019s powerful data analysis library. You\u2019ll also see how you can create beautiful, customized visualizations in Python using packages such as Matplotlib and Seaborn. You\u2019ll also learn how to use a core data science tool, Jupyter notebooks, to run and check the output of your code. See more details on the workshop here: https://ep2023.europython.eu/humble-data", "description": "This workshop is aimed at both those with no programming experience, and those with some experience in Python who want to get started in data science, and who want to learn in a supportive, relaxed and empathic environment. \n\nAs part of the workshop, participants will work through a series of approachable tutorials with the help of a mentor. For 3 hours (breaks included) we will have teams that will work together with mentors to do plenty of exercises, quizzes and games, to go from Zero to Hero in Python data science. All that participants will need to bring is a tablet or a laptop with internet access - we will help them get started with the rest!", "recording_license": "", "do_not_record": false, "persons": [{"code": "PXQBU9", "name": "Jodie Burchell", "avatar": "https://programme.europython.eu/media/avatars/PXQBU9_wMHvbcZ.webp", "biography": "Dr. Jodie Burchell is the Developer Advocate in Data Science at JetBrains, and was previously the Lead Data Scientist in audiences generation at Verve Group Europe. After finishing a PhD in Psychology and a postdoc in biostatistics, she has worked in a range of data science and machine learning roles across search improvement, recommendation systems, NLP and programmatic advertising. She is passionate about making Python data science and machine learning accessible for others. She is also a long time content creator in data science, across conference and user group presentations, books, webinars, and blogging.", "public_name": "Jodie Burchell", "guid": "2a76e0db-17d6-577f-ace8-0913ff96f220", "url": "https://programme.europython.eu/europython-2023/speaker/PXQBU9/"}, {"code": "VWGMRU", "name": "Lais Carvalho", "avatar": "https://programme.europython.eu/media/avatars/VWGMRU_HmbLDuU.webp", "biography": "Lais works as a Software Developer at Workday. Her work in the Python community started in 2018 when she joined Python Ireland being the first black female member of the non-profit organisation.\nShe is an experienced DevRel who now advocates for underrepresented minorities in technology. This is her second consecutive year running a HumbleData workshop in person at a EuroPython Conference.\nLais is excited about food, documentation, and communication. Her main core values are courage and kindness.", "public_name": "Lais Carvalho", "guid": "3157cb69-61ad-5eb7-befe-f9465f0f80b2", "url": "https://programme.europython.eu/europython-2023/speaker/VWGMRU/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/BABLES/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/BABLES/", "attachments": []}, {"guid": "e37c3609-30e0-5993-b8b1-649b2b781a6d", "code": "BABLES", "id": 33697, "logo": null, "date": "2023-07-17T11:15:00+02:00", "start": "11:15", "end": "2023-07-17T12:45:00+02:00", "duration": "01:30", "room": "Club C", "slug": "europython-2023-33697-1-humble-data", "url": "https://programme.europython.eu/europython-2023/talk/BABLES/", "title": "Humble Data", "subtitle": "", "track": null, "type": "Conference Workshop", "language": "en", "abstract": "Are you a complete beginner to coding, but would love to learn how to get started? Have you been curious about data science, but feel overwhelmed with all the talk of AI? Many people working in data science were once in the same position and know how hard it is to take those first steps.\n\nHowever, fear not! It\u2019s easier than you think to get started, and to help make this transition easier we\u2019re hosting a workshop to teach beginners how to get started in Python and data science. We\u2019ll start with Python basics, and show you how you can use this knowledge to easily read and transform data using Pandas, Python\u2019s powerful data analysis library. You\u2019ll also see how you can create beautiful, customized visualizations in Python using packages such as Matplotlib and Seaborn. You\u2019ll also learn how to use a core data science tool, Jupyter notebooks, to run and check the output of your code. See more details on the workshop here: https://ep2023.europython.eu/humble-data", "description": "This workshop is aimed at both those with no programming experience, and those with some experience in Python who want to get started in data science, and who want to learn in a supportive, relaxed and empathic environment. \n\nAs part of the workshop, participants will work through a series of approachable tutorials with the help of a mentor. For 3 hours (breaks included) we will have teams that will work together with mentors to do plenty of exercises, quizzes and games, to go from Zero to Hero in Python data science. All that participants will need to bring is a tablet or a laptop with internet access - we will help them get started with the rest!", "recording_license": "", "do_not_record": false, "persons": [{"code": "PXQBU9", "name": "Jodie Burchell", "avatar": "https://programme.europython.eu/media/avatars/PXQBU9_wMHvbcZ.webp", "biography": "Dr. Jodie Burchell is the Developer Advocate in Data Science at JetBrains, and was previously the Lead Data Scientist in audiences generation at Verve Group Europe. After finishing a PhD in Psychology and a postdoc in biostatistics, she has worked in a range of data science and machine learning roles across search improvement, recommendation systems, NLP and programmatic advertising. She is passionate about making Python data science and machine learning accessible for others. She is also a long time content creator in data science, across conference and user group presentations, books, webinars, and blogging.", "public_name": "Jodie Burchell", "guid": "2a76e0db-17d6-577f-ace8-0913ff96f220", "url": "https://programme.europython.eu/europython-2023/speaker/PXQBU9/"}, {"code": "VWGMRU", "name": "Lais Carvalho", "avatar": "https://programme.europython.eu/media/avatars/VWGMRU_HmbLDuU.webp", "biography": "Lais works as a Software Developer at Workday. Her work in the Python community started in 2018 when she joined Python Ireland being the first black female member of the non-profit organisation.\nShe is an experienced DevRel who now advocates for underrepresented minorities in technology. This is her second consecutive year running a HumbleData workshop in person at a EuroPython Conference.\nLais is excited about food, documentation, and communication. Her main core values are courage and kindness.", "public_name": "Lais Carvalho", "guid": "3157cb69-61ad-5eb7-befe-f9465f0f80b2", "url": "https://programme.europython.eu/europython-2023/speaker/VWGMRU/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/BABLES/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/BABLES/", "attachments": []}, {"guid": "53ed8327-2ffa-5093-95bd-c22306dd9814", "code": "73TAHG", "id": 33699, "logo": null, "date": "2023-07-17T13:45:00+02:00", "start": "13:45", "end": "2023-07-17T15:15:00+02:00", "duration": "01:30", "room": "Club C", "slug": "europython-2023-33699-0-women-in-ai-workshop", "url": "https://programme.europython.eu/europython-2023/talk/73TAHG/", "title": "Women in AI Workshop", "subtitle": "", "track": null, "type": "Conference Workshop", "language": "en", "abstract": "", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "QXW3WL", "name": "Nabanita Roy", "avatar": "https://programme.europython.eu/media/avatars/QXW3WL_AgVDden.webp", "biography": "\ud83d\udc69\u200d\ud83d\udcbb Data Scientist @ EY (UK & Irleand) | Education Lead @ Women in AI Ireland | Blogger @ Medium | Speaker & Mentor | \u2764\ufe0f NLP", "public_name": "Nabanita Roy", "guid": "8fecff0d-c890-5ba6-8095-c69f8fad0a9a", "url": "https://programme.europython.eu/europython-2023/speaker/QXW3WL/"}, {"code": "VDC7EH", "name": "Liliya Akhtyamova", "avatar": "https://programme.europython.eu/media/avatars/VDC7EH_HOsqTkV.webp", "biography": "Liliya Akhtyamova has a Ph.D. in NLP & 7+ years of experience in researching & implementing state-of-the-art AI systems. She has authored 10+ research papers & currently works as a Data Scientist / ML Engineer, building Talent Cloud solutions. Member of Women in AI Ireland community. Speaker & mentor.", "public_name": "Liliya Akhtyamova", "guid": "28df64c0-715e-587f-8694-46fe7b5b6216", "url": "https://programme.europython.eu/europython-2023/speaker/VDC7EH/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/73TAHG/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/73TAHG/", "attachments": []}, {"guid": "e469344c-f46b-599b-ab20-27ac4bad0d25", "code": "73TAHG", "id": 33699, "logo": null, "date": "2023-07-17T15:30:00+02:00", "start": "15:30", "end": "2023-07-17T17:00:00+02:00", "duration": "01:30", "room": "Club C", "slug": "europython-2023-33699-1-women-in-ai-workshop", "url": "https://programme.europython.eu/europython-2023/talk/73TAHG/", "title": "Women in AI Workshop", "subtitle": "", "track": null, "type": "Conference Workshop", "language": "en", "abstract": "", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "QXW3WL", "name": "Nabanita Roy", "avatar": "https://programme.europython.eu/media/avatars/QXW3WL_AgVDden.webp", "biography": "\ud83d\udc69\u200d\ud83d\udcbb Data Scientist @ EY (UK & Irleand) | Education Lead @ Women in AI Ireland | Blogger @ Medium | Speaker & Mentor | \u2764\ufe0f NLP", "public_name": "Nabanita Roy", "guid": "8fecff0d-c890-5ba6-8095-c69f8fad0a9a", "url": "https://programme.europython.eu/europython-2023/speaker/QXW3WL/"}, {"code": "VDC7EH", "name": "Liliya Akhtyamova", "avatar": "https://programme.europython.eu/media/avatars/VDC7EH_HOsqTkV.webp", "biography": "Liliya Akhtyamova has a Ph.D. in NLP & 7+ years of experience in researching & implementing state-of-the-art AI systems. She has authored 10+ research papers & currently works as a Data Scientist / ML Engineer, building Talent Cloud solutions. Member of Women in AI Ireland community. Speaker & mentor.", "public_name": "Liliya Akhtyamova", "guid": "28df64c0-715e-587f-8694-46fe7b5b6216", "url": "https://programme.europython.eu/europython-2023/speaker/VDC7EH/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/73TAHG/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/73TAHG/", "attachments": []}], "Club D": [{"guid": "477ab783-8cd2-5fdb-8208-33eb2a860392", "code": "JWTGPG", "id": 33698, "logo": null, "date": "2023-07-17T09:30:00+02:00", "start": "09:30", "end": "2023-07-17T11:00:00+02:00", "duration": "01:30", "room": "Club D", "slug": "europython-2023-33698-0-beginners-day-pyladies-snake-workshop", "url": "https://programme.europython.eu/europython-2023/talk/JWTGPG/", "title": "Beginners' Day - PyLadies Snake Workshop", "subtitle": "", "track": null, "type": "Free Workshop", "language": "en", "abstract": "", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "SCAGQW", "name": "Petr Viktorin", "avatar": "https://programme.europython.eu/media/avatars/SCAGQW_gVfuTj1.webp", "biography": null, "public_name": "Petr Viktorin", "guid": "d4a187dd-5d20-5bc6-92ff-f908c22dd8e9", "url": "https://programme.europython.eu/europython-2023/speaker/SCAGQW/"}, {"code": "Z3AHU3", "name": "Mia Baji\u0107", "avatar": "https://programme.europython.eu/media/avatars/Z3AHU3_8iz30qM.webp", "biography": "Mia Baji\u0107 is a software engineer. She currently works at Ataccama, a Canadian-Czech company, where she contributes to the development of a business intelligence tool that helps users create engaging data stories and explain complex data phenomena. \n\nMia actively contributes to the vibrant tech community in Prague. She serves as a co-organizer of Pyvo, a series of monthly meetups dedicated to bringing together Python enthusiasts, developers, and experts. She also co-organizes PyCon CZ.", "public_name": "Mia Baji\u0107", "guid": "a2ac6bd8-62ff-5236-995b-eba5d82acc24", "url": "https://programme.europython.eu/europython-2023/speaker/Z3AHU3/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/JWTGPG/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/JWTGPG/", "attachments": []}, {"guid": "aa989e3b-4bd3-5251-8859-be9b4e50294e", "code": "JWTGPG", "id": 33698, "logo": null, "date": "2023-07-17T11:15:00+02:00", "start": "11:15", "end": "2023-07-17T12:45:00+02:00", "duration": "01:30", "room": "Club D", "slug": "europython-2023-33698-1-beginners-day-pyladies-snake-workshop", "url": "https://programme.europython.eu/europython-2023/talk/JWTGPG/", "title": "Beginners' Day - PyLadies Snake Workshop", "subtitle": "", "track": null, "type": "Free Workshop", "language": "en", "abstract": "", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "SCAGQW", "name": "Petr Viktorin", "avatar": "https://programme.europython.eu/media/avatars/SCAGQW_gVfuTj1.webp", "biography": null, "public_name": "Petr Viktorin", "guid": "d4a187dd-5d20-5bc6-92ff-f908c22dd8e9", "url": "https://programme.europython.eu/europython-2023/speaker/SCAGQW/"}, {"code": "Z3AHU3", "name": "Mia Baji\u0107", "avatar": "https://programme.europython.eu/media/avatars/Z3AHU3_8iz30qM.webp", "biography": "Mia Baji\u0107 is a software engineer. She currently works at Ataccama, a Canadian-Czech company, where she contributes to the development of a business intelligence tool that helps users create engaging data stories and explain complex data phenomena. \n\nMia actively contributes to the vibrant tech community in Prague. She serves as a co-organizer of Pyvo, a series of monthly meetups dedicated to bringing together Python enthusiasts, developers, and experts. She also co-organizes PyCon CZ.", "public_name": "Mia Baji\u0107", "guid": "a2ac6bd8-62ff-5236-995b-eba5d82acc24", "url": "https://programme.europython.eu/europython-2023/speaker/Z3AHU3/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/JWTGPG/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/JWTGPG/", "attachments": []}, {"guid": "ae552a3e-3eda-52d0-914c-177b9d9336a4", "code": "JWTGPG", "id": 33698, "logo": null, "date": "2023-07-17T13:45:00+02:00", "start": "13:45", "end": "2023-07-17T15:15:00+02:00", "duration": "01:30", "room": "Club D", "slug": "europython-2023-33698-2-beginners-day-pyladies-snake-workshop", "url": "https://programme.europython.eu/europython-2023/talk/JWTGPG/", "title": "Beginners' Day - PyLadies Snake Workshop", "subtitle": "", "track": null, "type": "Free Workshop", "language": "en", "abstract": "", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "SCAGQW", "name": "Petr Viktorin", "avatar": "https://programme.europython.eu/media/avatars/SCAGQW_gVfuTj1.webp", "biography": null, "public_name": "Petr Viktorin", "guid": "d4a187dd-5d20-5bc6-92ff-f908c22dd8e9", "url": "https://programme.europython.eu/europython-2023/speaker/SCAGQW/"}, {"code": "Z3AHU3", "name": "Mia Baji\u0107", "avatar": "https://programme.europython.eu/media/avatars/Z3AHU3_8iz30qM.webp", "biography": "Mia Baji\u0107 is a software engineer. She currently works at Ataccama, a Canadian-Czech company, where she contributes to the development of a business intelligence tool that helps users create engaging data stories and explain complex data phenomena. \n\nMia actively contributes to the vibrant tech community in Prague. She serves as a co-organizer of Pyvo, a series of monthly meetups dedicated to bringing together Python enthusiasts, developers, and experts. She also co-organizes PyCon CZ.", "public_name": "Mia Baji\u0107", "guid": "a2ac6bd8-62ff-5236-995b-eba5d82acc24", "url": "https://programme.europython.eu/europython-2023/speaker/Z3AHU3/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/JWTGPG/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/JWTGPG/", "attachments": []}, {"guid": "3d5e54d3-81e6-5191-8753-f7770e2c8a8d", "code": "JWTGPG", "id": 33698, "logo": null, "date": "2023-07-17T15:30:00+02:00", "start": "15:30", "end": "2023-07-17T17:00:00+02:00", "duration": "01:30", "room": "Club D", "slug": "europython-2023-33698-3-beginners-day-pyladies-snake-workshop", "url": "https://programme.europython.eu/europython-2023/talk/JWTGPG/", "title": "Beginners' Day - PyLadies Snake Workshop", "subtitle": "", "track": null, "type": "Free Workshop", "language": "en", "abstract": "", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "SCAGQW", "name": "Petr Viktorin", "avatar": "https://programme.europython.eu/media/avatars/SCAGQW_gVfuTj1.webp", "biography": null, "public_name": "Petr Viktorin", "guid": "d4a187dd-5d20-5bc6-92ff-f908c22dd8e9", "url": "https://programme.europython.eu/europython-2023/speaker/SCAGQW/"}, {"code": "Z3AHU3", "name": "Mia Baji\u0107", "avatar": "https://programme.europython.eu/media/avatars/Z3AHU3_8iz30qM.webp", "biography": "Mia Baji\u0107 is a software engineer. She currently works at Ataccama, a Canadian-Czech company, where she contributes to the development of a business intelligence tool that helps users create engaging data stories and explain complex data phenomena. \n\nMia actively contributes to the vibrant tech community in Prague. She serves as a co-organizer of Pyvo, a series of monthly meetups dedicated to bringing together Python enthusiasts, developers, and experts. She also co-organizes PyCon CZ.", "public_name": "Mia Baji\u0107", "guid": "a2ac6bd8-62ff-5236-995b-eba5d82acc24", "url": "https://programme.europython.eu/europython-2023/speaker/Z3AHU3/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/JWTGPG/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/JWTGPG/", "attachments": []}]}}, {"index": 2, "date": "2023-07-18", "day_start": "2023-07-18T04:00:00+02:00", "day_end": "2023-07-19T03:59:00+02:00", "rooms": {"Club A": [{"guid": "9db153cc-edab-5faa-8c93-401eb4e4cc17", "code": "3KTQQW", "id": 35574, "logo": null, "date": "2023-07-18T08:30:00+02:00", "start": "08:30", "end": "2023-07-18T09:30:00+02:00", "duration": "01:00", "room": "Club A", "slug": "europython-2023-35574-registration-welcome-forum-hall-foyer-1st-floor", "url": "https://programme.europython.eu/europython-2023/talk/3KTQQW/", "title": "Registration & Welcome @ Forum Hall Foyer 1st Floor", "subtitle": "", "track": null, "type": "Announcements", "language": "en", "abstract": "Welcome to EuroPython 2023! You can pick up your badges at any time during the week as long as we are open! If you want to avoid the morning rush on Wednesday, come on Monday and Tuesday!\n\nQueues will be sorted by your **first name** on your ticket. Your ticket can be located via your order confirmation email (from support@pretix.eu with the Subject: Your order: XXXX). If you ordered your ticket after we've sent badges for printing (after 10 July), go directly to the Info Desk (also referred as Debugging Desk) and a volunteer will help!", "description": "", "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/3KTQQW/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/3KTQQW/", "attachments": []}, {"guid": "d5405d83-cf61-5959-b5e2-03e46272a100", "code": "FGWHPW", "id": 29497, "logo": null, "date": "2023-07-18T09:30:00+02:00", "start": "09:30", "end": "2023-07-18T11:00:00+02:00", "duration": "01:30", "room": "Club A", "slug": "europython-2023-29497-0-gathering-data-from-the-web-using-python", "url": "https://programme.europython.eu/europython-2023/talk/FGWHPW/", "title": "Gathering data from the web using Python", "subtitle": "", "track": "Python Libraries (2023)", "type": "Tutorial", "language": "en", "abstract": "Information is abundant and readily available on the internet. However, the sheer amount of data can be overwhelming and time-consuming to navigate through. That's where web scraping comes in - a powerful tool used to extract data from websites and turn it into a usable format.\n\nIn this tutorial, we will explore the basics of web scraping and how to implement it using Scrapy (a Python framework). Whether you are a data analyst, programmer, or researcher, this tutorial will equip you with the fundamental skills needed to create your own web scraper and extract valuable information from websites.", "description": "During the tutorial, we will learn concepts of web scraping doing some exercises against a fake website with challenges that are very similar to the ones we will find in real websites using Scrapy, a Python framework designed for web scraping tasks.\n\n**To better follow the tutorial, it would be good to install Scrapy in your machine**. More information at https://github.com/rennerocha/europython-2023-gathering-data-tutorial#before-the-tutorial\n\n1. (presentation) Web scraping fundamentals\n   - What is web scraping, why we want to do web scraping and real use cases for web scraping\n\n2. (presentation) Scrapy basic concepts\n   - What is Scrapy, what its advantages over other tools, its basic classes (Spider, Request, Response, parses) and how to create a very simple web crawler\n\n3. (presentation + exercise) Scraping a basic HTML page \n   - Gathering data from http://quotes.toscrape.com/, a plain well-structure HTML page\n\n4. (presentation  exercise) Scraping Javascript generated content (external API)\n   - Gathering data from http://quotes.toscrape.com/scroll, where the data is gathered from an API call\n\n5. (presentation + exercise) Scraping Javascript generated content (data into HTML)\n   - Gathering data from http://quotes.toscrape.com/js/, where the data to be gathered is located inside the HTML code, but processed by Javascript\n   \n6. (presentation + exercise) Scraping page with forms and ViewState\n  - Gathering data from http://quotes.toscrape.com/search.aspx, where we need to handle forms submission and ViewStates\n \n7. (presentation) Proxies and headless browsers\n   - When simple requests are not enough, what other tools we have to proceed\n\n8. (presentation) Being polite and not gathering data you shouldn't gather\n   - How to avoid interfering in your target website and some restrictions about what data you can and you can't gather", "recording_license": "", "do_not_record": false, "persons": [{"code": "PRVT8J", "name": "Renne Rocha", "avatar": "https://programme.europython.eu/media/avatars/PRVT8J_uI7Oh75.webp", "biography": "[Renne Rocha](https://chaos.social/@rennerocha) is a Senior Python Developer at Six Feet Up. Graduated in Electrical Engineering, he has worked with development for over 10 years (most of his career using Python). He has already presented several talks at Python conferences throughout Brazil. He is co-founder of Laborat\u00f3rio Hacker de Campinas, one of the first hackerspaces in Brazil. He is a woodworker (in training) and a homebrewer in his spare time.", "public_name": "Renne Rocha", "guid": "8aaa3d76-77c4-558b-b0f6-1746dbdaad14", "url": "https://programme.europython.eu/europython-2023/speaker/PRVT8J/"}], "links": [{"title": "Slides and Code Samples of the Tutorial", "url": "https://github.com/rennerocha/europython-2023-gathering-data-tutorial", "type": "related"}], "feedback_url": "https://programme.europython.eu/europython-2023/talk/FGWHPW/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/FGWHPW/", "attachments": []}, {"guid": "3789c285-14e8-58db-894e-d3591004143b", "code": "FGWHPW", "id": 29497, "logo": null, "date": "2023-07-18T11:15:00+02:00", "start": "11:15", "end": "2023-07-18T12:45:00+02:00", "duration": "01:30", "room": "Club A", "slug": "europython-2023-29497-1-gathering-data-from-the-web-using-python", "url": "https://programme.europython.eu/europython-2023/talk/FGWHPW/", "title": "Gathering data from the web using Python", "subtitle": "", "track": "Python Libraries (2023)", "type": "Tutorial", "language": "en", "abstract": "Information is abundant and readily available on the internet. However, the sheer amount of data can be overwhelming and time-consuming to navigate through. That's where web scraping comes in - a powerful tool used to extract data from websites and turn it into a usable format.\n\nIn this tutorial, we will explore the basics of web scraping and how to implement it using Scrapy (a Python framework). Whether you are a data analyst, programmer, or researcher, this tutorial will equip you with the fundamental skills needed to create your own web scraper and extract valuable information from websites.", "description": "During the tutorial, we will learn concepts of web scraping doing some exercises against a fake website with challenges that are very similar to the ones we will find in real websites using Scrapy, a Python framework designed for web scraping tasks.\n\n**To better follow the tutorial, it would be good to install Scrapy in your machine**. More information at https://github.com/rennerocha/europython-2023-gathering-data-tutorial#before-the-tutorial\n\n1. (presentation) Web scraping fundamentals\n   - What is web scraping, why we want to do web scraping and real use cases for web scraping\n\n2. (presentation) Scrapy basic concepts\n   - What is Scrapy, what its advantages over other tools, its basic classes (Spider, Request, Response, parses) and how to create a very simple web crawler\n\n3. (presentation + exercise) Scraping a basic HTML page \n   - Gathering data from http://quotes.toscrape.com/, a plain well-structure HTML page\n\n4. (presentation  exercise) Scraping Javascript generated content (external API)\n   - Gathering data from http://quotes.toscrape.com/scroll, where the data is gathered from an API call\n\n5. (presentation + exercise) Scraping Javascript generated content (data into HTML)\n   - Gathering data from http://quotes.toscrape.com/js/, where the data to be gathered is located inside the HTML code, but processed by Javascript\n   \n6. (presentation + exercise) Scraping page with forms and ViewState\n  - Gathering data from http://quotes.toscrape.com/search.aspx, where we need to handle forms submission and ViewStates\n \n7. (presentation) Proxies and headless browsers\n   - When simple requests are not enough, what other tools we have to proceed\n\n8. (presentation) Being polite and not gathering data you shouldn't gather\n   - How to avoid interfering in your target website and some restrictions about what data you can and you can't gather", "recording_license": "", "do_not_record": false, "persons": [{"code": "PRVT8J", "name": "Renne Rocha", "avatar": "https://programme.europython.eu/media/avatars/PRVT8J_uI7Oh75.webp", "biography": "[Renne Rocha](https://chaos.social/@rennerocha) is a Senior Python Developer at Six Feet Up. Graduated in Electrical Engineering, he has worked with development for over 10 years (most of his career using Python). He has already presented several talks at Python conferences throughout Brazil. He is co-founder of Laborat\u00f3rio Hacker de Campinas, one of the first hackerspaces in Brazil. He is a woodworker (in training) and a homebrewer in his spare time.", "public_name": "Renne Rocha", "guid": "8aaa3d76-77c4-558b-b0f6-1746dbdaad14", "url": "https://programme.europython.eu/europython-2023/speaker/PRVT8J/"}], "links": [{"title": "Slides and Code Samples of the Tutorial", "url": "https://github.com/rennerocha/europython-2023-gathering-data-tutorial", "type": "related"}], "feedback_url": "https://programme.europython.eu/europython-2023/talk/FGWHPW/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/FGWHPW/", "attachments": []}, {"guid": "28c691ff-8186-59ea-b222-10ba9923d710", "code": "WB7ALT", "id": 29261, "logo": null, "date": "2023-07-18T13:45:00+02:00", "start": "13:45", "end": "2023-07-18T15:15:00+02:00", "duration": "01:30", "room": "Club A", "slug": "europython-2023-29261-0-kubernetes-3-python-deploy-python-apps-extend-kubernetes-with-python", "url": "https://programme.europython.eu/europython-2023/talk/WB7ALT/", "title": "Kubernetes <3 Python - Deploy Python apps & extend Kubernetes with Python", "subtitle": "", "track": "Infrastructure: Cloud & Hardware (2023)", "type": "Tutorial", "language": "en", "abstract": "You don't have to be an Ops expert to make Kubernetes useful! In this workshop, you will learn how to overcome complexity, and love Kubernetes as a Platform to deploy a Python web application or your data science and machine learning pipelines. You will learn how and when to use basic elements of Kubernetes like Deployments and Stateful Sets.\n\nOnce you understand these basic elements, you will learn how to extend Kubernetes using Python.\nYou will learn how to define custom resources and controllers to automate all things related to your applications' life cycle, from ETL through sending email for password reset to where your imagination stops.\n\nIn the end of this workshop, you will have deployed a python web application and successfully extend Kubernetes with so-called operators to manage the complete life-cycle of your application.", "description": "Why you need this workshop?\n\nKubernetes is a platform for running applications on one or more computer. It provides a command line and a set of APIs to provision applications, virtual machines and even a complete cloud infrastructure.\nIn this workshop, you will learn why Kubernetes is a great platform to host your applications or run your data pipeline consistently - whether you run on a single Raspberry Pi or tens of Virtual machines in the public cloud.\n\nWhat will you do in this workshop?\n\n1. You will see that deploying Kubernetes isn't hard. You can use a single node or a cluster. Furthermore, you will learn the differences and trade-off between managed Kubernetes and DIY approach.\n\n2. After a basic introduction to Kubernetes, you will learn to deploy and run a web application written in Python using a Kubernetes deployment and store data in a data using a Stateful Set. You will learn how to define these resources using YAML manifests and learn to use a pure Python alternative to create these manifests.\n\n3. Finally, you will learn how you can extend Kubernetes to more than just serving a web application to almost anything you want, using so-called Kubernetes Operators. To do this, you will create a Kubernetes \"extension\". You first learn how to store your own data inside Kubernetes, using Custom Resources. Once you define your own custom definitions, you will learn how to create a controller that interacts with this data and other objects in your Kubernetes.\n\nThe ultimate goal of this training:\n\nBy the end of this workshop, you will know how to deploy a Python application, and you will be able to extend Kubernetes using operators written also in Python.", "recording_license": "", "do_not_record": false, "persons": [{"code": "MATUWK", "name": "Oz Tiram", "avatar": "https://programme.europython.eu/media/avatars/MATUWK_CGw7M4k.webp", "biography": "I started using Python for analysing geospatial data and fell in love with it. Since graduating with a Master of Applied Geology from the University of T\u00fcbingen, I worked in the Software Industry, in roles doing System Engineering, automation, DevOps and backend development using mostly Python.\nCurrently, I work as a software engineer for Spectro Cloud. \nIn my free time, I maintain a few open-source Projects written in Python, the most notable one is Pipenv.", "public_name": "Oz Tiram", "guid": "c487f419-c4e4-53b5-8657-a76b7119d32b", "url": "https://programme.europython.eu/europython-2023/speaker/MATUWK/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/WB7ALT/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/WB7ALT/", "attachments": [{"title": "Workshop notes", "url": "/media/europython-2023/submissions/WB7ALT/resources/K8s_Workshop_Europython_erv3Kr9.pdf", "type": "related"}]}, {"guid": "56f4f562-abe7-5647-a399-06d6a2646c33", "code": "WB7ALT", "id": 29261, "logo": null, "date": "2023-07-18T15:30:00+02:00", "start": "15:30", "end": "2023-07-18T17:00:00+02:00", "duration": "01:30", "room": "Club A", "slug": "europython-2023-29261-1-kubernetes-3-python-deploy-python-apps-extend-kubernetes-with-python", "url": "https://programme.europython.eu/europython-2023/talk/WB7ALT/", "title": "Kubernetes <3 Python - Deploy Python apps & extend Kubernetes with Python", "subtitle": "", "track": "Infrastructure: Cloud & Hardware (2023)", "type": "Tutorial", "language": "en", "abstract": "You don't have to be an Ops expert to make Kubernetes useful! In this workshop, you will learn how to overcome complexity, and love Kubernetes as a Platform to deploy a Python web application or your data science and machine learning pipelines. You will learn how and when to use basic elements of Kubernetes like Deployments and Stateful Sets.\n\nOnce you understand these basic elements, you will learn how to extend Kubernetes using Python.\nYou will learn how to define custom resources and controllers to automate all things related to your applications' life cycle, from ETL through sending email for password reset to where your imagination stops.\n\nIn the end of this workshop, you will have deployed a python web application and successfully extend Kubernetes with so-called operators to manage the complete life-cycle of your application.", "description": "Why you need this workshop?\n\nKubernetes is a platform for running applications on one or more computer. It provides a command line and a set of APIs to provision applications, virtual machines and even a complete cloud infrastructure.\nIn this workshop, you will learn why Kubernetes is a great platform to host your applications or run your data pipeline consistently - whether you run on a single Raspberry Pi or tens of Virtual machines in the public cloud.\n\nWhat will you do in this workshop?\n\n1. You will see that deploying Kubernetes isn't hard. You can use a single node or a cluster. Furthermore, you will learn the differences and trade-off between managed Kubernetes and DIY approach.\n\n2. After a basic introduction to Kubernetes, you will learn to deploy and run a web application written in Python using a Kubernetes deployment and store data in a data using a Stateful Set. You will learn how to define these resources using YAML manifests and learn to use a pure Python alternative to create these manifests.\n\n3. Finally, you will learn how you can extend Kubernetes to more than just serving a web application to almost anything you want, using so-called Kubernetes Operators. To do this, you will create a Kubernetes \"extension\". You first learn how to store your own data inside Kubernetes, using Custom Resources. Once you define your own custom definitions, you will learn how to create a controller that interacts with this data and other objects in your Kubernetes.\n\nThe ultimate goal of this training:\n\nBy the end of this workshop, you will know how to deploy a Python application, and you will be able to extend Kubernetes using operators written also in Python.", "recording_license": "", "do_not_record": false, "persons": [{"code": "MATUWK", "name": "Oz Tiram", "avatar": "https://programme.europython.eu/media/avatars/MATUWK_CGw7M4k.webp", "biography": "I started using Python for analysing geospatial data and fell in love with it. Since graduating with a Master of Applied Geology from the University of T\u00fcbingen, I worked in the Software Industry, in roles doing System Engineering, automation, DevOps and backend development using mostly Python.\nCurrently, I work as a software engineer for Spectro Cloud. \nIn my free time, I maintain a few open-source Projects written in Python, the most notable one is Pipenv.", "public_name": "Oz Tiram", "guid": "c487f419-c4e4-53b5-8657-a76b7119d32b", "url": "https://programme.europython.eu/europython-2023/speaker/MATUWK/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/WB7ALT/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/WB7ALT/", "attachments": [{"title": "Workshop notes", "url": "/media/europython-2023/submissions/WB7ALT/resources/K8s_Workshop_Europython_erv3Kr9.pdf", "type": "related"}]}], "Club E": [{"guid": "eb348d30-a140-58fb-86ba-a21a831a7404", "code": "3HR8HZ", "id": 29891, "logo": null, "date": "2023-07-18T09:30:00+02:00", "start": "09:30", "end": "2023-07-18T11:00:00+02:00", "duration": "01:30", "room": "Club E", "slug": "europython-2023-29891-0-practical-tools-for-documentation-at-scale", "url": "https://programme.europython.eu/europython-2023/talk/3HR8HZ/", "title": "Practical tools for documentation at scale", "subtitle": "", "track": "Software Engineering & Architecture (2023)", "type": "Tutorial", "language": "en", "abstract": "In a hands-on workshop I'll introduce some of the tools and methods I have developed to improve documentation consistently and effectively, at scale - by a thousand people or more, working on a hundred or so software products and other projects.", "description": "At Canonical, I lead documentation practice - the way we, as an organisation, do documentation. That means establishing a shared understanding of standards, and how to reach them. \n\nTo help do this I have developed a number of tools and methods to help all of us understand our progress and achieve it faster.\n\nIn this hands-on workshop I will introduce some of them, and help you start to adapt them to your own needs.\n\nI hope that this workshop will be of value to anyone working in an engineering organisation where documentation discipline and success seems harder to obtain than it should be.", "recording_license": "", "do_not_record": false, "persons": [{"code": "YNNEGJ", "name": "Daniele Procida", "avatar": "https://programme.europython.eu/media/avatars/YNNEGJ_zVQwMAG.webp", "biography": "I am a Director of Engineering at Canonical, where I lead documentation practice. I enjoy helping organise community conferences for Python and Django, and helping people and open-source projects improve their documentation.\n\nI am the author of the [Di\u00e1taxis documentation framework](https://diataxis.fr), and unless I commit a noteworthy crime I expect that is what I will be best known for.", "public_name": "Daniele Procida", "guid": "f42ac11e-8f8a-53a9-ba25-74938d892ddd", "url": "https://programme.europython.eu/europython-2023/speaker/YNNEGJ/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/3HR8HZ/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/3HR8HZ/", "attachments": []}, {"guid": "d7bee122-1bc4-593f-b031-f2d303a559be", "code": "3HR8HZ", "id": 29891, "logo": null, "date": "2023-07-18T11:15:00+02:00", "start": "11:15", "end": "2023-07-18T12:45:00+02:00", "duration": "01:30", "room": "Club E", "slug": "europython-2023-29891-1-practical-tools-for-documentation-at-scale", "url": "https://programme.europython.eu/europython-2023/talk/3HR8HZ/", "title": "Practical tools for documentation at scale", "subtitle": "", "track": "Software Engineering & Architecture (2023)", "type": "Tutorial", "language": "en", "abstract": "In a hands-on workshop I'll introduce some of the tools and methods I have developed to improve documentation consistently and effectively, at scale - by a thousand people or more, working on a hundred or so software products and other projects.", "description": "At Canonical, I lead documentation practice - the way we, as an organisation, do documentation. That means establishing a shared understanding of standards, and how to reach them. \n\nTo help do this I have developed a number of tools and methods to help all of us understand our progress and achieve it faster.\n\nIn this hands-on workshop I will introduce some of them, and help you start to adapt them to your own needs.\n\nI hope that this workshop will be of value to anyone working in an engineering organisation where documentation discipline and success seems harder to obtain than it should be.", "recording_license": "", "do_not_record": false, "persons": [{"code": "YNNEGJ", "name": "Daniele Procida", "avatar": "https://programme.europython.eu/media/avatars/YNNEGJ_zVQwMAG.webp", "biography": "I am a Director of Engineering at Canonical, where I lead documentation practice. I enjoy helping organise community conferences for Python and Django, and helping people and open-source projects improve their documentation.\n\nI am the author of the [Di\u00e1taxis documentation framework](https://diataxis.fr), and unless I commit a noteworthy crime I expect that is what I will be best known for.", "public_name": "Daniele Procida", "guid": "f42ac11e-8f8a-53a9-ba25-74938d892ddd", "url": "https://programme.europython.eu/europython-2023/speaker/YNNEGJ/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/3HR8HZ/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/3HR8HZ/", "attachments": []}, {"guid": "5374aaac-4c0f-5d95-86fc-8a0a0e4d033b", "code": "TGRMDT", "id": 29310, "logo": null, "date": "2023-07-18T13:45:00+02:00", "start": "13:45", "end": "2023-07-18T15:15:00+02:00", "duration": "01:30", "room": "Club E", "slug": "europython-2023-29310-0-pytest-tips-and-tricks-for-a-better-testsuite", "url": "https://programme.europython.eu/europython-2023/talk/TGRMDT/", "title": "pytest tips and tricks for a better testsuite", "subtitle": "", "track": "Testing (2023)", "type": "Tutorial", "language": "en", "abstract": "pytest lets you write simple tests fast - but also scales to very complex scenarios: Beyond the basics of no-boilerplate test functions, this training will show various intermediate/advanced features, as well as gems and tricks.\n\nTo attend this training, you should already be familiar with the pytest basics (e.g. writing test functions, parametrize, or what a fixture is) and want to learn how to take the next step to improve your test suites.\n\nIf you're already familiar with things like fixture caching scopes, autouse, or using the built-in tmp_path/monkeypatch/... fixtures: There will probably be some slides about concepts you already know, but there are also various little hidden tricks and gems I'll be showing.", "description": "We'll cover things like:\n\n- Recommended pytest settings for more strictness\n- What's xfail and why is it useful?\n- How to mark an entire test file or single parameters\n- Ways to deal with parametrize IDs and syntax\n- Useful built-in pytest fixtures\n- Caching for fixtures\n- Using fixtures implicitly\n- Advanced fixture and parametrization topics\n- How to customize fixtures behavior based on markers or custom CLI arguments\n- Patching, mocking, and alternatives\n- Various useful plugins, and how to write your own\n- Short intro to property-based testing with Hypothesis", "recording_license": "", "do_not_record": false, "persons": [{"code": "HZMBBH", "name": "Freya Bruhin", "avatar": "https://programme.europython.eu/media/avatars/HZMBBH_VpC8XqN.webp", "biography": "[Florian Bruhin](https://bruhin.software/) (\"The Compiler\") is a long-time\ncontributor and maintainer of both the [pytest](https://www.pytest.org/)\nframework and various plugins. In 2013, he started the\n[qutebrowser](https://www.qutebrowser.org) project, a keyboard-focused web\nbrowser based on Python and Qt. In 2015, he discovered pytest - since then, he\nhas given talks and conducted workshops about pytest at various conferences and\ncompanies.", "public_name": "Freya Bruhin", "guid": "26f4f4a7-7eda-51a8-8577-e54f4a2768dc", "url": "https://programme.europython.eu/europython-2023/speaker/HZMBBH/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/TGRMDT/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/TGRMDT/", "attachments": []}, {"guid": "f813cb04-b2e8-55d8-85da-85147edb187e", "code": "TGRMDT", "id": 29310, "logo": null, "date": "2023-07-18T15:30:00+02:00", "start": "15:30", "end": "2023-07-18T17:00:00+02:00", "duration": "01:30", "room": "Club E", "slug": "europython-2023-29310-1-pytest-tips-and-tricks-for-a-better-testsuite", "url": "https://programme.europython.eu/europython-2023/talk/TGRMDT/", "title": "pytest tips and tricks for a better testsuite", "subtitle": "", "track": "Testing (2023)", "type": "Tutorial", "language": "en", "abstract": "pytest lets you write simple tests fast - but also scales to very complex scenarios: Beyond the basics of no-boilerplate test functions, this training will show various intermediate/advanced features, as well as gems and tricks.\n\nTo attend this training, you should already be familiar with the pytest basics (e.g. writing test functions, parametrize, or what a fixture is) and want to learn how to take the next step to improve your test suites.\n\nIf you're already familiar with things like fixture caching scopes, autouse, or using the built-in tmp_path/monkeypatch/... fixtures: There will probably be some slides about concepts you already know, but there are also various little hidden tricks and gems I'll be showing.", "description": "We'll cover things like:\n\n- Recommended pytest settings for more strictness\n- What's xfail and why is it useful?\n- How to mark an entire test file or single parameters\n- Ways to deal with parametrize IDs and syntax\n- Useful built-in pytest fixtures\n- Caching for fixtures\n- Using fixtures implicitly\n- Advanced fixture and parametrization topics\n- How to customize fixtures behavior based on markers or custom CLI arguments\n- Patching, mocking, and alternatives\n- Various useful plugins, and how to write your own\n- Short intro to property-based testing with Hypothesis", "recording_license": "", "do_not_record": false, "persons": [{"code": "HZMBBH", "name": "Freya Bruhin", "avatar": "https://programme.europython.eu/media/avatars/HZMBBH_VpC8XqN.webp", "biography": "[Florian Bruhin](https://bruhin.software/) (\"The Compiler\") is a long-time\ncontributor and maintainer of both the [pytest](https://www.pytest.org/)\nframework and various plugins. In 2013, he started the\n[qutebrowser](https://www.qutebrowser.org) project, a keyboard-focused web\nbrowser based on Python and Qt. In 2015, he discovered pytest - since then, he\nhas given talks and conducted workshops about pytest at various conferences and\ncompanies.", "public_name": "Freya Bruhin", "guid": "26f4f4a7-7eda-51a8-8577-e54f4a2768dc", "url": "https://programme.europython.eu/europython-2023/speaker/HZMBBH/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/TGRMDT/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/TGRMDT/", "attachments": []}], "Club H": [{"guid": "67476a07-8791-5085-9b66-a10dcd17fe3f", "code": "PZQHFU", "id": 29607, "logo": null, "date": "2023-07-18T09:30:00+02:00", "start": "09:30", "end": "2023-07-18T11:00:00+02:00", "duration": "01:30", "room": "Club H", "slug": "europython-2023-29607-0-develop-your-python-cloud-applications-offline-with-localstack", "url": "https://programme.europython.eu/europython-2023/talk/PZQHFU/", "title": "Develop your Python cloud applications offline with LocalStack", "subtitle": "", "track": "Software Engineering & Architecture (2023)", "type": "Tutorial", "language": "en", "abstract": "This tutorial provides a hands-on introduction to LocalStack - the leading platform to develop and test cloud applications entirely on your local machine!\n\nLocalStack provides a set of 70+ AWS services, running in a local Docker container. The hugely popular open source project (46k+ Github stars, 130+ million downloads) is today considered a \u201cmust-have\u201d in the toolbox of every AWS cloud developer around the globe.\n\nOutline:\n(1) Intro to AWS cloud development with Python\n(2) Developing Python cloud apps with LocalStack\n(3) Advanced integrations for IaC and CI/CD pipelines\n(4) Python internals & advanced features in LocalStack\n(5) Summary and wrap-up\n\nThis interactive session covers live coding to showcase common use cases, settings for local debugging of Lambdas and containerized apps, as well as advanced features that can radically improve team collaboration. We'll also glance over the large ecosystem of tools & integrations - including Terraform, Pulumi, CDK, Serverless.", "description": "In this tutorial, we provide a hands-on introduction to LocalStack - the leading community platform that allows you to develop and test cloud&serverless applications entirely on your local machine, without ever having to connect to the real cloud!\n\nLocalStack is the leading AWS cloud emulator that provides a set of 70+ AWS services, running in a Docker container entirely on your local machine. Being a hugely popular open source project, LocalStack is among the top ~150 all-time repositories ranked on Github (46k+ stars), has been downloaded over 130+ million times, and is today considered a \u201cmust-have\u201d in the toolbox of every AWS cloud developer around the globe.\n\nThis tutorial is designed to follow along on participants\u2019 own laptops. There are no special requirements - literally the only prerequisite is having Python 3.x and Docker installed on the local machine. We are going to develop AWS applications, but since LocalStack runs entirely on the local machine without ever talking to the real cloud, *no* cloud access credentials are required to follow the tutorial.\n\nThe tutorial is structured as follows:\n(1) Intro to AWS cloud development with Python (0:00-0:30h)\n(2) Developing Python cloud apps with LocalStack (0:30-1:30h)\n(3) Advanced integrations for IaC and CI/CD pipelines (1:30-2:15h)\n(4) Python internals and advanced team collaboration features in LocalStack (2:15-2:45h)\n(5) Summary and wrap-up (2:45-3:00h)\n\nThe session covers interactive live coding to showcase common scenarios and use cases, different settings for local debugging of Lambdas and containerized apps (e.g., ECS/EKS), as well as some advanced new features that can radically improve productivity and team collaboration patterns. We will also glance over the large ecosystem of tools that LocalStack natively integrates with - from IaC frameworks like Terraform or Pulumi, to application frameworks like Serverless, to a whole suite of tools in the AWS ecosystem, including CDK, SAM, Copilot, Chalice, etc.", "recording_license": "", "do_not_record": false, "persons": [{"code": "DP8DBG", "name": "Waldemar Hummer", "avatar": "https://programme.europython.eu/media/avatars/DP8DBG_8jzNF5I.webp", "biography": "Waldemar is co-founder and CTO of LocalStack, where he and his team are building the world-leading platform for local cloud development, based on the hugely popular open source framework with 46k+ stars on Github. Prior to founding LocalStack, Waldemar has held several engineering and management roles at startups as well as large international companies, including Atlassian (Sydney), IBM (New York), and Zurich Insurance. He holds a PhD in Computer Science from TU Vienna.", "public_name": "Waldemar Hummer", "guid": "1149d393-06e4-5289-ba08-7ecba0e6fea0", "url": "https://programme.europython.eu/europython-2023/speaker/DP8DBG/"}, {"code": "7ESZPJ", "name": "Thomas Rausch", "avatar": "https://programme.europython.eu/media/avatars/7ESZPJ_VpSmavR.webp", "biography": "Thomas is co-founder of LocalStack, the company behind the popular cloud emulator, where he leads the efforts to scale both the code base and the engineering team. He holds a PhD in Computer Science from TU Wien where he was a researcher and lecturer at the Distributed Systems Group. He's been in a variety of engineering roles over the past 15 years. A tinkerer at heart, he's contributed to many open source projects with a focus on Java, Python, and Go projects.", "public_name": "Thomas Rausch", "guid": "1c80c05b-26fa-545d-a0b1-539e604fd14a", "url": "https://programme.europython.eu/europython-2023/speaker/7ESZPJ/"}, {"code": "Q9GQKB", "name": "Alex Rashed", "avatar": "https://programme.europython.eu/media/avatars/Q9GQKB_p2gzolV.webp", "biography": "Alex is a senior engineer at LocalStack, the company behind the popular cloud emulator of the same name, where he is working on the core cloud emulation layer. He\u2019s passionate about development efficiency and the open-source movement, and has contributed to several open-source projects.", "public_name": "Alex Rashed", "guid": "e94e9d66-3424-5e43-bbfd-1dcfbc6bc54a", "url": "https://programme.europython.eu/europython-2023/speaker/Q9GQKB/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/PZQHFU/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/PZQHFU/", "attachments": []}, {"guid": "c0e6f346-abc9-5fb4-95a9-b7f6bca5d3b3", "code": "PZQHFU", "id": 29607, "logo": null, "date": "2023-07-18T11:15:00+02:00", "start": "11:15", "end": "2023-07-18T12:45:00+02:00", "duration": "01:30", "room": "Club H", "slug": "europython-2023-29607-1-develop-your-python-cloud-applications-offline-with-localstack", "url": "https://programme.europython.eu/europython-2023/talk/PZQHFU/", "title": "Develop your Python cloud applications offline with LocalStack", "subtitle": "", "track": "Software Engineering & Architecture (2023)", "type": "Tutorial", "language": "en", "abstract": "This tutorial provides a hands-on introduction to LocalStack - the leading platform to develop and test cloud applications entirely on your local machine!\n\nLocalStack provides a set of 70+ AWS services, running in a local Docker container. The hugely popular open source project (46k+ Github stars, 130+ million downloads) is today considered a \u201cmust-have\u201d in the toolbox of every AWS cloud developer around the globe.\n\nOutline:\n(1) Intro to AWS cloud development with Python\n(2) Developing Python cloud apps with LocalStack\n(3) Advanced integrations for IaC and CI/CD pipelines\n(4) Python internals & advanced features in LocalStack\n(5) Summary and wrap-up\n\nThis interactive session covers live coding to showcase common use cases, settings for local debugging of Lambdas and containerized apps, as well as advanced features that can radically improve team collaboration. We'll also glance over the large ecosystem of tools & integrations - including Terraform, Pulumi, CDK, Serverless.", "description": "In this tutorial, we provide a hands-on introduction to LocalStack - the leading community platform that allows you to develop and test cloud&serverless applications entirely on your local machine, without ever having to connect to the real cloud!\n\nLocalStack is the leading AWS cloud emulator that provides a set of 70+ AWS services, running in a Docker container entirely on your local machine. Being a hugely popular open source project, LocalStack is among the top ~150 all-time repositories ranked on Github (46k+ stars), has been downloaded over 130+ million times, and is today considered a \u201cmust-have\u201d in the toolbox of every AWS cloud developer around the globe.\n\nThis tutorial is designed to follow along on participants\u2019 own laptops. There are no special requirements - literally the only prerequisite is having Python 3.x and Docker installed on the local machine. We are going to develop AWS applications, but since LocalStack runs entirely on the local machine without ever talking to the real cloud, *no* cloud access credentials are required to follow the tutorial.\n\nThe tutorial is structured as follows:\n(1) Intro to AWS cloud development with Python (0:00-0:30h)\n(2) Developing Python cloud apps with LocalStack (0:30-1:30h)\n(3) Advanced integrations for IaC and CI/CD pipelines (1:30-2:15h)\n(4) Python internals and advanced team collaboration features in LocalStack (2:15-2:45h)\n(5) Summary and wrap-up (2:45-3:00h)\n\nThe session covers interactive live coding to showcase common scenarios and use cases, different settings for local debugging of Lambdas and containerized apps (e.g., ECS/EKS), as well as some advanced new features that can radically improve productivity and team collaboration patterns. We will also glance over the large ecosystem of tools that LocalStack natively integrates with - from IaC frameworks like Terraform or Pulumi, to application frameworks like Serverless, to a whole suite of tools in the AWS ecosystem, including CDK, SAM, Copilot, Chalice, etc.", "recording_license": "", "do_not_record": false, "persons": [{"code": "DP8DBG", "name": "Waldemar Hummer", "avatar": "https://programme.europython.eu/media/avatars/DP8DBG_8jzNF5I.webp", "biography": "Waldemar is co-founder and CTO of LocalStack, where he and his team are building the world-leading platform for local cloud development, based on the hugely popular open source framework with 46k+ stars on Github. Prior to founding LocalStack, Waldemar has held several engineering and management roles at startups as well as large international companies, including Atlassian (Sydney), IBM (New York), and Zurich Insurance. He holds a PhD in Computer Science from TU Vienna.", "public_name": "Waldemar Hummer", "guid": "1149d393-06e4-5289-ba08-7ecba0e6fea0", "url": "https://programme.europython.eu/europython-2023/speaker/DP8DBG/"}, {"code": "7ESZPJ", "name": "Thomas Rausch", "avatar": "https://programme.europython.eu/media/avatars/7ESZPJ_VpSmavR.webp", "biography": "Thomas is co-founder of LocalStack, the company behind the popular cloud emulator, where he leads the efforts to scale both the code base and the engineering team. He holds a PhD in Computer Science from TU Wien where he was a researcher and lecturer at the Distributed Systems Group. He's been in a variety of engineering roles over the past 15 years. A tinkerer at heart, he's contributed to many open source projects with a focus on Java, Python, and Go projects.", "public_name": "Thomas Rausch", "guid": "1c80c05b-26fa-545d-a0b1-539e604fd14a", "url": "https://programme.europython.eu/europython-2023/speaker/7ESZPJ/"}, {"code": "Q9GQKB", "name": "Alex Rashed", "avatar": "https://programme.europython.eu/media/avatars/Q9GQKB_p2gzolV.webp", "biography": "Alex is a senior engineer at LocalStack, the company behind the popular cloud emulator of the same name, where he is working on the core cloud emulation layer. He\u2019s passionate about development efficiency and the open-source movement, and has contributed to several open-source projects.", "public_name": "Alex Rashed", "guid": "e94e9d66-3424-5e43-bbfd-1dcfbc6bc54a", "url": "https://programme.europython.eu/europython-2023/speaker/Q9GQKB/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/PZQHFU/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/PZQHFU/", "attachments": []}, {"guid": "65a029e3-9876-5a58-bf77-a3a65d3797b5", "code": "AEAPDB", "id": 35393, "logo": null, "date": "2023-07-18T13:45:00+02:00", "start": "13:45", "end": "2023-07-18T15:15:00+02:00", "duration": "01:30", "room": "Club H", "slug": "europython-2023-35393-0-robust-data-transformation-with-pandas-typing-validation-testing", "url": "https://programme.europython.eu/europython-2023/talk/AEAPDB/", "title": "Robust Data Transformation with Pandas: Typing, Validation, Testing", "subtitle": "", "track": null, "type": "Tutorial", "language": "en", "abstract": "We will explore possibilities for making our data analyses and transformations in Pandas robust and production ready. We will see how advanced group-by, resample or rolling aggregations work on large time series weather data. (As a bonus, you will learn about Prague climate.) We will use type annotations and schema validations with the Pandera library to make our code more readable and robust. We will also show the potential of property-based testing using the Hypothesis package, with strategies generated from Pandera schemas. We will show how to avoid issues with time zones when working with time series data. By the end of the tutorial, you will have a deeper understanding of advanced Pandas aggregations and be able to write robust, production ready Pandas code.", "description": "## Instructions\n\nBefore attending the workshop, it's important to prepare your environment by following the **instructions in the repository located at https://github.com/coobas/robust-pandas-workshop**. This will ensure that you have all the necessary tools and dependencies installed to participate in the workshop.\n\nPlease note that we will be continuously updating the repository leading up to the workshop, so it's important to **pull the latest changes on the day of the workshop** to ensure that you have the most up-to-date materials.", "recording_license": "", "do_not_record": false, "persons": [{"code": "BLWEQ9", "name": "Jakub Urban", "avatar": "https://programme.europython.eu/media/avatars/BLWEQ9_zSbz63m.webp", "biography": "Lead Science Platform Engineer who loves empowering data scientists and bring their algorithms to production. In general a Python + Data (Science) enthusiast, with education and career history in computational physic. PyData Prague meetup co-organiser, university tutor of scientific Python.\nhttps://www.linkedin.com/in/urbanj/", "public_name": "Jakub Urban", "guid": "c3ad95d3-a058-5334-8c1f-5e76bab7d93e", "url": "https://programme.europython.eu/europython-2023/speaker/BLWEQ9/"}, {"code": "CKX3LQ", "name": "Jan Pipek", "avatar": "https://programme.europython.eu/media/avatars/CKX3LQ_xHRXRLL.webp", "biography": "Data Scientist at Pace Revenue. Organiser of Prague PyData meetups. Occasional lecturer of Scientific/Data Python.", "public_name": "Jan Pipek", "guid": "7b473563-6992-5aa4-aa57-256fde989712", "url": "https://programme.europython.eu/europython-2023/speaker/CKX3LQ/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/AEAPDB/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/AEAPDB/", "attachments": []}, {"guid": "4b611c94-b773-5c26-aedf-444ae5da0f81", "code": "AEAPDB", "id": 35393, "logo": null, "date": "2023-07-18T15:30:00+02:00", "start": "15:30", "end": "2023-07-18T17:00:00+02:00", "duration": "01:30", "room": "Club H", "slug": "europython-2023-35393-1-robust-data-transformation-with-pandas-typing-validation-testing", "url": "https://programme.europython.eu/europython-2023/talk/AEAPDB/", "title": "Robust Data Transformation with Pandas: Typing, Validation, Testing", "subtitle": "", "track": null, "type": "Tutorial", "language": "en", "abstract": "We will explore possibilities for making our data analyses and transformations in Pandas robust and production ready. We will see how advanced group-by, resample or rolling aggregations work on large time series weather data. (As a bonus, you will learn about Prague climate.) We will use type annotations and schema validations with the Pandera library to make our code more readable and robust. We will also show the potential of property-based testing using the Hypothesis package, with strategies generated from Pandera schemas. We will show how to avoid issues with time zones when working with time series data. By the end of the tutorial, you will have a deeper understanding of advanced Pandas aggregations and be able to write robust, production ready Pandas code.", "description": "## Instructions\n\nBefore attending the workshop, it's important to prepare your environment by following the **instructions in the repository located at https://github.com/coobas/robust-pandas-workshop**. This will ensure that you have all the necessary tools and dependencies installed to participate in the workshop.\n\nPlease note that we will be continuously updating the repository leading up to the workshop, so it's important to **pull the latest changes on the day of the workshop** to ensure that you have the most up-to-date materials.", "recording_license": "", "do_not_record": false, "persons": [{"code": "BLWEQ9", "name": "Jakub Urban", "avatar": "https://programme.europython.eu/media/avatars/BLWEQ9_zSbz63m.webp", "biography": "Lead Science Platform Engineer who loves empowering data scientists and bring their algorithms to production. In general a Python + Data (Science) enthusiast, with education and career history in computational physic. PyData Prague meetup co-organiser, university tutor of scientific Python.\nhttps://www.linkedin.com/in/urbanj/", "public_name": "Jakub Urban", "guid": "c3ad95d3-a058-5334-8c1f-5e76bab7d93e", "url": "https://programme.europython.eu/europython-2023/speaker/BLWEQ9/"}, {"code": "CKX3LQ", "name": "Jan Pipek", "avatar": "https://programme.europython.eu/media/avatars/CKX3LQ_xHRXRLL.webp", "biography": "Data Scientist at Pace Revenue. Organiser of Prague PyData meetups. Occasional lecturer of Scientific/Data Python.", "public_name": "Jan Pipek", "guid": "7b473563-6992-5aa4-aa57-256fde989712", "url": "https://programme.europython.eu/europython-2023/speaker/CKX3LQ/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/AEAPDB/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/AEAPDB/", "attachments": []}], "Club B": [{"guid": "279b17e1-1599-51c7-8d93-7f6850e67415", "code": "ZSCRBC", "id": 33701, "logo": null, "date": "2023-07-18T09:30:00+02:00", "start": "09:30", "end": "2023-07-18T11:00:00+02:00", "duration": "01:30", "room": "Club B", "slug": "europython-2023-33701-0-write-your-first-web-api-with-rust", "url": "https://programme.europython.eu/europython-2023/talk/ZSCRBC/", "title": "Write your first web API with Rust!", "subtitle": "", "track": null, "type": "Tutorial", "language": "en", "abstract": "with Jeremy", "description": "In this 180 minutes tutorial, we will take a hands on approach to Rust, and write our first web API!\n\nWe will only focus on the parts you'll need to know to start building APIs, so you can learn while you build!\n\nNo need to know Rust as long as you're curious about the language.\nIf you've already built web APIs in python, you should be good to go!", "recording_license": "", "do_not_record": false, "persons": [{"code": "PJWEGJ", "name": "Jeremy Lempereur", "avatar": "https://programme.europython.eu/media/avatars/PJWEGJ_DNqdgUb.webp", "biography": "I've been writing mainly web APIs for the better part of last decade, with a focus on Rust since 6 years.\nLove open source, and always happy to share knowledge and teach Rust!", "public_name": "Jeremy Lempereur", "guid": "a836c3f7-4db4-5cce-9b4f-28fd4dc558bc", "url": "https://programme.europython.eu/europython-2023/speaker/PJWEGJ/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/ZSCRBC/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/ZSCRBC/", "attachments": []}, {"guid": "12ce6801-19a2-550d-af31-86336e39061c", "code": "ZSCRBC", "id": 33701, "logo": null, "date": "2023-07-18T11:15:00+02:00", "start": "11:15", "end": "2023-07-18T12:45:00+02:00", "duration": "01:30", "room": "Club B", "slug": "europython-2023-33701-1-write-your-first-web-api-with-rust", "url": "https://programme.europython.eu/europython-2023/talk/ZSCRBC/", "title": "Write your first web API with Rust!", "subtitle": "", "track": null, "type": "Tutorial", "language": "en", "abstract": "with Jeremy", "description": "In this 180 minutes tutorial, we will take a hands on approach to Rust, and write our first web API!\n\nWe will only focus on the parts you'll need to know to start building APIs, so you can learn while you build!\n\nNo need to know Rust as long as you're curious about the language.\nIf you've already built web APIs in python, you should be good to go!", "recording_license": "", "do_not_record": false, "persons": [{"code": "PJWEGJ", "name": "Jeremy Lempereur", "avatar": "https://programme.europython.eu/media/avatars/PJWEGJ_DNqdgUb.webp", "biography": "I've been writing mainly web APIs for the better part of last decade, with a focus on Rust since 6 years.\nLove open source, and always happy to share knowledge and teach Rust!", "public_name": "Jeremy Lempereur", "guid": "a836c3f7-4db4-5cce-9b4f-28fd4dc558bc", "url": "https://programme.europython.eu/europython-2023/speaker/PJWEGJ/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/ZSCRBC/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/ZSCRBC/", "attachments": []}, {"guid": "62225ad8-a9e4-5ecc-92df-6bff21e95c68", "code": "ADBP8B", "id": 35672, "logo": null, "date": "2023-07-18T13:45:00+02:00", "start": "13:45", "end": "2023-07-18T15:15:00+02:00", "duration": "01:30", "room": "Club B", "slug": "europython-2023-35672-build-your-first-graphql-api-using-python", "url": "https://programme.europython.eu/europython-2023/talk/ADBP8B/", "title": "Build your first GraphQL API using Python \ud83c\udf53", "subtitle": "", "track": "Web (2023)", "type": "Tutorial", "language": "en", "abstract": "This workshop will teach you how to create your first GraphQL API using Python and Strawberry. We will be using using Fastapi as our framework of choice, but most of the concept will be applicable to other frameworks too.\n\nWe'll learn how GraphQL works under the hood, and how we can leverage type hints to create end to end type safe GraphQL queries.\n\nTo run this workshop you need to have at least python 3.8 and have followed the installation guide here: https://github.com/patrick91/strawberry-tiny-workshop", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "CWD3DM", "name": "Patrick Arminio", "avatar": "https://programme.europython.eu/media/avatars/CWD3DM_tEgi9sa.webp", "biography": "Patrick Arminio, is Senior developer advocate at Apollo GraphQL. He's super passionate about Python and GraphQL! \ud83c\udf89 He loves building cool web apps, contributing to open-source projects, and sharing his know-how with fellow developers. When he's not coding he's probably at some conference or running \ud83d\ude0a\n\nHe's an organizer for PyCon Italia and EuroPython \ud83c\uddea\ud83c\uddfa", "public_name": "Patrick Arminio", "guid": "6ece497c-35bf-5cbc-8074-150d907491ad", "url": "https://programme.europython.eu/europython-2023/speaker/CWD3DM/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/ADBP8B/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/ADBP8B/", "attachments": []}, {"guid": "8352a92c-4cc8-56ed-9c90-646caf44ced3", "code": "SXEJWS", "id": 35732, "logo": null, "date": "2023-07-18T15:30:00+02:00", "start": "15:30", "end": "2023-07-18T17:00:00+02:00", "duration": "01:30", "room": "Club B", "slug": "europython-2023-35732-practical-introduction-to-descriptors", "url": "https://programme.europython.eu/europython-2023/talk/SXEJWS/", "title": "Practical introduction to descriptors", "subtitle": "", "track": "Python Internals & Ecosystem (2023)", "type": "Tutorial", "language": "en", "abstract": "Descriptors are not black magic and this practical tutorial will show you that.\nIn fact, you use descriptors every day and you don't even know it!\n\nThrough a series of practical, hands-on exercises, you will learn\n\n - how to create a descriptor;\n - how to use the dunder methods `__get__`, `__set__`, and `__set_name__`;\n - what the descriptor protocol is; and\n - where descriptors show up in day-to-day Python code.", "description": "The expected Python level for participants is \u201cintermediate\u201d.\nIn practice, if you are comfortable with using the built-in `property` and if you have used [dunder methods](https://mathspp.com/blog/pydonts/dunder-methods) before, you should be fine.\n\nThis tutorial is based off of [an article I wrote about descriptors](https://mathspp.com/blog/pydonts/describing-descriptors).\n\nAll materials can be accessed from [this GH repo](https://github.com/mathspp/talks).", "recording_license": "", "do_not_record": false, "persons": [{"code": "BLNV7P", "name": "Rodrigo Gir\u00e3o Serr\u00e3o", "avatar": "https://programme.europython.eu/media/avatars/BLNV7P_wULjbpV.webp", "biography": "Rodrigo has always been fascinated by problem solving and that is why he picked up programming \u2013 so that he could solve more problems. He also loves sharing knowledge, and that is why he spends so much time writing articles in his blog [mathspp.com/blog](http://mathspp.com/blog), writing on Twitter [@mathsppblog](https://twitter.com/mathsppblog), and giving workshops and courses.\n\nHis main areas of scientific interest are mathematics (numerical analysis in particular) and programming in general (with a preference for the Python and APL languages), but Rodrigo also enjoys reading fantasy books, watching silly comedy movies and eating chocolate.\n\nAll materials can be accessed from [this GH repo](https://github.com/mathspp/talks).", "public_name": "Rodrigo Gir\u00e3o Serr\u00e3o", "guid": "b162400f-4b4a-584b-b4d6-8e9b4c49a8ac", "url": "https://programme.europython.eu/europython-2023/speaker/BLNV7P/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/SXEJWS/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/SXEJWS/", "attachments": []}], "Club C": [{"guid": "d6953b54-e949-5c04-b236-feacf89d2979", "code": "MQRJXF", "id": 33700, "logo": null, "date": "2023-07-18T09:30:00+02:00", "start": "09:30", "end": "2023-07-18T11:00:00+02:00", "duration": "01:30", "room": "Club C", "slug": "europython-2023-33700-0-wasm-summit", "url": "https://programme.europython.eu/europython-2023/talk/MQRJXF/", "title": "WASM Summit", "subtitle": "", "track": null, "type": "Conference Workshop", "language": "en", "abstract": "This summit aims to bring together maintainers and users of the Python with WebAssembly, to discuss the state of this ecosystem, existing challenges and ongoing work.\n\nFind out more, including how to sign up, here: [https://ep2023.europython.eu/wasm](https://ep2023.europython.eu/wasm)", "description": "Agenda:\n   \n* 9:00: Meet and greet (many of us won\u2019t know each other) + unconference-y post-it based organisation.\n* 9:30: Presentations (30mins each)\n* 11:00: Coffee\n* 11:20: Presentations\n* 13:00: Lunch at the PCC (included)\n* 14:00: Unconference-y activities (discussions, hacks, ad hoc tutorials etc\u2026)\n* 16:00: Round-up / plenary session for feedback and organising next steps.\n* 18:30: Dinner", "recording_license": "", "do_not_record": false, "persons": [{"code": "BXVSCG", "name": "Roman Yurchak", "avatar": "https://programme.europython.eu/media/avatars/BXVSCG_ePqsMYS.webp", "biography": null, "public_name": "Roman Yurchak", "guid": "7434efd5-ad7a-5be1-a44a-a7b79188bd9e", "url": "https://programme.europython.eu/europython-2023/speaker/BXVSCG/"}, {"code": "BQVLYL", "name": "Nicholas Tollervey", "avatar": "https://programme.europython.eu/media/avatars/BQVLYL_7YRft3L.webp", "biography": "A recovering former member of the Python community.\n\nComputing, music, philosophy, teaching and writing. Just like this bio: concise, honest and full of useful information. Everything I say is false...", "public_name": "Nicholas Tollervey", "guid": "bdd9b1c2-8323-5c22-a58a-04990550d525", "url": "https://programme.europython.eu/europython-2023/speaker/BQVLYL/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/MQRJXF/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/MQRJXF/", "attachments": []}, {"guid": "078cd942-c65c-50c9-bebf-fbe6f4931a4e", "code": "MQRJXF", "id": 33700, "logo": null, "date": "2023-07-18T11:15:00+02:00", "start": "11:15", "end": "2023-07-18T12:45:00+02:00", "duration": "01:30", "room": "Club C", "slug": "europython-2023-33700-1-wasm-summit", "url": "https://programme.europython.eu/europython-2023/talk/MQRJXF/", "title": "WASM Summit", "subtitle": "", "track": null, "type": "Conference Workshop", "language": "en", "abstract": "This summit aims to bring together maintainers and users of the Python with WebAssembly, to discuss the state of this ecosystem, existing challenges and ongoing work.\n\nFind out more, including how to sign up, here: [https://ep2023.europython.eu/wasm](https://ep2023.europython.eu/wasm)", "description": "Agenda:\n   \n* 9:00: Meet and greet (many of us won\u2019t know each other) + unconference-y post-it based organisation.\n* 9:30: Presentations (30mins each)\n* 11:00: Coffee\n* 11:20: Presentations\n* 13:00: Lunch at the PCC (included)\n* 14:00: Unconference-y activities (discussions, hacks, ad hoc tutorials etc\u2026)\n* 16:00: Round-up / plenary session for feedback and organising next steps.\n* 18:30: Dinner", "recording_license": "", "do_not_record": false, "persons": [{"code": "BXVSCG", "name": "Roman Yurchak", "avatar": "https://programme.europython.eu/media/avatars/BXVSCG_ePqsMYS.webp", "biography": null, "public_name": "Roman Yurchak", "guid": "7434efd5-ad7a-5be1-a44a-a7b79188bd9e", "url": "https://programme.europython.eu/europython-2023/speaker/BXVSCG/"}, {"code": "BQVLYL", "name": "Nicholas Tollervey", "avatar": "https://programme.europython.eu/media/avatars/BQVLYL_7YRft3L.webp", "biography": "A recovering former member of the Python community.\n\nComputing, music, philosophy, teaching and writing. Just like this bio: concise, honest and full of useful information. Everything I say is false...", "public_name": "Nicholas Tollervey", "guid": "bdd9b1c2-8323-5c22-a58a-04990550d525", "url": "https://programme.europython.eu/europython-2023/speaker/BQVLYL/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/MQRJXF/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/MQRJXF/", "attachments": []}, {"guid": "fd5f981d-71c9-5187-9494-517eb7264451", "code": "MQRJXF", "id": 33700, "logo": null, "date": "2023-07-18T13:45:00+02:00", "start": "13:45", "end": "2023-07-18T15:15:00+02:00", "duration": "01:30", "room": "Club C", "slug": "europython-2023-33700-2-wasm-summit", "url": "https://programme.europython.eu/europython-2023/talk/MQRJXF/", "title": "WASM Summit", "subtitle": "", "track": null, "type": "Conference Workshop", "language": "en", "abstract": "This summit aims to bring together maintainers and users of the Python with WebAssembly, to discuss the state of this ecosystem, existing challenges and ongoing work.\n\nFind out more, including how to sign up, here: [https://ep2023.europython.eu/wasm](https://ep2023.europython.eu/wasm)", "description": "Agenda:\n   \n* 9:00: Meet and greet (many of us won\u2019t know each other) + unconference-y post-it based organisation.\n* 9:30: Presentations (30mins each)\n* 11:00: Coffee\n* 11:20: Presentations\n* 13:00: Lunch at the PCC (included)\n* 14:00: Unconference-y activities (discussions, hacks, ad hoc tutorials etc\u2026)\n* 16:00: Round-up / plenary session for feedback and organising next steps.\n* 18:30: Dinner", "recording_license": "", "do_not_record": false, "persons": [{"code": "BXVSCG", "name": "Roman Yurchak", "avatar": "https://programme.europython.eu/media/avatars/BXVSCG_ePqsMYS.webp", "biography": null, "public_name": "Roman Yurchak", "guid": "7434efd5-ad7a-5be1-a44a-a7b79188bd9e", "url": "https://programme.europython.eu/europython-2023/speaker/BXVSCG/"}, {"code": "BQVLYL", "name": "Nicholas Tollervey", "avatar": "https://programme.europython.eu/media/avatars/BQVLYL_7YRft3L.webp", "biography": "A recovering former member of the Python community.\n\nComputing, music, philosophy, teaching and writing. Just like this bio: concise, honest and full of useful information. Everything I say is false...", "public_name": "Nicholas Tollervey", "guid": "bdd9b1c2-8323-5c22-a58a-04990550d525", "url": "https://programme.europython.eu/europython-2023/speaker/BQVLYL/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/MQRJXF/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/MQRJXF/", "attachments": []}, {"guid": "827ab2e0-5386-54e9-aef7-2310dac2830a", "code": "MQRJXF", "id": 33700, "logo": null, "date": "2023-07-18T15:30:00+02:00", "start": "15:30", "end": "2023-07-18T17:00:00+02:00", "duration": "01:30", "room": "Club C", "slug": "europython-2023-33700-3-wasm-summit", "url": "https://programme.europython.eu/europython-2023/talk/MQRJXF/", "title": "WASM Summit", "subtitle": "", "track": null, "type": "Conference Workshop", "language": "en", "abstract": "This summit aims to bring together maintainers and users of the Python with WebAssembly, to discuss the state of this ecosystem, existing challenges and ongoing work.\n\nFind out more, including how to sign up, here: [https://ep2023.europython.eu/wasm](https://ep2023.europython.eu/wasm)", "description": "Agenda:\n   \n* 9:00: Meet and greet (many of us won\u2019t know each other) + unconference-y post-it based organisation.\n* 9:30: Presentations (30mins each)\n* 11:00: Coffee\n* 11:20: Presentations\n* 13:00: Lunch at the PCC (included)\n* 14:00: Unconference-y activities (discussions, hacks, ad hoc tutorials etc\u2026)\n* 16:00: Round-up / plenary session for feedback and organising next steps.\n* 18:30: Dinner", "recording_license": "", "do_not_record": false, "persons": [{"code": "BXVSCG", "name": "Roman Yurchak", "avatar": "https://programme.europython.eu/media/avatars/BXVSCG_ePqsMYS.webp", "biography": null, "public_name": "Roman Yurchak", "guid": "7434efd5-ad7a-5be1-a44a-a7b79188bd9e", "url": "https://programme.europython.eu/europython-2023/speaker/BXVSCG/"}, {"code": "BQVLYL", "name": "Nicholas Tollervey", "avatar": "https://programme.europython.eu/media/avatars/BQVLYL_7YRft3L.webp", "biography": "A recovering former member of the Python community.\n\nComputing, music, philosophy, teaching and writing. Just like this bio: concise, honest and full of useful information. Everything I say is false...", "public_name": "Nicholas Tollervey", "guid": "bdd9b1c2-8323-5c22-a58a-04990550d525", "url": "https://programme.europython.eu/europython-2023/speaker/BQVLYL/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/MQRJXF/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/MQRJXF/", "attachments": []}], "Club D": [{"guid": "475e692d-dee4-5a87-9a17-269f3bd52802", "code": "P77JBK", "id": 33696, "logo": null, "date": "2023-07-18T09:30:00+02:00", "start": "09:30", "end": "2023-07-18T11:00:00+02:00", "duration": "01:30", "room": "Club D", "slug": "europython-2023-33696-0-trans-code", "url": "https://programme.europython.eu/europython-2023/talk/P77JBK/", "title": "Trans*Code", "subtitle": "", "track": null, "type": "Free Workshop", "language": "en", "abstract": "Trans\\*Code is an international hack event series focused on building connections and community while exploring the tech side of transgender issues and opportunities. Coders, designers, activists, visionaries of all sorts, and community members not currently working in technology are all welcome and encouraged to participate. FInd more details including how to sign up here: https://ep2023.europython.eu/trans_code", "description": "Trans\\*Code is an international hack event series focused on building connections and community while exploring the tech side of transgender issues and opportunities. Trans\\*Code events are informal hackdays where participants can explore their ideas in collaboration with like-minded people. Coders, designers, activists, visionaries of all sorts, and community members not currently working in technology are all welcome and encouraged to participate.\n\nTrans*Code events are similar to hackathons, but with some key differences:\n\n* Events are only one day long. So you don\u2019t need to take off an entire weekend;\n* Events are not competitive. At Trans\\*Code events, we\u2019re all pulling for each other. While we do have final presentations, they are made in the spirit of sharing, not in the spirit of competition;\n* Events encourage following your interests. Want to work on that project? Fine, do it. Want to spend the morning with this one, and the afternoon with that one? The choice is yours. Trans*Code subscribes to the Un-Conference philosophy - whatever happens is exactly what should happen.", "recording_license": "", "do_not_record": false, "persons": [{"code": "SM8RTE", "name": "Naomi Ceder", "avatar": "https://programme.europython.eu/media/avatars/SM8RTE_Ytjtjjd.webp", "biography": null, "public_name": "Naomi Ceder", "guid": "0f92f4aa-7ae8-588b-8fcd-2d35cb24ae75", "url": "https://programme.europython.eu/europython-2023/speaker/SM8RTE/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/P77JBK/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/P77JBK/", "attachments": []}, {"guid": "561ea18a-be8c-512c-b0a1-d8f0454ffc85", "code": "P77JBK", "id": 33696, "logo": null, "date": "2023-07-18T11:15:00+02:00", "start": "11:15", "end": "2023-07-18T12:45:00+02:00", "duration": "01:30", "room": "Club D", "slug": "europython-2023-33696-1-trans-code", "url": "https://programme.europython.eu/europython-2023/talk/P77JBK/", "title": "Trans*Code", "subtitle": "", "track": null, "type": "Free Workshop", "language": "en", "abstract": "Trans\\*Code is an international hack event series focused on building connections and community while exploring the tech side of transgender issues and opportunities. Coders, designers, activists, visionaries of all sorts, and community members not currently working in technology are all welcome and encouraged to participate. FInd more details including how to sign up here: https://ep2023.europython.eu/trans_code", "description": "Trans\\*Code is an international hack event series focused on building connections and community while exploring the tech side of transgender issues and opportunities. Trans\\*Code events are informal hackdays where participants can explore their ideas in collaboration with like-minded people. Coders, designers, activists, visionaries of all sorts, and community members not currently working in technology are all welcome and encouraged to participate.\n\nTrans*Code events are similar to hackathons, but with some key differences:\n\n* Events are only one day long. So you don\u2019t need to take off an entire weekend;\n* Events are not competitive. At Trans\\*Code events, we\u2019re all pulling for each other. While we do have final presentations, they are made in the spirit of sharing, not in the spirit of competition;\n* Events encourage following your interests. Want to work on that project? Fine, do it. Want to spend the morning with this one, and the afternoon with that one? The choice is yours. Trans*Code subscribes to the Un-Conference philosophy - whatever happens is exactly what should happen.", "recording_license": "", "do_not_record": false, "persons": [{"code": "SM8RTE", "name": "Naomi Ceder", "avatar": "https://programme.europython.eu/media/avatars/SM8RTE_Ytjtjjd.webp", "biography": null, "public_name": "Naomi Ceder", "guid": "0f92f4aa-7ae8-588b-8fcd-2d35cb24ae75", "url": "https://programme.europython.eu/europython-2023/speaker/SM8RTE/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/P77JBK/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/P77JBK/", "attachments": []}, {"guid": "574a62c0-cff9-50e2-b427-0a2cfcf7ba9a", "code": "P77JBK", "id": 33696, "logo": null, "date": "2023-07-18T13:45:00+02:00", "start": "13:45", "end": "2023-07-18T15:15:00+02:00", "duration": "01:30", "room": "Club D", "slug": "europython-2023-33696-2-trans-code", "url": "https://programme.europython.eu/europython-2023/talk/P77JBK/", "title": "Trans*Code", "subtitle": "", "track": null, "type": "Free Workshop", "language": "en", "abstract": "Trans\\*Code is an international hack event series focused on building connections and community while exploring the tech side of transgender issues and opportunities. Coders, designers, activists, visionaries of all sorts, and community members not currently working in technology are all welcome and encouraged to participate. FInd more details including how to sign up here: https://ep2023.europython.eu/trans_code", "description": "Trans\\*Code is an international hack event series focused on building connections and community while exploring the tech side of transgender issues and opportunities. Trans\\*Code events are informal hackdays where participants can explore their ideas in collaboration with like-minded people. Coders, designers, activists, visionaries of all sorts, and community members not currently working in technology are all welcome and encouraged to participate.\n\nTrans*Code events are similar to hackathons, but with some key differences:\n\n* Events are only one day long. So you don\u2019t need to take off an entire weekend;\n* Events are not competitive. At Trans\\*Code events, we\u2019re all pulling for each other. While we do have final presentations, they are made in the spirit of sharing, not in the spirit of competition;\n* Events encourage following your interests. Want to work on that project? Fine, do it. Want to spend the morning with this one, and the afternoon with that one? The choice is yours. Trans*Code subscribes to the Un-Conference philosophy - whatever happens is exactly what should happen.", "recording_license": "", "do_not_record": false, "persons": [{"code": "SM8RTE", "name": "Naomi Ceder", "avatar": "https://programme.europython.eu/media/avatars/SM8RTE_Ytjtjjd.webp", "biography": null, "public_name": "Naomi Ceder", "guid": "0f92f4aa-7ae8-588b-8fcd-2d35cb24ae75", "url": "https://programme.europython.eu/europython-2023/speaker/SM8RTE/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/P77JBK/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/P77JBK/", "attachments": []}, {"guid": "84420b33-5c36-5618-82cc-a685b87bd25d", "code": "P77JBK", "id": 33696, "logo": null, "date": "2023-07-18T15:30:00+02:00", "start": "15:30", "end": "2023-07-18T17:00:00+02:00", "duration": "01:30", "room": "Club D", "slug": "europython-2023-33696-3-trans-code", "url": "https://programme.europython.eu/europython-2023/talk/P77JBK/", "title": "Trans*Code", "subtitle": "", "track": null, "type": "Free Workshop", "language": "en", "abstract": "Trans\\*Code is an international hack event series focused on building connections and community while exploring the tech side of transgender issues and opportunities. Coders, designers, activists, visionaries of all sorts, and community members not currently working in technology are all welcome and encouraged to participate. FInd more details including how to sign up here: https://ep2023.europython.eu/trans_code", "description": "Trans\\*Code is an international hack event series focused on building connections and community while exploring the tech side of transgender issues and opportunities. Trans\\*Code events are informal hackdays where participants can explore their ideas in collaboration with like-minded people. Coders, designers, activists, visionaries of all sorts, and community members not currently working in technology are all welcome and encouraged to participate.\n\nTrans*Code events are similar to hackathons, but with some key differences:\n\n* Events are only one day long. So you don\u2019t need to take off an entire weekend;\n* Events are not competitive. At Trans\\*Code events, we\u2019re all pulling for each other. While we do have final presentations, they are made in the spirit of sharing, not in the spirit of competition;\n* Events encourage following your interests. Want to work on that project? Fine, do it. Want to spend the morning with this one, and the afternoon with that one? The choice is yours. Trans*Code subscribes to the Un-Conference philosophy - whatever happens is exactly what should happen.", "recording_license": "", "do_not_record": false, "persons": [{"code": "SM8RTE", "name": "Naomi Ceder", "avatar": "https://programme.europython.eu/media/avatars/SM8RTE_Ytjtjjd.webp", "biography": null, "public_name": "Naomi Ceder", "guid": "0f92f4aa-7ae8-588b-8fcd-2d35cb24ae75", "url": "https://programme.europython.eu/europython-2023/speaker/SM8RTE/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/P77JBK/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/P77JBK/", "attachments": []}, {"guid": "be2f88fd-3826-5dc7-878b-7e7d688d762f", "code": "GRDPPX", "id": 34099, "logo": null, "date": "2023-07-18T16:10:00+02:00", "start": "16:10", "end": "2023-07-18T17:00:00+02:00", "duration": "00:50", "room": "Club D", "slug": "europython-2023-34099-beginner-conference-orientation", "url": "https://programme.europython.eu/europython-2023/talk/GRDPPX/", "title": "Beginner Conference Orientation", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Are you new to EuroPython or any Python conference? You must have a lot of questions like: \n\n- What is a Lightning Talk? \n- What is an Open Space? \n- Besides going to talk, what else can I do? \n- Why everyone seems to know each other, how can I join in conversations?\n\nDon't worry, we are here to help you get the most out of your first EuroPython experience. Come to join us in this Beginner Conference Orientation that is tailer made for you.", "description": "In this orientation, we will break into 2 parts\n\n**1) Suggestions about what you can do as a first-time attendee at the conference (30 mins)**\n\nWe will give you many tips on how you can get the most out of your experience here at EuroPython. We will also tell you what you can expect at the conference and how to make new connections at the conference. \n\n**2) No questions are stupid questions, ask away Q &A session (20 mins)**\n\nSince we are here to help we would like to let you ask us questions. We love your questions! Please ask us anything, we are happy to answer and no questions are stupid questions.\n\nSlides can be found here: https://drive.google.com/file/d/1Sga1kbrMkmj1rHWpjBispQ-PnTOx0KOi/view?usp=sharing", "recording_license": "", "do_not_record": false, "persons": [{"code": "8EGVC9", "name": "Cheuk Ting Ho", "avatar": "https://programme.europython.eu/media/avatars/8EGVC9_LbezfQb.webp", "biography": "Before working in Developer Relations, Cheuk has been a Data Scientist in various companies which demands high numerical and programmatical skills, especially in Python. To follow her passion for the tech community, Cheuk is now working with the open-source community. Cheuk also contributes to multiple Open Source libraries like Hypothesis, Django and Pandas.\n\nBesides her work, Cheuk enjoys talking about Python on personal streaming platforms and podcasts. Cheuk has also been a speaker at Universities and various conferences. Besides speaking at conferences, Cheuk also organises events for developers. Conferences that Cheuk has organized include EuroPython (which she is a board member), PyData Global and Pyjamas Conf. Believing in Tech Diversity and Inclusion, Cheuk constantly organizes workshops and mentored sprints for minority groups. In 2021, Cheuk has become a Python Software Foundation fellow.", "public_name": "Cheuk Ting Ho", "guid": "6acb0b45-07a8-5f1c-a3fa-45ae8f0a9858", "url": "https://programme.europython.eu/europython-2023/speaker/8EGVC9/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/GRDPPX/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/GRDPPX/", "attachments": []}]}}, {"index": 3, "date": "2023-07-19", "day_start": "2023-07-19T04:00:00+02:00", "day_end": "2023-07-20T03:59:00+02:00", "rooms": {"PyCharm (Forum Hall)": [{"guid": "68e641fe-9235-55de-92a0-932f8ab1d87d", "code": "ZPN8UC", "id": 35610, "logo": null, "date": "2023-07-19T08:00:00+02:00", "start": "08:00", "end": "2023-07-19T09:00:00+02:00", "duration": "01:00", "room": "PyCharm (Forum Hall)", "slug": "europython-2023-35610-registration-welcome-forum-hall-foyer-1st-floor", "url": "https://programme.europython.eu/europython-2023/talk/ZPN8UC/", "title": "Registration & Welcome @ Forum Hall Foyer 1st Floor", "subtitle": "", "track": null, "type": "Announcements", "language": "en", "abstract": "Welcome to EuroPython 2023! You can pick up your badges at any time during the week as long as we are open! If you want to avoid the morning rush on Wednesday, come on Monday and Tuesday!\n\nQueues will be sorted by your **first name** on your ticket. Your ticket can be located via your order confirmation email (from support@pretix.eu with the Subject: Your order: XXXX). If you ordered your ticket after we've sent badges for printing (after 10 July), go directly to the Info Desk (also referred as Debugging Desk) and a volunteer will help!", "description": "", "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/ZPN8UC/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/ZPN8UC/", "attachments": []}, {"guid": "a030423a-e76a-541f-a277-db867c31925c", "code": "QUQSZH", "id": 34200, "logo": null, "date": "2023-07-19T09:00:00+02:00", "start": "09:00", "end": "2023-07-19T09:30:00+02:00", "duration": "00:30", "room": "PyCharm (Forum Hall)", "slug": "europython-2023-34200-opening-session", "url": "https://programme.europython.eu/europython-2023/talk/QUQSZH/", "title": "Opening Session", "subtitle": "", "track": null, "type": "Announcements", "language": "en", "abstract": "", "description": "", "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/QUQSZH/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/QUQSZH/", "attachments": []}, {"guid": "f161a616-393d-59f9-916d-07513e3c5571", "code": "C7SMXT", "id": 33369, "logo": null, "date": "2023-07-19T09:30:00+02:00", "start": "09:30", "end": "2023-07-19T10:15:00+02:00", "duration": "00:45", "room": "PyCharm (Forum Hall)", "slug": "europython-2023-33369-kindnesses-promises", "url": "https://programme.europython.eu/europython-2023/talk/C7SMXT/", "title": "Kindnesses & Promises", "subtitle": "", "track": null, "type": "Keynote", "language": "en", "abstract": "The more applications you build, the more libraries you share, the more they become an excuse to meet people and have fun together.\n\nWhat makes it fun? And how do we keep it fun?", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "NW7HAY", "name": "Petr Viktorin", "avatar": "https://programme.europython.eu/media/avatars/NW7HAY_z6Egtxd.webp", "biography": "Petr works at Red Hat, integrating Python into Linux distros.\n\nHe started contributing to Python in 2015, answering Nick Coghlan's call for a volunteer to improve extension module loading. After about six PEPs and eight years of work, that project expanded to better support for subinterpreters and maintaining the stable ABI, and helping Eric Snow's effort to break up the GIL.\n\nLast year, after a nomination for Steering Council forced him to look at parts of the project that needed help, Petr revived the Documentation community, and spent time removing roadblocks from contributing to Python's documentation.\n\nTo give back to the community, he started teaching free courses to local beginners. But that is a story for his talk at EuroPython.", "public_name": "Petr Viktorin", "guid": "95e2a4ff-8bdd-513c-a86f-77fc5d4eac15", "url": "https://programme.europython.eu/europython-2023/speaker/NW7HAY/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/C7SMXT/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/C7SMXT/", "attachments": []}, {"guid": "3582e22e-8257-5063-a015-f27f34ec6153", "code": "C3GDXY", "id": 29666, "logo": null, "date": "2023-07-19T10:45:00+02:00", "start": "10:45", "end": "2023-07-19T11:15:00+02:00", "duration": "00:30", "room": "PyCharm (Forum Hall)", "slug": "europython-2023-29666-how-we-are-making-cpython-faster-past-present-and-future", "url": "https://programme.europython.eu/europython-2023/talk/C3GDXY/", "title": "How we are making CPython faster. Past, present and future", "subtitle": "", "track": "Python Internals & Ecosystem (2023)", "type": "Talk", "language": "en", "abstract": "Python 3.11 is considerably faster than 3.10. \nHow did we do that? And how are we going to make 3.12 and following releases even faster?\n\n In this talk, I will present a high level overview of the approach we are taking to speeding up CPython. Starting with a simple overview of some basic principles, I will show how we can apply those to streamline and speedup CPython. I will try to avoid computer science and software engineering terminology, in favor of diagrams, a few simple examples, and some high-school math. Finally, I make some estimates about how much faster the next few releases of CPython will be, and how much faster Python could go.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "LUY39H", "name": "Mark Shannon", "avatar": "https://programme.europython.eu/media/avatars/LUY39H_deTgmxG.webp", "biography": "Mark has been using Python since 2005, and has been contributing to CPython since 2010. After a long interlude working on static analysis tools, he has returned to working on speeding up Python over the last couple of years. His academic and commercial work is focused on compilers, virtual machines and static analysis for Python. His PhD was on building virtual machines for dynamic languages. He is the author of various PEPs including 412, 590, 626 and 659. Mark is currently working for Microsoft as the technical lead of the \"Faster CPython\" team.", "public_name": "Mark Shannon", "guid": "3017d907-d197-5c21-9322-9f62b284648a", "url": "https://programme.europython.eu/europython-2023/speaker/LUY39H/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/C3GDXY/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/C3GDXY/", "attachments": []}, {"guid": "92d4d471-62c2-5bb9-8e07-d7deccfcd241", "code": "BCDBBR", "id": 29848, "logo": null, "date": "2023-07-19T11:35:00+02:00", "start": "11:35", "end": "2023-07-19T12:05:00+02:00", "duration": "00:30", "room": "PyCharm (Forum Hall)", "slug": "europython-2023-29848-f-yeah-how-we-are-supercharging-f-strings-in-python-3-12", "url": "https://programme.europython.eu/europython-2023/talk/BCDBBR/", "title": "f\"yeah!\" - How we are supercharging f-strings in Python 3.12", "subtitle": "", "track": "Python Internals & Ecosystem (2023)", "type": "Talk", "language": "en", "abstract": "Everybody loves f-strings in Python. But what if they could be even better? Thanks to PEP 701, Python 3.12 will ship with an improved version of f-strings that will once and for all fix the little remaining problems that f-strings have had, while also supercharging them with new cool powers.  In this talk, you will discover the dark little secrets of how f-strings were being processed before Python 3.12 and the many things that didn't work and you didn't know about. You will learn how we changed thousands of lines of manually written C code without anybody noticing, how we changed the oldest part of CPython so quotes behave like parentheses, and how we taught the PEG parser to understand f-strings. Plus, you'll gain an understanding of how these new and improved capabilities will provide several advantages for both end-users and library developers, while also reducing the maintenance cost of the CPython implementation.", "description": "In this talk, we will cover one of the primary syntactic changes of Python 3.12: PEP 701 \u2013 Syntactic formalisation of f-strings.  Here is the structure of the talk:  - How f-strings were originally introduced - Problems with f-strings * Backslashes cannot be used within the expression part of f-strings * It is impossible to use the quote character delimiting the f-string within the expression portion * Comments are forbidden, even in multi-line f-strings * Arbitrary nesting of expressions without expansion of escape sequences is impossible * There is no referential transparency - How f-strings are currently parsed: The two-pass process - How PEP 701 formalises a grammar for f-strings - How we changed the tokeniser and parser to understand f-strings - Syntactic and semantic consequences of the new grammar - Implementation challenges  Attendees will not only learn the (normally unknown) problems that f-strings previously had, but also will learn through the journey of how the PEP was implemented several techniques and approaches to changing big codebases such as CPython in an efficient way, while minimising user impact. Attendees will also learn how changes to the CPython grammar that also require lexer changes are implemented, which is quite a unique situation, as most changes to the Python Grammar do not require lexer changes.  No matter whether someone is new to Python or an advanced developer that enjoys hacking with the interpreter, there is something in this talk for them.", "recording_license": "", "do_not_record": false, "persons": [{"code": "NLHSWB", "name": "Pablo Galindo Salgado", "avatar": "https://programme.europython.eu/media/avatars/NLHSWB_9yNq5Sm.webp", "biography": "Pablo Galindo Salgado programs the programming program that other programmers use to program programs. He also works in the Python Infrastructure team at the Software Infrastructure department at Bloomberg L.P. Pablo is a CPython core developer and a Theoretical Physicist specializing in general relativity and black hole physics. He is currently serving on the Python Steering Council and he is the release manager for Python 3.10 and 3.11. He has also a cat but he does not code.", "public_name": "Pablo Galindo Salgado", "guid": "d9b56eea-ab88-55e1-a386-0e551d3423ce", "url": "https://programme.europython.eu/europython-2023/speaker/NLHSWB/"}, {"code": "EKPXTC", "name": "Marta Gomez", "avatar": "https://programme.europython.eu/media/avatars/EKPXTC_DlnVLZa.webp", "biography": "Marta is software engineer at VirusTotal, an online threat analysis platform which is part of Google Cloud Security. She has more than 6 years of experience in the cybersecurity industry and she coded in Python for almost 10 years.", "public_name": "Marta Gomez", "guid": "2df848a6-3a90-5101-9b07-fcee3b1005aa", "url": "https://programme.europython.eu/europython-2023/speaker/EKPXTC/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/BCDBBR/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/BCDBBR/", "attachments": []}, {"guid": "9b4ac39b-a514-5aa4-820f-ab3d2813d65d", "code": "NVW8EF", "id": 28908, "logo": null, "date": "2023-07-19T12:10:00+02:00", "start": "12:10", "end": "2023-07-19T12:40:00+02:00", "duration": "00:30", "room": "PyCharm (Forum Hall)", "slug": "europython-2023-28908-hpy-the-future-of-python-native-extensions", "url": "https://programme.europython.eu/europython-2023/talk/NVW8EF/", "title": "HPy: The Future of Python Native Extensions", "subtitle": "", "track": "Python Internals & Ecosystem (2023)", "type": "Talk", "language": "en", "abstract": "Updating Python versions often forces us to update native extensions at the\nsame time. But what if you need to update Python because of a security issue,\nbut cannot (yet) move to a newer version of a dependency? Or you are running a\nproprietary binary extension that cannot easily be recompiled?\n\nThe HPy project provides a better C extension API for Python. It compiles to\nbinaries that work across all versions of CPython, PyPy, GraalPy. HPy makes\nporting from the existing C API easy and its design ensures that the binaries\nwe produce today stay binary compatible with future Python versions.\n\nNumPy is the single largest direct user of the CPython C API we know of. After\nover 2 years of work and more than 30k lines of code ported, we can demonstrate\nNumPy running its tests and benchmarks with HPy. We will show the same NumPy\nbinary run on multiple CPython versions and GraalPy. And we will discuss\nperformance characteristics of this port across CPython, GraalPy, and PyPy.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "G9FNPT", "name": "\u0160t\u011bp\u00e1n \u0160indel\u00e1\u0159", "avatar": "https://programme.europython.eu/media/avatars/G9FNPT_kJSMmiW.webp", "biography": "GraalPy and HPy core developer. Programming languages, virtual machines, and runtimes enthusiast. Surfer in a landlocked country.", "public_name": "\u0160t\u011bp\u00e1n \u0160indel\u00e1\u0159", "guid": "37548d0e-5157-598a-add7-204dab2066a0", "url": "https://programme.europython.eu/europython-2023/speaker/G9FNPT/"}, {"code": "HUBV7F", "name": "Florian Angerer", "avatar": "https://programme.europython.eu/media/avatars/HUBV7F_uISgeYq.webp", "biography": "Florian Angerer is member of the Graal project at Oracle Labs and works on GraalPy, a fast, Java-based implementation of Python. He is also core developer of HPy, a new API for extending Python in C. He received his Ph.D. in Computer Science from the Johannes Kepler University Linz, Austria.", "public_name": "Florian Angerer", "guid": "9d4dc3ae-3d41-539e-be0d-b55653582d42", "url": "https://programme.europython.eu/europython-2023/speaker/HUBV7F/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/NVW8EF/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/NVW8EF/", "attachments": [{"title": "Slides", "url": "/media/europython-2023/submissions/NVW8EF/resources/EuroPython2023_HPy_dLwxQ4i.pdf", "type": "related"}]}, {"guid": "680861e9-a488-5c70-9d83-9abb50e70274", "code": "AAJLRW", "id": 33374, "logo": null, "date": "2023-07-19T14:00:00+02:00", "start": "14:00", "end": "2023-07-19T15:00:00+02:00", "duration": "01:00", "room": "PyCharm (Forum Hall)", "slug": "europython-2023-33374-cpython-core-developer-panel", "url": "https://programme.europython.eu/europython-2023/talk/AAJLRW/", "title": "CPython Core Developer Panel", "subtitle": "", "track": null, "type": "Panel", "language": "en", "abstract": "Come meet the folks who make the Python programming language!\n\nA panel discussion of core Python developers will take place on Wednesday at 2pm. Hear what's on their mind, what they're working on, and what the future holds for Python.\n\nThe panel will include:\n* sitting Steering Council member Pablo Galindo Salgado;\n* cybersecurity expert and aspiring core developer Marta G\u00f3mez Mac\u00edas who made f-strings much better in 3.12;\n* CPython's Windows expert Steve Dower;\n* Red Hat veteran and emeritus Steering Council member Petr Viktorin;\n* and the tech lead of Microsoft's \"Faster Python\" team Dr. Mark \"HotPy\" Shannon. \n\nThe panel will be chaired by \u0141ukasz \"Any-color-you-like-as-long-as-it's-black\" Langa.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "YFCVFV", "name": "\u0141ukasz Langa", "avatar": "https://programme.europython.eu/media/avatars/YFCVFV_g7KtDtA.webp", "biography": "CPython Developer in Residence, Python 3.8 and 3.9 release manager. Gradual typing enthusiast, asynchronous programming proponent, and creator of the auto-formatter Black. ambv on Github.\n\nLikes immersive single-player role-playing games, Scotch whisky, and road cycling. In his free time, he produces electronic music, which includes software and hardware of his own making.", "public_name": "\u0141ukasz Langa", "guid": "417e4600-e4c9-5a3e-93e0-983efdc20d48", "url": "https://programme.europython.eu/europython-2023/speaker/YFCVFV/"}, {"code": "SCAGQW", "name": "Petr Viktorin", "avatar": "https://programme.europython.eu/media/avatars/SCAGQW_gVfuTj1.webp", "biography": null, "public_name": "Petr Viktorin", "guid": "d4a187dd-5d20-5bc6-92ff-f908c22dd8e9", "url": "https://programme.europython.eu/europython-2023/speaker/SCAGQW/"}, {"code": "NLHSWB", "name": "Pablo Galindo Salgado", "avatar": "https://programme.europython.eu/media/avatars/NLHSWB_9yNq5Sm.webp", "biography": "Pablo Galindo Salgado programs the programming program that other programmers use to program programs. He also works in the Python Infrastructure team at the Software Infrastructure department at Bloomberg L.P. Pablo is a CPython core developer and a Theoretical Physicist specializing in general relativity and black hole physics. He is currently serving on the Python Steering Council and he is the release manager for Python 3.10 and 3.11. He has also a cat but he does not code.", "public_name": "Pablo Galindo Salgado", "guid": "d9b56eea-ab88-55e1-a386-0e551d3423ce", "url": "https://programme.europython.eu/europython-2023/speaker/NLHSWB/"}, {"code": "LUY39H", "name": "Mark Shannon", "avatar": "https://programme.europython.eu/media/avatars/LUY39H_deTgmxG.webp", "biography": "Mark has been using Python since 2005, and has been contributing to CPython since 2010. After a long interlude working on static analysis tools, he has returned to working on speeding up Python over the last couple of years. His academic and commercial work is focused on compilers, virtual machines and static analysis for Python. His PhD was on building virtual machines for dynamic languages. He is the author of various PEPs including 412, 590, 626 and 659. Mark is currently working for Microsoft as the technical lead of the \"Faster CPython\" team.", "public_name": "Mark Shannon", "guid": "3017d907-d197-5c21-9322-9f62b284648a", "url": "https://programme.europython.eu/europython-2023/speaker/LUY39H/"}, {"code": "PMWVSA", "name": "Steve Dower", "avatar": "https://programme.europython.eu/media/avatars/PMWVSA_9pbVtnv.webp", "biography": null, "public_name": "Steve Dower", "guid": "13d4f8c7-5080-55f6-b6aa-8eb8e622add7", "url": "https://programme.europython.eu/europython-2023/speaker/PMWVSA/"}, {"code": "EKPXTC", "name": "Marta Gomez", "avatar": "https://programme.europython.eu/media/avatars/EKPXTC_DlnVLZa.webp", "biography": "Marta is software engineer at VirusTotal, an online threat analysis platform which is part of Google Cloud Security. She has more than 6 years of experience in the cybersecurity industry and she coded in Python for almost 10 years.", "public_name": "Marta Gomez", "guid": "2df848a6-3a90-5101-9b07-fcee3b1005aa", "url": "https://programme.europython.eu/europython-2023/speaker/EKPXTC/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/AAJLRW/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/AAJLRW/", "attachments": []}, {"guid": "63328c9e-fcec-5c7f-81df-2b9c52d8d7f6", "code": "9GJFZZ", "id": 30039, "logo": null, "date": "2023-07-19T15:30:00+02:00", "start": "15:30", "end": "2023-07-19T16:00:00+02:00", "duration": "00:30", "room": "PyCharm (Forum Hall)", "slug": "europython-2023-30039-dynamically-generated-methods-with-a-non-generic-signature", "url": "https://programme.europython.eu/europython-2023/talk/9GJFZZ/", "title": "Dynamically generated methods with a non-generic signature", "subtitle": "", "track": "Python Internals & Ecosystem (2023)", "type": "Talk", "language": "en", "abstract": "In other words, Descriptors + PEP-362 (function signature object) and a seasoning of PEP-487 (simpler customization of class creation via `__init_subclass__`).\n\nThere are different ways to have generated methods and attributes attached to all classes in a library, and this talk presents the way we\u2019re doing it in scikit-learn. Here you\u2019ll understand the use-case, and see the details and challenges presented by it, and how we approached them.", "description": "Title:\nDynamically generated methods with a non-generic signature\n\nAbstract:\nIn other words, Descriptors + PEP-362 (function signature object) and a seasoning of PEP-487 (simpler customization of class creation via `__init_subclass__`).\n\nThere are different ways to have generated methods and attributes attached to all classes in a library, and this talk presents the way we\u2019re doing it in scikit-learn. Here you\u2019ll understand the use-case, and see the details and challenges presented by it, and how we approached them.\n\nLong:\nThe use-case we study here goes as: we would like to add methods to all `Estimator`s, which are all subclasses of the `BaseEstimator`. The signature of the methods generated depends on the signature of other methods existing in those subclasses, but we also want to give the option of modifying generated methods without having to change the existing methods.\n\nThe solution we present involves a few concepts which we\u2019ll explain during the talk:\nInvestigate the existing methods\u2019 signature using `inspect`\nManually traverse MRO (method resolution order) and inspect class attributes allowing for modifications on what the `inspect` has concluded\nUse a descriptor to generate methods accordingly\nUse PEP-362 to attach a signature object to the generated methods\nDynamically generate docstrings for those methods\nUse PEP-487, aka `__init_subclass__`, to attach those methods to child classes when appropriate\n\nThis is a hands-on talk, explaining each concept in isolation and then showing how they fit together, and we\u2019ll be presenting and testing code during the talk.", "recording_license": "", "do_not_record": false, "persons": [{"code": "HGSWKF", "name": "Adrin Jalali", "avatar": "https://programme.europython.eu/media/avatars/HGSWKF_ZnotwvU.webp", "biography": "Adrin works on skops which tackles some of the MLOps challenges related to scikit-learn models. He has a PhD in Bioinformatics, has worked as a consultant, and in an algorithmic privacy and fairness team. He's also a core developer of scikit-learn and fairlearn.", "public_name": "Adrin Jalali", "guid": "22a25e41-bb3a-5b22-88f0-61ed1b5ebc4c", "url": "https://programme.europython.eu/europython-2023/speaker/HGSWKF/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/9GJFZZ/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/9GJFZZ/", "attachments": []}, {"guid": "4d98a931-7820-5603-a98a-475499d2d449", "code": "XW8RB3", "id": 28769, "logo": null, "date": "2023-07-19T16:05:00+02:00", "start": "16:05", "end": "2023-07-19T16:50:00+02:00", "duration": "00:45", "room": "PyCharm (Forum Hall)", "slug": "europython-2023-28769-writing-a-python-interpreter-from-scratch-in-half-an-hour", "url": "https://programme.europython.eu/europython-2023/talk/XW8RB3/", "title": "Writing a Python interpreter from scratch, in half an hour.", "subtitle": "", "track": "Python Internals & Ecosystem (2023)", "type": "Talk", "language": "en", "abstract": "You use the Python interpreter every single day. It does a lot of things for you: checks that your code has valid syntax and is properly indented, imports modules from various locations, and runs your code instruction-by-instruction.\n\nBut if you've ever wondered how exactly it happens, this talk will teach you the entire process, by building a working python interpreter from scratch.", "description": "The plan is to write a really simple, but working Python interpreter that can run Python code, from scratch.\n\nThe topics we'll be going through to build this interpreter:\n- Lexing an indentation based language\n  - Why `Indent` and `Dedent` need to be tokens\n- Writing a Recursive Descent parser\n  - Parsing literals: ints, strings, lists, dictionaries\n  - Parsing expressions\n  - Parsing function calls - `print(\"Hello world!\")`\n- Semantic analysis: removing invalid code\n- A tree-walk interpreter\n  - Interpreting `print()` statements\n  - Running `import` statements\n  - File I/O: implementing `open()` calls\n- Running `json.loads()` and `json.dumps()` from scratch", "recording_license": "", "do_not_record": false, "persons": [{"code": "CTVASZ", "name": "Tushar Sadhwani", "avatar": "https://programme.europython.eu/media/avatars/CTVASZ_UQAdas3.webp", "biography": null, "public_name": "Tushar Sadhwani", "guid": "3840c9a8-a862-54ad-bbdd-e0a07e66df65", "url": "https://programme.europython.eu/europython-2023/speaker/CTVASZ/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/XW8RB3/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/XW8RB3/", "attachments": []}, {"guid": "b91a3c56-ca0a-5836-8981-cda80a1b4f31", "code": "LJZBKW", "id": 33372, "logo": null, "date": "2023-07-19T17:00:00+02:00", "start": "17:00", "end": "2023-07-19T17:45:00+02:00", "duration": "00:45", "room": "PyCharm (Forum Hall)", "slug": "europython-2023-33372-large-language-models-from-prototype-to-production", "url": "https://programme.europython.eu/europython-2023/talk/LJZBKW/", "title": "Large Language Models: From Prototype to Production", "subtitle": "", "track": null, "type": "Keynote", "language": "en", "abstract": "Large Language Models (LLMs) have shown some impressive capabilities and their impact is the topic of the moment. What will the future look like? Are we going to only talk to bots? Will prompting replace programming? Or are we just hyping up unreliable parrots and burning money? In this talk, I'll present visions for NLP in the age of LLMs and a pragmatic, practical approach for how to use Large Language Models to ship more successful NLP projects from prototype to production today.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "FLAREA", "name": "Ines Montani", "avatar": "https://programme.europython.eu/media/avatars/FLAREA_9ViQwnJ.webp", "biography": "Ines Montani is a developer specialising in tools for AI and natural language processing (NLP) technology.\n\nShe\u2019s the co-founder and CEO of [Explosion](https://explosion.ai/), a core developer of [spaCy](https://spacy.io/), a popular open-source library for Natural Language Processing in Python, and [Prodigy](https://prodi.gy/), a modern annotation tool for creating training data for machine learning models.\n\nInes, who had already [keynoted EuroPython](https://ep2018.europython.eu/en/events/keynotes/index.html) five years ago, will share with us the developments, progress and lessons learned in the field of natural language processing. It'll be an opportunity for us to collectively retrospect on half a decade of work in the Python community within a field that is gaining in popularity and momentum.", "public_name": "Ines Montani", "guid": "3db3cdf6-7165-5b54-801d-6f38f82cd89e", "url": "https://programme.europython.eu/europython-2023/speaker/FLAREA/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/LJZBKW/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/LJZBKW/", "attachments": []}, {"guid": "322c030d-671c-5838-b6d0-5df177f094e1", "code": "938SAD", "id": 34203, "logo": null, "date": "2023-07-19T17:50:00+02:00", "start": "17:50", "end": "2023-07-19T18:35:00+02:00", "duration": "00:45", "room": "PyCharm (Forum Hall)", "slug": "europython-2023-34203-lightning-talks-wednesday", "url": "https://programme.europython.eu/europython-2023/talk/938SAD/", "title": "Lightning Talks Wednesday", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Enjoy Wednesday's lightning talks, hosted by La\u00eds Carvalho \u2b07\ufe0f\n\n  - **Pyvo Meetup @ EuroPython** \u2014 Mia Baji\u0107\n  - **AI Game Tournament** \u2014 Neil Vaytet\n  - **How Government Policy Can Affect Open Source** \u2014 Cheuk Ting Ho\n  - **AWS Lambda \u2764\ufe0f Python 3.11** \u2014 Jonas Weissensel\n  - **Brings Llamas Closer** \u2014 Vaibhav (VB) Srivastav \n  - **Adding Arrow Function to Python Grammar** \u2014 Oguz Albayrak \n  - **A Curious Bug that Happened with List Comprehensions** \u2014 Jouni Sepp\u00e4nen  \n  - **Spy** \u2014 Antonio Cuni\n  - **Learning Python Through Blocks** \u2014 Joshua Lowe  \n  - **25 Years of Open Source Software** \u2014 Radomir Dopieralski", "description": "", "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/938SAD/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/938SAD/", "attachments": []}], "South Hall 2A": [{"guid": "6181c044-f0c9-5bfd-b141-0b56850f3436", "code": "UVUXFQ", "id": 30022, "logo": null, "date": "2023-07-19T10:45:00+02:00", "start": "10:45", "end": "2023-07-19T11:15:00+02:00", "duration": "00:30", "room": "South Hall 2A", "slug": "europython-2023-30022-adding-zero-downtime-migrations-strategy-in-a-saas-project", "url": "https://programme.europython.eu/europython-2023/talk/UVUXFQ/", "title": "Adding zero-downtime migrations strategy in a SaaS project", "subtitle": "", "track": "Web (2023)", "type": "Talk", "language": "en", "abstract": "Zero-downtime migration is a technique for running database migrations without stopping the web app. As clients' databases grow larger, applying necessary updates to the database can become time-consuming or potentially break the database schema. This talk will describe problematic operation types and provide a strategy for writing and running migrations to release new software versions without downtime.", "description": "When running a web-based SaaS application, it is important to provide software updates without causing downtime for users. However, these updates often require changing the database schema with migrations. In this talk, we will discuss a solution that allows the software to remain life and able to handle incoming traffic while performing migrations.\nTo ensure zero downtime during this process, the old code must be compatible with the new database schema. Although this may seem easy, it often isn't. In this talk, we will cover problematic operations such as:\n- renaming tables or columns,\n- deleting tables or columns,\n- adding new columns,\n- updating all records in a table with a large amount of data.\n\nWe will discuss potential problems that may arise due to certain changes and provide corresponding solutions. Additionally, I will describe the challenges we encountered when introducing this approach to Saleor, an open-source e-commerce platform powered by Django.\n\nWhile the topic and examples are from the Django project, the issue is general and can be faced by any database-related project.\n\nThe structure of the talk:\n1. Background of the problem\n2. Examples of operations causing the downtime\n3. Introducing the zero-downtime strategy\n    a) Writing migrations that follow a zero downtime approach\n    b) Proceeding the software update without any downtime", "recording_license": "", "do_not_record": false, "persons": [{"code": "UELBSG", "name": "Iga Karbowiak", "avatar": "https://programme.europython.eu/media/avatars/UELBSG_Fnl3ciO.webp", "biography": "I'm a Python Developer for over 4 years, currently working in Saleor Commerce.  I'm developing Saleor, an rapidly-growing open-source e-commerce platform powered by Django.", "public_name": "Iga Karbowiak", "guid": "59122efc-a709-545d-aac1-5f3b6adcea15", "url": "https://programme.europython.eu/europython-2023/speaker/UELBSG/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/UVUXFQ/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/UVUXFQ/", "attachments": []}, {"guid": "ee889328-056c-5578-962e-a0d7298b5865", "code": "PMNVR3", "id": 29402, "logo": null, "date": "2023-07-19T11:35:00+02:00", "start": "11:35", "end": "2023-07-19T12:05:00+02:00", "duration": "00:30", "room": "South Hall 2A", "slug": "europython-2023-29402-a-quick-guide-to-logging-for-django-developers", "url": "https://programme.europython.eu/europython-2023/talk/PMNVR3/", "title": "A quick guide to logging for Django developers", "subtitle": "", "track": "Web (2023)", "type": "Talk", "language": "en", "abstract": "The python `logging` module is a really powerful tool for troubleshooting with a lot of potential to save us hours of debugging.\n\nThe aim for the talk is to provide an overview how the logging module in python works, how Django uses it and how to improve our logging to make it better for our web project.", "description": "As Django developers, we implictly use the python `logging` module daily in our work - for HTTP requests, for SQL queries, for custom logs, etc.\n\nThe aim of this talk is to provide useful information for Django developers on:\n1. How does logging in python works?\n2. How to setup a logging configuration based on our needs?\n3. How to configure logging in our Django app?\n4. Tips and tricks for custom logging in Django app", "recording_license": "", "do_not_record": false, "persons": [{"code": "7HPWPW", "name": "Ivaylo Donchev", "avatar": "https://programme.europython.eu/media/avatars/7HPWPW_8AM91LT.webp", "biography": "Currently working as Technical team lead in HackSoft in Bulgaria.\n\nA programmer for ~8 years, working with Python and DJango for 7 years.\n\nSpeaker at EuroPython 2018, EuroPython 2022 and PyCon Balkan 2018.", "public_name": "Ivaylo Donchev", "guid": "20a3dbd0-196b-5b75-9e8b-e910486f6e82", "url": "https://programme.europython.eu/europython-2023/speaker/7HPWPW/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/PMNVR3/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/PMNVR3/", "attachments": []}, {"guid": "69f7958c-f328-5379-9ea8-e68fb00ac25c", "code": "VPWTYU", "id": 29482, "logo": null, "date": "2023-07-19T12:10:00+02:00", "start": "12:10", "end": "2023-07-19T12:40:00+02:00", "duration": "00:30", "room": "South Hall 2A", "slug": "europython-2023-29482-stop-using-print-understanding-and-using-the-logging-module", "url": "https://programme.europython.eu/europython-2023/talk/VPWTYU/", "title": "Stop using print! Understanding and using the \"logging\" module", "subtitle": "", "track": "Python Libraries (2023)", "type": "Talk", "language": "en", "abstract": "If you're like me, then you've long known about Python's \"logging\" module, but you've ignored it because it seemed too complex. In this talk, I'll show you that \"logging\" is easy to learn and use, giving you far more flexibility than you can get from inserting calls to \"print\" all over your code. I'll show you how you can start to use \"logging\" right away -- but also how you can use it to create a sophisticated logging system that sends different types of output to different destinations. After this talk, you'll know how to use \"logging\", and you'll be less likely to use \"print\" in your applications.", "description": "You don't need to be a Python expert to use the \"logging\" module! In this talk, I'll show how you can take advantage of it almost right away, with the basic configuration. We'll then go into more complex parts of the module, looking at different handler types (and using multiple handlers), formatters, and filters. We'll look at different ways you can configure your logging system, and what some of the best practices are for including logging in your programs. \n\nI'm aiming this talk at beginners because it took me far too long to recognize the usefulness of the \"logging\" module, and I'm hoping to help others start using it much earlier in their Python journey.", "recording_license": "", "do_not_record": false, "persons": [{"code": "VZM8L3", "name": "Reuven M. Lerner", "avatar": "https://programme.europython.eu/media/avatars/VZM8L3_hrGE7DW.webp", "biography": "Reuven is a full-time Python trainer, teaching at companies around the world, and also offering a variety of online courses for individuals. He wrote \"Python Workout\" and \"Pandas Workout,\" both published by Manning. Reuven writes three newsletters: Better Developers (about Python and software engineering), Bamboo Weekly (using Pandas to analyze current events), and Trainer Weekly (about the corporate training business). Reuven lives with his wife and three children in Modi'in, Israel.", "public_name": "Reuven M. Lerner", "guid": "4f613bef-4979-5633-affd-1029757f99b4", "url": "https://programme.europython.eu/europython-2023/speaker/VZM8L3/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/VPWTYU/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/VPWTYU/", "attachments": []}, {"guid": "6b110801-5565-55a0-b99a-198308625779", "code": "CUEWG8", "id": 29927, "logo": null, "date": "2023-07-19T14:00:00+02:00", "start": "14:00", "end": "2023-07-19T14:30:00+02:00", "duration": "00:30", "room": "South Hall 2A", "slug": "europython-2023-29927-pydantic-making-life-easier-with-data-validation", "url": "https://programme.europython.eu/europython-2023/talk/CUEWG8/", "title": "Pydantic: Making life easier with data validation", "subtitle": "", "track": "Python Libraries (2023)", "type": "Talk", "language": "en", "abstract": "Abstract:\nData validation is a critical component of any software application, ensuring that the data processed by the application is accurate and consistent. However, data validation can often be a tedious and error-prone process, especially when dealing with complex data structures. Pydantic, a powerful and flexible data validation library for Python, simplifies the process of data validation by providing a declarative syntax that is easy to read and write.", "description": "In this talk, we will introduce Pydantic and discuss how it can be used to make data validation easy in Python. We will cover the following topics:\n\n- What is Pydantic and how does it work?\n- How to define data models using Pydantic\n- Validating and converting data using Pydantic\n- Working with complex data structures using Pydantic\n- Integrating Pydantic with other Python libraries\n\nWe will also provide real-world examples of how Pydantic has been used to simplify data validation in production applications. By the end of this talk, attendees will have a solid understanding of Pydantic and how it can be used to make data validation easy in their Python applications.\n\nTarget Audience:\nThis talk is aimed at Python developers of all levels who are interested in simplifying the process of data validation in their applications. No prior knowledge of Pydantic is required, but a basic understanding of Python is recommended.\n\nConclusion:\nIn this talk, attendees will learn how to use Pydantic to simplify data validation in their Python applications. Whether you are building a small script or a large-scale application, Pydantic can be an invaluable tool for data validation", "recording_license": "", "do_not_record": false, "persons": [{"code": "CHTAPC", "name": "Bojan Miletic", "avatar": "https://programme.europython.eu/media/avatars/CHTAPC_7VO7ieh.webp", "biography": "Senior Python developer and AWS Solution Architect (AWS Certified Solution Architect Associate) with more than 10 years of experience, helping AI/ML companies and their AI/data scientists turn ML models from the data lab into PoCs, MVPs, or fully functional products that convincingly prove their value to investors and other important decision-makers. By using Python and AWS as superpowers, I help get real business value from ML algorithms. And I happily consult AI scientists on how to write clean, reusable code in Python and thus save thousands (or even millions) on ML-based software deployment and development.\n\nSpeaker at world-leading Python conferences such as EuroPython, Python Ireland, PyJamas Conference, Geekle.us, PyBerlin, and Conf42.\n\nMentor at Humble Data (PyCon Africa 2020 Conference Data Workshop and PyData Global).\n\nCo-host at Bug Hunters Cafe podcast on software bugs and how to deal with them.", "public_name": "Bojan Miletic", "guid": "ab3cdbe9-e41e-5566-8359-414141bd1011", "url": "https://programme.europython.eu/europython-2023/speaker/CHTAPC/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/CUEWG8/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/CUEWG8/", "attachments": []}, {"guid": "2eb204b9-020b-5a62-8fa9-278fa69363dd", "code": "MEXBJ7", "id": 29170, "logo": null, "date": "2023-07-19T14:35:00+02:00", "start": "14:35", "end": "2023-07-19T15:05:00+02:00", "duration": "00:30", "room": "South Hall 2A", "slug": "europython-2023-29170-cli-application-development-made-easier-with-typer", "url": "https://programme.europython.eu/europython-2023/talk/MEXBJ7/", "title": "CLI application development made easier with typer", "subtitle": "", "track": "Python Libraries (2023)", "type": "Talk", "language": "en", "abstract": "Do you feel like digging through github code to learn how to use it is painful? Also think simply packaging and publishing your library to the world on pypi sometimes isn't enough to help others use what you are working on? Then come join me, as this talks is definitely for you!\n\nIn this presentation, I'd like to present you typer, and why it's probably the easiest and most affordable way to create command line applications (in 2023) that your users will love to use.\nWe'll discuss it's key strong points, how to structure your CLI application, and make it ready to be packaged and published with no hussle.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "PK8LSS", "name": "Vin\u00edcius Gubiani Ferreira", "avatar": "https://programme.europython.eu/media/avatars/PK8LSS_AnxijVa.webp", "biography": "Love to code, to read other people's code, and to help others achieve what they want with code. Be it directly or by guiding them to find out for themselves.", "public_name": "Vin\u00edcius Gubiani Ferreira", "guid": "6d7b7670-3e6b-5b7c-9bf3-898e415a3a7c", "url": "https://programme.europython.eu/europython-2023/speaker/PK8LSS/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/MEXBJ7/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/MEXBJ7/", "attachments": []}, {"guid": "43a56845-435a-5769-b3a1-2189285d3ed5", "code": "NLZZBQ", "id": 29456, "logo": null, "date": "2023-07-19T15:30:00+02:00", "start": "15:30", "end": "2023-07-19T16:00:00+02:00", "duration": "00:30", "room": "South Hall 2A", "slug": "europython-2023-29456-polars-vs-pandas-what-s-the-difference", "url": "https://programme.europython.eu/europython-2023/talk/NLZZBQ/", "title": "Polars vs Pandas - what's the difference?", "subtitle": "", "track": "PyData: Software Packages & Jupyter (2023)", "type": "Talk", "language": "en", "abstract": "Have you heard about Polars? What are the differences? Is Polars replacing Pandas? In this talk, we are going to demystify these questions about Polars. Compares the differences between Polars and Pandas, and explains the pros and cons of both of them.", "description": "In this talk, we will explore what is Polars, a new tabular data management package that is written in Rust and used Arrow. Many people compare it to Pandas, the goto package for tabular data management for years. However, there is still some confusion regarding what Polars really is, whether or not it is more efficient than Pandas and if you can just replace Pandas with Polars. Hopefully, by the end of the talk, all of these questions will be answered and for people new to Polars, they will feel encouraged to try it out and more confident to make the switch.\n\n## Goal\n\nThis talk is for data scientists who have been using Pandas and have only heard of the name Polars to understand more about the difference and similarities between the two libraries and can make a better decision of which one to use when they start their next project.\n\n## Outline\n\n- Introduction: why I am talking about this (5 mins)\n- Polars is not Pandas 2.0 (5 mins)\n- If you do this in Pandas, do that in Polars (10 mins)\n- Performance comparison (5 mins)\n- Which one should I use? (5 mins)", "recording_license": "", "do_not_record": false, "persons": [{"code": "8EGVC9", "name": "Cheuk Ting Ho", "avatar": "https://programme.europython.eu/media/avatars/8EGVC9_LbezfQb.webp", "biography": "Before working in Developer Relations, Cheuk has been a Data Scientist in various companies which demands high numerical and programmatical skills, especially in Python. To follow her passion for the tech community, Cheuk is now working with the open-source community. Cheuk also contributes to multiple Open Source libraries like Hypothesis, Django and Pandas.\n\nBesides her work, Cheuk enjoys talking about Python on personal streaming platforms and podcasts. Cheuk has also been a speaker at Universities and various conferences. Besides speaking at conferences, Cheuk also organises events for developers. Conferences that Cheuk has organized include EuroPython (which she is a board member), PyData Global and Pyjamas Conf. Believing in Tech Diversity and Inclusion, Cheuk constantly organizes workshops and mentored sprints for minority groups. In 2021, Cheuk has become a Python Software Foundation fellow.", "public_name": "Cheuk Ting Ho", "guid": "6acb0b45-07a8-5f1c-a3fa-45ae8f0a9858", "url": "https://programme.europython.eu/europython-2023/speaker/8EGVC9/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/NLZZBQ/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/NLZZBQ/", "attachments": []}, {"guid": "28978d4e-45c6-582b-98aa-7946cc50e2d1", "code": "EATNFR", "id": 29438, "logo": null, "date": "2023-07-19T16:05:00+02:00", "start": "16:05", "end": "2023-07-19T16:50:00+02:00", "duration": "00:45", "room": "South Hall 2A", "slug": "europython-2023-29438-the-state-of-production-machine-learning-in-2023", "url": "https://programme.europython.eu/europython-2023/talk/EATNFR/", "title": "The State of Production Machine Learning in 2023", "subtitle": "", "track": "PyData: Machine Learning, Stats (2023)", "type": "Talk", "language": "en", "abstract": "As the number of production machine learning use-cases increase, we find ourselves facing new and bigger challenges where more is at stake. Because of this, it's critical to identify the key areas to focus our efforts, so we can ensure our machine learning pipelines are reliable and scalable. In this talk we dive into the state of production machine learning, and we will cover the concepts that make production machine learning so challenging, as well as some of the recommended tools available to tackle these challenges.", "description": "As the number of production machine learning use-cases increase, we find ourselves facing new and bigger challenges where more is at stake. Because of this, it's critical to identify the key areas to focus our efforts, so we can ensure our machine learning pipelines are reliable and scalable. In this talk we dive into the state of production machine learning, and we will cover the concepts that make production machine learning so challenging, as well as some of the recommended tools available to tackle these challenges.\n\nThis talk will cover key principles, patterns and frameworks around the open source frameworks powering single or multiple phases of the end-to-end MLOps lifecycle, incluing model training, deploying, monitoring, etc. We will be covering a high level overview of the production ML ecosystem and dive into best practices that have been abstracted from production use-cases of machine learning operations at scale, as well as how to leverage tools to that will allow us to deploy, explain, secure, monitor and scale production machine learning systems.", "recording_license": "", "do_not_record": false, "persons": [{"code": "EQMGKH", "name": "Alejandro Saucedo", "avatar": "https://programme.europython.eu/media/avatars/EQMGKH_QNrxGhV.webp", "biography": "Alejandro is the Chief Scientist at the Institute for Ethical AI & Machine Learning, where he contributes to policy and industry standards on the responsible design, development and operation of AI, including the fields of explainability, GPU acceleration, ML security and other key machine learning research areas. With over 10 years of software development experience, Alejandro has held technical leadership positions across hyper-growth scale-ups and has a strong track record building cross-functional teams of software engineers. He is currently appointed as governing council Member-at-Large at the Association for Computing Machinery, and is currently the Chairperson of the GPU Acceleration Kompute Committee at the Linux Foundation.\n\nLinkedin: https://linkedin.com/in/axsaucedo\nTwitter: https://twitter.com/axsaucedo\nGithub: https://github.com/axsaucedo\nWebsite: https://ethical.institute/", "public_name": "Alejandro Saucedo", "guid": "b4dea118-0685-557f-a468-bd4dad811f97", "url": "https://programme.europython.eu/europython-2023/speaker/EQMGKH/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/EATNFR/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/EATNFR/", "attachments": []}], "South Hall 2B": [{"guid": "df914c42-864d-595e-a659-aa3fec3fc072", "code": "D88LXE", "id": 29606, "logo": null, "date": "2023-07-19T10:45:00+02:00", "start": "10:45", "end": "2023-07-19T11:15:00+02:00", "duration": "00:30", "room": "South Hall 2B", "slug": "europython-2023-29606-building-native-rust-modules-for-python", "url": "https://programme.europython.eu/europython-2023/talk/D88LXE/", "title": "Building native Rust modules for Python", "subtitle": "", "track": "Software Engineering & Architecture (2023)", "type": "Talk", "language": "en", "abstract": "We'll cover the basics of Rust and demonstrate how to create a Rust module that can be imported and used within Python. Discover the advantages of using Rust in Python, especially regarding improved performance.", "description": "As Python developers, we love our favorite language's ease of use and flexibility. However, performance becomes increasingly important as projects grow in size and complexity. That's where Rust can come in.\n\nIn this session, we'll explore the basics of Rust and demonstrate how to build native Rust modules for Python. We'll cover the advantages of using Rust in Python, including improved performance and memory safety, and how to leverage existing Rust libraries within our Python projects.\n\nDetailed plan:\n- Why Rust?\n- Introduction to Rust for Python developers\n- Rust tooling for Python module development\n- Building a simple Python extension module in Rust\n- Writing tests to ensure proper integration with Python\n- Performance comparisons between the Rust and Python implementation\n- Real-world examples of successful Rust and Python integration\n\nWhether you're a Python developer looking to improve the performance of your projects or just curious about Rust, this session will provide valuable insights and practical guidance on building native Rust modules for Python.", "recording_license": "", "do_not_record": false, "persons": [{"code": "UF9YY9", "name": "Arthur Pastel", "avatar": "https://programme.europython.eu/media/avatars/UF9YY9_I3J3R9Y.webp", "biography": "Hi, I'm Arthur, a software engineer based in Paris \ud83c\uddeb\ud83c\uddf7\ud83e\udd56\n\nI worked as an engineer in a few tech companies over the past years, mostly building software with Python but I'm also passionate about (too ??) many other software fields.\n\nI'm an Open source enthusiast and love to contribute when I have the possibility. 2 years ago, I built ODMantic, an ODM for MongoDB & Python. It's a kind of ORM but built on top of Pydantic in order to provide a seamless model definition and integration with FastAPI.\n\nLast year, I founded CodSpeed, a Continuous Performance Analysis solution helping tech companies to prevent performance issues directly in their CI pipelines.", "public_name": "Arthur Pastel", "guid": "0f9a8b22-d679-502c-8564-a3c687abb49c", "url": "https://programme.europython.eu/europython-2023/speaker/UF9YY9/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/D88LXE/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/D88LXE/", "attachments": []}, {"guid": "f1b5c206-0dc5-5ffa-986b-2b0aebdc6f7c", "code": "H3TBAP", "id": 28774, "logo": null, "date": "2023-07-19T11:35:00+02:00", "start": "11:35", "end": "2023-07-19T12:05:00+02:00", "duration": "00:30", "room": "South Hall 2B", "slug": "europython-2023-28774-rust-for-python-data-engineers", "url": "https://programme.europython.eu/europython-2023/talk/H3TBAP/", "title": "Rust for Python data engineers", "subtitle": "", "track": "PyData: Data Engineering (2023)", "type": "Talk", "language": "en", "abstract": "Python is a popular language for data engineering but has some limitations in performance, concurrency, and production deployments. The Rust programming language offers powerful alternatives with strong compile-time and memory safety guarantees. In this talk, I'll explore how data engineers can leverage Rust to build high-performance data pipelines and processing systems. I'll cover the Rust ecosystem for data work, including frameworks and libraries for working with data formats, databases, streaming systems, and scientific computing. By combining Rust and Python, data engineers can harness the benefits of both languages and build robust end-to-end data systems that scale to meet demanding production needs.", "description": "After using Python for almost a decade now, mostly for data engineering, I thought I'd give Rust a try to solve some of the problems I face daily as a data engineer. What I learned doing so is that Rust can be a great and valid additional tool for any data engineer, especially in combination with Python.\n\nI'll elaborate on:\n- How the Python ecosystem can benefit from integrating Rust in data engineering workflows \n- How Rust can be interfaced with Python\n- The strengths of each programming language \n\nFurther reading material: \n\n- [Blog post](https://karimjedda.com/carefully-exploring-rust/) \n- [HN discussion](https://news.ycombinator.com/item?id=33581901)\n- [LinkedIn post](https://www.linkedin.com/feed/update/urn:li:activity:7035701103337828352/)\n- [Website](https://datawithrust.com/)", "recording_license": "", "do_not_record": false, "persons": [{"code": "J8PUCE", "name": "Karim Jedda", "avatar": "https://programme.europython.eu/media/avatars/J8PUCE_hlgMU8m.webp", "biography": "I automate stuff using technology to spend more time with my cat. I've been writing code for a very long time and I somehow still like it.", "public_name": "Karim Jedda", "guid": "b4dad32c-52cc-57f1-ad15-f9c7de603fc4", "url": "https://programme.europython.eu/europython-2023/speaker/J8PUCE/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/H3TBAP/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/H3TBAP/", "attachments": []}, {"guid": "7b1bf20f-9ce4-5114-a8e9-23619c8c8c4d", "code": "AXWQBB", "id": 29385, "logo": null, "date": "2023-07-19T12:10:00+02:00", "start": "12:10", "end": "2023-07-19T12:55:00+02:00", "duration": "00:45", "room": "South Hall 2B", "slug": "europython-2023-29385-would-rust-make-you-a-better-pythonista", "url": "https://programme.europython.eu/europython-2023/talk/AXWQBB/", "title": "Would Rust make you a better Pythonista?", "subtitle": "", "track": "Software Engineering & Architecture (2023)", "type": "Talk", "language": "en", "abstract": "What would a Pythonista gain from becoming a Rustacean other than semicolons and brackets?\n\nIn this talk I'll share the learnings and achievements I got by adding the Rust programming language into my Python life. Illustrating a real story now in production at scale, I'll walk you through all the pains and joys of this unexpected journey which changed me more than I anticipated.\n\nProposed agenda:\n- Project introduction\n- Motivations of selecting this project to learn Rust\n- Tales of a Pythonista learning Rust\n- Results, numbers and production graphs\n- How Rust influences my daily Python\n- Was it worth it? Should you do it too?", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "LGD9GF", "name": "Alexys Jacob", "avatar": "https://programme.europython.eu/media/avatars/LGD9GF_HQdNsiJ.webp", "biography": "CTO at Numberly. Open-source contributor, Gentoo Linux developer and PSF contributing member. I enjoy sharing my experience on architecture design, distributed systems, fault tolerance and scaling Python... and Rust!", "public_name": "Alexys Jacob", "guid": "dffec23c-624b-5b2b-b20b-e1d90cea5e0c", "url": "https://programme.europython.eu/europython-2023/speaker/LGD9GF/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/AXWQBB/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/AXWQBB/", "attachments": []}, {"guid": "2cdbf3f2-ec67-54e0-a616-6afd87e264d9", "code": "DQBDJE", "id": 29542, "logo": null, "date": "2023-07-19T14:00:00+02:00", "start": "14:00", "end": "2023-07-19T14:30:00+02:00", "duration": "00:30", "room": "South Hall 2B", "slug": "europython-2023-29542-continue-thinking-small-next-level-machine-learning-with-tinyml", "url": "https://programme.europython.eu/europython-2023/talk/DQBDJE/", "title": "Continue Thinking Small: Next level machine learning with TinyML", "subtitle": "", "track": "Makers, Microcontrollers and IoT (2023)", "type": "Talk", "language": "en", "abstract": "The Internet of Things has been flourishing for many years, and Python has been playing an important role on the \u201ceasy to automate\u201d topic for many devices. One of the challenges for the next generation ML is to think small, you read that right \u201cthinking small\u201d. It\u2019s time to start being able to have mechanisms with super well-trained ML models in small-devices: ML on Microcontrollers. We are going to dive into TinyML and evaluate different setups to interact with sensors on microcontrollers. We will discuss the different hardware options and frameworks to start with, while checking different use cases that TinyML can solve, like: agriculture, conservation, health issues detection, ecology monitoring etc. In this talk, you will learn about Tiny Machine Learning (TinyML), which is an approach that explores machine learning to be deployed in embedded systems that enable run ML on microcontrollers. Lastly, we will discuss real use-cases and a practical case that could be implemented at home", "description": "We usually associate the future of computing as large clusters being able to perform tasks in a fraction of a second, but is it really the only scenario on how computational hardware will evolve?\n\nMachine learning has become an important component in our societies, we see how people, communities, and global companies are focusing their resources into improving their technological stack, and being the leader into the next generation of AI.\nAt the same time that we see clusters getting larger, GPUs more powerful, and our phones are practically computers being capable of doing almost everything, we do see that some of the smart devices are becoming smaller.\n\nThe Internet of Things has been flourishing for many years, and Python has been playing an important role on the \u201ceasy to automate\u201d topic for many devices, but can Python help us in all scenarios? One of the challenges for the next generation ML is to think small, you read that right \u201cthinking small\u201d.\n\nIt\u2019s time to start being able to have mechanisms with super well-trained ML models in small-devices: ML on Microcontrollers.\n\nWe are going to dive into TinyML and evaluate different setups to interact with sensors on microcontrollers. We will discuss the different hardware options and frameworks to start with, while checking different use cases that TinyML can solve, like: agriculture, conservation, health issues detection, ecology monitoring, autonomous vehicles, etc.\n\nIn this talk, you will learn about Tiny Machine Learning (TinyML), which is an approach that explores machine learning to be deployed in embedded systems that enable run ML on microcontrollers. \nLastly, we will discuss a real use-case that you will be able to implement at home.", "recording_license": "", "do_not_record": false, "persons": [{"code": "ST8PJ9", "name": "Maria Jose Molina Contreras", "avatar": "https://programme.europython.eu/media/avatars/ST8PJ9_MoSOowD.webp", "biography": "I am a passionate biologist, working as a Sr. Data Scientist in Berlin. In my spare time, I love to develop projects that can help people around, especially people who are eager to learn new things in tech. For that reason, I try to develop projects that are beginner-friendly, even with complex topics. \nI am an active member in the Python Berlin communities, helping to organize workshops and participating actively in mentoring newcomers (specially, people who are changing from career path) and giving talks in many local communities like PyLadies and also in international conferences. Moreover, I participated in the python documentation translation (English-Spanish) and I am  coordinator in the discord channel of  \"Python en Espa\u00f1ol\".", "public_name": "Maria Jose Molina Contreras", "guid": "a02882a9-8070-55c4-b9b2-00d463194862", "url": "https://programme.europython.eu/europython-2023/speaker/ST8PJ9/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/DQBDJE/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/DQBDJE/", "attachments": []}, {"guid": "e8ce7f3f-9ddc-50ef-a044-ae8851bbdcd8", "code": "NZ8J7S", "id": 29210, "logo": null, "date": "2023-07-19T14:35:00+02:00", "start": "14:35", "end": "2023-07-19T15:05:00+02:00", "duration": "00:30", "room": "South Hall 2B", "slug": "europython-2023-29210-async-robots", "url": "https://programme.europython.eu/europython-2023/talk/NZ8J7S/", "title": "Async Robots", "subtitle": "", "track": "Makers, Microcontrollers and IoT (2023)", "type": "Talk", "language": "en", "abstract": "Interactive control of robots can be a challenge, as it requires a lot of things to happen in parallel while at the same time reacting to data from sensors and control signals. Using python's async facilities may greatly simplify this task, allowing us to write code that is similar to the non-parallel version, but that is at the same time easy to compose into bigger program doing many things at once. I will talk about my own experiences programming the Fluffbug robot with CircuitPython, point out the problems and the solutions I found.", "description": "Fluffbug is a small, affordable walking robot programmed with CircuitPython. The way it moves and reacts to sensors and control signals requires code that seemingly does a lot of things all at once, but we don't have direct access to mechanisms like threads or interrupts. What we use instead is Python's async syntax and the minimal version of asyncio library available in CircuitPython. This makes an interesting use case for asynchronous programming that is different from the usual web servers and API frontends. The resulting code is much shorter and easier to maintain than similar code written in a traditional, linear way.", "recording_license": "", "do_not_record": false, "persons": [{"code": "CSLXTY", "name": "Radomir Dopieralski", "avatar": "https://programme.europython.eu/media/avatars/CSLXTY_JOLxYfS.webp", "biography": "A Python programmer by day, by night turns into a supervillain\nconstructing insectoid robots, handheld game consoles, custom keyboards\nand other projects. He sometimes haunts the Swiss Mechatronic\nArt Society and tries to convert everyone to using CircuitPython.", "public_name": "Radomir Dopieralski", "guid": "dc2f5352-c14d-5f66-a32a-d8febcc501e9", "url": "https://programme.europython.eu/europython-2023/speaker/CSLXTY/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/NZ8J7S/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/NZ8J7S/", "attachments": []}, {"guid": "43a67412-3249-5e93-86e3-514826dd110b", "code": "T3JFHR", "id": 29480, "logo": null, "date": "2023-07-19T15:30:00+02:00", "start": "15:30", "end": "2023-07-19T16:00:00+02:00", "duration": "00:30", "room": "South Hall 2B", "slug": "europython-2023-29480-bulletproof-python-writing-fewer-tests-with-a-typed-code-base", "url": "https://programme.europython.eu/europython-2023/talk/T3JFHR/", "title": "Bulletproof Python \u2013 Writing fewer tests with a typed code base", "subtitle": "", "track": "Software Engineering & Architecture (2023)", "type": "Talk", "language": "en", "abstract": "A fully typed code base requires less test code to achieve the same level of confidence in its correctness. We'll analyze specific code examples and see how dependent types and exhaustiveness checking make certain classes of tests obsolete.", "description": "A type system forms a set of rules that is imposed on a programming language with the goal to avoid invalid operations. Type checking Python code is particularly interesting, because it happens before running the code or the test code. This allows software engineers to perform checks on the source code that otherwise would have to be performed at runtime.\n\nThe typing module in the Python standard library provides powerful concepts to provide hints to the type checker. Specifically, we'll look at use cases for NewType, dependent functions, and exhaustiveness checking.\n\nAudience members are expected to be able to read and understand Python code and have a basic understanding of unit testing.", "recording_license": "", "do_not_record": false, "persons": [{"code": "A7BNZH", "name": "Michael Seifert", "avatar": "https://programme.europython.eu/media/avatars/A7BNZH_6JZWwf0.webp", "biography": "Michael is a consulting software engineer and trainer who helps product teams to develop Python software in the cloud. He enjoys deleting code more than writing it and is constantly looking for ways to make software easier to maintain.", "public_name": "Michael Seifert", "guid": "63ac1849-978e-514c-82a1-585a2c7d2e8c", "url": "https://programme.europython.eu/europython-2023/speaker/A7BNZH/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/T3JFHR/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/T3JFHR/", "attachments": [{"title": "Slides", "url": "/media/europython-2023/submissions/T3JFHR/resources/slides_ehPQjUs.pdf", "type": "related"}, {"title": "Annotated slides", "url": "/media/europython-2023/submissions/T3JFHR/resources/slides-with-notes_lVUvfRb.pdf", "type": "related"}]}, {"guid": "e2eeccb3-b6cd-5087-b524-1082bb015022", "code": "FNLQH7", "id": 29107, "logo": null, "date": "2023-07-19T16:05:00+02:00", "start": "16:05", "end": "2023-07-19T16:50:00+02:00", "duration": "00:45", "room": "South Hall 2B", "slug": "europython-2023-29107-bdd-how-to-make-it-work", "url": "https://programme.europython.eu/europython-2023/talk/FNLQH7/", "title": "BDD - how to make it work?", "subtitle": "", "track": "Testing (2023)", "type": "Talk", "language": "en", "abstract": "Behaviour-driven development promises evergreen documentation or human-readable executable specification - sounds great. However, adopting it takes much more than simply installing behave or pytest-bdd and writing Gherkin. This talk will show what.", "description": "This talk discusses common issues with BDD specifications, such as:\n- lengthy, hard to maintain & read specifications\n- intertwined order of given-when-then steps\n- technical details leaking to specifications.\n\nThen it shows how to deal with them:\n- how to write good specifications,\n- what do modularization and DDD have to do with focused scenarios,\n- building automation layer to have reusable blocks for Gherkin scenarios.", "recording_license": "", "do_not_record": false, "persons": [{"code": "8PWUMB", "name": "Sebastian Buczy\u0144ski", "avatar": "https://programme.europython.eu/media/avatars/8PWUMB_j8tPbwA.webp", "biography": "Trainer in Bottega IT Minds and Tech Lead @ Sauce Labs with over a decade of professional experience. Writes regularly under https://pythoneer.guru", "public_name": "Sebastian Buczy\u0144ski", "guid": "8765e4c8-873e-57ef-80ab-0a3abc41f615", "url": "https://programme.europython.eu/europython-2023/speaker/8PWUMB/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/FNLQH7/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/FNLQH7/", "attachments": []}], "North Hall": [{"guid": "ef82973a-1800-50a0-bb48-e74c79c767ea", "code": "HSPJMX", "id": 29712, "logo": null, "date": "2023-07-19T10:45:00+02:00", "start": "10:45", "end": "2023-07-19T11:30:00+02:00", "duration": "00:45", "room": "North Hall", "slug": "europython-2023-29712-apache-arrow-and-substrait-the-secret-foundations-of-data-engineering", "url": "https://programme.europython.eu/europython-2023/talk/HSPJMX/", "title": "Apache Arrow and Substrait, the secret foundations of Data Engineering", "subtitle": "", "track": "PyData: Data Engineering (2023)", "type": "Talk", "language": "en", "abstract": "Apache Arrow, and its Python library PyArrow are becoming the standard de facto for transfering data and interoperability between libraries and languages. As more compute engines, storages and databases start to speak arrow, you might be relying on it without even knowing.\nThe same transformation is happening with Substrait, that is on track to be the standard representation of query plans themselves. Allowing queries to be routed to different engines as far as they speak substrait, or even decomposed and forwarded to different engines.\nThis talk we will provide a quick introduction to the Arrow ecosystem, showing to Python developers how libraries like Pandas, Polars and PyArrow itself leverage Arrow and how compute engines like Velox, Datafusion and Acero are embracing Arrow and Substrait.\nThe talk will also show how a basic database system based on Arrow and Substrait can be built with a minimum amount of code thanks to all the foundations they provide.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "AQNTYV", "name": "Alessandro Molina", "avatar": "https://programme.europython.eu/media/avatars/AQNTYV_3OWmj4M.webp", "biography": "Python developer since 2001, has been relying on Python as his primary development language for more than 20 years.\n\nHe worked as CTO and Director of Engineering with Python teams for the past 10 years and is currently Senior Director of Open Source Engineering\n\nAlessandro has been the core developer of the TurboGears2 web framework and maintainer of Beaker Caching/Session framework. Is currently a contributor to the Apache Arrow project and has also authored many OpenSource Python projects like the DEPOT file storage framework and the DukPy JavaScript interpreter for Python and collaborated with projects related to the Python web development ecosystem.\n\nAlessandro is also the author of the Crafting Test-Driven Software with Python and Modern Python Standard Library Cookbook books.", "public_name": "Alessandro Molina", "guid": "9cc7e80c-83a8-5485-b99a-ea9e6f5bc8a6", "url": "https://programme.europython.eu/europython-2023/speaker/AQNTYV/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/HSPJMX/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/HSPJMX/", "attachments": []}, {"guid": "9e0ef95b-4358-5de0-9ce4-0102e7f7ec4e", "code": "RAXZVW", "id": 33364, "logo": null, "date": "2023-07-19T11:35:00+02:00", "start": "11:35", "end": "2023-07-19T12:05:00+02:00", "duration": "00:30", "room": "North Hall", "slug": "europython-2023-33364-temporal-python-a-durable-distributed-asyncio-event-loop", "url": "https://programme.europython.eu/europython-2023/talk/RAXZVW/", "title": "Temporal Python \u2013 A Durable, Distributed Asyncio Event Loop", "subtitle": "", "track": null, "type": "Sponsored", "language": "en", "abstract": "This talk discusses asyncio, an essential tool for asynchronous, non-blocking code in Python, and its limitations, such as non-durability and inability to distribute across multiple machines. Temporal.io, an open-source microservice orchestration platform, is introduced as a robust solution capable of using event sourcing for durability, scalability, and resilience, effectively managing system failures. Temporal based asyncio event loop implementation adds seamless durability to Python code. The complete state of the program, including local variables and await calls, is fully preserved across process and other infra failures. We highlight real-world applications and conclude by emphasizing how Temporal transforms the design and implementation of distributed fault-tolerant systems.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "TL3UVH", "name": "Maxim Fateev", "avatar": "https://programme.europython.eu/media/avatars/TL3UVH_2s3nIy7.webp", "biography": "Maxim has spent the last 20 years building massive distributed systems for Amazon, Microsoft, Google, and Uber. Among other things, he led the design and development of the AWS SQS backend, and AWS Simple Workflow Service. At Uber, Maxim led the effort on open source projects Cherami and Cadence Workflow. \n\nSince October of 2019, Maxim has been the CEO/Cofounder of Temporal Technologies. Its flagship open source project temporal.io is redefining the way large-scale reliable applications are developed and operated.", "public_name": "Maxim Fateev", "guid": "d95f3920-280a-5ea7-a342-7b6a483c0cb9", "url": "https://programme.europython.eu/europython-2023/speaker/TL3UVH/"}], "links": [{"title": "Temporal Python SDK", "url": "https://github.com/temporalio/sdk-python", "type": "related"}, {"title": "Blog Post: Temporal Python 1.0.0 \u2013 A Durable, Distributed Asyncio Event Loop", "url": "https://temporal.io/blog/durable-distributed-asyncio-event-loop", "type": "related"}], "feedback_url": "https://programme.europython.eu/europython-2023/talk/RAXZVW/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/RAXZVW/", "attachments": []}, {"guid": "9f936f45-ef5d-53fd-b081-b6d44a9f8eee", "code": "EWHVWK", "id": 29564, "logo": null, "date": "2023-07-19T12:10:00+02:00", "start": "12:10", "end": "2023-07-19T12:40:00+02:00", "duration": "00:30", "room": "North Hall", "slug": "europython-2023-29564-apache-spark-vs-cloud-native-sql-engines", "url": "https://programme.europython.eu/europython-2023/talk/EWHVWK/", "title": "Apache Spark vs cloud-native SQL engines", "subtitle": "", "track": "PyData: Data Engineering (2023)", "type": "Talk", "language": "en", "abstract": "Currently, SQL and Cloud Data Warehouses (DWH) are extremely popular for good reason. They are great for dashboarding and business intelligence (BI) use cases due to their ease-of-use. However, their combination might not be the best choice for every problem. More precisely, business-critical data pipelines with high complexity might be better suited for frameworks such as Apache Spark which greatly benefit from the tight integration with general purpose languages like Python (e.g., PySpark). \n\nExpect an opinionated comparison between Apache Spark and seemingly easier-to-use cloud native SQL engines. By the end of this talk, you will be challenged to think about why they are complementary and when each has its justification.", "description": "This talk is intended for data engineers, solution architects and alike who deal with distributed computation engines for analytical batch workloads in their day to day work.\n\nWhile SQL is the lingua franca for data analysis, it might not be the best choice for every problem. Business-critical data pipelines with high complexity demand for appropriate abstractions, proper testability and enhanced debugging tooling that is hard to achieve with SQL and surrounding frameworks. In contrast, using the power of Python in conjunction with frameworks like Apache Spark is a promising solution for the following reasons:\n\n- Apache Spark\u2019s DataFrame API is embedded in a general purpose programming language like Python which allows to leverage software engineering concepts such as inheritance, composition, introspection and higher order functions. This provides data engineers a toolbox of abstractions to properly handle complexity. More precisely, it allows to structure, modularize, reuse, and dynamically generate building blocks of data pipelines.\n- To ensure semantic correctness, data engineers can develop unit tests on individual transformations or integration tests on entire pipelines in classical software development tradition which is hardly possible with cloud-native SQL engines.\n- Apache Spark's future-proof is ensured due to its wide adoption, runtime flexibility and vendor independence.\n\nThe talk will guide you through each of the claims stated above using a real world IoT use case while comparing the strengths and weaknesses of both Apache Spark and cloud-native SQL engines.", "recording_license": "", "do_not_record": false, "persons": [{"code": "3CXHP7", "name": "Franz W\u00f6llert", "avatar": "https://programme.europython.eu/media/avatars/3CXHP7_8G8qehl.webp", "biography": "My name is Franz and I\u2019m an open source and python enthuisiast:\n\n- father of 2 girls and husband\n- major in psychology\n- chess hobbiyst\n- former competitive ultimate frisbee player\n- likes cooking and :bread: baking sourdough bread", "public_name": "Franz W\u00f6llert", "guid": "8764d05f-16f7-53ad-adb1-54a03358f2b4", "url": "https://programme.europython.eu/europython-2023/speaker/3CXHP7/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/EWHVWK/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/EWHVWK/", "attachments": []}, {"guid": "04f38cf0-59da-5aa8-be9b-b63a91832b9a", "code": "3AD79Q", "id": 29231, "logo": null, "date": "2023-07-19T14:00:00+02:00", "start": "14:00", "end": "2023-07-19T14:30:00+02:00", "duration": "00:30", "room": "North Hall", "slug": "europython-2023-29231-serverless-billion-scale-vector-search-for-ai-applications", "url": "https://programme.europython.eu/europython-2023/talk/3AD79Q/", "title": "Serverless billion-scale vector search for AI applications", "subtitle": "", "track": "PyData: Deep Learning, NLP, CV (2023)", "type": "Talk", "language": "en", "abstract": "From recommendation systems to LLM-based applications, vector search is a critical component of the modern AI workflow. Existing vector solutions are complicated to use, hard to maintain, and cost too much. LanceDB is a free open-source vector store that can perform low latency vector search on billion-scale vector datasets on a single node.", "description": "LanceDB is powered by Lance format, a modern columnar data format for machine learning and data science. Compatible with pandas/polars/duckdb, Lance format supports vector index, predicate pushdown, and random access performance 2000x faster than parquet.\n\nThis talk will:\n1. Introduce LanceDB and show some example workflows\n2. Outline Lance format design and what makes it so fast\n3. Review the Lance roadmap and ecosystem integrations\n\nYou can find Lance here: https://github.com/eto-ai/lance", "recording_license": "", "do_not_record": false, "persons": [{"code": "FTHHKT", "name": "Chang She", "avatar": "https://programme.europython.eu/media/avatars/FTHHKT_Xrzv3ji.webp", "biography": "Chang is the CEO/Co-founder of Eto Labs and a co-creator of LanceDB, a new open source vector database that supports low-latency vector search on billion-scale vectors on a single node. Previously Chang was VP of Engineering at Tubi TV and was a co-author of the pandas library from 2009-2014.", "public_name": "Chang She", "guid": "1d7d538a-4ec0-560f-b529-7b90985d96ee", "url": "https://programme.europython.eu/europython-2023/speaker/FTHHKT/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/3AD79Q/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/3AD79Q/", "attachments": []}, {"guid": "781e2d4e-ac55-5e97-bf16-e20f355e708f", "code": "BBZVUP", "id": 29655, "logo": null, "date": "2023-07-19T14:35:00+02:00", "start": "14:35", "end": "2023-07-19T15:05:00+02:00", "duration": "00:30", "room": "North Hall", "slug": "europython-2023-29655-the-needle-and-the-haystack-visualizing-single-datapoints-out-of-billions", "url": "https://programme.europython.eu/europython-2023/talk/BBZVUP/", "title": "The needle and the haystack: visualizing single datapoints out of billions", "subtitle": "", "track": "PyData: Software Packages & Jupyter (2023)", "type": "Talk", "language": "en", "abstract": "Python tools like Bokeh and Dash let you build custom Web-based interactive visualization apps and dashboards.  While these solutions work well to visualize megabyte-sized datasets, web technologies struggle to render gigabyte or larger datasets efficiently, because they transfer all the data into the client browser. Pre-rendering the data on the server using a tool like Datashader can visualize such large datasets efficiently, but the resulting static renderings make exploring individual datapoints difficult.\n\nThis talk demonstrates how the HoloViz ecosystem of tools (holoviz.org) allows you to run exploratory notebooks and build dashboards that do server-side rendering of billions of data points without losing the ability to interactively inspect and annotate individual samples in the browser.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "RMZKAR", "name": "Jean-Luc Stevens", "avatar": "https://programme.europython.eu/media/avatars/RMZKAR_Muxi2ld.webp", "biography": null, "public_name": "Jean-Luc Stevens", "guid": "6e46c35d-939f-5d79-96a0-ab864cd122d2", "url": "https://programme.europython.eu/europython-2023/speaker/RMZKAR/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/BBZVUP/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/BBZVUP/", "attachments": []}, {"guid": "61ab0e85-f723-5c6c-bbf2-91812aac78c6", "code": "AG7JR9", "id": 29751, "logo": null, "date": "2023-07-19T15:30:00+02:00", "start": "15:30", "end": "2023-07-19T16:00:00+02:00", "duration": "00:30", "room": "North Hall", "slug": "europython-2023-29751-from-algorithms-to-agendas-a-beginner-s-guide-to-integer-programming", "url": "https://programme.europython.eu/europython-2023/talk/AG7JR9/", "title": "From Algorithms to Agendas: A Beginner's Guide to Integer Programming", "subtitle": "", "track": "PyData: Machine Learning, Stats (2023)", "type": "Talk", "language": "en", "abstract": "This talk will provide an introduction to Integer Programming and demonstrate how it can be used for conference scheduling. We will explore the basics of Integer Programming and how it can be applied to optimize the allocation of talks to time slots and rooms in a conference program. By the end of the talk, attendees will have a better understanding of how this powerful tool can help to create an efficient and effective conference schedule that maximizes attendee satisfaction. Whether you're a conference organizer or simply interested in learning more about optimization algorithms, this talk is for you!", "description": "### Introduction\n\n* Overview of the challenges of conference scheduling and the potential benefits of using optimization algorithms\n* Explanation of the basics of Integer Programming and its role in conference scheduling\n\n### Key Concepts\n\n* The importance of defining clear objectives and constraints for a conference program\n* The different types of variables used in Integer Programming models for conference scheduling (e.g. binary, integer, continuous)\n* An overview of popular optimization algorithms and their application to conference scheduling (e.g. branch-and-bound, cutting plane methods, column generation)\n* A step-by-step guide to constructing an Integer Programming model for conference scheduling, including how to formulate objectives and constraints\n\n### PyConDE / PyData 2023 Berlin Example:\n\n* A real-world conference scheduling problem, that is for the PyConDE / PyData 2023,  and how we used  Integer Programming\n\n### Conclusion\n\n* Recap of the key concepts and takeaways from the talk\n* Q&A session to answer any remaining questions from the audience\n\nOverall, this talk aims to provide attendees with a beginner-friendly introduction to Integer Programming and its applications in conference scheduling. By the end of the talk, attendees will have a better understanding of how to use optimization algorithms to create an efficient and effective conference schedule that maximizes attendee satisfaction.", "recording_license": "", "do_not_record": false, "persons": [{"code": "8LQU9C", "name": "Florian Wilhelm", "avatar": "https://programme.europython.eu/media/avatars/8LQU9C_cjSxM8b.webp", "biography": "Head of Data Science & Mathematical Modelling @ inovex and passionate Python developer with a strong mathematical background. Always looking to apply mathematics to real-world problems and enthusiastic about everything math.", "public_name": "Florian Wilhelm", "guid": "57127497-53e8-5705-b197-b21e82eeb3d9", "url": "https://programme.europython.eu/europython-2023/speaker/8LQU9C/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/AG7JR9/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/AG7JR9/", "attachments": [{"title": "Slides", "url": "/media/europython-2023/submissions/AG7JR9/resources/MIP_Introduction_fwilhelm_AnOFZ7w.pdf", "type": "related"}]}, {"guid": "aec1f596-72b5-5b9e-97a7-9030c87e89ed", "code": "3Y3BJN", "id": 29367, "logo": null, "date": "2023-07-19T16:05:00+02:00", "start": "16:05", "end": "2023-07-19T16:35:00+02:00", "duration": "00:30", "room": "North Hall", "slug": "europython-2023-29367-solving-multi-objective-constrained-optimisation-problems-using-pymoo", "url": "https://programme.europython.eu/europython-2023/talk/3Y3BJN/", "title": "Solving Multi-Objective Constrained Optimisation Problems using Pymoo", "subtitle": "", "track": "TBD - Multiple Tracks (2023)", "type": "Talk", "language": "en", "abstract": "Pymoo is an open source python framework with state-of-the-art optimisation and post performance analysis capabilities. It provides an object oriented interface to solve constrained Single/Multi-Objective optimisation problems with a catalog of algorithms, customisations and post-optimisation evaluation functionalities. With additional features like Visualisation of optimal pareto-fronts, decision making, parallelization and customised sampling, Pymoo promises to be highly valuable for scalable optimisation solutions.", "description": "I will share a github repository with jupyter notebooks and datasets with the attendees, before the talk and have multiple hands on segments during the talk. The talk will take the users step-by-step through the sections mentioned below - \n\n1. What is an optimisation problem ? \n2. Core components of an optimisation problem ? \n3. Finding the right type of solution ? \n4. Identifying constraints, bounds and objectives\n5. Pymoo API - Object Oriented Interface, Parallelization, Visulization\n6. Hands on Example :  a ML Model as an objective function, to find optimal input variables for a desired output variable\n7. Customisations using Pymoo : Termination, Crossover, Mutation etc\n8. A one-stop solution for Optimisation Problems", "recording_license": "", "do_not_record": false, "persons": [{"code": "CCZUDR", "name": "Pranjal Biyani", "avatar": "https://programme.europython.eu/media/avatars/CCZUDR_3OihztH.webp", "biography": "Pranjal is a Senior AI Scientist at Polymerize, Singapore building the world's first unified Material Informatics platform to accelerate R&D using AI. He works on developing predictive models, optimisation techniques curated for small experimental datasets, multi-stage processes in continuous development systems. His interests lie in making AI interpretable, logical and reasonable.", "public_name": "Pranjal Biyani", "guid": "d2f03ac8-e765-5572-adea-d16a53bc925f", "url": "https://programme.europython.eu/europython-2023/speaker/CCZUDR/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/3Y3BJN/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/3Y3BJN/", "attachments": []}], "Terrace 2A": [{"guid": "9d637dc9-6965-55d2-926f-10886e9512f4", "code": "HMJU9J", "id": 29785, "logo": null, "date": "2023-07-19T10:45:00+02:00", "start": "10:45", "end": "2023-07-19T11:30:00+02:00", "duration": "00:45", "room": "Terrace 2A", "slug": "europython-2023-29785-an-unbiased-evaluation-of-environment-management-and-packaging-tools", "url": "https://programme.europython.eu/europython-2023/talk/HMJU9J/", "title": "An unbiased evaluation of environment management and packaging tools", "subtitle": "", "track": "Software Engineering & Architecture (2023)", "type": "Talk", "language": "en", "abstract": "Python packaging is quickly evolving and new tools pop up on a regular basis. Lots of talks and posts on packaging exist but none of them give a structured, unbiased overview of the available tools.\n\nThis talk will shed light on the jungle of packaging and environment management tools, comparing them on a basis of predefined features.", "description": "Python packaging has come a long way in the last years. The landscape is evolving quickly and new tools pop up on a regular basis. Lots of talks and posts on packaging exist but none of them give a structured, unbiased overview of the available tools.\n\nThis talk will shed light on the jungle of packaging and environment management tools, comparing them on a basis of predefined features.\n\nWe will categorize tools using the following categories:\n- Python version management\n- Environment management\n- Package management\n- Package building\n- Package publishing\n\nA lot of tools exist, including: pyenv, pip, poetry, hatch, flit, and many more. We will categorize all of them and discuss some in more detail.\n\nMost importantly, we will evaluate the tools on the basis of features that are important for developers like:\n- Does the tool manage dependencies?\n- Can it manage Python installations?\n- Does it have a clean build/publish flow?\n- Does it allow for plugins?\n- Does it support important PEPs, e.g. PEP 660, PEP 621, PEP 582?\n\nThis talk is intended for developers who\n- Have used packaging and want to get to know new tools\n- Want to have an overview of existing tools and their capabilities", "recording_license": "", "do_not_record": false, "persons": [{"code": "9CX9CB", "name": "Anna-Lena Popkes", "avatar": "https://programme.europython.eu/media/avatars/9CX9CB_upCgZfe.webp", "biography": "I'm Anna-Lena, a machine learning engineer living in Bonn, Germany. I'm very passionate about learning and love to share my knowledge with other people. Besides machine learning I love teaching Python and have been a regular guest on PyCon events and podcasts.", "public_name": "Anna-Lena Popkes", "guid": "4e9fefbc-e96b-5791-9ff9-cf58203bb8be", "url": "https://programme.europython.eu/europython-2023/speaker/9CX9CB/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/HMJU9J/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/HMJU9J/", "attachments": [{"title": "PDF of slides", "url": "/media/europython-2023/submissions/HMJU9J/resources/slides_euro_python_2023_aeLoKB9.pdf", "type": "related"}]}, {"guid": "917b2631-6344-5966-9426-ba5509cb1fb9", "code": "LLHGKF", "id": 29828, "logo": null, "date": "2023-07-19T11:35:00+02:00", "start": "11:35", "end": "2023-07-19T12:05:00+02:00", "duration": "00:30", "room": "Terrace 2A", "slug": "europython-2023-29828-the-python-package-repository-accelerating-software-development-at-cern", "url": "https://programme.europython.eu/europython-2023/talk/LLHGKF/", "title": "The Python package repository accelerating software development at CERN", "subtitle": "", "track": "DevOps (2023)", "type": "Talk", "language": "en", "abstract": "Python\u2019s expressive syntax, ease of use, and powerful ecosystem of third-party packages are all major contributing factors to its thriving use for accelerator controls at CERN. Providing access to this rich ecosystem in a protected environment, whilst also allowing developers to augment this with internally developed packages is a key enabling service. Existing open-source solutions didn\u2019t meet our needs, and the evolving Package index standardisation, as well as exposure to dependency confusion attacks, left us searching for a more modular and flexible approach.  \n\n\nIn this presentation we will demonstrate the Python package upload, index, and browsing services developed at CERN. We will discuss the gradual transition from our existing repository service (based on Nexus), and demonstrate - with the help of recent packaging PEPs - the flexibility that modularising the services has brought, helping us to meet our needs for local specialisation and enhanced security measures.", "description": "CERN, the European Organization for Nuclear Research, operates the largest particle physics laboratory in the world, including the 27km long Large Hadron Collider (LHC). Python is increasingly at the heart of CERN\u2019s accelerator control software, with hundreds of domain specialists using Python on a daily basis to research, engineer and operate this world-leading facility. \n\nPython\u2019s expressive syntax, ease of use, and powerful ecosystem of third-party packages are all major contributing factors to its success. Providing access to this rich ecosystem in a protected environment, whilst also allowing developers to augment this with internally developed packages is a key enabling service. Existing open-source solutions didn\u2019t meet our needs, and the evolving Package index standardisation as well as exposure to dependency confusion attacks, left us wishing for a more modular and flexible approach.  \n\nIn this presentation we will demonstrate the Python package upload, index, and browsing services developed at CERN, and will show that modularising the service gives greater opportunities for local specialisation and enhanced security approaches, as well as offering easy evaluation and adoption of PEP-standardised packaging enhancements. Starting from an existing package repository setup (based on Nexus), we will present the steps taken to gradually introduce this modular infrastructure using specific packaging PEPs to demonstrate the existing challenges and motivation. \n\nWe will look at code snippets that we are able to inject into the package index definition, and get into fine detail about recent packaging PEPs (e.g., PEP-658) in order to build the case that modularity is essential to build package index services that can evolve with the standards, and which can be adapted to the specific needs of an organisation such as CERN (e.g., specific authentication methods, resource ownership, network segregation). \n\nFinally, we will demonstrate our package browsing service, which is a FastAPI-based web service offering a browser on a \u201cSimple Index\u201d (PEP-503) package repository which mimics the look-and-feel of PyPI.org.", "recording_license": "", "do_not_record": false, "persons": [{"code": "MDUMUQ", "name": "Phil Elson", "avatar": "https://programme.europython.eu/media/avatars/MDUMUQ_BXc98VU.webp", "biography": "Phil Elson was the creator of conda-forge, and formerly on the matplotlib steering council. Today, he is responsible for the Python platform used across the CERN accelerator and technology sector, including the package repository, the Python distributions, core Accelerator control libraries, and the Python DevOps infrastructure.", "public_name": "Phil Elson", "guid": "b25c4643-d26d-5b27-a5cb-66056baa0e95", "url": "https://programme.europython.eu/europython-2023/speaker/MDUMUQ/"}, {"code": "X7XAXH", "name": "Ivan Sinkarenko", "avatar": "https://programme.europython.eu/media/avatars/X7XAXH_KKVssEV.webp", "biography": "Ivan has been supporting the use of Python in the Accelerator Technology Sector at CERN, once the language was officially embraced for the high-level controls software few years ago, the status previously granted only to Java.", "public_name": "Ivan Sinkarenko", "guid": "d9a3bc24-a75f-51f3-85a6-55cf4c43920e", "url": "https://programme.europython.eu/europython-2023/speaker/X7XAXH/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/LLHGKF/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/LLHGKF/", "attachments": []}, {"guid": "0fd4c818-e240-5a91-aec3-69c12e783565", "code": "RRJAZA", "id": 28949, "logo": null, "date": "2023-07-19T12:10:00+02:00", "start": "12:10", "end": "2023-07-19T12:40:00+02:00", "duration": "00:30", "room": "Terrace 2A", "slug": "europython-2023-28949-from-jupyter-notebooks-to-a-python-package-the-best-of-both-worlds", "url": "https://programme.europython.eu/europython-2023/talk/RRJAZA/", "title": "From Jupyter Notebooks to a Python Package: The Best of Both Worlds", "subtitle": "", "track": "PyData: Software Packages & Jupyter (2023)", "type": "Talk", "language": "en", "abstract": "A Jupyter notebook is quite handy for rapid REPL (Read-Eval-Print-Loop) style tasks\nsuch as exploratory data analysis and data science. However, we would feel\ndeficiencies in proper SW engineering supports at some point as the notebook grows\nto have larger and more complicated code. It is because the Jupyter notebook lacks\nseveral important features including code sharing, refactoring support,\nversion control and advanced editing. Fortunately, traditional full-fledged IDEs,\nsuch as *VS Code* or *PyCharm*, are available at hand and they support\nthese lacking features very well.\nThen, why don\u2019t we take advantage of the best of both worlds?\n\nIn this beginner-level hands-on talk, I will demonstrate how to\ntransform Jupyter notebook workflows to a proper Python package using *VS Code*.\nI will also introduce several basic but essential refactoring recommendations.\nBy doing so, you can use the package for several notebooks\nand even share with your colleagues and friends.", "description": "Notebooks, code and slides are available in [this repo](https://github.com/sesise0307/europython2023-package).\n\n## Introduction\n\n- Jupyter Notebook\n  - Provides ideal workflows for data science\n  - Pros: REPL, interactivity, integration of code / output / documentation,\n    visualization, rapid prototyping, result sharing, etc.\n  - Cons: lacks of debugging, code sharing, refactoring, version control,\n    advanced editing, etc.\n- Full-fledged IDEs\n  - Designed to maximize programmer productivity\n  - One iteration might take a long journey\n- We can benefit from the best of both worlds\n  by using a Python package\n\n## Jupyter Notebook Data Science Workflow\n\n- Data Loading\n- Preprocessing\n- Exploratory Data Analysis (EDA)\n- Prediction\n\n## To (Your Own) Python Package\n\n- What is a package and why do we want to use it?\n- How to create a (minimal) package\n- How to import and use\n- Live refactoring examples\n\n## Wrap up / Some tips\n\n- Publish your awesome package\n- PyScaffold\n- VS Code", "recording_license": "", "do_not_record": false, "persons": [{"code": "FKEVZR", "name": "Sin-seok SEO", "avatar": "https://programme.europython.eu/media/avatars/FKEVZR_YENTfGh.webp", "biography": "I am working at Safran as a research engineer. My major responsibility in the company is analyzing data obtained from airplanes and helicopters using various statistical models and machine-learning algorithms.\nFormerly, I worked at Samsung Electronics in South Korea for 3 years as a senior engineer. At Samsung, I have developed various computer networking related algorithms and software for smartphones and IoT devices to improve user experiences.\nBefore joining Samsung, I finished my Ph.D. at Pohang University of Science and Technology (POSTECH) in South Korea. The theme of my thesis was \"Traffic Engineering in Data Center Networks using Software Defined Networking.\"", "public_name": "Sin-seok SEO", "guid": "c3ba6e40-8ca4-56be-a001-07805063b306", "url": "https://programme.europython.eu/europython-2023/speaker/FKEVZR/"}], "links": [{"title": "GitHub repo", "url": "https://github.com/sesise0307/europython2023-package", "type": "related"}], "feedback_url": "https://programme.europython.eu/europython-2023/talk/RRJAZA/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/RRJAZA/", "attachments": [{"title": "Slides", "url": "/media/europython-2023/submissions/RRJAZA/resources/slides_JE8Oe8x.pdf", "type": "related"}]}, {"guid": "5d4d8bd0-6829-50b4-8bdd-325ae1f5add5", "code": "WAZGKA", "id": 29633, "logo": null, "date": "2023-07-19T13:00:00+02:00", "start": "13:00", "end": "2023-07-19T14:00:00+02:00", "duration": "01:00", "room": "Terrace 2A", "slug": "europython-2023-29633-from-dataset-to-features-a-python-based-evolutionary-approach", "url": "https://programme.europython.eu/europython-2023/talk/WAZGKA/", "title": "From Dataset to Features: A Python-Based Evolutionary Approach", "subtitle": "", "track": "PyData: Deep Learning, NLP, CV (2023)", "type": "Poster", "language": "en", "abstract": "Multilabel classification is a machine learning task in which each instance is assigned to a group of labels. It has gained widespread use in various applications in recent years. Preprocessing, such as feature selection, is an important step in any machine learning or data mining task. It helps to improve the performance of an algorithm and reduce computational time by eliminating highly correlated, irrelevant, and noisy features. A new algorithm called Black Hole, inspired by the phenomenon of black holes, has recently been developed to tackle multi-label classification problems. In this talk, we present a modified version of the Black Hole algorithm that combines it with two genetic algorithm operators: crossover and mutation. The combination of Black Hole and genetic algorithms has the potential to solve multi-label classification problems across a range of domains.", "description": "Multilabel classification is a machine learning task where each instance in a dataset is assigned to multiple labels. This is in contrast to traditional classification, where each instance is assigned to a single label. Multilabel classification has gained popularity in recent years due to its expanding use in a variety of applications across domains.\n\nOne of the key challenges in multilabel classification is the high dimensionality of the data, which can make it difficult for machine learning algorithms to learn effectively. This is where feature selection comes in. Feature selection is the process of identifying and selecting a subset of relevant and non-redundant features from a larger set of features. It is a critical preprocessing step that can improve the performance and efficiency of machine learning algorithms.\n\nOne of the recent developments in feature selection is the Black Hole algorithm, which is inspired by the phenomenon of black holes in space. The Black Hole algorithm is a metaheuristic that iteratively removes the least relevant features from a dataset, based on a relevance measure such as mutual information. In this talk, we present a modified standalone Black Hole algorithm that incorporates genetic algorithm operators, such as crossover and mutation, to improve its performance in solving multilabel classification problems. The hybridization of Black Hole and Genetic Algorithms has shown to be effective in solving multilabel classification problems in different domains.", "recording_license": "", "do_not_record": false, "persons": [{"code": "CHHWUG", "name": "Neeraj Pandey", "avatar": "https://programme.europython.eu/media/avatars/CHHWUG_7gGA08W.webp", "biography": "Neeraj is a polyglot. Over the years, he has worked on a variety of full-stack software and data-science applications, as well as computational arts and Quantitative finance projects, and likes the challenge of creating new tools and applications.", "public_name": "Neeraj Pandey", "guid": "60d473ff-e10b-5274-810f-d012bfe0e6a7", "url": "https://programme.europython.eu/europython-2023/speaker/CHHWUG/"}, {"code": "3TY3A9", "name": "Hitesh Khandelwal", "avatar": "https://programme.europython.eu/media/avatars/3TY3A9_l5q70Iy.webp", "biography": null, "public_name": "Hitesh Khandelwal", "guid": "a777be7e-3765-5495-8fc9-8dd468aee66a", "url": "https://programme.europython.eu/europython-2023/speaker/3TY3A9/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/WAZGKA/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/WAZGKA/", "attachments": []}, {"guid": "bd1c543c-928a-58be-bf4e-ffa3f68f2013", "code": "VATHTK", "id": 30077, "logo": null, "date": "2023-07-19T14:00:00+02:00", "start": "14:00", "end": "2023-07-19T14:30:00+02:00", "duration": "00:30", "room": "Terrace 2A", "slug": "europython-2023-30077-lessons-from-prague", "url": "https://programme.europython.eu/europython-2023/talk/VATHTK/", "title": "Lessons from Prague", "subtitle": "", "track": "Ethics, Philosophy & Politics (2023)", "type": "Talk", "language": "en", "abstract": "Our EuroPython takes place in Prague - a city with some lessons for us, about programming, software and technology. More than 100 years ago Prague produced buildings that hint at how far our ideas in software might take us, and writers and artists who imagined challenges that have lately become real.", "description": "Cities, electronic circuits and software all have *architectures*; they are machines that process signals and messages, balance forces and respond to demands, strongly analogous ways. Cities are much older than circuits and software. They are full of lessons about systems - I think some of these lessons van apply directly to our work in software, and I think that Prague, our host city, has some special ones. Some of the lessons are built literally into its buildings: Prague has the most intense concentration of Cubist architecture in the world.\n\nArchitecture springs from ideas - this talk will discuss those ideas, and the people who had them, and what we can think about our software when we think about them. I'll discuss, amongst other things, Karel \u010capek, the Czech writer who gave us the word \"robot\" in 1920, and who also offers us ways of thinking about how artificial intelligence might occupy a space in our life and civilisation, and the Czech movement from Cubism to functionalism in architecture, and the connection between them, and more besides.", "recording_license": "", "do_not_record": false, "persons": [{"code": "YNNEGJ", "name": "Daniele Procida", "avatar": "https://programme.europython.eu/media/avatars/YNNEGJ_zVQwMAG.webp", "biography": "I am a Director of Engineering at Canonical, where I lead documentation practice. I enjoy helping organise community conferences for Python and Django, and helping people and open-source projects improve their documentation.\n\nI am the author of the [Di\u00e1taxis documentation framework](https://diataxis.fr), and unless I commit a noteworthy crime I expect that is what I will be best known for.", "public_name": "Daniele Procida", "guid": "f42ac11e-8f8a-53a9-ba25-74938d892ddd", "url": "https://programme.europython.eu/europython-2023/speaker/YNNEGJ/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/VATHTK/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/VATHTK/", "attachments": []}, {"guid": "de999b5d-3ef9-51d5-a43f-0522100c5f60", "code": "RQCYKG", "id": 29376, "logo": null, "date": "2023-07-19T14:35:00+02:00", "start": "14:35", "end": "2023-07-19T15:05:00+02:00", "duration": "00:30", "room": "Terrace 2A", "slug": "europython-2023-29376-spiral-python", "url": "https://programme.europython.eu/europython-2023/talk/RQCYKG/", "title": "Spiral Python", "subtitle": "", "track": "Education, Teaching & Training (2023)", "type": "Talk", "language": "en", "abstract": "Most introductory Python books and online resources like w3schools.com try to be complete when a new concept is explained. This does not always work well for beginners. E.g. if you have just grasped how a while-loop  works, it may cause too much cognitive load to also understand the break and continue options, let alone the else clause.\nThe learning psychologist Jerome Bruner introduced the term \"spiral learning\". The idea is that you don't teach all aspects of a new concept, but just enough to use it. At a later stage a teacher can revisit the subject and explain more details, when a student needs this to take the next step.\nSpiral Python is a road map of subjects that can be found in any introductory book or online resource about Python, but absolutely original in the sense that it takes into account how people learn in a natural way. You do not need to know the whole language before you can use it. Spiral Python also contains exercises (to practice) and challenges (to motivate).", "description": "The idea of Spiral Python comes from the original Meccano construction kits. In Kit #1 you found building materials, some simple tools and a booklet with ideas what to build. It was possible, however, to build much cooler contraptions than those in the booklet. Meccano enabled children to be creative. Soon a kid needed Kit #2 to realise his or her ideas.\n\nIn a workshop, I can first summarise what cognitive psychology understands about learning (e.g. from \"How We Learn\", Dehaene 2020). Subsequently I can share our experience at Rotterdam University on what beginner programmers find difficult or misunderstand when they learn programming. In general the problem is that there is too much cognitive load, too much new ideas at once (\"The Programmer's Brain\", Hermans 2021). Finally I will sketch the Spiral Python approach, in which new concepts build on prior experience of students (e.g. the Python List is related to shopping lists and to-do lists) and gradually explained. At each stage of Spiral Python, students don't make just standard exercises but are challenged to be creative and follow their own passion in building software-driven products. We use libraries (turtle, opencv) and hardware (microbit, raspberry pi with sense hat) to make the software products more interesting.\nStudents that take the Spiral Python approach get used to extending and adapting the mental models they have made of the Python programming language, computers, networking and computing. This makes them more flexible and independent thinkers, who hopefully enjoy lifelong learning.", "recording_license": "", "do_not_record": false, "persons": [{"code": "AY3PZE", "name": "Jan Kroon", "avatar": "https://programme.europython.eu/media/avatars/AY3PZE_MY1g2JE.webp", "biography": "I studied Mathematics and Physics and did my PhD in Computer Science. I worked in Research and as a manager (CTO, CEO) of a series of start-up companies (Planet Internet, KPN Hotspots, KPN RFID). Currently I work for my own start-up company Real Thinks and for Rotterdam University of Applied Sciences as a professor Software Development.\n\nMy research interests are Machine Learning and Human Learning, and how we can use insights in these topics to improve education.", "public_name": "Jan Kroon", "guid": "22e7635d-2b72-5926-b882-b4f59638151a", "url": "https://programme.europython.eu/europython-2023/speaker/AY3PZE/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/RQCYKG/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/RQCYKG/", "attachments": []}, {"guid": "63f97743-07f6-594f-96c2-6e6354ef447e", "code": "JHY3ZK", "id": 29109, "logo": null, "date": "2023-07-19T15:30:00+02:00", "start": "15:30", "end": "2023-07-19T16:00:00+02:00", "duration": "00:30", "room": "Terrace 2A", "slug": "europython-2023-29109-using-nlp-to-detect-knots-in-protein-structures", "url": "https://programme.europython.eu/europython-2023/talk/JHY3ZK/", "title": "Using NLP to Detect Knots in Protein Structures", "subtitle": "", "track": "PyData: Deep Learning, NLP, CV (2023)", "type": "Talk", "language": "en", "abstract": "Proteins are essential components of our bodies, with their function often dependent on their 3D structure. However, uncovering the 3D structure has for a long time been redeemed by months of hard work in the lab. Recent advances in Machine learning and Natural language processing have made it possible to build models (eg. AlphaFold) capable of predicting the protein's 3D structure with the same precision as experimental methods.\n\nIn this talk, I will explore an even more specific application of language models for proteins - the detection of a knot in a protein's 3D structure solely from the protein amino acid sequence. Knotting in proteins is a phenomenon that can affect their function and stability. Thanks to NLP and interpretation techniques we can try to uncover why and how proteins tie themself into a knot. In this research, we rely on many Python-based tools starting from Biopython to Pymol and Hugging Face transformer library.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "ZZLH9P", "name": "Eva Klimentov\u00e1", "avatar": "https://programme.europython.eu/media/avatars/ZZLH9P_JCWJy1o.webp", "biography": "Full-time PhD student in Bioinformatics doing research, teaching and being taught. I'm currently exploring the world of proteins, their 3D structure and function with a focus on proteins with a knot in their structure and I combine it with state-of-the-art Machine learning approaches. In the meantime, I also enjoy teaching a Machine learning course for the first time. Before I started my PhD, I was helping with some classical bioinformatics tasks in the Bioinformatics core facility and also doing some Machine learning on genomic data.", "public_name": "Eva Klimentov\u00e1", "guid": "e46a21ed-0bc5-56dd-b18c-010e011e0a14", "url": "https://programme.europython.eu/europython-2023/speaker/ZZLH9P/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/JHY3ZK/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/JHY3ZK/", "attachments": []}, {"guid": "a6dd4279-68ff-507c-9292-46b81df152a3", "code": "VCNMWZ", "id": 29428, "logo": null, "date": "2023-07-19T16:05:00+02:00", "start": "16:05", "end": "2023-07-19T16:50:00+02:00", "duration": "00:45", "room": "Terrace 2A", "slug": "europython-2023-29428-robot-holmes-and-the-mlington-murder-mysteries", "url": "https://programme.europython.eu/europython-2023/talk/VCNMWZ/", "title": "Robot Holmes and The MLington Murder Mysteries", "subtitle": "", "track": "PyData: Deep Learning, NLP, CV (2023)", "type": "Talk", "language": "en", "abstract": "We will follow master detective Robot Holmes on his way to solve one of his hardest cases so far - a series of mysterious murders in the city of MLington. The traces lead him to the Vision-Language part of town, which has been a quiet and tranquil place with few incidents until lately. For a few months the neighbourhood has been growing extensively and careless benchmark leaders are dropping dead at an alarming rate.\n\nRobot Holmes sets out to find the cause for this new development and will gather intel on some of the most notorious of the new citizens of the Vision-Language neighbourhood and find out what makes them tick.", "description": "Join the detective Robot Holmes on an adventure through the streets of the vibrant city of MLington. Together, we will find out who is behind a series of mysterious murders in the bustling neighbourhood of Vision-Language Village (ViLaVi).\n\nViLaVi has seen a steady influx of new posh Vision-Language models, which are not only rapidly expanding the size of the district but also the quality of services that are offered in these streets.\n\nOn his journey Robot Holmes will compile an overview of the tasks these new models excel in and find out what makes them so good at it. Additionally he will gather details on some of the most successful of the Vision-Language models and eventually find out who or what is behind the series of murders.\n\nBy the end of our journey you will have a better overview of the rapidly expanding Vision-Language neighbourhood and will have knowledge of the most important inner workings of Vision-Language models like CLIP, OWL-ViT, and BLIP. You will also know how to run them yourself in a few lines of code with the transformers library by Hugging Face.\n\nThe talk is for everyone interested in the topic of Vision-Language models and who wants to gain some first insights into their ways of working. People who already have a profound knowledge of Vision-Language models are welcome as well, as they probably have never seen it presented as a crime story in a strangely familiar city.", "recording_license": "", "do_not_record": false, "persons": [{"code": "QFSMUG", "name": "Johannes Kolbe", "avatar": "https://programme.europython.eu/media/avatars/QFSMUG_UekUIHx.webp", "biography": "Hey,\nI'm Johannes, a Data Scientist at celebrate company by day and an AI storyteller by night.\n\nAfter experiences in research at Fraunhofer Fokus Institute and tinkering with sensor setups for autonomous vehicles, I decided to get more hands-on and joined celebrate company, where I'm now bringing models from the NLP, CV and the Multimodal research world into production.\n\nSince last year I occasionally lead a Computer Vision Study Group on the Hugging Face discord server, where I present papers embedded in presentations with a little geeky twist. You can find an overview of the past study groups (not all lead by me) right here: [HF CV Study Group](https://github.com/huggingface/community-events/tree/main/computer-vision-study-group).", "public_name": "Johannes Kolbe", "guid": "a736984c-f92b-5669-a637-508ceab0fa3d", "url": "https://programme.europython.eu/europython-2023/speaker/QFSMUG/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/VCNMWZ/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/VCNMWZ/", "attachments": []}], "Terrace 2B": [{"guid": "996ff733-00ec-5281-aae2-120064d36942", "code": "FFTHXB", "id": 29624, "logo": null, "date": "2023-07-19T10:45:00+02:00", "start": "10:45", "end": "2023-07-19T11:15:00+02:00", "duration": "00:30", "room": "Terrace 2B", "slug": "europython-2023-29624-python-linters-at-scale", "url": "https://programme.europython.eu/europython-2023/talk/FFTHXB/", "title": "Python Linters at Scale", "subtitle": "", "track": "DevOps (2023)", "type": "Talk", "language": "en", "abstract": "Black, Flake8, isort, and Mypy are useful Python linters but it\u2019s challenging to use them effectively at scale in the case of multiple codebases, in a large codebase, or with many developers. Linter analysis on large codebases is slow. Linters may slow down developers by asking them to fix trivial issues. Running linters in distributed CI jobs makes it hard to understand the overall developer experience.\n\nIn this talk, we'll walk you through solving those scaling problems using a reusable linter framework that releases new linter updates automatically, reuses consistent configurations, runs linters on only updated code to speedup runtime, collects logs and metrics to provide observability, and builds auto fixes for common linter issues. Our linter runs are fast and scalable. Every week, they run 10k times on multiple millions of lines of code in over 25 codebases, generating 25k suggestions for more than 200 developers. Its autofixes also save 20 hours of developer time every week.", "description": "Popular Python linters overview and configuration recommendation (6 mins)\n- Black, Flake8, isort, mypy\nCommon practice: linter versions and config files managed by version control (1.5 mins)\n- dependency management\n- cached dependencies in CI jobs\n\nScaling Challenges: (5 mins)\n - Multiple codebases \n   1. Inconsistent linter version and configuration\n   2. Endless effort on upgrading linters and configs\n - Large codebases (1 min): Linters run slow on analyzing million lines of code\n - Many developers (2 mins): Linter suggestions of trivial issues slow down developers\n\nSolutions for the challenges: (12.5 mins in total)\n - The solution for inconsistent version and configuration (2.5 mins)\n    - Tradeoff between consistent version and flexible versions\n    - All codebases use the same version and configurations of linters\n    - Need to fix existing linter errors while upgrading linters\n    - Reusable workflow\n - The solution for slow linter run: (2.5 mins)\n    - Avoid repeated analysis by caching linter results\n    - Only run linters on updated files\n - The solution for lake of developer experience overview (2.5 mins)\n    - Collect linter suggestions from CI jobs\n    - Detect linter errors that are merged to the main branch and find the breaking change easily\n    - Understand frequent linter suggestions\n - The solution for slowing down developers (2.5 mins)\n   - Build autofixes for frequent linter suggestions: Black and isort formatting, Flake8 unused import, and Mypy missing return type.\n - The solution for providing guidance on more best practices (2.5 minutes)\n   - Build custom linters for best practices using PyGithub and LibCST\n\nEffective linter strategies: (3 mins)\n- Use linters to guide developers on best practices\n   - Convention over configuration\n   - With linters, developer don\u2019t need to remember too many things\n- Use autofix to help developer on fixing issues\n   - DRY: don\u2019t repeat yourself\n   - Wth autofixes, developers move fast to focus on developing products\n\nResults and Recap: (2 mins)\n - scaled out our linters to run 10k times on 25 codebases for 200 developers and provide 25k suggestions on a weekly basis\n - recap the solutions for scaling out linters", "recording_license": "", "do_not_record": false, "persons": [{"code": "7DHKEF", "name": "Jimmy Lai", "avatar": "https://programme.europython.eu/media/avatars/7DHKEF_Ps0C3zb.webp", "biography": "Jimmy Lai is a Software Engineer at Carta Infrastructure. He loves Python and likes to share his love in tech talks. His recent interest is linters and his prior sharing topics include profiling, optimization, asyncio, type annotations and automated refactoring.", "public_name": "Jimmy Lai", "guid": "550ae0d5-1b2e-51d6-9709-845426ba5ac4", "url": "https://programme.europython.eu/europython-2023/speaker/7DHKEF/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/FFTHXB/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/FFTHXB/", "attachments": []}, {"guid": "7310ae86-a45c-5997-a13c-011655cf919d", "code": "PNVM3S", "id": 29105, "logo": null, "date": "2023-07-19T11:35:00+02:00", "start": "11:35", "end": "2023-07-19T12:05:00+02:00", "duration": "00:30", "room": "Terrace 2B", "slug": "europython-2023-29105-optimizing-your-ci-pipelines", "url": "https://programme.europython.eu/europython-2023/talk/PNVM3S/", "title": "Optimizing Your CI Pipelines", "subtitle": "", "track": "DevOps (2023)", "type": "Talk", "language": "en", "abstract": "Take your Continuous Integration to the next level! Learn how to optimize your pipelines for faster and more efficient builds through parallelization, caching, failing early, conditional runs, and more.", "description": "This talk aims to show you some ideas on how to improve your CI pipelines. I assume that you already know what CI is, you chose one of many tools available on the market and wrote some kind of a CI setup for your project. Great! Now, let\u2019s take it one step forward and see how we can make it even better.\n\nI will talk mainly about improving the speed of your CI pipelines (which in many cases will correspond to also lowering costs if you use a paid service) through:\n\n-   Making more things run at the same time - parallelization\n-   Making things start faster - caching, smaller containers\n-   Making things finish faster - failing early, splitting tests, running CI conditionally, etc.\n\nI will use Gitlab CI to show concrete examples, but I will also try to make this talk as generic as possible to make it useful for people using different CI tools.", "recording_license": "", "do_not_record": false, "persons": [{"code": "8D7B98", "name": "Sebastian Witowski", "avatar": "https://programme.europython.eu/media/avatars/8D7B98_ONoZpE2.webp", "biography": "Python consultant with over a decade of experience in full-stack development, a conference speaker who delivered presentations at major Python conferences around the globe, and an online course creator with over 10,000 copies sold.\nHaving worked with leading energy producers like Statkraft, the largest investment bank in Japan (MUFG), and CERN, he has established a proven track record in portfolio risk management tools, document repository management, and software development for high-energy physics experiments. Skilled mentor, technical reviewer, and team leader, known for implementing innovative solutions and streamlining development workflows for his clients.\nIn his free time, he enjoys blogging about Python tools, best practices, and productivity, sharing his expertise with a broader audience.", "public_name": "Sebastian Witowski", "guid": "7ab1ca78-73a8-5e4b-bb2c-0aaa2ecbf4f6", "url": "https://programme.europython.eu/europython-2023/speaker/8D7B98/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/PNVM3S/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/PNVM3S/", "attachments": []}, {"guid": "1a16cf59-4861-5395-9199-ddec79880f8c", "code": "F3KLX7", "id": 30125, "logo": null, "date": "2023-07-19T12:10:00+02:00", "start": "12:10", "end": "2023-07-19T12:40:00+02:00", "duration": "00:30", "room": "Terrace 2B", "slug": "europython-2023-30125-zero-downtime-deployments-is-it-worth-the-effort", "url": "https://programme.europython.eu/europython-2023/talk/F3KLX7/", "title": "Zero downtime deployments: Is it worth the effort?", "subtitle": "", "track": "TBD - Multiple Tracks (2023)", "type": "Talk", "language": "en", "abstract": "Learn about the advantages and disadvantages of zero downtime deployment strategy, as well as best practices for implementing it in your organization. Learn how to make changes to production systems while keeping users up to date. Don't pass up this chance to optimize your software deployments.", "description": "Minimizing downtime during deployments is critical in the world of software development for maintaining high-availability applications and ensuring users have continuous access to applications. In this presentation, we will look at the advantages, disadvantages, and best practices of zero-downtime deployments. \n\nWe will go over the technical aspects of achieving zero downtime, such as blue-green deployments, canary releases, feature toggles, and so on. We'll also talk about how to balance the benefits of zero-downtime deployments with the effort required to put them in place. You will discover the significance of testing, monitoring, and automation in achieving successful zero-downtime deployments.", "recording_license": "", "do_not_record": false, "persons": [{"code": "R8VEKR", "name": "Rafa\u0142 Nowicki", "avatar": "https://programme.europython.eu/media/avatars/R8VEKR_vnL37Pz.webp", "biography": "Passionate engineer, visionary man, leader and web application developer with over 10 experience. Independent freelancer, pragmatist with an open mind.", "public_name": "Rafa\u0142 Nowicki", "guid": "bae64d68-28b5-519d-a4ba-4551fd8281e3", "url": "https://programme.europython.eu/europython-2023/speaker/R8VEKR/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/F3KLX7/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/F3KLX7/", "attachments": []}, {"guid": "c7026672-9d24-544f-a303-9befe416c77f", "code": "YRM7GF", "id": 29650, "logo": null, "date": "2023-07-19T13:00:00+02:00", "start": "13:00", "end": "2023-07-19T14:00:00+02:00", "duration": "01:00", "room": "Terrace 2B", "slug": "europython-2023-29650-serve-notebook-as-a-web-app-with-mercury-framework", "url": "https://programme.europython.eu/europython-2023/talk/YRM7GF/", "title": "Serve notebook as a Web App with Mercury framework", "subtitle": "", "track": "PyData: Software Packages & Jupyter (2023)", "type": "Poster", "language": "en", "abstract": "Make your coding meaningful to non-technical recipients! Write your code in Jupyter Notebook, add widgets with the Mercury framework, and easily turn your notebook into an interactive web app. Or.. create a dashboard, a report, and DEPLOY it.", "description": "Problem: sharing coding work, notebooks with stakeholders, non-technical people without any basic knowledge of coding. \nSolution: 1. Write code in Jupyter Notebook. 2. Install Mercury 3. Choose widgets and decide how to present it. 3. Deploy.\nThe poster will show how, with a few steps transform, a notebook into an interactive website, report, and dashboard easily. Using the Mercury framework doesn't require frontend technologies knowledge, only python. With this open-source solution, you can decide to restrict access to the created web app by adding authentication. What is more, you can set up notifications, show or hide code, serve multiple apps without the user's limit, users can easily export the executed notebook as a PDF or HTML. It doesn't require rewriting your code. In the end, you can decide if you want to self-host it or deploy it with Mercury Cloud.", "recording_license": "", "do_not_record": false, "persons": [{"code": "B9JJ3N", "name": "Aleksandra Plonska", "avatar": "https://programme.europython.eu/media/avatars/B9JJ3N_ypfhy8B.webp", "biography": "Lawyer, graphic designer, mediator between the world of technology and business. Promoter of modern solutions in the field of Data Science.", "public_name": "Aleksandra Plonska", "guid": "ae0f7b1f-ccf1-5c61-9ef5-dd68864bc4e3", "url": "https://programme.europython.eu/europython-2023/speaker/B9JJ3N/"}, {"code": "CM9MZR", "name": "Piotr P\u0142o\u0144ski", "avatar": "https://programme.europython.eu/media/avatars/CM9MZR_7GM1yik.webp", "biography": "Software engineer with passion to create data science tools. Solving the problem of Python notebooks sharing with non-technical audience.", "public_name": "Piotr P\u0142o\u0144ski", "guid": "2bf00240-1d99-5fb1-b5c2-5576261c9d91", "url": "https://programme.europython.eu/europython-2023/speaker/CM9MZR/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/YRM7GF/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/YRM7GF/", "attachments": []}, {"guid": "f5ab8438-bbd0-5659-8f67-29337f4d7d10", "code": "YPKPWV", "id": 29948, "logo": null, "date": "2023-07-19T14:00:00+02:00", "start": "14:00", "end": "2023-07-19T14:30:00+02:00", "duration": "00:30", "room": "Terrace 2B", "slug": "europython-2023-29948-the-power-of-spec-based-testing-adding-functional-requirements-to-unit-test", "url": "https://programme.europython.eu/europython-2023/talk/YPKPWV/", "title": "The Power of Spec-Based Testing:Adding Functional Requirements to Unit Test", "subtitle": "", "track": "Testing (2023)", "type": "Talk", "language": "en", "abstract": "Testing is a crucial part of the software development process. But, with so many testing techniques available, it can be challenging to know which one to use. While unit testing is a popular technique, it's not always the most effective or efficient way to ensure software quality. In this talk, we\u2019ll explore spec-based testing, a technique that focuses on verifying that the software behaves in accordance with its specifications or requirements.", "description": "Our focus in this talk will be on the benefits of spec-based testing, including:\n1. Problems with unit testing: How spec-based testing can bridge this gap.\n2. Improved test coverage: Spec-based testing will ensure all the requirements or specifications are covered by the test, thereby helping to attain better overall software quality.\n3. Reducing maintenance work: Since they are based on the software\u2019s intended behaviour and not implementation details, spec-based tests are less likely to break due to changes in the code. This can lead to fewer tests needing to be maintained over time.\n4. Better alignment: Spec-based testing ensures that software meets its intended purpose as defined by the requirements or specifications.\n\nKey takeaways:\n1. Benefits of spec-based testing\n2. How to boost your testing strategy with spec-based testing\n3. How to get started with spec-based testing in your own project development\n4. Learn how to identify functional requirements or specifications and create effective test cases", "recording_license": "", "do_not_record": false, "persons": [{"code": "QRLBNV", "name": "Anupama Tiruvaipati", "avatar": "https://programme.europython.eu/media/avatars/QRLBNV_kLbdnb1.webp", "biography": "Anupama Tiruvaipati is a software engineer with more than five years of experience in the tech and fintech industries. Having previously worked with Microsoft, she is employed at Bloomberg in London. Throughout her career, Anupama has been driven by a desire to develop domain-agnostic sustainable solutions that benefit a wide range of users and industries.\n\nAnupama is passionate about finding ways to enhance current work processes and believes that technology can be a powerful tool for improving efficiency and productivity. As a software engineer, she has worked on various projects that have streamlined and automated processes, and she continuously seeks out new ways to innovate.\n\nIn addition to her work in the tech industry, Anupama is strong proponent of women in the workforce and is a dedicated advocate for giving back to the community. She believes that it is crucial to create opportunities for underrepresented groups in tech and has volunteered to promote diversity and inclusion.", "public_name": "Anupama Tiruvaipati", "guid": "e7039cd6-1af7-5d9d-b3bb-5dd0a1d588e2", "url": "https://programme.europython.eu/europython-2023/speaker/QRLBNV/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/YPKPWV/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/YPKPWV/", "attachments": []}, {"guid": "85b9d4f5-0bbe-522e-ba61-8301e9bee420", "code": "M93HCV", "id": 34742, "logo": null, "date": "2023-07-19T14:35:00+02:00", "start": "14:35", "end": "2023-07-19T15:05:00+02:00", "duration": "00:30", "room": "Terrace 2B", "slug": "europython-2023-34742-q-a-panel-for-data-science-newbies", "url": "https://programme.europython.eu/europython-2023/talk/M93HCV/", "title": "Q&A panel for data science newbies", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Are you just getting started in the world of data science and feeling overwhelmed by the abundance of information on various packages, models, and techniques? Perhaps you're finding it challenging to decide which visualization package to use or which tools to begin with. Maybe you're puzzled by the distinctions between pip and Conda, or you're feeling bombarded by all the news about AI and large language models.\n\nWorry no more! Join us for this Q&A session, where a panel of data science experts will be there to address all of your pressing questions. This session is designed to create a relaxed and welcoming environment for complete beginners in the field, offering guidance on topics that might be causing confusion.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "8EGVC9", "name": "Cheuk Ting Ho", "avatar": "https://programme.europython.eu/media/avatars/8EGVC9_LbezfQb.webp", "biography": "Before working in Developer Relations, Cheuk has been a Data Scientist in various companies which demands high numerical and programmatical skills, especially in Python. To follow her passion for the tech community, Cheuk is now working with the open-source community. Cheuk also contributes to multiple Open Source libraries like Hypothesis, Django and Pandas.\n\nBesides her work, Cheuk enjoys talking about Python on personal streaming platforms and podcasts. Cheuk has also been a speaker at Universities and various conferences. Besides speaking at conferences, Cheuk also organises events for developers. Conferences that Cheuk has organized include EuroPython (which she is a board member), PyData Global and Pyjamas Conf. Believing in Tech Diversity and Inclusion, Cheuk constantly organizes workshops and mentored sprints for minority groups. In 2021, Cheuk has become a Python Software Foundation fellow.", "public_name": "Cheuk Ting Ho", "guid": "6acb0b45-07a8-5f1c-a3fa-45ae8f0a9858", "url": "https://programme.europython.eu/europython-2023/speaker/8EGVC9/"}, {"code": "DHPEJJ", "name": "Vaibhav Srivastav", "avatar": "https://programme.europython.eu/media/avatars/DHPEJJ_KdRb2u6.webp", "biography": "I\u2019m a Student Researcher at the University of Stuttgart (Computational Linguistics) and an ML Developer Advocate at Hugging Face focusing on extracting better insights from Text + Audio.\n\nI\u2019ve been a freelancer, tax analyst, consultant, tech speaker and advisor for five years. In the past three years, I\u2019ve invested significant time volunteering for open source and science organisations like Hugging Face, EuroPython, PyCons across APAC, Google Cloud Delhi, and Facebook Developer Circles.\n\nDelhi native, I now live in Germany!", "public_name": "Vaibhav Srivastav", "guid": "5091cb5e-3c20-5bae-a908-2ef40eaf5811", "url": "https://programme.europython.eu/europython-2023/speaker/DHPEJJ/"}, {"code": "PXQBU9", "name": "Jodie Burchell", "avatar": "https://programme.europython.eu/media/avatars/PXQBU9_wMHvbcZ.webp", "biography": "Dr. Jodie Burchell is the Developer Advocate in Data Science at JetBrains, and was previously the Lead Data Scientist in audiences generation at Verve Group Europe. After finishing a PhD in Psychology and a postdoc in biostatistics, she has worked in a range of data science and machine learning roles across search improvement, recommendation systems, NLP and programmatic advertising. She is passionate about making Python data science and machine learning accessible for others. She is also a long time content creator in data science, across conference and user group presentations, books, webinars, and blogging.", "public_name": "Jodie Burchell", "guid": "2a76e0db-17d6-577f-ace8-0913ff96f220", "url": "https://programme.europython.eu/europython-2023/speaker/PXQBU9/"}, {"code": "GHGDNR", "name": "Valerio Maggio", "avatar": "https://programme.europython.eu/media/avatars/GHGDNR_qbafFlu.webp", "biography": "Valerio Maggio is a Researcher, a Data scientist Advocate at Anaconda, and a casual \"Magic: The Gathering\" wizard. He is well versed in open science and research software, supporting the adoption of best software development practice (e.g. [Code Review](https://www.software.ac.uk/blog/2022-03-18-treat-your-research-code-code-review)) in Data Science.  Valerio is also an open-source contributor, and an active member of the Python community. Over the last twelve years he has contributed and volunteered to the organization of many international conferences and community meetups like PyCon Italy, PyData, EuroPython, and EuroSciPy. All his talks, workshop materials and random ramblings are publicly available on his[ Speaker Deck](https://speakerdeck.com/leriomaggio) and[ GitHub](https://github.com/leriomaggio) profiles.", "public_name": "Valerio Maggio", "guid": "266f1607-9b2e-5b6f-ab19-2c0336177bbc", "url": "https://programme.europython.eu/europython-2023/speaker/GHGDNR/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/M93HCV/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/M93HCV/", "attachments": []}, {"guid": "d36fb328-fc04-5adb-9d1c-d43f484c6337", "code": "LQZ7BP", "id": 29337, "logo": null, "date": "2023-07-19T15:30:00+02:00", "start": "15:30", "end": "2023-07-19T16:00:00+02:00", "duration": "00:30", "room": "Terrace 2B", "slug": "europython-2023-29337-interactive-animated-reports-and-dashboards-in-streamlit-with-ipyvizzu", "url": "https://programme.europython.eu/europython-2023/talk/LQZ7BP/", "title": "Interactive, animated reports and dashboards in Streamlit with ipyvizzu.", "subtitle": "", "track": "PyData: Software Packages & Jupyter (2023)", "type": "Talk", "language": "en", "abstract": "It's great when you can share the results of your analysis not only as a presentation but as something that non-data scientists can explore on their own, looking for insights and applying their business expertise to understand the significance of what they find.\n\nWith its accessibility for both creators and viewers, Streamlit offers a brilliant platform for data scientists to build and deploy data apps. Now, with the integration of [ipyvizzu](https://ipyvizzu.vizzuhq.com/latest/) - a new, open-source data visualization tool focusing on animation and storytelling - you can quickly create and publish interactive, animated reports and dashboards on top of static or dynamic data sets and your models.", "description": "The ability to build Streamlit apps that enable business users to explore data on their own is an excellent way to support data-driven decision-making in any organization. Pair this up with the animated transitions between the charts provided by the new, open-source library, ipyvizzu, and you have a self-service, interactive report or dashboard that makes it much easier for non-experts to make sense of complex data sets.\n\nIn this talk, one of the creators of ipyvizzu shows how their technology works within Streamlit and the advantages of using animation in self-service data exploration to help business stakeholders feel smarter and do a better job.\n\nWe'll cover the following topics within the talk:\n- Introduction to Vizzu, the open-source C++/JavaScript library behind ipyvizzu\n- Benefits of animated charts for storytelling and data exploration\n- Basic logic and options of ipyvizzu\n- Quick walkthrough of building an interactive report within Streamlit\n- Live examples to showcase the benefits and the opportunities", "recording_license": "", "do_not_record": false, "persons": [{"code": "Q7VFPN", "name": "Peter Vidos", "avatar": "https://programme.europython.eu/media/avatars/Q7VFPN_BZX77YH.webp", "biography": "Peter is the CEO & Co-Founder of [Vizzu](https://vizzuhq.com). \n\nHis primary focus is understanding how Vizzu's innovative approach to data visualization can be put to good use. Listening to people complaining about their current hurdles with building charts and presenting them is his main obsession, next to figuring out how to help data professionals utilize the power of animation in dataviz.\n\nPeter has been involved with digital product development for over 15 years. Earlier products/projects he worked on cover mobile app testing, online analytics, data visualization, decision support, e-learning, educational administration & social. Still, building a selfie teleport just for fun is what he likes to boast about when asked about previous experiences.", "public_name": "Peter Vidos", "guid": "66ddfdf5-501b-5cd6-9f50-b806874d2752", "url": "https://programme.europython.eu/europython-2023/speaker/Q7VFPN/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/LQZ7BP/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/LQZ7BP/", "attachments": []}, {"guid": "f2e8617d-54b3-54d7-8856-4b9bd67efc20", "code": "BXZD9Z", "id": 28844, "logo": null, "date": "2023-07-19T16:05:00+02:00", "start": "16:05", "end": "2023-07-19T16:50:00+02:00", "duration": "00:45", "room": "Terrace 2B", "slug": "europython-2023-28844-duckdb-bringing-analytical-sql-directly-to-your-python-shell", "url": "https://programme.europython.eu/europython-2023/talk/BXZD9Z/", "title": "DuckDB: Bringing analytical SQL directly to your Python shell", "subtitle": "", "track": "PyData: Data Engineering (2023)", "type": "Talk", "language": "en", "abstract": "In this talk, we will present DuckDB. DuckDB is a novel data management system that executes analytical SQL queries without requiring a server. DuckDB has a unique, in-depth integration with the existing PyData ecosystem. This integration allows DuckDB to query and output data from and to other Python libraries without copying it. This makes DuckDB an essential tool for the data scientist. In a live demo, we will showcase how DuckDB performs and integrates with the most used Python data-wrangling tool, Pandas. \nBesides learning about DuckDB's main charactestics, users will also experience a live demo of DuckDB and Pandas in a typical data science scenario, focusing on comparing their performance and usability while showcasing their cooperation. The demo is most interesting for an audience familiar with Python, the Pandas API, and SQL.", "description": "The talk is catered primarily towards data scientists and data engineers. The talk aims to familiarize users with the design differences between Pandas and DuckDB and how to combine them to solve their data-science needs. We will have an overview about five main characteristics of DuckDB. 1) Vectorized Execution Engine, 2) End-to-end Query Optimization, 3) Automatic Parallelism, 4) Beyond Memory Execution, and 5) Data Compression.", "recording_license": "", "do_not_record": false, "persons": [{"code": "8AQTSF", "name": "Pedro Holanda", "avatar": "https://programme.europython.eu/media/avatars/8AQTSF_6nyIhaI.webp", "biography": "I\u2019m a Post-Doc based in Amsterdam and a member of the Database Architecture group at CWI. I\u2019m currently working as COO @ DuckDB Labs.", "public_name": "Pedro Holanda", "guid": "efa280c5-100d-5a2a-9bac-6b8bb8b94243", "url": "https://programme.europython.eu/europython-2023/speaker/8AQTSF/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/BXZD9Z/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/BXZD9Z/", "attachments": []}]}}, {"index": 4, "date": "2023-07-20", "day_start": "2023-07-20T04:00:00+02:00", "day_end": "2023-07-21T03:59:00+02:00", "rooms": {"PyCharm (Forum Hall)": [{"guid": "90894652-32af-576e-aeae-a5d92a37868e", "code": "XPARN3", "id": 35608, "logo": null, "date": "2023-07-20T08:00:00+02:00", "start": "08:00", "end": "2023-07-20T09:00:00+02:00", "duration": "01:00", "room": "PyCharm (Forum Hall)", "slug": "europython-2023-35608-registration-welcome-forum-hall-foyer-1st-floor", "url": "https://programme.europython.eu/europython-2023/talk/XPARN3/", "title": "Registration & Welcome @ Forum Hall Foyer 1st Floor", "subtitle": "", "track": null, "type": "Announcements", "language": "en", "abstract": "", "description": "Welcome to EuroPython 2023! You can pick up your badges at any time during the week as long as we are open! If you want to avoid the morning rush on Wednesday, come on Monday and Tuesday!\n\nQueues will be sorted by your **first name** on your ticket. Your ticket can be located via your order confirmation email (from support@pretix.eu with the Subject: Your order: XXXX). If you ordered your ticket after we've sent badges for printing (after 10 July), go directly to the Info Desk (also referred as Debugging Desk) and a volunteer will help!", "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/XPARN3/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/XPARN3/", "attachments": []}, {"guid": "8e9854d7-993a-507a-8f08-0b32967247f0", "code": "CHSAUC", "id": 34202, "logo": null, "date": "2023-07-20T09:00:00+02:00", "start": "09:00", "end": "2023-07-20T09:15:00+02:00", "duration": "00:15", "room": "PyCharm (Forum Hall)", "slug": "europython-2023-34202-morning-announcement", "url": "https://programme.europython.eu/europython-2023/talk/CHSAUC/", "title": "Morning Announcement", "subtitle": "", "track": null, "type": "Announcements", "language": "en", "abstract": "", "description": "", "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/CHSAUC/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/CHSAUC/", "attachments": []}, {"guid": "782cadb9-19a2-5ce4-b40c-66861e09b50b", "code": "ZJRTGW", "id": 33371, "logo": null, "date": "2023-07-20T09:15:00+02:00", "start": "09:15", "end": "2023-07-20T10:00:00+02:00", "duration": "00:45", "room": "PyCharm (Forum Hall)", "slug": "europython-2023-33371-the-future-of-microprocessors", "url": "https://programme.europython.eu/europython-2023/talk/ZJRTGW/", "title": "The Future of Microprocessors", "subtitle": "", "track": null, "type": "Keynote", "language": "en", "abstract": "The Future of Microprocessors - a talk about the history of microprocessors, how we got here and what might happen next. There will be two laws, one equation, some graphs and a particle beam weapon out of Star Trek.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "Z9SMLD", "name": "Sophie Wilson", "avatar": "https://programme.europython.eu/media/avatars/Z9SMLD_zqTms70.webp", "biography": "Before university Sophie designed and built systems counting translucent drops of liquid and detecting spun fibre machinery breakdowns; in her first vacation she developed a cow-feeder. She designed the Acorn System 1, coding the operating system in binary before designing and implementing Acorn Assembler, Acorn MOS and BASIC. \n\nShe and Steve Furber took less than a week to design and implement the prototype of the BBC Microcomputer, winning Acorn the contract for the Computer Literacy Project. Sophie designed the operating system and designed and implemented BBC BASIC for a succession of processors.\n\nShe and Furber co-designed the ARM processor powering Acorn's computers during the 1990s and virtually every mobile phone and tablet in the world nowadays \u2013 200 billion sales of ARM powered chips to date (July 2022). She co-designed the ARM3, ARM610 and ARM 700 processors and ARM7500FE single chip computer. She created Acorn Replay multimedia software. \n\nBy 1999, Sophie developed the Firepath SIMD LIW processor and she and six others founded Element 14 to exploit this for ADSL. Sophie led the design of the instruction set for Firepath, wrote the Architecture Guide and led the SoC designs. Broadcom bought Element 14 at the end of 2000 and went on to win the majority of the Central Office DSL business. Sophie continues to develop the Firepath processor.\n\nSophie is a Broadcom Fellow and Distinguished Engineer, a Fellow of the Royal Society, a Fellow of the Royal Academy of Engineering, a Distinguished Fellow of the British Computer Society, a Fellow of the Women\u2019s Engineering Society, an honorary Fellow of Selwyn College, Cambridge, an honorary Fellow of the Institution of Engineering and Technology (IET) and an honorary Fellow of the Institution of Engineering Designers (HonFIED). She has an honorary doctorate of science from Cambridge University and a CBE.", "public_name": "Sophie Wilson", "guid": "3ab1fc88-56cf-57e3-86c1-2bdb98df151b", "url": "https://programme.europython.eu/europython-2023/speaker/Z9SMLD/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/ZJRTGW/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/ZJRTGW/", "attachments": []}, {"guid": "0f78480e-a1cb-5c77-b479-1746276df62a", "code": "ZUSHKU", "id": 29609, "logo": null, "date": "2023-07-20T10:30:00+02:00", "start": "10:30", "end": "2023-07-20T11:15:00+02:00", "duration": "00:45", "room": "PyCharm (Forum Hall)", "slug": "europython-2023-29609-pyscript-and-the-magic-of-python-in-the-browser", "url": "https://programme.europython.eu/europython-2023/talk/ZUSHKU/", "title": "PyScript and the magic of Python in the browser", "subtitle": "", "track": "Web (2023)", "type": "Talk", "language": "en", "abstract": "Python running on the browser is the new frontier to creating true client-side web and mobile applications. Today we can many incredible things that were not possible just a few months ago before WASM, Pyodide and PyScript.\n\nThe talk will cover what's possible today, cover the major features offered by PyScript and walk through creating amazing applications and games with Python, on the browser, without the need for Python server-side logic.", "description": "A year after its announcement, PyScript is a very different project. From major performance improvements to great plugins, PyScript applications allow a new way to create fun and educational opportunities that were not possible until now. This talk summarizes the work done over the past year, and what you might expect in the future. In this talk I will:\n\n* Give a quick overview of what PyScript is\n* Talk about features and changes introduced this year:\n  * Support for the blazing-fast MicroPython interpreter\n  * Powerful Plugins System (support for Python and Javascript)\n  * Much improved Pythonic Dom interface\n  * Improved support for data\n  * Execution in web workers\n  * Many amazing plugins!\n  * Much more\u2026\n* Show how to create PyScript applications [running on the browser] and leverage the new possibilities that the web and the browser provide to the Python ecosystem\n* Live demo of amazing [PyScript] web applications running Python on the browser\n* Give you a sneak preview of some upcoming features\n\nWhat should you expect? Fun! Yes, I promise we\u2019ll make it fun :) To walk away with a good understanding of how to write a PyScript application To have an understanding of what parts of Python on the browser are different than \u201cregular Python\u201d See snippets and examples that you can use to build your own PyScript apps Why should you care? Python on the browser is the new frontier of Python. You\u2019ll have the chance to learn more about it, how to create your own Python apps on the browser, and see what\u2019s coming.", "recording_license": "", "do_not_record": false, "persons": [{"code": "BQVLYL", "name": "Nicholas Tollervey", "avatar": "https://programme.europython.eu/media/avatars/BQVLYL_7YRft3L.webp", "biography": "A recovering former member of the Python community.\n\nComputing, music, philosophy, teaching and writing. Just like this bio: concise, honest and full of useful information. Everything I say is false...", "public_name": "Nicholas Tollervey", "guid": "bdd9b1c2-8323-5c22-a58a-04990550d525", "url": "https://programme.europython.eu/europython-2023/speaker/BQVLYL/"}, {"code": "EBNEWH", "name": "Fabio Pliger", "avatar": "https://programme.europython.eu/media/avatars/EBNEWH_XfSU1O2.webp", "biography": "Fabio Pliger is the co-creator of PyScript and a Principal Software Architect at Anaconda, Inc, where he has been working for 8 years. Fabio is a fellow member of the PSF and the EuroPython Society, one of the Founders of the Python Italia association, and former Chairman of the EuroPython Society, where he served from 2012 to 2016. As part of his work at both associations, he helped organize and co-chair several Pycon and Europython over the years. He currently lives in beautiful Austin, Texas with his family, after having spent most of his life in Italy and Brazil.", "public_name": "Fabio Pliger", "guid": "9cbcab25-b97c-539a-ba72-6bdbc4a637a2", "url": "https://programme.europython.eu/europython-2023/speaker/EBNEWH/"}], "links": [{"title": "Web based slides (press \"S\" for speaker notes and allow popups from the site)", "url": "https://ntoll.org/static/presentations/2023-pyscript-magic/index.html", "type": "related"}], "feedback_url": "https://programme.europython.eu/europython-2023/talk/ZUSHKU/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/ZUSHKU/", "attachments": []}, {"guid": "7467b7c5-9888-5dae-8911-0e9ded9bf3b8", "code": "XLLSWL", "id": 29656, "logo": null, "date": "2023-07-20T11:20:00+02:00", "start": "11:20", "end": "2023-07-20T11:50:00+02:00", "duration": "00:30", "room": "PyCharm (Forum Hall)", "slug": "europython-2023-29656-running-python-packages-in-the-browser-with-pyodide", "url": "https://programme.europython.eu/europython-2023/talk/XLLSWL/", "title": "Running Python packages in the browser with Pyodide", "subtitle": "", "track": "Web (2023)", "type": "Talk", "language": "en", "abstract": "Pyodide is a port of CPython to WebAssembly/Emscripten enabling Python packages to run directly in the browser or Node.js. We will provide an overview of Pyodide's architecture, capabilities, and potential use cases before looking into building, running, and testing Python packages for the browser.\n\nWe will also discuss how browser-specific optimizations, such as code splitting, tree shaking, and lazy loading could be adapted to Python to reduce package size and load time.\n\nFinally, we will mention some of the common restrictions of the browser runtime and how they can be overcome in Python packages.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "BXVSCG", "name": "Roman Yurchak", "avatar": "https://programme.europython.eu/media/avatars/BXVSCG_ePqsMYS.webp", "biography": null, "public_name": "Roman Yurchak", "guid": "7434efd5-ad7a-5be1-a44a-a7b79188bd9e", "url": "https://programme.europython.eu/europython-2023/speaker/BXVSCG/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/XLLSWL/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/XLLSWL/", "attachments": []}, {"guid": "8b6f8de5-09ff-5948-992a-84f8c0e78807", "code": "HL8XCC", "id": 28768, "logo": null, "date": "2023-07-20T11:55:00+02:00", "start": "11:55", "end": "2023-07-20T12:25:00+02:00", "duration": "00:30", "room": "PyCharm (Forum Hall)", "slug": "europython-2023-28768-the-cpu-in-your-browser-webassembly-demystified", "url": "https://programme.europython.eu/europython-2023/talk/HL8XCC/", "title": "The CPU in your browser: WebAssembly demystified", "subtitle": "", "track": "Web (2023)", "type": "Talk", "language": "en", "abstract": "In the recent years we saw an explosion of usage of Python in the browser:\nPyodide, CPython on WASM, PyScript, etc. All of this is possible thanks to the\npowerful functionalities of the underlying platform, WebAssembly, which is essentially a virtual CPU\ninside the browser.", "description": "In the recent years we saw an explosion of usage of Python in the browser:\nPyodide, CPython on WASM, PyScript, etc. All of this is possible thanks to the\npowerful functionalities of the underlying platform, WebAssembly.\n\nIn this talk we will examine what is exactly WebAssembly, what are the strong\nand weak points, what are the limitations and what the future will bring us.\nWe will also see why and how WebAssembly is useful and used outside the\nbrowser.\n\nThis talk is targeted to an intermediate/advanced audience: no prior knowledge of\nWebAssembly is required, but it is required to have a basic understanding of what is a compiler, an interpreter and the concept of bytecode.\n\nThe introduction will cover the basics to make sure that the talk is\nunderstandable also by people who are completely new to the WebAssembly world,\nbut after that we will dive into the low-level technical details, with a\nspecial focus on those who are relevant to the Python world, such WASI vs\nemscripten, dynamic linking, JIT compilation, interoperability with other\nlanguages, etc.", "recording_license": "", "do_not_record": false, "persons": [{"code": "QMAPYZ", "name": "Antonio Cuni", "avatar": "https://programme.europython.eu/media/avatars/QMAPYZ_ujWOb0o.webp", "biography": "Dr. Antonio Cuni is a Principal Software Engineer at Anaconda. He is a core\ndeveloper of PyScript and PyPy, and one of the founders of the HPy project,\nwhich aims to design a better and more modern C API for Python.  He loves to\nwrite tools from developers for developers, such as Pdb++, fancycompleter and\nvmprof and he is creator/maintainer/contributor of numerous other open source\nprojects.  He have also been very active in the Python community for years,\ngiving talks at various conferences such as EuroPython, EuroSciPy, PyCon\nItalia, and many others. He regularly writes on the PyPy blog and on the HPy\nblog.  His main areas of interest are compilers, language implementation, TDD\nand performance.", "public_name": "Antonio Cuni", "guid": "671d8b65-532d-552e-b144-08dc2a0765f3", "url": "https://programme.europython.eu/europython-2023/speaker/QMAPYZ/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/HL8XCC/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/HL8XCC/", "attachments": []}, {"guid": "c1712f48-b91e-59ee-8aed-488970559564", "code": "B7WYKQ", "id": 28781, "logo": null, "date": "2023-07-20T12:30:00+02:00", "start": "12:30", "end": "2023-07-20T13:00:00+02:00", "duration": "00:30", "room": "PyCharm (Forum Hall)", "slug": "europython-2023-28781-packaging-python-apps-with-briefcase", "url": "https://programme.europython.eu/europython-2023/talk/B7WYKQ/", "title": "Packaging Python Apps with Briefcase", "subtitle": "", "track": "Python Libraries (2023)", "type": "Talk", "language": "en", "abstract": "Python has proven itself to be a powerful tool for data science, and for web servers. However, one area where it hasn't historically been popular is in building applications for end users.\n\nIn this talk, you'll discover how you can use Briefcase to distribute an app to users on desktop, mobile, and the web - all from a single Python codebase.", "description": "Once you're written your amazing new application using Python, the next problem you'll face is how to get that application into the hands of users. If your users are familiar with `pip` and and `venv`, you can put `pip install` into a README, and leave it at that. But what if your audience aren't Python programmers? What if your app needs to be used by people who don't write Python at all? How do you distribute your code so that others can use it?\n\nIn this talk, you'll learn about **Briefcase**, a tool that can convert a Python project into platform-native installers on macOS, Windows, Linux - and can also target iOS, Android, and the web. You'll learn how to use Briefcase to start a new project, or convert an existing project for distribution. You'll learn about the features of Briefcase that can support you while you develop your application. Finally, you'l learn how to generate installers and standalone applications for multiple platforms from a single Python codebase.", "recording_license": "", "do_not_record": false, "persons": [{"code": "LDFVBH", "name": "Russell Keith-Magee", "avatar": "https://programme.europython.eu/media/avatars/LDFVBH_vINhTd8.webp", "biography": "Dr Russell Keith-Magee is the founder of the BeeWare project, a project developing GUI tools and libraries to support the development of Python software on desktop and mobile platforms. He joined the Django core team in 2006, and for 5 years, was President of the Django Software Foundation. He is a frequent speaker at Python and Django conferences around the globe, sharing his experience as a FLOSS developer, community maintainer, and (unsuccessful) startup founder. In his day job, he is a Principal Engineer at Anaconda, working on BeeWare in the OSS team.", "public_name": "Russell Keith-Magee", "guid": "ff535dce-c040-5da4-a097-c95024c4531c", "url": "https://programme.europython.eu/europython-2023/speaker/LDFVBH/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/B7WYKQ/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/B7WYKQ/", "attachments": []}, {"guid": "a74ee6ec-0f2b-5b57-a184-3381883cc03b", "code": "F9UBUW", "id": 33482, "logo": null, "date": "2023-07-20T14:00:00+02:00", "start": "14:00", "end": "2023-07-20T15:00:00+02:00", "duration": "01:00", "room": "PyCharm (Forum Hall)", "slug": "europython-2023-33482-0-cyber-resilience-act-panel", "url": "https://programme.europython.eu/europython-2023/talk/F9UBUW/", "title": "Cyber Resilience Act Panel", "subtitle": "", "track": null, "type": "Panel", "language": "en", "abstract": "The [EU Cyber Resilience Act (CRA)](https://digital-strategy.ec.europa.eu/en/library/cyber-resilience-act) may have a huge impact on the open-source community. There are concerns about how this framework would be applied to the open-source software contribution and distribution. If you would like to know more and voice out your concerns, join our sessions with leaders in the Python community and experts in the field.", "description": "## Agenda\n\n- 2:00 pm - 2:40 pm - CRA panel\n- 2:40 pm - 3:00 pm - CRA panel Q&A\n- 3:00 pm - 3:30 pm - Coffee break\n- 3:30 pm - 4:30 pm - CRA Unconference Discussion (at Open Space)\n\n---\n\n## CRA Panel\n\nWe have invited leaders in the Python community and domain experts to discuss the current state of CRA, related regulations and the potential effect to open-source, especially in the Python community. Confirmed Panelists are:\n\n- Deb Nicholson - Executive Director at the Python Software Foundation\n- Jannis Leidel - Founder of the Python Packaging Authority and the PSF Board of Directors\n- Ciar\u00e1n O'Riordan - Senior Policy Advisor of OpenForum Europe\n\n## CRA panel Q&A\n\nAfter the panel, it is your turn to ask questions and voice out your concern regarding the CRA. Are you a contributor to open-source software and wonder who will be held accountable for the software that you contributed? Are you working for a company that publishes open-source software and wonder if that will affect the business model of your company? Are you using open-source software and wonder if the open-source ecosystem would be the same after the CRA has been put into action? Join us to discuss all these.\n\n## CRA Unconference Discussion\n\nIf you would like to discuss further about CRA and the related PLD (Product Liability Directive), and their potential effect in the open source community. We reserved a 1-hour session in the open space for unconference discussion.", "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/F9UBUW/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/F9UBUW/", "attachments": []}, {"guid": "408c8a39-0cb6-5650-9696-e823839d2580", "code": "CRPQGK", "id": 29748, "logo": null, "date": "2023-07-20T15:30:00+02:00", "start": "15:30", "end": "2023-07-20T16:00:00+02:00", "duration": "00:30", "room": "PyCharm (Forum Hall)", "slug": "europython-2023-29748-music-information-retrieval-with-python", "url": "https://programme.europython.eu/europython-2023/talk/CRPQGK/", "title": "Music information retrieval with Python", "subtitle": "", "track": "PyData: Deep Learning, NLP, CV (2023)", "type": "Talk", "language": "en", "abstract": "The advancements of artificial intelligence in computer vision and natural language processing often make the headlines, but the subspace of musical AI is developing just as rapidly. Let\u2019s take a dive into the research area of music information retrieval and see how Python enables some of its proudest achievements. You\u2019ll learn about common MIR tasks and get ideas on how you can analyze, generate and interact with music using code, so you can start exploring right away! \nNo music theory knowledge nor prior experience with MIR is expected.", "description": "The talk gives an overview of the music information retrieval (MIR) research area. The area encompasses music analysis, generation, processing and recommendation. Python is one of the main tools used in MIR, with many dedicated libraries and more and more pre-trained AI models available for Pythonistas. Both the research area of MIR and the contents of this talk are highly interdisciplinary - MIR has something for you regardless whether you're a music lover, an active musician, deep learning researcher or web app builder!", "recording_license": "", "do_not_record": false, "persons": [{"code": "8HVY9P", "name": "Mateusz Modrzejewski", "avatar": "https://programme.europython.eu/media/avatars/8HVY9P_23XrhBv.webp", "biography": "Assistant Professor at the Institute of Computer Science of Warsaw University of Technology, of which he is also a graduate (MSc summa cum laude 2015, PhD 2022). Software engineer, AI researcher, conference speaker, author and co-author of papers on audio ML and artificial intelligence applied to computer games. His primary research area is music information retrieval (MIR). Has also worked with research and engineering teams of Fortune 500 companies, providing ML solutions and analytics. Apart from his scientific and engineering work, he is also an experienced touring and studio musician, having performed for audiences of up to 150,000 people and having toured in Poland, China, Vietnam, the UK, Germany, Ukraine, Lithuania and Estonia, among others.", "public_name": "Mateusz Modrzejewski", "guid": "720a3670-9a74-5af6-a7d9-cfc97c7d9673", "url": "https://programme.europython.eu/europython-2023/speaker/8HVY9P/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/CRPQGK/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/CRPQGK/", "attachments": []}, {"guid": "dc05ce29-274e-5316-90a6-35c47e953ad9", "code": "KYAWCJ", "id": 29572, "logo": null, "date": "2023-07-20T16:05:00+02:00", "start": "16:05", "end": "2023-07-20T16:50:00+02:00", "duration": "00:45", "room": "PyCharm (Forum Hall)", "slug": "europython-2023-29572-games-of-life-generative-art-in-python", "url": "https://programme.europython.eu/europython-2023/talk/KYAWCJ/", "title": "Games of Life: generative art in Python", "subtitle": "", "track": "Arts, Crafts Culture & Demos (2023)", "type": "Talk", "language": "en", "abstract": "We're entering the age of machine-generated art. Many of the new systems are shockingly impressive but impossible to replicate by individuals because they rely on complex machine learning techniques with huge datasets that aren't feasible to do in a home environment. Fortunately, there's an entire group of clever approaches to generate graphics that look cohesive, unique, and deliberate... and that you can easily do on your own computer.\n\nIn this short talk we'll go through a few of those algorithms like Clifford attractors, slime mold simulation, and reduction of source imagery to geometric primitives. We'll generate images and animations, we'll dabble in 2D and 3D. You'll leave the talk with your own ideas how to create attractive visualizations out of thin air. The talk assumes familiarity with Python and high-school math.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "YFCVFV", "name": "\u0141ukasz Langa", "avatar": "https://programme.europython.eu/media/avatars/YFCVFV_g7KtDtA.webp", "biography": "CPython Developer in Residence, Python 3.8 and 3.9 release manager. Gradual typing enthusiast, asynchronous programming proponent, and creator of the auto-formatter Black. ambv on Github.\n\nLikes immersive single-player role-playing games, Scotch whisky, and road cycling. In his free time, he produces electronic music, which includes software and hardware of his own making.", "public_name": "\u0141ukasz Langa", "guid": "417e4600-e4c9-5a3e-93e0-983efdc20d48", "url": "https://programme.europython.eu/europython-2023/speaker/YFCVFV/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/KYAWCJ/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/KYAWCJ/", "attachments": []}, {"guid": "66c3d4b5-8b33-5bba-9af7-3f67d6a3434b", "code": "RMHLRA", "id": 33370, "logo": null, "date": "2023-07-20T16:55:00+02:00", "start": "16:55", "end": "2023-07-20T17:40:00+02:00", "duration": "00:45", "room": "PyCharm (Forum Hall)", "slug": "europython-2023-33370-welcome-to-your-world", "url": "https://programme.europython.eu/europython-2023/talk/RMHLRA/", "title": "Welcome to Your World", "subtitle": "", "track": null, "type": "Keynote", "language": "en", "abstract": "In 2018 the author, journalist and broadcaster Andrew Smith realized that although computer code now mediated almost everything he did, he understood next to nothing about it. The only way to participate in the growing debates around what our code should and should not do, he reasoned, would be to enter the world of the people writing it, by learning to code himself. Nice idea! In a near thirty year writing career, Smith had flown to the edge of space, slept under Spearfish torpedoes aboard a nuclear hunter-killer submarine, roamed the vast Victorian sewer system under London, spent six months on the road with Bianca Jagger, toured with artists including Radiohead and The Prodigy, and been perhaps the only person ever to shake Fidel Castro's hand by accident. None of which prepared him for the challenge of learning to code. After a miserable false start with JavaScript, a kindly C++ programmer pointed him in the direction of Python and he fell in love not just with the language, but with the remarkable community behind it. In this unusual keynote, Andrew, with help from his great friend and Python stalwart Nicholas Tollervey, will describe what he found\u2014explaining the joys, frustrations and surprises, while touching on his experiences in Silicon Valley and the intriguing historical discoveries he made during his research. Smith's meditation on code's relationship to the wider world, Devil in the Stack: Searching for the Soul of the New Machine, will be published next March. This is his chance to share a preview of his reflections with the community that did so much to make them possible, of which he is grateful to consider himself a part.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "KHLYGS", "name": "Andrew Smith", "avatar": "https://programme.europython.eu/media/avatars/KHLYGS_dNy1MPa.webp", "biography": "Andrew has recently finished a book, due out later this year, about what it feels like to learn how to code. His language of choice was Python and, as part of his research, he became (and continues to be) involved in several different aspects of the Python and wider FLOSS community.\n\nAndrew often appears before live audiences and on radio and TV, and has written and presented a number of films and radio series, including the 60-minute BBC TV documentaries Being Neil Armstrong and To Kill a Mockingbird at 50, and the three-part BBC Radio 4 history of the lives of submariners, People of the Abyss. The last decade has seen his focus shift more squarely to the digital revolution and its social implications, with high profile magazine and comment pieces appearing in The Economist\u2019s 1843 magazine, The Financial Times and the US and UK editions of The Guardian. Smith also features in Stanford University's History of the Internet podcast series. Find out more about Andrew via his [website](https://www.andrewsmithauthor.com/).", "public_name": "Andrew Smith", "guid": "5abb4392-17bd-5311-a54d-5d23e43cbd41", "url": "https://programme.europython.eu/europython-2023/speaker/KHLYGS/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/RMHLRA/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/RMHLRA/", "attachments": []}, {"guid": "5211a097-153f-59bd-8c1f-adefc456b26c", "code": "YWGAUU", "id": 34204, "logo": null, "date": "2023-07-20T17:45:00+02:00", "start": "17:45", "end": "2023-07-20T18:30:00+02:00", "duration": "00:45", "room": "PyCharm (Forum Hall)", "slug": "europython-2023-34204-lightning-talks-thursday", "url": "https://programme.europython.eu/europython-2023/talk/YWGAUU/", "title": "Lightning Talks Thursday", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Enjoy Thursday's lightning talks, hosted by Omotola Omotayo \u2b07\ufe0f\n  \n  - **Being Nice** \u2014 Daniele Procida \n  - **I am Biased** \u2014  Filipa Andrade \n  - **What APL Taught Me about Python** \u2014 Rodrigo Gir\u00e3o Serr\u00e3o \n  - **All You Need to Know About Federated Learning in 2 Minutes** \u2014 Sarah Diot-Girard \n  - **A Different (Travel) Program** \u2014 Riccardo Polli\n  - **fstring.help Or: How I Bought Yet Another Domain** \u2014 Florian Bruhin \n  - **Community Conference / Events Announcements & Celebration!** \n  - **Pick a Side: Planet or Profit?** \u2014 Chiin-Rui Tan\n  - **Isolated Python Functions** \u2014 Meder Kamalov  \n  - **Gambatte Terminal** \u2014 Vincent Michel", "description": "", "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/YWGAUU/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/YWGAUU/", "attachments": []}], "South Hall 2A": [{"guid": "43d95f8c-3989-5ac6-ba8a-fc28b1667f8e", "code": "SDEUCB", "id": 29804, "logo": null, "date": "2023-07-20T10:30:00+02:00", "start": "10:30", "end": "2023-07-20T11:00:00+02:00", "duration": "00:30", "room": "South Hall 2A", "slug": "europython-2023-29804-poisoned-pickles-make-you-ill", "url": "https://programme.europython.eu/europython-2023/talk/SDEUCB/", "title": "Poisoned pickles make you ill", "subtitle": "", "track": "PyData: Machine Learning, Stats (2023)", "type": "Talk", "language": "en", "abstract": "Don\u2019t you love pickles? In the data science space, the pickle module has become one of the most popular ways to serialise and distribute machine learning models - yet, pickles introduce a wide range of problems. For starters, it is incredibly easy to poison a pickle. Once this happens, a poisoned pickle can be used by an attacker to inject any arbitrary code into your ML pipelines. And what\u2019s even worse: it\u2019s incredibly hard to detect if a pickle has been poisoned!\n\nGood news? Help is on the way! You now have access to an increasing number of tools to help you generate higher-quality pickles. And when those are not enough, you can always draw inspiration from the DevOps movement and their trust-or-discard processes.\n\nThis talk will show you how widespread pickles are and how easy it is to poison models serialised with pickle, but also how easy it is to start protecting them from attacks.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "XEYXAF", "name": "Adrian Gonzalez-Martin", "avatar": "https://programme.europython.eu/media/avatars/XEYXAF_282WdnH.webp", "biography": "Adrian is the Head of ML Serving at Seldon, where his focus is to extend Seldon\u2019s open source and enterprise MLOps products to solve large scale problems at leading organisations in the Automotive, Pharmaceutical and Technology sectors. When he is not doing that, Adrian loves experimenting with new technologies and catching up with the MLOps open source community, where he leads the MLServer project. Before Seldon, Adrian has worked as a Software Engineer across different startups, where he contributed and led the development of large production codebases. Adrian holds an MSc in Machine Learning from University College London, where he specialised in probabilistic methods applied to healthcare, as well as a MEng in Computer Science from the University of Alicante.", "public_name": "Adrian Gonzalez-Martin", "guid": "3679014a-52cc-50da-92c1-e6ed3c08dc87", "url": "https://programme.europython.eu/europython-2023/speaker/XEYXAF/"}], "links": [{"title": "Notebooks & Code", "url": "https://github.com/adriangonz/sigstore-talk", "type": "related"}], "feedback_url": "https://programme.europython.eu/europython-2023/talk/SDEUCB/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/SDEUCB/", "attachments": [{"title": "Slides", "url": "/media/europython-2023/submissions/SDEUCB/resources/EuroPython_2023_Poisoned_pickles_make_you_i_g3TMZgG.pdf", "type": "related"}]}, {"guid": "37636395-5587-5f01-baf9-c30a66138f07", "code": "B3MU99", "id": 33361, "logo": null, "date": "2023-07-20T11:20:00+02:00", "start": "11:20", "end": "2023-07-20T11:50:00+02:00", "duration": "00:30", "room": "South Hall 2A", "slug": "europython-2023-33361-unlocking-the-power-of-what-if-analysis-for-bi-data-and-ai-with-taipy", "url": "https://programme.europython.eu/europython-2023/talk/B3MU99/", "title": "Unlocking the Power of What-If Analysis for BI, Data, and AI with Taipy", "subtitle": "", "track": null, "type": "Sponsored", "language": "en", "abstract": "What-if analysis is the key to exploring datasets and assessing outcomes by gradually varying input parameters. It is a vital tool for users in the realm of data analysis and decision-making. However, implementing what-if analysis can be challenging. Join this captivating talk as we delve into the practical implementation of what-if analysis using Taipy.", "description": "This session will delve into a real-world industry case study highlighting the profound benefits of what-if analysis. While the focus is on Business Intelligence (BI), the concepts discussed are equally applicable to AI and data analysis in general.\n\nAgenda:\n\n    Understanding the limitations of data exploration without what-if analysis\n    Discovering why your users will fall in love with what-if analysis\n    Demystifying the possibility of implementing what-if analysis with popular tools like PowerBI and Looker\n    Introducing Taipy: The Ultimate What-If Analysis Toolkit\n    Unveiling the killer features of Taipy that empower data professionals\n    A glimpse into the future of Taipy and what to expect\n    Live demo showcasing Taipy's powerful scenario feature\n\nThis session will ignite your enthusiasm as we explore the game-changing potential of designing front-ends in Python. With Python skills already prevalent among data analysts, the possibilities are endless.\n\nJoin this exciting journey as we unlock the full potential of what-if analysis with Taipy.", "recording_license": "", "do_not_record": false, "persons": [{"code": "CK9WMY", "name": "Jean-Baptiste Braun", "avatar": "https://programme.europython.eu/media/avatars/CK9WMY_hbzCj0n.webp", "biography": "Jean-Baptiste Braun has been working in software engineering for 10 years. He is a freelance contractor working for one of the largest tech and data company in France: Adeo. He's mentoring a team to scale real time AI with good software engineering practices. In 2018, he co-organized the PyConFR. Between 2019 and 2022 he opened Just Escape, an escape room center in Lille, taking advantage of his engineering skills to create an amazing experience for players.", "public_name": "Jean-Baptiste Braun", "guid": "45c3c0a1-57ea-5941-a4a1-a837c62cd58b", "url": "https://programme.europython.eu/europython-2023/speaker/CK9WMY/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/B3MU99/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/B3MU99/", "attachments": []}, {"guid": "daff4b7b-d7a8-5bcc-8d3b-ca6347529e9b", "code": "ZPH9PC", "id": 29425, "logo": null, "date": "2023-07-20T11:55:00+02:00", "start": "11:55", "end": "2023-07-20T12:25:00+02:00", "duration": "00:30", "room": "South Hall 2A", "slug": "europython-2023-29425-high-volume-pdf-text-extraction-using-python-open-source-tools", "url": "https://programme.europython.eu/europython-2023/talk/ZPH9PC/", "title": "High Volume PDF Text Extraction using Python Open-Source Tools", "subtitle": "", "track": "PyData: Data Engineering (2023)", "type": "Talk", "language": "en", "abstract": "All major companies have huge amounts of (mostly PDF) documents that contain important - even critically important - information, that does no longer exist anywhere else in their data stores.\n\nReports, once generated for shareholders and legal or financial authorities, may still be useful for developing longterm forecasts or triggering company management decisions.\n\nBy definition, documents are intended for human perception, and as such contain unstructured data from an information technology perspective.\n\nTherefore, tools to extract PDF text content (mostly, but not only text) from millions of pages have become important vehicles to recreate structured information.\n\nThis presentation talks about extraction \"need for speed\" in this Big Data scenario, the need for integration with OCR capabilities and presents an open-source toolset which combines both, top-of-the-class performance and maximum extraction detail.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "RWYUCX", "name": "Harald Lieder", "avatar": "https://programme.europython.eu/media/avatars/RWYUCX_dNuADNJ.webp", "biography": "Master / Diploma in Mathematics (Frankfurt, Germany)\nWorked for large companies in management positions (Technology Architecture, data center lead) and for a global consulting firm as programme lead for large scale technology projects (infrastructure migration, data center optimization, post-merger integration).\nDecades of experience in programming, systems programming, quality management.", "public_name": "Harald Lieder", "guid": "a4c6d255-46db-5e06-ab38-365621db71b8", "url": "https://programme.europython.eu/europython-2023/speaker/RWYUCX/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/ZPH9PC/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/ZPH9PC/", "attachments": []}, {"guid": "c6f78c4d-3396-5be7-a0d5-283d23b2a370", "code": "D9HP7Z", "id": 35781, "logo": null, "date": "2023-07-20T12:30:00+02:00", "start": "12:30", "end": "2023-07-20T13:00:00+02:00", "duration": "00:30", "room": "South Hall 2A", "slug": "europython-2023-35781-how-dunder-methods-rule-python-under-the-hood", "url": "https://programme.europython.eu/europython-2023/talk/D9HP7Z/", "title": "How dunder methods rule Python under the hood", "subtitle": "", "track": "Python Internals & Ecosystem (2023)", "type": "Talk", "language": "en", "abstract": "[Python dunder methods](https://mathspp.com/blog/pydonts/dunder-methods) \u2013 like `__init__` \u2013 are sometimes referred to as \u201cmagic methods\u201d but they are not!\n\nThey are just regular methods!\n\nFunctions that are associated with objects and that you can call with arguments.\n\nThe only thing is... Python also calls those functions behind the scenes in certain situations!\n\nSo, let us learn what that is all about.", "description": "In this talk aimed at beginners, we will see what \u201cdunder methods\u201d are and how they govern Python behind the scenes.\n\nWe will understand, for example, why the funny-looking method `__init__` looks so funny and what its real purpose is.\n\nThen, we will understand that all of the Python syntax really is governed by dunder methods, and thus, if you want your own classes and objects to interact with the Python syntax, all you need to do is implement the appropriate dunder methods.\n\nFor example, we will see how to use dunder methods to enable you to create a good string representation of your class, or how to define `len` on your own objects.\n\nAlthough the talk is aimed at beginners, the audience is expected to know how to use the keyword `class` to create their own classes.\n\nAll materials can be accessed from [this GH repo](https://github.com/mathspp/talks).", "recording_license": "", "do_not_record": false, "persons": [{"code": "BLNV7P", "name": "Rodrigo Gir\u00e3o Serr\u00e3o", "avatar": "https://programme.europython.eu/media/avatars/BLNV7P_wULjbpV.webp", "biography": "Rodrigo has always been fascinated by problem solving and that is why he picked up programming \u2013 so that he could solve more problems. He also loves sharing knowledge, and that is why he spends so much time writing articles in his blog [mathspp.com/blog](http://mathspp.com/blog), writing on Twitter [@mathsppblog](https://twitter.com/mathsppblog), and giving workshops and courses.\n\nHis main areas of scientific interest are mathematics (numerical analysis in particular) and programming in general (with a preference for the Python and APL languages), but Rodrigo also enjoys reading fantasy books, watching silly comedy movies and eating chocolate.\n\nAll materials can be accessed from [this GH repo](https://github.com/mathspp/talks).", "public_name": "Rodrigo Gir\u00e3o Serr\u00e3o", "guid": "b162400f-4b4a-584b-b4d6-8e9b4c49a8ac", "url": "https://programme.europython.eu/europython-2023/speaker/BLNV7P/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/D9HP7Z/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/D9HP7Z/", "attachments": []}, {"guid": "a48a632d-a4cd-5443-839d-a073f7cf4f0a", "code": "XEQPYB", "id": 29432, "logo": null, "date": "2023-07-20T14:00:00+02:00", "start": "14:00", "end": "2023-07-20T14:30:00+02:00", "duration": "00:30", "room": "South Hall 2A", "slug": "europython-2023-29432-pip-install-malware", "url": "https://programme.europython.eu/europython-2023/talk/XEQPYB/", "title": "pip install malware", "subtitle": "", "track": "Security (2023)", "type": "Talk", "language": "en", "abstract": "pip install malware: it\u2019s that easy. Almost all projects depend on external packages, but did you know how easy it can be to install something nasty instead of the dependency you want? I'll be showing this live, as I make malware and install it from PyPI onto my own computer during the talk!", "description": "You might remember classic typosquatting examples like goggle.com, but it\u2019s now common to see malicious code hidden in spoofed or otherwise fraudulent PyPI packages or nested dependencies. Malware developers can also use techniques like starjacking to appear legitimate, so these unpleasant packages become even more difficult to spot. It\u2019s estimated that over 3% of packages on PyPI could be using this technique.\n\nBy the end of this talk, you\u2019ll know how to protect yourself when installing and updating dependencies and you\u2019ll leave with a checklist to follow to help you stay safe in future.", "recording_license": "", "do_not_record": false, "persons": [{"code": "JQ3MRZ", "name": "Max Kahan", "avatar": "https://programme.europython.eu/media/avatars/JQ3MRZ_jg2OKCR.webp", "biography": "I'm a Python Developer Advocate and Software Engineer at Vonage (ex-IBM). I'm interested in communications APIs, machine learning, open-source, developer experience and dancing! My training is in Physics and now I use my problem-solving skills daily, working on open-source projects and finding ways to make developers\u2019 lives better.", "public_name": "Max Kahan", "guid": "8ffb9331-edb2-59e7-aafa-27f57cae8721", "url": "https://programme.europython.eu/europython-2023/speaker/JQ3MRZ/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/XEQPYB/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/XEQPYB/", "attachments": []}, {"guid": "659c66b0-cae6-52ca-8088-0aad6dc885aa", "code": "ETSMPK", "id": 29395, "logo": null, "date": "2023-07-20T14:35:00+02:00", "start": "14:35", "end": "2023-07-20T15:05:00+02:00", "duration": "00:30", "room": "South Hall 2A", "slug": "europython-2023-29395-pep-458-a-solution-not-only-for-pypi", "url": "https://programme.europython.eu/europython-2023/talk/ETSMPK/", "title": "PEP 458 a solution not only for PyPI", "subtitle": "", "track": "Security (2023)", "type": "Talk", "language": "en", "abstract": "[PEP 458](https://peps.python.org/pep-0458/) uses cryptographic signing on [PyPI](https://pypi.org) to protect Python packages against attackers. The implementation of the PEP inspired the [Repository Service for TUF (RSTUF)](http://repository-service-tuf.readthedocs.io/), a project [accepted into the OpenSSF sandbox](https://github.com/ossf/tac/pull/137). We identified that the design could benefit other organizations and repositories looking to secure their software supply chains.\nIn this talk we would answer the following questions: \n- How did the PEP 458 design help to start the Repository Service for TUF (RSTUF)?\n- How could RSTUF be used for PyPI with its millions of packages?\n- How can RSTUF be deployed by any organization at any scale without requiring TUF expertise?\n\nAdditionally, in this talk, we would give an overview of PEP 458, how it works, and give a high-level overview of TUF.", "description": "[PEP 458](https://peps.python.org/pep-0458/) was designed to protect [PyPI](https://pypi.org) against various possible attacks on PyPIs own content distribution network and its mirrors while giving administrators a mechanism to recover from a compromise if it happens using [The Update Framework (TUF)](http://theupdateframework.io/).\nUsing [Repository Service for TUF (RSTUF)](http://repository-service-tuf.readthedocs.io/) is actually deploying TUF as a service based on PEP 458 design to solve a lot of common problems for repositories. It will help PyPI maintainers to integrate TUF using simple REST API calls without adding a large amount of code in the PyPI/Warehouse code base. \nIn this talk, we will recap PEP 458 and TUF, and what they are good for. We will show how RSTUF works and demonstrate the integration with Warehouse. Additionally, we will share how other organizations could use RSTUF to protect their clients.", "recording_license": "", "do_not_record": false, "persons": [{"code": "ANZZRH", "name": "Kairo de Araujo", "avatar": "https://programme.europython.eu/media/avatars/ANZZRH_yizokNX.webp", "biography": "Kairo is a Senior Open Source Software Engineer at VMware Open Source Program Office (OSPO) on the Security Supply Chain team. He contributed to python-tuf and is the author of Repository Service for TUF (RSTUF). Prior roles include System Engineer Specialist and Senior Software Engineer at IBM, ING, and Forescout.", "public_name": "Kairo de Araujo", "guid": "9b3453f1-5637-5140-a526-3962ce94079f", "url": "https://programme.europython.eu/europython-2023/speaker/ANZZRH/"}, {"code": "8SJZJT", "name": "Martin Vrachev", "avatar": "https://programme.europython.eu/media/avatars/8SJZJT_kBop2HO.webp", "biography": "Martin Vrachev is an Open Source Engineer in the VMware Open Source Program Office (OSPO) on the Security Supply Chain team. He has contributed to multiple Open Source security projects solving a variety of problems. His latest work is focused on secure software supply chain and more precisely on contributions towards RSTUF and Python-TUF. Martin's past contributions are towards security static analysis tools (Gosec, Precaution) and vulnerability scanning tools for images (Clair).", "public_name": "Martin Vrachev", "guid": "e84671c9-55a7-56d0-9a00-38b0254419dd", "url": "https://programme.europython.eu/europython-2023/speaker/8SJZJT/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/ETSMPK/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/ETSMPK/", "attachments": []}, {"guid": "55d1ccc2-5ee6-517c-92ed-f4ae176ff4dd", "code": "BHXSQU", "id": 29569, "logo": null, "date": "2023-07-20T15:30:00+02:00", "start": "15:30", "end": "2023-07-20T16:00:00+02:00", "duration": "00:30", "room": "South Hall 2A", "slug": "europython-2023-29569-don-t-panic-a-developer-s-guide-to-security", "url": "https://programme.europython.eu/europython-2023/talk/BHXSQU/", "title": "Don\u2019t Panic! A Developer\u2019s Guide to Security", "subtitle": "", "track": "Security (2023)", "type": "Talk", "language": "en", "abstract": "As a developer, you play a crucial role in the security of your projects. At the same time, it can be difficult to know if what you\u2019re doing is enough. Luckily, you don\u2019t have to be a security expert to contribute to the security of your projects. Instead, you can use industry standards as a guide for your approach to security.\n\nIn this talk, I will introduce you to a framework that is especially accessible to developers, the [OWASP DevSecOps Maturity Model](https://owasp.org/www-project-devsecops-maturity-model/), and help you get started with a systematic approach to improving the security of your projects.", "description": "One of the leading security principles today is that you should embrace security practices throughout your entire Software Development Lifecycle (SDLC), from design to deployment and maintenance. This means that you, as a developer, have a crucial part to play in keeping your projects secure.\n\nIn my talk, I will show you how to do that by introducing you to the [OWASP DevSecOps Maturity Model (DSOMM)](https://owasp.org/www-project-devsecops-maturity-model/). This model, which is very accessible to anyone familiar with DevOps, allows you to evaluate and improve your security practices. As the model describes the entire Software Development Lifecycle, it also serves as a nice reference framework for industry-standard security practices.\n\nI will start by giving you a high-level overview of the model and the principles behind it. I will also compare the DevSecOps Maturity Model with its older sibling, the [OWASP Software Assurance Maturity Model (SAMM)](https://owasp.org/www-project-samm/). Since it\u2019s important, I will end the first part by going into the difference between having a good security culture and [checkbox compliance](https://en.wiktionary.org/wiki/checkbox_compliance).\n\nNext, I will take you through the dimensions of the DevSecOps Maturity Model, with a focus on those dimensions that are especially relevant to developers. I will illustrate each dimension with concrete examples of security practices that you can implement yourself today.\n\nFinally, I will talk about the best way to start implementing these practices. This is crucial: For instance, if you suddenly introduce all the tools you can find, chances are that the only thing you\u2019ll learn from the plethora of alerts you\u2019ll get is how to ignore these tools. Since some of us also have to deal with corporate policies and a limited sphere of influence within an organization, I will end with some pointers on how to advocate good security practices from the bottom up.\n\nAnd, if this all feels a bit overwhelming, remember the big friendly letters in the title: [**Don\u2019t Panic!**](https://en.wikipedia.org/wiki/The_Hitchhiker%27s_Guide_to_the_Galaxy)", "recording_license": "", "do_not_record": false, "persons": [{"code": "UPWXFZ", "name": "Sebastiaan Zeeff", "avatar": "https://programme.europython.eu/media/avatars/UPWXFZ_gxgAL7g.webp", "biography": "Sebastiaan is a Senior Software Engineer for the [Ordina Pythoneers](https://ordina.com) and a Fellow of the [Python Software Foundation](https://www.python.org/psf-landing/). He has a passion for teaching Python and writing clean code. Sebastiaan is also active in the Python community, as the Financial Aid lead for EuroPython, open-source contributor, Python educator, and founder of [Python Discord](https://www.pythondiscord.com/).\n\nAs a public speaker, Sebastiaan makes frequent appearances at Python conferences, including PyCon US, EuroPython, PyCon APAC, FOSDEM, and Pyjamas Conf. He currently lives in The Netherlands.", "public_name": "Sebastiaan Zeeff", "guid": "c33a210d-9fd0-5d34-b9bc-df44d6cf0da7", "url": "https://programme.europython.eu/europython-2023/speaker/UPWXFZ/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/BHXSQU/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/BHXSQU/", "attachments": []}, {"guid": "5bacc759-c96f-56d3-b254-d19a049ac0b0", "code": "XYLWJH", "id": 33368, "logo": null, "date": "2023-07-20T16:05:00+02:00", "start": "16:05", "end": "2023-07-20T16:50:00+02:00", "duration": "00:45", "room": "South Hall 2A", "slug": "europython-2023-33368-sponsor-highlight-recruitment-fair", "url": "https://programme.europython.eu/europython-2023/talk/XYLWJH/", "title": "Sponsor Highlight & Recruitment Fair", "subtitle": "", "track": null, "type": "Sponsored", "language": "en", "abstract": "Many of our sponsors are looking to hire talented people and EuroPython is the perfect place to reach out to them!\n\nIn this session, our sponsors will each give a short presentation about their company and what they do with Python. You will meet and hear the exciting opportunities from JetBrains. Kraken Technologies, Microsoft, Optiver, Sentry, Temporal Technologies, Google Cloud, Numberly and Arm. Afterwards, you can approach them directly in their sponsor booth to carry on the conversation!", "description": "", "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/XYLWJH/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/XYLWJH/", "attachments": []}], "South Hall 2B": [{"guid": "2d60964f-e175-5d1d-bcd6-df6c6174fd2c", "code": "ZCXMQK", "id": 29585, "logo": null, "date": "2023-07-20T10:30:00+02:00", "start": "10:30", "end": "2023-07-20T11:00:00+02:00", "duration": "00:30", "room": "South Hall 2B", "slug": "europython-2023-29585-understanding-neural-network-architectures-with-attention-and-diffusion", "url": "https://programme.europython.eu/europython-2023/talk/ZCXMQK/", "title": "Understanding Neural Network Architectures with Attention and Diffusion", "subtitle": "", "track": "PyData: Deep Learning, NLP, CV (2023)", "type": "Talk", "language": "en", "abstract": "Neural networks have revolutionized AI, enabling machines to learn from data and make intelligent decisions. In this talk, we'll explore two popular architectures: Attention models and Diffusion models.\n\nFirst up, we'll discuss Attention models and how they've contributed to the success of large language models like ChatGPT. We'll explore how the Attention mechanism helps GPT focus on specific parts of a text sequence and how this mechanism has been applied to different tasks in natural language processing.\n\nNext, we'll dive into Diffusion models, a class of generative models that have shown remarkable performance in image synthesis. We'll explain how they work and their potential applications in the creative industry.\n\nThis is a good talk for visual learners. I prepared schematic diagrams, which present main features of the nerual network architectures. By necessity, the diagrams are oversimplified, but I believe they will allow you to gain some insight into Transformers and Latent Diffusion models.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "RMHTBJ", "name": "Micha\u0142 Karzy\u0144ski", "avatar": "https://programme.europython.eu/media/avatars/RMHTBJ_0aNWwXM.webp", "biography": "Michal works as a data researcher and software architect for Intel. He is also a chairperson of the Operators group of the open source ONNX (Open Neural Network Exchange) project.", "public_name": "Micha\u0142 Karzy\u0144ski", "guid": "49ea1d98-4c4c-5c01-a2fa-54df049fd5e7", "url": "https://programme.europython.eu/europython-2023/speaker/RMHTBJ/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/ZCXMQK/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/ZCXMQK/", "attachments": []}, {"guid": "77a8507a-a36a-5735-8ecb-6ea7fd49a875", "code": "RGRQVQ", "id": 29499, "logo": null, "date": "2023-07-20T11:20:00+02:00", "start": "11:20", "end": "2023-07-20T11:50:00+02:00", "duration": "00:30", "room": "South Hall 2B", "slug": "europython-2023-29499-story-generation-using-stable-diffusion-in-python", "url": "https://programme.europython.eu/europython-2023/talk/RGRQVQ/", "title": "Story Generation using Stable Diffusion in Python", "subtitle": "", "track": "PyData: Deep Learning, NLP, CV (2023)", "type": "Talk", "language": "en", "abstract": "Recently, most works focus on synthesizing independent images; While for\nreal-world applications, it is common and necessary to generate a series of coherent images for story-telling. In this work, we mainly focus on story visualization and continuation tasks and propose AR-LDM, a latent diffusion model auto-regressively conditioned on history captions and generated images. To my best knowledge, this is the first work successfully leveraging diffusion models for coherent visual story synthesizing.", "description": "In this talk, we will explore the use of stable diffusion and diffusion models in Python for generating original stories. We will first introduce the concept of stable diffusion and how it can be used to model the spread of information or ideas. We will then discuss how this can be applied to the task of story generation, and demonstrate how to use Python libraries such as Markovify and OpenAI ChatGPT API.", "recording_license": "", "do_not_record": false, "persons": [{"code": "LGQMF7", "name": "Nilesh Arnaiya", "avatar": "https://programme.europython.eu/media/avatars/LGQMF7_QMvRoeQ.webp", "biography": "Hi there. I am currently a Masters student at the University of Witwatersrand, South Africa. Before starting my masters, I was an android developer with a Tiktok like Indian startup. I started my AI journey with Udacity\u2019s AI course and since then I\u2019ve been on and off and have finally figured that I want to learn about the mind and make robots do cool stuff. My research interests are within the realm of Computer science and reinforcement learning for robotics. I\u2019m currently at the - RAIL LAB.\n\nI\u2019m a big potterhead and when I\u2019m not doing all the above, I\u2019m enjoying life with mentoring people at Mentorcruise or books, movies, yoga, ngos and exploration of apps. I also blog - Blog\n\nSend me an owl - @nilesharnaiya@gmail.com", "public_name": "Nilesh Arnaiya", "guid": "b534fe3e-b926-5ebe-80e0-09e5fd62e3cb", "url": "https://programme.europython.eu/europython-2023/speaker/LGQMF7/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/RGRQVQ/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/RGRQVQ/", "attachments": []}, {"guid": "17cb3b2b-c874-57bd-9d9e-1ace57836a69", "code": "SG3NQB", "id": 29670, "logo": null, "date": "2023-07-20T11:55:00+02:00", "start": "11:55", "end": "2023-07-20T12:25:00+02:00", "duration": "00:30", "room": "South Hall 2B", "slug": "europython-2023-29670-word-wranglers-news-navigators-taming-gpt-3-beast-for-media-monitoring", "url": "https://programme.europython.eu/europython-2023/talk/SG3NQB/", "title": "Word Wranglers & News Navigators: Taming GPT-3 Beast for Media Monitoring", "subtitle": "", "track": "PyData: Deep Learning, NLP, CV (2023)", "type": "Talk", "language": "en", "abstract": "The emergence of ChatGPT has led to an exponential growth of prospects and implementations in the field of Natural Language Processing (NLP). Various teams were struck with FOMO (Fear of Missing Out) and hastened to incorporate Large Language Models (LLMs) into their products. By using OpenAI models (text-curie-001, davinci, gpt-3.5-turbo), we successfully integrated them into our production on March 2, granting our users the ability to receive text summaries in their email reports and comprehend the essence of any article within our application. Three weeks later, we trained our own large language model for the same purpose. This talk will delve into our journey, exploring the lessons and insights gleaned from our hands-on experience with these cutting-edge tools.", "description": "While heaps of research focus on English texts, this talk will zoom in on using LLMs for smaller languages like Czech or Slovak. I'll share some hair-raising examples from our early days after deployment (trust me, when the LLM starts hallucinating about a local politician's resignation, your client won't be thrilled) and how we managed to tackle those challenges. I'll also chat about the quirks that come with non-English languages (more tokens, bigger models, ...) and dish about our experiments with other LLMs like OPT, BLOOM, and LLaMA. I will show how to fine-tune the general LLM to the Czech instruction set and demonstrate the danger of injecting false information. Finally, I will discuss possibilities of putting LLM to production.\n\nEstablished in 2015, Monitora Media burst onto the scene and rapidly rose to prominence in the realm of media analysis and monitoring across Central Europe. We've been shaking things up with innovations like real-time media monitoring and scrollable print titles, even scoring a spot on Deloitte's Technology Fast 50 for Central Europe in the past two years. We keep an eye on print and online publications, as well as TV and radio broadcasts, and podcast transcripts \u2013 we're talking over 350 programs, 9,000 websites, and 2,500 print titles! Python and Django hold a special place in our hearts.", "recording_license": "", "do_not_record": false, "persons": [{"code": "9RC8S7", "name": "Petr \u0160ime\u010dek", "avatar": "https://programme.europython.eu/media/avatars/9RC8S7_GIZNcfY.webp", "biography": "Biostatistician by training, time series forecaster at Google, \"gradient boosting guy\" at Simple Finance. Currently, entangling knots on protein backbones at Masaryk University and applying large language models at Monitora Media.", "public_name": "Petr \u0160ime\u010dek", "guid": "52cb6767-ee0f-59c0-b942-9e41c34b3c64", "url": "https://programme.europython.eu/europython-2023/speaker/9RC8S7/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/SG3NQB/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/SG3NQB/", "attachments": []}, {"guid": "1854378d-7ef6-5e0f-a7d6-012ef19c253f", "code": "YNHRBS", "id": 29546, "logo": null, "date": "2023-07-20T12:30:00+02:00", "start": "12:30", "end": "2023-07-20T13:00:00+02:00", "duration": "00:30", "room": "South Hall 2B", "slug": "europython-2023-29546-generative-ai-beyond-technicalities-an-ethical-perspective", "url": "https://programme.europython.eu/europython-2023/talk/YNHRBS/", "title": "Generative AI: Beyond technicalities \u2013 an ethical perspective", "subtitle": "", "track": "PyData: Ethics in AI (2023)", "type": "Talk", "language": "en", "abstract": "Machines have become smarter than ever before. Recently, we have started using computers for solving problems beyond computations, and it might not be wrong to call them electronic creators. The future laptop might have a prompt based word application, replacing the current Word, where one has to type their thoughts and formulate an entire document from  scratch. Similarly, we might see a prompt based Paint application, instead of the typical Paint program, that generates the paintings for us. In my opinion, AI-based applications are not in fiction anymore, and we may soon be using them on our computers. However, there is a possibilty that the Generative AI can be potentially harmful for society. We need to explore the ethical concerns, and how the AI can impact our society. In this talk, we will try to understand how Generative AI is becoming a part of our future and how we can use it in a responsible and ethical manner.", "description": "In the current rat race of building AI, the hype is being created to show that AI can take over the world and it can perform better in some aspects than humans. People are scared that they will not have their jobs anymore as they might get automated by GPT. There's also a belief that AI might develop sentience after ingesting so much data. This talk aims at addressing such issues. As a Researcher, I want to discuss the ground truth and share what's possible and what's not. Ultimately, the talk will leave the audience with an understanding of the architectures of AI and why we should adopt an ethical approach in developing and deploying these models.", "recording_license": "", "do_not_record": false, "persons": [{"code": "EAPUNV", "name": "Bhawna Singh", "avatar": "https://programme.europython.eu/media/avatars/EAPUNV_D7DtAxk.webp", "biography": "Bhawna Singh is a Data Scientist at CeADAR (UCD). She holds a Bachelors and a Masters Degree in Computer Science. During her masters, she pursued research to identify gender bias in Energy Policy data across the EU. Previously, she worked as a Data Scientist at Brightflag in Ireland and as a Machine Learning Engineer at AISmartz in India. Bhawna has industry experience in E-commerce and LegalOPs. Throughout her career, Bhawna has built models over massive data sets of information and has developed smart systems that solve problems like customer churn, propensity prediction, sales forecasting, recommendation engine, customer segmentation, pdf validation, etc. She believes in making AI systems that are feasible and available to everyone, irrespective of race, gender, social status, or language. \n\nAreas of Interest: \nMachine Learning, Natural Language Processing(NLP), Predictive Analytics, AI ethics, Fair AI, Explainable AI", "public_name": "Bhawna Singh", "guid": "bed61d30-e512-548b-b26f-b17c02ba8522", "url": "https://programme.europython.eu/europython-2023/speaker/EAPUNV/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/YNHRBS/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/YNHRBS/", "attachments": []}, {"guid": "a8d5593b-a73e-5d70-b4a9-65950c1eb2e4", "code": "DT9HXE", "id": 29033, "logo": null, "date": "2023-07-20T14:00:00+02:00", "start": "14:00", "end": "2023-07-20T14:30:00+02:00", "duration": "00:30", "room": "South Hall 2B", "slug": "europython-2023-29033-solving-data-problems-in-management-accounting", "url": "https://programme.europython.eu/europython-2023/talk/DT9HXE/", "title": "Solving Data Problems in Management Accounting", "subtitle": "", "track": "PyData: Data Engineering (2023)", "type": "Talk", "language": "en", "abstract": "Controllers deal with numbers all day long. They have to check a lot of data from different sources. Often the reports contain erroneous or missing data. Identifying outliers and suspicious data is time-consuming. \n\nThis presentation will introduce a Small Data Problem-End2End workflow using statistical tools and machine learning to make controllers' jobs easier and help them be more productive.\n\nWe will demonstrate how we used amongst others, \n- [scipy](https://scipy.org/)\n- [pandera](https://pandera.readthedocs.io/en/stable/)\n- [dirty cat](https://dirty-cat.github.io/stable/)\n- [nltk](https://www.nltk.org/)\n- [fastnumbers](https://pypi.org/project/fastnumbers/)\nto create a self-improving system to automate the screening of reports and report outliers in advance so that they can be eliminated more quickly.", "description": "Controllers deal with numbers all day long. They have to check a lot of data from different sources. Often the reports contain erroneous or missing data. Identifying outliers and suspicious data is time-consuming. \n\nThis presentation will introduce a Small Data Problem-End2End workflow using statistical tools and machine learning to make controllers' jobs easier and help them be more productive.\n\nIt is a common business problem that the data provided is incorrect due to misunderstandings, manual input, cultural differences, typos, etc. and these errors can often be weeded out in short order. \n\nThis talk will show how heuristic data validation can help to facilitate - in our specific use case controller - automated detection of inaccuracies, outliers or input errors. \n\nIn our use case we have to deal with a lot of reports. Some of the reports contain hundreds of columns and are very individually structured. Defining data types and expectations for each individual report for each column would be too time-consuming. \nWe are dealing with a technically manageable number of data sets, but too many to leave to human visual control alone.\n\nIn our talk we will present strategies on how we have solved small data problems using heuristic and statistical methods.\n\nQuestions to tackle:\n* Are None values ok or not, and if  - why?\n* Is a value an outlier or a typo?\n* How much deviation is ok, or not?\n* How can historical data help and to what extent?\n* Which other external information can help to validate data?\n\nWe will demonstrate how we used amongst others, \n- [scipy](https://scipy.org/)\n- [pandera](https://pandera.readthedocs.io/en/stable/)\n- [dirty cat](https://dirty-cat.github.io/stable/)\n- [nltk](https://www.nltk.org/)\n- [fastnumbers](https://pypi.org/project/fastnumbers/)\nto create a self-improving system to automate the screening of reports and report outliers in advance so that they can be eliminated more quickly.\n\nAudience:\nThis presentation is intended for anyone interested in data quality management without heavy lifting. Especially small data problems.", "recording_license": "", "do_not_record": false, "persons": [{"code": "8F38DV", "name": "Alexander CS Hendorf", "avatar": "https://programme.europython.eu/media/avatars/8F38DV_1m3tq1r.webp", "biography": "Alexander C.S. Hendorf is an independent AI and open-source strategy advisor working with companies in regulated industries. With 20+ years of hands-on experience across 50+ technologies \u2014 from the Python ecosystem to vector databases \u2014 he bridges the gap between boardroom decisions and technical execution. Alexander is a [Python Software Foundation Fellow](https://https://www.python.org/psf/fellows-roster/), serves on the board of the [Python Software Verband]([url](https://pysv.org/)) and has delivered 100+ talks in 15+ countries. \nHe writes at [hendorf.com](https://hendorf.com/)", "public_name": "Alexander CS Hendorf", "guid": "6baec490-383c-59bb-9102-6e5a9350af35", "url": "https://programme.europython.eu/europython-2023/speaker/8F38DV/"}, {"code": "VHVMNZ", "name": "Lucas-Raphael M\u00fcller", "avatar": null, "biography": null, "public_name": "Lucas-Raphael M\u00fcller", "guid": "f81e9dc5-b1a0-588d-a605-2a909a7f9f15", "url": "https://programme.europython.eu/europython-2023/speaker/VHVMNZ/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/DT9HXE/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/DT9HXE/", "attachments": []}, {"guid": "ced6321e-499d-549e-8b7c-6ba12994410c", "code": "XRGTRX", "id": 29903, "logo": null, "date": "2023-07-20T14:35:00+02:00", "start": "14:35", "end": "2023-07-20T15:05:00+02:00", "duration": "00:30", "room": "South Hall 2B", "slug": "europython-2023-29903-give-your-program-appeal", "url": "https://programme.europython.eu/europython-2023/talk/XRGTRX/", "title": "Give your program Appeal!", "subtitle": "", "track": "Python Libraries (2023)", "type": "Talk", "language": "en", "abstract": "This talk presents Appeal, a new library for command-line parsing in Python. Appeal avoids the cumbersome APIs and repetition endemic to the currently prevalent libraries in this space by leveraging Python's own function call interface. This talk will familiarize the audience with Appeal, its motivation, its approach, and its expressive power, and show them how to use Appeal in their own programs.", "description": "Appeal is a new and different command-line parsing library. It leverages Python's powerful function call interface to define your command-line, thus avoiding the clumsy, wordy APIs and endless repetition associated with other libraries. With Appeal, you just write Python functions, and it does the rest! This talk will show you how to use Appeal, how it works internally, and will leave you ready to use Appeal with your own programs.", "recording_license": "", "do_not_record": false, "persons": [{"code": "9DMGRT", "name": "Larry Hastings", "avatar": "https://programme.europython.eu/media/avatars/9DMGRT_qv4pVKf.webp", "biography": "Larry is a 200-foot-tall heavy assault robot intended for long-term city sieges.  His internal power source is good for up to a decade of continuous use, although he will need resupply of lubricants and ammunition every ten days.", "public_name": "Larry Hastings", "guid": "2ac0007c-ecec-5d9e-be1b-f7da8c53a07e", "url": "https://programme.europython.eu/europython-2023/speaker/9DMGRT/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/XRGTRX/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/XRGTRX/", "attachments": []}, {"guid": "ca9aa360-65f7-5463-979f-e662d03942b7", "code": "VHWTVF", "id": 29427, "logo": null, "date": "2023-07-20T15:30:00+02:00", "start": "15:30", "end": "2023-07-20T16:00:00+02:00", "duration": "00:30", "room": "South Hall 2B", "slug": "europython-2023-29427-the-standard-library-tour", "url": "https://programme.europython.eu/europython-2023/talk/VHWTVF/", "title": "The Standard Library Tour", "subtitle": "", "track": "Python Internals & Ecosystem (2023)", "type": "Talk", "language": "en", "abstract": "Are you tired of writing complicated code only to discover that Python has tools in its standard library that could have made your life easier? Join us for a tour of the standard library where we'll dive into less-known modules that do well-known things and well-known modules that do less-known things. This talk is tailored to beginners or anyone who wants to learn more about Python's standard library.", "description": "The Standard Library Tour is designed to provide attendees with an understanding of Python's standard library less known features. Have you ever found yourself writing complex code only to discover that Python has tools available within its library that could have made your job easier? Then this talk is for you!\n\nThe outline of the talk:\n* Basic information about the library \n* Well-known modules which do less-known things\n  * `functools` less-known features: `@singledispatch`, `partial()`, `@cache`\n  * `itertools` less-known features: `product()`, `filterfalse()`, `zip_longest()`\n  * `collections` less-known features: `ChainMap`,  `defaultdict`\n* Less-known modules which do well-known things\n  * `doctest` for testing: `testmod()` \n  * `Difflib` & `Filecmp` for comparison: `Difflib.SequenceMatcher`, `Filecmp.cmpfiles()`\n  * `contextlib` for tasks involving the `with` statement: `@contextmanager`, `@asynccontextmanager`\n\nBy attending this session, you'll gain a deeper understanding of Python's standard library and you'll discover the \"unknown unknowns\" - tools that you may not even know exist within Python's standard library. By becoming familiar with the library and all of its capabilities, you'll be better equipped to solve problems and build applications more efficiently, without reinventing the wheel. You'll also receive recommendations on where to find additional resources and information so you can continue learning and exploring Python's tools after the conference has ended.", "recording_license": "", "do_not_record": false, "persons": [{"code": "Z3AHU3", "name": "Mia Baji\u0107", "avatar": "https://programme.europython.eu/media/avatars/Z3AHU3_8iz30qM.webp", "biography": "Mia Baji\u0107 is a software engineer. She currently works at Ataccama, a Canadian-Czech company, where she contributes to the development of a business intelligence tool that helps users create engaging data stories and explain complex data phenomena. \n\nMia actively contributes to the vibrant tech community in Prague. She serves as a co-organizer of Pyvo, a series of monthly meetups dedicated to bringing together Python enthusiasts, developers, and experts. She also co-organizes PyCon CZ.", "public_name": "Mia Baji\u0107", "guid": "a2ac6bd8-62ff-5236-995b-eba5d82acc24", "url": "https://programme.europython.eu/europython-2023/speaker/Z3AHU3/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/VHWTVF/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/VHWTVF/", "attachments": []}, {"guid": "80e2da60-9d77-551e-8df9-f9fc89866b95", "code": "ZFB73A", "id": 29678, "logo": null, "date": "2023-07-20T16:05:00+02:00", "start": "16:05", "end": "2023-07-20T16:35:00+02:00", "duration": "00:30", "room": "South Hall 2B", "slug": "europython-2023-29678-the-coding-conventions-that-makes-our-lives-easier", "url": "https://programme.europython.eu/europython-2023/talk/ZFB73A/", "title": "The coding conventions that makes our lives easier", "subtitle": "", "track": "Software Engineering & Architecture (2023)", "type": "Talk", "language": "en", "abstract": "Discover how coding conventions can enhance code quality, readability, maintainability, and reduce errors. Join us as we discuss the creation and implementation of coding conventions, and how to use linters for maintenance.", "description": "Engineers review code as often as they write it and use a lot of tools to improve this process, such as linters and auto-formatters. One tool that is also very useful is coding conventions. It is a collection of references that can be used during code reviews while also serving as a valuable day-to-day reference and guide for the entire team.\n\nThis talk will explore several different conventions from the open-source conventions repository, offering an in-depth exploration of how they improve the quality of the codebase and serve as a tool for knowledge transfer among engineering teams.\n\nThe structure of the talk will follow:\n\n* What are coding conventions, and why do we use them?\n\n* How to establish your own coding conventions?\n\n* Examples of some of the most useful coding conventions and how they enhance code quality.\n\n* How to uphold your coding conventions with the help of linters?\n\nAttendees will leave with a comprehensive understanding of the concept of coding conventions and how to implement them within their own team.", "recording_license": "", "do_not_record": false, "persons": [{"code": "QQSVVM", "name": "\u00c7a\u011f\u0131l Ulu\u015fahin S\u00f6nmez", "avatar": "https://programme.europython.eu/media/avatars/QQSVVM_Tn08Njx.webp", "biography": "\u00c7a\u011f\u0131l is a software engineer based in London. She has been working with Python and Django since 2008. \n\nCurrently she is working as a Lead Backend Engineer at Kraken Tech. \n\nShe is vice president in Django Software Foundation, co-organiser of London Django Meetup, Pycon Turkey, DjangoGirls Turkey, and a PSF managing member.", "public_name": "\u00c7a\u011f\u0131l Ulu\u015fahin S\u00f6nmez", "guid": "99cd6771-7007-5cf0-95e0-b87b8a0c8846", "url": "https://programme.europython.eu/europython-2023/speaker/QQSVVM/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/ZFB73A/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/ZFB73A/", "attachments": []}], "North Hall": [{"guid": "d81babf9-664e-5dc5-a6ed-6f7d4cd71602", "code": "WUPCGU", "id": 29537, "logo": null, "date": "2023-07-20T10:30:00+02:00", "start": "10:30", "end": "2023-07-20T11:00:00+02:00", "duration": "00:30", "room": "North Hall", "slug": "europython-2023-29537-unlocking-the-power-of-raft-consensus-with-rqlite-using-python", "url": "https://programme.europython.eu/europython-2023/talk/WUPCGU/", "title": "Unlocking the Power of Raft Consensus with rqlite using Python", "subtitle": "", "track": "TBD - Multiple Tracks (2023)", "type": "Talk", "language": "en", "abstract": "Distributed databases are widely used in modern applications for their high availability and scalability. Have you ever wondered how data integrity is maintained with the data across multiple nodes? One of the key components of achieving this is distributed consensus. Raft is a widely used consensus algorithm that provides a fault-tolerant and highly available system. In this talk, we will explore how to implement Raft consensus using the rqlite distributed database in python.", "description": "Consensus is a fundamental problem in distributed systems, and it is critical for maintaining data consistency and availability in applications. In this talk, we will explore how to implement Raft consensus using rqlite, a distributed database that uses SQLite as its storage engine.\n\nWe will begin with an overview of distributed databases and the need for consensus algorithms, followed by a deep dive into the key concepts of the Raft consensus algorithm. We will discuss how Raft ensures consistency and availability in a distributed system and explore its strengths and weaknesses compared to other consensus algorithms.\n\nWe will then focus on rqlite, a powerful tool for building distributed databases with Raft consensus. We will cover its key features, including its SQL interface, fault tolerance, and scalability. We will also demonstrate how to use rqlite in Python applications to build fault-tolerant and highly available distributed systems.\n\nAttendees will gain a deeper understanding of the key concepts of distributed consensus, the benefits of using the Raft algorithm, and how to implement it using rqlite in python. No prior knowledge of consensus algorithms, Raft, and rqlite is required, but some familiarity with databases would be helpful. This talk is suitable for developers, database enthusiasts, and anyone interested in distributed systems and database design.", "recording_license": "", "do_not_record": false, "persons": [{"code": "S3SUGY", "name": "Tanya Sneh", "avatar": "https://programme.europython.eu/media/avatars/S3SUGY_p3ZeKxB.webp", "biography": "Tanya Sneh is a passionate software engineer and an alumnus of IIT Kharagpur, India. She has previously worked on projects involving game theory, machine learning, and robotics. Currently, she is focused on building scalable applications and working with multiple database technologies in the fintech industry. In addition to her professional pursuits, Tanya is a strong advocate for women in technology and has mentored several women in this field. She is known for her dedication to community involvement and enjoys reading and painting in her leisure time.", "public_name": "Tanya Sneh", "guid": "f9ba589d-31ba-5867-8a16-f4893d7c5f0a", "url": "https://programme.europython.eu/europython-2023/speaker/S3SUGY/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/WUPCGU/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/WUPCGU/", "attachments": []}, {"guid": "81e2319f-0e4b-5280-8ec3-0288b8c03f65", "code": "TYTBKX", "id": 35631, "logo": null, "date": "2023-07-20T11:20:00+02:00", "start": "11:20", "end": "2023-07-20T11:50:00+02:00", "duration": "00:30", "room": "North Hall", "slug": "europython-2023-35631-what-polars-does-for-you", "url": "https://programme.europython.eu/europython-2023/talk/TYTBKX/", "title": "What polars does for you.", "subtitle": "", "track": "PyData: Software Packages & Jupyter (2023)", "type": "Talk", "language": "en", "abstract": "Ritchie Vink is the Author of the new Polars DataFrame library. The library that is built for modern hardware. \n\nPolars is a query engine written in Rust that focusses on the DataFrame front-end. It is written from scratch in Rust designed to be fast, parallel and memory efficient. This talk we'll go through in the design of Polars and some of its design decisions.", "description": "Ritchie Vink is the Author of the new Polars DataFrame library. The library that is built for modern hardware. \n\nPolars is a query engine written in Rust that focusses on the DataFrame front-end. It is written from scratch in Rust designed to be fast, parallel and memory efficient. This talk we'll dive deeper the design of Polars.", "recording_license": "", "do_not_record": false, "persons": [{"code": "37ZAQC", "name": "Ritchie Vink", "avatar": "https://programme.europython.eu/media/avatars/37ZAQC_WnC43i3.webp", "biography": "Ritchie Vink is the author of the Polars DataFrame library and query engine. He has been working as a software engineer and machine learning engineer for 8 years. Before he started polars, he did many side projects on varying topics in computer science and statistics.", "public_name": "Ritchie Vink", "guid": "53e398b6-1d0a-5e80-b3db-3d566d0f26b0", "url": "https://programme.europython.eu/europython-2023/speaker/37ZAQC/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/TYTBKX/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/TYTBKX/", "attachments": []}, {"guid": "918f398f-4a0e-5140-bbbd-00aea247a227", "code": "W8J9MF", "id": 29258, "logo": null, "date": "2023-07-20T11:55:00+02:00", "start": "11:55", "end": "2023-07-20T12:25:00+02:00", "duration": "00:30", "room": "North Hall", "slug": "europython-2023-29258-learning-the-ropes-understanding-python-generics", "url": "https://programme.europython.eu/europython-2023/talk/W8J9MF/", "title": "Learning the ropes: understanding Python generics", "subtitle": "", "track": "Software Engineering & Architecture (2023)", "type": "Talk", "language": "en", "abstract": "What if you don't want a Cat to be an Animal? What is the Liskov Substitution Principle? And what on earth is contravariance?\n\nDiscover the answers to these questions and more, as we explore the foundations of generic types in Python. And by the end, you might even understand the weirder errors that Mypy sometimes throws your way.", "description": "Do you run a static type checker, such as Mypy, on your Python code? And have you ever been confused by the error messages?\n\nIn Learning the Ropes, we'll explore how the Python's support for generics can unlock new patterns in your code. Along the way, we'll learn about some foundations of type theory which will give you a firmer understanding of what type safety really means. Suddenly those Mypy errors will make sense. Be prepared to think hard and learn fancy new terms with which you can dazzle your friends and relations!", "recording_license": "", "do_not_record": false, "persons": [{"code": "QCTWRT", "name": "David Seddon", "avatar": "https://programme.europython.eu/media/avatars/QCTWRT_YpQ2pI4.webp", "biography": "David Seddon works in London at Kraken Tech, the technology tentacle of Octopus Energy. There, he works on a very large Django monolith consisting of tens of thousands of Python modules. \n\nHe loves thinking about and teaching software design, in particular domain modelling and application architecture.\n\nHe is the creator of [Import Linter](https://github.com/seddonym/import-linter), an open-source tool to check your Python project is following a set of architectural rules you define.\n\nHe blogs at https://seddonym.me.", "public_name": "David Seddon", "guid": "8e555dab-e5d0-5e2b-b8f0-518c0b2e5eec", "url": "https://programme.europython.eu/europython-2023/speaker/QCTWRT/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/W8J9MF/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/W8J9MF/", "attachments": []}, {"guid": "1ad0ad94-a1f1-5137-ade1-4e62490a19f0", "code": "8S3VD9", "id": 29387, "logo": null, "date": "2023-07-20T12:30:00+02:00", "start": "12:30", "end": "2023-07-20T13:00:00+02:00", "duration": "00:30", "room": "North Hall", "slug": "europython-2023-29387-designing-a-human-friendly-cli-for-api-driven-infrastructure", "url": "https://programme.europython.eu/europython-2023/talk/8S3VD9/", "title": "Designing a Human-Friendly CLI for API-Driven Infrastructure", "subtitle": "", "track": "Infrastructure: Cloud & Hardware (2023)", "type": "Talk", "language": "en", "abstract": "As Bloomberg\u2019s infrastructure grows and evolves, the tools we use to manage it are becoming increasingly important. To streamline infrastructure management, our team set out to design a REST API and constituent CLI (Command Line Interface) that would comprise a single interface for both programmatic and human interaction with our infrastructure. Traditionally, building a CLI that is tightly coupled to an API requires maintaining a separate codebase, which is tedious and error-prone. Instead, we designed a CLI that dynamically generates commands based on the OpenAPI JSON documentation. However, since APIs are designed for computer interaction, we designed our API to include the information needed to implement a human-friendly CLI. Leveraging Python, FastAPI, and numerous other open source projects, we built a stable, extensible tool that greatly improves how we interact with our infrastructure.", "description": "In this talk, we will share our experience designing a resilient infrastructure API with a human-friendly CLI that does not need continued development, even as the API evolves.\n\nWe will discuss some of the specific approaches we used to build a dynamically-updated CLI with human-friendly features:\n- Extending OpenAPI to communicate CLI intent\n- Using templating languages (Jinja) to convert the API\u2019s response JSON into human readable output\n- Defining CLI command aliases to abstract long, verbose API endpoints\n- Embedding CLI help text in the API to generate well-documented commands\n- Other small enhancements and strategies that improve the CLI user\u2019s quality-of-life.\n\nFurthermore, we will also discuss how we leveraged several open source projects and standards to accomplish our goals, including Python, FastAPI, OpenAPI, Jinja, OAuth2, Pydantic, prompt_toolkit, and more.", "recording_license": "", "do_not_record": false, "persons": [{"code": "PKATFL", "name": "Oliver Rew", "avatar": null, "biography": "As a software engineer and a lifelong tinkerer/maker, I have a deep-rooted passion for building, fixing, and breaking things. I recently earned a Masters in Electrical and Computer Engineering, and have gained experience working at both small startups and large companies. I thrive on fixing hard bugs and diving deep into challenging problems.\n\nBeyond my professional work, I'm also involved in an exciting Cubesat project at Portland State University. When I'm not immersed in technology, I enjoy outdoor activities such as biking, rock-climbing, and spending quality time with my dog, Bruce.", "public_name": "Oliver Rew", "guid": "cbf18af3-5ef7-5190-bb30-04c5df7ae227", "url": "https://programme.europython.eu/europython-2023/speaker/PKATFL/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/8S3VD9/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/8S3VD9/", "attachments": []}, {"guid": "76022327-b28b-536d-b8e4-9389d1858132", "code": "9CUAPR", "id": 29478, "logo": null, "date": "2023-07-20T14:00:00+02:00", "start": "14:00", "end": "2023-07-20T14:30:00+02:00", "duration": "00:30", "room": "North Hall", "slug": "europython-2023-29478-zero-copy-zen-boost-performance-with-memory-view", "url": "https://programme.europython.eu/europython-2023/talk/9CUAPR/", "title": "Zero-Copy Zen: Boost Performance with Memory View", "subtitle": "", "track": "TBD - Multiple Tracks (2023)", "type": "Talk", "language": "en", "abstract": "Are you tired of struggling with memory management in Python? Do you want to take your skills to the next level and achieve maximum performance while minimising memory usage? Look no further, here is Zero-Copy in Python!\nZero-copy is a technique in computer programming that allows data to be transferred between different parts of a program without being copied to intermediate buffers. In Python, this technique can be achieved using the memory view object, which provides a view into the memory of other objects. Learn how to efficiently manipulate large datasets and optimise your code with the help of this powerful tool. Whether you're working with sockets, objects or memory profiling, memory view is your key to faster and more efficient Python programming.", "description": "In today's data-driven world, efficient memory management is critical for achieving optimal performance in Python. Memory view and byte array provide a powerful combination of tools for managing bytes and memory in Python, enabling zero-copy interactions that can significantly improve performance and reduce memory usage. \n\nMemory view is a built-in Python class that provides a zero-copy interface to the memory of an object, allowing efficient manipulation of large data sets. Memory view objects can be used to share memory between different parts of a program without creating intermediate copies of the data, which can significantly improve the performance of Python code. This feature is particularly useful when working with large arrays, binary data, or network programming using sockets. Memory view can also be used in conjunction with the buffer protocol to work with objects in a zero-copy manner. \n\nOverall, memory view is a powerful tool for Python developers looking to optimise their code and improve performance. This talk will explore the technical aspects of memory view and byte array, providing real-world examples of how these tools can be used to achieve zero-copy interactions with bytes. Attendees will learn how to optimise their code by leveraging these tools, with a focus on achieving maximum performance while minimising memory usage.", "recording_license": "", "do_not_record": false, "persons": [{"code": "99QXYY", "name": "Kesia Mary Joies", "avatar": "https://programme.europython.eu/media/avatars/99QXYY_rWWi2xa.webp", "biography": "Kesia Mary Joies is a passionate Python developer. She enjoys leveraging logical thinking to develop software solutions that make people's lives easier. At present, she is focused on developing Strollby - a travel platform that utilises Python micro-services with GraphQL backend.\n\nShe considers herself as a *Leader*, *Inspirer*, and *Philanthropist*. She was awarded the *Grace Hopper Scholarship* for the year 2021, awarded annually to women in Technology. Also, she was recognised recently as the *Top 5 Best Women Outgoing Students from India*, conducted by IEEE Pune Section and Hope Foundation India.", "public_name": "Kesia Mary Joies", "guid": "1446f852-2e48-51fc-a65b-90d550682a25", "url": "https://programme.europython.eu/europython-2023/speaker/99QXYY/"}, {"code": "BZ8RFC", "name": "Aby M Joseph", "avatar": "https://programme.europython.eu/media/avatars/BZ8RFC_e9LGwmb.webp", "biography": "Aby is a Product Engineer at UST working in the travel domain. With a keen eye for detail and a desire to improve, he is currently exploring more on the Python microservices and the GraphQL ecosystem. \n\nAby also has experience in resolving various business problems by combining purpose-led research and digital technology innovation with rapid prototyping.", "public_name": "Aby M Joseph", "guid": "a06c5080-14a9-5bee-be02-e4adb26db25e", "url": "https://programme.europython.eu/europython-2023/speaker/BZ8RFC/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/9CUAPR/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/9CUAPR/", "attachments": []}, {"guid": "2be49834-84a6-54ff-8379-f601d7b1476c", "code": "3GWJCA", "id": 33362, "logo": null, "date": "2023-07-20T14:35:00+02:00", "start": "14:35", "end": "2023-07-20T15:05:00+02:00", "duration": "00:30", "room": "North Hall", "slug": "europython-2023-33362-cultivating-a-performance-mindset", "url": "https://programme.europython.eu/europython-2023/talk/3GWJCA/", "title": "Cultivating a Performance Mindset", "subtitle": "", "track": null, "type": "Sponsored", "language": "en", "abstract": "As developers, we learn early on that it\u2019s important to focus on getting our code to work without unnecessarily pre-optimizing, but how do we learn to eventually optimize our code? What do we look for? How do you know when something is slow? How do you **do** something about it?\n\nIn this talk, we\u2019ll discuss why your application performance matters, how you can learn to identify what matters most to you, and how Sentry has you in mind so you can effectively spend time improving the performance of critical user flows in your application.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "9SCBB3", "name": "Nar Saynorath", "avatar": "https://programme.europython.eu/media/avatars/9SCBB3_iazeslm.webp", "biography": "Nar is a full-stack software engineer working on the Performance product at Sentry. He\u2019s based in Toronto, Canada and outside of work, he enjoys camping and touring on both bicycles and motorcycles.", "public_name": "Nar Saynorath", "guid": "7ec71f23-9d93-5532-a316-3675fdf6ccd9", "url": "https://programme.europython.eu/europython-2023/speaker/9SCBB3/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/3GWJCA/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/3GWJCA/", "attachments": [{"title": "Powerpoint Slides", "url": "/media/europython-2023/submissions/3GWJCA/resources/Cultivating_a_Performance_Mindset_h41ZvIA.pptx", "type": "related"}]}, {"guid": "875d8275-f557-5ddd-b771-d019fc77cb7b", "code": "U3SEG8", "id": 29534, "logo": null, "date": "2023-07-20T15:30:00+02:00", "start": "15:30", "end": "2023-07-20T16:00:00+02:00", "duration": "00:30", "room": "North Hall", "slug": "europython-2023-29534-dive-into-codebase-like-a-pro", "url": "https://programme.europython.eu/europython-2023/talk/U3SEG8/", "title": "Dive into codebase like a pro", "subtitle": "", "track": "Software Engineering & Architecture (2023)", "type": "Talk", "language": "en", "abstract": "How to get familiar with codebase you need to maintain with minimum suffering? How to leave codebase easier to deal with for your colleagues so they don\u2019t have to suffer like you did?\n\nIf you are experienced developer or a junior just starting your journey, inheriting codebase can be a very challenging task. Especially if the codebase is not quite up to your standards, or it\u2019s just huge and complex beast.\n\nI will convey my experience and tips and tricks on inheriting code I acquired during 12 years of software development on new and old projects.\n\nThe talk will provide guidelines to ease taking over code from somebody else, as well as remind developers of the importance that planning, preparation and documentation have in facilitating code change and project growth.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "MGH3VT", "name": "Luka Raljevi\u0107", "avatar": "https://programme.europython.eu/media/avatars/MGH3VT_pWZzr1U.webp", "biography": "I am Python software developer since 2010. Mostly web applications. \nI have made right choices, wrong choices and had to maintain someone else\u2019s choices. I have built simple and complex web applications from scratch, took over complex systems, endured countless upgrades and dependency changes. \n\nI started as a fullstack developer and system administrator. \nI have been a team lead, a mentor and a software architect. \n\nHowever, I was always, first and foremost, a developer.", "public_name": "Luka Raljevi\u0107", "guid": "c84d12c2-3d17-5639-9104-3454b947094b", "url": "https://programme.europython.eu/europython-2023/speaker/MGH3VT/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/U3SEG8/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/U3SEG8/", "attachments": []}, {"guid": "dc12d727-8e50-51ca-8d54-015aca0ea7bf", "code": "XYHXYP", "id": 30057, "logo": null, "date": "2023-07-20T16:05:00+02:00", "start": "16:05", "end": "2023-07-20T16:50:00+02:00", "duration": "00:45", "room": "North Hall", "slug": "europython-2023-30057-from-idea-to-production", "url": "https://programme.europython.eu/europython-2023/talk/XYHXYP/", "title": "From idea to production", "subtitle": "", "track": "DevOps (2023)", "type": "Talk", "language": "en", "abstract": "In this talk we will take you through a complete journey a website takes - from conception to running in production, the right way.\n\nWhat is the best setup for local development, how to then move to testing and production? An opinionated talk from two veterans.", "description": "We start with choosing the proper architecture, show you what is a good setup for local development, and finally we will deploy our code to production.\n\nThe aim is to demystify the devops buzzword as well as show some practical examples that can be used by beginners as well as experienced developers.", "recording_license": "", "do_not_record": false, "persons": [{"code": "KVVBUX", "name": "Flavio Percoco", "avatar": "https://programme.europython.eu/media/avatars/KVVBUX_CHW3d0v.webp", "biography": null, "public_name": "Flavio Percoco", "guid": "4b9b4bda-eccd-5991-8adc-8d3372352a9a", "url": "https://programme.europython.eu/europython-2023/speaker/KVVBUX/"}, {"code": "ECALAF", "name": "Honza Kr\u00e1l", "avatar": "https://programme.europython.eu/media/avatars/ECALAF_5EtmWJE.webp", "biography": "Honza has been a Python engineer for almost 20 years now, working throughout the stack ranging from web development to data engineering to, finally, platform architecture. He is passionate about developer experience and tools of the trade.", "public_name": "Honza Kr\u00e1l", "guid": "1583574f-7908-518a-a3c6-44b25fa2866e", "url": "https://programme.europython.eu/europython-2023/speaker/ECALAF/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/XYHXYP/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/XYHXYP/", "attachments": []}], "Terrace 2A": [{"guid": "0ffd5001-ffd5-51c6-917e-41fdb3de2bc3", "code": "7KAKAG", "id": 29360, "logo": null, "date": "2023-07-20T10:30:00+02:00", "start": "10:30", "end": "2023-07-20T11:15:00+02:00", "duration": "00:45", "room": "Terrace 2A", "slug": "europython-2023-29360-python-on-arm-architecture", "url": "https://programme.europython.eu/europython-2023/talk/7KAKAG/", "title": "Python on Arm architecture", "subtitle": "", "track": "Python Internals & Ecosystem (2023)", "type": "Talk", "language": "en", "abstract": "Arm is everywhere technology matters: 250+ billion chips in everything from sensors to smartphones to servers. Due to its simplicity, versatility, and growth in popularity over the past decade Python is the most used language in the world.\n\nIn this presentation I will show you what the status of Python is on Arm architecture on all major operating systems and how you could help to improve it further.", "description": "I've recently joined the RCVM (runtimes, compilers and virtual machines) team in the Open Source Software group at Arm for a secondment of 6 months, looking at the status of Python and its ecosystem on Arm architecture. I engage with Arm's internal teams, external partners and the upstream community looking at potential gaps and how these can be fixed. During the presentation I will introduce the Arm architecture and explain the status of Python and its ecosystem on it. I will share my findings about potential gaps to be fixed and how we (as company, partners and community) can fix them to have a flawless Python experience on Arm.\n\nThe high-level agenda for this talk is:\n\n* Introduction to Arm architecture and why this matters to you (5 min)\n* What it has been done to enable Python on Arm architecture (10 min)\n    * This will likely involve activities from Arm, its partners and the upstream community\n    * I'll try to cover all major operating systems\n* What gaps do we have today?  (10 min)\n    * This will be likely the result of my secondment\n* What's next?  (5 min)\n    * How you can help to get Python and its ecosystem even better on Arm architecture\n* Final remarks (5 min)", "recording_license": "", "do_not_record": false, "persons": [{"code": "NCU7GS", "name": "Diego Russo", "avatar": "https://programme.europython.eu/media/avatars/NCU7GS_zzTxxgX.webp", "biography": "I work as a Principal Software Engineer at Arm Ltd and I have a Python Guild within the company with more than 800 members.\nI've been using Python since 2006 almost on a daily basis implementing all sorts of software.\nI do care about software quality.", "public_name": "Diego Russo", "guid": "f59ca2b2-7e74-5503-ae8e-2c1d8eab0630", "url": "https://programme.europython.eu/europython-2023/speaker/NCU7GS/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/7KAKAG/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/7KAKAG/", "attachments": []}, {"guid": "9be083d3-1496-57db-872e-4d201896ab9f", "code": "S3LKMH", "id": 29849, "logo": null, "date": "2023-07-20T11:20:00+02:00", "start": "11:20", "end": "2023-07-20T11:50:00+02:00", "duration": "00:30", "room": "Terrace 2A", "slug": "europython-2023-29849-instrumenting-cpython-with-ebpf", "url": "https://programme.europython.eu/europython-2023/talk/S3LKMH/", "title": "Instrumenting CPython with eBPF", "subtitle": "", "track": "Python Internals & Ecosystem (2023)", "type": "Talk", "language": "en", "abstract": "eBPF is a amazing technology that can run sandboxed programs in a privileged context such as the operating system kernel. But are eBPF programs limited to the operating system kernel? eBPF programs have fast access to resources like memory. These programs can access the memory of running Python applications very faster, allowing you to instrument Python processes with low overhead!\n\nIn my presentation, I will show how Python's internal structure supports instrumentation through the use of eBPF. Following that, we'll experiment with eBPF and other modern techniques to instrumenting the Python applications. I'll explain explain why eBPF is more appropriate and efficient technology for instrumentation. By the end of the session, we will have developed an eBPF-based simple tracing tool for instrumenting Python applications.\n\nAfter this presentation, you will better understand how eBPF can help you in the instrumentation of Python applications.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "7NCRBJ", "name": "Furkan Taha \u00d6NDER", "avatar": "https://programme.europython.eu/media/avatars/7NCRBJ_9L9oe4a.webp", "biography": "Furkan Onder is a Python developer who loves to work on the open-source and Python Software Foundation Contributer Member.", "public_name": "Furkan Taha \u00d6NDER", "guid": "e0da236b-31a6-5e28-988e-6b5d53ccdc85", "url": "https://programme.europython.eu/europython-2023/speaker/7NCRBJ/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/S3LKMH/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/S3LKMH/", "attachments": []}, {"guid": "9c1d940c-8a17-5568-8125-b16696c6abe0", "code": "TN3EXR", "id": 33365, "logo": null, "date": "2023-07-20T11:55:00+02:00", "start": "11:55", "end": "2023-07-20T12:25:00+02:00", "duration": "00:30", "room": "Terrace 2A", "slug": "europython-2023-33365-python-visual-studio-code-copilot-revolutionizing-the-way-you-do-data-science", "url": "https://programme.europython.eu/europython-2023/talk/TN3EXR/", "title": "Python, Visual Studio Code, Copilot - Revolutionizing the way you do data science", "subtitle": "", "track": "PyData: Software Packages & Jupyter (2023)", "type": "Sponsored", "language": "en", "abstract": "Come join this session to check out how Visual Studio Code along with GitHub, Codespaces, and Copilot can significantly improve the data science workflow and take your productivity to the next level. In this talk we will walk through several common Python data science scenarios, showcasing all the productive tooling VS Code has to offer along the way. As a sneak peek, we will be demoing a best-in-class Jupyter Notebooks experience with VS Code Notebooks, a revolutionary new data cleaning / preparation experience with Data Wrangler in VS Code, Copilot that helps you write code and fix issues faster, and more!", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "TPYBEP", "name": "Steve Dower", "avatar": "https://programme.europython.eu/media/avatars/TPYBEP_XEGH49p.webp", "biography": "Steve is an engineer who tells people about Python and then gives them excuses to use it and great tools to use it with. He is a core developer and Windows expert for CPython, and works at Microsoft making sure Python developers are well supported across Windows, Azure, and other Microsoft platforms.", "public_name": "Steve Dower", "guid": "06f72a70-6a90-58c3-8e25-94d2f2c48798", "url": "https://programme.europython.eu/europython-2023/speaker/TPYBEP/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/TN3EXR/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/TN3EXR/", "attachments": []}, {"guid": "94fb14d4-e665-58ad-90c1-0c364b77320b", "code": "FRZHZG", "id": 29069, "logo": null, "date": "2023-07-20T12:30:00+02:00", "start": "12:30", "end": "2023-07-20T13:00:00+02:00", "duration": "00:30", "room": "Terrace 2A", "slug": "europython-2023-29069-quantify-self", "url": "https://programme.europython.eu/europython-2023/talk/FRZHZG/", "title": "Quantify Self", "subtitle": "", "track": "Career, Life, Health (2023)", "type": "Talk", "language": "en", "abstract": "Want to learn something new about yourself? This talk will showcase some approaches to get the best from behavioral tracking as well as silent wearables tracking. Where and how to get data with my experience regarding the quality (expectation management), what to do with the raw data (IDA + some knowledge needed), how to convert insights into actions.", "description": "This talk present my summed up experience in self-tracking of many years. I will show what can be detected using modern wearable devices (rings, watches, EEG helms, etc.), what should you be searching in your data (if searching for specific answer at all), what interesting findings can present themselves and what you can do about them to make your life better.\nMy personal questions as a use-case would be:\n- Focus and Productivity\n- Nutrition (general health concerns like energy levels, resilience)\n- Happiness (mood, stress)\n- Overall health (energy levels, sleep, stress)", "recording_license": "", "do_not_record": false, "persons": [{"code": "M88987", "name": "Alisa Dammer", "avatar": "https://programme.europython.eu/media/avatars/M88987_XcmVuo8.webp", "biography": "I'm crazy about data and technology. Through years of experience in industry I have settled in MLE role where I can touch on all aspects of IT", "public_name": "Alisa Dammer", "guid": "a8e8f3e2-2b40-58c5-a575-cb7c34857afb", "url": "https://programme.europython.eu/europython-2023/speaker/M88987/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/FRZHZG/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/FRZHZG/", "attachments": []}, {"guid": "7696b480-5f2c-5853-bdd0-d509a80c8b8b", "code": "SWSLHC", "id": 35141, "logo": null, "date": "2023-07-20T13:00:00+02:00", "start": "13:00", "end": "2023-07-20T14:00:00+02:00", "duration": "01:00", "room": "Terrace 2A", "slug": "europython-2023-35141-you-don-t-know-comprehensions", "url": "https://programme.europython.eu/europython-2023/talk/SWSLHC/", "title": "You DON'T know comprehensions \ud83e\udd37", "subtitle": "", "track": "Python Internals & Ecosystem (2023)", "type": "Poster", "language": "en", "abstract": "You _**don't**_ know comprehensions!\n\nWhy are list comprehensions good?\nBecause they are fast?\n\nWrong!\n\nBecause they are short?\n\nWrong!\n\nThis poster session will show why list comprehensions are an excellent Python tool.\n\nThe poster session will:\n - teach you to convert loops to list comprehensions;\n - show how to write list comprehensions from scratch; and\n - give 10+ actionable tips and tricks for list comprehensions.\n\nThe poster will also show the similarities between list comprehensions and:\n - set comprehensions;\n - dict comprehensions; and\n - generator expressions.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "BLNV7P", "name": "Rodrigo Gir\u00e3o Serr\u00e3o", "avatar": "https://programme.europython.eu/media/avatars/BLNV7P_wULjbpV.webp", "biography": "Rodrigo has always been fascinated by problem solving and that is why he picked up programming \u2013 so that he could solve more problems. He also loves sharing knowledge, and that is why he spends so much time writing articles in his blog [mathspp.com/blog](http://mathspp.com/blog), writing on Twitter [@mathsppblog](https://twitter.com/mathsppblog), and giving workshops and courses.\n\nHis main areas of scientific interest are mathematics (numerical analysis in particular) and programming in general (with a preference for the Python and APL languages), but Rodrigo also enjoys reading fantasy books, watching silly comedy movies and eating chocolate.\n\nAll materials can be accessed from [this GH repo](https://github.com/mathspp/talks).", "public_name": "Rodrigo Gir\u00e3o Serr\u00e3o", "guid": "b162400f-4b4a-584b-b4d6-8e9b4c49a8ac", "url": "https://programme.europython.eu/europython-2023/speaker/BLNV7P/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/SWSLHC/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/SWSLHC/", "attachments": []}, {"guid": "5f3716f7-7725-5316-9099-79a125ceb0dd", "code": "JHSMMJ", "id": 33367, "logo": null, "date": "2023-07-20T14:00:00+02:00", "start": "14:00", "end": "2023-07-20T14:30:00+02:00", "duration": "00:30", "room": "Terrace 2A", "slug": "europython-2023-33367-the-challenges-of-doing-infra-as-code-without-the-cloud", "url": "https://programme.europython.eu/europython-2023/talk/JHSMMJ/", "title": "The challenges of doing Infra-As-Code without \"the cloud\"", "subtitle": "", "track": "Infrastructure: Cloud & Hardware (2023)", "type": "Sponsored", "language": "en", "abstract": "How do you implement Infrastructure-as-Code (IaC) in a non-cloud environment?", "description": "Optiver, a key player on major financial exchanges around the world, tackles this complex question head-on. As traditional trading floors have evolved into expansive data centres characterised by low-latency networks and high computing power, building and maintaining infrastructure in this environment presents challenges that can\u2019t be solved with off-the-shelf tools.\nIn this talk, you\u2019ll discover more about the unique strategies and bespoke solutions that Optiver deploys to overcome these exciting challenges.", "recording_license": "", "do_not_record": false, "persons": [{"code": "PBAGAX", "name": "Nicolas Demarchi", "avatar": "https://programme.europython.eu/media/avatars/PBAGAX_GACbGhx.webp", "biography": "Nicol\u00e1s is a seasoned self-taught software engineer with over 15 years of experience, and a passionate advocate for Python. Beginning his journey in the Python community in 2012, he co-founded the Python Argentina NGO and has actively contributed to several Python conferences, both as an organizer and a speaker. He has been maintaining the Python Argentina infrastructure since 2014, while also hosting and contributing to various Python meetups in Buenos Aires and Amsterdam, his current city of residence. Nicol\u00e1s has participated in the organization of the Python Amsterdam meetup, the pycamp.es team in Europe, and has been an integral part of the Media Workgroup of Europython 2020 online. His work extends to the EPS board where he assisted in organizing Europython2021-online, Europython-2022 in Dublin and 2023 in Prague, with a specific focus on operations and the hybrid format. In recognition of his significant contributions, Nicol\u00e1s was named a PSF Fellow in 2021.\n\nNicol\u00e1s joined Optiver in 2019 as with the goal of developing a platform to manage infrastructure. He is currently managing the Linux, Networks and Platform infrastructure teams.", "public_name": "Nicolas Demarchi", "guid": "b192b0b2-ac7f-5cf0-b1da-f57dc06e56d0", "url": "https://programme.europython.eu/europython-2023/speaker/PBAGAX/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/JHSMMJ/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/JHSMMJ/", "attachments": []}, {"guid": "84d87acb-34e2-5c3e-ab43-52396de9c166", "code": "KT8QPL", "id": 29529, "logo": null, "date": "2023-07-20T14:35:00+02:00", "start": "14:35", "end": "2023-07-20T15:05:00+02:00", "duration": "00:30", "room": "Terrace 2A", "slug": "europython-2023-29529-vector-data-cubes-as-a-bridge-between-raster-and-vector-worlds", "url": "https://programme.europython.eu/europython-2023/talk/KT8QPL/", "title": "Vector data cubes as a bridge between raster and vector worlds", "subtitle": "", "track": "PyData: Software Packages & Jupyter (2023)", "type": "Talk", "language": "en", "abstract": "This talk introduces the concept of vector data cubes - multi-dimensional arrays where at least one dimension is composed of vector geometries - and its implementation in Python within a new library Xvec, built on top of Xarray, Shapely 2.0 and GeoPandas.", "description": "Vector geospatial data, such as points, lines and polygons, are primarily stored in one-dimensional arrays; in Python, typically as a GeoPandas' GeoSeries column within a data frame. At the same time, raster data representing, among others, satellite imagery or digital terrain models (DTM) are multi-dimensional arrays with a number of dimensions being anywhere from 2 (e.g. DTM) to N (e.g. multi-spectral time series from Sentinel 2), in Python mostly captured as Xarray objects. The two, raster and vector, rarely meet, and if so, we either transform one to the other using rasterisation or vectorisation or link vector geometries to a raster index via a unique identifier. However, there is a space in between that would benefit from multi-dimensional arrays with support for vector geometry.\n\nThis talk presents a concept of vector data cubes - multi-dimensional arrays where at least one dimension is composed of vector geometries - and its implementation in Python using Xarray, Shapely 2.0 and GeoPandas under the hood. Using the new Xvec package extending Xarray's abilities, we can assign an array of vector geometries as dimension coordinates and use the geospatial capabilities within the Xarray object. A typical use case can be a time series of a land cover proportion per region, where one dimension is composed of vector region boundaries, other as land use classes and a third one capturing time. While the same can be stored as a long-form data frame, it is not an efficient format due to a large amount of data replication. Using the vector data cube instead brings both efficiency and convenience as the included vector dimension can be directly used for indexing, plotting, and other operations that depend on the vector data and for which we would need to switch between Xarray and GeoPandas.", "recording_license": "", "do_not_record": false, "persons": [{"code": "NN8GFM", "name": "Martin Fleischmann", "avatar": "https://programme.europython.eu/media/avatars/NN8GFM_ATnoJ9N.webp", "biography": "I am a researcher in urban morphology and geographic data science focusing on quantitative analysis and classification of cities, remote sensing, and bits of AI. While not doing the research, I write open source software, promote open science and help others with their data.\n\nI am an author or a maintainer of a range of open scientific software, including GeoPandas, the open source Python package for geographic data handling, momepy, the urban morphology measuring toolkit for Python, Xvec, the tool for vector data cubes, and PySAL, the Python library for spatial analysis.", "public_name": "Martin Fleischmann", "guid": "9b624420-1283-5df1-9708-24b461b3efd1", "url": "https://programme.europython.eu/europython-2023/speaker/NN8GFM/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/KT8QPL/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/KT8QPL/", "attachments": []}, {"guid": "c9d0acf4-5a09-52a8-9181-b42c1bac429b", "code": "3MDSQN", "id": 29313, "logo": null, "date": "2023-07-20T15:30:00+02:00", "start": "15:30", "end": "2023-07-20T16:00:00+02:00", "duration": "00:30", "room": "Terrace 2A", "slug": "europython-2023-29313-private-data-anonymization-with-python-fundamentals", "url": "https://programme.europython.eu/europython-2023/talk/3MDSQN/", "title": "Private Data Anonymization with Python, Fundamentals", "subtitle": "", "track": "PyData: Deep Learning, NLP, CV (2023)", "type": "Talk", "language": "en", "abstract": "How to bring large legal document repositories into the public domain without releasing private data? The fundamental concepts behind document anonymization are entity recognition, masking type, and pseudoanonymization. Using python language and a collection of libraries such as spacy, pytorch, and others we can achieve good scores of anonymization. How is this applied within a flow containing AI models for NER? Once anonymized how to improve the result by doing more text mining with python based apps and human in the loop. Although it was approved in 2016, the application of the GDPR at the European level remains a challenge in banking, legal, and other contexts. This talk covers the process of transforming pdf and docx documents into xml, processing them using regexp and spacy/torch models, and how to parse these results using AntConc and Textacy. All the ideas will be supported with the real experience of the MAPA project a European project for anonymization finished in 2022.", "description": "Based on the experience of more than 3 years anonymizing documents in different domains, the idea is to present the necessary steps in the anonymization process and how python tools are essential for it.\n\nIt will include the presentation of a European project in the field of anonymization completed in 2022 whose data is available to the entire community and which is known as MAP (https://www.elrc-share.eu/repository/search/? q=MAP)\n\nThe talk will focus its objectives on the importance of AI models to scale anonymization in environments with high volumes of documents, and how python technologies make possible a better performance of the solution and also of the team that develops it.\n\nThe following frameworks will be mentioned in the presentation: Spacy, Pytorch, FastAPI, Textacy, Pytest and other base libraries.", "recording_license": "", "do_not_record": false, "persons": [{"code": "CQ3EYA", "name": "Abel Meneses Abad", "avatar": "https://programme.europython.eu/media/avatars/CQ3EYA_2W6qFni.webp", "biography": "Currently Data Scientist at Datwit US, Inc.\n- Private Health Data Anonymization\n- Health Data Analysis\n- AI adoption in Health and Legal domains \nMachine Learning Engineer at Pangeanic (until May 2023)\n- AWS solution design based on async requests\n- Anonymization Toolkit using NER with customized tags with Python\n- Combining Machine Translation with Pseudoanonymization\n- REST API design for NLP tasks with FastAPI, Flair and Spacy\n- Flair and Spacy NER Model Evaluation\n- Image Anonymization Service design and evaluation\n- OCR service design and evaluation", "public_name": "Abel Meneses Abad", "guid": "b1c1a119-8629-5069-ad48-53f0fad2b25b", "url": "https://programme.europython.eu/europython-2023/speaker/CQ3EYA/"}, {"code": "YXEULE", "name": "Oscar L. Garcell", "avatar": "https://programme.europython.eu/media/avatars/YXEULE_SBOr6dG.webp", "biography": "Passionate MLOps and Backend Developer. Currently living and working in Belgrade, Serbia.\n\nWork Experience:\n- HTEC Group, Software Engineer\n- Datwit US LLC, Data Analyst\n- Pangeanic Language Technologies and Translation Services, Machine Learning Engineer\n- Auge CRM S.A.S. de C.V, Back End Developer & DevOps Engineer\n- OptimalBit LLC, DevOps Engineer", "public_name": "Oscar L. Garcell", "guid": "aff80d47-4bb0-5942-b054-155904bb2501", "url": "https://programme.europython.eu/europython-2023/speaker/YXEULE/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/3MDSQN/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/3MDSQN/", "attachments": []}, {"guid": "13aa54a4-9a7d-5d2f-bbc2-4eaf5abe82dd", "code": "HUC9XE", "id": 29495, "logo": null, "date": "2023-07-20T16:05:00+02:00", "start": "16:05", "end": "2023-07-20T16:50:00+02:00", "duration": "00:45", "room": "Terrace 2A", "slug": "europython-2023-29495-unlocking-healthcare-data-the-power-of-open-formats-in-python-data-science", "url": "https://programme.europython.eu/europython-2023/talk/HUC9XE/", "title": "Unlocking Healthcare data: the power of Open Formats in Python Data Science", "subtitle": "", "track": "PyData: Data Engineering (2023)", "type": "Talk", "language": "en", "abstract": "Are you a data scientist or developer working in healthcare? Are you tired of dealing with proprietary data formats for biological and vital sign information? It's time to unlock the power of open data and make your research more impactful.\n\nIn this talk, we'll explore how you can leverage Python analytics to manipulate and analyze complex datasets of patient information, including blood work, ECG, EEG, echocardiography, radiography, and more.\n\nWe'll also dive into the world of open data formats, and show you how using these formats can make it easier to anonymize, convert, and collaborate on research.\n\nDon't miss this opportunity to learn how Python analytics and open data formats can help you unlock the insights hidden in your data and improve patient outcomes.", "description": "In this talk, we'll explore the power of open data formats for healthcare and how Python analytics, like NumPy, SciPy, Pandas and Matplotlib, can be used to analyze and unlock the insights hidden in biomedical datasets. We'll dive into the world of open data formats, including EDF for ECG and EEG, ISHNE for Holter, FASTA, FASTQ and SAM for biological sequence data, DICOM for radiology, and more.\n\nWe'll also discuss the importance of adhering to open data format standards and avoiding proprietary extensions, which can limit collaboration and hinder progress in healthcare research. To help ensure compliance with these standards, we'll introduce a variety of Python libraries, like Biopython, MNE-Python, pydicom, EDFlib-Python and ISHNEHolterLib, that can be used to test output files and ensure they meet the required standard.\n\nWhether you're a data scientist, developer, or healthcare professional, this talk is for you. By leveraging the power of open data formats and Python analytics, we can improve patient outcomes and advance the field of healthcare research. Join us as we explore the exciting possibilities of open data formats and Python analytics in healthcare.", "recording_license": "", "do_not_record": false, "persons": [{"code": "Q77JXX", "name": "Stefano Cotta Ramusino", "avatar": "https://programme.europython.eu/media/avatars/Q77JXX_hV6127r.webp", "biography": "Software Engineer with several years of experience in digital medical devices development and telemedicine cloud services.\n\nHe works closely with physicians and tries to bring the world of medicine closer to the world of computer science, proposing the latest technologies to help doctors save lives.\n\nSpeaker at several technical conferences at European level, organizer of Python community events in Turin, teacher for the annual course of GNU/Linux and Open Technologies in the Polytechnic University of Turin, he tries to push for the use of open formats and open source tools in everyday life.", "public_name": "Stefano Cotta Ramusino", "guid": "b218f504-ad92-52b3-8fef-a711168cf9f5", "url": "https://programme.europython.eu/europython-2023/speaker/Q77JXX/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/HUC9XE/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/HUC9XE/", "attachments": []}], "Terrace 2B": [{"guid": "0c8917ad-420d-5794-a3b7-31ebc5f7b052", "code": "U9SNQ7", "id": 29211, "logo": null, "date": "2023-07-20T10:30:00+02:00", "start": "10:30", "end": "2023-07-20T11:00:00+02:00", "duration": "00:30", "room": "Terrace 2B", "slug": "europython-2023-29211-how-to-land-your-new-python-developer-job-a-recruiter-s-perspective", "url": "https://programme.europython.eu/europython-2023/talk/U9SNQ7/", "title": "How to land your new Python Developer job: a Recruiter's perspective", "subtitle": "", "track": "Career, Life, Health (2023)", "type": "Talk", "language": "en", "abstract": "Looking for a job is already a job. How can you make sure that you are successful in the role of a Python Developer job-seeker? Join this talk to learn directly from an insider the tips & tricks about what technologies are in-demand, how to look for your next role, how to display your experience (or lack of) in your CV, how to prepare for interviews, and much more.", "description": "Being a job-seeker is one of the most extenuating jobs ever. Everyone knows this, Recruiters included. This is why, after several years of experience working as a Recruiter and facing challenging times, it would be my pleasure to share my knowledge with the community. Together, we are going to tackle the steps and skills that are needed to secure a role in today's job market, with a focus on landing a job in the Python field. Come and then share your knowledge with other job seekers, we are in this all together!", "recording_license": "", "do_not_record": false, "persons": [{"code": "RSAUTH", "name": "Giordano Tuvo", "avatar": "https://programme.europython.eu/media/avatars/RSAUTH_Uyu0mlP.webp", "biography": "I was born in Italy but I have been living in the Netherlands for 5 years. I work as a Tech Recruiter, and I consider myself an empathic person and a big fan of active listening and emotional intelligence. These aspects of myself led me to focus my career around helping others find a job that would suit them, make them happy, and satisfied in the long run. Work plays such a vital role in everyone's life, and I'm glad when I can close my laptop at the end of the day and think that I made a difference for someone's well-being. My motto is from a Taylor Swift's song: \"Never be so kind you forget to be clever, never be so clever you forget to be kind\".", "public_name": "Giordano Tuvo", "guid": "8c9d1531-fbdd-512f-9ac1-0047bb638ac0", "url": "https://programme.europython.eu/europython-2023/speaker/RSAUTH/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/U9SNQ7/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/U9SNQ7/", "attachments": [{"title": "GiordanoTuvo_EuroPython2023", "url": "/media/europython-2023/submissions/U9SNQ7/resources/GiordanoTuvo_EuroPython23_SpeakerSession_yKNGRmV.pdf", "type": "related"}]}, {"guid": "6427b2d6-775b-53cf-96eb-67ffde1740f6", "code": "BMYYTX", "id": 28934, "logo": null, "date": "2023-07-20T11:20:00+02:00", "start": "11:20", "end": "2023-07-20T11:50:00+02:00", "duration": "00:30", "room": "Terrace 2B", "slug": "europython-2023-28934-career-building-through-open-source-community-participation", "url": "https://programme.europython.eu/europython-2023/talk/BMYYTX/", "title": "Career Building Through Open Source & Community Participation", "subtitle": "", "track": "Community & Diversity (2023)", "type": "Talk", "language": "en", "abstract": "Open source has widely grown to allow different tech career paths to enhance projects with their skills & provide jobs for those interested in working with open source. Open source contribution programs provide & build interested persons' capacity to become professionals.\n\nActive community participation helps enhance career growth. \n\nOutreachy is a paid and remote internship OS program that empowers, grows talents, and prepares them for career growth. Outreachy provides internships to people subject to systemic bias and impacted by underrepresentation in the technical industry where they are living. \n \nAt the end of this session, beginners and persons on the intermediate level will have enough knowledge of how they can build a career in open source; experts will also get more insights on how they can contribute to the advancement of open source contribution by giving back to the community as a mentor helping new contributors understand the open source ecosystem and contribution.", "description": "This session aims to empower attendees with different ways to contribute to open source and how the community behind open source can be a tool for their career development and growth. \n\nCommunity participation is the secret sauce to career growth. I will highlight how to use the community effectively, the skills members can gain, and how to best position oneself for professional career growth in a community. \n\nOpen source contribution is one of the easiest ways to build and gain relevant skills needed to make a career. I will give insights on the what, why, and steps to achieve this.", "recording_license": "", "do_not_record": false, "persons": [{"code": "NXAP3Q", "name": "Omotola Eunice Omotayo", "avatar": "https://programme.europython.eu/media/avatars/NXAP3Q_ucEg7mS.webp", "biography": "Omotola Eunice Omotayo is the community manager at Outreachy, a paid remote Internship in Open Source and Open Science for people subject to systemic bias and impacted by underrepresentation in the technical industry where they are living.\n\nOmotola is passionate about empowering women and marginalized populations, primarily through technology. She leads the community manager team at She Code Africa, a non-profit organization that celebrates and empowers young Girls and Women in Technology across Africa.\n\nOmotola is an experienced community manager who has worked in diverse and inclusive teams since 2019. Omotola uses she/her pronouns. She understands how communities work and creates an extraordinarily welcoming and safe environment for community users. She has successfully managed community brands and an online presence in technology, business, and development. She speaks passionately about Community,  DEI, Women empowerment, Open Source, and Open Payment.", "public_name": "Omotola Eunice Omotayo", "guid": "678325af-4477-5cb3-bb2b-32f921f2f1be", "url": "https://programme.europython.eu/europython-2023/speaker/NXAP3Q/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/BMYYTX/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/BMYYTX/", "attachments": []}, {"guid": "6c449ac9-5fbd-581f-8934-6bdd682317a1", "code": "EAPRY9", "id": 29565, "logo": null, "date": "2023-07-20T11:55:00+02:00", "start": "11:55", "end": "2023-07-20T12:25:00+02:00", "duration": "00:30", "room": "Terrace 2B", "slug": "europython-2023-29565-breaking-the-stereotype-evolution-persistence-of-gender-bias-in-tech", "url": "https://programme.europython.eu/europython-2023/talk/EAPRY9/", "title": "Breaking the Stereotype: Evolution & Persistence of Gender Bias in Tech", "subtitle": "", "track": "Community & Diversity (2023)", "type": "Talk", "language": "en", "abstract": "Did you know that originally programming was a female-heavy field? \nHow did we get to the stereotype of the antisocial programmer (and therefore male)? \n\nHow the concept that good programmers appeared to have been \u201cborn, not made\u201d is still affecting our tech industry and society.", "description": "I will explore the early days of computing when **women were actually the dominant sex in programming**. Can you believe it??\n**How did we get from this to the stereotype of the nerdy programmer obsessed with programming?**\nWe will find out how this has changed and how gender bias has influenced the development of the tech industry as we know it today.\n\nI will also dig into the consequences of gender bias in the tech industry, including the negative impacts on innovation, profitability, and the overall well-being of the industry. The talk will conclude with practical steps and solutions that companies can take to create a more inclusive and diverse tech industry.\n\nThe gender gap it\u2019s an important issue that affects all of us. By taking action to address these biases, we can create a better future for everyone in the industry.", "recording_license": "", "do_not_record": false, "persons": [{"code": "LJNU97", "name": "Ester Beltrami", "avatar": "https://programme.europython.eu/media/avatars/LJNU97_GSHrFmE.webp", "biography": "\ud83d\udc4b\ud83c\udffb I'm Ester, a London-based web developer passionate about clean code, workplace culture, promoting inclusivity, and GraphQL. I work at [Torchbox](https://torchbox.com), where we develop and maintain the open-source content management system [Wagtail](https://wagtail.org). My focus is on building accessible and user-friendly websites and contributing to Wagtail.\n\nI'm involved in organising [PyCon Italia](https://pycon.it), where I contribute to the website and help plan the conference. I'm also a core developer of [Strawberry GraphQL](https://strawberry.rocks), which has given me the opportunity to explore my interest in GraphQL even further.\n\nIn my free time, I attend conferences and meet-ups to learn about new trends and connect with people who share similar interests. I enjoy exchanging ideas on various topics, such as clean code, new technologies, and creating a more inclusive workspace.\n\nYou can find me on:\n- Twitter: [@esterbeltrami](https://twitter.com/esterbeltrami)\n- Mastodon: [@ester](https://marcotte.party/@ester)\n- LinkedIn: [beltramiester](https://www.linkedin.com/in/beltramiester/)\n- GitHub: [estyxx](https://github.com/estyxx)\n\nCheck out my website [ester.lol](https://ester.lol) - I'll be adding my talks there soon (hopefully, when I find some time) \ud83d\ude04", "public_name": "Ester Beltrami", "guid": "402c0f34-66d8-545f-b22c-02828f2851ee", "url": "https://programme.europython.eu/europython-2023/speaker/LJNU97/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/EAPRY9/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/EAPRY9/", "attachments": []}, {"guid": "49a8ec1f-a70c-51a1-8cf9-40a7ed58086a", "code": "S8H88E", "id": 29350, "logo": null, "date": "2023-07-20T12:30:00+02:00", "start": "12:30", "end": "2023-07-20T13:00:00+02:00", "duration": "00:30", "room": "Terrace 2B", "slug": "europython-2023-29350-all-about-djangoproject-com", "url": "https://programme.europython.eu/europython-2023/talk/S8H88E/", "title": "All about djangoproject.com", "subtitle": "", "track": "Web (2023)", "type": "Talk", "language": "en", "abstract": "The [djangoproject.com](https://www.djangoproject.com) website is the _showcase_ of the **Django** project and is the result of **contributions** from many _people_. In this talk, we'll update you on its **development** and _learn_ how to contribute to it.", "description": "The [djangoproject.com](https://www.djangoproject.com) website is the _showcase_ of the **Django** project and _developers_ and _users_ have always looked for _updates_ on the project, _documentation_, and information from the **DSF** _(Django Software Foundation)_.\n\nAs with its _source code_, the Django project website is also the result of **contributions** from many _people_ who voluntarily help to keep it updated and _improve_ it.\n\nThis talk will show all the latest **updates**, ongoing **improvements**, and upcoming **developments** of the Django project website.\n\nParticipants will be able to **learn** more about the Django project site, how it is maintained, and above all understand how to **help** improve it.", "recording_license": "", "do_not_record": false, "persons": [{"code": "BGLPFA", "name": "Paolo Melchiorre", "avatar": "https://programme.europython.eu/media/avatars/BGLPFA_1uT6IzU.webp", "biography": "I\u2019m Paolo Melchiorre, a longtime Python backend developer who contributes to the Django project and gives talks at tech conferences.\n\nI\u2019ve been a GNU/Linux user for over 20 years and I use and promote Free Software.\n\nI graduated in Software Engineering and I\u2019m an alumnus of the University of Bologna, Italy.\n\nI\u2019ve been working in the web for 15 years and now I\u2019m the CTO of 20tab, a pythonic software company, for which I work remotely.", "public_name": "Paolo Melchiorre", "guid": "6b603e80-09fe-575f-8739-5bcc2e841675", "url": "https://programme.europython.eu/europython-2023/speaker/BGLPFA/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/S8H88E/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/S8H88E/", "attachments": []}, {"guid": "ab16e3a8-b189-543c-9fff-d0cd020ddecf", "code": "QRBSUK", "id": 29260, "logo": null, "date": "2023-07-20T13:00:00+02:00", "start": "13:00", "end": "2023-07-20T14:00:00+02:00", "duration": "01:00", "room": "Terrace 2B", "slug": "europython-2023-29260-what-are-you-yield-from", "url": "https://programme.europython.eu/europython-2023/talk/QRBSUK/", "title": "What are you yield from?", "subtitle": "", "track": "Python Internals & Ecosystem (2023)", "type": "Poster", "language": "en", "abstract": "Many developers avoid using generators. For example, many well-known python libraries use lists instead of generators. The generators themselves are slower than normal list loops, but their use in code greatly increases the speed of the application. Let\u2019s discover why.", "description": "Many developers, avoid to use the generators in regular python code:\n\nIt is hard to debug,\nit is not easy to profile,\nit is not obviously to refactor.\nit requires to use special algorithms.\nIn this talk i speak about generator pipelines, one-line-generators, builtin-generators, custom generators with yield and yield from.\nI will show how to use generators and why we should use them. Also, we learn about situations where we can\u2019t use generators and how to change our thinking to avoid such situations in the future. I give some hints and examples - how big python frameworks use lists instead of generators and therefore lose performance. At the end we can see how builtin zip function works in other world, where developers always use generators in own code.\n\nLet see what we can yield from this talk\u2026", "recording_license": "", "do_not_record": false, "persons": [{"code": "TJSMCP", "name": "Maxim Danilov", "avatar": "https://programme.europython.eu/media/avatars/TJSMCP_UjXoW08.webp", "biography": "Python/Django Speaker and Coach. Senior software developer.\nSince 1997 in software development, 8 years with Python.\nProgramming languages stack: RISC Assembly Language, C, Pascal, Fortran, ASP, VB/VBA, PHP, HTML/CSS, VueJS/NuxtJS, Python.\n\nI Live in Austria in Tirol. I am also Alpine Ski and x-cross-country Instructor.", "public_name": "Maxim Danilov", "guid": "700d1a37-fbbb-5253-ba29-a0472c075f92", "url": "https://programme.europython.eu/europython-2023/speaker/TJSMCP/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/QRBSUK/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/QRBSUK/", "attachments": []}, {"guid": "d780a092-fbc2-52bf-8368-c889129d852c", "code": "NYMGMF", "id": 29131, "logo": null, "date": "2023-07-20T14:00:00+02:00", "start": "14:00", "end": "2023-07-20T14:30:00+02:00", "duration": "00:30", "room": "Terrace 2B", "slug": "europython-2023-29131-a-magic-implementation-of-notimplemented", "url": "https://programme.europython.eu/europython-2023/talk/NYMGMF/", "title": "A Magic Implementation of NotImplemented", "subtitle": "", "track": "Testing (2023)", "type": "Talk", "language": "en", "abstract": "[Dirty Equals](https://github.com/samuelcolvin/dirty-equals) is a new python library by Samuel Colvin, the creator of Pydantic. It will transform how you write tests, especially for APIs. \n\nI made some contributions to it, which forever changed how I thought about `NotImplemented`. I thought it was a placeholder for unfinished work and unexpected use cases. I thought the language quirks it created in equality comparison were annoying. \n\nBut in **DirtyEquals**, it\u2019s a magic way to transform Python\u2019s built in equality operator... And that changed how I think about language quirks, full stop.", "description": "*Intro (5m)*\n\nI adore Pydantic. It's a fantastic library that creates classes which check types at Python runtime. In short, it turns type hints into static types.\n\nI had a crush on the code that did this. I thought it was so cool to trick Python into behaving this way. I wanted to learn how this library worked. But when I went to contribute to it, I saw it wasn't looking for contributions.\n\nSo, I decided to look at his other projects in the hope I could learn something there.\n\n*What is Dirty Equals (10m)*\n\nThis is how I discovered **DirtyEquals**. This library lets you write tests in a whole new way. With **DirtyEquals**., you get to (mis)use Python\u2019s equality operator in way that speeds up testing. \n\n**DirtyEquals** lets you write assert statements that compare objects to custom types, This makes your tests more declarative and more readable. I\u2019ll go over several examples in this section.\n\n*How Does It Work (10m)*\n\nYou might be thinking, isn\u2019t it strange that the Python equality operator can work in this way? Shouldn\u2019t it return False, since the **DirtyEquals**. types are different to the types they\u2019re compared to?\n\nThis is where things get interesting. It turns out that if you write `x == y` in Python, three things happen:\n\n1. First, Python looks at `x.__eq__` to see if x and y are the same.\n2. If `y` is a new type, it returns `NotImplemented` because the `y`'s type isn\u2019t part of Python\u2019s built ins. So there isn\u2019t an implementation for how Python checks the type for equality.\n3. But - here\u2019s the kooky bit - Python then checks `y.__eq__` ! So if we can hook into the `y.__eq__` part, we can write our own rules for the equality operator.\n\nThere are so many things you can do mucking around with `.__eq__` and `.__ne__`, which is what I\u2019ll cover in this section.\n\n*Conclusion (5m)*\n\nWhen it comes to coding, I think we should pursue our crushes. If there\u2019s code that you find attractive, then see if you can contribute! As a result, I learnt things I would never have learnt any other way.\n\nIn fact, the main thing I learnt was a completely different approach to coding. To me, mucking around with the `.__eq__` seemed like a terrible idea that would cause untold errors.\n\nBut when I saw someone else do it so well, it seemed like a magic trick. I now no longer think of language quirks as problems. I consider them opportunities to perform magic tricks.", "recording_license": "", "do_not_record": false, "persons": [{"code": "SM9CEH", "name": "Alexander Darby", "avatar": "https://programme.europython.eu/media/avatars/SM9CEH_ckTtzYr.webp", "biography": "Alexander is a software engineer working in cybersecurity at Palo Alto Networks. He first got into coding because he speaks Russian and wanted to automate reading endless Russian disinformation.\n\nHe cares a lot about digital rights, inclusion in technology, writing safe code and contributing to the open source community.\n\nWhen he isn't coding, he likes to drink at least 5 coffees a day and play basketball.", "public_name": "Alexander Darby", "guid": "61f467e3-b227-5b2b-b0f7-5b2ee120d1ad", "url": "https://programme.europython.eu/europython-2023/speaker/SM9CEH/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/NYMGMF/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/NYMGMF/", "attachments": []}, {"guid": "f859a4d1-9b36-5dca-bd15-69f39e952596", "code": "RAVZM9", "id": 30141, "logo": null, "date": "2023-07-20T14:35:00+02:00", "start": "14:35", "end": "2023-07-20T15:05:00+02:00", "duration": "00:30", "room": "Terrace 2B", "slug": "europython-2023-30141-how-well-do-we-understand-our-universe-let-s-python-it-out", "url": "https://programme.europython.eu/europython-2023/talk/RAVZM9/", "title": "How well do we understand our Universe? Let\u2019s Python it out!", "subtitle": "", "track": "PyData: Deep Learning, NLP, CV (2023)", "type": "Talk", "language": "en", "abstract": "As our understanding of the Universe is expanding, the desire to model the physics that govern cosmic evolution is more evident than ever, driving the emergence of cosmological simulations that model the Universe from the beginning of time till present day. In combination with Machine Learning, they allow for an unprecedented capability; one can train AI models on simulations, where the evolution history of galaxies is available, that can in turn be applied on real galaxies. In this work, we propose the use of Python as a ML tool, through the popular library Tensorflow, to quantify the impact of different cosmological models on the derivation of the history of galaxies. Python accompanies us at every step of the way, from creating the datasets and training the probabilistic neural networks to the visualization of the results, as we attempt to shed light on the cosmic past of galaxies, surpassing the unshakeable reality that we can only observe them at a specific moment in time.", "description": "This talk is part of our research as a PhD students in the Institute of Astrophysics of the Canary Islands, studying the evolution and formation of galaxies. We would like to present how Python has helped us all the way providing an easy yet powerful ML framework (Tensorflow and tensorflow-probability) and great libraries for scientific processing and visualization (pandas, seaborn etc.). \n\nThe key points of the talk will be:\n1) Brief introduction to the formation and evolution of galaxies basics and cosmological simulations\n2) Using simulation-based inference by training robust probabilistic convolutional neural network models across two cosmological simulations with a domain adaptation scheme\n3) Building more complex neural network architectures with Python (e.g. Variational Autoencoders, Normalizing flows)", "recording_license": "", "do_not_record": false, "persons": [{"code": "QGU73Y", "name": "Eirini Angeloudi", "avatar": "https://programme.europython.eu/media/avatars/QGU73Y_F1FLbmi.webp", "biography": "Eirini Angeloudi is a 2nd year PhD student at the Institute of Astrophysics of the Canary islands. Before following her passion for astrophysics, she was working as a Software Engineer for almost 5 years using mainly Python in Greece. She decided to combine her love for astrophysics and programming by pursuing a PhD.", "public_name": "Eirini Angeloudi", "guid": "327aae57-4c94-50e4-9ec6-bf6407954c11", "url": "https://programme.europython.eu/europython-2023/speaker/QGU73Y/"}, {"code": "G9EQTN", "name": "Regina Sarmiento", "avatar": "https://programme.europython.eu/media/avatars/G9EQTN_WpGGwvH.webp", "biography": "I am a final year Ph.D. student with expertise in Galaxy Evolution and Deep Learning at the Institute for Astrophysics of the Canaries (IAC, Spain). My work combines integral field spectroscopic (IFS) data and cosmological simulations with Deep Learning techniques to study how the physically resolved properties of nearby galaxies (z<0.15) relate to their assembly history. Looking for jobs!", "public_name": "Regina Sarmiento", "guid": "c0cd9103-6286-5d67-a6f2-1055863b8eb1", "url": "https://programme.europython.eu/europython-2023/speaker/G9EQTN/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/RAVZM9/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/RAVZM9/", "attachments": []}, {"guid": "3271d2f9-c9a6-5fa2-98c9-d76e30bbe043", "code": "PKCL9Z", "id": 29383, "logo": null, "date": "2023-07-20T15:30:00+02:00", "start": "15:30", "end": "2023-07-20T16:00:00+02:00", "duration": "00:30", "room": "Terrace 2B", "slug": "europython-2023-29383-whisper-ai-live-english-subtitles-for-96-languages", "url": "https://programme.europython.eu/europython-2023/talk/PKCL9Z/", "title": "Whisper AI: Live English Subtitles for 96 Languages", "subtitle": "", "track": "PyData: Deep Learning, NLP, CV (2023)", "type": "Talk", "language": "en", "abstract": "Whisper AI, a model from OpenAI, has been largely overlooked despite its impressive ability to accurately transcribe and translate human speech from audio.\n\nIn this talk I will explore the architecture of the model and explain why it works so well. Additionally, I will live demo the model's capabilities in three languages, showing how you can use it on your own computer to generate English subtitles for a wide range of content.", "description": "From this talk you will gain a basic understanding of OpenAI's Whisper AI, how it works, how it was trained, and how to run it and experiment with it yourself.\n\nI will demonstrate how you can use Whisper to generate real-time English subtitles for 97 spoken languages. Not only are the subtitles displayed with minimal delay, but this solution is also suitable for meetings with sensitive content as it can be run locally on your PC without relying on any third-party cloud services.\n\nI'll also be sharing what I learned about Python's threading and queueing modules, and how to use parallel processing to achieve real-time performance.", "recording_license": "", "do_not_record": false, "persons": [{"code": "7NYLSL", "name": "Mathias Arens", "avatar": "https://programme.europython.eu/media/avatars/7NYLSL_D9eEYXv.webp", "biography": "Physicist turned Developer with a passion for open source artificial intelligence.\n\nMathias received his Masters in Natural Sciences from Cambridge University and has since worked on a wide range of projects and technologies. He enjoys combining open source AI models into useful solutions for real life problems.", "public_name": "Mathias Arens", "guid": "a4d62ab8-4fec-55d9-a9e0-54ec7c9dea4b", "url": "https://programme.europython.eu/europython-2023/speaker/7NYLSL/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/PKCL9Z/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/PKCL9Z/", "attachments": []}, {"guid": "7f2d673d-0f81-50b4-9c5b-62ee0bc09ea3", "code": "PQHEAS", "id": 29081, "logo": null, "date": "2023-07-20T16:05:00+02:00", "start": "16:05", "end": "2023-07-20T16:35:00+02:00", "duration": "00:30", "room": "Terrace 2B", "slug": "europython-2023-29081-responding-to-earthquakes-using-machine-learning-and-racing-through-time", "url": "https://programme.europython.eu/europython-2023/talk/PQHEAS/", "title": "Responding to Earthquakes using Machine Learning and Racing through Time", "subtitle": "", "track": "PyData: Deep Learning, NLP, CV (2023)", "type": "Talk", "language": "en", "abstract": "Right after the devastating earthquakes in Turkey, there has been a massive flow of tweets and posts from survivors and their relatives, calling for help. There was a need to extract the data, make it meaningful and open to public, so we have come up with afetharita.com. The machine learning part of the application is completely based on open-source tools in Python and I will go through the pipeline and the process.", "description": "On February 6, 2023, earthquakes measuring 7.7 and 7.6 hit South Eastern Turkey, affecting 10 cities and resulting in more than 42,000 deaths and 120,000 injured as of February 21.\n\nA few hours after the earthquake, a group of programmers started a Discord server to roll out an application called afetharita, literally meaning, disaster map. This application would serve search & rescue teams and volunteers to find survivors and bring them help. The need for such an app arose when survivors posted screenshots of texts with their addresses and what they needed (including rescue) on social media. Some survivors also tweeted what they needed so their relatives knew they were alive and that they need rescue. Needing to extract information from these tweets, we developed various applications to turn them into structured data and raced against time in developing and deploying these apps.\nThe machine learning part of the application is completely based on open-source tools in Python and I will go through the pipeline and the process.", "recording_license": "", "do_not_record": false, "persons": [{"code": "KMTAWE", "name": "Merve Noyan", "avatar": "https://programme.europython.eu/media/avatars/KMTAWE_uHjKL4I.webp", "biography": "I'm a developer advocacy engineer at Hugging Face and a natural language processing researcher. I'm also a Google Developer Expert in machine learning. \nYou can find about my talks, blogs and more here: https://merveenoyan.github.io/me/", "public_name": "Merve Noyan", "guid": "da3bbe7e-560c-50ed-be81-cc92c82c0ae9", "url": "https://programme.europython.eu/europython-2023/speaker/KMTAWE/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/PQHEAS/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/PQHEAS/", "attachments": []}], "Open Space": [{"guid": "2b49c4c5-9bcd-548d-af3d-c4995ccde1bf", "code": "UD3GZD", "id": 33483, "logo": null, "date": "2023-07-20T10:30:00+02:00", "start": "10:30", "end": "2023-07-20T13:00:00+02:00", "duration": "02:30", "room": "Open Space", "slug": "europython-2023-33483-reserved-for-eps-psf-pyo-session", "url": "https://programme.europython.eu/europython-2023/talk/UD3GZD/", "title": "Reserved for EPS/PSF/PYO Session", "subtitle": "", "track": null, "type": "Open Space", "language": "en", "abstract": "", "description": "", "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/UD3GZD/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/UD3GZD/", "attachments": []}, {"guid": "cd15f363-ee27-5b64-a268-1342b46e9290", "code": "F9UBUW", "id": 33482, "logo": null, "date": "2023-07-20T15:30:00+02:00", "start": "15:30", "end": "2023-07-20T16:30:00+02:00", "duration": "01:00", "room": "Open Space", "slug": "europython-2023-33482-1-cyber-resilience-act-panel", "url": "https://programme.europython.eu/europython-2023/talk/F9UBUW/", "title": "Cyber Resilience Act Panel", "subtitle": "", "track": null, "type": "Panel", "language": "en", "abstract": "The [EU Cyber Resilience Act (CRA)](https://digital-strategy.ec.europa.eu/en/library/cyber-resilience-act) may have a huge impact on the open-source community. There are concerns about how this framework would be applied to the open-source software contribution and distribution. If you would like to know more and voice out your concerns, join our sessions with leaders in the Python community and experts in the field.", "description": "## Agenda\n\n- 2:00 pm - 2:40 pm - CRA panel\n- 2:40 pm - 3:00 pm - CRA panel Q&A\n- 3:00 pm - 3:30 pm - Coffee break\n- 3:30 pm - 4:30 pm - CRA Unconference Discussion (at Open Space)\n\n---\n\n## CRA Panel\n\nWe have invited leaders in the Python community and domain experts to discuss the current state of CRA, related regulations and the potential effect to open-source, especially in the Python community. Confirmed Panelists are:\n\n- Deb Nicholson - Executive Director at the Python Software Foundation\n- Jannis Leidel - Founder of the Python Packaging Authority and the PSF Board of Directors\n- Ciar\u00e1n O'Riordan - Senior Policy Advisor of OpenForum Europe\n\n## CRA panel Q&A\n\nAfter the panel, it is your turn to ask questions and voice out your concern regarding the CRA. Are you a contributor to open-source software and wonder who will be held accountable for the software that you contributed? Are you working for a company that publishes open-source software and wonder if that will affect the business model of your company? Are you using open-source software and wonder if the open-source ecosystem would be the same after the CRA has been put into action? Join us to discuss all these.\n\n## CRA Unconference Discussion\n\nIf you would like to discuss further about CRA and the related PLD (Product Liability Directive), and their potential effect in the open source community. We reserved a 1-hour session in the open space for unconference discussion.", "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/F9UBUW/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/F9UBUW/", "attachments": []}]}}, {"index": 5, "date": "2023-07-21", "day_start": "2023-07-21T04:00:00+02:00", "day_end": "2023-07-22T03:59:00+02:00", "rooms": {"PyCharm (Forum Hall)": [{"guid": "e3fbded7-b021-5c5e-9000-d1b7f3e43435", "code": "XACJPR", "id": 35611, "logo": null, "date": "2023-07-21T08:00:00+02:00", "start": "08:00", "end": "2023-07-21T09:00:00+02:00", "duration": "01:00", "room": "PyCharm (Forum Hall)", "slug": "europython-2023-35611-registration-welcome-forum-hall-foyer-1st-floor", "url": "https://programme.europython.eu/europython-2023/talk/XACJPR/", "title": "Registration & Welcome @ Forum Hall Foyer 1st Floor", "subtitle": "", "track": null, "type": "Announcements", "language": "en", "abstract": "Welcome to EuroPython 2023! You can pick up your badges at any time during the week as long as we are open! If you want to avoid the morning rush on Wednesday, come on Monday and Tuesday!\n\nQueues will be sorted by your **first name** on your ticket. Your ticket can be located via your order confirmation email (from support@pretix.eu with the Subject: Your order: XXXX). If you ordered your ticket after we've sent badges for printing (after 10 July), go directly to the Info Desk (also referred as Debugging Desk) and a volunteer will help!", "description": "", "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/XACJPR/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/XACJPR/", "attachments": []}, {"guid": "af07d7ee-0b7a-5880-a768-7e3eccf08e95", "code": "LWWPUS", "id": 34201, "logo": null, "date": "2023-07-21T09:00:00+02:00", "start": "09:00", "end": "2023-07-21T09:15:00+02:00", "duration": "00:15", "room": "PyCharm (Forum Hall)", "slug": "europython-2023-34201-morning-announcement", "url": "https://programme.europython.eu/europython-2023/talk/LWWPUS/", "title": "Morning Announcement", "subtitle": "", "track": null, "type": "Announcements", "language": "en", "abstract": "", "description": "", "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/LWWPUS/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/LWWPUS/", "attachments": []}, {"guid": "458bd5b1-5b8f-57e5-ab26-3a4aca01335c", "code": "UNPKDU", "id": 33373, "logo": null, "date": "2023-07-21T09:15:00+02:00", "start": "09:15", "end": "2023-07-21T10:00:00+02:00", "duration": "00:45", "room": "PyCharm (Forum Hall)", "slug": "europython-2023-33373-devops-vs-agi", "url": "https://programme.europython.eu/europython-2023/talk/UNPKDU/", "title": "DevOps vs AGI", "subtitle": "", "track": null, "type": "Keynote", "language": "en", "abstract": "Are you afraid of AI? Are you afraid of your own government? Are you just a great developer who practices decent devops and wants to know how you might wind up helping the people who answered \"yes\" to the previous two questions? I'll review the nature of intelligence, ethics, and EU digital regulation, then we can all talk about how coders can help make the planet work better on solving problems like sustainability and peace.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "X8WCZB", "name": "Joanna Bryson", "avatar": "https://programme.europython.eu/media/avatars/X8WCZB_YRcWx8m.webp", "biography": "Joanna J. Bryson is a transdisciplinary researcher on the structure and dynamics of human- and animal-like intelligence. Her research ranges from systems engineering of Artificial Intelligence (AI), through autonomy, cognition, robot ethics, human cooperation on to technology policy and has appeared in venues ranging from a [reddit](https://www.reddit.com/r/science/comments/5nqdo7/science_ama_series_im_joanna_bryson_a_professor/) to [Science](https://www.science.org/doi/10.1126/science.aal4230).  She holds degrees in Psychology from Chicago and Edinburgh, and AI from Edinburgh and MIT. She has additional professional research experience from Princeton, Oxford, Harvard, and LEGO, and technical experience both in Chicago's financial industry and international management consultancy. Bryson is presently Professor of Ethics and Technology at Hertie School of Governance.", "public_name": "Joanna Bryson", "guid": "83b9e55b-b208-505b-b0a9-a005f479e20f", "url": "https://programme.europython.eu/europython-2023/speaker/X8WCZB/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/UNPKDU/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/UNPKDU/", "attachments": []}, {"guid": "051f9bce-6154-5779-8b41-8c8f92f3888d", "code": "DTXYKX", "id": 29317, "logo": null, "date": "2023-07-21T10:30:00+02:00", "start": "10:30", "end": "2023-07-21T11:15:00+02:00", "duration": "00:45", "room": "PyCharm (Forum Hall)", "slug": "europython-2023-29317-subclassing-composition-python-and-you", "url": "https://programme.europython.eu/europython-2023/talk/DTXYKX/", "title": "Subclassing, Composition, Python, and You", "subtitle": "", "track": "Software Engineering & Architecture (2023)", "type": "Talk", "language": "en", "abstract": "Ever seen a code base where understanding a simple method meant jumping through tangled class hierarchies? We all have! And while \"Favor composition over inheritance!\" is almost as old as object-oriented programming, strictly avoiding all types of subclassing leads to verbose, un-Pythonic code. So, what to do?\n\nThe discussion on composition vs. inheritance is so frustrating because far-reaching design decisions like this can only be made with the ecosystem in mind \u2013 and because there's more than one type of subclassing!\n\nLet's take a dogma-free stroll through the types of subclassing through a Pythonic lens and untangle some patterns and trade-offs together. By the end, you'll be more confident in deciding when subclassing will make your code more Pythonic and when composition will improve its clarity.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "8NBKQT", "name": "Hynek Schlawack", "avatar": "https://programme.europython.eu/media/avatars/8NBKQT_ECoOPkO.webp", "biography": "Hynek Schlawack is a lead infrastructure and software engineer from Berlin / Germany, PSF fellow, maintainer of too many open-source projects, and contributor to even more.\n\nHis main areas of interest are networks, security, and robust software.", "public_name": "Hynek Schlawack", "guid": "7d09e620-1e83-5850-988a-ab67b2f05ba6", "url": "https://programme.europython.eu/europython-2023/speaker/8NBKQT/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/DTXYKX/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/DTXYKX/", "attachments": []}, {"guid": "8d0f3d5e-a45f-5ca6-92f1-2e878a020166", "code": "TKPZSM", "id": 28788, "logo": null, "date": "2023-07-21T11:20:00+02:00", "start": "11:20", "end": "2023-07-21T11:50:00+02:00", "duration": "00:30", "room": "PyCharm (Forum Hall)", "slug": "europython-2023-28788-face-off-brute-force-attack-on-biometrical-databases", "url": "https://programme.europython.eu/europython-2023/talk/TKPZSM/", "title": "Face Off: Brute-force attack on Biometrical-databases", "subtitle": "", "track": "Security (2023)", "type": "Talk", "language": "en", "abstract": "Magic happens every time you take your phone out of your pocket. Somehow, just by looking at the screen, your phone recognizes you (and only you) and magically unlocks.\n\nHave you ever stopped for a minute and thought to yourself - How does that even work? And maybe more importantly, how secure is it?\n\nIn this session, we're going to understand how facial recognition works under the hood. We'll dive into some potential security problems, and we'll show you how we were able to break into a biometric database built on the Dlib-python-library by applying a sophisticated brute-force attack. The results will surprise you.", "description": "**Outline:**\n- Intro - The magic of Face ID [3 min]\n- Under the hood - How Deep Learning Face ID works [5 min]\n- Comparing faces - Exploring the Face-Space [4 min]\n- Recap - Tying it all together [2 min]\n- Exploitation - Weird behavior & Possible weakness? [6 min]\n- Shocking results! - [2 min]\n- The Attack - Our attack on a Biometrical database [6 min]\n- Summary [1 min]", "recording_license": "", "do_not_record": false, "persons": [{"code": "MKHTB9", "name": "Roy M Mezan", "avatar": "https://programme.europython.eu/media/avatars/MKHTB9_EQjDPRw.webp", "biography": "Roy is an enthusiastic Python programmer, Finished his B.CS at the age of 18.\nLead the drone department at the University R&D Lab.\nWas a Drone development officer at the IDF & Project manager of AR/VR development team.\nWorked on autonomous drones in the defense industry.\nCurrently working as a senior developer at Ownbackup in the Security group.", "public_name": "Roy M Mezan", "guid": "9762aefb-de7f-5bd7-bf55-e9f797147153", "url": "https://programme.europython.eu/europython-2023/speaker/MKHTB9/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/TKPZSM/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/TKPZSM/", "attachments": []}, {"guid": "3b733697-1cad-5694-9a34-62481dbfb864", "code": "EWBEZZ", "id": 29539, "logo": null, "date": "2023-07-21T11:55:00+02:00", "start": "11:55", "end": "2023-07-21T12:25:00+02:00", "duration": "00:30", "room": "PyCharm (Forum Hall)", "slug": "europython-2023-29539-the-python-s-stability-promise", "url": "https://programme.europython.eu/europython-2023/talk/EWBEZZ/", "title": "The Python's stability promise", "subtitle": "", "track": "Python Internals & Ecosystem (2023)", "type": "Talk", "language": "en", "abstract": "Many modules you use and love have a portion of their implementation written in other languages, and for that a Python extension need to be made.\nPython offers a C-API that allow people extending the language, and being a nice glue-language, C is also a bridge to many other languages as well.\n\nSo if everything is simple, what's the deal with stability?\nChanges in the C-API might break the functionality in older versions, so PEP 387 saves the day with a policy for backward compatibility.\nStarting from Python 3.2, the Limited API was introduced, which defined a subset of Python's C-API that it's promised that if used, the code can be compiled in one version, and run in many others as well.\n\nAlso, having a Stable ABI compatible wheel, allow you to only have one-wheel-per-OS, and not one-wheel-per-python-version, which can simplify your release process.\n\nThis talk will introduce the Limited API concept, and provide the necessary information to include it in your project.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "8VVS8L", "name": "Cristi\u00e1n Maureira-Fredes", "avatar": "https://programme.europython.eu/media/avatars/8VVS8L_mpxCQ39.webp", "biography": "Hello! My name is Cristi\u00e1n and I currently work as Senior R&D Manager at The Qt Company. One of my responsibilities is the Qt for Python project (PySide/Shiboken), which is the official set of links for the Qt framework to Python.\nIn my day to day I work with C++, Python and CPython, which are the common topics of my talks.\n\nDuring my free time I like to help in different Open Source communities, mainly related to Python, such as Python en Espa\u00f1ol https://hablemospython.dev, Python Chile https://pythonchile.cl, Python Espa\u00f1a https://es.python. org, and many more activities like PyPi moderation, PyCon* organizer (PyConUS, PyConES, PyConCL), and bot programming :D", "public_name": "Cristi\u00e1n Maureira-Fredes", "guid": "1f54649f-60d7-5c25-8a40-843a1eab52c2", "url": "https://programme.europython.eu/europython-2023/speaker/8VVS8L/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/EWBEZZ/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/EWBEZZ/", "attachments": []}, {"guid": "3a948daf-0b79-5e12-912a-bc9656afa02a", "code": "YZSTKK", "id": 30109, "logo": null, "date": "2023-07-21T12:30:00+02:00", "start": "12:30", "end": "2023-07-21T13:00:00+02:00", "duration": "00:30", "room": "PyCharm (Forum Hall)", "slug": "europython-2023-30109-introducing-incompatible-changes-in-python", "url": "https://programme.europython.eu/europython-2023/talk/YZSTKK/", "title": "Introducing Incompatible Changes in Python", "subtitle": "", "track": "Python Internals & Ecosystem (2023)", "type": "Talk", "language": "en", "abstract": "Python 2 to Python 3 migration used the D-day approach which failed. We learnt from our mistake and we are introducing incompatible changes differently now. Document changes, provide a way to write code compatible with the old and the new way, tooling to ease the migration, design long term approach to reduce the need for incompatible changes.", "description": "In the Python 2 era, it was decided to migrate at a D-Day: convert all your code base to Python 3. It didn't go as well as expected. We learnt lessons from this mistake. Incompatible changes are now introduced differently in Python.\n\nToday, changes start with a deprecation warning for at least two Python releases before removing old functions. We think about how to write a single code base working on the old and new Python versions. More and more often, instructions to migrate existing code are provided, or even automated tools. Changes breaking too many projects are reverted when there is not enough time to update enough projects. Code search helps detecting affected projects, notify them, and maybe also propose changes to prepare their code.\n\nIn the future, Python is working on a stable ABI to be able to build C extensions once and use them on many Python versions. The HPy project is an interesting candidate for this goal. More and more projects are being tested on the Python version currently under development (Python 3.12).", "recording_license": "", "do_not_record": false, "persons": [{"code": "LBHYNH", "name": "Victor Stinner", "avatar": "https://programme.europython.eu/media/avatars/LBHYNH_ZvloHq0.webp", "biography": "Senior Software Engineer at Red Hat, maintains Python upstream and downstream (RHEL and Fedora). Python core developer since 2010.", "public_name": "Victor Stinner", "guid": "42a87a43-b813-5489-ab6a-874d234bffa0", "url": "https://programme.europython.eu/europython-2023/speaker/LBHYNH/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/YZSTKK/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/YZSTKK/", "attachments": []}, {"guid": "496a34ab-40e5-5075-9208-2fcb06a12d27", "code": "STLLDQ", "id": 33375, "logo": null, "date": "2023-07-21T14:00:00+02:00", "start": "14:00", "end": "2023-07-21T15:00:00+02:00", "duration": "01:00", "room": "PyCharm (Forum Hall)", "slug": "europython-2023-33375-python-organizers-panel-exploring-community-driven-python-conferences", "url": "https://programme.europython.eu/europython-2023/talk/STLLDQ/", "title": "Python Organizers' Panel: Exploring Community-Driven Python Conferences", "subtitle": "", "track": null, "type": "Panel", "language": "en", "abstract": "Did you know that Python conferences are primarily organized by the community? Go backstage and join us at the Python \n\nJoin us for an engaging and insightful discussion as we bring together a group of passionate Python conference organizers from the community. Discover the vibrant ecosystem behind Python conferences and gain valuable insights into their experiences, motivations, and learnings. \n\nWhether you are an aspiring organizer, a Python enthusiast, or simply curious about the inner workings of community-driven events, this panel promises to provide a wealth of knowledge and inspiration. Don't miss the opportunity to hear firsthand from the dedicated individuals who make Python conferences an incredible experience for all!", "description": "Did you know that Python conferences are primarily organized by the community? Go backstage and join us at the Python Organizers' Panel.\n\nJoin us for an engaging and insightful discussion as we bring together a group of passionate Python conference organizers from the community. Discover the vibrant ecosystem behind Python conferences and gain valuable insights into their experiences, motivations, and learnings.\n\nIn this panel, we aim to shed light on the efforts and dedication of the individuals who selflessly devote their time and energy to create enriching events for the Python community.\n\nYou will get a glance behind the scenes and get a better grasp on why community-run conferences are so authentic, inclusive and diverse..\n\nOur panelists, seasoned organizers of Python conferences, will share their unique perspectives, recounting their journeys and the challenges and fun anecdotes planning and executing successful events.\n\nDuring the discussion, we will explore a wide range of topics, including:\n\n1. Behind the Scenes: Gain a behind-the-scenes understanding of what it takes to organize a Python conference.\n\n2. Community Engagement: Discover how Python conferences foster a sense of community and bring together Python enthusiasts from diverse backgrounds. Explore the ways in which organizers encourage participation, inclusivity, and collaboration.\n\n3. Motivations and Inspirations: Hear the personal stories of our panelists as they share what drives their passion for organizing Python conferences. Learn about their motivations, inspirations, and the impact they hope to make in the Python community.\n\n4. Challenges, Lessons Learned and Personal Growth: Delve into the challenges faced by organizers and the lessons they have learned along the way. Gain valuable insights into how they tackle obstacles, adapt to changing circumstances, and continually improve the conference experience. Furthermore, hear about takeaways organizers have for their professional and personal life.\n\nWhether you are an aspiring organizer, a Python enthusiast, or simply curious about the inner workings of community-driven events, this panel promises to provide a wealth of knowledge and inspiration. Don't miss the opportunity to hear firsthand from the dedicated individuals who make Python conferences an incredible experience for all!", "recording_license": "", "do_not_record": false, "persons": [{"code": "8F38DV", "name": "Alexander CS Hendorf", "avatar": "https://programme.europython.eu/media/avatars/8F38DV_1m3tq1r.webp", "biography": "Alexander C.S. Hendorf is an independent AI and open-source strategy advisor working with companies in regulated industries. With 20+ years of hands-on experience across 50+ technologies \u2014 from the Python ecosystem to vector databases \u2014 he bridges the gap between boardroom decisions and technical execution. Alexander is a [Python Software Foundation Fellow](https://https://www.python.org/psf/fellows-roster/), serves on the board of the [Python Software Verband]([url](https://pysv.org/)) and has delivered 100+ talks in 15+ countries. \nHe writes at [hendorf.com](https://hendorf.com/)", "public_name": "Alexander CS Hendorf", "guid": "6baec490-383c-59bb-9102-6e5a9350af35", "url": "https://programme.europython.eu/europython-2023/speaker/8F38DV/"}, {"code": "3D73MN", "name": "Alessia Marcolini", "avatar": "https://programme.europython.eu/media/avatars/3D73MN_HrHOZ8K.webp", "biography": "Alessia is a Python Development Engineer at LUMICKS, developing and testing AI algorithms for Cell Avidity.\nShe has been a volunteer of the Italian Python Community since 2017, helping with the organization of PyCon Italy (the national Python Conference, hosting 800+ international delegates each year). In 2018, she also joined the organisation committee of EuroSciPy, the European Conference for Python in Science. \nWhen not coding, she loves dancing and drinking black tea and good gin.", "public_name": "Alessia Marcolini", "guid": "8f96f536-6ba8-5ecf-aa3d-bd743514a9c8", "url": "https://programme.europython.eu/europython-2023/speaker/3D73MN/"}, {"code": "BXPSJJ", "name": "Jimena Berm\u00fadez", "avatar": "https://programme.europython.eu/media/avatars/BXPSJJ_HunqsdI.webp", "biography": "I am a happy and proud woman to have become an engineer, so I love technical challenges.  One of my strengths is communication, so I have been a web development teacher for people seeking a career change. I also mentor anyone who needs help, and I actively participate in the community either as a speaker, organizing events or as an active member of Python Spain (president '22-'24), PyLadies and Django Girls.  I have several publications in media talking about the importance of learning to code and the need for diversity in the industry.  If I had to summarize my role in one sentence, it would be \"Developer working on diversity, equity and inclusion (DEI) from a technical perspective and happy to be part of the community\".", "public_name": "Jimena Berm\u00fadez", "guid": "2312c5a8-c797-5b84-8001-b4a8600f630e", "url": "https://programme.europython.eu/europython-2023/speaker/BXPSJJ/"}, {"code": "FSFTU9", "name": "B\u00e1ra Drbohlavov\u00e1", "avatar": "https://programme.europython.eu/media/avatars/FSFTU9_5Xefele.webp", "biography": "B\u00e1ra has been part of the Czech Python community since 2015 when she helped organise the first PyCon CZ. Since then, she took part in about 80 Pyvo meetups in Prague, enjoying the lively community and making new friends. The thing she loves most about community events is the feeling of togetherness, of making things happen for big groups of people... and a cold beer at the afterparty.", "public_name": "B\u00e1ra Drbohlavov\u00e1", "guid": "cf05e7ab-896b-55b2-bbd8-ea6142b6f06e", "url": "https://programme.europython.eu/europython-2023/speaker/FSFTU9/"}, {"code": "ZT9XSF", "name": "Honza Javorek", "avatar": "https://programme.europython.eu/media/avatars/ZT9XSF_LGaHUaA.webp", "biography": "Originally a software engineer, now more of an entrepreneur. Creator of [junior.guru](https://junior.guru/), a project for Czech and Slovak beginners in coding. Long-term volunteer in the Czech Python community. Founded one meetup, led the communications working group of four [conferences](https://cz.pycon.org/), contributed to several Django Girls and PyLadies courses or workshops. Now helping mainly as a board member of the local Python nonprofit, [Pyvec](https://pyvec.org/). Sometimes also a self-appointed ambassador of [PyCon Namibia](https://na.pycon.org/).", "public_name": "Honza Javorek", "guid": "d600d4d9-63ce-5bcd-b7a6-1a8005cddea4", "url": "https://programme.europython.eu/europython-2023/speaker/ZT9XSF/"}, {"code": "HVQ7LJ", "name": "Tim (\u6587\u660c) Hsu", "avatar": null, "biography": null, "public_name": "Tim (\u6587\u660c) Hsu", "guid": "74f5398b-04c3-53c1-8517-9167705a0898", "url": "https://programme.europython.eu/europython-2023/speaker/HVQ7LJ/"}, {"code": "7DLWCN", "name": "David Vaz", "avatar": null, "biography": "Co-organizer of PyCon Portugal (2023, 2022) and DjangoCon Europe (2024, 2022, 2021, 2020). Python and Django developer since 2007.", "public_name": "David Vaz", "guid": "fabb1f00-6850-557d-99b6-59fc29594092", "url": "https://programme.europython.eu/europython-2023/speaker/7DLWCN/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/STLLDQ/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/STLLDQ/", "attachments": []}, {"guid": "05432b01-f3d3-59ba-ab99-3328dd81c64d", "code": "GKHPZB", "id": 33366, "logo": null, "date": "2023-07-21T15:30:00+02:00", "start": "15:30", "end": "2023-07-21T16:00:00+02:00", "duration": "00:30", "room": "PyCharm (Forum Hall)", "slug": "europython-2023-33366-power-django-with-pycharm", "url": "https://programme.europython.eu/europython-2023/talk/GKHPZB/", "title": "Power Django with PyCharm", "subtitle": "", "track": null, "type": "Sponsored", "language": "en", "abstract": "Django and Python make fullstack and API web projects a breeze. But as Python has matured, significant tooling has risen to improve the development experience (DX). Can you use this tooling, in a modern editor and IDE, to stay in the flow and make your development\u2026joyful?\n\nIn this session we\u2019ll put PyCharm to work, at helping us work. Navigation, refactoring, autocomplete \u2013 the usual suspects. We\u2019ll also see \u201ctest-first\u201d development to stay in the IDE, plus how this can apply to frontends.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "K8J9XT", "name": "Paul Everitt", "avatar": "https://programme.europython.eu/media/avatars/K8J9XT_PnyHC7r.webp", "biography": "Paul is a Python and Web Developer Advocate at JetBrains. Before that, Paul was a co-founder of Zope Corporation, taking the first open source application server through $14M of funding. Paul has bootstrapped both the Python Software Foundation and the Plone Foundation. Prior to that, Paul was an officer in the US Navy, starting www.navy.mil in 1993.", "public_name": "Paul Everitt", "guid": "4c00d34e-7196-5082-a6e3-70c22983c012", "url": "https://programme.europython.eu/europython-2023/speaker/K8J9XT/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/GKHPZB/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/GKHPZB/", "attachments": []}, {"guid": "cdd99192-0998-5593-8392-967cadbc119f", "code": "AYGCLM", "id": 35744, "logo": null, "date": "2023-07-21T16:05:00+02:00", "start": "16:05", "end": "2023-07-21T16:35:00+02:00", "duration": "00:30", "room": "PyCharm (Forum Hall)", "slug": "europython-2023-35744-cython-3-python-at-the-speed-of-c", "url": "https://programme.europython.eu/europython-2023/talk/AYGCLM/", "title": "Cython 3 \u2013 Python at the speed of C", "subtitle": "", "track": "Python Internals & Ecosystem (2023)", "type": "Talk", "language": "en", "abstract": "Cython started as a language designed to write extension modules, and has long become the most widely used static compiler for Python, bringing C and C++ data types into the language. Use it to talk to existing C/C++ code or to bring your Python code up to C speed.", "description": "Cython has come a long way from its beginnings as Pyrex in 2002 up to the latest stable major release: Cython 3.0.  It started as a language designed to write extension modules, and it became the most widely used static compiler for Python, bringing C and C++ data types into the language.\n\nThis talk will present new features built into the language, from static C types in the modern Python typing syntax to automatic ufunc generation, that make writing lightning fast Python code easy and pythonic.", "recording_license": "", "do_not_record": false, "persons": [{"code": "LGGQRG", "name": "Stefan Behnel", "avatar": null, "biography": "Stefan is a long-time Python user and core developer of the well-known OSS projects Cython [1], lxml [2] and CPython [3]. He gives lectures and trainings on Python, Cython and High-Performance Computing topics.\n\n[1] https://cython.org/ [2] https://lxml.de/ [3] https://python.org/", "public_name": "Stefan Behnel", "guid": "6c1c15b7-7ada-5259-b7d4-ba0a0f9d7a20", "url": "https://programme.europython.eu/europython-2023/speaker/LGGQRG/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/AYGCLM/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/AYGCLM/", "attachments": []}, {"guid": "dac1b296-f3e5-5fb4-a2cd-1a60e1aeb9cd", "code": "P7CVWV", "id": 34205, "logo": null, "date": "2023-07-21T16:45:00+02:00", "start": "16:45", "end": "2023-07-21T17:30:00+02:00", "duration": "00:45", "room": "PyCharm (Forum Hall)", "slug": "europython-2023-34205-lightning-talks-friday", "url": "https://programme.europython.eu/europython-2023/talk/P7CVWV/", "title": "Lightning Talks Friday", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Enjoy Friday's lightning talks, hosted by Mia Baji\u0107 \u2b07\ufe0f\n\n- **Fusion Engine, Custom Game Engine Using Python** \u2014 Dima Marhitych \n- **What is the PSF? ... and Can We Be Friends?** \u2014 Deb Nicholson \n- **Testing Files Like a Pro** \u2014 Artur Barseghyan \n- **Kata - Discipline & Motivation** \u2014 Sena Sahin \n- **Foxdot** \u2014 This Green Guy (definitely not Mois\u00e9s Guimar\u00e3es)\n- **WIKI CRAWL - Yet Another Crawler** \u2014 Julian Maurin \n- **Python in Your Language** \u2014 Cristi\u00e1n Maureira-Fredes \n- **Artis** \u2014 Gabriel Jover\n- **Fedora Loves Python** \u2014 Miro Hron\u010dok\n- __F**k it - How to Fix Production Code in 5 Minutes__ \u2014 Sebastien Crocquevieille \n- **Django Girls** \u2014 \u00c7a\u011f\u0131l Ulu\u015fahin S\u00f6nmez \n- **AI Game Tournament Awards** \u2014 Neil Vaytet", "description": "", "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/P7CVWV/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/P7CVWV/", "attachments": []}, {"guid": "e81eee4b-a855-56da-b77c-2204bc2840bf", "code": "SURAC3", "id": 34206, "logo": null, "date": "2023-07-21T17:30:00+02:00", "start": "17:30", "end": "2023-07-21T17:50:00+02:00", "duration": "00:20", "room": "PyCharm (Forum Hall)", "slug": "europython-2023-34206-sprint-orientation", "url": "https://programme.europython.eu/europython-2023/talk/SURAC3/", "title": "Sprint Orientation", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "", "description": "", "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/SURAC3/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/SURAC3/", "attachments": []}, {"guid": "25de0591-d6d1-510a-926d-f499d1665ff4", "code": "ZUPSUD", "id": 34207, "logo": null, "date": "2023-07-21T17:50:00+02:00", "start": "17:50", "end": "2023-07-21T18:20:00+02:00", "duration": "00:30", "room": "PyCharm (Forum Hall)", "slug": "europython-2023-34207-closing-session", "url": "https://programme.europython.eu/europython-2023/talk/ZUPSUD/", "title": "Closing Session", "subtitle": "", "track": null, "type": "Announcements", "language": "en", "abstract": "", "description": "", "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/ZUPSUD/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/ZUPSUD/", "attachments": []}], "South Hall 2A": [{"guid": "f22ba644-ce97-5917-b1ba-c627d57b3f2e", "code": "UAEJZX", "id": 29742, "logo": null, "date": "2023-07-21T10:30:00+02:00", "start": "10:30", "end": "2023-07-21T11:00:00+02:00", "duration": "00:30", "room": "South Hall 2A", "slug": "europython-2023-29742-a-brief-history-of-data-storage", "url": "https://programme.europython.eu/europython-2023/talk/UAEJZX/", "title": "A Brief History of Data Storage", "subtitle": "", "track": "~ None of these topics (2023)", "type": "Talk", "language": "en", "abstract": "For millennia, humans have known things. Pretty quickly, we started writing them down; our brains aren't very good at storing all the things we know reliably, and we needed something more durable.\n\nA long time ago, this meant clay tablets with cuneiform on them, and things have only got more complicated from there. Nowadays, we try to store data so that computers can understand it too, and that's given us a bewildering array of options - portable hard drives, magnetic tape storage and so much more.\n\nIn this talk, we'll take a look at the history of data storage, and discuss why some methods have worked better than others. We'll talk about why writing things down for humans is different than doing it for computers, and why it's difficult to do both at the same time (this is what code is). Finally, we'll look at today's state-of-the-art for keeping data safe, and discuss what the future might hold.\n\nThis talk has no prerequisites, although a fondness for weird facts will help!", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "EKA3S9", "name": "Eli Holderness", "avatar": "https://programme.europython.eu/media/avatars/EKA3S9_1rm72oc.webp", "biography": "Eli is a developer, problem-finder and professional nerd who has been in tech since being released back into the wild from university. They\u2019re currently working as a developer advocate at Scaleway, a European cloud provider, where they get to learn all sorts of weird things about how the internet works and then tell other people about them. In the past, they\u2019ve worked in biotech, analog circuit design, and telecoms. They also speak regularly at conferences all over the world, including at NDC, PyCon UK and WeAreDevelopers World Congress.\n\nOutside of work, they like to knit, hang out with their cat, and try to stop their cat from eating their knitting.", "public_name": "Eli Holderness", "guid": "fbcbd3f4-0382-5272-9652-41e891f42b8f", "url": "https://programme.europython.eu/europython-2023/speaker/EKA3S9/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/UAEJZX/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/UAEJZX/", "attachments": []}, {"guid": "05fc6625-52dc-5f18-b4ce-f186d0141cbf", "code": "GY9LZC", "id": 29259, "logo": null, "date": "2023-07-21T11:20:00+02:00", "start": "11:20", "end": "2023-07-21T11:50:00+02:00", "duration": "00:30", "room": "South Hall 2A", "slug": "europython-2023-29259-ultimative-session-about-hidden-gems-of-django-admin", "url": "https://programme.europython.eu/europython-2023/talk/GY9LZC/", "title": "Ultimative session about hidden gems of Django Admin.", "subtitle": "", "track": "Python Libraries (2023)", "type": "Talk", "language": "en", "abstract": "The Django Admin Panel is a complex and bad-documented tool in the Django that can greatly speed up development if you start to understand it.\n\u201cIsn\u2019t it easier for us to write our Backend?\u201d I will answer: \u201cNo, it\u2019s not easier!\u201d. 8 years of insights and discoveries in my Talk. Here i want talk about multiple admin sites, ModelAdmins possibilities, object state versioning and app configs as completely forgotten hidden power.", "description": "The following questions should be in this Talk:\n1. Review of ideas Django.contrib.admin module.\n2. Django admin panel as it could be.\n3. Django admin sites multiplication.\n4. How to remove the legacy of older versions of Django im admin panel\n5. Undocumented Django.contrib.admin features.\n6. Using Django Admin Panel for third-party Backend implementations.\n\nI have presented many talks about Django Contrib Admin on PyCon RU, PyCon DE, Django Con EU, Django Con US. Here should be ultimative session about important parts and Vulnerabilities of this Library.\nThis talk for advanced and experienced developers.", "recording_license": "", "do_not_record": false, "persons": [{"code": "TJSMCP", "name": "Maxim Danilov", "avatar": "https://programme.europython.eu/media/avatars/TJSMCP_UjXoW08.webp", "biography": "Python/Django Speaker and Coach. Senior software developer.\nSince 1997 in software development, 8 years with Python.\nProgramming languages stack: RISC Assembly Language, C, Pascal, Fortran, ASP, VB/VBA, PHP, HTML/CSS, VueJS/NuxtJS, Python.\n\nI Live in Austria in Tirol. I am also Alpine Ski and x-cross-country Instructor.", "public_name": "Maxim Danilov", "guid": "700d1a37-fbbb-5253-ba29-a0472c075f92", "url": "https://programme.europython.eu/europython-2023/speaker/TJSMCP/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/GY9LZC/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/GY9LZC/", "attachments": []}, {"guid": "28121e70-3ff7-57e4-b0b6-9bbcce94b968", "code": "WB8ZWV", "id": 29392, "logo": null, "date": "2023-07-21T11:55:00+02:00", "start": "11:55", "end": "2023-07-21T12:25:00+02:00", "duration": "00:30", "room": "South Hall 2A", "slug": "europython-2023-29392-python-interoperability-building-a-python-first-petabyte-scale-database", "url": "https://programme.europython.eu/europython-2023/talk/WB8ZWV/", "title": "Python interoperability: building a Python-first, petabyte-scale database", "subtitle": "", "track": "Software Engineering & Architecture (2023)", "type": "Talk", "language": "en", "abstract": "How can you scale Python to run at petabyte scale, with the reliability needed to trade billions of dollars? With ArcticDB we have been doing exactly that for the last four years, by leveraging interoperability between Python and high-performance C++, with a detailed understanding of the data structures inside Python and a few extra tricks up our sleeves.\n\nCome take a peek under Python's bonnet and learn how to hotwire a few things along the way.", "description": "This talk aims to introduce experienced Pythonistas to the workings of Python's C API and provide you with the means to get started with building Python modules, particularly in modern C++. It's now much easier than you think to write your first Python extension, and despite its reputation for gnarly syntax and lack of memory safety, features that have been gradually added to the C++ language over the last decade such as tuple return types with structured bindings and automatic type deduction, mean that your C++ can be more Pythonic than you might think. Since one of the most common reasons for writing an extension module is to leverage optimized machine code and multi-threading to handle really big data, we'll look at how we avoid shooting ourselves in the performance foot at the boundary between native code and Python.\n\nIn this talk we will lay out the potential pitfalls of interacting with the Python C API, share some of the hard-won experience we gained in engineering ArcticDB and running it at petabyte scale for critical Python trading applications. We'll also let you in on some tricks for implementing zero-copy data interchange, managing memory ownership and lifetimes, getting the most out of multi-threading through sensitive handling of the Global Interpreter Lock, and interacting with Pandas. \n\nOf course, nothing stays the same forever. The Python data landscape is changing rapidly and with the advent of Pandas 2.0, the old workhorse NumPy is gradually being supplanted by Apache Arrow, a project that has interoperability at the core of its design. Some things will get easier, some problems will remain. We'll examine the landscape ahead and share vital information to help you future-proof your development both inside and alongside Python.", "recording_license": "", "do_not_record": false, "persons": [{"code": "JRFBAY", "name": "William Dealtry", "avatar": "https://programme.europython.eu/media/avatars/JRFBAY_gknodiR.webp", "biography": "William Dealtry has been working in both Python and C++ for many years, and has been a member of the C++ standardization committee for more than a decade. Having previously worked with financial data a places like the New York Stock Exchange and Goldman Sachs, he is currently the Architect of a new open-source Dataframe database, ArcticDB, which is backed by long-time Python enthusiasts Man Group and Bloomberg.", "public_name": "William Dealtry", "guid": "da95f706-6bbf-5978-96ae-c3560fcf7382", "url": "https://programme.europython.eu/europython-2023/speaker/JRFBAY/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/WB8ZWV/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/WB8ZWV/", "attachments": []}, {"guid": "86c6b494-8d24-5a0b-8230-a036ec5795c0", "code": "3XQWYC", "id": 29660, "logo": null, "date": "2023-07-21T12:30:00+02:00", "start": "12:30", "end": "2023-07-21T13:00:00+02:00", "duration": "00:30", "room": "South Hall 2A", "slug": "europython-2023-29660-hitchhickers-guide-to-d-d", "url": "https://programme.europython.eu/europython-2023/talk/3XQWYC/", "title": "Hitchhickers Guide to D&D \ud83d\udc09", "subtitle": "", "track": "PyData: Software Packages & Jupyter (2023)", "type": "Talk", "language": "en", "abstract": "This talk is meant to be an hitchhickers guide to **Dungeons and Dragons** (`D&D`) _for programmers_. \nWe will leverage on our wit and intelligence to explore a very perilious dungeon \ud83e\uddd9 , where a venomous dragon is hiding in the shadows \ud83d\udc09 . \nThanks to a magical potion in an ancient flask, our wizardly skills have been enhanced with Pythonic capabilities \ud83d\udc0d making us the most powerful and geeky magician of the realm.\nThese new acquired power revealed _unprecedented strategies_ (i.e. algorithms \ud83d\ude43) that will guide us through the maze avoiding all the traps and pitfalls \u2694\ufe0f, and will help us maximising the power of our _fire magic_ \u2604\ufe0f to finally slay the dragon.\n\nIf you would like to know more about this new Pythonic spell, and the secrets it unveiled, or if you're simply interested in **new graph algorithms** that can run balzingly _fast_ maximising your CPU capabilities, **this is the talk for you!**", "description": "I am playing D&D since I was 13, and that is indeed a fantastic game for so many reasons. Even more fantastic if you could combine your geeky programming skills to it, whenever you have to explore hidden dungeons. \nIn facts, **graphs** are the most versatile, and fascinating data abstraction that could help us handling these challenges in a very programmatic way.\nIn Python we would have many solutions to work with Graph problems: from `scipy.sparse` to `networkx`.\nHowever, none of these solutions are generally known to be fast and efficient, and this can represent a huge impediment when the size of the graph in question (in terms of nodes, and edges) increases.\nBut _What if_ **graph** algorithms could be expressed as **linear algebraic** operations ? And _what if_ this _translation_ would make graph algorithms super efficient so that this would represent a viable and scalable alternative for high-performance graph analytics ? \nAnd _what if_ we could leverage on these new and blanzingly fast algiorithms, while still using the **same** libraries (and abstractions) we would normally use with `networkx`?\n\nIn this talk, we will introduce [`python-graphblas`](https://github.com/python-graphblas/python-graphblas), i.e. the official Python API to [GraphBLAS](https://graphblas.org/): a powerful framework for creating graph algorithms expressed as linear algebra sparse matrix operations.  \nWe will explore two practical examples (working on our D&D use case) showcasing performance, and how `python-graphblas` with  [`graphblas-algorithms`](https://github.com/python-graphblas/graphblas-algorithms) integrate with `networkX`.", "recording_license": "", "do_not_record": false, "persons": [{"code": "GHGDNR", "name": "Valerio Maggio", "avatar": "https://programme.europython.eu/media/avatars/GHGDNR_qbafFlu.webp", "biography": "Valerio Maggio is a Researcher, a Data scientist Advocate at Anaconda, and a casual \"Magic: The Gathering\" wizard. He is well versed in open science and research software, supporting the adoption of best software development practice (e.g. [Code Review](https://www.software.ac.uk/blog/2022-03-18-treat-your-research-code-code-review)) in Data Science.  Valerio is also an open-source contributor, and an active member of the Python community. Over the last twelve years he has contributed and volunteered to the organization of many international conferences and community meetups like PyCon Italy, PyData, EuroPython, and EuroSciPy. All his talks, workshop materials and random ramblings are publicly available on his[ Speaker Deck](https://speakerdeck.com/leriomaggio) and[ GitHub](https://github.com/leriomaggio) profiles.", "public_name": "Valerio Maggio", "guid": "266f1607-9b2e-5b6f-ab19-2c0336177bbc", "url": "https://programme.europython.eu/europython-2023/speaker/GHGDNR/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/3XQWYC/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/3XQWYC/", "attachments": []}, {"guid": "b24adb58-811a-5dc0-8515-16eb8b9f8441", "code": "NYEBMZ", "id": 30146, "logo": null, "date": "2023-07-21T14:00:00+02:00", "start": "14:00", "end": "2023-07-21T14:30:00+02:00", "duration": "00:30", "room": "South Hall 2A", "slug": "europython-2023-30146-what-a-screen-reader-can-teach-you-about-remote-python-debugging", "url": "https://programme.europython.eu/europython-2023/talk/NYEBMZ/", "title": "What a screen reader can teach you about remote Python debugging", "subtitle": "", "track": "~ None of these topics (2023)", "type": "Talk", "language": "en", "abstract": "The NVDA screen reader is a Python application packaged with Py2exe, along with C++ extensions for low-level system access and improved performance. Its functionality can be expanded through addons that are also written in Python, which makes the ability to debug both the core and addon code highly desirable.\n\nHowever, debugging code within an embedded or packaged Python environment can be quite challenging, especially if you are a visually impaired programmer trying to debug your own screen reader, since hitting a breakpoint will freeze the tool you rely on for computer access!\n\nIn this presentation, I will demonstrate how I addressed this challenge by leveraging Microsoft's debugpy library for remote debugging. I will showcase how this technique can be used to debug Python applications running within an embedded Python environment, regardless of the host language. Additionally, I will explore its applicability in debugging applications running on different operating systems or environments than the one where you prefer to use your debugging IDE.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "LKXMJS", "name": "Ram\u00f3n Corominas", "avatar": "https://programme.europython.eu/media/avatars/LKXMJS_Wvboovd.webp", "biography": "I'm a freelance accessibility consultant based in Oviedo, Spain. I have 15-year experience in web development and since 2019 I'm learning Python and developing small programs for my special needs as a blind developer", "public_name": "Ram\u00f3n Corominas", "guid": "e9545ba9-da3a-5344-bfea-3c89022cf860", "url": "https://programme.europython.eu/europython-2023/speaker/LKXMJS/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/NYEBMZ/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/NYEBMZ/", "attachments": []}, {"guid": "dd163a05-b5bd-5f73-9b5b-6e2cdb6961b8", "code": "DA3GWB", "id": 30070, "logo": null, "date": "2023-07-21T15:30:00+02:00", "start": "15:30", "end": "2023-07-21T16:00:00+02:00", "duration": "00:30", "room": "South Hall 2A", "slug": "europython-2023-30070-graphql-subscriptions-real-time-data-with-websockets-and-strawberry", "url": "https://programme.europython.eu/europython-2023/talk/DA3GWB/", "title": "GraphQL Subscriptions: Real-time Data with WebSockets* and Strawberry \ud83c\udf53", "subtitle": "", "track": "Web (2023)", "type": "Talk", "language": "en", "abstract": "Bring your GraphQL APIs to life with real-time data using Strawberry! \ud83c\udf1f In this talk, we'll dive into GraphQL Subscriptions and explore how to leverage WebSockets for interactive, real-time updates. Say goodbye to constant polling and hello to efficient, seamless communication!\n\nKey insights:\n\n- Understanding GraphQL Subscriptions and their role in real-time data delivery.\n- Setting up WebSocket connections and integrating them with your GraphQL server using Strawberry.\n- Designing subscription schemas and handling server-side events for seamless updates.\n- Enhancing client-side experiences with real-time data and updates.", "description": "GraphQL Subscriptions offer a powerful solution to deliver real-time data\nefficiently, without the need for constant polling. In this talk, we'll explore\nthe power of GraphQL Subscriptions using WebSockets and Strawberry,\nempowering you to build dynamic, real-time applications with ease.\n\nDuring this session, we'll cover:\n\n1. An introduction to GraphQL Subscriptions: We'll discuss the concept of\n   GraphQL Subscriptions, their role in real-time data delivery, and how they\n   differ from traditional polling techniques. You'll gain a deep understanding\n   of their importance in creating modern, responsive applications.\n\n2. Setting up WebSockets with GraphQL and Strawberry: We'll guide you through\n   the process of integrating WebSocket connections with your GraphQL server\n   using the Strawberry library. Learn how to establish and manage secure,\n   real-time communication channels between your server and clients.\n\n3. Designing and implementing subscription schemas: We'll walk you through the\n   process of designing and implementing subscription schemas using Strawberry,\n   allowing you to define the structure and behavior of real-time updates. Learn\n   how to handle server-side events and ensure seamless updates for clients.\n\n4. Enhancing client-side experiences: Discover how to leverage real-time data\n   and updates in your client-side applications to create engaging and\n   interactive experiences for users. We'll share best practices for handling\n   GraphQL Subscriptions on the client-side, enabling you to build dynamic,\n   real-time applications that delight your users.\n\nBy the end of this talk, you'll be well-equipped to harness the power of GraphQL\nSubscriptions using WebSockets and Strawberry, enabling you to create\nresponsive, real-time applications!", "recording_license": "", "do_not_record": false, "persons": [{"code": "CWD3DM", "name": "Patrick Arminio", "avatar": "https://programme.europython.eu/media/avatars/CWD3DM_tEgi9sa.webp", "biography": "Patrick Arminio, is Senior developer advocate at Apollo GraphQL. He's super passionate about Python and GraphQL! \ud83c\udf89 He loves building cool web apps, contributing to open-source projects, and sharing his know-how with fellow developers. When he's not coding he's probably at some conference or running \ud83d\ude0a\n\nHe's an organizer for PyCon Italia and EuroPython \ud83c\uddea\ud83c\uddfa", "public_name": "Patrick Arminio", "guid": "6ece497c-35bf-5cbc-8074-150d907491ad", "url": "https://programme.europython.eu/europython-2023/speaker/CWD3DM/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/DA3GWB/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/DA3GWB/", "attachments": []}, {"guid": "173eb41b-e6cf-5347-b364-ed6a0fa01948", "code": "URF3Z9", "id": 28778, "logo": null, "date": "2023-07-21T16:05:00+02:00", "start": "16:05", "end": "2023-07-21T16:35:00+02:00", "duration": "00:30", "room": "South Hall 2A", "slug": "europython-2023-28778-graphql-as-an-umbrella-for-microservices", "url": "https://programme.europython.eu/europython-2023/talk/URF3Z9/", "title": "GraphQL as an umbrella for microservices", "subtitle": "", "track": "Software Engineering & Architecture (2023)", "type": "Talk", "language": "en", "abstract": "Systems built with microservices tend to become complex over time. There are several approaches that encapsulate complex distributed system layouts with an API Gateway, or backends for frontends. Having a GraphQL gateway is one of the available options. This method of delivering client-facing APIs has become the standard with modern single-page applications.", "description": "During this talk you will:\n\n* Discover the basics of GraphQL as the communication layer and it's core differences from REST approach\n* See the real life example of how my team used [Ariadne](https://ariadnegraphql.org/) - an open-source python GraphQL server, to abstract the complexity of a large-scale, microservice-oriented system\n* Learn about some common mistakes, caveats, and outtakes from taking such an approach\n* Discover how deploying GraphQL as an API gateway speeds up the development process, makes the engineering team more productive and allows both, front-end and back-end engineers to shape the APIs together", "recording_license": "", "do_not_record": false, "persons": [{"code": "ZX7UWL", "name": "Artur Sm\u0119t", "avatar": "https://programme.europython.eu/media/avatars/ZX7UWL_ELoxOK0.webp", "biography": "I'm a Python developer from Poland, working currently with Mirumee Software. \nIn my daily work I focus on web APIs development, using modern frameworks like FastAPI, I'm an enthusiast of clean architecture and solving complex problems in a simple, elegant way.", "public_name": "Artur Sm\u0119t", "guid": "bc1c52f0-f1ad-53eb-a19d-4c58f7bb6ecc", "url": "https://programme.europython.eu/europython-2023/speaker/ZX7UWL/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/URF3Z9/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/URF3Z9/", "attachments": []}], "South Hall 2B": [{"guid": "88abcaad-5633-5818-b9a8-08d50e4d3f56", "code": "MD3PX3", "id": 29571, "logo": null, "date": "2023-07-21T10:30:00+02:00", "start": "10:30", "end": "2023-07-21T11:00:00+02:00", "duration": "00:30", "room": "South Hall 2B", "slug": "europython-2023-29571-test-your-data-like-you-test-your-code", "url": "https://programme.europython.eu/europython-2023/talk/MD3PX3/", "title": "Test your data like you test your code", "subtitle": "", "track": "PyData: Data Engineering (2023)", "type": "Talk", "language": "en", "abstract": "I will introduce the concept of data unit tests and why they are important in the workflow of data scientists when building data products. In this talk, you will learn a new tool you can use to ensure the quality of the products you build.", "description": "When data scientists build data products, they usually need to combine multiple data sources to train their models and then serve predictions. Making sure that the code and the data will be as expected throughout the full lifetime of the project is complex. To ensure the quality of the code, it is a best practice in software engineering to use automatic testing, this has a large corpus of support material. However, ensuring the quality of the data input and output holistically is not yet as well covered. \n\nIn this talk, I will explain the concept of data unit tests and why they are important. Then I will present an overview of the current libraries helping to build data unit tests. Finally, I will explain how we integrated it into our workflow at GetYourGuide.", "recording_license": "", "do_not_record": false, "persons": [{"code": "EZMJWT", "name": "Theodore Meynard", "avatar": "https://programme.europython.eu/media/avatars/EZMJWT_io5jCH5.webp", "biography": "Theodore Meynard is a data scientist at GetYourGuide. He works on our ranking algorithm to help customers to find the best activities to book and locations to explore. He is one of the co-organisers of the Pydata Berlin meetup. When he is not programming, he loves riding his bike looking for the best bakery-patisserie in town.", "public_name": "Theodore Meynard", "guid": "e8cd8307-aa2c-58ef-bf5a-fb20a673814b", "url": "https://programme.europython.eu/europython-2023/speaker/EZMJWT/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/MD3PX3/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/MD3PX3/", "attachments": []}, {"guid": "4afab68e-f908-52da-8715-99a048c7f7a4", "code": "DQ9RA9", "id": 29381, "logo": null, "date": "2023-07-21T11:20:00+02:00", "start": "11:20", "end": "2023-07-21T11:50:00+02:00", "duration": "00:30", "room": "South Hall 2B", "slug": "europython-2023-29381-too-big-for-dag-factories", "url": "https://programme.europython.eu/europython-2023/talk/DQ9RA9/", "title": "Too Big for DAG Factories?", "subtitle": "", "track": "PyData: Data Engineering (2023)", "type": "Talk", "language": "en", "abstract": "Do you need to transform, optimize and scale your data workflow? In this talk, we\u2019ll review use cases, and you\u2019ll learn how to dynamically generate thousands of DAGs (Directed Acyclic Graphs) with Airflow.", "description": "You\u2019re working on a project that needs to aggregate petabytes of data, and it doesn\u2019t make sense to manually hard-code thousands of tables, DAGs (Directed Acyclic Graphs) and pipelines. How can you transform, optimize and scale your data workflow? Developers around the world (especially those who love Python) are using Apache Airflow \u2014 a platform created by the community to programmatically author, schedule and monitor workflows without limiting the scope of your pipelines. \n\nIn this talk, we\u2019ll review use cases, and you\u2019ll learn best practices for how to:\n\n- use Airflow to transfer data, manage your infrastructure and more;\n- implement Airflow in practical use cases, including as a:\n    - workflow controller for ETL pipelines loading big data;\n    - scheduler for a manufacturing process; and/or\n    - batch process coordinator for any type of enterprise;\n- scale and dynamically generate thousands of DAGs that come from JSON configuration files;\n- automate the release of both the DAGs and infrastructure updates via a CI/CD pipeline;\n- run all tasks simultaneously using Airflow.\n\nBoth beginner and intermediate developers will benefit from this talk, and it is ideal for developers wanting to learn how to use Airflow for managing big data. Beginners will learn about dynamic DAG factories, and intermediate developers will learn how to scale DAG factories to thousands of DAGS \u2014 which is something Airflow can\u2019t do out of the box.\n\nAfter this talk and live demo, people will learn best practices (including access to a code repo) that will allow them to scale to thousands of DAGs and spend more time having fun with big data.", "recording_license": "", "do_not_record": false, "persons": [{"code": "ME3WGG", "name": "Calvin Hendryx-Parker", "avatar": "https://programme.europython.eu/media/avatars/ME3WGG_7N5IJMh.webp", "biography": "Calvin Hendryx-Parker is the co-founder and CTO of Six Feet Up, a Python and cloud expert consulting company that makes the world a better place by using technology to accelerate the initiatives of companies that do good. \n\nCalvin\u2019s Massive Transformative Purpose (MTP) is to inspire and enable tech leaders to open minds and bring the world together for a sustainable future. At Six Feet Up, Calvin establishes the company's technical vision and leads all aspects of the company's technology development. He provides the strategic vision for enhancing the offerings of the company and infrastructure, and he works with the team to set company priorities and implement processes that will help improve product and service development. \n\nCalvin is passionate about the open source community and specializes in app development, AI, big data and cloud technology. He is regularly sought after to share his expertise \u2014 both at international conferences and in the media. \n\nIn 2019, Calvin was named an AWS Hero \u2014 one of only 48 Heroes in North America. He is the founder and host of the Python Web Conference; the co-founder of IndyPy, the largest Python meetup in Indiana with 2,100+ members; and the founder of IndyAWS, the fastest growing cloud meetup in the state with 800+ members. Additionally, Calvin is the driving force behind LoudSwarm by Six Feet Up, a high impact virtual event platform that debuted in June 2020.\n\nOutside of work, Calvin spends time tinkering with new devices like the AWS DeepRacer, CircuitPython and Raspberry Pi. He is an avid distance runner and ran the 2014 NYC Marathon to support the Innocence Project. Before the pandemic, Calvin and his family enjoyed annual extended trips to France where his wife Gabrielle, the CEO of Six Feet Up, is from. Calvin lives in Fishers, IN and holds a Bachelor of Science from Purdue University.", "public_name": "Calvin Hendryx-Parker", "guid": "9a2d3474-cf84-5eb8-b85f-b75e89d5a470", "url": "https://programme.europython.eu/europython-2023/speaker/ME3WGG/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/DQ9RA9/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/DQ9RA9/", "attachments": []}, {"guid": "549bcb4c-0fb3-58bc-94eb-03f89d29b9c8", "code": "TZLHXN", "id": 28976, "logo": null, "date": "2023-07-21T11:55:00+02:00", "start": "11:55", "end": "2023-07-21T12:25:00+02:00", "duration": "00:30", "room": "South Hall 2B", "slug": "europython-2023-28976-orchestrating-python-workflows-in-apache-airflow", "url": "https://programme.europython.eu/europython-2023/talk/TZLHXN/", "title": "Orchestrating Python Workflows in Apache Airflow", "subtitle": "", "track": "Python Libraries (2023)", "type": "Talk", "language": "en", "abstract": "[**Apache Airflow**](https://github.com/apache/airflow) is an Open Source workflow orchestrator. It is a python library that allows you to automate complex code and integrate it with a plethora of Data Sources. It is provided with an integrated UI and API for both your human and programmatic needs.\n\nAfter 5 years of running Airflow in production, I hope to share some insights on the technology. The strengths and weaknesses, recommended features and more dangerous ones, and similar considerations on the UI.\n\nI'll also be talking about how **you** can make your own *Operators* in Airflow.\n\nCome take a deeper dive into the same solution used by Airbnb, Slack, Walmart and many more to efficiently run their data pipelines.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "DYJUDX", "name": "Sebastien Crocquevieille", "avatar": "https://programme.europython.eu/media/avatars/DYJUDX_vf0klPe.webp", "biography": "I am a Franco-Mexican Data Engineer working remotely from Taiwan.\n\nI'm an Open Source enthusiast, a big fan of the PewPew (EP2019) and recurring attendee of the EuroPython Conferences!", "public_name": "Sebastien Crocquevieille", "guid": "1eb719f3-111d-57ef-bc97-dc3971bd1e9c", "url": "https://programme.europython.eu/europython-2023/speaker/DYJUDX/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/TZLHXN/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/TZLHXN/", "attachments": []}, {"guid": "f2262dd8-0e04-5b12-8a8a-faac48d0177c", "code": "KFMCSK", "id": 29205, "logo": null, "date": "2023-07-21T12:30:00+02:00", "start": "12:30", "end": "2023-07-21T13:00:00+02:00", "duration": "00:30", "room": "South Hall 2B", "slug": "europython-2023-29205-scipp-multi-dimensional-arrays-with-labeled-dimensions-and-physical-units", "url": "https://programme.europython.eu/europython-2023/talk/KFMCSK/", "title": "Scipp: multi-dimensional arrays with labeled dimensions and physical units", "subtitle": "", "track": "PyData: Software Packages & Jupyter (2023)", "type": "Talk", "language": "en", "abstract": "Inspired by Xarray, Scipp ([scipp.github.io](https://scipp.github.io)) enriches raw NumPy-like multi-dimensional data arrays by adding named dimensions and associated coordinates.\nFor an even more intuitive and less error-prone user experience, Scipp adds physical units to arrays and their coordinates.\nScipp data arrays additionally support a dictionary of masks, as well as histogram bin-edge coordinates.\n\nOne of Scipp's key features is the possibility of using multi-dimensional non-destructive binning to sort record-based \"tabular\"/\"event\" data into arrays of bins.\nThis provides fast and flexible binning, rebinning, and filtering operations, all while preserving the original individual records.\n\nScipp ships with data display and visualization features for Jupyter notebooks, including a powerful plotting interface.\nNamed Plopp, this tool uses a graph of connected nodes to provide interactivity between multiple plots and widgets, requiring only a few lines of code from the user.", "description": "This presentation will be in the form of a live demo of the Scipp package in Jupyter.\nScipp is an open-source project developed by the [European Spallation Source](https://europeanspallationsource.se/) under the BSD-3 licence.\nIt is a Python library built around a C++ core, which uses TBB for multi-threading, providing good out-of-the-box performance.\nIt is installable on Linux, Mac and Windows via `pip` and `conda`, and the documentation is hosted at https://scipp.github.io .\nThe source code can be found at https://github.com/scipp .\nCo-authors (but not co-speakers): Simon Heybrock, Jan-Lukas Wynen, Sunyoung Yoo.", "recording_license": "", "do_not_record": false, "persons": [{"code": "WAV8NL", "name": "Neil Vaytet", "avatar": "https://programme.europython.eu/media/avatars/WAV8NL_iujFwfV.webp", "biography": "I am an astrophysicist and a software developer.\nI write open-source tools for manipulation, analysis and visualization of scientific data.\nI live in Copenhagen (DK).", "public_name": "Neil Vaytet", "guid": "7f00bdac-b591-5ebe-aa13-45b3ff9b55c5", "url": "https://programme.europython.eu/europython-2023/speaker/WAV8NL/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/KFMCSK/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/KFMCSK/", "attachments": [{"title": "Jupyter notebook used for the presentation", "url": "/media/europython-2023/submissions/KFMCSK/resources/scipp-europython2023_CjFEojX.ipynb", "type": "related"}]}, {"guid": "b8c4ffca-fee5-534c-a93c-48a5b4fe25a2", "code": "WNSZ9R", "id": 29995, "logo": null, "date": "2023-07-21T14:00:00+02:00", "start": "14:00", "end": "2023-07-21T14:30:00+02:00", "duration": "00:30", "room": "South Hall 2B", "slug": "europython-2023-29995-the-digital-state-of-the-european-union", "url": "https://programme.europython.eu/europython-2023/talk/WNSZ9R/", "title": "The digital State of the European Union", "subtitle": "", "track": "Ethics, Philosophy & Politics (2023)", "type": "Talk", "language": "en", "abstract": "What is the European digital identity? How can you access digital public services from another EU country? Why is it so hard to create an European ecosystem of  digital services? Does the EU support open source?\n\nThis (opinionated) talk will present the current State of the digital services in the EU. Will summarize the normative and technical challenges, and their impacts on the resulting platforms in terms of UX, cybersecurity and maintainability.", "description": "European Union members started many years ago to plan common infrastructures in order to provide shared digital services to EU citizens. Some of them are consolidated, like the visa and the VAT information system, others are going to be revised - like the eID. Many new services are under development.\n\nThe cornerstone of these services is the \"Once Only Principle\": citizens provide diverse data only once in contact with public administrations, while public administration bodies take actions to internally share and reuse these data \u2013 even across borders.\n\nAfter a brief presentation of some existing EU services (e.g. participate to an EC consultation authenticating with your eID, [VAT information system API](https://ec.europa.eu/taxation_customs/vies/#/vat-validation), the [EU data portal](https://data.europa.eu/en) , ..) the talk will cover:\n\n- the four categories of challenges: legal -> organizational -> semantic -> technical, and the importance of addressing them **in order**;\n- how shifting-right challenges from the legal and organizationa level down to the technical one affects the UX and the cybersecurity of the resulting platforms;\n- challenges in procurement.\n\nFinally, a focus on the technical level:\n\n- the role that the EU can play to support open source and open standards.", "recording_license": "", "do_not_record": false, "persons": [{"code": "VST3SV", "name": "Roberto Polli", "avatar": "https://programme.europython.eu/media/avatars/VST3SV_Y3I8e2B.webp", "biography": "Roberto works in Par-Tec, designing resilient, cloud and enterprise architectures based on open source components.\n\nHe was part of the [Italian Government's Digital Team](https://teamdigitale.governo.it/en/mission), the task force created to develop \"the Country's operating system\". There he worked to create a national API Ecosystem based on internet standards.\n\nHe's a Red Hat Certified Engineer and MySQL/MongoDB certified DBA, but loves maintaining free software.\n\nA life ago he took a Math degree, and he's really proud of it.", "public_name": "Roberto Polli", "guid": "40af2c9a-46ee-53bc-805c-865efec61ae5", "url": "https://programme.europython.eu/europython-2023/speaker/VST3SV/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/WNSZ9R/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/WNSZ9R/", "attachments": []}, {"guid": "231c8e43-2119-5416-aeb5-e43ce1be0352", "code": "BHWTKF", "id": 29613, "logo": null, "date": "2023-07-21T14:35:00+02:00", "start": "14:35", "end": "2023-07-21T15:05:00+02:00", "duration": "00:30", "room": "South Hall 2B", "slug": "europython-2023-29613-how-python-can-help-monitor-governments", "url": "https://programme.europython.eu/europython-2023/talk/BHWTKF/", "title": "How Python can help monitor governments", "subtitle": "", "track": "Ethics, Philosophy & Politics (2023)", "type": "Talk", "language": "en", "abstract": "With the risk of losing access to information, Python has been used to create means for society to continue having the right to know what government officials are doing in Brazil.\n\nThis lecture aims to show how the difficulty of accessing Brazilian government information has been combated by creating tools that use Python and how the language has been a useful tool for those who seek to leave society in the light of information.", "description": "With the imminent risk of the collapse of democracies and the constant attacks on journalism, access to information becomes increasingly difficult. As a result, civil society and journalists have been looking for ways to ensure that society is not left in the dark and that government monitoring continues.\n\nWith the popularization of Python in several professional areas, the language has become increasingly present in the fight for a more open government in Brazil, whether in the construction of monitoring tools or in the analysis of data from a government agency. Initiatives by government entities are also helping to enable transparency. \n\nIn this talk we will see examples of the use of Python to monitor the Brazilian government and how the language was fundamental for Brazilian society not to be left in the dark by misinformation. The idea is to show examples of civic uses that the programming language is gaining in the fight for transparency in Brazil.", "recording_license": "", "do_not_record": false, "persons": [{"code": "JWBPS9", "name": "Judite Cypreste", "avatar": "https://programme.europython.eu/media/avatars/JWBPS9_O9uIa1I.webp", "biography": "Judite Cypreste is a data journalist, with experience in the main newsrooms of Brazilian journalism. Participated as a keynote in events such as Python Brasil [14], and also in Brazilian regional events: Python Nordeste and Python Cerrado. She was also present at PyCon 2019. She believes that the meeting between journalists and programmers can greatly benefit civil society.", "public_name": "Judite Cypreste", "guid": "e67899c0-a789-58c9-ba23-9de688dfa35c", "url": "https://programme.europython.eu/europython-2023/speaker/JWBPS9/"}, {"code": "MWVY3Y", "name": "Patricia Bongiovanni Catandi", "avatar": "https://programme.europython.eu/media/avatars/MWVY3Y_GKkJsII.webp", "biography": "Graduated in Physics from USP and with a master's degree in the same area, she began her career in data at 99, the main Uber competitor in Brazil, passing through large companies on the national scene such as Ita\u00fa and Ra\u00edzen. She currently works as a Data Scientist/Engineer at the Rio de Janeiro City Hall Data Office and as a Machine Learning and Neural Networks teacher at Ada.", "public_name": "Patricia Bongiovanni Catandi", "guid": "365be1a4-900c-512e-ac18-11a0458f1a47", "url": "https://programme.europython.eu/europython-2023/speaker/MWVY3Y/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/BHWTKF/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/BHWTKF/", "attachments": []}, {"guid": "f9651de3-a194-5358-a156-72013b89cb11", "code": "3TUMQT", "id": 29555, "logo": null, "date": "2023-07-21T15:30:00+02:00", "start": "15:30", "end": "2023-07-21T16:00:00+02:00", "duration": "00:30", "room": "South Hall 2B", "slug": "europython-2023-29555-what-my-300-fantastic-young-students-taught-me-about-python", "url": "https://programme.europython.eu/europython-2023/talk/3TUMQT/", "title": "What my 300+ fantastic young students taught me about Python.", "subtitle": "", "track": "Education, Teaching & Training (2023)", "type": "Talk", "language": "en", "abstract": "Computer pRogramming, Technology, Bit-coinism Success, Climate Change and Billionaires are all associated with one another.\nThis talk will describe how a cohort of  299+ young people (aged 11-14) were introduced to Python Programming, at the same time, for the very first time.\nAnd in this talk, I  would like to share with a great secret in that I have actually learnt more from the young students than they learnt from me. \nThis talk is about how these young people have opened my eyes, mind  and heart about alternative ways of looking at and appreciating:- \nThe humble IF statement;  the under-rated FOR loop, the dry Return Statement, the functional Maths & Random modules, etc. as if one were an artist.\nWe will talk about the renewed delight of looking at these things from fresh pairs of eyes and how we can take these new learnings forward.", "description": "Computer pRogramming, Technology, Bit-coinism Success, Climate Change and Billionaires are all associated with one another.\nThis talk will describe how a cohort of  299+ young people (aged 11-14) were introduced to Python Programming, at the same time, for the very first time.\nAnd in this talk, I  would like to share with a great secret in that I have actually learnt more from the young students than they learnt from me. \nThis talk is about how these young people have opened my eyes, mind  and heart about alternative ways of looking at and appreciating:- \nThe humble IF statement;  the under-rated FOR loop, the dry Return Statement, the functional Maths & Random modules, etc. as if one were an artist.\nWe will talk about the renewed delight of looking at these things from fresh pairs of eyes and how we can take these new learnings forward.", "recording_license": "", "do_not_record": false, "persons": [{"code": "8QTNH7", "name": "Lilian", "avatar": "https://programme.europython.eu/media/avatars/8QTNH7_S4r4XL5.webp", "biography": "Lilian studied Computer Science at high school and did her PhD in Computer Modelling. She went on to looking at computer applications and programming in the pharmaceutical sector before entering formal teaching for the next generation. She is currently engaged in teaching Python programming, C# and Javascript. She has given lectures in conferences both in the UK and abroad about the teaching of Computer Programming to young people. She has ran computer clubs including that of 'computer-assisted' investment for children and is a full member of the British Computer Society.\n\nLilian firmly believes that in this emergent brave new world, the Anthrpocene age, the computer (with its associated technologies) is the harbinger to transform globally man's short slavish existence to a better one - a world community defined by longer, richer and freer life experiences. She believes it is imperative that our schools empower our young children with his new knowledge, and Lilian herself did help reshape the Computer Science Department of an independent boys' school as Head of Department. She has produced for children more than 75 YouTube (online) videos on Computer Science and Programming - and has had more than 12,000 hits globally.", "public_name": "Lilian", "guid": "31301241-ef8c-5e8f-a56f-f93a290b87ae", "url": "https://programme.europython.eu/europython-2023/speaker/8QTNH7/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/3TUMQT/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/3TUMQT/", "attachments": [{"title": "Slides of the Talk", "url": "/media/europython-2023/submissions/3TUMQT/resources/Copy_of_EuroPython_2023_jQXACcR.pdf", "type": "related"}, {"title": "Slides of the Talk", "url": "/media/europython-2023/submissions/3TUMQT/resources/Copy_of_EuroPython_2023_3Gzf3tA.pdf", "type": "related"}]}, {"guid": "319c089b-025c-5a36-990d-7fa9614068cf", "code": "HN3EDM", "id": 30063, "logo": null, "date": "2023-07-21T16:05:00+02:00", "start": "16:05", "end": "2023-07-21T16:35:00+02:00", "duration": "00:30", "room": "South Hall 2B", "slug": "europython-2023-30063-teaching-children-python-what-works", "url": "https://programme.europython.eu/europython-2023/talk/HN3EDM/", "title": "Teaching Children Python-What Works?", "subtitle": "", "track": "Education, Teaching & Training (2023)", "type": "Talk", "language": "en", "abstract": "We will explore the latest research on how children gain programming knowledge, how to keep them interested and excited, and how this might inform the way we support adult newcomers to programming. Practical advice and suggestions for activities will be given to attendees.", "description": "Have you ever tried to teach your kids programming? Do you have friends trying to learn as an adult? Have you ever wondered if you would have been better off learning to code earlier in life? The push for more people to learn to code has caused an explosion in the educational industry. Boot camps and certification programs of dramatically varying quality have emerged in nearly every corner of the world. These programs are often accompanied by lofty claims and promises. Children have been no exception to this, as more and more companies attempt to capitalize on the claim that children should start learning early because it's \"like learning a language\". However, research suggests that this might not be the most solid argument. We will be exploring:\n-What benefits are there in teaching them early? \n-How do children acquire programming knowledge? \n-How does our language around the concepts affect their understanding? \n-How do we keep their interest?\n-Can the answer to these questions inform how we teach adults coming in from non-STEM fields? \nThis talk will focus on these questions by presenting the current data we have, in conjunction with anecdotal evidence from sessions with children and adults who code in python.", "recording_license": "", "do_not_record": false, "persons": [{"code": "HPYZNL", "name": "Mykalin Jones", "avatar": "https://programme.europython.eu/media/avatars/HPYZNL_oiW7W8X.webp", "biography": "Hi! My name is MJ, I am the founder of AstroTutors / an instructor with over a decade of experience. I am passionate about teaching python, maths, physics, problem-solving strategies, and English. My personal interests lie in pedagogy, particularly that of programming, maths, and language. I, myself, am a student of French, and Irish. I am curious about how language impacts how we learn new skills and think about complex problems.\nI completed my B.S. in Physics and continued with a Master's in Nuclear Science and Engineering at Worcester Polytechnic Institute in Massachusetts. In 2019, I moved to France, where I completed another master's in Particle Astrophysics. It was during my education that I discovered my love of python and programming. The majority of my work was in computational physics.\nSince graduating, I have become a full-time educator. I have taught over 100 students python in private and group settings. I've created my own curriculum for teaching python to children which I am constantly updating in attempts to figure out how to teach python in an optimal way that is engaging and impactful. Right now, I'm working on translating it into French!", "public_name": "Mykalin Jones", "guid": "98b980be-9ea5-5139-880b-8aca64e54f78", "url": "https://programme.europython.eu/europython-2023/speaker/HPYZNL/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/HN3EDM/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/HN3EDM/", "attachments": []}], "North Hall": [{"guid": "35b5f446-2461-55cb-915a-16d9c4c36b5c", "code": "E9QUAW", "id": 29790, "logo": null, "date": "2023-07-21T10:30:00+02:00", "start": "10:30", "end": "2023-07-21T11:15:00+02:00", "duration": "00:45", "room": "North Hall", "slug": "europython-2023-29790-caching-in-microservices", "url": "https://programme.europython.eu/europython-2023/talk/E9QUAW/", "title": "Caching in microservices", "subtitle": "", "track": "Web (2023)", "type": "Talk", "language": "en", "abstract": "There are two hard problems in programming: naming things and cache invalidation. I'll cover the latter, in a microservice-based system. Given a fairly standard setup with API Gateway and a backend service with its own database, I'll show how to implement cache that allows us to avoid database queries without modifying API client.\n\nThe whole talk is based on live coding.", "description": "In the talk I will go through the implementation of both sides of an ETag cache.\n\nFirst part will be a ASGI middleware (using FastAPI as an example) that\ncaptures resources returned by REST endpoints and creates ETags for them.\n\nThe middleware will also allow views to affect cache key construction, so that\nthe mechanism can be made aware of e.g. custom headers.\n\nThis middleware will be installed in the \"backend\" service.\n\nOn the \"backend\" side, I will also show how to invalidate the cache when\ndata used to create a given resource is modified.\n\nThe second part is an extension of aiohttp's ClientSession that stores ETagged\nresponse bodies. This will be installed inside the API Gateway, allowing\nexternal clients to utilize the cache without even knowing about it.\n\nFinally, I'll mention how to make it usable in a distributed system, by\nimplementing a simple content-based pubsub mechanism.", "recording_license": "", "do_not_record": false, "persons": [{"code": "T99QXX", "name": "Micha\u0142 Lowas-Rzechonek", "avatar": "https://programme.europython.eu/media/avatars/T99QXX_wm153Sr.webp", "biography": "I work mostly on the backend, but also embedded devices. My primary focus are IoT and other network-oriented applications. That's one of the reasons I am not allowed to touch the UI.\n\nI think the industry is going in circles and we invent LISP every 10 years. I don't know why I code in Python, since real programmers code in C.\n\nCurrently working as a System Architect at Silvair.", "public_name": "Micha\u0142 Lowas-Rzechonek", "guid": "db11a360-83d8-516e-8d55-b781e53c2ea3", "url": "https://programme.europython.eu/europython-2023/speaker/T99QXX/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/E9QUAW/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/E9QUAW/", "attachments": []}, {"guid": "05c02da1-504b-58f6-a7c0-d10408a0d78a", "code": "MRLACS", "id": 29691, "logo": null, "date": "2023-07-21T11:20:00+02:00", "start": "11:20", "end": "2023-07-21T11:50:00+02:00", "duration": "00:30", "room": "North Hall", "slug": "europython-2023-29691-designing-an-http-client", "url": "https://programme.europython.eu/europython-2023/talk/MRLACS/", "title": "Designing an HTTP client", "subtitle": "", "track": "Web (2023)", "type": "Talk", "language": "en", "abstract": "HTTPX is a fully featured HTTP client for Python 3, which provides sync and async APIs, and support for both HTTP/1.1 and HTTP/2. It also includes a built-in command-line client.\n\nWe'll be taking a look at the architecture of the client, learning from the design decisions behind it, and gaining a better understanding of HTTP along the way.", "description": "Some of the aspects we'll be taking a look at include:\n\n* Layered designs. How to design for separation of responsibilities. Why it matters, and the benefits it provides.\n* What are you saying? From the bytes on the wire, though SSL, content encoding, compression, media and text encodings.\n* Connection pooling in HTTP.\n* Building packages that support both sync and async concurrency models.\n* HTTP/1.1, HTTP/2, and HTTP/3.\n* Supporting more complex requirements. Handling WebSockets and other protocol upgrades.\n* Keeping it clean. Managing resource lifespans.", "recording_license": "", "do_not_record": false, "persons": [{"code": "P9XQDF", "name": "Tom Christie", "avatar": null, "biography": null, "public_name": "Tom Christie", "guid": "d56ced4e-d206-5f6e-aa59-303d897acdf9", "url": "https://programme.europython.eu/europython-2023/speaker/P9XQDF/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/MRLACS/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/MRLACS/", "attachments": []}, {"guid": "39165b8e-5a20-5c13-81b0-fa1ec082b6de", "code": "VCGQWF", "id": 29618, "logo": null, "date": "2023-07-21T11:55:00+02:00", "start": "11:55", "end": "2023-07-21T12:25:00+02:00", "duration": "00:30", "room": "North Hall", "slug": "europython-2023-29618-performance-tips-by-the-fastapi-expert", "url": "https://programme.europython.eu/europython-2023/talk/VCGQWF/", "title": "Performance tips by the FastAPI Expert", "subtitle": "", "track": "Web (2023)", "type": "Talk", "language": "en", "abstract": "Is your FastAPI really fast? Did you benchmark it, or you just have faith?\n\nOn this talk, Marcelo will give tips to improve the performance of your FastAPI application, and you\u2019ll see how impactful those changes can be.", "description": "We\u2019ll go through FastAPI common mistakes regarding performance, and how to make improvements.\n\nWe\u2019ll make a small study about how those improvements can impact on your applications, and you\u2019ll find out that even small details can make a tremendous impact.\n\nAs part of the study, we'll talk about points like encoding and decoding your data, the event loop, specific details about validation, and so on.", "recording_license": "", "do_not_record": false, "persons": [{"code": "BGPPXA", "name": "Marcelo Trylesinski", "avatar": "https://programme.europython.eu/media/avatars/BGPPXA_lE2zuQw.webp", "biography": "Marcelo is currently maintaining Uvicorn and Starlette, and he's known as a FastAPI Expert. He recently joined Pydantic as a Senior Software Engineer.", "public_name": "Marcelo Trylesinski", "guid": "83360534-30e0-51c5-8b36-59c32ff4278e", "url": "https://programme.europython.eu/europython-2023/speaker/BGPPXA/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/VCGQWF/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/VCGQWF/", "attachments": []}, {"guid": "258b15a6-ec3f-581e-ae4f-4a0436d96c95", "code": "ATGCBX", "id": 30102, "logo": null, "date": "2023-07-21T12:30:00+02:00", "start": "12:30", "end": "2023-07-21T13:00:00+02:00", "duration": "00:30", "room": "North Hall", "slug": "europython-2023-30102-fighting-money-laundering-with-python-and-open-source-software", "url": "https://programme.europython.eu/europython-2023/talk/ATGCBX/", "title": "Fighting Money Laundering with Python and Open Source Software", "subtitle": "", "track": "TBD - Multiple Tracks (2023)", "type": "Talk", "language": "en", "abstract": "In this talk proposal, we will discuss how to detect the chain of fraudulent transactions and help the investigation agencies by providing useful insights to fight money laundering with the help of Python programming language and packages.", "description": "In this talk proposal, we will discuss the chain of fraudulent transactions and help the investigation agencies to fight money laundering with the help of Python programming language and packages.\nThe working of the proposed solution is described below\nStep 1: The investigation officer obtains data of suspicious accounts across banks.\nStep 2: Using Benford\u2019s Law the accounts data will be checked for possible fraud and marked for further analytics.\nStep 3: The account details will also be matched with Politically Exposed Persons(PEP), Relatives and Close Associates (RCA), and Sanctions Data. If a match is found then it increases the probability of possible money laundering. \nStep 4: Generate graphs showing the links between transactions of different bank accounts for step 2 and step 3.\nStep 5: Apply Graph Machine Learning techniques and graph algorithms to identify the fraudulent chains between depositor and receiver accounts. \nStep 6: Find a correlation between transactions and bank accounts to form a fraudulent chain.\nStep 7: Generate results in the form of reports and interactive visualizations\nStep 8: Verify the result for genuineness and false positive rate.\nStep 9: Keep track of all the activities and tasks executed from steps 2 through 8. \nStep 10: Generate a report for step 9 in a human-readable and understandable form.\n\nThe application has been developed using Scipy, numpy, pandas, matplotlib, NetworkX, Altair, scikit-learn, and Dash packages.\n\nThe participants will learn about a new use case of python in crime investigation.", "recording_license": "", "do_not_record": false, "persons": [{"code": "CPJQQS", "name": "Gajendra Deshpande", "avatar": "https://programme.europython.eu/media/avatars/CPJQQS_Dy3rZGa.webp", "biography": "I am Gajendra Deshpande and I am using Python since 2013 for academic research and development activities. I develop prototypes and applications in Natural Language Processing, Machine Learning, Cyber Security, and Web applications using Python and its ecosystem. I am working as a faculty of Computer Science and run a start-up in cyber security. I am an active member of the PyCon India community and served as program committee lead for PyCon India 2021. I have presented approximately 80 talks, 20 Workshops, and 15 posters across the globe at prestigious conferences like PyData Global, PyCon APAC, PyCon AU, EuroPython, DjangoCon US and Europe, SciPy India, SciPy USA, PyCon USA, JuliaCon, FOSDEM, and several other Python and FOSS conferences. I have helped Python and FOSS Conferences by reviewing the talk and tutorial proposals, mentoring first-time speakers, participating in the discussions, and organizing the events.", "public_name": "Gajendra Deshpande", "guid": "c9d7383b-8dee-551a-af88-006a165ffe7d", "url": "https://programme.europython.eu/europython-2023/speaker/CPJQQS/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/ATGCBX/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/ATGCBX/", "attachments": []}, {"guid": "a68370b5-38c4-5195-a54f-f91ab6a4bad1", "code": "N7DVSG", "id": 29664, "logo": null, "date": "2023-07-21T14:00:00+02:00", "start": "14:00", "end": "2023-07-21T14:30:00+02:00", "duration": "00:30", "room": "North Hall", "slug": "europython-2023-29664-working-in-units-how-to-decouple-the-database-and-domain-layers-in-python", "url": "https://programme.europython.eu/europython-2023/talk/N7DVSG/", "title": "Working in Units: How to Decouple the Database and Domain Layers in Python", "subtitle": "", "track": "Software Engineering & Architecture (2023)", "type": "Talk", "language": "en", "abstract": "A crucial element of architecting a software application for scale is the collaboration of domain experts and developers. For that to happen, the application must separate the domain layer\u2014 where elements that represent the real world reside\u2014from the infrastructure layer\u2014where these elements are translated into precise software processes.\n\nWithin the Fintech team at Kiwi.com, we are rearchitecting a critical service to accept more payment providers. As part of this refactor, we are adopting the Unit of Work pattern to disentangle domain entities from the database processes that represent them. This way, domain experts can share their knowledge with developers more easily, and developers can find opportunities for optimization without the involvement of domain experts in the process.\n\nAttendees will gain a solid understanding of how to implement the UoW pattern in their Python applications, how it fits into the broader context of DDD, and how to prepare their code for future growth.", "description": "As developers modelling a domain into a software product, how can we make the most of the insights that we receive from domain experts? Crucially, a system that reads similar to how domain experts talk and think about their area of expertise enables the team to look at the codebase as a whole, and not as a mix of modules.\n\nBut in order to do that, the system must be designed in such a way that what\u2019s relevant to the domain takes a centre stage, and implementation details stay in the background. In order to do that, we can layer the codebase so that the domain\u2014where elements that represent the concepts and interactions that domain experts talk about\u2014 is clearly delineated from the infrastructure\u2014where these elements find a way to be implemented in purely software engineering terms.\n\nAt Kiwi.com, we are redesigning one of our most critical services in order to expand the number of payment providers that we are integrating with, enabling us to serve a bigger and more diverse pool of customers. As part of this redesign, we are making use of the Unit of Work pattern, with which the interaction between domain entities gets abstracted from the specifics of the database in which those interactions are recorded. Much has been said about the use of abstracting elementary domain objects into a clean data model, but it is the very interaction between those objects where, in practice, the delineation between the domain and the infrastructure layer collapses.\n\nIn this talk, we will cover the limitations of ORMs as a way to abstract the database details from the rest of the application, and will introduce the Unit of Work pattern to address those limitations. By means of real-world examples, the attendees will learn the advantages and trade-offs that the UoW pattern was designed to overcome, and will come away with practical use cases in which this pattern makes applications cleaner and more future-proof.\nThe outline of the talk is the following:\n\n1. Introduction, or \u201cORMs are the Vietnam of Computer Science\u201d (5min)\na. Impedance mismatch - Code and Database\nb. Impedance between Domain and Code\nc. Domain Driven Design\n2. Understanding the Unit of Work pattern (5min)\na. Definition and purpose\nb. Trade-offs\n3. Advantages of UoW (5min)\na. Isolation of data access from business logic\nb. Polyglot persistence\n4. UoW in the wild (10min)", "recording_license": "", "do_not_record": false, "persons": [{"code": "EU8HKQ", "name": "Alvaro Duran", "avatar": "https://programme.europython.eu/media/avatars/EU8HKQ_SnhzSHU.webp", "biography": "Alvaro is a a Python developer with a unique blend of expertise in finance, software engineering, and data. As a backend developer, Alvaro has a track record of delivering impactful projects with a focus on reliability, evolvability, and thorough testing.\n\nWhen not in front of the keyboard, Alvaro is likely to be found reading voraciously, near a pizza shop, or working out.", "public_name": "Alvaro Duran", "guid": "4a316974-5761-5b3f-9eb7-3246f68d823e", "url": "https://programme.europython.eu/europython-2023/speaker/EU8HKQ/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/N7DVSG/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/N7DVSG/", "attachments": []}, {"guid": "7bdd00cf-d5c1-579c-b60e-1472cb7afc27", "code": "3TWGAB", "id": 29623, "logo": null, "date": "2023-07-21T14:35:00+02:00", "start": "14:35", "end": "2023-07-21T15:05:00+02:00", "duration": "00:30", "room": "North Hall", "slug": "europython-2023-29623-pytorch-2-0-why-should-you-care", "url": "https://programme.europython.eu/europython-2023/talk/3TWGAB/", "title": "PyTorch 2.0 - Why Should You Care", "subtitle": "", "track": "TBD - Multiple Tracks (2023)", "type": "Talk", "language": "en", "abstract": "Pytorch is one of the most popular machine learning frameworks, and its latest iteration (PyTorch 2.0) landed just a couple of days back. Among other things, PyTorch 2.0 offers faster performance with a fully backward-compatible API that guarantees the development ergonomics that PyTorch is known for. \n\nIn this talk, we will examine how practitioners (researchers and engineers) can benefit from optimizations provided by PyTorch 2.0 and what other improvements are on the horizon.", "description": "In this talk, we will talk about the following:\n\n(i) Performance benefits provided by PyTorch 2.0, even without changing even a single line of code.\n(ii) How to leverage the best of PyTorch 2.0, sometimes by changing just a single line of code.\n(iii) A quick overview of \"behind-the-scenes\" technologies underpinning PyTorch 2.0 - TorchDynamo, AOTAutograd, PrimTorch, and TorchInductor.\n(iv) API improvements to PyTorch 2.0 that makes the user experience even more ergonomic.", "recording_license": "", "do_not_record": false, "persons": [{"code": "PX8AAF", "name": "Shagun Sodhani", "avatar": "https://programme.europython.eu/media/avatars/PX8AAF_DpfsRnm.webp", "biography": "Hi! I am Shagun, a research engineer with Meta AI. I primarily work in reinforcement learning and lifelong learning. Previously, I was a machine learning engineer with Adobe Research. My stack is Python-based and I love playing with new technology. I am looking forward to meeting people at EuroPython :).", "public_name": "Shagun Sodhani", "guid": "2d1d2a1e-ba35-5e26-946e-cda7c6a13e02", "url": "https://programme.europython.eu/europython-2023/speaker/PX8AAF/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/3TWGAB/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/3TWGAB/", "attachments": []}, {"guid": "b2057e14-b55d-51c9-8999-be43d37f38bd", "code": "MMQTLC", "id": 30123, "logo": null, "date": "2023-07-21T15:30:00+02:00", "start": "15:30", "end": "2023-07-21T16:00:00+02:00", "duration": "00:30", "room": "North Hall", "slug": "europython-2023-30123-we-can-get-more-from-spatial-gis-and-public-domain-datasets", "url": "https://programme.europython.eu/europython-2023/talk/MMQTLC/", "title": "We can get more from spatial, GIS and public domain datasets!", "subtitle": "", "track": "PyData: Machine Learning, Stats (2023)", "type": "Talk", "language": "en", "abstract": "- Are prices of short-term rental apartments in your region similar? How similar are they, and at which distance do they tend to be correlated?\n- Do you have access to a few air pollution measurements but must provide a smooth map over the whole area?\n- Is your machine learning model based on remote sensing data from Earth Observation satellites, and do you want to include data sampled on Earth?\n- Do you work with county-level socio-economic factors, but you want to get insights at a finer scale?\n\n`if any(answer)`, then come and see what we can do with the `pyinterpolate` package designed exactly for spatial interpolation!", "description": "The talk introduces spatial interpolation in Python at the intermediate/advanced level. You should know Python basics and the statistical concepts of variance and correlation to understand the presentation.\n\nSpatial interpolation is the new kid on the block, and in the future, with IoT devices everywhere, it will gain much more weight (along with its relative - time-series modeling). Heavily based on statistics, it falls into a single concept:\n\n*Everything is related to everything else, but near things are more connected than distant things*. (**W. Tobler**).\n\nThe presentation will focus on one concept and two techniques:\n- the concept of spatial correlation (the example from the leisure & tourism market),\n- the point kriging technique used to interpolate values at unseen locations (weather readings enhancement),\n- the Poisson Kriging Area-to-Point technique for preparation of the input from regional statistics that fit into satellite-based observations (cancer rates in U.S. counties).\n\nTechniques for spatial data interpolation are used by:\n- mining industry,\n- agriculture & forestry,\n- defense & security,\n- retail,\n- public health,\n- administration, urban planning, water management,\n- weather forecasting,\n- and everywhere where we sample events distributed over an area or analyze regional statistics.\n\nWhy should we bother from the business perspective? We have various ML models, and house-price prediction is a topic of many tutorials. There are a few reasons: with spatial interpolation, we get knowledge about spatial dependencies between our samples, we get uncertainty measures, and we may perform analysis on a relatively small sample (> 50 samples) that won't work with the ML pipeline. We may even link geostatistical models within complex machine-learning pipelines. And finally, we may save a lot of money on sampling.", "recording_license": "", "do_not_record": false, "persons": [{"code": "KYHYTE", "name": "SzymonMolinski", "avatar": null, "biography": "I\u2019m Simon, a data scientist, and remote sensing / GIS / spatial statistics specialist. I have experience in management and R&D proposal preparation. At the same time, I\u2019m a bboy, acrobat, and proud owner of a pug!", "public_name": "SzymonMolinski", "guid": "86420814-b608-5fb1-8da0-be904b1dc614", "url": "https://programme.europython.eu/europython-2023/speaker/KYHYTE/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/MMQTLC/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/MMQTLC/", "attachments": []}, {"guid": "e1d4e723-5a17-5775-b4df-c016964b54ee", "code": "TJW3YZ", "id": 29445, "logo": null, "date": "2023-07-21T16:05:00+02:00", "start": "16:05", "end": "2023-07-21T16:35:00+02:00", "duration": "00:30", "room": "North Hall", "slug": "europython-2023-29445-site-unseen-hidden-python-customization", "url": "https://programme.europython.eu/europython-2023/talk/TJW3YZ/", "title": "Site Unseen: hidden python customization", "subtitle": "", "track": "TBD - Multiple Tracks (2023)", "type": "Talk", "language": "en", "abstract": "Python offers us the ability to customize how it starts up. In some cases arbitrary python code can get executed before the first line of your module is reached. This is necessary for some of its dynamic nature, like virtualenvs but can also be harnessed to make the interpreter experience truly personal.", "description": "Python does a lot of work to customize itself when starting up. It also provides hooks for even more customization from users and packages during startup. Some of these are on by default while others must be enabled. Learn how to take advantage of Python's startup to craft a custom interpreter.\n\nPython has a dizzying array of environment variables, many of which are used for startup tuning. The list has grown so long that recent Python versions have split the description of these variables into their own help (--help-env). It is valuable to a Pythonista to know about all of these, but this talk will show you how to use a subset to personalize the Python runtime environment to your development needs and preferences.\n\nAs powerful as this customization is, much of it is possible through arbitrary code execution or otherwise manipulating the expected behavior of lookups. Since many of these behaviors happen automatically, it is important to know how to disable them for many reasons: security, reproducibility, and speed among them.", "recording_license": "", "do_not_record": false, "persons": [{"code": "8YFYD9", "name": "Jeremiah Paige", "avatar": "https://programme.europython.eu/media/avatars/8YFYD9_By1xHlV.webp", "biography": "I am a long-time Python developer of over a decade and often focus on static analysis and distribution problems. Python is a diverse and quickly growing community and I love to contribute to it even as I try to keep up. I currently help ActiveState deliver secure, pre-build python projects to enterprise customers and individual developers.", "public_name": "Jeremiah Paige", "guid": "eb3d96fa-e1a6-56fb-984d-cc6099410dd9", "url": "https://programme.europython.eu/europython-2023/speaker/8YFYD9/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/TJW3YZ/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/TJW3YZ/", "attachments": []}], "Terrace 2A": [{"guid": "2ffff93a-b4ad-5084-9ccc-1c8146e48fdb", "code": "K9VPWE", "id": 29584, "logo": null, "date": "2023-07-21T10:30:00+02:00", "start": "10:30", "end": "2023-07-21T11:00:00+02:00", "duration": "00:30", "room": "Terrace 2A", "slug": "europython-2023-29584-python-3-11-what-s-new", "url": "https://programme.europython.eu/europython-2023/talk/K9VPWE/", "title": "Python 3.11 What\u2019s new?", "subtitle": "", "track": "Python Internals & Ecosystem (2023)", "type": "Talk", "language": "en", "abstract": "The topic aims to introduce participants to the latest from Python in version 3.11, released in early October 2022, which includes:\n\n\u2022 Speed improvements;\n\u2022 Standard Libraries Improvements;\n\u2022 Self type;\n\u2022 Exception Notes;\n\u2022 Better Error Messages;\n\u2022 Improved Type Variables;\n\u2022 Variadic generics;\n\u2022 Marking individual TypedDict items as required or potentially missing;\n\u2022 Arbitrary literal string type;\n\u2022 Data class transforms;\n\u2022 TOML read-only support in stdlib;\n\u2022 Exception Groups;\n\u2022 Negative Zero Formatting.", "description": "My presentation aims to consider the most interesting new features of Python 3.11 which have been discussed among the software engineers since the official release of the new version of the language. Then real practical examples will be taken into account and implemented for real solutions of problems.", "recording_license": "", "do_not_record": false, "persons": [{"code": "BNPWPR", "name": "Dilyan Grigorov", "avatar": "https://programme.europython.eu/media/avatars/BNPWPR_KxtDc2C.webp", "biography": "Dido is passion for programming was awakened at an early age, when he began to self-teach himself the C++ language after being impressed by a book about it in 2000. \n\nIn 2007, he touched Python for a very first time and has since then become his favorite language. In 2022, he goes through the entire programme of SoftUni - Python Web Developer with high success. He follows everything around the language with great interest and loves to experiment and participate in creating CLI applications as well as Django applications. His areas of interest also include: Data Science, Machine Learning, Artificial Intelligence, Data Structures & Algorithms, as well as all kinds of automation.", "public_name": "Dilyan Grigorov", "guid": "f3b6d396-55e9-51fe-b533-a50bd6eb8479", "url": "https://programme.europython.eu/europython-2023/speaker/BNPWPR/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/K9VPWE/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/K9VPWE/", "attachments": []}, {"guid": "ac94b7c6-6b6c-5ab4-887b-900057715b9c", "code": "BEVEFH", "id": 29484, "logo": null, "date": "2023-07-21T11:20:00+02:00", "start": "11:20", "end": "2023-07-21T11:50:00+02:00", "duration": "00:30", "room": "Terrace 2A", "slug": "europython-2023-29484-asyncio-evolved-enhanced-exception-handling-with-taskgroup-in-python-3-11", "url": "https://programme.europython.eu/europython-2023/talk/BEVEFH/", "title": "Asyncio Evolved: Enhanced Exception Handling with TaskGroup in Python 3.11", "subtitle": "", "track": "Software Engineering & Architecture (2023)", "type": "Talk", "language": "en", "abstract": "With the release of Python 3.11 in October 2022, PEP 654 \"Exception Groups and except\" was accepted, and asyncio.TaskGroup() was added. This enhancement of exception and cancellation handling has allowed asyncio to evolve more flexibly, addressing the existing issues with asyncio APIs, such as insufficient cancellation and exception handling in asyncio.gather.\n\nIn this talk, I would like to discuss the problems of existing asyncio APIs and how the newly introduced asyncio.TaskGroup() solves these issues. Attendees will learn about the improved way of handling exceptions and cancellations using asyncio.TaskGroup(), enabling them to write more efficient and robust asynchronous code with Python 3.11.", "description": "###  Description\nIn Python 3.11, asyncio.TaskGroup() and asyncio timeout context managers were added. Additionally, get_event_loop() was deprecated in 3.10, and loop objects were further obscured, making the already less intimidating asyncio even less scary.  \n\nI will discuss the basic usage of asyncio in Python 3.11, which has become simpler and more flexible, focusing on exception and cancellation handling.  \n\nI hope that this will be helpful for those who choose asyncio when writing web applications using ASGI frameworks or Python scripts where asynchronous I/O is useful.\n\n### By the end of this talk, attendees will be able to:\n\n* Understand the limitations of the existing asyncio APIs, specifically regarding cancellation and exception handling in asyncio.gather.\n* Learn how Python 3.11's asyncio.TaskGroup() overcomes these limitations and improves exception and cancellation handling.\n* Apply the new asyncio.TaskGroup() features in their asynchronous programming to build more resilient and efficient applications.\n\n### Planned Outline\n* Overview of asyncio.taskgroup (5 min)\n  * New \"except*\" syntax\n    * PEP 654 Exception Groups and except\n* Capturing concurrent exceptions(10 min)\n  * Using asyncio.gather() / asyncio.TaskGroup()\n* Cancelling tasks on exception(10 min)\n  * Using asyncio.gather() / asyncio.TaskGroup()\n* Writing \"predictable\" and \"safe\" asyncio code(5 min)\n  * Introducing the new standard \"Hello-ish world\" example", "recording_license": "", "do_not_record": false, "persons": [{"code": "BXSEVX", "name": "Junya Fukuda", "avatar": "https://programme.europython.eu/media/avatars/BXSEVX_WwWdX4N.webp", "biography": "Develops \"LOVOT\", a family-like robot that promotes the ability to love, at GROOVE X, Inc. He has spoken at PyCon JP, DjangoCongress JP, and other events. As a community activity, he participates in the management of GeekLab Nagano. Co-author of \"Python Practical Recipes (2022 Gijutsu Hyoron Co., Ltd.)\". Translation of \"Expert Python Programming - Fourth Edition\". Likes beer, camping, and asyncio. Twitter account is @JunyaFff.", "public_name": "Junya Fukuda", "guid": "fd7b7f98-05f4-57e7-850e-f3bd640630f3", "url": "https://programme.europython.eu/europython-2023/speaker/BXSEVX/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/BEVEFH/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/BEVEFH/", "attachments": []}, {"guid": "28334e47-8727-557a-bb6d-cee4e20455fd", "code": "DE3XED", "id": 29305, "logo": null, "date": "2023-07-21T11:55:00+02:00", "start": "11:55", "end": "2023-07-21T12:25:00+02:00", "duration": "00:30", "room": "Terrace 2A", "slug": "europython-2023-29305-diving-into-event-driven-architectures-with-python", "url": "https://programme.europython.eu/europython-2023/talk/DE3XED/", "title": "Diving into Event-Driven Architectures with Python", "subtitle": "", "track": "Software Engineering & Architecture (2023)", "type": "Talk", "language": "en", "abstract": "Event-Driven Architectures (EDAs) target a real need in today's application landscape, as systems grow more complex or need to scale organically.\n\nThe talk will introduce the architecture and provide insights into different components which can be managed, connected and implemented with Python.", "description": "Event-driven architectures (EDAs) and AsyncAPI are being pushed at the moment as the new big thing after REST/OpenAPI and GraphQL. Indeed, EDAs target a real need in today's application landscape, as systems grow more complex or need to scale both vertically and horizontally.\n\nPython can help build such architectures by leveraging existing event bus/queue systems or by providing the needed async interfaces directly.\n\nThe talk will introduce the architecture and terminology around it, such as AsyncAPI, as well as provide insights into different components which can be managed, connected and implemented with Python.\n\nIt is also meant to spark some more interest in getting Python into a more prominent position within the AsyncAPI community, where Node and Java still dominate.\n\nResources:\n- https://en.wikipedia.org/wiki/Event-driven_architecture\n- https://www.asyncapi.com/", "recording_license": "", "do_not_record": false, "persons": [{"code": "QYTJB9", "name": "Marc-Andr\u00e9 Lemburg", "avatar": "https://programme.europython.eu/media/avatars/QYTJB9_ANUFtLT.webp", "biography": "Marc-Andr\u00e9 is the CEO and founder of eGenix.com, a Python-focused project and consulting company based in Germany, specializing in the data, finance and database space.\n\nHe also is a Python Core Developer, designed and implemented the Unicode support in Python. Marc-Andr\u00e9 served on the board of the PSF and EPS and loves to contribute to the growth of Python where ever he can.\n\nMore information is available on https://malemburg.com/", "public_name": "Marc-Andr\u00e9 Lemburg", "guid": "a24beb49-89a1-58ab-92df-b6259d44ae0e", "url": "https://programme.europython.eu/europython-2023/speaker/QYTJB9/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/DE3XED/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/DE3XED/", "attachments": []}, {"guid": "eff12395-ae53-59e0-9dd4-0c821c12dd40", "code": "MAGZUV", "id": 33363, "logo": null, "date": "2023-07-21T12:30:00+02:00", "start": "12:30", "end": "2023-07-21T13:00:00+02:00", "duration": "00:30", "room": "Terrace 2A", "slug": "europython-2023-33363-best-practices-for-graphql-api-development", "url": "https://programme.europython.eu/europython-2023/talk/MAGZUV/", "title": "Best Practices for GraphQL API Development", "subtitle": "", "track": "Web (2023)", "type": "Sponsored", "language": "en", "abstract": "Must-have tools for running GraphQL in production\n\nGear up for a groundbreaking transformation of your GraphQL prowess! Join us for an engaging and informative session as we unveil a set of indispensable tools and practices that will take your GraphQL APIs to new heights in production environments.", "description": "In this talk, we'll tackle the toughest challenges head-on. From conquering query depth limits and query complexity constraints to mastering authorization checks, role-based access control (RBAC), we've got the insider GraphQL knowledge you need. As we plunge into the depths of GraphQL sorcery (where Krakens live) you'll uncover the secrets to unleashing lightning-fast pagination, implementing intelligent rate-limiting, and harnessing a treasure trove of indispensable monitoring tools.\n\nDon't miss out on this opportunity to supercharge your GraphQL API skills. By embracing these must-have tools and practices, you'll confidently navigate production environments, delivering outstanding user experiences and leaving your stakeholders in awe.", "recording_license": "", "do_not_record": false, "persons": [{"code": "TJUQVQ", "name": "Ahter Sonmez", "avatar": "https://programme.europython.eu/media/avatars/TJUQVQ_GE2CyeS.webp", "biography": "In 2012, I made the exciting transition from management and strategy to software development, and I haven't looked back since. Python has been my trusty companion on this journey as I've crafted scalable systems that push technical boundaries. Currently, I have the privilege of leading a core/global team in Kraken Technologies and working with very talented software developers on a daily basis.", "public_name": "Ahter Sonmez", "guid": "a4ed8055-c649-5fbb-95c2-45a69828f08a", "url": "https://programme.europython.eu/europython-2023/speaker/TJUQVQ/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/MAGZUV/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/MAGZUV/", "attachments": []}, {"guid": "fc218fca-7057-559b-9b63-64e0409650c5", "code": "8M8UCT", "id": 28838, "logo": null, "date": "2023-07-21T13:00:00+02:00", "start": "13:00", "end": "2023-07-21T14:00:00+02:00", "duration": "01:00", "room": "Terrace 2A", "slug": "europython-2023-28838-how-python-can-help-victims-of-violence", "url": "https://programme.europython.eu/europython-2023/talk/8M8UCT/", "title": "How Python can help victims of violence", "subtitle": "", "track": "Ethics, Philosophy & Politics (2023)", "type": "Poster", "language": "en", "abstract": "There are two values that everyone agrees with: Judicial Truth (criminals should be prosecuted, but innocent people left free), and Privacy (others shouldn't know unnecessarily about my private life).\n\nBut these two values are constantly put in opposition, e.g. videosurveillance helps gather evidence of crime, but it endangers our legitimate rights as citizens.\n\nThat's why we launched the WitnessAngel initiative, a research effort to invent new concepts and technologies able to reconcile Judicial Truth and Privacy.\n\nWith algorithms like Flightbox, with ideas like VideoTestimony and Familiar, and with the open-source code we provide, we work with associations and enterprises to eventually put life-changing solutions into the hands of the general public. So that countless victims of rape, abuse, bullying, stop facing the usual brick wall: \"it's your word against theirs\".", "description": "This poster will summarize the concepts, technological blocks, frequently asked questions, and challenges still to be tackled by the WitnessAngel project.\n\nIt will provide an overview of our roadmaps, and of how people can contribute to this effort, so that one day #metoo and other global scandals become a thing of the past.", "recording_license": "", "do_not_record": false, "persons": [{"code": "VJFBLQ", "name": "Pascal Chambon", "avatar": "https://programme.europython.eu/media/avatars/VJFBLQ_ySHxzo9.webp", "biography": "Pascal Chambon, Freelance developer in France\n\nMy big project at the moment: the Witness Angel initiative", "public_name": "Pascal Chambon", "guid": "dd259efe-0f19-5b21-ba1c-40f7e799de9c", "url": "https://programme.europython.eu/europython-2023/speaker/VJFBLQ/"}], "links": [{"title": "A comic strip to show our concepts", "url": "https://witnessangel.com/en/explanatory-comic-strip/", "type": "related"}], "feedback_url": "https://programme.europython.eu/europython-2023/talk/8M8UCT/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/8M8UCT/", "attachments": []}, {"guid": "5ee70c7f-0723-5eff-a3df-5b8740699291", "code": "UPEWP3", "id": 29356, "logo": null, "date": "2023-07-21T14:00:00+02:00", "start": "14:00", "end": "2023-07-21T14:30:00+02:00", "duration": "00:30", "room": "Terrace 2A", "slug": "europython-2023-29356-fish-and-chips-and-apache-kafka", "url": "https://programme.europython.eu/europython-2023/talk/UPEWP3/", "title": "Fish and chips and Apache Kafka\u00ae", "subtitle": "", "track": "Infrastructure: Cloud & Hardware (2023)", "type": "Talk", "language": "en", "abstract": "Apache Kafka\u00ae is the de facto standard in the data streaming world for sending messages from multiple producers to multiple consumers, in a fast, reliable and scalable manner.\n\nCome and learn the basic concepts and how to use it, by modelling a traditional British fish and chips shop!", "description": "Handling large numbers of events is an increasing challenge in our cloud centric world. For instance, in the IoT (Internet of Things) industry, devices are all busy announcing their current state, which we want to manage and report on, and meanwhile we want to send firmware and other updates back to specific groups of devices.\n\nTraditional messaging solutions don't scale well for this type of problem. We want to guarantee not to lose events, to handle high volumes in a timely manner, and to be able to distribute message reception or production across multiple consumers or producers (compare to sharding for database reads).\n\nAs it turns out, there is a good solution available: Apache Kafka\u00ae - it provides all the capabilities we are looking for.\n\nIn this talk, rather than considering some imaginary IoT scenario, I'm going to look at how one might use Kafka to model the events required to run a traditional British fish and chip shop: ordering (plaice and chips for me, please), food preparation, accounting and so on.\n\nI'll demonstrate handling of multiple producers and consumers, automatic routing of events as new consumers are added, persistence, which allows a new consumer to start consuming events from the past, and more.\n\nFind the slides and demos on [Aiven Labs](https://github.com/Aiven-Labs/fish-and-chips-and-kafka)", "recording_license": "", "do_not_record": false, "persons": [{"code": "8YEPUD", "name": "Tibs", "avatar": "https://programme.europython.eu/media/avatars/8YEPUD_iVVHCuM.webp", "biography": "After being a programmer for a good few years, I changed career in 2022 to become a Developer Educator at Aiven (https://aiven.io). My favourite programming language is Python, my favourite markup language is reStructuredText, my favourite storage technologies are SQLite, PostgreSQL and Redis, and since joining AIven I've become all enthusiastic about Apache Kafka.\nFind out more about my past at https://www.tonyibbs.co.uk/", "public_name": "Tibs", "guid": "d7e7795b-7856-553f-a619-92a65f6ef9be", "url": "https://programme.europython.eu/europython-2023/speaker/8YEPUD/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/UPEWP3/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/UPEWP3/", "attachments": []}, {"guid": "2a6d0cca-fc10-5710-8498-4cae13bd53a9", "code": "79HLM8", "id": 29558, "logo": null, "date": "2023-07-21T14:35:00+02:00", "start": "14:35", "end": "2023-07-21T15:05:00+02:00", "duration": "00:30", "room": "Terrace 2A", "slug": "europython-2023-29558-how-localstack-is-recreating-aws-with-python", "url": "https://programme.europython.eu/europython-2023/talk/79HLM8/", "title": "How LocalStack is recreating AWS with Python", "subtitle": "", "track": "Software Engineering & Architecture (2023)", "type": "Talk", "language": "en", "abstract": "At LocalStack, we are building a platform that enables development and testing of cloud applications on your local machine. The core is an [open source AWS emulator](https://github.com/localstack/localstack) that is primarily written in Python. It is among the top Python projects on GitHub, and has seen a massive uptake in contributions over the past two years. Many Python software developers and architects will relate to the struggles of maintaining a large and complex Python codebase, while keeping developer teams productive. In this talk, we'll explore how we at LocalStack tackle these as we re-create AWS for local development. We'll explain our approaches to automating around AWS specifications, building a highly modular and pluggable system to make it easy for teams to integrate their components, the software patterns we use to keep devs productive, as well as our approach to automated contract testing using pytest.", "description": "This talk aims to provide a broad overview of LocalStack and its implementation, and at the same time provide listeners with relatable insights from our experience in architecting, developing, and maintaining a large, complex Python code base.\n\nThe outline is roughly as follows:\n\n- Intro: What's LocalStack, who am I, what problems are we solving?\n- Software patterns we use, and how they are implemented in Python. These include:\n  - A web framework based on WSGI/Werkzeug that implements the chain-of-responsibility pattern: I'll explain how this pattern is similar to WSGI middleware, and demonstrate how it allows us to plug in different types of functionality into the HTTP request processing, when this pattern is beneficial (compared to traditional web frameworks: much more flexible), and what the drawbacks are (hard to debug!)\n  - Other patterns found in the code base: Visitor, Adapter, Proxy, Singleton\n  - Monkey patching: I will briefly explain how monkey patching works, how it helps us move fast, but also how it can hurt (with real examples of when things blew up in our face), but why the trade-off leans towards using monkey patching.\n  - Dynamic code loading: We built an open source framework called Plux that builds a higher-level plugin mechanism around Python entrypoints. will explain both the benefits (super flexible, allows clean code organization) and the drawbacks (pretty hard at times to figure out what's going on) of dynamic code loading.\n- Strategies we use to maintain parity with AWS: People are usually skeptical that an idea like LocalStack can even work. \n  - We automate a lot around the AWS specs, for example we get weekly PRs when service APIs change. I'll demonstrate how we do server-side code generation from the AWS specs, and how that helps us.\n  - Snapshot testing: We have built our own contract testing framework around pytest. We use that to write contract tests against AWS, that we then run against LocalStack to ensure parity. I'll go into a bit of details of the challenges with this approach, but also how we couldn't work without it.\n- Wrap up and conclusion: I will tie together all the presented solutions and summarize how they help us solve the challenges. After this, the audience should have a deeper appreciation for how Python helps build something like LocalStack. I'll conclude by pointing out some of the overarching themes in this talk (like the tradeoffs between introducing certain patterns on maintainability).", "recording_license": "", "do_not_record": false, "persons": [{"code": "7ESZPJ", "name": "Thomas Rausch", "avatar": "https://programme.europython.eu/media/avatars/7ESZPJ_VpSmavR.webp", "biography": "Thomas is co-founder of LocalStack, the company behind the popular cloud emulator, where he leads the efforts to scale both the code base and the engineering team. He holds a PhD in Computer Science from TU Wien where he was a researcher and lecturer at the Distributed Systems Group. He's been in a variety of engineering roles over the past 15 years. A tinkerer at heart, he's contributed to many open source projects with a focus on Java, Python, and Go projects.", "public_name": "Thomas Rausch", "guid": "1c80c05b-26fa-545d-a0b1-539e604fd14a", "url": "https://programme.europython.eu/europython-2023/speaker/7ESZPJ/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/79HLM8/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/79HLM8/", "attachments": []}, {"guid": "b16a5f21-4e08-5b5d-9e16-2d743c80d6fa", "code": "KPHVEL", "id": 30085, "logo": null, "date": "2023-07-21T15:30:00+02:00", "start": "15:30", "end": "2023-07-21T16:00:00+02:00", "duration": "00:30", "room": "Terrace 2A", "slug": "europython-2023-30085-language-model-zen", "url": "https://programme.europython.eu/europython-2023/talk/KPHVEL/", "title": "Language Model Zen", "subtitle": "", "track": "PyData: Ethics in AI (2023)", "type": "Talk", "language": "en", "abstract": "Beautiful is better than ugly.\n\nThe frontier of AI Language Models awaits exploration.\n\n We, Pythonistas, face choices on how to use these tools.\n\nAdvanced models like GPT-4, BARD, and LLaMa generate human-like responses.\n\nThe nature of Language Models is fear,\n\nBut tools like TransformerLens show The Way.\n\nUnderstanding The Model is possible.\n\nThe nature of Language Models is excitement.\n\nUsing them out of the box is one option.\n\nPrompt engineering is another.\n\nChatGPT plugins and LangChain offer a third choice.\n\nFine-tuning them presents a fourth.\n\nTraining them from scratch is the fifth option.\n\nNot using them at all is the final option. It may be safer.\n\nThe output for one LM is the prompt for another.\n\nWhile openai is an excellent library, and\n\nLangChain composes language models and utilities.\n\nGPT's plugin system also composes language models and utilities, and\n\nThere should be one-- and preferably only one --obvious way to do it.", "description": "This talk explores the complex frontier of Language Modeling, recognizing the importance of mitigating risks and ethical considerations while exploring opportunities and challenges. It provides practical examples using OpenAI, LangChain, and GPT's plugin system to showcase the different ways to use these powerful tools.\n\nThe Capability in AI focus is provided by the comparison between LangChain and the GPT Plugin System.\n\nThe Ethics in AI focus is provided by demonstrating the TransformerLens library. \n\nTransformerLens allows surgeon-like analysis of language model internals. This mechanistic Interpretability library created by the London-based Researcher, Neel Nanda, This talk will compare the abundant code-quality linting and tooling available for static and dynamic analysis of code, to the comparatively weaker MLOps ecosystem, and the almost non-existent MLSafetyOps (Mechanistic Interpretability) ecosystem. \n\nThis talk will propose a greater focus on open-source interpretability tooling.", "recording_license": "", "do_not_record": false, "persons": [{"code": "UD3JDR", "name": "Jamie Coombes", "avatar": "https://programme.europython.eu/media/avatars/UD3JDR_rzgvDuE.webp", "biography": "Tech Lead and Consulting Data Scientist with Coefficient.ai in London, Interested in the intersection of technology and culture.", "public_name": "Jamie Coombes", "guid": "b491aa61-b9fd-51f5-ac7c-157e17320fd0", "url": "https://programme.europython.eu/europython-2023/speaker/UD3JDR/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/KPHVEL/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/KPHVEL/", "attachments": []}, {"guid": "5b88c851-e21c-5f65-b247-374740ed74df", "code": "G9NKUY", "id": 29324, "logo": null, "date": "2023-07-21T16:05:00+02:00", "start": "16:05", "end": "2023-07-21T16:35:00+02:00", "duration": "00:30", "room": "Terrace 2A", "slug": "europython-2023-29324-language-models-for-music-recommendation", "url": "https://programme.europython.eu/europython-2023/talk/G9NKUY/", "title": "Language Models for Music Recommendation", "subtitle": "", "track": "PyData: Deep Learning, NLP, CV (2023)", "type": "Talk", "language": "en", "abstract": "Music streaming services like Spotify and youtube are famous for their recommendation systems and each service takes a unique approach to recommending and personalize content. While most users are happy with the recommendations provided, there are a section of users who are curious how and why a certain track is recommended. Complex recommendation systems take various factors like track metadata, user metadata, and play counts along with the track content itself. \n\nInspired by Andrej Karpathy to build an own GPT, we have to use Language Models to build our own music recommendation system.", "description": "Music streaming services like spotify and youtube are famous for their recommendation systems and each service takes a unique approach to recommend and personalize content. While most users are happy with the recommendations provided, there are a section of users who are curious how and why a certain track is recommended. Complex recommendation systems take various factors like track metadata, user metadata, play counts along with the track content itself. \n\nAs music aficionados who love techno, trance, deep house and classical genres, we want to understand the following questions:\n\n1. Can we analyze the signals from the song track and identify the different instruments used?\n2. How can we create embeddings of all the tracks and index these for further analysis?\n3. How do we create a simple User interface to pick a song track, retrieve relevant embeddings from a section of the track and get recommendations based on just the music content.\n4. As a side effect, can I retrieve similar sections of music across various tracks.\n5. Using audio LMs, can we generate high quality music based of the embeddings?", "recording_license": "", "do_not_record": false, "persons": [{"code": "9ZAK7C", "name": "Nischal Harohalli Padmanabha", "avatar": "https://programme.europython.eu/media/avatars/9ZAK7C_VmECOEb.webp", "biography": "Nischal is currently playing the role of Vice President of Data and ML at scoutbee, a company based out of Berlin, that is operating the space of procurement.\n\nHaving worked in the industry over the last 12+ years across enterprise companies and startups, Nischal has had the privilege of building and being part of teams that have designed and implemented data engineering and data science products to solve hard problems. Understanding the challenges of building data systems with Machine learning at the helm of it and taking them from research to production has been a fascinating and rewarding experience for Nischal.", "public_name": "Nischal Harohalli Padmanabha", "guid": "683bcb5c-4dda-5c01-b3c2-7f0a27c5a479", "url": "https://programme.europython.eu/europython-2023/speaker/9ZAK7C/"}, {"code": "J98AEX", "name": "Raghotham Sripadraj", "avatar": "https://programme.europython.eu/media/avatars/J98AEX_gZfSWAL.webp", "biography": "Raghotham currently leads NLP and computer vision teams at PayPal. Previously, he has built and led ML teams from scratch for various small and large enterprises. He is a speaker at various Python and ML conferences like PyCon, PyData, Strata and is looking forward to meeting the community at Europython this time!", "public_name": "Raghotham Sripadraj", "guid": "22133544-90ca-5b36-8b5c-acf88d86c715", "url": "https://programme.europython.eu/europython-2023/speaker/J98AEX/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/G9NKUY/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/G9NKUY/", "attachments": []}], "Terrace 2B": [{"guid": "79ce89fc-9ddc-5a44-b0f0-c86820dcab53", "code": "J3PUYZ", "id": 29015, "logo": null, "date": "2023-07-21T10:30:00+02:00", "start": "10:30", "end": "2023-07-21T11:00:00+02:00", "duration": "00:30", "room": "Terrace 2B", "slug": "europython-2023-29015-upgrading-django-from-legacy-to-latest", "url": "https://programme.europython.eu/europython-2023/talk/J3PUYZ/", "title": "Upgrading Django - from legacy to latest", "subtitle": "", "track": "Web (2023)", "type": "Talk", "language": "en", "abstract": "Django is a framework that's been around for more than 15 years, which makes for enough legacy projects to deal with.\n\nIn this talk we'll show practical tips and tricks for how to get Django from legacy to latest & greatest.", "description": "As developers, we love working with the latest version of our favorite tools & frameworks.\n\nBut sometimes, we have to deal with legacy projects & since Django has been around for more than 15 years - there are plenty of legacy Django projects to work with.\n\nWe either inherit one, or, somehow, we start with good intentions, but things deteriorate and we end up running Django that\u2019s 2 or 3 major versions behind.\n\nNo matter how we end up in that legacy situation, we usually have 2 choices:\n\n1. Stay within the boundaries of the existing project.\n2. Try upgrading Django & the rest of the dependencies.\n\nThis talk will cover point 2, giving practical advice, derived from experience of migrating large legacy Django projects from versions 1 & 2, all the way to latest & greatest.\n\nWe will approach the problem in a structured way, going through different scenarios and showing practical steps, tips & tricks, so a human can deal with the challenges of upgrading a legacy Django project.\n\nWe will talk about starting from scratch vs. gradually upgrading.\n\nThe talk will cover the following topics:\n\n1. We will start with the most important question - How reckless can we be?\n    - Is this in production?\n    - Is this mission critical?\n    - Is backwards compatibility important?\n    - Are there tests? Automated? Test cases? Documentation?\n    - Are we building from scratch or are we gradually upgrading?\n2. Next, we will go through various scenarios.\n    - We are dealing with Django 2. What now?\n    - We are dealing with Django 1 & Python 2. What now?\n    - There are core dependencies that are no longer supported. What now?\n3. Finally, after we managed to get to Django 4, we will talk about how not to end up in the same situation again.\n\nThe end goal of the talk is to show that keeping up to date is possible, even if we start with a big legacy project.\n\nThe talk should serve as inspiration & example for those, who want to push their legacy Django projects forward.", "recording_license": "", "do_not_record": false, "persons": [{"code": "GLMZDC", "name": "Radoslav Georgiev", "avatar": "https://programme.europython.eu/media/avatars/GLMZDC_6uCDx7X.webp", "biography": "Generalist. A multi-disciplinary problem solver & a technical team lead.\n\nCurrently leading & growing teams at HackSoft.\n\nSoftware developer with 10+ years of experience, studied Computer Science in the Faculty of Mathematics and Informatics, Sofia University.\n\nFounder and CEO of HackSoft (Sofia based software company with main focus in Python, Django and Scala) and HackBulgaria (Programming courses, based in Sofia / Bulgaria with main focus of getting the students ready for their first job - either as an intern or a junior developer. Mainly focused in Python and Java)\n\nFormer teacher - Functional Programming classes (Racket / Haskell) @Faculty of Mathematics and Informatics , Programming with Python and Django @HackBulgaria.\n\nAn open source contributer to Django Styleguide - https://github.com/HackSoftware/Django-Styleguide\n\nGitHub - https://github.com/RadoRado/", "public_name": "Radoslav Georgiev", "guid": "a37e3dbc-0e3b-5821-b00d-996ac0cc945d", "url": "https://programme.europython.eu/europython-2023/speaker/GLMZDC/"}, {"code": "PCZ7HZ", "name": "Kamen Kotsev", "avatar": "https://programme.europython.eu/media/avatars/PCZ7HZ_EAlf5GV.webp", "biography": "Pragmatic problem solver, Technical team lead, Fullstack Senior developer and VP of Engineering @HackSoft.\n\nSoftware Developer with more than 10 years of professional experience including 8 years of experience with Django, Python, Java Script, React. Keen on functional programming, with an eye for CSS. Graduated Computer Science in the Faculty of Mathematics and Informatics, Sofia University.\n\nFormer teacher - Computer Science classes (C / C++) @Faculty of Mathematics and Informatics , Programming with Java @HackBulgaria academy.\n\nGitHub - https://github.com/kdkocev/", "public_name": "Kamen Kotsev", "guid": "2a4fbeaf-e21f-532b-ad2f-4b8fd43dd63e", "url": "https://programme.europython.eu/europython-2023/speaker/PCZ7HZ/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/J3PUYZ/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/J3PUYZ/", "attachments": []}, {"guid": "2eb7c153-6675-5e74-9118-c3b440717bcb", "code": "UWKSPN", "id": 29687, "logo": null, "date": "2023-07-21T11:20:00+02:00", "start": "11:20", "end": "2023-07-21T11:50:00+02:00", "duration": "00:30", "room": "Terrace 2B", "slug": "europython-2023-29687-time-made-easy-simplify-date-and-time-handling-with-python-s-pendulum", "url": "https://programme.europython.eu/europython-2023/talk/UWKSPN/", "title": "Time Made Easy: Simplify Date and Time Handling with Python's Pendulum", "subtitle": "", "track": "TBD - Multiple Tracks (2023)", "type": "Talk", "language": "en", "abstract": "Pendulum is a Python package for working with dates, times, and timezones. It offers a simple and intuitive API for common date/time operations and provides advanced functionality for dealing with more complex scenarios. Some of the interesting points of Pendulum include support for leap years, time zones, and daylight saving time, as well as a fluent API for creating and modifying dates and times.\n\nOne of the standout features of Pendulum is its support for time zones. The library comes with a comprehensive list of time zones, and it can automatically adjust dates and times to the local time zone of a given location. Additionally, Pendulum can handle time zone conversions with ease, making it easy to work with date/time data across different time zones.\n\nPendulum also provides a powerful API for creating and modifying dates and times. With its fluent interface, developers can create and manipulate dates and times using a natural, human-readable syntax.", "description": "Pendulum is a Python library designed to simplify the handling of dates, times, and time zones. It offers an easy-to-use API that allows developers to perform common date/time operations with ease, while also providing advanced functionality for more complex scenarios. With its support for time zones, leap years, and daylight saving time, Pendulum is a comprehensive solution for managing date/time data in Python. Its fluent interface and intuitive syntax make it easy to create and manipulate dates and times in a natural way, while its robust documentation and helpful community make it easy to get started with the library. Whether you're building a simple date calculator or a complex scheduling application, Pendulum can help you work with time-related data more efficiently and effectively.", "recording_license": "", "do_not_record": false, "persons": [{"code": "MZUEG3", "name": "Abhinand C", "avatar": "https://programme.europython.eu/media/avatars/MZUEG3_dVhy8k1.webp", "biography": "I'm a software developer who loves to experiment with tech, spend time learning new technologies and build products fueling my desire to innovate for a better future. \n\nI currently work as a Product Engineer at Strollby Team in UST, developing and scaling python based GraphQL micro-service. Apart from work, I'm engaged in a voluntary project with Kerala Police Cyberdome, pursue hobby projects and contribute in open-source community.\n\nI had opportunities to work alongside great teams in start-up eco-system, give tech talks, take workshops to exciting peers and participate in various hackathons, even winning quite a few.\n\nI have graduated with Bachelor of Technology (B.Tech) focused in Computer Science & Engineering from Government College of Engineering, Kannur. I'm a versatile developer having handled multiple hats requiring diverse skills including Full Stack Development, Graphic Design, and Video Post-Production, and led divergent teams.", "public_name": "Abhinand C", "guid": "ebb5ccbe-97f6-5e48-b52b-77b0b0480b43", "url": "https://programme.europython.eu/europython-2023/speaker/MZUEG3/"}, {"code": "WHLSXE", "name": "Jothir Adithyan", "avatar": "https://programme.europython.eu/media/avatars/WHLSXE_lRVm1PI.webp", "biography": "Hi,\n\nI am Jothir Adithyan a 22 year old self taught Python developer from Kerala.\n\nI have been enthusiastic about computers and networking ever since I first got my hand on computer and discovered the internal working of it. I have been an active member of the Kerala and Indian python community often attending talks and contributing to them, also writing code in my leisure time.\n\nI am currently a product engineer at Strollby. I work in company with a tight knit group of brilliant engineers helping them solve a variety of hurdles in implementing a ginormous codebase.", "public_name": "Jothir Adithyan", "guid": "35d25cdf-2a46-518c-99b0-3ce641979d95", "url": "https://programme.europython.eu/europython-2023/speaker/WHLSXE/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/UWKSPN/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/UWKSPN/", "attachments": []}, {"guid": "74664e1d-c37e-5c5d-b1bc-54ef5d366878", "code": "BRY8JS", "id": 29640, "logo": null, "date": "2023-07-21T11:55:00+02:00", "start": "11:55", "end": "2023-07-21T12:25:00+02:00", "duration": "00:30", "room": "Terrace 2B", "slug": "europython-2023-29640-leveraging-the-power-of-django-rest-framework-s-renderers-with-htmx", "url": "https://programme.europython.eu/europython-2023/talk/BRY8JS/", "title": "Leveraging the power of Django REST Framework's renderers with HTMX.", "subtitle": "", "track": "Web (2023)", "type": "Talk", "language": "en", "abstract": "HTMX has been quite popular lately in the Django circles and has demonstrated how powerful it can be with vanilla Django. But... have you thought about HTMX paired with Django REST Framework and more specifically paired with DRF's flexible renderer system?", "description": "Django is most known for its admin. Ironically it is also one of the less Django-like parts of Django and one with many dimensions that make it harder to extend and fully customize. That's probably why, for several years, people have been trying to find alternatives to Django admin, packages that have had variables amounts of success like Django Grappelli, Django Admin2 or Django Admin Bootstrap.\n\nOne of these attempts is actually part of a very popular Django package, it's the Admin Renderer from Django REST Framework. Although it is quite powerful, I'm not sure it really ever caught on in the Django community.\n\nBut the Admin renderer is not the only renderer packaged with DRF, most of us are likely familiar with the Browsable API renderer and some of us have probably heard of the Template HTML renderer.\n\nBefore diving into the renderer itself, we will do a quick round-up of the capabilities DRF offers, both out-of-the box and also with a few extra addons and compare that to what Django Admin offers.\n\nFinally we will look at the mechanics of DRF renderers and how, coupled with HTMX, the Template HTML renderer can bring dynamicity to an admin-like, feature-rich, CRUD interface born of Django REST Framework.\n\nIt will be up to you to decide... Is Django REST Framework going to be the basis of the admin of your next Django project???", "recording_license": "", "do_not_record": false, "persons": [{"code": "QN7YGR", "name": "Emma Delescolle", "avatar": "https://programme.europython.eu/media/avatars/QN7YGR_hHm4wUy.webp", "biography": "Long-time pythonista, Django fan, co-maintainer and co-author of DRF-Schema-Adapter and other OSS libraries\n\nI am from Belgium and have been involved in open-source at different levels for about 20 years.\n\nOne of the things I enjoy the most is sharing knowledge with others. And this is why I enjoy writing tutorials as well as giving talks and workshops.\n\nGithub: https://github.com/nanuxbe\nGitlab: https://gitlab.levitnet.be/levit - https://gitlab.levitnet.be/emma", "public_name": "Emma Delescolle", "guid": "cc6ea417-6145-5e94-a21c-9d076d38bfc5", "url": "https://programme.europython.eu/europython-2023/speaker/QN7YGR/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/BRY8JS/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/BRY8JS/", "attachments": []}, {"guid": "284d006b-78e9-5c9f-babb-4b2e58a158b1", "code": "BSZFSA", "id": 30066, "logo": null, "date": "2023-07-21T12:30:00+02:00", "start": "12:30", "end": "2023-07-21T13:00:00+02:00", "duration": "00:30", "room": "Terrace 2B", "slug": "europython-2023-30066-pygoat-learn-django-security-the-hard-way", "url": "https://programme.europython.eu/europython-2023/talk/BSZFSA/", "title": "Pygoat - Learn Django security the hard way", "subtitle": "", "track": "TBD - Multiple Tracks (2023)", "type": "Talk", "language": "en", "abstract": "Learn to secure your Django apps by attacking (and then securing) Pygoat - An intentionally vulnerable Python Django application. Explore the OWASP top 10 vulnerabilities and understand how to mitigate them from Django apps.", "description": "Pygoat is an intentionally vulnerable Python Django application that can be used to learn to secure our Django apps. In this talk, we will attack a deployed Pygoat application, identify the underlying security issues in our code, and then secure it. We will learn about common security vulnerabilities (OWASP Top 10) in Django apps and how to fix them so that we can keep our applications safe from attackers.", "recording_license": "", "do_not_record": false, "persons": [{"code": "ZP7QSM", "name": "Adarsh Divakaran", "avatar": "https://programme.europython.eu/media/avatars/ZP7QSM_Bzx3e0t.webp", "biography": "Adarsh is a Python geek always on the lookout for challenges to solve. While in college, he co-founded multiple startups, one of which was incubated by [Startup village collective](http://sv.co) and seed funded by Kerala Startup Mission. He got the opportunity to pitch his idea at Facebook HQ in Silicon Valley.\nCurrently, he is working on building Strollby, a travel platform powered by Python microservices and GraphQL backend.\nAdarsh started his Speaker journey by presenting at GraphQL Summit \u201822, one of the biggest GraphQL conferences in the world. He focuses on enhancing the Python GraphQL ecosystem in his leisure time by contributing to several open-source projects.", "public_name": "Adarsh Divakaran", "guid": "d1693d1d-1ca0-51a1-ab31-126f0c5548dc", "url": "https://programme.europython.eu/europython-2023/speaker/ZP7QSM/"}, {"code": "AYQRFP", "name": "Thameem Karakkoth", "avatar": "https://programme.europython.eu/media/avatars/AYQRFP_txs95YX.webp", "biography": "Thameem is a passionate developer who currently works as a Product Engineer - Backend at UST. Thameem completed their undergraduate studies in Electronics and Communication Engineering from TKM College of Engineering. He likes exploring various modern platforms and learning about cutting-edge technologies in software engineering, design & architecture, cyber security, and more. \n\nThameem finds joy in contributing back to society and was selected for the Microsoft student partner program during his graduation, which helps fellow students develop their technical and career skills for the future. He also volunteered as the webmaster of IEEE, the world's largest professional organization for engineers.\n\nRead more at thameem.me", "public_name": "Thameem Karakkoth", "guid": "ff0566f8-0332-5833-8e43-65490ae9f2e9", "url": "https://programme.europython.eu/europython-2023/speaker/AYQRFP/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/BSZFSA/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/BSZFSA/", "attachments": []}, {"guid": "c2a77339-67bd-561f-850e-92bc9051e153", "code": "HSRTCT", "id": 30124, "logo": null, "date": "2023-07-21T13:00:00+02:00", "start": "13:00", "end": "2023-07-21T14:00:00+02:00", "duration": "01:00", "room": "Terrace 2B", "slug": "europython-2023-30124-we-are-python-weekend", "url": "https://programme.europython.eu/europython-2023/talk/HSRTCT/", "title": "We are Python Weekend!", "subtitle": "", "track": "Education, Teaching & Training (2023)", "type": "Poster", "language": "en", "abstract": "code.kiwi.com community has been running Python Weekend \u2014 an educational community project \u2014 since 2016. Over the past 7 years we helped hundreds of Python developers complete the program accelerating their careers, traveled to 10+ cities all over Europe and collaborated with numerous local Python communities to make it happen.\n\nAt first glance, Python Weekend is a 2.5-day supervised coding event for Junior+ Python devs, where  participants build the prototype of core Kiwi.com technology, while getting support from a group of experienced engineers, for free. But there\u2019s so much more to this.\n\nAt this poster session, we will share how to run an educational Python project so the community, business and local tech scene would benefit. We will show how to shape the culture of connecting real-business challenges and junior talent. We will see how dev edu projects can impact the culture of mentorship and present feedback of mentees from all over the world to share their experience.", "description": "I think We are Python Weekend talk can be also presented as a poster session. \nWe plan\n- million of stories\n- inspiration for everyone who wants to run their own Python project for the community\n- a lot of photos and feedback from the folks who have been part of the project - from a CS student, graphic designer, ex-WizzAir pilot, and more amazing people of Python Weekend.", "recording_license": "", "do_not_record": false, "persons": [{"code": "UMKFPV", "name": "Alena Osipova", "avatar": "https://programme.europython.eu/media/avatars/UMKFPV_CorhALR.webp", "biography": "Alena is Tech Community Manager at Kiwi.com \u2013 a leading global travel tech company headquartered in the Czech Republic. At Kiwi.com she manages the internal tech community \u2013 Code.kiwi.com. Her mission is to support citizens of the Engineering Department in sharing their tech stories on all relevant platforms.\n\nAlena lives in Prague with her two extremely-popular-on-Twitter cats (check out #gingythecat). Apart from having a passion for tech community building, she is a big fan of punk rock and craft beer.", "public_name": "Alena Osipova", "guid": "7a8a0ea0-3351-5dc0-a0d5-b1d1eb0a9b81", "url": "https://programme.europython.eu/europython-2023/speaker/UMKFPV/"}, {"code": "AKYBBE", "name": "Andrej Zaujec", "avatar": "https://programme.europython.eu/media/avatars/AKYBBE_1JGxRhZ.webp", "biography": "Andrej is a software engineer at kiwi.com and mentor in a Python Weekend. His main passions are python, mentoring the Python Weekend and cybersecurity. Actively participating in the CTF competitions to always learn something new and exciting.", "public_name": "Andrej Zaujec", "guid": "b21e2f70-1967-5ff3-a61d-724e5c48ce9a", "url": "https://programme.europython.eu/europython-2023/speaker/AKYBBE/"}, {"code": "TR7NSD", "name": "Luk\u00e1\u0161 Kubi\u0161", "avatar": "https://programme.europython.eu/media/avatars/TR7NSD_6C6yycl.webp", "biography": "A self-taught pythonaut and software engineer. (very) Occasional speaker. Lead of tech community events such as Python Weekend, in the past also hack.travel and kiwi.com Summer Camp.\n\nFor the last 4 years, he's been leading a team of engineers building systems responsible for order processing at kiwi.com, pushing the travel industry forward. In the free time, building prototypes of specialized music hardware.", "public_name": "Luk\u00e1\u0161 Kubi\u0161", "guid": "9693f9f4-05fd-5ff6-a76e-fbed98492ffb", "url": "https://programme.europython.eu/europython-2023/speaker/TR7NSD/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/HSRTCT/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/HSRTCT/", "attachments": []}, {"guid": "b88b64c5-c764-50fb-a791-6a5d2a3c78b4", "code": "GQAARK", "id": 29462, "logo": null, "date": "2023-07-21T14:00:00+02:00", "start": "14:00", "end": "2023-07-21T14:30:00+02:00", "duration": "00:30", "room": "Terrace 2B", "slug": "europython-2023-29462-unleashing-the-power-of-dbt-and-python-for-modern-data-stack", "url": "https://programme.europython.eu/europython-2023/talk/GQAARK/", "title": "Unleashing the Power of dbt and Python for Modern Data Stack", "subtitle": "", "track": "PyData: Software Packages & Jupyter (2023)", "type": "Talk", "language": "en", "abstract": "This talk will introduce dbt and demonstrate how to leverage Python to unlock its full potential. Attendees will learn best practices for working with dbt, how to integrate it with other tools in their data stack, and how to use Python packages like fal to perform complex data analysis. With real-world examples and use cases, this talk will equip attendees with the tools to build a modern, scalable, and maintainable data infrastructure.", "description": "Data modeling, transformation, and analysis are integral parts of data pipelines. However, managing and maintaining data infrastructure can be a daunting task. dbt (data build tool) is a powerful open source package that helps data teams build modular, maintainable, and scalable data transformations.\n\nIn this talk, we will introduce dbt to the Python community and demonstrate its full potential. We will go over best practices for data modeling and transformation, and how to integrate dbt into your existing data stack. We will also show how to use Python packages such as fal to interact with dbt and perform complex data analysis.\n\nAttendees will learn: \n\n- What is dbt and why it\u2019s a game-changer for data engineering and analysis \n\n- Best practices for data modeling and transformation with dbt \n\n- How to integrate dbt into your existing data stack and work with data warehouses such as Snowflake and BigQuery \n\n- How to leverage Python packages such as fal to interact with dbt and perform advanced data analysis \n\n- Real-world examples and use cases of dbt and Python in action\n\nBy the end of this talk, attendees will have a solid understanding of how to use dbt and Python together to build a modern, scalable, and maintainable data stack. Whether you\u2019re a data engineer, analyst, or scientist, this talk will give you the knowledge and tools to take your data infrastructure to the next level.", "recording_license": "", "do_not_record": false, "persons": [{"code": "QG8KNW", "name": "Meder Kamalov", "avatar": "https://programme.europython.eu/media/avatars/QG8KNW_5x0lfQ1.webp", "biography": "Meder Kamalov is a Software Engineer at Features and Labels, a start-up that is building tools for the Modern Data Stack. We are developers of [fal](https://github.com/fal-ai/fal) and [fal-serverless](https://docs.fal.ai/fal-serverless/quickstart).", "public_name": "Meder Kamalov", "guid": "959ebcf0-4227-50b2-8f33-a7c3299df5d7", "url": "https://programme.europython.eu/europython-2023/speaker/QG8KNW/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/GQAARK/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/GQAARK/", "attachments": []}, {"guid": "c98d888d-f879-5ac7-b20f-9574f3093178", "code": "REVKYV", "id": 29814, "logo": null, "date": "2023-07-21T14:35:00+02:00", "start": "14:35", "end": "2023-07-21T15:05:00+02:00", "duration": "00:30", "room": "Terrace 2B", "slug": "europython-2023-29814-deep-dive-into-asynchronous-sqlalchemy-transactions-and-connections", "url": "https://programme.europython.eu/europython-2023/talk/REVKYV/", "title": "Deep Dive into Asynchronous SQLAlchemy - Transactions and Connections", "subtitle": "", "track": "Python Libraries (2023)", "type": "Talk", "language": "en", "abstract": "SQLAlchemy is one of the most popular ORM libraries in Python. In this talk I will try to present caveats and gotchas that other Pythonists can find on their way while writing the asynchronous backend application using SQLAlchemy as an ORM. Mainly we will focus on how SQLAlchemy handles transactions and connections to the database and what issues we may face because of it.", "description": "The presentation is about SQLAlchemy, which is an Object-Relational Mapping (ORM) library used in Python for working with databases. \n\nThe presenter will discuss the challenges and potential problems that developers may encounter when using SQLAlchemy to create asynchronous backend applications.\n\nThe main focus of the talk will be on how SQLAlchemy handles transactions and connections to the database, which are crucial components of building a robust and reliable backend system. The presenter will explain some of the common caveats and gotchas that can arise when using SQLAlchemy in this context.\n\nOverall, the talk aims to provide valuable insights and practical advice for Python developers who are interested in working with SQLAlchemy and building scalable, high-performance backend applications.\n\nAs a bonus we'll see how other popular asynchronous ORM handles connections to the database.", "recording_license": "", "do_not_record": false, "persons": [{"code": "ALN8NK", "name": "Damian Wysocki", "avatar": "https://programme.europython.eu/media/avatars/ALN8NK_R12jIxa.webp", "biography": "I\u2019m a Python developer since 2017, I am deeply passionate about my craft and love sharing my knowledge with others. I find joy in constantly learning new things and staying up-to-date with the latest developments in the industry. In fact, I'm so passionate about sharing knowledge that I spend my free time mentoring aspiring developers in Python workshops in my hometown. I'm also an organizer of local IT meetups, where I get to connect with like-minded professionals and discuss the latest trends and challenges in our field.", "public_name": "Damian Wysocki", "guid": "f75bd41a-fb0d-50bd-82cf-20cc3f99d03e", "url": "https://programme.europython.eu/europython-2023/speaker/ALN8NK/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/REVKYV/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/REVKYV/", "attachments": []}, {"guid": "2f54385e-69df-5959-b3f8-1af2db18b97d", "code": "F78KKP", "id": 29661, "logo": null, "date": "2023-07-21T15:30:00+02:00", "start": "15:30", "end": "2023-07-21T16:00:00+02:00", "duration": "00:30", "room": "Terrace 2B", "slug": "europython-2023-29661-threat-to-life-preventing-planned-murders-with-python", "url": "https://programme.europython.eu/europython-2023/talk/F78KKP/", "title": "Threat to Life: Preventing Planned Murders with Python", "subtitle": "", "track": "PyData: Deep Learning, NLP, CV (2023)", "type": "Talk", "language": "en", "abstract": "At the Netherlands Forensic Institute (NFI), we've developed a Python-based deep learning model to spot life-threatening messages in lawfully intercepted communication data, like those from the infamous chat service Encrochat.\n\nThanks to the application of our model in collaboration with the Dutch Police, dozens of potential victims of violent crimes, including murder, serious assault, and kidnapping, have been warned and safeguarded. In this talk, we'll dive into the development, implementation, and success of our deep learning model in the fight against violent criminal activities. We'll also tackle the risks tied to using deep learning for these cases and discuss the precautions we took to ensure responsible and accurate use.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "TG8QZS", "name": "Edwin Rijgersberg", "avatar": null, "biography": "I'm a forensic data scientist at the Netherlands Forensic Institute. In our Forensic Big Data Analytics Team, we are committed to developing, implementing, and maintaining advanced artificial intelligence and innovative technologies to optimize detection, analysis, and evidence provision in criminal investigations. Our goal is to increase the accuracy, efficiency, and reliability of forensic analyses, leading to a more just and secure society.", "public_name": "Edwin Rijgersberg", "guid": "8596849a-2140-5c03-94ea-6c3afbe00a91", "url": "https://programme.europython.eu/europython-2023/speaker/TG8QZS/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/F78KKP/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/F78KKP/", "attachments": []}, {"guid": "244a05ff-52c6-5f39-9467-ad5dbe6de0a0", "code": "VFLKKR", "id": 29596, "logo": null, "date": "2023-07-21T16:05:00+02:00", "start": "16:05", "end": "2023-07-21T16:35:00+02:00", "duration": "00:30", "room": "Terrace 2B", "slug": "europython-2023-29596-building-and-deploying-fair-and-unbiased-ml-systems-an-art-not-science", "url": "https://programme.europython.eu/europython-2023/talk/VFLKKR/", "title": "Building and Deploying Fair and Unbiased ML Systems : An Art, Not Science", "subtitle": "", "track": "TBD - Multiple Tracks (2023)", "type": "Talk", "language": "en", "abstract": "There has been a renaissance around Artificial Intelligence systems in recent years. However, despite the hype, only a small percentage, i.e. 13% of Machine Learning models see the light of day!\nWell, effectively building and deploying machine learning models is more of an art than science! ML models are indeed inherently complex, have fuzzy boundaries, and rely heavily on data distribution. But what if they are trained on biased data? Then they\u2019ll generate highly biased decisions! As the famous saying goes by,  \u201cGarbage in, garbage out,\u201d so if the model is trained on skewed and unfair data distribution, they are bound to produce fuzzy output!\nSo, join me in this talk as I will share my learnings in developing effective practices to build and deploy ethical, fair and unbiased machine learning models into production.", "description": "Have you ever wondered why the increasing reliance on Machine Learning systems raises concerns about fairness and bias in their data-driven decisions? What if ML models are built on skewed data or are not designed to mitigate bias - then they can perpetuate and even amplify existing inequalities and injustices!\n\nSince there's no one-size-fits-all approach, thus, building and deploying a fair and unbiased ML system is more of an art than a science! In this talk, firstly, we will explore the challenges involved in building and deploying fair and unbiased ML systems. Secondly, we will understand the technical debts which incur while building such systems and how to investigate them. Finally, we will learn fundamental strategies and best practices for ensuring your ML models are fair, unbiased, and ethical!", "recording_license": "", "do_not_record": false, "persons": [{"code": "8RV9AV", "name": "Rashmi Nagpal", "avatar": "https://programme.europython.eu/media/avatars/8RV9AV_wNlmFun.webp", "biography": "Rashmi is a Software Engineer at Cactus with a passion for building products in AI/ML. In her almost 4 years career in tech, she\u2019s brought products to life at pre-seed startups, scaled teams and software at hypergrowth unicorns, and shipped redesigns and features used by millions at established giants. When she's not coding, capturing cosmos using her telescope, or playing board games with friends, you can find Rashmi playing with fluffy - her maltese breed pet dog!", "public_name": "Rashmi Nagpal", "guid": "ded9bec8-e75e-505d-8756-96a70c0cbc97", "url": "https://programme.europython.eu/europython-2023/speaker/8RV9AV/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/VFLKKR/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/VFLKKR/", "attachments": []}], "Open Space": [{"guid": "159793d2-6115-578c-9075-f19b5f4d77d2", "code": "GDZU3R", "id": 33703, "logo": null, "date": "2023-07-21T10:30:00+02:00", "start": "10:30", "end": "2023-07-21T13:00:00+02:00", "duration": "02:30", "room": "Open Space", "slug": "europython-2023-33703-reserved-for-mentored-sprint", "url": "https://programme.europython.eu/europython-2023/talk/GDZU3R/", "title": "Reserved for Mentored Sprint", "subtitle": "", "track": null, "type": "Open Space", "language": "en", "abstract": "\u2728 We are running mentored sprints for diverse community members at EuroPython this year \u2728\n\n\ud83d\udc49\ud83c\udffd Apply to be a mentor on the day or feature your open source project: email [cheuk@europython.eu](mailto:cheuk@europython.eu)\n\n\ud83d\udc49\ud83c\udffd Apply to participate as a contributor (sprint on the day): [fill in this form](https://forms.gle/56EbHh4g19Mevo9i8).\n\nIf you are not a member of an underrepresented group of the community and want to take on the sprint we encourage you to bring someone from an underrepresented group with you.\n\n\ud83d\udc49\ud83c\udffdVolunteer for our Git Helpdesk (4 volunteers needed): Help new contributors with git/GitHub, such as cloning repo, creating branch, committing, resolving merge conflicts. [fill in this form](https://forms.gle/56EbHh4g19Mevo9i8)\n\n\ud83d\udcd6 Check out our online handbook to learn more about our approach to sprinting: https://mentored-sprints.netlify.app/", "description": "Open source projects such as Python and its multiple stacks (web, scientific, etc.) are nothing but a collaborative effort from many community members. It is the constant involvement of the numerous maintainers, contributors, and users that make open-source software sustainable and keep the community as a whole going.\n\nWalking the path from user to collaborator, and thus contributing to an open-source project, can sometimes be intimidating especially for newcomers. From a technical perspective, interacting with web-based hosting services (such as GitHub, GitLab, etc.), branching and opening pull requests can be overwhelming if these are not everyday actions of your workflow. The correctness of the code and potential bugs are other common obstacles and fears any newcomer might face. Not to mention the time and frustration accumulated over the task of finding a \u2018beginner-friendly\u2019 issue to work on.\n\nWe also recognize that some groups are traditionally underrepresented in the open-source community and we would like to support them in their open-source path. We are running the mentored sprints for individuals from underrepresented groups willing to start contributing to Python projects. This event will provide a supportive, friendly, and safe environment for all the attendees and partner open source projects.\n\nTo achieve this goal, we are seeking to work with a number of Python projects and their maintainers interested in providing mentorship to these individuals. In return, we will provide guidance and advice on how to prepare the projects for the day and to better serve a diverse range of contributors.\n\nCheck out more details at [https://ep2023.europython.eu/mentored-sprint](https://ep2023.europython.eu/mentored-sprint)", "recording_license": "", "do_not_record": false, "persons": [{"code": "8EGVC9", "name": "Cheuk Ting Ho", "avatar": "https://programme.europython.eu/media/avatars/8EGVC9_LbezfQb.webp", "biography": "Before working in Developer Relations, Cheuk has been a Data Scientist in various companies which demands high numerical and programmatical skills, especially in Python. To follow her passion for the tech community, Cheuk is now working with the open-source community. Cheuk also contributes to multiple Open Source libraries like Hypothesis, Django and Pandas.\n\nBesides her work, Cheuk enjoys talking about Python on personal streaming platforms and podcasts. Cheuk has also been a speaker at Universities and various conferences. Besides speaking at conferences, Cheuk also organises events for developers. Conferences that Cheuk has organized include EuroPython (which she is a board member), PyData Global and Pyjamas Conf. Believing in Tech Diversity and Inclusion, Cheuk constantly organizes workshops and mentored sprints for minority groups. In 2021, Cheuk has become a Python Software Foundation fellow.", "public_name": "Cheuk Ting Ho", "guid": "6acb0b45-07a8-5f1c-a3fa-45ae8f0a9858", "url": "https://programme.europython.eu/europython-2023/speaker/8EGVC9/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/GDZU3R/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/GDZU3R/", "attachments": []}, {"guid": "adb6d931-6cab-5429-b8a9-135ebe38e3db", "code": "7VLWUV", "id": 34244, "logo": null, "date": "2023-07-21T15:30:00+02:00", "start": "15:30", "end": "2023-07-21T17:00:00+02:00", "duration": "01:30", "room": "Open Space", "slug": "europython-2023-34244-reserved-for-tournament", "url": "https://programme.europython.eu/europython-2023/talk/7VLWUV/", "title": "Reserved for Tournament", "subtitle": "", "track": null, "type": "Open Space", "language": "en", "abstract": "", "description": "", "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://programme.europython.eu/europython-2023/talk/7VLWUV/feedback/", "origin_url": "https://programme.europython.eu/europython-2023/talk/7VLWUV/", "attachments": []}]}}, {"index": 6, "date": "2023-07-22", "day_start": "2023-07-22T04:00:00+02:00", "day_end": "2023-07-23T03:59:00+02:00", "rooms": {}}, {"index": 7, "date": "2023-07-23", "day_start": "2023-07-23T04:00:00+02:00", "day_end": "2023-07-24T03:59:00+02:00", "rooms": {}}]}}}