List of videos

Christoph Heer - Is it me, or the GIL?

"Is it me, or the GIL? [EuroPython 2019 - Talk - 2019-07-10 - Shanghai] [Basel, CH] By Christoph Heer Python's Global Interpreter Lock is a friend and rival at the same time. We, as developers, can focus on the design and implementation of applications without the hassle of memory management. On the other side, we complain about the GIL as the limiting factor of performance sensitive applications. Therefore, it is common to refactor parts of systems when the system doesn't perform or scale enough anymore. The refactoring often includes the switch of the used concurrency paradigms like replacing multithreading with multiprocessing or asyncio. Another option is moving logic of CPU-bound workload into C extensions or a full rewrite in a ""GIL-free"" language. But how do you know that the GIL is the actual performance bottleneck? While scaling and developing performance sensitive components in Python, my colleagues and I often also assumed the GIL as cause of our performance problems because it is a common and simple answer for this usually complex and varied problems. Instead of starting a rewrite or major refactoring, we took a step back and tried to prove our assumption. With the result that analyzing the impact of the GIL contention on the overall performance is a very interesting problem without common practices or easy usable set of tools that support Python developers. Within this talk, I will share and explain the methods and tools, which we use to analyze the relevance of the GIL on our application performance and how it helped us to stay focused on the actual problematic areas of our applications that required improvements to meet our performance goals. 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://ep2019.europython.eu/events/speaker-release-agreement/

Watch
Dom Weldon - Dash: Interactive Data Visualization Web Apps with no Javascript

"Dash: Interactive Data Visualization Web Apps with no Javascript [EuroPython 2019 - Talk - 2019-07-10 - Singapore [PyData track] [Basel, CH] By Dom Weldon Your data science or machine learning project probably won't just produce a written report. Instead, projects are increasingly expected to produce interactive tools to allow end-users to explore data and results with rich, interactive visualizations. Inevitably, this will be done in a web browser, meaning you'll need to add a quantitatively trained web developer to your team, or have your data scientists spend time learning HTML, Javascript and CSS. Dash, a project by the team that makes Plotly, solves some of these problems by allowing data scientists to build rich and interactive websites in pure python, with minimal knowledge of HTML and absolutely no Javascript. At decisionLab, a London-based data science consultancy producing decision tools, we've embraced Dash to produce proof-of-concept models for our projects in alpha. Although we're not officially connected to the plotly/Dash project, by using the library daily across many projects, we've learned many lessons and what we feel are best practises we'd like to share, and hear feedback on! This talk will give an overview of Dash, how it works and what it can be used for, before outlining some of the common problems that emerge when data scientists are let loose to produce web applications, and web developers have to work with the pydata ecosystem. The talk also covers effective working practises to start producing cool interactive statistical web applications, fast. We'll also identify some of the pitfalls of Dash, and how and when to make the decision to stop using Dash and start building a proper web application. Slides: http://domweldon-europython-2019-dash.s3.eu-west-2.amazonaws.com/index.html 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://ep2019.europython.eu/events/speaker-release-agreement/ "

Watch
Petr Stehlík - The dos and don'ts of task queues

"The dos and don'ts of task queues [EuroPython 2019 - Talk - 2019-07-10 - Shanghai] [Basel, CH] By Petr Stehlík At Kiwi.com we heavily rely on task queues and asynchronous execution of code to process large amounts of requests coming to our back-ends. With the separation of our codebase to microservices, we can quickly try new tools and different approaches to process these large volumes of requests. The microservice we’ll be talking about is making unreliable slow 3rd party services reliable and asynchronous with a bit of business logic sprinkled on top of it. We’ll tell a failure story of ours but resulting in a valuable lesson. Most of our services use Celery and it’s the go-to tool for new services as well but we wanted to be different with this new microservice. RQ is the next best choice for task queues and it is presented as simpler and more straightforward than Celery. That can definitely be true but after 3 weeks of research, development and struggling we found out the unpleasant truth about being simple and making the right choices. We won’t talk about comparing the frameworks but rather about the approach on how to experiment with new things in your environment. After that, we’ll present our current setup which can take upon any number of tasks*. How we orchestrate the app and continuously integrate and deploy and what fun things await ahead of us in the development. *Conditions may apply. 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://ep2019.europython.eu/events/speaker-release-agreement/

Watch
Mustafa Anil Tuncel - Bioinformatics pipeline for revealing tumour heterogeneity

"Bioinformatics pipeline for revealing tumour heterogeneity [EuroPython 2019 - Talk - 2019-07-10 - Singapore [PyData track] [Basel, CH] By Mustafa Anil Tuncel Reproducibility of research is a common issue in science, especially in computationally expensive research fields e.g. cancer research. A comprehensive picture of the genomic aberrations that occur during tumour progression and the resulting intra-tumour heterogeneity, is essential for personalised and precise cancer therapies. With the change in the tumour environment under treatment, heterogeneity allows the tumour additional ways to evolve resistance, such that intra-tumour genomic diversity is a cause of relapse and treatment failure. Earlier bulk sequencing technologies were incapable of determining the diversity in the tumour. br / Single-cell DNA sequencing - a recent sequencing technology - offers resolution down to the level of individual cells and is playing an increasingly important role in this field. We present a reproducible and scalable Python data analysis pipeline that employs a statistical model and an MCMC algorithm to infer the evolutionary history of copy number alterations of a tumour from single cells. The pipeline is built using Python, Conda environment management system and the Snakemake workflow management system. The pipeline starts from the raw sequencing files and a settings file for parameter configurations. After running the data analysis, pipeline produces report and figures to inform the treatment decision of the cancer patient. 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://ep2019.europython.eu/events/speaker-release-agreement/ "

