Skip to the content.

PyCon US 2024

Back to all conferences

Table of Contents

Accessibility

Tutorials - Meagen Voss, Scott Cranfill: How To Build More Accessible Websites with Wagtail

This tutorial covers how to build more accessible websites with Wagtail CMS, including setting up custom models for alt text, using the Wagtail accessibility checker, and implementing various automated and manual testing tools to evaluate and improve the accessibility of a Wagtail-powered website.

Compute

Tutorials - Daksh Gupta: The world of High Performance Distributed & Async Task Queue(s) with Celery

This tutorial provides a comprehensive introduction to the world of high-performance distributed and asynchronous task queues using Python's Celery. It covers Celery basics, advanced topics, and the implementation of a banking notification system, highlighting the importance of separating concerns and using task queues for scalable and maintainable software architectures.

Tutorials - Yan Yanchii: Pointers in Python

This tutorial explores the implementation of pointers in Python, a language that is typically considered safe and high-level. The presenter guides the audience through the process of modifying the Python interpreter to introduce a new data type, the 'pointer', and demonstrates how it can be used to manipulate memory in a low-level manner, providing insights into the inner workings of the Python language.

Sponsor Presentations - Blockchain speaks Python: How to use it on Algorand to build real solutions

The presentation provides an overview of how to use Python on the Algorand blockchain to build real-world solutions. It covers key concepts of blockchain technology, the Algorand platform, and demonstrates the use of Algorand Python for developing and testing smart contracts.

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

This talk discusses the integration of Python with Cloudflare Workers, a serverless platform for building web applications. The presenters showcase a demo application that uses Cloudflare's serverless database and AI inference capabilities, and dive into the technical details of how they implemented Python support in the Workers runtime by running the Pyodide interpreter.

Sponsor Presentations - Snowflake's AI research: A look inside our generative AI innovations

The presentation provides an in-depth look at Snowflake's recent research on developing a large language model called Arctic, focusing on the data preparation process, system architecture, and optimization techniques used to create a highly token-efficient and performant model. The speaker also discusses the model's capabilities, serving options, and future work, emphasizing Snowflake's commitment to openly sharing insights and collaborating with the broader AI research community.

Sponsor Presentations - No Data? No Problem: Zero-Data Model Training Foundational Models (Covalent)

This presentation demonstrates how the Covalent platform can be used to build full-fledged AI applications with zero training data, by leveraging large language models and fine-tuning workflows. The platform combines the scalability of modern container orchestration with the high-performance computing capabilities required for training and deploying these models, allowing developers to focus on the application logic rather than the underlying infrastructure.

Sponsor Presentations - Rethinking How We're Linking: What to do when speeding... (Sponsor: Meta)

The talk discusses techniques for improving the performance of Python applications by statically linking C extensions. It covers the process of building C extensions, comparing Python and C implementations, and the benefits of embedding C extensions within the Python application to avoid dynamic linking overhead.

Sponsor Presentations - Python Powered Serverless Observability (Sponsor: Capital One)

This talk provides an overview of how to implement observability in serverless applications using Python, focusing on the three pillars of observability: logs, metrics, and traces. The presenters demonstrate how to leverage existing tools and frameworks, such as AWS Lambda Power Tools and OpenTelemetry, to instrument serverless functions and gain valuable insights into the performance and behavior of serverless applications.

Sponsor Presentations - Build an Intelligent Python App, No Infra Hassles! (Sponsor: Microsoft)

This presentation showcases the development of an intelligent Python app with a chat interface powered by large language models (LLMs), and the deployment of this app to the cloud using Azure Container Apps. The talk highlights the use of serverless compute, vector databases, and the new Dynamic Sessions feature in Azure Container Apps to enhance the security, performance, and scalability of the application.

Talks - Yury Selivanov: Overcoming GIL with subinterpreters and immutability

This talk discusses how to overcome the Global Interpreter Lock (GIL) in Python by using subinterpreters and immutable data structures. It presents a library called Mam hiive that provides an efficient way to share data between subinterpreters, leveraging immutability and structured sharing to achieve significant performance improvements over traditional pickling approaches.

Talks - Anthony Shaw: Unlocking the Parallel Universe: Subinterpreters and Free-Threading in...

The talk discusses the introduction of sub-interpreters and free-threading in Python 3.13, which provide new ways to achieve parallelism and concurrency in Python. The speaker demonstrates how these features can be used to build a scalable web application and highlights the trade-offs and challenges involved in adopting these new capabilities.

Talks - Bradley Dice: Hacking `import` for speed: how we wrote a GPU accelerator for pandas

The talk discusses the Rapids CF library, an open-source GPU accelerator for pandas, which provides a drop-in acceleration experience with minimal code changes. The speaker explains how the library uses a custom import mechanism to proxy the pandas API and provide GPU acceleration where possible, while falling back to CPU execution when necessary.

Talks - Reuven M. Lerner: Times and dates in Pandas

The talk covers the powerful datetime functionality in Pandas, including converting textual data into datetime values, extracting date/time elements, working with time deltas, handling time zones, and using datetime for grouping, pivot tables, and resampling. The speaker provides numerous examples and best practices for effectively working with dates and times in Pandas.

