PyCon SE 2020 Track: Software & Performance

2020

List of videos

Writing Prometheus Exporters in Python

Abstract: Prometheus is quickly becoming the defacto standard for metrics collection. For those services which do not support Prometheus natively, it is possible to write an exporter: something that will let prometheus monitor it. I will briefly cover the use cases and set-up, with most of the session being practical parts of how to write an exporter. About the speaker: Moshe Zadka

Watch
How to Mock Well in Tests - Traps and Pitfalls When Using Mock and Pytest

Abstract: Writing tests are important! When your Python application depends on external API, we frequently use Mock in Pytest. However, there's a lot of traps in Pytests and Mock that make it a bit tricky. I have made those mistakes in the past and I will show you some most common ones and how to avoid them. Speaker: Cheuk Ting Ho

Watch
Looking for that needle in the hay of Vault's audit log

Abstract: HashiCorp Vault is an excellent tool for improving the security posture of your organization. Yes, you know that already because you got Vault up and running. Everyone getting temporary credentials, no secret sprawl. Everything is as secure as it could be. Or is it? What if you spot something that does not look right? How do you trace it back through the tokens, leases, and auth methods back to the real person? Or how do you spot something that does not look right in the first place? Vault audit log takes time to comprehend, and you want to be ready to get through it quickly in case of a need for security incident response. In this talk, Andrey explains the Vault audit log structure and how you can use off-the-shelf data management tools to navigate and analyze it. Speaker: Andrey Devyatkin

Watch
Accelerating Scientific Computing using Numba

Abstract: Ease of learning, usability & vast package ecosystem are some reasons for the wide adoption of Python. But, as researchers we often encounter scenarios leaving us scratching our heads in search of ways to speed up our code. This talk explores how Numba can accelerate scientific computing using Python. About the speaker: Ankit Mahato

Watch
A Beginners Guide to GPUs for Pythonistas

Abstract: In this talk, I will be discussing Python and GPUs! I will give a brief history of Python and parallel computing, take a look at Python’s ‘infamous’ GIL, and share how and why Pythonistas can get started with using GPUs to do more work faster. Speaker: Marlene Mhangami

Watch
Profiling Python by Example

Abstract: Occasionally we’ll find that some bit of Python we’ve written doesn’t run as fast as we’d like, yet, many aspiring programmers are oftentimes unfamiliar with principled techniques to identify performance bottlenecks in their code. In this tutorial, I will first describe the Python performance analysis ecosystem with broad strokes and then turn to interactive demonstrations to showcase the most prominent tools of the trade on a real practical problem. Speaker: Eyal Trabelsi

Watch
Video of Corona Lockdown using Exax

Abstract: The eBay open source Exax Accelerator provides high performance parallel and reproducible workflows in Python. In this talk, we'll focus on a big data application and show how to use it to prototype an animation of the large NYC taxi dataset, highlighting the 2020 Corona lockdown effects. https://github.com/exaxorg/pycon20-nyc-taxi-covid-movie About the speaker: Anders Berkeman

Watch
I want you to write less Python code

Abstract: Serverless allows us to build and run applications without thinking about servers. Additional benefits are that the cloud provider can take care of tasks we usually do with code, like error handling and retries. Let's look at how serverless can reduce the Python code we write and focus on the pure business logic. About the speaker: Gunnar Grosch

Watch
Seamlessly adding extra parameters to a function: anatomy of a meta-decorator

Abstract: Writing a decorator to modify the wrapper function inside another decorator, so that keyword arguments on the modified decorator show seamlessly on the docs and signature of the final, decorated, function. Let's dive into the pure Python code which manipulates the function object attributes themselves to get this working. Real use case. About the speaker: João S. O. Bueno

Watch
Slay that Beast: Refactoring Legacy Code Without Hesitation

Abstract: You curse once again at the monster function that needs to change. Add some technical debt with another if-block or spend the day carefully adding tests trying to "understand it"? There is another way: approval testing. I'll demonstrate the technique to give you an idea of how it works! About the speaker: Olof Bjarnason

Watch
Solution Accelerators with Jinja

Abstract: In every development context and scenario, there are repeatable patterns and codes we use more than once. Using a templating engine and making it configurable is an effective way to have this code built out for you. Making the templates configurable, makes them flexible, and enhances re-usability. The key ingredients for this talk are: Jinja (templating library), YAML (to make templates configurable), and a little bit of Python to make all of this work. The objective of this talk is to get you started on building your own Solution Accelerators. When it comes to solution development, speed is of the essence! Github: https://github.com/razaibi/mash About the speaker: Raza Balbale

Watch
Distributed Data pipelines in Python

Abstract: With ML being the new shiny object, No one really talks about the data pipelines that make the data consumable. Single streamlined data pipeline may sound cozy but no one want’s to sit through 10 hours for ingesting 2 million records, do you? Trust me you don’t. The solution? Distributed data pipelines. About the speaker: Bhavani Ravi

Watch
Stock Gateron Yellow Switch Sound Test

Nothing much to say about them other than the fact that they are great budget linear switches. They are pretty smooth for the price that you are paying. Lubed Gateron Yellow Sound Test : https://www.youtube.com/watch?v=jv1kJkqBzpw&t=3s

Watch