List of videos

Tutorials - Jose Haro Peralta: Fundamentals of API security with Python

ABSTRACT In this tutorial, you’ll dive into the fundamentals of API security for Python applications. You’ll learn best practices and patterns for API authentication and authorization and for API security by design. We’ll go through the OWASP top 10 API vulnerabilities. We’ll see practical examples of how they occur, including examples from real-world APIs. We’ll analyze the vulnerabilities, understand what the attack vectors are, and how we address them. You’ll learn how Open Authorization (OAuth) and OpenID Connect (OIDC) work for APIs. You’ll learn about the risks and advantages of using these protocols, known vulnerabilities, and best practices to avoid them. You’ll also learn about JSON Web Tokens (JWTs) and how to use them correctly for access authorization. Finally, you’ll learn how to automate the process of detecting and addressing security vulnerabilities in your APIs using fuzzy testers like schemathesis and design-testing tools like spectral. Throughout the tutorial, we’ll use examples of OpenAPI specifications, and code examples in Flask and FastAPI. You’ll make the best out of the tutorial if you have some experience working with APIs. If you work with APIs (who doesn’t!), I’d love to welcome you to this tutorial to learn how to build and deliver secure APIs! Slides: https://pycon-assets.s3.amazonaws.com/2024/media/presentation_slides/5/2024-05-16T14%3A23%3A40.901728/2024_05_pycon_us.pptx

Watch
Tutorials - Mike Müller: Functional Python

Python supports multiple programming paradigms. In addition to the procedural and object-oriented approach, it also provides some features that are typical for functional programming. While these features are optional, they can be useful to create better Python programs. This tutorial introduces Python features that help to implement parts of Python programs in the functional style. Objective is not to write pure functional programs but improve programs design by using functional feature where suitable. The tutorial points out advantages and disadvantages of functional programming in general and in Python in particular. Participants will learn alternative ways to solve problems. This will broaden their programming toolbox.

Watch
Tutorials - Jules Kouatchou, Bruce Van Aartsen: Python Workflows to Extract and Plot Satellite...

Full title: Tutorials - Python Workflows to Extract and Plot Satellite Data Products along Tracks Presented by: Jules Kouatchou Bruce Van Aartsen We use h5py and MovingPandas to show how to write simple Python workflows to track the movement of NASA satellites and extract from their measurements, fields that can be plot along the tracks and be used to assess the performance of geophysics and atmospheric models. We focus on the Ozone Monitoring Instrument (OMI) on board the Aura satellite.

Watch
Tutorials - Russell Keith-Magee: Build a cross-platform app with BeeWare

All code needs a user interface. That might be an API, or a web page - but these days, many users will expect an app that they can install on their laptop, or on their phone. But how do you build a native application in Python? And do you need to build a different version of your app the app for every device and operating system you want to support? In this hands-on tutorial, you'll lean how you can use the BeeWare suite of tools to build a graphical user interface for your code, and deploy that code as a desktop app, and as a mobile app - all from a single Python codebase. You'll learn how to integrate third-party libraries like NumPy into your app, and how to customize the appearance of your packaged app. You'll also learn how you can access device hardware (such as cameras and geolocation) in your app's code. No experience with mobile or desktop app development is required; a basic familiarity with Python is all you need. By the end of the tutorial, you'll have an app running on multiple platforms, written entirely by you, using nothing but Python. Slides: https://pycon-assets.s3.amazonaws.com/2024/media/presentation_slides/41/2024-05-08T23%3A38%3A41.030747/Build_a_cross_platform_GUI_app_with_Be_NscyZ66.pdf

Watch
Tutorials - Pandy Knight: def test_crash_course_with_pytest():

pytest is Python's most popular test framework. It makes testing simple and fun, and its rich plugin ecosystem enables you to do just about anything! However, writing good tests is still challenging. There is testing theory that goes along with testing practice. In this tutorial, let's learn how to start testing in Python with pytest. Specifically, we will cover: Configuring projects for testing Writing and running test functions with pytest's basic mechanics Parameterizing tests Handling setup and cleanup with fixtures A little bit of mocking to go a long way Testing web APIs and UIs with Playwright Bring your laptops, because we will be doing hands-on code the whole tutorial! By the end of this tutorial, you'll be able to test your Python code like a champion.