Talks - Brandt Bucher: Building a JIT compiler for CPython

This talk discusses the development of a just-in-time (JIT) compiler for CPython, the reference implementation of the Python programming language. The speaker, Brandt Boocher, a Python core developer, explains the steps taken to introduce a specializing adaptive interpreter and a micro-op interpreter, which led to the implementation of the JIT compiler using the copy-and-patch technique to achieve faster code generation and execution while maintaining low implementation complexity and broad platform support.

Talks - Mridul Seth, Erik Welch: NetworkX is Fast Now: Graph Analytics Unleashed

This talk discusses the recent performance improvements in NetworkX, a popular open-source Python library for graph analysis. The speakers, Mridul Seth and Eric Welch, describe how they have collaborated to develop new backend implementations, including GPU acceleration and integration with graph databases, to make NetworkX faster and more scalable for large-scale graph analytics.

Talks - Jacob Lapenna: Open Source Industrial Control: Turning 2,800 Tons of Metal with Python...

The presenter, Jacob Lapenna, an electrical engineer at the US Bureau of Reclamation, discusses his work on developing an open-source industrial control system using Python and Raspberry Pi to precisely control and monitor large rotating machines, such as hydroelectric generators. He describes how he has transformed these massive machines into DC stepper motors, allowing for slow and precise control, while also incorporating sensor data and remote monitoring capabilities.

Talks - Irit Katriel: CPython's Compilation Pipeline

The talk provides an in-depth overview of the recent refactoring of CPython's compilation pipeline, highlighting the motivation behind the changes and the new stages introduced to improve testability and maintainability. The speaker also discusses the potential for increased flexibility in the compiler's architecture, which could enable the development of alternative Python compilers that can leverage the existing infrastructure.

Talks - Tim Paine: Building FPGA-based Machine Learning Accelerators in Python

This talk explores the recent advancements in building FPGA-based machine learning accelerators using Python-based tools and libraries. The speaker demonstrates how open-source software and Python are playing a key role in making FPGA development more accessible, allowing for the creation of custom hardware designs and their integration with machine learning models.

Talks - Alastair Stanley: Computational Origami

The talk explores the use of computational origami to solve mathematical problems, such as constructing irrational numbers, performing calculations, and even solving polynomial equations. The presenter demonstrates how origami can be formalized into a set of fundamental axioms and implemented in software, opening up new possibilities for exploring the limits of what can be achieved through paper folding.

Talks - Lazouich Ford: Geospatial Validations Using FastAPI and PostGIS

This talk explores the use of FastAPI and PostGIS for validating geospatial data. The speaker covers the basics of geospatial data, how to use PostGIS functions for spatial queries, and how to integrate these validations into a FastAPI application using both dependency injection and Pydantic model validation.

Talks - Antonio Cuni: SPy (Static Python) lang: fast as C, Pythonic as Python

The talk introduces SPy (Static Python), a language that aims to be as fast as C while maintaining the Pythonic feel of Python. The key ideas include formalizing the import-time and freeze-phase execution, leveraging partial evaluation to optimize away dynamic features, and providing a compiler that generates efficient code while retaining a productive interpreter-based development experience.

Talks - Neeraj Pandey, Manoj Pandey: Visual Data Storytelling with Blender and Python

The talk explores the use of Python libraries like Matplotlib and Manim for creating engaging data visualizations and animations. The presenters demonstrate how to leverage these tools to build dynamic 2D and 3D graphics, from simple sine waves to complex confusion matrices and airflow simulations.

Talks - Patrick Hoefler: Pandas + Dask DataFrame 2.0 - Comparison to Spark, DuckDB and Polars

This talk discusses the recent improvements made to the Pandas and Dask DataFrame libraries, focusing on enhancements in shuffling, string handling, and query planning. The speaker compares the performance of Dask against Spark, DuckDB, and Polars across various benchmarks, highlighting Dask's competitiveness and the potential for further optimizations.

Talks - Alla Barbalat: AI, IP, and Your Code: What Developers Need to Know

The talk provides a comprehensive overview of the implications of AI-generated code on intellectual property rights, particularly copyright. It discusses the challenges around AI authorship, the potential for copyright infringement, and practical steps developers can take to ensure responsible use of AI-generated code while respecting licensing requirements.

Developer Experience

Maintainers Summit at PyCon US 2024

The Maintainers Summit at PyCon US 2024 is a full-day in-person event where the Python community comes together to discuss and foster best practices on developing sustainable projects and nurturing thriving communities. The summit welcomes maintainers, project leaders, community managers, active contributors, open source researchers, and curious users to share their experiences, challenges, and solutions in building and maintaining open source projects.

PyCon US 2024 - A Message from Mariatta

PyCon US 2024, the largest and longest-running Python conference, invites the Python community to join in Pittsburgh, Pennsylvania, from May 15 to 23. The event offers a diverse program, including tutorials, summits, talks, keynotes, and opportunities to contribute to open-source projects, with a focus on making the conference accessible through generous travel grants and volunteer opportunities.

Get ready for PyCon US 2024! Tips and tricks from our community.

