EuroPython 2021
2021
List of videos

Europython 2021 - Opening Session Conference
Opening Session - Conference [EuroPython 2021 - - 2021-07-28 - Optiver] [Online] License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Pablo Galindo Salgado - Nobody expects the Spanish inquisition
Nobody expects the Spanish inquisition [EuroPython 2021 - Keynote - 2021-07-28 - Optiver] [Online] By Pablo Galindo Salgado In this talk I will go into some interesting stories of how (C)Python is made. We will go through a journey that will show you how Python is developed, who works on it, interesting battles against the most obscure of bugs and lots of unexpected situations and things to learn and to reflect on. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Sebastian Witowski - Python Versions and Dependencies Made Easy
Python Versions and Dependencies Made Easy [EuroPython 2021 - Talk - 2021-07-28 - Optiver] [Online] By Sebastian Witowski Managing Python versions and dependencies can be painful. JavaScript developers have their "nodemodules" folders, but we don't have "pythonmodules" (yet!) in Python. Instead, we have those mysterious virtual environments. And if you also want to switch between different Python versions, it can quickly turn into a mess. It doesn't have to be that way. With a few simple tools and practices, you can easily tame Python and its dependencies. In this talk, I'm going to show you how to do this. I will talk about: How to manage Python versions with pyenv and set different versions for a folder or a shell session? What are virtual environments, what's the difference between different tools (venv, virtualenvwrapper, conda, etc.), and how to use them? How to separate global packages with pipx (and why you should do this) License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Xavier Thompson - Extending Cython with GIL-free types
Extending Cython with GIL-free types [EuroPython 2021 - Talk - 2021-07-28 - Brian] [Online] By Xavier Thompson Cython is a compiled language, largely inspired by Python, which can already provide both massive speedups and seamless interoperability with C libraries. In Cython, Python and C can freely mix thanks to a unified syntax and gradual typing. This opens the door to bypassing the GIL by restricting oneself to the C side of Cython, but it entails letting go of all the high-level semantics of Python and going back to low-level manual memory management, pointer arithmetic and good old segmentation faults... Not to mention all the joys of multi-threading in C! In this talk, we will recount how we experimentally extended Cython to bridge that gap with GIL-free reference-counted types and a type system for thread-safe concurrency. We call this extension: Cython+. By hacking a bit the Cython compiler, one can create new language features which translate under-the-hood to low-level GIL-agnostic C or C++. In this way we extended Cython with a new class system that looks familiar to a Python programmer, but can be used in Cython while the GIL is released because it does not depend on the Python/C API. By adapting the way Cython generates reference counting instructions for Python objects, we equipped our types with a thread-safe reference count. Thanks to Cython's expertise with the Python/C API, we wrapped our types into extension types, thus gaining interoperability with Python. And using Cython's static type checking, we are currently introducing an ownership type system for thread-safe concurrency inspired by Pony and Rust. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Haki Benita - Taming Nondeterminism with Dependency Injection
Taming Nondeterminism with Dependency Injection [EuroPython 2021 - Talk - 2021-07-28 - Ni] [Online] By Haki Benita There are many sources of nondeterminism in code such as randomness, IO, environment variables, databases and many more. Nondeterminism is a source of confusion, and it makes testing difficult. One way to control nondeterminism is using the dependency injection pattern. In this talk I'll guide you through a series of problems that demonstrate how nondeterminism can pose incredible challenges even in simple code. Tackling one problem after another, we'll gradually integrate dependency injection into the code to address these challenges! After attending this talk you will hopefully understand: The challenges nondeterminism poses How to identify nondeterminism in code What dependency injection is, and how it addresses challenge related to nondeterminism How to implement and integrate dependency injection into Python code License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Sebastian Buczyński - Refactoring legacy Django app using OOP
Refactoring legacy Django app using OOP [EuroPython 2021 - Talk - 2021-07-28 - Optiver] [Online] By Sebastian Buczyński Every year we can hear rumours about the demise of Object-Oriented Programming. As usual, they are greatly exaggerated. In 2021 OOP still has a lot to offer. The problem is a shortage of good quality materials that would show where it shines and how a Pythonista can leverage it without writing code that looks like Java from the 00s. I'll show you how you can refactor legacy code in a Django app and tame complex logic living there. Value for attendees: see refactoring possible directions and get to know 3 OOP stereotypes Level of attendees: intermediate & advanced Expected knowledge: Experience with building web apps, at least superficial knowledge about Django This talk is an introduction to 3 out of 8 OOP Stereotypes, i.e. Controller, Interfacer and Information Holder. They'll be introduced using a real-life legacy project refactoring. For the purpose of this talk, I'll be using code from this repo: https://github.com/Enforcer/django-refactor License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Stefan Behnel, David Woods - Fast native data structures: C/C++ from Python
Fast native data structures: C/C++ from Python [EuroPython 2021 - Talk - 2021-07-28 - Brian] [Online] By Stefan Behnel, David Woods Python has very fast and thoroughly optimised data structures: lists, dicts, sets and the collections module make it easy to write simple code that performs well. The flip-side shows when it comes to processing very large amounts of simple data, especially numbers or strings. For these, the object overhead of Python's objects is very large in comparison to the low-level languages C and C++ that benefit directly from bare metal CPU performance as well as from GIL-free multi-threading and parallel computation. This talk will show how compiling your Python code with Cython (https://cython.org/) enables you to make direct use of fast and memory efficient native data types and data structures. Cython provides very efficient ways to access the internals of Python data structures, process data from NumPy arrays, and use data structures from native C libraries or the C++ STL standard library as replacements for the high-level Python collections. You will learn how you can implement high-level Python interfaces that enable fast data processing underneath, without sacrificing the integration with regular Python features and libraries to allow for easy direct data manipulation from Python code. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Irina Grechikhina - Sentry as a way not to be afraid
Sentry as a way not to be afraid [EuroPython 2021 - Talk - 2021-07-28 - Ni] [Online] By Irina Grechikhina Sentry is an open-source error tracking software. It allows you to know exactly what's going on with your web application in real-time and get detailed reports about occurred errors. Lot's of web developers used to rely only on app logs and generic monitoring software, but it's not enough. Multiple production servers, overwhelmed logging, lack of information about request content in case of error hinders problem investigation and produces permanent developer fear of changes. Sentry could ease the whole process and make you: stay calm during deployment, be sure your application works properly, solve problems before users report about it. During my talk, I will compare Sentry to ordinary logging, show how to use Sentry, explain how to read Sentry reports and demonstrate that its deployment is very easy. The whole demo will be done using Sentry hosted on my laptop. I will describe the problems I have faced up during sentry.io usage and explain why I prefer self-hosting. Also, I will share a link to my Github with docker-compose and ansible files to deploy your self-hosted Sentry, run through the whole idea and demonstrate that everything is clear and easy. Then I will show how to adjust the first project in Sentry and connect it to a working application in both backend and frontend parts. For each backend and frontend cases, there will be its separate part with examples when Sentry is useful and cannot be replaced by other tools and recommendations on how to make Sentry as effective as possible. My talk will be useful for web developers of any level who wants to ease the process of problem investigation and finds application logs not handy. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Chiin-Rui Tan, Sara Nunnington - How Scientific Computing is advancing the world of Football
How Scientific Computing is advancing the world of Football [EuroPython 2021 - Talk - 2021-07-28 - Parrot [Data Science]] [Online] By Chiin-Rui Tan, Sara Nunnington In the ultra-competitive sporting world, the value of data and computing has been on the rise. When the difference between winning and losing, success and failure hinges on the smallest of margins, being able to calculate and implement optimal, timely decisions is literally game-changing, and potentially life-changing. Football, or Soccer to others, as the most popular sport in the world, perfectly illustrates the importance of computational data-empowered decisions, both on and off the pitch. This talk, accessible to beginner Pythonistas with intermediate football knowledge, provides the audience with an overview of popular applications of Python Scientific Computing & Data Science within the ecosystem of typically well-funded clubs, but emphasising the opportunities available to democratise such enabling tech more inclusively, and benefiting a more diverse base. Example takeaways are real-world use-cases involving spatio-temporal tracking & event data, Computer Vision/video AI, tactical analysis, and player insights. This talk ultimately supports the audience discovering this fast-growing domain and the role Python has and continues to play in advancing it globally. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Mauro Pelucchi - Data Ingestion and Big Data
Data Ingestion and Big Data [EuroPython 2021 - Interactive session - 2021-07-28 - Argument-Clinic [Interactive]] [Online] By Mauro Pelucchi Web scraping, crawling and API are the first step to retrieve information to use for analysis and to start a new business. In this tutorial I'll show you how to use python to set up scraping and crawling processes, how to simulate users navigation and browser behavior with a ghost browser and how to hook up and use data APIs. I will also try to explain the technical and ethical aspects that we have to consider when we approach these kinds of challenges. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Antonis Christofides - Why you always had trouble understanding metaclasses
Why you always had trouble understanding metaclasses [EuroPython 2021 - Talk - 2021-07-28 - Optiver] [Online] By Antonis Christofides "Smart people sometimes like to show off their smarts by demonstrating their mental juggling abilities. After all, if you can reliably remember that r is the lower-cased version of the url with the host and scheme removed, then you must clearly be very smart. One difference between a smart programmer and a professional programmer is that the professional understands that clarity is king." — Robert C. Martin, "Clean Code", p.25 Robert C. Martin says it’s hard to mentally translate one name (e.g. “r”) to another, and you can avoid it by using a better name (e.g. “urlPath”). But the problem is not just lost brainpower; it can also be misunderstanding. I’ve seen experienced Python programmers trying to teach Python “metaclasses” by explaining that a metaclass is the class of a class—which it isn’t. Metaclasses have a reputation of being difficult, but they actually become easy once you use the right term for them. Bad terminology can be far more damaging than just confusing people. In April 2021, the European Commission published a proposal for an Artificial Intelligence Act, which they proudly advertise as the “first ever legal framework on AI”. It has provisions such as prohibiting "an AI system that deploys subliminal techniques beyond a person’s consciousness in order to materially distort a person’s behaviour in a manner that causes or is likely to cause that person or another person physical or psychological harm.” What do they mean with "AI system"? Well, more or less... statistics. None of this would happen if we didn't use misleading terms such as "artificial intelligence". While I do get to metaclasses, the main part of this talk is a tour of bad names. The talk is suitable for all audiences, beginners and advanced alike. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Markus Holtermann - An Introduction to Kubernetes
An Introduction to Kubernetes ☸️ [EuroPython 2021 - Talk - 2021-07-28 - Brian] [Online] By Markus Holtermann Every other job opening for an IT position mentions Kubernetes. But unless you’ve worked with Kubernetes or seen it in action, you probably only have a vague idea of what it is, what it does and can do, or how to use it. And that’s understandable. It’s this big, abstract, software, that is supposed to “solve all the problems”. In this talk I’ll go through some of the concepts Kubernetes has. We’ll approach these by deploying a Django application, with the intent, that next time somebody asks you, “Do you know Kubernetes?”, you can confidently answer “Yes!”. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Kracekumar - Type Check your Django app
Type Check your Django app [EuroPython 2021 - Talk - 2021-07-28 - Ni] [Online] By Kracekumar Python 3 introduced type hints and it's optional to use. The decision to use the type-hints in the python community is in two different camps - Embrace and skeptical. Adding type-hints has practical problems. One such example is the working of type-checker, mypy, and CPython interpreter. mypy behaves like a statically typed language (strict with type declaration and modification) whereas Python run-time is lenient. Example a: int = 23 a = 'Django' Mypy will complain about the above code whereas Python run-time will not complain. In this talk, I'll cover the following topics: - how to add type-hints to Django project - views, models, and queryset. - Tools to help to add type-hints. - Adding type-hints to user-defined code. - Current limitation of the type-hints. - Tuning mypy to suit your needs - strict and lenient checking. All the example code snippets will run on Python 3.9.4+. References: - Type Hints: https://docs.python.org/3/library/typing.html - Mypy - http://mypy-lang.org/ - Django: https://www.djangoproject.com/ - Django Stubs - https://github.com/TypedDjango/django-stubs - Django Restframeowrk - https://www.django-rest-framework.org/ - Django Restframework stubs - https://github.com/typeddjango/djangorestframework-stubs License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Sylvain Marié - Powerful tests and reproducible benchmarks with `pytest-cases`
Powerful tests and reproducible benchmarks with `pytest-cases` [EuroPython 2021 - Talk - 2021-07-28 - Parrot [Data Science]] [Online] By Sylvain Marié pytest is undoubtedly the most popular test framework for python. Its fixture and parametrization mechanisms, as well as its detailed hook API and vibrant plugin ecosystem make it a must-know for any developer wishing to create quality software. Some key limitations in its engine and API, however, prevent users from truly unleashing their testing scenarii. Creating tests with complex parametrization is complicated, and users trying to explore this direction may loose the legendary elegance and maintainability of pytest tests on the way. pytest-cases extends pytest so that users can manage their parameters the same way they manage tests: as python functions. This separates test cases from test functions in an elegant way, encouraging developers to add more cases without decreasing readability. With this new paradigm it becomes ridiculously simple to create tests where several "kind" of parameters coexist nicely: datasets come both from files, databases and simulations ; distinct algorithms can be evaluated and compared, with possible variants ; etc. Fixtures can be leveraged by any of these, in an intuitive manner. Finally pytest-cases can also be used in combination with pytest-harvest to generate scientific results tables in a reproducible manner. Reproducible research projects may therefore wish to use it to replace an "ad-hoc" benchmark engine. That way, adding datasets and algorithms in the benchmark becomes as easy as creating new python functions. This presentation is for python developers and data scientists at ease with python, with basic experience of pytest. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Alexys Jacob - Create beautiful and localized documentations and websites using MkDocs + Github
Create beautiful and localized documentations and websites using MkDocs + Github [EuroPython 2021 - Talk - 2021-07-28 - Optiver] [Online] By Alexys Jacob In this talk I will walk you through all the steps needed to create and host feature rich and localized documentations (and even websites) using MkDocs + Github Pages. MkDocs is a famous Python powered project used to build documentation for a lot of projects. It's based on Markdown and supports Markdown extensions, custom themes and plugins to extend its rendering capabilities. But it did not support building documentations in multiple languages and this was a wanted feature since 2014... After building documentations using MkDocs I decided to use it to switch my website and blog from Wordpress to a static page generator. I thus took on the challenge to contribute localization support to the MkDocs project because I needed it and it could benefit the community. After 2 months of work, 175 comments and 85 commits over 55 files I'm glad that my PR have been merged and is part of the MkDocs 1.2 version. I learned a lot along the way and I wanted to share my experience and a comprehensive walk through to get you ready and happy to use these new MkDocs features! License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Christian Burger - Why You Should Consider Getting a Python Pet Project
Why You Should Consider Getting a Python Pet Project [EuroPython 2021 - Talk - 2021-07-28 - Brian] [Online] By Christian Burger If you are managing developer teams or departments a pet project may be a helpful tool to stay out of your developers hair and learn about the technologies used in your department without blocking your developers to babysit you. If you are like me and have a development background, you will want to get your hands dirty and start fixing bugs and implementing stories. However, this can have many negative side effects. Breaking established rules is easier in a leadership position and sets a bad precedent. By becoming a last instance for each technical decision you take away personal identification with the work of your engineers. It may also lead to distrust. With this talk, I want to share some of my experiences in that regard. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Joel Christiansen - Managing transient dependencies
Managing transient dependencies [EuroPython 2021 - Talk - 2021-07-28 - Ni] [Online] By Joel Christiansen Python packaging has come a long way since the days of easy_install and eggs. With the advent of wheels, and more recently pyproject.toml and PEPs 518, 517, and 621, the future looks bright for the world of python build tool. I will briefly explore the history of python packaging, and look at how we can take advantage of these developments to increase reliability and safety in python build tools. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Paula Dozsa - Creative Coding with imagiLabs
Creative Coding with imagiLabs [EuroPython 2021 - Interactive session - 2021-07-28 - Argument-Clinic [Interactive]] [Online] By Paula Dozsa imagiLabs is an EdTech startup based in Stockholm, on a mission to equip and empower girls to engage with tech. We created the imagiCharm, a programmable smart accessory, so that code and be brought to life and shown off! The imagiLabs app (iOS, Android, and web) is a truly social, inclusive platform for teenage girl coders to develop their skills. We also partner with schools, non-profits, and coding companies to bring groups of students our innovative coding curriculum. This 1 hour virtual session takes coders from lighting up one pixel at a time to making colorful animations in the imagiLabs app. Ideal for kids 8-16, but truly fun for all ~ learn the basics of Python with our creative coding tools! License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Dhanshree Arora - Federated Machine Learning with Python
Federated Machine Learning with Python [EuroPython 2021 - Talk - 2021-07-28 - Parrot [Data Science]] [Online] By Dhanshree Arora Imagine a world where all the data generated on your phone and on your wearables never left these devices without compromising your user experience. Or, a world where AI collaboration between data owners and developers did not have to be slowed by bureaucracy and data compliance laws like the GDPR. Federated Machine Learning, originally introduced in 2015, aims to create this world. It is the gift of distributed computing to Artificial Intelligence for training models without compromising data privacy. Federated Machine Learning is a model training technique in which the data never leaves the source (for example, a data silo, a smartphone, or an IoT device) and a copy of a global model is trained at source while sharing only the learning with the global model. In this talk, I will present an introduction to privacy preserving machine learning with a focus on federated ML, and make a case for federated ML beyond just Gboard and into enterprises. The session will aim to demystify the jargon around Federated Machine Learning, specifically terms such as horizontal vs vertical federated ML, cross device/cross silo training, centralized vs decentralized training, and data centric vs model centric federated learning. I will briefly introduce existing FedML implementations in Python and also demonstrate a live code walk-through for a minimal centralized federated learning system built using python-socketio and confluent kafka. Finally, I will discuss the challenges faced by enterprises in incorporating federated machine learning. The most notorious difficulty with Federated ML is non-IID data. Other technical difficulties include network latencies affecting training coordination, single point of failure in centralized federated learning systems, computational limitations at source nodes, etc. Additionally, in data centric federated ML, where a data provider allows AI developers to use their data to build models, federated ML poses challenges for early stage EDA and development. I’m excited to talk about federated ML, which is ripe with opportunities for research and development, and the tech community is finally ready to adopt it. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Anastasiia Tymoshchuk - Continuous Documentation for your code
Continuous Documentation for your code [EuroPython 2021 - Talk - 2021-07-28 - Optiver] [Online] By Anastasiia Tymoshchuk Do you document your code? Do you think it is important? Imagine that you need to get back to your code in 6 month after you wrote it, there is always a big possibility that you will have to spend some time to find out how this code works. Or if someone else wrote some code, which is already in production and your task is to fix a bug in it and there is no documentation and no one actually knows what this code does. There are more benefits of implementing continuous documentation for the code: easy to onboard new team members, easy to share knowledge, if this code is open source - easy to start contributing, easy to see purpose and motivation of each piece of code, easy to keep versioning for each new release of the code. In this talk you will see the difference between documentation types and a demo in the end of the talk. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Ben Nuttall - Innovation in the newsroom
Innovation in the newsroom [EuroPython 2021 - Talk - 2021-07-28 - Brian] [Online] By Ben Nuttall In BBC News Labs, we're always looking for ways to innovate without requiring production teams to change their workflows. We investigated ways we could enrich our digital output by extracting detailed information about the contents of our TV and radio programmes from their running orders. Like many traditional broadcasters, the BBC uses the MOS Protocol for communications between newsroom computers and servers where media files such as audio and video are stored. Production teams create running orders using enterprise broadcasting tools, and every time they add details or make changes, XML messages are emitted by the newsroom computer systems. We've created a way to process these messages to build up a machine-readable version of the running order. We developed a general solution for dealing with MOS messages - a Python library called mosromgr (MOS running order manager). It's based on open standards and could be useful to other broadcasting organisations, so we've released it under an open source licence. This library was developed by the BBC News Labs team as part of a series of projects based around extracting information from running orders from the BBC's TV and radio programmes. This talk aims to share the detail of our innovation projects investigating personalisation, automatic chapterisation and live notifications, and showcases our Python library and AWS pipeline. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Miroslav Šedivý - Should We Return to Python 2?
Should We Return to Python 2? [EuroPython 2021 - Talk - 2021-07-28 - Ni] [Online] By Miroslav Šedivý Migration to Python 3 is over, but that's not the end of the journey. Although your code runs with the currently supported Python 3.6 to 3.9, there may be some pieces of code that look obvious to you, but may surprise younger developers who have never seen Python 2 code. A few months ago, I started looking for Python projects on GitHub and helped them to get rid of those Python 2 relics. I'll show you a few recipes beyond the automatic tools, how to make your code modern and prepared for future updates. And no, we should not return to Python 2. We should get rid of it completely. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Sebastiaan Zeeff - Introducing Asynchronous SQLAlchemy
Introducing Asynchronous SQLAlchemy [EuroPython 2021 - Talk - 2021-07-28 - Parrot [Data Science]] [Online] By Sebastiaan Zeeff With the increasing popularity of asynchronous frameworks, such as FastAPI, communicating asychronously with databases has become a hot topic in Python development. While there were already a lot of database drivers with asynchronous support available, support for asynchio in Object-Relation Mapping (ORM) frameworks was a lot rarer. That is, until the release of version 1.4 of SQLAlchemy back in March of 2021, which added support for Asynchronous I/O to one of the most popular ORM frameworks for Python. In this talk, Sebastiaan Zeeff will give an overview of the newly added support for asyncio in SQLAlchemy. He will go over how easy it is to set up and use the new AsyncEngine, show you how to avoid getting bitten by some of the pitfalls, and explain how you can use the synchronous functions and methods of SQLAlchemy under asyncio. While this talk is an introduction to SQLAlchemy's asyncio support, it is aimed at those who already have some experience with ORM and asyncio. Extensive knowledge of SQLAlchemy is not required, although having a bit of experience with the framework won't hurt. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Tobie Langel - Towards a sustainable solution to open source sustainability
Towards a sustainable solution to open source sustainability [EuroPython 2021 - Talk - 2021-07-28 - Optiver] [Online] By Tobie Langel A few years ago, Heartbleed epitomized a massive open source sustainability problem for critical parts of the internet infrastructure. The bug, which affected the popular OpenSSL cryptographic software library, notably compromised the confidentiality of 4.5 million US patient records and cost the industry an estimated $500M. It was soon revealed that the root cause of the issue was that OpenSSL was precariously understaffed. Open source sustainability became a major theme overnight. Stories of maintainer burn-out made the headlines. And tentative solutions started to emerge, most of them donation-based. In this talk, we’ll explore a number of existing strategies to fund open source and make it more sustainable, from patronage to dedicated ad networks. And we’ll defend the idea that the best path to open source sustainability is to help companies understand the tangible business value they can get from contributing to open source. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Marcin Wojnarski - Hypertag: an Indented Language for easy HTML Generation & Web Templating
Hypertag: an Indented Language for easy HTML Generation & Web Templating [EuroPython 2021 - Talk - 2021-07-28 - Brian] [Online] By Marcin Wojnarski HYPERTAG (http://hypertag.io) is a full-featured standalone language for HTML templating and document generation. Inspired by indentation-based template languages (Slim, Haml, Shpaml, Pug), it provides clean, readable syntax and multiple original features that enhance code reuse and modularity: native custom tags, DOM manipulation, Python-like granular imports, control blocks, compound expressions, and more. Hypertag can be called directly from Python code, or be plugged as a template backend into Django. Hypertag scripts can utilize all of Django's filter functions out of the box. Hypertag is not limited to HTML alone, but can be adapted to produce different markups. Docs: http://hypertag.io GitHub: https://github.com/mwojnars/hypertag PyPI: https://pypi.org/project/hypertag-lang/ During the talk, Hypertag's syntax will be presented with particular focus on original features not found elsewhere (custom native tags, DOM manipulation, granular imports). The talk will be illustrated with examples, and a comparison with existing template languages will be shown. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Nithish Raghunandanan - Virtual Tourism In Covid Times
Virtual Tourism In Covid Times [EuroPython 2021 - Talk - 2021-07-28 - Ni] [Online] By Nithish Raghunandanan The introduction to the talk would cover the motivation for the solution. As someone who loves to travel and has been travelling quite extensively in Europe over the past years, the lockdown & travel restrictions preventing travels are quire hard to adjust to. This gave me the idea to build a dashboard around my past travels to improve my spirits. In the next part, I cover how I get the data. In this case, I use the location history from Google Maps. A brief description of the data is included along with what data I select. I also cover some of the problems faced like the non standardization of the raw data (timestamps, latitude / longitude pairs) & how to resolve it. In the next part, I explain how I can do some basic analysis with the raw data like the distribution & visualization of my travels over time interactively. This will go through some code examples on how you can build these components using matplotlib & how to make them interactive using Streamlit without writing any Javascript code. In the next section, I explain how I can augment this data with data from other sources like public images from Flickr to bring out my memories. This would also explain how to integrate these components using Streamlit. This would also cover the deployment aspects of the solution. Also covered here would be some future additions that I am considering. In the final part, I conclude the presentation with my learnings from building this app to do some virtual tourism in COVID times. I cover some of the scenarios where Streamlit could be useful & other places where it might not be suitable. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
María Andrea Vignau - SQLite, an (un) known super ant
SQLite, an (un) known super ant [EuroPython 2021 - Talk - 2021-07-28 - Parrot [Data Science]] [Online] By María Andrea Vignau Outline - Introduction: advantages, best and worst use cases. - Why this little database is amazing and where it can be used at its best. - SQLite & Python: best practices - Use of context managers, row factories, executing many operations at once and the concept of PRAGMAs - Transactions, isolation and concurrency - Transactions management in SQLite, use of WAL, Rollback and no journaling modes. Isolation levels: exclusive, immediate and deferred - Indexing - Why and why not indexing. Partial index, expression index, FTS index. - Special data types - Date & Time data, personalized data types License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Abhilash Majumder - Introduction to Quantum Deep Learning
Introduction to Quantum Deep Learning [EuroPython 2021 - Talk - 2021-07-28 - Optiver] [Online] By Abhilash Majumder Introduction to Quantum Deep Learning Abstract The aim of the lightning talk is to shed light into the field of Quantum computation in the field of Deep Learning. Qubits , which form the fundamental units of quantum computing can be used to create quantum variational circuits which can be placed over traditional deep learning networks to create hybrid quantum-deep learning models. These models not only rely on the gradient convergence properties of general backpropagation technique, but also on the final probabilistic states of the Qubits. Essentially there has been quite a development to optimize the gradient convergence of these hybrid models with the help of Fischer approximation and Natural Gradient Descent.The talk would focus on the importance of Quantum Variational Deep Learning Circuits and how they provide an advantage over traditional Autograd based Circuits. The application of Quantum Variational circuits in the field of Reinforcement Learning as well as NLP would be one of the main points of the talk. There has been sufficient development in the field of quantum computing and this talk aims to throw light on how to exploit the probabilistic states of Qubits to enhance deep learning models. Topics: Introduction to Quantum Computing and Qubit system Quantum Variational Circuits Creating Hybrid Circuits (Classical-Quantum-Classical etc.) Realizing Performance of Hybrid Circuits Applications in the field of Quantum RL and Quantum NLP (research) Democratizing adoption of Quantum Circuits over traditional deep learning circuits Resources Resources (slides, repositories) would be added in course of time. Resources: https://drive.google.com/file/d/1gtCc8JViacFhlV3-XfKlGruh_OqI0ZIa/view?usp=sharing License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Rodrigo Girão Serrão - Pydon'ts
Pydon'ts [EuroPython 2021 - Talk - 2021-07-28 - Ni] [Online] By Rodrigo Girão Serrão EDIT: Talk slides available at https://github.com/mathspp/talks; you can reach out to me with comments/questions on Twitter @mathsppblog or through email at rodrigo at mathspp dot com. In this talk I show what idiomatic Python code looks like and illustrate how the subjective notion of “beautiful”, or “elegant” code, can make your code objectively better, regardless of your Python skill level. We do that by visiting several vanilla Python features that people sometimes forget to learn, as they rush to importing all the shiny modules and frameworks they really want to use. In order to achieve this, we go through the learning journey of a hypothetical Pythonista, taking a function written by them and refactoring it incrementally through the use of Pythonic idioms and patterns. The whole talk will build around a weekly series of articles I have been publishing (at https://mathspp.com/blog/pydonts), where I explore all the vanilla Python features that make Python one of the most interesting programming languages to learn. There are no prerequisites for this talk, and both advanced users and beginners can benefit from it. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Matthias Feurer, Katharina Eggensperger - Auto-Sklearn: Automated Machine Learning in Python
Auto-Sklearn: Automated Machine Learning in Python [EuroPython 2021 - Talk - 2021-07-28 - Parrot [Data Science]] [Online] By Matthias Feurer, Katharina Eggensperger AutoML makes machine learning accessible for everyone! Machine Learning is hard since developing well-performing machine learning pipelines requires a lot of expertise, time and manual tuning. AutoML automates this development process by using latest optimization methods to efficiently search for well performing solutions. In this talk, we will cover how to move from manually constructing and tuning machine learning pipelines to using efficient hyperparameter optimization algorithms and full AutoML using the popular open-source Auto-sklearn library. Auto-sklearn is a drop-in replacement for any scikit-learn estimator and is developed by the ML Lab of the University of Freiburg. More specifically, you’ll learn the following: What is AutoML and for what can you use it? How does Auto-sklearn work? How can you use it? This talk assumes basic understanding of machine learning and statistics. The main target audience are data scientists and domain experts using machine learning. The talk will be designed such that anyone with a basic understanding of machine learning pipelines in scikit-learn and the Python language would be able to understand the concepts and to use our tool. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
A. Mikhalev, D. Dukhan - The Pattern: Machine Learning Natural Language Processing meets VR/AR
The Pattern: Machine Learning Natural Language Processing meets VR/AR [EuroPython 2021 - Interactive session - 2021-07-28 - Argument-Clinic [Interactive]] [Online] By Alexander Mikhalev, Dvir Dukhan Open-source project "The Pattern" is the platform to inspire collaboration for building modern natural language processing tools and techniques and making them practically useful for end-users. In this session, I will walk through creating 3 Machine Learning NLP pipelines and deploying them using Redis and Redis Modules: RedisGears, RedisGraph and RedisAI. The first pipeline demonstrates how to use traditional NLP techniques, such as the Aho-Corasic algorithm to build a knowledge graph from medical literature using a medical thesaurus (UMLS). The second pipeline demonstrates how to build and deploy BERT Question/Answering model and create API for text to speech interface. Leveraging Redis Cluster sharding and capturing Redis Gears "keymiss" event to trigger processing of BERT QA in RedisAI. The third pipeline demonstrates how to deploy Google's T5 (text to text transfer transformers) to build summary of each article. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Maria Jose Molina-Contreras, PhD - DIY Home Automation with Microcontrollers and CircuitPython
DIY Home Automation with Microcontrollers and CircuitPython [EuroPython 2021 - Talk - 2021-07-28 - Optiver] [Online] By Maria Jose Molina-Contreras, PhD For many years, people have been filling their home with devices that are based on Microcontrollers, like virtual assistants, smart fridges, washing machines, security systems, and many others that can be either programmable, or even replicated with a couple of boards and our Python knowledge. During this talk, we will start exploring CircuitPython without the need of a physical device, using a microcontroller emulator. If you are new to the microcontroller world, don’t worry, we will have an introduction to the main concepts, so we have the base knowledge to start doing little experiments by ourselves. After the introduction, you will be able to start programming microcontrollers using the emulator or in real life, moreover, you will see a couple of real projects (with real devices!) that could easily be replicated by yourself: a low-cost robot floor cleaner, and a plant watering and monitoring system, as examples. Outline Talk motivation Introduction to Microcontrollers and CircuitPython. How to use an emulator for hardware programming. DIY Home Automation (Real projects) : Low-cost robot cleaner. Watering and monitoring plant system. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Paolo Melchiorre - Django with PostgreSQL superpowers
Django with PostgreSQL superpowers [EuroPython 2021 - Talk - 2021-07-28 - Ni] [Online] By Paolo Melchiorre Every time we’re going to create a new project with Django we make assessments on its requirements to choose the best architecture, of which, the database is usually the core. Django is a database-agnostic web framework but natively supports only 4 Open Source databases: PostgreSQL, SQLite, MariaDB and MySQL. PostgreSQL has the richest feature set of any supported database and some of these features are natively supported directly in Django via its contrib module. In this talk we’ll see how to use to our advantage the features of PostgreSQL as a database in Django, its exclusive features present in its contrib module and also other superpowers that can be exploited through the use of third-party packages. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Nicolò Giso - From telemetry data to CSVs with Python, Spark and Azure Databricks
From telemetry data to CSVs with Python, Spark and Azure Databricks [EuroPython 2021 - Talk - 2021-07-28 - Parrot [Data Science]] [Online] By Nicolò Giso Tenova is an engineering company working alongside client-partners to design and develop innovative technologies and services that improve their business, creating solutions that help metals and mining companies to reduce costs, save energy, limit environmental impact and improve working conditions for their employees. In the context of Industry 4.0, Tenova provides each equipment with a field gateway, named Tenova Edge, to collect telemetry data, perform edge analytics with AI models and send data to the Tenova Platform (hosted on Microsoft Azure) for further elaborations. To develop analytics solutions, data scientists and process engineers need the data in a manageable format. Furthermore, continuous retraining of AI models is necessary to guarantee high performances and reliable results. For all of these reasons, we needed to implement an ETL solution to transform the raw data in formats ready for analysis and retraining. In particular, the key requirement was to convert the JSON Lines files coming from the field in CSV files ready to be used. The CSV files have to satisfy the following conditions: - each file contains the data for a device - only one file for device per day - each file has a midnight row containing for each cell the value recorded at midnight or the last value of the previous day (SPOILER: here it’s where the fun happens!) For this purpose, we have implemented a series of Databricks Notebooks, run daily by Azure DataFactory, that leveraging Pyspark and Pandas manipulates the raw JsonLines files in nicely formatted CSVs. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Carlos Villavicencio - Functional Programming inside OOP? It’s possible with Python
Functional Programming inside OOP? It’s possible with Python [EuroPython 2021 - Talk - 2021-07-28 - Optiver] [Online] By Carlos Villavicencio It is well known that Python 3 is an object-oriented language. But if we look back at the roots of the language, functions as first-class objects were part of the initial design. Recently, functional programming has gained considerable popularity because it is robust, concise, and easier to test. That set of benefits are not only reserved for functional pure programming languages such as Haskell. In this talk, I will run into a series of concepts, such as shared state, pure functions, side effects, and some other functional programming lingo that will help us understand how to use some not well-known Python features influenced by functional principles. We'll see how to implement our functional patterns in the code we write every day. In the end, you will see why this paradigm is relevant right now and why most of the existing languages and libraries actually evolved and keep going in that direction. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Jose Haro Peralta - Documentation-driven development for Python web APIs
Documentation-driven development for Python web APIs [EuroPython 2021 - Talk - 2021-07-28 - Brian] [Online] By Jose Haro Peralta This presentation shows how we can use documentation-driven development to minimise the risk of API integration failures. APIs are the gateways that connect our web applications to the world. Microservices rely on them to work together, and frontend applications use them to connect to our backend. Despite their importance, API integration failures are a daily occurrence. There’re many reasons for this, but a common factor is the lack of API documentation, or the use of bad API documentation. Often, API documentation comes in unstructured formats or in JSON examples, instead of standard formats such as OpenAPI or Schema Definition Language. When we don’t use standards to document our APIs, we give up the whole ecosystem of frameworks and tools built around those standards. Such tools and frameworks are designed to make our lives easier when managing the lifecycle of our APIs. In documentation-driven development, we write the API specification first, and then we implement the API server and the client against the specification. I’ll show how we can use mock servers to test the client while the backend is being developed, and tools like Dredd and schemathesis to validate the backend implementation. I’ll show how we can use these tools in a CI server to validate our code before it’s released. This approach doesn’t eliminate completely the risk of API integration failures, but it helps to minimise it. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Tonya Sims - Faceoff Fun with Python Frameworks: FastAPI vs Flask
Faceoff Fun with Python Frameworks: FastAPI vs Flask [EuroPython 2021 - Talk - 2021-07-28 - Ni] [Online] By Tonya Sims “All the cool kids are using FastAPI for API development.” Imagine hearing this, just as you start getting more comfortable using other frameworks, like Python’s Django or Flask, to build out your API’s. Ladies and gentlemen, there’s a new kid on the block and in this talk there’s going to be an epic faceoff between FastAPI and Flask. What is Flask? Flask is a micro web framework built for Python designed to get your application up and running quickly. It’s lightweight and used by many different well known projects. What is Fast API? Fast API (aka the new kid) is a modern Python web framework that takes all your favorite features from other tools and combines them into one. It was built for speed, rapid development and enhanced developer experience. We’ll do a side by side comparison of the two frameworks including features and code structure, using a REST API. By the end of the faceoff you’ll have a much better understanding of which one you’ll use in your next project. Let’s analyze the pros and cons of each and why you’d use one over the other. You may even find a lot of similarities between the two and some contrast as well. You’ll see different categories of features for the frameworks and a winner will be chosen for each. Finally, no matter which you prefer, FastAPI and Flask are both great choices for API development, so let’s have fun and let the faceoff begin. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Abraham Coiman - Wildfire Modeling in Yosemite National Park
Wildfire Modeling in Yosemite National Park [EuroPython 2021 - Talk - 2021-07-28 - Parrot [Data Science]] [Online] By Abraham Coiman In this talk, we will show you the use of GRASS GIS (Geographic Resources Analysis Support System - Geographical Information System) and other geospatial Python libraries within a Jupyter Notebook to simulate wildfire spread in Yosemite National Park California USA. We will also show you a straightforward workflow to obtain and save input geospatial data for wildfire simulation using Google Earth Engine (GEE) Python API, GeoPandas, and geemap (a Python package for interactive mapping with GEE). GRASS GIS commands are generally run into bash shells, thus in this talk, we will demonstrate how we run GRASS GIS commands from Jupyter notebook to model wildfire behavior and display the resulting maps. We expect the audience has a basic understanding of GIS, Remote Sensing, and Python programming. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Nabanita Roy - Leveraging Linked Data using Python and SPARQL
Leveraging Linked Data using Python and SPARQL [EuroPython 2021 - Talk - 2021-07-28 - Parrot [Data Science]] [Online] By Nabanita Roy Wikipedia is the digital encyclopedia that we use daily to find out facts and information. What could be better than being able to extract the extreme wealth of crowd-sourced knowledge from Wikipedia without using traditional web scrapers? Various community-driven projects extract knowledge from Wikipedia and stores them structurally, retrievable using SPARQL. It can be used to mine data for a range of Data Science projects. In this talk, I will walk through the basics of the Open Web and how to use Python to use this huge open database. The agenda includes the following: • Why Wikipedia? • Introduction to DBpedia and Wikidata • Introduction to Linked Data • How to query DBpedia/WikiData o Build SPARQL Query o Use Python’s SPARQLWrapper • Python Code Walkthrough to create o A Tabular Dataset using SPARQL o A Corpus for Language Models using Wikipedia and BeautifulSoup o An Use-Case leveraging both SPARQLWrapper and Wikipedia to Create Domain-Specific Corpus Prerequisites – Basic knowledge of Python programming, Natural Language Processing, and SQL License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Mar Bartolome - Hiring Demystified
Hiring Demystified [EuroPython 2021 - Talk - 2021-07-28 - Brian] [Online] By Mar Bartolome It's no secret that the hardest problems in computer science are cache invalidation and naming things... oh, and hiring. In our industry we've developed a culture and a mysticism around hiring, with certain rituals and practices which are often so detached from reality that they've even become the subject of jokes and memes. Hiring is a difficult problem, yet important to get right. Many developers are faced with the challenge of hiring other team members, without much clue into how to proceed, and end up just copying the well known rituals without stopping to analyze their effectiveness or implications. Often, this results in hindering both companies and candidates, especially those of under represented demographics. In this talk I'll share my experiences and personal opinions both as a candidate and as an interviewer, analyze the implications of popular hiring tactics, and discuss what I consider effective ones, in order to hire the right developers for your team with minimum hassle for both sides. This talk should be particularly useful to lead developers, managers, or any other engineers that might get involved at any level in the process of hiring other team members. But even if you never plan to hire anyone, this talk can still be very revealing for candidates, as it will give them insight on the rationale of the hiring practices themselves, why people usually fail interviews, and help them recognize when a hiring process is reasonable or not. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Abigail Dogbe - Python in a world of Pan-Africanism
Python in a world of Pan-Africanism [EuroPython 2021 - Keynote - 2021-07-28 - Optiver] [Online] By Abigail Dogbe The use of Python in Africa is widely spread daily. In this talk, I will take you on a journey of what Python means to us in a Pan-African setting, lessons learned from organizing PyCon Africa, the people behind it, challenges we are facing and reflections on what works in our ecosystem. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
EuroPython 2021 - Lightning Talks 07/28
Lightning Talk 1 [EuroPython 2021 - Talk - 2021-07-28 - Optiver] [Online] License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Claudia Comito - Connecting Communities: the Helmholtz Analytics Framework and the making of Heat
Connecting Communities: the Helmholtz Analytics Framework and the making of Heat [EuroPython 2021 - Keynote - 2021-07-29 - Optiver] [Online] By Claudia Comito HPC, Scientific Big Data, co-design, Python: beneath the buzzwords, bringing together academics from the most disparate research fields to work on a common product is no easy feat. What worked, what didn't, and lessons learned from the Helmholtz Analytics Framework experience. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Chin Hwee Ong - Designing Functional Data Pipelines for Reproducibility and Maintainability
Designing Functional Data Pipelines for Reproducibility and Maintainability [EuroPython 2021 - Talk - 2021-07-29 - Parrot [Data Science]] [Online] By Chin Hwee Ong When building data pipelines at scale, it is crucial to design data pipelines that are reliable, scalable and extensible according to evolving business needs. Designing data pipelines for reproducibility and maintainability is a challenge, as testing and debugging across compute units (threads/cores/computes) are often complex and time-consuming due to dependencies and shared states at runtime. In this talk, Chin Hwee will be sharing about common challenges in designing reproducible and maintainable data pipelines at scale, and exploring the use of functional programming in Python to build scalable production-ready data pipelines that are designed for reproducibility and maintainability. Through analogies and realistic examples inspired by data pipeline designs in production environments, you will learn about: What is Functional Programming, and how it differs from other programming paradigms Key Principles of Functional Programming How "control flow" is implemented in Functional Programming Functional design patterns for data pipeline design in Python, and how they improve reproducibility and maintainability Whether it is possible to write a purely functional program in Python This talk assumes basic understanding of building data pipelines with functions and classes/objects. While the main target audience are data scientists/engineers and developers building data-intensive applications, anyone with hands-on experience in imperative programming (including Python) would be able to understand the key concepts and use-cases in functional programming. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Griffith Rees - From Research Project to PyPI Release
From Research Project to PyPI Release [EuroPython 2021 - Talk - 2021-07-29 - Brian] [Online] By Griffith Rees Halfway through my first postdoc it was clear it would be very difficult to submit a paper to a journal before my contract ended. How do I make something useful in the time allotted that keeps me motivated enough to finish a paper after my contract ends (and useful on a CV)? Answer: package my code into a tested library via GitHub, The Python Package Index (PyPI) and Zenodo for citations. Goals: - Pros and cons of rearranging a project for public release (5 min) - Python cookiecutter templates (5 min) - Options for testing (standard library unittest vs pytest) (5 min) - Continuous Integration (Travis vs GitHub Actions) (5 min) - Documentation (5 min) - Release on Zotero for citation (5 min) Prerequisites: - Intermediate Python - Command line License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Eyal Kazin - A Gentle Introduction To Causal Inference
A Gentle Introduction To Causal Inference [EuroPython 2021 - Talk - 2021-07-29 - Parrot [Data Science]] [Online] By Eyal Kazin Correlation does not imply causation. It turns out, however, that with some simple ingenious tricks one can unveil causal relationships within standard observational data, without having to resort to expensive random control trials. I introduce the basic concepts of causal inference demonstrating in an accessible manner using visualisations. My main message for data analysts is that by adding causal inference to your statistical toolbox you are likely to conduct better experiments and ultimately get more from your data. E.g, by introducing Simpson’s Paradox, a situation where the outcome of all entries is in conflict with that of its cohorts, I shine a light on the importance of using graphs to model the data which enables identification and managing confounding factors. This talk is targeted towards anyone making data driven decisions. The main takeaway is the importance of the story behind the data is as important as the data itself. My ultimate objective is to whet your appetite to explore more on the topic, as I believe that it will enable you to go beyond correlation calculations and extract more insights from your data, as well as avoid common misinterpretation pitfalls like Simpson’s Paradox. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Alyona Galyeva - We build a ML pipeline after we deploy
We build a ML pipeline after we deploy [EuroPython 2021 - Talk - 2021-07-29 - Parrot [Data Science]] [Online] By Alyona Galyeva This talk covers the importance of building end-to-end machine learning pipelines from day one. What you will learn: - why we need a machine learning pipeline and when to use it; - ML pipeline building blocks covering training and inference; - engineering around failures and engineering for performance; - ML pipelines debugging and monitoring; - open-source Python libraries to save your time. For whom: - data scientists, data analysts, data engineers, machine learning engineers, data product owners, Python developers, working or willing to work with machine learning. Prerequisites: to get the most out of this talk, Data Science, ML, and Python experience is recommended License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Kautilya Katariya - Computational Complexity Theoretical Foundation on How Long Will Program Run
Computational Complexity Theoretical Foundation on How Long Will Program Run [EuroPython 2021 - Talk - 2021-07-29 - Parrot [Data Science]] [Online] By Kautilya Katariya Online teaching materials enable learning programming at any age. Kautilya, a 7-year-old programmer who has learned his way through multiple courses in Python and Artificial Intelligence, shares his takeaways and examples so that we can learn what he has learned about Computational Complexity. In this talk, he focuses on the time complexity in computational/algorithmic complexity. As he lays out the theoretical foundations of how we formally measure how fast a program or algorithm runs, he teaches us to analyse the amount of time our program creation choices have on how much time program will take to finish. In computer science, the time complexity is the computational complexity that describes the time it takes to run an algorithm. With strong theoretical computer science foundation, he walks us through Big-O, Big-θ, Big-Ω notations for complexity, helps us make sense of it and shows with examples of searching (linear, binary, exponential) and sorting (merge, insertion, selection) how our choices of design of algorithm impact what we experience as time to execute the program. Learn foundations and draw inspiration for learning from the Guinness World record holder on ‘Youngest Computer Programmer’ at the age of 6. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Oliver Cobb - Protecting Your Machine Learning Against Drift: An Introduction
Protecting Your Machine Learning Against Drift: An Introduction [EuroPython 2021 - Talk - 2021-07-29 - Parrot [Data Science]] [Online] By Oliver Cobb Deployed machine learning models can fail spectacularly in response to seemingly benign changes to the underlying process being modelled. Concerningly, when labels are not available, as is often the case in deployment settings, this failure can occur silently and go unnoticed. This talk will consist of a practical introduction to drift detection, the discipline focused on detecting such changes. We will start by building an understanding of how drift can occur, why it pays to detect it and how it can be detected in a principled manner. We will then discuss the practicalities and challenges around detecting it as quickly as possible in machine learning deployment settings where high dimensional and unlabelled data is arriving continuously. We will finish by demonstrating how the theory can be put into practice using the alibi-detect Python library. There are no hard prerequisites for understanding this talk, although background knowledge on machine learning and statistical hypothesis testing might be useful. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Ondrej Urban - Automated Machine Learning With Keras
Automated Machine Learning With Keras [EuroPython 2021 - Talk - 2021-07-29 - Parrot [Data Science]] [Online] By Ondrej Urban During my first steps in the field I was promised that machine learning would be automated from the beginning. Unfortunately, once I’ve outsourced looking for the parameters that best matched my data to the machines, I was instead left with having to look for the hyperparameters that define the best model architecture, all by myself. This often ends up being a lengthy manual process. Is there a way to outsource this bit too? In this talk we will take a look at the automated machine learning libraries Keras Tuner and AutoKeras, which allow the user to create high level templates of deep learning models and use them in automated search for the best hyperparameters. They not only enable speedier development of better models but also make deep learning accessible to a wider pool of people thanks to the abstractions they offer. In the presentation we will go through several iterations of pretending to know progressively less and less about both our data and machine learning in general, and see how these libraries come to our help in creating highly performant deep learning models with a fraction of the effort. It is aimed at a general audience familiar with Python. Knowledge of Keras is a plus but not a requirement - that is kind of the whole point! The repository with a notebook with code examples is available at: https://github.com/ondrejiayc/ep2021automlkeras License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Anna-Lena Popkes - Finding Magic in Python
Finding Magic in Python [EuroPython 2021 - Talk - 2021-07-29 - Optiver] [Online] By Anna-Lena Popkes This talk was inspired by a personal project I worked on a while ago where I created my own magical universe in order to learn and apply Python concepts I hadn’t used before. Some of these concepts are included in the talk in a clear, precise and well-explained manner, including examples from the magical universe. The talk tells a story about how our passions can be used for learning to create something magical. Level: The talk is suited both for beginners and intermediates. It might even contain some new knowledge for professionals. Required knowledge: Only basic Python knowledge is required, all other concepts will be introduced and explained clearly in the talk. The goal of the talk is two-fold: a) the audience should understand that learning becomes much more fun and engaging when they look for a topic they are interested in and use it for learning. b) the presented Python features should become clear such that everyone is able to use them in future projects or come back to the talk if they need a well-explained reference. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Meredydd Luff - Writing Better Documentation for Developers
Writing Better Documentation for Developers [EuroPython 2021 - Talk - 2021-07-29 - Optiver] [Online] By Meredydd Luff If you're building something for developers, you want it to get used. This means your potential users need to find your library, framework, or API. They need to work out whether it's useful for them, learn how to use it, and solve problems they encounter along the way. All these things depend on your developer docs! This talk is about important functions of your developer docs that you might not think about, some particular pitfalls of documenting things for developers, and how we can make things better. -- Your docs are content marketing. Your prospective users are out there, Googling "how to [what your product does]", and your docs are the answer. Your docs define your product. When a developer is evaluating your project, this is what they're reading. Your docs are your user interface. Developers using your API aren't looking at your website - they're looking at your docs, and their code. So let's look at some "dos and don'ts": Do know what type of doc you're writing. Tutorials are not the same thing as reference docs. I'll walk you through a useful framework for thinking about types of documentation. Don't confuse reference docs and API docs. Merely enumerating the classes, methods and functions of your API isn't enough to describe its behaviour. I'll explain why it's tempting, and why it's a bad idea! Do make it easy to navigate between types of documentation. Your user is on a journey, from "what should I use?" to "how do I use it?" to "what arguments does this function take?". Make it easy for them. Do talk to your users. They will tell you where the weaknesses in your docs are. Even better: have a public Q&A forum, where deficiencies in your documentation get found and filled in, and the long tail takes care of itself. Your docs are your UI, your marketing and the definition of your product - so act like it! License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Daniel Moisset - Pattern Matching in Python
Pattern Matching in Python [EuroPython 2021 - Talk - 2021-07-29 - Optiver] [Online] By Daniel Moisset When Python 3.10 comes out in October 2021, it will include a new feature called “Structural Pattern Matching”. Structural Pattern Matching has been a staple of functional programming languages, but it has recently appeared or been proposed as future additions to imperative and OOP programming languages (like JavaScript, C++, and Rust). It provides an elegant way of processing and deconstructing heterogeneous data structures, and it enables an alternative paradigm to method dispatch. As one of this feature's contributors, my goals in this presentation are to describe the motivation for this new functionality, present some of the problems that its use will effectively solve, and give a brief introduction of how to use it. This talk is aimed at intermediate Python developers (although a beginner will be able to understand it). After attending you should be able to understand not just how to use pattern matching, but also when it’s a good idea to use it and what are the possible pitfalls to avoid. There will be a Q&A session which could be a good chance to discuss your questions about why certain design decisions were made when introducing pattern matching into Python License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Emmanuelle Delescolle - Writing a python web framework in 2021
Writing a python web framework in 2021 [EuroPython 2021 - Talk - 2021-07-29 - Optiver] [Online] By Emmanuelle Delescolle Django, Flask and Pyramid are among the most popular Python web frameworks and for good reasons. But... Those projects are over 10 years old and tied to decisions made at the time of the first commit. The fact the web was a server-rendered world of request/response cycle is a big part in those decisions. Today's web has shifted with a special attention to API's and websockets. It still needs to care for the "regular" server-rendered page but it is not its only focus anymore! Not only that, but (well-documented) tools are available today that were not there 10 years ago. So, if you wanted to write the next big webframefork in 2021, what tools and libraries would be at your disposal? Somewhat ironically, those 3 main frameworks I mentioned have given rise to, or at least inspired some, "derivate" standalone libraries like ORM's, or schema serializers that can be used by a third party framework. Other libraries have also spawned as ports from other languages and, finally, the python WSGI ecosystem (like middlewares) has also grown in that time frame. So, is writing a python web framework in 2021 mostly a matter of picking up existing tools and putting them together? Let's take a closer look! License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Reuven Lerner - Generators, coroutines, and nanoservices
Generators, coroutines, and nanoservices [EuroPython 2021 - Talk - 2021-07-29 - Optiver] [Online] By Reuven Lerner Generator functions have been a part of Python for many years already, and are a well known technique for creating iterators. But generators have a few lesser-known aspects, including their “send” method and the “yield from” syntax. Many Python developers shy away from using them, unsure of what they would do, or how they would be useful — seeing coroutines as a solution looking for a problem. In this talk, I’ll tell you why coroutines can be useful, and how thinking about them as in-process “nanoservices” puts us in the right frame of mind to determine when they would and wouldn’t be appropriate. Among the topics we’ll explore are: Generator function basics next vs. send How to build a coroutine Thinking of coroutines as nanoservices Sub-coroutines The need for yield from Using yield from Ideas for general usage License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Yoichi Takai - Getting Started with Statically Typed Programming in Python 3.10
Getting Started with Statically Typed Programming in Python 3.10 [EuroPython 2021 - Talk - 2021-07-29 - Optiver] [Online] By Yoichi Takai Goals of this session - Basic usage of type hint - What's new in 3.10's typing modules - Best practice for developing with type hint Detail I'll talk about static-typing programming in Python with the "typing" standard module. In 2015, it appeared in Python 3.5, but it has only become common in the last few years. However, over the years, there have been several big PEPs adopted and updated. Even now, I think many people don't know where to start because there is little coherent information. I'll also talk about this: - Improving developing experiences throw taking advantage of the typing inference engine - Perspectives on code reviews. I have been - Used type hints for almost two years in production - Learned Haskell and typescript Let me introduce the audiences to type hints based on those experiences. The timeline of the talk is: 1. Self-introduction, Overview of this session [5min] 2. Why do I talk about typing? [5min] 3. Introduction of typing, How to write basically (Most significant) [10min] 4. Generics, User-Defined types (Best practice included) [10min] 5. Backward compatibility for 3.9 or before [5min] 6. Updates overview on 3.10 [10min] Technical Requirements for audience - Basic knowledge of Python 3.x grammar - Experiences developing in statically typed language - Optional, not required License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Marc-Andre Lemburg - Thoughts on the Future of Python
Thoughts on the Future of Python [EuroPython 2021 - Talk - 2021-07-29 - Optiver] [Online] By Marc-Andre Lemburg Python has come a long way since it was created in 1989. The talk will look into the current state, upcoming changes and explore possibilities for its future development, both at a language and application level. The talk looks at Python's development from a higher level point of view, using a more business oriented approach and analyzing the perspective from a corporate C-level user. It's an updated version of the talk I've given at Driving IT 2020 and include more recent developments: https://ida.dk/viden-og-netvaerk/videoer-fra-ida/kategorisider/videoer-it-og-innovation/driving-it-talks-thoughts-on-the-future-of-python License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Zac Hatfield Dodds - Stop Writing Tests!
Stop Writing Tests! [EuroPython 2021 - Talk - 2021-07-29 - Optiver] [Online] By Zac Hatfield Dodds We often think of manual testing as slower and less effective than automated testing, but most test suites haven't automated that much! Computers can execute all our pre-defined tests very quickly - and this is definitely a good thing, especially for regression tests - but the tricky parts are still done by humans. We select test cases (inputs) and check that the corresponding outputs make sense; we write functions that "arrange, act, and assert" for our tests; and we decide - or script via CI systems - which tests to execute and when. So lets explore some next-generation tools that we could use to automate these remaining parts of a testing workflow! PROPERTY-BASED TESTING helps you to write more powerful tests by automating selection of test cases: instead of listing input-output pairs, you describe the kind of data you want and write a test that passes for all X.... We'll see a live demo, and learn something about the Python builtins in the process! CODE INTROSPECTION, and a handy templating tool, can help write tests for you. Do you need to know any more than which code to test, and what properties should hold? ADAPTIVE FUZZING tools take CI to its logical conclusion: instead of running a fixed set of tests on each push, they sit on a server and run tests full-time... fine-tuning themselves to find bugs in your project and pulling each new commit as it lands! By the end of this talk, you'll know what these three kinds of tools can do - and how to get started with automating the rest of your testing tomorrow. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
David Bordeynik - Moving Fast with FastAPI
Moving Fast with FastAPI [EuroPython 2021 - Talk - 2021-07-29 - Optiver] [Online] By David Bordeynik FastAPI is the new kid on python’s web frameworks block. Don’t let its novelty fool you - it is feature packed and it has top notch documentation. In this talk, we’ll build an application using FastAPI - leveraging our knowledge from existing frameworks. We’ll see how the “fast” FastAPI is for fast development. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
A. Jacob, S. Crocquevieille, R.Meson, M. Levisalles, B. Le Bars - Tech for Good
Tech for Good: Build the world you want to live in [EuroPython 2021 - Talk - 2021-07-29 - Ni] [Online] By Alexys Jacob, Sébastien Crocquevieille, Romain Meson, Margaux Levisalles, Brieuc Le Bars Through its 1000mercis Impacts initiative, Numberly has been actively working with tech and non tech associations over the years for social, environmental and educational causes. As part of these commitments, we want to hand over the stage of this talk to some of our close partners. - Margaux from Latitudes.cc will introduce you to the various ways technology can be used for general interest. - Brieuc from Code Phoenix will share his great experience in coding teaching in prisons to help rehabilitation. - Souad from Descodeuses will explain how her association drives more women from disadvantaged neighborhoods in tech jobs. This talk is for all of you who are curious to know how to use your skills for a greater good. Join us to hear and share about Tech for Good! License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Gajendra Deshpande - Build Your First Cyber Forensic Application using Python
Build Your First Cyber Forensic Application using Python [EuroPython 2021 - Talk - 2021-07-29 - Ni] [Online] By Gajendra Deshpande A recent study by CheckPoint Research has recorded over 1,50,000 cyber-attacks every week during the COVID-19 pandemic. There has been an increase of 30% in cyber-attacks compared to previous weeks. The pandemic has been the main reason for job loss and pay cuts of people and has led to an increase in cybercrimes. Examples of cyber-attacks include phishing, ransomware, fake news, fake medicine, extortion, and insider frauds. Cyber forensics is a field that deals with the investigation of digital crimes by analyzing, examining, identifying, and recovering digital evidence from electronic devices and producing them in the court of law. Python has a great collection of built-in modules for digital forensics tasks. The talk begins with an introduction to digital crimes, digital forensics, the process of investigation, and the collection of evidence. Next, I will cover the various python modules and built-in functions required to build your first cyber forensic application. The modules covered in the discussion are pyscreenshot, PIL, secrets, argparse, hashlib, os,csv, logging, time, sys, stat and NLTK. Finally, I will demonstrate using code walk through the sample cyber forensic application. Outline 1. Introduction to digital crimes, digital forensics, the process of investigation, and the collection of evidence. (03 Minutes) 2. Setting up Python for forensics application development (02 Minutes) 3. Built-in functions and modules for forensic tasks (05 Minutes) 4. Forensic Indexing and searching (03 Minutes) 5. Forensic Evidence extraction (03 Minutes) 6. Using Natural Language Tools in Forensics (05 Minutes) 7. Code walkthrough of sample forensic application (08 Minutes) 8. Conclusion and Next steps (01 Minutes) 9. Questions and Answers (05 Minutes) License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Marc-Andre Lemburg - EuroPython 2022: Help us build the next edition!
EuroPython 2022: Help us build the next edition! [EuroPython 2021 - EuroPython session - 2021-07-29 - Ni] [Online] By Marc-Andre Lemburg License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Christoph Dr. Zimmermann - Adventures in Real-time Python NoSQL-style
Adventures in Real-time Python NoSQL-style [EuroPython 2021 - Talk - 2021-07-29 - Ni] [Online] By Christoph Dr. Zimmermann The presentation introduces RedisGears, a novel approach to Python programming on the server side of an open source real-time NoSQL database. Ten years in the making, redis has achieved a significant following among the community concerned with ultra-fast processing of NoSQL-based data. With the advent of modules a few years back, redis can be further extended to bridge the gap between the comprehensive set of data structures already offered by the server core and application-specific requirements such as graphs, timeseries data or full-text search capabilities. RedisGears is such a module. At its core, it offers a flexible infrastructure allowing the combination of different modules in addition to scheduling, mapping, filtering and other functionality to process data on the server side. In addition, it allows the execution of Python code on server side, yielding an ultra-performant and flexible approach to the implementation of business logic as part of an application code base. The presentation is structured as follows: after a short introduction to redis, the main architecture of RedisGears is discussed in addition to an overview of how to use Python with RedisGears. Benchmark figures detail the performance benefits from such an approach. The focus of this presentation is not only the theory behind approach but rather hands-on, using code examples wherever possible. A basic understanding of Python is required for this presentation, basic redis exposure and general NoSQL know-how optional but beneficial. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Ruud van der Ham - Sweeter debugging and benchmarking with ycecream
Sweeter debugging and benchmarking with ycecream [EuroPython 2021 - Talk - 2021-07-29 - Ni] [Online] By Ruud van der Ham Even if you use a debugger, it is often required to print some variables or expressions, preferably with their name and sometimes even the location. The normal way to do that is with a print statement, like | print("hello= ", hello) or with Python >= 3.8: | print(f"hello=") Ycecream makes this easier with a simple call to y: | y(hello) and then you will get | y| hello: "world" But you can also add the location in the program where this debug call is coming and get something like | y| #6 in testproc() hello: "world" But ycecream can do much more to help to debug and benchmark Python programs. In this presentation, I will live code to demonstrate ycecream, There are some similar packages out there, like IceCream and show. In this talk I will point out some of the main differences. More information can be found here: www.github.com/salabim/ycecream License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Kir Chou - Learn from LL(1) to PEG parser the hard way
Learn from LL(1) to PEG parser the hard way [EuroPython 2021 - Talk - 2021-07-29 - Ni] [Online] By Kir Chou Detailed description In late 2019, Guido van Rossum wrote a series of articles about PEG parser and gave the talk "Writing a PEG parser for fun and profit" in a couple of conferences, such as North Bay Python, mentioned the motivation of his research and prototype of PEG parser. In late 2020, other authors of PEP 617, Pablo Galindo and Lysandros Nikolaou, (created around mid of 2020) were interviewed on Podcast.init to talk about the result of the new PEG parser in CPython. Above contents assume the audience with solid compiler fundamental knowledge, but the fact is most People, including this talk's speaker, are not specialized in compiler. And another fact is most of the compiler class in school around the world only covers traditional top-down and bottom-up parsing techniques, not to mention PEG parser that appeared in the early 2000s. For the above reasons, the speaker will stand on the shoulders of giants and share his hard way after a few months of study. He will talk about the fundamentals of Parser (part of compiler frontend), including CFG, traditional parsing techniques, PEG, Packrat parser, and PEG parser in CPython. Objective If you have zero compiler background, you can at least learn the frontend compiler knowledge and how it is used in Python. If you have learned fundamental compiler knowledge in university, this talk will make you recall the traditional top-down and bottom-up parser in the class, and additionally add some relatively new ideas that appear in the early 2000s. If you are a compiler master and know the Packrat parsing research done by Bryan Ford, this talk may still provide you a brief idea about the reason why Guido van Rossum picked LL(1) initially, and PEG parser later. Outline - Opening + Self-intro - Motivation - What is parser in CPython? - Parser 101 - CFG - Parser 101 - Traditional top-down/bottom-up parser - Parser 102 - PEG and PEG parser - Parser 102 - Packrat parser - CPython’s PEG parser - Take Away License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Prakshi Yadav - Data lake: Design for schema evolution
Data lake: Design for schema evolution [EuroPython 2021 - Talk - 2021-07-29 - Parrot [Data Science]] [Online] By Prakshi Yadav Designing a data lake necessitates well-researched storage, management, scalability, and availability solutions. However, managing schema evolution remains a difficult task. The structure of data differs from one company to the next, making it difficult to generalize a solution to the schema evolution problem. At Episource, we faced a similar challenge - our data of interest is the output from our NLP engine. Episource's machine learning and natural language processing platform processes millions of pages of medical documents, with up to 15 ML/DL models working together to produce the results. The result of such a challenging pipeline is a complex nested JSON series. With each major update, our NLP engine evolves, causing the inference data structure to evolve as well. As data grew in size and complexity, storing it and making it searchable became a pressing necessity. We needed a solution that kept schema compatibility, versioning, and data integrity intact. We wanted to make sure data reads and writes were unaffected by the Schema mismatch problem. After several iterations and proofs of concept, we settled on a solution that uses the AVRO format to evolve our data's schema. Avro is a format similar to Parquet but can also accommodate schema evolution. To keep track of changes made to the system, schema versions are saved in a Schema registry. To read the AVRO data stored in S3, our data lake uses Athena, a distributed SQL engine based on Presto. The solution makes use of python libraries to glue various components of this pipeline. The following are some of the things that a participant can expect to learn during this talk: In a data lake, best practices for storage, control, scalability, and availability Managing schema evolution in a data lake The ability to use both "schema-on-write" and "schema-on-read" License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Jon Nordby - Sound Event Detection with Machine Learning
Sound Event Detection with Machine Learning [EuroPython 2021 - Talk - 2021-07-29 - Parrot [Data Science]] [Online] By Jon Nordby Sound Events (or Audio Events or Acoustic Events) are individual distinct sounds. This could be the pop of roasting popcorn kernels, the cough of a patient, a car that is passing by on a road, or the sound of an alarm in an office building. Sound Event Detection (SED) is the task of detecting such sounds, returning precise times that each kind (class) of sound occurs. It finds uses in music analysis, manufacturing, medicine and noise monitoring. We will show how to realize a basic Sound Event Detection system in Python, using fermentation tracking of beer brewing as a fun and practical example. The talk will cover all major parts of such a system, including: - Collecting and exploring a custom dataset - Setting up the supervised learning task from the dataset - Extracting spectrogram features from audio waveforms - Training a Convolutional Neural Network (CNN) and Recurrent Neural Network (RNN) - Running the trained model on an real-time audio stream - Processing model output probabilties into discrete events - Evaluate the performance of the resulting SED system Example code in Python covering these aspects will be provided. Libraries used with be Keras, TensorFlow and scikit-learn for machine learning, and pysoundfile, sounddevice and librosa for audio processing, with some numpy and pandas for general data manipulation. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Tarik Berrada - The Optimal Wedding (With Pyomo)
The Optimal Wedding (With Pyomo) [EuroPython 2021 - Talk - 2021-07-29 - Ni] [Online] By Tarik Berrada Your parents haven’t talked to each other for years. Your uncle Sam went to the same university as Mr. Finkelstein, while the Trautsohns share a common interest for photography with the Krazinskis. The N’Guyens had Covid, while the Lefebvres aren’t even vaccinated. You would like to achieve a reasonable mix of people knowing each other and of new acquaintances. How are you supposed to arrange the seating of the guests? Besides wedding planning, mathematical optimization has a wide range of applications including logistics, chemistry, energy system operation, genetics… In this talk, we’ll present how mathematical optimization problems can be formulated, fed with data and solved in Python using the open-source Pyomo package (http://www.pyomo.org/) and open-source optimization solvers such as the COIN-OR Branch-and-Cut Solver. This talk is aimed at a general audience familiar with Python and requires no mathematical optimization background, nor actual wedding experience. The repository to this talk: https://gitlab.com/Rikerl/optimalwedding License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Harsh Bardhan - Build Serverless Python Applications using AWS Chalice
Build Serverless Python Applications using AWS Chalice [EuroPython 2021 - Talk - 2021-07-29 - Ni] [Online] By Harsh Bardhan With the rise of Serverless Applications, Developers now focus on developing the Code Logic and allow their Cloud Service Provider to focus on the deployment. Serverless exactly doesn’t mean that there are no servers. It just means that we don’t need to provision and maintain them. The Cloud Service Provider takes care of packaging and deployment almost instantaneously. Amazon Web Services (AWS) released an interesting Micro Web-Framework named: Chalice. It features everything would want from a Serverless Framework to develop and deploy applications using Python. With an easy to understand syntax, a unified Command Line Interface to create and deploy applications with ease of development experience, Chalice is a must. The talk would introduce you to the Serverless Environment on Amazon Web Services and how you can develop and deploy Python-based Production Grade RESTful API Services using Chalice. What is Serverless? Background to AWS Lambda Setting up a Project on Chalice Developing a REST API Service Deploying the Application on AWS Testing the API By the end of the talk, we will learn how you can run your Code on Serverless Platforms like AWS. We will also have set up an API on AWS tied up with various other AWS Services at ease. Finally, we will be taking a look at how Chalice aims to improve the developer experience with ease through the intuitive use of Serverless Technologies. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Shruti Mishra, Sonal Deshmukh, Gourika Sood - Building Application using Flutter and Django
Building Application using Flutter and Django [EuroPython 2021 - Talk - 2021-07-29 - Ni] [Online] By Shruti Mishra, Sonal Deshmukh, Gourika Sood The proposed project is both a web and a mobile application. The web application makes use of the Django framework for its structure and backend. The mobile application uses Flutter, which is a cross-platform for both iOS and Android. The basis of the application would mainly be concerned as use for Educational Institutes. The application also projects an important feature, that is, Smart Attendance System. The proposed system keeps track of attendance using barcodes. It uses openCV to scan the barcodes. System stores student attendance details and generates a brief report for the administrator. The libraries used for the project are: openpyxl, cv2, pyzbar, xlsxwriter. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Scott Irwin - A Hitchhiker’s Guide to functools
A Hitchhiker’s Guide to functools [EuroPython 2021 - Talk - 2021-07-29 - Brian] [Online] By Scott Irwin One of the concepts we learn early in our Python journey is functions. However, Python’s idea of functions goes beyond basic functions; it also supports the idea of higher-order functions - functions that act on or return other functions. Higher-order functions are useful, powerful, and can save a lot of typing. So, of course, Python’s standard library contains a module of higher-order functions waiting to be used (hint: its called functools). In this talk, we will explore functools and look at how its functions can be used to enhance and improve our code. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Gina Häußge - Driving 3D Printers with Python
Driving 3D Printers with Python [EuroPython 2021 - Talk - 2021-07-29 - Brian] [Online] By Gina Häußge With OctoPrint I've created an open source web interface for consumer 3d printers that allows to control all aspects of the printer and ongoing print job and is extensible by plugins. OctoPrint is written in Python and installed by end users on their own devices. In this talk I want to provide some insights into the various challenges of developing and maintaining such a piece of end user facing software in Python and how I tackled them. I have found that maintaining software targeted at end users that are not necessarily very tech affine in general can be a somewhat challenging experience with unique problems that you wouldn't expect when developing software for more tech affine groups. I want to share my experiences so that others may learn from them and hopefully also don't repeat my mistakes. No knowledge about 3d printing or particular Python tooling is required. This is an updated edition of my talk of the same name at PyCon.DE 2019. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Vinicius Gubiani Ferreira - Python Anti-Patterns
Python Anti-Patterns [EuroPython 2021 - Talk - 2021-07-29 - Brian] [Online] By Vinicius Gubiani Ferreira Most people heard at least once or focused really hard on studying design patterns. But did you know there are also lots of anti-patterns we should try to avoid? In this talk I intend to present some of the most known anti-design patterns that we'll promise never to use ... but for some reason or slip end up using it anyway. I will start showing more generic anti-patterns that apply to all languages and software in general, and move on to Python specifics, by using The Little Book of Python Anti-Patterns. Since there will be Python code, attendees should fell confort with some basic to intermediate Python knowledge. For example: know about classes, constructors, parameters/arguments, etc. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Or Weis - Python RPC and PubSub over Websockets
Python RPC and PubSub over Websockets [EuroPython 2021 - Talk - 2021-07-29 - Brian] [Online] By Or Weis Modern distributed software doesn't stop at your VPC. Edge deployed software needs realtime communications, updates, and state sync. It needs RPC and PubSub over the web. Lets make it open-source. In this talk we'll cover the need for over-the-web realtime RPC and PubSub, why we needed and created it for our OpenPolicyAgent realtime updates layer, along side: - The challenges that the implementation faced - Pro/Cons of realtime update channels - Common use cases (updates, sync, event propagation, distributed computing, authorization, ...) - Additional awesome Python open-source we used in this solution (FastApi, Tenacity, broadcaster, ...) - How to use the open-source packages we shared. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Andreas Klostermann - Heartbeats for Hackers
Heartbeats for Hackers [EuroPython 2021 - Talk - 2021-07-29 - Brian] [Online] By Andreas Klostermann Pulse sensors have found their way into a surprising number of devices, and they are useful in many kinds of contexts, most of all in medical ones. This talk will cover mostly "electrocardiography", the electrical way to listen to your heart. I will cover briefly how the heart works, how ECG sensors work and how to build a simple ECG with an Arduino or similar microcontrollers. Then I will show you a bit about how to analyze such data and do some machine learning. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Bojan Miletic - Dependency Injection: Stealing Cool stuff from the Weird Kids
Dependency Injection: Stealing Cool stuff from the Weird Kids [EuroPython 2021 - Talk - 2021-07-29 - Brian] [Online] By Bojan Miletic While dependency injections is widely used in other programming languages, it's a design pattern that is nowhere near as popular in Python. During this talk I would like to introduce you to this concept and show you how it can improve your engineering skills. I would also like to share couple of examples and ways you can implement them in python. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
lil anonymous - Creating the Next Generation of Billionaires-Part 3
Creating the Next Generation of Billionaires-Part 3 [EuroPython 2021 - Talk - 2021-07-29 - Brian] [Online] By lil anonymous Our generation of young people in school (aged 5-18) have noticed the connection between Computer pRogramming, Technology, Bitcoinsm Success and Billionaires. On mass young people are clamouring to master the skill of Computer pRogramming. It has been dubbed the ‘4th’ R’ (computer pRogramming) along with Reading, wRiting and aRithmetic. So, governments worldwide have launched initiatives to have it taught in schools from Kindergarten to all the way to high school. And now young people are successfully mastering this skill. Now, not wishing to be left out of these exciting modern developments; the mums’ and dads’ of these young people are also expressing an interest to master this skill. The mums’ and dads’ would like to be a position to help their children in this subject. Hence, I have started a free online simple course on this topic for mums’ and dads’. This talk will describe a case study whereby Computer Programming (Python) was introduced for the first time to a group of adults, the mums’ and dads’ of school age children. The talk will include descriptions of the various teaching methodologies & the outcomes; the challenges & joys involved; & the similarities and dissimilarities between teaching the parents and their children. The talk will conclude with helpful suggestions, on how to proceed in this area. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Kimberly Arcand - Our Universe through Sight, Sound & Touch
Our Universe through Sight, Sound & Touch [EuroPython 2021 - Keynote - 2021-07-29 - Optiver] [Online] By Kimberly Arcand Information of our Universe doesn't have to be just a two-dimensional snap shot. We can transform these data to be able to listen, feel, or (virtually) move through cosmic objects. Listen to the debris from an exploded star, walk through the core of our Milky Way in virtual reality, feel vibrations of a stellar nursery, and experience our universe anew. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
EuroPython 2021 - Lightning Talks 07/29
Lightning Talk 2 [EuroPython 2021 - Talk - 2021-07-29- Optiver] [Online] License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
M. Ristin, P. Schanely, L. De bruyn - Automatic Testing of Python Functions Based on Contracts
Automatic Testing of Python Functions Based on Contracts [EuroPython 2021 - Talk - 2021-07-30 - Brian] [Online] By Marko Ristin, Phillip Schanely, Lauren De bruyn Good programs are correct programs. Testing is an indispensable tool making sure that the software we produce is correct. The bulk of today’s Python programs are tested using unit tests, on a case-by-case basis. While unit tests are important, thorough tests are tedious to write. A lot of edge cases need to be considered and human errors easily slip in. The edge cases are often simply omitted, e.g., for the lack of time. However, this leaves a lot of untested holes in the program. Instead of hunting for edge cases, what if we specified the behavior of a function and let the development tools test it for us? In this talk, we first look into how to specify the behavior of functions using contracts, i.e. the properties of the input and the output of a function. The contracts can reduce the amount of testing code, and allow the developer to focus on more tangible pieces of code, namely defining the behavior. Next, we examine two of our tools for automatic testing based on contracts (crosshair and icontract-hypothesis). We show how they can be used in everyday programming with little additional effort. A corpus of programs (Python-by-contract) is introduced to evaluate where the tools shine and what limitations they hit. Finally, we show how to use the tools in the classroom to help students with debugging, providing hopefully a better educational experience. The talk is aimed at Pythonistas familiar with lambda functions, Boolean logic (“and”, “or”) and quantifiers (“all”, “any”). License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
G. Grosch, F. Lässig - Darts: Unifying time series forecasting models from ARIMA to Deep Learning
Darts: Unifying time series forecasting models from ARIMA to Deep Learning [EuroPython 2021 - Talk - 2021-07-30 - Parrot [Data Science]] [Online] By Gael Grosch, Francesco Lässig Time series are everywhere in science and business, and the ability to forecast them accurately and efficiently can provide decisive advantages. For much of its history, time series forecasting has mostly been relying on "classical" statistical methods such as ARIMA. These methods work very well in many cases, but they are not appropriate for capturing patterns in large quantities of data. Very recently, some deep learning techniques have been proposed as a way to build very advanced and accurate models from large quantities of time series data. In our work, it has become very important to quickly develop and compare these new learning based methods against the more established statistical ones. Unfortunately there were no easy way to do that in Python and that is why we developed Darts. Darts is an open-source Python library that provides ready-to-use implementations of all sorts of forecasting models under a unified and simple API. It puts emphasis on reducing the experiment cycle duration and improving the ease of using, comparing and combining different models. In this talk, we will give a tour of Darts and show how it can be used to obtain great forecasting results in few lines of code. Goal of the talk: Introduce how one can tackle forecasting problems Overview of best practices from pre-processing to backtesting Obtain great results quickly in few line of codes Pre-requisites: Basic knowledge of Python and Pandas Intermediate knowledge of DS/ML License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Michał Wodyński - Python security best practices
Python security best practises [EuroPython 2021 - Talk - 2021-07-30 - Optiver] [Online] By Michał Wodyński Have you ever have a feeling that you are able to write code that solves problem but your not sure whether is safe? How much of your time you spend on investigating whether your code is not vulnerable ? Do you know what kind of risks you can face during parsing XML files? If those questions appeared into your mind this presentation will clarify your doubts and bring your skills closer to writing more safe code. There are many repeatable routines during developing code like: saving user data, reading files or pickles. Those routines can lead to a drop in vigilance which may lead to very terrible consequences for our application or data. During presentation I will explain what are aims of the attackers and go through security issues that can appear in: • not verified user input, • parsing XML, • assert statements, • using temporary files, • reading yaml and pickles and I will compare it OWASP TOP 10. In each of this topics I will: • show examples of codes that can break your application, • describe what are the risks and how to solve it, • talk about tools that help detect issues in your code, • present XML libraries overview which shows what specific library is vulnerable for. Major of presentation will be focused on XML issues as it is wide problem not only in Python language. If you want to increase your programming security skills, see how certain attacks can be performed and how to defend against them this presentation is for you. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
David Beazley - No, not typing. Types.
No, not typing. Types. [EuroPython 2021 - Keynote - 2021-07-30 - Optiver] [Online] By David Beazley While biking through the forest preserve on a dark December morning, I found myself suddenly staring face-to-face with Bambi. Picking myself off the ground with a broken wrist and an assortment of broken fingers, I embarked on an unexpected journey of discovery. Then the pandemic hit. In this talk, I provide a trip report. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Julian Camilleri - Building a clean, maintainable and tested code base
Building a clean, maintainable and tested code base [EuroPython 2021 - Talk - 2021-07-30 - Optiver] [Online] By Julian Camilleri An introduction to how to write clean code (type hinting, docstrings, inline comments et cetera) and supporting the clean code with maintainable project structure and unit tests. Goals - with comparisons/examples: What's clean, maintainable code? (type hinting, docstrings, inline comments et cetera) What's a clean, navigatable project structure? Should the tests package be nested into each package? Should my 'tests' package structure mirror the project structure? (for easy navigation of which module/package is being tested) (Testing) What should I test and what shouldn't I test? (Testing) When should I mock and when shouldn't I? (Testing) Writing clean test cases (Testing) Using pytest to utilize parametrize to test multiple combinations, whilst keeping a clean codebase License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Kirill Borisov - Code From Nothing: Procedural Generation of Python Source Code
Code From Nothing: Procedural Generation of Python Source Code [EuroPython 2021 - Talk - 2021-07-30 - Ni] [Online] By Kirill Borisov This talk will be about using Hypothesis and tools derived from it to test existing Python linters and fixers. While it is possible to test them by using hand-crafted pieces of code, sheer expression power of Python makes it very hard to think about every corner case that can be encountered. Even mature, widely-used tools like black or (gasp!) Python parser still manage to get it wrong. So what be can done about that? Who can help you? Why would you even care? Look no further than this talk for answers. This talk is primarily for people who are interested in working on tools that analyze source code in general and Python source in particular (e.g. flake8, libcst). It shows novel ways in which such tools can be tested and delves a little bit into how source-code fuzzing using Hypothesis works. It would help if the attending person has some knowledge about parsers and programming language design, but ultimately it is not required as a barebones explanation will be provided. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Joost Lek - How I helped fly a helicopter on Mars
How I helped fly a helicopter on Mars [EuroPython 2021 - Talk - 2021-07-30 - Brian] [Online] By Joost Lek Open source code is the foundation for a lot of my own work, but of course also the work of others. And the beauty of open source is you never know where your contributions end up. This story begins in the summer of 2019 when I wanted to see if I could contribute to the python project I’ve been using so much. In this talk I’ll walk you through the challenges I faced making my first contribution to cpython, picking a bug and squashing it. I’ll end the talk explaining the title: after viewing the 2020 mars helicopter fly on the red planet I realized I have a new badge on my github page. I never started out thinking I could have my code flying in space, let alone flying on mars. But it does. I hope to inspire others to step over the hurdle and contribute back to the open source tools they use. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Lim H. - Reproducible and Deployable Data Science with Open-Source Python
Reproducible and Deployable Data Science with Open-Source Python [EuroPython 2021 - Talk - 2021-07-30 - Parrot [Data Science]] [Online] By Lim H. Data scientists, data engineers and machine-learning engineers often have to team together to create data science code that scales. Data scientists typically prefer rapid iteration, which can cause friction if their engineering colleagues prefer observability and reliability. In this talk, we'll show you how to achieve consensus using three open-source industry heavyweights: Kedro, Apache Airflow and Great Expectations. We will explain how to combine rapid iteration while creating reproducible, maintainable and modular data science code with Kedro, orchestrate it using Apache Airflow with Astronomer, and ensure consistent data quality with Great Expectations. Kedro is a Python framework for creating reproducible, maintainable and modular data science code. Apache Airflow is an extremely popular open-source workflow management platform. Workflows in Airflow are modelled and organised as DAGs, making it a suitable engine to orchestrate and execute a pipeline authored with Kedro. And Great Expectations helps data teams eliminate pipeline debt, through data testing, documentation, and profiling. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Miki Lombardi - A crowdsourced map for checking supermarket wait times worldwide
A crowdsourced map for checking supermarket wait times worldwide [EuroPython 2021 - Talk - 2021-07-30 - Ni] [Online] By Miki Lombardi In March 2020 the world is completely blocked and people are lining up to shop or to the pharmacy or to buy basic necessities. There have been many initiatives and among these I have created a worldwide map that allows anyone to check the estimated waiting times of supermarkets, pharmacies and places of interest. In addition to this, I gave people the opportunity to check waiting times and correct them through a crowdsourcing mechanism. All this, to be fast in development and in responding to requests, has exploited Redis with its geospatial indexes. The opensource project has obtained more than 2Mln visits in about 3 months of life, until June 2020 when the pandemic slowed down. In this talk we will see the architecture and the problems I encountered and solved with Redis, uWSGI, Flask and how I scaled up the project from a Raspberry to 4 VPS dislocated in Europe and America region. The main objective of this talk is to introduce problem solving through the various technologies of Python and other tools (such as Redis) and the logical / creative process that I had to go through. Other objectives are to encourage collaboration and the sharing of ideas or open source projects to allow you to collaborate between different communities and people without fear of making mistakes or showing your code. It is thanks to the open source community that this project has been possible. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Roberto Polli - Designing secure APIs
Designing secure APIs [EuroPython 2021 - Talk - 2021-07-30 - Brian] [Online] By Roberto Polli Goal Improve the security design of APIs using provided tools and guidelines. Audience Developers and designers with a basic knowledge of HTTP and OpenAPI Agenda 2 slide introduction towards API security; API security rules overview: a short json is not simple (i-json, structured fields, ...); look at that (json-)schema; What The ... JWT; rate-limiting. Enforcing rules with OpenAPI and static analysis tools License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Harshit Prasad - High Performance Data Processing with Python, Kafka and Elasticsearch
High Performance Data Processing with Python, Kafka and Elasticsearch [EuroPython 2021 - Talk - 2021-07-30 - Parrot [Data Science]] [Online] By Harshit Prasad In the current technology era, all kind of applications work on data. Data is used to represent a set of information. The healthcare apps, e-commerce apps etc works on data. Sometimes, this data needs to be get updated to reflect new changes across the platform. This action can be performed manually but what if platform data is getting updated in realtime or let’s say in every 1 hour? Such kind of problem can be solved by implementing a service based on Producer Consumer model. In this talk, I will be covering how Producer Consumer models work and how such design pattern can be implemented with Python. I will be explaining the whole implementation process using other tools such as Kafka as data streamer and Elasticsearch as data store. Talk Outline: 1. Problem Statement (2 mins) Introduction to problem statement. 2. Introduction to Producer Consumer Model (3 mins) Basics of Producer Consumer Model Applications 3. Deep-dive explanation of Producer Consumer model using example (5 mins) Elasticsearch Kafka 4. Explaining parts of our Producer Consumer model (5 mins) What kind of data are we updating in our data store? Why it’s a high performance solution? Implementation in Python as end-to-end framework. 5. Code walkthrough (5 mins) Produce data Stream data Consume data 6. Conclusion and Learnings (5 mins) Learnings Performance Pros and Cons 7. Q/A Session (5 mins) Target Audience - Beginner / Intermediate Proposal Section - Web based Systems Prerequisites - Python & System Design License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
James Nightingale - PyAutoFit: A Classy Probabilistic Programming Language For Data Science
PyAutoFit: A Classy Probabilistic Programming Language For Data Science [EuroPython 2021 - Talk - 2021-07-30 - Optiver] [Online] By James Nightingale A major trend in data science is the rapid adoption of Bayesian statistics for data analysis and modeling. With modern data-sets growing by orders of magnitude in size, the focus is now on developing methods capable of applying contemporary inference techniques to extremely large datasets. To this aim, I present PyAutoFit (https://github.com/rhayes777/PyAutoFit), an open-source probabilistic programming language for automated Bayesian inference that was recently published in the Journal of Open Source Software (https://joss.theoj.org/papers/10.21105/joss.02550). I will begin by giving an overview of PyAutoFit’s core features, in particular how it: Makes it simple to compose and fit probabilistic models using a range of Bayesian inference libraries, such as emcee (https://github.com/dfm/emcee) and dynesty (https://github.com/joshspeagle/dynesty). Handles the 'heavy lifting' that comes with model-fitting, including model composition & customization, outputting results, model-specific visualization and posterior analysis. Is built for big-data analysis, whereby results are output as a sqlite database which can be queried after model-fitting is complete. PyAutoFit was developed by Astronomers seeking to fit large libraries of galaxy images to better understand the nature of dark matter. Using this science-case, I will describe PyAutoFit’s advanced features, such as multi-level models, automated model-fitting pipelines and support for massively parallel computing infrastructures. The goal of this talk is to introduce the audience to PyAutoFit so they can adopt it for their use-case. The only prerequisite is a basic understanding of object oriented programming in Python. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Pierre Clisson - Building Brain-Computer Interfaces with Timeflux
Building Brain-Computer Interfaces with Timeflux [EuroPython 2021 - Talk - 2021-07-30 - Ni] [Online] By Pierre Clisson Brain-Computer Interfaces (BCIs) enable people to interact with physical devices by using their mind only. For a long time, building such systems has been the prerogative of the academic world, and has required cumbersome tools and expensive hardware. It is now time to get BCIs out of the lab and into the hands of programmers. The field of BCIs is currently experiencing a momentum, attracting not only researchers, but also companies and hackers. At the same time, a growing number of people rely on the thriving Python datascience and machine learning ecosystem. Yet, until recently, there was not any real Python solution for building BCIs. Timeflux (https://timeflux.io), a free and open-source framework for the acquisition and real-time processing of biosignals, aims to fill this gap. During this talk, we will cover all you need to get started: you will learn the basics of neurophysiology and how BCIs actually work, where to get the hardware to measure the electrical activity of your brain, the general architecture of Timeflux and how you can use this framework to build processing pipelines and interfaces available from a web browser. Finally, we will demonstrate a virtual keyboard on which you can type with nothing else but your mind. Beginners are welcome to this presentation. Data scientists, machine learning enthusiasts and web developers will be able to leverage their skills. More broadly, we invite anyone curious to know why the future of BCIs is written in Python. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Marc Päpper - Speeding up the deep learning development life cycle for cancer diagnostics
Speeding up the deep learning development life cycle for cancer diagnostics [EuroPython 2021 - Talk - 2021-07-30 - Parrot [Data Science]] [Online] By Marc Päpper An important, but often overlooked aspect of developing a high-quality deep learning model is the iteration speed. If you can iterate faster, you can try out more ideas and over time you get better results. In this talk, you will learn about the different tricks you can use to train a great machine learning model in a shorter amount of time. In particular, I will discuss how we optimized our deep learning development life cycle at Mindpeak to create robust deep learning models for cancer diagnostics that work in vastly different laboratory settings. The goal of this talk is to point to the most important aspects which you can adjust to speed up the time it takes to go from idea to validated result. I will talk about many different aspects like task prioritization, data processing, communication, GPU parallelization, code quality, unit tests, continuous integration, data fit and profiling for speed. So hopefully, after the talk, you should be able to point to some items that you could do to improve the iteration speed when developing machine learning models. There are no strict requirements for the talk, but you probably obtain the highest benefit if you have gained some initial experience in developing machine learning models. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Luke Leighton - The Libre-SOC Project
The Libre-SOC Project [EuroPython 2021 - Talk - 2021-07-30 - Brian] [Online] By Luke Leighton The Libre-SOC Project aims to bring to market a mass-volume System-on-a-Chip suitable for use in smartphones netbooks tablets and chromebooks, which is end-user programmable right to the bedrock. No spying backdoors, no treacherous DRM. Python and standard Libre Project Management is used throughout: * nmigen, a python-based HDL, is a fundamental and critical strategic choice in creating the hardware. * An IEEE754 FP hardware library has been developed using nmigen/python, as are hundreds of thousands of unit tests * An OpenPOWER ISA simulator is written in python, and is actually a PLY compiler based on the GardenSnake example * Several thousand unit tests for the HDL and simulator are written in python * coriolis2, the VLSI ASIC layout toolchain, is a mixed c++ python application * cocotb, a hardware co-simulation system, is used to verify the HDL is correct, down to the gate level * a JTAG "remote" system has been written in python which allows the simulated processor to be connected to with openocd. * Even the Standard Cell Library being used, called FlexLib, by Chips4Makers, is in python. To say that python is critical to the project would be a massive understatement. This talk will give a brief overview of the above areas and give a glimpse into why python was chosen for each. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Stefanie Stoppel - The Myth of Neutrality: How AI is widening social divides
The Myth of Neutrality: How AI is widening social divides [EuroPython 2021 - Talk - 2021-07-30 - Optiver] [Online] By Stefanie Stoppel Imagine you're a Black woman having your face not recognized by a government photo booth, no matter how you position yourself in front of the camera. Imagine you're a woman getting your loan request rejected, while your partner - who has a similar income and credit history - gets his approved. Imagine you're an African American man arrested by the police because your face was mistakenly matched to a guy involved in an armed robbery. In these real-world examples, the people affected might not know that they are being treated unfairly by Artificial Intelligence (AI). And even if they did, they would not be able to do anything about it. While they may be used to handling discrimination by humans, algorithmic discrimination is a different story: you cannot argue with the algorithms and, due to their inherent scalability, you might be confronted with them wherever you go. We often expect AI technology to be neutral, but it's far from it. The reason is that - especially when we are not aware of it - we transfer existing stereotypes into these systems through our current data collection practices, our development processes and by how we apply these technologies within our societies. My talk will shed light on how algorithms become discriminatory, how difficult it is to build "fair and responsible" AI, and what we should do to prevent the systems we build from cementing existing injustices. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Eli Holderness - Pointers? In my Python? It's more likely than you think
Pointers? In my Python? It's more likely than you think [EuroPython 2021 - Talk - 2021-07-30 - Optiver] [Online] By Eli Holderness Ever wondered about the difference between is and ==, or why you might need to use deepcopy? Maybe you’ve been stumped by an interview question about object lifetimes, or overriding the __eq__ method. Or, perhaps, you just really want to see some tuples behaving badly. Join me for a tour of some of CPython’s dark memory magic and unintuitive behaviours, where we’ll find out: What pointers are and where you’ll see them in your code; What the id of a Python object is, and why it matters; How CPython can tell when you’re done using an object, and what happens next. Python is a wonderful thing that takes all the complication of memory management away from us. We don’t have to worry about pre-allocating memory for our objects, or remember to free it once we’re done. So, given that we’re not doing it manually, how do these things happen? Do we have to care? Well, sometimes. Maybe. In this talk, we’ll discuss what a pointer is, where they crop in in Python, and what you need to know in order to avoid getting tripped up by them. We’ll also cover the id of an object, why it's implemented the way it is, and why 'equal' is different from 'identical'. Finally, we’ll talk about garbage collection, what reference counting is, and how CPython knows when it’s time to get rid of unused objects. Whether you just want to understand what’s going on under the hood without having to dive into the implementation, or you’re on the hunt for some new diabolical things to do with code (self-referential lists are only the beginning!), come along to this talk and learn about the pointers in your Python. This talk is aimed at anyone with an interest in how Python handles objects in memory, or who’s ever been confused by side-effects popping up in their code. Absolutely no knowledge of C is required, and Python beginners are extremely welcome. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Alon Nir - Sliding into Causal Inference, with Python!
Sliding into Causal Inference, with Python! [EuroPython 2021 - Talk - 2021-07-30 - Parrot [Data Science]] [Online] By Alon Nir What would the world look like if Russia won the cold war? If the Boston Tea Party never happened? And where would we be if Guido van Rossum had decided to go to music school? Unfortunately we don't have the technology to slide into parallel worlds and explore alternative histories. However it turns out we do have the tools to simulate parallel realities and give decent answers to intriguing 'what if' questions. This talk will provide a gentle introduction to these tools, professionally known as Causal Inference. The talk is aimed at data practitioners, preferably with basic knowledge of Python and statistics. That said, the focus of the talk is to nurture an intuitive understanding of the subject first, and implementation second. By the end of the talk I hope audience members could identify causal inference problems, have an intuitive understanding of the different tools they can apply to these problems, and have the appetite to further their learning! The talk will cover the problem of answering causal questions (The Fundamental Problem of Causal Inference) and the main tools to address it. The emphasis will be on intuitive understanding how the different tools work, rather than pesky underlying assumptions, complex notation or convoluted literature. Just enough theory and lines of code to get the message across. Outline: - Introduction to parallel universes and "what if?" questions? - The golden standard for causal inference. We'll discuss randomised controlled experiments and also set the scene for cases these aren't possible. [6 mins] Three key tools: - Differences-in-Differences - Propensity score methods - Synthetic Controls (or: creating an alternate universe on your machine) What's next: A wrap up that includes: - What we didn't cover (a few words about other techniques, DAGs, etc.) - Quick overview of Python tools for causal inference - Where do we go from here - resources, curriculums, readings and communities. Slides and code: https://github.com/alonnir/EuroPython-2021-Talk License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Andy Fundinger - The spec you never knew you needed
The spec you never knew you needed [EuroPython 2021 - Talk - 2021-07-30 - Brian] [Online] By Andy Fundinger Many of the systems we build fail to account for performance, error rates, data correctness, or other customer reliability needs. This talk discusses the basics of service level objectives by comparing them to ordinary functional specifications. It also serves as an introduction to System Reliability Engineering (SRE). License: This video is licensed under the CC BY-NC-SA 3.0 license: https://creativecommons.org/licenses/by-nc-sa/3.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Jessica Temporal - Traveling through a secure API in Python
Traveling through a secure API in Python [EuroPython 2021 - Talk - 2021-07-30 - Ni] [Online] By Jessica Temporal I like to remember the places I have been and I always liked the idea of having a map of those places, so as any developer would do, I built a web application for that. In this talk, we will see how you can use Python and Auth0 together to build your very own "Where Have I Been" map! I will walk you through all the steps we will need starting from scratch. From building the first API endpoints, protecting the endpoints that create new markers, all the data manipulation, and even deployment! License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Vinayak Mehta - A Tale Of Python C Extensions And Cross-Platform Wheels
A Tale Of Python C Extensions And Cross-Platform Wheels [EuroPython 2021 - Talk - 2021-07-30 - Optiver] [Online] By Vinayak Mehta Have you ever wondered why Python is referred to as CPython and what is the Python C-API everyone keeps talking about? Come to this talk and find out! We'll briefly take a look at the C-API, how we can use it to extend Python's functionality, and how we can write Python C extensions using pybind11. After writing our Python C extension, we'll package it so users on all major operating systems can easily install it using pip. We'll take a look at how we can do this by building cross-platform wheels for Linux, macOS, and Windows and automatically pushing them to PyPI! License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Yashasvi Misra - Personal growth and the Python community
Personal growth and the Python community [EuroPython 2021 - Talk - 2021-07-30 - Brian] [Online] By Yashasvi Misra I owe both my personal and professional growth to communities. As an engineering student in computer science, the first open tech community I joined was PyLadies. I have since then been actively involved in the Python community, always trying to learn and grow. Little did I expect how beneficial that would be. In this session, I will share my journey with the Python community, the impact it had on me, and how it boosted my self-confidence. If you don’t know where to start, join me to explore what I have learned so far. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Sam Thursfield - Simple, open, music recommendations
Simple, open, music recommendations [EuroPython 2021 - Talk - 2021-07-30 - Ni] [Online] By Sam Thursfield Can simple open source tools compete with the music recommendations provided by Spotify and other big names? This talk will look at how the open source world can stay relevant in a world where music listening has become dependent on commercial streaming services and users expect an element of recommendations. Expect to see small-tech solutions for music recommendations based around GNOME's Tracker search engine and the open, community-powered database Musicbrainz. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Steven Kolawole - Streamlit: The Fastest Way to build Data Apps
Streamlit: The Fastest Way to build Data Apps [EuroPython 2021 - Talk - 2021-07-30 - Parrot [Data Science]] [Online] By Steven Kolawole When we think about building Python-based data science apps, we think of Flask. But there is a better option now. Streamlit. Streamlit is an open-source web framework that lets you create apps for your machine learning projects with deceptively simple Python scripts, in hours. It supports hot-reloading, so your app updates live as you edit and save your file. No need to mess with HTTP requests, HTML, JavaScript, etc. In a short sentence, there is no need to write any front-end code. All you need is your favorite editor and a browser. In this talk, we’ll go through how to build a very simple Streamlit app step-by-step. I will also review the pros and cons of Streamlit, as regards other popular Python web frameworks being used by Data Scientists and ML Engineers. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Eduardo Blancas - Develop and deploy a Machine Learning pipeline in 30 minutes with Ploomber
Develop and deploy a Machine Learning pipeline in 30 minutes with Ploomber [EuroPython 2021 - Talk - 2021-07-30 - Ni] [Online] By Eduardo Blancas * Description * Development tools such as Jupyter are prevalent among data scientists because they provide an environment to explore data visually and interactively. However, when deploying a project, we must ensure the analysis can run reliably in a production environment like Airflow or Argo; this causes data scientists to move code back and forth between their notebooks and these production tools. Furthermore, data scientists have to spend time learning an unfamiliar framework and writing pipeline code, which severely delays the deployment process. Ploomber solves this problem by providing: A workflow orchestrator that automatically infers task execution order using static analysis. A sensible layout to bootstrap projects. A development environment integrated with Jupyter. Capabilities to export to production systems (Kubernetes, Airflow, and AWS Batch) without code changes. * Who and why * This talk is for data scientists (with experience developing Machine Learning projects) looking to enhance their workflow. Experience with production tools such as Airflow or Argo is not necessary. The talk has two objectives: Advocate for more development-friendly tools that let data scientists focus on analyzing data and take off the overhead of popular production tools. Demonstrate an example workflow using Ploomber where a pipeline is developed interactively (using Jupyter) and deployed without code changes. * Resources * Show your support with a ⭐️ on GitHub! https://github.com/ploomber/ploomber Join our community! http://community.ploomber.io/ License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Cristián Maureira-Fredes - Learn CPython by breaking it
Learn CPython by breaking it [EuroPython 2021 - Talk - 2021-07-30 - Optiver] [Online] By Cristián Maureira-Fredes One of the main reasons that stop people to write Python C extensions and even attempt to contribute to CPython is due to the fact that you need to know another programming language, C. Wait, don't go! don't be scared by the fact that you will hear about C, this talks objective is not that! but only to learn the essential bits to get more comfortable around CPython. By understanding the internals, you will feel like the same as that time in your childhood when you took something apart, then re-assemble it again and it worked (if that was not the case, this will be your first time I promise). During this talk, you will go on a journey to understand how Python works, and which are the places you can look to understand the implementation of different Python details, from the whole interpretation process, until look what's lies under the module/types functions you use everyday. You will get the power to add new functionality to Python and even how to create your first C-based extension module. If you are not familiar with C, don't worry, I will guide you every time some C code is shown, and if you know some C, then you will be able to sit back and relax during this ride. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Matteo Bertucci - Learn Python automation by recreating Git Commit from scratch
Learn Python automation by recreating Git Commit from scratch [EuroPython 2021 - Talk - 2021-07-30 - Brian] [Online] By Matteo Bertucci This talk is divided in two parts: the first one will explore how the Git key-value storage work and the second part will walk through recreating the fundamental git commit command with less than 80 lines of Python. You can follow this talk at home using shell commands provided by the speaker and explore Git on your own. The code is also a great way to familiarize yourself with making and structuring Python utility scripts. It is also a great way to present more intermediate programming concept such as recursion. All the commands and code are wrote to be as easy to understand as possible and commented by the speaker, as this talk aims to be simple to follow by Python and Git beginners. Good programming practice will be quickly shown, such as the use of f-strings and the usage of pathlib over os.path. The final application is kept pretty barebone for brevity sakes, although challenges with some hints are given at the end of the talk as an exercise. The final goal of this talk is to give the watcher a feel on how they can use Python in their every day life to automate different tasks, and some pointers toward good programming practices and continue in their Python journey. This talk is inspired from an unpublished article wrote by myself that you can consult here: https://www.notion.so/Recreating-Git-Commit-in-Python-269f72bbc69d4f7e8aa64f67cc7d95d1 The final source code can be found here: https://gist.github.com/Akarys42/47085d16978947039279d75e1773725e License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Alejandro Saucedo - Production ML Monitoring: Outliers, Drift, Explainers & Statistical Performance
Production ML Monitoring: Outliers, Drift, Explainers & Statistical Performance [EuroPython 2021 - Talk - 2021-07-30 - Parrot [Data Science]] [Online] By Alejandro Saucedo Session Description The lifecycle of a machine learning model only begins once it's in production. In this talk we provide a practical deep dive on best practices, principles, patterns and techniques around production monitoring of machine learning models. We will cover standard microservice monitoring techniques applied into deployed machine learning models, as well as more advanced paradigms to monitor machine learning models with Python leveraging advanced monitoring concepts such as concept drift, outlier detector and explainability. We'll dive into a hands on example, where we will train an image classification machine learning model from scratch using Tensorflow, deploy it, and introduce advanced monitoring components as architectural patterns with hands on examples. These monitoring techniques will include AI Explainers, Outlier Detectors, Concept Drift detectors and Adversarial Detectors. We will also be understanding high level architectural patterns that abstract these complex and advanced monitoring techniques into infrastructural components that will enable for scale, introducing the standardised interfaces required for us to enable monitoring across hundreds or thousands of heterogeneous machine learning models. Benefits to ecosystem This talk will benefit the ecosystem by providing cross-functional knowledge, bringing together best practices from data scientists, software engineers and DevOps to tackle the challenge of machine learning monitoring at scale. During this talk we will shed light into best practices in the python ecosystem that can be adopted towards production machine learning, and we will provide a conceptual and practical hands on deep dive which will allow the community to both, tackle this issues and help further the discussion. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
EuroPython 2021 - Lightning Talks 07/30
Lightning Talk 3 [EuroPython 2021 - Talk - 2021-07-30 - Optiver] [Online] License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Joannah Nanjekye - Python the Bad Parts
Python the Bad Parts [EuroPython 2021 - Keynote - 2021-07-30 - Optiver] [Online] By Joannah Nanjekye License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Rabeea Emad - Analyzing COVID Vaccine Popularity in Europe Using FastAPI, Postgres & Azure
Analyzing COVID Vaccine Popularity in Europe Using FastAPI, Postgres & Azure [EuroPython 2021 - Talk - 2021-07-30 - Ni] [Online] By Rabeea Emad FastAPI is one of the fastest growing Python web frameworks – in part due to its ease of usage and high performance. In this talk, I will teach you how you can rapidly process European covid vaccine popularity data using Fire, place it into Azure Database for Postgres (for free!) and then leverage FastAPI to serve them through a back-end. Finally, I will launch the backend online through Azure App Service and use Jupyter to visualize the data from the API to answer interesting questions! Come join me and let the adventure begin! License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Itamar Turner-Trauring - Measuring memory: Python memory profilers and when to use them
Measuring memory: Python memory profilers and when to use them [EuroPython 2021 - Talk - 2021-07-30 - Optiver] [Online] By Itamar Turner-Trauring If your program is using too much memory, it can crash, thrash, or just run more slowly. To reduce memory usage, you need to measure it somehow. There are a number of tools to measure Python memory usage, however. Which one should you pick? This depends heavily on your use case. In this talk you will learn about the different ways memory problems manifest in Python, the memory usage patterns of different application types, and which tools to use in each situation. For web applications, the typical problem is memory leaks: memory that is never freed adds up if your program runs forever. That means you need tools to help you identify the source of memory leaks, whether in Python or in C extensions. For data processing applications like data science or scientific computing, the problem is typically caused by processing large amounts of data. Here you need to find the peak memory usage, and what code what responsible for it. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Utkarsh Mishra - Python and Flutter application for Colouring and Enhancing Old Photos
Python and Flutter application for Colouring and Enhancing Old Photos [EuroPython 2021 - Talk - 2021-07-30 - Parrot [Data Science]] [Online] By Utkarsh Mishra A photo is an image that represents an external form of a person or a thing from the past. It communicates any past incident or activity to the present or future, reminding them of the melodious memories they have. In the 19th century most photographs were monochromatic, so people hand-coloured them, often for purely aesthetic reasons. Photos with colour just looked nicer on the mantle. Contemporary artists still add colour for those reasons. Colourization is a time-consuming, labour-intensive process when done manually. Realistically capturing undertones in the skin is especially difficult. You may have to add subtle layers of pink, orange, yellow, or blue. Experts recommend finding a colour photo featuring similar skin tones to use as a reference. To reduce such a manual time-consuming process to a few seconds or a minute, we built a Deep Learning model to colour old black and white images. It uses an autoencoder with skip connections built using TensorFlow backend with Keras to retain details and features from the original image during the conversion. After the coloured image is obtained, a gamma correction filter is being applied to increase the contrast of the image after which an optional operation of super-resolution is performed in accordance with the condition of image size less than 500 pixels. These operations are built into an API which is called using a Flutter Mobile application that takes image input from user from gallery or camera, crop it to get the required section and passed it to the API, which then executes the above processes and the resultant image is passed as output back to the flutter application. The results of this work will help guide the computer vision developers to incorporate the feature of colouring old images and photos to multiple domains and to further enhance these models by adding variants to them. Outline - Introduction to Deep Learning and the model architecture [10 minutes] - Introduction to API using Flask and Frontend Flutter app [10 minutes] - Application Demo [5 minutes] - Q&A [5 minutes] License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Benjy Weinberger - Python monorepos: what, why and how
Python monorepos: what, why and how [EuroPython 2021 - Talk - 2021-07-30 - Brian] [Online] By Benjy Weinberger As organizations and repos grow, we have to choose how to manage codebases in a scalable way. We have two architectural alternatives: Multirepo: split the codebase into increasing numbers of small repos, along team or project boundaries. Monorepo: Maintain one large repository containing code for many projects and libraries, with multiple teams collaborating across it. In this talk we'll discuss the advantages of monorepos for Python codebases, and the kinds of tooling and processes we can use to make working in a Python monorepo effective. At the end of this talk you will understand the tradeoffs of different codebase architecture choices, and how to evaluate tooling and processes that keep your repo humming along at scale. No prior knowledge is required. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Abby Carey - Developing Flask Applications for Google Cloud
Developing Flask Applications for Google Cloud [EuroPython 2021 - Talk - 2021-07-30 - Brian] [Online] By Abby Carey Learn how to build Flask apps for Cloud Run, one of Google Cloud's serverless platforms. To accelerate the Cloud Run development loop, we'll be using Cloud Code, an IDE plugin that makes working with Cloud Run easy. We'll also cover how to integrate products like Cloud SQL, Pub/Sub, and Secret Manager. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Jeremiah Paige - Formalizing a Language
Formalizing a Language [EuroPython 2021 - Talk - 2021-07-30 - Ni] [Online] By Jeremiah Paige What is formal grammar, how does it create a programming language and what does Python's grammar look like. In Python 3.9 the grammar parsing engine was changed; find out some of the reasons why and what this change has allowed in terms of future language evolution. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Augusto Stoffel - Graph neural networks for information extraction with PyTorch
Graph neural networks for information extraction with PyTorch [EuroPython 2021 - Talk - 2021-07-30 - Parrot [Data Science]] [Online] By Augusto Stoffel In this talk, I will provide a primer on a class of deep learning models known as graph neural networks (GNNs). These models generalize the well-known convolutional neural networks (CNNs) ubiquitous in computer vision, and the approach of the talk will emphasize that analogy. Specifically, after a quick general recap on graphs, we will see how to think of an image as a graph where nodes represent pixels and edges represent the relationship of being a neighbor. After expressing the formulas for a CNN in terms of this graph, it is not hard to imagine ways to pass from the graph of an image to arbitrary graphs. This way, one naturally arrives at a basic GNN architecture. Other recent advances, for instance graph attention networks, can also be surveyed, time permitting. We will then survey the existing Python implementations and supporting libraries, with a focus on the PyTorch framework and on the PyTorch Geometric library in particular. Next, I will turn to applications in the field of NLP, and in particular information extraction. I will focus on the problem of understanding documents in tabular format. Unlike regular paragraphs of text, these documents contain more information than just an ordered sequence of words. We will see how graphs can be used to encode the spatial disposition of words, capturing enough information to allow training deep learning models with good accuracy and generalization capabilities. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
Sid Unnithan, Claudia Regio - Python Data Science with VS Code and Azure
Python Data Science with VS Code and Azure [EuroPython 2021 - Talk - 2021-07-30 - Optiver] [Online] By Sid Unnithan, Claudia Regio Learn how Native Notebooks in VS Code can supercharge your data science workflow and how to follow up your deployment of machine learning models using the Azure Machine Learning service! License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch
EuroPython 2021 - Closing Session
Closing Session [EuroPython 2021 - - 2021-07-30 - Optiver] [Online] License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/
Watch