List of videos

Elizaveta Shashkova - The Hidden Power of the Python Runtime

"The Hidden Power of the Python Runtime EuroPython 2020 - Talk - 2020-07-24 - Ni Online By Elizaveta Shashkova Many people like Python for its simplicity and beauty. But every statement in Python, even the simple one, produces a lot of events during the program execution. These events are usually hidden from a user, so it helps developers to skip low-level implementation details and focus on bigger things. At the same time many parts of this hidden information are very useful and interesting to examine. The good news is that Python Runtime allows to retrieve it really simply, so there is no need to configure additional libraries or pass additional parameters to interpreter. Everybody can do it right inside their Python code. During this talk we will learn how Python allows to inspect current program state during the execution. We will learn about Python variables, frame objects and useful information they store. After that we will discuss several powerful tools which are based on the runtime information and which can be helpful for any Python programmer in their everyday life. 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://ep2020.europython.eu/events/speaker-release-agreement/ "

Watch
David Bordeynik - Flasync Await

"Flasync Await EuroPython 2020 - Talk - 2020-07-24 - Ni Online By David Bordeynik Async is all the rage, mostly because it simplifies waiting for an operation that takes some time to finish. Python went all in on asyncio by changing the language to support it (async/await) iIn this microservices era where many of the applications we develop consume several 3rd party API services, async is the fast track to success. In this talk, I’ll demonstrate the benefits of going async for a web application, justify choosing Sanic over other web frameworks like aiohttp. I’ll do so by transforming a Flask backed application to a Sanic backed application. Finally, I’ll provide tips & tricks from my experience on measuring, monitoring and testing async code. 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://ep2020.europython.eu/events/speaker-release-agreement/ "

Watch
Anastasiia Tymoshchuk - Can we deploy yet?

"Can we deploy yet? EuroPython 2020 - Talk - 2020-07-24 - Ni Online By Anastasiia Tymoshchuk What happens when your features are done, your MVP is ready and you want to deploy your first production build? What do you do then? How do you make your first production build instead of re-using your development one? is your code ready to handle real user interactions? This talk will show a production ready checklist for your Python code; what to look for when creating a production-ready Docker image; what are the differences between development and production environments and builds. You will see how to deal with exceptions, logs, and metrics with real-world use cases. 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://ep2020.europython.eu/events/speaker-release-agreement/ "

Watch
Cheuk Ho - How to be Pythonic? Design a Query Language in Python

"How to be Pythonic? Design a Query Language in Python EuroPython 2020 - Talk - 2020-07-24 - Ni Online By Cheuk Ho Query language is an important part of a database system, it is how people manage their data and how they can make the data useful to them. Starting from the 70s, the world is full of relational databases and SQL was the way to make queries. However, SQL is valuable to an injection attack. Lots of efforts are being used to stop those attacks and it made workflow become less efficient. We don’t want to make the same mistake. That’s why using a Python query language is good. Having the Python community in our mind, we created WOQLpy, an open-source query language that lets users build queries in Python, instead of JSON-LD which is the native query language for our TerminusDB database. Now users can store data with a knowledge graph and make graph data visualization with Python. In the first part of the talk, we will talk about what challenges we have when creating a query language in Python, the method we use, the idea and theory behind, and how WOQLpy work. This part will include a quick live demo of using WOQLpy so audiences can have an impression on how to make a query and get the task done, that is, getting a meaningful graph visualization form the source CSVs. The process of how to create a database and schema, loading the data form many CSVs, making a query and visualization, will be demonstrated using just one python script. In the second part of the talk, we want to stimulate a discussion of what is a good design in Python and what is not. This part will be more interactive with the audiences, as we want to hear from you all, what would be the best for Pythonistas. By first suggesting some possible design, we will use a live voting system to gather opinions. This part of the talk will extend to the Q & A sessions to allow further discussions. This talk is for Pythonista at all levels who are interested in starting to design a package in Python, no matter if the audience has published a python library or not. By attending this talk, audiences will learn about how to design a Python package that will be useful to Pythonistas and hopefully encourage more people to publish open-source packages online. 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://ep2020.europython.eu/events/speaker-release-agreement/ "

Watch
Michael Howitz - We have nearly one million lines of Python 2 code in production – and now?

"We have nearly one million lines of Python 2 code in production – and now? EuroPython 2020 - Talk - 2020-07-24 - Ni Online By Michael Howitz In this talk I am going to present possible approaches for a Python 3 migration of existing Python code running on Python 2.7. I'll evaluate which of these approaches seems suitable for a large code base and which principles should be paid attention to to increase the probability of a successful migration project. I'll use union.cms (a content management system used by German trade unions) to show the story of a successful migration project involving nearly one million lines of Python code. The story will include the obstacles we encountered and what we learned on the way. I believe that most of the discussed ideas and experience can also be used unchanged in smaller projects as the presented principles are very much the same. Goal of the presentation: You should be able to come up with a plan for migrating your Python 2 based projects to Python 3. 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://ep2020.europython.eu/events/speaker-release-agreement/ "