The video provides an overview of the upcoming PyCon US 2024 conference, highlighting the diverse community of attendees from around the world and the various activities, talks, and opportunities for engagement. Viewers are encouraged to attend the conference, with tips and advice from experienced attendees on how to make the most of the event.

El CFP para PyCon US–¡abierto hasta el 18 de diciembre!

The PyCharm Conference (PyCon US) has opened its Call for Proposals (CFP) for the PyCon Charlas track, which focuses on Spanish-language talks. The conference organizers encourage speakers of all backgrounds to submit proposals, emphasizing that the quality of the proposal is more important than the speaker's fame or experience.

PyCon US CFP Q&A with Philippe—CFP open until December 18th!

The video discusses the PyCon US 2024 conference, including the call for proposals (CFP) process, talk selection criteria, and opportunities for speakers beyond just the main talk track. The key points covered include the importance of the talk outline, the competitive nature of the conference, and the availability of travel grants and volunteer opportunities for attendees.

Tutorials - Caroline Frasca, Tony Kipkemboi: Advanced Streamlit for Python Developers

This tutorial provides a hands-on guide to building an advanced Streamlit application for Python developers, covering the creation of an analytics dashboard and a chatbot using Streamlit and Llama Index. The presenters walk through the step-by-step implementation of features such as data visualization, user interaction, and integration with large language models.

Tutorials - Juliana Karoline de Sous: Introduction to MicroPython getting started with BBC micro:bit

This tutorial provides an introduction to MicroPython and the BBC micro:bit, a pocket-sized computer for physical computing. The presenter, Juliana Karoline de Sous, guides the audience through various examples and a project to build a Battleship game, demonstrating the capabilities of the micro:bit and the MicroPython programming language.

Tutorials - Felipe, Amanda: 🌐 Building Your First API with Django and Django Rest Framework

This tutorial covers the basics of building an API with Django and Django REST Framework, including creating models, serializers, views, and URL mappings. The presenters provide a step-by-step walkthrough, addressing common issues and encouraging participants to explore advanced topics in the Django REST Framework documentation.

Tutorials - Rodrigo Girão Serrão: The Pokémon trainer's guide to pandas and matplotlib

This tutorial covers the fundamentals of using the pandas and matplotlib libraries in Python, with a focus on working with Pokémon data. The presenter guides the audience through various data manipulation and visualization techniques, including creating customized bar plots and violin plots to analyze the distribution of Pokémon attributes.

Tutorials - Aya Elsayed, Rhythm Patel: No More Raw SQL: SQLAlchemy, ORMs & asyncio

This tutorial covers how to use SQLAlchemy, an Object-Relational Mapping (ORM) library, to simplify database interactions in Python. It also demonstrates how to integrate SQLAlchemy with asynchronous programming using the asyncio library, highlighting the benefits of leveraging asynchronous techniques for I/O-bound operations.

Tutorials - Renne Rocha: Gathering data from the web using Python

This tutorial provides an introduction to web scraping using Python, covering fundamental concepts, tools like Scrapy and Parsel, and techniques for handling dynamic content and pagination. It also addresses best practices, legal considerations, and monitoring for long-term web scraping projects.

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

This tutorial provides an introduction to the BeeWare project, which is a collection of open-source tools and libraries for creating native user interfaces in Python. The presenter demonstrates how to build a cross-platform GUI application using BeeWare's tools, including the Briefcase packaging tool and the Toga GUI toolkit, and covers topics such as asynchronous programming, device hardware integration, and testing.

Tutorials - Reuven M. Lerner: All about decorators

The video is a tutorial on Python decorators, covering topics like decorating functions, using closures, decorator syntax, modifying inputs and outputs, and decorating classes. The presenter demonstrates various examples and exercises to help the audience understand the different use cases and techniques for working with decorators in Python.

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

The talk focuses on techniques to make building and testing Python projects more efficient, including using faster tools, leveraging parallelism, and doing less work. The speakers discuss how these approaches can benefit end-users, developers, contributors, and the overall resource consumption of Python projects.

Sponsor Presentations - Finding the needle: a deep dive into the rewriting of Haystack

The talk discusses the rewriting of Haystack, an open-source AI framework, from version 1.x to 2.0. The presenters highlight the improvements made to the component-based architecture, pipeline flexibility, and deployment considerations, aiming to provide a more streamlined developer experience for building AI applications.

Sponsor Presentations - Avoid the top 5 web data pitfalls when developing AI models (Bright Data)

The video discusses the top five web data pitfalls when developing AI models, including data bias, insufficient data variety, overfitting and underfitting, poor data quality, and data drift. The speaker, Jakub Glodek from Bright Data, provides insights and solutions to address these challenges, emphasizing the importance of data collection, validation, and the use of tools to streamline the web scraping process.

Tutorials - Pandy Knight: def test_crash_course_with_pytest():

This video provides a comprehensive introduction to the pytest testing framework in Python. The presenter covers the basics of writing and running pytest tests, as well as more advanced topics like fixtures, parallelization, and plugins, demonstrating how pytest can help developers write high-quality, maintainable tests for their Python applications.

Welcome to PyCon US 2024

