{"$schema": "https://c3voc.de/schedule/schema.json", "generator": {"name": "pretalx", "version": "2026.1.0.dev0"}, "schedule": {"url": "https://programme.europython.eu/europython-2024/schedule/", "version": "0.37", "base_url": "https://programme.europython.eu", "conference": {"acronym": "europython-2024", "title": "EuroPython 2024", "start": "2024-07-08", "end": "2024-07-14", "daysCount": 7, "timeslot_duration": "00:05", "time_zone_name": "Europe/Prague", "colors": {"primary": "#0009e7"}, "rooms": [{"name": "Forum Hall", "slug": "3194-forum-hall", "guid": "fdfea131-ba12-5633-a211-61458cb5eb87", "description": null, "capacity": 700}, {"name": "Terrace 2A", "slug": "3195-terrace-2a", "guid": "d789f632-3182-5bb4-9c29-9868a63db0ba", "description": null, "capacity": 160}, {"name": "Terrace 2B", "slug": "3196-terrace-2b", "guid": "714ec9a3-1b16-5987-a74b-1fc22ce8b68a", "description": null, "capacity": 120}, {"name": "North Hall", "slug": "3197-north-hall", "guid": "b2c8f304-29e1-5b4b-9535-0cd654f23024", "description": null, "capacity": 210}, {"name": "South Hall 2A", "slug": "3198-south-hall-2a", "guid": "14544bc2-57a2-5a48-b89f-fe2dd20623ea", "description": null, "capacity": 210}, {"name": "South Hall 2B", "slug": "3199-south-hall-2b", "guid": "707c4d06-f1f3-5c73-b70a-11c475d903de", "description": null, "capacity": 210}, {"name": "Club A", "slug": "3200-club-a", "guid": "8651fc6b-10b6-53d3-b17c-451bac324d9f", "description": "Tutorial room", "capacity": 100}, {"name": "Club B", "slug": "3201-club-b", "guid": "6f489fac-91ca-5055-998c-d363940318be", "description": "Tutorial room", "capacity": 40}, {"name": "Club C", "slug": "3202-club-c", "guid": "e01c3560-20ce-5371-82dc-f61888ca4029", "description": "Summit room", "capacity": 100}, {"name": "Club D", "slug": "3203-club-d", "guid": "7b9f6414-a3ef-5227-ac57-503f3059a7df", "description": "Summit room", "capacity": 100}, {"name": "Club E", "slug": "3204-club-e", "guid": "a7b8f8de-130f-5efc-b807-4c99f3f79f55", "description": "Tutorial room", "capacity": 100}, {"name": "Club H", "slug": "3205-club-h", "guid": "de8bd74c-9116-52d7-8902-76420881356d", "description": "Tutorial room", "capacity": 100}, {"name": "Main Hall A", "slug": "3220-main-hall-a", "guid": "a4e5d9b4-8ca6-52ee-9ae3-1cb6168732ee", "description": "Poster Session", "capacity": null}, {"name": "Main Hall B", "slug": "3221-main-hall-b", "guid": "946fadaf-0cce-5f01-8845-adaed99b99e5", "description": "Poster Session", "capacity": null}, {"name": "Main Hall C", "slug": "3222-main-hall-c", "guid": "24a553ae-decd-5c3c-bd0a-35c8b9b90e45", "description": "Poster Session", "capacity": null}], "tracks": [{"name": "Arts, Crafts Culture & Demos (2024)", "slug": "4474-arts-crafts-culture-demos-2024", "color": "#000000"}, {"name": "Career, Life, Health (2024)", "slug": "4487-career-life-health-2024", "color": "#000000"}, {"name": "Education, Community & Diversity (2024)", "slug": "4490-education-community-diversity-2024", "color": "#000000"}, {"name": "Web technologies (2024)", "slug": "4482-web-technologies-2024", "color": "#000000"}, {"name": "Python Internals & Ecosystem (2024)", "slug": "4493-python-internals-ecosystem-2024", "color": "#000000"}, {"name": "Python Libraries & Tooling (2024)", "slug": "4491-python-libraries-tooling-2024", "color": "#000000"}, {"name": "Ethics, Philosophy & Politics (2024)", "slug": "4489-ethics-philosophy-politics-2024", "color": "#000000"}, {"name": "DevOps and Infrastructure (Cloud & Hardware) (2024)", "slug": "4475-devops-and-infrastructure-cloud-hardware-2024", "color": "#000000"}, {"name": "Software Engineering & Architecture (2024)", "slug": "4476-software-engineering-architecture-2024", "color": "#000000"}, {"name": "Security (2024)", "slug": "4477-security-2024", "color": "#000000"}, {"name": "Makers, Microcontrollers and IoT (2024)", "slug": "4478-makers-microcontrollers-and-iot-2024", "color": "#000000"}, {"name": "Testing and QA (2024)", "slug": "4479-testing-and-qa-2024", "color": "#000000"}, {"name": "PyData: Data Engineering (2024)", "slug": "4481-pydata-data-engineering-2024", "color": "#000000"}, {"name": "PyData: Deep Learning, NLP, CV (2024)", "slug": "4483-pydata-deep-learning-nlp-cv-2024", "color": "#000000"}, {"name": "PyData: Software Packages & Jupyter (2024)", "slug": "4486-pydata-software-packages-jupyter-2024", "color": "#000000"}, {"name": "PyData: Machine Learning, Stats (2024)", "slug": "4480-pydata-machine-learning-stats-2024", "color": "#000000"}, {"name": "PyData: LLMs (2024)", "slug": "4503-pydata-llms-2024", "color": "#000000"}, {"name": "PyData: Research & Applications (2024)", "slug": "4504-pydata-research-applications-2024", "color": "#000000"}, {"name": "~ None of these topics (2024)", "slug": "4484-none-of-these-topics-2024", "color": "#000000"}], "days": [{"index": 1, "date": "2024-07-08", "day_start": "2024-07-08T04:00:00+02:00", "day_end": "2024-07-09T03:59:00+02:00", "rooms": {"Club A": [{"guid": "4526943c-5933-5962-822b-691441c1af2e", "code": "AB3FCD", "id": 52064, "logo": null, "date": "2024-07-08T08:30:00+02:00", "start": "08:30", "duration": "01:00", "room": "Club A", "slug": "europython-2024-52064-monday-registration-welcome-forum-hall-foyer-1st-floor", "url": "https://programme.europython.eu/europython-2024/talk/AB3FCD/", "title": "Monday Registration & Welcome @ Forum Hall Foyer 1st Floor", "subtitle": "", "track": null, "type": "Announcements", "language": "en", "abstract": "Welcome to EuroPython 2024! 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!", "description": null, "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/AB3FCD/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/AB3FCD/", "attachments": []}, {"guid": "b1b840a6-13b5-52cf-be4c-6385d4f1bb62", "code": "FMHCT8", "id": 46109, "logo": null, "date": "2024-07-08T09:30:00+02:00", "start": "09:30", "duration": "01:30", "room": "Club A", "slug": "europython-2024-46109-0-pointers-in-python", "url": "https://programme.europython.eu/europython-2024/talk/FMHCT8/", "title": "Pointers in Python", "subtitle": "", "track": "Python Internals & Ecosystem (2024)", "type": "Tutorial", "language": "en", "abstract": "Remember pointers from C/C++? Why don\u2019t we add them to Python? Make any Python object mutable by manipulating it directly in memory through the pointer as you would do in C/C++. Why do this? Well, pointers have no use in Python, but the point is not implementation itself, but all the internal parts of Python programming language that you will touch while implementing it. What you will learn:\r\n\r\n- How to add new piece of syntax to Python. We will implement `&` and `*` (address of and dereference) operators just like in C/C++.\r\n- How to add custom builtin object. Adding new syntax has to do something, right? In our case it will operate on new `pointer` builtin object.\r\n- Internal layout of Python objects.\r\n- How to make our `pointer` object behave well. Everything in Python is an object and every object internally has to make sure it\u2019s lifecycle does not cause any issues and your program works in a predictable way.\r\n- How to do something with new object. Having new syntax and object is cool, but it has to interact with other objects somehow. Remember double underscore methods like `__add__` and `__eq__`? We will see how they are implemented internally and our object will have them.\r\n- How Python objects are garbage collected. Our `pointer` object will cover all ways Python objects can be garbage collected and all tricky parts of this process. These involve reference counting and tracing garbage collector for cyclic objects.\r\n- And many more.\r\n\r\nOptional: to minimise chances of inconsistencies, it is recommended to have Docker installed", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "SR9UDD", "name": "Yan Yanchii", "avatar": "https://programme.europython.eu/media/avatars/SR9UDD_CtH62t8.webp", "biography": "I'm a senior software engineer at Kiwi.com, a leading global travel tech company headquartered in the Czech Republic, and I work on the Search team.\r\n\r\nI particularly enjoy delving into CPython and its internal workings. My preference for creating things from scratch, as opposed to relying on pre-made solutions, has helped me develop a profound grasp of the technical foundations of software development.\r\n\r\nI'm thrilled to share my knowledge and enthusiasm for Python and low-level programming with the Python community.", "public_name": "Yan Yanchii", "guid": "f87d9a0f-38a3-5014-912a-d57c9582814f", "url": "https://programme.europython.eu/europython-2024/speaker/SR9UDD/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/FMHCT8/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/FMHCT8/", "attachments": []}, {"guid": "cccb26e2-87a4-56ae-8a0f-b897a48182f3", "code": "FMHCT8", "id": 46109, "logo": null, "date": "2024-07-08T11:15:00+02:00", "start": "11:15", "duration": "01:30", "room": "Club A", "slug": "europython-2024-46109-1-pointers-in-python", "url": "https://programme.europython.eu/europython-2024/talk/FMHCT8/", "title": "Pointers in Python", "subtitle": "", "track": "Python Internals & Ecosystem (2024)", "type": "Tutorial", "language": "en", "abstract": "Remember pointers from C/C++? Why don\u2019t we add them to Python? Make any Python object mutable by manipulating it directly in memory through the pointer as you would do in C/C++. Why do this? Well, pointers have no use in Python, but the point is not implementation itself, but all the internal parts of Python programming language that you will touch while implementing it. What you will learn:\r\n\r\n- How to add new piece of syntax to Python. We will implement `&` and `*` (address of and dereference) operators just like in C/C++.\r\n- How to add custom builtin object. Adding new syntax has to do something, right? In our case it will operate on new `pointer` builtin object.\r\n- Internal layout of Python objects.\r\n- How to make our `pointer` object behave well. Everything in Python is an object and every object internally has to make sure it\u2019s lifecycle does not cause any issues and your program works in a predictable way.\r\n- How to do something with new object. Having new syntax and object is cool, but it has to interact with other objects somehow. Remember double underscore methods like `__add__` and `__eq__`? We will see how they are implemented internally and our object will have them.\r\n- How Python objects are garbage collected. Our `pointer` object will cover all ways Python objects can be garbage collected and all tricky parts of this process. These involve reference counting and tracing garbage collector for cyclic objects.\r\n- And many more.\r\n\r\nOptional: to minimise chances of inconsistencies, it is recommended to have Docker installed", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "SR9UDD", "name": "Yan Yanchii", "avatar": "https://programme.europython.eu/media/avatars/SR9UDD_CtH62t8.webp", "biography": "I'm a senior software engineer at Kiwi.com, a leading global travel tech company headquartered in the Czech Republic, and I work on the Search team.\r\n\r\nI particularly enjoy delving into CPython and its internal workings. My preference for creating things from scratch, as opposed to relying on pre-made solutions, has helped me develop a profound grasp of the technical foundations of software development.\r\n\r\nI'm thrilled to share my knowledge and enthusiasm for Python and low-level programming with the Python community.", "public_name": "Yan Yanchii", "guid": "f87d9a0f-38a3-5014-912a-d57c9582814f", "url": "https://programme.europython.eu/europython-2024/speaker/SR9UDD/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/FMHCT8/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/FMHCT8/", "attachments": []}, {"guid": "dfbcd3af-6b4f-55c8-bb62-5c6ce251490b", "code": "RZCCLV", "id": 46889, "logo": null, "date": "2024-07-08T13:45:00+02:00", "start": "13:45", "duration": "01:30", "room": "Club A", "slug": "europython-2024-46889-0-from-zero-to-mlops-an-open-source-stack-to-fight-spaghetti-ml", "url": "https://programme.europython.eu/europython-2024/talk/RZCCLV/", "title": "From zero to MLOps: An open source stack to fight spaghetti ML", "subtitle": "", "track": "PyData: Data Engineering (2024)", "type": "Tutorial", "language": "en", "abstract": "The ecosystem of MLOps tools and platforms keeps growing by the year and it's difficult to stay up to date. Luckily our industry is now more mature and certain good practices are already well established, but it's still difficult for newcomers to navigate the complexity of production machine learning systems.\r\n\r\nWhat are the minimal pieces that you need to build your MLOps stack? Is there a way to avoid vendor lock-in by stitching open source components together? What are the pros and cons of this approach? What have we learned since 2015, when the seminal Google paper \"Hidden Technical Debt in Machine Learning Systems\" appeared?\r\n\r\nFull outline and instructions at https://github.com/astrojuanlu/workshop-from-zero-to-mlops/", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "UBESRJ", "name": "Juan Luis Cano Rodr\u00edguez", "avatar": "https://programme.europython.eu/media/avatars/UBESRJ_DBqCx8H.webp", "biography": "Juan Luis (he/him/\u00e9l) is an Aerospace Engineer with a passion for tech communities, outreach, and sustainability. He works at QuantumBlack, AI by McKinsey, as Product Manager for Kedro, an opinionated Python framework for creating reproducible, maintainable and modular data science code. He has worked as Developer Advocate at Read the Docs, as software engineer in the space, consulting, and banking industries, and as a Python trainer for several private and public entities.\r\n\r\nApart from being a long-time user and contributor to many projects in the scientific Python stack (NumPy, SciPy, Astropy) he has published several open-source packages, the most important one being poliastro, an open-source Python library for interactive astrodynamics used in academia and industry.\r\n\r\nFinally, Juan Luis is the founder and former chair of the Python Espa\u00f1a association, the point of contact for the Spanish Python community, former organizer of PyCon Spain, which attracted 800 attendees in its last in-person edition in 2022, and current organizer of the PyData Madrid monthly meetups.", "public_name": "Juan Luis Cano Rodr\u00edguez", "guid": "69b03e9c-54c6-5a21-9d17-fb7b74f879d2", "url": "https://programme.europython.eu/europython-2024/speaker/UBESRJ/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/RZCCLV/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/RZCCLV/", "attachments": []}, {"guid": "c70f25f6-e548-597f-95c5-c5fdf4cae3a5", "code": "RZCCLV", "id": 46889, "logo": null, "date": "2024-07-08T15:30:00+02:00", "start": "15:30", "duration": "01:30", "room": "Club A", "slug": "europython-2024-46889-1-from-zero-to-mlops-an-open-source-stack-to-fight-spaghetti-ml", "url": "https://programme.europython.eu/europython-2024/talk/RZCCLV/", "title": "From zero to MLOps: An open source stack to fight spaghetti ML", "subtitle": "", "track": "PyData: Data Engineering (2024)", "type": "Tutorial", "language": "en", "abstract": "The ecosystem of MLOps tools and platforms keeps growing by the year and it's difficult to stay up to date. Luckily our industry is now more mature and certain good practices are already well established, but it's still difficult for newcomers to navigate the complexity of production machine learning systems.\r\n\r\nWhat are the minimal pieces that you need to build your MLOps stack? Is there a way to avoid vendor lock-in by stitching open source components together? What are the pros and cons of this approach? What have we learned since 2015, when the seminal Google paper \"Hidden Technical Debt in Machine Learning Systems\" appeared?\r\n\r\nFull outline and instructions at https://github.com/astrojuanlu/workshop-from-zero-to-mlops/", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "UBESRJ", "name": "Juan Luis Cano Rodr\u00edguez", "avatar": "https://programme.europython.eu/media/avatars/UBESRJ_DBqCx8H.webp", "biography": "Juan Luis (he/him/\u00e9l) is an Aerospace Engineer with a passion for tech communities, outreach, and sustainability. He works at QuantumBlack, AI by McKinsey, as Product Manager for Kedro, an opinionated Python framework for creating reproducible, maintainable and modular data science code. He has worked as Developer Advocate at Read the Docs, as software engineer in the space, consulting, and banking industries, and as a Python trainer for several private and public entities.\r\n\r\nApart from being a long-time user and contributor to many projects in the scientific Python stack (NumPy, SciPy, Astropy) he has published several open-source packages, the most important one being poliastro, an open-source Python library for interactive astrodynamics used in academia and industry.\r\n\r\nFinally, Juan Luis is the founder and former chair of the Python Espa\u00f1a association, the point of contact for the Spanish Python community, former organizer of PyCon Spain, which attracted 800 attendees in its last in-person edition in 2022, and current organizer of the PyData Madrid monthly meetups.", "public_name": "Juan Luis Cano Rodr\u00edguez", "guid": "69b03e9c-54c6-5a21-9d17-fb7b74f879d2", "url": "https://programme.europython.eu/europython-2024/speaker/UBESRJ/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/RZCCLV/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/RZCCLV/", "attachments": []}], "Club B": [{"guid": "321c5c31-db78-574c-bafb-11af92c115db", "code": "QLNGZU", "id": 47003, "logo": null, "date": "2024-07-08T09:30:00+02:00", "start": "09:30", "duration": "01:30", "room": "Club B", "slug": "europython-2024-47003-0-what-do-lockfiles-pin-actually-let-s-dig-in-and-get-our-hands-dirty", "url": "https://programme.europython.eu/europython-2024/talk/QLNGZU/", "title": "What do lockfiles pin, *actually*? Let's dig in and get our hands dirty!", "subtitle": "", "track": "Python Libraries & Tooling (2024)", "type": "Tutorial", "language": "en", "abstract": "Reproducible dependency management across multiple environments is crucial yet often misunderstood. This hands-on workshop demystifies virtual environments, lockfiles, and how to avoid conflicts when a project needs different dependencies for tasks like testing, documentation, and production.\r\n\r\nYou'll learn to maintain separate lockfiles per environment using pip's constraint files. Through live coding exercises, you'll set up a full-fledged GitHub project with GitHub Actions CI/CD pipelines that utilize tox/nox to run tests, build docs, and update lockfiles automatically.\r\n\r\nBy the end, you'll have practiced implementing robust, reproducible environments tailored to each project context, ensuring seamless collaboration and deployment.\r\n\r\nCome and join a member of the PyPA and a seasoned contributor to the packaging ecosystem, including [`pip-tools`](https://pip-tools.rtfd.io), walk you through the intricacies of environment reproducibility.\r\n\r\n### Bring with you\r\n\r\n* your laptop\r\n* some editor/IDE\r\n* a few Python versions, something from the range of 3.7-3.13\r\n* pyenv/podman/docker should do as long as you're comfortable\r\n* GitHub account (don't forget your second factor!)\r\n* be able to author and push Git commits\r\n* if your laptop is corporate/limited, web-based environments like Gitpod or GitHub Codespaces should be enough\r\n* on Windows, you'll probably have easier time with WSL 2\r\n\r\n### Post-workshop materials\r\n\r\nA complete implementation of the demonstrated DIY lock files-based environment management is available at https://github.com/webknjaz/ep2024-multilock-toy-template.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "AWKFRJ", "name": "Sviatoslav Sydorenko (\u0421\u0432\u044f\u0442\u043e\u0441\u043b\u0430\u0432 \u0421\u0438\u0434\u043e\u0440\u0435\u043d\u043a\u043e)", "avatar": "https://programme.europython.eu/media/avatars/AWKFRJ_GocL4js.webp", "biography": "\ud83d\udda5\ufe0f Hey, I'm Sviat \u2014 a serial maintainer of and contributor to open source software. \ud83d\udc68\u200d\ud83d\udcbb\r\n\ud83c\udf04 By day, I'm a Principal Software Engineer at [Ansible] Core Team. \ud83c\udf05\r\n\ud83c\udf07 By night, I'm involved in maintaining CherryPy and doing CI/CD for aio-libs/aiohttp along with various related contributions mostly to Python projects and its ecosystem. I'm also a [PyPA] member, author of the blessed [`pypi-publish` GitHub Action] and one of the maintainers of the [Python Packaging User Guide]. \ud83c\udf06\r\n\r\nMy ongoing interest is GitHub Apps, Actions, bots and related things using their shiny new APIs. I'm at the beginning of crafting [a][octomachinery] [framework][octomachinery on GitHub] for that currently.\r\n\r\nI'm proficient with Python Packaging and setting up CI/CD in open source projects at scale.\r\n\r\n[This is me.][GitHub Sponsors]\r\n\r\n[![SWUbanner]][SWUdocs]\r\n\r\n[Ansible]: https://github.com/ansible\r\n\r\n[PyPA]: https://github.com/pypa\r\n[`pypi-publish` GitHub Action]: https://github.com/marketplace/actions/pypi-publish\r\n[Python Packaging User Guide]: https://packaging.python.org\r\n\r\n[octomachinery]: https://octomachinery.dev\r\n[octomachinery on GitHub]: https://github.com/sanitizers/octomachinery\r\n\r\n[GitHub Sponsors]: https://github.com/sponsors/webknjaz\r\n\r\n[SWUbanner]:\r\nhttps://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner-personal-page.svg\r\n[SWUdocs]:\r\nhttps://github.com/vshymanskyy/StandWithUkraine/blob/main/docs/README.md", "public_name": "Sviatoslav Sydorenko (\u0421\u0432\u044f\u0442\u043e\u0441\u043b\u0430\u0432 \u0421\u0438\u0434\u043e\u0440\u0435\u043d\u043a\u043e)", "guid": "873bbde9-974d-5c28-9bfc-5ae0330a9ecd", "url": "https://programme.europython.eu/europython-2024/speaker/AWKFRJ/"}], "links": [{"title": "Complete implementation of the demonstrated DIY lock files-based environment management", "url": "https://github.com/webknjaz/ep2024-multilock-toy-template", "type": "related"}], "feedback_url": "https://programme.europython.eu/europython-2024/talk/QLNGZU/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/QLNGZU/", "attachments": []}, {"guid": "507ce035-c1d8-5dc7-a136-b12b9d12f259", "code": "QLNGZU", "id": 47003, "logo": null, "date": "2024-07-08T11:15:00+02:00", "start": "11:15", "duration": "01:30", "room": "Club B", "slug": "europython-2024-47003-1-what-do-lockfiles-pin-actually-let-s-dig-in-and-get-our-hands-dirty", "url": "https://programme.europython.eu/europython-2024/talk/QLNGZU/", "title": "What do lockfiles pin, *actually*? Let's dig in and get our hands dirty!", "subtitle": "", "track": "Python Libraries & Tooling (2024)", "type": "Tutorial", "language": "en", "abstract": "Reproducible dependency management across multiple environments is crucial yet often misunderstood. This hands-on workshop demystifies virtual environments, lockfiles, and how to avoid conflicts when a project needs different dependencies for tasks like testing, documentation, and production.\r\n\r\nYou'll learn to maintain separate lockfiles per environment using pip's constraint files. Through live coding exercises, you'll set up a full-fledged GitHub project with GitHub Actions CI/CD pipelines that utilize tox/nox to run tests, build docs, and update lockfiles automatically.\r\n\r\nBy the end, you'll have practiced implementing robust, reproducible environments tailored to each project context, ensuring seamless collaboration and deployment.\r\n\r\nCome and join a member of the PyPA and a seasoned contributor to the packaging ecosystem, including [`pip-tools`](https://pip-tools.rtfd.io), walk you through the intricacies of environment reproducibility.\r\n\r\n### Bring with you\r\n\r\n* your laptop\r\n* some editor/IDE\r\n* a few Python versions, something from the range of 3.7-3.13\r\n* pyenv/podman/docker should do as long as you're comfortable\r\n* GitHub account (don't forget your second factor!)\r\n* be able to author and push Git commits\r\n* if your laptop is corporate/limited, web-based environments like Gitpod or GitHub Codespaces should be enough\r\n* on Windows, you'll probably have easier time with WSL 2\r\n\r\n### Post-workshop materials\r\n\r\nA complete implementation of the demonstrated DIY lock files-based environment management is available at https://github.com/webknjaz/ep2024-multilock-toy-template.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "AWKFRJ", "name": "Sviatoslav Sydorenko (\u0421\u0432\u044f\u0442\u043e\u0441\u043b\u0430\u0432 \u0421\u0438\u0434\u043e\u0440\u0435\u043d\u043a\u043e)", "avatar": "https://programme.europython.eu/media/avatars/AWKFRJ_GocL4js.webp", "biography": "\ud83d\udda5\ufe0f Hey, I'm Sviat \u2014 a serial maintainer of and contributor to open source software. \ud83d\udc68\u200d\ud83d\udcbb\r\n\ud83c\udf04 By day, I'm a Principal Software Engineer at [Ansible] Core Team. \ud83c\udf05\r\n\ud83c\udf07 By night, I'm involved in maintaining CherryPy and doing CI/CD for aio-libs/aiohttp along with various related contributions mostly to Python projects and its ecosystem. I'm also a [PyPA] member, author of the blessed [`pypi-publish` GitHub Action] and one of the maintainers of the [Python Packaging User Guide]. \ud83c\udf06\r\n\r\nMy ongoing interest is GitHub Apps, Actions, bots and related things using their shiny new APIs. I'm at the beginning of crafting [a][octomachinery] [framework][octomachinery on GitHub] for that currently.\r\n\r\nI'm proficient with Python Packaging and setting up CI/CD in open source projects at scale.\r\n\r\n[This is me.][GitHub Sponsors]\r\n\r\n[![SWUbanner]][SWUdocs]\r\n\r\n[Ansible]: https://github.com/ansible\r\n\r\n[PyPA]: https://github.com/pypa\r\n[`pypi-publish` GitHub Action]: https://github.com/marketplace/actions/pypi-publish\r\n[Python Packaging User Guide]: https://packaging.python.org\r\n\r\n[octomachinery]: https://octomachinery.dev\r\n[octomachinery on GitHub]: https://github.com/sanitizers/octomachinery\r\n\r\n[GitHub Sponsors]: https://github.com/sponsors/webknjaz\r\n\r\n[SWUbanner]:\r\nhttps://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner-personal-page.svg\r\n[SWUdocs]:\r\nhttps://github.com/vshymanskyy/StandWithUkraine/blob/main/docs/README.md", "public_name": "Sviatoslav Sydorenko (\u0421\u0432\u044f\u0442\u043e\u0441\u043b\u0430\u0432 \u0421\u0438\u0434\u043e\u0440\u0435\u043d\u043a\u043e)", "guid": "873bbde9-974d-5c28-9bfc-5ae0330a9ecd", "url": "https://programme.europython.eu/europython-2024/speaker/AWKFRJ/"}], "links": [{"title": "Complete implementation of the demonstrated DIY lock files-based environment management", "url": "https://github.com/webknjaz/ep2024-multilock-toy-template", "type": "related"}], "feedback_url": "https://programme.europython.eu/europython-2024/talk/QLNGZU/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/QLNGZU/", "attachments": []}, {"guid": "80428f36-6e7a-5138-89a2-66b9172a6e2d", "code": "JZ9FXH", "id": 46457, "logo": null, "date": "2024-07-08T13:45:00+02:00", "start": "13:45", "duration": "01:30", "room": "Club B", "slug": "europython-2024-46457-0-reinventing-the-itertools-wheel-for-fun-and-profit", "url": "https://programme.europython.eu/europython-2024/talk/JZ9FXH/", "title": "Reinventing the `itertools` wheel for fun and profit", "subtitle": "", "track": "Python Libraries & Tooling (2024)", "type": "Tutorial", "language": "en", "abstract": "In this hands-on tutorial we will reinvent the wheel!\r\n\r\nWe'll reinvent the wheel and implement the module `itertools` in plain Python.\r\n\r\nWe'll do that because it's fun, but also because that will teach us a lot about Python:\r\n\r\n - the difference between iterables and iterators;\r\n - what the built-ins `iter` and `next` do;\r\n - how Python handles iterations and `for` loops under the hood;\r\n - what the iterator protocol is;\r\n - how the dunder methods `__iter__` and `__next__` play a part in all this; and\r\n - we'll also learn about the functions inside `itertools`, a module with plenty of useful tools for your day-to-day iterations.\r\n\r\nTo prepare for the tutorial, please\r\n - have Python 3.12+ installed (ideally);\r\n - clone this GitHub repository https://github.com/mathspp/the-little-book-of-itertools; and\r\n - install the requirements (it's just `pytest`).", "description": null, "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](https://mathspp.com/blog), writing on Twitter [@mathsppblog](https://twitter.com/mathsppblog), and giving workshops and courses. You can also find his past talks on [https://mathspp.com/talks](https://mathspp.com/talks).\r\n\r\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.", "public_name": "Rodrigo Gir\u00e3o Serr\u00e3o", "guid": "deadfed1-3cce-5c6f-b1cc-2dd63deac2a5", "url": "https://programme.europython.eu/europython-2024/speaker/BLNV7P/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/JZ9FXH/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/JZ9FXH/", "attachments": []}, {"guid": "2adb1ad7-907f-5189-9e58-4ee26d9da776", "code": "JZ9FXH", "id": 46457, "logo": null, "date": "2024-07-08T15:30:00+02:00", "start": "15:30", "duration": "01:30", "room": "Club B", "slug": "europython-2024-46457-1-reinventing-the-itertools-wheel-for-fun-and-profit", "url": "https://programme.europython.eu/europython-2024/talk/JZ9FXH/", "title": "Reinventing the `itertools` wheel for fun and profit", "subtitle": "", "track": "Python Libraries & Tooling (2024)", "type": "Tutorial", "language": "en", "abstract": "In this hands-on tutorial we will reinvent the wheel!\r\n\r\nWe'll reinvent the wheel and implement the module `itertools` in plain Python.\r\n\r\nWe'll do that because it's fun, but also because that will teach us a lot about Python:\r\n\r\n - the difference between iterables and iterators;\r\n - what the built-ins `iter` and `next` do;\r\n - how Python handles iterations and `for` loops under the hood;\r\n - what the iterator protocol is;\r\n - how the dunder methods `__iter__` and `__next__` play a part in all this; and\r\n - we'll also learn about the functions inside `itertools`, a module with plenty of useful tools for your day-to-day iterations.\r\n\r\nTo prepare for the tutorial, please\r\n - have Python 3.12+ installed (ideally);\r\n - clone this GitHub repository https://github.com/mathspp/the-little-book-of-itertools; and\r\n - install the requirements (it's just `pytest`).", "description": null, "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](https://mathspp.com/blog), writing on Twitter [@mathsppblog](https://twitter.com/mathsppblog), and giving workshops and courses. You can also find his past talks on [https://mathspp.com/talks](https://mathspp.com/talks).\r\n\r\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.", "public_name": "Rodrigo Gir\u00e3o Serr\u00e3o", "guid": "deadfed1-3cce-5c6f-b1cc-2dd63deac2a5", "url": "https://programme.europython.eu/europython-2024/speaker/BLNV7P/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/JZ9FXH/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/JZ9FXH/", "attachments": []}], "Club C": [{"guid": "d35c2dcb-9e26-5d3c-8a06-b01c4b511c46", "code": "HXXKM3", "id": 51800, "logo": null, "date": "2024-07-08T09:30:00+02:00", "start": "09:30", "duration": "01:30", "room": "Club C", "slug": "europython-2024-51800-0-django-girls-workshop", "url": "https://programme.europython.eu/europython-2024/talk/HXXKM3/", "title": "Django Girls Workshop", "subtitle": "", "track": "Web technologies (2024)", "type": "Conference Workshop", "language": "en", "abstract": "Join us as we celebrate a significant milestone: the 10th anniversary of Django Girls, an initiative born at EuroPython 2014 in Berlin. \r\n\r\nIf you're a woman interested in learning how to build websites, we have fantastic news for you! We are hosting a beginner-friendly, one-day workshop.\r\n\r\nWe believe the IT industry will greatly benefit from bringing more women into technology. We want to give you an opportunity to learn how to program!\r\n\r\nWorkshops are free of charge.", "description": null, "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/HXXKM3/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/HXXKM3/", "attachments": []}, {"guid": "b562e804-d152-531f-b552-3c827941c988", "code": "HXXKM3", "id": 51800, "logo": null, "date": "2024-07-08T11:15:00+02:00", "start": "11:15", "duration": "01:30", "room": "Club C", "slug": "europython-2024-51800-1-django-girls-workshop", "url": "https://programme.europython.eu/europython-2024/talk/HXXKM3/", "title": "Django Girls Workshop", "subtitle": "", "track": "Web technologies (2024)", "type": "Conference Workshop", "language": "en", "abstract": "Join us as we celebrate a significant milestone: the 10th anniversary of Django Girls, an initiative born at EuroPython 2014 in Berlin. \r\n\r\nIf you're a woman interested in learning how to build websites, we have fantastic news for you! We are hosting a beginner-friendly, one-day workshop.\r\n\r\nWe believe the IT industry will greatly benefit from bringing more women into technology. We want to give you an opportunity to learn how to program!\r\n\r\nWorkshops are free of charge.", "description": null, "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/HXXKM3/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/HXXKM3/", "attachments": []}, {"guid": "485249b4-f10a-5015-861a-bb61c375d11c", "code": "HXXKM3", "id": 51800, "logo": null, "date": "2024-07-08T13:45:00+02:00", "start": "13:45", "duration": "01:30", "room": "Club C", "slug": "europython-2024-51800-2-django-girls-workshop", "url": "https://programme.europython.eu/europython-2024/talk/HXXKM3/", "title": "Django Girls Workshop", "subtitle": "", "track": "Web technologies (2024)", "type": "Conference Workshop", "language": "en", "abstract": "Join us as we celebrate a significant milestone: the 10th anniversary of Django Girls, an initiative born at EuroPython 2014 in Berlin. \r\n\r\nIf you're a woman interested in learning how to build websites, we have fantastic news for you! We are hosting a beginner-friendly, one-day workshop.\r\n\r\nWe believe the IT industry will greatly benefit from bringing more women into technology. We want to give you an opportunity to learn how to program!\r\n\r\nWorkshops are free of charge.", "description": null, "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/HXXKM3/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/HXXKM3/", "attachments": []}, {"guid": "3bfdfa61-5717-5827-8b31-3153a171de3e", "code": "HXXKM3", "id": 51800, "logo": null, "date": "2024-07-08T15:30:00+02:00", "start": "15:30", "duration": "01:30", "room": "Club C", "slug": "europython-2024-51800-3-django-girls-workshop", "url": "https://programme.europython.eu/europython-2024/talk/HXXKM3/", "title": "Django Girls Workshop", "subtitle": "", "track": "Web technologies (2024)", "type": "Conference Workshop", "language": "en", "abstract": "Join us as we celebrate a significant milestone: the 10th anniversary of Django Girls, an initiative born at EuroPython 2014 in Berlin. \r\n\r\nIf you're a woman interested in learning how to build websites, we have fantastic news for you! We are hosting a beginner-friendly, one-day workshop.\r\n\r\nWe believe the IT industry will greatly benefit from bringing more women into technology. We want to give you an opportunity to learn how to program!\r\n\r\nWorkshops are free of charge.", "description": null, "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/HXXKM3/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/HXXKM3/", "attachments": []}], "Club D": [{"guid": "1952aa0f-4128-56d0-887b-5bc59b00253e", "code": "WJPJG9", "id": 51649, "logo": null, "date": "2024-07-08T09:30:00+02:00", "start": "09:30", "duration": "01:30", "room": "Club D", "slug": "europython-2024-51649-0-c-api-summit", "url": "https://programme.europython.eu/europython-2024/talk/WJPJG9/", "title": "C API Summit", "subtitle": "", "track": null, "type": "Conference Workshop", "language": "en", "abstract": "* **When**: Monday, July 8th.\r\n* **Where**: Prague Congress Centre (PCC), Room Club D\r\n* **Who can join**: Anyone with a valid in-person EuroPython 2024 ticket - Conference, Tutorial or Combined (see [ticket types](https://ep2024.europython.eu/tickets#ticket-types) for details).\r\n\r\nThe C API has many different stakeholders, including but not limited to\r\nCPython core developers, maintainers of Python extensions, code generators\r\n(Cython, pybind11, etc) and alternative API design (HPy).\r\n\r\nThe main goal of this summit is to make sure that people from all these\r\ndifferent projects can meet and discuss about the state of the C API, existing\r\nchallenges and ongoing work.\r\n\r\n## Agenda\r\n\r\n* 9:00: Meet and greet - unconference-y post-it based organisation.\r\n* 9:30: Presentations (30 mins each)\r\n* 11:00: Coffee\r\n* 11:15: Presentations\r\n* 12:45: Lunch at the PCC (included)\r\n* 13:45: Unconference-y activities (discussions, hacks, ad hoc tutorials etc\u2026)\r\n* 16:00: Round-up / plenary session for feedback and organising next steps.\r\n* 18:30: Dinner\r\n\r\n## Registration\r\n\r\nYou need to have a valid EuroPython in-person ticket ([Conference, Tutorial or Combined](https://ep2024.europython.eu/tickets#ticket-types)) to participate. Purchase a EuroPython ticket [here](https://tickets.europython.eu/), if you haven't already.\r\n\r\nThe event is limited to 40 participants. If there is a topic you would like to present, please indicate it in the form and _fill it in early_. Time slots are of 30 min at most (10 min of presentation + 20 min for questions/discussion).\r\n\r\nTo be part of the C API summit, [register your interest now!](https://docs.google.com/forms/d/e/1FAIpQLSc2tLqibsxg-GhTOYkdcMtSopRwojct8-lqhxAE-F9a7Xghww/viewform)\r\n\r\nWe will contact you with more details closer to the event.", "description": null, "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 the author of SPy, a core developer of PyScript and PyPy, and one of the founders of the HPy project, which aims to design a better and more modern C API for Python. He loves to write tools from developers for developers, such as Pdb++, fancycompleter and vmprof and he is creator/maintainer/contributor of numerous other open source projects. He have also been very active in the Python community for years, giving talks at various conferences such as EuroPython, EuroSciPy, PyCon Italia, and many others. He regularly writes on the PyPy blog and on the HPy blog. His main areas of interest are compilers, language implementation, TDD and performance.", "public_name": "Antonio Cuni", "guid": "eb49f09e-1765-599f-85db-c3979b48b650", "url": "https://programme.europython.eu/europython-2024/speaker/QMAPYZ/"}, {"code": "SCAGQW", "name": "Petr Viktorin", "avatar": "https://programme.europython.eu/media/avatars/SCAGQW_gVfuTj1.webp", "biography": null, "public_name": "Petr Viktorin", "guid": "6cf72eda-9293-5fe9-9d29-a56ead87f692", "url": "https://programme.europython.eu/europython-2024/speaker/SCAGQW/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/WJPJG9/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/WJPJG9/", "attachments": []}, {"guid": "633f486c-c809-5671-8230-d095e03569c4", "code": "WJPJG9", "id": 51649, "logo": null, "date": "2024-07-08T11:15:00+02:00", "start": "11:15", "duration": "01:30", "room": "Club D", "slug": "europython-2024-51649-1-c-api-summit", "url": "https://programme.europython.eu/europython-2024/talk/WJPJG9/", "title": "C API Summit", "subtitle": "", "track": null, "type": "Conference Workshop", "language": "en", "abstract": "* **When**: Monday, July 8th.\r\n* **Where**: Prague Congress Centre (PCC), Room Club D\r\n* **Who can join**: Anyone with a valid in-person EuroPython 2024 ticket - Conference, Tutorial or Combined (see [ticket types](https://ep2024.europython.eu/tickets#ticket-types) for details).\r\n\r\nThe C API has many different stakeholders, including but not limited to\r\nCPython core developers, maintainers of Python extensions, code generators\r\n(Cython, pybind11, etc) and alternative API design (HPy).\r\n\r\nThe main goal of this summit is to make sure that people from all these\r\ndifferent projects can meet and discuss about the state of the C API, existing\r\nchallenges and ongoing work.\r\n\r\n## Agenda\r\n\r\n* 9:00: Meet and greet - unconference-y post-it based organisation.\r\n* 9:30: Presentations (30 mins each)\r\n* 11:00: Coffee\r\n* 11:15: Presentations\r\n* 12:45: Lunch at the PCC (included)\r\n* 13:45: Unconference-y activities (discussions, hacks, ad hoc tutorials etc\u2026)\r\n* 16:00: Round-up / plenary session for feedback and organising next steps.\r\n* 18:30: Dinner\r\n\r\n## Registration\r\n\r\nYou need to have a valid EuroPython in-person ticket ([Conference, Tutorial or Combined](https://ep2024.europython.eu/tickets#ticket-types)) to participate. Purchase a EuroPython ticket [here](https://tickets.europython.eu/), if you haven't already.\r\n\r\nThe event is limited to 40 participants. If there is a topic you would like to present, please indicate it in the form and _fill it in early_. Time slots are of 30 min at most (10 min of presentation + 20 min for questions/discussion).\r\n\r\nTo be part of the C API summit, [register your interest now!](https://docs.google.com/forms/d/e/1FAIpQLSc2tLqibsxg-GhTOYkdcMtSopRwojct8-lqhxAE-F9a7Xghww/viewform)\r\n\r\nWe will contact you with more details closer to the event.", "description": null, "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 the author of SPy, a core developer of PyScript and PyPy, and one of the founders of the HPy project, which aims to design a better and more modern C API for Python. He loves to write tools from developers for developers, such as Pdb++, fancycompleter and vmprof and he is creator/maintainer/contributor of numerous other open source projects. He have also been very active in the Python community for years, giving talks at various conferences such as EuroPython, EuroSciPy, PyCon Italia, and many others. He regularly writes on the PyPy blog and on the HPy blog. His main areas of interest are compilers, language implementation, TDD and performance.", "public_name": "Antonio Cuni", "guid": "eb49f09e-1765-599f-85db-c3979b48b650", "url": "https://programme.europython.eu/europython-2024/speaker/QMAPYZ/"}, {"code": "SCAGQW", "name": "Petr Viktorin", "avatar": "https://programme.europython.eu/media/avatars/SCAGQW_gVfuTj1.webp", "biography": null, "public_name": "Petr Viktorin", "guid": "6cf72eda-9293-5fe9-9d29-a56ead87f692", "url": "https://programme.europython.eu/europython-2024/speaker/SCAGQW/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/WJPJG9/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/WJPJG9/", "attachments": []}, {"guid": "d615ceaf-3fe5-58e5-ae23-18d73ff35d59", "code": "WJPJG9", "id": 51649, "logo": null, "date": "2024-07-08T13:45:00+02:00", "start": "13:45", "duration": "01:30", "room": "Club D", "slug": "europython-2024-51649-2-c-api-summit", "url": "https://programme.europython.eu/europython-2024/talk/WJPJG9/", "title": "C API Summit", "subtitle": "", "track": null, "type": "Conference Workshop", "language": "en", "abstract": "* **When**: Monday, July 8th.\r\n* **Where**: Prague Congress Centre (PCC), Room Club D\r\n* **Who can join**: Anyone with a valid in-person EuroPython 2024 ticket - Conference, Tutorial or Combined (see [ticket types](https://ep2024.europython.eu/tickets#ticket-types) for details).\r\n\r\nThe C API has many different stakeholders, including but not limited to\r\nCPython core developers, maintainers of Python extensions, code generators\r\n(Cython, pybind11, etc) and alternative API design (HPy).\r\n\r\nThe main goal of this summit is to make sure that people from all these\r\ndifferent projects can meet and discuss about the state of the C API, existing\r\nchallenges and ongoing work.\r\n\r\n## Agenda\r\n\r\n* 9:00: Meet and greet - unconference-y post-it based organisation.\r\n* 9:30: Presentations (30 mins each)\r\n* 11:00: Coffee\r\n* 11:15: Presentations\r\n* 12:45: Lunch at the PCC (included)\r\n* 13:45: Unconference-y activities (discussions, hacks, ad hoc tutorials etc\u2026)\r\n* 16:00: Round-up / plenary session for feedback and organising next steps.\r\n* 18:30: Dinner\r\n\r\n## Registration\r\n\r\nYou need to have a valid EuroPython in-person ticket ([Conference, Tutorial or Combined](https://ep2024.europython.eu/tickets#ticket-types)) to participate. Purchase a EuroPython ticket [here](https://tickets.europython.eu/), if you haven't already.\r\n\r\nThe event is limited to 40 participants. If there is a topic you would like to present, please indicate it in the form and _fill it in early_. Time slots are of 30 min at most (10 min of presentation + 20 min for questions/discussion).\r\n\r\nTo be part of the C API summit, [register your interest now!](https://docs.google.com/forms/d/e/1FAIpQLSc2tLqibsxg-GhTOYkdcMtSopRwojct8-lqhxAE-F9a7Xghww/viewform)\r\n\r\nWe will contact you with more details closer to the event.", "description": null, "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 the author of SPy, a core developer of PyScript and PyPy, and one of the founders of the HPy project, which aims to design a better and more modern C API for Python. He loves to write tools from developers for developers, such as Pdb++, fancycompleter and vmprof and he is creator/maintainer/contributor of numerous other open source projects. He have also been very active in the Python community for years, giving talks at various conferences such as EuroPython, EuroSciPy, PyCon Italia, and many others. He regularly writes on the PyPy blog and on the HPy blog. His main areas of interest are compilers, language implementation, TDD and performance.", "public_name": "Antonio Cuni", "guid": "eb49f09e-1765-599f-85db-c3979b48b650", "url": "https://programme.europython.eu/europython-2024/speaker/QMAPYZ/"}, {"code": "SCAGQW", "name": "Petr Viktorin", "avatar": "https://programme.europython.eu/media/avatars/SCAGQW_gVfuTj1.webp", "biography": null, "public_name": "Petr Viktorin", "guid": "6cf72eda-9293-5fe9-9d29-a56ead87f692", "url": "https://programme.europython.eu/europython-2024/speaker/SCAGQW/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/WJPJG9/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/WJPJG9/", "attachments": []}, {"guid": "0acf9194-7025-5305-905b-97006f3ca532", "code": "WJPJG9", "id": 51649, "logo": null, "date": "2024-07-08T15:30:00+02:00", "start": "15:30", "duration": "01:30", "room": "Club D", "slug": "europython-2024-51649-3-c-api-summit", "url": "https://programme.europython.eu/europython-2024/talk/WJPJG9/", "title": "C API Summit", "subtitle": "", "track": null, "type": "Conference Workshop", "language": "en", "abstract": "* **When**: Monday, July 8th.\r\n* **Where**: Prague Congress Centre (PCC), Room Club D\r\n* **Who can join**: Anyone with a valid in-person EuroPython 2024 ticket - Conference, Tutorial or Combined (see [ticket types](https://ep2024.europython.eu/tickets#ticket-types) for details).\r\n\r\nThe C API has many different stakeholders, including but not limited to\r\nCPython core developers, maintainers of Python extensions, code generators\r\n(Cython, pybind11, etc) and alternative API design (HPy).\r\n\r\nThe main goal of this summit is to make sure that people from all these\r\ndifferent projects can meet and discuss about the state of the C API, existing\r\nchallenges and ongoing work.\r\n\r\n## Agenda\r\n\r\n* 9:00: Meet and greet - unconference-y post-it based organisation.\r\n* 9:30: Presentations (30 mins each)\r\n* 11:00: Coffee\r\n* 11:15: Presentations\r\n* 12:45: Lunch at the PCC (included)\r\n* 13:45: Unconference-y activities (discussions, hacks, ad hoc tutorials etc\u2026)\r\n* 16:00: Round-up / plenary session for feedback and organising next steps.\r\n* 18:30: Dinner\r\n\r\n## Registration\r\n\r\nYou need to have a valid EuroPython in-person ticket ([Conference, Tutorial or Combined](https://ep2024.europython.eu/tickets#ticket-types)) to participate. Purchase a EuroPython ticket [here](https://tickets.europython.eu/), if you haven't already.\r\n\r\nThe event is limited to 40 participants. If there is a topic you would like to present, please indicate it in the form and _fill it in early_. Time slots are of 30 min at most (10 min of presentation + 20 min for questions/discussion).\r\n\r\nTo be part of the C API summit, [register your interest now!](https://docs.google.com/forms/d/e/1FAIpQLSc2tLqibsxg-GhTOYkdcMtSopRwojct8-lqhxAE-F9a7Xghww/viewform)\r\n\r\nWe will contact you with more details closer to the event.", "description": null, "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 the author of SPy, a core developer of PyScript and PyPy, and one of the founders of the HPy project, which aims to design a better and more modern C API for Python. He loves to write tools from developers for developers, such as Pdb++, fancycompleter and vmprof and he is creator/maintainer/contributor of numerous other open source projects. He have also been very active in the Python community for years, giving talks at various conferences such as EuroPython, EuroSciPy, PyCon Italia, and many others. He regularly writes on the PyPy blog and on the HPy blog. His main areas of interest are compilers, language implementation, TDD and performance.", "public_name": "Antonio Cuni", "guid": "eb49f09e-1765-599f-85db-c3979b48b650", "url": "https://programme.europython.eu/europython-2024/speaker/QMAPYZ/"}, {"code": "SCAGQW", "name": "Petr Viktorin", "avatar": "https://programme.europython.eu/media/avatars/SCAGQW_gVfuTj1.webp", "biography": null, "public_name": "Petr Viktorin", "guid": "6cf72eda-9293-5fe9-9d29-a56ead87f692", "url": "https://programme.europython.eu/europython-2024/speaker/SCAGQW/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/WJPJG9/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/WJPJG9/", "attachments": []}], "Club E": [{"guid": "902d07ec-9a4e-5afc-92e3-4caaf01a1f7a", "code": "X99G8E", "id": 46793, "logo": null, "date": "2024-07-08T09:30:00+02:00", "start": "09:30", "duration": "01:30", "room": "Club E", "slug": "europython-2024-46793-0-writing-python-modules-in-rust", "url": "https://programme.europython.eu/europython-2024/talk/X99G8E/", "title": "Writing Python modules in Rust", "subtitle": "", "track": "Python Libraries & Tooling (2024)", "type": "Tutorial", "language": "en", "abstract": "Over the years we have many Python extensions written in Rust, for performance, safety/security being the primary reason. This workshop is meant for Python programmers (who may never touched Rust before) to try out writing a fully working extension with various features.\r\n\r\nBefore workshopp:\r\n\r\n- Install Rust via https://rustup.rs\r\n- Install Python development package and dependencies from https://devguide.python.org/getting-started/setup-building/#install-dependencies", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "CXYAXB", "name": "Kushal Das", "avatar": "https://programme.europython.eu/media/avatars/CXYAXB_bBIf6Mh.webp", "biography": "Kushal Das is a public interest technologist working at Sunet (https://sunet.se) where he helps to build secure and privacy focused tools and services. He is Cpython core developer & a director at the Python Software Foundation. He is also part of the core team of the Tor Project, and a long time contributor to Fedora Project. In 2004 he founded Linux Users' Group of Durgapur. He also helps out journalists/activists with digital security trainings. He regularly blogs at https://kushaldas.in.", "public_name": "Kushal Das", "guid": "fc030759-f495-5fbe-befe-c7ccda42984b", "url": "https://programme.europython.eu/europython-2024/speaker/CXYAXB/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/X99G8E/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/X99G8E/", "attachments": []}, {"guid": "3bed8097-f2bd-5a76-8f88-1b4eb417a642", "code": "X99G8E", "id": 46793, "logo": null, "date": "2024-07-08T11:15:00+02:00", "start": "11:15", "duration": "01:30", "room": "Club E", "slug": "europython-2024-46793-1-writing-python-modules-in-rust", "url": "https://programme.europython.eu/europython-2024/talk/X99G8E/", "title": "Writing Python modules in Rust", "subtitle": "", "track": "Python Libraries & Tooling (2024)", "type": "Tutorial", "language": "en", "abstract": "Over the years we have many Python extensions written in Rust, for performance, safety/security being the primary reason. This workshop is meant for Python programmers (who may never touched Rust before) to try out writing a fully working extension with various features.\r\n\r\nBefore workshopp:\r\n\r\n- Install Rust via https://rustup.rs\r\n- Install Python development package and dependencies from https://devguide.python.org/getting-started/setup-building/#install-dependencies", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "CXYAXB", "name": "Kushal Das", "avatar": "https://programme.europython.eu/media/avatars/CXYAXB_bBIf6Mh.webp", "biography": "Kushal Das is a public interest technologist working at Sunet (https://sunet.se) where he helps to build secure and privacy focused tools and services. He is Cpython core developer & a director at the Python Software Foundation. He is also part of the core team of the Tor Project, and a long time contributor to Fedora Project. In 2004 he founded Linux Users' Group of Durgapur. He also helps out journalists/activists with digital security trainings. He regularly blogs at https://kushaldas.in.", "public_name": "Kushal Das", "guid": "fc030759-f495-5fbe-befe-c7ccda42984b", "url": "https://programme.europython.eu/europython-2024/speaker/CXYAXB/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/X99G8E/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/X99G8E/", "attachments": []}, {"guid": "fc178740-ffd4-5d17-af43-6b19eda40e88", "code": "SAWP3R", "id": 45694, "logo": null, "date": "2024-07-08T13:45:00+02:00", "start": "13:45", "duration": "01:30", "room": "Club E", "slug": "europython-2024-45694-0-pre-commit-to-better-code", "url": "https://programme.europython.eu/europython-2024/talk/SAWP3R/", "title": "(Pre-)Commit to Better Code", "subtitle": "", "track": "Python Libraries & Tooling (2024)", "type": "Tutorial", "language": "en", "abstract": "Maintaining code quality can be challenging, no matter the size of your project or number of contributors. Different team members may have different opinions on code styling and preferences for code structure, while solo contributors might find themselves spending a considerable amount of time making sure the code conforms to accepted conventions. However, manually inspecting and fixing issues in files is both tedious and error-prone. As such, computers are much more suited to this task than humans. Pre-commit hooks are a great way to have a computer handle this for you.\r\n\r\nPre-commit hooks are code checks that run whenever you attempt to commit your changes with Git. They can detect and, in some cases, automatically correct code-quality issues *before* they make it to your code base. In this tutorial, you will learn how to install and configure pre-commit hooks for your repository to ensure that only code that passes your checks makes it into your code base. We will also explore how to build custom pre-commit hooks for novel use cases.\r\n\r\n## Prerequisites\r\n- Comfort writing Python code and working with Git on the command line using basic commands (e.g., clone, status, diff, add, commit, and push)\r\n- Have Python and Git installed on your computers, as well as a text editor for writing code (e.g., Visual Studio Code)\r\n\r\n## Prepare for the workshop\r\n1. Fork and clone [this repository](https://github.com/stefmolin/pre-commit-workshop).\r\n2. Create a virtual environment for this workshop using whichever tool you prefer.\r\n3. Run `pip install pre-commit` (or equivalent) in your activated virtual environment.\r\n4. Brainstorm some ideas for your hook.\r\n\r\n## Feedback?\r\nLet me know what you thought by filling out [this feedback form](https://stefaniemolin.com/feedback/).", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "9WJJPL", "name": "Stefanie Molin", "avatar": "https://programme.europython.eu/media/avatars/9WJJPL_CpF0joR.webp", "biography": "[Stefanie Molin](https://stefaniemolin.com) is a software engineer at Bloomberg in New York City, where she tackles tough problems in information security, particularly those revolving around data wrangling/visualization, building tools for gathering data, and knowledge sharing. She is also the author of \u201c[Hands-On Data Analysis with Pandas: A Python data science handbook for data collection, wrangling, analysis, and visualization](https://www.amazon.com/Hands-Data-Analysis-Pandas-visualization/dp/1800563450),\u201d which is currently in its second edition and has been translated into Korean and Chinese, and a core developer of [numpydoc](https://github.com/numpy/numpydoc). She holds a bachelor\u2019s of science degree in operations research from Columbia University's Fu Foundation School of Engineering and Applied Science, as well as a master\u2019s degree in computer science, with a specialization in machine learning, from Georgia Tech. In her free time, she enjoys traveling the world, inventing new recipes, and learning new languages spoken among both people and computers.", "public_name": "Stefanie Molin", "guid": "a8a67b83-2096-5586-949a-be3485dfad1e", "url": "https://programme.europython.eu/europython-2024/speaker/9WJJPL/"}], "links": [{"title": "Slides", "url": "https://stefaniemolin.com/pre-commit-workshop/", "type": "related"}], "feedback_url": "https://programme.europython.eu/europython-2024/talk/SAWP3R/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/SAWP3R/", "attachments": []}, {"guid": "276bc879-dac3-5b94-beb9-5d9e7f8b8cc9", "code": "SAWP3R", "id": 45694, "logo": null, "date": "2024-07-08T15:30:00+02:00", "start": "15:30", "duration": "01:30", "room": "Club E", "slug": "europython-2024-45694-1-pre-commit-to-better-code", "url": "https://programme.europython.eu/europython-2024/talk/SAWP3R/", "title": "(Pre-)Commit to Better Code", "subtitle": "", "track": "Python Libraries & Tooling (2024)", "type": "Tutorial", "language": "en", "abstract": "Maintaining code quality can be challenging, no matter the size of your project or number of contributors. Different team members may have different opinions on code styling and preferences for code structure, while solo contributors might find themselves spending a considerable amount of time making sure the code conforms to accepted conventions. However, manually inspecting and fixing issues in files is both tedious and error-prone. As such, computers are much more suited to this task than humans. Pre-commit hooks are a great way to have a computer handle this for you.\r\n\r\nPre-commit hooks are code checks that run whenever you attempt to commit your changes with Git. They can detect and, in some cases, automatically correct code-quality issues *before* they make it to your code base. In this tutorial, you will learn how to install and configure pre-commit hooks for your repository to ensure that only code that passes your checks makes it into your code base. We will also explore how to build custom pre-commit hooks for novel use cases.\r\n\r\n## Prerequisites\r\n- Comfort writing Python code and working with Git on the command line using basic commands (e.g., clone, status, diff, add, commit, and push)\r\n- Have Python and Git installed on your computers, as well as a text editor for writing code (e.g., Visual Studio Code)\r\n\r\n## Prepare for the workshop\r\n1. Fork and clone [this repository](https://github.com/stefmolin/pre-commit-workshop).\r\n2. Create a virtual environment for this workshop using whichever tool you prefer.\r\n3. Run `pip install pre-commit` (or equivalent) in your activated virtual environment.\r\n4. Brainstorm some ideas for your hook.\r\n\r\n## Feedback?\r\nLet me know what you thought by filling out [this feedback form](https://stefaniemolin.com/feedback/).", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "9WJJPL", "name": "Stefanie Molin", "avatar": "https://programme.europython.eu/media/avatars/9WJJPL_CpF0joR.webp", "biography": "[Stefanie Molin](https://stefaniemolin.com) is a software engineer at Bloomberg in New York City, where she tackles tough problems in information security, particularly those revolving around data wrangling/visualization, building tools for gathering data, and knowledge sharing. She is also the author of \u201c[Hands-On Data Analysis with Pandas: A Python data science handbook for data collection, wrangling, analysis, and visualization](https://www.amazon.com/Hands-Data-Analysis-Pandas-visualization/dp/1800563450),\u201d which is currently in its second edition and has been translated into Korean and Chinese, and a core developer of [numpydoc](https://github.com/numpy/numpydoc). She holds a bachelor\u2019s of science degree in operations research from Columbia University's Fu Foundation School of Engineering and Applied Science, as well as a master\u2019s degree in computer science, with a specialization in machine learning, from Georgia Tech. In her free time, she enjoys traveling the world, inventing new recipes, and learning new languages spoken among both people and computers.", "public_name": "Stefanie Molin", "guid": "a8a67b83-2096-5586-949a-be3485dfad1e", "url": "https://programme.europython.eu/europython-2024/speaker/9WJJPL/"}], "links": [{"title": "Slides", "url": "https://stefaniemolin.com/pre-commit-workshop/", "type": "related"}], "feedback_url": "https://programme.europython.eu/europython-2024/talk/SAWP3R/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/SAWP3R/", "attachments": []}], "Club H": [{"guid": "9e045e70-520e-512f-89cb-e23bc9e4c0f5", "code": "U7UMBE", "id": 47436, "logo": null, "date": "2024-07-08T09:30:00+02:00", "start": "09:30", "duration": "01:30", "room": "Club H", "slug": "europython-2024-47436-0-event-sourcing-from-the-ground-up", "url": "https://programme.europython.eu/europython-2024/talk/U7UMBE/", "title": "Event Sourcing From The Ground Up", "subtitle": "", "track": "Software Engineering & Architecture (2024)", "type": "Tutorial", "language": "en", "abstract": "We often think about data in terms of storing the current state of our models. If a chess player moves a piece, we update the state of the board and persist it. This makes it easy to query the current state of the game, but also poses some challenges: How do we know which moves led up to the current state? And how do we ensure that the state remains consistent, even in a distributed system?\r\n\r\n**Event Sourcing** takes a different approach to storing state. Instead of storing the current state as-is, we store the *sequence of events* that led to the current state. If we need to know the current state, we can replay this immutable record of events to reconstruct it. Not only does this give us an immutable audit log, this also promotes loose coupling and enables optimistic concurrency.\r\n\r\nIn this tutorial, we are going to build an \u201cEvent Sourcing\u201d-based backend for a simple Connect 4 game. Rather than using a framework that abstracts away some of the core principles, we are going to implement the mechanisms ourselves to help us understand the core principles.\r\n\r\n### Outline\r\n- Introduction to Event Sourcing and Domain-Driven Design\r\n- Modeling the events in our game\r\n- Implementing our first events and our aggregate\r\n- Reconstructing state from events\r\n- Persisting the events\r\n- Beyond this tutorial + Q&A\r\n\r\n### Audience & Preparation\r\nThis tutorial is for you if you\u2019re interested in Event Sourcing but don\u2019t have any real experience with it yet. We do expect you to have at least an intermediate level in Python.\r\n\r\nDo make sure to bring your laptop, **with the following tools installed**:\r\n- Python 3.12\r\n- Docker (free-to-use for educational purposes)\r\n- Git\r\n- Your favorite editor\r\n\r\nAfter you've installed everything on your laptop, clone [the repository](https://github.com/Ordina-Group/python-event-sourcing-tutorial) and follow the instructions in the README.md to set up the project.", "description": null, "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 Python enthusiast who likes to think about good software design and engineering. He is a fellow of the EuroPython Society and the Python Software Foundation, works for the Pythoneers at Sopra Steria Netherlands, and frequently speaks at conferences around the world. Sebastiaan is also a board member of the EuroPython Society.", "public_name": "Sebastiaan Zeeff", "guid": "696063f8-b3c0-5311-b7e1-9a276f096fb1", "url": "https://programme.europython.eu/europython-2024/speaker/UPWXFZ/"}, {"code": "AU3L9P", "name": "Ravi Selker", "avatar": "https://programme.europython.eu/media/avatars/AU3L9P_lGzKqzJ.webp", "biography": "Ravi works as a (python) software developer at Ordina/Sopra Steria, an IT service provider. He also co-founded jamovi, an easy-to-use statistical spreadsheet.", "public_name": "Ravi Selker", "guid": "cc18eb31-aa14-5c29-9646-253e2e707e9a", "url": "https://programme.europython.eu/europython-2024/speaker/AU3L9P/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/U7UMBE/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/U7UMBE/", "attachments": []}, {"guid": "7cb65e36-1d20-56f5-a737-eb91ea0de17e", "code": "U7UMBE", "id": 47436, "logo": null, "date": "2024-07-08T11:15:00+02:00", "start": "11:15", "duration": "01:30", "room": "Club H", "slug": "europython-2024-47436-1-event-sourcing-from-the-ground-up", "url": "https://programme.europython.eu/europython-2024/talk/U7UMBE/", "title": "Event Sourcing From The Ground Up", "subtitle": "", "track": "Software Engineering & Architecture (2024)", "type": "Tutorial", "language": "en", "abstract": "We often think about data in terms of storing the current state of our models. If a chess player moves a piece, we update the state of the board and persist it. This makes it easy to query the current state of the game, but also poses some challenges: How do we know which moves led up to the current state? And how do we ensure that the state remains consistent, even in a distributed system?\r\n\r\n**Event Sourcing** takes a different approach to storing state. Instead of storing the current state as-is, we store the *sequence of events* that led to the current state. If we need to know the current state, we can replay this immutable record of events to reconstruct it. Not only does this give us an immutable audit log, this also promotes loose coupling and enables optimistic concurrency.\r\n\r\nIn this tutorial, we are going to build an \u201cEvent Sourcing\u201d-based backend for a simple Connect 4 game. Rather than using a framework that abstracts away some of the core principles, we are going to implement the mechanisms ourselves to help us understand the core principles.\r\n\r\n### Outline\r\n- Introduction to Event Sourcing and Domain-Driven Design\r\n- Modeling the events in our game\r\n- Implementing our first events and our aggregate\r\n- Reconstructing state from events\r\n- Persisting the events\r\n- Beyond this tutorial + Q&A\r\n\r\n### Audience & Preparation\r\nThis tutorial is for you if you\u2019re interested in Event Sourcing but don\u2019t have any real experience with it yet. We do expect you to have at least an intermediate level in Python.\r\n\r\nDo make sure to bring your laptop, **with the following tools installed**:\r\n- Python 3.12\r\n- Docker (free-to-use for educational purposes)\r\n- Git\r\n- Your favorite editor\r\n\r\nAfter you've installed everything on your laptop, clone [the repository](https://github.com/Ordina-Group/python-event-sourcing-tutorial) and follow the instructions in the README.md to set up the project.", "description": null, "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 Python enthusiast who likes to think about good software design and engineering. He is a fellow of the EuroPython Society and the Python Software Foundation, works for the Pythoneers at Sopra Steria Netherlands, and frequently speaks at conferences around the world. Sebastiaan is also a board member of the EuroPython Society.", "public_name": "Sebastiaan Zeeff", "guid": "696063f8-b3c0-5311-b7e1-9a276f096fb1", "url": "https://programme.europython.eu/europython-2024/speaker/UPWXFZ/"}, {"code": "AU3L9P", "name": "Ravi Selker", "avatar": "https://programme.europython.eu/media/avatars/AU3L9P_lGzKqzJ.webp", "biography": "Ravi works as a (python) software developer at Ordina/Sopra Steria, an IT service provider. He also co-founded jamovi, an easy-to-use statistical spreadsheet.", "public_name": "Ravi Selker", "guid": "cc18eb31-aa14-5c29-9646-253e2e707e9a", "url": "https://programme.europython.eu/europython-2024/speaker/AU3L9P/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/U7UMBE/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/U7UMBE/", "attachments": []}, {"guid": "4f515d29-4410-5c4e-9481-389e481ffdc8", "code": "AVNAPX", "id": 46965, "logo": null, "date": "2024-07-08T13:45:00+02:00", "start": "13:45", "duration": "01:30", "room": "Club H", "slug": "europython-2024-46965-0-parallelism-concurrency-and-asyncio-a-comprehensive-guide-for-beginners", "url": "https://programme.europython.eu/europython-2024/talk/AVNAPX/", "title": "Parallelism, Concurrency, and AsyncIO: A Comprehensive Guide for Beginners", "subtitle": "", "track": "Python Internals & Ecosystem (2024)", "type": "Tutorial", "language": "en", "abstract": "This tutorial is crafted for those new to the concepts of concurrent programming, offering a deep dive into the intricacies of parallelism and concurrency in Python. We will cover basic threading, multiprocessing, concurrent.futures to the advanced asynchronous I/O capabilities of AsyncIO. \r\n\r\nAsync IO is a concurrent programming design that has received dedicated support in Python; whereas the package in the Python standard library asyncio provides a foundation and API for running and managing coroutines. Whether you're handling I/O-bound or CPU-bound tasks, this tutorial will equip you with the knowledge to write efficient, robust, and high-performing Python applications.\r\n\r\nBasic Python programming experience is needed.", "description": null, "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": "66f6dd79-be67-51bb-80b7-41f6c5441ec3", "url": "https://programme.europython.eu/europython-2024/speaker/CHHWUG/"}, {"code": "DSKWCM", "name": "Manoj Pandey", "avatar": "https://programme.europython.eu/media/avatars/DSKWCM_0e0ioeY.webp", "biography": "Manoj is a Pythonista, builder, polyglot. Founder/Organizer of PyData Delhi.  He has been speaking at several conferences including PyCon UK, Finland, Italy, Philippines, and more.", "public_name": "Manoj Pandey", "guid": "9aaa581b-adcc-5d7e-bf3f-230de0b3bf0e", "url": "https://programme.europython.eu/europython-2024/speaker/DSKWCM/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/AVNAPX/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/AVNAPX/", "attachments": []}, {"guid": "1e171e62-8fa1-5242-9817-0c65fc3ca8a0", "code": "AVNAPX", "id": 46965, "logo": null, "date": "2024-07-08T15:30:00+02:00", "start": "15:30", "duration": "01:30", "room": "Club H", "slug": "europython-2024-46965-1-parallelism-concurrency-and-asyncio-a-comprehensive-guide-for-beginners", "url": "https://programme.europython.eu/europython-2024/talk/AVNAPX/", "title": "Parallelism, Concurrency, and AsyncIO: A Comprehensive Guide for Beginners", "subtitle": "", "track": "Python Internals & Ecosystem (2024)", "type": "Tutorial", "language": "en", "abstract": "This tutorial is crafted for those new to the concepts of concurrent programming, offering a deep dive into the intricacies of parallelism and concurrency in Python. We will cover basic threading, multiprocessing, concurrent.futures to the advanced asynchronous I/O capabilities of AsyncIO. \r\n\r\nAsync IO is a concurrent programming design that has received dedicated support in Python; whereas the package in the Python standard library asyncio provides a foundation and API for running and managing coroutines. Whether you're handling I/O-bound or CPU-bound tasks, this tutorial will equip you with the knowledge to write efficient, robust, and high-performing Python applications.\r\n\r\nBasic Python programming experience is needed.", "description": null, "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": "66f6dd79-be67-51bb-80b7-41f6c5441ec3", "url": "https://programme.europython.eu/europython-2024/speaker/CHHWUG/"}, {"code": "DSKWCM", "name": "Manoj Pandey", "avatar": "https://programme.europython.eu/media/avatars/DSKWCM_0e0ioeY.webp", "biography": "Manoj is a Pythonista, builder, polyglot. Founder/Organizer of PyData Delhi.  He has been speaking at several conferences including PyCon UK, Finland, Italy, Philippines, and more.", "public_name": "Manoj Pandey", "guid": "9aaa581b-adcc-5d7e-bf3f-230de0b3bf0e", "url": "https://programme.europython.eu/europython-2024/speaker/DSKWCM/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/AVNAPX/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/AVNAPX/", "attachments": []}]}}, {"index": 2, "date": "2024-07-09", "day_start": "2024-07-09T04:00:00+02:00", "day_end": "2024-07-10T03:59:00+02:00", "rooms": {"Club A": [{"guid": "1e5351c9-60a1-5354-b7e2-2b78c32ae618", "code": "3W7FPY", "id": 52065, "logo": null, "date": "2024-07-09T08:30:00+02:00", "start": "08:30", "duration": "01:00", "room": "Club A", "slug": "europython-2024-52065-tuesday-registration-welcome-forum-hall-foyer-1st-floor", "url": "https://programme.europython.eu/europython-2024/talk/3W7FPY/", "title": "Tuesday Registration & Welcome @ Forum Hall Foyer 1st Floor", "subtitle": "", "track": null, "type": "Announcements", "language": "en", "abstract": "Welcome to EuroPython 2024! 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!", "description": null, "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/3W7FPY/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/3W7FPY/", "attachments": []}, {"guid": "59a3584f-70c5-5087-bebf-0847c603f9de", "code": "XLXNGG", "id": 46757, "logo": null, "date": "2024-07-09T09:30:00+02:00", "start": "09:30", "duration": "01:30", "room": "Club A", "slug": "europython-2024-46757-0-gpu-development-in-python-101", "url": "https://programme.europython.eu/europython-2024/talk/XLXNGG/", "title": "GPU Development in Python 101", "subtitle": "", "track": "PyData: Software Packages & Jupyter (2024)", "type": "Tutorial", "language": "en", "abstract": "Since joining NVIDIA I\u2019ve gotten to grips with the fundamentals of writing accelerated code in Python. I was amazed to discover that I didn\u2019t need to learn C++ and I didn\u2019t need new development tools. Writing GPU code in Python is easier today than ever, and in this tutorial, I will share what I\u2019ve learned and how you can get started with accelerating your code.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "EE7H7J", "name": "Jacob Tomlinson", "avatar": "https://programme.europython.eu/media/avatars/EE7H7J_KtXk3nN.webp", "biography": "Jacob Tomlinson is a senior software engineer at NVIDIA. His work involves maintaining open source projects including RAPIDS and Dask. He also tinkers with kr8s in his spare time. He lives in Exeter, UK.", "public_name": "Jacob Tomlinson", "guid": "effa7a13-dc1e-59d2-ad5d-09840937dc0c", "url": "https://programme.europython.eu/europython-2024/speaker/EE7H7J/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/XLXNGG/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/XLXNGG/", "attachments": []}, {"guid": "d34c8247-9b09-5080-8789-282e44a3714a", "code": "XLXNGG", "id": 46757, "logo": null, "date": "2024-07-09T11:15:00+02:00", "start": "11:15", "duration": "01:30", "room": "Club A", "slug": "europython-2024-46757-1-gpu-development-in-python-101", "url": "https://programme.europython.eu/europython-2024/talk/XLXNGG/", "title": "GPU Development in Python 101", "subtitle": "", "track": "PyData: Software Packages & Jupyter (2024)", "type": "Tutorial", "language": "en", "abstract": "Since joining NVIDIA I\u2019ve gotten to grips with the fundamentals of writing accelerated code in Python. I was amazed to discover that I didn\u2019t need to learn C++ and I didn\u2019t need new development tools. Writing GPU code in Python is easier today than ever, and in this tutorial, I will share what I\u2019ve learned and how you can get started with accelerating your code.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "EE7H7J", "name": "Jacob Tomlinson", "avatar": "https://programme.europython.eu/media/avatars/EE7H7J_KtXk3nN.webp", "biography": "Jacob Tomlinson is a senior software engineer at NVIDIA. His work involves maintaining open source projects including RAPIDS and Dask. He also tinkers with kr8s in his spare time. He lives in Exeter, UK.", "public_name": "Jacob Tomlinson", "guid": "effa7a13-dc1e-59d2-ad5d-09840937dc0c", "url": "https://programme.europython.eu/europython-2024/speaker/EE7H7J/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/XLXNGG/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/XLXNGG/", "attachments": []}, {"guid": "fd3a69f5-91ee-5fc0-9c6b-a9341c34ef1b", "code": "CL3NZ9", "id": 46178, "logo": null, "date": "2024-07-09T13:45:00+02:00", "start": "13:45", "duration": "01:30", "room": "Club A", "slug": "europython-2024-46178-0-data-analysis-the-polars-way", "url": "https://programme.europython.eu/europython-2024/talk/CL3NZ9/", "title": "Data Analysis, the Polars Way", "subtitle": "", "track": "PyData: Software Packages & Jupyter (2024)", "type": "Tutorial", "language": "en", "abstract": "When you take interesting data from public sources, when you install a highly efficient Python library for data analysis (polars), and you start asking fundamental questions, what can possibly go wrong?\r\n\r\nIn this course, we will grab public data about the countries of the world and while playing with them, we will explore (a small subset of) what the polars library has to offer. While traditionally the first steps into data analysis are taken with pandas (a true hero in the Python data world), polars is a fresh newcomer that boasts high efficiency and clearly designed API - so why not start with it?\r\n\r\nYou will learn how to:\r\n\r\n- load, manipulate and clean your data;\r\n- gather insights using grouping, aggregation and joining data from various sources;\r\n- understand and present you data visually.\r\n\r\nYou should possess:\r\n\r\n- a modest knowledge of Python (functions, basic containers)\r\n- some familiarity with Jupyter (or some other) notebooks (recommended)\r\n- optionally some knowledge of pandas (not required at all)\r\n- a computer with a pre-installed virtual environment\r\n\r\nIf possible, come with your laptop prepared - you will find all the installation instructions and notebooks we will be using in the tutorial here: https://github.com/janpipek/eda-polars-way", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "CKX3LQ", "name": "Jan Pipek", "avatar": "https://programme.europython.eu/media/avatars/CKX3LQ_xHRXRLL.webp", "biography": "A physicist by education, a data scientist as a current job title. Co-organiser of PyData Prague meet-ups and mentor of PyLadies.", "public_name": "Jan Pipek", "guid": "ec9af494-a15c-5410-8cad-ed5d85e72330", "url": "https://programme.europython.eu/europython-2024/speaker/CKX3LQ/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/CL3NZ9/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/CL3NZ9/", "attachments": []}, {"guid": "bd736741-425b-5055-ae1b-2bb1df0f6aec", "code": "CL3NZ9", "id": 46178, "logo": null, "date": "2024-07-09T15:30:00+02:00", "start": "15:30", "duration": "01:30", "room": "Club A", "slug": "europython-2024-46178-1-data-analysis-the-polars-way", "url": "https://programme.europython.eu/europython-2024/talk/CL3NZ9/", "title": "Data Analysis, the Polars Way", "subtitle": "", "track": "PyData: Software Packages & Jupyter (2024)", "type": "Tutorial", "language": "en", "abstract": "When you take interesting data from public sources, when you install a highly efficient Python library for data analysis (polars), and you start asking fundamental questions, what can possibly go wrong?\r\n\r\nIn this course, we will grab public data about the countries of the world and while playing with them, we will explore (a small subset of) what the polars library has to offer. While traditionally the first steps into data analysis are taken with pandas (a true hero in the Python data world), polars is a fresh newcomer that boasts high efficiency and clearly designed API - so why not start with it?\r\n\r\nYou will learn how to:\r\n\r\n- load, manipulate and clean your data;\r\n- gather insights using grouping, aggregation and joining data from various sources;\r\n- understand and present you data visually.\r\n\r\nYou should possess:\r\n\r\n- a modest knowledge of Python (functions, basic containers)\r\n- some familiarity with Jupyter (or some other) notebooks (recommended)\r\n- optionally some knowledge of pandas (not required at all)\r\n- a computer with a pre-installed virtual environment\r\n\r\nIf possible, come with your laptop prepared - you will find all the installation instructions and notebooks we will be using in the tutorial here: https://github.com/janpipek/eda-polars-way", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "CKX3LQ", "name": "Jan Pipek", "avatar": "https://programme.europython.eu/media/avatars/CKX3LQ_xHRXRLL.webp", "biography": "A physicist by education, a data scientist as a current job title. Co-organiser of PyData Prague meet-ups and mentor of PyLadies.", "public_name": "Jan Pipek", "guid": "ec9af494-a15c-5410-8cad-ed5d85e72330", "url": "https://programme.europython.eu/europython-2024/speaker/CKX3LQ/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/CL3NZ9/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/CL3NZ9/", "attachments": []}], "Club B": [{"guid": "8e9e0acf-a595-5eeb-8018-0cad77464d14", "code": "BCCBHN", "id": 45420, "logo": null, "date": "2024-07-09T09:30:00+02:00", "start": "09:30", "duration": "01:30", "room": "Club B", "slug": "europython-2024-45420-0-learn-python-by-making-a-console-game", "url": "https://programme.europython.eu/europython-2024/talk/BCCBHN/", "title": "Learn Python by Making a Console Game", "subtitle": "", "track": "Education, Community & Diversity (2024)", "type": "Tutorial", "language": "en", "abstract": "You always wanted to learn programming, but setting it all up felt too intimidating, and the example code was boring? Why not try doing it with a handheld game console that already has everything installed, so you can just start writing the code right away without installing anything on your computer? And why not write some simple video games, like Snake, Tetris, or Flappy Bird? Thanks to the magic of CircuitPython you can now do that. We will walk you step by step through writing a simple video game on 8x8 pixel display. You will learn the basics of programming such as loops, conditionals, handling input and drawing to the screen, all without having to install anything on your laptop.\r\n\r\nTo participate, you will need a laptop or tablet with a USB socket (and an OTG adapter for the tablets), and any text editor (we recommend https://codewith.mu/). A micro-USB cable will be useful too, but we will have some if you didn't bring yours.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "CSLXTY", "name": "Radomir Dopieralski", "avatar": "https://programme.europython.eu/media/avatars/CSLXTY_JOLxYfS.webp", "biography": "I work on OpenStack by day, and play with Python on hardware by night. I build walking spider robots, handheld game consoles, mechanical keyboards, impractical instruments, and all sort of weird contraptions. I'm a member of the Swiss Mechatronic Art Society (SGMK).", "public_name": "Radomir Dopieralski", "guid": "fa674bd4-bc2a-5bbe-80a4-076f056c3a54", "url": "https://programme.europython.eu/europython-2024/speaker/CSLXTY/"}, {"code": "CPYQCK", "name": "Ashish Gupta", "avatar": "https://programme.europython.eu/media/avatars/CPYQCK_qyqLI5w.webp", "biography": "Hii there , I am an opensource contributor and python enthusiast currently associated with Red Hat .", "public_name": "Ashish Gupta", "guid": "ad21314c-a130-5a79-b1c6-5d39bd853874", "url": "https://programme.europython.eu/europython-2024/speaker/CPYQCK/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/BCCBHN/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/BCCBHN/", "attachments": []}, {"guid": "5869341f-ede1-56ba-8604-5ae435625001", "code": "BCCBHN", "id": 45420, "logo": null, "date": "2024-07-09T11:15:00+02:00", "start": "11:15", "duration": "01:30", "room": "Club B", "slug": "europython-2024-45420-1-learn-python-by-making-a-console-game", "url": "https://programme.europython.eu/europython-2024/talk/BCCBHN/", "title": "Learn Python by Making a Console Game", "subtitle": "", "track": "Education, Community & Diversity (2024)", "type": "Tutorial", "language": "en", "abstract": "You always wanted to learn programming, but setting it all up felt too intimidating, and the example code was boring? Why not try doing it with a handheld game console that already has everything installed, so you can just start writing the code right away without installing anything on your computer? And why not write some simple video games, like Snake, Tetris, or Flappy Bird? Thanks to the magic of CircuitPython you can now do that. We will walk you step by step through writing a simple video game on 8x8 pixel display. You will learn the basics of programming such as loops, conditionals, handling input and drawing to the screen, all without having to install anything on your laptop.\r\n\r\nTo participate, you will need a laptop or tablet with a USB socket (and an OTG adapter for the tablets), and any text editor (we recommend https://codewith.mu/). A micro-USB cable will be useful too, but we will have some if you didn't bring yours.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "CSLXTY", "name": "Radomir Dopieralski", "avatar": "https://programme.europython.eu/media/avatars/CSLXTY_JOLxYfS.webp", "biography": "I work on OpenStack by day, and play with Python on hardware by night. I build walking spider robots, handheld game consoles, mechanical keyboards, impractical instruments, and all sort of weird contraptions. I'm a member of the Swiss Mechatronic Art Society (SGMK).", "public_name": "Radomir Dopieralski", "guid": "fa674bd4-bc2a-5bbe-80a4-076f056c3a54", "url": "https://programme.europython.eu/europython-2024/speaker/CSLXTY/"}, {"code": "CPYQCK", "name": "Ashish Gupta", "avatar": "https://programme.europython.eu/media/avatars/CPYQCK_qyqLI5w.webp", "biography": "Hii there , I am an opensource contributor and python enthusiast currently associated with Red Hat .", "public_name": "Ashish Gupta", "guid": "ad21314c-a130-5a79-b1c6-5d39bd853874", "url": "https://programme.europython.eu/europython-2024/speaker/CPYQCK/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/BCCBHN/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/BCCBHN/", "attachments": []}, {"guid": "3246e026-3910-5aa2-8020-72c6a6acd412", "code": "LKJU9G", "id": 46322, "logo": null, "date": "2024-07-09T13:45:00+02:00", "start": "13:45", "duration": "01:30", "room": "Club B", "slug": "europython-2024-46322-0-maths-in-motion-python-powered-modelling-for-real-world-phenomena", "url": "https://programme.europython.eu/europython-2024/talk/LKJU9G/", "title": "Maths in Motion: Python-Powered Modelling for Real-World Phenomena", "subtitle": "", "track": "~ None of these topics (2024)", "type": "Tutorial", "language": "en", "abstract": "Dive into the realm of mathematical modeling in this hands-on workshop, where numbers unlock insights into disease spread, weather patterns, and financial behaviors. Tom and Gurjot lead a journey spanning Classical Physics, Mathematical Biology, Finance, and Chaos Theory.\r\n\r\nFrom tweaking Mechanics models for surprising outcomes to tracking infectious diseases like COVID-19, each segment offers engaging examples, and an opportunity to understand the uses and applications of calculus and differential equations through the lens of Python. \r\n\r\nSuitable for beginners and experts alike, Tom and Gurjot are experienced at using Python for mathematical modelling and are ready to give their thoughts and answer questions, however simple or advanced. Gurjot shares firsthand knowledge from the finance world, unveiling the intricate models shaping modern markets. Tom brings his experience from weather, climate and energy, exploring Chaos Theory's role in weather prediction, and demonstrating tools for understanding atmospheric dynamics.\r\n\r\nThis interactive session isn't just about learning\u2014it's about empowerment. Armed with Python skills and a deeper understanding of mathematical models, participants gain the confidence to explore further, starting with the notebooks we have refined and expanded for EuroPython 2024.\r\n\r\nJoin this journey of discovery, where mathematics meets real-world challenges, and Python becomes your toolkit for exploration.\r\n\r\nPrerequisites: Jupyter notebook and curiosity :)\r\n[Link to Jupyter notebooks: https://github.com/ThomasGregory/pycon-maths_in_motion/]", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "XNNGCH", "name": "Thomas Gregory", "avatar": "https://programme.europython.eu/media/avatars/XNNGCH_HWUM1NP.webp", "biography": "Late-stage PhD student at Imperial. I specialise in designing and solving mathematical models efficiently. Feel free to ask me about how high-performance computing and open source code are being used in meteorology (weather/climate) and magnetohydrodynamics (plasma/fusion)! Passionate about bridging the gap between abstract math and practical coding.\r\n\r\nConnect with me on LinkedIn! https://www.linkedin.com/in/thomasjgregory0/", "public_name": "Thomas Gregory", "guid": "4edd1a9b-d3ad-5f67-8354-887dac10cf75", "url": "https://programme.europython.eu/europython-2024/speaker/XNNGCH/"}, {"code": "DJUD9D", "name": "Gurjot Singh", "avatar": "https://programme.europython.eu/media/avatars/DJUD9D_M1Oo4KM.webp", "biography": "Gurjot is a Quantitative Developer/ Researcher based in London. He currently works as Quantitative Strat in an investment bank. Gurjot's primary expertise is in Python, Mathematical Modelling and C++ and he has over 9 years of experience in the field having previously worked for JPMorgan and start-ups.\r\n\r\nGurjot did his undergraduate degree from IIT Jodhpur and has been coding in Python since his college days.\r\n\r\nWhen he is not working, he enjoys playing hockey and is passionate about cooking Indian food and teaching Mathematics.", "public_name": "Gurjot Singh", "guid": "3eeb64b3-455a-510b-a2b0-374967716d41", "url": "https://programme.europython.eu/europython-2024/speaker/DJUD9D/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/LKJU9G/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/LKJU9G/", "attachments": []}, {"guid": "88580e44-44a5-556e-83bc-264783548a89", "code": "LKJU9G", "id": 46322, "logo": null, "date": "2024-07-09T15:30:00+02:00", "start": "15:30", "duration": "01:30", "room": "Club B", "slug": "europython-2024-46322-1-maths-in-motion-python-powered-modelling-for-real-world-phenomena", "url": "https://programme.europython.eu/europython-2024/talk/LKJU9G/", "title": "Maths in Motion: Python-Powered Modelling for Real-World Phenomena", "subtitle": "", "track": "~ None of these topics (2024)", "type": "Tutorial", "language": "en", "abstract": "Dive into the realm of mathematical modeling in this hands-on workshop, where numbers unlock insights into disease spread, weather patterns, and financial behaviors. Tom and Gurjot lead a journey spanning Classical Physics, Mathematical Biology, Finance, and Chaos Theory.\r\n\r\nFrom tweaking Mechanics models for surprising outcomes to tracking infectious diseases like COVID-19, each segment offers engaging examples, and an opportunity to understand the uses and applications of calculus and differential equations through the lens of Python. \r\n\r\nSuitable for beginners and experts alike, Tom and Gurjot are experienced at using Python for mathematical modelling and are ready to give their thoughts and answer questions, however simple or advanced. Gurjot shares firsthand knowledge from the finance world, unveiling the intricate models shaping modern markets. Tom brings his experience from weather, climate and energy, exploring Chaos Theory's role in weather prediction, and demonstrating tools for understanding atmospheric dynamics.\r\n\r\nThis interactive session isn't just about learning\u2014it's about empowerment. Armed with Python skills and a deeper understanding of mathematical models, participants gain the confidence to explore further, starting with the notebooks we have refined and expanded for EuroPython 2024.\r\n\r\nJoin this journey of discovery, where mathematics meets real-world challenges, and Python becomes your toolkit for exploration.\r\n\r\nPrerequisites: Jupyter notebook and curiosity :)\r\n[Link to Jupyter notebooks: https://github.com/ThomasGregory/pycon-maths_in_motion/]", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "XNNGCH", "name": "Thomas Gregory", "avatar": "https://programme.europython.eu/media/avatars/XNNGCH_HWUM1NP.webp", "biography": "Late-stage PhD student at Imperial. I specialise in designing and solving mathematical models efficiently. Feel free to ask me about how high-performance computing and open source code are being used in meteorology (weather/climate) and magnetohydrodynamics (plasma/fusion)! Passionate about bridging the gap between abstract math and practical coding.\r\n\r\nConnect with me on LinkedIn! https://www.linkedin.com/in/thomasjgregory0/", "public_name": "Thomas Gregory", "guid": "4edd1a9b-d3ad-5f67-8354-887dac10cf75", "url": "https://programme.europython.eu/europython-2024/speaker/XNNGCH/"}, {"code": "DJUD9D", "name": "Gurjot Singh", "avatar": "https://programme.europython.eu/media/avatars/DJUD9D_M1Oo4KM.webp", "biography": "Gurjot is a Quantitative Developer/ Researcher based in London. He currently works as Quantitative Strat in an investment bank. Gurjot's primary expertise is in Python, Mathematical Modelling and C++ and he has over 9 years of experience in the field having previously worked for JPMorgan and start-ups.\r\n\r\nGurjot did his undergraduate degree from IIT Jodhpur and has been coding in Python since his college days.\r\n\r\nWhen he is not working, he enjoys playing hockey and is passionate about cooking Indian food and teaching Mathematics.", "public_name": "Gurjot Singh", "guid": "3eeb64b3-455a-510b-a2b0-374967716d41", "url": "https://programme.europython.eu/europython-2024/speaker/DJUD9D/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/LKJU9G/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/LKJU9G/", "attachments": []}, {"guid": "a5a4000a-e874-5320-a68b-5790d8d9cb83", "code": "PEPTQM", "id": 52702, "logo": null, "date": "2024-07-09T17:10:00+02:00", "start": "17:10", "duration": "00:45", "room": "Club B", "slug": "europython-2024-52702-beginner-conference-orientation", "url": "https://programme.europython.eu/europython-2024/talk/PEPTQM/", "title": "Beginner Conference Orientation", "subtitle": "", "track": null, "type": "Talk (long session)", "language": "en", "abstract": "Are you new to EuroPython or any Python conference? You must have a lot of questions like:\r\n\r\n    What is a Lightning Talk?\r\n    What is an Open Space?\r\n    Besides going to talk, what else can I do?\r\n    Why everyone seems to know each other, how can I join in conversations?\r\n\r\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 tailor made for you.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "GULHDK", "name": "Martin Borus", "avatar": "https://programme.europython.eu/media/avatars/GULHDK_s6m40kZ.webp", "biography": "Working as a software developer writing booking software for ferry companies, Martin has discovered Python in 2014 and has fallen in love with the language quickly. He uses it to write APIs and interfaces with booking software (written in classic \"Navision\" C/SIDE) and to automate all kinds of on-premise software and hardware tasks. \r\n\r\nHe has helped at Europython every year since 2017 and is part of the EuroPython Operations Team. He also volunteers at other Python events like PyConDE, Humble Data and is one of the organisers of the German language Python Barcamp in R\u00fcgen.", "public_name": "Martin Borus", "guid": "703f336b-da27-5ec0-b450-36b478a57017", "url": "https://programme.europython.eu/europython-2024/speaker/GULHDK/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/PEPTQM/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/PEPTQM/", "attachments": [{"title": "Session Slides", "url": "/media/europython-2024/submissions/PEPTQM/resources/Beginners_Orieantation_2024-Final_S7XteL1.pdf", "type": "related"}]}], "Club C": [{"guid": "6468f4cb-1092-549e-b147-6c3307aa07a9", "code": "WZGEEZ", "id": 51774, "logo": null, "date": "2024-07-09T09:30:00+02:00", "start": "09:30", "duration": "01:30", "room": "Club C", "slug": "europython-2024-51774-0-humble-data", "url": "https://programme.europython.eu/europython-2024/talk/WZGEEZ/", "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.", "description": null, "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 a Lead Data Scientist 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 natural language processing, search improvement, recommendation systems, 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": "0ec4c438-8397-5ec8-a7a9-878e41ac3473", "url": "https://programme.europython.eu/europython-2024/speaker/PXQBU9/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/WZGEEZ/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/WZGEEZ/", "attachments": []}, {"guid": "39bb902a-fa6a-5d9e-b3a1-3f61776d2923", "code": "WZGEEZ", "id": 51774, "logo": null, "date": "2024-07-09T11:15:00+02:00", "start": "11:15", "duration": "01:30", "room": "Club C", "slug": "europython-2024-51774-1-humble-data", "url": "https://programme.europython.eu/europython-2024/talk/WZGEEZ/", "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.", "description": null, "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 a Lead Data Scientist 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 natural language processing, search improvement, recommendation systems, 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": "0ec4c438-8397-5ec8-a7a9-878e41ac3473", "url": "https://programme.europython.eu/europython-2024/speaker/PXQBU9/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/WZGEEZ/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/WZGEEZ/", "attachments": []}, {"guid": "a15cc821-abf6-5cfb-8ac4-6e9d9d7440af", "code": "WZGEEZ", "id": 51774, "logo": null, "date": "2024-07-09T13:45:00+02:00", "start": "13:45", "duration": "01:30", "room": "Club C", "slug": "europython-2024-51774-2-humble-data", "url": "https://programme.europython.eu/europython-2024/talk/WZGEEZ/", "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.", "description": null, "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 a Lead Data Scientist 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 natural language processing, search improvement, recommendation systems, 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": "0ec4c438-8397-5ec8-a7a9-878e41ac3473", "url": "https://programme.europython.eu/europython-2024/speaker/PXQBU9/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/WZGEEZ/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/WZGEEZ/", "attachments": []}, {"guid": "843bee9d-7b7b-529f-befd-ce9f3527cb73", "code": "WZGEEZ", "id": 51774, "logo": null, "date": "2024-07-09T15:30:00+02:00", "start": "15:30", "duration": "01:30", "room": "Club C", "slug": "europython-2024-51774-3-humble-data", "url": "https://programme.europython.eu/europython-2024/talk/WZGEEZ/", "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.", "description": null, "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 a Lead Data Scientist 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 natural language processing, search improvement, recommendation systems, 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": "0ec4c438-8397-5ec8-a7a9-878e41ac3473", "url": "https://programme.europython.eu/europython-2024/speaker/PXQBU9/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/WZGEEZ/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/WZGEEZ/", "attachments": []}], "Club D": [{"guid": "3ca65e82-d9ea-5eaf-9fff-155c5924c1f7", "code": "77T3JS", "id": 51648, "logo": null, "date": "2024-07-09T09:30:00+02:00", "start": "09:30", "duration": "01:30", "room": "Club D", "slug": "europython-2024-51648-0-webassembly-summit", "url": "https://programme.europython.eu/europython-2024/talk/77T3JS/", "title": "WebAssembly Summit", "subtitle": "", "track": null, "type": "Conference Workshop", "language": "en", "abstract": "* **When**: Tuesday, July 9th.\r\n* **Where**: Prague Congress Centre (PCC), Room Club D\r\n* **Who can join**: Anyone with a valid in-person EuroPython 2024 ticket - Conference, Tutorial or Combined (see [ticket types](https://ep2024.europython.eu/tickets#ticket-types) for details).\r\n\r\nThis summit aims to bring together maintainers and users of Python with WebAssembly, to discuss the state of this ecosystem, existing challenges, and ongoing work.\r\n\r\nRead about last year's summit [here](https://github.com/psf/webassembly/blob/main/meetings/2023/webassembly-summit-europython.md).\r\n\r\n## Agenda\r\n\r\n* 9:00: Meet and greet (many of us won\u2019t know each other) + unconference-y post-it based organisation.\r\n* 9:30: Presentations (30 mins each)\r\n* 11:00: Coffee\r\n* 11:15: Presentations\r\n* 12:45: Lunch at the PCC (included)\r\n* 13:45: Unconference-y activities (discussions, hacks, ad hoc tutorials etc\u2026)\r\n* 16:00: Round-up / plenary session for feedback and organising next steps.\r\n* 18:30-ish: Ad hoc dinner plans.\r\n\r\n## Registration\r\n\r\nYou need to have a valid EuroPython in-person ticket ([Conference, Tutorial or Combined](https://ep2024.europython.eu/tickets#ticket-types)) to participate. Purchase a EuroPython ticket [here](https://tickets.europython.eu/), if you haven't already.\r\n\r\nThe event is limited to 40 participants. If there is a topic you would like to present, please indicate it in the form and _fill it in early_. Time slots are of 30 min at most (10 min of presentation + 20 min for questions/discussion).\r\n\r\nTo be part of the WASM summit, [register your interest now!](https://forms.gle/J5wBhR9dChVSLiUHA)\r\n\r\nWe will contact you with more details closer to the event.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "BQVLYL", "name": "Nicholas Tollervey", "avatar": "https://programme.europython.eu/media/avatars/BQVLYL_7YRft3L.webp", "biography": "Recovering former member of the Python community.\r\n\r\nMusic, philosophy, teaching, writing & computing. Just like this bio: concise, honest and full of useful information. Everything I say is false... ;-)", "public_name": "Nicholas Tollervey", "guid": "6dbb025e-5e13-549a-a4e3-3e752601b63a", "url": "https://programme.europython.eu/europython-2024/speaker/BQVLYL/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/77T3JS/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/77T3JS/", "attachments": []}, {"guid": "2ab0e41b-1322-53d6-ba30-1c46c256a3e9", "code": "77T3JS", "id": 51648, "logo": null, "date": "2024-07-09T11:15:00+02:00", "start": "11:15", "duration": "01:30", "room": "Club D", "slug": "europython-2024-51648-1-webassembly-summit", "url": "https://programme.europython.eu/europython-2024/talk/77T3JS/", "title": "WebAssembly Summit", "subtitle": "", "track": null, "type": "Conference Workshop", "language": "en", "abstract": "* **When**: Tuesday, July 9th.\r\n* **Where**: Prague Congress Centre (PCC), Room Club D\r\n* **Who can join**: Anyone with a valid in-person EuroPython 2024 ticket - Conference, Tutorial or Combined (see [ticket types](https://ep2024.europython.eu/tickets#ticket-types) for details).\r\n\r\nThis summit aims to bring together maintainers and users of Python with WebAssembly, to discuss the state of this ecosystem, existing challenges, and ongoing work.\r\n\r\nRead about last year's summit [here](https://github.com/psf/webassembly/blob/main/meetings/2023/webassembly-summit-europython.md).\r\n\r\n## Agenda\r\n\r\n* 9:00: Meet and greet (many of us won\u2019t know each other) + unconference-y post-it based organisation.\r\n* 9:30: Presentations (30 mins each)\r\n* 11:00: Coffee\r\n* 11:15: Presentations\r\n* 12:45: Lunch at the PCC (included)\r\n* 13:45: Unconference-y activities (discussions, hacks, ad hoc tutorials etc\u2026)\r\n* 16:00: Round-up / plenary session for feedback and organising next steps.\r\n* 18:30-ish: Ad hoc dinner plans.\r\n\r\n## Registration\r\n\r\nYou need to have a valid EuroPython in-person ticket ([Conference, Tutorial or Combined](https://ep2024.europython.eu/tickets#ticket-types)) to participate. Purchase a EuroPython ticket [here](https://tickets.europython.eu/), if you haven't already.\r\n\r\nThe event is limited to 40 participants. If there is a topic you would like to present, please indicate it in the form and _fill it in early_. Time slots are of 30 min at most (10 min of presentation + 20 min for questions/discussion).\r\n\r\nTo be part of the WASM summit, [register your interest now!](https://forms.gle/J5wBhR9dChVSLiUHA)\r\n\r\nWe will contact you with more details closer to the event.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "BQVLYL", "name": "Nicholas Tollervey", "avatar": "https://programme.europython.eu/media/avatars/BQVLYL_7YRft3L.webp", "biography": "Recovering former member of the Python community.\r\n\r\nMusic, philosophy, teaching, writing & computing. Just like this bio: concise, honest and full of useful information. Everything I say is false... ;-)", "public_name": "Nicholas Tollervey", "guid": "6dbb025e-5e13-549a-a4e3-3e752601b63a", "url": "https://programme.europython.eu/europython-2024/speaker/BQVLYL/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/77T3JS/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/77T3JS/", "attachments": []}, {"guid": "0ab29feb-6c40-55b7-9885-78b46720e1ec", "code": "77T3JS", "id": 51648, "logo": null, "date": "2024-07-09T13:45:00+02:00", "start": "13:45", "duration": "01:30", "room": "Club D", "slug": "europython-2024-51648-2-webassembly-summit", "url": "https://programme.europython.eu/europython-2024/talk/77T3JS/", "title": "WebAssembly Summit", "subtitle": "", "track": null, "type": "Conference Workshop", "language": "en", "abstract": "* **When**: Tuesday, July 9th.\r\n* **Where**: Prague Congress Centre (PCC), Room Club D\r\n* **Who can join**: Anyone with a valid in-person EuroPython 2024 ticket - Conference, Tutorial or Combined (see [ticket types](https://ep2024.europython.eu/tickets#ticket-types) for details).\r\n\r\nThis summit aims to bring together maintainers and users of Python with WebAssembly, to discuss the state of this ecosystem, existing challenges, and ongoing work.\r\n\r\nRead about last year's summit [here](https://github.com/psf/webassembly/blob/main/meetings/2023/webassembly-summit-europython.md).\r\n\r\n## Agenda\r\n\r\n* 9:00: Meet and greet (many of us won\u2019t know each other) + unconference-y post-it based organisation.\r\n* 9:30: Presentations (30 mins each)\r\n* 11:00: Coffee\r\n* 11:15: Presentations\r\n* 12:45: Lunch at the PCC (included)\r\n* 13:45: Unconference-y activities (discussions, hacks, ad hoc tutorials etc\u2026)\r\n* 16:00: Round-up / plenary session for feedback and organising next steps.\r\n* 18:30-ish: Ad hoc dinner plans.\r\n\r\n## Registration\r\n\r\nYou need to have a valid EuroPython in-person ticket ([Conference, Tutorial or Combined](https://ep2024.europython.eu/tickets#ticket-types)) to participate. Purchase a EuroPython ticket [here](https://tickets.europython.eu/), if you haven't already.\r\n\r\nThe event is limited to 40 participants. If there is a topic you would like to present, please indicate it in the form and _fill it in early_. Time slots are of 30 min at most (10 min of presentation + 20 min for questions/discussion).\r\n\r\nTo be part of the WASM summit, [register your interest now!](https://forms.gle/J5wBhR9dChVSLiUHA)\r\n\r\nWe will contact you with more details closer to the event.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "BQVLYL", "name": "Nicholas Tollervey", "avatar": "https://programme.europython.eu/media/avatars/BQVLYL_7YRft3L.webp", "biography": "Recovering former member of the Python community.\r\n\r\nMusic, philosophy, teaching, writing & computing. Just like this bio: concise, honest and full of useful information. Everything I say is false... ;-)", "public_name": "Nicholas Tollervey", "guid": "6dbb025e-5e13-549a-a4e3-3e752601b63a", "url": "https://programme.europython.eu/europython-2024/speaker/BQVLYL/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/77T3JS/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/77T3JS/", "attachments": []}, {"guid": "7b0d3fce-6ee0-5d8e-9922-86b3906e3a45", "code": "77T3JS", "id": 51648, "logo": null, "date": "2024-07-09T15:30:00+02:00", "start": "15:30", "duration": "01:30", "room": "Club D", "slug": "europython-2024-51648-3-webassembly-summit", "url": "https://programme.europython.eu/europython-2024/talk/77T3JS/", "title": "WebAssembly Summit", "subtitle": "", "track": null, "type": "Conference Workshop", "language": "en", "abstract": "* **When**: Tuesday, July 9th.\r\n* **Where**: Prague Congress Centre (PCC), Room Club D\r\n* **Who can join**: Anyone with a valid in-person EuroPython 2024 ticket - Conference, Tutorial or Combined (see [ticket types](https://ep2024.europython.eu/tickets#ticket-types) for details).\r\n\r\nThis summit aims to bring together maintainers and users of Python with WebAssembly, to discuss the state of this ecosystem, existing challenges, and ongoing work.\r\n\r\nRead about last year's summit [here](https://github.com/psf/webassembly/blob/main/meetings/2023/webassembly-summit-europython.md).\r\n\r\n## Agenda\r\n\r\n* 9:00: Meet and greet (many of us won\u2019t know each other) + unconference-y post-it based organisation.\r\n* 9:30: Presentations (30 mins each)\r\n* 11:00: Coffee\r\n* 11:15: Presentations\r\n* 12:45: Lunch at the PCC (included)\r\n* 13:45: Unconference-y activities (discussions, hacks, ad hoc tutorials etc\u2026)\r\n* 16:00: Round-up / plenary session for feedback and organising next steps.\r\n* 18:30-ish: Ad hoc dinner plans.\r\n\r\n## Registration\r\n\r\nYou need to have a valid EuroPython in-person ticket ([Conference, Tutorial or Combined](https://ep2024.europython.eu/tickets#ticket-types)) to participate. Purchase a EuroPython ticket [here](https://tickets.europython.eu/), if you haven't already.\r\n\r\nThe event is limited to 40 participants. If there is a topic you would like to present, please indicate it in the form and _fill it in early_. Time slots are of 30 min at most (10 min of presentation + 20 min for questions/discussion).\r\n\r\nTo be part of the WASM summit, [register your interest now!](https://forms.gle/J5wBhR9dChVSLiUHA)\r\n\r\nWe will contact you with more details closer to the event.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "BQVLYL", "name": "Nicholas Tollervey", "avatar": "https://programme.europython.eu/media/avatars/BQVLYL_7YRft3L.webp", "biography": "Recovering former member of the Python community.\r\n\r\nMusic, philosophy, teaching, writing & computing. Just like this bio: concise, honest and full of useful information. Everything I say is false... ;-)", "public_name": "Nicholas Tollervey", "guid": "6dbb025e-5e13-549a-a4e3-3e752601b63a", "url": "https://programme.europython.eu/europython-2024/speaker/BQVLYL/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/77T3JS/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/77T3JS/", "attachments": []}], "Club E": [{"guid": "9a4a7ee4-0e5b-5fd0-994a-b7971baa9b8b", "code": "Q8GTA3", "id": 46455, "logo": null, "date": "2024-07-09T09:30:00+02:00", "start": "09:30", "duration": "01:30", "room": "Club E", "slug": "europython-2024-46455-0-descriptors-understanding-and-modifying-python-s-attribute-access", "url": "https://programme.europython.eu/europython-2024/talk/Q8GTA3/", "title": "Descriptors - Understanding and Modifying Python's Attribute Access", "subtitle": "", "track": "Python Internals & Ecosystem (2024)", "type": "Tutorial", "language": "en", "abstract": "Descriptors are advanced Python features.\r\nWhile it is possible to write Python programs without active knowledge of them,\r\nknowing more about them facilitates a deeper understanding of the language.\r\nWith examples, you will learn how they work and how to write your own\r\ndescriptors.\r\nFurthermore, you will understand when to use and when better not to use them.\r\n\r\nThis tutorial is a systematic introduction to descriptors.\r\nIt covers all relevant information with a focus on practical applications for\r\ncommon tasks.\r\n\r\nIn hand-on sessions you will learn how to write your own descriptors that adapt\r\nattribute access to your needs.\r\nUse cases provide working code that can serve as a basis for your own solutions.\r\nYou will gain a deeper understanding of more advanced concepts that can help\r\nto write better programs.\r\n\r\n## Software Requirements\r\n\r\nYou will need a recent Python version installed on your laptop. I will use Python 3.12. I recommend that use this version too. If this is not possible, you may use an older version starting from Python 3.7. There are no other requirements. You will receive the tutorial materials during the tutorial.\r\n\r\n### JupyterLab\r\n\r\nI will use [JupyterLab](https://jupyterlab.readthedocs.io/en/stable/) for the tutorial because it makes a very good teaching tool. I recommend that you also use JupyterLab. You may use Notebooks in PyCharm, VS Code, or other systems. If you don't like Notebooks, you are welcome to use the setup you prefer, i.e editor, IDE, REPL.", "description": null, "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 teaching Python courses since 2004. According to my statistics, I've taught about 550 Python courses totaling about 1,400 teaching days. These courses include about 60 tutorials at Python conferences including 28 tutorials at PyCon US as well as numerous tutorials at EuroPython, EuroSciPy, PyCon DE, PyCon PL, PyCon IE, PyCon AsiaPacific as well as at PyData London and Berlin.", "public_name": "Mike M\u00fcller", "guid": "c84d882a-39c5-51be-b6d5-7b7408e7002b", "url": "https://programme.europython.eu/europython-2024/speaker/9KSJ3K/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/Q8GTA3/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/Q8GTA3/", "attachments": []}, {"guid": "58efaec6-80b5-5de5-a113-f4c908805021", "code": "Q8GTA3", "id": 46455, "logo": null, "date": "2024-07-09T11:15:00+02:00", "start": "11:15", "duration": "01:30", "room": "Club E", "slug": "europython-2024-46455-1-descriptors-understanding-and-modifying-python-s-attribute-access", "url": "https://programme.europython.eu/europython-2024/talk/Q8GTA3/", "title": "Descriptors - Understanding and Modifying Python's Attribute Access", "subtitle": "", "track": "Python Internals & Ecosystem (2024)", "type": "Tutorial", "language": "en", "abstract": "Descriptors are advanced Python features.\r\nWhile it is possible to write Python programs without active knowledge of them,\r\nknowing more about them facilitates a deeper understanding of the language.\r\nWith examples, you will learn how they work and how to write your own\r\ndescriptors.\r\nFurthermore, you will understand when to use and when better not to use them.\r\n\r\nThis tutorial is a systematic introduction to descriptors.\r\nIt covers all relevant information with a focus on practical applications for\r\ncommon tasks.\r\n\r\nIn hand-on sessions you will learn how to write your own descriptors that adapt\r\nattribute access to your needs.\r\nUse cases provide working code that can serve as a basis for your own solutions.\r\nYou will gain a deeper understanding of more advanced concepts that can help\r\nto write better programs.\r\n\r\n## Software Requirements\r\n\r\nYou will need a recent Python version installed on your laptop. I will use Python 3.12. I recommend that use this version too. If this is not possible, you may use an older version starting from Python 3.7. There are no other requirements. You will receive the tutorial materials during the tutorial.\r\n\r\n### JupyterLab\r\n\r\nI will use [JupyterLab](https://jupyterlab.readthedocs.io/en/stable/) for the tutorial because it makes a very good teaching tool. I recommend that you also use JupyterLab. You may use Notebooks in PyCharm, VS Code, or other systems. If you don't like Notebooks, you are welcome to use the setup you prefer, i.e editor, IDE, REPL.", "description": null, "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 teaching Python courses since 2004. According to my statistics, I've taught about 550 Python courses totaling about 1,400 teaching days. These courses include about 60 tutorials at Python conferences including 28 tutorials at PyCon US as well as numerous tutorials at EuroPython, EuroSciPy, PyCon DE, PyCon PL, PyCon IE, PyCon AsiaPacific as well as at PyData London and Berlin.", "public_name": "Mike M\u00fcller", "guid": "c84d882a-39c5-51be-b6d5-7b7408e7002b", "url": "https://programme.europython.eu/europython-2024/speaker/9KSJ3K/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/Q8GTA3/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/Q8GTA3/", "attachments": []}, {"guid": "396ba1b6-82f5-541a-a303-5685bb97af6d", "code": "CXLQLX", "id": 46576, "logo": null, "date": "2024-07-09T13:45:00+02:00", "start": "13:45", "duration": "01:30", "room": "Club E", "slug": "europython-2024-46576-0-migrating-a-web-application-from-flask-to-fastapi-avoiding-pitfalls", "url": "https://programme.europython.eu/europython-2024/talk/CXLQLX/", "title": "Migrating a Web Application from Flask to FastAPI: Avoiding Pitfalls", "subtitle": "", "track": "Web technologies (2024)", "type": "Tutorial", "language": "en", "abstract": "Have you ever had to migrate code from one stack to another? Migrating stacks on an application can be a daunting task. The secret is to keep changes to a small size and watch out for blind copy-and-paste.\r\n\r\nJoin me in this tutorial to learn the key differences between FastAPI and Flask plus how these differences will affect your stack migration.\r\n\r\nLearn by doing it: migrate a simple Flask application to FastAPI. Learn how templates work in each framework, how you can use routers to create more complex applications in both Flask and FastAPI, and finally some tips if you are considering migrating from one to the other and vice-versa.\r\n\r\nAfter this tutorial, you will feel confident to start your stack migrations between these two frameworks.\r\n\r\nCheckout slides and code here: https://jtemporal.com/flask-to-fastapi", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "SHLWHX", "name": "Jessica Temporal", "avatar": "https://programme.europython.eu/media/avatars/SHLWHX_iAMgfqu.webp", "biography": "Jessica Temporal is a Sr Developer Advocate at Okta and co-founder of the [first Brazilian data science podcast, Pizza de Dados](https://pizzadedados.com/en). She\u2019s also a LinkedIn Learning\u00a0instructor. Creator of [GitFichas, a git study cards collection](https://gitfichas.com), and is a GitHub Star. Jess also authored [\"The Big Git Microbook\"](https://jtemporal.com/gitmicrobook). She is part of the Pyladies and in her free time, she knits, plays video games, and tries to learn to rollerblade.", "public_name": "Jessica Temporal", "guid": "577f684d-7735-5b5d-95e9-9d7a836117db", "url": "https://programme.europython.eu/europython-2024/speaker/SHLWHX/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/CXLQLX/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/CXLQLX/", "attachments": []}, {"guid": "44db0368-66b3-57e8-8fe4-fbf07d6c6c69", "code": "CXLQLX", "id": 46576, "logo": null, "date": "2024-07-09T15:30:00+02:00", "start": "15:30", "duration": "01:30", "room": "Club E", "slug": "europython-2024-46576-1-migrating-a-web-application-from-flask-to-fastapi-avoiding-pitfalls", "url": "https://programme.europython.eu/europython-2024/talk/CXLQLX/", "title": "Migrating a Web Application from Flask to FastAPI: Avoiding Pitfalls", "subtitle": "", "track": "Web technologies (2024)", "type": "Tutorial", "language": "en", "abstract": "Have you ever had to migrate code from one stack to another? Migrating stacks on an application can be a daunting task. The secret is to keep changes to a small size and watch out for blind copy-and-paste.\r\n\r\nJoin me in this tutorial to learn the key differences between FastAPI and Flask plus how these differences will affect your stack migration.\r\n\r\nLearn by doing it: migrate a simple Flask application to FastAPI. Learn how templates work in each framework, how you can use routers to create more complex applications in both Flask and FastAPI, and finally some tips if you are considering migrating from one to the other and vice-versa.\r\n\r\nAfter this tutorial, you will feel confident to start your stack migrations between these two frameworks.\r\n\r\nCheckout slides and code here: https://jtemporal.com/flask-to-fastapi", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "SHLWHX", "name": "Jessica Temporal", "avatar": "https://programme.europython.eu/media/avatars/SHLWHX_iAMgfqu.webp", "biography": "Jessica Temporal is a Sr Developer Advocate at Okta and co-founder of the [first Brazilian data science podcast, Pizza de Dados](https://pizzadedados.com/en). She\u2019s also a LinkedIn Learning\u00a0instructor. Creator of [GitFichas, a git study cards collection](https://gitfichas.com), and is a GitHub Star. Jess also authored [\"The Big Git Microbook\"](https://jtemporal.com/gitmicrobook). She is part of the Pyladies and in her free time, she knits, plays video games, and tries to learn to rollerblade.", "public_name": "Jessica Temporal", "guid": "577f684d-7735-5b5d-95e9-9d7a836117db", "url": "https://programme.europython.eu/europython-2024/speaker/SHLWHX/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/CXLQLX/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/CXLQLX/", "attachments": []}], "Club H": [{"guid": "b13dd773-1100-5a52-85a2-9372201699a5", "code": "V3C9ED", "id": 46393, "logo": null, "date": "2024-07-09T09:30:00+02:00", "start": "09:30", "duration": "01:30", "room": "Club H", "slug": "europython-2024-46393-0-pytest-tips-and-tricks-for-a-better-testsuite", "url": "https://programme.europython.eu/europython-2024/talk/V3C9ED/", "title": "pytest tips and tricks for a better testsuite", "subtitle": "", "track": "Testing and QA (2024)", "type": "Tutorial", "language": "en", "abstract": "**For slides and the live demos from the training, please see the [GitHub repository](https://github.com/The-Compiler/pytest-tips-and-tricks).**\r\n\r\n---\r\n\r\npytest 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.\r\n\r\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.\r\n\r\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": null, "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 (\"The Compiler\") is a long-time contributor and maintainer of\r\nboth the pytest framework and various plugins. He discovered pytest in 2015 -\r\nsince then, he has given talks and conducted workshops about pytest at various\r\nconferences and companies. His primary project, qutebrowser (a keyboard-focused\r\nweb browser), has grown from a hobby to a donation-funded part-time job.", "public_name": "Freya Bruhin", "guid": "2749b330-20b0-5512-b00d-4ce590e6bdd3", "url": "https://programme.europython.eu/europython-2024/speaker/HZMBBH/"}], "links": [{"title": "GitHub Repository", "url": "https://github.com/The-Compiler/pytest-tips-and-tricks", "type": "related"}], "feedback_url": "https://programme.europython.eu/europython-2024/talk/V3C9ED/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/V3C9ED/", "attachments": []}, {"guid": "6e2d27bd-64e5-5031-b67b-42f4cc1f4b8b", "code": "V3C9ED", "id": 46393, "logo": null, "date": "2024-07-09T11:15:00+02:00", "start": "11:15", "duration": "01:30", "room": "Club H", "slug": "europython-2024-46393-1-pytest-tips-and-tricks-for-a-better-testsuite", "url": "https://programme.europython.eu/europython-2024/talk/V3C9ED/", "title": "pytest tips and tricks for a better testsuite", "subtitle": "", "track": "Testing and QA (2024)", "type": "Tutorial", "language": "en", "abstract": "**For slides and the live demos from the training, please see the [GitHub repository](https://github.com/The-Compiler/pytest-tips-and-tricks).**\r\n\r\n---\r\n\r\npytest 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.\r\n\r\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.\r\n\r\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": null, "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 (\"The Compiler\") is a long-time contributor and maintainer of\r\nboth the pytest framework and various plugins. He discovered pytest in 2015 -\r\nsince then, he has given talks and conducted workshops about pytest at various\r\nconferences and companies. His primary project, qutebrowser (a keyboard-focused\r\nweb browser), has grown from a hobby to a donation-funded part-time job.", "public_name": "Freya Bruhin", "guid": "2749b330-20b0-5512-b00d-4ce590e6bdd3", "url": "https://programme.europython.eu/europython-2024/speaker/HZMBBH/"}], "links": [{"title": "GitHub Repository", "url": "https://github.com/The-Compiler/pytest-tips-and-tricks", "type": "related"}], "feedback_url": "https://programme.europython.eu/europython-2024/talk/V3C9ED/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/V3C9ED/", "attachments": []}, {"guid": "f3bbb021-24cf-5df2-936f-dc903fbbacba", "code": "UR9KUK", "id": 46434, "logo": null, "date": "2024-07-09T13:45:00+02:00", "start": "13:45", "duration": "01:30", "room": "Club H", "slug": "europython-2024-46434-0-profiling-python-code", "url": "https://programme.europython.eu/europython-2024/talk/UR9KUK/", "title": "Profiling Python Code", "subtitle": "", "track": "Python Libraries & Tooling (2024)", "type": "Tutorial", "language": "en", "abstract": "[Slides](https://docs.google.com/presentation/d/1T0K1UHTMYs_eksSfkLbU2rer6MUSiwHKo2-HHRt5W1s/edit?usp=sharing)\r\n[GitHub repo](https://github.com/sdukshis/python-profiling-workshop)\r\n\r\nDuring my talk at python users group meetup about using Linux perf profiling in python 3.12 I asked the audience how they find performance issues in their Python code. Out of all respondents:\r\n * More than half simply read the code and find issues with their eyes;\r\n * 10% don't face such problems at all;\r\n * The rest use various profilers.\r\n\r\nIn this workshop, I would like to influence this distribution and for this.\r\n\r\nAt the beginning, we will consider the application of CPU profiling to find bottlenecks. We will see how convenient it is to read information with a large volume of reports. How we can first localize to problematic functions, and then to specific lines of code. We will be helped by tools such as **pytest-benchmark**, **cProfile** and **line_profiler**.\r\n\r\nNext, it is worth separately considering the problem of memory consumption by our code in Python and looking for places where we do not release it with **memory_profiler** and **py-spy**.\r\n\r\nEach workshop block will be accompanied by an example and a practical task that you can solve on your laptop. And along the way, ask questions, share results, and discuss the topic of the workshop with other participants and the presenter.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "CEWJRR", "name": "Pavel Filonov", "avatar": "https://programme.europython.eu/media/avatars/CEWJRR_FzGf1cE.webp", "biography": "Developed MaxPatrol SIEM at Positive Technologies. At Kaspersky: from a project about ML in industrial cybersecurity to the head of the DS department.\r\n\r\nNow he is developing his own Data Science consulting. Speaker at various conferences. Teacher of online courses on the OTUS platform. Author of trainings on soft skills.", "public_name": "Pavel Filonov", "guid": "bbaa06db-ae5b-59bb-9184-324ae8617d5e", "url": "https://programme.europython.eu/europython-2024/speaker/CEWJRR/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/UR9KUK/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/UR9KUK/", "attachments": []}, {"guid": "144f8008-c183-58bf-a02f-86cdf1b391d4", "code": "UR9KUK", "id": 46434, "logo": null, "date": "2024-07-09T15:30:00+02:00", "start": "15:30", "duration": "01:30", "room": "Club H", "slug": "europython-2024-46434-1-profiling-python-code", "url": "https://programme.europython.eu/europython-2024/talk/UR9KUK/", "title": "Profiling Python Code", "subtitle": "", "track": "Python Libraries & Tooling (2024)", "type": "Tutorial", "language": "en", "abstract": "[Slides](https://docs.google.com/presentation/d/1T0K1UHTMYs_eksSfkLbU2rer6MUSiwHKo2-HHRt5W1s/edit?usp=sharing)\r\n[GitHub repo](https://github.com/sdukshis/python-profiling-workshop)\r\n\r\nDuring my talk at python users group meetup about using Linux perf profiling in python 3.12 I asked the audience how they find performance issues in their Python code. Out of all respondents:\r\n * More than half simply read the code and find issues with their eyes;\r\n * 10% don't face such problems at all;\r\n * The rest use various profilers.\r\n\r\nIn this workshop, I would like to influence this distribution and for this.\r\n\r\nAt the beginning, we will consider the application of CPU profiling to find bottlenecks. We will see how convenient it is to read information with a large volume of reports. How we can first localize to problematic functions, and then to specific lines of code. We will be helped by tools such as **pytest-benchmark**, **cProfile** and **line_profiler**.\r\n\r\nNext, it is worth separately considering the problem of memory consumption by our code in Python and looking for places where we do not release it with **memory_profiler** and **py-spy**.\r\n\r\nEach workshop block will be accompanied by an example and a practical task that you can solve on your laptop. And along the way, ask questions, share results, and discuss the topic of the workshop with other participants and the presenter.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "CEWJRR", "name": "Pavel Filonov", "avatar": "https://programme.europython.eu/media/avatars/CEWJRR_FzGf1cE.webp", "biography": "Developed MaxPatrol SIEM at Positive Technologies. At Kaspersky: from a project about ML in industrial cybersecurity to the head of the DS department.\r\n\r\nNow he is developing his own Data Science consulting. Speaker at various conferences. Teacher of online courses on the OTUS platform. Author of trainings on soft skills.", "public_name": "Pavel Filonov", "guid": "bbaa06db-ae5b-59bb-9184-324ae8617d5e", "url": "https://programme.europython.eu/europython-2024/speaker/CEWJRR/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/UR9KUK/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/UR9KUK/", "attachments": []}]}}, {"index": 3, "date": "2024-07-10", "day_start": "2024-07-10T04:00:00+02:00", "day_end": "2024-07-11T03:59:00+02:00", "rooms": {"Forum Hall": [{"guid": "aeb5cc4c-9743-5bd1-9745-68c70b0e58b3", "code": "TZWRJN", "id": 52066, "logo": null, "date": "2024-07-10T08:00:00+02:00", "start": "08:00", "duration": "01:00", "room": "Forum Hall", "slug": "europython-2024-52066-wednesday-registration-welcome-forum-hall-foyer-1st-floor", "url": "https://programme.europython.eu/europython-2024/talk/TZWRJN/", "title": "Wednesday Registration & Welcome @ Forum Hall Foyer 1st Floor", "subtitle": "", "track": null, "type": "Announcements", "language": "en", "abstract": "Welcome to EuroPython 2024! 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!", "description": null, "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/TZWRJN/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/TZWRJN/", "attachments": []}, {"guid": "f25f16ad-6435-5936-b2c8-5f0e4e5ba286", "code": "HFKHBF", "id": 51569, "logo": null, "date": "2024-07-10T09:00:00+02:00", "start": "09:00", "duration": "00:30", "room": "Forum Hall", "slug": "europython-2024-51569-opening-session", "url": "https://programme.europython.eu/europython-2024/talk/HFKHBF/", "title": "Opening Session", "subtitle": "", "track": null, "type": "Announcements", "language": "en", "abstract": "Welcome to EuroPython 2024.\r\n\r\nLet us welcome you officially and tell you all about what's going to await you in the upcoming days.", "description": null, "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/HFKHBF/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/HFKHBF/", "attachments": []}, {"guid": "e9b77153-6574-5bf2-9c41-60f03f485f21", "code": "WQGUTP", "id": 52134, "logo": null, "date": "2024-07-10T09:30:00+02:00", "start": "09:30", "duration": "00:45", "room": "Forum Hall", "slug": "europython-2024-52134-embracing-python-ai-and-heuristics-optimal-paths-for-impactful-software", "url": "https://programme.europython.eu/europython-2024/talk/WQGUTP/", "title": "Embracing Python, AI, and Heuristics: Optimal Paths for Impactful Software", "subtitle": "", "track": null, "type": "Keynote", "language": "en", "abstract": "Today's rapidly evolving software landscape requires agile and informed decision-making. This keynote will highlight the powerful combination of Python, Artificial Intelligence (AI), and heuristics for enabling dynamic decision-making processes.\r\n\r\nWe will explore the strengths of Python as a versatile language, the potential of AI for intelligent decision support, and the value of heuristics derived from real-world experience. By embracing this synergistic trio, developers can navigate complex challenges, adapt to changing requirements, and make decisions that drive successful software outcomes.\r\n\r\nThrough practical examples and insights, attendees will gain a deeper understanding of how to leverage Python, AI, and heuristics effectively, striking the right balance between technological innovation and tried-and-true techniques. Whether you're a seasoned developer or just starting your journey, this keynote will equip you with the tools and mindset to embrace agility and make informed decisions that propel your software projects forward.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "HBHXB3", "name": "Carol Willing", "avatar": "https://programme.europython.eu/media/avatars/HBHXB3_fd2bdRz.webp", "biography": "I am a globally recognized expert in Python development and open source software. As a board advisor and consultant, I guide early-stage organizations, and leadership teams in the complexities of open source governance, data science, AI, cloud, and Machine Learning. I am a core Python developer, three-time Python steering member, and Project Jupyter core contributor.\r\n\r\nMy contributions to science, open source, and technology are felt far and wide: I have transformed the way students learn with Jupyter notebooks; I\u2019ve contributed and shared to countless open source projects such as AnitaB.org and CPython; I\u2019ve advised many organizations in open source governance including Quansight Labs, CZI Open Source, and PyOpenSci. I am the recipient of the ACM Software System Award (2017) and the Frank Willison Award for technical and community contributions to Python (2019). I\u2019m a co-organizer of PyLadies San Diego and San Diego Python User Group.\r\n\r\nThroughout my career, I\u2019ve built a reputation for embracing opportunity, scaling knowledge through the power of community, and approaching every challenge with curiosity, empathy, and kindness. I have a track record of building high-performance teams, helping organizations grasp the complexities of cloud-native environments, and influencing others through mentorship. I believe in the power of sharing, in the power of community. I also believe that through science and technology and art, we can discover more about who we are as humans. I\u2019m deeply committed to sharing my knowledge with others through stories that make the world of technology and science accessible and relatable\u2014through five-minute mentor moments to a keynote on a global stage.\r\n\r\nWhen I am not coding or deep in research on data, AI, or cognitive science, you can find me in my Southern California garden, surrounded by succulents, restoring an old guitar, or building blinky wearables.", "public_name": "Carol Willing", "guid": "2a06357a-f3a4-5547-9ea3-5915b24f2271", "url": "https://programme.europython.eu/europython-2024/speaker/HBHXB3/"}], "links": [{"title": "Slides", "url": "https://speakerdeck.com/willingc/embracing-python-ai-and-heuristics-optimal-paths-for-impactful-software", "type": "related"}], "feedback_url": "https://programme.europython.eu/europython-2024/talk/WQGUTP/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/WQGUTP/", "attachments": []}, {"guid": "f027e4a1-4c63-52ca-992e-f217c507df83", "code": "ZWDDAT", "id": 46277, "logo": null, "date": "2024-07-10T10:45:00+02:00", "start": "10:45", "duration": "00:45", "room": "Forum Hall", "slug": "europython-2024-46277-spy-static-python-lang-fast-as-c-pythonic-as-python", "url": "https://programme.europython.eu/europython-2024/talk/ZWDDAT/", "title": "SPy (Static Python) lang: fast as C, Pythonic as Python", "subtitle": "", "track": "Python Internals & Ecosystem (2024)", "type": "Talk (long session)", "language": "en", "abstract": "SPy is a brand new statically typed variant of Python which aim to get performance comparable to system languages such as C and C++, while preserving the \"Pythonic feeling\" of the language.\r\n\r\nThe main idea behind SPy is that \"modern Python\" is actually a subset of Python:\r\n\r\n  - many of the most dynamic features of the language are considered bad practice and actively discouraged;\r\n\r\n  - the alway-increasingly adoption of typing leads to codebases which are largerly statically typed.\r\n\r\nHowever, these rules are not enforced by the language, and there are cases in which \"breaking the rules\" is actually useful and make the code easier/better/faster.\r\n\r\nFrom the point of view of language implementors, the VM cannot easily take advantage of the \"mostly static\" nature of programs because it has always to be ready for the generic case.\r\n\r\nSPy tries to reconcile these two sides:\r\n\r\n  - it uses a static type system which is designed specifically for safety and performance;\r\n\r\n  - the vast majority of \"dynamic\" feature of Python (like decorators, metaclasses, `__special_methods__`, ...) can be used at zero cost, since they are resolved at compile time by using meta-programming and partial evaluation techniques.\r\n\r\nThis talk will present in the details the ideas behind SPy and its current status.", "description": null, "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 the author of SPy, a core developer of PyScript and PyPy, and one of the founders of the HPy project, which aims to design a better and more modern C API for Python. He loves to write tools from developers for developers, such as Pdb++, fancycompleter and vmprof and he is creator/maintainer/contributor of numerous other open source projects. He have also been very active in the Python community for years, giving talks at various conferences such as EuroPython, EuroSciPy, PyCon Italia, and many others. He regularly writes on the PyPy blog and on the HPy blog. His main areas of interest are compilers, language implementation, TDD and performance.", "public_name": "Antonio Cuni", "guid": "eb49f09e-1765-599f-85db-c3979b48b650", "url": "https://programme.europython.eu/europython-2024/speaker/QMAPYZ/"}], "links": [{"title": "Slides", "url": "https://antocuni.pyscriptapps.com/spy-pycon-2024/latest/", "type": "related"}], "feedback_url": "https://programme.europython.eu/europython-2024/talk/ZWDDAT/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/ZWDDAT/", "attachments": []}, {"guid": "1cb34e63-afa4-5c74-992d-d3768a4cac61", "code": "K9AHYT", "id": 46549, "logo": null, "date": "2024-07-10T11:35:00+02:00", "start": "11:35", "duration": "00:30", "room": "Forum Hall", "slug": "europython-2024-46549-fastapi-internals", "url": "https://programme.europython.eu/europython-2024/talk/K9AHYT/", "title": "FastAPI Internals", "subtitle": "", "track": "Web technologies (2024)", "type": "Talk", "language": "en", "abstract": "FastAPI became one of the most web frameworks in Python. It has an amazing documentation, and easy to use API, which made it very popular. It's easy to start, and as a developer you have a lot of power on what you can do. But... How does it work internally?\r\n\r\nIn this talk, we will explore the internals of FastAPI. We'll explore the dependency injection system, what are the benefits, and limitations. We'll also see how the routing system works, when the middleware stack runs, how the request and response are handled in detail, how the OpenAPI schema is generated, and the differences between async and non-async endpoints, and how WebSockets fit in the whole picture. Furthermore, we'll also see how the dependencies Pydantic and Starlette help FastAPI on its job.\r\n\r\nAt the end of this talk, the attendee will understand what's underneath of this very popular package.", "description": null, "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 known as The FastAPI Expert. He is Brazilian, and is currently leaving in the Netherlands.\r\nHe maintains Starlette and Uvicorn, and is working at Pydantic.", "public_name": "Marcelo Trylesinski", "guid": "ecf9d37a-4c89-533b-b2fa-a6212e0ec60d", "url": "https://programme.europython.eu/europython-2024/speaker/BGPPXA/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/K9AHYT/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/K9AHYT/", "attachments": []}, {"guid": "e3563ef7-1341-5f2b-b795-d7ce54358af2", "code": "G3PHLZ", "id": 47204, "logo": null, "date": "2024-07-10T12:10:00+02:00", "start": "12:10", "duration": "00:45", "room": "Forum Hall", "slug": "europython-2024-47204-demystify-python-types-for-pep-729", "url": "https://programme.europython.eu/europython-2024/talk/G3PHLZ/", "title": "Demystify Python Types for PEP 729", "subtitle": "", "track": "Python Internals & Ecosystem (2024)", "type": "Talk (long session)", "language": "en", "abstract": "[PEP 729 \u2013 Typing governance process](https://peps.python.org/pep-0729/) proposes a new way to govern the Python type system. The PEP was endorsed by maintainers of all major type checkers. This talk aims to guide the audience to understand the reason more deeply of this new process after demystifying Python types.\r\n\r\nIn this talk, the speaker will demystify python types from their theory to practice along with Python type systems. The theory includes the type theory by [Per Martin-L\u00f6f](https://en.wikipedia.org/wiki/Per_Martin-L%C3%B6f)'s and [gradual typing by Jeremy Siek](http://scheme2006.cs.uchicago.edu/13-siek.pdf), all theories will be explained with the Python code in the real world. The type system targets all major type checkers and CPython. The comparison will be based on the research: [Python 3 Types in the Wild: A Tale of Two Type Systems](https://www.cs.rpi.edu/~milanova/docs/dls2020.pdf). The practice covers how a new specification is done in type systems. In addition, the speaker will share their thoughts about the challenges behind the implementation, and connect the answer to the reason for the PEP 729.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "XKDR9U", "name": "Kir Chou", "avatar": "https://programme.europython.eu/media/avatars/XKDR9U_1wxgAmS.webp", "biography": "Kir is a Pythonista from the PyCon Taiwan community and lives in Tokyo.\r\n\r\n\ud83d\udcbcKir's works: Geo and Search systems to solve i18n and l10n user experience.\r\n\r\n\ud83d\udc95Kir's hobby: \ud83c\udf77\ud83c\udf76\ud83c\udf7a\ud83c\udfc2\ud83e\uddd7\u26f0\ufe0f\ud83e\uddd1\u200d\ud83c\udf3e\ud83c\udfc3\r\n\r\nSee Kir's past PyCon talks in https://note35.github.io/about/talks", "public_name": "Kir Chou", "guid": "841704dd-2585-57d1-b2f6-cc3c6c887bc2", "url": "https://programme.europython.eu/europython-2024/speaker/XKDR9U/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/G3PHLZ/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/G3PHLZ/", "attachments": [{"title": "Slides", "url": "/media/europython-2024/submissions/G3PHLZ/resources/Demystify_Python_Types_for_PEP_729_LTKkFsN.pdf", "type": "related"}]}, {"guid": "38ae1dc7-b6e7-57f5-96a6-0995beceb91c", "code": "7Z8LFA", "id": 45733, "logo": null, "date": "2024-07-10T14:00:00+02:00", "start": "14:00", "duration": "00:30", "room": "Forum Hall", "slug": "europython-2024-45733-writing-python-like-it-s-rust-more-robust-code-with-type-hints", "url": "https://programme.europython.eu/europython-2024/talk/7Z8LFA/", "title": "Writing Python like it's Rust - more robust code with type hints", "subtitle": "", "track": "Software Engineering & Architecture (2024)", "type": "Talk", "language": "en", "abstract": "Using type hints in Python has many advantages, some of which might not be obvious at first. We will see that it allows us to explicitly encode invariants in our code, which reduces the amount of tests that we need to write, it improves development speed and maintainability, and perhaps most importantly, it can give us more confidence that our code does what we expect it to do.\r\n\r\nWe will also go through code examples that will show us how to leverage typing in Python to design APIs that cannot be easily misused, to create robust programs that we can trust.\r\n\r\nAudience members are expected to be able to read and understand Python code.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "3HJ8ME", "name": "Jakub Ber\u00e1nek", "avatar": "https://programme.europython.eu/media/avatars/3HJ8ME_Hw077Sv.webp", "biography": "I'm currently trying to finish a PhD. in High-Performance Computing at the IT4Innovations National Supercomputing Centre. I also teach various programming subjects at the VSB-TUO university in Ostrava and I'm a passionate open-source contributor, primarily to the Rust compiler and its ecosystem, where I'm a member of several Rust development teams.", "public_name": "Jakub Ber\u00e1nek", "guid": "9eae8c22-f99e-54b9-ba8d-7d432cb5c257", "url": "https://programme.europython.eu/europython-2024/speaker/3HJ8ME/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/7Z8LFA/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/7Z8LFA/", "attachments": [{"title": "Slides", "url": "/media/europython-2024/submissions/7Z8LFA/resources/slides_28H2Ov2.pdf", "type": "related"}]}, {"guid": "e5b2b47b-c2ef-5711-9ae2-4c0887abc3d9", "code": "7XMZGV", "id": 46641, "logo": null, "date": "2024-07-10T14:35:00+02:00", "start": "14:35", "duration": "00:30", "room": "Forum Hall", "slug": "europython-2024-46641-demystifying-asyncio-building-your-own-event-loop-in-python", "url": "https://programme.europython.eu/europython-2024/talk/7XMZGV/", "title": "Demystifying AsyncIO: Building Your Own Event Loop in Python", "subtitle": "", "track": "Python Internals & Ecosystem (2024)", "type": "Talk", "language": "en", "abstract": "**AsyncIO** has emerged as a vital tool in Python's ecosystem, particularly in web development, IO-bound tasks, and network programming. However, its internal mechanics often remain obscure, even to seasoned Python developers. This talk aims to demystify AsyncIO by guiding you through creating your own event loop in Python, culminating in running a FastAPI application with it.\r\n\r\nIn this talk, we\u2019ll build an event loop from scratch in Python, capable of running an HTTP server through a FastAPI application.\r\n\r\n**Plan:**\r\n\r\n- **Introduction to AsyncIO**\r\n- **Core Concepts:** Deep dive into Event loop, Futures, Tasks, and coroutines\r\n- **Hands-On Building:** Constructing an event loop from scratch\r\n    - Scheduling callbacks\r\n    - Executing tasks and coroutines\r\n    - Handling network calls\r\n- **Practical Application:** Running a FastAPI HTTP server with our loop\r\n- **Performance Insights:** Comparing our event loop with the fastest ones\r\n\r\nBy the end of this talk, you'll be able to understand the internal workings of AsyncIO and create a basic event loop capable of running a FastAPI application.", "description": null, "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\r\n\r\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.\r\n\r\nI'm an Open source enthusiast and love to contribute when possible. 2 years ago, I built ODMantic, an ODM for MongoDB & Python. It's a kind of ORM but built on top of Pydantic to provide a seamless model definition and integration with FastAPI.\r\n\r\nLast year, I founded CodSpeed, a Continuous Performance Analysis solution helping tech companies and Open-Source projects prevent performance issues directly in their CI pipelines.", "public_name": "Arthur Pastel", "guid": "f55334e7-d6d8-5eef-95ac-eb8ce320ea68", "url": "https://programme.europython.eu/europython-2024/speaker/UF9YY9/"}], "links": [{"title": "Code", "url": "https://github.com/art049/my-python-event-loop/", "type": "related"}, {"title": "Slides", "url": "https://slides.com/art049/demystifying-asyncio", "type": "related"}], "feedback_url": "https://programme.europython.eu/europython-2024/talk/7XMZGV/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/7XMZGV/", "attachments": []}, {"guid": "77b694f5-6e0b-59ea-b844-ff4f3f799293", "code": "ZSBJNR", "id": 46508, "logo": null, "date": "2024-07-10T15:30:00+02:00", "start": "15:30", "duration": "00:30", "room": "Forum Hall", "slug": "europython-2024-46508-invent-with-pyscript", "url": "https://programme.europython.eu/europython-2024/talk/ZSBJNR/", "title": "Invent with PyScript", "subtitle": "", "track": "Python Libraries & Tooling (2024)", "type": "Talk", "language": "en", "abstract": "_[PyScript](https://pyscript.net/) is a platform for Python in the browser_, enabled by [web-assembly](https://webassembly.org/). It brings the rich ecosystems of [CPython](https://python.org/) and [MicroPython](https://micropython.org) to the web. _[Invent](https://invent-framework.github.io/) is a PyScript based app creation framework with complementary browser based tooling_ and is designed to be easy to learn and use, no matter if you're a beginner or expert.\r\n\r\nThis talk introduces Invent, explains how it was built on top of PyScript and describes the design and architecture decisions made to ensure Python and the browser complement each other. Invent apps work anywhere a browser works and by the end of this presentation you'll be armed with all you need to know to build, deploy and extend native Python based applications running atop PyScript on all manner of platforms (mobile, tablet, laptop, desktop, [web-enabled fridge](https://www.standard.co.uk/shopping/esbest/home-garden/kitchen-appliances/best-smart-fridges-b1002542.html), [car](https://www.youtube.com/watch?v=GkhbN9B9bbs), point of sale terminal... you name it, so long as there's a browser!).\r\n\r\nThis talk will be fast-paced, technical, creative, full of possibilities, may include geese \ud83e\udebf, _and will be a lot of geeky fun_. \r\n\r\nBy the end you'll ask yourself, \"I wonder what I can invent?\" and go create cool stuff in minutes.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "BQVLYL", "name": "Nicholas Tollervey", "avatar": "https://programme.europython.eu/media/avatars/BQVLYL_7YRft3L.webp", "biography": "Recovering former member of the Python community.\r\n\r\nMusic, philosophy, teaching, writing & computing. Just like this bio: concise, honest and full of useful information. Everything I say is false... ;-)", "public_name": "Nicholas Tollervey", "guid": "6dbb025e-5e13-549a-a4e3-3e752601b63a", "url": "https://programme.europython.eu/europython-2024/speaker/BQVLYL/"}, {"code": "G7GCFL", "name": "Josh Lowe", "avatar": "https://programme.europython.eu/media/avatars/G7GCFL_eTuB080.webp", "biography": null, "public_name": "Josh Lowe", "guid": "e6ca3900-7b16-5bef-8cdd-d4f873db6de1", "url": "https://programme.europython.eu/europython-2024/speaker/G7GCFL/"}], "links": [{"title": "Slides", "url": "https://ntoll.org/static/presentations/invent-with-pyscript/index.html", "type": "related"}], "feedback_url": "https://programme.europython.eu/europython-2024/talk/ZSBJNR/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/ZSBJNR/", "attachments": []}, {"guid": "f045df0e-af59-59c8-bbf1-b8c7bbfc807d", "code": "SNZ9HV", "id": 45956, "logo": null, "date": "2024-07-10T16:05:00+02:00", "start": "16:05", "duration": "00:30", "room": "Forum Hall", "slug": "europython-2024-45956-how-to-deliver-3x-faster-with-effective-api-design", "url": "https://programme.europython.eu/europython-2024/talk/SNZ9HV/", "title": "How to deliver 3x faster with effective API design", "subtitle": "", "track": "Web technologies (2024)", "type": "Talk", "language": "en", "abstract": "In today's fast-paced world, the ability to deliver new features quickly is crucial for product-oriented companies. In this talk, we'll dive into architectural patterns that optimize the delivery of multiple client implementations in complex client-server architectures.\r\n\r\nThe advent of the mobile age has dramatically altered the landscape of typical client-server models. Delivering a new feature on multiple platforms is complicated and time-consuming because it requires several engineering teams to communicate extensively and separately code and test the same feature in different languages for each platform. Let's see how architectural patterns known as Backend for Frontend (BFF) and Server-driven UI can help with solving these challenges and what the limitations are. We'll explore Python optimizations, caching strategies, and SQLAlchemy preloading techniques, which were crucial to the success of the case study I will share.\r\n\r\nThis talk aims to provide you with an overview of useful architectural patterns, insights on how to implement and optimize them in Python, and strategies to make your product managers happy by shortening your time to production.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "R3AGHS", "name": "Michal Cyprian", "avatar": "https://programme.europython.eu/media/avatars/R3AGHS_Qyz9gAM.webp", "biography": "I'm Michal, an Engineering Lead at Kiwi.com, a leading global travel tech company headquartered in the Czech Republic. I am passionate about solving challenging business problems using the latest technology and leading engineering teams. The combination of my engineering and leadership skills enables me to do what I enjoy most\u2014learning new technologies and sharing insights with fellow engineers. Additionally, I am involved in organizing 'KEtchUp,' which are regular community meetups for developers in Ko\u0161ice, Slovakia. As one of the organizers responsible for the content, I contribute to enhancing the knowledge-sharing in the engineering community.", "public_name": "Michal Cyprian", "guid": "ec67ccea-3318-5191-9506-e650a2a43fd5", "url": "https://programme.europython.eu/europython-2024/speaker/R3AGHS/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/SNZ9HV/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/SNZ9HV/", "attachments": []}, {"guid": "c1fa38d7-2818-51a1-a970-16422e928604", "code": "CLNN9A", "id": 52512, "logo": null, "date": "2024-07-10T16:40:00+02:00", "start": "16:40", "duration": "00:45", "room": "Forum Hall", "slug": "europython-2024-52512-deciphering-the-mysteries-of-human-genomes", "url": "https://programme.europython.eu/europython-2024/talk/CLNN9A/", "title": "Deciphering the mysteries of human genomes", "subtitle": "", "track": "Career, Life, Health (2024)", "type": "Keynote", "language": "en", "abstract": "Have you ever wondered why we are the way we are? Why some individuals develop diseases while others remain healthy? And what does Python have to do with all of this? Join this talk in which we will explore the interface between biology, technology and medicine, in the context of the research of rare genetic diseases. Learn what the Moore\u2019s law has to do with advances in genetics and medicine, or why bigger is not always better.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "HUVVLU", "name": "Anna P\u0159istoupilov\u00e1", "avatar": "https://programme.europython.eu/media/avatars/HUVVLU_0Cj37Iu.webp", "biography": "Anna is a bioinformatics scientist focused on genome analysis techniques and their applications in understanding rare genetic diseases. She received the Bolzano Award for her doctoral thesis.\r\n\r\nShe holds a PhD in Molecular and Cell Biology, Genetics, and Virology and two MSc degrees: one in Medical Technology and Informatics, and the other in Molecular Biology and Genetics, all from Charles University. \r\n\r\nAnna has co-authored over 25 publications in peer-reviewed journals and has presented her work at various scientific conferences. \r\n\r\nCurrently, she works as a Senior Bioinformatics Scientist at DNAnexus company, where she assists customers with their bioinformatics analysis. She also conducts research at the Research Unit for Rare Diseases at the First Faculty of Medicine, Charles University.", "public_name": "Anna P\u0159istoupilov\u00e1", "guid": "5ab6b9b0-2490-567a-b40e-7361595ad57f", "url": "https://programme.europython.eu/europython-2024/speaker/HUVVLU/"}], "links": [{"title": "Slides", "url": "https://speakerdeck.com/pristanna/deciphering-the-mysteries-of-human-genomes", "type": "related"}], "feedback_url": "https://programme.europython.eu/europython-2024/talk/CLNN9A/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/CLNN9A/", "attachments": []}, {"guid": "6256f8ac-a427-5f46-aff4-fd3cfa6f9a7c", "code": "HAEWRZ", "id": 51568, "logo": null, "date": "2024-07-10T17:30:00+02:00", "start": "17:30", "duration": "00:45", "room": "Forum Hall", "slug": "europython-2024-51568-lightning-talks-wednesday", "url": "https://programme.europython.eu/europython-2024/talk/HAEWRZ/", "title": "Lightning talks Wednesday", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Enjoy Wednesday's lightning talks! Short talks about everything by everyone. Hosted by Jodie Burchell and Rodrigo Girao Serrao:\r\n\r\n- Welcome to Wednesday's Lightning Talks\r\n- EuroPython Game Tournament Announcement \u2014 Neil Vaytet\r\n- Czech wines \u2014 Jacob Hall\u00e9n\r\n- How to make a Python meeting with friends \u2014 In\u00e1cio Medeiros\r\n- Make cron expressions readable again \u2014 Fabrizio Damicelli\r\n- Searching For Celebrities With Your Face \u2014 Mark Smith\r\n- Named constructors \u2014 Austin Bingham\r\n- A backend developer\u2019s entry point to the UI \u2014 Luke Purnell\r\n- The Art of Puzzle Solving \u2014 Olga Vinogradova", "description": null, "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/HAEWRZ/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/HAEWRZ/", "attachments": []}], "Terrace 2A": [{"guid": "e4c11beb-9ffd-5632-b9d1-930b71343f2a", "code": "VDDTBS", "id": 45633, "logo": null, "date": "2024-07-10T10:45:00+02:00", "start": "10:45", "duration": "00:45", "room": "Terrace 2A", "slug": "europython-2024-45633-is-rag-all-you-need-a-look-at-the-limits-of-retrieval-augmented-generation", "url": "https://programme.europython.eu/europython-2024/talk/VDDTBS/", "title": "Is RAG all you need? A look at the limits of retrieval augmented generation", "subtitle": "", "track": "PyData: LLMs (2024)", "type": "Talk (long session)", "language": "en", "abstract": "Retrieval-Augmented Generation (RAG) is a widely adopted technique to expand the knowledge of LLMs within a specific domain while mitigating hallucinations. However, it is not a silver bullet that is often claimed to be. A chatbot for developer documentation and one for medical advice may be based on the same architecture, but they have vastly different quality, transparency and consistency requirements. Getting RAG to work well on both can be far from trivial.\r\n\r\nIn this talk we will first understand what RAG is, where it shines and why it works so well in these applications. Then we are going to see the most common failure modes and walk through a few of them to evaluate whether RAG is a suitable solution at all, how to improve the quality of the output, and when it's better to go for a different approach entirely.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "3WVLQA", "name": "Sara Zanzottera", "avatar": "https://programme.europython.eu/media/avatars/3WVLQA_T1FAU46.webp", "biography": null, "public_name": "Sara Zanzottera", "guid": "53b9c847-56a8-5269-b3d8-05ca71a7bdb5", "url": "https://programme.europython.eu/europython-2024/speaker/3WVLQA/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/VDDTBS/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/VDDTBS/", "attachments": [{"title": "Slides", "url": "/media/europython-2024/submissions/VDDTBS/resources/EuroPython_2024_-_Is_RAG_all_you_need_BU2YGW4.pdf", "type": "related"}]}, {"guid": "a9578f2d-aa2c-5410-8411-7218a5376b35", "code": "PC3XVJ", "id": 46529, "logo": null, "date": "2024-07-10T11:35:00+02:00", "start": "11:35", "duration": "00:30", "room": "Terrace 2A", "slug": "europython-2024-46529-data-pipelines-with-celery-modular-signal-driven-and-manageable", "url": "https://programme.europython.eu/europython-2024/talk/PC3XVJ/", "title": "Data pipelines with Celery: modular, signal-driven and manageable", "subtitle": "", "track": "PyData: Data Engineering (2024)", "type": "Talk", "language": "en", "abstract": "Writing pipelines for processing large datasets has its challenges \u2013 processing data within an acceptable time frame, dealing with unreliable and rate-limited APIs, and unexpected failures that can cause data incompleteness. In this talk we\u2019ll discuss how to design & implement modular, efficient, and manageable workflows with Celery, Redis, and signal-based triggering.\r\n\r\nWe\u2019ll begin by exploring the motivation behind segmenting pipelines into smaller, more manageable ones. The segmentation simplifies development, enhances fault tolerance, and improves modularity, making it easier to test and debug each component. By leveraging Redis as a data store and Celery\u2019s signals, we introduce self-triggering (or looped) pipelines that efficiently manage data batches within API rate limits and system resource constraints. We will look at an example of how we did things in the past using periodic tasks and how this new approach, instead, simplifies and increases our data throughput and completeness. Additionally, this facilitates triggering pipelines with secondary benefits, such as persisting and reporting results, which allows analysis and insight into the processed data. This can help us tackle inaccuracies and optimise data handling in budget-sensitive environments.\r\n\r\nThe talk offers the attendees a perspective on designing data pipelines in Celery that they may have not seen before. We will share the techniques for implementing more effective and maintainable data pipelines in their own projects.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "VUZ9LU", "name": "Marin Agli\u0107 \u010cuvi\u0107", "avatar": null, "biography": "Marin Agli\u0107 \u010cuvi\u0107 is a software engineer at SeekandHit. He is adept in building data pipelines using Python Celery and Apache Airflow. He aims to improve the scalability, maintainability, and developer experience on the projects he works on. He is also passionate about data engineering.\r\nOther than work, Marin likes writing articles in which he takes a deep dive into the technologies he uses or is passionate about.", "public_name": "Marin Agli\u0107 \u010cuvi\u0107", "guid": "2d587e33-b716-54f3-b2a6-66b5f5ff6651", "url": "https://programme.europython.eu/europython-2024/speaker/VUZ9LU/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/PC3XVJ/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/PC3XVJ/", "attachments": [{"title": "slides", "url": "/media/europython-2024/submissions/PC3XVJ/resources/Data_pipelines_with_Celery__modular_signal_3N0u5hd.pptx", "type": "related"}]}, {"guid": "382329f1-5724-5f39-a032-f7f72ecd9bfe", "code": "NKBKYC", "id": 46783, "logo": null, "date": "2024-07-10T12:10:00+02:00", "start": "12:10", "duration": "00:45", "room": "Terrace 2A", "slug": "europython-2024-46783-from-built-in-concurrency-primitives-to-large-scale-distributed-computing", "url": "https://programme.europython.eu/europython-2024/talk/NKBKYC/", "title": "From built-in concurrency primitives to large scale distributed computing", "subtitle": "", "track": "PyData: Data Engineering (2024)", "type": "Talk (long session)", "language": "en", "abstract": "This talk is specifically designed for Python developers and data practitioners who wish to deepen their skills in asynchronous code execution, from single CPU applications to complex distributed systems with thousands of cores. We'll provide a detailed exploration and explanation of Python's asynchronous execution models and concurrency primitives, focusing on `Future` and `Executor` interfaces within the `concurrent.futures` module, and the event-driven architecture of `asyncio`. Special attention will be given to the processing of large datasets, a common challenge in data science and engineering.\r\n\r\nWe will start with the fundamental concepts and then explore how they apply to large scale, distributed execution frameworks like Dask or Ray. On step-by-step examples, we aim to demonstrate simple function executions and map-reduce operations. We will illustrate efficient collaboration between different concurrency models. The session will cover the transition to large-scale, distributed execution frameworks, offering practical guidelines for scaling your computations effectively and addressing common hurdles like data serialization in distributed environments.\r\n\r\nAttendees will leave with a solid understanding of asynchronous code execution underpinnings. This talk will empower you to make informed practical decisions about applying concurrency in your data processing workflows. You will be able to seamlessly integrate new libraries or frameworks into your projects, ensuring optimal development lifecycle, performance and scalability.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "BLWEQ9", "name": "Jakub Urban", "avatar": "https://programme.europython.eu/media/avatars/BLWEQ9_zSbz63m.webp", "biography": "Jakub currently leads the data science platform team that enables the Flyr for Hospitality science organisation developing, operating and maintaining data science products in a user friendly and sustainable way. He started tinkering with Python for computer simulations and data analysis during his computation physics PhD studies, when NumPy and Matplotlib were brand new projects and Pandas had not met Python yet. Since then, Python and its ecosystem have become Jakub's de facto work and hobby toolset for anything programming and data modelling related. After leading the theory group at the tokamak department of the Institute of Plasma Physics in Prague, Jakub was in different roles in the data science and engineering landscape. He also co-founded PyData Prague meetup, performs an occasional speaker or tutor at meetups or conferences and tutors scientific computing with Python at the Czech Technical University.", "public_name": "Jakub Urban", "guid": "b656dc77-2380-5ce6-a46b-707f9950b83e", "url": "https://programme.europython.eu/europython-2024/speaker/BLWEQ9/"}], "links": [{"title": "Talk slides", "url": "https://github.com/coobas/europython-24/blob/aadee59f6eb27c36dfb4d083a90c3fdb9e9ed1aa/slides-export.pdf", "type": "related"}], "feedback_url": "https://programme.europython.eu/europython-2024/talk/NKBKYC/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/NKBKYC/", "attachments": []}, {"guid": "275d0f1c-d3ac-5381-88f2-7d015950c91b", "code": "B8SZMM", "id": 45980, "logo": null, "date": "2024-07-10T14:00:00+02:00", "start": "14:00", "duration": "00:30", "room": "Terrace 2A", "slug": "europython-2024-45980-geopandas-1-0-and-beyond", "url": "https://programme.europython.eu/europython-2024/talk/B8SZMM/", "title": "GeoPandas 1.0 and beyond", "subtitle": "", "track": "PyData: Software Packages & Jupyter (2024)", "type": "Talk", "language": "en", "abstract": "GeoPandas is one of the core packages in the Python ecosystem to work with geospatial vector data. By combining the power of several open source geo tools (GEOS/Shapely, GDAL/pyogrio, PROJ/pyproj) and extending the pandas data analysis library to work with geographic objects, it is designed to make working with geospatial data in Python easier. Recently, the development that started more than ten years ago resulted in version 1.0.\r\n\r\nThis talk will give an overview of what is new in GeoPandas 1.0 and of recent developments in the broader ecosystem of packages on which GeoPandas depends, or that extend GeoPandas. We will highlight some changes and new features in GeoPandas 1.0, such as the new default IO based on pyogrio, closer integration of Shapely 2.0 leading to a range of new methods, and the removal of other geometry engines and consequences of that. We will look at the journey of the GeoPandas from its start at SciPy 2013 to the current 1.0 and discuss the plans moving forward, covering support of spherical geometries, native support for GeoArrow, and more. You will get a sense of what is coming in future, where to help the development and how to prepare your code for upcoming changes.", "description": null, "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.\r\n\r\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": "98b0dc0c-dd71-5f49-8248-a79a85c8388c", "url": "https://programme.europython.eu/europython-2024/speaker/NN8GFM/"}], "links": [{"title": "Slides", "url": "https://docs.google.com/presentation/d/1QR6gBkDg_ZyEqrzl72iGphTHQHv_yd7TtowvN3FurlY/edit?usp=sharing", "type": "related"}], "feedback_url": "https://programme.europython.eu/europython-2024/talk/B8SZMM/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/B8SZMM/", "attachments": []}, {"guid": "59a7c219-94ee-5865-b7d9-585ea7a288ba", "code": "KV3DHG", "id": 46707, "logo": null, "date": "2024-07-10T14:35:00+02:00", "start": "14:35", "duration": "00:30", "room": "Terrace 2A", "slug": "europython-2024-46707-the-pyarrow-revolution-in-pandas", "url": "https://programme.europython.eu/europython-2024/talk/KV3DHG/", "title": "The PyArrow revolution in Pandas", "subtitle": "", "track": "PyData: Software Packages & Jupyter (2024)", "type": "Talk", "language": "en", "abstract": "Pandas has long used NumPy for its back-end storage. But things are changing, and the future of Pandas will likely be tied closely with PyArrow. What are Arrow and PyArrow? How do they affect Pandas users today, and how will they affect us in the future? In this talk, I introduce PyArrow, tell you what it does, how we can already use it in our Pandas work, and whether that's a good idea.", "description": null, "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 instructor in Python and Pandas, in business since 1995. He teaches at companies around the world, offers video courses, and writes books \u2014 most recently, Python Workout and Pandas Workout, both published by Manning. He writes about Python for his \"Better Developers\" newsletter, and poses Pandas puzzles based on current events in \"Bamboo Weekly.\"", "public_name": "Reuven M. Lerner", "guid": "857807f5-4dc9-5ecb-b8cd-94148db64a13", "url": "https://programme.europython.eu/europython-2024/speaker/VZM8L3/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/KV3DHG/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/KV3DHG/", "attachments": []}, {"guid": "c56a7f49-0864-5337-856a-b67be7f56aa5", "code": "NMBFTX", "id": 46769, "logo": null, "date": "2024-07-10T15:30:00+02:00", "start": "15:30", "duration": "00:30", "room": "Terrace 2A", "slug": "europython-2024-46769-designing-config-files-the-conflicting-needs-of-programmers-and-users", "url": "https://programme.europython.eu/europython-2024/talk/NMBFTX/", "title": "Designing Config Files: The Conflicting Needs of Programmers and Users", "subtitle": "", "track": "Software Engineering & Architecture (2024)", "type": "Talk", "language": "en", "abstract": "When your programs are configuration driven and used by PM/PO/Scientists etc you have to think slightly differently about how configuration files are used in your projects. For example, users may want to change/create configs on the fly and they may want to see all settings in one file without having to go through layers of indirection and library \u201cconfigs\u201d to see what their experiment/program will do.\r\n\r\nRather than discussing config file formats (I\u2019ll assume toml but it\u2019s applicable for other formats), this talk will focus more on my ideas/tips on: how to structure config files, how to allow non technical people to contribute to config files, how to minimise potentially explosive number of config files, how to expose more control in config files, tools for testing these configs and checking if values are actually used, hints for good practices to make debugging problems easier.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "GYETSD", "name": "Steven Pool", "avatar": "https://programme.europython.eu/media/avatars/GYETSD_4r0KPQy.webp", "biography": "Hello! I'm Steven.\r\n\r\nI'm currently a software engineer at Oxford Nanopore doing cool DNA things \ud83e\uddec I've worked in and around Python for 10 years, including teaching it! I've been to a few EuroPython's now (but this is my first time speaking at a conference \ud83e\udee3)\r\n\r\nI have a bizarre list of hobbies: Aerial silks, (flying) trapeze, ice skating, pottery, knitting/crochet, climbing, ...", "public_name": "Steven Pool", "guid": "f3cc776d-235a-5be9-95e7-4aaae72d622d", "url": "https://programme.europython.eu/europython-2024/speaker/GYETSD/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/NMBFTX/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/NMBFTX/", "attachments": [{"title": "Presentation", "url": "/media/europython-2024/submissions/NMBFTX/resources/presentation_HLYhljn.pdf", "type": "related"}]}, {"guid": "dcb6f0cf-cdcf-57e5-9ce5-13fdcae4f409", "code": "U3JZZP", "id": 52268, "logo": null, "date": "2024-07-10T16:05:00+02:00", "start": "16:05", "duration": "00:30", "room": "Terrace 2A", "slug": "europython-2024-52268-the-role-of-c-in-the-python-ecosystem-the-case-of-the-qt-framework", "url": "https://programme.europython.eu/europython-2024/talk/U3JZZP/", "title": "The role of C++ in the Python ecosystem: the case of the Qt framework", "subtitle": "", "track": "Python Libraries & Tooling (2024)", "type": "Sponsored", "language": "en", "abstract": "With the recent popularity of new programming languages that are improving the Python ecosystem, one cannot dismiss the role of \"old\" languages like C++, and how the new versions might stay relevant.                                                                          \r\n                                                                                                         \r\nWith these ideas in mind, how do you bring a huge project, as old as Python,  written in C++ to Python?\r\nIf you are thinking: \u00ab...just create some bindings and call it a day\u00bb you will be surprised.                                                                                 \r\n                                                                                                         \r\nOn this talk, we will dive directly into the internals on how the Qt for Python project brought one of the most popular C++ frameworks into Python - but not only with 1-to1 bindings. \r\n\r\nWe will discuss about build systems, packaging, limited API, interpreters support, Platform and API compatibility, Python and C++ types, ecosystem awareness, CPython code generation, communities, documentation, and many more challenging aspects of maintaining and developing a C++ library in Python.\r\n\r\nAfter this talk, you will not only understand why exposing an existing library from one language to another is much more than just binding them together, but also you will be able to start developing Python applications with Qt.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "JYPKC9", "name": "Cristi\u00e1n Maureira-Fredes", "avatar": "https://programme.europython.eu/media/avatars/JYPKC9_jrAi9io.webp", "biography": "Cristi\u00e1n is currently working at The Qt Company as Sr. R&D Manager, in charge of the Qt Core (Berlin) and Qt for Python teams, from which he has been part of the development team for more than 6 years.\r\n\r\nIn his spare time, Cristi\u00e1n is a serial conference and community organizer in many countries, and participates in different initiatives like the translation of the Python documentation into Spanish, PyPI moderation, and others related Python and Qt.", "public_name": "Cristi\u00e1n Maureira-Fredes", "guid": "0dcc950b-7a34-539c-9aed-2dfaa4c02353", "url": "https://programme.europython.eu/europython-2024/speaker/JYPKC9/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/U3JZZP/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/U3JZZP/", "attachments": []}], "Terrace 2B": [{"guid": "389cbf91-16b7-598e-bace-ecbbdb7ad7e5", "code": "3XXR79", "id": 47074, "logo": null, "date": "2024-07-10T10:45:00+02:00", "start": "10:45", "duration": "00:45", "room": "Terrace 2B", "slug": "europython-2024-47074-learning-to-code-in-the-age-of-ai", "url": "https://programme.europython.eu/europython-2024/talk/3XXR79/", "title": "Learning to code in the age of AI", "subtitle": "", "track": "Software Engineering & Architecture (2024)", "type": "Talk (long session)", "language": "en", "abstract": "Across the industry, programmers of all levels are embracing AI and LLMs. But: it's still worthwhile to learn the foundations of coding. And there's a risk: some learners are using AIs as footguns and limiting their own growth", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "GZHPTE", "name": "Sheena O'Connell", "avatar": "https://programme.europython.eu/media/avatars/GZHPTE_B7RDO8n.webp", "biography": "I\u2019ve been programming in some form since my early teens. After high school, I went on to get an Honors degree in electrical engineering from the University of the Witwatersrand, South Africa. I\u2019ve always been drawn to software development and to teaching. I worked for a string of startups and gained a lot of experience in all aspects of software development, from requirements gathering and UX design to implementation, deployment, and monitoring.\r\n\r\nI am currently the CTO of Umuzi. Our purpose is to reduce social inequality in Africa through digital education. Through my work at Umuzi, I have been able to dive into my multiple passions and develop a lot of skills at the intersection of tech and education.", "public_name": "Sheena O'Connell", "guid": "f0109c81-2640-5e17-a1ae-9ffa7012d559", "url": "https://programme.europython.eu/europython-2024/speaker/GZHPTE/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/3XXR79/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/3XXR79/", "attachments": []}, {"guid": "740602dc-1268-5b91-b4fd-07822f41a535", "code": "LDUPVK", "id": 46789, "logo": null, "date": "2024-07-10T11:35:00+02:00", "start": "11:35", "duration": "00:30", "room": "Terrace 2B", "slug": "europython-2024-46789-accelerating-python-with-rust-the-pyo3-revolution", "url": "https://programme.europython.eu/europython-2024/talk/LDUPVK/", "title": "Accelerating Python with Rust: The PyO3 Revolution", "subtitle": "", "track": "Python Libraries & Tooling (2024)", "type": "Talk", "language": "en", "abstract": "Are you curious about integrating the high-performance and memory efficiency of Rust into your Python applications? Rust can significantly enhance the speed and efficiency of Python programs, and this integration is made seamless with PyO3.\r\n\r\nThis presentation will delve into the capabilities of PyO3, a tool that allows the creation of native Python modules using Rust. With PyO3, importing Rust code as a Python module is straightforward. It offers seamless type conversion between Python and Rust and includes macros that simplify the process of exposing Rust functions to Python.\r\n\r\nMoreover, with the growing trend towards asynchronous programming, PyO3-asyncio emerges as a vital tool for those working with async functions in Python or looking to generate Python bindings for an async Rust library. It streamlines the task of translating async functions between Python and Rust. Furthermore, PyO3 facilitates easy implementation of parallelism within Rust code, enhancing performance and efficiency.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "7KXBK3", "name": "Roshan R Chandar", "avatar": "https://programme.europython.eu/media/avatars/7KXBK3_oVKquZJ.webp", "biography": "Roshan is an enthusiastic Python dev, with a love for exploring the endless possibilities of Python magic!\r\nHe is a talented presenter with experience at conferences like PyCon Thailand 2023. \r\n\r\nHe has also achieved success in numerous hackathons and have actively led various Python training sessions. An avid FOSS enthusiast, he has contributed to many open source organisations like the GNOME project and maintains several popular applications.\r\n\r\nCurrently, Roshan leverages his Python expertise as a backend developer at Strollby, working with Python microservices and GraphQL.", "public_name": "Roshan R Chandar", "guid": "32538e84-f38c-52d8-b59e-01c5f96cff06", "url": "https://programme.europython.eu/europython-2024/speaker/7KXBK3/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/LDUPVK/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/LDUPVK/", "attachments": []}, {"guid": "c5a28c45-7e3b-5c54-956a-bd539ce226ea", "code": "A3EWQU", "id": 45094, "logo": null, "date": "2024-07-10T12:10:00+02:00", "start": "12:10", "duration": "00:45", "room": "Terrace 2B", "slug": "europython-2024-45094-state-of-the-art-image-generation-for-the-masses-with-diffusers", "url": "https://programme.europython.eu/europython-2024/talk/A3EWQU/", "title": "State-of-the-art image generation for the masses with Diffusers", "subtitle": "", "track": "PyData: Deep Learning, NLP, CV (2024)", "type": "Talk (long session)", "language": "en", "abstract": "The talk \"State-of-the-art image generation for the masses with Diffusers\" will explore the diverse applications of the open-source Python library Diffusers in the image and video generation space. The talk will showcase how Diffusers, based on diffusion models, enables fast and high-quality image and video generation, making it accessible to a wide range of users. The presentation will cover various use cases, including image inpainting, image editing, and scene composition, demonstrating the capabilities of Diffusers in enabling users to create and edit photo-realistic images with minimum effort. The audience will gain insights into the potential of Diffusers in revolutionizing the way images and videos are generated and edited, making it a must-attend session for anyone interested in the latest advancements in this field.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "JJLYHF", "name": "Sayak Paul", "avatar": "https://programme.europython.eu/media/avatars/JJLYHF_uCv1Vrv.webp", "biography": "Sayak works as a Machine Learning Engineer at Hugging Face. He is responsible for maintaining the Diffusers library, training and babysitting diffusion models, and contributing to the impactful ideas in the space. Off the work, he can been caught binging Suits for the n-th time.", "public_name": "Sayak Paul", "guid": "615ce9e2-71fb-52e6-93f0-6597c30eded0", "url": "https://programme.europython.eu/europython-2024/speaker/JJLYHF/"}], "links": [{"title": "Slides", "url": "https://docs.google.com/presentation/d/1yvF0z1xQpfkEzdVUogSc0uBkUH7_TeTvSOvgSKEehtA/edit?usp=sharing", "type": "related"}], "feedback_url": "https://programme.europython.eu/europython-2024/talk/A3EWQU/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/A3EWQU/", "attachments": []}, {"guid": "7c5492a3-956f-5c83-9218-ffb02c63b1e8", "code": "7GRP3T", "id": 45959, "logo": null, "date": "2024-07-10T14:00:00+02:00", "start": "14:00", "duration": "00:30", "room": "Terrace 2B", "slug": "europython-2024-45959-the-art-of-the-pull-request", "url": "https://programme.europython.eu/europython-2024/talk/7GRP3T/", "title": "The Art of the Pull Request", "subtitle": "", "track": "Software Engineering & Architecture (2024)", "type": "Talk", "language": "en", "abstract": "*Want to be a better teammate? Want to get your work merged faster?*\r\n\r\nFor a lot of devs (especially newer ones) the important part of a PR is the code, not the structure of the PR. However, the way commits in a PR are put together to guide a reviewer can be massively impactful. This talk looks at how to effectively craft that review experience.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "CZLRNY", "name": "Ben Lomax", "avatar": "https://programme.europython.eu/media/avatars/CZLRNY_xOMbVTy.webp", "biography": null, "public_name": "Ben Lomax", "guid": "b634424a-f3e8-53b6-963a-71c791409db9", "url": "https://programme.europython.eu/europython-2024/speaker/CZLRNY/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/7GRP3T/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/7GRP3T/", "attachments": [{"title": "Presentation slides", "url": "/media/europython-2024/submissions/7GRP3T/resources/The_Art_of_the_Pull_Request_EuroPython_Prag_4jlstYa.pdf", "type": "related"}]}, {"guid": "6d6465c4-9f25-5f30-89f6-a62080240154", "code": "VBHMEL", "id": 45934, "logo": null, "date": "2024-07-10T14:35:00+02:00", "start": "14:35", "duration": "00:30", "room": "Terrace 2B", "slug": "europython-2024-45934-unlocking-mixture-of-experts-from-1-know-it-all-to-group-of-jedi-masters", "url": "https://programme.europython.eu/europython-2024/talk/VBHMEL/", "title": "Unlocking Mixture of Experts : From 1 Know-it-all to group of Jedi Masters", "subtitle": "", "track": "PyData: Deep Learning, NLP, CV (2024)", "type": "Talk", "language": "en", "abstract": "Answer this : In critical domains like Healthcare would you prefer a Jack-of-all-trades OR one Yoda, the master? \r\n\r\nJoin me on an exhilarating journey as we delve deep into the Mixture of Experts (MoE) technique which is a practical and intuitive next-step to elevate predictive powers of generalised know-it-all models.\r\n\r\nA powerful approach to solve a variety of ML tasks, MoE operates on the principle of Divide and Conquer with some less obvious limitations, pros, and cons. You\u2019ll go through a captivating exploration of insights, intuitive reasoning, solid mathematical underpinnings, and a treasure trove of interesting examples!\r\n\r\nWe'll kick off by surveying the landscape, from ensemble models to stacked estimators, gradually ascending towards the pinnacle of MoE. Along the way, we'll explore challenges, alternative routes, and the crucial art of knowing when to wield the MoE magic\u2014AND when to hold back. Brace yourselves for a business-oriented finale, where we discuss metrics around cost, latency, and throughput for MoE models. And fear not! We'll wrap up with an array of resources equipping you to dive headfirst into pre-trained MoE models, fine-tune them, or even forge your own from scratch. May the force of Experts be with you !\"", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "CCZUDR", "name": "Pranjal Biyani", "avatar": "https://programme.europython.eu/media/avatars/CCZUDR_3OihztH.webp", "biography": "I am on a quest to solve problems with data using ML and AI. Over the years I have built multiple industry first solutions for diverse domains like Marketing, Supply Chain, Polymers and Chemicals etc. I have consulted numerous multi-national companies, helping them build in house capabilities ( via corporate training ), providing Project based support and developing SoA solutions for their customers. I love sharing my experiences and giving back to the community I have learned so much from. This would by my 3rd talk at EuroPython!", "public_name": "Pranjal Biyani", "guid": "97833a58-ac94-5a4e-b2b5-af243b99dbc5", "url": "https://programme.europython.eu/europython-2024/speaker/CCZUDR/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/VBHMEL/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/VBHMEL/", "attachments": []}, {"guid": "cfd333a1-aa9f-59ff-8df1-15c12d6e644c", "code": "X7GUSW", "id": 46080, "logo": null, "date": "2024-07-10T15:30:00+02:00", "start": "15:30", "duration": "00:30", "room": "Terrace 2B", "slug": "europython-2024-46080-enterprise-python-software-that-lives-long-and-prosper", "url": "https://programme.europython.eu/europython-2024/talk/X7GUSW/", "title": "Enterprise Python: Software That Lives Long And Prosper", "subtitle": "", "track": "Software Engineering & Architecture (2024)", "type": "Talk", "language": "en", "abstract": "Every day, as software continues to \u201ceat the world\u201d, applications increasingly grow in complexity. \r\nNowhere else is this phenomenon more prevalent than in big organizations, which over time have hired more people to develop and maintain more features. There, it is no longer possible to have a complete mental model of what is going on.\r\nEnterprise software, when unchecked, bloats and becomes brittle.\r\nParadoxically, engineers build software to  keep complexity at bay, not to create it. When writing code, the goal is to make processes less labor intensive and more reliable. Yet, enterprise software has become a black hole for man-hours.\r\nPython disrupted Java to become the de facto programming language for enterprises precisely because it tackled this problem in a way that Java, or any other programming language, could not.\r\nHow is that so? This talk will dive deep into this exact question. What does Python offer that radically changed how software gets built in organizations, both big and small?. And why is it that newer languages that have come along, such as Go and Rust, haven\u2019t been able to put a dent on its dominions, and have been forced to recede into niche use cases.\r\nThis talk is for engineers who want to understand and leverage Python to its maximum maintainability potential. They intuitively understand that Python is a great tool for that, but are unsure as to how to do it.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "EU8HKQ", "name": "Alvaro Duran", "avatar": "https://programme.europython.eu/media/avatars/EU8HKQ_SnhzSHU.webp", "biography": "I started using Python when I was a data scientist, but quickly found that what I like the most is building software for others to use. That\u2019s why most of the stuff I've learned over the years is focused on optimizing software from the point of view of the user.\r\n\r\nI am a developer with a unique blend of expertise in finance, software engineering, and data. When I'm building software, my mind veers towards thorough testing and expressive code. That's why I love Python!\r\n\r\nWhen not in front of a keyboard, I'm often found reading voraciously, near a pizza shop, or traveling. I may sometimes come across as too serious, but if you come bearing funny memes, or cookies, I can't help but smile.", "public_name": "Alvaro Duran", "guid": "7e9ace57-8f4b-5bf1-bb3f-9b2e474f8712", "url": "https://programme.europython.eu/europython-2024/speaker/EU8HKQ/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/X7GUSW/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/X7GUSW/", "attachments": []}, {"guid": "f1ed9337-a311-56d6-89bf-6d2c77252aa5", "code": "NNWTXP", "id": 46148, "logo": null, "date": "2024-07-10T16:05:00+02:00", "start": "16:05", "duration": "00:30", "room": "Terrace 2B", "slug": "europython-2024-46148-i-reverse-engineered-a-work-of-art-and-this-is-what-i-learned", "url": "https://programme.europython.eu/europython-2024/talk/NNWTXP/", "title": "I reverse engineered a work of art, and this is what I learned", "subtitle": "", "track": "Arts, Crafts Culture & Demos (2024)", "type": "Talk", "language": "en", "abstract": "This is the story of a weekend project which turned into a months long challenge. After coming across a photorealistic painting made entirely out of strings, I wanted to create one on my own. But how? I decided to reverse engineer the algorithm that computes which strings to stretch and in which order.\r\n\r\nIn this talk, I will show how I created a Python algorithm that produces a beautiful work of art. I will cover topics such as greedy algorithms, image processing, color spaces, performance optimization and many other challenges that I encountered while cracking the algorithm. And of course, I'll show the resulting work of art!", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "VCGHPN", "name": "Yair Galler", "avatar": "https://programme.europython.eu/media/avatars/VCGHPN_7v3ponB.webp", "biography": "Yair is a tech lead at Next Insurance, an insurtech startup. At Next, he translates the complex world of insurance into reliable, elegant code. He also has a passion for developer productivity, constantly working on improving methods and tooling.\r\n\r\nIn his previous roles he was an engineering team lead and software architect at several early and mid-stage startups. He has development experience in a wide range of field including devops, data engineering, backend as well as frontend systems.", "public_name": "Yair Galler", "guid": "25121f66-ae1e-5309-812a-7f8484d7b7ac", "url": "https://programme.europython.eu/europython-2024/speaker/VCGHPN/"}], "links": [{"title": "Slides for the talk", "url": "https://galler.dev/europython/", "type": "related"}], "feedback_url": "https://programme.europython.eu/europython-2024/talk/NNWTXP/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/NNWTXP/", "attachments": []}], "North Hall": [{"guid": "0ff61f19-be19-5e44-9bf8-e9ff53310146", "code": "GHYHAE", "id": 46459, "logo": null, "date": "2024-07-10T10:45:00+02:00", "start": "10:45", "duration": "00:45", "room": "North Hall", "slug": "europython-2024-46459-from-text-to-context-how-we-introduced-a-modern-hybrid-search", "url": "https://programme.europython.eu/europython-2024/talk/GHYHAE/", "title": "From Text to Context: How We Introduced a Modern Hybrid Search", "subtitle": "", "track": "PyData: Deep Learning, NLP, CV (2024)", "type": "Talk (long session)", "language": "en", "abstract": "Customers only buy the products they are able to find. Improving the search functions on the website is crucial for user-friendliness.\r\n\r\nIn our talk we present the lessons learnt from improving the search of our global online marketplace, which sells 20 million products per year. We moved from a traditional word-match based approach (BM25) to a modern hybrid solution that combines BM25 with a semantic vector model, an open-source language model that we fine-tuned to our domain.\r\n\r\nWith numerous references to current literature, we will explain how we designed our new system and solved the multiple challenges we encountered on both the ML and engineering side (data pipeline encoding documents, live service encoding queries, integration with search engine). Our system is based on OpenSearch, the lessons can be applied to other search engines as well.\r\n\r\nIn particular the presentation will cover:\r\n- Status and Short-Comings of our old Search\r\n- Introduction of Hybrid Search\r\n- Our Machine Learning Solution\r\n- Architecture and Implementation (with special consideration of latency)\r\n- Learnings and Next Steps", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "CNDARF", "name": "Ansgar Gruene", "avatar": "https://programme.europython.eu/media/avatars/CNDARF_Ih12pED.webp", "biography": "Ansgar is a senior data scientist at GetYourGuide in Berlin. His work focuses on ML approaches to improve the users search and discovery experience on the platform. He holds a Ph.D. in Theoretical Computer Science and has several years of experience as backend engineer and data scientist in the travel industry.", "public_name": "Ansgar Gruene", "guid": "730e365a-abd7-5c71-86ad-279a51e288e2", "url": "https://programme.europython.eu/europython-2024/speaker/CNDARF/"}, {"code": "WEWNJK", "name": "Dharin Shah", "avatar": "https://programme.europython.eu/media/avatars/WEWNJK_YbinMBl.webp", "biography": "Dharin is a senior engineer working in the Search team at GetYourGuide. He is responsible for all the infrastructure and data processing for search, which is exposed via generic APIs. He has deep interest in performance, distributed systems & databases, and has past experience in contributing to Opensearch. He also enjoys reading technical white papers, as well as reading more about the current AI hot-trends in general.", "public_name": "Dharin Shah", "guid": "54774ed6-083b-5280-ae58-e124ae94edd2", "url": "https://programme.europython.eu/europython-2024/speaker/WEWNJK/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/GHYHAE/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/GHYHAE/", "attachments": [{"title": "Presentation PDF", "url": "/media/europython-2024/submissions/GHYHAE/resources/Semantic_Search_Presentation_For_EuroPython_G3GZZNA.pdf", "type": "related"}]}, {"guid": "5de26734-eec9-5031-a23b-54a16ab29a45", "code": "WP8MXM", "id": 45461, "logo": null, "date": "2024-07-10T11:35:00+02:00", "start": "11:35", "duration": "00:30", "room": "North Hall", "slug": "europython-2024-45461-building-scalable-multimodal-search-applications-with-python", "url": "https://programme.europython.eu/europython-2024/talk/WP8MXM/", "title": "Building Scalable Multimodal Search Applications with Python", "subtitle": "", "track": "PyData: Research & Applications (2024)", "type": "Talk", "language": "en", "abstract": "Many real-world problems are inherently multimodal, from the communicative modalities humans use such as spoken language and gestures to the force, sensory, and visual sensors used in robotics. For machine learning models to address these problems and interact more naturally and wholistically with the world around them and ultimately be more general and powerful reasoning engines, we need them to understand data across all of its corresponding images, video, text, audio, and tactile representations.\r\n\r\nIn this talk, Zain Hasan will discuss how we can use open-source multimodal embedding models in conjunction with large generative multimodal models that can that can see, hear, read, and feel data(!), to perform cross-modal search(searching audio with images, videos with text etc.) and multimodal retrieval augmented generation (MM-RAG) at the billion-object scale with the help of open source vector databases. I will also demonstrate, with live code demos, how being able to perform this cross-modal retrieval in real-time can enables users to use LLMs that can reason over their enterprise multimodal data. This talk will revolve around how we can scale the usage of multimodal embedding and generative models in production.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "XDWZ8P", "name": "Zain Hasan", "avatar": "https://programme.europython.eu/media/avatars/XDWZ8P_Y9PAaq6.webp", "biography": "Zain Hasan is a senior ML developer relations engineer at Weaviate. An engineer and data scientist by training, he pursued his undergraduate and graduate work at the University of Toronto building artificially intelligent assistive technologies, then founded his company, VinciLabs in the digital health-tech space. More recently he practiced as a consultant senior data scientist in Toronto. Zain is passionate about the fields of machine learning, education, and public speaking.", "public_name": "Zain Hasan", "guid": "e609da8a-d821-5dcf-a44b-4072ca757954", "url": "https://programme.europython.eu/europython-2024/speaker/XDWZ8P/"}], "links": [{"title": "Slides for talk", "url": "https://docs.google.com/presentation/d/1KUiPeqUMTwvk_45Yl9achLchvHSg6Twg3lO4lPsg1VU/edit?usp=sharing", "type": "related"}, {"title": "Slides for more advanced detailed talk", "url": "https://docs.google.com/presentation/d/1syOT_e2QJL-M5q0i9unOpeEK_HTSl13dkZERSFCY4Ag/edit?usp=sharing", "type": "related"}, {"title": "Code for presentation", "url": "https://github.com/weaviate-tutorials/multimodal-workshop/tree/main", "type": "related"}, {"title": "Open Source RAG APP Code Base", "url": "https://github.com/weaviate/Verba", "type": "related"}, {"title": "Full Course Link!", "url": "https://www.deeplearning.ai/short-courses/building-multimodal-search-and-rag/", "type": "related"}], "feedback_url": "https://programme.europython.eu/europython-2024/talk/WP8MXM/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/WP8MXM/", "attachments": []}, {"guid": "b0bd50d0-ed4c-5264-9780-eae15cb0870c", "code": "7DF7VC", "id": 46888, "logo": null, "date": "2024-07-10T12:10:00+02:00", "start": "12:10", "duration": "00:45", "room": "North Hall", "slug": "europython-2024-46888-deconstructing-the-text-embedding-models", "url": "https://programme.europython.eu/europython-2024/talk/7DF7VC/", "title": "Deconstructing the text embedding models", "subtitle": "", "track": "PyData: Deep Learning, NLP, CV (2024)", "type": "Talk (long session)", "language": "en", "abstract": "Selecting the optimal text embedding model is often guided by benchmarks such as the Massive Text Embedding Benchmark (MTEB). While choosing the best model from the leaderboard is a common practice, it may not always align perfectly with the unique characteristics of your specific dataset. This approach overlooks a crucial yet frequently underestimated element - the tokenizer.\r\n\r\nWe will delve deep into the tokenizer's fundamental role, shedding light on its operations and introducing straightforward techniques to assess whether a particular model is suited to your data based solely on its tokenizer. We will explore the significance of the tokenizer in the fine-tuning process of embedding models and discuss strategic approaches to optimize its effectiveness.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "H3RSTE", "name": "Kacper \u0141ukawski", "avatar": "https://programme.europython.eu/media/avatars/H3RSTE_s2ucWWb.webp", "biography": "Software developer and data scientist at heart, with an inclination to teach others. Public speaker, working in DevRel.", "public_name": "Kacper \u0141ukawski", "guid": "235d4c1b-f02c-53a2-9a37-d126b9976e0e", "url": "https://programme.europython.eu/europython-2024/speaker/H3RSTE/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/7DF7VC/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/7DF7VC/", "attachments": [{"title": "Slides", "url": "/media/europython-2024/submissions/7DF7VC/resources/Deconstructing_the_text_embedding_models_Eu_X7LWdyg.pdf", "type": "related"}]}, {"guid": "a2a9cb30-2d05-53a3-8b22-305a7011b82d", "code": "M9TMMQ", "id": 46001, "logo": null, "date": "2024-07-10T14:00:00+02:00", "start": "14:00", "duration": "00:30", "room": "North Hall", "slug": "europython-2024-46001-one-analysis-a-day-keeps-anomalies-away", "url": "https://programme.europython.eu/europython-2024/talk/M9TMMQ/", "title": "One analysis a day keeps anomalies away!", "subtitle": "", "track": "PyData: Machine Learning, Stats (2024)", "type": "Talk", "language": "en", "abstract": "Ever felt like you\u2019re navigating a data jungle, battling to survive the unexpected production problems that throw you off track? Well, you\u2019re not alone. Staying on top of your data's health is not just smart \u2013 it's crucial. In this talk, I will share some Python tricks (methods and libraries) that you can use to defend from those wild data problems. Because let's face it, being able to effectively monitor your data, spot sneaky anomalies, and get to the bottom of them is the key to unlocking a buried treasure.\r\n\r\nFirst, I'll take you through the ins and outs of observability, highlighting its importance for managing both the inputs and outputs of machine learning models, as well as for overall data quality. We'll explore a range of techniques to detect anomalies, with a focus on multivariate time series data. We'll also cover how we can keep this process as computationally efficient as possible.\r\n\r\nBut we won't stop at just finding these anomalies: we're on a mission to chase them down to their lair! The second part of the talk will equip you with the detective skills to perform root cause analysis and extract as much insights as possible. These discoveries can be an eye opener and the first step towards new projects and strategies. Next, we will also tackle distinguishing real anomalies from data evolution (or drift) and set up effective monitoring strategies to keep your data clean and insightful.\r\n\r\nIf your interests lie in machine learning or you're simply keen on data quality, join me as we set off to unravel the mysteries of data observability. Let's learn how to keep data problems in check and when life gives you anomalies, turn them into business opportunities!", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "L9HKCJ", "name": "Madalina Ciortan", "avatar": "https://programme.europython.eu/media/avatars/L9HKCJ_mfKzLNE.webp", "biography": "Madalina Ciortan is Head of Data Science at Kiwi.com. Her academic journey includes a degree in engineering, a master's in computer science, a post-master's in bioinformatics and doctorate in data science. With close to two decades of professional experience, she navigated roles in software development, architecture, applied data science, and research. Her expertise spans a wide array of domains, from computer vision and natural language processing to time series analysis, unsupervised analysis, self-supervised learning within the industry.", "public_name": "Madalina Ciortan", "guid": "7ea38e7d-3139-51d8-a11e-b80a4a269d68", "url": "https://programme.europython.eu/europython-2024/speaker/L9HKCJ/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/M9TMMQ/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/M9TMMQ/", "attachments": []}, {"guid": "23470b61-e0b8-50cf-9ef0-8be0e0f585ce", "code": "H8Z37Q", "id": 51751, "logo": null, "date": "2024-07-10T14:35:00+02:00", "start": "14:35", "duration": "00:30", "room": "North Hall", "slug": "europython-2024-51751-from-pandas-to-production-elt-with-dlt", "url": "https://programme.europython.eu/europython-2024/talk/H8Z37Q/", "title": "From Pandas to production: ELT with dlt", "subtitle": "", "track": "PyData: Data Engineering (2024)", "type": "Sponsored", "language": "en", "abstract": "We created the \u201cdata load tool\u201d (dlt), an open-source Python library, to bridge the gap between data engineers and data scientists. In this talk you will learn about how dlt can help you overcome typical roadblocks in your data science workflows, and how it streamlines the transition from data exploration to production. We will also discuss the pains of maintaining data pipelines and how dlt can help you to avoid common engineering headaches. \r\n\r\nJoin us to learn best practices around data handling and managing failures with real-life examples!", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "3RZLNH", "name": "Violetta Mishechkina", "avatar": "https://programme.europython.eu/media/avatars/3RZLNH_1ep4qi2.webp", "biography": "I'm a Solution Engineer from dltHub. I've started my professional journey as a Data Scientist at Nokia. So I worked a lot with Telecommunication data and Time Series. Both Classical ML and Neural Networks were quite popular at the time, so I've used them in my projects. The next step for me was moving away from Data Science to MLOps, because I felt that the problem of moving from an ML model to a production is not solved but it is highly important. All questions about getting data, versioning, and proper testing are still on the table.\r\n\r\nWhen I've joined dltHub 4 months ago, I've entered the world of Data Engineering. Having experience mostly in ML I had to learn how to talk in Data Engineering language. All the terms like schema evolution, data ingestion, and semantic layer were new to me. That is partially why I was so impressed by dlt Python library, cause it abstracted away a lot of these issues. Personally, I believe, that dlt could become a part of standard modern open-source data stack. Because it was built by people knowing what they are doing and tackling the problem of data ingestion hundreds of times.\r\n\r\nLinkedin: https://www.linkedin.com/in/violetta-mishechkina/", "public_name": "Violetta Mishechkina", "guid": "55628046-39dd-5259-89a2-0b69ae00a714", "url": "https://programme.europython.eu/europython-2024/speaker/3RZLNH/"}, {"code": "YPDD8Z", "name": "Adrian Brudaru", "avatar": "https://programme.europython.eu/media/avatars/YPDD8Z_SX00jl8.webp", "biography": "Hi There! I'm Adrian, a data engineer. At dlthub, I am one of the cofounders and original inventor of the first version of dlt.\r\n\r\nI started my data career in 2012, in the Berlin startup scene, where I did 5y of employed work. I eventually moved to freelancing, because I liked to do more work and skip the drama.\r\n\r\nIn this time i built many data warehouses, data products and data teams and saw first hand the friction between data scientists and engineering, that came largely from a different toolset and abstractions needed. This made me try building various boilerplate loading code and identify the need with clarity.", "public_name": "Adrian Brudaru", "guid": "3afd7b8e-bec0-5d0f-9974-19e3a4f5c157", "url": "https://programme.europython.eu/europython-2024/speaker/YPDD8Z/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/H8Z37Q/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/H8Z37Q/", "attachments": []}, {"guid": "ed28f88d-e687-5a06-8e3a-7bcc6e8a3325", "code": "SYKBQB", "id": 47513, "logo": null, "date": "2024-07-10T15:30:00+02:00", "start": "15:30", "duration": "00:30", "room": "North Hall", "slug": "europython-2024-47513-automate-your-kitchen-with-python-applied-ai", "url": "https://programme.europython.eu/europython-2024/talk/SYKBQB/", "title": "Automate Your Kitchen with Python & Applied AI", "subtitle": "", "track": "PyData: Deep Learning, NLP, CV (2024)", "type": "Talk", "language": "en", "abstract": "Ever wished you had a smart fridge that both lists and alerts you with ingredients you have, to waste less food and make the best use of what you have through ingredient-recipe match?\r\n\r\nBingo then that I'll share the story behind the creation of a Python-powered solution that maximizes ingredient usage, minimizes food waste by keeping track of your ingredients and streamlines the cooking process.\ud83d\ude0a\ud83d\udcaa\r\n\r\nLet's explore together, how snapping a photo of your fridge to generating recipe suggestions based on available ingredients, this project embodies the creativity, problem-solving, and excitement inherent in project development. \r\n\r\nJoin me as I recount the challenges, and lessons learned along the way, highlighting the transformative impact of project development on skill enhancement and contribution to boost the ways we think as developers. Whether you're a seasoned developer or a curious novice, this talk offers valuable insights into the joys and rewards of turning ideas into reality through coding.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "KVWBAJ", "name": "Sena Sahin", "avatar": "https://programme.europython.eu/media/avatars/KVWBAJ_Kdw4NBL.webp", "biography": "Hello! I'm Sena, a recurring attendee of the EuroPython conference <3\r\nI'm currently working as a Data and Analytics Dev at SAP.\r\nI did my Bachelor's in Electronic Engineering and am currently pursuing my Master's in Data Science. \r\nI'm interested in Edge AI applications and Applied AI projects! \r\nEager to meet and learn from all the exciting Python enthusiasts at EP 2024!", "public_name": "Sena Sahin", "guid": "cfd63e42-1506-5782-8e80-34757d4d327b", "url": "https://programme.europython.eu/europython-2024/speaker/KVWBAJ/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/SYKBQB/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/SYKBQB/", "attachments": []}, {"guid": "dad64fb6-9f45-5ffd-83fc-3768bf87b90f", "code": "TAW7PN", "id": 46082, "logo": null, "date": "2024-07-10T16:05:00+02:00", "start": "16:05", "duration": "00:30", "room": "North Hall", "slug": "europython-2024-46082-impersonation-in-data-engineering-no-more-credentials-in-your-code", "url": "https://programme.europython.eu/europython-2024/talk/TAW7PN/", "title": "Impersonation in Data Engineering: No More Credentials in Your Code!", "subtitle": "", "track": "PyData: Data Engineering (2024)", "type": "Talk", "language": "en", "abstract": "Imagine stepping into your dream job as a python data developer, ready to dive into coding and show your talent, only to run into missing database credentials that leave you idle for days due to slow interdepartmental communications and permission issues. Frustrating, right?\r\n\r\nIn my talk, I'll showcase how we can make this whole process much easier. I\u2019ll explain how using something called \u201cIdentity and Access Management\u201d (IAM) lets everyone in a company, including machines, get to work without these annoying holdups. \r\n\r\nSurprised to hear that a machine like Airflow can have its own identity? I'll explain how we use something known as Workload Identity as a crucial part in this ecosystem integrating Airflow within our infrastructure.\r\n\r\nA central pillar of the discussion will be the role of impersonation in our setup - how it ties together various elements to enable a harmonious, secure, and maintainable infrastructure. The resulting architecture not only fosters an improved developer experience, faster project delivery, increased productivity and transparency, but also serves as a foundation for more advanced concepts such as data mesh implementation.\r\n\r\nJoin me in this talk to discover the synergy of IAM, Workload Identity, and impersonation. Let's equip you with a model that promotes easy team onboarding, transparent access management, and a secure, frustration-free workspace focused on delivery.\r\n\r\n  And for those interested in having their code perform consistently, whether on a local machine or in the cloud, I will share a small but powerful Docker hack to achieve things consistently no matter where your code is running.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "HGKR9V", "name": "Marian \u0160pilka", "avatar": "https://programme.europython.eu/media/avatars/HGKR9V_kGHB36L.webp", "biography": "Marian Spilka, a Senior Data Engineer at Kiwi.com, is an adept in orchestrating data workflows with managed Airflow and helping teams through Data Mesh architecture integration. Marian is  passionate about everything around data. He finished his doctoral degree in Computer science with a focus on face recognition processing. \r\nBeyond professional expertise, Marian is also an enthusiast in smart home technology, merging the worlds of DIY projects with his love for innovation. Marian cherishes everyday moments with his family and loved ones, balancing work with a fulfilling home life.", "public_name": "Marian \u0160pilka", "guid": "7a1796ed-debc-57a0-9260-bf4c77e13297", "url": "https://programme.europython.eu/europython-2024/speaker/HGKR9V/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/TAW7PN/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/TAW7PN/", "attachments": [{"title": "Presentation slides", "url": "/media/europython-2024/submissions/TAW7PN/resources/Europython__Impersonation_in_data_engineer_A4OBVer.pptx", "type": "related"}]}], "South Hall 2A": [{"guid": "ab291b26-3aec-5b94-b73d-a7d36446c1f0", "code": "C9KSKY", "id": 47379, "logo": null, "date": "2024-07-10T10:45:00+02:00", "start": "10:45", "duration": "00:45", "room": "South Hall 2A", "slug": "europython-2024-47379-how-to-sell-a-big-refactor-or-rewrite-to-the-business", "url": "https://programme.europython.eu/europython-2024/talk/C9KSKY/", "title": "How to sell a big refactor or rewrite to the business?", "subtitle": "", "track": "Software Engineering & Architecture (2024)", "type": "Talk (long session)", "language": "en", "abstract": "In the world of software development, dealing with legacy code is often a necessary evil, especially for successful, fast-growing companies. The design stamina hypothesis suggests that legacy code is a sign of success, not failure. But how do we tackle this challenge smartly? This talk delves into the often-misunderstood realm of large-scale refactoring and rewrites, presenting a nuanced approach that contrasts with the traditional 'never rewrite' dogma.\r\n\r\nWe'll delve into real-world case studies where companies have successfully navigated their technical debt, uncovering crucial insights. Specifically, we will identify two key properties of these successful rewrites that can make or break your efforts. Understanding these properties enables us to strategically manage technical debt without losing our competitive edge. This session is not just a theoretical discussion but a practical guide, concluding with a decision-making quadrant to help determine the most effective approach for your team's refactor or rewrite projects. Whether you're leading a team through growth or coaching developers on best practices, this talk will equip you with a deeper understanding and actionable insights into one of the most critical aspects of software development.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "9SYDFX", "name": "Ivett \u00d6rd\u00f6g", "avatar": "https://programme.europython.eu/media/avatars/9SYDFX_Z0jg5Zb.webp", "biography": "Ivett \u00d6rd\u00f6g is a public speaker and the creator of Lean Poker, a gamified devops training tool that teaches agile, lean and continuous deployment practices to developers. She is based in Bavaria, Germany and has over 15 years of experience in software development and leadership. She is passionate about innovation, collaboration and learning, and enjoys sharing her knowledge and insights with others. She also runs a YouTube channel called Leaders Workshop, where she helps aspiring engineering leaders to grow their skills and confidence through practical advice and real-life stories.", "public_name": "Ivett \u00d6rd\u00f6g", "guid": "d441c213-9e38-5098-9d35-04faec103d81", "url": "https://programme.europython.eu/europython-2024/speaker/9SYDFX/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/C9KSKY/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/C9KSKY/", "attachments": [{"title": "Slides", "url": "/media/europython-2024/submissions/C9KSKY/resources/How_to_sell_a_big_refactor_or_rewrite_to_th_ahVjf5K.pdf", "type": "related"}]}, {"guid": "166bbaa2-ceb7-5b5f-b896-53ef90fc5ca4", "code": "P93P8V", "id": 46470, "logo": null, "date": "2024-07-10T11:35:00+02:00", "start": "11:35", "duration": "00:30", "room": "South Hall 2A", "slug": "europython-2024-46470-aggregating-data-in-django-using-database-views", "url": "https://programme.europython.eu/europython-2024/talk/P93P8V/", "title": "Aggregating data in Django using database views", "subtitle": "", "track": "Web technologies (2024)", "type": "Talk", "language": "en", "abstract": "Aggregating information is a common Django task, but using the aggregate method can be a bit cumbersome and in the case of large database tables, pretty slow as well. I will introduce the library django-pgviews-redux, which adds first-class support for database views (with Postgres), making that task much simpler.\r\n\r\nWith that library, database views are wrapped around models, meaning you get many of the features you rely on with models for free, like querysets and filtering on those, admin, and any other feature which works with models. Defining a view is almost as simple as defining a model, by specifying what fields there are for the model and defining the SQL.\r\n\r\nThis talk will walk through examples of aggregation in Django, and then show how one could simplify those examples using the library. Finally, we will get to materialized views as well, which stores the aggregation almost like a table in the database, providing big speed improvements on aggregation on large tables.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "TDUUPM", "name": "Mikul\u00e1\u0161 Poul", "avatar": "https://programme.europython.eu/media/avatars/TDUUPM_0IAg1YX.webp", "biography": "I've now been coding more years than not, and have been working with Django professionally for 10 years. Particular areas of interest to me are Django's ways of interacting with the database, testing using pytest, and data processing pipelines. I've written a couple minor public libraries, am maintain a couple more, and have written a lot of tooling internally for the SaaS application my company is developing. \r\n\r\nBorn and raised in Prague, Czech Republic, now I live in London after studying software engineering at FIT CTU and data science at UCL in London.", "public_name": "Mikul\u00e1\u0161 Poul", "guid": "a6d53f8b-3b3b-55a5-a21c-a169633f7d1e", "url": "https://programme.europython.eu/europython-2024/speaker/TDUUPM/"}], "links": [{"title": "Slides", "url": "https://www.mikulaspoul.cz/talks/django-aggregation-talk/", "type": "related"}], "feedback_url": "https://programme.europython.eu/europython-2024/talk/P93P8V/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/P93P8V/", "attachments": []}, {"guid": "57e6d12e-42f1-5826-ba12-ebd8ce8c713d", "code": "GVKEAK", "id": 46419, "logo": null, "date": "2024-07-10T12:10:00+02:00", "start": "12:10", "duration": "00:45", "room": "South Hall 2A", "slug": "europython-2024-46419-dfd-documentation-first-development-with-fastapi", "url": "https://programme.europython.eu/europython-2024/talk/GVKEAK/", "title": "DFD(Documentation-First Development) with FastAPI", "subtitle": "", "track": "Web technologies (2024)", "type": "Talk (long session)", "language": "en", "abstract": "Many software engineers, particularly web developers, recognize the critical importance of documentation for efficient collaboration. Yet, the challenge of maintaining up-to-date documentation remains a pervasive issue, often due to human errors such as failing to update documentation after changes in the codebase.\r\n\r\nThis presentation introduces the philosophy of Documentation-First Development (DFD), a methodology I advocate for that leverages the code-based OpenAPI documentation generation capabilities of the FastAPI framework. I will discuss methods to embody this philosophy, including the use of a sub-application pattern to segregate API documents and the application of generic types for crafting reusable custom response models. Additionally, I will address the limitations of traditional approaches to API documentation and demonstrate how FastAPI, in conjunction with Pydantic, offers a more effective solution by automatically keeping documentation synchronized with the code.\r\n\r\nThis presentation aims to enlighten attendees on the benefits of the FastAPI framework and provide practical insights into creating precise and well-maintained API documentation. It is designed for audiences interested in enhancing their documentation practices and those curious about the advantages of employing FastAPI for web development projects.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "RVFLYU", "name": "Taehyun Lee", "avatar": "https://programme.europython.eu/media/avatars/RVFLYU_pxKX52Z.webp", "biography": "Hi, I am Taehyun from South Korea. I am currently working as a software engineer in Karrot, which is a start-up in South Korea, and a senior year majoring in Swedish at the university.", "public_name": "Taehyun Lee", "guid": "79cb4c8d-9870-5d37-9019-59876e8f3049", "url": "https://programme.europython.eu/europython-2024/speaker/RVFLYU/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/GVKEAK/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/GVKEAK/", "attachments": [{"title": "Slides", "url": "/media/europython-2024/submissions/GVKEAK/resources/DFDDocumentation-First_Development_with_Fas_NpzwEN9.pdf", "type": "related"}]}, {"guid": "abcf4d1a-6d26-5fdb-aef6-a36b86c531df", "code": "QPPRQQ", "id": 45453, "logo": null, "date": "2024-07-10T14:00:00+02:00", "start": "14:00", "duration": "00:30", "room": "South Hall 2A", "slug": "europython-2024-45453-zero-trust-apis-with-python", "url": "https://programme.europython.eu/europython-2024/talk/QPPRQQ/", "title": "Zero Trust APIs with Python", "subtitle": "", "track": "Security (2024)", "type": "Talk", "language": "en", "abstract": "What does it take to deliver a properly secured API? When we think about API security, we first think of authentication and authorization. But there\u2019s more to it. API security also includes protecting against SQL Injection attacks, Mass Assignment, Excessive Data Exposure, Server-Side Request Forgery (SSRS), and more.\r\n\r\nAPIs are now the main attack vector on the Internet, and we gotta do something about it. Thankfully, Python boasts excellent libraries for API development, like FastAPI, the Django REST Framework, APIFlask, and more. When used properly, these libraries help us deliver secure APIs.\r\n\r\nIn this talk, I\u2019ll present a model of Zero Trust Security for APIs that applies robust data validation and sanitization across all data flows to help us deliver secure APIs. You\u2019ll learn how your API design and implementation choices impact API security and how to discover and tackle vulnerabilities.\r\n\r\nWe\u2019ll walk through practical examples of SQL injection, mass assignment, big payload attacks, pagination attacks, and more. We\u2019ll see how URL parameters and request payloads can become attack vectors when they\u2019re not properly configured.\r\n\r\nYou\u2019ll also learn how to use tools like schemathesis and Spectral to automate and scale the process of detecting vulnerabilities in your APIs.\r\n\r\nBy the end of this talk, you\u2019ll be aware of the most important threats to our APIs and you\u2019ll know how to discover and address them effectively. You\u2019ll also get familiar with the concepts of API Security by Design, Shift-Left API Security, and Zero Trust APIs.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "YRPTZY", "name": "Jose Haro Peralta", "avatar": "https://programme.europython.eu/media/avatars/YRPTZY_rPEf9wn.webp", "biography": "Jose is an API strategy and security advisor. He's the author of [Microservice APIs](https://www.manning.com/books/microservice-apis) and the creator of [fencer](https://github.com/abunuwas/fencer), an open-source API security testing tool. He's a regular speaker at international conferences and has taught hundreds of students to build and deliver reliable and secure APIs.", "public_name": "Jose Haro Peralta", "guid": "78731263-419f-5fd1-a97c-3c50f1841031", "url": "https://programme.europython.eu/europython-2024/speaker/YRPTZY/"}], "links": [{"title": "Slides", "url": "https://docs.google.com/presentation/d/1EnkYxEmXHnUNimm5I20Xzsdek3UwPUUQNotdwUDRyb0/edit?usp=sharing", "type": "related"}, {"title": "slides", "url": "https://docs.google.com/presentation/d/1EnkYxEmXHnUNimm5I20Xzsdek3UwPUUQNotdwUDRyb0/edit?usp=sharing", "type": "related"}], "feedback_url": "https://programme.europython.eu/europython-2024/talk/QPPRQQ/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/QPPRQQ/", "attachments": []}, {"guid": "4c875637-3394-51ca-ace4-99f152f33b04", "code": "LWSF9C", "id": 46850, "logo": null, "date": "2024-07-10T14:35:00+02:00", "start": "14:35", "duration": "00:30", "room": "South Hall 2A", "slug": "europython-2024-46850-deadcode-a-tool-to-find-and-fix-unused-dead-python-code", "url": "https://programme.europython.eu/europython-2024/talk/LWSF9C/", "title": "Deadcode - a tool to find and fix unused (dead) Python code", "subtitle": "", "track": "Python Libraries & Tooling (2024)", "type": "Talk", "language": "en", "abstract": "No longer needed code creates technical debt if it is not removed from the code base. Unused code has to be maintained, it complicates code base and increases cognitive load. It might even depend on no longer necessary dependencies with vulnerabilities and might increase attack surface. Therefore, removing dead code saves time, money and reduces security risks.\r\n\r\nRecently, Ruff has became a de facto linter, which provides almost all existing linting rules from other linters. However, it is only capable to detect locally unused Python code, which is only a tiny portion of unused code.\r\n\r\nVulture is the best known tool for detecting globally unused Python code. However, its configuration is not very flexible and disabling false positives in a larger code base might require a lot of effort.\r\nAlso, unused code detection is sometimes inaccurate, because scopes are not taken into account, when detecting unused code. \r\n\r\nThis presentation introduces a new Python package called `deadcode`, which tries to move globally unused Python code detection to the next level. First, it provides a large set of options to flexibly disable various types of false positives. Second, deadcode implements more rules for detecting unused code than Vulture. Third, an improved strategy which tracks scopes and namespaces into account is being used to \r\nmore accurately identify unused code items. Fourth, a --fix option is provided, which allows to automatically remove detected unused code items.\r\n\r\nIn addition, an idea to prune Python code in order to reduce its size will be consider, which might be relevant when serving Python code in a browser.\r\n\r\nLets make Python ecosystem even more awesome!", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "K8XYZX", "name": "Albertas Gimbutas", "avatar": "https://programme.europython.eu/media/avatars/K8XYZX_zYxr9cV.webp", "biography": "Python enthusiast, who has helped to kick start Python conference in Lithuania ten years ago. He has more than 7 years of professional Python back-end engineering experience mostly using Django; as well as a PhD in Informatics and professional certifications in Python, AWS and Terraform. Currently working as a Tech Lead Python Engineer at Shift4.", "public_name": "Albertas Gimbutas", "guid": "5f782ae4-41de-584b-b00c-cfd52912a40a", "url": "https://programme.europython.eu/europython-2024/speaker/K8XYZX/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/LWSF9C/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/LWSF9C/", "attachments": [{"title": "Slides", "url": "/media/europython-2024/submissions/LWSF9C/resources/PyConEU-2024__Deadcode_slides_PolHftr.pdf", "type": "related"}]}, {"guid": "3d8d382b-1a65-5974-a5ec-2bb1058eff28", "code": "TTN3RZ", "id": 47001, "logo": null, "date": "2024-07-10T15:30:00+02:00", "start": "15:30", "duration": "00:30", "room": "South Hall 2A", "slug": "europython-2024-47001-event-sourcing-in-production", "url": "https://programme.europython.eu/europython-2024/talk/TTN3RZ/", "title": "Event Sourcing in production", "subtitle": "", "track": "Software Engineering & Architecture (2024)", "type": "Talk", "language": "en", "abstract": "Event Sourcing (ES) is a powerful concept that lets you adapt your business logic without losing data and past states.\r\nWhether your domain understanding changes or new requirements land on your lap, there is a path forward.\r\nJoin us as we talk about some real-world tactics we relied on to manage Event Sourcing in production.\r\nWe will accumulate a handful of patterns throughout the talk that will hopefully help you avoid pitfalls and bottlenecks.\r\n\r\nOur use cases build on the `eventsourcing` library, a mature and well-rounded Python library that deserves more attention.\r\nWe will tackle the three key aspects of a successful event-sourced application: evolution, projection, and runtime.\r\n\r\nSoftware does not run in a vacuum, models need to change and evolve to reflect the world they live in.\r\nES records the evolution of how we abstract our domain, how we see things.\r\nEventually these abstractions can become clumsy or simply inappropriate.\r\nWe can deal with that without breaking stride (losing data).\r\n\r\nES also gives us the ability to revisit our perspective and change how we present the application state \u2014 by creating new projections and replaying the history.\r\nWe will look at how it offers a cheap way to support optimal read-models, which we can can tweak and rebuild in the blink of an eye.\r\n\r\nFinally, we will present how such a system actually runs in a typical web application.\r\nWhether in the request loop (synchronous), or through eventual consistency (asynchronous).\r\nAs a single process, or distributed for parallel processing.\r\n\r\n---\r\n\r\nThis talk assumes some familiarity with _Event Sourcing_ and its friends _Domain Driven Design_ (DDD) and _Command Query Responsibility Seggregation_ (CQRS).", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "8LC3YQ", "name": "Borjan Tchakaloff", "avatar": "https://programme.europython.eu/media/avatars/8LC3YQ_x4i6tEQ.webp", "biography": "Borjan has been fully focusing his attention on software engineering with Python for the last six years.\r\nHe is having good fun with event sourcing and Django.\r\nCurrently busy at home with parental duties.", "public_name": "Borjan Tchakaloff", "guid": "d2a6ce1d-cd56-5358-98e6-c0b15efadbd6", "url": "https://programme.europython.eu/europython-2024/speaker/8LC3YQ/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/TTN3RZ/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/TTN3RZ/", "attachments": [{"title": "Slides", "url": "/media/europython-2024/submissions/TTN3RZ/resources/Event_Sourcing_in_Production_-_EuroPython_2_v9uph5w.pdf", "type": "related"}]}, {"guid": "bab76c98-e658-5fcf-b606-dbc56dbb2c88", "code": "CVXAB7", "id": 46750, "logo": null, "date": "2024-07-10T16:05:00+02:00", "start": "16:05", "duration": "00:30", "room": "South Hall 2A", "slug": "europython-2024-46750-enhancing-decorators-with-type-annotations-techniques-and-best-practices", "url": "https://programme.europython.eu/europython-2024/talk/CVXAB7/", "title": "Enhancing Decorators with Type Annotations: Techniques and Best Practices", "subtitle": "", "track": "Python Internals & Ecosystem (2024)", "type": "Talk", "language": "en", "abstract": "Decorators are powerful, magical syntax sugar, offering a convenient way to wrap and enhance functions. But sometimes, it's not clear how to use a defined decorator.\r\n\r\nWhat arguments should we pass to a given decorator? What functions does it target? Does it change the return type of the wrapped function? Have you ever faced these questions?\r\n\r\nIf proper type hints are defined for decorators, static type checkers like mypy and pyright IDEs will point out the errors in usage. Thus, guiding you on the right path by catching bugs earlier, reducing unnecessary debugging and unexpected runtime behaviour.\r\n\r\nThis talk will step you through type definitions utilizing `typing.TypeVarTuple`, `typing.Protocol`, `typing.ParamSpec`, `typing.Concatenate`, `Type Parameter Syntax`, and more, all of which are practical to implement and can make your project robust!", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "BPFJEJ", "name": "Koudai Aono", "avatar": "https://programme.europython.eu/media/avatars/BPFJEJ_nBVuCjo.webp", "biography": "I am a software developer based in Tokyo, with a strong focus on Python. I enjoy contributing to Open Source Software (OSS) with a goal to make the development environment friendlier.", "public_name": "Koudai Aono", "guid": "fdac5091-c388-5ebe-9d45-9493161ef510", "url": "https://programme.europython.eu/europython-2024/speaker/BPFJEJ/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/CVXAB7/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/CVXAB7/", "attachments": [{"title": "Talk Slide", "url": "/media/europython-2024/submissions/CVXAB7/resources/EuroPython_2024_Enhancing_Decorators_with_T_sllIeeP.pdf", "type": "related"}]}], "South Hall 2B": [{"guid": "a01ba358-03e2-5511-8874-433b858ba07a", "code": "HBM9ZK", "id": 46992, "logo": null, "date": "2024-07-10T10:45:00+02:00", "start": "10:45", "duration": "00:45", "room": "South Hall 2B", "slug": "europython-2024-46992-animations-from-first-principles", "url": "https://programme.europython.eu/europython-2024/talk/HBM9ZK/", "title": "Animations from first principles", "subtitle": "", "track": "Arts, Crafts Culture & Demos (2024)", "type": "Talk (long session)", "language": "en", "abstract": "How do you create an animation?\r\n\r\nWhat if you want to morph a circle into a figure eight?\r\n\r\nAs it turns out, all you need is two or three functions and a loop!\r\n\r\nIn this live-coded talk, we'll go over the basic concepts and code needed to create an animation _from first principles_.\r\n\r\nBecause the talk presents the ideas and the code from first principles, you will be able to take the key concepts and build your own animations after!\r\n\r\nWe'll start simple and build from there:\r\n\r\n - How can you draw a circle if all you can do is colour single pixels?\r\n - How can you animate the process of drawing a circle?\r\n - How can you animate the process of drawing something other than a circle?\r\n - How can you animate the process of morphing two figures?\r\n - How do you add colour to your animations?\r\n\r\nThis visually appealing talk will show you all of the code without skipping a single line and by the time we're done you'll be jumping in your seat to create your own animations!", "description": null, "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](https://mathspp.com/blog), writing on Twitter [@mathsppblog](https://twitter.com/mathsppblog), and giving workshops and courses. You can also find his past talks on [https://mathspp.com/talks](https://mathspp.com/talks).\r\n\r\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.", "public_name": "Rodrigo Gir\u00e3o Serr\u00e3o", "guid": "deadfed1-3cce-5c6f-b1cc-2dd63deac2a5", "url": "https://programme.europython.eu/europython-2024/speaker/BLNV7P/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/HBM9ZK/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/HBM9ZK/", "attachments": []}, {"guid": "0528a16a-dde3-5375-b050-7e9958bee36a", "code": "LEXULB", "id": 47004, "logo": null, "date": "2024-07-10T11:35:00+02:00", "start": "11:35", "duration": "00:30", "room": "South Hall 2B", "slug": "europython-2024-47004-intellectual-property-law-101", "url": "https://programme.europython.eu/europython-2024/talk/LEXULB/", "title": "Intellectual Property Law 101", "subtitle": "", "track": "~ None of these topics (2024)", "type": "Talk", "language": "en", "abstract": "\"Oh, legal is boring,\" most developer community thinks in this line. Yes, it is boring, but it is essential at the same time. We will demystify certain basic legal concepts the developers need to know to secure them, their code, and, most importantly, the consequences of their steps. I will go through three fundamental pillars of Intellectual property laws: Trademark, Copyright, and Patent. The talk will include real-life examples of applying all of the above. This talk targets developers and not legal experts.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "XXDZKP", "name": "Anwesha Das", "avatar": "https://programme.europython.eu/media/avatars/XXDZKP_fxe5Ftf.webp", "biography": "Anwesha is a Master of Laws by education and a technologist by passion.She is a fellow at the Python Software Foundation and the Release Manager of Ansible. She works as a Software Engineer with the Ansible Engineering team at Red Hat. She led PyLadies efforts in India and now is an organizer at PyLadies Stockholm.  You can follow her blog at https://anweshadas.in.", "public_name": "Anwesha Das", "guid": "e194a6f1-e696-5632-80cf-6237d7202150", "url": "https://programme.europython.eu/europython-2024/speaker/XXDZKP/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/LEXULB/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/LEXULB/", "attachments": []}, {"guid": "0d3d3782-b29b-5eaf-a83b-7fd0b789a9b4", "code": "JFFDLS", "id": 47376, "logo": null, "date": "2024-07-10T12:10:00+02:00", "start": "12:10", "duration": "00:45", "room": "South Hall 2B", "slug": "europython-2024-47376-and-justice-for-ail", "url": "https://programme.europython.eu/europython-2024/talk/JFFDLS/", "title": "... and justice for AIl", "subtitle": "", "track": "Ethics, Philosophy & Politics (2024)", "type": "Talk (long session)", "language": "en", "abstract": "\u201eEverything\u2019s science fiction until someone makes it science fact.\u201c - Marie Lu, Warcross\r\n\r\nWe live in times that have quite a lot of those science facts- even if hoverboards sadly are not part of them- and now have to deal with this new world and all it\u2019s changes for better or for worse. \r\n\r\nThere are unsettling deepfakes, stunning Cap-Set-Problem-solving language models and the question of artificial conscience. Developers might be able to navigate the turbulences of AI evolution, but are you brave enough to take on the quest of untangling the nebulous scriptures of law that are known to the chaotic neutral wordwizards of the council of Europa as the \u201eAI Act\u201c?\r\n\r\nAccompany me on a journey through the valleys of risk-based AI categories, over the sea of subsectional articles and to the top of mount ethic, as we strive to understand the possibilities the AI Act gives our bold heroes to defy the boundaries of innovation, protect the villagers of the EU and construct (legally) safe software.\r\n\r\nThe Proposal for the European Artificial Intelligence Act takes 224 Pages of legalese to work through. \r\n\r\nThis talk will give a short overview of what the European AI Act is and about the purpose and necessity of a globally harmonised legal system. \r\n\r\nHopefully it will give an understanding about the main goals of the act, which are, spoiler alert, ensuring AI safety, the protection of fundamental rights, and legal clarity for businesses and developers (which is probably you).\r\n\r\nLet us discuss, how developers can shield fundamental rights by writing ethical AI Systems whilst navigating the regulatory landscape and staying tuned with legal development as well.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "ECLXGR", "name": "Martina Guttau-Zielke", "avatar": "https://programme.europython.eu/media/avatars/ECLXGR_PDVALAe.webp", "biography": "Born in 1987 I grew up in Germany raised by a single, unemployed mother, without any educational background or wealth. \r\nRegardless, my mother put a lot of effort into my education, even as we struggled financially, and I was able to attend university and study law in 2009.\r\nBesides studying I committed to honorary posts at the European Law Students' Association and cared for my mother, who became ill. I even had to take a two-year-break from university to tend to her and go working at a hairdresser's in full employment. \r\nShortly before I could write my final exams, I gave birth to my first child in 2017 and to the second one in 2020. I stayed home a while and restarted university in September 2023. \r\nMy key area of focus is Media Law, which includes the areas of IT, Data Security, Intellectual Property and many more.\r\nOther than my studies and my little goblin children, my hobbies include reading (mostly science fiction and fantasy), pen and paper rpg, watching Buffy for the umphthousandth time, sewing and the dream of someday exercising martial arts again.", "public_name": "Martina Guttau-Zielke", "guid": "0edbcec9-4ab2-5521-85cf-2a9c4e0fe5ae", "url": "https://programme.europython.eu/europython-2024/speaker/ECLXGR/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/JFFDLS/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/JFFDLS/", "attachments": [{"title": "The slides as pdf, including sources", "url": "/media/europython-2024/submissions/JFFDLS/resources/..._and_justice_for_AIl_8s1VemF.pdf", "type": "related"}]}, {"guid": "971a1fef-113e-5827-b1ca-109fedc3e990", "code": "8NYTHE", "id": 52105, "logo": null, "date": "2024-07-10T14:00:00+02:00", "start": "14:00", "duration": "01:00", "room": "South Hall 2B", "slug": "europython-2024-52105-cpython-core-development-panel", "url": "https://programme.europython.eu/europython-2024/talk/8NYTHE/", "title": "CPython Core Development Panel", "subtitle": "", "track": null, "type": "Panel", "language": "en", "abstract": "Python has been evolving very rapidly in the last few years, and this is because new ideas have been taking over the Core Development. New ideas require new people, a new background and lots of energy.\r\n\r\nThis panel aims for the people to be aware of the changes that are coming in 3.13, and future versions, as well as ways people can contribute by testing features, fixing issues, or even sharing their own ideas.\r\n\r\nHost: Konstantin Ignatov\r\nPanelists: Pablo Galindo Salgado, \u0141ukasz Langa,  Carol Willing, Hugo van Kemenade, Victor Stinner and Petr Viktorin", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "YFCVFV", "name": "\u0141ukasz Langa", "avatar": "https://programme.europython.eu/media/avatars/YFCVFV_g7KtDtA.webp", "biography": "Failed comedian. CPython Developer in Residence. Wannabe musician. Python 3.8 & 3.9 release manager. Co-host of the core.py podcast. Original creator of Black. Dad.", "public_name": "\u0141ukasz Langa", "guid": "b50ee16d-ffa3-5d20-8788-9e816cdf3705", "url": "https://programme.europython.eu/europython-2024/speaker/YFCVFV/"}, {"code": "SCAGQW", "name": "Petr Viktorin", "avatar": "https://programme.europython.eu/media/avatars/SCAGQW_gVfuTj1.webp", "biography": null, "public_name": "Petr Viktorin", "guid": "6cf72eda-9293-5fe9-9d29-a56ead87f692", "url": "https://programme.europython.eu/europython-2024/speaker/SCAGQW/"}, {"code": "NLHSWB", "name": "Pablo Galindo Salgado", "avatar": "https://programme.europython.eu/media/avatars/NLHSWB_9yNq5Sm.webp", "biography": "Pablo Galindo Salgado works in the Python Infrastructure team at the Software Infrastructure department at Bloomberg L.P. He 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 also has a cat who doesn't code.", "public_name": "Pablo Galindo Salgado", "guid": "86324274-444b-5af9-b4cc-eea823ce4091", "url": "https://programme.europython.eu/europython-2024/speaker/NLHSWB/"}, {"code": "LBHYNH", "name": "Victor Stinner", "avatar": "https://programme.europython.eu/media/avatars/LBHYNH_ZvloHq0.webp", "biography": "I am paid by Red Hat to maintain Python upstream (python.org) and downstream (RHEL and Fedora). Python core developer.", "public_name": "Victor Stinner", "guid": "9e9c999b-bc55-5089-a4a0-a158826189dd", "url": "https://programme.europython.eu/europython-2024/speaker/LBHYNH/"}, {"code": "HBHXB3", "name": "Carol Willing", "avatar": "https://programme.europython.eu/media/avatars/HBHXB3_fd2bdRz.webp", "biography": "I am a globally recognized expert in Python development and open source software. As a board advisor and consultant, I guide early-stage organizations, and leadership teams in the complexities of open source governance, data science, AI, cloud, and Machine Learning. I am a core Python developer, three-time Python steering member, and Project Jupyter core contributor.\r\n\r\nMy contributions to science, open source, and technology are felt far and wide: I have transformed the way students learn with Jupyter notebooks; I\u2019ve contributed and shared to countless open source projects such as AnitaB.org and CPython; I\u2019ve advised many organizations in open source governance including Quansight Labs, CZI Open Source, and PyOpenSci. I am the recipient of the ACM Software System Award (2017) and the Frank Willison Award for technical and community contributions to Python (2019). I\u2019m a co-organizer of PyLadies San Diego and San Diego Python User Group.\r\n\r\nThroughout my career, I\u2019ve built a reputation for embracing opportunity, scaling knowledge through the power of community, and approaching every challenge with curiosity, empathy, and kindness. I have a track record of building high-performance teams, helping organizations grasp the complexities of cloud-native environments, and influencing others through mentorship. I believe in the power of sharing, in the power of community. I also believe that through science and technology and art, we can discover more about who we are as humans. I\u2019m deeply committed to sharing my knowledge with others through stories that make the world of technology and science accessible and relatable\u2014through five-minute mentor moments to a keynote on a global stage.\r\n\r\nWhen I am not coding or deep in research on data, AI, or cognitive science, you can find me in my Southern California garden, surrounded by succulents, restoring an old guitar, or building blinky wearables.", "public_name": "Carol Willing", "guid": "2a06357a-f3a4-5547-9ea3-5915b24f2271", "url": "https://programme.europython.eu/europython-2024/speaker/HBHXB3/"}, {"code": "NPC3QX", "name": "Hugo van Kemenade", "avatar": "https://programme.europython.eu/media/avatars/NPC3QX_Il3iVFT.webp", "biography": null, "public_name": "Hugo van Kemenade", "guid": "75ae6270-bb7d-5968-bff5-230047bb713f", "url": "https://programme.europython.eu/europython-2024/speaker/NPC3QX/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/8NYTHE/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/8NYTHE/", "attachments": []}, {"guid": "69c03bdb-85f4-50b5-becc-548d3dd7172d", "code": "UPWH7Z", "id": 46722, "logo": null, "date": "2024-07-10T15:30:00+02:00", "start": "15:30", "duration": "00:30", "room": "South Hall 2B", "slug": "europython-2024-46722-keeping-your-projects-nice-and-clean", "url": "https://programme.europython.eu/europython-2024/talk/UPWH7Z/", "title": "Keeping your projects nice and clean", "subtitle": "", "track": "Python Libraries & Tooling (2024)", "type": "Talk", "language": "en", "abstract": "Keeping your projects nice and clean helps other to understand your code better and it's crucial when you're working in teams of more than a few people. How do you achieve that?\r\n\r\nI'll talk about selected quality control tools, autoformatters, CI, but also about conventions, review process and other details of how we tackle this problem in my workplace. I'll discuss how to introduce changes gradually and keep your repository style and quality checks in sync, even when you have dozens of them. And also about what happens when you overdo it and the tools that should make your life easier actually turn into the torturing machine.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "FWGLE3", "name": "Jan Mus\u00edlek", "avatar": "https://programme.europython.eu/media/avatars/FWGLE3_M8OECsb.webp", "biography": "I've gained my degree in Theoretical Computer Science on Charles University in Prague, Faculty of Mathematics and Physics. Currently I work as a Senior Python Developer at CZ.NIC, taking care of .cz domain registry and its ecosystem. I've been programming for almost 20 years, 7 of those as a professional Python developer. I'm a Linux and FOSS enthusiast and I like to submit PRs to open source projects whenever possible. In my free time, I do enjoy practicing partner acrobatics.", "public_name": "Jan Mus\u00edlek", "guid": "380aede4-c38f-55ca-a70a-842b725c617f", "url": "https://programme.europython.eu/europython-2024/speaker/FWGLE3/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/UPWH7Z/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/UPWH7Z/", "attachments": [{"title": "Slides for viewing", "url": "/media/europython-2024/submissions/UPWH7Z/resources/slides_EzqA48v.pdf", "type": "related"}]}, {"guid": "afbeb1f4-2749-556c-8e1e-4c1624754bdb", "code": "TPNQRM", "id": 53088, "logo": null, "date": "2024-07-10T16:05:00+02:00", "start": "16:05", "duration": "00:30", "room": "South Hall 2B", "slug": "europython-2024-53088-how-we-sped-up-numpy-s-string-operations-for-numpy-2-0", "url": "https://programme.europython.eu/europython-2024/talk/TPNQRM/", "title": "How we sped up NumPy\u2019s string operations for NumPy 2.0", "subtitle": "", "track": "Python Libraries & Tooling (2024)", "type": "Talk", "language": "en", "abstract": "After a huge amount of work from many people, NumPy 2.0.0 has been released, the first major NumPy release since 2006! Among the many new features, several changes to both the Python API and the C API, and a great deal of documentation improvements, there was also a lot of work on improving the performance of string operations.\r\n\r\nIn this talk, we'll go through the timeline of the changes and the resulting performance improvements, while also diving deep into NumPy ufunc internals and explaining topics like NumPy (parametric) dtypes, type promotion and more.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "FRXXAQ", "name": "Lysandros Nikolaou", "avatar": "https://programme.europython.eu/media/avatars/FRXXAQ_cBQDaZd.webp", "biography": "Lysandros works as a Senior Software Engineer at Quansight Labs, where he spends most of his time on CPython and the PyData ecosystem. He is a CPython core developer, specializing in the parser, the tokenizer and the REPL. He recently worked on supercharging f-strings in Python 3.12 and the new REPL for Python 3.13.", "public_name": "Lysandros Nikolaou", "guid": "5a4a540a-d2b4-57a3-941f-e916aefb78f2", "url": "https://programme.europython.eu/europython-2024/speaker/FRXXAQ/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/TPNQRM/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/TPNQRM/", "attachments": []}], "Main Hall A": [{"guid": "3564f070-da43-58be-b94b-547048f3d062", "code": "A3E3XE", "id": 46708, "logo": null, "date": "2024-07-10T13:00:00+02:00", "start": "13:00", "duration": "01:00", "room": "Main Hall A", "slug": "europython-2024-46708-building-end-to-end-reliable-rag-applications", "url": "https://programme.europython.eu/europython-2024/talk/A3E3XE/", "title": "Building End-to-End Reliable RAG Applications", "subtitle": "", "track": "PyData: LLMs (2024)", "type": "Poster", "language": "en", "abstract": "Retrieval-Augmented Generation (RAG) presents an excellent approach to overcoming the limitations associated with Large Language Models (LLMs), such as hallucinations or issues related to the recency of their training data. However, relying solely on RAG is insufficient, particularly when dealing with domain-specific data or verifying a response's adequacy. Neglecting these scenarios can cost time, money, and customer satisfaction. That\u2019s why, as you develop an application, it's crucial to evaluate your retrieval process, improve it with advanced techniques if necessary, and consider all edge cases, including handling out-of-domain queries, and implement fallback mechanisms. Thus, you ensure that your system is both resilient and flexible.\r\nThis poster will explain some problems you may encounter in real life and which steps to take to build reliable and resilient RAG applications with the open source LLM framework Haystack that you can safely use in production", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "PVSNUG", "name": "Bilge Y\u00fccel", "avatar": "https://programme.europython.eu/media/avatars/PVSNUG_6VcFG3b.webp", "biography": "Bilge is a Developer Relations Engineer at deepset, working with Haystack, an open source LLM framework. With over two years of experience as a Software Engineer, she developed a strong interest in NLP and pursued a master's degree in Artificial Intelligence at KU Leuven with a focus on NLP. Now, she enjoys working with Haystack, writing blog posts and tutorials, and helping the community build LLM applications.  \u2728\u00a0\ud83e\udd51", "public_name": "Bilge Y\u00fccel", "guid": "f8c5b23a-9de7-56c2-8983-a22c3cce5eb0", "url": "https://programme.europython.eu/europython-2024/speaker/PVSNUG/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/A3E3XE/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/A3E3XE/", "attachments": []}], "Main Hall B": [{"guid": "d1a1e2b2-2002-54a9-9503-09260713c157", "code": "TLHPWB", "id": 46678, "logo": null, "date": "2024-07-10T13:00:00+02:00", "start": "13:00", "duration": "01:00", "room": "Main Hall B", "slug": "europython-2024-46678-stop-using-setup-py", "url": "https://programme.europython.eu/europython-2024/talk/TLHPWB/", "title": "Stop using setup.py!", "subtitle": "", "track": "Python Libraries & Tooling (2024)", "type": "Poster", "language": "en", "abstract": "The new pyproject.toml file gains in popularity. Together with it, some changed to existing packaging tools are happening, especially to setuptools and distutils. The first one is moving away from setup.py support, and the other one was removed from stdlib and merged into the setuptools itself.\r\n\r\nBut that change isn't scary or bad! Come to my poster and I'll show you how you can migrate away from setup.py while still using setuptools like nothing ever changed!", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "A7Q3CY", "name": "Piotr Gnus", "avatar": "https://programme.europython.eu/media/avatars/A7Q3CY_iLGsx2O.webp", "biography": "I'm a Python developer with a high experience in web frameworks, database ORMs and creating various APIs. Through my career I worked in various interesting industries, including some work for travel agencies, online gambling sites, creating point of sales and cash registers as well as \"in person\" payment processing. Enjoying various Python conferences across Europe since 2015 and EuroPython since 2022. Outside working hours I'm also interested in security engineering and I'm a (slightly retired) member of a CTF team.", "public_name": "Piotr Gnus", "guid": "8d3be5ba-fe68-5f84-9b0c-3d1ff7f43be0", "url": "https://programme.europython.eu/europython-2024/speaker/A7Q3CY/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/TLHPWB/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/TLHPWB/", "attachments": [{"title": "Poster", "url": "/media/europython-2024/submissions/TLHPWB/resources/setup-py-A0_qCfqcAN.pdf", "type": "related"}]}], "Main Hall C": [{"guid": "eb5059ce-eac6-5b33-8bd8-15082c9028c0", "code": "LYNADL", "id": 46450, "logo": null, "date": "2024-07-10T13:00:00+02:00", "start": "13:00", "duration": "01:00", "room": "Main Hall C", "slug": "europython-2024-46450-rapid-detection-of-red-cell-membrane-defects-leading-to-hemolytic-anaemias", "url": "https://programme.europython.eu/europython-2024/talk/LYNADL/", "title": "Rapid detection of red cell membrane defects leading to hemolytic anaemias", "subtitle": "", "track": "PyData: Machine Learning, Stats (2024)", "type": "Poster", "language": "en", "abstract": "Hemolytic anaemias are a group of disorders characterised by the loss of integrity of the red blood cell membrane that leads to premature RBC clearance. These conditions often are heterogeneous in the genetic causes, complicating diagnosis by high throughput DNA sequencing. We applied deep learning technologies to build a diagnostic tool for hemolytic anaemias. We used an Imaging Flow Cytometer to obtain images of red blood cell membranes for several hemolytic anaemias and then trained the deep neural network to distinguish the stages of the disease using Keras and TensorFlow. This project combines Python-based machine learning with socially viable healthcare applications.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "FNMQXB", "name": "Tess Afanasyeva", "avatar": "https://programme.europython.eu/media/avatars/FNMQXB_eVZJxiv.webp", "biography": "Postdoc Bioinformatician, escaped from the lab (PhD) into Bioinformatics (Postdoc) via Software development coding bootcamp by Code First Girls and lots of self-study.", "public_name": "Tess Afanasyeva", "guid": "2978c683-c256-5239-b3d2-7f29251fa65d", "url": "https://programme.europython.eu/europython-2024/speaker/FNMQXB/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/LYNADL/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/LYNADL/", "attachments": []}]}}, {"index": 4, "date": "2024-07-11", "day_start": "2024-07-11T04:00:00+02:00", "day_end": "2024-07-12T03:59:00+02:00", "rooms": {"Forum Hall": [{"guid": "2096d101-57d9-591f-b06f-c2a86b1bafbe", "code": "CFTYQ3", "id": 52067, "logo": null, "date": "2024-07-11T08:15:00+02:00", "start": "08:15", "duration": "00:45", "room": "Forum Hall", "slug": "europython-2024-52067-thursday-registration-welcome-forum-hall-foyer-1st-floor", "url": "https://programme.europython.eu/europython-2024/talk/CFTYQ3/", "title": "Thursday Registration & Welcome @ Forum Hall Foyer 1st Floor", "subtitle": "", "track": null, "type": "Announcements", "language": "en", "abstract": "Welcome to EuroPython 2024! 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!", "description": null, "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/CFTYQ3/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/CFTYQ3/", "attachments": []}, {"guid": "c7db6347-57cb-5e61-8f7d-685389635679", "code": "N7Z3NF", "id": 51572, "logo": null, "date": "2024-07-11T09:00:00+02:00", "start": "09:00", "duration": "00:15", "room": "Forum Hall", "slug": "europython-2024-51572-thursday-s-morning-announcement", "url": "https://programme.europython.eu/europython-2024/talk/N7Z3NF/", "title": "Thursday's Morning Announcement", "subtitle": "", "track": null, "type": "Announcements", "language": "en", "abstract": "The news for the day. What's up and what you should know today. Come by and find out what is going to happen today.", "description": null, "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/N7Z3NF/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/N7Z3NF/", "attachments": []}, {"guid": "47d6c2d5-dbff-5957-9bc5-1c606cf765ae", "code": "8FY9BC", "id": 52120, "logo": null, "date": "2024-07-11T09:15:00+02:00", "start": "09:15", "duration": "00:45", "room": "Forum Hall", "slug": "europython-2024-52120-why-should-we-all-be-hyped-about-inclusive-leadership", "url": "https://programme.europython.eu/europython-2024/talk/8FY9BC/", "title": "Why should we all be hyped about inclusive leadership?", "subtitle": "", "track": "Education, Community & Diversity (2024)", "type": "Keynote", "language": "en", "abstract": "We often associate the need for leadership skills with being in a management position. But...we start needing them a lot earlier in our career to succeed and have a positive impact. The diverse workspaces and communities are here to stay, though almost none of us have learned in school how to thrive in diversity. Nor how to be inclusive. We are all somewhere on a journey of inclusive leadership! In this talk we can find out how to asses where we are. And why we should approach inclusive leadership with a beginners mindset, try to do better, make mistakes, learn, repeat. And why we should all be hyped about it.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "NMACLQ", "name": "Tereza Iofciu", "avatar": "https://programme.europython.eu/media/avatars/NMACLQ_7YAZwK6.webp", "biography": "Tereza Iofciu is a data practitioner and leadership coach. She has more than 15 years of experience in Data Science, Data Engineering, Product Management and Team Management. Along side that she spent most of those years volunteering in the Python Community and wears many hats: PyLadies Hamburg organizer, Python Software Verband board member, NumFocus DISC Steering Committee member, Python Software Foundation Code of Conduct team member, Diversity & Inclusion working group member, PyConDE & PyData Berlin organizer, Python Pizza Hamburg organizer, and PyPodcats co-leader. In 2021 Tereza was awarded the Python Software Foundation community service award.", "public_name": "Tereza Iofciu", "guid": "9f1c4db3-3e40-5e40-a06d-ad540d3a75fc", "url": "https://programme.europython.eu/europython-2024/speaker/NMACLQ/"}], "links": [{"title": "Slides", "url": "https://speakerdeck.com/terezaif/why-should-we-all-be-hyped-about-inclusive-leadership", "type": "related"}], "feedback_url": "https://programme.europython.eu/europython-2024/talk/8FY9BC/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/8FY9BC/", "attachments": []}, {"guid": "06dcf236-c816-59bd-b408-0ebb2f2dcaa9", "code": "7PEXTK", "id": 45359, "logo": null, "date": "2024-07-11T10:30:00+02:00", "start": "10:30", "duration": "00:45", "room": "Forum Hall", "slug": "europython-2024-45359-rapid-prototyping-proof-of-concepts-django-is-all-we-need", "url": "https://programme.europython.eu/europython-2024/talk/7PEXTK/", "title": "Rapid Prototyping & Proof of Concepts: Django is all we need", "subtitle": "", "track": "Python Libraries & Tooling (2024)", "type": "Talk (long session)", "language": "en", "abstract": "In this modern day and age, 2 things are for certain:\r\n\r\n1. Time-to-market for our products & features matters.\r\n2. We can easily drown in complexity and be carried away by over-engineering.\r\n\r\nHaving the ability to rapidly develop prototypes and proof of concepts is very powerful, because we can iterate towards the right thing, with code.\r\n\r\nWe know that we can use Django for building mature & long-lasting applications.\r\n\r\nBut what about building rapid prototypes and proof of concepts?\r\n\r\nIn this talk, we\u2019ll show that Django can do that job, reliably, as well.\r\n\r\nWe\u2019ll look at what Django & the rich 3rd party ecosystem has to offer us, when it comes to building rapid prototypes.\r\n\r\nWe\u2019ll focus on topics like:\r\n\r\n1. How to approach rapid prototyping with the correct mindset.\r\n2. Being quick with Django models.\r\n3. Realizing that types can be our friends.\r\n4. Realizing that Django admin may be all the UI we need (at least, in the beginning).\r\n5. Using HTMX where it makes sense.\r\n6. Components in Django templates are a good idea.\r\n\r\nThe talk will be practical & pragmatic, with the aim to provide good examples, derived from experience, that\u2019ll highlight the main topics and ideas.\r\n\r\nThe talk is great for both beginners, as well as seasoned Django developers.\r\n\r\nThe final goal is to give clear evidence, supported by examples, that we can use Django, reliably, to rapidly build prototypes & proof of concepts.\r\n\r\nIt turns out that Django is all we need.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "GLMZDC", "name": "Radoslav Georgiev", "avatar": "https://programme.europython.eu/media/avatars/GLMZDC_6uCDx7X.webp", "biography": "Radoslav Georgiev is a software engineer generalist with more than 15 years of experience.\r\n\r\nCurrently, he is the CEO of HackSoft - a Bulgarian-based, software development company, that uses Django as one of their primary tools to build software.\r\n\r\nAlongside the software development business, Radoslav has taught many software engineering & programming classes in HackBulgaria & the Faculty of Mathematics and Informatics in Sofia University.", "public_name": "Radoslav Georgiev", "guid": "ca54c013-b1b6-5e6c-8b34-53cd9c900be0", "url": "https://programme.europython.eu/europython-2024/speaker/GLMZDC/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/7PEXTK/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/7PEXTK/", "attachments": [{"title": "Slides", "url": "/media/europython-2024/submissions/7PEXTK/resources/EP2024_1dHs91s.pdf", "type": "related"}]}, {"guid": "f03da17d-a959-5dd0-9292-24ee6d239eff", "code": "BUT9E7", "id": 46519, "logo": null, "date": "2024-07-11T11:20:00+02:00", "start": "11:20", "duration": "00:30", "room": "Forum Hall", "slug": "europython-2024-46519-fastui-panacea-or-pipe-dream", "url": "https://programme.europython.eu/europython-2024/talk/BUT9E7/", "title": "FastUI - panacea or pipe dream?", "subtitle": "", "track": "Web technologies (2024)", "type": "Talk", "language": "en", "abstract": "Are web interfaces defined in Python a genius idea, a complete folly, or (like most technologies) a good fit for some use cases but not all?\r\n\r\nI'll give a brief tour of packages that let you build web interfaces by writing only Python, including Streamlit, Gradio, NiceGUI, reflex, Solara, dominate, ReactPy and FastUI (recently released by the Pydantic team).\r\n\r\nThe main three questions I'll be asking are:\r\n\r\n1. Is building a web UI in Python really a good idea at all?\r\n2. What fundamental trade-offs are required to make such a tool successful?\r\n3. If someone can answer point 1 and 2, when's the right time to use these tools? \r\n\r\nOver the last couple of years, lots of different libraries have emerged to let you develop web interfaces without getting your hands dirty with HTML, CSS, the JS ecosystem; but so far none have got as popular as \"traditional\" template rendering (Jinja, Django) or modern SPA frameworks like React.\r\n\r\nSo are we at the dawn of a new way era \u2014 and one of these frameworks will become ubiquitous. Or is the whole idea that you can build such an interface without engaging with the fundamental technologies that power them mistaken?\r\n\r\nOne important question is \"what kind of interface are we aiming at?\" If we are trying to give complete control over the browser, allowing Python developers to do everything raw JavaScript can do; our solution will look very different to something that is \"just\" trying to allow Python developers to plug common components together to build 80% of UIs with 20% of the effort.\r\n\r\nLooking at the question through this lens will help explain the design choices of the above libraries, and might even allow us to guess at which approaches will be most", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "ZG8GYN", "name": "Samuel Colvin", "avatar": "https://programme.europython.eu/media/avatars/ZG8GYN_jM9Jl64.webp", "biography": "Hi, I'm Samuel. I'm a Python and Rust developer from London.\r\n\r\nI'm best known for creating Pydantic - a Python data validation library that has now morphed into a startup. Recently we released our first product: Pydantic Logfire, a new kind of observability platform based on the same principle as Pydantic \u2014 that powerful tools can still be easy to use.", "public_name": "Samuel Colvin", "guid": "fd5ff527-659b-5d4e-a3e7-9fb6fc3af0db", "url": "https://programme.europython.eu/europython-2024/speaker/ZG8GYN/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/BUT9E7/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/BUT9E7/", "attachments": []}, {"guid": "89e0ebef-b407-5c52-a8c4-a5aa98159ca0", "code": "RSRDBM", "id": 46420, "logo": null, "date": "2024-07-11T11:55:00+02:00", "start": "11:55", "duration": "00:30", "room": "Forum Hall", "slug": "europython-2024-46420-lies-damned-lies-and-large-language-models", "url": "https://programme.europython.eu/europython-2024/talk/RSRDBM/", "title": "Lies, damned lies and large language models", "subtitle": "", "track": "PyData: LLMs (2024)", "type": "Talk", "language": "en", "abstract": "Would you like to use large language models (LLMs) in your own project, but are troubled by their tendency to frequently \u201challucinate\u201d, or produce incorrect information? Have you ever wondered if there was a way to easily measure an LLM\u2019s hallucination rate, and compare this against other models? And would you like to learn how to help LLMs produce more accurate information?\r\n\r\nIn this talk, we\u2019ll have a look at some of the main reasons that hallucinations occur in LLMs, and then focus on how we can measure one specific type of hallucination: the tendency of models to regurgitate misinformation that they have learned from their training data. We\u2019ll explore how we can easily measure this type of hallucination in LLMs using a dataset called TruthfulQA in conjunction with Python tooling including Hugging Face\u2019s `datasets` and `transformers` packages, and the `langchain` package.\r\n\r\nWe\u2019ll end by looking at recent initiatives to reduce hallucinations in LLMs, using a technique called retrieval augmented generation (RAG). We\u2019ll look at how and why RAG makes LLMs less likely to hallucinate, and how this can help make these models more reliable and usable in a range of contexts.", "description": null, "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 a Lead Data Scientist 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 natural language processing, search improvement, recommendation systems, 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": "0ec4c438-8397-5ec8-a7a9-878e41ac3473", "url": "https://programme.europython.eu/europython-2024/speaker/PXQBU9/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/RSRDBM/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/RSRDBM/", "attachments": []}, {"guid": "4c12470d-522f-512c-af39-759ed5267e3a", "code": "DNYFYG", "id": 46726, "logo": null, "date": "2024-07-11T12:30:00+02:00", "start": "12:30", "duration": "00:30", "room": "Forum Hall", "slug": "europython-2024-46726-fine-tuning-large-models-on-local-hardware", "url": "https://programme.europython.eu/europython-2024/talk/DNYFYG/", "title": "Fine-tuning large models on local hardware", "subtitle": "", "track": "PyData: LLMs (2024)", "type": "Talk", "language": "en", "abstract": "Fine-tuning big neural nets like Large Language Models (LLMs) has traditionally been prohibitive due to high hardware requirements. However, Parameter-Efficient Fine-Tuning (PEFT) and quantization enable the training of large models on modest hardware. Thanks to the PEFT library and the Hugging Face ecosystem, these techniques are now accessible to a broad audience.\r\n\r\nExpect to learn:\r\n\r\n- what the challenges are of fine-tuning large models\r\n- what solutions have been proposed and how they work\r\n- practical examples of applying the PEFT library", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "XU3THC", "name": "Benjamin Bossan", "avatar": "https://programme.europython.eu/media/avatars/XU3THC_CxbUDHM.webp", "biography": "Machine Learning Engineer at Hugging Face\r\n\r\nMainly working on parameter-efficient fine-tuning techniques.\r\n\r\nhttps://github.com/BenjaminBossan", "public_name": "Benjamin Bossan", "guid": "8cfd2fdd-ab24-5023-abe0-4fdbab3f241d", "url": "https://programme.europython.eu/europython-2024/speaker/XU3THC/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/DNYFYG/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/DNYFYG/", "attachments": [{"title": "Slides (html)", "url": "/media/europython-2024/submissions/DNYFYG/resources/presentation_J01oe7O.html", "type": "related"}]}, {"guid": "42eb1544-3a05-5aa4-9461-696eb5cc0bc3", "code": "9G8GWM", "id": 46890, "logo": null, "date": "2024-07-11T14:00:00+02:00", "start": "14:00", "duration": "00:30", "room": "Forum Hall", "slug": "europython-2024-46890-is-it-me-or-python-memory-management", "url": "https://programme.europython.eu/europython-2024/talk/9G8GWM/", "title": "Is it me or Python memory management?", "subtitle": "", "track": "Python Internals & Ecosystem (2024)", "type": "Talk", "language": "en", "abstract": "Have you ever wondered if Python memory management is playing tricks on you? Starting small, everything runs smoothly. But as your application scales, complexity grows, and memory issues rear their head. You ask yourself, \"Is it me or Python memory management?\"In this talk, we'll show you how Python memory works, provide tools to analyze memory usage and share practical optimization tips. Whether you're a seasoned Python developer or just starting on your Python journey, this talk is designed to provide you with techniques to overcome Python memory management challenges and write more efficient, memory-conscious code.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "ZLLVEH", "name": "Laysa Uchoa", "avatar": "https://programme.europython.eu/media/avatars/ZLLVEH_THr8Go2.webp", "biography": "I\u2019m a digital architect who constructs scalable structures using the magic of the cloud and Python. I\u2019m a certified cloud engineer and an enthusiastic advocate of the Python language and its environments. In addition to this, I am the leader of the PyLadies Munich chapter \u2014 a community where individuals gather to learn, share, and nurture their growth.", "public_name": "Laysa Uchoa", "guid": "172c2f01-bff6-5365-9b5c-833b02c1ae2a", "url": "https://programme.europython.eu/europython-2024/speaker/ZLLVEH/"}, {"code": "Z8HXML", "name": "Yuliia Barabash", "avatar": "https://programme.europython.eu/media/avatars/Z8HXML_qoUe8xT.webp", "biography": "Over the past five years living in Germany, I've immersed myself in the tech industry, acquiring a broad spectrum of experiences. My skill set is diverse, covering the development of web applications using Python and the creation of robust AWS cloud solutions. I possess a solid grasp of design patterns and Object-Oriented Programming (OOP), alongside a proficiency in event-driven and microservices architectures. My experience extends to designing REST APIs and working with various database technologies. Committed to continuous learning, I consistently improve my skills to employ tools and technologies following industry best practices.", "public_name": "Yuliia Barabash", "guid": "8aca423b-d47d-545b-8d66-ce05184220d1", "url": "https://programme.europython.eu/europython-2024/speaker/Z8HXML/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/9G8GWM/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/9G8GWM/", "attachments": []}, {"guid": "7f89f396-64fa-59c0-9aa1-7b0a39f17a60", "code": "U9MDSV", "id": 47002, "logo": null, "date": "2024-07-11T14:35:00+02:00", "start": "14:35", "duration": "00:30", "room": "Forum Hall", "slug": "europython-2024-47002-how-to-build-a-python-to-c-compiler-out-of-spare-parts-and-why", "url": "https://programme.europython.eu/europython-2024/talk/U9MDSV/", "title": "How to Build a Python-to-C++ Compiler out of Spare Parts - and Why", "subtitle": "", "track": "Python Internals & Ecosystem (2024)", "type": "Talk", "language": "en", "abstract": "A frequent topic about Python is performance: its interpreted nature inhibits optimisations, and the famous GIL limits parallelism (for now!).\r\n\r\nExisting Python Compilers - Cython, Numba, Codon - focus mainly on compiling small, critical bits of code to achieve linear execution speedups. As for parallelism: parallel for-loops powered by OpenMP.\r\n\r\nTo parallelize highly concurrent programs with concurrent I/O and concurrent tasks, we need more. A key difference is it requires compiling everything: as soon as the Python interpreter comes into play, the GIL will make parallelism collapse.\r\n\r\nWe introduce Typon, a Python-to-C++ compiler with powerful concurrency primitives powered by a crazy homemade task scheduler. It can take untyped, idiomatic Python code and output C++ code fully independent of the Python interpreter. It also provides seamless to-and-from Python interoperability, for those cases where you really just need to import numpy.\r\n\r\nIn this talk we'll recount our journey so far: why we think it's important, how we're making something new out of existing bits, what we've achieved. Along the way we might delve into fun details like type inference, concurrency primitives, and C++ pretending-to-be-Python.\r\n\r\nYou'll come out of this talk with some cool insights into compiler design, concurrency, and the design of Python.\r\n\r\nKnowledge of C++ not required. Knowledge of Python language inner workings helpful.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "WAVEWK", "name": "Xavier Thompson", "avatar": "https://programme.europython.eu/media/avatars/WAVEWK_SRwHPhR.webp", "biography": "Xavier embarked on what would become the Typon project as an intern at Nexedi and hasn't looked back since.\r\nWhen he's not thinking about compiler design and type systems, he enjoys swing dancing and singing in a choir.\r\nThis will be his second time talking at a conference.", "public_name": "Xavier Thompson", "guid": "086b8491-f27c-5ea0-b743-e5692439809a", "url": "https://programme.europython.eu/europython-2024/speaker/WAVEWK/"}], "links": [{"title": "Slides hosted as static website", "url": "https://xazzyfu.github.io/europython2024/", "type": "related"}], "feedback_url": "https://programme.europython.eu/europython-2024/talk/U9MDSV/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/U9MDSV/", "attachments": []}, {"guid": "3b31f11f-58e4-5a33-add7-26ae4f8df3f9", "code": "N3R9HN", "id": 46747, "logo": null, "date": "2024-07-11T15:30:00+02:00", "start": "15:30", "duration": "00:30", "room": "Forum Hall", "slug": "europython-2024-46747-shipping-ready-to-run-python-apps-without-the-need-to-install-python", "url": "https://programme.europython.eu/europython-2024/talk/N3R9HN/", "title": "Shipping ready-to-run Python apps without the need to install Python", "subtitle": "", "track": "Python Libraries & Tooling (2024)", "type": "Talk", "language": "en", "abstract": "Have you ever wanted to ship a script or application to a friend or client, without requiring a specific Python installation or providing complex installation instructions ? Or you want to squeeze out that last bit of juice from your Docker Python image to speed up deployment. Then eGenix PyRun is for you.\r\n\r\nPyRun is an open source, Apache-licensed, compressed, single file Python compatible run-time, which fits into merely 5 MB on disk.\r\n\r\nIt can be used to ship pure Python products as a single file on Unix platforms, create Python Docker images with very small footprint to speed up deployment, or as a neat venv replacement, truly isolating applications from any OS or other Python installations, giving you a predictable target for Python applications across Unix platforms.\r\n\r\nWe have been using PyRun internally at eGenix for many years and open sourced it back in 2012. This year, we are moving the project to Github and relaunching it, in order to present it to the wider open source and Python community.\r\n\r\nThe talk will go into details on how PyRun is built from the Python source tree, how to create your own single file Python apps, where it can be put to good use, the roadmap we have for PyRun and what its limitations are.", "description": null, "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-Andre is the CEO and founder of eGenix.com, a Python-focused boutique project and consulting company based in Germany, specializing in the data, finance and database space. He has a degree in mathematics from the University of D\u00fcsseldorf.\r\n\r\nHis work with and for Python started in 1994. He is a Python Core Developer, designed and implemented the Unicode support in Python, the editor of the Python DB-API and author of several open source libraries and tools (e.g. the mx Extensions mxDateTime and mxODBC).\r\n\r\nMarc-Andre is a EuroPython Society (EPS) Fellow, a Python Software Foundation (PSF) founding Fellow and co-founded a local Python meeting in D\u00fcsseldorf (PyDDF). He served on the board of the PSF and EPS for many years and loves to contribute to the growth of Python wherever he can.\r\n\r\nMore information is available on https://malemburg.com/", "public_name": "Marc-Andr\u00e9 Lemburg", "guid": "59f12a3f-b083-5b42-95b7-2335b0353f93", "url": "https://programme.europython.eu/europython-2024/speaker/QYTJB9/"}], "links": [{"title": "Talk Resources Repo (Slides + Links)", "url": "https://github.com/eGenix/egenix-pyrun-talk-resources", "type": "related"}], "feedback_url": "https://programme.europython.eu/europython-2024/talk/N3R9HN/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/N3R9HN/", "attachments": []}, {"guid": "3f18b9aa-7e4f-552f-a7ba-b38481f6f995", "code": "MGMLPS", "id": 46211, "logo": null, "date": "2024-07-11T16:05:00+02:00", "start": "16:05", "duration": "00:45", "room": "Forum Hall", "slug": "europython-2024-46211-how-we-used-vectorization-for-1000x-python-speedups-no-c-or-spark-needed", "url": "https://programme.europython.eu/europython-2024/talk/MGMLPS/", "title": "How we used vectorization for 1000x Python speedups (no C or Spark needed!)", "subtitle": "", "track": "PyData: Machine Learning, Stats (2024)", "type": "Talk (long session)", "language": "en", "abstract": "Want to make all your code faster? With matrices, library knowledge, and a sprinkle of creativity, you can consistently speed up multivariate Python functions by 1000x!\r\n\r\nModal optimization requires simple axioms - arithmetic, checking a case, calling the right sklearn function, and so on. When that\u2019s not sufficient, three core tricks - converting conditional logic to set theory, stacking vectors into a matrix, and shaping data to match library expectations - cover the vast majority of real world cases (90% of the ~400 functions we vectorized). \r\n\r\nAt Bloomberg, ESG (Environmental, Social, and Governance) Scores require complex computations on large data sets. Time-series computations are fundamental for Governance - one UDF infers board support for a policy from prior cyclical votes and other time offset inputs. By rewriting the pandas backfill as a series of reductions on a 4-tensor, we reduced the runtime from 45 minutes to 10 milliseconds! Analogously, due to real world complexity, finance UDFs can end up with 100+ if/else branches in one function. With a mix of De Morgan\u2019s laws and sparse matrix representations, we simplified the cases and achieved 1000x+ speedups.\r\n\r\nWe\u2019ll conclude with a quick overview of cutting-edge tools, and hope you\u2019ll leave with a concrete strategy for vectorizing financial models!", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "XRZT3B", "name": "Justine Wezenaar", "avatar": "https://programme.europython.eu/media/avatars/XRZT3B_MrLEShU.webp", "biography": "Justine Wezenaar is a Software Engineering Team Lead for Bloomberg\u2019s ESG (Environmental, Social & Governance) Quant team, which owns the implementation and maintenance of the firm\u2019s quantitative parametric scoring models. She took a less-traditional route to Software Engineering, studying mathematics and theoretical physics at McGill University, then working as a data scientist for a healthtech startup in her hometown Halifax, Canada before joining Bloomberg Engineering in New York City in 2018. Before joining the ESG team in 2022, Justine was on the quant engineering team for Bloomberg\u2019s Evaluated Pricing (BVAL) product, where she worked on pricing models for mortgage-backed securities. In her role, her team builds systems which must satisfy both the performance and reliability requirements of Engineering, while also remaining sufficiently flexible and agile to accommodate the Research and Product teams\u2019 responses to the dynamic ESG market landscape.", "public_name": "Justine Wezenaar", "guid": "e164a446-7855-51b1-9e84-fb4750f0c2ee", "url": "https://programme.europython.eu/europython-2024/speaker/XRZT3B/"}, {"code": "XESDB9", "name": "Jonathan Hollenbeck", "avatar": null, "biography": "Jonathan Hollenbeck is a Senior Software Engineer at Bloomberg for the ESG (Environmental, Social & Governance) team, where he delivers performance & reliability improvements for financial models and data transformations. He has five years of experience in scientific computing, using Python, Julia, and R. After receiving a bachelor\u2019s degree in computer science from UC Davis, he started his software engineering career at Learning at Cisco. During his early career, he integrated content development workflows and learner telemetry into a highly reliable, near-real-time database system with 1,100 internal users. He then took on a strategic role, supporting cross-org learning integration and driving inception + productionalization of ML/AI training projects, one of which achieved CEO recognition & a partnership with the White House. During this time, he earned a master\u2019s degree in Computational & Applied Mathematics from Stanford University, with a focus on Machine Learning ethics.", "public_name": "Jonathan Hollenbeck", "guid": "b38128c0-6817-5a1d-8053-59970952440c", "url": "https://programme.europython.eu/europython-2024/speaker/XESDB9/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/MGMLPS/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/MGMLPS/", "attachments": [{"title": "Slides", "url": "/media/europython-2024/submissions/MGMLPS/resources/EuroPython_Vectorization_Tech_Talk_f9BTsJS.pdf", "type": "related"}]}, {"guid": "da03c689-f268-55eb-9637-d4f6c8efdd7a", "code": "PGLRZK", "id": 52348, "logo": null, "date": "2024-07-11T16:55:00+02:00", "start": "16:55", "duration": "00:45", "room": "Forum Hall", "slug": "europython-2024-52348-the-catch-in-rye-seeding-change-and-lessons-learned", "url": "https://programme.europython.eu/europython-2024/talk/PGLRZK/", "title": "The Catch in Rye: Seeding Change and Lessons Learned", "subtitle": "", "track": "Python Libraries & Tooling (2024)", "type": "Keynote", "language": "en", "abstract": "Python has a lot of packaging tools and what better way to solve the problem than to add another one. Rye is in many ways just another way to try to fix Python packaging, but it's also happy to not exist if something takes its place. This talk goes over all the lessons learned from writing it, what has lead to it's creation, how it's built internally and what we can do to just solve the problem once and for all.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "KV9HUP", "name": "Armin Ronacher", "avatar": "https://programme.europython.eu/media/avatars/KV9HUP_uLV43E7.webp", "biography": "Armin is Sentry\u2019s VP of Platform.\r\n\r\nHe is the creator of the Flask Python framework and a frequent speaker at international conferences. Armin is a significant contributor to a number of Open Source projects across Rust, Python and other languages, as well as Sentry\u2019s core platform.\r\n\r\nBased in Vienna, Armin - when not 3d printing - enjoys spending time with his family and children.", "public_name": "Armin Ronacher", "guid": "a08cb805-1dcc-5b4c-a0de-7a3daac7488f", "url": "https://programme.europython.eu/europython-2024/speaker/KV9HUP/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/PGLRZK/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/PGLRZK/", "attachments": []}, {"guid": "b64a8d63-3e90-50a9-a178-5033a94c9094", "code": "ZC37JC", "id": 51565, "logo": null, "date": "2024-07-11T17:45:00+02:00", "start": "17:45", "duration": "00:45", "room": "Forum Hall", "slug": "europython-2024-51565-lightning-talks-thursday", "url": "https://programme.europython.eu/europython-2024/talk/ZC37JC/", "title": "Lightning talks Thursday", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Enjoy Thursday's lightning talks! Short talks about everything by everyone. Hosted by Velda Kiara and Angel Ramboi:\r\n\r\n- Welcome to Thursday's Lightning Talks\r\n- Community Conference / Events Announcements & Celebration!  \r\n- What to expect at the social event \u2014 Mois\u00e9s Guimar\u00e3es\r\n- AutoQuizzer: Can you beat an LLM in a pub quiz? \u2014 Bilge Y\u00fccel\r\n- Launching Crawlee for Python: Special beta version for EuroPython \u2014 Saurav Jain\r\n- Should Python adopt CalVer? \ud83d\udcc5 \u2014 Hugo van Kemenade\r\n- F*k it \u2014 S\u00e9bastien Crocquevieille\r\n- Work on sqrt(3) and Pythagoras Theorem \u2014 Riccardo Polli\r\n- Present-ception: A presentation about presentations \u2014 Siddharth Gupta", "description": null, "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/ZC37JC/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/ZC37JC/", "attachments": []}], "Terrace 2A": [{"guid": "0c65ae8d-c308-5190-8663-0681b247442f", "code": "DMV8BL", "id": 47472, "logo": null, "date": "2024-07-11T10:30:00+02:00", "start": "10:30", "duration": "00:45", "room": "Terrace 2A", "slug": "europython-2024-47472-profile-optimize-repeat-one-core-is-all-you-need", "url": "https://programme.europython.eu/europython-2024/talk/DMV8BL/", "title": "Profile, Optimize, Repeat: One Core Is All You Need\u2122", "subtitle": "", "track": "PyData: Data Engineering (2024)", "type": "Talk (long session)", "language": "en", "abstract": "Your data analysis pipeline works. Nice!\r\nCould it be faster? Probably.\r\nDo you need to parallelize? Not yet.\r\n\r\nDiscover optimization steps that boost the performance of your data analysis pipeline on a single core, reducing time & costs.\r\n\r\nThis walkthrough shows tools to identify bottlenecks via profiling, and strategies to mitigate those, demonstrating them in an example. To improve our memory and runtime performance we will use numpy, numba jit-ing and pybind11 extensions.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "YWKXWU", "name": "Jonathan Striebel", "avatar": "https://programme.europython.eu/media/avatars/YWKXWU_ixKnVhr.webp", "biography": "Jonathan is a senior ML software engineer at Aignostics in Berlin, Germany. He works on machine-learning pipelines for medical image analysis, ensuring scalability and maintainability.", "public_name": "Jonathan Striebel", "guid": "d0f99712-dbfc-57a7-a6ff-0a83e74321e6", "url": "https://programme.europython.eu/europython-2024/speaker/YWKXWU/"}, {"code": "BBXVHQ", "name": "Valentin Nieper", "avatar": "https://programme.europython.eu/media/avatars/BBXVHQ_lyefIja.webp", "biography": "Valentin is a software and machine learning engineer at scalable minds. He works on implementing the newest models for biological image analysis and makes sure the data analysis pipeline scales on the cluster.", "public_name": "Valentin Nieper", "guid": "a421faa4-79ee-5445-9221-d66b5ec07bfa", "url": "https://programme.europython.eu/europython-2024/speaker/BBXVHQ/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/DMV8BL/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/DMV8BL/", "attachments": [{"title": "Slides", "url": "/media/europython-2024/submissions/DMV8BL/resources/slides_profile_optimize_repeat_tqaoeou.pdf", "type": "related"}]}, {"guid": "678d574b-2f44-5181-9b98-382d01406bd5", "code": "LBYSLP", "id": 46395, "logo": null, "date": "2024-07-11T11:20:00+02:00", "start": "11:20", "duration": "00:30", "room": "Terrace 2A", "slug": "europython-2024-46395-forecasting-the-future-with-earthpt", "url": "https://programme.europython.eu/europython-2024/talk/LBYSLP/", "title": "Forecasting the future with EarthPT", "subtitle": "", "track": "PyData: LLMs (2024)", "type": "Talk", "language": "en", "abstract": "We introduce EarthPT -- an open source Earth Observation (EO) pretrained transformer written in Python and PyTorch. EarthPT is a 700 million parameter decoding transformer foundation model trained in an autoregressive self-supervised manner and developed specifically with EO use-cases in mind. \r\n\r\nEarthPT is trained on time series derived from satellite imagery, and can accurately predict future pixel-level surface reflectances across the 400-2300 nm range well into the future. For example, forecasts of the evolution of the Normalised Difference Vegetation Index (NDVI) have a typical error of approximately 0.05 (over a natural range of -1 -> 1) at the pixel level over a five month test set horizon, out-performing simple phase-folded models based on historical averaging. We also demonstrate that embeddings learnt by EarthPT hold semantically meaningful information and could be exploited for downstream tasks such as highly granular, dynamic land use classification, crop yield, and drought prediction. \r\n\r\nExcitingly, we note that the abundance of EO data provides us with -- in theory -- quadrillions of training tokens. Therefore, if we assume that EarthPT follows neural scaling laws akin to those derived for Large Language Models (LLMs), there is currently no data-imposed limit to scaling EarthPT and other similar \u2018Large Observation Models.\u2019\r\n\r\nEarthPT is released under the MIT licence here: https://github.com/aspiaspace/EarthPT.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "7AP3GR", "name": "Mike Smith", "avatar": null, "biography": "Mike is a data scientist and semi-lapsed astronomer. He likes applying cool deep learning techniques (in particular foundational, self-supervised, and unsupervised learning methods) to problems in astrophysics, earth observation, medical diagnosis and imagery, and anything in-between. He especially enjoys applying these methods to \"out-of-domain\" problems where deep learning \"shouldn\u2019t work\"!", "public_name": "Mike Smith", "guid": "fca8221e-9fc2-5824-9f7e-0223d4f066b2", "url": "https://programme.europython.eu/europython-2024/speaker/7AP3GR/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/LBYSLP/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/LBYSLP/", "attachments": []}, {"guid": "18757b96-a48f-5853-a909-3dceb35e122c", "code": "NDUKDX", "id": 45190, "logo": null, "date": "2024-07-11T11:55:00+02:00", "start": "11:55", "duration": "00:30", "room": "Terrace 2A", "slug": "europython-2024-45190-nlp-application-in-cases-of-violence-against-women", "url": "https://programme.europython.eu/europython-2024/talk/NDUKDX/", "title": "NLP Application in Cases of Violence Against Women", "subtitle": "", "track": "PyData: Research & Applications (2024)", "type": "Talk", "language": "en", "abstract": "Domestic violence is a widespread problem, one which demands attention and policy fixes. But available data is largely unstructured, making analysis difficult for both researchers and policy makers. In this talk, I'll show you how Python helped me to retrieve, structure, and classify violence victims' testimony. I'll show which APIs and libraries allowed me to retrieve the woman's testimony from YouTube, turn their speech into text, and then analyze the text itself. You'll come away knowing not just some new Python techniques, but also how those techniques can be used to improve our society.\r\nOutline:\r\n-Introduction (1m)\r\n- How to collect data from YouTube? (5m)\r\n     o   reason for collecting data using YouTube\r\n     o   keywords to find videos\r\n     o   YouTube API\r\n- How to transcribe audio to text? (5m)\r\n    o   Whisper API\r\n   o   how long it took\r\n   o   accuracy\r\n- Semantic analysis of testimony (10m)\r\n  o   BERTopic\r\n  o   Analysis of relevant words\r\n- How useful it is for analyzing unstructured data (10m)\r\n- Conclusion (2m)", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "VBJYJQ", "name": "Deborah Foroni", "avatar": "https://programme.europython.eu/media/avatars/VBJYJQ_IDnFpD0.webp", "biography": "I am a master in Technology and a Data Scientist. I am part of technology communities such as Pyladies S\u00e3o Paulo and 'Todas as Letras' (LGBTQIAP+). Additionally, I am a popular educator at the Technology Center of MTST.", "public_name": "Deborah Foroni", "guid": "144fec90-4f59-536d-858b-4ec5cb599421", "url": "https://programme.europython.eu/europython-2024/speaker/VBJYJQ/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/NDUKDX/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/NDUKDX/", "attachments": []}, {"guid": "c8ab6ec0-43b5-58d4-a1e4-ca0fe5aac297", "code": "PSGLDJ", "id": 46620, "logo": null, "date": "2024-07-11T12:30:00+02:00", "start": "12:30", "duration": "00:30", "room": "Terrace 2A", "slug": "europython-2024-46620-how-to-destroy-the-world-using-python-and-a-synthetic-virus", "url": "https://programme.europython.eu/europython-2024/talk/PSGLDJ/", "title": "How to destroy the world using Python and a synthetic virus", "subtitle": "", "track": "~ None of these topics (2024)", "type": "Talk", "language": "en", "abstract": "Would you believe us if we told you that we could create a potentially dangerous virus using Python? This is theoretically possible thanks to synthetic biology, the field of biotechnology that studies how to create and modify organisms. This discipline is used, for example, to genetically modify bacteria to produce the insulin that diabetics will later use. Obviously, such a powerful tool has its possible evil side, which is what we will explore in this talk. After a little biology and genetics class, we will explain a practical example of how to use synthetic biology through a Python script to modify an existing virus and turn it into a deadly one. Thus, you as an attendee will be able to see the potential of this field and how Python can make it easier, not only in the example of the evil virus, but also in other healthcare applications.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "TDTD3R", "name": "Marina Moro L\u00f3pez", "avatar": "https://programme.europython.eu/media/avatars/TDTD3R_ojt2v3K.webp", "biography": "Biomedical Engineer from Madrid and current PhD student in Biophysics and Bioengineering at the University of Barcelona. I am passionate about biology and programming, and I love to mix both and give talks about it. In my day-to-day life I use Python to make my scientific tasks easier. Since April, I am part of the Board of Directors of the Python Spain Association with the role of secretary :)", "public_name": "Marina Moro L\u00f3pez", "guid": "5868f07f-7ade-5b7b-8981-26d2fd51fe1a", "url": "https://programme.europython.eu/europython-2024/speaker/TDTD3R/"}, {"code": "CV8T7R", "name": "Helena G\u00f3mez Pozo", "avatar": "https://programme.europython.eu/media/avatars/CV8T7R_l4O00w6.webp", "biography": "Biologist born in the center of Spain; currently working in the pharmaceutical industry. I have always had a great passion for sharing knowledge in a clear way and for all audiences, specially in te biology field \ud83e\uddec.", "public_name": "Helena G\u00f3mez Pozo", "guid": "4e865b6f-94bf-57e8-a5da-debc7bc83350", "url": "https://programme.europython.eu/europython-2024/speaker/CV8T7R/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/PSGLDJ/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/PSGLDJ/", "attachments": [{"title": "Slides", "url": "/media/europython-2024/submissions/PSGLDJ/resources/synvirus_europython_mcyYbjI.pdf", "type": "related"}]}, {"guid": "f31fa488-57f9-5315-89eb-a5cf5120ba2f", "code": "EN98JL", "id": 46019, "logo": null, "date": "2024-07-11T14:00:00+02:00", "start": "14:00", "duration": "00:30", "room": "Terrace 2A", "slug": "europython-2024-46019-python-on-the-rocks-crafting-a-smooth-blend-with-rocksdb", "url": "https://programme.europython.eu/europython-2024/talk/EN98JL/", "title": "Python on the Rocks: Crafting a Smooth Blend with RocksDB", "subtitle": "", "track": "Software Engineering & Architecture (2024)", "type": "Talk", "language": "en", "abstract": "When it comes to selecting a high-performance database for your application, RocksDB emerges as a top contender, offering a lightweight and efficient solution. RocksDB brings a robust set of features to the table, but what lies beneath its surface? Let's dive into the world of RocksDB with Python, uncovering the mysteries of its internal workings and exploring the principles that make data storage and retrieval seamlessly efficient. Get ready to equip yourself with the knowledge to harness the full potential of RocksDB and elevate your applications to new heights.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "AFAAPF", "name": "Ria Bhatia", "avatar": "https://programme.europython.eu/media/avatars/AFAAPF_NZbJICS.webp", "biography": "Ria Bhatia is a driven and passionate software engineer. Over the course of her career, she has worked with various database systems, prioritizing performance, data durability, and scalability. Her expertise extends from cloud-based relational databases to embedded persistent key-value stores.\r\n\r\nRia is passionate about simplifying complex concepts, fostering team learning, and staying at the forefront of technology trends. She's an enthusiastic speaker, having previously presented at prestigious conferences like PyCascades'23 and Women Tech Network Conference.\r\n\r\nCommitted to gender diversity in tech, Ria mentors aspiring engineers and has been recognized with the Google Women in Technology Scholarship and the Nutanix Women in Tech Scholarship for her leadership and community contributions.\r\n\r\nBeyond tech, Ria enjoys screen-free hobbies like reading and embroidery, showcasing her artistic talents. She's also adept at playing multiple instruments, demonstrating her musical talent and diverse interests.", "public_name": "Ria Bhatia", "guid": "08d0762e-f80d-52e8-adcf-dd74e6719496", "url": "https://programme.europython.eu/europython-2024/speaker/AFAAPF/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/EN98JL/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/EN98JL/", "attachments": []}, {"guid": "a802c328-f990-5bb1-bce9-859a928eb1be", "code": "7F87N3", "id": 47416, "logo": null, "date": "2024-07-11T14:35:00+02:00", "start": "14:35", "duration": "00:30", "room": "Terrace 2A", "slug": "europython-2024-47416-mastering-design-patterns-crafting-elegant-solutions-with-a-confidence", "url": "https://programme.europython.eu/europython-2024/talk/7F87N3/", "title": "Mastering Design Patterns: Crafting Elegant Solutions with a Confidence", "subtitle": "", "track": "Software Engineering & Architecture (2024)", "type": "Talk", "language": "en", "abstract": "Join us for an illuminating 30-minute journey into the world of design patterns at EuroPython 2024. Design patterns aren't just abstract concepts; they are the architectural blueprints that empower developers to create elegant and maintainable software solutions. In this session, we bridge the gap between theory and practice, offering practical insights for developers of all levels.\r\n\r\nWe'll delve into a curated selection of design patterns, from foundational creational patterns to advanced behavioral patterns, showcasing their real-world applications and transformative impact on Python development. Through a blend of theory and practice, attendees will gain a comprehensive understanding of how to identify common design problems and apply appropriate patterns to solve them efficiently.\r\n\r\nUsing engaging examples and hands-on exercises, we'll equip attendees with the knowledge and skills needed to architect cleaner, more maintainable codebases. Whether you're a seasoned veteran or a curious novice, this presentation offers a comprehensive roadmap for mastering Python design patterns and architecting software solutions with grace.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "GKGSN7", "name": "Petr Balogh", "avatar": "https://programme.europython.eu/media/avatars/GKGSN7_J7bNGOE.webp", "biography": "Working as an automation/DevOps engineer (Ecosystem technical lead) for OpenShift Data Foundation at IBM.\r\nPreviously was working for Red Hat on the same product and also Red Hat Virtualization.\r\nIn free time, I like any kind of sport, traveling and spending time with my family.", "public_name": "Petr Balogh", "guid": "3dd49582-d524-501f-9ed9-661515b538cb", "url": "https://programme.europython.eu/europython-2024/speaker/GKGSN7/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/7F87N3/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/7F87N3/", "attachments": [{"title": "Mastering Design Patterns presentation", "url": "/media/europython-2024/submissions/7F87N3/resources/Mastering_Design_Patterns_KGrKlw6.pptx", "type": "related"}]}, {"guid": "7ff1a13a-f980-55ea-8488-fb8b7008d489", "code": "9DSSHZ", "id": 46346, "logo": null, "date": "2024-07-11T15:30:00+02:00", "start": "15:30", "duration": "00:30", "room": "Terrace 2A", "slug": "europython-2024-46346-caching-for-jupyter-notebooks", "url": "https://programme.europython.eu/europython-2024/talk/9DSSHZ/", "title": "Caching for Jupyter Notebooks", "subtitle": "", "track": "PyData: Software Packages & Jupyter (2024)", "type": "Talk", "language": "en", "abstract": "Caching data and calculation results in jupyter notebooks is a great way to speed up development by making expensive cells easier to re-run.\r\n\r\nData scientists and developers using notebooks on a daily basis, can improve their notebook workflow with low-effort changes in the notebook code, cut the time spent waiting and reduce context switches.\r\n\r\nThis talk targets developers and data scientist of all experience levels and will cover:\r\n\r\nWhy caching in notebooks?\r\nSetting up the context in which developers and data scientists use notebooks for exploratory work and how caching is relevant in it.\r\n\r\nWhat is caching\r\nQuick definition of caching, introducing the different types of persistence (in-memory, on disk, database, object storage \u2026), cache invalidation strategies (parameters, code changes, ttl, \u2026), with some cautionary comments about data security when caching protected data.\r\n\r\nCaching Techniques \r\nGoing through readily available options from the python standard library, and how to use them in notebooks. Introducing a few off-the-shelves options like ipython % magics, and cachetools.\r\nShowcasing how one would build their own mini-caching framework, that fits for their specific use case, using pandas and spark for the example\r\nExplaining when to stop trying to cache, and keeping the caching framework mini, what are the signs that caching went overboard.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "RMFBSX", "name": "Lauris Jullien", "avatar": "https://programme.europython.eu/media/avatars/RMFBSX_mNVNlf0.webp", "biography": "Equipped with a decade of software and data engineering expertise, Lauris empowers teams and organizations to supercharge decision-making with their data. He brings a myriad of battle-tested best-practices and concepts from the software engineering to the data world. His stack includes: machine learning engineering, data engineering, backend engineering, data science, infrastructure engineering, and business intelligence. Previously he led teams working on climate tech at Cervest, logistics at Sennder and tackled ad-tech challenges at Yelp. Currently he is digging deep into the data privacy and compliance area in the LLM paradigm.", "public_name": "Lauris Jullien", "guid": "bd713d51-9e0c-5485-8c5e-68bc5ec817de", "url": "https://programme.europython.eu/europython-2024/speaker/RMFBSX/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/9DSSHZ/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/9DSSHZ/", "attachments": [{"title": "slides deck", "url": "/media/europython-2024/submissions/9DSSHZ/resources/EuroPython_2024_Caching_in_Jupyter_Notebook_mNaJj0Q.pdf", "type": "related"}]}, {"guid": "19038ddd-4140-56dd-9504-c5df04b2655d", "code": "8QXTES", "id": 46117, "logo": null, "date": "2024-07-11T16:05:00+02:00", "start": "16:05", "duration": "00:45", "room": "Terrace 2A", "slug": "europython-2024-46117-creating-your-own-extensions-for-jupyterlab", "url": "https://programme.europython.eu/europython-2024/talk/8QXTES/", "title": "Creating Your Own Extensions for JupyterLab", "subtitle": "", "track": "PyData: Research & Applications (2024)", "type": "Talk (long session)", "language": "en", "abstract": "Have you ever wished for a feature in Jupyter Notebooks or JupyterLab that wasn't already there?  Or perhaps you've found yourself doing complex or repetitive tasks and realized that you, and others, could benefit from integrating those tasks into JupyterLab?  This is your chance to learn how to add that feature, or integrate that task, yourself.\r\n\r\nJupyterLab enables you to work with Jupyter notebooks, text editors, terminals, and custom components in a flexible, integrated, and extensible manner.\r\n\r\nThis talk presents a practical tutorial about how to extend JupyterLab.  We focus on understanding the underlying extension support infrastructure, as we walk through a step-by-step example of creating an app in JupyterLab.  We will learn, among other things, how to launch that app from different places within JupyterLab, how to style our app, and how to pass parameters to our app to modify its behavior.\r\n\r\nPrerequisites:\r\n- Attendees should have some familiarity with Jupyter Notebooks and/or JupyterLab.\r\n- Attendees must have solid experience with _any_ typical object-oriented programming language (i.e. a good understanding of classes, objects, and inheritance).", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "KKEMDU", "name": "Daniel Goldfarb", "avatar": "https://programme.europython.eu/media/avatars/KKEMDU_ySxSCnw.webp", "biography": "Daniel is an engineer at [Bloomberg](https://www.bloomberg.com/company/what-we-do/) with experience developing Trading Systems, Risk Analytics, and applications for Financial Analysis of Equities and Fixed Income securities. He holds a Ph.D. in Molecular Biophysics from the University of Virginia, and was a CFA charter holder and member of the Chartered Financial Analyst Institute for more than 10 years. He is the Open Source maintainer of [Matplotlib's MPLFINANCE package](https://pypi.org/project/mplfinance/), and the author of McGraw-Hill's \"Biophysics Demystified.\"", "public_name": "Daniel Goldfarb", "guid": "a48e9b15-6c25-50b4-b892-9d3140804fd9", "url": "https://programme.europython.eu/europython-2024/speaker/KKEMDU/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/8QXTES/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/8QXTES/", "attachments": []}], "Terrace 2B": [{"guid": "c0e065db-10f6-5759-b910-e6c27f1e5c2b", "code": "K3CJUX", "id": 45366, "logo": null, "date": "2024-07-11T10:30:00+02:00", "start": "10:30", "duration": "00:45", "room": "Terrace 2B", "slug": "europython-2024-45366-when-and-how-to-start-coding-with-kids", "url": "https://programme.europython.eu/europython-2024/talk/K3CJUX/", "title": "When and how to start coding with kids", "subtitle": "", "track": "Education, Community & Diversity (2024)", "type": "Talk (long session)", "language": "en", "abstract": "Our world is driven by technology and there are many reasons to teach our kids how to code. For example, coding allows them to develop logical reasoning skills and teaches attention to detail. Allowing children to discover how much fun coding can be supports them in their development and opens many doors for their future.\r\n\r\nBut when and how should we start coding with kids? This talk will approach the question from a scientific perspective, looking into how children's brains develop, how children learn and how to best teach them coding abilities. It will answer important questions like \"At what age can a child start coding?\" or \"What are the benefits of learning to code?\". It will also present possible starting points, like learning platforms or tutorials.", "description": null, "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. You can find my projects either on GitHub (https://github.com/zotroneneis) or on my personal webpage (https://alpopkes.com/).", "public_name": "Anna-Lena Popkes", "guid": "9b697e10-d673-5739-8580-75f8612f8ff2", "url": "https://programme.europython.eu/europython-2024/speaker/9CX9CB/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/K3CJUX/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/K3CJUX/", "attachments": [{"title": "Slides PDF", "url": "/media/europython-2024/submissions/K3CJUX/resources/when_and_how_to_start_coding_with_kids_pdf_fgvIwTn.pdf", "type": "related"}]}, {"guid": "42f2940f-656d-5720-b86f-0d61998e7cd1", "code": "SHUQ9L", "id": 47460, "logo": null, "date": "2024-07-11T11:20:00+02:00", "start": "11:20", "duration": "00:30", "room": "Terrace 2B", "slug": "europython-2024-47460-best-practices-for-securely-consuming-open-source-in-python", "url": "https://programme.europython.eu/europython-2024/talk/SHUQ9L/", "title": "Best practices for securely consuming open source in Python", "subtitle": "", "track": "Security (2024)", "type": "Talk", "language": "en", "abstract": "The Python development landscape thrives on the extensive use of open-source libraries and frameworks. However, the growing prevalence of attacks targeting OSS underscores the need for robust security measures to consume open source. \r\n\r\nIn this talk, we'll examine how the Secure Supply Chain Consumption Framework (S2C2F) can guide organizations in securely consuming Python OSS, utilizing tools such as pip, artifact managment, sboms and Dependabot. \r\n\r\nThe S2C2F Framework was developed by Microsoft and later donated to the Open Source Security Foundation (OpenSSF). It provides a structured approach to enhancing the security of OSS consumption. \r\n\r\nWe'll provide an overview of its core principles and maturity levels and discuss practical strategies for implementing S2C2F principles within Python projects, including dependency management with pip, artifact management, sboms, signatures, deny rules, forking policies and automated security updates with Dependabot.\r\n\r\nThe S2C2F is a pragmatic approach to securing how you consume OSS.\r\n It emphasizes the fundamental principles of knowing your OSS, preventing the introduction of vulnerable packages, and maintaining robust patch management.\r\n\r\nYou will come away from this talk with practical tips and best practices on how to securely consume open source in python.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "NB37WS", "name": "Ciara Carey", "avatar": "https://programme.europython.eu/media/avatars/NB37WS_PvAYPLC.webp", "biography": "I'm a software engineer working in developer relations in Cloudsmith and have a particular interest in software supply chain security.", "public_name": "Ciara Carey", "guid": "833eda7b-14e1-56f2-afa4-10c3fb585c3b", "url": "https://programme.europython.eu/europython-2024/speaker/NB37WS/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/SHUQ9L/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/SHUQ9L/", "attachments": []}, {"guid": "b43f1145-d72f-5256-9394-c4ee74c37fdf", "code": "A3QRK3", "id": 46165, "logo": null, "date": "2024-07-11T11:55:00+02:00", "start": "11:55", "duration": "00:30", "room": "Terrace 2B", "slug": "europython-2024-46165-counting-down-for-cra-updates-and-expectations", "url": "https://programme.europython.eu/europython-2024/talk/A3QRK3/", "title": "Counting down for CRA - updates and expectations", "subtitle": "", "track": "Security (2024)", "type": "Talk", "language": "en", "abstract": "The EU Commission is likely to vote on the Cyber Resilience Act (CRA) later this year. The CRA is an ambitious step towards protecting consumers from software security issues by creating a new list of responsibilities for software developers and providers. The Act also creates a new category of actor known as an \u201cOpen Source Steward\u201d which we think makes important allowances for public open source repositories like CPython and Python Package Index (PyPI.) Once the dust settles, everyone who makes software will need to consider the CRA\u2019s mandates in their security roadmaps. \r\n\r\nIn this talk we will look at the timeline for the new legislation, any critical discussions happening around implementation and most importantly, the new responsibilities outlined by the CRA. We\u2019ll also discuss what the PSF is doing for CPython and for PyPI and what each of us in the Python ecosystem might want to do to get ready for a new era of increased certainty \u2013 and liability \u2013 around security. \r\n\r\n## Target audience\r\n\r\nDevelopers and maintainers whose project or product may be affected by the CRA. European legislation won\u2019t just affect the European market, it will affect the software industry and the open source community globally as it is very hard to segregate one project or product from the EU market. So, this is for everyone in the Python community who shares their code with the world. \r\n\r\n## Goal\r\n\r\nTo educate the general public about CRA - how it can affect us and how to get ready for it. We also want to provide more information for the Python community about what has been done by the PSF regarding the CRA to reassure them that the Python community is aware and getting prepared for the CRA.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "8EGVC9", "name": "Cheuk Ting Ho", "avatar": "https://programme.europython.eu/media/avatars/8EGVC9_LbezfQb.webp", "biography": "After having a career in Data Scientist and Developer Relations, Cheuk dedicated her work to the open-source community and founded [CMD Limes](https://cmdlimes.com/), a Python consultants cooperation. She has also co-founded [Humble Data](https://humbledata.org/), a beginner Python workshop that has been happening around the world. She has served the EuroPython Society board for two years and is now a fellow and director of the Python Software Foundation.", "public_name": "Cheuk Ting Ho", "guid": "716d26c2-170b-5a5e-86e5-9d4cecf3bbdd", "url": "https://programme.europython.eu/europython-2024/speaker/8EGVC9/"}, {"code": "XCKH3F", "name": "Deb Nicholson", "avatar": "https://programme.europython.eu/media/avatars/XCKH3F_1s78HKZ.webp", "biography": "Deb Nicholson is an open source software policy expert and a passionate community advocate. She is the Executive Director at the Python Software Foundation which serves as the non-profit steward of the Python programming language. She\u2019s won the O\u2019Reilly Open Source Award and the Award for the Advancement of Free Software for her efforts to broaden the free and open source software movement. She serves on the Board of Directors for the Spritely Institute and on the Advisory Board for Open@RIT. She lives with her husband and her lucky black cat in Cambridge, Massachusetts.", "public_name": "Deb Nicholson", "guid": "46a11b93-0dfb-57c4-af54-da05ea641866", "url": "https://programme.europython.eu/europython-2024/speaker/XCKH3F/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/A3QRK3/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/A3QRK3/", "attachments": [{"title": "Slides", "url": "/media/europython-2024/submissions/A3QRK3/resources/Counting_Down_for_CRA_tWfUsH9.pdf", "type": "related"}]}, {"guid": "3b34acc3-55e5-501f-aa05-e4eaa1f46002", "code": "WKLEEW", "id": 46469, "logo": null, "date": "2024-07-11T12:30:00+02:00", "start": "12:30", "duration": "00:30", "room": "Terrace 2B", "slug": "europython-2024-46469-logger-info-f-don-t-give-all-your-secrets-away", "url": "https://programme.europython.eu/europython-2024/talk/WKLEEW/", "title": "logger.info(f\"Don't Give all your {secrets} away\")", "subtitle": "", "track": "Security (2024)", "type": "Talk", "language": "en", "abstract": "In my seven years as a software developer, I've primarily worked in teams composed solely of developers. However, my recent transition to a team of security researchers has opened my eyes to a crucial aspect that often goes unnoticed: log safety in applications.\r\n\r\nMy exposure to the application security ecosystem and real-life security breach analysis has opened my eyes to recognize code security issues, including the prevalence of sensitive information, tokens,  passwords, and payment details, in plaintext logs. This may lead to severe data breaches, financial losses, and all kinds of catastrophes.\r\n\r\nThis talk will dive into the fatal mistakes developers often make that can result in the disclosure of sensitive information in logs. We'll explore the types of sensitive data in logs.\r\n\r\nI'll share my personal experiences as a developer on a security research team and shed light on the often-overlooked consequences of insecure logging practices. We'll discuss practical patterns to safeguard sensitive information in Python applications, including identifying and redacting sensitive data before it reaches log files, and implementing secure logging practices.\r\n\r\nBy the end of this talk, developers will be equipped with the knowledge and tools to protect sensitive data from accidental disclosure and safeguard their applications from the perils of sensitive data exposure. Embrace the journey towards log safety and ensure your code remains secure and confidential.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "AJMVF3", "name": "Tamar Galer", "avatar": "https://programme.europython.eu/media/avatars/AJMVF3_PqE6fqv.webp", "biography": "Hello everyone! I'm Tamar, and my passion for coding started when I was just 14. Since then, I've been on an amazing journey with Python, which has become a big part of my life. Right now, I'm leading a fantastic team at Ox Security, and I absolutely love the challenges and teamwork involved.", "public_name": "Tamar Galer", "guid": "4c344cca-99dd-55d6-8faf-34b1d525fc09", "url": "https://programme.europython.eu/europython-2024/speaker/AJMVF3/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/WKLEEW/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/WKLEEW/", "attachments": []}, {"guid": "f0230112-efc6-5c49-861a-073dcd5de644", "code": "ALVMH3", "id": 45919, "logo": null, "date": "2024-07-11T14:00:00+02:00", "start": "14:00", "duration": "00:30", "room": "Terrace 2B", "slug": "europython-2024-45919-multimedia-processing-with-ffmpeg-and-python", "url": "https://programme.europython.eu/europython-2024/talk/ALVMH3/", "title": "Multimedia processing with FFMpeg and Python", "subtitle": "", "track": "Python Libraries & Tooling (2024)", "type": "Talk", "language": "en", "abstract": "Multimedia processing can be very complex, especially if you want to handle most of the available codecs and formats. Fortunately, we have FFMpeg - a \"complete, cross-platform solution to record, convert and stream audio and video\". It is a great tool, but its CLI is quite complex and challenging to master unless you use it on a daily basis. During this talk, I will tell you what FFmpeg is and how to use it in Python without hurting yourself.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "GV9BKJ", "name": "Micha\u0142 Rokita", "avatar": "https://programme.europython.eu/media/avatars/GV9BKJ_X5Kja9R.webp", "biography": "Micha\u0142 is a proficient Python developer specializing in web development for the last seven years, during which he focused on developing scalable services with Django, Flask, and, more recently - Starlette and FastAPI.\r\n\r\nHe is pursuing a Master's degree in Computer Science at the Warsaw University of Technology. He also explored Distributed Systems Engineering at TU Dresden through a student exchange program.\r\nMicha\u0142 is one of the organizers of PyCon PL.", "public_name": "Micha\u0142 Rokita", "guid": "3d5c8e26-4523-574e-b23f-9d5c9dbd0b65", "url": "https://programme.europython.eu/europython-2024/speaker/GV9BKJ/"}], "links": [{"title": "Slides & Sources", "url": "https://mrokita.github.io/europython-ffmpeg", "type": "related"}], "feedback_url": "https://programme.europython.eu/europython-2024/talk/ALVMH3/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/ALVMH3/", "attachments": []}, {"guid": "1008efe4-9e49-51ab-91ce-15fe1e018cce", "code": "K7ZHBG", "id": 46859, "logo": null, "date": "2024-07-11T14:35:00+02:00", "start": "14:35", "duration": "00:30", "room": "Terrace 2B", "slug": "europython-2024-46859-behind-the-scenes-of-an-ads-prediction-system", "url": "https://programme.europython.eu/europython-2024/talk/K7ZHBG/", "title": "Behind the Scenes of an Ads Prediction System", "subtitle": "", "track": "PyData: Machine Learning, Stats (2024)", "type": "Talk", "language": "en", "abstract": "In this era of rapid technological advancement and AI, Ad prediction systems stand at the forefront of shaping online advertising, significantly impacting how content reaches its intended audience. In this session, I'll introduce the Ads prediction system from a user and algorithm view. We'll then walk through key concepts like targeting, bidding, ad ranking, click-through rate (CTR), and conversion rate. We'll deeply dive into connecting the dots, designing an ad prediction system, some ethical considerations, models, offline and online metrics, scaling and deployment decisions that enable handling high volumes of data and requests efficiently, and some case studies. \r\nAt the end of this session, attendees will comprehensively understand the end-to-end process of developing an ads prediction system.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "KYPBD3", "name": "Bunmi Akinremi", "avatar": "https://programme.europython.eu/media/avatars/KYPBD3_42lOmbm.webp", "biography": "Bunmi Akinremi is a Microsoft Certified AI Engineer and seasoned Machine Learning Engineer with a thriving career in the advertising industry at Kochava. She has been in the space for 4+ years and has made impactful contributions across agriculture, finance, and journalism domains. \r\n\r\nCurrently driving innovation at Kochava, Bunmi's work involves building robust model deployment pipelines and enhancing ML systems to make data-driven choices for clients. Aside from work, she actively participates in hackathons as they are an exciting way to collaborate and learn new tools. \r\n\r\nBeyond her professional accomplishments, Bunmi's contributions to the community are equally impressive. As a mentor, tutor, and community leader, Bunmi has fostered a thriving environment for learning and innovation, empowering women professionals and AI enthusiasts. Whether leading groundbreaking projects, sharing knowledge, or contributing to community growth, she always looks for new challenges and opportunities to learn and grow.", "public_name": "Bunmi Akinremi", "guid": "0d189c55-596f-57c2-b873-4cc77a3536eb", "url": "https://programme.europython.eu/europython-2024/speaker/KYPBD3/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/K7ZHBG/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/K7ZHBG/", "attachments": []}, {"guid": "184672a1-758b-5570-999e-ce0d5ed4e036", "code": "W8R9CT", "id": 52231, "logo": null, "date": "2024-07-11T15:30:00+02:00", "start": "15:30", "duration": "00:30", "room": "Terrace 2B", "slug": "europython-2024-52231-pydantic-logfire-uncomplicated-observability", "url": "https://programme.europython.eu/europython-2024/talk/W8R9CT/", "title": "Pydantic Logfire \u2014 Uncomplicated Observability", "subtitle": "", "track": "DevOps and Infrastructure (Cloud & Hardware) (2024)", "type": "Sponsored", "language": "en", "abstract": "Pydantic Logfire \u2014 Uncomplicated Observability\r\n\r\nFrom the team behind Pydantic, Logfire is a new type of observability platform built on the same belief as our open source library \u2014 that the most powerful tools can be easy to use.\r\n\r\nIn this talk we'll introduce Logfire, then demonstrate how it can make understanding and fixing your app faster and more enjoyable with a live demo.\r\n\r\nWe'll touch on some of the most useful integrations including: FastAPI, Postgres and OpenAI.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "ZG8GYN", "name": "Samuel Colvin", "avatar": "https://programme.europython.eu/media/avatars/ZG8GYN_jM9Jl64.webp", "biography": "Hi, I'm Samuel. I'm a Python and Rust developer from London.\r\n\r\nI'm best known for creating Pydantic - a Python data validation library that has now morphed into a startup. Recently we released our first product: Pydantic Logfire, a new kind of observability platform based on the same principle as Pydantic \u2014 that powerful tools can still be easy to use.", "public_name": "Samuel Colvin", "guid": "fd5ff527-659b-5d4e-a3e7-9fb6fc3af0db", "url": "https://programme.europython.eu/europython-2024/speaker/ZG8GYN/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/W8R9CT/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/W8R9CT/", "attachments": []}, {"guid": "61a770e3-ea9c-5355-bf48-970942772288", "code": "UY8ZWT", "id": 46648, "logo": null, "date": "2024-07-11T16:05:00+02:00", "start": "16:05", "duration": "00:45", "room": "Terrace 2B", "slug": "europython-2024-46648-autoinstrumentation-adventures-enhancing-python-apps-with-opentelemetry", "url": "https://programme.europython.eu/europython-2024/talk/UY8ZWT/", "title": "Autoinstrumentation Adventures: enhancing Python apps with OpenTelemetry", "subtitle": "", "track": "Python Libraries & Tooling (2024)", "type": "Talk (long session)", "language": "en", "abstract": "Hey there, fellow Python enthusiasts! Are you ready to dive into the exciting world of application observability without getting your hands too dirty with complex instrumentation? If that sounds like a journey you'd be interested in, then you're in for a treat!\r\n\r\nObservability is that magical window into the inner workings of our applications, allowing us to understand what's happening under the hood, troubleshoot issues, and ensure everything is running smoothly. However, achieving this level of insight can sometimes feel like a daunting task. That's where OpenTelemetry comes into play, simplifying the entire process and making it accessible to everyone, not just the observability wizards.\r\n\r\nIn our session, we'll start with the basics: what OpenTelemetry is and the problems it aims to solve (and those it doesn't). We'll demystify the concept of instrumentation\u2014the process of embedding observability into your applications\u2014and show you how OpenTelemetry makes this not only possible but painless.\r\n\r\nThe heart of our talk will be focused on autoinstrumentation, a magical feature of OpenTelemetry that automates the task of adding observability to your Python projects. Imagine being able to get detailed insights into your application's performance and behavior without having to manually instrument every nook and cranny. Sounds like a dream, right?\r\n\r\nAnd because we believe in learning by doing, we'll walk you through a small but mighty demo. You'll see firsthand how effortlessly you can implement OpenTelemetry in your own Python applications, turning the daunting into the doable.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "BMMZFS", "name": "Israel Blancas", "avatar": "https://programme.europython.eu/media/avatars/BMMZFS_798AvqL.webp", "biography": "Software Engineer @ Red Hat working on observability magics. Google Developer Expert in Google Cloud. Grafana Champion. Google Developer Group Organizer.\r\n\r\nOpen Source contributor from Spain!", "public_name": "Israel Blancas", "guid": "4613caf0-a971-59a9-ac1a-726b174a4b77", "url": "https://programme.europython.eu/europython-2024/speaker/BMMZFS/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/UY8ZWT/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/UY8ZWT/", "attachments": []}], "North Hall": [{"guid": "58f389d3-f0a4-5c1e-9c22-fc0eb3b84232", "code": "K77Z8V", "id": 46353, "logo": null, "date": "2024-07-11T10:30:00+02:00", "start": "10:30", "duration": "00:45", "room": "North Hall", "slug": "europython-2024-46353-a-tour-of-synchronization-primitives-in-python", "url": "https://programme.europython.eu/europython-2024/talk/K77Z8V/", "title": "A Tour of Synchronization Primitives in Python", "subtitle": "", "track": "Python Libraries & Tooling (2024)", "type": "Talk (long session)", "language": "en", "abstract": "Whether using threads or task-based event loops, running code concurrently is not without its challenges. This talk takes a look at the features provided by the Python programming language to solve problems of synchronization when dealing with concurrently executing code.\r\n\r\nTogether we will take a look at the synchronization classes and functions provided by the Python threading and asyncio modules, what problems they aim to solve, and how we might use them effectively in our own code.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "UXJ3ZR", "name": "Zach Muncaster", "avatar": "https://programme.europython.eu/media/avatars/UXJ3ZR_NvILHZq.webp", "biography": "Hi, I'm Zach.\r\n\r\nI've been working professionally as a software developer for the last few years and have been having an enormous amount of fun while doing it! Whether its working on larger systems, network or IoT based systems or simple utility scripts, there's always something new one can learn.\r\n\r\nLike many, I enjoy getting into the details of systems, really trying to understand what makes them tick.\r\n\r\nLooking forward to EuroPythin2024!", "public_name": "Zach Muncaster", "guid": "bada86e3-ecfe-5b2d-a0ba-2a3d6eb65352", "url": "https://programme.europython.eu/europython-2024/speaker/UXJ3ZR/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/K77Z8V/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/K77Z8V/", "attachments": [{"title": "Powerpoint Slides", "url": "/media/europython-2024/submissions/K77Z8V/resources/synchronization.pptx_7I0e1gZ.zip", "type": "related"}]}, {"guid": "361bba10-9d69-592b-b44c-04eca74463ed", "code": "R3P9UX", "id": 46324, "logo": null, "date": "2024-07-11T11:20:00+02:00", "start": "11:20", "duration": "00:30", "room": "North Hall", "slug": "europython-2024-46324-dbt-python-how-to-write-reusable-and-testable-pipelines", "url": "https://programme.europython.eu/europython-2024/talk/R3P9UX/", "title": "DBT & Python - How to write reusable and testable pipelines", "subtitle": "", "track": "PyData: Data Engineering (2024)", "type": "Talk", "language": "en", "abstract": "The \"data build tool\" (DBT) was designed to unlock software engineering best practices for SQL-based data pipelines: pipelines as version controlled directed acyclic graphs (DAGs) consisting of testable and reusable nodes. With the increasing number of cloud data warehouses and data lakehouses that allow the native execution of Python code, DBT also added support for Python models.\r\nIn this talk, I will explain how Flatiron Health uses DBT to improve and extend lives by learning from the experience of every person with cancer. We will discuss an example project setup that uses SQL as well as Python models. I will share our experiences with unit and data testing as well as with writing a reusable variable library.\r\nThe talk is well-suited for anyone with prior data warehouse or data lakehouse experience who is curious how they can leverage DBT to write test-driven and reusable data piplines. The example project will use SQL, Python and Snowflake.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "BYLZXE", "name": "Florian Stefan", "avatar": "https://programme.europython.eu/media/avatars/BYLZXE_sYNAlzf.webp", "biography": "Florian is based in Berlin and works as Software Engineer for Flatiron Health. Before joining Flatiron Health's mission to improve and extend lives by learning from the experience of every person with cancer, he worked for eBay and Immobilienscout24. Florian loves traveling with his family, uses his little son as excuse to buy toys for himself and is passionate about software engineering, software architecture and punk rock.", "public_name": "Florian Stefan", "guid": "9328ce50-e02a-5d8a-9bbc-b24d7dda2c6a", "url": "https://programme.europython.eu/europython-2024/speaker/BYLZXE/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/R3P9UX/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/R3P9UX/", "attachments": [{"title": "Testability and reusability in data pipelines", "url": "/media/europython-2024/submissions/R3P9UX/resources/Testability_and_reusability_in_data_pipelin_Ksqw7JM.pdf", "type": "related"}]}, {"guid": "2d202cc4-a307-5b7b-beba-be45f9c76cd8", "code": "CMETS8", "id": 46487, "logo": null, "date": "2024-07-11T11:55:00+02:00", "start": "11:55", "duration": "00:30", "room": "North Hall", "slug": "europython-2024-46487-don-t-fix-bad-data-do-this-instead", "url": "https://programme.europython.eu/europython-2024/talk/CMETS8/", "title": "Don't fix bad data, do this instead", "subtitle": "", "track": "PyData: Data Engineering (2024)", "type": "Talk", "language": "en", "abstract": "In a time where GenAI is quickly growing in popularity, along with prescriptive analytics and online ML models, the question is raised whether we still need to care about data quality? We strongly believe that the answer is yes, and even more so than before! \r\n\r\nOur expectations of data are high, and this often leads to frustrations when reality does not meet these expectations. \r\n\r\nIn the pursuit of data quality, expectations must be grounded in reality. It is often the case that a gap exists between anticipated outcomes and the actual data reality, which leads to frustration and mistrust. \r\n\r\nThis talk delves into pragmatic strategies that can be employed to bridge this gap.  The talk  will discuss both the technical  (hard) and cultural  (soft) measures implemented to uphold these standards.\r\n\r\nKey Takeaways:\r\n1. Integration tests serve as a proactive barrier, preempting the violation of data contracts, unlike reactive data quality checks.\r\n2. Prioritisation is crucial; a product-centric mindset is key when evaluating the balance between resource investment and potential gain.\r\n3. Data quality management is requiring both hard and soft measures\r\n\r\n\r\nAre you a data scientist, software engineer, product manager, or data engineer? Join us in this discussion; data quality concerns us all.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "VAZHQJ", "name": "Martina Ivanicova", "avatar": "https://programme.europython.eu/media/avatars/VAZHQJ_ozA0jbm.webp", "biography": "Martina serves as the Head of Data Engineering at Kiwi.com, where she oversees teams of analytics engineers and the data platform team. Her current focus lies in the adoption of the Data Mesh paradigm, driving the development of a self-service data platform for both batch and real-time data analytics, and setting up an ML platform to optimize data scientist workflows. Despite graduating with a degree in theoretical physics, Martina's career has consistently been linked to data engineering. Her experience spans creating data solutions for smart buildings to developing data warehouse solutions for major agencies.", "public_name": "Martina Ivanicova", "guid": "ce02b764-52b9-569b-b442-5312f08d2db7", "url": "https://programme.europython.eu/europython-2024/speaker/VAZHQJ/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/CMETS8/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/CMETS8/", "attachments": [{"title": "Don't fix bad data slides", "url": "/media/europython-2024/submissions/CMETS8/resources/Europython_2024_-_sharable_-_Martina_Ivani_Tjts7sk.pptx", "type": "related"}]}, {"guid": "df9d9dc3-d164-518e-8a03-be01bd12b6b6", "code": "KHTUSV", "id": 45343, "logo": null, "date": "2024-07-11T12:30:00+02:00", "start": "12:30", "duration": "00:30", "room": "North Hall", "slug": "europython-2024-45343-scikit-llm-beginner-friendly-nlp-using-llms", "url": "https://programme.europython.eu/europython-2024/talk/KHTUSV/", "title": "Scikit-LLM: Beginner Friendly NLP Using LLMs", "subtitle": "", "track": "PyData: Deep Learning, NLP, CV (2024)", "type": "Talk", "language": "en", "abstract": "The instruction following and in-context learning capabilities of LLMs make them suitable for tackling many NLP tasks. In this talk, we will introduce [Scikit-LLM](https://github.com/iryna-kondr/scikit-llm \"Scikit-LLM\"), a rapidly growing, beginner-friendly library that abstracts the complexity of working with LLMs by providing a scikit-learn compatible API. We will showcase how Scikit-LLM can be utilized for solving text classification and text-to-text tasks, and will delve deeper into various methods to improve the model performance, such as prompting strategies and fine-tuning.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "EACXYX", "name": "Iryna Kondrashchenko", "avatar": "https://programme.europython.eu/media/avatars/EACXYX_merNsK0.webp", "biography": "I hold a Masters degree in Artificial Intelligence and work as a Data Scientist. In my spare time, I am focusing on open-source projects and contributing to several libraries designed to streamline and simplify various aspects of data science.", "public_name": "Iryna Kondrashchenko", "guid": "70018355-f170-5858-9983-12cb340d312d", "url": "https://programme.europython.eu/europython-2024/speaker/EACXYX/"}, {"code": "NWAQCX", "name": "Oleh Kostromin", "avatar": "https://programme.europython.eu/media/avatars/NWAQCX_J60YTrz.webp", "biography": "I am a Data Scientist with a master's degree in Artificial Intelligence. Core contributor of Scikit-LLM.", "public_name": "Oleh Kostromin", "guid": "68c7801e-b9b7-5c17-bc44-d5e705e5c269", "url": "https://programme.europython.eu/europython-2024/speaker/NWAQCX/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/KHTUSV/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/KHTUSV/", "attachments": []}, {"guid": "b1e272c4-cb49-5175-9ca8-641179fd3d1f", "code": "FLJFEG", "id": 46985, "logo": null, "date": "2024-07-11T14:00:00+02:00", "start": "14:00", "duration": "00:30", "room": "North Hall", "slug": "europython-2024-46985-pysyft-data-science-on-data-you-are-not-allowed-to-see", "url": "https://programme.europython.eu/europython-2024/talk/FLJFEG/", "title": "PySyft: Data Science on data you are not allowed to see", "subtitle": "", "track": "PyData: Machine Learning, Stats (2024)", "type": "Talk", "language": "en", "abstract": "In today's data-driven world, privacy stands as an essential requirements for the ethical and effective practice of data science. Moreover, the implementation of robust privacy guarantees in data analysis not only protects sensitive information, but also unlocks the potential for unprecedented democratisation of models and datasets. \r\n\r\n[PySyft](https://github.com/OpenMined/PySyft) is a stack of open source tools that is designed to help organisations to securely collaborate with external (untrusted) individuals. By using PySyft, organisations can enable external auditors (e.g. data scientists) to use their assets, such as datasets or models, in order to conduct studies with a specific, known purpose. Data scientists can run their analysis using those assets through PySyft, and without seeing nor obtaining a copy of the assets themselves. We call this process *Remote Data Science*. PySyft is a framework for Remote Data Science.\r\n\r\nIn the first part of my talk I will introduce the problem of privacy in Data Science, PETs (Privacy Enhancing Technologies), and OpenMined mission to democratise access to data and information. Afterwards, I will demonstrate how `PySyft` works, and how it can be used to run a machine learning experiments, with privacy guarantees.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "S3GNBU", "name": "Valerio Maggio", "avatar": "https://programme.europython.eu/media/avatars/S3GNBU_323cs4e.webp", "biography": "Valerio Maggio is a Researcher, and Education Lead at Open Mined. He is well versed in open science and research software, and he has been recently awarded a fellowship from the Software Sustainability Institute ([profile](https://www.software.ac.uk/about/fellows/valerio-maggio)) focused on developing open teaching modules on Privacy-Preserving Machine Learning. Valerio is also an open-source contributor, and an active member of the Python community, helping with the organisation 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. In his free time, Valerio is a casual Magic: The Gathering wizard \ud83e\uddd9\u200d\u2642\ufe0f, of course playing a *community* [magic format](https://premodernmagic.com/).", "public_name": "Valerio Maggio", "guid": "78939915-227f-5f14-99fd-52e1eac75300", "url": "https://programme.europython.eu/europython-2024/speaker/S3GNBU/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/FLJFEG/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/FLJFEG/", "attachments": []}, {"guid": "0578e54b-e0fd-5f8e-b6a5-ce993e58a114", "code": "VXUKR3", "id": 45441, "logo": null, "date": "2024-07-11T14:35:00+02:00", "start": "14:35", "duration": "00:30", "room": "North Hall", "slug": "europython-2024-45441-python-s-journey-from-upstream-to-enterprise", "url": "https://programme.europython.eu/europython-2024/talk/VXUKR3/", "title": "Python\u2019s Journey: From Upstream to Enterprise", "subtitle": "", "track": "Python Internals & Ecosystem (2024)", "type": "Talk", "language": "en", "abstract": "Have you ever wondered how Python gets from the first alpha version upstream to years of stability in your enterprise Linux systems? And what products and useful components are created for you along the way?\r\n\r\nIn this talk, Lum\u00edr will take you through the incredible journey of Python delivery from the first alpha version shipped to Fedora Linux a couple of days after the official upstream release, through containers developers can use for testing with many old and new Python releases in their CI, to Red Hat Enterprise Linux and its main and alternative Python application streams and containers with various Python versions ready to be deployed to production environments with years of required stability.\r\n\r\nIn this talk, Lum\u00edr will talk about:\r\n* Python maintainers\u2019 focus on speed of delivery in Fedora and stability and reliability in RHEL.\r\n* How to use containers based on Fedora for early adoption of new Pythons in CI/CD pipelines.\r\n* What challenges do we face during ten years of maintenance of old Python interpreters.\r\n\r\nCome and learn how you can benefit from our efforts, use a modern development environment, and deploy your apps with guaranteed stability.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "VPRECE", "name": "Lum\u00edr Balhar", "avatar": "https://programme.europython.eu/media/avatars/VPRECE_Yjj5946.webp", "biography": null, "public_name": "Lum\u00edr Balhar", "guid": "ada92b63-1fd6-5086-a2ea-6088144e6035", "url": "https://programme.europython.eu/europython-2024/speaker/VPRECE/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/VXUKR3/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/VXUKR3/", "attachments": [{"title": "Slides", "url": "/media/europython-2024/submissions/VXUKR3/resources/slides_-_Lumir_-_edited_0z1RdJI.pdf", "type": "related"}]}, {"guid": "941bad7d-e1c0-5ddd-83c9-96562fecf3ac", "code": "RBBU3M", "id": 51499, "logo": null, "date": "2024-07-11T15:30:00+02:00", "start": "15:30", "duration": "00:30", "room": "North Hall", "slug": "europython-2024-51499-mastering-generative-ai-tools-and-techniques-with-vs-code-github-azure", "url": "https://programme.europython.eu/europython-2024/talk/RBBU3M/", "title": "Mastering Generative AI: Tools and Techniques with VS Code, GitHub, Azure", "subtitle": "", "track": "PyData: LLMs (2024)", "type": "Sponsored", "language": "en", "abstract": "With the rise of Generative AI, developers are now able to create a wide range of applications that can generate content from simple prompts and context. In this presentation, we will explore how you can leverage the power of Visual Studio Code, GitHub, and Azure to develop, test, and deploy generative AI applications. We will discuss the latest tools and techniques for building and training generative models, and demonstrate how to build a sample application using GPT-4o, VS Code and its extensions. Additionally, we will showcase how to use GitHub for version control and collaboration, and how to deploy and manage your applications using Azure. For both beginners and veterans, join us to learn how you can master the power of generative AI to create innovative applications.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "FLJEJZ", "name": "Leo Yao", "avatar": "https://programme.europython.eu/media/avatars/FLJEJZ_AEt79nK.webp", "biography": "Leo is a Product Manager at Microsoft, where he is working on developer tooling for Python and AI, with the goal of improving the developer experience for Data Scientists, AI Engineers, and ML engineers. Leo and his team are currently working on creating tools that can help developers to build AI applications.", "public_name": "Leo Yao", "guid": "80d51e2c-41de-5730-824c-b7aa1c94775e", "url": "https://programme.europython.eu/europython-2024/speaker/FLJEJZ/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/RBBU3M/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/RBBU3M/", "attachments": []}, {"guid": "7afdf9f7-9a5e-50f2-91d6-9fedc883737c", "code": "T3KP3H", "id": 46289, "logo": null, "date": "2024-07-11T16:05:00+02:00", "start": "16:05", "duration": "00:45", "room": "North Hall", "slug": "europython-2024-46289-earth-observation-through-large-vision-models", "url": "https://programme.europython.eu/europython-2024/talk/T3KP3H/", "title": "Earth Observation through Large Vision Models", "subtitle": "", "track": "PyData: Deep Learning, NLP, CV (2024)", "type": "Talk (long session)", "language": "en", "abstract": "Ever wondered how location planning is done to build city infrastructure? Or when there is a disaster, how do we determine the possible affected areas and send reinforcements there? We require overhead imagery for that, which we mainly obtain from satellites.\r\nEuropean Space Agency has sent various satellites however, the dataset from these satellites is huge and may even contain multiple bands from the electromagnetic spectrum. Large AI models have a huge potential in this domain, if they are developed to work well with this dataset.\r\nThere are a lot of pre-trained Generative & Large Vision models on platforms like HuggingFace, Kaggle, etc., but these models do not integrate well with a specific domain like satellite datasets, hence the need to train or fine-tune them. In this talk, we are going to see from where we can access open satellite datasets, fine-tune various Vision Models and Multimodals on it, and examine the following applications:\r\n\r\n- Perform Zero-Shot classification and object detection on satellite images with human language input using Multimodal models.\r\n- Image-to-image translation on satellite imagery using generative vision models.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "PRFLCZ", "name": "Mayank Khanduja", "avatar": "https://programme.europython.eu/media/avatars/PRFLCZ_voa0X6y.webp", "biography": "Mayank is a data scientist at Esri, where he develops AI models for satellite and remote sensing datasets for a deeper understanding of our planet.", "public_name": "Mayank Khanduja", "guid": "6b4fb734-3660-57cc-bae5-2b647bf67171", "url": "https://programme.europython.eu/europython-2024/speaker/PRFLCZ/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/T3KP3H/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/T3KP3H/", "attachments": []}], "South Hall 2A": [{"guid": "da939c3d-abd5-5788-9566-7f3a0aaced29", "code": "PZKNPZ", "id": 46962, "logo": null, "date": "2024-07-11T10:30:00+02:00", "start": "10:30", "duration": "00:45", "room": "South Hall 2A", "slug": "europython-2024-46962-unlock-the-power-of-dev-containers-consistent-environments-in-seconds", "url": "https://programme.europython.eu/europython-2024/talk/PZKNPZ/", "title": "Unlock the Power of Dev Containers: Consistent Environments in Seconds!", "subtitle": "", "track": "DevOps and Infrastructure (Cloud & Hardware) (2024)", "type": "Talk (long session)", "language": "en", "abstract": "In this talk, we will explore the basic concepts of Dev Containers and demonstrate how they can support your everyday development as a Python programmer, data scientist, or machine learning engineer. With Dev Containers, you can build a consistent development environment in seconds, no matter where you are or what tools you use. And you know what? The Development Container Specification is even open source. Say goodbye to the hassle of setting up your development environment from scratch every time you start a new project!\r\n\r\nWe will start with a basic example and discuss how to set up a consistent Python development environment, including best practices for package management and GPU support. After this talk, you will be able to leverage the advantages of Dev Containers, allowing you to work from anywhere and be ready in seconds.\r\n\r\nIf you're tired of wasting time setting up your development environment and want to unlock the power of Dev Containers, then this talk is a must-attend for you!", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "F8ANLQ", "name": "Thomas Fraunholz", "avatar": "https://programme.europython.eu/media/avatars/F8ANLQ_UIIAJXP.webp", "biography": "Meet Thomas, a passionate advocate for science, particularly in the realm of applied mathematics. Following his doctoral studies, he embarked on a journey into the world of embedded programming, where his affinity for DevOps took root. His enduring passion for crunching numbers ultimately led him to the fascinating field of artificial intelligence, where he's now an acknowledged MLOps expert, seamlessly integrating machine learning into operations.\r\n\r\nThomas has an impressive track record as a leader, having overseen two publicly funded open-source research programs in the field of AI, in collaboration with the German Aerospace Center. Today, he is at the forefront of AI-driven cybersecurity research and working on his low-budget bark beetle detection drone project \u2013 a testament to his enduring fascination with embedded systems.", "public_name": "Thomas Fraunholz", "guid": "861c2c2a-a76c-5d0c-9687-2c1bc18ed4ed", "url": "https://programme.europython.eu/europython-2024/speaker/F8ANLQ/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/PZKNPZ/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/PZKNPZ/", "attachments": [{"title": "Presentation Slides", "url": "/media/europython-2024/submissions/PZKNPZ/resources/EuroPython2024-UnlockDevContainers-ThomasFr_U0oSeSp.pdf", "type": "related"}]}, {"guid": "a0fc7504-79ad-5a07-8803-b1701912effa", "code": "W97HPJ", "id": 46206, "logo": null, "date": "2024-07-11T11:20:00+02:00", "start": "11:20", "duration": "00:30", "room": "South Hall 2A", "slug": "europython-2024-46206-containerize-your-python-apps-like-it-s-2024", "url": "https://programme.europython.eu/europython-2024/talk/W97HPJ/", "title": "Containerize your Python apps like it's 2024", "subtitle": "", "track": "DevOps and Infrastructure (Cloud & Hardware) (2024)", "type": "Talk", "language": "en", "abstract": "There are a lot of resources on containerizing Python applications with Docker, but most are basic and outdated. Following them results in slow builds and potentially insecure applications. Let's see how we can build better containers using recent Docker features!\r\n\r\nThis talk will show how to speed up your builds and make your images smaller and more secure. We'll use features such as multi-stage builds or cache mounts to build containers with Python apps. We will also discuss how to improve the security of your container.\r\n\r\nTips from the talk are valid for applications of all sizes and kinds: from hobby projects to enterprises, from CLI tools to web applications and APIs. You will be able to apply them immediately after the talk.\r\n\r\nBasic knowledge of Docker and its key concepts (images, layers, Dockerfile commands) is required. You'll learn something new even if you have used Docker for some time.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "7FCECA", "name": "Jan Smitka", "avatar": "https://programme.europython.eu/media/avatars/7FCECA_qpmb4yy.webp", "biography": "I am a Software engineer from Pilsen, Czech Republic, with more than 20 years of experience.\r\n\r\nI develop web and data applications in Python. However, my area of expertise also includes everything required for their complete delivery and maintenance: frontend, databases, system administration, cloud deployment, containers, networks, development workflows, project management, and many others.\r\n\r\nI am a co-organizer of Pilsen Pyvo, a local meetup for Python enthusiasts and developers.", "public_name": "Jan Smitka", "guid": "2342e10b-6821-53b1-a7ef-c7173e496499", "url": "https://programme.europython.eu/europython-2024/speaker/7FCECA/"}], "links": [{"title": "Repository with Dockerfile examples", "url": "https://github.com/jsmitka/examples-python-images-production", "type": "related"}], "feedback_url": "https://programme.europython.eu/europython-2024/talk/W97HPJ/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/W97HPJ/", "attachments": [{"title": "Slides", "url": "/media/europython-2024/submissions/W97HPJ/resources/lynt-containerize-python-apps-ep2024_mGGq8Tp.pdf", "type": "related"}]}, {"guid": "6b0e4353-4a59-531d-8ad3-7f83f986d534", "code": "QQMDWQ", "id": 46754, "logo": null, "date": "2024-07-11T11:55:00+02:00", "start": "11:55", "duration": "00:30", "room": "South Hall 2A", "slug": "europython-2024-46754-the-rise-of-the-yaml-engineer", "url": "https://programme.europython.eu/europython-2024/talk/QQMDWQ/", "title": "The rise of the YAML engineer", "subtitle": "", "track": "PyData: Data Engineering (2024)", "type": "Talk", "language": "en", "abstract": "In the analytics world, many of the trending data frameworks, written in Python or other languages, are adopting the declarative paradigm: users describe the desired end state, and let the system figure out the best steps to reach that state. This can be seen at many layers: data extraction, data transformation, data visualization, but also infrastructure, data quality, governance... Lots of those frameworks use YAML as the interface between the users (data engineers, data analysts and other data practitioners) and the desired system state.\r\nIn this presentation, I propose to dive into the origins of the declarative paradigm for data systems, what it means for us as data practitioners, and why we're actually not becoming glorified YAML developers. I will also talk about state management and GitOps, and probably complain about YAML multiline strings.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "9S3Z87", "name": "Matthieu Caneill", "avatar": "https://programme.europython.eu/media/avatars/9S3Z87_p5sgHpk.webp", "biography": "Matthieu Caneill is a data & software engineer, currently working at Picnic in Amsterdam, where he's taking care of data platform topics.", "public_name": "Matthieu Caneill", "guid": "3e9facbb-88c9-586a-b6e0-7f44c65d032d", "url": "https://programme.europython.eu/europython-2024/speaker/9S3Z87/"}], "links": [{"title": "Slides (pdf)", "url": "https://matthieu.io/dl/talks/2024-07-11-europython-yaml-engineer.pdf", "type": "related"}], "feedback_url": "https://programme.europython.eu/europython-2024/talk/QQMDWQ/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/QQMDWQ/", "attachments": []}, {"guid": "0bc48c44-a12f-5b60-89e7-61761f50a735", "code": "VFMXAD", "id": 46168, "logo": null, "date": "2024-07-11T12:30:00+02:00", "start": "12:30", "duration": "00:30", "room": "South Hall 2A", "slug": "europython-2024-46168-pep-639-towards-licensing-standardization-in-python-packaging", "url": "https://programme.europython.eu/europython-2024/talk/VFMXAD/", "title": "PEP 639 - Towards licensing standardization in Python packaging", "subtitle": "", "track": "Python Libraries & Tooling (2024)", "type": "Talk", "language": "en", "abstract": "Declaring license metadata in Python packaging has got many pitfalls. The current standard doesn\u2019t meet the needs of the wider public, including downstream packagers (e.g. Linux distributions). Trove classifiers are all but precise. Every build backend comes up with its own idea how to fill in the data in pyproject.toml or their custom formats. It comes hardly as a surprise that there\u2019s an existing attempt to fix the landscape with standardization: PEP 639. In my talk I\u2019ll outline what the proposal is about and how it\u2019s been developing over the years. I\u2019ll summarize the current state and the next steps. This includes the introduction of SPDX expresssion syntax, changes to the project metadata declaration, changes to the core metadata, improved glossary and some more.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "FYYBAE", "name": "Karolina Surma", "avatar": "https://programme.europython.eu/media/avatars/FYYBAE_OTaN9A1.webp", "biography": "It all started with a PyLadies Python course in 2017 and I've been active in the Czech Python community ever since. After the beginner's course I got hooked into programming, learned the basics of Linux, and got impressed with the open-source project development. With that I could kickstart my career in IT: first as QA, now as a software engineer working with open-source software. Outside the world of IT, I like watching herbs grow, going on long hikes, dreaming of a better world and, on unrelated manner, reading fiction.", "public_name": "Karolina Surma", "guid": "c3bb93d5-3060-5a89-ab34-7a9099ded5d9", "url": "https://programme.europython.eu/europython-2024/speaker/FYYBAE/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/VFMXAD/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/VFMXAD/", "attachments": []}, {"guid": "b51f7e15-1979-59c7-a9ee-69d249e6165f", "code": "8MGKUK", "id": 51570, "logo": null, "date": "2024-07-11T14:00:00+02:00", "start": "14:00", "duration": "01:00", "room": "South Hall 2A", "slug": "europython-2024-51570-sponsor-highlight-recruitment-fair", "url": "https://programme.europython.eu/europython-2024/talk/8MGKUK/", "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!", "description": null, "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/8MGKUK/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/8MGKUK/", "attachments": []}, {"guid": "edfd93cf-1857-5c3a-b9cd-4ea7c347bcd5", "code": "PKJ38J", "id": 47261, "logo": null, "date": "2024-07-11T15:30:00+02:00", "start": "15:30", "duration": "00:30", "room": "South Hall 2A", "slug": "europython-2024-47261-rpa-tdd-and-embedded-a-world-glued-together-with-python", "url": "https://programme.europython.eu/europython-2024/talk/PKJ38J/", "title": "RPA, TDD, and Embedded: A world glued together with Python!", "subtitle": "", "track": "Testing and QA (2024)", "type": "Talk", "language": "en", "abstract": "Do you know what *RPA* means? Or *TDD*? Or \"embedded\"? At least, for sure, you know what **Python** is \ud83d\ude09.\r\n\r\n\"RPA\" stands for \"Robotic Process Automation\", whereas \"TDD\" stands for \"Test Driven Development\". Those words usually refer to either the testing process or the automation of it. In the embedded world - the microcontroller one - it is usually easy to test features unitarily, but **hard to test them working within a bigger system**.\r\n\r\nTherefore... What is this everything about? In this talk [Robot Framework](https://robotframework.org/) is introduced as the tool to integrate almost everything! Firstly, [Robot Framework](https://robotframework.org/) is introduced: Explain its purpose, semantics, basic writing, etc. Then, we will dig a little into it and how to maximize its potential by tweaking the internal libraries and writing our own ones. Next, we will simulate a real embedded device which we require some integration testing: Exchange some messages, evaluate an external request, etc. And finally, we will glue all this together with [Robot Framework](https://robotframework.org/)!\r\n\r\nSounds interesting, right? Jump into this initialization talk for you to get introduced - or acquire more knowledge - into the embedded and testing world.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "PCANRA", "name": "Javier Alonso", "avatar": "https://programme.europython.eu/media/avatars/PCANRA_pVgackT.jpg", "biography": "I am a passionate Computer Engineer always learning new things! I started in this world almost 7 years ago and am glad I can work on the thing I love.\r\n\r\nI am the President of Python Spain, the organizer of the PyConES 2023/2024 editions, and a collaborator on the PyConES 2022.", "public_name": "Javier Alonso", "guid": "cb0f88b2-54a1-551b-ae4a-7898a1037e22", "url": "https://programme.europython.eu/europython-2024/speaker/PCANRA/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/PKJ38J/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/PKJ38J/", "attachments": []}, {"guid": "cb76369d-18fc-522f-ac4f-3a7feda37d58", "code": "PZPES9", "id": 46565, "logo": null, "date": "2024-07-11T16:05:00+02:00", "start": "16:05", "duration": "00:45", "room": "South Hall 2A", "slug": "europython-2024-46565-mutation-testing-in-python-with-cosmic-ray", "url": "https://programme.europython.eu/europython-2024/talk/PZPES9/", "title": "Mutation Testing in Python with Cosmic Ray", "subtitle": "", "track": "Testing and QA (2024)", "type": "Talk (long session)", "language": "en", "abstract": "Mutation testing is a technique for systematically mutating source code in order to validate test suites. It operates by making small changes to a program\u2019s source code and then running a test suite; if the test suite ever succeeds on mutated code then a flag is raised. The goal is to check that a system\u2019s test suite is sufficiently powerful to detect a large class of functionality-affecting changes, thereby helping ensure that the system functions as expected. While not in widespread use, mutation testing is a fascinating topic with great potential that has valuable lessons for the broader software development community.\r\n\r\nIn this talk we\u2019ll look at Cosmic Ray, an open-source mutation testing tool for Python. Mutation testing presents some difficult and fascinating challenges - both conceptually and from an implementation point of view - so we\u2019ll look at how Cosmic Ray addresses (or plans to address) these complexities. While some of these details will necessarily be Python-specific, there are lessons in Cosmic Ray for the development of mutation in any language.\r\n\r\nMutation testing is still a rather exotic testing technique, but it can produce genuinely useful and surprising results. To show this, we\u2019ll look at a number of cases where Cosmic Ray has helped developers improve their test suites and tighten up their implementations.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "DFWKSC", "name": "Austin Bingham", "avatar": "https://programme.europython.eu/media/avatars/DFWKSC_1SLFZAd.webp", "biography": "Austin is a founding director of Sixty North, a software consulting, training, and application development company. A native of Texas, in 2008 Austin moved to Stavanger, Norway where he helped develop industry-leading oil reservoir modeling software in C++ and Python. Prior to that he worked at National Instruments developing LabVIEW, at Applied Research Labs (Univ. of Texas at Austin) developing sonar systems for the U.S. Navy, and at a number of telecommunications companies. He is an experienced presenter, teacher, and author, as well as an active member of the open source community. Austin holds a Master of Science in Computer Engineering from the University of Texas at Austin.", "public_name": "Austin Bingham", "guid": "0b4c3df9-e9f8-5ed3-8a7d-12a23ca94803", "url": "https://programme.europython.eu/europython-2024/speaker/DFWKSC/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/PZPES9/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/PZPES9/", "attachments": [{"title": "Sldes", "url": "/media/europython-2024/submissions/PZPES9/resources/mutation_testing_in_python.60min_XXHUQ5i.pdf", "type": "related"}]}], "South Hall 2B": [{"guid": "b1fa319e-8ada-5778-a978-dabe3f1376b8", "code": "UFURPH", "id": 46326, "logo": null, "date": "2024-07-11T10:30:00+02:00", "start": "10:30", "duration": "00:45", "room": "South Hall 2B", "slug": "europython-2024-46326-compiledpoem-py-teaching-about-diversity-and-python-through-poem", "url": "https://programme.europython.eu/europython-2024/talk/UFURPH/", "title": "CompiledPoem.py: Teaching about diversity and Python through poem", "subtitle": "", "track": "Education, Community & Diversity (2024)", "type": "Talk (long session)", "language": "en", "abstract": "Teaching how to program in Python has various approaches, but it becomes motivating when we work with concepts about diversity through poems. This talk will show how a project that aims to teach Python using poems and that grew hand in hand with the Python community has been changing the lives of children and, currently, teachers in a country in the global south. In order to demonstrate it, I will teach you how to create function blocks, conditional and looping structures in an easy and empowering way, while discussing topics such as racism, xenophobia, homophobia, and sexism, for example, through Python code integrated with poetry.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "EL3KUC", "name": "Soraya Roberta", "avatar": "https://programme.europython.eu/media/avatars/EL3KUC_iL6llXP.webp", "biography": "PhD student in Computer Science, Creator of Compiled Poetry Project, author of the book \"print(\"my first print\")\", podcaster of Making Art With Code, member of the Brazilian Python Community, and Pyladies Natal.", "public_name": "Soraya Roberta", "guid": "afc40fec-5de1-5d75-ac23-2f01b12d6367", "url": "https://programme.europython.eu/europython-2024/speaker/EL3KUC/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/UFURPH/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/UFURPH/", "attachments": []}, {"guid": "ed18fb49-b239-561c-8a88-00b0b3a2e0c3", "code": "NKFDPW", "id": 46379, "logo": null, "date": "2024-07-11T11:20:00+02:00", "start": "11:20", "duration": "00:30", "room": "South Hall 2B", "slug": "europython-2024-46379-graalpy-fast-python-implementation", "url": "https://programme.europython.eu/europython-2024/talk/NKFDPW/", "title": "GraalPy - Fast Python Implementation", "subtitle": "", "track": "Python Internals & Ecosystem (2024)", "type": "Talk", "language": "en", "abstract": "GraalPy is the fast Python implementation built on GraalVM. We run PyTorch and TensorFlow and ML models from Huggingface.co. We execute the test suites of the top 600 PyPI packages every day and are the most compatible alternative implementation of Python to date. We can JIT pure Python code to the same speed as code [rewritten in Cython](https://twitter.com/timfelgentreff/status/1760597779250839820). We are the most seamless and performant choice for integration with Java in both directions, including Jython compatibility mode.\r\n\r\nIn this talk, we want to show what's possible today with GraalPy and why you might choose it for your projects: for its performance, integration with Java and other languages, or sandboxing and distribution features.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "RB9MRK", "name": "Tim Felgentreff", "avatar": "https://programme.europython.eu/media/avatars/RB9MRK_QyDQMR1.webp", "biography": "I am a member of the GraalVM team at Oracle Labs. I was led here by my interests in programming languages and virtual machine design, and my involvement with the PyPy/RPython project and various other dynamic language VMs. My work revolves around dynamic language interoperability, connecting them with native C code in a safe manner, and providing cross-language tool support. I also continue to collaborate with the HPI at the University of Potsdam on tools and environments for dynamic languages and polyglot programming.", "public_name": "Tim Felgentreff", "guid": "d9dd3922-2cda-5285-bc44-bf522a296ffa", "url": "https://programme.europython.eu/europython-2024/speaker/RB9MRK/"}, {"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": "dc377207-2b12-5817-9186-059295daa5db", "url": "https://programme.europython.eu/europython-2024/speaker/G9FNPT/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/NKFDPW/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/NKFDPW/", "attachments": [{"title": "Slides", "url": "/media/europython-2024/submissions/NKFDPW/resources/GraalPy_QJaPw5q.pdf", "type": "related"}]}, {"guid": "e3f86a32-5a0b-590a-ae67-85f698118a60", "code": "NFCPVM", "id": 47515, "logo": null, "date": "2024-07-11T11:55:00+02:00", "start": "11:55", "duration": "00:30", "room": "South Hall 2B", "slug": "europython-2024-47515-why-communication-is-the-best-skill-you-can-develop-as-a-programmer", "url": "https://programme.europython.eu/europython-2024/talk/NFCPVM/", "title": "Why communication is the best skill you can develop as a programmer", "subtitle": "", "track": "Career, Life, Health (2024)", "type": "Talk", "language": "en", "abstract": "As engineers, aspiring or experienced, we can become so focused on growing our technical skills that we forget about the basics. The ability to communicate well can be seen as a skill needed by leaders, managers or client-facing colleagues, but in reality it forms the basis of the quality of our work. From understanding client requirements, to code reviews and even naming variables, communication is a fundamental part of our profession and something we could all benefit from being more conscious of.\r\n\r\nIn this open-to-all-levels talk we\u2019ll discuss in what situations we should pay closer attention to our style of communication, explore the role of empathy in writing and reviewing code and cover tips and tricks for both making yourself understood and better understanding others.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "WPUWNJ", "name": "Miriam Forner", "avatar": "https://programme.europython.eu/media/avatars/WPUWNJ_H7M4xEn.webp", "biography": "I am a self-taught, full-stack software engineer with five years professional experience building web applications and APIs using Python. I live in London and currently work at Kraken Technologies, building APIs to improve the experience of utility customers around the world.", "public_name": "Miriam Forner", "guid": "cd85acdb-f362-59b4-be27-2b7135d2c464", "url": "https://programme.europython.eu/europython-2024/speaker/WPUWNJ/"}], "links": [{"title": "Talk slides", "url": "https://docs.google.com/presentation/d/1GaakTiEb-9UzGkfSEoZ6gqhQBl5Nvc4VPe4eGXzAG4Y/", "type": "related"}], "feedback_url": "https://programme.europython.eu/europython-2024/talk/NFCPVM/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/NFCPVM/", "attachments": []}, {"guid": "e61ec577-ebda-529e-82c2-fd56a9e325da", "code": "DH3AE7", "id": 46298, "logo": null, "date": "2024-07-11T12:30:00+02:00", "start": "12:30", "duration": "00:30", "room": "South Hall 2B", "slug": "europython-2024-46298-an-alternative-view-on-the-openapi-documentation", "url": "https://programme.europython.eu/europython-2024/talk/DH3AE7/", "title": "An alternative view on the OpenAPI documentation.", "subtitle": "", "track": "Web technologies (2024)", "type": "Talk", "language": "en", "abstract": "Documenting Python project endpoints is a real challenge in API development. Poor readability, versioning, and lack of authentication information - this all reduce the usability of existing OpenAPI documentation. The different libraries offers us a good start for autogenerated OpenAPI documentation for our endpoints, but in this talk we will discuss an alternative way to auto generated documentation for our APIs.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "TJSMCP", "name": "Maxim Danilov", "avatar": "https://programme.europython.eu/media/avatars/TJSMCP_UjXoW08.webp", "biography": "I began my career as a programmer specializing in embedded solutions in 1997, and grow to the role of Chief Technology Officer in 2023. Through many successful projects, I gained a robust understanding of various software development paradigms. After more than 10 years as a code mentor, I earned twice the title 'Super Mentor in Engineering'.", "public_name": "Maxim Danilov", "guid": "2926c361-78a7-541a-9dc2-e5151c958cbb", "url": "https://programme.europython.eu/europython-2024/speaker/TJSMCP/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/DH3AE7/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/DH3AE7/", "attachments": []}, {"guid": "df566f3f-b802-5c89-8277-eb281d3fd71a", "code": "Y3YDNQ", "id": 52336, "logo": null, "date": "2024-07-11T14:00:00+02:00", "start": "14:00", "duration": "01:00", "room": "South Hall 2B", "slug": "europython-2024-52336-open-source-sustainability-panel", "url": "https://programme.europython.eu/europython-2024/talk/Y3YDNQ/", "title": "Open Source Sustainability Panel", "subtitle": "", "track": null, "type": "Panel", "language": "en", "abstract": "The motivation behind this panel is to provide insights to the audience with regards to funding open source projects, manage the community interaction, and options people might find attractive in order to be paid while doing Open source.\r\n\r\nWe can also observe the sustainability of a project by the amount of contributors, even if it\u2019s code or activities around it like conferences, communities, and NGOs that support the ecosystem.", "description": null, "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.\r\n\r\nCurrently she is working as a Lead Backend Engineer at Kraken Tech.\r\n\r\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": "f41259d4-f9f1-52f9-9a68-5d974d4457e7", "url": "https://programme.europython.eu/europython-2024/speaker/QQSVVM/"}, {"code": "ZG8GYN", "name": "Samuel Colvin", "avatar": "https://programme.europython.eu/media/avatars/ZG8GYN_jM9Jl64.webp", "biography": "Hi, I'm Samuel. I'm a Python and Rust developer from London.\r\n\r\nI'm best known for creating Pydantic - a Python data validation library that has now morphed into a startup. Recently we released our first product: Pydantic Logfire, a new kind of observability platform based on the same principle as Pydantic \u2014 that powerful tools can still be easy to use.", "public_name": "Samuel Colvin", "guid": "fd5ff527-659b-5d4e-a3e7-9fb6fc3af0db", "url": "https://programme.europython.eu/europython-2024/speaker/ZG8GYN/"}, {"code": "XCKH3F", "name": "Deb Nicholson", "avatar": "https://programme.europython.eu/media/avatars/XCKH3F_1s78HKZ.webp", "biography": "Deb Nicholson is an open source software policy expert and a passionate community advocate. She is the Executive Director at the Python Software Foundation which serves as the non-profit steward of the Python programming language. She\u2019s won the O\u2019Reilly Open Source Award and the Award for the Advancement of Free Software for her efforts to broaden the free and open source software movement. She serves on the Board of Directors for the Spritely Institute and on the Advisory Board for Open@RIT. She lives with her husband and her lucky black cat in Cambridge, Massachusetts.", "public_name": "Deb Nicholson", "guid": "46a11b93-0dfb-57c4-af54-da05ea641866", "url": "https://programme.europython.eu/europython-2024/speaker/XCKH3F/"}, {"code": "XXDZKP", "name": "Anwesha Das", "avatar": "https://programme.europython.eu/media/avatars/XXDZKP_fxe5Ftf.webp", "biography": "Anwesha is a Master of Laws by education and a technologist by passion.She is a fellow at the Python Software Foundation and the Release Manager of Ansible. She works as a Software Engineer with the Ansible Engineering team at Red Hat. She led PyLadies efforts in India and now is an organizer at PyLadies Stockholm.  You can follow her blog at https://anweshadas.in.", "public_name": "Anwesha Das", "guid": "e194a6f1-e696-5632-80cf-6237d7202150", "url": "https://programme.europython.eu/europython-2024/speaker/XXDZKP/"}, {"code": "KV9HUP", "name": "Armin Ronacher", "avatar": "https://programme.europython.eu/media/avatars/KV9HUP_uLV43E7.webp", "biography": "Armin is Sentry\u2019s VP of Platform.\r\n\r\nHe is the creator of the Flask Python framework and a frequent speaker at international conferences. Armin is a significant contributor to a number of Open Source projects across Rust, Python and other languages, as well as Sentry\u2019s core platform.\r\n\r\nBased in Vienna, Armin - when not 3d printing - enjoys spending time with his family and children.", "public_name": "Armin Ronacher", "guid": "a08cb805-1dcc-5b4c-a0de-7a3daac7488f", "url": "https://programme.europython.eu/europython-2024/speaker/KV9HUP/"}, {"code": "TMLKKK", "name": "Artur Czepiel", "avatar": null, "biography": null, "public_name": "Artur Czepiel", "guid": "2e346b6f-9c19-5ea3-8c15-31c62c050c9e", "url": "https://programme.europython.eu/europython-2024/speaker/TMLKKK/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/Y3YDNQ/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/Y3YDNQ/", "attachments": []}, {"guid": "d3304420-1786-572c-8512-651b97790d91", "code": "KUABAE", "id": 46144, "logo": null, "date": "2024-07-11T15:30:00+02:00", "start": "15:30", "duration": "00:30", "room": "South Hall 2B", "slug": "europython-2024-46144-many-ways-to-be-a-python-contributor", "url": "https://programme.europython.eu/europython-2024/talk/KUABAE/", "title": "Many ways to be a Python contributor", "subtitle": "", "track": "Education, Community & Diversity (2024)", "type": "Talk", "language": "en", "abstract": "**Python** is an increasingly used language and the number of potential contributors is growing increasingly.\r\n\r\n**Newcomers** to the community have a lot of documentation to guide them to transform from mere users to contributors.\r\n\r\nThere are many ways to **contribute** to Python or one of its packages or frameworks, and we will try to see some of them together.\r\n\r\nIn this talk, new Python developers will discover new ways to get involved in the community, and **community members** will get ideas for getting new people involved.\r\n\r\nMore info on my website \ud83d\udc47\r\nhttps://www.paulox.net/2024/07/11/europython-2024/", "description": null, "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.\r\n\r\nI\u2019ve been a GNU/Linux user for over 20 years and I use and promote Free Software.\r\n\r\nI graduated in Software Engineering, and I\u2019m an alumnus of the University of Bologna, Italy.\r\n\r\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": "d412204b-aba9-51c7-9eb6-00d0ec6b4a5e", "url": "https://programme.europython.eu/europython-2024/speaker/BGLPFA/"}], "links": [{"title": "Paolo Melchiorre - Many ways to be a Python contributor", "url": "https://files.speakerdeck.com/presentations/3d07a565cb154c98a8698d0dc701f5d5/Paolo_Melchiorre_-_Many_ways_to_be_a_Python_contributor.pdf", "type": "related"}], "feedback_url": "https://programme.europython.eu/europython-2024/talk/KUABAE/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/KUABAE/", "attachments": []}, {"guid": "290db74d-f1cb-5eb3-a920-06417beb11bf", "code": "9XFSMS", "id": 47372, "logo": null, "date": "2024-07-11T16:05:00+02:00", "start": "16:05", "duration": "00:45", "room": "South Hall 2B", "slug": "europython-2024-47372-python-unplugged-mining-for-hidden-batteries", "url": "https://programme.europython.eu/europython-2024/talk/9XFSMS/", "title": "Python Unplugged: Mining for Hidden 'Batteries", "subtitle": "", "track": "Python Internals & Ecosystem (2024)", "type": "Talk (long session)", "language": "en", "abstract": "Python prides itself on its 'batteries included' philosophy, but beyond the well-trodden modules lie hidden gems awaiting discovery. This talk ventures into the depths of the Python standard library to unearth lesser-known features from itertools, collections, functools, typing and more.\r\n\r\nAll of these tools are already built into every standard python installation and no \"(uv) pip install\" is necessary.\r\n\r\nMany if not all of those are likely already known to old fashioned pythonistas, but for beginners (1-2years) there will be something new to learn, while for intermediate python developers there might be at least a few more gems to discover.\r\n\r\nBy delving into these underutilized modules, attendees will gain a richer understanding of Python's built-in capabilities and learn how to write more pythonic code.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "AB7CEZ", "name": "Torsten Zielke", "avatar": null, "biography": "Senior Backend Developer/Architect with current focus on Python, but \"polylanguage\".\r\n\r\nWorked in Science, Insurance, AI and a couple of other areas. In the past I taught people about DDD and TDD, as well as pragmatic adoption of design patterns from SOLID, Clean Code and more.\r\n\r\nCompanies I worked for include Max Planck Institutes, Check24, Deutsche Bahn and now MARA Solutions. Before I became a software developer, I worked in various jobs including at a home for the severely disabled, in a call center, and on an assembly line.\r\n\r\nWhen I'm not coding, I watch my kids grow rapidly fast or read Sci-Fi and play RPGs (analogue in form of pen'n'paper as well as digital).", "public_name": "Torsten Zielke", "guid": "3d5d3a6a-3c11-511d-b913-fc0a285a44d9", "url": "https://programme.europython.eu/europython-2024/speaker/AB7CEZ/"}], "links": [{"title": "Repository", "url": "https://github.com/dev-loki/europython2024-python-unplugged-slides", "type": "related"}, {"title": "Slides", "url": "https://loki.dev/ep24", "type": "related"}, {"title": "Overview (Slides/PDF/Repolink/etc.)", "url": "https://loki.dev/vortraege/europython2024-python-batteries-included/", "type": "related"}], "feedback_url": "https://programme.europython.eu/europython-2024/talk/9XFSMS/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/9XFSMS/", "attachments": []}], "Main Hall A": [{"guid": "4f525887-c4b2-500b-8f4e-6addbee8ec79", "code": "KXF8JY", "id": 46709, "logo": null, "date": "2024-07-11T13:00:00+02:00", "start": "13:00", "duration": "01:00", "room": "Main Hall A", "slug": "europython-2024-46709-are-llms-smarter-in-some-languages-than-others", "url": "https://programme.europython.eu/europython-2024/talk/KXF8JY/", "title": "Are LLMs smarter in some languages than others?", "subtitle": "", "track": "PyData: LLMs (2024)", "type": "Poster", "language": "en", "abstract": "Have you ever asked yourself if Large Language Models (LLMs) perform differently across various languages? I have.\r\n\r\nIn this poster session, I will demonstrate how tokens, embeddings, and the LLMs themselves perform when utilized in 30 different languages. I will illustrate how languages influence pricing and various model characteristics.\r\n\r\nSpoiler:\r\n- The Greek language is the most expensive to process by most models.\r\n- Processing Asian languages on Gemini is cheaper.\r\n- You can save up to 15% of tokens by removing diacritics.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "MTEUCU", "name": "Pavel Kr\u00e1l", "avatar": "https://programme.europython.eu/media/avatars/MTEUCU_ltm5KOw.webp", "biography": "Pavel is a Python developer specializing in LLM integrations based on Django and Kubernetes, who enjoys their practical use and measurable benefits.\r\nHe presented at **Prague Python Pizza**, where he talked about how LLM work with different languages, and he will also present at **PyConSK**.", "public_name": "Pavel Kr\u00e1l", "guid": "d935ae19-69e7-5dec-9e1c-63385251eb08", "url": "https://programme.europython.eu/europython-2024/speaker/MTEUCU/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/KXF8JY/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/KXF8JY/", "attachments": [{"title": "Similarity", "url": "/media/europython-2024/submissions/KXF8JY/resources/Screenshot_2024-03-06_at_9.35.37_SuuCsDd.png", "type": "related"}]}], "Main Hall B": [{"guid": "c0336267-0635-5887-9c74-80a55776f77d", "code": "BUH9SD", "id": 45219, "logo": null, "date": "2024-07-11T13:00:00+02:00", "start": "13:00", "duration": "01:00", "room": "Main Hall B", "slug": "europython-2024-45219-django-2-0-an-asynchronous-microservices-technique", "url": "https://programme.europython.eu/europython-2024/talk/BUH9SD/", "title": "\u00b5Django 2.0, an asynchronous microservices technique.", "subtitle": "", "track": "Web technologies (2024)", "type": "Poster", "language": "en", "abstract": "A standard Django project involves working with multiple files and folders from the start. Let's see how the work with a Django project changes itself when we have only one file in project. This solution automatically transforms Django into a microservice-oriented async framework with \"batteries included\u201d philosophy.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "TJSMCP", "name": "Maxim Danilov", "avatar": "https://programme.europython.eu/media/avatars/TJSMCP_UjXoW08.webp", "biography": "I began my career as a programmer specializing in embedded solutions in 1997, and grow to the role of Chief Technology Officer in 2023. Through many successful projects, I gained a robust understanding of various software development paradigms. After more than 10 years as a code mentor, I earned twice the title 'Super Mentor in Engineering'.", "public_name": "Maxim Danilov", "guid": "2926c361-78a7-541a-9dc2-e5151c958cbb", "url": "https://programme.europython.eu/europython-2024/speaker/TJSMCP/"}], "links": [{"title": "Repository", "url": "https://bitbucket.org/danilovmy/conferences2024/src/master/pyconde/uDjango/", "type": "related"}, {"title": "Video about this technology", "url": "https://www.youtube.com/watch?v=9BWklCgXahY", "type": "related"}], "feedback_url": "https://programme.europython.eu/europython-2024/talk/BUH9SD/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/BUH9SD/", "attachments": []}], "Main Hall C": [{"guid": "50e7eeea-ff79-5513-88cf-eaf65f40356e", "code": "KLXQAM", "id": 46782, "logo": null, "date": "2024-07-11T13:00:00+02:00", "start": "13:00", "duration": "01:00", "room": "Main Hall C", "slug": "europython-2024-46782-contributing-to-onnx-how-you-can-improve-machine-learning-interoperability", "url": "https://programme.europython.eu/europython-2024/talk/KLXQAM/", "title": "Contributing to ONNX: How you can improve Machine Learning interoperability", "subtitle": "", "track": "PyData: Deep Learning, NLP, CV (2024)", "type": "Poster", "language": "en", "abstract": "As AI continues to integrate into various applications, the ability for different machine learning (ML) models to operate across frameworks is becoming increasingly important. Models are often created and trained using one framework, but must be able to run in different environments, hardware and software engines. The Open Neural Network Exchange (ONNX) is an open standard which addresses this problem. ONNX simplifies the process of moving models between frameworks by offering a common set of operators and a portable file format.\r\n\r\nMy poster will provide an overview of ONNX and its role in the exchange and deployment of models. We will briefly discuss the architecture of ONNX files, its operator set, which supports a wide range of deep learning models, and the significance of having a standardized model representation in AI development.\r\n\r\nONNX is an open-source project and we are always looking for contributors with good ideas. I want to introduce you to the community behind ONNX and let you know how you can become a part of it. Our community includes representatives of large companies such as Microsoft, Nvidia, IBM and Intel, but also many smaller startups and individuals. Contributing to ONNX is straightforward, based on GitHub pull requests and code reviews. I will tell you about interesting areas where your contribution would be very valueable regardless of your previous expertise level in AI.\r\n\r\nThe ONNX project thrives on community contributions. Whether you're interested in adding new features, refining existing ones, or improving documentation, there's room for your input. This is an invitation to learn about ONNX and explore ways to contribute to its development.", "description": null, "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 scientist 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": "163737d9-2200-5235-80cc-b42efdc31f69", "url": "https://programme.europython.eu/europython-2024/speaker/RMHTBJ/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/KLXQAM/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/KLXQAM/", "attachments": []}]}}, {"index": 5, "date": "2024-07-12", "day_start": "2024-07-12T04:00:00+02:00", "day_end": "2024-07-13T03:59:00+02:00", "rooms": {"Forum Hall": [{"guid": "84b6b8c7-e00b-59cf-97b8-d610e49e69cf", "code": "JLFDLR", "id": 51564, "logo": null, "date": "2024-07-12T08:45:00+02:00", "start": "08:45", "duration": "00:30", "room": "Forum Hall", "slug": "europython-2024-51564-friday-registration-welcome-forum-hall-foyer-1st-floor", "url": "https://programme.europython.eu/europython-2024/talk/JLFDLR/", "title": "Friday Registration & Welcome @ Forum Hall Foyer 1st Floor", "subtitle": "", "track": null, "type": "Announcements", "language": "en", "abstract": "Welcome to EuroPython 2024! 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!", "description": null, "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/JLFDLR/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/JLFDLR/", "attachments": []}, {"guid": "70a8fe5c-0335-5d49-8b90-ace0d85219cd", "code": "AKQTN3", "id": 52069, "logo": null, "date": "2024-07-12T09:15:00+02:00", "start": "09:15", "duration": "00:15", "room": "Forum Hall", "slug": "europython-2024-52069-friday-s-morning-announcement", "url": "https://programme.europython.eu/europython-2024/talk/AKQTN3/", "title": "Friday's Morning Announcement", "subtitle": "", "track": null, "type": "Announcements", "language": "en", "abstract": "The news for the day. What's up and what you should know today. Come by and find out what is going to happen today.", "description": null, "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/AKQTN3/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/AKQTN3/", "attachments": []}, {"guid": "bbeba8e7-16b0-5eb2-8bbb-430e7e8a9896", "code": "3U9ZVR", "id": 52132, "logo": null, "date": "2024-07-12T09:30:00+02:00", "start": "09:30", "duration": "00:45", "room": "Forum Hall", "slug": "europython-2024-52132-healthy-code-for-healthy-teams-or-the-other-way-around", "url": "https://programme.europython.eu/europython-2024/talk/3U9ZVR/", "title": "Healthy code for healthy teams (or the other way around)", "subtitle": "", "track": null, "type": "Keynote", "language": "en", "abstract": "Codebases often disappoint us, but we keep creating new ones with the absurd hope that it will be different this time. Spoiler alert: it never is.\r\n\r\nNotably, research codebases need to fulfil the oxymoron of being robust for long and large computations and highly flexible to experiment with outlandish ideas quickly.\r\n\r\nBut what if there was a way to break the cycle and build code that endures,\u00a0even for groundbreaking research.\r\n\r\nThis talk isn't about magic bullets or silver linings.\u00a0It's about the\u00a0powerful connection between healthy teams and healthy code. We'll explore how a healthy team improved the health of a codebase by introducing type annotations and runtime type checking for JAX arrays.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "8L79Y8", "name": "Mai Gim\u00e9nez", "avatar": "https://programme.europython.eu/media/avatars/8L79Y8_PVHDGMO.webp", "biography": "Mai Gim\u00e9nez, PhD. is a senior research engineer working in large language and multimodal language models at Google Deepmind. She is passionate about building the most useful technology for everyone and her main research interest is in language and the sociotechnical impacts of these models in the real world.\r\n\r\nMai is a former board member of the Spanish Python Association, helped organise several PyConES conferences and is a proud member of the Pyladies.", "public_name": "Mai Gim\u00e9nez", "guid": "3dc5abef-f775-553c-abd1-113a43cd5748", "url": "https://programme.europython.eu/europython-2024/speaker/8L79Y8/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/3U9ZVR/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/3U9ZVR/", "attachments": []}, {"guid": "264209b3-a7d3-5ff3-9d16-901714c326f9", "code": "NAHJEU", "id": 45962, "logo": null, "date": "2024-07-12T10:45:00+02:00", "start": "10:45", "duration": "00:30", "room": "Forum Hall", "slug": "europython-2024-45962-cython-and-the-limited-api", "url": "https://programme.europython.eu/europython-2024/talk/NAHJEU/", "title": "Cython and the Limited API", "subtitle": "", "track": "Python Internals & Ecosystem (2024)", "type": "Talk", "language": "en", "abstract": "Cython's Limited API support is finally approaching a usable state. As an example, it is possible to produce a working version of Cython by compiling it in Limited API mode.\r\n\r\nFor users the main advantage is to be able to reduce the number of wheels/binaries they have to build in order to be compatible across a range of versions of Python. For Cython itself there is also an advantage in future-proofing: being able to produce simpler code that should continue to work even as the Python interpreter evolves and which is more likely to work with alternative Python implementations, as well as hopefully placating the unease some of the core Python developers have at Cython's use of Python internals (in non-limited API mode).\r\n\r\nThis talk will start off by looking at the subject from the users' perspective:\r\n* Why you might want to use the Limited API (from Cython).\r\n* What kind of projects are likely to benefit from it (as far as it's ever possible to predict how people will use a tool...).\r\n* What you actually need to do to build a Cython module with the Limited API.\r\n* What the limitations and disadvantages are: there are some features that don't work, some features that only work in recent versions of Python, some speed costs, and complete forward-compatibility might not be all you hope it would be.\r\n\r\nWhen that \"general interest\" section is done, I plan to talk about some of the gory implementation details - what \"creative\" solutions have been employed to work around missing features or things the Limited API was never intended to do.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "DMLAZT", "name": "David Woods", "avatar": null, "biography": "Originally a Physical Chemist. Professionally, mainly works with C++ the moment. At EuroPython to talk about Cython for which I've been a contributor for a number of year.", "public_name": "David Woods", "guid": "a04b8600-2fe3-59ab-b53c-f07b2945d992", "url": "https://programme.europython.eu/europython-2024/speaker/DMLAZT/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/NAHJEU/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/NAHJEU/", "attachments": [{"title": "Slides", "url": "/media/europython-2024/submissions/NAHJEU/resources/Cython_Limited_API_LIuuPD2.pdf", "type": "related"}]}, {"guid": "d2ced6f4-6520-50a4-a636-d3cd7a468a6a", "code": "DEQKEY", "id": 46689, "logo": null, "date": "2024-07-12T11:20:00+02:00", "start": "11:20", "duration": "00:30", "room": "Forum Hall", "slug": "europython-2024-46689-move-the-python-ecosystem-to-the-stable-abi", "url": "https://programme.europython.eu/europython-2024/talk/DEQKEY/", "title": "Move the Python ecosystem to the stable ABI", "subtitle": "", "track": "Python Internals & Ecosystem (2024)", "type": "Talk", "language": "en", "abstract": "The Python C API is used to extend Python and make C libraries accessible in Python. The C API changes often forcing C extensions maintainers to update frequently their code. Also, new binary packages have to be build for each Python version. The stable ABI provides a more stable C API and only require to distribute a single binary package for all Python versions.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "LBHYNH", "name": "Victor Stinner", "avatar": "https://programme.europython.eu/media/avatars/LBHYNH_ZvloHq0.webp", "biography": "I am paid by Red Hat to maintain Python upstream (python.org) and downstream (RHEL and Fedora). Python core developer.", "public_name": "Victor Stinner", "guid": "9e9c999b-bc55-5089-a4a0-a158826189dd", "url": "https://programme.europython.eu/europython-2024/speaker/LBHYNH/"}], "links": [{"title": "Link to slides (PDF)", "url": "https://github.com/vstinner/talks/blob/main/2024-EuroPython/c-api.pdf", "type": "related"}], "feedback_url": "https://programme.europython.eu/europython-2024/talk/DEQKEY/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/DEQKEY/", "attachments": [{"title": "Slides", "url": "/media/europython-2024/submissions/DEQKEY/resources/c-api_VcIYosD.pdf", "type": "related"}]}, {"guid": "35a7d727-0373-5e48-bb8f-8679a61996e2", "code": "VFV7HU", "id": 46857, "logo": null, "date": "2024-07-12T11:55:00+02:00", "start": "11:55", "duration": "00:30", "room": "Forum Hall", "slug": "europython-2024-46857-tales-from-the-abyss-some-of-the-most-obscure-cpython-bugs", "url": "https://programme.europython.eu/europython-2024/talk/VFV7HU/", "title": "Tales from the abyss: some of the most obscure CPython bugs", "subtitle": "", "track": "Python Internals & Ecosystem (2024)", "type": "Talk", "language": "en", "abstract": "Working on one of the major programming languages surely is a lot of fun but sometimes very weird things happen. In these moments Python stops behaving like Python and you enter a new dimension where everything is possible. And debugging what's going on in this new world of weirdness is quite a daunting task given the size of the CPython codebase. In this talk you will learn some of the most obscure, mind-bending and difficult bugs that we faced when developing CPython and how we solve them. You will also learn all the advanced tips and tricks that we used to slay these dragons so you can fight similar monsters in your own codebases or if you want to contribute to CPython itself!", "description": null, "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 works in the Python Infrastructure team at the Software Infrastructure department at Bloomberg L.P. He 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 also has a cat who doesn't code.", "public_name": "Pablo Galindo Salgado", "guid": "86324274-444b-5af9-b4cc-eea823ce4091", "url": "https://programme.europython.eu/europython-2024/speaker/NLHSWB/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/VFV7HU/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/VFV7HU/", "attachments": []}, {"guid": "e43233ec-aa89-5a1a-98f2-8e078da221d0", "code": "9VFEQE", "id": 47406, "logo": null, "date": "2024-07-12T12:30:00+02:00", "start": "12:30", "duration": "00:30", "room": "Forum Hall", "slug": "europython-2024-47406-async-await-mastering-python-s-time-bending-tricks", "url": "https://programme.europython.eu/europython-2024/talk/9VFEQE/", "title": "Async Await: Mastering Python's Time-Bending Tricks", "subtitle": "", "track": "Python Internals & Ecosystem (2024)", "type": "Talk", "language": "en", "abstract": "Unlock the secrets of Python's async and await\u2014tools that let you bend time itself! \r\nIn this talk, we'll dive into the magic of asynchronous programming, making your code faster and more efficient. \r\n\r\nLearn to handle I/O-bound tasks like a pro, juggle multiple operations without breaking a sweat, and impress your peers with your newfound time-warping skills. \r\nPerfect for those ready to level up from mere mortals to Python sorcerers. \r\n\r\nPeople of all levels of experience are welcome, only requirement is curiosity and enthusiasm :)\r\nJoin us, and let\u2019s make time our playground!", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "CHTAPC", "name": "Bojan Miletic", "avatar": "https://programme.europython.eu/media/avatars/CHTAPC_7VO7ieh.webp", "biography": "Hi, I help 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.\r\n\r\nBy using #Python and #AWS as superpowers, I help you get real business value from your ML algorithms.\r\n\r\nAnd I happily consult your 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.", "public_name": "Bojan Miletic", "guid": "d85022b4-f2d8-5aa5-8682-d3f2df0dcd64", "url": "https://programme.europython.eu/europython-2024/speaker/CHTAPC/"}], "links": [{"title": "Slides", "url": "https://speakerdeck.com/yanbo/async-await-mastering-pythons-time-bending-tricks-europython2024", "type": "related"}], "feedback_url": "https://programme.europython.eu/europython-2024/talk/9VFEQE/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/9VFEQE/", "attachments": []}, {"guid": "39e12eda-b5cd-5105-9f22-f5e4b2091ac8", "code": "8FKHES", "id": 47384, "logo": null, "date": "2024-07-12T14:00:00+02:00", "start": "14:00", "duration": "00:30", "room": "Forum Hall", "slug": "europython-2024-47384-python-in-parallel-sub-interpreters-vs-nogil-vs-multiprocessing", "url": "https://programme.europython.eu/europython-2024/talk/8FKHES/", "title": "Python in Parallel: Sub-Interpreters vs. NoGIL vs. Multiprocessing", "subtitle": "", "track": "Python Internals & Ecosystem (2024)", "type": "Talk", "language": "en", "abstract": "In the realm of Python development, achieving parallelism and harnessing the full power of modern multi-core processors is challenging. Traditionally constrained by the Global Interpreter Lock (GIL), multi-threading was not useful for true parallelism in Python, hence developers turned into multi-processing. Now this is all changing with upcoming developments. \r\n-\tA new per-Interpreter GIL in Python 3.12 helps to facilitate true parallelism by opening up sub interpreters to run Python codes at the same time. In addition, it is going to be easier to use these features in Python 3.13 by having support for sub interpreters in the Stdlib.\r\n-\tAn upcoming compile option to disable-gil is opening a path to a world with NoGIL where Python threads can truly run in parallel. Which can potentially become the default in the upcoming years. \r\nMultiprocessing, sub-interpreters and multi-threading without GIL are all different ways of facilitating multi-core parallelism in Python. Each of these approaches offers a unique pathway to parallel execution, but comes with its own set of trade-offs, complexities, and suitability for different types of problems. During this talk we will explore each of these options and asses their pros and cons.\r\n\r\nWhether you're building CPU-bound high throughput applications, IO-bound services, or simply curious about the future of parallel processing in Python, this talk will help you with the knowledge to make informed decisions and leverage Python's parallel computing capabilities.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "CZVCVP", "name": "Samet Yaslan", "avatar": "https://programme.europython.eu/media/avatars/CZVCVP_tIzZnsh.webp", "biography": "Samet has been chairing the Python Standards Group at Optiver since 2021, with the mission of standardizing Python codebases by making best practices known to everyone in the company. He advocates for clean, simple, and well-tested code. He has earned his living using Python for more than 10 years and began participating in the open-source CPython project last year. He continues to contribute with new pull requests occasionally and really enjoys the opportunity to give back!", "public_name": "Samet Yaslan", "guid": "808f42d0-7209-58bc-b1e0-4bc970a8ca43", "url": "https://programme.europython.eu/europython-2024/speaker/CZVCVP/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/8FKHES/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/8FKHES/", "attachments": [{"title": "Slides", "url": "/media/europython-2024/submissions/8FKHES/resources/PythonInParallel_6ZSpTQ6.pdf", "type": "related"}]}, {"guid": "d44018b5-b6af-56e8-9dc3-d1c886aecd29", "code": "89RTNU", "id": 46501, "logo": null, "date": "2024-07-12T14:35:00+02:00", "start": "14:35", "duration": "00:30", "room": "Forum Hall", "slug": "europython-2024-46501-the-truth-about-objects", "url": "https://programme.europython.eu/europython-2024/talk/89RTNU/", "title": "The truth about objects", "subtitle": "", "track": "Python Internals & Ecosystem (2024)", "type": "Talk", "language": "en", "abstract": "\"Everything in Python is an object.\" This is a profound truth about Python, but what does it mean? Is literally EVERYTHING an object? And what is an object anyway? Are objects the same as instances of a class? How do classes and types really work in Python? And what do metaclasses have to do with anything?\r\n\r\nIn fact, the answers to these questions are probably not what you think they are - Python's approach to objects is different from most other languages in sometimes surprising ways. \r\n\r\nThis talk will use simple live coded examples to explore how objects work in Python and clear up several common misconceptions and misunderstandings about how objects and instances, classes and types, and metaclasses all work together. \r\n\r\nBe warned - you are likely to be surprised when you learn the truth about objects in Python.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "SM8RTE", "name": "Naomi Ceder", "avatar": "https://programme.europython.eu/media/avatars/SM8RTE_Ytjtjjd.webp", "biography": "Naomi Ceder earned a Ph.D in Classics several decades ago, but switched from ancient human languages to computer languages sometime in the last century. Since 2001, she has been learning, teaching, writing about, and using Python.\r\n\r\nAn elected fellow of the Python Software Foundation, Naomi is a past chair of its board of directors, and in 2022 became the seventh person selected to receive the PSF Distinguished Service Award. A founder of Trans*Code, a hackday centered on the trans and non-binary community, she also speaks internationally about the Python community and inclusion and diversity in technology in general.\r\nIn her spare time Naomi enjoys playing classical guitar.", "public_name": "Naomi Ceder", "guid": "f5bcefb9-2b5c-5ddf-9226-11752938c3f5", "url": "https://programme.europython.eu/europython-2024/speaker/SM8RTE/"}], "links": [{"title": "Slides", "url": "https://github.com/nceder/talks/blob/461558061eb9fe9b26dbc901daaeca37a3133717/Truth%20About%20Objects.ipynb", "type": "related"}], "feedback_url": "https://programme.europython.eu/europython-2024/talk/89RTNU/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/89RTNU/", "attachments": []}, {"guid": "e496a88f-66e8-5b3b-9f8c-6cda21579879", "code": "N9VDEQ", "id": 52681, "logo": null, "date": "2024-07-12T15:35:00+02:00", "start": "15:35", "duration": "00:45", "room": "Forum Hall", "slug": "europython-2024-52681-live-coding-music-with-pyrepl-in-python-3-13", "url": "https://programme.europython.eu/europython-2024/talk/N9VDEQ/", "title": "Live coding music with PyREPL in Python 3.13", "subtitle": "", "track": "Arts, Crafts Culture & Demos (2024)", "type": "Keynote", "language": "en", "abstract": "Have you heard we've got a nice new REPL in 3.13? Let's make some music with it in real time. You've had an intense conference. How about you sit back and relax and watch a music performance constructed before your very eyes? We'll be interacting with hardware synthesizers and drum machines, and even showing visualizations, but most importantly we will be writing Python, lots of Python. Consider it a demo of PyREPL and some other features of Python 3.13.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "YFCVFV", "name": "\u0141ukasz Langa", "avatar": "https://programme.europython.eu/media/avatars/YFCVFV_g7KtDtA.webp", "biography": "Failed comedian. CPython Developer in Residence. Wannabe musician. Python 3.8 & 3.9 release manager. Co-host of the core.py podcast. Original creator of Black. Dad.", "public_name": "\u0141ukasz Langa", "guid": "b50ee16d-ffa3-5d20-8788-9e816cdf3705", "url": "https://programme.europython.eu/europython-2024/speaker/YFCVFV/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/N9VDEQ/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/N9VDEQ/", "attachments": []}, {"guid": "683b2c7e-7d76-5fc9-ab8b-897a6e8a45a0", "code": "CWDS3S", "id": 51567, "logo": null, "date": "2024-07-12T16:25:00+02:00", "start": "16:25", "duration": "00:50", "room": "Forum Hall", "slug": "europython-2024-51567-lightning-talks-friday", "url": "https://programme.europython.eu/europython-2024/talk/CWDS3S/", "title": "Lightning talks Friday", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Enjoy Friday's lightning talks! Short talks about everything by everyone. Hosted by Elise Kasai and Mark Smith:\r\n\r\n- Welcome to Friday's Lightning Talks\r\n- Community Conference / Events Announcements & Celebration!\r\n- OpenFHE - Matrix Arithmetic Library \u2014 Sukanya Mandal\r\n- A mysterious case of distorted 3D models \u2014 Miro Hron\u010dok\r\n- How to ``from italia import \ud83e\udd0c`` \u2014 Ester Beltrami\r\n- How the cycle Garbage Collection works \u2014 Mark Shannon\r\n- A EuroPython Poem \u2014 Emma Cooke\r\n- Testing Hardware Specs with pytest \u2014 Thomas Ganahl\r\n- Presentation slides dos and don'ts \u2014 Reuven Lerner\r\n- Who wants to be a millionaire? \u2014 Rodrigo Gir\u00e3o Serr\u00e3o\r\n- Level Up Your Presentations with Better Screenshots \u2014 Rudolfs Berzins\r\n- Python C++ API with Nanobind \u2014 Fernando Pereira\r\n- ``self.optimize()`` to become a better programmer \u2014 Muzher Sharif", "description": null, "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/CWDS3S/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/CWDS3S/", "attachments": []}, {"guid": "ae2ac4b1-1aa7-5845-ac28-511552db177e", "code": "QVFRR7", "id": 52241, "logo": null, "date": "2024-07-12T17:15:00+02:00", "start": "17:15", "duration": "00:20", "room": "Forum Hall", "slug": "europython-2024-52241-sprint-orientation", "url": "https://programme.europython.eu/europython-2024/talk/QVFRR7/", "title": "Sprint orientation", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "What is a sprint? \r\nWhere are they going to take place?\r\nCan I even join? And how?\r\n\r\nLet us answer these questions and a few more in the Sprint orientation", "description": null, "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/QVFRR7/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/QVFRR7/", "attachments": []}, {"guid": "b3911516-0e80-53f3-bb0a-05bfda9483f3", "code": "T98SBK", "id": 52245, "logo": null, "date": "2024-07-12T17:35:00+02:00", "start": "17:35", "duration": "00:25", "room": "Forum Hall", "slug": "europython-2024-52245-closing-session", "url": "https://programme.europython.eu/europython-2024/talk/T98SBK/", "title": "Closing Session", "subtitle": "", "track": null, "type": "Announcements", "language": "en", "abstract": "That's it for the tutorial and talks. Thank you all and before we all use what we learned let's have a short recap.", "description": null, "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/T98SBK/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/T98SBK/", "attachments": []}], "Terrace 2A": [{"guid": "344de175-6c6c-54f0-9258-41c0ee65c622", "code": "Y9QS39", "id": 46787, "logo": null, "date": "2024-07-12T10:45:00+02:00", "start": "10:45", "duration": "00:30", "room": "Terrace 2A", "slug": "europython-2024-46787-fundamentals-of-retrieval-augmented-generation", "url": "https://programme.europython.eu/europython-2024/talk/Y9QS39/", "title": "Fundamentals of Retrieval Augmented Generation", "subtitle": "", "track": "PyData: LLMs (2024)", "type": "Talk", "language": "en", "abstract": "Retrieval Augmented Generation (RAG) has emerged in recent years as a popular technique at the crossroads of Information Retrieval and Natural Language Generation. It represents a promising new approach that combines the strengths of both retrieval-based systems and generative AI models, aiming to address the limitations of each, while enhancing their overall performance on document intelligence tasks. This talk will introduce the key frameworks, methodologies and advancements in RAG, exploring its ability to empower Large Language Models with a deeper comprehension of context, by leveraging pre-existing knowledge from external corpora. We will review the theoretical foundations, practical applications, and technical challenges associated with RAG, showcasing its potential to impact various fields, such as document summarization or database management. Through this talk, attendees will gain insights into the most relevant topics related to RAG, including token embedding, vector indexing and semantic similarity search.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "7G3T3F", "name": "Catalin Hanga", "avatar": "https://programme.europython.eu/media/avatars/7G3T3F_taFh6KU.webp", "biography": "Catalin Hanga (PhD) is a Data Scientist, currently working at the Open Innovation - AI Lab of Iveco Group in Switzerland. His main focus is research and development of advanced machine learning algorithms for solving technical or business problems in the automotive industry. His recent projects include designing a document intelligence chatbot based on Retrieval Augmented Generation, as well as implementing autonomous LLM agents using the ReAct framework. Prior to this, he briefly worked in a similar role for a startup in the insurtech industry. He has obtained a PhD in Mathematics from the University of York, UK, and holds an M.Sc. in Physics from the University of Bucharest, Romania. During his M.Sc. studies, he also worked as a researcher at CERN in Geneva, Switzerland, analyzing experimental data collected by the detectors of the Large Hadron Collider.", "public_name": "Catalin Hanga", "guid": "76509a18-dcad-51d0-8385-157a2f991e6c", "url": "https://programme.europython.eu/europython-2024/speaker/7G3T3F/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/Y9QS39/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/Y9QS39/", "attachments": [{"title": "talk slides", "url": "/media/europython-2024/submissions/Y9QS39/resources/Catalin_Hanga_-_Fundamentals_of_RAG_eRMRk9F.pdf", "type": "related"}]}, {"guid": "1f5d1320-d679-54fe-8027-4ba2fdec461f", "code": "PSLA9J", "id": 46673, "logo": null, "date": "2024-07-12T11:20:00+02:00", "start": "11:20", "duration": "00:30", "room": "Terrace 2A", "slug": "europython-2024-46673-representation-is-king-the-journey-to-quality-dialog-embeddings", "url": "https://programme.europython.eu/europython-2024/talk/PSLA9J/", "title": "Representation is King: The Journey to Quality Dialog Embeddings", "subtitle": "", "track": "PyData: LLMs (2024)", "type": "Talk", "language": "en", "abstract": "In natural language processing, embeddings are crucial for understanding textual data. In this talk, we\u2019ll explore sentence embeddings and their application in dialog systems. We'll focus on a use case involving the classification of dialogs.\r\n\r\nWe'll demonstrate the necessity of sentence transformers for this problem, specifically utilizing one of the top-performing small-sized sentence transformers. We will show how to fine-tune this model with both labeled and unlabeled dialog data, using the SentenceTransformers Python framework.\r\n\r\nThis talk is practical, packed with easy-to-follow examples, and aimed at building intuition around this topic. While some basic knowledge of Transformers would be beneficial, it is not required. Newcomers are also welcome.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "YJQTQN", "name": "Adam Z\u00edka", "avatar": "https://programme.europython.eu/media/avatars/YJQTQN_JS8SDIy.webp", "biography": "At Salted CX, my role as a Machine Learning engineer revolves around specializing in Natural Language Processing. Specifically, I utilize Transformer models to gain insights into the operations of contact centers, enhancing visibility and understanding. I hold an Engineering Doctoral (EngD) degree in Data Science from the Technical University of Eindhoven.", "public_name": "Adam Z\u00edka", "guid": "7505483c-379b-5df8-8790-89b128010f3a", "url": "https://programme.europython.eu/europython-2024/speaker/YJQTQN/"}], "links": [{"title": "Repo with the code", "url": "https://github.com/azikoss/europython24-dialog-embeddings", "type": "related"}], "feedback_url": "https://programme.europython.eu/europython-2024/talk/PSLA9J/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/PSLA9J/", "attachments": [{"title": "Slides", "url": "/media/europython-2024/submissions/PSLA9J/resources/EuroPython_24_The_Journey_To_Quality_Dialog_wwmgd58.pdf", "type": "related"}]}, {"guid": "b8665a07-c6f7-5761-8d7e-9166c6177a4c", "code": "R8UZNC", "id": 47007, "logo": null, "date": "2024-07-12T11:55:00+02:00", "start": "11:55", "duration": "00:30", "room": "Terrace 2A", "slug": "europython-2024-47007-which-llm-said-that-watermarking-generated-text", "url": "https://programme.europython.eu/europython-2024/talk/R8UZNC/", "title": "Which LLM said that? - watermarking generated text", "subtitle": "", "track": "PyData: LLMs (2024)", "type": "Talk", "language": "en", "abstract": "With the emergence of large generative language models there comes a problem of assigning the authorship of the AI-generated texts to its original source. This raises many concerns regarding eg. social engineering, fake news generation and cheating in many educational assignments. While there are several black-box methods for detecting if text was written by human or LLM they have significant issues. \r\n\r\nI will discuss how by watermarking you can equip your LLM with a mechanism that undetectable to human eye can give you the means of verifying if it was the true source of a generated text.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "T7ZJJ8", "name": "Adam Kaczmarek", "avatar": "https://programme.europython.eu/media/avatars/T7ZJJ8_VKRFqJm.webp", "biography": "I am a passionate Deep Learning specialist implementing cutting-edge research ideas in business projects, connecting best practices from research and engineering environments. My primary interest area is Natural Language Processing, but I've also worked in other ML-related domains. With a team from ReasonFIeld Lab I'm developing open-source all-in-one XAI library - FoXAI.", "public_name": "Adam Kaczmarek", "guid": "851887ff-ae70-5fb2-95a1-696c2e5b3b57", "url": "https://programme.europython.eu/europython-2024/speaker/T7ZJJ8/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/R8UZNC/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/R8UZNC/", "attachments": []}, {"guid": "e5152c2d-9bee-5ad8-8786-82813c37f307", "code": "GP8AMS", "id": 45524, "logo": null, "date": "2024-07-12T12:30:00+02:00", "start": "12:30", "duration": "00:30", "room": "Terrace 2A", "slug": "europython-2024-45524-those-annotations-can-have-things-other-than-typing", "url": "https://programme.europython.eu/europython-2024/talk/GP8AMS/", "title": "Those annotations can have things other than typing?!", "subtitle": "", "track": "Python Internals & Ecosystem (2024)", "type": "Talk", "language": "en", "abstract": "Annotating functions with typing information is commonplace nowadays. Annotations have become synonymous with typing information, even though they could be just about anything you\u2019d want. Are there use cases for function annotations other than typing? Is that useful? Should you care? Should you stop using typing?", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "BM73DH", "name": "Mattijs Ugen", "avatar": "https://programme.europython.eu/media/avatars/BM73DH_xuSq5O7.webp", "biography": "I'm a Python developer and data engineer at the Netherlands Forensic Institute \ud83c\uddf3\ud83c\uddf1. Passionate about the beauty, power and apparent simplicity of Python and love sharing it to anyone that's interested \ud83e\udd29.", "public_name": "Mattijs Ugen", "guid": "c63f85f9-1844-5d0b-a5e4-4060b87d018b", "url": "https://programme.europython.eu/europython-2024/speaker/BM73DH/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/GP8AMS/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/GP8AMS/", "attachments": []}, {"guid": "bd8f5c93-1fd4-548f-87f0-0753ab5e5585", "code": "KDH3J3", "id": 46686, "logo": null, "date": "2024-07-12T14:00:00+02:00", "start": "14:00", "duration": "00:30", "room": "Terrace 2A", "slug": "europython-2024-46686-mltraq-track-your-ml-ai-experiments-at-hyperspeed", "url": "https://programme.europython.eu/europython-2024/talk/KDH3J3/", "title": "MLtraq: Track your ML/AI experiments at hyperspeed", "subtitle": "", "track": "PyData: Research & Applications (2024)", "type": "Talk", "language": "en", "abstract": "Every second spent waiting for initializations and obscure delays hindering high-frequency logging, further limited by what you can track, an experiment dies. Wouldn\u2019t loading and starting tracking in nearly zero time be nice? What if we could track more and faster, even handling arbitrarily large, complex Python objects with ease?\r\n\r\nIn this talk, I will present the results of comparative benchmarks covering Weights & Biases, MLflow, FastTrackML, Neptune, Aim, Comet, and MLtraq. You will learn their strengths and weaknesses, what makes them slow and fast, and what sets MLtraq apart, making it 100x faster and capable of handling tens of thousands of experiments.\r\n\r\nThis presentation will not only be enlightening for those involved in AI/ML experimentation but will also be invaluable for anyone interested in the efficient and safe serialization of Python objects.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "ZKDDFP", "name": "Michele Dallachiesa", "avatar": "https://programme.europython.eu/media/avatars/ZKDDFP_gzziCQ0.webp", "biography": "Michele is an independent consultant specialising in de-risking AI applications. With two decades of experience building analytics and predictive models for robotics, publishing, decentralized finance, megaprojects management, and more. He holds a PhD in modelling and querying data with uncertainty. Connect with him on LinkedIn at https://www.linkedin.com/in/dallachiesa", "public_name": "Michele Dallachiesa", "guid": "649dc8ad-f867-541c-a8ba-4e8653828a25", "url": "https://programme.europython.eu/europython-2024/speaker/ZKDDFP/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/KDH3J3/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/KDH3J3/", "attachments": [{"title": "slides", "url": "/media/europython-2024/submissions/KDH3J3/resources/EuroPython_2024_MLtraq_VSqSvRZ.pdf", "type": "related"}]}, {"guid": "d2acce76-ad8b-5b6b-b741-893eaccfe17e", "code": "FYHQUE", "id": 46453, "logo": null, "date": "2024-07-12T14:35:00+02:00", "start": "14:35", "duration": "00:30", "room": "Terrace 2A", "slug": "europython-2024-46453-exploring-apache-iceberg-a-modern-data-lake-stack", "url": "https://programme.europython.eu/europython-2024/talk/FYHQUE/", "title": "Exploring Apache Iceberg: A Modern Data Lake Stack", "subtitle": "", "track": "PyData: Data Engineering (2024)", "type": "Talk", "language": "en", "abstract": "Bloomberg is a leading provider of financial data, with information spanning multiple decades. Handling and organizing these huge datasets can be challenging, with typical concerns including sluggish query performance, high storage costs, and data consistency problems.\r\nThis talk will describe how Apache Iceberg is revolutionizing big data management, offering ACID transactions, time travel, and seamless schema evolution that enable lightning-fast query performance and robust data consistency for even our largest workloads.\r\nThe session will introduce Apache Iceberg, an open-source table format that enables incremental updates, versioning, and schema evolution. The discussion will focus on how these features address common big data management challenges, improve query performance, and reduce storage costs. Finally, the session will outline how our Enterprise Data Lake Applications engineering team has harnessed the capabilities of Apache Iceberg (especially PyIceberg) to revolutionize our data management and analytical processing workflows.\r\nAttendees will be able to apply the best practices discussed in the talk to build better infrastructure for their growing data demands and spur innovation within their organization.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "NA8E8D", "name": "Gowthami Bhogireddy", "avatar": "https://programme.europython.eu/media/avatars/NA8E8D_8sHytQW.webp", "biography": "Gowthami Bhogireddy is a Software Engineer on the Bloomberg\u2019s Enterprise Data Lake team. She is leveraging distributed file systems, cloud table formats, and distributed query engines to build a data lake for historical financial data, which will empower clients to take full advantage of the company\u2019s Enterprise Data products. Her team has ingested, cleaned, and enriched a quadrillion data points into the data lake, which continues growing by at least hundreds of billions of new data points daily.", "public_name": "Gowthami Bhogireddy", "guid": "48acb772-3b07-5c46-b61a-36de44fe7dbf", "url": "https://programme.europython.eu/europython-2024/speaker/NA8E8D/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/FYHQUE/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/FYHQUE/", "attachments": [{"title": "Slides", "url": "/media/europython-2024/submissions/FYHQUE/resources/Final_PDF_EuroPython_Summit24_F2jHc2e.pdf", "type": "related"}]}], "Terrace 2B": [{"guid": "d6344183-315c-5d1f-ade9-f2976dd1c854", "code": "KBZTFP", "id": 46844, "logo": null, "date": "2024-07-12T10:45:00+02:00", "start": "10:45", "duration": "00:30", "room": "Terrace 2B", "slug": "europython-2024-46844-pep-683-immortal-objects-a-new-approach-for-memory-managing", "url": "https://programme.europython.eu/europython-2024/talk/KBZTFP/", "title": "PEP 683: Immortal Objects - A new approach for memory managing", "subtitle": "", "track": "Python Internals & Ecosystem (2024)", "type": "Talk", "language": "en", "abstract": "For most people that use Python, worrying about memory is not an issue. But that's not the case when you have to handle a lot of requests on a large scale. So how do you reduce memory consumption without affecting the CPU?\r\n\r\nIn this presentation I'll discuss about memory management in Python from the basics, where the necessity for PEP 683 came from, and the changes introduced by it. I also intend to discuss why this PEP is so important for the language, and what we'll be able to achieve with it in the future, such as changes to the GIL and true parallelism.\r\n\r\nThe talk is targeted for folks who are intermediate/advanced pythonistas. People who are just starting with Python (maybe less than 1.5 years) may feel a bit lost. Even so, curious learners are more than welcome to join, and I'll try my best to make it easy for all audiences on this advanced topic.\r\nAfter this presentation, participants will learn a bit more about how memory management works under the hood in python, and how it may change in the next couple of years.", "description": null, "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\u2019s 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": "4089a5d7-7199-5ce7-93ba-bc3371738e93", "url": "https://programme.europython.eu/europython-2024/speaker/PK8LSS/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/KBZTFP/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/KBZTFP/", "attachments": [{"title": "Slides for my presentation", "url": "/media/europython-2024/submissions/KBZTFP/resources/PEP_683_Immortal_Objects_-_A_new_approach_f_P2lBMkt.pdf", "type": "related"}]}, {"guid": "5b70fd63-b5d6-5403-a93d-d07ff2530e61", "code": "833AAG", "id": 46229, "logo": null, "date": "2024-07-12T11:20:00+02:00", "start": "11:20", "duration": "00:30", "room": "Terrace 2B", "slug": "europython-2024-46229-you-are-sharing-your-code-wrong-and-what-to-do-about-it", "url": "https://programme.europython.eu/europython-2024/talk/833AAG/", "title": "You are sharing your code wrong (and what to do about it)", "subtitle": "", "track": "Python Internals & Ecosystem (2024)", "type": "Talk", "language": "en", "abstract": "Everyone who writes also distributes Python code. The only reliable way to share Python code is by packaging it, any other way hurts your consumers. Packaging can be an intimidating topic most would rather avoid but following just a few best practices of packaging can make your code much easier to share, even without going through the process of uploading to pypi.org.", "description": null, "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": "493534ef-e898-58ca-9da9-0b1479b68b0e", "url": "https://programme.europython.eu/europython-2024/speaker/8YFYD9/"}], "links": [{"title": "Permanent link to slides", "url": "https://slides.ucodery.com/you-are-sharing-your-code-wrong/", "type": "related"}], "feedback_url": "https://programme.europython.eu/europython-2024/talk/833AAG/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/833AAG/", "attachments": []}, {"guid": "b35d58d4-7b89-5df8-a151-61db8d0e0549", "code": "SGUYQL", "id": 47010, "logo": null, "date": "2024-07-12T11:55:00+02:00", "start": "11:55", "duration": "00:30", "room": "Terrace 2B", "slug": "europython-2024-47010-tackling-thread-safety-in-python", "url": "https://programme.europython.eu/europython-2024/talk/SGUYQL/", "title": "Tackling Thread Safety in Python", "subtitle": "", "track": "Python Internals & Ecosystem (2024)", "type": "Talk", "language": "en", "abstract": "Thread safety is often overlooked when we start with Python for developing simple scripts. But the hidden monster will be unleashed when we try to run non-thread safe code in a multithreaded setup. \r\n\r\nWe will discuss the problems which can happen when seemingly good code is run in a multithreaded environment. We will walk over the concept of race coditions, how Python\u2019s GIL currently affects multithreading and will cover steps to fix thread unsafe code using synchronization primitives.", "description": null, "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 an experienced Backend Developer with expertise in architecting, building & deploying APIs, primarily using Python. He is the co-founder of Digievo Labs, a global technology firm. Adarsh started his Speaker journey by presenting at GraphQL Summit \u201822 and has presented at various Python conferences including Pycascades, Europython 2023, and Flaskcon.\r\n\r\nExplore his professional journey and insights on his [personal website](https://adarshd.dev) and [blog](https://blog.adarshd.dev).", "public_name": "Adarsh Divakaran", "guid": "0a5f0bcc-ec00-50b2-b5bb-47c87335d944", "url": "https://programme.europython.eu/europython-2024/speaker/ZP7QSM/"}, {"code": "WHLSXE", "name": "Jothir Adithyan", "avatar": "https://programme.europython.eu/media/avatars/WHLSXE_lRVm1PI.webp", "biography": null, "public_name": "Jothir Adithyan", "guid": "30914436-d6ec-5a6c-bc39-f50d27b177df", "url": "https://programme.europython.eu/europython-2024/speaker/WHLSXE/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/SGUYQL/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/SGUYQL/", "attachments": [{"title": "Talk slides", "url": "/media/europython-2024/submissions/SGUYQL/resources/EuroPython_-_Tackling_Thread_Safety_in_Pyth_dGbf2Vb.pdf", "type": "related"}]}, {"guid": "4cdbf550-c703-51b5-b663-33af4e8b156d", "code": "XLGEHC", "id": 46873, "logo": null, "date": "2024-07-12T12:30:00+02:00", "start": "12:30", "duration": "00:30", "room": "Terrace 2B", "slug": "europython-2024-46873-effective-strategies-for-disability-inclusion-in-open-source-communities", "url": "https://programme.europython.eu/europython-2024/talk/XLGEHC/", "title": "Effective Strategies for Disability Inclusion in Open Source Communities", "subtitle": "", "track": "Education, Community & Diversity (2024)", "type": "Talk", "language": "en", "abstract": "In today's world, where disability affects a significant percentage of the population, it is crucial for open-source communities to address the challenges faced by persons with disabilities (PWDs) and work towards their inclusion. This talk will delve into practical measures such as referral programs, internal disability disclosures, and integrating disability into existing agendas rather than treating it as a separate issue. We will dive into disability mainstreaming with a focus on its role in promoting universal design and inclusivity. Attendees will gain insights into establishing disability mainstreaming committees, formulating action plans, implementing best practices, and monitoring and evaluating progress.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "VULLQE", "name": "Brayan Kai Mwanyumba", "avatar": "https://programme.europython.eu/media/avatars/VULLQE_UKKiJyL.webp", "biography": "Brayan Kai is a Data Scientist Passionate about Communities, Technical Writing and Open-Source Advocacy.\r\nHe currently volunteers at different developer communities across Africa including Google Crowdsource, Open-Source Community Africa, She Code Africa, PyLadies Ghana and Dev Careers. All this owing to his strong passion for supporting fellow upcoming technologists, women in tech and advocating for inclusion and diversity. He calls this his personal mission.\r\nIt makes him happier, more balanced, and gives him a stronger sense of purpose to innovate, share, and teach in and with the community rather than just for it.", "public_name": "Brayan Kai Mwanyumba", "guid": "a5bedb96-b34b-5581-aacd-b3937a329247", "url": "https://programme.europython.eu/europython-2024/speaker/VULLQE/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/XLGEHC/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/XLGEHC/", "attachments": []}, {"guid": "c7f80add-02b3-59a8-ab0b-589e059160d6", "code": "7CJVKM", "id": 46879, "logo": null, "date": "2024-07-12T14:00:00+02:00", "start": "14:00", "duration": "00:30", "room": "Terrace 2B", "slug": "europython-2024-46879-streamlining-testing-in-a-large-python-codebase", "url": "https://programme.europython.eu/europython-2024/talk/7CJVKM/", "title": "Streamlining Testing in a Large Python Codebase", "subtitle": "", "track": "DevOps and Infrastructure (Cloud & Hardware) (2024)", "type": "Talk", "language": "en", "abstract": "Maintaining code quality through effective testing becomes increasingly challenging as codebases expand and developer teams grow. In our rapidly expanding codebase, we encountered common obstacles such as increasing test suite execution time, slow test coverage reporting and delayed test startup. By leveraging innovative strategies using open-source tools, we achieved remarkable enhancements in testing efficiency and code quality.\r\nChallenges Faced:\r\n- Test Suite Execution Time: The duration of test suite execution escalated significantly as we added more tests over time, hampering development speed.\r\n- Slow Test Startup: Complex test setup led to prolonged test startup times, impeding developer productivity.\r\n- Test Coverage Reporting Overhead: Coverage tools introduced substantial overhead and impacted test performance.\r\n\r\nSolutions Implemented:\r\n- Parallel Test Execution: We applied pytest-xdist to distribute tests across multiple runners, significantly reducing test suite execution time and enabling faster development iterations.\r\n- Optimized Test Startup: Pre-installing dependencies in a Docker image and utilizing Kubernetes for auto-scaling continuous integration runners helped expedite test startup times, improving developer efficiency. For local development, we used pytest-hot-reloading to reload tests fast after code editing.\r\n- Efficient Test Coverage Reporting: Customizing the coverage tool to collect data only on updated files of pull requests minimized overhead on test coverage reporting.\r\nAs a result, in the past year, our test case volume increased by 8000, test coverage was elevated to 85%, and Continuous Integration (CI) test duration was maintained under 15 minute", "description": null, "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 ZipHQ 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": "687a2d5f-3f54-5dd6-bb8f-f48c3f61d0c3", "url": "https://programme.europython.eu/europython-2024/speaker/7DHKEF/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/7CJVKM/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/7CJVKM/", "attachments": [{"title": "Slides", "url": "/media/europython-2024/submissions/7CJVKM/resources/EuroPython_2024_Streamlining_Testing_in_a_L_dL1DHRY.pdf", "type": "related"}]}, {"guid": "08727a06-4865-5bcf-a4c2-77c3602b250a", "code": "HX9ZWH", "id": 46910, "logo": null, "date": "2024-07-12T14:35:00+02:00", "start": "14:35", "duration": "00:30", "room": "Terrace 2B", "slug": "europython-2024-46910-building-event-driven-python-service-using-faststream-and-asyncapi", "url": "https://programme.europython.eu/europython-2024/talk/HX9ZWH/", "title": "Building Event-Driven Python service using FastStream and AsyncAPI", "subtitle": "", "track": "Python Libraries & Tooling (2024)", "type": "Talk", "language": "en", "abstract": "In this talk, we dive into the world of Event Driven Architecture and Message Streaming, using Python and FastStream. \r\n\r\nYou'll learn to integrate FastStream, a python framework, into your projects and leverage AsyncAPI to define contracts for asynchronous communication and event streaming. Through practical examples and insights, you'll discover the art of building scalable, responsive Python applications that thrive in real-time environments.\r\n\r\n\r\n#### About AsyncAPI\r\nAsyncAPI is an open standard/specification and growing set of open-source tools to help developers define, build, and maintain asynchronous APIs and Event-Driven Architectures. It describes message-driven APIs in a machine-readable format, and is protocol-agnostic.\r\n\r\n#### About FastStream\r\nFastStream is a powerful and easy-to-use Python framework for building asynchronous services interacting with event streams such as Apache Kafka, RabbitMQ, NATS and Redis. FastStream simplifies the process of writing producers and consumers for message queues, handling all the parsing, networking and documentation generation automatically. FastStream provides unified API across multiple brokers, built-in Pydantic validations, automatic AsyncAPI documentation, FastAPI like Dependency Injection System, built-in support for test and extensions.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "MZUEG3", "name": "Abhinand C", "avatar": "https://programme.europython.eu/media/avatars/MZUEG3_dVhy8k1.webp", "biography": "Abhinand C is a Product Engineer at Strollby, UST who loves to experiment with tech and build products for crafting a brighter future. At UST, he works on developing and scaling Python-based GraphQL micro-services.\r\nBeyond the office, Abhinand actively volunteers with Kerala Police Cyberdome & Trivandrum Python Community. He also nurtures personal hobby projects, and contributes to the open-source community. He even had the privilege of delivering talks at renowned conferences like EuroPython 2023, PyCon India, PyCon Thailand.", "public_name": "Abhinand C", "guid": "540d95a6-d052-5cc4-a512-e9035ad43d63", "url": "https://programme.europython.eu/europython-2024/speaker/MZUEG3/"}], "links": [{"title": "Talk Slides & Resources", "url": "https://github.com/abhinand-c/europython-2024-resources", "type": "related"}], "feedback_url": "https://programme.europython.eu/europython-2024/talk/HX9ZWH/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/HX9ZWH/", "attachments": []}], "North Hall": [{"guid": "cb6a968e-df0b-57a4-a550-4dd1e21af332", "code": "LXYWXR", "id": 45681, "logo": null, "date": "2024-07-12T10:45:00+02:00", "start": "10:45", "duration": "00:30", "room": "North Hall", "slug": "europython-2024-45681-test-java-and-c-applications-with-python", "url": "https://programme.europython.eu/europython-2024/talk/LXYWXR/", "title": "Test java and C applications with python", "subtitle": "", "track": "Testing and QA (2024)", "type": "Talk", "language": "en", "abstract": "Did you know that Python can be used to test foreign code, such as Java and C?\r\nThis enables writing tests for legacy code in a very few time, reducing development time and improving code coverage (e.g., using python frameworks to generate testcases for foreign code).\r\nIf you have C and Java services that communicates over the network, you can use python as a glue to anticipate some integration tests directly in python.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "VST3SV", "name": "Roberto Polli", "avatar": "https://programme.europython.eu/media/avatars/VST3SV_Y3I8e2B.webp", "biography": null, "public_name": "Roberto Polli", "guid": "3f8f9518-40eb-567e-b572-5462b1250447", "url": "https://programme.europython.eu/europython-2024/speaker/VST3SV/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/LXYWXR/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/LXYWXR/", "attachments": []}, {"guid": "7fa9aac5-c647-5acc-8bc0-27d53812b0f4", "code": "CCZPAF", "id": 46128, "logo": null, "date": "2024-07-12T11:20:00+02:00", "start": "11:20", "duration": "00:30", "room": "North Hall", "slug": "europython-2024-46128-adventures-in-not-writing-tests", "url": "https://programme.europython.eu/europython-2024/talk/CCZPAF/", "title": "Adventures in not writing tests", "subtitle": "", "track": "Software Engineering & Architecture (2024)", "type": "Talk", "language": "en", "abstract": "Sometimes we write code that we don't expect to go to production; they are one-offs or analysis to understand our data. However, a good analysis may be worth repeating, and before we know it, the code that was never supposed to go to production is running every day and driving critical decisions \u2013 it is in production. Once our code is in production, we have to maintain it, and that means we need tests to ensure that changes made to the code while maintaining it do not change other behavior.\r\n\r\nHypothesis is a Python library for creating inputs that are good for exercising code. Hypothesis tests create many different inputs for a single test case, with a special concentration on inputs that are likely to break your code. If the code was originally written to understand data, then new data we feed it over time could be very different from what was initially expected or planned for. With Hypothesis, we randomize our test outputs and they become just as unknown as our real-world outputs. Our tests then confirm certain properties to prove that the analysis was performed as expected.\r\n\r\nGhostwriting is a feature of Hypothesis that writes tests based on the type hints in your code. This can not only save time, but also validate our type hints. The savings in time and toil can be significant, but the ghostwritten tests do also need some additions to truly test our code. We'll look at what is needed to both generate proper inputs and check our outputs.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "WDWSNW", "name": "Andy Fundinger", "avatar": "https://programme.europython.eu/media/avatars/WDWSNW_lQkzoBY.webp", "biography": "Andy Fundinger is a senior engineer at Bloomberg, where he develops Python applications in the Data Gateway Platform team and supports Python developers throughout the firm through the company's Python Guild. Andy has spoken several times at PyGotham, as well as other conferences such as QCon, PyCaribbean, and EuroPython.\r\n\r\nIn the past, Andy has worked on private equity and credit risk applications, web services, and virtual worlds.  Andy holds a master's degree in engineering from Stevens Institute of Technology.", "public_name": "Andy Fundinger", "guid": "dba998ed-d4c5-5885-895a-33f0474a4abf", "url": "https://programme.europython.eu/europython-2024/speaker/WDWSNW/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/CCZPAF/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/CCZPAF/", "attachments": [{"title": "Slides", "url": "/media/europython-2024/submissions/CCZPAF/resources/Adventures_in_Not_Testing.slides_f5TUwWD.html", "type": "related"}]}, {"guid": "ab14c4e3-f85b-5612-8aa6-6e67a224c383", "code": "HBDW93", "id": 46766, "logo": null, "date": "2024-07-12T11:55:00+02:00", "start": "11:55", "duration": "00:30", "room": "North Hall", "slug": "europython-2024-46766-pytest-design-patterns", "url": "https://programme.europython.eu/europython-2024/talk/HBDW93/", "title": "Pytest Design Patterns", "subtitle": "", "track": "Testing and QA (2024)", "type": "Talk", "language": "en", "abstract": "Proper testing of your Python application doesn't require a rewrite into hexagonal architecture (whatever it means \ud83e\udd37). In this session, we'll explore battle-tested techniques to enhance the maintainability of your test suite.\r\n\r\n- **Embracing Well-Known Patterns**: The test client or transaction-bound tests are well-established patterns originating from Django. We will explore how to extend these foundational practices within pytest.\r\n- **Employing Fixture Factories**: How to ensure that our test data clearly cover the intended scenarios? Unpack the utility of fixture factories, streamlining the setup process.\r\n- **Mocking without Monkey Patching**: Learn effective mocking, steering clear of the problematic practice of monkey patching. We'll explore strategies to achieve accurate testing using favorite frameworks and libraries.\r\n- **Covering More with Parametrized Fixtures**: Many developers are familiar with pytest fixtures and parametrized tests, but may not be aware of the power of their combination: parametrized fixtures. Discover how to easily build more comprehensive tests.\r\n- **Rethinking Test Categorization**: The traditional division into unit and integration tests often falls short in practical application. We'll check an alternative approach that can better align with real-world scenarios.\r\n\r\nThe goal is not merely to report higher coverage but to have tests that can be trusted. By incorporating established patterns, you'll be empowered to focus on what truly matters.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "CNVAFW", "name": "Miloslav Pojman", "avatar": "https://programme.europython.eu/media/avatars/CNVAFW_YJ8aYgZ.webp", "biography": "Miloslav is an experienced software engineer with focus on data processing and web applications. \r\n\r\nHe is using Python since the version 2.4. EuroPython 2024 will be his third one in the speaker role.", "public_name": "Miloslav Pojman", "guid": "bb680c41-0ef2-5349-b543-f8b55a0725e4", "url": "https://programme.europython.eu/europython-2024/speaker/CNVAFW/"}], "links": [{"title": "Pytest Design Patterns - slides", "url": "https://pojman.cz/2024/pytest/", "type": "related"}], "feedback_url": "https://programme.europython.eu/europython-2024/talk/HBDW93/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/HBDW93/", "attachments": []}, {"guid": "0fe7383e-aaa2-50b4-9d84-e28badd95cc8", "code": "XPXYWD", "id": 46900, "logo": null, "date": "2024-07-12T12:30:00+02:00", "start": "12:30", "duration": "00:30", "room": "North Hall", "slug": "europython-2024-46900-python-observability-perfected-advanced-techniques-with-opentelemetry", "url": "https://programme.europython.eu/europython-2024/talk/XPXYWD/", "title": "Python Observability Perfected: Advanced Techniques with OpenTelemetry", "subtitle": "", "track": "Software Engineering & Architecture (2024)", "type": "Talk", "language": "en", "abstract": "In the evolving landscape of serverless and cloud technologies, Python stands out as a key player for building microservices. Yet, as these systems grow, tracking their performance and catching bugs become increasingly complex.\r\n\r\nThis presentation introduces OpenTelemetry, a rising standard that equips us with tools to monitor not just Python code but also vital components like databases and message queues. It's designed to blend seamlessly with Python, offering a unified method to collect, process, and share telemetry data across different parts of a distributed system.\r\n\r\nThis talk starts by discussing the importance of observability in modern distributed environments. Then, we'll dive into OpenTelemetry, focusing on its Python SDK's basics. We'll walk through a hands-on example, showing how to integrate OpenTelemetry into a Python project for automated and manual tracking.\r\n\r\nFinally, we'll explore how to leverage the insights gained from OpenTelemetry for more effective system monitoring, ensuring smoother operation and easier troubleshooting.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "Z7K9TP", "name": "Anton Caceres", "avatar": "https://programme.europython.eu/media/avatars/Z7K9TP_913x8sQ.webp", "biography": "I'm a passionate Python developer and event organizer, running a software agency in Munich. With a history of organizing PyCons and leading the PyMunich meetup, I'm also proud to be a Python Software Foundation fellow. My journey is all about continuous learning and knowledge sharing.", "public_name": "Anton Caceres", "guid": "a23f4c59-be33-5cf8-a073-42381f82ac2f", "url": "https://programme.europython.eu/europython-2024/speaker/Z7K9TP/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/XPXYWD/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/XPXYWD/", "attachments": []}, {"guid": "cfe3c7cd-2ae9-5004-8c1d-53afd1eb7d0c", "code": "YMMFGD", "id": 53320, "logo": null, "date": "2024-07-12T14:00:00+02:00", "start": "14:00", "duration": "00:30", "room": "North Hall", "slug": "europython-2024-53320-a-tale-of-scaling-observability", "url": "https://programme.europython.eu/europython-2024/talk/YMMFGD/", "title": "A Tale of Scaling Observability", "subtitle": "", "track": "DevOps and Infrastructure (Cloud & Hardware) (2024)", "type": "Talk", "language": "en", "abstract": "What it\u2019s like to keep the lights on in a rapidly growing business - how we\u2019ve scaled our metrics, logging and tracing beyond processing 50TB+ of telemetry a day, and what we\u2019ve learned along the way.\r\n\r\nDuring this session, we will discuss the challenges of scaling high load services, and give few pointers to developers to help your chosen open-source observebility tool function as a product.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "YLDGBX", "name": "Toomas Ormisson", "avatar": "https://programme.europython.eu/media/avatars/YLDGBX_lY3HMss.webp", "biography": "Pythonista and a YAML Engineer with 7 years of experience in building and maintaining Observability systems using Open-Source software and tools. \r\n\r\nToomas started his journey working as a technician in Data Centers, making his way to working as an Application Administrator and Sysadmin building & maintaining Metrics and Logging systems (Zabbix & Elasticsearch). During that time, he started writing monitoring scripts in Python, ending up in inheriting a NOC software that was written in Python - giving him an opportunity to learn more about software development in Python. \r\n\r\nIn 2018, Toomas ended up leaving his home country of Estonia for someone he met in Tinder to \"give love a chance\"...\r\n\r\nAs he moved to the UK, he worked in some devopsy roles in London and Oxford. In the end, when things didn't work out - he ended up moving to London - working for what he'd like to think of as an Estonian company.  \r\n\r\nIn London, he also met his current partner (in real life), who he's been together with for 3 years now.\r\n\r\nDuring his time in Wise he's been able to work on systems at scale, progress through engineering levels (IC2 - IC5) - pursuing an Individual Contributor track and focus on solving interesting engineering problems.\r\n\r\nAs their LinkedIn says - their job is to break stuff and build things...", "public_name": "Toomas Ormisson", "guid": "ffd9daf0-5611-5f9d-88a9-bf511ed5b7c7", "url": "https://programme.europython.eu/europython-2024/speaker/YLDGBX/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/YMMFGD/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/YMMFGD/", "attachments": []}, {"guid": "6e7e1216-e399-5d60-af73-fa62473a95b9", "code": "TBBKAM", "id": 46998, "logo": null, "date": "2024-07-12T14:35:00+02:00", "start": "14:35", "duration": "00:30", "room": "North Hall", "slug": "europython-2024-46998-encrypted-computing-in-python-using-openfhe", "url": "https://programme.europython.eu/europython-2024/talk/TBBKAM/", "title": "\u200b\u200bEncrypted computing in Python using OpenFHE", "subtitle": "", "track": "PyData: Research & Applications (2024)", "type": "Talk", "language": "en", "abstract": "Fully Homomorphic Encryption (FHE) is a privacy-enhancing technology that enables performing computations over encrypted data. FHE has recently seen a lot of progress, and commercial applications of FHE are now available. One of the main application domains for FHE is privacy-preserving machine learning. We introduce a Python interface for OpenFHE, a popular open-source FHE C++ software library that supports all common FHE schemes. OpenFHE is a NumFocus-sponsored open-source project that has been authored by a community of well-known FHE cryptographers and software engineers.The talk provides a high-level introduction to FHE and its applications, and then provides an overview of the Python API. Several examples are presented to both illustrate FHE concepts and show the practicality of the technology.\r\n\r\nMore information about the OpenFHE project: \r\n* Main website: https://www.openfhe.org/ ;\r\n* OpenFHE discourse forum: https://openfhe.discourse.group/ ;\r\n* Main OpenFHE repository: https://github.com/openfheorg/openfhe-development ;\r\n* OpenFHE organization: https://github.com/openfheorg ;\r\n* Main OpenFHE design paper: https://eprint.iacr.org/2022/915 ;", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "QCRLAF", "name": "Sukanya Mandal", "avatar": "https://programme.europython.eu/media/avatars/QCRLAF_SlRv5s1.webp", "biography": "Contributor to the OpenFHE project and Machine Learning Lead\r\n\r\nSukanya is an experienced Research Engineer and Tech Lead, specializing in driving innovation in the Data and AI field. She has led teams in developing Federated Learning use cases across various domains. Her work involves extensive research and development in Federated Learning and Edge AI, creating prototypes, solutions and architecting and developing data systems for diverse industrial domains.\r\n\r\nShe is also an organizing committee member of PyCon Ireland and led organizer of PyData Ireland.", "public_name": "Sukanya Mandal", "guid": "abdb0765-71b3-5e7f-a979-f0379d356b00", "url": "https://programme.europython.eu/europython-2024/speaker/QCRLAF/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/TBBKAM/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/TBBKAM/", "attachments": []}], "South Hall 2A": [{"guid": "e3d23169-eb59-5499-96b3-c77f0f19bf32", "code": "ZBBNS9", "id": 51663, "logo": null, "date": "2024-07-12T10:45:00+02:00", "start": "10:45", "duration": "00:30", "room": "South Hall 2A", "slug": "europython-2024-51663-lessons-learned-from-maintaining-open-source-python-projects", "url": "https://programme.europython.eu/europython-2024/talk/ZBBNS9/", "title": "Lessons learned from maintaining open-source Python projects", "subtitle": "", "track": "Python Libraries & Tooling (2024)", "type": "Sponsored", "language": "en", "abstract": "I started maintaining open source projects back in 2016 with tox. In 2018, I became a virtualenv maintainer. Today, this has now ballooned to 16 different packages where I'm the primary maintainer (+6 other projects where I help out). On average, these packages get more than 360 million downloads each month.\r\n\r\nIn this talk, I will share my experience, and explore how I manage to pull this off while also having a primary job and a family. I will present which techniques I tried, what worked, and what did not. I will also share my views on how one should approach maintaining an open source package to avoid burnout.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "EGPZKP", "name": "Bern\u00e1t G\u00e1bor", "avatar": "https://programme.europython.eu/media/avatars/EGPZKP_J87k0L4.webp", "biography": "Works at Bloomberg US on the data ingestion pipeline. Python Packaging Authority member, PSF fellow; maintaining tox, virtualenv, build, flit, pipx etc. See https://bernat.tech/about/ for a full list.", "public_name": "Bern\u00e1t G\u00e1bor", "guid": "a1f95312-e85c-5826-9a85-323f137124f8", "url": "https://programme.europython.eu/europython-2024/speaker/EGPZKP/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/ZBBNS9/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/ZBBNS9/", "attachments": []}, {"guid": "ecc44d47-a7e6-56eb-a6da-54811b78a340", "code": "39V7BK", "id": 52127, "logo": null, "date": "2024-07-12T11:20:00+02:00", "start": "11:20", "duration": "00:30", "room": "South Hall 2A", "slug": "europython-2024-52127-edges-of-python-three-radical-python-hacks-for-fun-and-profit", "url": "https://programme.europython.eu/europython-2024/talk/39V7BK/", "title": "Edges of Python: Three Radical Python Hacks for Fun and Profit", "subtitle": "", "track": "Software Engineering & Architecture (2024)", "type": "Sponsored", "language": "en", "abstract": "Building complex software projects is hard, but the fun part of doing it\r\nis that it often pushes you to find non-obvious solutions to problems\r\nwhich seem radical at first, yet almost obvious in hindsight.  In this\r\ntalk you learn some of the unusual Python tricks that we use at EdgeDB\r\nto write more efficient Python with fewer bugs, and which you can apply in\r\nyour project next time you need to scratch a similar itch.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "PMTLCY", "name": "Elvis Pranskevichus", "avatar": "https://programme.europython.eu/media/avatars/PMTLCY_D8FEjUZ.webp", "biography": "Elvis Pranskevichus is a co-founder and CTO of EdgeDB -- a Pythonic database. Before that Elvis co-founded MagicStack, a Toronto consulting company, best known for uvloop, asyncpg, httptools and many contributions to the Python async ecosystem.", "public_name": "Elvis Pranskevichus", "guid": "59b4ded5-a686-596f-bddd-bcec5f1a131e", "url": "https://programme.europython.eu/europython-2024/speaker/PMTLCY/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/39V7BK/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/39V7BK/", "attachments": []}, {"guid": "d9b8e19e-455c-59fe-a4de-0bfeeb2f9690", "code": "YEKGCH", "id": 52342, "logo": null, "date": "2024-07-12T11:55:00+02:00", "start": "11:55", "duration": "00:30", "room": "South Hall 2A", "slug": "europython-2024-52342-chdb-the-blazing-fast-sql-engine-for-data-science", "url": "https://programme.europython.eu/europython-2024/talk/YEKGCH/", "title": "chDB: The Blazing Fast SQL Engine for Data Science", "subtitle": "", "track": "PyData: Machine Learning, Stats (2024)", "type": "Sponsored", "language": "en", "abstract": "chDB, powered by the robust ClickHouse engine, is a high-performance in-process SQL engine designed for the Python data ecosystem. It supports direct interaction with databases like MySQL, PostgreSQL, SQLite, and MongoDB; streaming platforms such as Kafka; and key-value stores like Redis. With extensive support for various data sources and formats, chDB is highly adaptable to different data environments. It seamlessly integrates with structured formats like CSV and JSON as well as complex binary formats such as Parquet, Avro, and Arrow, enabling efficient data manipulation and analysis.\r\nThe engine is ANSI SQL compliant, ensuring broad compatibility with existing SQL codebases and facilitating easy integration into diverse data pipelines. This comprehensive SQL support includes complex querying capabilities, enhancing the engine's utility in sophisticated data analysis tasks. chDB is particularly designed to accommodate the rapid prototyping of applications, allowing developers to transition smoothly and quickly from development to production environments with minimal adjustments.\r\nWith its deep integration into Python, chDB interacts directly with popular Python libraries such as Pandas, NumPy, and others, streamlining the data science workflow. This integration enables direct data manipulation within Python scripts and notebooks, drastically reducing the need for data movement and conversion, thus accelerating the data analytics process.\r\nFor organizations and developers leveraging Python, chDB offers an unmatched combination of performance, flexibility, and ease of use, making it an invaluable tool for building efficient, scalable, and robust data-driven applications.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "TX8FQG", "name": "Auxten Wang", "avatar": "https://programme.europython.eu/media/avatars/TX8FQG_YrTa7jM.webp", "biography": "\ud83d\udc68\ud83c\udffb\u200d\ud83d\udcbb  Experience in ML, Database\r\nTechnical Director of ClickHouse core team\r\nFormer Principal Engineer @ Shopee (DB for RecSys)\r\n\r\n\u2764\ufe0f  Love Open Source!\r\nContributed to ClickHouse, Jemalloc, K8s, Memcached, CockroachDB, Superset\r\nCreator of chDB, CovenantSQL", "public_name": "Auxten Wang", "guid": "08bc172a-319e-5b35-b9b1-3bfd3c32c56e", "url": "https://programme.europython.eu/europython-2024/speaker/TX8FQG/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/YEKGCH/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/YEKGCH/", "attachments": []}, {"guid": "fd1b98ba-1d71-50c2-b848-8a4784bf5f3e", "code": "PYV9VD", "id": 53116, "logo": null, "date": "2024-07-12T12:30:00+02:00", "start": "12:30", "duration": "00:30", "room": "South Hall 2A", "slug": "europython-2024-53116-start-strong", "url": "https://programme.europython.eu/europython-2024/talk/PYV9VD/", "title": "Start strong!", "subtitle": "", "track": "Python Internals & Ecosystem (2024)", "type": "Talk", "language": "en", "abstract": "Starting new python projects should be fun, but often we get bogged down in the details and spend several weeks fine tuning our setup; Not to mention the unproductive time spent on discussions like:\r\n\r\n* oh, you are using `ruff`? I just use `black`!\r\n* how do you set up your dev environment?\r\n* what version of `superFramework` are you running?\r\n* can you please update your PR, the tests don't pass.\r\n\r\nLet's put a stop to it! We will go through a collection of tools and techniques you can use to set up your new project for success. What to look for and how to make sure you can hit the ground running.\r\n\r\nCovered tools/techniques:\r\nLinting, testing, CI, dependency management, editor config, and some more...", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "ECALAF", "name": "Honza Kr\u00e1l", "avatar": "https://programme.europython.eu/media/avatars/ECALAF_5EtmWJE.webp", "biography": "Honza has been a Python engineer for over 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": "0fa8ccbc-feb7-5965-b52c-7f5f724a10fb", "url": "https://programme.europython.eu/europython-2024/speaker/ECALAF/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/PYV9VD/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/PYV9VD/", "attachments": []}, {"guid": "589b386f-3c9f-59fa-88b0-7b787805207e", "code": "ZXXDBV", "id": 46742, "logo": null, "date": "2024-07-12T14:00:00+02:00", "start": "14:00", "duration": "00:30", "room": "South Hall 2A", "slug": "europython-2024-46742-neurodiversity-in-the-it-industry-why-do-you-need-to-know-more-about-it", "url": "https://programme.europython.eu/europython-2024/talk/ZXXDBV/", "title": "Neurodiversity in the IT industry. Why do YOU need to know more about it?", "subtitle": "", "track": "Education, Community & Diversity (2024)", "type": "Talk", "language": "en", "abstract": "Imagine discovering that your brain is equipped in a rare, niche operation system. No wonder the standard software does not suit your hardware and you keep encountering difficult situations\u2026 Once you discover it is just software incompatibility and you update the right app versions, the world starts being more comfortable! Unfortunately, few apps only have adapted versions.\r\nIt is estimated that neuroatypical people constitute even up to 15-20% of the population. According to \u201cthe geek syndrome hypothesis\u201d - autism, but also ADHD are likely to be common in people working in the IT industry. Neurodivergent people have a chance to become wonderful specialists and bring variety to the team thanks to a slightly different perception, special interests or ability to hyperfocus. Their presence can help introduce better practices such as clear communication and transparency. On the other hand, they are at risk of having various troubles in the world adapted to the neurotypical folk. \r\nThe author will present the current state of science on neurodiversity, the challenges faced by neurodivergent IT specialists and possible improvements to make the workplace more inclusive for everyone. As a neurodivergent advocate, an IT professional and a biologist with scientific mindset, she will combine her own life and career experience as a neuroatypical person with psychological knowledge which will create a unique perspective. The goal is to prove that neuroatypical people constitute a large part of the IT community and that even small actions can help meet their needs - and not only make their life easier, but also add more creativity to IT teams!", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "9DPWBC", "name": "Amelia Walter-Dzikowska", "avatar": "https://programme.europython.eu/media/avatars/9DPWBC_URYfvjo.webp", "biography": "QA & test automation engineer, trainer, mentor, speaker & social media content creator. Currently integration test specialist in a large banking project at JIT Team. So far she has worked in three human languages (Polish, English, French), with three different programming languages and in approximately ten projects for various industries. A multipotentialite fascinated by numerous topics, a tester of various learning methods loving to share her experiences. A neurodiversity advocate, an aspiring polyglot, a fan of psychology and dance.", "public_name": "Amelia Walter-Dzikowska", "guid": "3c439826-56d5-5799-98db-3ae65dfa3787", "url": "https://programme.europython.eu/europython-2024/speaker/9DPWBC/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/ZXXDBV/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/ZXXDBV/", "attachments": [{"title": "Slides", "url": "/media/europython-2024/submissions/ZXXDBV/resources/EuroPython_2024_SCU8RlQ.pdf", "type": "related"}]}, {"guid": "a8d6a1a2-2f12-5399-a9a9-c91fb04e7590", "code": "N7ZC9X", "id": 46135, "logo": null, "date": "2024-07-12T14:35:00+02:00", "start": "14:35", "duration": "00:30", "room": "South Hall 2A", "slug": "europython-2024-46135-from-diamonds-to-mixins-demystifying-multiple-inheritance-in-python", "url": "https://programme.europython.eu/europython-2024/talk/N7ZC9X/", "title": "From Diamonds to Mixins: Demystifying Multiple Inheritance in Python", "subtitle": "", "track": "Python Internals & Ecosystem (2024)", "type": "Talk", "language": "en", "abstract": "Most Python programmers are probably aware that Python supports multiple inheritance. However, few are likely to be aware of its implications and inner workings. This talk aims to shed light on this commonly overlooked topic. \r\n\r\nIn the first part of the talk we will start by reviewing the \u201cdiamond problem,\u201d where a class inherits from two classes that have a common ancestor, and contrast how this issue is handled in Python compared to other object oriented languages. Next, we will discuss the Method Resolution Order (MRO) to see how Python determines the sequence in which classes are considered when searching for a method or attribute. We will also review the use of the `super()` function that allows a subclass to call a method from its superclass in a way that adheres to the MRO.\r\n\r\nDuring the second part of the talk, we will explore real-world scenarios related to the benefits,  problems, and alternatives of using multiple inheritance in our programs. We will dedicate some time to examining the concept of a _mixin_ and how to implement it effectively in Python. Finally, we will delve into the _Interface Segregation Principle_ and explore collaboration and composition as mechanisms for avoiding the pitfalls of inheritance in general.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "QRQDV3", "name": "Ariel Ortiz", "avatar": "https://programme.europython.eu/media/avatars/QRQDV3_K4g58Xc.webp", "biography": "Ariel Ortiz is a programming languages geek. Since 1994, he\u2019s been a full time faculty member at the Tecnol\u00f3gico de Monterrey in Mexico, where he has been involved mainly in teaching undergraduate computer science courses. His first encounter with Python was back in 2001, and since then he has used it in several of his classes, including: CS1, Data Structures, Web Development, Design Patterns, Programming Languages, and Compiler Design. He\u2019s an active member of ACM\u2019s special interest group on computer science education (SIGCSE) and the main author of the Spanish language websites [EduPython](https://edupython.blogspot.com/) and [RIP3](https://arielortiz.info/rip3/).", "public_name": "Ariel Ortiz", "guid": "d64121fc-0d3e-5065-a68b-3c126285fc2f", "url": "https://programme.europython.eu/europython-2024/speaker/QRQDV3/"}], "links": [{"title": "GitHub Source Code Repository", "url": "https://github.com/ariel-ortiz/europython2024/", "type": "related"}], "feedback_url": "https://programme.europython.eu/europython-2024/talk/N7ZC9X/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/N7ZC9X/", "attachments": [{"title": "Presentation Slides", "url": "/media/europython-2024/submissions/N7ZC9X/resources/multiple_inheritance_oHsThTY.pdf", "type": "related"}]}], "South Hall 2B": [{"guid": "547a95f7-2c97-5706-9644-26f86756e206", "code": "HSZBDG", "id": 47006, "logo": null, "date": "2024-07-12T10:45:00+02:00", "start": "10:45", "duration": "00:30", "room": "South Hall 2B", "slug": "europython-2024-47006-insights-and-experiences-of-packaging-python-binary-extensions", "url": "https://programme.europython.eu/europython-2024/talk/HSZBDG/", "title": "Insights and Experiences of Packaging Python Binary Extensions", "subtitle": "", "track": "Software Engineering & Architecture (2024)", "type": "Talk", "language": "en", "abstract": "In the domain of scientific and high-performance computing (HPC), software packages are primarily written in compiled languages such as C, C++, and Fortran, complemented by end-user APIs implemented in Python. Such packages frequently incorporate CPU-specific code (e.g. SIMD extensions) and utilise GPU-specific programming models, such as OpenMP and CUDA, to achieve enhanced performance. Despite the recent proliferation of build backends for creating pure Python packages, the distribution of Python packages containing binary extensions poses a unique set of challenges and currently lacks a standardised solution. In this talk, I will share insights and experiences gained from building portable and performant Python wheels for a set of computational neuroscience projects, aiming for compatibility and usage across a diverse of compute platforms, from desktop to large compute clusters.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "JGU3GX", "name": "Goran Jelic-Cizmek", "avatar": null, "biography": "After several years of being a researcher in cosmology and using Python for studying the large-scale structure of the Universe, I've since moved to the exciting world of high-performance computing, and am currently working on improving software in the computational neuroscience domain at EPFL's Blue Brain Project.", "public_name": "Goran Jelic-Cizmek", "guid": "3b773d1b-2992-5d16-bee6-2a238e451051", "url": "https://programme.europython.eu/europython-2024/speaker/JGU3GX/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/HSZBDG/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/HSZBDG/", "attachments": [{"title": "Presentation slides", "url": "/media/europython-2024/submissions/HSZBDG/resources/Goran_Jelic-Cizmek_EuroPython_2024_MczVUjd.pptx", "type": "related"}]}, {"guid": "e02fc144-9385-519f-bf6b-03a39d29bf53", "code": "JAKMRZ", "id": 46693, "logo": null, "date": "2024-07-12T11:20:00+02:00", "start": "11:20", "duration": "00:30", "room": "South Hall 2B", "slug": "europython-2024-46693-automatic-trusted-publishing-with-pypi", "url": "https://programme.europython.eu/europython-2024/talk/JAKMRZ/", "title": "Automatic trusted publishing with PyPI", "subtitle": "", "track": "Security (2024)", "type": "Talk", "language": "en", "abstract": "PyPI added support for \u201cTrusted Publishing\u201d last year, allowing package maintainers to create releases directly from their GitHub Actions pipelines without having to worry about token management. Trusted Publishing removes long-lived API tokens from the equation, removing a threat vector for supply chain attacks.\r\nIn this talk, we\u2019ll go through the details of how this works, how maintainers can easily take advantage of it with minimal changes to their existing setup, and the ongoing effort in the last 12 months to add support for publishers other than GitHub, such as GitLab, Google, and ActiveState.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "QAEYKQ", "name": "Facundo Tuesca", "avatar": "https://programme.europython.eu/media/avatars/QAEYKQ_TRiwL9J.webp", "biography": "I'm a Senior Security Engineer at Trail of Bits, currently focused on improving open-source ecosystem security, mainly through contributions to foundational packages in the Python ecosystem.", "public_name": "Facundo Tuesca", "guid": "318a021f-6a88-53d6-b9b1-afcd2be1895c", "url": "https://programme.europython.eu/europython-2024/speaker/QAEYKQ/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/JAKMRZ/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/JAKMRZ/", "attachments": [{"title": "Automatic trusted publishing with PyPI - EuroPython 2024", "url": "/media/europython-2024/submissions/JAKMRZ/resources/Automatic_trusted_publishing_with_PyPI_-_Eu_oXYLzh6.pdf", "type": "related"}]}, {"guid": "dd8a20cc-3e8a-519d-b666-272ed9acab37", "code": "GGWUNA", "id": 46797, "logo": null, "date": "2024-07-12T11:55:00+02:00", "start": "11:55", "duration": "00:30", "room": "South Hall 2B", "slug": "europython-2024-46797-it-s-happening-tuf-joins-pypi-warehouse", "url": "https://programme.europython.eu/europython-2024/talk/GGWUNA/", "title": "It\u2019s happening: TUF joins PyPI (Warehouse)", "subtitle": "", "track": "Security (2024)", "type": "Talk", "language": "en", "abstract": "The Update Framework (TUF) has been a prime reference for secure package delivery and updates for many years. Despite its popularity, integrating with existing package managers remains challenging.\r\n\r\nPEP 458 is a very good example of some of the related challenges. Authored a decade ago, it aims to protect the freshness, consistency, and integrity of packages in the Python Packaging Index (PyPI) and provide compromise resilience. Even though these goals remain largely unaddressed, PEP 458 has not made its way into production yet!\r\n\r\nWith Repository Service For TUF (RSTUF), a new tool has emerged, which makes implementing and maintaining a TUF-powered package repository a black box to the repository maintainers and which has become mature enough to kick off an incremental integration in Warehouse and RubyGems.\r\n\r\nIn this talk, Kairo, RSTUF's tech lead, and Lukas, TUF project maintainer, will show how RSTUF has evolved and allowed us to take a big leap towards adopting TUF in Warehouse and elsewhere. Primers on TUF, PEP 458, and Warehouse will be included.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "H3JGWN", "name": "Lukas P\u00fchringer", "avatar": null, "biography": "Lukas P\u00fchringer is a research engineer at the NYU Center for Cyber Security (CCS), where he leads the development of The Update Framework (TUF), and has been co-maintaining several of Prof. Justin Cappos\u2019 software projects, most notably the supply chain security framework in-toto. Lukas also supervises students and gives talks about TUF and in-toto.", "public_name": "Lukas P\u00fchringer", "guid": "3ba78aef-f5ec-5c64-8520-b15c8ff4e293", "url": "https://programme.europython.eu/europython-2024/speaker/H3JGWN/"}, {"code": "CWBGXL", "name": "Kairo de Araujo", "avatar": null, "biography": "Kairo is a new Senior Open Source Engineer at TestifySec. He contributed to python-tuf and is the author of Repository Service for TUF (RSTUF). Prior roles include Senior Open Source Software Engineer at VMware Open Source Program Office (OSPO), Senior Software Engineer at IBM, ING, and Forescout.", "public_name": "Kairo de Araujo", "guid": "359d59ad-ab77-5dd4-a114-f8a4f3eeb6b3", "url": "https://programme.europython.eu/europython-2024/speaker/CWBGXL/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/GGWUNA/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/GGWUNA/", "attachments": [{"title": "Slides", "url": "/media/europython-2024/submissions/GGWUNA/resources/EuroPython_2024_-_Its_happening__TUF_joins__rSZZWJ3.pdf", "type": "related"}]}, {"guid": "2a795b1f-59b5-5366-b5cd-29bba9eed68c", "code": "XYXR3L", "id": 47430, "logo": null, "date": "2024-07-12T12:30:00+02:00", "start": "12:30", "duration": "00:30", "room": "South Hall 2B", "slug": "europython-2024-47430-navigating-tech-leadership-challenges-and-strategies", "url": "https://programme.europython.eu/europython-2024/talk/XYXR3L/", "title": "Navigating Tech Leadership: Challenges and Strategies", "subtitle": "", "track": "Career, Life, Health (2024)", "type": "Talk", "language": "en", "abstract": "Join us for a discussion on navigating tech leadership roles in the dynamic world of technology. \r\n\r\nIn this talk, we will explore the essence of managerial roles in the tech industry, examining the unique challenges faced by leaders at different levels. We'll discuss the critical decision every developer must make regarding balancing or giving up hands-on expertise with management responsibilities, as well as the challenges of transitioning from a primarily technical role to a managerial position.\r\n\r\nAdditionally, we'll explore the challenges that managees may face when led by managers and tech leads who may lack management training or experience. We'll also discuss strategies for fostering a more inclusive and supportive engineering culture overall.\r\n\r\nLet's talk about management in tech from the perspective of a tech lead that identifies as a woman.", "description": null, "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.\r\n\r\nCurrently she is working as a Lead Backend Engineer at Kraken Tech.\r\n\r\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": "f41259d4-f9f1-52f9-9a68-5d974d4457e7", "url": "https://programme.europython.eu/europython-2024/speaker/QQSVVM/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/XYXR3L/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/XYXR3L/", "attachments": []}, {"guid": "5a37a08d-d03a-56b2-a191-cf8659be88f2", "code": "HZSGYK", "id": 46502, "logo": null, "date": "2024-07-12T14:00:00+02:00", "start": "14:00", "duration": "00:30", "room": "South Hall 2B", "slug": "europython-2024-46502-the-imposter-staff-engineer-s-journey-to-leadership", "url": "https://programme.europython.eu/europython-2024/talk/HZSGYK/", "title": "The Imposter Staff Engineer\u2019s Journey to Leadership", "subtitle": "", "track": "Career, Life, Health (2024)", "type": "Talk", "language": "en", "abstract": "I, an undercover Imposter Syndrome sufferer, masquerade as a Staff Software Engineer amid an army of coding geniuses. Imagine you're playing a video game where you're pretending to be a powerful leader, but deep down, you're convinced you're not really good enough. That's my daily life as a staff software engineer leading a team, except it's not a game, and the 'quit' button doesn't work. In this talk, I'll tell you about my hilarious misadventures and unexpected triumphs in the rollercoaster ride of being a staff software engineer and how my team still manages to create cool things despite my 'imposter' moments.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "VLWVB9", "name": "Manivannan Selvaraj", "avatar": "https://programme.europython.eu/media/avatars/VLWVB9_jStzz9H.webp", "biography": "I am a software engineer with experience of working with IT companies in Silicon Valley, USA (Salesforce, Slack, PayPal). After spending about eight years contributing and leading various projects in the USA, I have recently relocated back to India. Currently, I am taking a career break to adjust to the relocation and recharge myself before embarking on my next professional adventure.\r\n\r\nMy day job involved dealing with imposter syndrome among an army of coding geniuses at Slack and perform as a Staff Engineer on the side. I've expertise in architecting and delivering large-scale systems in public and private clouds, leveraging technologies like Python, Java, GoLang, Chef, Terraform, Kubernetes, Docker, Apache Mesos, and Aurora. I love open source software and contribute to it whenever I get a chance.", "public_name": "Manivannan Selvaraj", "guid": "efe32470-3e4e-523f-b9c6-ccf0581f53a4", "url": "https://programme.europython.eu/europython-2024/speaker/VLWVB9/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/HZSGYK/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/HZSGYK/", "attachments": []}, {"guid": "e7bc6d15-5ec7-5e7b-810e-bc3934021a50", "code": "WBFDNJ", "id": 46606, "logo": null, "date": "2024-07-12T14:35:00+02:00", "start": "14:35", "duration": "00:30", "room": "South Hall 2B", "slug": "europython-2024-46606-how-i-used-pgvector-and-postgresql-to-find-pictures-of-me-at-a-party", "url": "https://programme.europython.eu/europython-2024/talk/WBFDNJ/", "title": "How I used pgvector and PostgreSQL\u00ae to find pictures of me at a party", "subtitle": "", "track": "Python Libraries & Tooling (2024)", "type": "Talk", "language": "en", "abstract": "Nowadays, if you attend an event you're bound to end up with a catalogue of photographs to look at. Formal events are likely to have a professional photographer, and modern smartphones mean that it's easy to make a photographic record of just about any gathering. It can be fun to look through the pictures, to find yourself or your friends and family, but it can also be tedious.\r\n\r\nAt our company get-together earlier in the year, the photographers did indeed take a lot of pictures. Afterwards the best of them were put up on our internal network - and like many people, I combed through them looking for those in which I appeared (yes, for vanity, but also with some amusement).\r\n\r\nIn this talk, I'll explain how to automate finding the photographs I'm in (or at least, mostly so). I'll walk through Python code that extracts faces using OpenCV, calculates vector embeddings using imgbeddings and OpenAI, and stores them in PostgreSQL\u00ae using pgvector. Given all of that, I can then make an SQL query to find which pictures I'm in.\r\n\r\nPython is a good fit for data pipelines like this, as it has good bindings to machine learning packages, and excellent support for talking to PostgreSQL.\r\n\r\nYou may be wondering why that sequence ends with PostgreSQL (and SQL) rather than something more machine learning specific. I'll talk about that as well, and in particular about how PostgreSQL allows us to cope when the amount of data gets too large to be handled locally, and how useful it is to be able to relate the similarity calculations to other columns in the database - in our case, perhaps including the image metadata.", "description": null, "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/tibs). My favourite programming language is Python, my favourite markup language is reStructuredText, my favourite storage technologies are SQLite, PostgreSQL and Valkey, and I'm rather enthusiastic about Apache Kafka as a messaging system.\r\nFind out more about my past at https://www.tonyibbs.co.uk/", "public_name": "Tibs", "guid": "8ebe8f96-689b-58d4-92f1-6069668c5538", "url": "https://programme.europython.eu/europython-2024/speaker/8YEPUD/"}], "links": [{"title": "URL for the source code, slides and extended notes", "url": "https://github.com/Aiven-Labs/pgvector-find-faces-talk", "type": "related"}, {"title": "Directl link to PDF notes", "url": "https://github.com/Aiven-Labs/pgvector-find-faces-talk/blob/main/slides/notes.pdf", "type": "related"}, {"title": "Direct link to PDF slides", "url": "https://github.com/Aiven-Labs/pgvector-find-faces-talk/blob/main/slides/slides-16x9.pdf", "type": "related"}], "feedback_url": "https://programme.europython.eu/europython-2024/talk/WBFDNJ/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/WBFDNJ/", "attachments": []}], "Main Hall A": [{"guid": "25b3b62b-c606-5d51-974f-d13aa9d33803", "code": "JRGVQM", "id": 46636, "logo": null, "date": "2024-07-12T13:00:00+02:00", "start": "13:00", "duration": "01:00", "room": "Main Hall A", "slug": "europython-2024-46636-social-media-and-sentimental-analysis-cbn-currency-redesign-policy", "url": "https://programme.europython.eu/europython-2024/talk/JRGVQM/", "title": "Social Media and Sentimental Analysis: CBN Currency Redesign Policy", "subtitle": "", "track": "PyData: Machine Learning, Stats (2024)", "type": "Poster", "language": "en", "abstract": "The identification and measurement of an online audience through the social media platform capitalise on the tonality of emotions on the social media presence. On October 20, the most populous country and acclaimed Africa\u2019s largest economy, Nigeria announced the plans to redesign 200, 500 and 1000 banknotes in replacement of the existing ones. Nigerian citizens expressed different opinions over social media in support of or understanding of the proposed plan and process. Research has shown that shared sentiments on social media can influence the opinions of others and thus the Central Bank of Nigeria's currency redesign policy. This study, therefore, aimed to identify and analyse general sentiments towards the process of the currency redesign policy with the purpose of determining the citizen's attitude towards the policy, based on social media comments. Firstly, sentiment analysis was performed on naira redesign-related posts from a selected social media using lexicon-based and supervised machine learning techniques with the purpose of determining a summarised polarity percentage (i.e. negative or positive). The post was collected between January and February 2023. In addition, the performance of the lexicon-based classifier and seven machine learning-based classifiers was implemented and compared in order to use the best-performing classifier in determining the sentiment polarity of the post. Also, the thematic analysis on both positive and negative posts to further understand and revealed general views about the currency redesign policy. Finally, the analytical findings and the possibility of changing the currency redesign policy was discussed.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "DGMZXX", "name": "Oladapo Kayode Abiodun", "avatar": "https://programme.europython.eu/media/avatars/DGMZXX_Z1UFdxj.webp", "biography": "Kayode Abiodun, Oladapo (PhD) is currently a lecturer of Computer Science at McPherson University, Ogun State, Nigeria. He has a Diploma in Computer Data Processing from Ogun State University (2003); a BSc in Computer with Statistics from Olabisi Onabanjo University (2008); a Postgraduate Diploma in Education from Usman Dan Fodio University (2012); an MSc in Business Administration with specialization in Operations Research from University of Lagos (2015); MSc in Information Technology from National Open University (2016) and PhD (2021) from Babcock University, Ilisan-Remo, Ogun State. He also acquired various online certificates to his credit. \r\nVisit here for more details: https://sites.google.com/view/kayodeabiodunoladapo", "public_name": "Oladapo Kayode Abiodun", "guid": "f8afff8a-94cb-5505-a438-4d78affb6e2a", "url": "https://programme.europython.eu/europython-2024/speaker/DGMZXX/"}, {"code": "GXFDLW", "name": "Akinbo Racheal Shade", "avatar": "https://programme.europython.eu/media/avatars/GXFDLW_GNmMTvu.webp", "biography": "My name is Akinbo Racheal, an author, writer, and researcher. I Possess a Master's Degree in Computer Science and currently pursuing my Ph.D. in Computer Science at the Federal University of Technology Akure Ondo State Nigeria. \r\nMy professional goals lie in my ability to become a stand-out female Professor in Computer Science, lecturer, solution developer and research scientist applying problem-solving technologies to make a difference in the lives of students, institutions, communities and my nation at large.\r\nI am a high flyer and achiever with strong presentation skills and a responsible person. I also have excellent oral and communication skills with independent and creative working skills.", "public_name": "Akinbo Racheal Shade", "guid": "e131ed9c-f673-57d1-a42b-528b48877102", "url": "https://programme.europython.eu/europython-2024/speaker/GXFDLW/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/JRGVQM/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/JRGVQM/", "attachments": []}], "Main Hall B": [{"guid": "1ffb1955-d0b7-5d84-b69b-4aee73333219", "code": "JJAKNR", "id": 46826, "logo": null, "date": "2024-07-12T13:00:00+02:00", "start": "13:00", "duration": "01:00", "room": "Main Hall B", "slug": "europython-2024-46826-virus-mvp-using-dash-and-plotly-to-visualize-viral-mutations-by-lineage", "url": "https://programme.europython.eu/europython-2024/talk/JJAKNR/", "title": "VIRUS-MVP: using Dash and Plotly to visualize viral mutations by lineage", "subtitle": "", "track": "PyData: Research & Applications (2024)", "type": "Poster", "language": "en", "abstract": "During the COVID-19 pandemic, public health researchers have tracked viral genomic mutations to better understand changes in disease severity and transmissibility. The mutation data is often inside large textual files, generated by bioinformatics workflows. Our team developed one such workflow in Python: nf-ncov-voc, which outputs large tabular datasets describing mutation frequencies and locations. To aid researchers in processing and analyzing the datasets, we also developed VIRUS-MVP: a web application that visually summarizes multiple nf-ncov-voc datasets in a single heatmap.\r\n\r\nVisually analyzing aggregated mutation data through VIRUS-MVP helps identify links between multiple mutations and distinct virus lineages, including lineages labeled as \u201cvariants of concern\u201d. VIRUS-MVP has several interactive features to expedite these analyses, including the ability to jump across genes, search for mutations by name, and toggle mutations by frequency. VIRUS-MVP also annotates mutations with known functions impacting disease severity or transmissibility.\r\n\r\nWe developed VIRUS-MVP using the Python libraries Plotly and Dash. We selected these libraries to streamline development efforts, as Plotly is a graphing library that draws interactive graphs with minimal code, and Dash is a web framework designed to serve Plotly graphs on a front-end interface. VIRUS-MVP and nf-ncov-voc are both virus-agnostic, but our initial priority was visualizing SARS-CoV-2 data. We deployed this prioritized instance as COVID-MVP at https://virusmvp.org/covid-mvp/, where the application is used by researchers from CoVaRR-Net. We are currently developing instances to also track Mpox and Influenza viruses.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "VNSDAU", "name": "Ivan Gill", "avatar": "https://programme.europython.eu/media/avatars/VNSDAU_NA3FNeQ.webp", "biography": "Software developer for the Centre for Infectious Disease Genomics and One Health, located at Simon Fraser University in Vancouver, Canada. I develop applications for public health research.\r\n\r\nAttended the University of British Columbia. MSc in Bioinformatics, BSc in Computer Science, and BSc in Animal Biology.", "public_name": "Ivan Gill", "guid": "287765bf-8201-5ebf-b7b5-b8d65d4aa941", "url": "https://programme.europython.eu/europython-2024/speaker/VNSDAU/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/JJAKNR/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/JJAKNR/", "attachments": []}], "Main Hall C": [{"guid": "e05d152b-165d-50b8-bba9-78855f0cf956", "code": "KVNTFE", "id": 46705, "logo": null, "date": "2024-07-12T13:00:00+02:00", "start": "13:00", "duration": "01:00", "room": "Main Hall C", "slug": "europython-2024-46705-redun-lazy-expressions-for-efficient-reactive-python-workflows", "url": "https://programme.europython.eu/europython-2024/talk/KVNTFE/", "title": "Redun: Lazy Expressions for Efficient Reactive Python Workflows", "subtitle": "", "track": "Python Libraries & Tooling (2024)", "type": "Poster", "language": "en", "abstract": "The goal of redun is to provide the benefits of workflow engines for Python code in an easy and unintrusive way. Workflow engines can help run code faster by using parallel distributed execution, they can provide checkpointing for fast resuming of previously halted execution, they can reactively re-execute code based on changes in data or code, and can provide logging for data provenance.\r\n\r\nWhile there are lots of workflow engines available even for Python, redun differs by avoiding the need to restructure programs in terms of dataflow. In fact, we take the position that writing data flows directly is unnecessarily restrictive, and by doing so we lose abstractions we have come to rely on in most modern high-level languages (control flow, recursion, higher order functions, etc). redun\u2019s key insight is that workflows can be expressed as lazy expressions, that are then evaluated by a scheduler that performs automatic parallelization, caching, and data provenance logging.\r\n\r\nredun\u2019s key features are:\r\n- Workflows are defined by lazy expressions that when evaluated emit dynamic directed acyclic graphs (DAGs), enabling complex data flows.\r\n- Incremental computation that is reactive to both data changes as well as code changes.\r\n- Code and data changes are detected using hashing of in memory values, external data sources or source code of individual Python functions.\r\n- Workflow tasks can be executed on a variety of compute backends. (threads, processes, AWS and GCP batch jobs, Spark jobs, etc).\r\n- Past intermediate results are cached centrally and reused across workflows.\r\n\r\nLink to the code: https://github.com/insitro/redun/", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"code": "LWECAK", "name": "Maciej Szymczak", "avatar": "https://programme.europython.eu/media/avatars/LWECAK_QD1gK3J.webp", "biography": "Software developer interested in machine learning, functional programming and software design. Holds master's degree in Computer Science from the Jagiellonian University in Cracow.", "public_name": "Maciej Szymczak", "guid": "a8a992cb-18ea-5d94-a678-96abc0ef8b18", "url": "https://programme.europython.eu/europython-2024/speaker/LWECAK/"}, {"code": "R9XTH7", "name": "Magdalena Borecka", "avatar": "https://programme.europython.eu/media/avatars/R9XTH7_3asNIKP.webp", "biography": "Magda is a software engineer with a data scientist past. She received Master's degree in Computer Science at AGH University of Technology in Cracow, Poland.\r\n\r\nIn her spare time, she enjoys playing games of many kinds (from pen&paper RPGs to newest titles for computers and consoles), cooking and doing good things for the environment.", "public_name": "Magdalena Borecka", "guid": "4f1605f8-b0f4-5571-8d7c-62e878a78e1e", "url": "https://programme.europython.eu/europython-2024/speaker/R9XTH7/"}], "links": [], "feedback_url": "https://programme.europython.eu/europython-2024/talk/KVNTFE/feedback/", "origin_url": "https://programme.europython.eu/europython-2024/talk/KVNTFE/", "attachments": []}]}}, {"index": 6, "date": "2024-07-13", "day_start": "2024-07-13T04:00:00+02:00", "day_end": "2024-07-14T03:59:00+02:00", "rooms": {}}, {"index": 7, "date": "2024-07-14", "day_start": "2024-07-14T04:00:00+02:00", "day_end": "2024-07-15T03:59:00+02:00", "rooms": {}}]}}}