List of videos

The PyArrow revolution in Pandas — Reuven M. Lerner
[EuroPython 2024 — Terrace 2A on 2024-07-10 ] The PyArrow revolution in Pandas by Reuven M. Lerner https://ep2024.europython.eu/session/the-pyarrow-revolution-in-pandas 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. --- 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
Designing Config Files: The Conflicting Needs of Programmers and Users — Steven Pool
[EuroPython 2024 — Terrace 2A on 2024-07-10] Designing Config Files: The Conflicting Needs of Programmers and Users by Steven Pool https://ep2024.europython.eu/session/designing-config-files-the-conflicting-needs-of-programmers-and-users 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 “configs” to see what their experiment/program will do. Rather than discussing config file formats (I’ll assume toml but it’s 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. --- 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
The role of C++ in the Python ecosystem: the case of the Qt framework — Cristián Maureira-Fredes
[EuroPython 2024 — Terrace 2A on 2024-07-10] The role of C++ in the Python ecosystem: the case of the Qt framework by Cristián Maureira-Fredes https://ep2024.europython.eu/session/the-role-of-c-in-the-python-ecosystem-the-case-of-the-qt-framework 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. With these ideas in mind, how do you bring a huge project, as old as Python, written in C++ to Python? If you are thinking: «...just create some bindings and call it a day» you will be surprised. On 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. We 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. After 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. --- 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
Learning to code in the age of AI — Sheena O'Connell
[EuroPython 2024 — Terrace 2B on 2024-07-10] Learning to code in the age of AI by Sheena O'Connell https://ep2024.europython.eu/session/learning-to-code-in-the-age-of-ai 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 --- 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
Accelerating Python with Rust: The PyO3 Revolution — Roshan R Chandar
[EuroPython 2024 — Terrace 2B on 2024-07-10] Accelerating Python with Rust: The PyO3 Revolution by Roshan R Chandar https://ep2024.europython.eu/session/accelerating-python-with-rust-the-pyo3-revolution 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. This 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. Moreover, 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. --- 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
State-of-the-art image generation for the masses with Diffusers — Sayak Paul
[EuroPython 2024 — Terrace 2B on 2024-07-10] State-of-the-art image generation for the masses with Diffusers by Sayak Paul https://ep2024.europython.eu/session/state-of-the-art-image-generation-for-the-masses-with-diffusers 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. --- 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
The Art of the Pull Request — Ben Lomax
[EuroPython 2024 — Terrace 2B on 2024-07-10] The Art of the Pull Request by Ben Lomax https://ep2024.europython.eu/session/the-art-of-the-pull-request *Want to be a better teammate? Want to get your work merged faster?* For 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. --- 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
Unlocking Mixture of Experts : From 1 Know-it-all to group of Jedi Masters — Pranjal Biyani
[EuroPython 2024 — Terrace 2B on 2024-07-10] Unlocking Mixture of Experts : From 1 Know-it-all to group of Jedi Masters by Pranjal Biyani https://ep2024.europython.eu/session/unlocking-mixture-of-experts-from-1-know-it-all-to-group-of-jedi-masters Answer this : In critical domains like Healthcare would you prefer a Jack-of-all-trades OR one Yoda, the master? Join 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. A 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’ll go through a captivating exploration of insights, intuitive reasoning, solid mathematical underpinnings, and a treasure trove of interesting examples! We'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—AND 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 !" --- 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
Enterprise Python: Software That Lives Long And Prosper — Alvaro Duran
[EuroPython 2024 — Terrace 2B on 2024-07-10] Enterprise Python: Software That Lives Long And Prosper by Alvaro Duran https://ep2024.europython.eu/session/enterprise-python-software-that-lives-long-and-prosper Every day, as software continues to “eat the world”, applications increasingly grow in complexity. Nowhere 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. Enterprise software, when unchecked, bloats and becomes brittle. Paradoxically, 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. Python 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. How 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’t been able to put a dent on its dominions, and have been forced to recede into niche use cases. This 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. --- 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