The annual PyCon US 2024 conference in Pittsburgh is a record-breaking event, with over 1,000 talk proposals, 3,000 attendees, and a growing online audience. The conference is organized by the Python Software Foundation, which supports the Python community, maintains key infrastructure, and provides grants to local Python events and initiatives.

Keynote Speaker - Jay Miller

This talk by Jay Miller highlights the importance of building an inclusive and supportive community within the Python ecosystem, particularly for underrepresented groups. Miller shares his personal experiences and the efforts of the Black Python Devs community to create a welcoming space, provide resources, and empower Black developers to thrive in the Python community.

Sponsor Presentations - What Experienced Developers Find Challenging About Python (Bloomberg)

The talk discusses why experienced developers find it challenging to learn Python, highlighting factors like the difference between Python code and Pythonic code, the uniqueness of Python compared to other languages, and the ease and simplicity of Python that can be frustrating for those used to more complex languages. The speaker provides tips and techniques for trainers and developers to better approach learning Python and overcome these challenges.

Lightning Talks - May 19, 8am

The video showcases a series of lightning talks at the PyCon 2024 conference, covering a wide range of topics from the Python community around the world. The talks highlight the diversity, inclusivity, and global reach of the Python ecosystem, encouraging attendees to explore and participate in various regional Python conferences and events.

Lightning Talks - May 18, 8am

This video features a series of lightning talks at a PyCon conference, covering a wide range of topics from developing applications to teach children perfect pitch, using Python to discover physics, and a tool called 'interrogate' that helps enforce documentation coverage in codebases. The speakers showcase their creativity, technical expertise, and passion for the Python community.

Keynote Speaker - Diversity and Inclusion Panel

This talk highlights the diversity and inclusion efforts of the Python Software Foundation, featuring speakers from various regions who share their experiences in building and sustaining local Python communities. The panelists discuss the challenges they have faced, the support they have received, and the importance of fostering a welcoming and inclusive environment for all Python enthusiasts.

Keynote Speaker - Simon Willison

Simon Willison discusses the evolution of artificial intelligence, the rise of large language models like ChatGPT, and the exciting possibilities and challenges they present for software development, particularly in the Python community. He emphasizes the importance of understanding the capabilities and limitations of these models, as well as the ethical considerations around their use.

Lightning Talks - May 18, 5pm

This lightning talk session at PyCon covered a wide range of topics, from crashing Python interpreters to cleaning up open-source code, data storytelling, Jupyter Notebooks as a publication medium, and the benefits of learning C as a Python programmer. The speakers shared their experiences, insights, and practical tips, highlighting the diverse interests and skills within the Python community.

Lightning Talks - May 17, 6pm

This lightning talk session at PyCon US showcased a diverse range of Python-related topics, from learning Japanese with Python to rebooting PyLadies in South Korea, and from building robots and image search tools to creating artistic scroll art. The speakers shared their personal projects, experiences, and insights, highlighting the creativity and problem-solving skills of the Python community.

Keynote Speaker - Kate Chapman

The keynote speaker, Kate Chapman, discusses the importance of collaboration and sociotechnical systems in solving complex problems. She shares stories of her experiences in building digital commons, including open mapping projects, Wikimedia, and supply chain transparency initiatives, highlighting the key ingredients for successful collaboration such as emergence, additive culture, motivation, trust, and luck/timing.

Python Software Foundation Update

The Python Software Foundation (PSF) provided an update on its recent activities, including hiring new CPython developers, investing in security and the PyPI package index, and supporting local Python communities. The PSF also highlighted its upcoming board elections and the success of the PyLadies community awards, showcasing the organization's commitment to diversity and inclusion within the Python ecosystem.

Keynote Speaker - Sumana Harihareswara

Sumana Harihareswara shares her experiences as a project manager for Python packaging infrastructure, highlighting how new skills and perspectives can address complex problems, the importance of learning and teaching, and the need for maintainers to prioritize their own well-being. She encourages the audience to engage with invisible infrastructure and make a difference, just as she did with the HEART Act in New York City.

Python Steering Council Panel

The Python Steering Council, a five-person elected governance body, is responsible for making decisions about the evolution of the Python language, the CPython interpreter, and the standard library. The Council discusses various topics related to Python's development, such as approving PEPs, enforcing the Code of Conduct, and overseeing the work of specialized Councils and Working Groups that contribute to the Python ecosystem.

Talks - Michael Chow, Richard Iannone: Making Beautiful, Publication Quality Tables in Python...

This talk discusses how to create beautiful, publication-quality tables in Python using the great tables library. The speakers cover the key ingredients of table structure, formatting, and styling, as well as advanced design techniques like spark lines and heat maps, to help make tables more visually engaging and informative.

Talks - Sydney Runkle: Pydantic Power-up: Performance Tips for Lightning-Fast Python Applications

This talk explores performance optimization techniques for Pydantic, a popular data validation library for Python. The speaker covers various strategies, including the use of tagged unions (or discriminated unions) for efficient validation, and discusses upcoming performance improvements in the Pydantic library, such as leveraging SIMD and just-in-time compilation.

Talks - Paul Ganssle: pytest for unittesters

