List of videos

Talks - Hynek Schlawack: Subclassing, Composition, Python, and You

Ever seen a code base where understanding a simple method meant jumping through tangled class hierarchies? We all have! And while "Favor composition over inheritance!" is almost as old as object-oriented programming, strictly avoiding all types of subclassing leads to verbose, un-Pythonic code. So, what to do? The discussion on composition vs. inheritance is so frustrating because far-reaching design decisions like this can only be made with the ecosystem in mind – and because there's more than one type of subclassing! Let's take a dogma-free stroll through the types of subclassing through a Pythonic lens and untangle some patterns and trade-offs together. By the end, you'll be more confident in deciding when subclassing will make your code more Pythonic and when composition will improve its clarity.

Watch
Charlas - Débora Azevedo: Cooperación internacional en la comunidad de Python

Como dice la famosa frase de Brett Cannon, algunas personas “vienen por el lenguage, pero se quedan por la comunidad”. Por lo general, empezamos participando en meetups locales o grupos enfocados como PyLadies, y a veces queremos ayudar, pero no estamos exactamente seguros de cómo hacerlo. Y yendo aún existe la posibilidad de extender nuestro trabajo no solo localmente sino también ayudando a las comunidades de todo el mundo. En esta charla, discutiremos las formas en que podemos cooperar dentro de la comunidad de Python en movimientos que se pueden realizar tanto a nivel local como fuera de nuestro país de forma voluntaria. Para empezar, discutiremos qué es contribuir a la comunidad y las diferentes formas en que puede contribuir. Además, explicaremos un poco sobre Python Software Foundation y sus grupos de trabajo, el papel de estos grupos y cómo proceder si está interesado en ponerse en contacto y ayudar. Destacaremos el trabajo del grupo de Diversidad e Inclusión y también el grupo de trabajo de traducción y su importancia para la comunidad en general. También se presentarán algunos trabajos que están en proceso, como el trabajo masivo de nuestros colegas latinoamericanos con Python en Español, que tiene un grupo de Discord y un grupo de Telegram para estudiar y cooperar juntos. Otro caso de éxito que se presentará es que el encuentro brasileño Python Python Brasil se esforzó durante 2020 y 2021 debido a la cooperación internacional: una mujer brasileña que coopera con EuroPython 2020 nos abrió el camino. Hablaremos de lo importante que es ver a alguien como nosotros, que habla el mismo idioma que nosotros, ocupando estos espacios y llevando nuestras inquietudes a otras mesas de discusión. Y que si no hay alguien que se parezca a nosotros, hay un lugar que podemos ocupar.

Watch
Charlas - Javier, Miguel: Orcha 🐳: Procesamiento Masivo Paralelo (MPP) y diseño de APIs

El CI es fundamental en el desarrollo de productos hoy en día y uno de sus pilares básicos es la ejecución de tests. Sin embargo, a medida que el producto madura la cantidad de tests aumenta y con ello el tiempo que tardan en completarse. Para tener feedback lo antes posible, ¿cómo se maquetan las pruebas de forma eficiente? El problema es aún más acusado cuando se cuenta con multitud de dispositivos y versiones en desarrollo. En particular, con dos servidores distriubyéndose carga de tests, el tiempo total de ejecución alcanzaba las 15 horas probando únicamente dos versiones. Es imperativo contar con una herramienta que permita paralelizar las pruebas de forma masiva, aprovechando al máximo los recursos disponibles. Además, es necesario que dicha herramienta sea lo suficientemente flexible como para soportar la infraestructura actual y permita expandir el tipo de infraestrucuras de tests. En esta charla vamos a explorar el diseño de Orcha (la herramienta de orquestración), la API para extender su funcionalidad y la necesidad de tener un usuario dedicado. La charla está orientada a usuarios intermedio-avanzados con familiaridad con el módulo multiprocessing.

Watch
Talks - Sumana, Jacob: Argument Clinic: What Healthy Professional Conflict Looks Like

What does healthy disagreement look like? Many of us have never experienced healthy conflict at work, and so assume our only options are to either avoid conflict or have a nasty fight. But it doesn't have to be that way: professional disagreement can be direct without being nasty. We want to show what that looks like. In this model argument, presented as a play, watch two engineering managers disagree about something. How do they work through their disagreement -- politely and effectively? Watch our the characters figure out what they're really clashing about, learn about each other's perspectives, and come to a better decision than either could alone.

Watch
Talks - Blake Rayfield: Pyscript for Education

Python is one of the more accessible programming languages and has been adopted by a broad community of users. For educators of all levels, Python has become a go-to programming language. However, while there are ways to distribute creations in Python, they tend to be notoriously complex, unreliable, or require additional services like web hosting. With the creation of Pyscript, Python projects can be distributed with little to no web hosting or even internet connectivity. This change can potentially bring previously inaccessible topics or tools to a broader community while increasing the popularity of Python. This talk will describe and demonstrate Python and Pyscript's potential opportunities in the education space. We will talk about what makes these tools different than those previously available and how the future development of Pyscript can drive additional education changes in the near future.

Watch
Talks - Neeraj Pandey and Aashka Dhebar: Python Meets UX: Enhancing User Experience with Code

The intersection of UX and Python programming is a powerful combination for building great products and enhancing user experience. Python is a versatile and popular programming language that is widely used for a variety of tasks, including web development, data analysis, and machine learning. UX, or user experience, is the process of designing products that provide a seamless and intuitive experience for users. Learn about this powerful intersection of UX design and Python programming by understanding how Python can be used to enhance the user experience and provide practical examples on how UX designers can automate tasks, gather and analyze data, develop personalized experiences, and continually improve their own skills and processes.

Watch
Talks - Andrew Godwin: Reconciling Everything

Queues. The backbone of distributed systems, our old friends that we can rely on, and the cause of a lot of grief and on-call worries as they inevitably back up, overflow, replay, or duplicate items. There is a different (and sometimes better) way to build distributed systems, though - the reconciliation loop, a system where stateless programs talks to a central datastore and try to progress the state in small, incremental actions. We'll take a look at what reconciliation loops are, exactly, how they compare to both queues and other distributed system messaging options, and then dive into their active use as part of the Takahē ActivityPub/Fediverse server - and see the good, the bad, and the strange behaviours that can result.

Watch
Talks - Fabio Pliger: PyScript and the magic of Python in the browser

This presentation revisits two core concepts of Object-Oriented programming: encapsulation and code reuse. Using a series of examples, we'll ask whether these concepts have satisfied their promises, and how functional approaches can do a better job. We'll also see that objects still have value in making library use easy.

Watch
Talks - Dustin: Software Security and Slippery Slopes: How to elevate an entire ecosystem at scale

Software security is a critical aspect of developing and maintaining reliable and safe systems. In the case of large and popular open source ecosystems, such as Python, ensuring security across a wide and diverse set of users and use cases can be a daunting task. In this talk, we will discuss the challenges of applying security improvements to a widely used open source ecosystem like Python, and explore strategies for addressing these challenges at scale. We will discuss the importance of community involvement and collaboration, and the role of automation and tools in facilitating the adoption of security best practices. By the end of this talk, attendees will have a better understanding of the challenges with and opportunities for improving software security in the Python ecosystem, and will have some practical takeaways for adopting and facilitating these changes in their own work.

Watch