Watch
Tutorials - Pavithra, Andrew, Dharhas: From RAGs to riches: Build an AI document inquiry web-app

Presented by: Pavithra Eswaramoorthy Andrew Huang Dharhas Pothina As we descend from the peak of the hype cycle around Large Language Models (LLMs), chat-based document interrogation systems have emerged as a high value practical use case. The ability to ask natural language questions and get relevant and accurate answers from a large corpus of documents can fundamentally transform organizations and make institutional knowledge accessible. Foundational LLM models like OpenAI’s GPT4 provide powerful capabilities, but using them directly to answer questions about a collection of documents presents accuracy-related limitations. Retrieval-augmented generation (RAG) is the leading approach to enhancing the capabilities and usability of Large Language Models, especially for personal or company-level chat-based document interrogation systems. RAG is a technique to share relevant context and external information (retrieved from vector storage) to LLMs, thus making them more powerful and accurate. In this tutorial, we’ll dive into RAG by creating a personal chat application that accurately answers questions about your selected documents. We’ll use a new OSS project called Ragna that provides a friendly Python and REST API, designed for this particular case. For our example, we’ll test the effectiveness of different LLMs and vector databases. We'll then develop a web application that leverages the REST API, built with Panel–a powerful OSS Python application development framework. By the end of this tutorial, you will have an understanding of the fundamental components that form a RAG model, and practical knowledge of open source tools that can help you or your organization explore and build on your own applications. This tutorial is designed to enable enthusiasts in our community to explore an interesting topic using some beginner-friendly Python libraries.

Watch
Tutorials - Alexandre B A Villares: learning Python while making drawings and animations

Artists have been using code to produce images and express themselves since the '60s. Recently we lost the pioneering 'Grande Dame' of computational art, Vera Molnár at 99! In the last 20 years a growing community of practitioners of "creative coding" has emerged, many using Processing (Java based), p5js (JavaScript based) or other programming languages. I can assure you it might be one of the most wonderfully fun ways of learning how to code. So let's see how we can use Python to draw amazing images, static, moving or interactive, using some of the latest and most promising Python creative coding tools. Slides: https://pycon-assets.s3.amazonaws.com/2024/media/presentation_slides/116/2024-05-27T01%3A56%3A36.631946/Creative_Coding_-_Alexandre_B_A_Villa_6lPWf72.pdf

Watch
Sponsor Presentations -Tread Lightly When Building and Testing Your Python Project (Sponsor: Fastly)

Full title: Sponsor Presentations: Tread Lightly: Leave Shallower Footprints When Building and Testing Your Python Project (Sponsor: Fastly) Presented by Charlie Marsh Kevin P. Fleming Tread Lightly: Leave Shallower Footprints When Building and Testing Your Python Project. Presented by Kevin P. Fleming, from Fastly & Charlie Marsh, creator of Ruff and founder of Astral. Slides: https://pycon-assets.s3.amazonaws.com/2024/media/presentation_slides/162/2024-05-15T15%3A20%3A49.851184/pycon-us-2024-tread-lightly.pdf

Watch
Sponsor Presentations - Python in Cloudflare Workers – Running Pyodide on the Edge

Full Title: Sponsor Presentations: Python in Cloudflare Workers – Running Pyodide on the Edge (Sponsor: Cloudflare) Presented by: Hood Chatham Garrett Gu Learn how you can use Cloudflare Python Workers Beta to deploy your next Python app, free of charge, serverless, and infinitely scaling across the globe. We will demonstrate some apps you can start building today on Cloudflare’s full-featured developer platform, making use of robust batteries-included integrations with Cloudflare database, object storage, AI inference, and vector database solutions. Python Workers also support a variety of packages such as Pandas, Pydantic, and Fastapi. After the demos, we will discuss some technical challenges we overcame to make Pyodide, a Python runtime built for WebAssembly, work in the Cloudflare Workers serverless runtime. Specifically, we will dive into memory snapshots, FFI bindings, and stack switching. Slides: https://pycon-assets.s3.amazonaws.com/2024/media/presentation_slides/156/2024-05-16T03%3A35%3A58.067445/Pycon_2024_Talk_1.pdf

Watch