The talk explores the advantages of using pytest, a popular Python testing framework, over the traditional unittest. It highlights pytest's features like automatic error reporting, handling of float comparisons, and interactive debugging capabilities, which make it a more powerful and flexible choice for modern testing needs.

Talks - Russell Keith-Magee: Build a data visualization app for your phone

The talk demonstrates how to build a data visualization app for mobile devices using Python, leveraging the Beeware framework's Toga and Briefcase tools. The speaker highlights the ability to deploy the same Python codebase to both iOS and Android platforms, showcasing the cross-platform capabilities of the Beeware toolkit.

Talks - Josh Wiedemeier: There and Back Again: Reverse Engineering Python Binaries

This talk explores the process of reverse engineering Python binaries, covering the steps of segmentation, statement translation, and control flow reconstruction. The speaker discusses the challenges of keeping up with changes in the Python bytecode specification and introduces tools like uncomp6 and bilingual, a neural decompiler developed by the speaker's research lab, to automate the decompilation process.

Talks - Juliana Ferreira Alves: Improve Your ML Projects: Embrace Reproducibility and Production...

This talk provides an overview of Kedro, a Python framework for creating scalable data science pipelines. The speaker discusses Kedro's project template, data catalog, pipelines, and experiment tracking capabilities, highlighting how they can improve the reproducibility and production-readiness of machine learning projects.

Talks - Cheuk, Georgi, Mariatta, & Tereza: Acknowledging Women’s Contributions in the Python...

This talk highlights the lack of representation of women and underrepresented groups in the Python podcast space, and the efforts of the speakers to address this issue by launching their own podcast series 'The Hidden Figures of Python'. The speakers share their motivations, approach, and the stories of the inspiring women they have featured in their podcast episodes so far.

Talks - Juliana (Jules) Barros Lima: How to amplify diversity inside a Python community?

This talk explores strategies for amplifying diversity within Python communities, from individual actions to community-wide initiatives. The speaker, Juliana Barros Lima, shares insights on fostering inclusive environments, building diverse leadership, and overcoming challenges to create thriving, representative Python communities.

Talks - Evan Kohilas: Python ate my Homework!

This talk demonstrates how Python and libraries like SymPy can be used to automate the process of solving mathematical problems, such as determining whether a number can be represented as a sum of two squares or finding the intersection points and vertex of a curve. The speaker argues that this approach can help reduce the potential for errors and repetitive work compared to traditional methods like handwriting or LaTeX.

Talks - Jodie Burchell: Lies, damned lies and large language models

The talk explores the challenges of hallucinations in large language models (LLMs), discussing their causes, measurement, and mitigation strategies. The speaker delves into the technical details of LLM training, the types of hallucinations, and demonstrates how to assess hallucination rates using the TruthfulQA dataset, while also highlighting the complexities of implementing effective solutions like retrieval-augmented generation (RAG).

Talks - Esther Alter: Procedurally Generated Monsters! A complete example of Python game development

This talk presents a complete example of Python game development, focusing on the procedurally generated aspects of the speaker's game 'Pramon'. The speaker discusses the advantages of using Python for game development, the code organization and optimization techniques employed, and the challenges faced during the deployment process.

Talks - Kevin Kho, Han Wang: Speed is Not All You Need for Data Processing

The talk discusses the limitations of focusing solely on speed when it comes to data processing tools, and proposes the use of abstraction layers like Fugue to combine the strengths of different tools and frameworks to achieve the best balance of developer productivity, testability, and scalability.

Talks - Amitosh Swain: Testing Data Pipelines

The talk discusses the importance of testing data pipelines, covering various approaches such as end-to-end testing, snapshot testing, functional testing, and unit testing. The speaker also emphasizes the need for data quality checks in production to ensure the accuracy and reliability of the data being processed.

Talks - Tian Gao: What makes a Python debugger possible and how can we make it 100x faster

This talk explores the mechanisms that make a Python debugger possible and discusses how to significantly improve its performance by leveraging the new 'sys.monitoring' feature. The speaker delves into the underlying techniques, such as controlling execution, examining program state, and dynamic code execution, while highlighting the challenges of maintaining backwards compatibility and minimizing overhead.

Talks - Lynn Root: The Design of Everyday APIs

This talk discusses the principles of designing intuitive, flexible, and simple APIs to improve the user experience. The speaker provides a step-by-step example of how to apply these principles to refine a basic API, emphasizing the importance of user empathy and aligning with language idioms to create well-behaved, delightful APIs.

Talks - Pat Viafore: Extensible Python: Robustness Through Addition

The talk discusses the importance of extensible Python code, emphasizing the need to think about the humans who will work on the codebase in the future. The speaker provides various strategies and techniques, such as using event-driven architectures, pluggable architectures, and separating policies and mechanisms, to create robust and maintainable Python applications.

Talks - Leah Wasser: Friends don't let friends package alone

The talk discusses the challenges faced by beginners in the Python packaging ecosystem, including too many options, lack of clear documentation, and the importance of providing early wins and a beginner-friendly approach. The speaker presents the work of their organization, Pi OpenAI, in creating a collaborative packaging guide to address these issues and empower scientists to create better software.

