List of videos

Intellectual Property Law 101 — Anwesha Das

[EuroPython 2024 — South Hall 2B on 2024-07-10] Intellectual Property Law 101 by Anwesha Das https://ep2024.europython.eu/session/intellectual-property-law-101 "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. --- This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License: https://creativecommons.org/licenses/by-nc-sa/4.0/

Watch
EuroPython 2024 — CPython Core Development Panel

[EuroPython 2024 — South Hall 2B on 2024-07-10] CPython Core Development Panel by Pablo Galindo Salgado, Łukasz Langa, Carol Willing, Hugo van Kemenade, Victor Stinner and Petr Viktorin. https://ep2024.europython.eu/session/cpython-core-development-panel 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. This 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. Host: Konstantin Ignatov Panelists: Pablo Galindo Salgado, Łukasz Langa, Carol Willing, Hugo van Kemenade, Victor Stinner and Petr Viktorin --- This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License: https://creativecommons.org/licenses/by-nc-sa/4.0/

Watch
... and justice for AIl — Martina Guttau-Zielke

[EuroPython 2024 — South Hall 2B on 2024-07-10] ... and justice for AIl by Martina Guttau-Zielke https://ep2024.europython.eu/session/and-justice-for-ail „Everything’s science fiction until someone makes it science fact.“ - Marie Lu, Warcross We 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’s changes for better or for worse. There 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 „AI Act“? Accompany 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. The Proposal for the European Artificial Intelligence Act takes 224 Pages of legalese to work through. This 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. Hopefully 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). Let 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. --- This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License: https://creativecommons.org/licenses/by-nc-sa/4.0/

Watch
Keeping your projects nice and clean — Jan Musílek

[EuroPython 2024 — South Hall 2B on 2024-07-10] Keeping your projects nice and clean by Jan Musílek https://ep2024.europython.eu/session/keeping-your-projects-nice-and-clean 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? I'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. --- This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License: https://creativecommons.org/licenses/by-nc-sa/4.0/

Watch
How we sped up NumPy’s string operations for NumPy 2.0 — Lysandros Nikolaou

[EuroPython 2024 — South Hall 2B on 2024-07-10] How we sped up NumPy’s string operations for NumPy 2.0 by Lysandros Nikolaou https://ep2024.europython.eu/session/how-we-sped-up-numpys-string-operations-for-numpy-2-0 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. In 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. --- This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License: https://creativecommons.org/licenses/by-nc-sa/4.0/

Watch
Is RAG all you need? A look at the limits of retrieval augmented generation — Sara Zanzottera

[EuroPython 2024 — Terrace 2A on 2024-07-10] Is RAG all you need? A look at the limits of retrieval augmented generation by Sara Zanzottera https://ep2024.europython.eu/session/is-rag-all-you-need-a-look-at-the-limits-of-retrieval-augmented-generation 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. In 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. --- This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License: https://creativecommons.org/licenses/by-nc-sa/4.0/

Watch
Data pipelines with Celery: modular, signal-driven and manageable — Marin Aglić Čuvić

[EuroPython 2024 — Terrace 2A on 2024-07-10] Data pipelines with Celery: modular, signal-driven and manageable by Marin Aglić Čuvić https://ep2024.europython.eu/session/data-pipelines-with-celery-modular-signal-driven-and-manageable Writing pipelines for processing large datasets has its challenges – 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’ll discuss how to design & implement modular, efficient, and manageable workflows with Celery, Redis, and signal-based triggering. We’ll 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’s 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. The 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. --- This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License: https://creativecommons.org/licenses/by-nc-sa/4.0/

Watch
From built-in concurrency primitives to large scale distributed computing — Jakub Urban

[EuroPython 2024 — Terrace 2A on 2024-07-10] From built-in concurrency primitives to large scale distributed computing by Jakub Urban https://ep2024.europython.eu/session/from-built-in-concurrency-primitives-to-large-scale-distributed-computing 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. We 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. Attendees 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. --- This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License: https://creativecommons.org/licenses/by-nc-sa/4.0/

Watch
GeoPandas 1.0 and beyond — Martin Fleischmann

[EuroPython 2024 — Terrace 2A on 2024-07-10] GeoPandas 1.0 and beyond by Martin Fleischmann https://ep2024.europython.eu/session/geopandas-1-0-and-beyond 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. This 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. --- This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License: https://creativecommons.org/licenses/by-nc-sa/4.0/

Watch