Watch
Max Bélanger - How to ship a Python app to a hundred million desktops

"How to ship a Python app to a hundred million desktops [EuroPython 2019 - Talk - 2019-07-11 - Shanghai] [Basel, CH] By Max Bélanger Python is widely used to write scripts and tools, but did you know that it can also be used to build client-side end-user applications? Crossing the gap from script to app can be challenging: Join us to learn how to write modern, high quality desktop apps in Python! At Dropbox, we’ve been fans of Python from the very beginning: we’ll take you on a tour of our app for Windows/macOS/Linux and share our “lessons learned” from over 10 years of development. We’ll share best practices and techniques for shipping Python code to hundreds of millions of devices: discover how to maximize security, improve performance and guarantee stability. We’ll explore the key choices we made and why: learn how we migrated to Python 3 by simultaneously shipping both versions, or how we use HTML to power our GUI (a la Electron). We’ll reveal our favorite tools and libraries: learn how we scaled from a few engineers to over 100 and added support for other programming languages (like Rust). The goal of this talk is to share our learnings from using Python on Windows, macOS and Linux to encourage the use of Python when building Desktop apps. - We also want to recognize the third-party libraries we’ve used (and their authors) to raise their profile with the overall community. - We hope this will inspire attendees to write more desktop Python code, and raise awareness for this use case with the community as a whole. We intend to speak to any Python developer/engineer or enthusiast who makes use of Python in a Desktop environment (or wants to), whether it’s to make scripts, tools or apps. We do not expect knowledge of any specific third-party Python libraries; in fact, we hope to draw attention to and recognize many libraries we’ve found useful. 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://ep2019.europython.eu/events/speaker-release-agreement/

Watch
Rogier van der Geer - How to train an image classifier using PyTorch

"How to train an image classifier using PyTorch [EuroPython 2019 - Talk - 2019-07-10 - Singapore [PyData track] [Basel, CH] By Rogier van der Geer Neural networks are everywhere nowadays. But while it seems everyone is using them, training your first neural network can be quite a hurdle to overcome. In this talk I will take you by the hand, and following an example image classifier I trained, I will take you through the steps of making an image classifier in PyTorch. I will show you code snippets and explain the more intricate parts. Also, I will tell you about my experience, and about what mistakes to prevent. After this all you need to start training your first classifier is a data set! Of course I will provide a link to the full codebase at the end. The talk will focus on the practical aspect of training a neural network, and will only touch the theoretical side very briefly. Some basic prior knowledge of neural networks is beneficial, but not required, to follow this talk. 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://ep2019.europython.eu/events/speaker-release-agreement/

Watch
Tyler Brough - Using Python to Teach Computational Finance

"Using Python to Teach Computational Finance [EuroPython 2019 - Talk - 2019-07-10 - Singapore [PyData track] [Basel, CH] By Tyler Brough In this demo-driven session, we will introduce the Probo package for teaching Python programming and concepts from computational finance to beginning programmers in the domain of finance. We'll show how Python is the perfect tool for teaching computational thinking to develop deeper quantitative reasoning. Jupyter notebooks, together with Python packages such as NumPy and Pandas, provide the ideal learning environment. We will start by introducing the Probo package for derivative pricing and hedging. We will demo the pricing of European and American options via the famous Black-Scholes option pricing model. Other examples include Monte Carlo simulation and binomial trees. Using Probo, the answers to derivative pricing problems are right at the students' fingertips. Students can operationalize their understanding by going directly from the mathematics of derivative pricing theories to their implementation in clean and simple code. We will end with a demonstration using Probo to teach the concept of dynamic hedging. Dynamic hedging is perhaps emthe/em crucial concept in modern financial derivatives theory. It is also one of the most difficult concepts to grasp. We'll show how developing deeper intuition is possible with computational thinking via Monte Carlo simulation of delta-hedging. By leveraging the power and simplicity of Python and Jupyter notebooks, the Probo package provides the ideal learning platform for students of computational finance. 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://ep2019.europython.eu/events/speaker-release-agreement/

Watch
Shailen Sobhee - Supercharge your Deep Learning algorithms with optimized software

"Supercharge your Deep Learning algorithms with optimized software [EuroPython 2019 - Talk - 2019-07-10 - MongoDB [PyData track] [Basel, CH] By Shailen Sobhee In this talk, you will learn various optimization techniques to improve the runtime performance of your deep learning algorithms on Intel architecture. The presentation will cover how to accelerate the training of your deep neural networks with Tensorflow thanks to the highly optimized Intel® Math Kernel Library (Intel® MKL) and how we boost inferencing with Intel® nGraph and with the Intel® Distribution of OpenVINO™. 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://ep2019.europython.eu/events/speaker-release-agreement/

Watch
Tom Forbes - Writing a Python autoreloader

"Writing a Python autoreloader [EuroPython 2019 - Talk - 2019-07-10 - Shanghai] [Basel, CH] By Tom Forbes Reloading your code changes quickly is an integral part of the development experience in frameworks like Django and Flask that developers have come to rely on. But how do they work under the hood and what challenges do you face while writing one? In this talk I will explore how I refactored the autoreload implementation in Django 2.2 and the lessons I learned along the way (hint: it's surprisingly complex!). I will also be introducing a library I've developed to simplify this if you ever find yourself writing your own. 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://ep2019.europython.eu/events/speaker-release-agreement/ "

Watch