Talks - Sarah Kaiser: Eternal sunshine of the spotless development environment

This talk introduces the concept of Dev containers, which are a way to specify a full development environment for a project, including the code, editor, and all necessary dependencies. The speaker discusses how Dev containers can improve collaboration, debugging, and teaching by providing a reproducible and portable development environment.

Talks - Koushik Krishnan: Rest Easy with Jupyrest: Deploy notebooks as web services

This talk introduces Jupyrest, a library that allows developers to deploy Jupyter notebooks as web services. The library provides a way to define input and output schemas for notebook functions, enabling the deployment of notebooks as serverless applications that can be accessed via REST APIs.

Talks - Krishi Sharma: Trust Fall: Three Hidden Gems in MLFlow

This talk discusses three hidden gems in MLFlow, a popular open-source Python package for machine learning applications. The speaker emphasizes the importance of building trust in machine learning models through documentation, reproducibility, and transparency, and showcases how MLFlow's features can help achieve these goals.

Talks - Alynne Ferreira: Graphs and Vogue Dance: using data structures to create choreographies

The talk explores the use of graph data structures to create choreographies for the Vogue dance style, which originated in the LGBTQ+ community in New York. The presenter demonstrates how concepts like directed graphs, binary trees, and finite state automata can be applied to map dance poses and generate choreographic sequences.

Talks - Arun Suresh Kumar: Sync vs. Async in Python: Tools, Benchmarks, and ASGI/WSGI Explained

The talk covers the differences between synchronous and asynchronous programming in Python, including the evolution of Python's support for asynchronous programming, the concepts of WSGI and ASGI, and the implications of choosing between synchronous and asynchronous approaches for web application development. The speaker also shares insights on migrating from synchronous to asynchronous programming and the process of designing benchmarks to evaluate the performance of these approaches.

Talks - Jeff Epler: Connecting Old to New with CircuitPython: Retrocomputer input devices on...

This talk explores how to use CircuitPython to connect old input devices, such as keyboards and mice, to modern computers in a non-destructive manner. The speaker demonstrates three projects that convert vintage input devices from the 1980s and 1990s, including a Commodore 16 keyboard, a Tandy 1000 keyboard, and a NeXT computer mouse, into USB HID devices that can be used with modern PCs.

Talks - Koudai Aono: Enhancing Decorators with Type Annotations: Techniques and Best Practices

This talk explores techniques and best practices for enhancing decorators with type annotations in Python. The speaker discusses features like parameter specification, concatenate types, and type variables, demonstrating how they can be used to improve the readability, maintainability, and type-safety of decorator-based code.

Talks - Łukasz Langa: Build in-browser 3D experiences with WebGL and PyScript

This talk explores how to build in-browser 3D experiences using WebGL and PyScript. The speaker demonstrates creating a triangle, animating it, and then building more complex 3D scenes with textures, models, and lighting, all using Python and the power of WebGL.

Talks - David Hewitt: How Python Harnesses Rust through PyO3

This talk explores how the Rust programming language can be harnessed through the PyO3 library to enhance the power and precision of Python applications. The speaker delves into the technical details of how Rust code is integrated into Python, showcasing the seamless interoperability between the two languages and the benefits it can bring to the Python ecosystem.

Talks - Bruce Eckel: Functional Error Handling

The talk discusses the limitations of traditional exception handling and proposes a functional approach using a custom 'Result' type that combines the success value and the error. The speaker demonstrates how this approach allows for better composability and error handling in complex systems.

Talks - Arthur Pastel: Demystifying AsyncIO: Building Your Own Event Loop in Python

The talk explores the inner workings of AsyncIO, the event loop, and building custom event loop implementations in Python. It delves into the concepts of futures, callbacks, coroutines, and tasks, and demonstrates how to create a simple event loop capable of running a FastAPI application.

Talks - Sebastian Buczyński: Having fun with pydantic and pattern matching

This talk explores the use of pattern matching with Python's match-case syntax and Pydantic models to handle a stream of events with varying data structures. The speaker demonstrates how pattern matching and Pydantic can be combined with Functools' single dispatch to create a flexible and extensible event handling system.

Talks - James Schmitz: Creative Coding with py5, the Python version of Processing

This talk introduces pi5, a Python library for creative coding inspired by the Processing framework. The speaker showcases pi5's integration with various Python libraries and its ability to create interactive visualizations, animations, and art without the burden of low-level programming tasks.

Talks - Chahak Mehta: LSP Demystified - How towrite an LSP server in Python

This talk provides an overview of the Language Server Protocol (LSP) and how to write an LSP server in Python. The speaker demonstrates the capabilities of an LSP server, including linting, autocomplete, hover documentation, and code actions, using the example of a MySQL language server.

Talks - Ofek Lev: Hatch: The only tool you need

Hatch is a powerful Python project manager that aims to simplify the development and packaging workflow. The talk covers Hatch's key features, including its build backend, environment management, and future roadmap, showcasing its flexibility and ease of use for both library and application development.

Talks - Jeff Glass: Making Your Documentation Interactive with PyScript