Watch
Wei Lee - Python Table Manners: Cut the Cookie Gracefully

"Python Table Manners: Cut the Cookie Gracefully EuroPython 2020 - Talk - 2020-07-24 - Ni Online By Wei Lee h3Goals/h3 I expect the audiences to gain knowledge of the tools I mention and the primary usage of them. The tools will cover various aspects of software engineering (e.g., dependencies, testing, security, etc.). Also, I'll purpose how I combine all these tools in my development workflow as a sample for how the audiences can integrate these tools into their workflow. h3Outline for 30 minutes/h3 Dependency Management (4 min) Testing - Don't let your customer debug for you (4 min) Style Check and auto-fix (4 min) Task Management - No more repetitive typing (3 min) pre-commit - Prevent committing bad code into codebase (3 min) commitizen-tool - How good commit message can help (4 min) Security (3 min) Cookiecutter - Wrap up all the tools (3 min) Q & A (2 min) h3Outline for 45 minutes/h3 Dependency Management (5 min) Testing - Don't let your customer debug for you (5 min) Style Check and auto-fix (5 min) Task Management - No more repetitive typing (5 min) pre-commit - Prevent committing bad code into codebase (5 min) commitizen-tool - How good commit message can help (5 min) Security (5 min) Continuous Integration - Assemble all the trivial steps (5 min) Cookiecutter - Wrap up all the tools (3 min) Q & A (2 min) 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://ep2020.europython.eu/events/speaker-release-agreement/ "

Watch
Smit Thakkar - Writing Clean Abstractions

"Writing Clean Abstractions EuroPython 2020 - Talk - 2020-07-24 - Ni Online By Smit Thakkar Abstractions make things appear simple. This is one of the main concepts behind OOP. So what is it?! This talk will provide some guidelines on how to build abstractions that are extendable and scalable. I will start by bringing audience on same page, I will explain what are abstractions in programming with some examples, I will also compare what are strong and weak abstractions and also give some examples. Later on I will talk a bit about leaky abstractions and provide some examples. After brining audience to the same page I would switch focus to actual topic by talking about how bad abstractions are formed and then have a quick interactive session where I will show audience some interfaces and ask them to tell which abstraction is better and also bitch about the wrong things in the bad ones. After having good understanding of what makes abstractions bad, I would explain you various design pattern by doing post mortem of the python redis client. Lastly if you have any questions I would be happy to answer them. 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://ep2020.europython.eu/events/speaker-release-agreement/ "

Watch
Petertc Chu - Speak Python with Devices

"Speak Python with Devices EuroPython 2020 - Talk - 2020-07-24 - Ni Online By Petertc Chu The talk will be a getting start guide on controlling hardware devices with Python. We know Python users are very keen on multitasking and always wish to know more about how it can be used in different tasks. This talk will help audiences exploring new Python skillset. Audiences may be inspired by this talk and apply it to many scenarios, e.g., IoT and infrastructure automation. Intended audiences include: 1. wish to know how Python can be used beyond data analysis and web dev 2. a Pythonista who interested in craft some touchable things 3. want to acquire something new into your Python skillset Audiences are expected to have basic knowledge about: 1. Python syntax and control flow 2. Computer and operating system (especially UNIX) After this talk, audiences will have: 1. The basic idea of controlling devices with Python 2. Expanding their Python skillset. Know how to use Python in another interesting and useful task besides ML, web scrapping, etc. 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://ep2020.europython.eu/events/speaker-release-agreement/ "

Watch
Tam-Sanh Nguyen - Writing and Scaling Collaborative Data Pipelines with Kedro

"Writing and Scaling Collaborative Data Pipelines with Kedro EuroPython 2020 - Talk - 2020-07-24 - Microsoft Online By Tam-Sanh Nguyen The goal of this talk is to introduce data pipeline developers to QuantumBlack's approach for keeping data pipelines healthy and sustainable and facilitating collaboration between data scientists and data engineers by using our open source framework, Kedro. Attendees need between novice and intermediate knowledge of Python (enough to understand syntactic sugar and funargs) in order to appreciate this talk. As data continues to inform more and more business strategy, high quality, fully featured data pipelines have never been more critical. Small data scripts and single-coder science projects are not enough to keep up with the pace of day-to-day business and their ever-growing list of requirements. Now, more than ever, we need data engineers and data scientists to collaborate effectively. Yet, these two parties come with inherently competing needs. Data scientists need high data volatility and parameterization, for experimentation, and data engineers, on the other hand, need stability and performance, to deliver data. Furthermore, as pipelines grow, the cost of knowledge transfer and training new team members also increases. How can we get scientists and engineers to work well together, and sustain pipeline growth as the team also grows? For this, QuantumBlack created Kedro, a framework for writing data pipelines that addresses both the needs for flexibility and stability in its features and patterns of use. By using Kedro’s tools and operating model, we have enabled our teams to scale our single-developer, micro-pipes to industrial sized data processors with dozens of developers; all without sacrificing readability, quality, or stability. This talk will show you how. 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://ep2020.europython.eu/events/speaker-release-agreement/ "

Watch