This talk discusses how to make documentation interactive using PyScript, a tool that allows running Python code in the browser. The speaker covers the key concepts of PyScript, such as environments, configurations, and setup tags, and demonstrates how to integrate PyScript into popular documentation frameworks like Sphinx and MkDocs.

Talks - Henry Fredrick Schreiner III: Modern binary build systems

This talk provides a comprehensive overview of modern binary build systems for Python, covering topics such as CI build wheel, Mason Python, and Scikit-Build Core. The speaker discusses the challenges of building binary packages and how these new tools and frameworks have addressed the complexities, making it easier for developers to create redistributable binary wheels across various platforms.

Talks - Mia Bajić: Combining Django ORM & FastAPI in a Single App

The talk explores the challenges and benefits of combining Django ORM and FastAPI in a single application. The speaker shares personal insights on navigating this unconventional setup, highlighting the advantages, struggles, and lessons learned along the way.

Talks - Kelsey Vavasour Weaving algorithms: the threads that bind the python and textile communities

This talk explores the deep connections between the world of programming, particularly the Python community, and the art of Fiber Arts like knitting and weaving. The speaker highlights the shared history, terminology, and problem-solving approaches between these seemingly disparate domains, showcasing how understanding these connections can lead to new perspectives and insights in both realms.

Talks - Tadeh Hakopian: Using Diagrams to Communicate Complex Ideas with Python

The talk discusses the use of diagrams to effectively communicate complex ideas in Python. The speaker provides various examples, tools, and techniques for creating clear, concise, and visually appealing diagrams to enhance documentation and understanding.

Talks - Alex Monahan, Gabor Szarnyas: Python and SQL: Better Together, Powered by DuckDB

The talk discusses the Python and SQL database engine DuckDB, which is designed to seamlessly integrate with Python workflows and provide fast, in-process analytical capabilities. The speaker highlights DuckDB's key features, including its ability to scale up to large datasets, its easy-to-use SQL dialect, and its various integration points with Python libraries and data formats.

Talks - Sebastián Flores: Python and Data Storytelling to the Rescue: Let's Avoid More Deaths by...

Failed to generate summary.

Talks - Tuana Celik: Everything is a graph, including LLM Applications (and that’s handy)

The talk explores how the rise of large language models has ushered in a new era of AI applications, where models can be instructed to perform a wide range of tasks. The speaker showcases Hâstack, an open-source AI framework that represents AI tasks as graphs, allowing for the creation of flexible and reusable pipelines that can cycle and adapt to different scenarios.

Talks -Toby Ho: Rewind: Python Time-Travel Debugger

The presentation explores the concept of time-travel debugging in Python, showcasing the speaker's own tool called P rewind. It delves into the inspirations behind the project, the internals of the debugger, and various techniques for effective time-travel debugging, while also highlighting prior art in this field and the potential for innovative debugger user interfaces.

Keynote

Meet our Keynote Speakers: Kate Chapman

Kate Chapman, a keynote speaker at Pyon us 2024, shares her journey into the world of programming and open-source technology. Her work at the intersection of mapping and programming, as well as her involvement in the Python community, have inspired her to tackle complex problems and create accessible solutions for everyone.

Meet our Keynote Speakers: Simon Willison

Simon Willison, a veteran Python developer, shares his journey with the language, from building Django, a popular web framework, to exploring the responsible use of large language models in journalism. He emphasizes the value of the Python community, the importance of the 'hallway track' at conferences, and the unique perspectives that newcomers bring to the table.

Meet our Keynote Speakers: Sumana Harihareswara

Sumana Harihareswara, a keynote speaker at PyCon US 2024, shares her journey in the open-source community and how her experiences have shaped her career. She will discuss her work on Python package distribution infrastructure, as well as her background in stand-up comedy and theater, promising an engaging and informative keynote.

Meet our Keynote Speakers: Jay Miller

Jay Miller, a keynote speaker at Pycon US 2024, shares his journey in the Python community, from starting as a non-developer to becoming a developer advocate. He also discusses the creation of the Black Python Devs community, which has grown to over 300 members worldwide, and the meaningful moments he has experienced through this initiative.

PyCon US 2024 Closing

The closing remarks of PyCon US 2024 highlight the event's success, with record-breaking attendance, sponsorship, and PyLadies auction proceeds. The incoming chair, Elaine Wong, invites the audience to explore the wider Python conference ecosystem and look forward to the next PyCon US in 2025 in Pittsburgh, and 2026 in Long Beach, California.

Observability

Sponsor Presentations - Introducing Pydantic's new platform (Sponsor: Pydantic)

Pydantic, the creators of the popular data validation library, have developed a new observability platform called LogFire. LogFire aims to provide a user-friendly and powerful way for Python developers to understand and debug their applications, offering features like distributed tracing, database query monitoring, and seamless integration with Pydantic and other Python libraries.

Talks - Eric Matthes: Using Python to assess landslide risk: A matter of life and death

This talk discusses the development of a Python-based tool to assess landslide risk in Southeast Alaska, a region prone to natural disasters. The tool uses real-time data from a stream gauge to identify critical conditions associated with historical landslide events, providing early warning to the community and complementing official forecasts.

Performance Engineering

Talks - Pablo Galindo Salgado: Profiling at the speed of light

This talk explores the use of the powerful profiling tool 'perf' to analyze the performance of Python code, including C extensions and NumPy operations. The speaker demonstrates how 'perf' can provide deep insights into the low-level behavior of Python programs, enabling optimization and understanding of performance bottlenecks.

Talks - Charlie Marsh: Ruff: An Extremely Fast Python Linter and Code Formatter, Written in Rust

The talk discusses Ruff, an extremely fast Python linter and code formatter written in Rust. The speaker highlights the principles and specific optimizations that have contributed to Ruff's performance, emphasizing the importance of a data-driven approach and a culture that prioritizes performance as a first-class concern.

Talks - Ken Jin, Jules Poon: How two undergrads from the other side of the planet are speeding up...

Two university students, Ken Jin and Jules Poon, present their work on optimizing the CPython interpreter, including the implementation of techniques like lazy basic block versioning, specializing adaptive interpreter, and a just-in-time compiler pipeline. They discuss the challenges and lessons learned from contributing to an open-source project as students, highlighting the importance of utilizing academic resources and being patient with the learning process.

Talks - Vinícius Gubiani Ferreira: PEP 683: Immortal Objects - A new approach for memory managing

This talk introduces PEP 683, which proposes a new approach to memory management in Python called 'Immortal Objects'. The speaker discusses the challenges this PEP aims to address, such as CPU caching, data races, and copy-on-write issues, and the potential benefits of this approach, including improved performance and reduced memory consumption.

Talks - Saksham Sharma: A low latency deepdive of Python with Cython

The talk explores the performance of Python programs, using Cython to optimize and understand the underlying C-based implementation of Python (CPython). The speaker demonstrates techniques to measure and improve the performance of Python code, highlighting the trade-offs between flexibility and speed, and the benefits of using Cython to bridge the gap between Python and low-level C/C++ code.

Talks - Juan Altmayer Pizzorno: Near Zero-Overhead Python Code Coverage

This talk discusses the development of a Python code coverage tool called Slip Cover, which aims to provide near zero-overhead coverage measurement. The speaker explains how Slip Cover uses efficient instrumentation techniques and leverages the new SYS_MONITORING feature in Python 3.12 to achieve significant performance improvements over existing tools like Coverage.py.

Talks - Michael Droettboom: Measuring the performance of CPython

The talk discusses how the performance of the CPython implementation of Python is measured, including the use of a suite of benchmarks, techniques for reducing noise in measurements, and a continuous benchmarking system. The speaker also highlights areas for future improvement, such as optimizing the benchmark suite and incorporating parallel performance measurements.

Quantum Computing

Talks - Naveed Mahmud: Hybrid Quantum-Classical Machine Learning using Qiskit

This talk presents a hybrid quantum-classical machine learning framework using the Qiskit library, which combines classical techniques like PCA and wavelet transform with quantum methods like quantum feature maps and variational quantum classifiers. The results show that the quantum-classical models can perform comparably to classical approaches while offering potential advantages in training time and handling large datasets.

Robotics

Talks - Kat Scott: Open Source Robotics with Python: Learn Robotics with No Robot Required

This talk provides an introduction to open-source robotics using Python and the Robot Operating System (ROS). The presenter demonstrates how to set up a simulated robot in Gazebo, interface it with ROS, and create basic robot behaviors such as movement and sensor detection, all without requiring physical hardware.

Security

Python Software Foundation - Meet our Security Engineers

The Python Software Foundation has welcomed two new security engineers, Seth Larson and Mike Fiedler, who are dedicated to addressing security challenges within the Python ecosystem. They discussed their roles in improving supply chain security, responding to vulnerabilities, and enhancing the security of the Python Package Index (PyPI), emphasizing the importance of community trust and collaboration in their efforts.

Talks - Vikram Waradpande: You've got trust issues, we've got solutions: Differential Privacy

This talk introduces differential privacy, a technique for preserving individual privacy while still enabling useful data analysis. It also presents PDP, a Python library that provides differentially private algorithms and mechanisms, and discusses considerations for implementing differential privacy in practice.

Talks - Cheuk Ting Ho: Making Python safer than ever

This talk covers the efforts made by the Python Software Foundation (PSF) to improve the security of the Python ecosystem. It introduces the work of two full-time security engineers, Seth and Mike, who are dedicated to addressing security vulnerabilities in CPython and the Python Package Index (PyPI), as well as the initiatives undertaken by the Python security community to enhance the overall security of the Python programming language.

Talks - William Woodruff: Building a Rusty path validation library for PyCA Cryptography

The talk covers the design and implementation of a Rusty path validation library for the Python Cryptography library, focusing on the challenges of building a correct and performant X.509 validation system while minimizing the baggage of legacy implementations. The speaker discusses the design principles, the process of shipping the library, and the lessons learned from the development effort.

Testing

Talks - Liz Acosta: Mock It Till You Make It: How to Verify Your External Mocks Without Ever...

This talk explores the importance of unit testing and the use of mocks in Python testing. The speaker discusses best practices for unit testing, the benefits of mocking, and how to verify the accuracy of your mocks without compromising the integrity of your unit tests.