BEGIN:VCALENDAR
CALSCALE:GREGORIAN
X-WR-CALNAME:PyCon 2025 All Events
VERSION:2.0
PRODID:ics.py - http://git.io/lLljaA
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Looking At Audio\nhttps://us.pycon.org/2025/schedule/presentation/103/\n<p>There's a few popular ways in which we can "see" sound. But what do you actually see on those visualizations?</p>\n<p>In this talk\, we'll be building short PyScript programs utilizing WebGL for attractive visualization display. We'll cover two fundamental methods (amplitude measurement and frequency spectrum display) and the many fun ways in which those two can be used. We'll start by looking at simple sounds with offline batch processing to represent the audio graphically. We'll finish with realtime audio visualization.</p>\nSpeakers:\nŁukasz Langa\n<p>Failed comedian. CPython Developer in Residence. Wannabe musician. Python 3.8 &amp\; 3.9 release manager. Co-host of the core.py podcast. Original creator of Black. Dad.</p>
DTEND:20250517T181500Z
LOCATION:Ballroom A
DTSTART:20250517T173000Z
STATUS:CONFIRMED
SUMMARY:[talk] Looking At Audio
TRANSP:OPAQUE
UID:bffa3522-4629-5e7c-ac08-0433874a4508
URL:https://us.pycon.org/2025/schedule/presentation/103/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: tutorials\nKind: tutorial\nName: Event Sourcing From The Ground Up\nhttps://us.pycon.org/2025/schedule/presentation/60/\n<p>We often think about data in terms of storing the current state of our models. If a chess player moves a piece\, we update the state of the board and persist it. This makes it easy to query the current state of the game\, but also poses some challenges: How do we know which moves led up to the current state? And how do we ensure that the state remains consistent\, even in a distributed system?</p>\n<p><strong>Event Sourcing</strong> takes a different approach to storing state. Instead of storing the current state as-is\, we store the <em>sequence of events</em> that led to the current state. If we need to know the current state\, we can replay this immutable record of events to reconstruct it. Not only does this give us an immutable audit log\, this also promotes loose coupling and enables optimistic concurrency.</p>\n<p>In this tutorial\, we are going to build an “Event Sourcing”-based backend for a game of Connect Four from the ground up. Rather than using a framework that abstracts away some of the core principles\, we are going to implement the mechanisms ourselves to help us understand the core principles.</p>\n<h3>Audience &amp\; Preparation</h3>\n<p>This tutorial is for you if you’re interested in Event Sourcing but don’t have any real experience with it yet. We do expect you to have at least an intermediate level in Python\, with some experience in writing (simple) classes.</p>\n<p>Do make sure to bring your laptop\, with the following tools installed:\n- Python 3.12 or 3.13\n- Docker\, podman\, or another container runtime\n- Git\n- Your favorite editor</p>\n<p><em><strong>Caution:</strong> This tutorial is a well-balanced combination of theory and hands-on exercises. You will have to write some actual code!</em></p>\nSpeakers:\nSebastiaan Zeeff\n<p>Sebastiaan is a Python enthusiast who likes to think about good software design and engineering. He is a fellow of the EuroPython Society and the Python Software Foundation\, works as a Principal Expert for the Pythoneers at Sopra Steria Netherlands\, and frequently speaks at conferences around the world.</p>
DTEND:20250515T163000Z
LOCATION:Room 319
DTSTART:20250515T130000Z
STATUS:CONFIRMED
SUMMARY:[tutorial] Event Sourcing From The Ground Up
TRANSP:OPAQUE
UID:071beeb1-b1ed-5e7c-87e3-30a0877942b4
URL:https://us.pycon.org/2025/schedule/presentation/60/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: tutorials\nKind: tutorial\nName: Discover 3D graphics with WebGL and PyScript\nhttps://us.pycon.org/2025/schedule/presentation/24/\n<p>WebGL is a wonderful set of APIs inside every modern Web browser that allow us to generate interactive 3D scenes. Thanks to PyScript\, we can explore WebGL without writing JavaScript. This tutorial will be a deep dive into a single topic: how to use PyScript with WebGL to harness the graphical power of the Web browser. By the end of the tutorial\, I expect you to gain confidence that you can do it\, too\, and be inspired to try!</p>\n<p>The tutorial assumes familiarity with Python and high-school math. PyScript experience helpful but not required.</p>\nSpeakers:\nŁukasz Langa\n<p>Failed comedian. CPython Developer in Residence. Wannabe musician. Python 3.8 &amp\; 3.9 release manager. Co-host of the core.py podcast. Original creator of Black. Dad.</p>
DTEND:20250515T163000Z
LOCATION:Room 320
DTSTART:20250515T130000Z
STATUS:CONFIRMED
SUMMARY:[tutorial] Discover 3D graphics with WebGL and PyScript
TRANSP:OPAQUE
UID:70ede393-d226-5e56-9f16-31b79e2b724b
URL:https://us.pycon.org/2025/schedule/presentation/24/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: plenary\nName: Keynote - Cory Doctorow\n<p><a href="/2025/about/keynote-speakers#cory-doctorow">Cory Doctorow</a>\n<br><span style="font-size: smaller\; font-weight: normal\;">Keynote</span></p>\n
DTEND:20250516T143000Z
LOCATION:Hall B
DTSTART:20250516T134500Z
STATUS:CONFIRMED
SUMMARY:[plenary] Keynote - Cory Doctorow
TRANSP:OPAQUE
UID:e2ca9033-3f0f-5b89-bd7d-96cf9e2530b0
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: break\nName: Break\n<p>Break</p>\n
DTEND:20250517T143000Z
LOCATION:Hall C\, Ballroom A\, Ballroom BC\, Room 301-305\, Room 310/311
DTSTART:20250517T140500Z
STATUS:CONFIRMED
SUMMARY:[break] Break
TRANSP:OPAQUE
UID:ce1b28ad-1a2e-5c7d-97fa-17fb9a837014
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Unlocking Python's Power: A Practical Guide to Metaprogramming with Decorators\, Metaclasses\, and Dynamic Code Generation\nhttps://us.pycon.org/2025/schedule/presentation/102/\n<p>This presentation delves into advanced Python programming techniques related to metaprogramming\, which allow developers to write code that can evaluate\, modify\, or build upon other code. </p>\n<p>We will explore key metaprogramming constructs—decorators\, metaclasses\, and dynamic code generation—through practical examples and real-world applications. \nThis session will provide the audience with the tools and insights to take advantage of the most advanced Python programming techniques to help them plan\, optimize workflows\, or write dynamic applications\nPerfect for intermediate to advanced developers who are ready to take their coding skills to the next level!</p>\nSpeakers:\nAditya Mehra\n<p>Aditya Mehra is a Senior Software Architect with over 17 years of extensive experience in the IT industry. A Computer Science Engineering graduate\, he has delivered numerous talks at Python conferences across the globe.</p>\n<p>An active member of the Python Software Foundation\, Aditya is deeply committed to the Python community. He is passionate about mentorship and teaching\, conducting free\, weekly online Python classes for people across the globe. \nHe has also volunteered at multiple Python events across the globe\, consistently contributing to the growth and success of the community.</p>\n<p>Aditya has written several journals on cutting-edge technologies and holds three registered patents and publishes a weekly newsletter on Python and technology and contributes articles to Medium and other public platforms \, showcasing his dedication to innovation and advancing the field of technology.</p>
DTEND:20250516T210000Z
LOCATION:Room 301-305
DTSTART:20250516T203000Z
STATUS:CONFIRMED
SUMMARY:[talk] Unlocking Python's Power: A Practical Guide to Metaprogramming with Decorators\, Metaclasses\, and Dynamic Code Generation
TRANSP:OPAQUE
UID:b420fd97-db8e-5fe3-a020-238c8e5ba39c
URL:https://us.pycon.org/2025/schedule/presentation/102/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: summit\nName: Typing Summit\n<p>Typing Summit</p>\n
DTEND:20250516T220000Z
LOCATION:Room 319
DTSTART:20250516T180000Z
STATUS:CONFIRMED
SUMMARY:[summit] Typing Summit
TRANSP:OPAQUE
UID:31134ee0-5ddf-54b0-b632-5b28b78405ad
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: break\nName: Break\n<p>Break</p>\n
DTEND:20250516T203000Z
LOCATION:Hall C\, Ballroom A\, Ballroom BC\, Room 301-305\, Room 310/311
DTSTART:20250516T200000Z
STATUS:CONFIRMED
SUMMARY:[break] Break
TRANSP:OPAQUE
UID:b8c8050b-3989-53e7-a8b2-e70e9a7fd126
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Painting with Python\nhttps://us.pycon.org/2025/schedule/presentation/156/\n<p>In this talk\, we'll cover the basics of making visual algorithmic art with Python using only basic dependencies (like Python Image Library / Pillow). No GPU acceleration. No AI. Just simple vanilla Python code. Come learn the basics from a hacker-turned-artist who repurposed math he learned doing IoT radio hacking to do visual art.</p>\nSpeakers:\nCaleb Madrigal\n<p>Caleb is a hacker-turned artist who now does mathy lenticular holograms with Python (https://gods.art). He also does AI/ML consulting by day (https://madconsulting.ai). He used to build cyber weapon at Mandiant. Caleb is really into waves and fractals.</p>
DTEND:20250517T213000Z
LOCATION:Room 301-305
DTSTART:20250517T210000Z
STATUS:CONFIRMED
SUMMARY:[talk] Painting with Python
TRANSP:OPAQUE
UID:2646a198-b51a-5f11-8dff-19bef528655d
URL:https://us.pycon.org/2025/schedule/presentation/156/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: break\nName: Lunch\n<p>Lunch</p>\n
DTEND:20250516T180000Z
LOCATION:Hall A
DTSTART:20250516T170000Z
STATUS:CONFIRMED
SUMMARY:[break] Lunch
TRANSP:OPAQUE
UID:88b3db78-860e-5864-9897-9fff803e3de1
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: You can and Should Build XKCD's "Sky Alarm" for Cool Space Things\nhttps://us.pycon.org/2025/schedule/presentation/16/\n<p>XKCD is a webcomic by Randall Munroe\, and in one of his comics there is a "<a href="https://xkcd.com/2979/">Sky Alarm</a>". It features a small box with a light on top of it\, and it goes "weeee ooooo" when a "Cool Space Thing [is] Happening!". </p>\n<p>If you want one\, I've got great news: you can build one and it can run on Python! </p>\n<p>Circuit Python let's us extend the Python we know and love into the world around us\, and we can use that extension to build alarms when "Cool Space Things" happen. Or by adding a sensor or two\, we can have it respond to things in our environment. </p>\n<p>This talk walks through a basic build of a "Sky Alarm" using Circuit Python. We'll highlight fetching data\, selecting a micro controller\, making it respond to data on a local server\, and adding sensors\, and logging data from those sensors for plotting\, displays\, or more complex functions and analysis. Focusing on a solder free build\, this will give you the tools you need to bring Python into the physical spaces around you without needing to be an expert when it comes to electronics and electrical engineering.</p>\nSpeakers:\nKeith Murray\n<p>I've been using Python since 2012 and focus on bioinformatics. With Circuit Python I have enjoyed bring Python into my home\, creating a 'somewhat smart' home\, and more than that\, I've enjoyed recording and analyzing data that I can actively change and impact so I can more rapidly understand a complex algorithm as it impacts values I have an intuitive sensor for. </p>\n<p>Being active in online communities\, and PyOhio\, I enjoy seeing others build amazing things with Python\, and as Python become more browser based\, mobile deployed\, and embedded\, I'm really excited to see what people build.</p>
DTEND:20250517T190000Z
LOCATION:Ballroom A
DTSTART:20250517T183000Z
STATUS:CONFIRMED
SUMMARY:[talk] You can and Should Build XKCD's "Sky Alarm" for Cool Space Things
TRANSP:OPAQUE
UID:8b2678de-cdc9-523f-9b74-5362b4ce6c92
URL:https://us.pycon.org/2025/schedule/presentation/16/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: charla\nName: Automatizando el Rendimiento de Código Python\nhttps://us.pycon.org/2025/schedule/presentation/66/\n<p>Optimizar el código para mejorar el rendimiento requiere experiencia y un esfuerzo manual considerable. Debido a esta barrera\, la mayoría del software permanece sin optimizar\, lo que da lugar a las aplicaciones lentas que comúnmente experimentamos. En esta charla\, veremos cómo las herramientas modernas impulsadas por IA pueden ahora optimizar continuamente el código Python de formas que antes estaban limitadas a programadores expertos.</p>\n<p>En esta charla\, exploraremos los pasos que los desarrolladores de aplicaciones siguen al optimizar su código y analizaremos cómo cada uno de estos pasos puede ser automatizado. En particular:\n    •   Cómo los Modelos de Lenguaje de Gran Escala pueden generar optimizaciones efectivas para el código.\n    •   Cómo el nuevo código generado se verifica exhaustivamente para garantizar que sea funcionalmente correcto.\n    •   Cómo automatizar las pruebas de rendimiento para asegurarse de que las optimizaciones realmente mejoren el rendimiento.</p>\n<p>A través de demostraciones en vivo de optimización de código con Codeflash\, mostraremos las capacidades de este enfoque. Presentaremos varias categorías de optimizaciones posibles analizando código integrado en proyectos populares de código abierto\, como Pydantic. Finalmente\, veremos cómo podemos comenzar a optimizar automáticamente nuestro código Python existente y futuro con estas herramientas. Esto permite a los desarrolladores centrarse en escribir nuevas funcionalidades\, mientras que los optimizadores impulsados por IA determinan la implementación más eficiente en Python.</p>\nSpeakers:\nKevin Rodriguez\n<p>passionate software engineer with a strong focus on open-source contributions and performance optimization in Python. \ndedicated to helping Spanish-speaking programming communities grow by sharing knowledge and providing support.</p>
DTEND:20250516T161500Z
LOCATION:Room 310/311
DTSTART:20250516T154500Z
STATUS:CONFIRMED
SUMMARY:[charla] Automatizando el Rendimiento de Código Python
TRANSP:OPAQUE
UID:6f172386-e968-5c41-baff-803a3b4fb6d0
URL:https://us.pycon.org/2025/schedule/presentation/66/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Reduce the environmental footprint of your Python programs\nhttps://us.pycon.org/2025/schedule/presentation/80/\n<p>As we witness the cutting-edge developments in Artificial Intelligence\, the carbon footprint of our code base can no longer be brushed off as insignificant. In every respect\, as developers\, we have a responsibility to take the lead in implementing sustainable coding practices. This presentation explores Python techniques that can be embedded in one’s code that will help reduce cycles\, lower resource dependencies\, and decrease energy usage without degrading performance.</p>\n<p>More than just tech tips\, this talk is going to focus on the why—looking into the expanding CO2 of the AI and tech space\, what it means for our planet\, and how it points to the importance of responsible development. The audience will discover that simple but conscious changes in one’s handy work\, such writing better algorithms\, datamodelling\, and using greener tools can somehow make a positive impact to the environment.</p>\n<p>This talk is not only about utilizing new technologies correctly\, it is also about changing the perception of our field. Let’s be responsible — let’s develop projects that will not harm the environment. Together\, we can progress and adapt our development processes to the current climate change crisis – the one in which development and innovative efforts go hand in hand with taking care of the environment. So let’s code with purpose.</p>\nSpeakers:\nApoorv Garg\n<p>Software Developer at <strong>Wells Fargo</strong> with a passion for open-source and impactful projects. A <strong>Google Summer of Code (GSoC '22\, '23\, '24)</strong> participant and Mentor\, I’ve contributed to organizations like Hugging Face\, JdeRobot\, and C4GT. Previously\, I worked with <strong>Resilient AI Solution\, Talkdoc\,</strong> and interned as an SDE at <strong>Deloitte</strong>. I’m an alumnus of <strong>Amazon ML Summer School 2022</strong> and a 2023 graduate of NSUT\, with a strong focus on building scalable\, efficient\, and maintainable software solutions.</p>
DTEND:20250517T163000Z
LOCATION:Room 301-305
DTSTART:20250517T160000Z
STATUS:CONFIRMED
SUMMARY:[talk] Reduce the environmental footprint of your Python programs
TRANSP:OPAQUE
UID:9daf72ab-21fd-5c8c-82be-82aa3e2ee9a9
URL:https://us.pycon.org/2025/schedule/presentation/80/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: informational\nName: Swag Pickup Closes\n<p>Swag Pickup Closes</p>\n
DTEND:20250516T210000Z
LOCATION:Hall A
DTSTART:20250516T210000Z
STATUS:CONFIRMED
SUMMARY:[informational] Swag Pickup Closes
TRANSP:OPAQUE
UID:fdacf92f-a6b5-5aa3-a2a5-075154fab4fc
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Type Hints in Real-World Projects: Practical Steps for Continuous Maintenance and Improvement\nhttps://us.pycon.org/2025/schedule/presentation/13/\n<p>Many Python developers have added type hints and run mypy checks\, but still rely on <code>typing.Any</code> too often\, keep old <code>typing.List</code>/<code>typing.Dict</code> hints\, or use <code># type: ignore</code> comments everywhere. In that case\, typing may feel like just another task\, not a tool that truly improves quality.</p>\n<p>But like unittest\, typing can reduce hidden issues and make you confident about changes\, even though it does not add new features directly. If we maintain and improve our type hints over time\, typing can become a reliable foundation for your project\, making refactoring safer and Python upgrades smoother.</p>\n<p>This talk is not just another basic intro. We’ll show practical steps with before-and-after code examples:\n- Use ideas from newer features (like <code>typing.TypeIs</code> in Python 3.13) and <code>typing_extensions</code> to apply similar concepts on older versions.<br />\n- Run <code>pyupgrade</code> (via <code>ruff</code>) to automatically update old hints\, reducing manual edits and creating a consistent style.<br />\n- Apply partial ignores instead of full <code># type: ignore</code>\, and integrate <code>pre-commit</code> and CI checks to catch issues early\, making typing checks feel natural.<br />\n- Add types to example code to detect subtle incompatibilities\, similar to how tests find hidden bugs.</p>\n<p>We’ll also propose a gradual approach so your team won’t be overwhelmed. After this talk\, you should see typing as a stable base that reduces bugs\, helps with refactoring\, and supports long-term growth.</p>\n<p><strong>Who should attend this talk?</strong><br />\nThis talk is for intermediate Python developers who already use basic type hints but feel they are not getting enough value out of them yet. If you want to go beyond minimal checks and keep your typing strong as your project grows\, this session will show you practical steps you can take.</p>\nSpeakers:\nKoudai Aono\n<p>I am a software developer based in Tokyo\, with a strong focus on Python. I enjoy contributing to Open Source Software (OSS) with a goal to make the development environment friendlier.</p>
DTEND:20250517T181500Z
LOCATION:Hall C
DTSTART:20250517T174500Z
STATUS:CONFIRMED
SUMMARY:[talk] Type Hints in Real-World Projects: Practical Steps for Continuous Maintenance and Improvement
TRANSP:OPAQUE
UID:b9b6607d-6974-594f-8e99-ac3de71c4d89
URL:https://us.pycon.org/2025/schedule/presentation/13/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Marimo: A Notebook that "Compiles" Python for Reproducibility and Reusability\nhttps://us.pycon.org/2025/schedule/presentation/18/\n<p>This talk explores the following question: What would it take to create a new kind of Python notebook that\, unlike a REPL\, knew the order in which to run cells? What if the notebook could also update automatically or lazily when a variable was updated? And what if we could add UI elements\, like sliders and dropdowns\, to all this? Would this change how you worked with notebooks?</p>\n<p>But most of all: how would you build such a thing? In this talk\, we propose that you would need a kind of "compiler" on top of Python.</p>\n<p>This talk focuses on how to create such a notebook by using marimo — an open-source reactive notebook for Python that's executable as scripts and shareable as apps — as a case study. Marimo's key technology is static analysis: marimo "compiles" blocks of Python code\, or "cells"\, to a directed acyclic graph. This graph models how data flows across cells\, and is used as an intermediate representation consumed by a runtime that eliminates hidden state while also powering interactive computing\, scripts\, and web apps.</p>\n<p>By using notebooks and marimo's internals as a case study\, we'll examine a question that is broadly applicable to developer tools in many domains: What does it take to compile Python code to a flexible intermediate representation that preserves the original program's semantics? We'll discuss design decisions and tradeoffs along the way\, such as the pros and cons of static analysis versus runtime tracing.</p>\nSpeakers:\nAkshay Agrawal\n<p>Akshay builds open source software designed to make machine learning and data science actionable and accessible. He works full-time on the open-source marimo notebook.</p>\n<p>He is both a researcher\, focusing on machine learning and optimization\, and an engineer\, having contributed to several open source projects (including TensorFlow and CVXPY). He has a PhD from Stanford University\, and BS/MS in computer science from Stanford.</p>
DTEND:20250516T171500Z
LOCATION:Ballroom BC
DTSTART:20250516T163000Z
STATUS:CONFIRMED
SUMMARY:[talk] Marimo: A Notebook that "Compiles" Python for Reproducibility and Reusability
TRANSP:OPAQUE
UID:f6d5d99e-cfd8-5ce2-825d-900ed8d255b6
URL:https://us.pycon.org/2025/schedule/presentation/18/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: How to build a cross-platform graphical user interface with Python\nhttps://us.pycon.org/2025/schedule/presentation/78/\n<p>If you need to build a user interface for your Python code\, many guides will tell you that your only options are to use the command line\, or wrap your code in a web interface. However\, there is another option - building a native GUI interface. In fact for some use cases\, a GUI app may be your <em>only</em> option. </p>\n<p>In this talk\, you'll learn how to build and run a graphical user interface (GUI) that can run on your desktop\, on your phone\, or in a browser. You'll learn how you can use the BeeWare suite of tools to bootstrap a new GUI project\, develop a GUI interface\, and deploy that app to multiple desktop and mobile platforms\, without making any code changes. You'll learn how to access device hardware like GPS and cameras\; and you'll learn how to distribute your application - including all runtimes and third-party libraries - to others. Lastly\, you'll get a brief introduction to how you can access native platform APIs that don't have a Python API.</p>\nSpeakers:\nRussell Keith-Magee\n<p>Dr Russell Keith-Magee is the founder of the BeeWare project\, a project developing GUI tools and libraries to support the development of Python software on desktop and mobile platforms. He joined the Django core team in 2006\, and was the President of the Django Software Foundation for 5 years. He joined the CPython core team in 2024. He is a frequent speaker at Python and Django conferences around the globe\, sharing his experience as a FLOSS developer\, community maintainer\, and (unsuccessful) startup founder. In his day job\, he is a Principal Engineer at Anaconda\, working on BeeWare in the OSS team.</p>
DTEND:20250517T163000Z
LOCATION:Ballroom A
DTSTART:20250517T160000Z
STATUS:CONFIRMED
SUMMARY:[talk] How to build a cross-platform graphical user interface with Python
TRANSP:OPAQUE
UID:76803812-39d4-52d9-a62b-acb5ea25d73d
URL:https://us.pycon.org/2025/schedule/presentation/78/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: plenary\nName: Closing\n<p>Closing</p>\n
DTEND:20250518T212000Z
LOCATION:Hall B
DTSTART:20250518T210500Z
STATUS:CONFIRMED
SUMMARY:[plenary] Closing
TRANSP:OPAQUE
UID:f1215345-ed6b-5be1-a4a4-0db084c6cf55
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: summit\nName: Python Language Summit\, pre-registration required!\n<p>Python Language Summit\, pre-registration required!</p>\n
DTEND:20250514T211500Z
LOCATION:Room 403/404
DTSTART:20250514T130000Z
STATUS:CONFIRMED
SUMMARY:[summit] Python Language Summit\, pre-registration required!
TRANSP:OPAQUE
UID:f54e6af0-7bee-5845-a107-41088dd5c9c7
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Unlearning SQL\nhttps://us.pycon.org/2025/schedule/presentation/167/\n<p>Some people find SQL to be a helpful model for data analysis. They can also find themselves frustrated because some things that seem clear in SQL can seem difficult to restate in Python.</p>\n<p>We'll look at some of the SQL query design patterns in detail. With this\, we can formulate Python functions that have the same behavior without the overheads of using an actual database. Even something like SQLite3 involves overheads that can be avoided.</p>\n<p>To keep the talk short\, we'll avoid a number of more nuanced SQL features. We'll cover the principle elements of a <code>Select</code> statement including the <code>Group by</code> and <code>Having</code> clauses. This isn't a tutorial\, and the audience needs to be comfortable with generator expressions and list comprehensions.</p>\n<p>The concept is to use SQL concepts for initial design\, but pivot to Python for a robust implementation.</p>\nSpeakers:\nSteven Lott\n<p>Steven F. Lott has been turning coffee into software since the days when computers were large\, expensive\, and rare. Working for decades in high tech has given him exposure to a lot of ideas and techniques\, some bad\, but most are useful and helpful to others. </p>\n<p>Steven has been working with Python since the late ‘90s\, building a variety of tools and applications. He’s written a number of books\, and sometimes manages to attend conferences. </p>\n<p>Steven is currently a technomad who lives in various places on the east coast of the US. He tries to live by the words “Don’t come home until you have a story.” You can find him online at @slott56@fosstodon.org.</p>
DTEND:20250518T190000Z
LOCATION:Ballroom BC
DTSTART:20250518T183000Z
STATUS:CONFIRMED
SUMMARY:[talk] Unlearning SQL
TRANSP:OPAQUE
UID:2eda13b2-8ccd-5ab7-a305-3813c83432e2
URL:https://us.pycon.org/2025/schedule/presentation/167/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: informational\nName: Open Spaces Rooms Close\n<p>Open Spaces Rooms Close</p>\n
DTEND:20250519T000000Z
LOCATION:Open Spaces Rooms
DTSTART:20250519T000000Z
STATUS:CONFIRMED
SUMMARY:[informational] Open Spaces Rooms Close
TRANSP:OPAQUE
UID:f4024ed8-c25b-523b-9ef7-7c4244850e3d
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: sponsor-presentations\nKind: sponsor-workshop\nName: High-Performance Python: Faster Type Checking and Free Threaded Execution (Sponsor: Meta)\nhttps://us.pycon.org/2025/schedule/presentation/118/\n<p><em>Meta's Commitment to the Python Community: Empowering Innovation and Collaboration</em></p>\n<p>At Meta\, we're dedicated to advancing the Python ecosystem through open-source contributions and community engagement. Our mission is to improve the tooling and runtime\, making the language more efficient\, scalable\, and accessible for developers worldwide.</p>\n<p><em>Introducing Pyrefly: A Scalable Type Checker for a Unified IDE Experience</em></p>\n<p>We're excited to introduce Pyrefly\, a new type checker designed with scalability in mind. Built from the ground up using Rust\, Pyrefly provides a faster and more efficient type checking experience\, enabling developers to write better code with confidence. With Pyrefly\, we aim to deliver a unified IDE experience power type hints and code navigation on a new type checking engine.</p>\n<p><em>Unlocking Better Performance with Free-Threaded Python</em></p>\n<p>In collaboration with the Python community\, we've been working on making free-threaded Python (No-GIL) available in Python 3.13. This significant milestone allows developers to take full advantage of modern multi-core processors directly from Python. More recently\, our efforts have focused on improving the single-threaded performance of the free threading build\, ensuring that Python remains a top choice for developers seeking high-performance capabilities.</p>\nSpeakers:\nSam Gross\n<p>-</p>\nNeil Mitchell\n<p>Programmer at Meta\, working on improving the Python developer experience.</p>
DTEND:20250515T183000Z
LOCATION:Room 315
DTSTART:20250515T173000Z
STATUS:CONFIRMED
SUMMARY:[sponsor-workshop] High-Performance Python: Faster Type Checking and Free Threaded Execution (Sponsor: Meta)
TRANSP:OPAQUE
UID:dea2dfca-1957-5934-8fcf-5d473cee64eb
URL:https://us.pycon.org/2025/schedule/presentation/118/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Cheese Must Stand: Defending the Python Library Ecosystem in 2025\nhttps://us.pycon.org/2025/schedule/presentation/98/\n<p>Supply chain attacks on Python package infrastructure increased in frequency and sophistication in2024. As PyPI comes under threat\, how can we continue to secure our beloved cheese shop through 2025?</p>\n<p>The 600k packages in PyPI power sensitive infrastructure in almost every critical industry\, and it's no surprise that the Python library ecosystem is a target. In 2024 alone\, the Ultralytics token compromise and the NP6 combined typosquatting and DLL sideloading attack show the sophistication of these supply chain attacks.</p>\n<p>In the first part of this talk (12 minutes)\, we'll look back at these 2024 attacks and also consider examples such as the "revival hijack" attack vector and the 2022 dependency confusion attack on PyTorch. In the second portion (12 minutes)\, we'll dig into some critical developments in this area that have helped to mitigate recent attacks\, such as:</p>\n<ul>\n<li>Provenance transparency logs using <a href="https://www.sigstore.dev/">Sigstore</a>  </li>\n<li>Progressive supply chain security levels with <a href="https://slsa.dev/">SLSA</a>  </li>\n<li>Software Bills of Materials (sbomS)  </li>\n<li>Artifact scanners such as Grype and Trivy</li>\n</ul>\n<p>We will also briefly discuss specific insights from developing Chainguard’s Guarded Ecosystems for Python\, an ambitious alternative package index that rebuilds included packages from scratch. The final takeaway: while mitigations exist for these threats\, they're not equally distributed\, and we'll point out low hanging fruit for securing projects and infrastructure (3 minutes).</p>\n<p>This talk will be an accessible introduction to an intermediate topic (software supply chain security). Expect some cheesy puns and memes as we deal with this muenster problem—all in excellent taste\, of course.</p>\n<p>Patrick recently received <a href="https://www.linkedin.com/feed/update/urn:li:activity:7240177515992944640/">best speaker at SwampUP 2024</a>. Srishti and Patrick recently <a href="https://edu.chainguard.dev/chainguard/chainguard-images/videos/beyond_zero_pytorch_2024/">teamed up for PyTorch 2024</a>.</p>\nSpeakers:\nPatrick Smyth\n<p>-</p>\nSrishti Hegde\n<p>Srishti is a software engineer at Chainguard with expertise in distributed systems and machine learning libraries. She has extensive experience in building minimal\, secure containers for Python projects. As an open-source enthusiast\, she is passionate about the deployment and optimization of AI/ML workloads.</p>
DTEND:20250518T181500Z
LOCATION:Room 301-305
DTSTART:20250518T174500Z
STATUS:CONFIRMED
SUMMARY:[talk] Cheese Must Stand: Defending the Python Library Ecosystem in 2025
TRANSP:OPAQUE
UID:17594aa6-64d5-5b6e-b6b3-ff4e1e3e71bf
URL:https://us.pycon.org/2025/schedule/presentation/98/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Make Python Talk\, Make Python Listen\nhttps://us.pycon.org/2025/schedule/presentation/114/\n<p>Third-party packages for Python allow your programs to perform text-to-speech and speech recognition with only a few lines of code. You don't need to understand advanced machine learning algorithms to take advantage of these sophisticated features: even beginners can use these packages. In this talk\, you'll learn the PyTTSx3 and gTTS packages to make your programs talk using your operating system's speech engine. You'll also learn how to use the free\, offline Whisper package to convert audio files into text strings. The straightforward configuration for these packages mean you can start making immediate use of them in your Python applications. Finally\, we cover the yt-dlp package for downloading video and audio files from the web for transcription purposes\, and how all of this is being used by the PyVideo.org website.</p>\nSpeakers:\nAl Sweigart\n<p>Al Sweigart is a software developer\, author\, artist\, and Fellow of the Python Software Foundation. He has written several programming books for beginners\, including Automate the Boring Stuff with Python\, The Big Book of Small Python Projects\, and The Recursive Book of Recursion. He is the creator of PyAutoGUI\, pyperclip\, and several other open source projects. He lives in Brooklyn\, New York.</p>
DTEND:20250516T170000Z
LOCATION:Room 301-305
DTSTART:20250516T163000Z
STATUS:CONFIRMED
SUMMARY:[talk] Make Python Talk\, Make Python Listen
TRANSP:OPAQUE
UID:c9e8e711-4c57-57f0-9376-095d44e81a07
URL:https://us.pycon.org/2025/schedule/presentation/114/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: charla\nName: Descifrando emociones desde arte a memes: un sistema multimodal de imágenes y textos\nhttps://us.pycon.org/2025/schedule/presentation/41/\n<p>El mundo que nos rodea está lleno de información de muchos tipos\, y aunque muchas personas nos comunicamos de manera verbal para transmitir información muchas veces perdemos información del contexto o la intención si no va acompañado de imágenes. Lo mismo ocurre con los modelos cuando intentamos solucionar problemas muy complejos con modelos que solo pueden contener información de un tipo específico. </p>\n<p>Por ese motivo es necesario soluciones que puedan integrar diferentes tipos de datos\, como imágenes\, texto\, video o audio: los modelos multimodales. Estos sistemas combinan múltiples entradas de tipos de datos y hacen los sistemas más robustos\, ayudando en áreas de la salud\, seguridad\, criminología\, comercial\, etc.</p>\n<p>El objetivo de esta charla es mostrar cómo crear un sistema que sea capaz de identificar emociones de diverso tipo de imágenes\, y en paralelo extraer emociones de textos con ese resultado (con diferentes modelos) y asociar textos a las imágenes con los textos extraídos.</p>\n<p>En esta charla\, los asistentes aprenderán paso a paso cómo implementar un sistema multimodal que incluya imágenes y texto\, con datos de libre acceso\, y entender cómo los multimodales son una buena opción para solventar problemas complejos. Además\, se compartirá el rol de Python del proceso\, la aplicación de módulos externos para tener una implementación simple\, para facilitar el realizar el proceso de multimodal.</p>\nSpeakers:\nMaria Jose Molina Contreras\n<p>TBD</p>
DTEND:20250516T200000Z
LOCATION:Room 310/311
DTSTART:20250516T193000Z
STATUS:CONFIRMED
SUMMARY:[charla] Descifrando emociones desde arte a memes: un sistema multimodal de imágenes y textos
TRANSP:OPAQUE
UID:b818df3e-d4f7-5046-95b7-47f4882a35a7
URL:https://us.pycon.org/2025/schedule/presentation/41/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: The Zen of Polymorphism: Choosing between isinstance()\, methods\, and @singledispatch\nhttps://us.pycon.org/2025/schedule/presentation/99/\n<p>Python is a multi-paradigm language that embraces both functional programming and object-oriented programming (OOP) approaches to writing code. OOP is especially popular\, in large part due to how it enables polymorphism (for example\, calling <code>speak()</code> on a Dog object returns "woof"\, while a Cat object's method returns "meow".) However\, OOP has many downsides that are often not understood until it's too late in the lifecycle of building a program. Fortunately\, Python also enables developers to achieve similar behavior to polymorphism while using simple functions and plain data objects instead of classes.</p>\n<p>This talk will detail three different approaches provided by Python to achieve polymorphism behavior in a realistic program. It will compare and contrast their relative strengths and weaknesses. It will show how the most naive approach\, which relies on <code>isinstance()</code> checks\, leads to severe code duplication. It will show how OOP method polymorphism leads to code being organized along the wrong axis\, which hurts understandability\, debugging\, and maintainability in practice. It will also demonstrate a less commonly known part of the built-in <code>functools</code> library called <code>@singledispatch</code> that strikes a perfect balance between functional and OOP programming styles.</p>\n<p>Finally\, you'll learn how <code>@singledispatch</code> works under the covers\, and how to build or integrate similar functionality into your own programs so you can realize the benefits of polymorphism while avoiding the pitfalls.</p>\nSpeakers:\nBrett Slatkin\n<p>Brett Slatkin is the author of the book <a href="https://effectivepython.com">Effective Python</a> and has been writing Python code professionally for the past 19 years. He works as a principal software engineer in the Office of the CTO at Google developing technology strategies and rapid prototypes. His experience includes: founding Google Surveys\, a platform for collecting machine learning and market research datasets\; launching Google App Engine\, the company's first cloud computing product\; scaling Google's A/B experimentation products to billions of users\; and co-creating PubSubHubbub\, the W3C standard for real-time RSS feeds. He earned his B.S. in Computer Engineering from Columbia University in the City of New York.</p>
DTEND:20250517T181500Z
LOCATION:Room 301-305
DTSTART:20250517T173000Z
STATUS:CONFIRMED
SUMMARY:[talk] The Zen of Polymorphism: Choosing between isinstance()\, methods\, and @singledispatch
TRANSP:OPAQUE
UID:e09259f4-442b-58f2-a040-459ee1fd7b2b
URL:https://us.pycon.org/2025/schedule/presentation/99/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Design Pressure: The Invisible Hand That Shapes Your Code\nhttps://us.pycon.org/2025/schedule/presentation/81/\n<p>Ever had this weird gut feeling that something is off in your code\, but couldn't put the finger on <em>why</em>? Are you starting your projects with the best intentions\, following all best practices\, <em>and</em> still feel like your architecture turns weird eventually?</p>\n<p><strong>Maybe\, it's not your fault</strong>! Maybe\, the tools or methodology you're using are applying <strong>design pressure</strong> that you're not cognizant of\, but that influences the shape of your code.</p>\n<p>The best way to prevent that is becoming aware of the forces at play. So\, let's look at what design pressure is\, look at the most prominent examples of good and bad\, and explore how to leverage the former and quell the latter. Because you can only deal with something you know exists.</p>\nSpeakers:\nHynek Schlawack\n<p>Hynek Schlawack is a lead infrastructure and software engineer from Berlin/Germany\, PSF fellow\, blogger\, YouTuber\, and maintainer of <em>way</em> too many open source projects.</p>\n<p>His main areas of interest are networks\, security\, and robust software.</p>
DTEND:20250516T191500Z
LOCATION:Ballroom A
DTSTART:20250516T184500Z
STATUS:CONFIRMED
SUMMARY:[talk] Design Pressure: The Invisible Hand That Shapes Your Code
TRANSP:OPAQUE
UID:3a242dce-7e7f-5644-bcf4-1c0c7baf3033
URL:https://us.pycon.org/2025/schedule/presentation/81/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: GPU Programming in Pure Python\nhttps://us.pycon.org/2025/schedule/presentation/111/\n<p>GPU programming can be scary but doesn’t need to be. With the CUDA Core Libraries and CUDA Python object model\, you have a friendly interface to get you started with GPU acceleration.</p>\n<p>In this example-driven talk\, we'll begin with a general discussion of the CUDA model and how to manage accelerator devices in Python with cuda.core. Next\, we'll teach you how to launch work and manage memory. Then\, you'll learn how to use parallel algorithms with cuda.parallel\, write your own kernels that leverage cooperative algorithms with cuda.cooperative\, and integrate seamlessly with accelerated libraries such as cuDNN and cuBLAS.</p>\n<p>We'll look at a variety of parallel examples\, from counting words\, to implementing softmax\, to a full blown machine learning demo.</p>\n<p>By the time the talk is over\, you'll be ready to start accelerating your Python code with GPUs!</p>\nSpeakers:\nBryce Adelstein Lelbach\n<p>Bryce Adelstein Lelbach has spent over a decade developing programming languages\, compilers\, and software libraries. He is a Principal Architect at NVIDIA\, where he leads programming language efforts and drives the technical roadmap for NVIDIA's compute compilers and libraries. Bryce is passionate about C++ and is one of the leaders of the C++ community. He has served as chair of INCITS/PL22\, the US standards committee for programming languages and the Standard C++ Library Evolution group. Bryce served as the program chair for the C++Now and CppCon conferences for many years. On the C++ Committee\, he has personally worked on concurrency primitives\, parallel algorithms\, executors\, and multidimensional arrays. He is one of the founding developers of the HPX parallel runtime system. Outside of work\, Bryce is passionate about airplanes and watches.</p>
DTEND:20250517T164500Z
LOCATION:Ballroom BC
DTSTART:20250517T160000Z
STATUS:CONFIRMED
SUMMARY:[talk] GPU Programming in Pure Python
TRANSP:OPAQUE
UID:4d6c4945-5016-503c-99df-afcc4b2ef455
URL:https://us.pycon.org/2025/schedule/presentation/111/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: posters\nKind: poster\nName: Conformal Prediction: Quantifying Confidence in ML Model Predictions\nhttps://us.pycon.org/2025/schedule/presentation/7/\n<p>Machine learning models are powerful and helpful\, but their value increases when we understand how confident we can be in their predictions. Enter conformal prediction. Using Python libraries like MAPIE\, we can create upper and lower bounds of a prediction interval for point estimates. For classification tasks\, we can use the underlying probabilities of algorithms like logistic regression to understand how confident the model is in choosing a given outcome.</p>\n<p>From a practical standpoint\, obtaining a clear measurement of confidence like this allows practitioners to make relevant business decisions\, for example. A subscription service may decline to launch a new feature if its underlying model cannot classify user types with high confidence. Similarly\, a model that predicts monetary amounts won't be very helpful if the prediction intervals are especially wide and include extra noise.</p>\nSpeakers:\nAlexander Olden\n<p>I'm a senior data scientist at KUNGFU.AI\, with a focus on product analytics. I'm passionate about helping organizations understand their users through data. I'm also a former teacher who loves helping non-technical audiences understand technical material. Finally\, I've recently launched a blog on Medium called The Data Are Just Packed (bonus points if you get the allusion).</p>
DTEND:20250518T170000Z
LOCATION:Hall A
DTSTART:20250518T140000Z
STATUS:CONFIRMED
SUMMARY:[poster] Conformal Prediction: Quantifying Confidence in ML Model Predictions
TRANSP:OPAQUE
UID:8b1dfff0-3f7f-5032-b939-7971133317e8
URL:https://us.pycon.org/2025/schedule/presentation/7/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: posters\nKind: poster\nName: ClimateML: Machine Learning for Climate Model Downscaling\nhttps://us.pycon.org/2025/schedule/presentation/9/\n<p>Global climate models provide crucial insights but lack local precision\, limiting their practical application for regional planning and adaptation strategies. This poster presents a Python-based framework for climate model downscaling\, using deep learning to bridge the gap between global and local predictions.</p>\n<p>The approach leverages PyTorch's neural network capabilities and Python's scientific computing stack for processing complex climate data. The framework combines xarray for multi-dimensional data handling\, dask for distributed computing\, and custom PyTorch layers optimized for atmospheric pattern recognition. Through MLflow's experiment tracking and Panel's interactive visualizations\, we demonstrate how different neural architectures affect prediction accuracy across various regions and climate variables. This downscaling approach significantly improves prediction accuracy\, reducing the Root Mean Square Error (RMSE) by 40-65% compared to traditional statistical methods\, with correlation coefficients (r²) improving significantly for temperature predictions in complex terrain regions.</p>\n<p>By integrating domain-specific libraries like metpy with NumPy's computational capabilities\, we showcase how Python enables scalable climate science .Visitors to our poster can explore live examples showing how machine learning improves climate predictions. The implementation demonstrates how Python makes it possible to process large amounts of climate data efficiently and create accurate local forecasts.</p>\nSpeakers:\nNeeraj Pandey\n<p>Neeraj is a polyglot developer passionate about bridging different technologies. Over the years\, he has worked on a variety of full-stack software and data-science applications\, computational arts\, and quantitative finance projects\, embracing the challenge of creating innovative tools and applications. As an active Python community member\, he has shared his expertise through talks and workshops at numerous conferences and meet-ups.</p>
DTEND:20250518T170000Z
LOCATION:Hall A
DTSTART:20250518T140000Z
STATUS:CONFIRMED
SUMMARY:[poster] ClimateML: Machine Learning for Climate Model Downscaling
TRANSP:OPAQUE
UID:cc2001de-e14c-5067-b8dc-daced3dbdc4d
URL:https://us.pycon.org/2025/schedule/presentation/9/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Dependency Injection in Python with Pydantic and Hydra\nhttps://us.pycon.org/2025/schedule/presentation/128/\n<h2>Abstract</h2>\n<p>Dependency Injection (DI) is a technique that allows for the flexible construction of nested object hierarchies through configuration\, with the goal of reducing coupling between objects and enabling more run-time flexibility in applications. </p>\n<p>This talk aims to illustrate how the popular open source packages Pydantic and Hydra can be combined (with a little extra work) to provide a powerful dependency injection framework for python. This session will provide an introduction to these tools\, illustrate their integration\, and highlight their benefits in managing configurations and dependencies. Attendees will gain insights into building flexible and extensible Python applications by leveraging the ability to register and reuse Pydantic models from Hydra based configurations.</p>\n<h2>Target Audience</h2>\n<p>This talk is designed for Python developers\, software engineers\, and architects interested in improving their application architecture through dependency injection. Attendees should have a basic understanding of Python and software design principles.</p>\n<h2>Prerequisites</h2>\n<p>No prior experience with Pydantic or Hydra is required.</p>\nSpeakers:\nPascal Tomecek\n<p>Head of Research Technology for Cubist Systematic Strategies</p>
DTEND:20250518T181500Z
LOCATION:Hall C
DTSTART:20250518T174500Z
STATUS:CONFIRMED
SUMMARY:[talk] Dependency Injection in Python with Pydantic and Hydra
TRANSP:OPAQUE
UID:3d0de613-1eaa-57ad-80a8-1d6ea30e9da0
URL:https://us.pycon.org/2025/schedule/presentation/128/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: posters\nKind: poster\nName: Data About Your Data: Open Source Python Tools for Scientific Metadata Management\nhttps://us.pycon.org/2025/schedule/presentation/49/\n<p>Within many scientific domains\, such as computational biology\, there continues to be explosive data generation. Along with this newly generated data\, also comes its associated metadata. This additional metadata is beneficial for scientific researchers\, because it adds context and enhances downstream data analysis.</p>\n<p>However\, with the surge of metadata\, there are now new challenges with sharing\, storing\, writing\, and integrating metadata into sample analysis due to the lack of metadata handling and standardization. This issue arises primarily because more focus has been given to the actual data rather than both the data and its metadata. These challenges affect numerous scientific fields including genomics\, astronomy\, and climate science.</p>\n<p>To solve this problem\, we present an open source python-based toolkit (PEPkit) for organizing large-scale\, sample-intensive scientific research projects and their associated metadata. We cover the entire life cycle of data and its metadata including: metadata capture\, storage\, standardization\, validation\, interoperability\, and shareability. We also discuss reusable data processing with its integrated metadata using workflow management systems (WFMS) that are metadata aware.</p>\nSpeakers:\nDonald Campbell\n<p>Donald is a Software Engineer at the University of Virginia\, creating open source tools for bioinformatics.</p>\nOleksandr Khoroshevskyi\n<p>-</p>
DTEND:20250518T170000Z
LOCATION:Hall A
DTSTART:20250518T140000Z
STATUS:CONFIRMED
SUMMARY:[poster] Data About Your Data: Open Source Python Tools for Scientific Metadata Management
TRANSP:OPAQUE
UID:6784f23c-62ca-5bca-92f0-81f8627d5925
URL:https://us.pycon.org/2025/schedule/presentation/49/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Keeping up with Python: what makes upgrades hard\, and what can we do about it\nhttps://us.pycon.org/2025/schedule/presentation/31/\n<p>cPython upgrades can be very challenging.  Changes in python version usually mean changes all over the place and managing that can be taxing.  Like first party code using deprecated api or Third-party code changing API required to change python versions.  Lets go over some bad code examples and ways to improve the experience for everyone.  So that maybe in the future upgrades are not so hard.</p>\nSpeakers:\nJason Fried\n<p>Jason has been writing Python for over 13 years\, with most of that time spent at Meta working on cPython version upgrades. He has given talks at PyConUS\, PyConAU\, and PyOhio\, and contributes to various Python open source projects and cPython itself. Recently\, he became a cPython triager. In addition to his work in tech\, Jason is also an avid goat farmer on his ranch in California.</p>
DTEND:20250518T190000Z
LOCATION:Hall C
DTSTART:20250518T183000Z
STATUS:CONFIRMED
SUMMARY:[talk] Keeping up with Python: what makes upgrades hard\, and what can we do about it
TRANSP:OPAQUE
UID:aca52640-2607-5fad-a9ff-fb5312de53af
URL:https://us.pycon.org/2025/schedule/presentation/31/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: posters\nKind: poster\nName: Visual Prototyping for Woven Bands\nhttps://us.pycon.org/2025/schedule/presentation/127/\n<p>How do you create a custom design for a woven band in an unfamiliar weaving style? Weaving relies on repeating patterns\, so it can be easy to describe how a project should look\, but actually picturing it is a different matter. </p>\n<p>My goal was to design a band with diamonds\, mountains\, and other southwestern elements to be woven on an inkle loom. Plain weave on an inkle loom only uses repeating A-B patterns\, which doesn’t allow for shapes like a diamond. I wanted to weave with a style where the pattern is built-in when you set up the loom with the warp\, rather than manipulated by hand for each row\, which is more error-prone. I'd heard of an A-B-A-C pattern style known as Turned Krokbragd\, which could work. This weaving style is originally from Sweden\, so finding existing patterns for my southwestern USA theme would be unlikely. </p>\n<p>This Python project let me visualize my own patterns\, try out different colors\, and add additional design elements like a border around a central pattern. The prototyping tool creates a more realistic visual by accounting for the physical spacing of the warp threads.</p>\nSpeakers:\nKathryn Born\n<p>Kathryn Born works with data analysis and visualization. Her hobbies include fiber arts\, rock climbing\, and aerial circus.</p>
DTEND:20250518T170000Z
LOCATION:Hall A
DTSTART:20250518T140000Z
STATUS:CONFIRMED
SUMMARY:[poster] Visual Prototyping for Woven Bands
TRANSP:OPAQUE
UID:e8566715-1aae-5938-8757-f3b34a78dd69
URL:https://us.pycon.org/2025/schedule/presentation/127/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: charla\nName: Honrando las Narrativas de Braceros: Un Enfoque Pythonico para Minería de Textos de Historias de Trabajo Arduo\, Migración y Resiliencia\nhttps://us.pycon.org/2025/schedule/presentation/15/\n<p>Entre 1942 y 1964\, el Programa Bracero llevó a más de 4.5 millones de trabajadores mexicanos a los Estados Unidos para hacer frente a la escasez de mano de obra. Sin embargo\, las experiencias personales de estos trabajadores a menudo permanecen en la sombra\, aunque sus relatos capturan historias de trabajo incansable\, migración\, discriminación y resiliencia. Honrar estas narrativas requiere no solo un reconocimiento histórico\, sino también un método para descubrir y analizar sistemáticamente sus relatos matizados. Aprovechando la minería de texto y el procesamiento de lenguaje natural mediante bibliotecas de Python como <em>beautiful soup</em>\, <em>Sentence Transformers</em> y <em>BERTopic</em>\, esta charla tiene como objetivo destacar los temas\, luchas y resiliencia que definen las experiencias de braceros.</p>\n<p>Esta sesión explorará cómo estas bibliotecas de Python pueden utilizarse para realizar un análisis sistemático de grandes cuerpos de texto\, revelando temas recurrentes y el sentimiento en historias orales y entrevistas. Profundizaremos en técnicas basadas en código para el modelado de temas\, la extracción de palabras clave y el análisis de sentimiento que dan vida a las historias de los Braceros. Al examinar cómo Python puede facilitar la comprensión del lenguaje del trabajo\, la migración y las dificultades\, esta charla demostrará cómo la ciencia de datos puede desempeñar un papel en la valoración de narrativas culturales e históricas. Al hacerlo\, esta presentación también busca mostrar el potencial de Python para unir los campos de las humanidades digitales\, la etnografía y la tecnología\, allanando el camino hacia una mayor comprensión y reconocimiento de las voces subrepresentadas en la historia compartida de trabajo y migración entre México y Estados Unidos.</p>\nSpeakers:\nRodrigo Silva Ferreira\n<p>Rodrigo Silva Ferreira was born and raised in Salvador\, Brazil. He obtained a BSc. in Chemistry with minors in Applied Math and Arabic from NYU Abu Dhabi\, and a MSc. in Analytical Chemistry from the University of Pittsburgh. Rodrigo currently works as a software quality engineer at a statistical software company in central Pennsylvania. When he is not busy testing statistical products\, Rodrigo enjoys learning about how statistics and data can be used to develop a deeper understanding of topics at the intersection of STEM\, society\, and public policy. He is passionate about using statistics and data to understand and improve the world.</p>
DTEND:20250517T150000Z
LOCATION:Room 310/311
DTSTART:20250517T143000Z
STATUS:CONFIRMED
SUMMARY:[charla] Honrando las Narrativas de Braceros: Un Enfoque Pythonico para Minería de Textos de Historias de Trabajo Arduo\, Migración y Resiliencia
TRANSP:OPAQUE
UID:2b9b14ba-b4bc-565a-b23d-122fcf78e6f4
URL:https://us.pycon.org/2025/schedule/presentation/15/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: tutorials\nKind: tutorial\nName: The A-B-Cs of Regressions\nhttps://us.pycon.org/2025/schedule/presentation/95/\n<p>We all want to do great work with real data\, such as determining causality\, and generating predictions\, but determining the appropriate methods for a situation\, and doing estimation on the relationships between variables is hard. In this tutorial\, we’ll take a deep dive into regression analysis\, which is a set of methods for estimating relationships between dependent (or outcome) variables and independent variables (or covariates or regressors or predictors). </p>\n<p>We’ll start with the method of linear regression (finding a best-fit line in a dataset)\, then move to regressions more appropriate for settings where the dependent variable takes a particular given set of values\, such as logistic regressions for binary outcomes. Along the way\, we’ll pay close attention to statistical definitions that teach us what we can and can’t infer from our data regarding real world causality. We’ll also talk about scientific writing\, and how to accurately document and communicate our results. The tutorial will feature a mix of instruction and discussing the mathematical background of each regression model\, and hands-on exploration of real datasets and real world data questions using Jupyter notebooks.</p>\nSpeakers:\nNeha\n<p>I’m a PhD student at Carnegie Mellon University in Statistics\, Data Science\, and Public Policy. My research interests include machine learning policy and causal inference\, and I’m the primary owner and maintainer of dame-flame\, a Python package for matching in causal inference. In the past\, I’ve worked for the United Nations as an AI and Data Science Research Fellow\, and briefly as a software engineer. My Python teaching experience includes TAing introductory programming classes in Python\, and Girls Who Code clubs for middle school students. </p>\n<p>I have a large variety of hobbies\, including swimming\, playing music\, and arts.</p>
DTEND:20250515T163000Z
LOCATION:Room 321
DTSTART:20250515T130000Z
STATUS:CONFIRMED
SUMMARY:[tutorial] The A-B-Cs of Regressions
TRANSP:OPAQUE
UID:38a01d76-c518-5afc-9b94-14cb038b4370
URL:https://us.pycon.org/2025/schedule/presentation/95/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: The chaotic locals() and how we fixed it\nhttps://us.pycon.org/2025/schedule/presentation/57/\n<p>Historically\, Python stored local variables in a dict\, which was convenient and consistent. Users can use locals() to get the same dict Python is using for the local variables. As Python evolves\, local variables were moved to the frame stack to improve performance\, which made it invisible from Python code. However\, locals() was kept because we still need a way to access some or all of the local variables in a frame.</p>\n<p>This became chaotic when we try to change the local variables through the dict - which is a common requirement for something like a debugger. What could possibly go wrong? Is the update remembered? Could it work with <code>exec()</code>? Will a random read in your code bites you? How can we reliably update the value of a local variable in a debugger?</p>\n<p>Well the short answer is - we can't\, not until PEP 667.</p>\n<p>This talk will be about how we fixed the chaos in PEP 667 and what's the modern way to deal with local variables in a debugger.</p>\nSpeakers:\nTian Gao\n<p>Senior Software Engineer at Microsoft AI Frameworks. Python Core Dev\, maintainer of pdb. Author of a few open source projects\, including <a href="https://github.com/gaogaotiantian/viztracer">VizTracer</a>\, <a href="https://github.com/gaogaotiantian/coredumpy">coredumpy</a> and <a href="https://github.com/gaogaotiantian/objprint">objprint</a>. Also a <a href="https://www.youtube.com/@minkoder">Youtuber</a>.</p>\n<p>Making life easier for developers.</p>
DTEND:20250517T204500Z
LOCATION:Hall C
DTSTART:20250517T201500Z
STATUS:CONFIRMED
SUMMARY:[talk] The chaotic locals() and how we fixed it
TRANSP:OPAQUE
UID:975b095c-19f8-505f-8f36-9774c099e719
URL:https://us.pycon.org/2025/schedule/presentation/57/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: plenary\nName: Keynote - The Marshall Project\n<p><a href="/2025/about/keynote-speakers#the-marshal-project">The Marshall Project</a>\n<br><span style="font-size: smaller\; font-weight: normal\;">Keynote</span></p>\n
DTEND:20250518T134500Z
LOCATION:Hall B
DTSTART:20250518T130000Z
STATUS:CONFIRMED
SUMMARY:[plenary] Keynote - The Marshall Project
TRANSP:OPAQUE
UID:2dd8d3a6-eb83-5c89-9872-b627df9add2b
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: informational\nName: Information Desk Closes\n<p>Information Desk Closes</p>\n
DTEND:20250515T210000Z
LOCATION:Concourse A
DTSTART:20250515T210000Z
STATUS:CONFIRMED
SUMMARY:[informational] Information Desk Closes
TRANSP:OPAQUE
UID:ff5988f1-934c-5141-9bfe-5251c14db66c
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Missing the Apex: Predicting F1 Races with Python\nhttps://us.pycon.org/2025/schedule/presentation/119/\n<p>Inspired by\, and iterates upon\, a paper published in an academic journal\, this talk walks throughs through how I used Python to predict Fomula 1 (F1) races. Specifically we talk about the specific challenges related to web scraper\, data wrangling\, and statistical analysis to try and predict the outcome of F1 races by the evolution of track data over the weekend. Whether beginner or intermediate\, or have no familiarity with F1 there's something in here for everyone to learn how to apply Python to their projects.</p>\nSpeakers:\nJosh Weissbock\n<p>-</p>
DTEND:20250517T154500Z
LOCATION:Ballroom A
DTSTART:20250517T151500Z
STATUS:CONFIRMED
SUMMARY:[talk] Missing the Apex: Predicting F1 Races with Python
TRANSP:OPAQUE
UID:c765fb02-1ee1-5ffe-8576-759aba4607d1
URL:https://us.pycon.org/2025/schedule/presentation/119/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: posters\nKind: poster\nName: Atom to Innovation: Machine Learning for Materials Science\nhttps://us.pycon.org/2025/schedule/presentation/22/\n<p>Materials science is traditionally limited by time-consuming experimental methods for predicting new material properties. Our poster demonstrates how machine learning can dramatically accelerate materials discovery through computational techniques. By using Python libraries like PyTorch\, DScribe\, and ASE\, we will simulates and predict material properties before they're physically created.</p>\n<p>Imagine designing materials for solar panels\, electronic devices\, or medical implants through a computational model. Our approach uses neural network to transform atomic structures into predictive insights\, identifying patterns that human researchers might miss. We can predict critical material characteristics like mechanical strength\, electrical conductivity with unprecedented speed and accuracy.</p>\n<p>The poster will help connect computational methods with practical scientific research\, providing an interactive demonstration of how machine learning can enhance materials design.</p>\nSpeakers:\nManoj Pandey\n<p>Pythonista</p>
DTEND:20250518T170000Z
LOCATION:Hall A
DTSTART:20250518T140000Z
STATUS:CONFIRMED
SUMMARY:[poster] Atom to Innovation: Machine Learning for Materials Science
TRANSP:OPAQUE
UID:6bf99f12-589a-5671-9b00-c71c452adf2c
URL:https://us.pycon.org/2025/schedule/presentation/22/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Scaling the Mountain: A Framework for Tackling Large-Scale Tech Debt\nhttps://us.pycon.org/2025/schedule/presentation/2/\n<p>Managing tech debt in large legacy codebases isn’t just a challenge—it’s an ongoing battle that can drain developer productivity and morale. In this talk\, I’ll introduce a Python-powered <strong>Tech Debt Framework bar-raiser</strong> designed to help teams tackle even the most daunting tech debt problems with 100\,000+ violations.\nThis open-source framework empowers developers and engineering leaders by:\n - <strong>Tracking Progress:</strong> Measure and visualize the state of tech debt and trends over time.\n - <strong>Recognizing Contributions:</strong> Celebrate developer efforts and foster accountability with contribution leaderboards and automated shoutouts.\n - <strong>Automating Fixes:</strong> Save countless hours with codemods that address repetitive debt patterns\, allowing developers to focus on higher-priority work.</p>\n<p>Through real-world case studies\, I’ll showcase how we:\n - Reduced <strong>70\,000+</strong> pyright-ignore annotations to boost type-checking coverage from 60% to 99.5%.\n - Converted a monolithic <strong>sync codebase to async</strong>\, addressing blocking IO issues and adopting asyncio effectively.</p>\n<p>Attendees will gain actionable strategies for scaling Python automation\, fostering team buy-in\, and systematically reducing tech debt across massive codebases. Whether you’re dealing with type errors\, legacy dependencies\, or async transitions\, this talk provides a roadmap for creating cleaner\, more maintainable code at scale.</p>\nSpeakers:\nJimmy Lai\n<p>Jimmy Lai is a Software Engineer on the Infrastructure team at ZipHQ\, with a passion for Python and sharing knowledge through engaging tech talks. His recent appearances at PyCon US\, EuroPython\, and PyCon JP covered topics such as linting\, profiling and optimization\, asyncio\, type annotations\, automated refactoring\, and practical testing.</p>\n<p>Jimmy is also an active open-source contributor\, having worked on tools like LibCST\, Fixit\, and bar-raiser\, empowering developers to write cleaner\, more maintainable code. When he’s not coding or presenting\, he’s exploring ways to make large-scale systems more efficient and developer-friendly.</p>
DTEND:20250517T154500Z
LOCATION:Room 301-305
DTSTART:20250517T151500Z
STATUS:CONFIRMED
SUMMARY:[talk] Scaling the Mountain: A Framework for Tackling Large-Scale Tech Debt
TRANSP:OPAQUE
UID:65aff90a-a220-5483-bc6f-5f2698d1ce13
URL:https://us.pycon.org/2025/schedule/presentation/2/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: break\nName: Break\n<p>Break</p>\n
DTEND:20250516T150000Z
LOCATION:Hall C\, Ballroom A\, Ballroom BC\, Room 301-305\, Room 310/311
DTSTART:20250516T143000Z
STATUS:CONFIRMED
SUMMARY:[break] Break
TRANSP:OPAQUE
UID:1191d1bc-0dde-52ed-9a2e-9a7ef299e46b
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: The PyArrow revolution in Pandas\nhttps://us.pycon.org/2025/schedule/presentation/69/\n<p>Pandas has long used NumPy for its back-end storage. But things are changing\, and the future of Pandas will likely be tied closely with PyArrow. What are Arrow and PyArrow? How do they affect Pandas users today\, and how will they affect us in the future? Is PyArrow always faster than the current Pandas backend? In this talk\, I introduce PyArrow\, tell you what it does\, how we can already use it in our Pandas work\, and when it's appropriate for you to use it.</p>\nSpeakers:\nReuven M. Lerner\n<p>Reuven is a full-time instructor in Python and Pandas\, in business since 1995. He teaches at companies around the world\, offers video courses\, and writes books — most recently\, Python Workout and Pandas Workout\, both published by Manning. He writes about Python for his "Better Developers" newsletter\, and poses Pandas puzzles based on current events in "Bamboo Weekly." Reuven lives with his wife and three children in Modi'in\, Israel.</p>
DTEND:20250516T161500Z
LOCATION:Ballroom A
DTSTART:20250516T154500Z
STATUS:CONFIRMED
SUMMARY:[talk] The PyArrow revolution in Pandas
TRANSP:OPAQUE
UID:6aa2703b-d2f7-5206-be18-ccdb8c7553a9
URL:https://us.pycon.org/2025/schedule/presentation/69/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: summit\nName: WebAssembly Summit\, pre-registration required!\n<p>WebAssembly Summit\, pre-registration required!</p>\n
DTEND:20250515T210000Z
LOCATION:Room 402
DTSTART:20250515T130000Z
STATUS:CONFIRMED
SUMMARY:[summit] WebAssembly Summit\, pre-registration required!
TRANSP:OPAQUE
UID:aefd1539-3b9d-5597-90e1-407b404fd168
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: summit\nName: Hatchery - Community Organizer Summit\n<p>Hatchery - Community Organizer Summit</p>\n
DTEND:20250517T170000Z
LOCATION:Room 317
DTSTART:20250517T143000Z
STATUS:CONFIRMED
SUMMARY:[summit] Hatchery - Community Organizer Summit
TRANSP:OPAQUE
UID:daa368f8-d161-54f1-9ccc-80fe7a338b45
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: World's First Undoable Notebook\nhttps://us.pycon.org/2025/schedule/presentation/92/\n<h2>Description</h2>\n<p>Interactive Notebooks (e.g.\, Jupyter\, Colab) are widely used for data science tasks such as data analysis\, data visualization\, and model training. A fundamental limitation of vanilla notebook frameworks is the inability to undo the effect of cell executions on the session state\, e.g.\, users cannot ‘un-drop’ dataframe columns. In this talk\, I will describe our ongoing work on adding automated\, lightweight checkpointing in notebook sessions to address this issue.</p>\n<h2>Audience</h2>\n<p>This talk should be interesting for an intermediate-level audience who have some experience with using Python-based notebooks and common data science libraries (e.g.\, Pandas\, Matplotlib) and have experienced first-hand the various issues of existing notebook frameworks (e.g.\, no undos\, non-persistent state). This talk will assume prior knowledge of notebook basics and terminology (e.g.\, cell executions\, session state).</p>\n<h2>Objectives</h2>\n<p>Attendees will learn about how incremental checkpointing and versioning techniques commonly utilized in databases can be adapted to work well with interactive notebooks. At a more detailed level\, they will learn about the characteristics of typical notebook workloads and how information (e.g.\, dependencies between variables) required for incremental checkpointing can be profiled from cell executions.</p>\nSpeakers:\nZhaoheng Li\n<p>I am a fourth-year CS PhD student at the University of Illinois at Urbana-Champaign. I am a member of CreateLab advised by Prof. Yongjoo Park. My research interests lie within Database Systems on the topics of Data management and Support for ML/AI.</p>
DTEND:20250516T153000Z
LOCATION:Ballroom BC
DTSTART:20250516T150000Z
STATUS:CONFIRMED
SUMMARY:[talk] World's First Undoable Notebook
TRANSP:OPAQUE
UID:eba453ca-db1c-51d8-b9d4-0c09adf52b9c
URL:https://us.pycon.org/2025/schedule/presentation/92/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: informational\nName: Expo Hall Opens\n<p>Expo Hall Opens</p>\n
DTEND:20250516T130000Z
LOCATION:Hall A
DTSTART:20250516T130000Z
STATUS:CONFIRMED
SUMMARY:[informational] Expo Hall Opens
TRANSP:OPAQUE
UID:72eb441e-9636-5d5c-8efc-37853c997819
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: tutorials\nKind: tutorial\nName: AI crash course for Python developers\nhttps://us.pycon.org/2025/schedule/presentation/77/\n<p>This crash-course tutorial is for Python developers that want to get up to speed with AI development quickly. \nWe will cover the what and how of language models\, learn about concepts like tokens\, markov chains\, and vector similarity with games and exercises. Each introduction to a concept will be explained by your experienced instructor in terms that don’t assume formal CS education. We’ll build demos\, apps and discuss pitfalls and challenges with AI development in 2025.</p>\nSpeakers:\nAnthony Shaw\n<p>Python enthusiast</p>
DTEND:20250514T163000Z
LOCATION:Room 310/311
DTSTART:20250514T130000Z
STATUS:CONFIRMED
SUMMARY:[tutorial] AI crash course for Python developers
TRANSP:OPAQUE
UID:b80c8fef-a677-5340-85fb-2c162d75df03
URL:https://us.pycon.org/2025/schedule/presentation/77/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: tutorials\nKind: tutorial\nName: Snakes in a Grid: Working with spreadsheets in Python + Python in Excel\nhttps://us.pycon.org/2025/schedule/presentation/37/\n<p>Spreadsheets are one of the most common ways to share data\, and thankfully Python has lots of tools to help! In this tutorial\, we will cover some helpful packages like <a href="https://pypi.org/project/openpyxl/">openpyxl</a> and <a href="https://pypi.org/project/pandas/">pandas</a> that make working with spreadsheets in Python a breeze. We will also approach the task from the other direction and explore how you can use Python directly in a spreadsheet in Excel to analyze and visualize your data. The session will include practical exercises where attendees will learn how to load\, manipulate\, and export spreadsheet data using Python. </p>\n<p>By the end of this tutorial\, participants will be equipped with the skills to efficiently handle spreadsheet tasks in Python as well as leverage Excel to run and share Python code directly in a spreadsheet.</p>\nSpeakers:\nSarah Kaiser\n<p>Sarah has spent most of her career developing technology in the lab\, from virtual reality hardware to satellites. She got her PhD in Physics by starting plasma fires with lasers\, Python\, and Jupyter Notebooks. She has also written tech books for folks of all ages\, including ABCs of Engineering and Learn Quantum Computing with Python and Q#. As a Cloud Developer Advocate for Python at Microsoft and a Python Software Foundation Fellow\, she finds all kinds of new ways to build and break OSS tools for data science and machine learning. When not at her split ergo keyboard\, she loves boating in the Seattle area\, laser cutting everything\, and playing with her German Shepard\, Chewie.</p>
DTEND:20250514T210000Z
LOCATION:Room 317
DTSTART:20250514T173000Z
STATUS:CONFIRMED
SUMMARY:[tutorial] Snakes in a Grid: Working with spreadsheets in Python + Python in Excel
TRANSP:OPAQUE
UID:b756dcb0-3600-525d-bacb-285c0f1a07e2
URL:https://us.pycon.org/2025/schedule/presentation/37/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: tutorials\nKind: tutorial\nName: Practical PyScript\nhttps://us.pycon.org/2025/schedule/presentation/8/\n<p><a href="https://pyscript.net/">PyScript</a> is a fast growing and vibrant open source platform for Python in the browser. Thanks to PyScript\, <a href="https://python.org/">CPython</a> and <a href="https://micropython.org/">MicroPython</a> run anywhere a browser runs\, which is everywhere!</p>\n<p>This tutorial\, aimed at all levels of experience and delivered by PyScript core developers\, will take you through initial steps needed to get PyScript working (hint: it's a single line added to an HTML <code>&lt\;head&gt\;</code> element). Afterwards we'll explore the many APIs\, modules\, libraries\, frameworks and tooling that have coalesced around PyScript since its announcement at PyCon three years ago. This will involve a guided tour of the potpourri of PyScript: tooling\, idiomatic PyScript\, core browser capabilities\, writing games with PyGame\, data science\, artificial intelligence\, application frameworks and UI toolkits\, and Internet of Things / robotics. We'll finish with an extended opportunity for folks to get their hands dirty with PyScript based explorations and conclude with a friendly and supportive "show and tell" session where folks can demo their work and share their experiences.</p>\n<p>By the end of the tutorial you'll be a confident user of PyScript\, understand its expanding ecosystem and know where the community signposts and gatherings can be found. But most of all\, it's going to be a lot of stimulating supportive fun.</p>\n<p>This tutorial complements and would be excellent prep for Łukasz Langa's advanced\, and frankly mind-blowing\, PyScript / WebGL tutorial later in the conference.</p>\nSpeakers:\nNicholas H.Tollervey\n<p>Music\, philosophy\, teaching\, writing &amp\; computing. Just like this bio: concise\, honest and full of useful information. Home is: <a href="https://ntoll.org">ntoll.org</a></p>
DTEND:20250514T210000Z
LOCATION:Room 320
DTSTART:20250514T173000Z
STATUS:CONFIRMED
SUMMARY:[tutorial] Practical PyScript
TRANSP:OPAQUE
UID:3a8b9d4c-b292-5153-b160-70f43a18999e
URL:https://us.pycon.org/2025/schedule/presentation/8/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: charla\nName: "GeoMonitoreo con Python: Soluciones Innovadoras para los Desafíos de Latinoamérica"\nhttps://us.pycon.org/2025/schedule/presentation/67/\n<p>En esta charla\, contaremos la experiencia de subirse al ‘tren Python’ que prometía ser una tecnología en expansión allá por el 2015\, cuando comenzamos a utilizar este lenguaje para la implementación de soluciones basadas en procesamiento de imágenes de video y satelitales para aplicaciones científicas en casos reales. Desde ese entonces\, junto con su ecosistema compuesto por bibliotecas en constante actualización\, Python continúa revolucionando el monitoreo ambiental en Latinoamérica. \nCon aplicaciones como el análisis de imágenes satelitales para evaluar los cambios de uso y cobertura de suelo hasta la detección de aumento o disminución de humedales o la presencia de cianobacterias en lagos\, ríos o embalses\, esta herramienta ha permitido implementar soluciones accesibles y escalables frente a desafíos como el cambio climático\, la gestión de recursos hídricos y la conservación de ecosistemas. Compartiremos casos de estudio exitosos y herramientas clave\, mostrando cómo la comunidad puede contribuir al cuidado ambiental y la sostenibilidad ambiental en la región. Python es más que un lenguaje de programación\, es una interacción continua entre documentación\, desarrolladores y la comunidad que pone a disposición infinidad de herramientas para que cualquier persona con una idea para cuidar el planeta pueda generar su aporte y divulgarlo globalmente\, algo que resultaba difícil de imaginar en nuestros comienzos.</p>\nSpeakers:\nNatalia V. Revollo\n<p>Doctor en Ingeniería por la Universidad Nacional del Sur e Ingeniera en Informática por la UNJU\, Argentina. Actualmente es profesora  e investigadora del Instituto de Ciencias e Ingeniería de la Computación (ICIC-UNS-CONICET) en el área de proyectos de desarrollo tecnológico y social. Es especialista en el desarrollo de algoritmos y software basados ​​en el procesamiento digital de imágenes y el estudio de sistemas inteligentes. Ha realizado cursos de especialización en diferentes universidades de la Argentina y del exterior\, y ha presentado publicaciones en el ámbito de la automatización de sistemas de clasificación y medición no supervisada de imágenes satelitales y videos de características relacionadas con la superficie terrestre. Ha participado en proyectos de transferencia tecnológica aplicada en áreas ambientales y geociencias como analista y desarrollador de algoritmos y modelos de aprendizaje automático. Fue autora del primer estudio sobre Capacidad de Carga de Playa utilizando algoritmos basados ​​en visión por computadora realizado en Argentina. Su trabajo más reciente aborda temas relacionados con el monitoreo no invasivo de los Recursos Hídricos y su interacción con el medio ambiente\, desde el monitoreo de playas en zonas costeras\, la teledetección de cuencas hídricas y la clasificación de humedales.</p>\nCarlos E. Berger\n<p>I am an Electronic Engineer and Ph.D. in Control of Systems\, deeply engaged in research and education\, particularly in the application of programming languages to scientific and multidisciplinary fields. I am a full professor at two universities in Argentina\, and I also work as an independent developer\, actively seeking new opportunities and positions.</p>
DTEND:20250516T153000Z
LOCATION:Room 310/311
DTSTART:20250516T150000Z
STATUS:CONFIRMED
SUMMARY:[charla] "GeoMonitoreo con Python: Soluciones Innovadoras para los Desafíos de Latinoamérica"
TRANSP:OPAQUE
UID:7f8da4f9-2af1-5075-be8a-06481bbeeafc
URL:https://us.pycon.org/2025/schedule/presentation/67/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: informational\nName: Registration / Information Desks Open\n<p>Registration / Information Desks Open</p>\n
DTEND:20250516T110000Z
LOCATION:Concourse A
DTSTART:20250516T110000Z
STATUS:CONFIRMED
SUMMARY:[informational] Registration / Information Desks Open
TRANSP:OPAQUE
UID:a905bad1-c50b-56f5-bbc0-2e3fff09a4eb
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: plenary\nName: PSF - Update from our Security Engineers\n<p>PSF - Update from our Security Engineers</p>\n
DTEND:20250518T140000Z
LOCATION:Hall B
DTSTART:20250518T134500Z
STATUS:CONFIRMED
SUMMARY:[plenary] PSF - Update from our Security Engineers
TRANSP:OPAQUE
UID:bbe29010-73fa-5eb9-b57b-2e45b15d8c8b
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: plenary\nName: Python Software Foundation Update & Awards\n<p>Python Software Foundation Update &amp\; Awards</p>\n
DTEND:20250518T210500Z
LOCATION:Hall B
DTSTART:20250518T203500Z
STATUS:CONFIRMED
SUMMARY:[plenary] Python Software Foundation Update & Awards
TRANSP:OPAQUE
UID:7afb5aa3-54df-586b-a82e-5d375db7b406
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: tutorials\nKind: tutorial\nName: What is the magic of magic methods in the Python language?\nhttps://us.pycon.org/2025/schedule/presentation/6/\n<p>Welcome to this tutorial on Python's magic methods\, often underestimated or overlooked in programming practice. And yet\, magic methods make it easy to write code that implements often very complex algorithms in a readable way.</p>\n<p>Python allows you to equip created classes with special methods\, also known as magic methods or dunder methods. To recognize a special method\, you should know that it is a method whose name begins and ends with a double underscore. But it's not the name that their magic lies in\, because these methods have a special meaning for Python.</p>\n<p>Python calls magic methods in response to fundamental operations\, such as creating class instances\, indexing sequences\, comparing objects\, managing attribute access\, and more\, so knowing how to create them is fundamental for any Pythonista.</p>\n<p>During this tutorial\, you’ll:\n* Find out what Python magic methods are\,\n* Understand the magic behind Python magic methods\,\n* Learn how to create and use magic methods\,\n* Customize various behaviors of classes using magic method.\n* Talk about some interesting non-trivial magic methods.</p>\n<p>To fully benefit from this tutorial\, you should be familiar with object-oriented programming in Python.</p>\n<p>This tutorial will have classroom exercises\, post class homeworks as well as complimentary readings. All the presentation\, code\, exercises will be shared in advance and the solutions of the exercise will be shared after the tutorial is completed.</p>\nSpeakers:\nPaweł Żal\n<p>Paweł Żal - software developer\, system architect with 20 years of experience in IT. A proponent of distributed solutions\, recently fascinated by time series databases. An avid kayaker and tinkerer.</p>
DTEND:20250515T163000Z
LOCATION:Room 310/311
DTSTART:20250515T130000Z
STATUS:CONFIRMED
SUMMARY:[tutorial] What is the magic of magic methods in the Python language?
TRANSP:OPAQUE
UID:fc340cae-d629-53ca-bfc2-f46c1a22d325
URL:https://us.pycon.org/2025/schedule/presentation/6/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Zoom\, Enhance: Asyncio's New Introspection Powers\nhttps://us.pycon.org/2025/schedule/presentation/116/\n<p>asyncio in Python 3.14 introduces a new powerful feature: introspecting a running asyncio program from another OS process. This changes everything—now you can debug and profile your asyncio code in production with no performance penalty. Join us for a fun ride as we show how this magic works under the hood and how you can use it. Learn about technical design decisions\, performance considerations\, security implications\, and trade-offs made. Along the way\, you’ll gain both beautiful and horrible insights into how asyncio and operating systems interact\, and we’ll wrap up with a flawless live demo!</p>\nSpeakers:\nPablo Galindo Salgado\n<p>-</p>\nYury Selivanov\n<ul>\n<li>\n<p>Python core developer since 2013. </p>\n</li>\n<li>\n<p>Author of a numerous PEPs\, such as: adding async/await syntax\, asynchronous generators\, exception groups\, context variables\, etc. Contributed to many other areas of CPython.</p>\n</li>\n<li>\n<p>Creator of uvloop -- the de-facto library of running asyncio applications in production.</p>\n</li>\n<li>\n<p>Co-founder and CEO of Gel Data Inc.\, with the mission of advancing SQL and PostgreSQL to the new heights\, enabling high-performance\, and enhancing developer experience.</p>\n</li>\n</ul>
DTEND:20250517T190000Z
LOCATION:Ballroom BC
DTSTART:20250517T183000Z
STATUS:CONFIRMED
SUMMARY:[talk] Zoom\, Enhance: Asyncio's New Introspection Powers
TRANSP:OPAQUE
UID:193012d0-c492-5d05-b0d0-49563473344f
URL:https://us.pycon.org/2025/schedule/presentation/116/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: One Year In: Insights and Inspiration from my PSF Journey\nhttps://us.pycon.org/2025/schedule/presentation/126/\n<p>Reflecting on a year at the Python Software Foundation (PSF)\, I’ll share insights into how the CPython project and its surrounding efforts\, as well as the PSF\, operate. Learn how anyone can get involved in areas like code\, documentation\, or PSF projects\, and uncover some lesser-known aspects of the PSF’s inner workings. Discover how you can contribute to—from code to documentation—and help shape Python’s future.</p>\nSpeakers:\nJacob Coffee\n<p>Jacob Coffee is an Infrastructure Engineer at the Python Software Foundation and a newly invited CPython triager. He supports key Python services such as PyPI.org and Python.org while also contributing to the maintenance of the Litestar ecosystem which boasts libraries such as Litestar\, Advanced Alchemy\, Polyfactory\, and more. He is passionate about open source development\, funding\, the mission of the PSF\, and enhancing the tools that empower developers worldwide.</p>
DTEND:20250518T190000Z
LOCATION:Room 301-305
DTSTART:20250518T183000Z
STATUS:CONFIRMED
SUMMARY:[talk] One Year In: Insights and Inspiration from my PSF Journey
TRANSP:OPAQUE
UID:d821db2b-ad1a-5483-a9f5-3b0b6009f299
URL:https://us.pycon.org/2025/schedule/presentation/126/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: How to learn Japanese with Python\nhttps://us.pycon.org/2025/schedule/presentation/122/\n<p>Japanese is reportedly one of the most difficult languages for English speakers to learn.\n(FSI language difficulty: https://www.fsi-language-courses.org/blog/fsi-language-difficulty/)\nThere are many reasons for this\, including the fact that there are three types of characters: hiragana\, katakana\, and kanji\, and that words are not separated by spaces.\nIn this talk\, I will first introduce what makes Japanese different from many European languages.\nThen I will show how Python and natural language processing libraries can be used to support Japanese language learning.</p>\nSpeakers:\nTakanori Suzuki\n<p>Takanori is a Chairperson of <a href="https://www.pycon.jp">PyCon JP Association</a>.\nWorked as a PyCon JP organizer since PyCon mini JP in January 2011 and has been the Co-Chair of PyCon JP 2024.\nHe is also a director of <a href="https://www.beproud.jp">BeProud Inc.</a>\, and his title is "Python Climber".\nCurrently he teaches Python to beginners as a lecturer at <a href="https://pycamp.pycon.jp">Python Boot Camp</a> all over Japan.\nIn addition\, he published several Python books.</p>\n<p>He plays trumpet\, climbs boulder\, loves Lego\, ferrets and craft beer.</p>
DTEND:20250516T161500Z
LOCATION:Room 301-305
DTSTART:20250516T154500Z
STATUS:CONFIRMED
SUMMARY:[talk] How to learn Japanese with Python
TRANSP:OPAQUE
UID:88d39dc9-3c4b-5bb4-afef-b92b34a5f62d
URL:https://us.pycon.org/2025/schedule/presentation/122/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: informational\nName: Information Desk Closes\n<p>Information Desk Closes</p>\n
DTEND:20250514T210000Z
LOCATION:Concourse A
DTSTART:20250514T210000Z
STATUS:CONFIRMED
SUMMARY:[informational] Information Desk Closes
TRANSP:OPAQUE
UID:437ca6f6-a2fe-5fac-9884-48487aaead7b
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: posters\nKind: poster\nName: How to refactor with confidence\nhttps://us.pycon.org/2025/schedule/presentation/139/\n<p>Refactoring is a crucial part of the development process. But refactoring can be <strong>scary</strong>: how do you know that your changes haven't introduced subtle bugs? Perhaps your refactored code now raises an exception in some cases\, or has an edge case that returns a slightly different value. Unit tests can help\, but what can you do about <strong>unexpected</strong> differences in behavior?</p>\n<p>This poster will show you how to use <a href="https://github.com/pschanely/CrossHair">CrossHair</a>'s <a href="https://crosshair.readthedocs.io/en/latest/diff_behavior.html">diffbehavior</a> command\, your secret weapon for confident refactoring. CrossHair uses a constraint solver to efficiently find inputs that reveal discrepancies between your original code and the refactored version.</p>\n<p>Stop by to learn more about CrossHair's diffbehavior command and start refactoring with confidence!</p>\nSpeakers:\nPhillip Schanely\n<p>Phillip is a database and program language enthusiast. (but is especially enthusiastic about Python!) He has had the opportunity to work with Python for 20 years: in various startups\, at Google\, and as a independent consultant. Phillip is the primary developer behind CrossHair\, a tool that brings the power of modern theorem provers to help Python developers.</p>
DTEND:20250518T170000Z
LOCATION:Hall A
DTSTART:20250518T140000Z
STATUS:CONFIRMED
SUMMARY:[poster] How to refactor with confidence
TRANSP:OPAQUE
UID:42041147-1fbc-5c24-90de-6a2e921ce120
URL:https://us.pycon.org/2025/schedule/presentation/139/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: posters\nKind: poster\nName: AmpliconFinder: A Python Based Bioinformatics Pipeline for Early Stage Cancer Diagnosis\nhttps://us.pycon.org/2025/schedule/presentation/44/\n<p>Early diagnosis is vital for significantly improving treatment outcomes for cancer patients\, as the chances of successful treatment and survival greatly increase when the disease is caught before it spreads. A promising area of research in early cancer detection focuses on tiny\, circular pieces of DNA called extrachromosomal circular DNAs (ecDNAs) or amplicons. These DNA circles are produced by tumor cells and can be identified in the blood or tissue samples of patients with various types of cancer. Recent advancements in DNA sequencing technology\, capable of generating individual sequence reads as long as 100 kb\, have made detecting these ecDNAs feasible. As sequencing costs continue to decrease\, ecDNAs are now being sequenced from thousands of patients\, creating vast datasets that require sophisticated computational tools for analysis.</p>\n<p>To address this need\, we developed a bioinformatics tool named AmpliconFinder\, which integrates a convolutional neural network (CNN) trained on long-read sequencing data from cancer patients with a robust bioinformatics pipeline—all implemented in Python. The tool leverages powerful libraries such as scikit-learn and TensorFlow for CNN development\, and pandas\, numpy\, and matplotlib for data processing and visualization. Circular DNA amplicons\, which serve as early-stage cancer biomarkers\, can be studied using AmpliconFinder\, providing a pathway for doctors to harness cost-effective sequencing data for simple\, non-invasive early cancer detection\, ultimately leading to more effective treatments.</p>\nSpeakers:\nHaque Ishfaq\n<p>Haque Ishfaq is a PhD student at McGill University and Mila - Quebec AI Institute. His research interests span machine learning\, statistical learning theory\, reinforcement learning and bandits. Before moving to Montreal\, he enjoyed several years of sunny weather at Stanford University where he completed his bachelors degree in mathematical and computational science as a McCaw Scholar and masters degree in statistics.</p>\nAtia Binte Amin\n<p>Atia Amin is a PhD student at McGill University in the department of Human Genetics where she is working on bioinformatics. She finished her masters program at the University of South Dakota where she performed research on engineering abiotic stress resistant crop plants. Having born and brought up in Bangladesh\, Atia is also passionate about popularizing STEM among girls in Bangladesh and other developing countries.</p>
DTEND:20250518T170000Z
LOCATION:Hall A
DTSTART:20250518T140000Z
STATUS:CONFIRMED
SUMMARY:[poster] AmpliconFinder: A Python Based Bioinformatics Pipeline for Early Stage Cancer Diagnosis
TRANSP:OPAQUE
UID:d4973a22-6380-56d0-a1ff-480019d6c8f5
URL:https://us.pycon.org/2025/schedule/presentation/44/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: posters\nKind: poster\nName: Datasette: an ecosystem of tools for finding stories in data\nhttps://us.pycon.org/2025/schedule/presentation/23/\n<p><a href="https://datasette.io/">Datasette</a> is an open source Python web application for exploring\, analyzing and publishing data\, built on top of SQLite. </p>\n<p>In the seven years since its first release Datasette has grown a plugin system with over 150 plugins\, enabling it to be applied to a continually growing set of data analysis\, visualization and manipulation challenges.</p>\n<p>Datasette's sister project\, <a href="https://llm.datasette.io/">LLM</a>\, provides a Python abstraction over a large number of different Large Language Models. My recent focus has been bringing these two worlds together\, building plugins for Datasette that take advantage of LLMs to provide features like structured data extraction from text and images\, text-to-SQL query assistance and data cleanup operations driven by prompts.</p>\n<p>Come and learn more about Datasette\, its plugin ecosystem and ways it can be applied to fields such as data journalism\, exploratory data analysis\, historical archives and more.</p>\nSpeakers:\nSimon Willison\n<p>Simon Willison is the creator of <a href="https://datasette.io/">Datasette</a>\, an open source tool for exploring and publishing data\, and <a href="https://llm.datasette.io/">LLM</a>\, a command-line tool and Python library for interacting with Large Language Models. He currently works full-time developing open source tools for data journalism\, built around Datasette and SQLite.</p>\n<p>Simon has spent the last three years deeply immersed in the world of Large Language Models\, trying to solve the fascinating problems of how to responsibly use the technology in the two fields he knows best: journalism and software engineering.</p>\n<p>Prior to becoming an independent open source developer\, Simon was an engineering director at Eventbrite. Simon joined Eventbrite through their acquisition of Lanyrd\, a Y Combinator funded company he co-founded in 2010.</p>\n<p>He is a board member of the Python Software Foundation and a co-creator of the Django Web Framework\, and has been blogging about web development and programming since 2002 at https://simonwillison.net/</p>
DTEND:20250518T170000Z
LOCATION:Hall A
DTSTART:20250518T140000Z
STATUS:CONFIRMED
SUMMARY:[poster] Datasette: an ecosystem of tools for finding stories in data
TRANSP:OPAQUE
UID:f66f8e62-a8f3-500a-94af-8e8484c66e72
URL:https://us.pycon.org/2025/schedule/presentation/23/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: charla\nName: Pruebas E2E automatizadas con Playwright y Python\nhttps://us.pycon.org/2025/schedule/presentation/94/\n<p>En un mundo donde necesitamos garantizar la calidad de nuestro producto\, automatizar pruebas para poder seguir flujos de trabajo en ambientes ágiles es fundamental.</p>\n<p>En esta charla de 30 minutos\, te invito a conocer el universo de Playwright combinado con el poder de Python\, la cual es una herramienta con mucha proyección en el mercado.</p>\n<p>Comenzaremos explorando los fundamentos de Playwright\, desvelando por qué lo hace tan único\, cómo podemos instalarlo y automatizar de manera sencilla un caso de prueba de la mano con PyTest.</p>\n<p>Exploraremos juntos las opciones que nos da Playwright para la posibilidad de ejecutar nuestras pruebas en múltiples navegadores\, tomar capturas de pantalla\, video y emular vistas móviles para probar diseños responsivos.</p>\n<p>Pero no terminaremos ahí\, exploraremos cómo potenciar tus scripts de prueba con el patrón de diseño "Page Object Model"\, una práctica que mejora la mantenibilidad del código y facilita la colaboración en los equipos de desarrollo. Además\, cómo podemos consumir información por medio de los "fixtures" facilitados por PyTest.</p>\n<p>Ya seas un ingeniero de QA o un desarrollador buscando mejorar la calidad de tus proyectos\, esta charla te proporcionará herramientas prácticas y conocimientos esenciales para agregar pruebas E2E eficientes en tu flujo de desarrollo.</p>\nSpeakers:\nJoan Alejandro Esquivel Montero\n<p>I have been working in Software Quality Assurance for the last 7+ years experiencing different projects &amp\; tools during my professional trip. I also create testing &amp\; automation free content in my Youtube Channel "JoanMedia".</p>
DTEND:20250517T181500Z
LOCATION:Room 310/311
DTSTART:20250517T174500Z
STATUS:CONFIRMED
SUMMARY:[charla] Pruebas E2E automatizadas con Playwright y Python
TRANSP:OPAQUE
UID:c0a650ff-d9ec-59fb-a183-eb0635fe3346
URL:https://us.pycon.org/2025/schedule/presentation/94/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: charla\nName: Rust + Python = Poder Ilimitado: Introducción a PyO3\nhttps://us.pycon.org/2025/schedule/presentation/109/\n<h1><strong>Creando Bibliotecas de Python con Rust: Introducción a PyO3</strong></h1>\n<p>¿Te imaginas combinar la <strong>velocidad y seguridad</strong> de Rust con la <strong>flexibilidad y facilidad</strong> de Python? En esta charla\, exploraremos cómo lograrlo utilizando <strong>PyO3</strong>\, una herramienta que permite construir bibliotecas de Rust que se integran perfectamente en aplicaciones Python.  </p>\n<p>Presentaré un extracto de un <strong>proyecto personal en desarrollo</strong>\, donde utilizo Rust para optimizar tareas críticas de desempeño y las expongo como módulos accesibles desde Python. Compartiré mi experiencia sobre los retos y ventajas de unir estos dos mundos tecnológicos.  </p>\n<h3><strong>Estructura de la Charla</strong></h3>\n<ol>\n<li><strong>Introducción:</strong>  </li>\n<li>\n<p>Qué es PyO3 y por qué combinar Rust y Python puede transformar tus proyectos.  </p>\n</li>\n<li>\n<p><strong>Fundamentos y Configuración:</strong>  </p>\n</li>\n<li>\n<p>Cómo iniciar un proyecto con PyO3 y preparar un entorno de desarrollo eficiente.  </p>\n</li>\n<li>\n<p><strong>Demostración Práctica:</strong>  </p>\n</li>\n<li>Creación paso a paso de una biblioteca simple en Rust\, expuesta a Python.  </li>\n<li>Demostración de proyecto personal</li>\n</ol>\n<h3><strong>Conclusión</strong></h3>\n<p>Se hará un análisis de resultados\, haciendo una reflexión sobre el impacto del proyecto y las lecciones obtenidas\, para pasar a las dudas de la audiencia.</p>\nSpeakers:\nDaniel Hernández Méndez\n<p>Apasionado por los datos y amante del nuevo conocimiento\, actualmente me desempeño como <strong>Data Steward en Scotiabank</strong>\, donde trabajo en la gestión y gobernanza de la información para apoyar procesos clave.  </p>\n<p>Soy un miembro activo de <strong>Python Chile</strong>\, una comunidad dedicada a la difusión y crecimiento del lenguaje Python en el país. Mi contribución abarca tanto el lado organizativo\, participando en la planificación de eventos como <strong>meetups\, PyCon y PyDay</strong>\, como el lado expositivo\, compartiendo mi conocimiento en charlas dirigidas a desarrolladores y entusiastas de la tecnología.  </p>\n<p>Creo firmemente en el poder del <strong>aprendizaje colectivo</strong> y la <strong>colaboración</strong> para impulsar el desarrollo personal y profesional\, lo que me motiva a seguir aportando a la comunidad tecnológica en cada oportunidad que se presenta.</p>
DTEND:20250517T190000Z
LOCATION:Room 310/311
DTSTART:20250517T183000Z
STATUS:CONFIRMED
SUMMARY:[charla] Rust + Python = Poder Ilimitado: Introducción a PyO3
TRANSP:OPAQUE
UID:107cd9a8-f0a0-59ec-ab86-b49a0952a8f1
URL:https://us.pycon.org/2025/schedule/presentation/109/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: informational\nName: Open Spaces Rooms Open\n<p>Open Spaces Rooms Open -  <a href="https://pycon.us/os">pycon.us/os</a></p>\n
DTEND:20250516T120000Z
LOCATION:Open Spaces Rooms
DTSTART:20250516T120000Z
STATUS:CONFIRMED
SUMMARY:[informational] Open Spaces Rooms Open
TRANSP:OPAQUE
UID:2d23168a-91f9-54e4-be6d-c5e00947c465
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: event\nName: PSF Members Lunch\, pre-registration required\n<p>PSF Members Lunch\, pre-registration required</p>\n
DTEND:20250517T180000Z
LOCATION:Room 403/404
DTSTART:20250517T163000Z
STATUS:CONFIRMED
SUMMARY:[event] PSF Members Lunch\, pre-registration required
TRANSP:OPAQUE
UID:909afefa-7c9f-5219-9d0a-29437b4ce12b
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: event\nName: Mentored Sprints\, pre-registration required\n<p>Mentored Sprints\, pre-registration required</p>\n
DTEND:20250517T213000Z
LOCATION:Room 402
DTSTART:20250517T174500Z
STATUS:CONFIRMED
SUMMARY:[event] Mentored Sprints\, pre-registration required
TRANSP:OPAQUE
UID:7d471186-08f6-5bff-acba-3a4c805845a6
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: posters\nKind: poster\nName: Beautiful and Balanced: Using Color Theory in Data Visualization\nhttps://us.pycon.org/2025/schedule/presentation/48/\n<p>When presenting data visually\,  it's important to choose color palettes which do not skew the viewer's perception of the data relationships you're illustrating. Our brains interpret color contextually: proximity to other colors changes the way we perceive a particular color\, making it appear darker or lighter\, more prominent or more demure. With some understanding of these color relationships\, you can make palette choices which do not inadvertently introduce bias to the data being displayed.</p>\n<p>In this poster presentation\, we'll take a peek at some basic color theory based on the work of Josef Albers\, look at what color weight is\, and how you can use it to evaluate your palette choices. We'll go over some strategies for choosing color palettes that keep your data presentation both unbiased and visually pleasing\, and list some resources for learning more.</p>\nSpeakers:\nLaura Fisher\n<p>I'm an artist and designer\, living and working in downtown Los Angeles. I create work in traditional media like oil paint\, and in modern media like code. I am learning data visualization as a fun way to use both these skill sets simultaneously.</p>\n<p>Website: https://mitten.lol</p>\n<p>Fediverse: @mitten@social.lol</p>
DTEND:20250518T170000Z
LOCATION:Hall A
DTSTART:20250518T140000Z
STATUS:CONFIRMED
SUMMARY:[poster] Beautiful and Balanced: Using Color Theory in Data Visualization
TRANSP:OPAQUE
UID:6cd12c46-b7cd-5bd6-ac3d-2400083ad8fc
URL:https://us.pycon.org/2025/schedule/presentation/48/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: informational\nName: Swag Pickup Opens\n<p>Swag Pickup Opens</p>\n
DTEND:20250517T130000Z
LOCATION:Hall A
DTSTART:20250517T130000Z
STATUS:CONFIRMED
SUMMARY:[informational] Swag Pickup Opens
TRANSP:OPAQUE
UID:c7f4282e-09be-55ff-9072-8f32d2e2e7d0
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: break\nName: Lunch\n<p>Lunch</p>\n
DTEND:20250517T174500Z
LOCATION:Hall A
DTSTART:20250517T163000Z
STATUS:CONFIRMED
SUMMARY:[break] Lunch
TRANSP:OPAQUE
UID:4880bf5f-79a6-5c6d-b720-2bc74613dbaf
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Supercharge your Python library using AST parsing\nhttps://us.pycon.org/2025/schedule/presentation/129/\n<p>The primary goal of developers using the Python/C API is to increase the performance of their Python code. Often\, this is done by executing a C function which has been compiled into machine code to bypass the Python interpreter. However\, <em>between</em> a user’s Python code and the invocation of the C function\, we can squeeze out even more performance. How\, you ask? </p>\n<p>We can leverage AST parsing with Python’s standard library “ast” module to modify the syntax of the code. In this talk\, we show some tricks to transform the Python AST for optimized runtime performance using the C API. These aren’t just theoretical\, either! Each example is taken from CSP\, an open-source computation graph library which heavily uses the Python/C API. </p>\n<p>This talk is meant for an advanced audience which has familiarity with the Python “ast” module as well as the Python/C API.</p>\nSpeakers:\nAdam Glustein\n<p>Adam Glustein is a Quantitative Developer at Point72 Asset Management in New York\, USA. He is a contributor to CSP\, a reactive stream processing library for both realtime and historical data.</p>
DTEND:20250517T190000Z
LOCATION:Hall C
DTSTART:20250517T183000Z
STATUS:CONFIRMED
SUMMARY:[talk] Supercharge your Python library using AST parsing
TRANSP:OPAQUE
UID:348ce11b-f9ba-5931-a93b-cd5546c2ba63
URL:https://us.pycon.org/2025/schedule/presentation/129/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: charla\nName: Iterando de forma eficiente en Python con Itertools\nhttps://us.pycon.org/2025/schedule/presentation/169/\n<p>Python viene con muchas herramientas poderosas “incluidas de fábrica”\, y entre ellas se encuentran sus estructuras de bucle. Pero usarlas correctamente no siempre es tan sencillo como parece. En esta charla exploraremos el módulo itertools\, una colección de funciones diseñadas para que escribas bucles más inteligentes\, no más complejos. A través de ejemplos prácticos y casos del mundo real\, veremos cómo aprovechar itertools para escribir código más eficiente y expresivo. Al finalizar\, tendrás a tu disposición un conjunto de herramientas que te ayudarán a dominar tus bucles en Python.</p>\nSpeakers:\nAndres Pineda\n<p>Husband &amp\; Father 3x | He/Him | 💻 Coder | 🚀 Dev Community Contributor | Enjoy 🎶☕🍺🥩 Bringing #a11y to apps one at the time @RealPython and @PythonSDQ</p>
DTEND:20250517T204500Z
LOCATION:Room 310/311
DTSTART:20250517T201500Z
STATUS:CONFIRMED
SUMMARY:[charla] Iterando de forma eficiente en Python con Itertools
TRANSP:OPAQUE
UID:818fc0cd-726b-50de-a155-7668142a4691
URL:https://us.pycon.org/2025/schedule/presentation/169/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: 503 days working full-time on FOSS: lessons learned\nhttps://us.pycon.org/2025/schedule/presentation/164/\n<p>I worked full-time on a Python FOSS project (Textual) for 503 days\, so what did I learn?</p>\n<p>Am I a better (Python) programmer?\nAm I a better teammate?\nAm I a better person?</p>\n<p>In this talk\, I will share some lessons I learned over the course of these 503 days:</p>\n<ul>\n<li>How to get a tech job in this day &amp\; age</li>\n<li>How to put your ego aside when working with others</li>\n<li>How to deal with mistakes</li>\n<li>How to interact with users &amp\; contributors online</li>\n<li>How it feels to collaborate to a large codebase</li>\n</ul>\n<p>As for the first 3 questions... Ask my colleagues!</p>\nSpeakers:\nRodrigo Girão Serrão\n<p>Rodrigo Girão Serrão is the author of <a href="https://mathspp.com/books">multiple independently published books</a> on Python\, programming\, and mathematics\, and <a href="https://mathspp.com/blog">frequently blogs</a> about those same topics.\nRodrigo has also <a href="https://mathspp.com/talks">presented talks and tutorials at some of the largest Python conferences in the world</a>\, including PyCon US\, EuroPython\, and multiple European PyCons.</p>\n<p>As a fun fact\, Rodrigo also <a href="https://mathspp.com/blog/teaching-the-worlds-largest-programming-lesson">taught “the largest programming lesson in the world”</a>\, a Guinness World Record established in late 2024.</p>\n<p>When he is not working or writing\, Rodrigo can be found playing board games\, walking his dog\, or exercising at the gym.</p>
DTEND:20250516T200000Z
LOCATION:Room 301-305
DTSTART:20250516T193000Z
STATUS:CONFIRMED
SUMMARY:[talk] 503 days working full-time on FOSS: lessons learned
TRANSP:OPAQUE
UID:49c1477c-efb6-5a29-a062-fe2c918a4ffa
URL:https://us.pycon.org/2025/schedule/presentation/164/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: plenary\nName: Keynote - Lynn Root\n<p><a href="/2025/about/keynote-speakers#lynn-root">Lynn Root</a>\n<br><span style="font-size: smaller\; font-weight: normal\;">Keynote</span></p>\n
DTEND:20250517T140500Z
LOCATION:Hall B
DTSTART:20250517T132500Z
STATUS:CONFIRMED
SUMMARY:[plenary] Keynote - Lynn Root
TRANSP:OPAQUE
UID:6470e91b-5a2f-55cc-a74e-286dfa161143
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: tutorials\nKind: plenary\nName: Opening Reception\n<p>Opening Reception</p>\n
DTEND:20250515T230000Z
LOCATION:Hall A
DTSTART:20250515T210000Z
STATUS:CONFIRMED
SUMMARY:[plenary] Opening Reception
TRANSP:OPAQUE
UID:fb5ee05b-8ff0-5a2d-8e7a-a74358a96b3b
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: informational\nName: Open Spaces Rooms Close\n<p>Open Spaces Rooms Close</p>\n
DTEND:20250518T000000Z
LOCATION:Open Spaces Rooms
DTSTART:20250518T000000Z
STATUS:CONFIRMED
SUMMARY:[informational] Open Spaces Rooms Close
TRANSP:OPAQUE
UID:59b083e1-6522-58ad-8a47-b869e7ddbbcb
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Unraveling Community Support For Free-Threaded Python\nhttps://us.pycon.org/2025/schedule/presentation/42/\n<p>Shipping the <a href="https://py-free-threading.github.io">free-threaded build</a> of Python 3.13 was just the first step towards unlocking scalable multithreaded parallelism in Python. To unlock improved performance for real-world compute tasks\, the universe of community-maintained open source packages also needed to be updated. This is the story of the first year of that effort.</p>\n<p>We will share tools\, techniques\, and guidance gained from porting Cython\, NumPy\, SciPy\, PyO3\, and many other packages with C\, Cython\, C++\, Fortran\, and Rust native extensions to support free-threaded Python\, illustrated by anecdotes from our experiences.</p>\n<p>Attendees will learn about tools and techniques to discover and fix thread safety issues and multithreaded scaling bottlenecks in packages with native extensions or dependencies. If you are unsure about how to support free-threaded Python in a package you maintain\, we hope that this talk will give you a plan and the toolbox necessary to accomplish the task.</p>\n<p>This talk is targeted at developers and maintainers of Python packages that include native dependencies as well as people who are interested in contributing to community packages that include native code. We assume some prior knowledge with native Python extensions written in C\, C++\, Rust\, or Cython.</p>\nSpeakers:\nLysandros Nikolaou\n<p>Lysandros works as a Senior Software Engineer at Quansight Labs\, where he spends most of his time on CPython and the PyData ecosystem. He is a CPython core developer\, specializing in the parser\, the tokenizer and the REPL. He recently worked on supercharging f-strings in Python 3.12\, the new REPL for Python 3.13 and introducing fast string ufuncs in NumPy 2.0. Currently\, he's mostly dealing with improving support for free-threaded Python in the PyData ecosystem.</p>\nNathan Goldbaum\n<p>-</p>
DTEND:20250516T171500Z
LOCATION:Hall C
DTSTART:20250516T163000Z
STATUS:CONFIRMED
SUMMARY:[talk] Unraveling Community Support For Free-Threaded Python
TRANSP:OPAQUE
UID:4905e95e-da65-51e6-97af-5003dcf070c1
URL:https://us.pycon.org/2025/schedule/presentation/42/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: tutorials\nKind: tutorial\nName: Polars: Faster\, Simpler\, Smarter Python Analytics\nhttps://us.pycon.org/2025/schedule/presentation/107/\n<p>Designed for Python users familiar with pandas\, this session will bridge the gap between what you know and what’s possible with Polars’ power-packed features.</p>\n<p>We’ll begin by understanding the fundamentals of Polars: its lazy execution engine\, multi-threading capabilities\, and how it leverages Apache Arrow for performance. You’ll learn how to convert existing pandas workflows to Polars and write concise\, blazing-fast queries that process large datasets effortlessly. From there\, we’ll dive into real-world examples and unlock advanced features\, including expressions\, group-by operations\, and streaming data pipelines.</p>\nSpeakers:\nMatt Harrison\n<p>Matt Harrison helps the largest companies in the world to leverage Python and apply data science. When he is not providing corporate training\, he can be found writing books or out in the mountains. He is the author of the best-selling books Effective Pandas\, Effective XGBoost\, and more.</p>
DTEND:20250515T163000Z
LOCATION:Room 318
DTSTART:20250515T130000Z
STATUS:CONFIRMED
SUMMARY:[tutorial] Polars: Faster\, Simpler\, Smarter Python Analytics
TRANSP:OPAQUE
UID:7fb92d73-86ec-5509-ba7b-7be21db93784
URL:https://us.pycon.org/2025/schedule/presentation/107/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: informational\nName: Registration / Information Desks Close\n<p>Registration / Information Desks Close</p>\n
DTEND:20250516T210000Z
LOCATION:Concourse A
DTSTART:20250516T210000Z
STATUS:CONFIRMED
SUMMARY:[informational] Registration / Information Desks Close
TRANSP:OPAQUE
UID:17ac1011-f6e0-5627-a4cd-4e127ce6bb77
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: tutorials\nKind: tutorial\nName: Handcrafting Your Own Language Processor: The Art of Writing Recursive Descent Parsers\nhttps://us.pycon.org/2025/schedule/presentation/65/\n<p>In this tutorial\, you will learn the fundamental principles of creating a language processor by hand\, focusing specifically on <em>recursive descent parsers</em>. A recursive descent parser is a program used for analyzing the structure of some input language through a series of functions that represent its grammatical rules.</p>\n<p>Knowing how to write a parser from scratch is incredibly useful for anyone interested in understanding how programming languages work under the hood. It also provides valuable insights into compiler design\, interpreters\, and any form of automatic text analysis. By mastering this skill\, you can create your own mini-languages\, customize existing ones\, or simply satisfy your curiosity about the inner workings of language processors.</p>\n<p>Throughout this tutorial\, you will:</p>\n<ul>\n<li>Gain a clear understanding of what a recursive descent parser is and how it operates.</li>\n<li>Learn the step-by-step process of building in Python your own language processor from the ground up.</li>\n<li>Improve your problem-solving skills by designing and implementing parsing algorithms.</li>\n<li>Explore practical examples and hands-on exercises to solidify your understanding.</li>\n</ul>\n<p>By the end of the tutorial\, you will have the knowledge and confidence to craft your own language processor and appreciate the elegance and power of recursive descent parsing.</p>\nSpeakers:\nAriel Ortiz\n<p>Ariel Ortiz is a programming languages enthusiast. Since 1994\, he has been a full-time faculty member at the Tecnológico de Monterrey in Mexico\, where he primarily teaches undergraduate computer science courses. His first encounter with Python was in 2001\, and since then\, he has integrated it into several of his classes\, including Advanced Algorithms and Compiler Design. He is an active member of ACM’s Special Interest Group on Computer Science Education (SIGCSE) and has been a speaker at PyCon US\, PyCon Latam\, Python Brasil\, and EuroPython conferences. Additionally\, he is the main author of the Spanish-language websites <a href="https://edupython.blogspot.com/">EduPython</a> and <a href="https://arielortiz.info/rip3/">RIP3</a>.</p>
DTEND:20250515T210000Z
LOCATION:Room 319
DTSTART:20250515T173000Z
STATUS:CONFIRMED
SUMMARY:[tutorial] Handcrafting Your Own Language Processor: The Art of Writing Recursive Descent Parsers
TRANSP:OPAQUE
UID:1fdaa47a-21ac-5365-934a-42c53f6d327f
URL:https://us.pycon.org/2025/schedule/presentation/65/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: sponsor-presentations\nKind: sponsor-workshop\nName: Real-World Problems Blockchain Actually Solves (and How to Code Them in Python) (Sponsor: Algorand)\nhttps://us.pycon.org/2025/schedule/presentation/150/\n<p>In this talk\, we'll zero in on real-world problems blockchain genuinely solves. We'll cut through the jargon and focus on when blockchain makes sense and when it doesn't.</p>\n<p>Everything we build will use Python\, using libraries and patterns you already know\, plus a few lightweight tools to interact with the Algorand blockchain. </p>\n<p>We'll work through hands-on examples: coding trust into peer-to-peer payment systems for underbanked regions\, building fractional ownership for previously illiquid assets\, and creating self-sovereign digital identity systems that empower users with ownership of their credentials. These aren't hypotheticals—companies are running these solutions in production today\, and we'll break down how they do it.</p>\n<p>Expect a session that meets you where you are: practical\, approachable\, and 100% Python. By the end\, you'll see where blockchain fits into your toolkit—not as a magic bullet\, but as a practical option for specific\, thorny problems.</p>\nSpeakers:\nGabriel Kuettel\n<p>With over a decade of experience spanning blockchain\, cybersecurity\, and web2 software engineering\, Gabe brings deep technical expertise and entrepreneurial spirit to the Algorand ecosystem. As a Developer Relations Engineer at the Algorand Foundation\, he bridges the gap between emerging technology and practical implementation. Previously\, he co-founded TxnLab and helped build NFDomains - the leading identity solution on the Algorand blockchain. Having worked with both early-stage startups and established enterprises\, Gabe leverages his diverse background to help builders navigate the full spectrum of challenges in blockchain development. He is committed to empowering developers through hands-on technical education and community building.</p>
DTEND:20250515T183000Z
LOCATION:Room 309
DTSTART:20250515T173000Z
STATUS:CONFIRMED
SUMMARY:[sponsor-workshop] Real-World Problems Blockchain Actually Solves (and How to Code Them in Python) (Sponsor: Algorand)
TRANSP:OPAQUE
UID:33921e54-21da-5617-8c8e-27ab8e5716f6
URL:https://us.pycon.org/2025/schedule/presentation/150/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: plenary\nName: Diversity & Inclusion Panel: The Work Still Matters: Inclusion\, Access\, and Community in 2025\n<p><a href="https://us.pycon.org/2025/about/keynote-speakers/#diversity-and-inclusion-panel">Diversity &amp\; Inclusion Panel: The Work Still Matters: Inclusion\, Access\, and Community in 2025</a></p>\n
DTEND:20250517T132500Z
LOCATION:Hall B
DTSTART:20250517T130000Z
STATUS:CONFIRMED
SUMMARY:[plenary] Diversity & Inclusion Panel: The Work Still Matters: Inclusion\, Access\, and Community in 2025
TRANSP:OPAQUE
UID:525dd233-5698-5b07-8116-72e75105a3b2
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Programming for Yourself\nhttps://us.pycon.org/2025/schedule/presentation/79/\n<p>The career benefits of learning programming have become increasingly obvious over time\, but few people talk about another great super-power you get from learning to program: the ability to make things that solve <em>your own problems</em>.</p>\n<p>In this talk\, I'll go through a few case studies from my own life wherein knowing how to program not only allowed me to solve problems for myself\, but also allowed me to recognize that the problem I was having had a solution at all.</p>\n<p>Additionally\, I'll talk about ways the approach to engineering changes (and doesn't change!) when programming bespoke applications for a small audience.</p>\nSpeakers:\nPaul Ganssle\n<p>Paul Ganssle is a software developer at Google and contributor to various open source projects. Among other projects\, he is a core developer of the Python language and created the zoneinfo module.</p>\n<p>He lives in Somerville\, MA with his wife and two children\, where he spends most of his time training for a spot on a potential future Catfish Noodling Olympic team.</p>
DTEND:20250516T191500Z
LOCATION:Room 301-305
DTSTART:20250516T184500Z
STATUS:CONFIRMED
SUMMARY:[talk] Programming for Yourself
TRANSP:OPAQUE
UID:22a299e0-1845-536f-8d8a-59034e52e600
URL:https://us.pycon.org/2025/schedule/presentation/79/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: informational\nName: Swag Pickup Closes\n<p>Swag Pickup Closes</p>\n
DTEND:20250518T150000Z
LOCATION:Hall A
DTSTART:20250518T150000Z
STATUS:CONFIRMED
SUMMARY:[informational] Swag Pickup Closes
TRANSP:OPAQUE
UID:a820826c-07e5-543a-91ef-365ae18001fb
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: What's New in the Linux Kernel... from Python\nhttps://us.pycon.org/2025/schedule/presentation/12/\n<p>Every new version of the Linux kernel comes with new features\, many of which can be easily used in Python. In this introduction to the world of systems programming in Python\, we'll use our favorite language to try out a couple of new features added to the Linux kernel over the past year. Along the way\, we'll learn about tools in the Python standard library for interfacing with the operating system and working with C-style data structures.</p>\nSpeakers:\nGeoffrey Thomas\n<p>Geoffrey Thomas is a software engineer with interests in operating systems infrastructure\, security\, and packaging. In his day job he has built countless Python packages from source in the course of importing them into internal build systems. He may be best known to the Python community indirectly as one of the authors of PEP 668\, which broke <code>sudo pip install</code> (for good reasons\, he promises). Geoffrey was also the co-creator of the initial support for writing Linux kernel modules in Rust and worked to get Rust support accepted in the mainline Linux kernel. Outside of software\, he is active in his church choir and in local activism for streets and housing.</p>
DTEND:20250517T154500Z
LOCATION:Hall C
DTSTART:20250517T151500Z
STATUS:CONFIRMED
SUMMARY:[talk] What's New in the Linux Kernel... from Python
TRANSP:OPAQUE
UID:7ea1438d-1ad5-5198-b957-a5fa617d63b4
URL:https://us.pycon.org/2025/schedule/presentation/12/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Attestations: a new generation of signatures on PyPI\nhttps://us.pycon.org/2025/schedule/presentation/76/\n<p>End-to-end signing and verification is one of the hardest technical and social challenges in open source packaging: it rests at the fault lines of error- and misuse-prone cryptography\, long-term secret management\, and identity/trust bootstrapping. These challenges have stymied past attempts to do large-scale end-user signing in the Python ecosystem\, including PyPI's former (now disabled) support for PGP signature uploads.</p>\n<p>Over the past year\, PyPI has designed\, developed\, and deployed a new approach to package signing\, one that aims to break the iron triangle of end-user signing: digital attestations\, as standardized in PEP 740.</p>\n<p>This talk will cover the architectural details of attestations\, how attestations were implemented on PyPI and on the client (uploading side)\, their security properties (including transparency) and advantages\, as well as how PyPI was able to enable <strong>signing by default</strong> for a large swath of the ecosystem without requiring maintainers to change anything about their packaging processes. The talk will also cover the <em>future</em> of attestations\, including pieces of the puzzle that are currently missing (like large-scale <em>verification</em> of attestations by parties other than PyPI itself).</p>\n<p>The audience is expected to have an intermediate familiarity with Python packaging\, including PyPI. No specific familiarity with cryptography is required. Audience members will leave the talk with an improved understanding of the challenges latent in end-user signing\, how PEP 740's design and PyPI's implementation overcome those challenges\, and how they can both produce and consume attestations today.</p>\nSpeakers:\nWilliam Woodruff\n<p>William Woodruff is an Engineering Director at Trail of Bits\, a NYC-based consultancy. He splits his time between OSS engineering and running the Ecosystem Security group\, which is responsible for contributing security and usability improvements to a wide range of OSS tools and services (PyPI\, Homebrew\, pip-audit\, Sigstore\, LLVM\, PyCA Cryptography\, etc.). Outside of work\, William is a member of Homebrew and contributes to a variety of OSS projects. He blogs at <a href="https://blog.yossarian.net">https://blog.yossarian.net</a>.</p>
DTEND:20250517T194500Z
LOCATION:Ballroom A
DTSTART:20250517T191500Z
STATUS:CONFIRMED
SUMMARY:[talk] Attestations: a new generation of signatures on PyPI
TRANSP:OPAQUE
UID:9d660b4d-1c7b-5223-8f2f-240444e0bd45
URL:https://us.pycon.org/2025/schedule/presentation/76/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: informational\nName: Open Spaces Rooms Open\n<p>Open Spaces Rooms Open -  <a href="https://pycon.us/os">pycon.us/os</a></p>\n
DTEND:20250518T120000Z
LOCATION:Open Spaces Rooms
DTSTART:20250518T120000Z
STATUS:CONFIRMED
SUMMARY:[informational] Open Spaces Rooms Open
TRANSP:OPAQUE
UID:13272123-eef3-5f37-8cfa-568dbfd924d3
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: tutorials\nKind: break\nName: Lunch\n<p>Lunch</p>\n
DTEND:20250514T173000Z
LOCATION:Ballroom A
DTSTART:20250514T163000Z
STATUS:CONFIRMED
SUMMARY:[break] Lunch
TRANSP:OPAQUE
UID:5bd20866-3478-53f7-bc79-d2aae304b443
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Finding 2.0\nhttps://us.pycon.org/2025/schedule/presentation/158/\n<p>In the world of library development\, achieving version 2.0 often takes years\, if it's achieved at all. Surprisingly\, nearly 90% of packages published to PyPI using semantic versioning have a major release number of less than two. What makes reaching this milestone so elusive?</p>\n<p>If we applied software versioning to our lives\, what version would we give ourselves? Perhaps in our formative years as students\, we'd be a part of a 0.x series\, and as we establish careers and become self-sufficient\, we might progress to a 1.x scheme. But do we settle there?</p>\n<p>Just like software libraries\, our lives require maintenance\, and despite our best intentions\, hacks and workarounds inevitably infiltrate our routines. As these multiply and compound\, our health can suffer. Do we wait for disaster to strike? Or\, can we take a proactive approach in not only addressing problem areas but also striving for more?</p>\n<p>Together\, we'll explore certain risks to our wellbeing inherent to our profession as software developers: sedentary lifestyles\, long work hours\, and social isolation\, and how we can plan and design our next major release for success.</p>\n<p>"Finding 2.0" is an invitation to reimagine what's possible across life areas. Whether facing health struggles\, burnout\, or feeling stuck in a rut\, this talk provides practical insights and actionable steps for rewriting the code of your life and embracing a future of health and fulfillment.</p>\nSpeakers:\nMarc Gibbons\n<p>Marc caught the programming bug as a child when the internet was still text-based and accessed by a 9600 baud modem.</p>\n<p>His career path is unique\; he initially studied music and played the oboe professionally with Canadian symphony orchestras before returning to his coding roots as a full-stack engineer.</p>\n<p>Passionate about enhancing the developer’s quality of life\, Marc excels in testing\, tooling\, and automation. Beyond the technical realm\, he explores ways to promote happiness\, health\, and connection in a remote work setting.</p>\n<p>As a two-time cancer survivor\, Marc is on a mission to help and inspire others facing adversity. He founded Port Perry Pedals\, a cycling fundraiser in the Greater Toronto Area which raised over $120\,000 for healthcare in his community.</p>
DTEND:20250517T150000Z
LOCATION:Ballroom A
DTSTART:20250517T143000Z
STATUS:CONFIRMED
SUMMARY:[talk] Finding 2.0
TRANSP:OPAQUE
UID:2afb56dc-31ce-5c09-9cde-6b07ac2bebaf
URL:https://us.pycon.org/2025/schedule/presentation/158/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Going faster in all directions at once: How two teams are working together to make Python better for all\nhttps://us.pycon.org/2025/schedule/presentation/75/\n<p>Two separate\, but related\, projects to make CPython faster are currently happening at the same time.  The first\, funded by Microsoft\, aims to improve the single-threaded performance of CPython (PEP 659\, PEP 744).  The second\, funded by Meta\, aims to remove the global interpreter lock so multiple threads can make better use of all processor cores (PEP 703).  There are technical challenges to achieving both of these goals simultaneously.  We will describe how we collaborate to nonetheless make both projects a success.  This includes (a) regular and open lines of communication\, (b) sharing the same code for benchmarking\, (c) leaving space for each of these projects to develop on their own\, and (d) allocating time to directly tackle the intersection of the two problems.</p>\n<p>This talk is intended for a general audience. It will cover technical topics related to language runtimes at a high level\, and also include people-management topics related to open source communities.</p>\nSpeakers:\nMichael Droettboom\n<p>Michael Droettboom is a Principal Software Engineering Manager at Microsoft\, leading the CPython Performance Engineering team.  He is also a former lead maintainer of matplotlib\, and creator of airspeed velocity (asv) and Pyodide (CPython on WebAssembly).</p>\nDino Viehland\n<p>I'm a software engineer at Meta working on Cinder\, our performance focused fork of CPython that runs Instagram and AI workloads. Previously I've worked on Python Tools for Visual Studio and IronPython and have been a core CPython developer since 2010.</p>
DTEND:20250518T173000Z
LOCATION:Room 301-305
DTSTART:20250518T170000Z
STATUS:CONFIRMED
SUMMARY:[talk] Going faster in all directions at once: How two teams are working together to make Python better for all
TRANSP:OPAQUE
UID:1ddb8ad9-67a1-5fdf-a5c4-bf5937d983a1
URL:https://us.pycon.org/2025/schedule/presentation/75/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: event\nName: PyLadies Auction\, pre-registration required\n<p>PyLadies Auction\, pre-registration required</p>\n
DTEND:20250518T023000Z
LOCATION:Ballroom A
DTSTART:20250517T224500Z
STATUS:CONFIRMED
SUMMARY:[event] PyLadies Auction\, pre-registration required
TRANSP:OPAQUE
UID:1d8f92f2-e9c6-5ed0-b36c-3c25f3690fe9
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: sponsor-presentations\nKind: sponsor-workshop\nName: Evolving Django: What We Learned by Integrating MongoDB (Sponsor: MongoDB)\nhttps://us.pycon.org/2025/schedule/presentation/142/\n<p>At MongoDB\, we have several Django enthusiasts who have jumped at the idea of backing a long-term solution to combining MongoDB and Django. Having historically provided support for SQL-based open source frameworks like Entity Framework in .NET/C#\, Doctrine in PHP\, and many more\, we are familiar with the territory.\nWe're happy to say we've successfully created a MongoDB Backend Library for Django and want to share all that we've learned kitting out a new NoSQL backend for a traditionally SQL framework including how we believe we have influenced -- and will continue to influence -- changes in the core Django library.</p>\nSpeakers:\nAnaiya Raisinghani\n<p>Anaiya Raisinghani is a passionate Developer Advocate at MongoDB\, where she empowers developers to turn their quirkiest dreams into reality with AI and Python. With her background in Computational Linguistics and Industrial and Systems Engineering\, she is all about exploring the niche between fun and useful by helping people build playful\, creative applications that can actually fit into real life (even through the chaos of it all!). When she's away from her laptop\, you can find Anaiya hanging out with her favorite coworkers (her two cats) or exploring all the fun brunch spots NYC has to offer.</p>
DTEND:20250515T143000Z
LOCATION:Room 309
DTSTART:20250515T133000Z
STATUS:CONFIRMED
SUMMARY:[sponsor-workshop] Evolving Django: What We Learned by Integrating MongoDB (Sponsor: MongoDB)
TRANSP:OPAQUE
UID:31c1fa49-8635-5943-b57e-c7e667e181db
URL:https://us.pycon.org/2025/schedule/presentation/142/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: tutorials\nKind: tutorial\nName: Analyzing Survey Data with Pandas and StatsModels\nhttps://us.pycon.org/2025/schedule/presentation/53/\n<p>Whether you are working with customer data or tracking election polls\, Pandas and StatsModels provide powerful tools for getting insights from survey data. In this tutorial\, we'll start with the basics and work up to age-period-cohort analysis and logistic regression. As examples\, we'll use data from the General Social Survey to see how political beliefs have changed over the last 50 years in the United States. We'll follow the essential steps of a data science project\, from loading and validating data\, exploring and visualizing\, modeling and predicting\, and communicating results.</p>\nSpeakers:\nAllen  Downey\n<p>Allen Downey is a professor emeritus at Olin College and Principal Data Scientist at PyMC Labs. He is the author of several books -- including <em>Think Python</em>\, <em>Think Stats</em>\, and <em>Probably Overthinking It</em> -- and a blog about programming and data science. He is a consultant and instructor specializing in Bayesian statistics. He received a Ph.D. in computer science from the University of California\, Berkeley\, and Bachelor's and Masters degrees from MIT.</p>
DTEND:20250515T210000Z
LOCATION:Room 318
DTSTART:20250515T173000Z
STATUS:CONFIRMED
SUMMARY:[tutorial] Analyzing Survey Data with Pandas and StatsModels
TRANSP:OPAQUE
UID:b515d77a-1629-5856-9697-c82f3c839a7d
URL:https://us.pycon.org/2025/schedule/presentation/53/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: sponsor-presentations\nKind: sponsor-workshop\nName: Build modern Python apps on Azure (Sponsor: Microsoft)\nhttps://us.pycon.org/2025/schedule/presentation/140/\n<p>For software engineers today\, developing Python apps and getting them to the cloud can be a serious hassle. Join us to explore a streamlined end-to-end experience of developing cloud-ready Python applications with Microsoft technologies! </p>\n<p>We'll cover how to build and deploy applications to Azure that use modern async frameworks\, generative AI\, and open-source databases like PostgreSQL. </p>\n<p>By the end\, you'll learn how save time and supercharge your development workflows with fan-favorite Python developer tools like VS Code\, our Python extension\, and GitHub Copilot - all without leaving your IDE!</p>\nSpeakers:\nPamela Fox\n<p>Pamela Fox is a human that loves to learn\, teach\, and create. She's currently a Cloud Advocate in Python at Microsoft\, where she helps developers use Python with Azure\, VS Code\, and GitHub.</p>\n<p>On the teaching front\, Pamela has taught computer science at UC Berkeley and volunteered in bay area classrooms as part of the TEALS\, GirlsWhoCode\, and CoderDojo organizations. She also started the SF chapter of GirlDevelopIt\, where she taught dozens of web development workshops.</p>\n<p>Pamela's been in the tech industry for 15+ years now\, starting with her first role at Google as one of their first developer advocates. She went on to be an early full-stack engineer at Coursera and spent many years after at Khan Academy\, both as an engineer and the creator of the computer programming content.</p>\nRohit Ganguly\n<p>Rohit is a Python enthusiast and Product Manager at Microsoft working primarily on Azure Developer Experience and the Azure SDK for Python.</p>\n<p>This will be Rohit’s third PyCon US\, attending in 2023\, 2024\, and speaking at the documentation summit at PyCon US 2024.</p>\n<p>Rohit’s interests in Python include web app development\, community organization\, responsible AI\, and all aspects of developer experience from package management to documentation.</p>\n<p>As a proud Pitt alum\, contributor to the PittAPI Python package\, and former Microsoft Pittsburgh community member\, Rohit is excited to bring his love for Pittsburgh and Python to PyCon US 2025.</p>\n<p>You can find Rohit online at https://rohit.info.</p>
DTEND:20250515T203000Z
LOCATION:Room 316
DTSTART:20250515T193000Z
STATUS:CONFIRMED
SUMMARY:[sponsor-workshop] Build modern Python apps on Azure (Sponsor: Microsoft)
TRANSP:OPAQUE
UID:cfff2af7-ed85-5f59-8246-88bfc5a0d398
URL:https://us.pycon.org/2025/schedule/presentation/140/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: informational\nName: Open Spaces Rooms Close\n<p>Open Spaces Rooms Close</p>\n
DTEND:20250517T000000Z
LOCATION:Open Spaces Rooms
DTSTART:20250517T000000Z
STATUS:CONFIRMED
SUMMARY:[informational] Open Spaces Rooms Close
TRANSP:OPAQUE
UID:db282811-2cf4-595e-952b-9b0e1d3c7cff
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Scale Smarter\, Not Harder\, with cuPyNumeric.\nhttps://us.pycon.org/2025/schedule/presentation/63/\n<p>Many data and simulation scientists use NumPy for its ease of use and good performance on CPU.  This approach works well for single-node tasks\, but scaling to handle larger datasets or more resource-intensive computations introduces significant challenges. Not to mention\, using GPUs requires another level of complexity. We present the cuPyNumeric library.  cuPyNumeric gives developers the same familiar NumPy interface\, but seamlessly distributes work across CPUs and GPUs.</p>\n<p>A compelling example when scaling is necessary is when scientists at the  SLAC National Accelerator Laboratory need to process a large amount of data within a fixed time window\, called beam time.  The full dataset generated during experiments is too large to be processed on a single CPU. Additionally\, the code often must be modified during the beam time to adapt to changing experimental needs. Being able to use NumPy syntax rather than lower level distributed computing libraries makes these changes quick and easy\, allowing researchers to focus on conducting more experiments rather than debugging or optimizing code.</p>\n<p>cuPyNumeric is designed to be a drop-in replacement to NumPy. Built on top of task-based distributed runtime from Stanford University\, it automatically parallelizes NumPy APIs across all available resources\, taking care of data distribution\, communication\, asynchronous and accelerated execution of compute kernels on both GPUs or multi-core CPUs.  In addition\, cuPyNumeric can be integrated with other popular Python libraries like SciPy\, matplotlib\, Jax.  With cuPyNumeric\, SLAC scientists successfully ran their data processing code distributed across multiple nodes and GPUs\, processing the full dataset with a 6x speed-up compared to the original single-node implementation.</p>\n<p>In this talk we showcase the productivity and performance of cuPyNumeric library covering some detail on its implementation.</p>\nSpeakers:\nIrina Demeshko\n<p>Irina Demeshko is a senior software engineer at NVIDIA working on cuNumeric and Legate projects. Before NVIDIA\, Irina was a research scientist and team leader of the Co-Design team at the Los Alamos National Laboratory. Her work and research interests are in the area of new HPC technologies and programming models. Irina received her Ph.D. in mathematical and computer science from the Tokyo Institute of Technology in 2013.</p>\nQuynh L. Nguyen\n<p>Quynh L. Nguyen is an Associate Scientist at SLAC National Accelerator Laboratory. She completed her PhD in Physics at JILA-University of Colorado Boulder (2020) and postdoctoral work at SLAC National Accelerator Laboratory and Stanford University as a Q-FARM Bloch Fellow. Her research interests include nonequilibrium dynamics of materials and high performance computing with applications towards quantum information science.</p>
DTEND:20250517T150000Z
LOCATION:Ballroom BC
DTSTART:20250517T143000Z
STATUS:CONFIRMED
SUMMARY:[talk] Scale Smarter\, Not Harder\, with cuPyNumeric.
TRANSP:OPAQUE
UID:709d58ce-53b1-592d-8432-89e7f93c97e5
URL:https://us.pycon.org/2025/schedule/presentation/63/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: informational\nName: Registration / Information Desks Open\n<p>Registration / Information Desks Open</p>\n
DTEND:20250518T120000Z
LOCATION:Concourse A
DTSTART:20250518T120000Z
STATUS:CONFIRMED
SUMMARY:[informational] Registration / Information Desks Open
TRANSP:OPAQUE
UID:d05f2b0a-8f75-5ba2-ba39-7db7058ac315
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: charla\nName: Más allá de Try-Except: La frontera de Python en el manejo de errores con Monadas y Railway Magic\nhttps://us.pycon.org/2025/schedule/presentation/90/\n<p>Quiero que lleves tus habilidades de manejo de errores en Python a un nivel superior\, haciendo que tu código sea más limpio\, mantenible y menos propenso a fallos\, incluso a medida que crezca en complejidad.</p>\n<p>Las estrategias tradicionales de manejo de excepciones en Python\, como LBYL ("Look Before You Leap") y EAFP ("Easier to Ask for Forgiveness than Permission")\, funcionan bien en contextos simples\, pero rápidamente se vuelven difíciles de manejar a medida que las bases de código crecen. Esto resulta en problemas de legibilidad\, complejidad innecesaria y riesgo de errores no manejados adecuadamente\, lo cual puede llevar a fallos inesperados.</p>\n<p>En mi charla\, "Más allá de Try-Except: La frontera de Python en el manejo de errores con Monads y Railway Magic"\, exploraremos un enfoque innovador para la gestión de errores en Python. Utilizaremos los monads\, específicamente con la Results Library\, y el método Railway-Driven Development\, que nos permitirá adoptar conceptos de programación funcional para construir una estructura sólida y predecible para el manejo de errores.</p>\n<p>A través de ejemplos prácticos\, demostraré cómo este enfoque facilita la integración de características avanzadas de Python\, como pattern matching\, haciendo que la gestión de errores sea más clara y eficiente. Al final de la charla\, tendrás las herramientas necesarias para implementar un sistema de manejo de errores más robusto y mantenible en tus propios proyectos\, superando las limitaciones de las prácticas tradicionales y mejorando significativamente la calidad de tu código.</p>\nSpeakers:\nSebastian Arias\n<p>I am Sebastian Arias\, an Ecuadorian Software Engineer with 7 years of experience in Python web development\, TDD\, and Functional Programming and IA enthusiast. As a Senior Developer and Consultant for a US based consultancy\, I have worked extensively with US-based companies\, and my passion lies in helping people explore new ideas and adopt code best practices. When I'm not coding\, you can often find me blending my own coffee mix. As a coffee enthusiast\, I take the 'bean to cup' journey quite seriously!</p>
DTEND:20250517T154500Z
LOCATION:Room 310/311
DTSTART:20250517T151500Z
STATUS:CONFIRMED
SUMMARY:[charla] Más allá de Try-Except: La frontera de Python en el manejo de errores con Monadas y Railway Magic
TRANSP:OPAQUE
UID:33cb1b80-173d-599c-aa61-0399ade7298a
URL:https://us.pycon.org/2025/schedule/presentation/90/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: A PEP Talk: Adventures in Account Recovery\, PEP 541\, And More As the Inaugural PyPI Support Specialist\nhttps://us.pycon.org/2025/schedule/presentation/165/\n<p>PyPI (Python Packaging Index) is used by over 800\,000 users. With its ever growing user base and popularity\, comes the need for making sure the PyPI ecosystem is secure for all users all without constraining ease of use. Part pep talk (pun intended!)\, part presentation\, this talk plans to discuss some of the challenges that were tackled in terms of bringing the various PyPI support backlogs current in both account recovery and PEP 541 as well as other support requests. This talk will also discuss process improvements made\, lessons learned\, and what’s in store in the future for PyPI support.</p>\nSpeakers:\nMaria Ashna\n<p>Maria is the inaugural PyPI Support Specialist at the PSF. Prior to PSF\, she has worked at the Brain and Creativity Institute at USC working on the neuroscience of creativity. Maria is also the founder of The Magic Light Bulb\, Inc.\, a tech and product consulting firm and has worked in various roles in tech starting from technical project specialists to technical product management. Maria is also a classically trained performer who has trained in theatre and performing arts with the faculty of the Moscow Art Theatre School and American Rep Theatre at Harvard University and has performed in numerous theater and film productions around the world. She received her first Master's degree in Information Systems and Technology from Claremont Graduate University\, and her second Master's in Neuroimaging and Informatics from USC. Maria has also studied neuroscience and theatre as an undergraduate at University of New Mexico. A Pythonista (and fashionista!)\, she is excited to be a part of PSF.</p>
DTEND:20250517T204500Z
LOCATION:Ballroom A
DTSTART:20250517T201500Z
STATUS:CONFIRMED
SUMMARY:[talk] A PEP Talk: Adventures in Account Recovery\, PEP 541\, And More As the Inaugural PyPI Support Specialist
TRANSP:OPAQUE
UID:2715a353-51a5-5673-8b1d-5a3780d5bfa0
URL:https://us.pycon.org/2025/schedule/presentation/165/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: informational\nName: Registration Desk Closes\n<p>Registration Desk Closes</p>\n
DTEND:20250515T220000Z
LOCATION:Concourse A
DTSTART:20250515T220000Z
STATUS:CONFIRMED
SUMMARY:[informational] Registration Desk Closes
TRANSP:OPAQUE
UID:e6000f8d-3e3c-5341-a842-460e00a3892e
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: What they don't tell you about building a JIT compiler for CPython\nhttps://us.pycon.org/2025/schedule/presentation/5/\n<p>Despite their reputation\, just-in-time compilers are not magic “go faster” machines. Developing and maintaining any sort of optimizing compiler for even a single platform\, let alone all of Python’s most popular supported platforms\, is an incredibly complicated\, expensive task.</p>\n<p>However\, <a href="https://www.youtube.com/watch?v=kMO3Ju0QCDo">figuring out how to compile Python code down to machine code</a> is just the beginning. Most talks and other resources about JITs offer an interesting introduction to the general approaches used\, but gloss over the most interesting technical issues that need to be solved in order to actually "ship" these performance gains in practice.</p>\n<p>As one of the engineers working on Microsoft's ambitious "Faster CPython" project\, I'll introduce some of the challenges that we've encountered over the past year in our quest to make <em>your</em> code faster. Along the way\, we'll learn how JITs decide what code to compile\, how they compile this code in-process in a safe and secure way\, and the debugging and profiling requirements that users have come to expect from native code.</p>\nSpeakers:\nBrandt Bucher\n<p>Brandt is a Python core developer working at Microsoft on a team tasked with improving the speed of the CPython interpreter.</p>\n<p>He has officially been involved in CPython development for over five years now\, and has improved its performance\, stability\, and expressiveness in a variety of ways. In addition to his ongoing contributions as part of the "Faster CPython" project in the 3.11-3.14 release cycles\, he also helped design and lead the implementation of structural pattern matching\, a major new feature of Python 3.10.</p>\n<p>When he’s not pushing new commits on GitHub as <a href="https://github.com/brandtbucher">@brandtbucher</a>\, he spends most of his free time at coffee shops\, sipping espresso and reading nonfiction.</p>
DTEND:20250517T204500Z
LOCATION:Room 301-305
DTSTART:20250517T201500Z
STATUS:CONFIRMED
SUMMARY:[talk] What they don't tell you about building a JIT compiler for CPython
TRANSP:OPAQUE
UID:00924338-d1f8-5b7c-95af-2faea3728e0d
URL:https://us.pycon.org/2025/schedule/presentation/5/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: tutorials\nKind: tutorial\nName: Building software on top of Large Language Models\nhttps://us.pycon.org/2025/schedule/presentation/25/\n<p>Large Language Models such as GPT-4o\, Claude and Google Gemini provide APIs that can be used to develop features that were almost impossibly difficult to build in the past\, spanning areas that include human language understanding\, image recognition and structured data extraction.</p>\n<p>Building software that uses these APIs reliably and responsibly is a topic with a great deal of depth and a <em>lot</em> of hidden traps.</p>\n<p>In this workshop we'll explore a range of proven techniques for building useful software on top of this wildly powerful but unreliable substrate.</p>\n<p>Topics we will cover include:</p>\n<ul>\n<li>A review of the best currently available models</li>\n<li>Using multi-modal LLMs to analyze images\, audio and video</li>\n<li>Use-cases that LLMs can be effectively applied to</li>\n<li>How to access the most capable models via their various APIs</li>\n<li>Prompt engineering</li>\n<li>Retrieval Augmented Generation (RAG)</li>\n<li>LLM tool usage</li>\n<li>Automated evaluations for LLM applications</li>\n<li>The latest options for running local models.</li>\n</ul>\n<p>Participants will obtain hands-on experience of building applications on LLMs. Necessary API keys will be provided.</p>\nSpeakers:\nSimon Willison\n<p>Simon Willison is the creator of <a href="https://datasette.io/">Datasette</a>\, an open source tool for exploring and publishing data\, and <a href="https://llm.datasette.io/">LLM</a>\, a command-line tool and Python library for interacting with Large Language Models. He currently works full-time developing open source tools for data journalism\, built around Datasette and SQLite.</p>\n<p>Simon has spent the last three years deeply immersed in the world of Large Language Models\, trying to solve the fascinating problems of how to responsibly use the technology in the two fields he knows best: journalism and software engineering.</p>\n<p>Prior to becoming an independent open source developer\, Simon was an engineering director at Eventbrite. Simon joined Eventbrite through their acquisition of Lanyrd\, a Y Combinator funded company he co-founded in 2010.</p>\n<p>He is a board member of the Python Software Foundation and a co-creator of the Django Web Framework\, and has been blogging about web development and programming since 2002 at https://simonwillison.net/</p>
DTEND:20250514T210000Z
LOCATION:Room 310/311
DTSTART:20250514T173000Z
STATUS:CONFIRMED
SUMMARY:[tutorial] Building software on top of Large Language Models
TRANSP:OPAQUE
UID:c06243dc-eaed-5ddf-bc34-c28ae6c89ede
URL:https://us.pycon.org/2025/schedule/presentation/25/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: lightning-talks\nName: Lightning Talks\nhttps://us.pycon.org/2025/schedule/presentation/172/\n<p>Lightning talks are a maximum duration of 5 minutes on any topic of interest to other Python people. It doesn't have to be about something that you wrote\, it can be something that you learned\, or a technique you think other people will be interested in.</p>\n<p>Read more about Lightning Talks <a href="/2025/events/lightning-talks/">on our event page</a>.</p>\n<h3>Presenting in this session</h3>\n<p>Order To Be Determined! If you're speaking make sure you are there on time!</p>\n<ul>\n<li>"<strong>Using <code>uv pip</code> to accelerarte Docker</strong>" - <em>Jonathan Daniel</em></li>\n<li>"<strong>What have they done! Why is <code>re.sub</code> changing from Python 3.13?</strong>" - <em>Evan Kohilas</em></li>\n<li>"<strong>A whirlwind tour of t-strings!</strong>" - <em>Dave Peck</em></li>\n<li>"<strong>My 10 years with PyCon KR</strong>" - <em>Joongi Kim</em></li>\n<li>"<strong>Overcoming ADHD and anxiety to achieve long-term goals</strong>" - <em>Michael McCaffrey</em></li>\n<li>"<strong>Python in Africa</strong>" - <em>Sheena O'Connell</em></li>\n<li>"<strong>"Solving" Python Packaging on Windows\, once and for all</strong>" - <em>Adam Silkey</em></li>\n<li>"<strong>Phone numbers and you: tips\, tricks\, and footguns</strong>" - <em>Illirik Smirnov</em></li>\n<li>"<strong>Put the Cat Emoji in your documents!</strong>" - <em>Takanori Suzuki</em></li>\n<li>"<strong>What I learned going on strike with the NYTimes Tech Guild</strong>" - <em>Jing Cao</em></li>\n</ul>\nSpeakers:\nHosted by Abigail\, Chris\, Cristián\, and Lorena\n
DTEND:20250518T130000Z
LOCATION:Hall B
DTSTART:20250518T120000Z
STATUS:CONFIRMED
SUMMARY:[lightning-talks] Lightning Talks
TRANSP:OPAQUE
UID:1835b973-244f-5072-a03f-21f9fe41d2c9
URL:https://us.pycon.org/2025/schedule/presentation/172/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Building Resilient Data Pipelines: The Power of Idempotency\nhttps://us.pycon.org/2025/schedule/presentation/68/\n<p><strong>Data pipelines</strong> are vital for moving data from source to destination. They help with use cases like integrating multimodal data\, building a data warehouse\, improving data quality\, and more.</p>\n<p>Over many years\, developers have put forth many design patterns or best practices for building data pipelines in Python using Pandas\, Numpy\, and more. However\, one crucial criterion for creating a data pipeline is idempotency.</p>\n<p>This talk will open with a brief overview of data pipelines and the importance of idempotency in distributed systems. We’ll look to answer the question: <strong>What does it take to build an idempotent data pipeline in Python with an example?</strong></p>\n<p>Our exploration will begin with the pitfalls of non-idempotent pipelines\, then proceed to a methodology for building idempotent data pipelines and the design decisions that accompany them. Along the way\, we’ll explore testing strategies using pytest.</p>\n<p>This talk is aimed at those interested in building idempotent data pipelines.</p>\nSpeakers:\nMihir Kavatkar\n<p>Hi! My name is Mihir Kavatkar and I love architecting distributed systems\, building data pipelines and web applications. I am a Lead Software Engineer at Memorial Sloan Kettering Cancer Center. My team and I build software systems for molecular tests conducted at MSK in the Department of Pathology and Lab Medicine.</p>
DTEND:20250516T210000Z
LOCATION:Hall C
DTSTART:20250516T203000Z
STATUS:CONFIRMED
SUMMARY:[talk] Building Resilient Data Pipelines: The Power of Idempotency
TRANSP:OPAQUE
UID:d86f9a2b-a2bc-5f35-b882-e612474e6e5f
URL:https://us.pycon.org/2025/schedule/presentation/68/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Bridging IoT and Machine Learning with Python for Sustainable Agriculture\nhttps://us.pycon.org/2025/schedule/presentation/47/\n<p>Food Insecurity is a major challenge that is ravaging the entire world especially Africa where Agriculture faces critical challenges in productivity\, sustainability\, and environmental deprivation. This is due to so many factors ranging from climate change to socio-economic factors. To combat this menace\, there is need for a robust and scalable system like IoT for weather monitoring and informed decision making for both the policy makers and the farmers to be able to mitigate these challenges. Python\, with its rich ecosystem\, serves as a bridge between the IoT devices and machine learning\, assisting in resolving these challenges and improving decision making in agriculture.\nThis talk explores the use of Python in delivering sustainable agriculture practices. We will look at how data is collected using Python from such IoT devices as soil\, weather\, and crop sensors. With the help of the Pandas and NumPy and SciPy libraries\, we will also show how the collected information is cleaned up and analyzed for further decision making.\nThe session also emphasizes connecting machine learning solutions via TensorFlow\, PyTorch\, and scikit-learn toward enhancing agriculture. Such examples include estimating when and how much irrigation to apply\, potential pest control measures needed\, and when and how much pest control measures will be accomplished.\nAttendees will learn the mechanics of building complete pipelines beginning from IoT data collection to final deployment of machine learning models in cloud or edge devices. Other concerns which we will tackle include the quality of data\, compatibility of devices\, policies on expansion\, and the solutions to these problems.\nThis talk is ideal for researchers\, developers\, and practitioners interested in leveraging Python to transform agriculture. By the end\, attendees will understand how Python can drive innovation\, sustainability\, and resilience in this critical sector.</p>\nSpeakers:\nIyinoluwa Moyosola Oyelade\n<p>Iyinoluwa Oyelade is an academic and researcher specializing in Machine Learning\, Data Science\, and IoT applications\, with a strong focus on sustainable solutions and innovative technologies. With extensive experience in developing AI-driven systems\, Iyinoluwa leverages expertise in Python programming to create scalable\, impactful solutions that address real-world challenges.\nA passionate advocate for technology-driven transformation\, Iyinoluwa has worked on IoT-based farmland security and AI-powered animal intrusion detection systems\, showcasing proficiency in integrating Python with cutting-edge tools such as TensorFlow\, PyTorch\, and scikit-learn. As a lecturer\, she mentors the next generation of data scientists\, emphasizing hands-on learning and fostering open collaboration.\nHaving participated in pivotal discussions like the AfricaConnect Meeting on IoT-Based Acquisition of Research Data for Scientific Computing and the workshop on "Investing in Africa’s Climate Future\," Iyinoluwa is committed to bridging data accessibility and sustainable development\, particularly in underserved regions.\nAdept at deploying Python for data analysis\, visualization\, and machine learning\, Iyinoluwa blends technical expertise with a deep understanding of global challenges. Enthusiastic about using Python as a tool for innovation\, she continually seeks to empower communities and inspire collaborative solutions to pressing issues</p>\nAlowolodu Olufunso Dayo\n<p>Alowolodu Olufunso Dayo\, PhD\; is an Associate Professor of Information and Cyber Security in the Department of Cyber Security\, The Federal University of Technology\, Akure\, Nigeria. She holds PhD degree in Computer Science with specialization in Cloud Security and Cryptography from The Federal University of Technology\, Akure\, in 2016. She joined the services of the Federal University of Technology\, Akure in 2010 as an Assistant Lecturer and rose to the position of an Associate Professor in 2022. Currently\, she is researching into IoT Security using AI approaches. She is a registered Information Technology practitioner\, member\, Institute of Electrical and Electronic Engineering (IEEE)\, Computer Society\, Association for Computing Machinery (ACM)\, Cyber Security Experts Association of Nigeria (CSEAN)\, PyLadies Africa and Nigeria Chapter\,WACREN\, AnitaB.Org Systers among others. She is widely travelled with over 15 years of experience in teaching\, research\, training and development. She was the Acting Dean\, College of Computing\, McPherson University\, Nigeria\, The Current Head of Department of Cybersecurity\, Federal University of Technology\, Akure\, Nigeria.  She has successfully supervised many postgraduate students and has series of publications in reputable conferences and journals to her credit.</p>
DTEND:20250518T173000Z
LOCATION:Hall C
DTSTART:20250518T170000Z
STATUS:CONFIRMED
SUMMARY:[talk] Bridging IoT and Machine Learning with Python for Sustainable Agriculture
TRANSP:OPAQUE
UID:b217f755-d796-5a4c-878b-a0d48df7a8ba
URL:https://us.pycon.org/2025/schedule/presentation/47/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: summit\nName: Packaging Summit\, pre-registration required\n<p>Packaging Summit\, pre-registration required</p>\n
DTEND:20250517T214500Z
LOCATION:Room 319
DTSTART:20250517T174500Z
STATUS:CONFIRMED
SUMMARY:[summit] Packaging Summit\, pre-registration required
TRANSP:OPAQUE
UID:88a493a9-e364-5006-8365-d7a17f255cea
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: informational\nName: Registration / Information Desks Open\n<p>Registration / Information Desks Open</p>\n
DTEND:20250515T110000Z
LOCATION:Concourse A
DTSTART:20250515T110000Z
STATUS:CONFIRMED
SUMMARY:[informational] Registration / Information Desks Open
TRANSP:OPAQUE
UID:fd6b5ea4-485a-52b3-b88a-06074ee4b800
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: posters\nKind: poster\nName: Putting a Face to the Pattern: Applying Time-Series Classification & Clustering to Transmission Load Patterns\nhttps://us.pycon.org/2025/schedule/presentation/4/\n<p>In recent times\, Time Series-Based Machine Learning has been increasingly relevant to the utilities industry. As demand in electricity grows and new forms of electricity usage emerges\, so does the necessity to identify load growth patterns in real-time. As such\, while Time Series Classification and Clustering is still an emerging field of study in the Machine Learning space\, it has been one of the most relevant topics in the utilities industry. Efforts into applying Time Series Classification/Clustering in the utilities space\, specifically pertaining to load\, are ongoing\, with a mix of both successes and failures. Aided by packages such as Aeon and Numpy\, experimentation have included classification of existing load patterns through various models such as HIVECOTEv2\, DTW+KNN\, etc. at various granularities (yearly\, monthly\, etc.). Other experiments have included transforming load data into frequencies through discrete fourier transform and applying similar models. Some of the challenges faced have included classifying classes with low class priors (few cases in training data)\, identifying partial time series\, and identifying new load patterns in conjunction with existing loads.</p>\n<p>This poster intends to highlight ongoing experiments\, existing challenges\, and the packages used.</p>\n<p>Audience – Machine Learning Practitioners/Enthusiasts\, People in Utilities\nLevel – Some Experience</p>\nSpeakers:\nLaura Walter\n<p>Laura Walter is a senior lead data scientist in Advanced Analytics at PJM Interconnection with 20 years of experience in the energy industry. She is the technical lead and advocate for advanced data solutions\, specializing in machine learning. </p>\n<p>At PJM\, Laura began in 2008 in Performance Compliance\, analyzing generator offers. She then transitioned to Market Analysis\, followed by the Finance Division. Most recently\, she worked in the Emerging Markets Department\, where she led the development and implementation of rules for FERC Order 841: Energy Storage Market Integration.</p>\n<p>Before joining PJM\, Laura worked at FirstEnergy\, focusing on load and price forecasting as well as commodity supply planning.</p>\n<p>Laura holds a Bachelor of Arts and a Master of Arts in economics from Kent State University. She has also completed graduate coursework in electrical engineering at Drexel University and completed extensive graduate coursework at the University of Akron\, where she also taught statistics courses. </p>\n<p>Outside of work\, Laura is a certified yoga instructor and passionate about promoting well-being. She teaches yoga weekly at a local library\, combining her love for community connection with her passion for wellness.</p>\nAlexander Wang\n<p>I am a Drexel graduate currently working at PJM Interconnection in the Corporate Rotation Program.</p>
DTEND:20250518T170000Z
LOCATION:Hall A
DTSTART:20250518T140000Z
STATUS:CONFIRMED
SUMMARY:[poster] Putting a Face to the Pattern: Applying Time-Series Classification & Clustering to Transmission Load Patterns
TRANSP:OPAQUE
UID:61b6e09f-b86d-5ad4-b682-2b3cb964c079
URL:https://us.pycon.org/2025/schedule/presentation/4/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Who Tests the Testers? Making and Testing Pipelines\nhttps://us.pycon.org/2025/schedule/presentation/28/\n<p>You likely have a good pipeline that either runs tests\, lints\, or deployments for your project.</p>\n<p>But when it comes to changing that pipeline\, how sure are you that it works before taking those changes live?</p>\n<hr />\n<p>In this talk\, we'll explore why it doesn't have to be the case that "there's no devops for devops".</p>\n<p>We'll give a quick run down of what pipelines are\, and why they should be used\, before we give an example where it can be hard to know whether making changes to a pipeline will fail\, and why that can be the case.</p>\n<p>Then\, we'll showcase tools and methodologies that can be used for testing\, creating\, and simulating pipelines\, so you too can setup a system to always be sure that your pipeline changes won't cause any water damage.</p>\nSpeakers:\nEvan Kohilas\n<p>Evan is a serial international speaker and engineering productivity advocate who values frictionless simplicity\, taming tech debt\, thinking in systems\, and tightening feedback loops – all to improve the developer experience and achieve nohumanerrors.com</p>\n<p>When he's not working on his next talk or project idea\, you may catch him as the Assistant Director for PyCon Australia\, dodging magpies while bike riding\, chasing frisbees\, or defending subway cookies.</p>
DTEND:20250516T210000Z
LOCATION:Ballroom BC
DTSTART:20250516T203000Z
STATUS:CONFIRMED
SUMMARY:[talk] Who Tests the Testers? Making and Testing Pipelines
TRANSP:OPAQUE
UID:2bfc074e-a3aa-5852-935d-77aafcaaa814
URL:https://us.pycon.org/2025/schedule/presentation/28/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: posters\nKind: poster\nName: Building low-carbon websites with Wagtail & Django\nhttps://us.pycon.org/2025/schedule/presentation/82/\n<p>How much do you know about websites’ carbon footprint? The web’s environmental sustainability is an important consideration for some\, and an afterthought for others. But everyone needs a better understanding of exactly what moves the needle – and simple things that can reduce one’s footprint.</p>\n<p><a href="https://wagtail.org/">Wagtail</a> is an open source content management system built with Python and Django. In recent years\, Wagtail has made huge investments in lowering websites’ carbon footprint. We will show some of the background research\, major sustainability improvements in Wagtail\, and how to leverage these capabilities in Wagtail to reduce your own website's carbon footprint\, including:\n- Automated checks that are available to identify improvements\n- Images: beyond file size\, what moves the needle\n- Tools to measure the energy consumption of Python code specifically</p>\nSpeakers:\nVince Salvino\n<p>Vince Salvino has over 10 years' experience with Python\, ranging from Fortune 500 companies to small startups. Hailing from gritty Cleveland\, Ohio\, Vince is founder of Python-based web hosting platform CodeRed Cloud\, and contributes to several open-source Django packages including Wagtail CMS.</p>
DTEND:20250518T170000Z
LOCATION:Hall A
DTSTART:20250518T140000Z
STATUS:CONFIRMED
SUMMARY:[poster] Building low-carbon websites with Wagtail & Django
TRANSP:OPAQUE
UID:fef93f85-e2c2-5fa9-b966-04984253a06e
URL:https://us.pycon.org/2025/schedule/presentation/82/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: posters\nKind: poster\nName: Infomaid -- An Offline AI Text-Generative Tool To Support Ethical Learning With Textual Assistance\nhttps://us.pycon.org/2025/schedule/presentation/144/\n<p>Generative AI technologies are gaining popularity as tools to assist users in managing and completing common textual tasks. However\, web-hosted AI tools create privacy concerns since users cannot safely experiment with their generative systems without leaving behind pieces of personal data.</p>\n<p>To address this issue\, we propose Infomaid – an innovative textual AI assistant driven by the Ollama AI framework. This offline tool serves as both an AI teaching tool and a textual assistant that is free from Internet dependency. By allowing users to submit prompts and receive organized output reports in Markdown format\, Infomaid facilitates safe experimentation with AI-driven text processing\, generation\, and assistance.</p>\n<p>Written in Python\, Infomaid's modular design encourages users to experiment\, extend\, and customize its capabilities\, fostering a hands-on and diverse learning experience. To facilitate the archival (or publication) of results\, one of Infomaid’s key features is the ability to document outputs in neatly structured Markdown files\, ensuring clarity and organization. This format enables easy integration into documentation workflows or collaborative projects.</p>\n<p>The Infomaid project\, hosted on GitHub as an open source project\, is designed for educators\, students\, and professionals who want to explore and learn about ethical AI-driven text processing\, generation\, and assistance in a safe\, private\, and offline context. Whether summarizing documents\, generating reports\, drafting content\, or organizing information\, Infomaid serves to simplify complex tasks and workflows into seamless operations\, making it a helpful resource for areas with limited Internet access or users prioritizing data privacy and security.</p>\nSpeakers:\nOliver Bonham-Carter\n<p>Oliver Bonham-Carter is an Associate Professor at Allegheny College at the Department of Computer and Information Science. While walks along the beach during sunset are also very nice\, OBC prefers hanging out with his students in Data Science class.</p>
DTEND:20250518T170000Z
LOCATION:Hall A
DTSTART:20250518T140000Z
STATUS:CONFIRMED
SUMMARY:[poster] Infomaid -- An Offline AI Text-Generative Tool To Support Ethical Learning With Textual Assistance
TRANSP:OPAQUE
UID:2c39cac6-317e-5a8f-97d5-d62ba05e687a
URL:https://us.pycon.org/2025/schedule/presentation/144/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: informational\nName: Registration / Information Desks Close\n<p>Registration / Information Desks Close</p>\n
DTEND:20250517T210000Z
LOCATION:Concourse A
DTSTART:20250517T210000Z
STATUS:CONFIRMED
SUMMARY:[informational] Registration / Information Desks Close
TRANSP:OPAQUE
UID:4c11c136-6dfc-5207-a666-72d8afa8edf8
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Bridging Python and Apache Iceberg™: The Power of PyIceberg\nhttps://us.pycon.org/2025/schedule/presentation/124/\n<p>Using tools like PyArrow\, Pandas\, or Polars makes it easy to work with dataframes. However\, as datasets scale to terabytes\, managing tables\, evolving schemas\, and ensuring consistency across tools becomes increasingly complex. <a href="https://iceberg.apache.org">Apache Iceberg™</a>\, an open table format\, addresses these challenges\, and\, with <a href="https://py.iceberg.apache.org/">PyIceberg</a>\, seamlessly integrates with your favorite Python-based tools.</p>\n<p>We will start with an introduction to Iceberg and PyIceberg\, focusing on the features PyIceberg brings to the Python ecosystem such as schema evolution and transactional guarantees. We will demonstrate how PyIceberg supports interoperability between Iceberg tables and Python-native dataframes like PyArrow and Pandas\, using practical examples of creating\, querying\, and writing to Iceberg tables.</p>\n<p>From these practical examples\, we will dive deeper to explore how Iceberg tables evolve during these operations. This includes an in-depth look at Iceberg's file structure—metadata files\, manifest lists\, and manifests—and how PyIceberg leverages this structure to perform transactional table updates and optimize query planning\, ensuring reliable performance at scale.</p>\n<p>Finally\, we will discuss PyIceberg’s advanced features\, including schema evolution\, hidden partitioning\, and time travel\, which make table management efficient and flexible.</p>\nSpeakers:\nRushan Jiang\n<p>I am also known as Jonas and Honah. I am a software engineer at Snowflake and a committer and PMC member of Apache Iceberg.</p>
DTEND:20250516T153000Z
LOCATION:Ballroom A
DTSTART:20250516T150000Z
STATUS:CONFIRMED
SUMMARY:[talk] Bridging Python and Apache Iceberg™: The Power of PyIceberg
TRANSP:OPAQUE
UID:fc13841d-8ea7-5f38-a819-5ae8e6605a41
URL:https://us.pycon.org/2025/schedule/presentation/124/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: tutorials\nKind: tutorial\nName: Reproducible Dependency Management with Pixi\nhttps://us.pycon.org/2025/schedule/presentation/131/\n<p>Learn how to manage your conda- and pip-based Python dependencies with Pixi. With its declarative approach\, Pixi provides a reliable way for reproducible Python environments. Its design is based on experiences drawn from tools such as <code>pip</code>\, <code>conda</code> and <code>mamba</code> as well as Rust's <code>cargo</code>.</p>\n<p>Managing dependencies can be a complex task\, especially when it comes to multi-platform support and extensions written in compiled languages\, such as C/C++ or Rust\, are involved. There are many tools for Python that can help to take care of different aspects of this problem. These tools are external Python packages that are not distributed with Python itself. Only <code>pip</code> is installed by default. Other\, more recent languages such as Rust\, include the tooling for dependency management as part of the core language. On the other hand\, the Python ecosystem for dependency management is very fragmented.</p>\n<p>In general\, there are two main approaches:\n(a) based on pip packages and\n(b) based on conda packages.</p>\n<p>Pixi offers an approach that can work with both package types. Its design is inspired by Rust's cargo. In addition to Python packages\, Pixi can also manage software written in other languages. For example\, using conda-forge as the default conda repository\, Pixi can install tools such as <code>gcc</code>\, <code>pandoc</code>\, or <code>git</code>. Pixi can work together with existing tools such as <code>setuptools</code> or <code>poetry</code>. In fact\, it uses <code>uv</code> internally to install pip packages.</p>\n<p>Please <a href="https://pixi.sh/latest/#installation">install</a> <code>pixi</code> <strong>before</strong> the tutorial.</p>\nSpeakers:\nMike Müller\n<p>I've been a Python user since 1999\, teaching Python professionally since 2004.\nI am also active in the community\, organizing Python conferences such as\nPyCon DE\, EuroSciPy\, and BarCamps.\nI am a PSF Fellow\, PSF Community Service Award winner\,\nand chair of the German Python Software Verband.</p>
DTEND:20250515T163000Z
LOCATION:Room 317
DTSTART:20250515T130000Z
STATUS:CONFIRMED
SUMMARY:[tutorial] Reproducible Dependency Management with Pixi
TRANSP:OPAQUE
UID:6d5f64e6-d53b-5df6-8005-7d9a26547399
URL:https://us.pycon.org/2025/schedule/presentation/131/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: charla\nName: Django Asíncrono: Desbloqueando el Poder de la Programación Async\nhttps://us.pycon.org/2025/schedule/presentation/36/\n<p>Con la llegada de <em>Django 3.1</em>\, el framework dio un gran salto hacia el futuro al integrar soporte para asincronismo. Pero\, ¿qué significa esto para quienes desarrollamos aplicaciones web? En esta charla\, te voy a enseñar cómo usar las herramientas de asincronismo en Django para construir aplicaciones más rápidas y eficientes.</p>\n<p>Empezaremos con una breve introducción a asyncio\, la base del asincronismo en Python. ¿Qué son los event loops? <em>¿Qué hacen async y await?</em> Si nunca has trabajado con código asíncrono\, no te preocupes\, aquí lo explicaremos de forma simple.</p>\n<p>Después\, entraremos directo en el mundo de Django:\n* Escribiremos vistas asíncronas (async def) y exploraremos casos prácticos donde el asincronismo realmente marca la diferencia.\n* Compararemos el rendimiento entre vistas síncronas y asíncronas mediante pruebas reales\, mostrando cómo manejar múltiples peticiones a APIs externas de manera eficiente.\n* Veremos cómo Django adopta la convención de agregar una "a" a los métodos asíncronos del ORM (como aget\, afirst\, alast) para diferenciarlos de sus versiones síncronas.\n* Discutiremos las limitaciones actuales del ORM de Django (spoiler: sigue siendo síncrono) y cómo manejarlas en proyectos modernos.</p>\n<p>Para cerrar\, incluiré una demostración práctica y ejemplos de código reales que puedes llevarte a casa. </p>\n<p>Esta charla está pensada para desarrolladores de nivel intermedio que quieran llevar sus proyectos Django al siguiente nivel y entender cómo el asincronismo puede transformar la manera en que construimos aplicaciones web.</p>\nSpeakers:\nLuis Martinez\n<p>I have been working in software development since 2014\, I am a technologist in informatics\, and web python developer. I also like to learn more about development\, I worked remotely at Swapps.com as Full Stack Software Engineer\, after that I worked at Platzi.com as a Backend software engineer with Python / Django also I was a Cloud Engineer with AWS.</p>\n<p>I am also the teacher of the Django\, Django Rest Framework courses in Platzi.com</p>
DTEND:20250517T213000Z
LOCATION:Room 310/311
DTSTART:20250517T210000Z
STATUS:CONFIRMED
SUMMARY:[charla] Django Asíncrono: Desbloqueando el Poder de la Programación Async
TRANSP:OPAQUE
UID:158d6c29-2bad-531e-b59d-5197be05a1cf
URL:https://us.pycon.org/2025/schedule/presentation/36/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: posters\nKind: poster\nName: Painting with Python (poster)\nhttps://us.pycon.org/2025/schedule/presentation/34/\n<p>Caleb is a mathy lenticular hologram artist\, here to share the <strong>basics of doing art with Python</strong>. Each piece is a self-contained Python script that uses as few dependencies as possible (mostly just Python Image Library). No GPU acceleration. No AI. <strong>Just good old fashion vanilla Python</strong>. I'll be open-sourcing (for the first time) a few of the pieces of art I've done. For a preview of what mathy lenticular holograms look like\, check out https://gods.art.</p>\nSpeakers:\nCaleb Madrigal\n<p>Caleb is a hacker-turned artist who now does mathy lenticular holograms with Python (https://gods.art). He also does AI/ML consulting by day (https://madconsulting.ai). He used to build cyber weapon at Mandiant. Caleb is really into waves and fractals.</p>
DTEND:20250518T170000Z
LOCATION:Hall A
DTSTART:20250518T140000Z
STATUS:CONFIRMED
SUMMARY:[poster] Painting with Python (poster)
TRANSP:OPAQUE
UID:e7206d60-876e-5927-8678-0e1f383b6a7a
URL:https://us.pycon.org/2025/schedule/presentation/34/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: sponsor-presentations\nKind: sponsor-workshop\nName: Building AI Applications the Pydantic Way (Sponsor: Pydantic)\nhttps://us.pycon.org/2025/schedule/presentation/143/\n<p>AI is becoming an increasingly common part of software development\, but best practices for building and maintaining AI-powered applications are still evolving. Many developers are experimenting with LLMs\, but figuring out how to structure AI applications effectively—let alone debug and monitor them—can be a challenge. The good news? AI development is just software development—with a few unique twists. You don't need to reinvent engineering principles to work with LLMs\, but you do need the right design patterns and development tools to build reliable AI applications efficiently. In this talk\, we'll share an opinionated blueprint for AI development in Python\, covering both PydanticAI\, an open-source AI agent framework\, and Pydantic Logfire\, an observability platform that helps you understand and debug your AI applications. You'll learn practical techniques for structuring LLM-powered systems\, tracking and evaluating model behavior\, and integrating AI features into larger software projects—using familiar tools and proven patterns. Whether you're already building AI applications or just curious about how best to approach them\, this session will give you a clear\, pragmatic foundation for writing AI-powered software in Python.</p>\nSpeakers:\nSamuel Colvin\n<p>Samuel Colvin is a Python and Rust developer and creator of Pydantic. The Pydantic library\, which he created is downloaded over 300M/month and is a dependency of many GenAI Python libraries including the OpenAI SDK\, the Anthropic SDK\, Langchain\, AutoGPT\, instructor and LlamaIndex.</p>
DTEND:20250515T163000Z
LOCATION:Room 316
DTSTART:20250515T153000Z
STATUS:CONFIRMED
SUMMARY:[sponsor-workshop] Building AI Applications the Pydantic Way (Sponsor: Pydantic)
TRANSP:OPAQUE
UID:3577af1c-295a-539f-91ff-f17ef3a95447
URL:https://us.pycon.org/2025/schedule/presentation/143/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: posters\nKind: poster\nName: Flet: cross-platform apps in Python with Flutter UI\nhttps://us.pycon.org/2025/schedule/presentation/166/\n<p><a href="https://flet.dev">Flet</a> is an open-source application framework for Python with Flutter UI to build adaptive cross-platform applications from a single codebase.</p>\n<p>The poster will introduce Flet framework to the visitors.</p>\n<p>The poster will include:\n- A visualization of how the same Python program can be packaged and deployed to iOS\, Android\, macOS\, Windows\, Linux and web.\n- Project statistics such as GitHub stars\, Discord users\, # of contributors\, # of PyPI downloads.\n- Visualization of extensibility model and connection to Flutter/Dart ecosystem.\n- The cloud of available binary packages (wheels) for iOS and Android (NumPy\, Pydantic\, Pandas and <a href="https://flet.dev/docs/publish/android#binary-python-packages">others</a>).</p>\nSpeakers:\nFeodor Fitsner\n<p>Feodor lives in the beautiful city of Victoria\, Canada where he's working on <a href="https://www.appveyor.com">AppVeyor CI</a> which he founded in 2011.</p>\n<p>Before Feodor started <a href="https://flet.dev">Flet</a> - an open-source framework for building cross-platform apps in Python - in 2022\, he was a .NET developer for many years. Now he continues discovering the power of Python together with Flet users and doesn't look back.</p>
DTEND:20250518T170000Z
LOCATION:Hall A
DTSTART:20250518T140000Z
STATUS:CONFIRMED
SUMMARY:[poster] Flet: cross-platform apps in Python with Flutter UI
TRANSP:OPAQUE
UID:f8ac9a0a-d242-58c3-aa9d-32ce92930450
URL:https://us.pycon.org/2025/schedule/presentation/166/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: event\nName: PyLadies Lunch\, pre-registration required\n<p>PyLadies Lunch\, pre-registration required</p>\n
DTEND:20250518T170000Z
LOCATION:Room 403/404
DTSTART:20250518T160000Z
STATUS:CONFIRMED
SUMMARY:[event] PyLadies Lunch\, pre-registration required
TRANSP:OPAQUE
UID:d225bc4e-dde0-5d1c-8c4b-975be360414c
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: posters\nKind: poster\nName: ExecExam: Streamlining Python Assessments with Automation and Personalized Feedback\nhttps://us.pycon.org/2025/schedule/presentation/46/\n<p>Assessing Python executable examinations at scale is challenging for educators who want to provide timely and actionable feedback to their students. Executable examinations\, where participants write\, modify\, or execute Python code to solve specific problems\, are widely used in educational environments to foster learning and evaluate student progress. However\, delivering accurate and constructive feedback on these assessments at scale remains difficult. This poster introduces ExecExam\, a tool designed to streamline and automate the assessment of Python programming tasks through Pytest integration\, enhancing student learning and the evaluation process .</p>\n<p>ExecExam leverages Pytest to automatically verify student solutions against pre-defined test cases but extends its functionality through advanced features such as tailored feedback reports\, a user-friendly interface\, and integration with large language models for enhanced programming advice. These additions make ExecExam more than just a Pytest test runner\, offering educators and students a comprehensive assessment and learning tool. The system generates detailed reports summarizing test outcomes\, highlighting successes as well as areas needing improvement. </p>\n<p>ExecExam also has an optional inclusion of large language models (LLMs)\, which provide students with detailed\, step-by-step recommendations on how to fix their code. With the integration of LiteLLM\, a unified API\, this tool provides sophisticated\, context-aware feedback for failing tests\, guiding students toward effective resolution of errors while fostering a deeper understanding of programming concepts. Unlike simply receiving a list of failed tests\, students can obtain specific suggestions for code fixes or alternative approaches that will pass the tests. This method cultivates a student’s programming education by giving them steps on how to improve.</p>\n<p>ExecExam helps instructors identify areas for improvement and empowers students to acknowledge their mistakes and enhance their skills. Currently used by college students and instructors\, this tool proves valuable in computer science education\, particularly for Python learners.</p>\nSpeakers:\nGregory M. Kapfhammer\n<p>Gregory M. Kapfhammer is an Associate Professor of Computer and Information\nScience at Allegheny College. Along with conducting and publishing research on\nflaky tests\, he regularly develops and maintains open-source Python projects on\nGitHub. Gregory is a host of the popular Software Engineering Radio podcast\,\nwhere he interviews industry-leading experts from companies like Google and\nAnthropic and maintainers of popular open-source Python projects like FastAPI\,\nHypothesis\, Conda\, and Pixi. He has spoken at both the PyCon Education Summit\nand a PyCon lightning talk session and presented posters in the PyCon Poster\nSymposium\, in addition to giving presentations at PyOhio and PyGotham. He has\nalso appeared as a guest on podcasts such as Software Engineering Radio\, Talk\nPython\, the Stack Overflow Podcast\, and Hanselminutes.</p>\nHemani Alaparthi\n<p>Hemani is currently a senior and a double major in Computer Science and Economics at Allegheny College\, where she holds a 4.0 GPA and has been recognized as a Distinguished Alden Scholar. A driven leader and problem solver\, Hemani has contributed to projects in data analysis and system optimization\, including her internship at Acutec\, where she identifies root causes of red tags in the manufacturing process to reduce financial losses. Her technical expertise spans database analysis\, system programming\, and command-line tools. Hemani is also dedicated to fostering community\, serving as a Resident Advisor and organizing events that promote collaboration and personal growth among students. With a strong commitment to both academic excellence and community service\, Hemani is focused on achieving personal and collective success.</p>\nPallas-Athena Cain\n<p>Pallas-Athena Cain is currently a senior and a double major in Computer Science and Art Science &amp\; Innovation at Allegheny College. A driven researcher and skilled problem solver\, Pallas-Athena has contributed to projects at the intersection of technology and art\, including autonomous underwater robots for water quality measurement and interactive AI installations. Her expertise spans Python\, Arduino\, and advanced electronics\, and she has shared her work at conferences like FLAIRS and the Regional Science Consortium. Pallas-Athena is passionate about STEM education\, having designed and taught K-12 curricula on IoT and robotics.</p>
DTEND:20250518T170000Z
LOCATION:Hall A
DTSTART:20250518T140000Z
STATUS:CONFIRMED
SUMMARY:[poster] ExecExam: Streamlining Python Assessments with Automation and Personalized Feedback
TRANSP:OPAQUE
UID:1d2c8dbe-5006-52f9-b791-b0079c7885dc
URL:https://us.pycon.org/2025/schedule/presentation/46/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: tutorials\nKind: tutorial\nName: Codyssey: A playful control system workshop\nhttps://us.pycon.org/2025/schedule/presentation/38/\n<p>Control systems are pervasive in our world and play a crucial role in many aspects of our lives\, from keeping satellites in the right altitude and heading to monitoring patients and making medication adjustments to keep them healthy. Sometimes\, tricky problems can be simplified by applying a control system lens\; but the programming model for a digital control system is not immediately obvious.</p>\n<p><strong>Codyssey</strong> is a 3-hour workshop where you’ll learn about the control system programming model and implement simple systems in Python to autonomously play various games. You’ll observe the behavior of your system in a visual environment\, and compete with other participants to solve as many games as you can. Along the way\, you’ll have to think creatively and practice translating your intuition into code.</p>\n<p>During the workshop I’ll mentor individual participants / pairs\; after the competitive part I’ll live-code solutions for chosen challenges while demonstrating how to apply the control system programming model.</p>\n<p><strong>Target audience</strong>: only basic Python knowledge is required - variables\, operators\, conditions\, loops\, functions and lists. The workshop can be challenging for experienced programmers as well as fun and instructive for juniors.</p>\n<p>Each challenge will have you implementing a function that runs dozens of times a second\, deciding which action to take. <em>The challenges you’ll face include</em>:</p>\n<ul>\n<li>Navigating a ship through a winding strait</li>\n<li>Helping Sisyphus finally get that rock to the top\, saving him from his eternal punishment</li>\n<li>Saving Icarus from his hubris-induced watery fate</li>\n<li>And more</li>\n</ul>\n<p>Come hone your Python skills\, adapt to a new way of thinking\, and tackle some epic challenges!</p>\nSpeakers:\nDaniel Anderson\n<p>Hi! I'm Daniel\, a machine learning research engineer from Israel.</p>\n<p>I started my career as a programmer\, and had the opportunity to take on a range of roles: FS developer\, team lead\, and course instructor.<br />\nI then got into the world of data science / ML\, in a nutrition startup that was later acquired by Medtronic.</p>\n<p>After that I ventured out on my own as a freelance machine learning practitioner\; now I work with several startups on ML / vision problems. I also work with an Israeli non-profit\, helping to create and improve tech-ed programs for youth.</p>\n<p>Bachelor's degree in computer science from the Open University\, Master's degree in machine learning &amp\; data science from Reichman University.</p>\n<p>Partial list of things I'm excited about:\n* Algorithms and optimizations\n* Translating experts’ domain knowledge and intuition into concrete methods and metrics\n* Designing ad-hoc models that make the most of little data (mostly because that involves designing custom metrics and coming up with creative ways of optimizing them)\n* Finding patterns in behavior\n* Creating interactive visualizations to explore complex data and interactions</p>\n<p>Also\, I have a <a href="https://andersource.dev">blog</a>!</p>
DTEND:20250514T210000Z
LOCATION:Room 319
DTSTART:20250514T173000Z
STATUS:CONFIRMED
SUMMARY:[tutorial] Codyssey: A playful control system workshop
TRANSP:OPAQUE
UID:2342aa20-6cb6-53c8-9764-61bcac17bdcc
URL:https://us.pycon.org/2025/schedule/presentation/38/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: event\nName: Hatchery - Humble Data\, pre-registration required\n<p>Hatchery - Humble Data\, pre-registration required</p>\n
DTEND:20250518T191500Z
LOCATION:Room 317
DTSTART:20250518T140000Z
STATUS:CONFIRMED
SUMMARY:[event] Hatchery - Humble Data\, pre-registration required
TRANSP:OPAQUE
UID:8fa975f1-367d-5016-a038-60179440d304
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Inclusive Data for 1.3 Billion: Designing Accessible Visualizations\nhttps://us.pycon.org/2025/schedule/presentation/43/\n<p>According to the World Health Organization (WHO)\, an estimated 1.3 billion people (1 in 6 individuals) experience a disability\, and nearly 2.2 billion people (1 in 5 individuals) have vision impairment. Improving the accessibility of visualizations will enable more people to participate in and engage with our data analyses.</p>\n<p>In this talk\, we’ll discuss some principles and best practices for creating more accessible data visualizations. It will include tips for individuals who create visualizations\, as well as guidelines for the developers of visualization software to help ensure your tools can help downstream designers and developers create more accessible visualizations.</p>\n<p>Specifically\, we will cover:</p>\n<ul>\n<li>What makes data visualizations inaccessible? We will cover accessibility fundamentals like color contrast\, alternative text descriptions\, keyboard navigation support\, screen reader compatibility\, and more\, with specific examples and demonstrations.</li>\n<li>Are Python data visualization tools accessible? We will teach how to analyze the visualization landscape and discuss how tool developers can begin and prioritize improvements. </li>\n<li>How accessible is my visualization? We will demonstrate how to conduct accessibility audits for data visualization tools by performing and documenting two accessibility evaluation tests live.</li>\n</ul>\n<p>This talk will use examples from our ongoing work to improve the accessibility of <a href="https://bokeh.org/">Bokeh</a>\, a Python library for creating interactive data visualizations for web browsers. We hope this talk enables you to take the first few steps in making your next data visualization and your visualization tools\, more accessible.</p>\nSpeakers:\nPavithra Eswaramoorthy\n<p>Pavithra Eswaramoorthy is a Developer Advocate at Quansight\, where she works to improve the developer experience and community engagement for several open source projects in the PyData community. Currently\, she maintains the Bokeh visualization library\, and contributes to the Nebari (adjacent to the Jupyter community)\, and conda-store (part of the conda ecosystem).</p>\n<p>Pavithra has been involved in the open source community for over 5 years\, notable as an emeritus contributor to the Dask library and Wikimedia Foundation projects. In her spare time\, she enjoys a good book and hot coffee. :)</p>\nFrank Elavsky\n<p>Frank is a PhD student and researcher at the Human-Computer Interaction Institute at Carnegie Mellon University and a consultant whose past collaborations include Apple's Human-Centered Machine Learning research group\, Adobe\, Microsoft\, Visa\, Highcharts\, and others. Frank's work lies at the intersection of interactive data visualization and accessibility\, making analytical work more accessible for and alongside people with disabilities. His projects include Chartability\, a framework for helping practitioners evaluate inaccessible visualizations and Data Navigator\, a tool that helps creators make interactive visualizations more accessible for users of assistive technologies. He also advises the Accessible\, Rich\, Internet Applications (ARIA) standards working group as an invited expert in data visualization.</p>
DTEND:20250516T191500Z
LOCATION:Ballroom BC
DTSTART:20250516T184500Z
STATUS:CONFIRMED
SUMMARY:[talk] Inclusive Data for 1.3 Billion: Designing Accessible Visualizations
TRANSP:OPAQUE
UID:dbca4363-10c1-527d-a9ee-818c1f682b7c
URL:https://us.pycon.org/2025/schedule/presentation/43/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Python: The Architect's Secret Weapon\nhttps://us.pycon.org/2025/schedule/presentation/87/\n<p>The built environment is undergoing a digital revolution\, and Python is at the forefront. This talk will explore how Python\, combined with open-source tools like Blender\, OpenUSD\, and Dynamo\, is transforming the way we design\, analyze\, and construct buildings.</p>\n<p>We'll delve into practical applications\, from generating 3D models to performing energy simulations and creating stunning visualizations. You'll learn how to harness the power of Python to address pressing challenges in the construction industry\, such as climate change\, resource scarcity\, and urban development.</p>\n<p>So if you're interested in how Python can shape the built environment then come and see for yourself!</p>\n<p>Key Takeaways:</p>\n<ul>\n<li>Understand the role of Python in the Architecture and Construction industry.</li>\n<li>Learn how professionals use Python to automate design and analysis tasks.</li>\n<li>Explore the potential of open-source tools like Blender\, OpenUSD\, and Dynamo.</li>\n<li>Discover how Python is used to create stunning visualizations and simulations of buildings.</li>\n<li>Gain insights into the future of digital design and construction.</li>\n</ul>\nSpeakers:\nTadeh Hakopian\n<p>With a background in Architecture and Development Tadeh has supported building large scale projects with diverse teams for over 10 years. By promoting open dialogue\, systems thinking\, and long term planning he has improved operational efficiencies in all his endeavors. He is a course author\, trainer\, and open source contributor as well as a speaker at national conferences in technology\, architecture\, design. He loves to talk about the new possibilities with technology and innovation at everyone’s disposal while building communities along the way.</p>
DTEND:20250516T200000Z
LOCATION:Ballroom A
DTSTART:20250516T193000Z
STATUS:CONFIRMED
SUMMARY:[talk] Python: The Architect's Secret Weapon
TRANSP:OPAQUE
UID:6186515d-3998-59f2-b07a-4efc424ed936
URL:https://us.pycon.org/2025/schedule/presentation/87/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: informational\nName: Expo Hall Closes\n<p>Expo Hall Closes</p>\n
DTEND:20250516T220000Z
LOCATION:Hall A
DTSTART:20250516T220000Z
STATUS:CONFIRMED
SUMMARY:[informational] Expo Hall Closes
TRANSP:OPAQUE
UID:a10c708b-d6d0-5cc6-8c65-f6a5245f7408
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: tutorials\nKind: break\nName: Lunch\n<p>Lunch</p>\n
DTEND:20250515T173000Z
LOCATION:Ballroom A
DTSTART:20250515T163000Z
STATUS:CONFIRMED
SUMMARY:[break] Lunch
TRANSP:OPAQUE
UID:289dd7fb-89ab-53ff-803d-2fd731906127
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: A new safe external debugger interface for CPython\nhttps://us.pycon.org/2025/schedule/presentation/134/\n<p>Have you ever needed to debug a Python application in production without stopping it? While tools like GDB make this straightforward for C/C++\, Python developers face unique challenges when attaching debuggers to live processes. This talk introduces PEP 768\, a new proposal for Python 3.14 that adds a safe\, zero-overhead debugging interface to CPython.</p>\n<p>We'll explore how the current landscape forces debugging tools to use unsafe methods that can crash interpreters and corrupt memory. Then\, we'll detail how PEP 768 solves these problems by introducing a cooperative debugging protocol that works with the interpreter rather than against it.</p>\n<p>You'll learn why attaching debuggers to Python processes is uniquely challenging\, how PEP 768 enables safe debugging through interpreter cooperation\, the technical details of the zero-overhead implementation\, real-world applications\, including live process attachment for pdb and all about the security considerations and safeguards.</p>\n<p>This talk will be particularly valuable for tool developers\, system administrators\, and anyone interested in Python internals or debugging techniques. You'll walk away understanding the challenges of live process debugging and how PEP 768 elegantly solves them.</p>\nSpeakers:\nPablo Galindo Salgado\n<p>-</p>\nIvona Stojanovic\n<p>Ivona Stojanovic is a Software Engineer at Bloomberg. She holds a master's degree from the University of Belgrade\, School of Electrical Engineering. As part of the Python Infrastructure team\, she develops tools that streamline development and enhance efficiency for engineers across the company. Beyond programming\, Ivona is deeply passionate about volunteering and art.</p>
DTEND:20250517T194500Z
LOCATION:Hall C
DTSTART:20250517T191500Z
STATUS:CONFIRMED
SUMMARY:[talk] A new safe external debugger interface for CPython
TRANSP:OPAQUE
UID:84713bd0-d2f4-50f6-a878-cf62266c8079
URL:https://us.pycon.org/2025/schedule/presentation/134/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: posters\nKind: poster\nName: Weather Data along the International Space Station Orbits\nhttps://us.pycon.org/2025/schedule/presentation/50/\n<p>We write a Python workflow that performs several web scraping tasks to gather future positions of the International Space Station (ISS) and weather forecast data (surface temperature\, surface pressure\, cloud coverage\, etc.) on those positions. We then perform reverse geocoding to identify the countries and oceans of the individual locations. The collected data are combined to create interactive maps where along ISS future orbits\, we can pinpoint at any location\, the weather conditions and the country (and associated flag) or the ocean. We also plot on the maps the major world cities along orbits. This work can be used by individuals who want to know when ISS will fly over their cities and what will be the weather.</p>\nSpeakers:\nJules Kouatchou\n<p>Jules Kouatchou is a Computational Scientist at NASA Goddard Space Flight Center (GSFC). Among other activities\, he is responsible for organizing and delivering Python related training courses in Data Science and GSFC.</p>\nKhalil Alexander\n<p>-</p>
DTEND:20250518T170000Z
LOCATION:Hall A
DTSTART:20250518T140000Z
STATUS:CONFIRMED
SUMMARY:[poster] Weather Data along the International Space Station Orbits
TRANSP:OPAQUE
UID:16ff166a-bc1c-5c49-abb8-25131d570d84
URL:https://us.pycon.org/2025/schedule/presentation/50/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: tutorials\nKind: tutorial\nName: Building a cross-platform app with BeeWare\nhttps://us.pycon.org/2025/schedule/presentation/147/\n<p>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?</p>\n<p>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 GPS) in your app's code. </p>\n<p>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 your own phone\, written entirely by you\, using nothing but Python.</p>\nSpeakers:\nRussell Keith-Magee\n<p>Dr Russell Keith-Magee is the founder of the BeeWare project\, a project developing GUI tools and libraries to support the development of Python software on desktop and mobile platforms. He joined the Django core team in 2006\, and was the President of the Django Software Foundation for 5 years. He joined the CPython core team in 2024. He is a frequent speaker at Python and Django conferences around the globe\, sharing his experience as a FLOSS developer\, community maintainer\, and (unsuccessful) startup founder. In his day job\, he is a Principal Engineer at Anaconda\, working on BeeWare in the OSS team.</p>
DTEND:20250515T210000Z
LOCATION:Room 321
DTSTART:20250515T173000Z
STATUS:CONFIRMED
SUMMARY:[tutorial] Building a cross-platform app with BeeWare
TRANSP:OPAQUE
UID:0c49e57f-9f0c-56d4-8fdb-7d3ae6246ec9
URL:https://us.pycon.org/2025/schedule/presentation/147/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: This Talk Has Been Disabled\nhttps://us.pycon.org/2025/schedule/presentation/130/\n<p>Depending on who you ask\, 15-20% of the world's population has some form of disability. Despite this\, the vast majority of software isn't fully accessible. Building truly accessible systems starts with asking questions. What does it mean to be disabled? How do we know whether people can use our website? And what if our users have access issues that we don't know about?</p>\n<p>Many of these core concepts are covered by the Web Content Accessibility Guidelines\, which are the governing standard for web accessibility. However\, some scenarios require us to dig a little deeper. We'll look at situations where you might need to think beyond the guidelines\, and some of the resources and tools that you can use to help you do so.</p>\n<p>Finally\, we'll learn how to meet a variety of different accessibility requirements by breaking down a series of real-world case studies. We'll take a magnifying glass to a household name's user interfaces\, travel back in time to the GeoCities era\, apply some concepts from government press conferences to online content delivery\, hack a life-saving medical device\, and attempt to navigate technical events (and stairs). By the end of the talk\, you should understand why it's important to evaluate the accessibility of your software\, what goes wrong when assessments don't happen\, and how to apply these lessons to design systems that work for everyone.</p>\nSpeakers:\nDawn Cooper\n<p>Dawn likes to tinker with cloud infrastructure and security\, and regularly goes down rabbit holes in a futile search for ways to develop systems that are both reliable and impenetrable. As well as accidental accessibility advocacy\, Dawn can regularly be found sharing knowledge within various tech communities.</p>\n<p>Outside work\, Dawn is an occasional author\, kitchen alchemist\, and raging sportsball fan.</p>
DTEND:20250516T183000Z
LOCATION:Room 301-305
DTSTART:20250516T174500Z
STATUS:CONFIRMED
SUMMARY:[talk] This Talk Has Been Disabled
TRANSP:OPAQUE
UID:cca0cc0a-8d45-5ac9-b775-52b84a45cd1d
URL:https://us.pycon.org/2025/schedule/presentation/130/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: AI with a Conscience: Building Fair and Transparent Systems in Python\nhttps://us.pycon.org/2025/schedule/presentation/74/\n<p>With the rise of GPUs and Large Language Models (LLMs)\, Machine Learning (ML) and Artificial Intelligence (AI) have become household names. Python\, known for its simplicity and powerful libraries\, has been at the forefront of this AI revolution\, offering robust tools for model building\, training\, and fine-tuning.</p>\n<p>However\, as AI systems become more embedded in society\, one challenge that has gained increasing attention is "Fairness in AI". Fairness is a complex and widely discussed topic with no one-size-fits-all definition. For example\, imagine a baker dividing a pie: should the larger slice go to the person who worked harder or the one who is hungrier? Similarly\, in AI\, fairness is defined by context\, but it aims to ensure equitable treatment of all individuals or groups impacted by a model’s predictions.</p>\n<p>ML models learn through data. Unfortunately\, more often than not\, data is full of historical inequities\, imbalanced labels\, or skewed representations—that can lead to unfair outcomes. Addressing these biases requires tools that go beyond precision\, accuracy and optimization.</p>\n<p>In this talk\, we’ll explore these challenges and go over a demonstration of how Python can help address them using the fairlearn library. Through real-world examples\, we will learn methods to measure fairness using metrics like demographic parity\, equalized odds\, equal opportunity etc. We will also learn to mitigate these biases using GridSearch and ThresholdOptimizer. </p>\n<p>Prerequisites: Whether you are a Python newbie or a seasoned Pythoniast\, with any level of experience in Machine Learning\, you are welcome to join and explore a piece of the pie!</p>\nSpeakers:\nSanjana Kandi\n<p>Sanjana Kandi is a Senior System Software Engineer at NVIDIA\, specializing in developing tools for data center compliance. With a background in machine learning from her master’s studies at Carnegie Mellon\, Sanjana spends much of her leisure time delving into the fast-evolving world of ML and going hands-on on problem solving. She is a dedicated advocate for women in tech and is deeply committed to advancing diversity and inclusion in the technology sector. Outside her professional life\, she enjoys badminton\, hiking\, and cooking—activities that combine adventure\, fitness\, and creativity.</p>
DTEND:20250517T213000Z
LOCATION:Ballroom BC
DTSTART:20250517T210000Z
STATUS:CONFIRMED
SUMMARY:[talk] AI with a Conscience: Building Fair and Transparent Systems in Python
TRANSP:OPAQUE
UID:4a0c945a-afa8-5189-89c6-2deccebd8adb
URL:https://us.pycon.org/2025/schedule/presentation/74/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: tutorials\nKind: tutorial\nName: Decorators Demystified\nhttps://us.pycon.org/2025/schedule/presentation/123/\n<p>You know that the <code>@</code> symbol applies a decorator to a function\, but what does that really <em>mean</em>?</p>\n<p>Let's learn about decorators by writing our own.</p>\n<p>During this tutorial we'll learn:</p>\n<ul>\n<li>The super powers hiding in Python's functions (which power decorators)</li>\n<li>The oddly simple purpose of the decorator syntax</li>\n<li>Common applications of decorators in Python</li>\n<li>When and how to use (and when to avoid) decorators</li>\n</ul>\nSpeakers:\nTrey Hunner\n<p>Trey Hunner helps individuals and teams level-up their Python skills through <a href="http://pythonmorsels.com">Python Morsels</a> courses/exercises and his <a href="https://www.pythonmorsels.com/newsletter/">weekly Python tips newsletter</a>.</p>
DTEND:20250514T210000Z
LOCATION:Room 318
DTSTART:20250514T173000Z
STATUS:CONFIRMED
SUMMARY:[tutorial] Decorators Demystified
TRANSP:OPAQUE
UID:e1e5b788-f429-5a32-9f7e-63865921a5e5
URL:https://us.pycon.org/2025/schedule/presentation/123/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Program Your Own Computer in Python\nhttps://us.pycon.org/2025/schedule/presentation/136/\n<p>Using Python to write code for web applications\, scientific applications\, and data analysis is extremely popular. Those of us who write that sort of code are typically sitting in front of desktop or laptop computers for 6-10 hours a day.  And yet\, while we may want those machines to do certain tasks for us\, for some reason it rarely occurs to many of us to use Python to solve problems on <em>those</em> computers rather than the ones in the cloud.</p>\n<p>Perhaps it's just because the APIs for controlling them are so different\, and it seems difficult to get started.</p>\n<p>In this talk I will explain how to use Python to integrate with your desktop environment\; how to schedule tasks\, schedule notifications\, and script the applications you already use. We'll have a focus on macOS for demonstration purposes\, but will also including pointers to similar tools for desktop Linux and Windows.</p>\nSpeakers:\nGlyph\n<p>Although most well-known for being the founder of the Twisted project\, Glyph has also worked on massively multiplayer online games\, dynamic web applications\, enterprise information management software\, and created or contributed to dozens of open source projects\, mostly related to infrastructure. He is currently an independent open source maintainer\, doing weird and fun stuff with Python.</p>
DTEND:20250517T164500Z
LOCATION:Hall C
DTSTART:20250517T160000Z
STATUS:CONFIRMED
SUMMARY:[talk] Program Your Own Computer in Python
TRANSP:OPAQUE
UID:bfdfa523-8a62-56a2-8a6a-a0afdd7f04f6
URL:https://us.pycon.org/2025/schedule/presentation/136/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: tutorials\nKind: tutorial\nName: Back to foundations: Automated testing with Python\nhttps://us.pycon.org/2025/schedule/presentation/132/\n<p>In the era of A.I.\, automatic testing is often tedious\, time-consuming\, and rarely given the attention it deserves. But is there a more engaging way to prove that your code works as expected?</p>\n<p>This tutorial will showcase how to harness Python tools to write automated tests\, ranging from fundamental techniques to advanced approaches that make testing truly effective.\nThrough a hands-on live-coding session\, we will follow a top-down approach: starting with principles\, we will begin by testing simple functions. From there\, we will move on to mocking external dependencies we can control and measuring the effectiveness of those tests. Finally\, we will integrate everything tested so far\, unveiling a complete testing strategy. The workshop will conclude with a recap and a brief handbook full of tips and more topics to explore.</p>\n<p>Throughout the session\, we will embrace the entire philosophy of testing: beyond merely spotting bugs\, we will see how testing is a powerful tool for designing\, understanding\, and uncovering hidden issues in our implementation. We will introduce and practice test-driven development (TDD) while also exploring alternative approaches.</p>\n<p>Neither extensive knowledge of Python (just some familiarity with classes and basic functions and ability to run Python scripts) nor special tools are required to attend the workshop: a little confidence with the basics is enough to participate\, and a working Python environment is all we will need. Instructions will be provided throughout the workshop.</p>\n<p>Let's make testing engaging and impactful together. Long live testing!</p>\nSpeakers:\nFrancesco Bruni\n<p>Software engineers for a few years\, working with geospatial data now.\nIn love with Python\, even if I feel comfortable with other languages as well. \nI strongly believe that the approach to the problem is much more relevant than being very tool-oriented.</p>
DTEND:20250514T163000Z
LOCATION:Room 317
DTSTART:20250514T130000Z
STATUS:CONFIRMED
SUMMARY:[tutorial] Back to foundations: Automated testing with Python
TRANSP:OPAQUE
UID:334b6b31-12a2-5bfc-bf4f-870c0954b343
URL:https://us.pycon.org/2025/schedule/presentation/132/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Intuition vs. Reality: Surprising Truths in Python Performance\nhttps://us.pycon.org/2025/schedule/presentation/55/\n<p>How often do we trust our instincts when optimizing code? In Python\, performance frequently defies intuition\, leading us to make changes that might slow things down instead of speeding them up. This talk explores surprising truths about Python performance and showcases why measurement tools are essential for finding the real bottlenecks in our code.</p>\n<p>Consider this: is it faster to count even numbers in a list using <code>len([x for x in arr if x % 2 == 0])</code> or <code>sum(1 for x in arr if x % 2 == 0)</code>? While one might seem more Pythonic or efficient at first glance\, the performance results might surprise you. </p>\n<p>Through an interactive format\, we’ll quiz you on performance scenarios using real-world examples. From counting even numbers to rewriting Python code in Rust\, each case study will challenge assumptions about what makes code faster.</p>\n<p><strong>Plan:</strong></p>\n<ol>\n<li><strong>Introduction:</strong> Why intuition often fails in software performance</li>\n<li><strong>Interactive performance case studies:</strong> Real-world examples that will surprise you<ul>\n<li>Counting even numbers</li>\n<li>String concatenation</li>\n<li>Pathfinding optimization</li>\n<li>etc.</li>\n</ul>\n</li>\n<li><strong>Conclusion:</strong> How do we become consistent about optimizations?</li>\n</ol>\n<p>By the end\, you’ll understand why performance measurements matter and leave with practical insights and tools to improve Python performance systematically.</p>\nSpeakers:\nArthur Pastel\n<p>Hi\, I'm Arthur\, a software engineer based in Paris 🇫🇷🥖</p>\n<p>I worked as an engineer in a few tech companies over the past years\, mostly building software with Python\, but I'm also passionate about (too ??) many other software fields.</p>\n<p>I'm an open-source enthusiast and love to contribute when possible. Three years ago\, I built ODMantic\, an ODM for MongoDB and Python. It's a kind of ORM built on top of Pydantic to provide a seamless model definition and integration with FastAPI.</p>\n<p>2 years ago\, I founded CodSpeed\, a Continuous Performance Analysis solution helping tech companies and Open-Source projects prevent performance issues directly in their CI pipelines.</p>\nAdrien Cacciaguerra\n<p>Hey\, I am Adrien\, a French Software Enfineer for 7 years.</p>\n<p>I am a co-creator CodSpeed\, a Continuous Performance Analysis solution that helps tech companies and Open-Source projects prevent performance issues directly in their CI pipelines.</p>\n<p>I am passionate about Developer Experience\, Performance\, Open-Source\, Python\, TypeScript\, and Rust. These passions led me to co-author Swarmion\, an open-source set of tools to develop Serverless micro-services.</p>
DTEND:20250516T183000Z
LOCATION:Ballroom A
DTSTART:20250516T174500Z
STATUS:CONFIRMED
SUMMARY:[talk] Intuition vs. Reality: Surprising Truths in Python Performance
TRANSP:OPAQUE
UID:1604bfeb-dd14-52d5-87d5-922dea42209d
URL:https://us.pycon.org/2025/schedule/presentation/55/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: charla\nName: Construyendo un Buscador Multimodal: Combinando Texto e Imágenes para una Búsqueda Inteligente.\nhttps://us.pycon.org/2025/schedule/presentation/35/\n<p>En el mundo actual basado en datos\, procesar y analizar eficientemente grandes volúmenes de datos es crucial para muchas aplicaciones. Exploremos juntos cómo crear y administrar embeddings de texto e imágenes para búsqueda de similitudes en una base de datos PostgreSQL. Nos sumergiremos en un ejemplo práctico utilizando Python para demostrar cómo pueden crear buscadores que empleen  lenguaje natural.</p>\nSpeakers:\nElizabeth Fuentes\n<p>As a Data Analytics and Machine Learning/Artificial Intelligence (ML/AI) Specialist\, my mission is to break down complex concepts into easily understandable terms. I strive to develop innovative solutions that tackle real-world challenges effectively. By sharing my knowledge and experience through conferences and educational resources\, I aim to empower developers in expanding their skill sets and achieving their professional goals.</p>\nCamila Hinojosa Añez\n<p>Estudiante de Ingeniería Civil en Ciencias de la Computación en la Universidad de los Andes\, Chile. Se destaca por su compromiso con la tecnología\, la educación y el impacto social.   Ha participado en proyectos de innovación\, investigación en realidad virtual y ciberseguridad\, y ha sido voluntaria en iniciativas como NiñasPro y las comunidades de AWS.</p>
DTEND:20250516T191500Z
LOCATION:Room 310/311
DTSTART:20250516T184500Z
STATUS:CONFIRMED
SUMMARY:[charla] Construyendo un Buscador Multimodal: Combinando Texto e Imágenes para una Búsqueda Inteligente.
TRANSP:OPAQUE
UID:b0d51db1-d570-5537-9e1e-65c692c2f32c
URL:https://us.pycon.org/2025/schedule/presentation/35/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: charla\nName: Usando Python y Gemini para visualizar alertas sanitarias en una web accesible\nhttps://us.pycon.org/2025/schedule/presentation/26/\n<p>En esta charla se expondrá cómo se usa Flask y Gemini para obtener información de interés desde distintos sitios web no estructurados. Adicionalmente\, se discutirán atajos para web-scraping con Python\, en un formato legible para Gemini. Esta sesión está dirigida a  personas interesadas en IA y con conocimiento básico de Python\, así como para profesionales curiosos\, en busca de nuevas aplicaciones de IA. \nLa motivación de este proyecto surge pues en Chile las alertas sanitarias en medicamentos\, especialmente en anticonceptivos\, han sido un problema grave que impacta con más énfasis a mujeres y sus derechos reproductivos. Por ejemplo\, alrededor de 200 mujeres fueron afectadas sólo en el primer fallo documentado de anticonceptivos en el segundo semestre de 2020. La solución del gobierno de la época fue indemnizar a las afectadas que demandaron\, con 80.000 pesos Chilenos\, (80 USD app). Desafortunadamente no fue el único caso\, de hecho la última alerta informada de anticonceptivos defectuosos data de septiembre de 2024. \nEn esta charla se presentará una web app para resolver el problema del acceso a la información sobre las alertas sanitarias de medicamentos defectuosos en Chile\, usando IA generativa y frameworks web.</p>\nSpeakers:\nLía Da Silva - Rojas\n<p>I am a very passionate software developer\, always looking for challenges in the industry. I specialize in data visualization &amp\; game development. I started programming at 14\, following a book my mother gave me\; my first program drew a wonky house using Turtle. Now\, alongside other creators\, I make games\, work a daytime job as a software developer\, and study at nightshift.</p>
DTEND:20250516T214500Z
LOCATION:Room 310/311
DTSTART:20250516T211500Z
STATUS:CONFIRMED
SUMMARY:[charla] Usando Python y Gemini para visualizar alertas sanitarias en una web accesible
TRANSP:OPAQUE
UID:1ed0470d-5bb2-58b9-8539-2f9c0a60a345
URL:https://us.pycon.org/2025/schedule/presentation/26/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: informational\nName: Registration / Information Desks Open\n<p>Registration / Information Desks Open</p>\n
DTEND:20250514T110000Z
LOCATION:Concourse A
DTSTART:20250514T110000Z
STATUS:CONFIRMED
SUMMARY:[informational] Registration / Information Desks Open
TRANSP:OPAQUE
UID:d1be9498-3364-5cb8-8f2e-6d9c24c5cedb
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Schemas: The Key To Data Happiness\nhttps://us.pycon.org/2025/schedule/presentation/45/\n<p>Shape shifting data got you down? If you’re a Pythonista who works with data you’ve probably had at least one headache due to unexpected changes in data. In this talk you’ll see how to create\, maintain\, and leverage schemas to generate test and training data\, improve data pipeline reliability\, generate code\, and some other neat tricks.</p>\nSpeakers:\nSev Leonard\n<p>A long time snake person\, Sev has been working with data and Python for a bit over a decade. His work spans the data stack from infrastructure to analysis and machine learning\, which he's used to improve healthcare and protect small businesses from cyber threats. Sev enjoys teaching and has presented on data pipelines and micropython at PyCon\, PyDX\, and PyCascades. He is an O'Reilly contributor\, including the author of Cost-Effective Data Pipelines and an invited speaker on data &amp\; AI. He loves cats\, the forest\, and baked goods.</p>
DTEND:20250516T214500Z
LOCATION:Hall C
DTSTART:20250516T211500Z
STATUS:CONFIRMED
SUMMARY:[talk] Schemas: The Key To Data Happiness
TRANSP:OPAQUE
UID:fb8962fa-ab9d-582a-9c85-fa761496670d
URL:https://us.pycon.org/2025/schedule/presentation/45/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: summit\nName: Maintainers Summit\n<p>Maintainers Summit</p>\n
DTEND:20250516T214500Z
LOCATION:Room 402
DTSTART:20250516T180000Z
STATUS:CONFIRMED
SUMMARY:[summit] Maintainers Summit
TRANSP:OPAQUE
UID:e3f3533b-941f-5508-9d62-44b8724c9c55
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Taming file zoos: Data science with DuckDB database files\nhttps://us.pycon.org/2025/schedule/presentation/112/\n<h1>Problem statement</h1>\n<p>Data scientists working in Python often spend the majority of their time cleaning input data\, frequently from files. These files have many formats\, can be located anywhere\, and sometimes have names like ‘data_final_final_v3.csv’. Data scientists often produce similar files! We call these “file zoos”. </p>\n<h1>Taming file zoos with DuckDB</h1>\n<h2>DuckDB fits perfectly with Python</h2>\n<p>The MIT-licensed DuckDB database management system was designed to fit perfectly into data scientists’ workflows. Install DuckDB’s pre-compiled\, dependency-free binary from pip. It can read and write dataframes (Pandas\, Polars\, and Apache Arrow) for interoperability. It also has an advanced persistent file format.</p>\n<h2>Read and write files with confidence</h2>\n<p>DuckDB can read and write to and from csv\, parquet\, json - even xlsx and Google Sheets. The csv reader in DuckDB is world-class\, quickly querying even messy csvs. DuckDB interoperates with object stores across clouds and reads lakehouse formats like Delta and Iceberg. </p>\n<h2>Organize using the DuckDB format</h2>\n<p>Use DuckDB’s highly compressed columnar file format to persist many large tables all in the same file. Store processing logic in views and functions and even update just portions of the file. DuckDB serves as a catalog when files should remain in place.</p>\n<p>Beyond the format itself\, DuckDB provides ACID transactional safety and parallel processing\, it can be read in 15+ languages\, and is guaranteed to be readable for years to come. It unlocks larger-than-memory analyses to solve 2TB problems\, not 16GB ones!</p>\n<h2>Extensions</h2>\n<p>Community extensions enable DuckDB to read additional formats and are provided through a pip-like package repository.</p>\n<h2>Takeaways</h2>\n<p>Attendees will learn how to install and use DuckDB locally\, how to integrate it seamlessly in their existing Python scripts or Jupyter Notebooks\, and how to smoothly manage the deluge of files in their workflow.</p>\nSpeakers:\nAlex Monahan\n<p>Alex Monahan is a forward deployed software engineer at MotherDuck and writes blogs part time for DuckDB Labs. </p>\n<p>Alex joined MotherDuck 1 1/2 years ago after 9 years at Intel. After starting at Intel as an industrial engineer\, Alex later became a technical analyst\, and then moved into a data scientist role. </p>\n<p>Back in 2020 Alex discovered DuckDB while building an internal self-service analytics platform. Alex then became one of DuckDB's biggest Twitter fans! He has been diving deeper into duck-themed databases ever since.</p>
DTEND:20250518T181500Z
LOCATION:Ballroom A
DTSTART:20250518T174500Z
STATUS:CONFIRMED
SUMMARY:[talk] Taming file zoos: Data science with DuckDB database files
TRANSP:OPAQUE
UID:39d93a08-3c7f-5cfe-9b66-5a60832da226
URL:https://us.pycon.org/2025/schedule/presentation/112/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Why `len('😶‍🌫️') == 4` and other weird things you should know about strings in Python\nhttps://us.pycon.org/2025/schedule/presentation/27/\n<p>Strings in Python behave in all sorts of unexpected ways: <code>len('😶‍🌫️') == 4</code>\, <code>'ñ' != 'ñ'</code>\, <code>'‮dlrow olleh‬'‬.split()[1] == 'olleh‬'</code>! How is this possible? And importantly\, why should you care?</p>\n<p>In this presentation\, we’ll give a brief introduction to text encoding\, the different Unicode standards and how Python encodes strings before we dive deep into Unicode oddities. We’ll cover how one code point can represent multiple characters\, why converting between upper-case and lower-case characters should be locale-dependent and how emoji’s work. Finally\, we will discuss some best practices for handling unicode input in Python.</p>\n<p>After this talk\, you'll have a better understanding of strings in Python\, the Unicode character encoding and you’ll be aware of some common pitfalls and how to avoid them.</p>\nSpeakers:\nMarie Roald\n<p>Marie Roald is a researcher\, data scientist and educator. For the past years\, she has developed and taught programming courses with the goal of empowering teachers to apply programming in their classrooms and has taught courses both digitally and physically at major cities all across Norway. Marie also has experience with academic conferences and science communication.</p>\nYngve Mardal Moe\n<p>Yngve is an experienced Python educator\, Python developer open source enthusiast. He is a co-creator of TurtleThread and has taught Python to professionals\, university students and academics. He is currently tech lead working on safely automating the Norwegian power grid. While working at the Norwegian University of Life Sciences\, Yngve headed a project transforming introduction to Python into a tutorial-based course focusing on active learning.</p>
DTEND:20250517T194500Z
LOCATION:Ballroom BC
DTSTART:20250517T191500Z
STATUS:CONFIRMED
SUMMARY:[talk] Why `len('😶‍🌫️') == 4` and other weird things you should know about strings in Python
TRANSP:OPAQUE
UID:69ec8f53-44e5-56b2-b9c2-d5ecbe41e8ae
URL:https://us.pycon.org/2025/schedule/presentation/27/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: When GPUs Make Python Slower: Patterns and Pitfalls\nhttps://us.pycon.org/2025/schedule/presentation/138/\n<p>When does GPU acceleration slow down your Python code? More often than you might think! Join me to explore the world of GPU acceleration\, in which I will walk through some use cases where it makes your code faster and slower\, and sometimes much slower. I’ll explain what GPU accelerated libraries like Numba\, CuPy\, cuDF and cuGraph really do\, and we’ll dive into string processing\, memory transfer overhead\, and real-world case studies in processing time-series data. Whether you’re new to GPU acceleration or already using it in production\, you’ll better understand when using GPUs help\, when it doesn’t\, and when you should reach for other ways to make your Python code faster.</p>\nSpeakers:\nKaashif Hymabaccus\n<p>Kaashif Hymabaccus is a senior software engineer at Bloomberg. His team\, which builds distributed systems to compute and store portfolio analytics\, are heavy users of Python\, Pandas\, and PySpark.</p>
DTEND:20250517T154500Z
LOCATION:Ballroom BC
DTSTART:20250517T151500Z
STATUS:CONFIRMED
SUMMARY:[talk] When GPUs Make Python Slower: Patterns and Pitfalls
TRANSP:OPAQUE
UID:942569ed-ba8e-5454-a680-0c89983a22ea
URL:https://us.pycon.org/2025/schedule/presentation/138/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Processing Large Geospatial Datasets with Dask & Xarray\nhttps://us.pycon.org/2025/schedule/presentation/86/\n<p>Geospatial datasets are growing in size\, often exceeding 100TB and reaching into Petabyte scale. Many of these datasets are publicly available\, providing a great resource for analysis\, but working with them requires increasingly large computational resources and a diverse set of tools.</p>\n<p>We will start by briefly introducing Dask and Xarray\, which form the backbone of the geospatial stack in Python. Using the ERA5 dataset as a case study\, we will demonstrate how Xarray can be used to explore large-scale climate data effectively from your local laptop.</p>\n<p>Building on this foundation\, we will delve into recent advancements in Dask Array. Originally designed as a parallel NumPy API\, Dask Array was used to handle much larger datasets over the last few years. We’ll explore the latest developments in Dask and Xarray that continue to expand the scalability and capabilities of these tools to catch up with the scale requirements of modern datasets.</p>\n<p>This discussion will highlight improvements in ease of use\, scalability\, and performance. Additionally\, we’ll present the first-ever set of geospatial benchmarks\, collected earlier in 2024 from the community. These benchmarks provide a clear illustration of the scale at which Xarray and Dask are required to operate.</p>\n<p>Finally\, we’ll offer a peak behind the scenes of an ongoing project aimed at building the first ever query optimizer for large scale array computations.</p>\nSpeakers:\nPatrick Hoefler\n<p>Patrick Hoefler is a member of the pandas core team and a Dask maintainer. He is currently working at Citadel as a Software Engineer. He holds a Msc degree in Mathematics and works towards a Msc in Software engineering at the University of Oxford.</p>
DTEND:20250516T170000Z
LOCATION:Ballroom A
DTSTART:20250516T163000Z
STATUS:CONFIRMED
SUMMARY:[talk] Processing Large Geospatial Datasets with Dask & Xarray
TRANSP:OPAQUE
UID:76ec6198-b83d-5cd6-9da7-61096298b7b7
URL:https://us.pycon.org/2025/schedule/presentation/86/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: tutorials\nKind: tutorial\nName: (Pre-)Commit to Better Code\nhttps://us.pycon.org/2025/schedule/presentation/61/\n<p>Maintaining code quality can be challenging\, no matter the size of your project or number of contributors. Different team members may have different opinions on code styling and preferences for code structure\, while solo contributors might find themselves spending a considerable amount of time making sure the code conforms to accepted conventions. However\, manually inspecting and fixing issues in files is both tedious and error-prone. As such\, computers are much more suited to this task than humans. Pre-commit hooks are a great way to have a computer handle this for you.</p>\n<p>Pre-commit hooks are code checks that run whenever you attempt to commit your changes with Git. They can detect and\, in some cases\, automatically correct code-quality issues <em>before</em> they make it to your codebase. In this tutorial\, you will learn how to install and configure pre-commit hooks for your repository to ensure that only code that passes your checks makes it into your code base. We will also explore how to build custom pre-commit hooks for novel use cases.</p>\nSpeakers:\nStefanie Molin\n<p><a href="https://stefaniemolin.com">Stefanie Molin</a> is a software engineer at Bloomberg in New York City\, where she tackles tough problems in information security\, particularly those revolving around data wrangling/visualization\, building tools for gathering data\, and knowledge sharing. She is also a core developer of <a href="https://github.com/numpy/numpydoc">numpydoc</a> and the author of “<a href="https://www.amazon.com/Hands-Data-Analysis-Pandas-visualization/dp/1800563450">Hands-On Data Analysis with Pandas: A Python data science handbook for data collection\, wrangling\, analysis\, and visualization</a>\,” which is currently in its second edition and has been translated into Korean and Chinese. She holds a bachelor’s of science degree in operations research from Columbia University's Fu Foundation School of Engineering and Applied Science\, as well as a master’s degree in computer science\, with a specialization in machine learning\, from Georgia Tech. In her free time\, she enjoys traveling the world\, inventing new recipes\, and learning new languages spoken among both people and computers.</p>
DTEND:20250515T210000Z
LOCATION:Room 317
DTSTART:20250515T173000Z
STATUS:CONFIRMED
SUMMARY:[tutorial] (Pre-)Commit to Better Code
TRANSP:OPAQUE
UID:51e4ac9a-92ed-5ca5-95ab-f9260e15f813
URL:https://us.pycon.org/2025/schedule/presentation/61/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: tutorials\nKind: tutorial\nName: Comprehending comprehensions\nhttps://us.pycon.org/2025/schedule/presentation/106/\n<p>Comprehensions are one of the most important — and misunderstood — parts of Python. In this tutorial\, I'll walk you through comprehensions\, including how to write them\, and why you would want to do so. By the time you finish this tutorial\, you'll fully understand list\, set and dict comprehensions\, as well as nested comprehensions and generator expressions. You'll understand the differences between regular "for" loops and comprehensions\, and where to use them.</p>\nSpeakers:\nReuven M. Lerner\n<p>Reuven is a full-time instructor in Python and Pandas\, in business since 1995. He teaches at companies around the world\, offers video courses\, and writes books — most recently\, Python Workout and Pandas Workout\, both published by Manning. He writes about Python for his "Better Developers" newsletter\, and poses Pandas puzzles based on current events in "Bamboo Weekly." Reuven lives with his wife and three children in Modi'in\, Israel.</p>
DTEND:20250514T163000Z
LOCATION:Room 320
DTSTART:20250514T130000Z
STATUS:CONFIRMED
SUMMARY:[tutorial] Comprehending comprehensions
TRANSP:OPAQUE
UID:afca48e9-59ea-5a28-b8a4-88e0cc6eda1c
URL:https://us.pycon.org/2025/schedule/presentation/106/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Going From Notebooks to Scalable Systems\nhttps://us.pycon.org/2025/schedule/presentation/51/\n<p>Jupyter Notebooks are a fantastic tool that make it very easy to get started on a project. But often\, you’ll reach a point where you want to make your code part of a larger system\, and you’ll need to change your way of working. You’ll need to go from code that gives you some insights or results to robust\, reproducible code that runs automatically. In this talk\, I’ll explain strategies that will help you smoothly refactor your code. I’ll introduce tools that will help you\, and discuss the skills that you’ll need. Whether you're a data scientist looking to productionize your models or a developer working with data-heavy applications\, you'll gain practical knowledge to help you move from exploratory notebooks to robust\, scalable systems.</p>\nSpeakers:\nCatherine Nelson\n<p>Catherine Nelson is a freelance data scientist and the author of two O'Reilly books\, this year’s Software Engineering for Data Scientists\, and her 2020 book Building Machine Learning Pipelines. Previously\, she was a Principal Data Scientist at SAP Concur where she worked on production NLP systems. Catherine has a PhD in geophysics from Durham University and a Masters of Earth Sciences from Oxford University. She is currently consulting for startups in the Generative AI space.</p>
DTEND:20250516T161500Z
LOCATION:Ballroom BC
DTSTART:20250516T154500Z
STATUS:CONFIRMED
SUMMARY:[talk] Going From Notebooks to Scalable Systems
TRANSP:OPAQUE
UID:5bccf91e-aec8-5b2d-b5e9-376e477ba198
URL:https://us.pycon.org/2025/schedule/presentation/51/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: informational\nName: Registration / Information Desks Close\n<p>Registration / Information Desks Close</p>\n
DTEND:20250518T170000Z
LOCATION:Concourse A
DTSTART:20250518T170000Z
STATUS:CONFIRMED
SUMMARY:[informational] Registration / Information Desks Close
TRANSP:OPAQUE
UID:66a583d1-2917-5330-97d7-54c8225d85e5
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Writing Extension Modules To Be Interruptible\nhttps://us.pycon.org/2025/schedule/presentation/39/\n<p>Have you ever told Python to crunch some numbers\, realized right after\npressing RETURN that you made a mistake setting up the problem\, hit\ncontrol-C to stop it again...and then sat there twiddling your thumbs\nfor a surprisingly long time as nothing seemed to happen?</p>\n<p>The short version of what's going on when this happens is\, the\nPython interpreter is notified of your having hit control-C almost\nimmediately\, but it has to wait to throw <code>KeyboardInterrupt</code> until\nthe extension module that's doing the number crunching finishes\nits calculation and returns control to the interpreter.</p>\n<p>In this talk we will discuss why the interpreter works that way (and\nwhy it <em>has</em> to work that way)\, what extension module authors can do\ntoday to make their extensions notice control-C promptly\, and how we\ncan all work toward a future where it's easy and natural for extension\nmodule authors to write extensions that don't make you wait for them\nto stop.</p>\nSpeakers:\nZack Weinberg\n<p>Zack is a Research Software Engineer at Million Concepts LLC (https://millionconcepts.com/) where he works on tools for analyzing and cataloguing data collected from probes and telescopes over the past half-century and more of space exploration. These projects sometimes require him to delve deeper into the innards of the Python interpreter than one might expect.</p>\n<p>He holds a Ph.D. in Electrical and Computer Engineering from Carnegie Mellon University\, where his academic research focused on machine learning and statistical approaches to investigating internet censorship at global scale. He co-taught CMU's "Introduction to Computer Systems" course from 2020 through 2023. Zack's other interests include cognitive science\, systems theory\, candlemaking\, pottery\, and game design. He is re-learning to play the piano.</p>
DTEND:20250517T150000Z
LOCATION:Room 301-305
DTSTART:20250517T143000Z
STATUS:CONFIRMED
SUMMARY:[talk] Writing Extension Modules To Be Interruptible
TRANSP:OPAQUE
UID:965e199e-beaa-5493-ae10-2223b3dc1e2e
URL:https://us.pycon.org/2025/schedule/presentation/39/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: event\nName: Opening Reception\n<p>Opening Reception</p>\n
DTEND:20250515T230000Z
LOCATION:Hall A
DTSTART:20250515T210000Z
STATUS:CONFIRMED
SUMMARY:[event] Opening Reception
TRANSP:OPAQUE
UID:0cd707d8-080a-5a7c-905e-632183f25fab
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: lightning-talks\nName: Lightning Talks\nhttps://us.pycon.org/2025/schedule/presentation/171/\n<p>Lightning talks are a maximum duration of 5 minutes on any topic of interest to other Python people. It doesn't have to be about something that you wrote\, it can be something that you learned\, or a technique you think other people will be interested in.</p>\n<p>Read more about Lightning Talks <a href="/2025/events/lightning-talks/">on our event page</a>.</p>\n<h3>Presenting in this session</h3>\n<p>Order To Be Determined! If you're speaking make sure you are there on time!</p>\n<ul>\n<li>"<strong>How to say thanks to Python People</strong>" - <em>Mariatta Wijaya</em></li>\n<li>"<strong>pie\, pi\, and pypi</strong>" - <em>anthony sottile</em></li>\n<li>"<strong>Art in Code - Our Emotions Reflected in Code</strong>" - <em>Sophia McKeever</em></li>\n<li>"<strong>Regex or Line Noise\, Can You Tell the Difference?</strong>" - <em>Mason Egger</em></li>\n<li>"<strong>One Bagel to Feed Them All</strong>" - <em>KwonHan Bae</em></li>\n<li>"<strong>So\, You Want To Give A Talk - Five Ways to Keep Your Audience Off of Their Phones</strong>" - <em>Peter Sobot</em></li>\n<li>"<strong>It's PyCon Time!</strong>" - <em>Ee Durbin</em></li>\n<li>"<strong>What can you do in 1.25 years - Black Python Devs</strong>" - <em>Jay Miller</em></li>\n<li>"<strong>AireLib.re: Building a low cost air quality sensor network</strong>" - <em>Marcelo Elizeche Landó</em></li>\n<li>"<strong>Read the Weather Like a Pilot</strong>" - <em>Michael duPont</em></li>\n<li>"<strong>Some Potentially Divisive Opinions about Codes of Conduct</strong>" - <em>Molly de Blanc</em></li>\n<li>"<strong>Why MRI?  Why Python for MRI?</strong>" - <em>Anjali Datta</em></li>\n<li>"<strong>It's just an online conference. How hard can it be?</strong>" - <em>Georgi Ker</em></li>\n</ul>\nSpeakers:\nHosted by Abigail\, Chris\, Cristián\, and Lorena\n
DTEND:20250517T224500Z
LOCATION:Hall B
DTSTART:20250517T214500Z
STATUS:CONFIRMED
SUMMARY:[lightning-talks] Lightning Talks
TRANSP:OPAQUE
UID:7c2b9fda-1449-536d-aa63-f6ea01836442
URL:https://us.pycon.org/2025/schedule/presentation/171/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: informational\nName: Swag pickup T-shirt Sales Close\n<p>Swag pickup T-shirt Sales Close</p>\n
DTEND:20250518T170000Z
LOCATION:Hall A
DTSTART:20250518T170000Z
STATUS:CONFIRMED
SUMMARY:[informational] Swag pickup T-shirt Sales Close
TRANSP:OPAQUE
UID:979b7452-f0dc-5a76-b6b8-ff3ba5a84054
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: informational\nName: Expo Hall Opens\n<p>Expo Hall Opens</p>\n
DTEND:20250517T130000Z
LOCATION:Hall A
DTSTART:20250517T130000Z
STATUS:CONFIRMED
SUMMARY:[informational] Expo Hall Opens
TRANSP:OPAQUE
UID:23100c0d-7737-5faa-b6df-93926669aeb3
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: PyXL: A Chip That Runs Python at Turbo Speeds\nhttps://us.pycon.org/2025/schedule/presentation/40/\n<p>Python is powerful but slow - held back by interpreter overhead and dynamic typing. What if it ran natively on hardware?</p>\n<p>I built PyXL\, a custom processor designed to accelerate Python execution in silicon\, eliminating its biggest performance bottlenecks.\nPyXL achieves massive efficiency gains per cycle\, even significantly surpassing high-end CPUs like the M1 Pro!</p>\n<p>Come see how Python can break free from its speed limits without rewriting a single line of code.</p>\nSpeakers:\nRon Livne\n<p>Ron Livne is a software engineer with 17 years of experience in performance-critical systems. His work spans high-frequency trading\, high-performance computing\, networking stacks\, and machine learning infrastructure. Ron has a background in low-level software and custom tooling\, with a track record of building lean\, high-efficiency solutions.</p>
DTEND:20250517T150000Z
LOCATION:Hall C
DTSTART:20250517T143000Z
STATUS:CONFIRMED
SUMMARY:[talk] PyXL: A Chip That Runs Python at Turbo Speeds
TRANSP:OPAQUE
UID:f4dee25d-c6a0-58d4-8e66-b58431dfceef
URL:https://us.pycon.org/2025/schedule/presentation/40/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: event\nName: CANCELLED: <s>Introduction to Sprints Workshop</s>\n<p>CANCELLED: <s>Introduction to Sprints Workshop</s></p>\n
DTEND:20250518T233000Z
LOCATION:Room 402
DTSTART:20250518T213000Z
STATUS:CONFIRMED
SUMMARY:[event] CANCELLED: <s>Introduction to Sprints Workshop</s>
TRANSP:OPAQUE
UID:3ecc9f2e-545c-5ed8-b5c7-e5ce4ddc7aa5
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: posters\nKind: poster\nName: From Monolithic to Mosaic: Collaborative SLMs Ecosystems for Cost-Efficient\, Scalable\, and Edge-Ready solutions\nhttps://us.pycon.org/2025/schedule/presentation/101/\n<p>Large Language Models (LLMs) excel at tasks like filtering\, summarization\, and code generation\, but their high computational requirements lead to steep costs and limited scalability. This poster proposes a novel approach that breaks from the constraints of monolithic LLMs\, moving toward a lightweight ecosystem of open-source Small Language Models (SLMs) coordinated by a central Master Agent.</p>\n<p>In this architecture\, the Master Agent dynamically assigns requests to specialized Worker Agents\, each running an SLMs (Phi3\, Orca-mini\, etc) tuned for a particular function. By distributing tasks among smaller\, focused models\, we reduce resource consumption and cost. Scaling up or adapting to new tasks becomes as simple as adding or swapping Worker Agents\, avoiding the complexity and overhead of deploying an all-encompassing large model.</p>\n<p>Beyond cost and scalability\, this approach addresses the growing demand for edge-compatible solutions. Compact SLMs integrate seamlessly into edge devices ranging from IoT sensors to mobile apps which enables low-latency\, privacy-preserving\, and even offline language processing. This setup empowers developers to bring advanced language tasks directly to the user\, regardless of infrastructure or connectivity constraints.</p>\n<p>Our implementation\, primarily in Python and supported by open-source frameworks like Langchain\, Hugging Face LLMs\, etc. to foster community-driven enhancements. The poster will showcase how this multi-agent framework optimizes resource utilization\, simplifies maintenance through modular specialization\, and ensures robust failover for uninterrupted performance. Attendees will learn how to integrate these components into their own projects\, benefiting from a flexible\, future-proof platform that’s both affordable and adaptable.</p>\nSpeakers:\nRudraksh Karpe\n<p>Rudraksh Karpe is an GenAI Engineer at ZS Associates and a Google Summer of Code contributor with the openSUSE Project. Previously\, he has worked with the KDE community to enhance the eco-sustainability of KDE applications. Known for his tenacity\, Rudraksh has made significant contributions in AI/ML and Cloud-Native technologies. He is dedicated to applying these technologies to address real-world challenges and support the growth of the community.</p>\nSUMIT PANDEY\n<p>Sumit is an AI Engineer at <strong>ZS Associates</strong>\, specializing in <strong>Large Language Models (LLMs)</strong> and <strong>Advanced Data Science</strong>. He designs and deploys <strong>scalable AI pipelines</strong>\, <strong>event-driven workflows</strong>\, and <strong>agent-based orchestration</strong> using tools like <strong>LangChain</strong>\, <strong>LangGraph</strong>\, <strong>GPT-4 Vision</strong>\, and <strong>AWS Textract</strong>.</p>\n<p>He brings hands-on experience with <strong>RLHF</strong>\, <strong>QLoRA</strong>\, <strong>PEFT</strong>\, and <strong>RAG</strong>\, fine-tuning models for real-world impact. His work spans <strong>performance evaluation</strong> using metrics such as <strong>GLUE</strong>\, <strong>MMLU</strong>\, <strong>ROUGE</strong>\, and <strong>RAGAS</strong>\, and includes building observability modules and microservices for secure financial data processing.</p>\n<p>Sumit holds a <strong>B.Tech in IT</strong> and a <strong>Diploma in Data Science from IIT Madras</strong>. He is an inventor on patents for AI-powered tools like a <strong>cloud-based summarization engine</strong> and an <strong>AI-assisted home design solution</strong>. His project portfolio includes legal AI chatbots\, LSTM-based sentiment analysis\, and hybrid NLP systems.</p>\n<p>With a strong foundation in <strong>ML\, DL\, and NLP</strong>\, Sumit combines research-driven insights with practical engineering to build robust\, user-centric GenAI solutions that scale.</p>\n<p>🔗 <strong>LinkedIn</strong>: https://www.linkedin.com/in/sqrt676/</p>
DTEND:20250518T170000Z
LOCATION:Hall A
DTSTART:20250518T140000Z
STATUS:CONFIRMED
SUMMARY:[poster] From Monolithic to Mosaic: Collaborative SLMs Ecosystems for Cost-Efficient\, Scalable\, and Edge-Ready solutions
TRANSP:OPAQUE
UID:e61c11fc-8b03-5759-91f5-d1d6df5d2874
URL:https://us.pycon.org/2025/schedule/presentation/101/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Detecting Honeybee Swarms Using the Integration of OpenCV\, Pandas\, AI\, and PyTorch\nhttps://us.pycon.org/2025/schedule/presentation/20/\n<p>Honeybees will swarm during times of increased pollen and nectar flow\, effectively dividing the hive in half. This can result in the complete loss of both halves of the hive for the beekeeper.  In this talk\, I will show how I used a Raspberry Pi\, mounted on a hive and powered by solar panels\, to take a still image of a hive entrance every 30 seconds and filtered using OpenCV. Each image was sent off in real-time to Marvin.AI for analysis to obtain a count of the number of bees at the hive entrance.  A subsequent refinement has removed the need for AI analysis using an object detection model implemented in PyTorch using large scale datasets from iNaturalist to create a deep learning model which I plan to implement this Spring.  The counts were stored in an offsite database and then aggregated into a Pandas dataset and subjected to a rolling window analysis.  It was postulated that such an analysis would prove necessary to distinguish between swarming and “bearding” which is when many bees exit the hive and congregate at the entrance during very warm periods to ventilate it.  While the bees were “uncooperative” this season and did not swarm\, test data show that a beekeeper could be notified of a swarm event within 10 minutes of its occurrence\, thus saving both hives.\nAttendees will learn : \n(1) The use of “maker” techniques in setting up and integrating solar power\, Raspberry Pi systems and cameras as well as effectively running python on the systems and setting up remote access.\n(2) How to implement the setup and use of PyTorch data object models and how they relate to AI analysis\n(3) How to use NumPy and Pandas for biological system analysis\n(4) And maybe a little apiculture!</p>\nSpeakers:\nMichael Dahlberg\n<p>Mike has been a Linux Systems Administrator for the past 25 years and has written code in some form for that same length of time\, however\, he has only worked with Python for the past 2-3 years.  He currently works at the Pennsylvania State University.  He has been an avid beekeeper for the past 11 years.  While his work with bees out in the apiary and his projects in Python keep him sane\, for some reason\, he keeps making the same mistakes year after year!</p>
DTEND:20250516T210000Z
LOCATION:Ballroom A
DTSTART:20250516T203000Z
STATUS:CONFIRMED
SUMMARY:[talk] Detecting Honeybee Swarms Using the Integration of OpenCV\, Pandas\, AI\, and PyTorch
TRANSP:OPAQUE
UID:064d2598-0b74-552f-8777-1270881d55c6
URL:https://us.pycon.org/2025/schedule/presentation/20/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: lightning-talks\nName: Lightning Talks\nhttps://us.pycon.org/2025/schedule/presentation/168/\n<p>Lightning talks are a maximum duration of 5 minutes on any topic of interest to other Python people. It doesn't have to be about something that you wrote\, it can be something that you learned\, or a technique you think other people will be interested in.</p>\n<p>Read more about Lightning Talks <a href="/2025/events/lightning-talks/">on our event page</a>.</p>\n<h3>Presenting in this session</h3>\n<p>Order To Be Determined! If you're speaking make sure you are there on time!</p>\n<ul>\n<li>"<strong>Join Humble Data!</strong>" - <em>Laís Carvalho</em></li>\n<li>"<strong>Too many swags!! Let's review the swags so we know who's giving us good stuff</strong>" - <em>Cheuk Ting Ho</em></li>\n<li>"<strong>The power and danger of os.fork</strong>" - <em>Thomas Rutherford</em></li>\n<li>"<strong>Predicting Fire Weather Using Historical RAWS Data</strong>" - <em>Thomas Weiss</em></li>\n<li>"<strong>Enhancing My Archery Practice with Computer Vision</strong>" - <em>Quang Vu</em></li>\n<li>"<strong>Maaah! How I Killed My Site with a Goat Gif</strong>" - <em>Meagen Voss</em></li>\n<li>"<strong>Captioner is Human</strong>" - <em>Vanessa Stanton</em></li>\n<li>"<strong>How much energy will my solar panels produce?</strong>" - <em>Will Lachance</em></li>\n<li>"<strong>Remember to .close() file-like objects</strong>" - <em>Cody Maloney</em></li>\n<li>"<strong>Meta lightning talk</strong>" - <em>Rodrigo Girão Serrão</em></li>\n<li>"<strong>CSnakes: Python in .NET</strong>" - <em>Anthony Shaw</em></li>\n<li>"<strong>Systems\, gates\, and rage</strong>" - <em>Trey Hunner</em></li>\n</ul>\nSpeakers:\nHosted by Abigail\, Chris\, Cristián\, and Lorena\n
DTEND:20250516T230000Z
LOCATION:Hall B
DTSTART:20250516T220000Z
STATUS:CONFIRMED
SUMMARY:[lightning-talks] Lightning Talks
TRANSP:OPAQUE
UID:7911a2fe-90e2-5884-a9a5-ffbca4979c3f
URL:https://us.pycon.org/2025/schedule/presentation/168/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: informational\nName: Registration Desk Closes\n<p>Registration Desk Closes</p>\n
DTEND:20250514T220000Z
LOCATION:Concourse A
DTSTART:20250514T220000Z
STATUS:CONFIRMED
SUMMARY:[informational] Registration Desk Closes
TRANSP:OPAQUE
UID:6e85fee9-7602-5239-9c9e-f4269992c5d7
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Cython in Practice: A Deep Dive into Legacy C Integration and Debugging\nhttps://us.pycon.org/2025/schedule/presentation/56/\n<p>In Cython in Practice\, we'll go over the benefits and challenges of utilizing Cython as a way to utilize legacy C/C++ programs and libraries within Python applications. Cython's capabilities permit users to use Python-like syntax to integrate with existing C code and build their own library and program interfaces accessible from both C and Python. This talk will cover essential tools and workflows for building with Cython and what the interface looks like for integrating with legacy C code\, and how to build and package a Cython extension with Poetry and uv.</p>\n<p>However\, utilizing the full powers of Cython is not without its own set of challenges. The presentation will also provide practical insights into common errors encountered during build and runtime phases while developing in Cython. Attendees will learn how to navigate these issues\, using a detailed account of the specific obstacles faced when wrapping a legacy C library for Python via Cython. We will discuss different memory management and debugging tools\, with a focus on Valgrind\, and how to utilize these tools during development in Cython.</p>\nSpeakers:\nMaryanne Wachter\n<p>Maryanne Wachter is a versatile software developer and design technologist whose career bridges structural engineering and software development. With deep expertise in Python\, she's developed everything from Blender plugins optimized with Cython to full-stack applications. As a structural engineer\, she worked on landmark transportation and cultural projects across three continents\, specializing in unique structural forms like shells\, membranes\, and bending-active structures. Her current work focuses on developing open-source tools for the built environment\, creating sustainable technology solutions\, and building the software she wished existed during her years as a design professional.</p>
DTEND:20250517T181500Z
LOCATION:Ballroom BC
DTSTART:20250517T174500Z
STATUS:CONFIRMED
SUMMARY:[talk] Cython in Practice: A Deep Dive into Legacy C Integration and Debugging
TRANSP:OPAQUE
UID:41bb8d7a-e096-590e-a0e0-18272be62d34
URL:https://us.pycon.org/2025/schedule/presentation/56/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: From Desktop to Browser: Crafting Browser-Native Game Engine with Webassembly\nhttps://us.pycon.org/2025/schedule/presentation/29/\n<p>Have you ever wondered how to turn your Python games into lightning-fast web experiences without compromising speed? In this session\, overcome the browser barrier and learn how to create powerful game engines that smoothly connect desktop and web platforms using Pygame\, pygbag\, and WebAssembly.</p>\n<p>Starting with familiar Pygame foundations\, discover how pygbag transforms Python games into browser-ready experiences. Learn techniques for managing state\, particle effects\, and physics computations with near-native performance. Through live demonstrations\, explore practical strategies for optimizing rendering and maintaining smooth gameplay across different environments.</p>\n<p>By the end of the talk\, learn how to create WebAssembly-powered games that function flawlessly on any platform without sacrificing user experience\, and understand the architectural patterns that enable high-performance browser-based game engines.</p>\nSpeakers:\nNeeraj Pandey\n<p>Neeraj is a polyglot developer passionate about bridging different technologies. Over the years\, he has worked on a variety of full-stack software and data-science applications\, computational arts\, and quantitative finance projects\, embracing the challenge of creating innovative tools and applications. As an active Python community member\, he has shared his expertise through talks and workshops at numerous conferences and meet-ups.</p>
DTEND:20250516T200000Z
LOCATION:Hall C
DTSTART:20250516T193000Z
STATUS:CONFIRMED
SUMMARY:[talk] From Desktop to Browser: Crafting Browser-Native Game Engine with Webassembly
TRANSP:OPAQUE
UID:77a518ae-f6ee-5192-bb05-665bdbfb4a28
URL:https://us.pycon.org/2025/schedule/presentation/29/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: charla\nName: Cómo llevar tus presentaciones técnicas al siguiente nivel con Python + Quarto\nhttps://us.pycon.org/2025/schedule/presentation/62/\n<p>Da lo mismo si trabajas como dev o haciendo ciencia de datos: crear buenas presentaciones es un aspecto clave para dar a conocer lo que haces. Una buena presentación nos permite mostrar la relevancia de nuestro trabajo de una forma clara y convincente\, y destacar el valor de nuestras contribuciones técnicas. En este contexto\, un elemento fundamental de cualquier presentación es un set de slides que se destaque. \nEn esta charla presentaremos 10 simples reglas para crear slides en formato HTML usando Python y Quarto\, un sistema de publicación técnico y científico de código abierto. La audiencia se llevará sugerencias concretas sobre cómo mejorar sus próximo set de slides y el código para implementarlas. </p>\n<p>¿Por qué Quarto?\nQuarto es una excelente herramienta para crear slides sobre contenido técnico porque permite integrar código\, datos y texto en un solo archivo. A lo largo de la presentación nos enfocaremos en la creación de slides en formato HTML\, ya que este tiene características que lo hacen particularmente útil para presentar contenido técnico. Por ejemplo\, ofrece opciones flexibles para mostrar y ocultar código y para ajustar la cantidad de información mostrada\, lo que nos permite crear "capas" de contenido. Así\, es posible presentar ideas claves para una audiencia no técnica y al mismo tiempo incluir código que se muestra solo si es necesario. Incluso\, gracias al poder de WebAssembly + pyodide\, es posible hacer que aparezca un intérprete de Python directamente en nuestra presentación\, para poder hacer una demostración de algo en el momento\, si es necesario. \nTodas estas opciones nos permiten crear presentaciones adaptables a públicos con distintos niveles de experiencia o conocimiento técnico.</p>\nSpeakers:\nRiva Quiroga\n<p>Hi! My name is Riva\, and I'm a Data Scientist / Research Software Engineer based in Valparaíso\, Chile. I am a Software Sustainability Institute Fellow\, a Women Techmakers Ambassador\, and a serial volunteer: I co-organize PyLadies Valparaíso\, serve on the Leadership Team of R-Ladies\, and am an editor at Programming Historian\, among other community-led projects.</p>\n<ul>\n<li>info: https://rivaquiroga.cl/now</li>\n</ul>
DTEND:20250516T183000Z
LOCATION:Room 310/311
DTSTART:20250516T180000Z
STATUS:CONFIRMED
SUMMARY:[charla] Cómo llevar tus presentaciones técnicas al siguiente nivel con Python + Quarto
TRANSP:OPAQUE
UID:dc6ddbd1-8732-575f-8694-8e48527b5998
URL:https://us.pycon.org/2025/schedule/presentation/62/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Selenium with Python using Robot Framework\nhttps://us.pycon.org/2025/schedule/presentation/157/\n<p>Ensuring software quality is more important than ever. In this talk\, we'll explore how to harness the power of Selenium with Python alongside the Robot Framework to create robust and efficient automated tests. As QA engineers\, we face numerous challenges in delivering quality software under tight deadlines\, and integrating these tools can streamline our testing processes. I'll start by understanding the fundamentals of Selenium and Robot Framework\, then walk through setting up our environment and writing our first test suite together. We'll share best practices for maintaining our test scripts and discuss real-world applications demonstrating how these tools can enhance collaboration and improve software quality. By the end of the session\, we’ll be equipped with the knowledge and resources to elevate our automation strategies and foster a quality culture in our development teams.</p>\nSpeakers:\nMonica Oyugi\n<p>Monica Oyugi is a Quality Assurance Engineer\, speaker\, and active participant in the software industry. With a deep passion for coding\, she finds great satisfaction in solving practical problems through software development. Monica specializes in Quality Assurance and Developer Relations\, constantly seeking dynamic opportunities to contribute to business success and foster a positive work environment. In addition to her professional endeavors\, she holds leadership positions in various tech communities\, including organizing API Festival Nairobi\, Organizing Pycon Kenya\, serving as a marketing associate for Droidcon Kenya\, and X lead She Codes Nairobi. Through these roles\, Monica drives collaboration\, innovation\, and community growth while networking with fellow professionals. Her ultimate goal is to leverage her skills and experiences to make a meaningful impact in the tech industry. She actively participates in initiatives promoting diversity\, inclusion\, and knowledge sharing within the tech community\, aiming to drive success and create positive change.</p>
DTEND:20250517T204500Z
LOCATION:Ballroom BC
DTSTART:20250517T201500Z
STATUS:CONFIRMED
SUMMARY:[talk] Selenium with Python using Robot Framework
TRANSP:OPAQUE
UID:c26dd0f0-5088-5a0c-8d7c-2cd7b0aba927
URL:https://us.pycon.org/2025/schedule/presentation/157/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: plenary\nName: Welcome\n<p>Welcome</p>\n
DTEND:20250516T132500Z
LOCATION:Hall B
DTSTART:20250516T130000Z
STATUS:CONFIRMED
SUMMARY:[plenary] Welcome
TRANSP:OPAQUE
UID:3d930c8b-a9eb-525d-8dcd-ff696fd2e68a
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: tutorials\nKind: tutorial\nName: NanoDash: Writing an Interactive Web Framework from Scratch\nhttps://us.pycon.org/2025/schedule/presentation/89/\n<p>This tutorial will demonstrate how interactive web dashboard frameworks like Plotly Dash work\, by building a simplified version of Dash itself from scratch using Python\, the Flask framework\, and just a little bit of vanilla JavaScript. Along the way\, we will introduce some key elements of event-driven programming\, discuss client-server communication\, and demonstrate some ways to make debugging a little less painful.</p>\nSpeakers:\nMartha Cryan\n<p>Martha Cryan is a software engineer at Plotly\, where she works on open source libraries (including Dash). She is a distinguished contributor to the Jupyter project\, dog-mom to Lou\, and lives in Austin\, TX.</p>\nEmily Kellison-Linn\n<p>Emily is a software engineer at Plotly\, where she works on open-source data visualization libraries\, including Plotly.js\, Plotly.py\, and Dash. She has been programming in Python for many years\, and her interests include design\, data visualization\, linguistics\, and music. She lives in Montréal\, Québec.</p>
DTEND:20250514T210000Z
LOCATION:Room 321
DTSTART:20250514T173000Z
STATUS:CONFIRMED
SUMMARY:[tutorial] NanoDash: Writing an Interactive Web Framework from Scratch
TRANSP:OPAQUE
UID:12f18104-36a2-5810-a811-e616e5314449
URL:https://us.pycon.org/2025/schedule/presentation/89/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: sponsor-presentations\nKind: sponsor-workshop\nName: Reviewing another year of security partnership between the PSF and Alpha-Omega\nhttps://us.pycon.org/2025/schedule/presentation/153/\n<p>Alpha-Omega's mission is to protect society by catalyzing sustainable security improvements to the most critical open source software projects and ecosystems. Funded by Amazon AWS\, Google\, Microsoft\, and Citi\, Alpha-Omega has partnered with the Python Software Foundation to support two critical security-focused roles for the Python Ecosystem. Last year's talk with Seth Larson and Michael Winser was the origin story of this effort and showed the road ahead. This year's talk will be at least 50% more interesting and entertaining because we're adding Mike Fiedler. Together we have a lot to talk about.</p>\n<p>Michael Winser is the co-founder of Alpha-Omega. Seth Larson is the Python Security Developer in Residence and Mike Fiedler is the PyPI Safety and Security Engineer.</p>\nSpeakers:\nSeth Michael Larson\n<p>Security Developer-in-Residence and Fellow of the Python Software Foundation\, Minnesoootan</p>\nMichael Winser\n<p>Michael Winser has been creating and delivering software applications since 1984. He has worked on everything from Internet Explorer and Google Cloud to the kitchen sink (well\, kitchen design software). Michael’s experience spans over 25 years at Google and Microsoft and more than a decade of startups. Today Michael helps organizations with product strategy\, developer ecosystems\, open source\, and software supply chain security.</p>\n<p>When not playing with computers Michael enjoys wingfoiling\, skating\, skiing\, and spending time with his family.</p>\nMike Fiedler\n<p>With over three decades of experience as a professional engineer\, Mike has amassed a wealth of knowledge and expertise in his field. Throughout his career\, he has sought to learn from every colleague he's worked with\, and in turn\, has taught many others. He has held senior leadership roles at companies such as Datadog\, MongoDB\, LeafLink\, Warby Parker\, and Paribus (Capital One) to name a few.</p>\n<p>Mike has been a speaker at conferences since 2012\, and has been recognized for his contributions to the tech community with awards such as the Awesome Community Chef Award in 2016 and an AWS Container Hero since 2018.</p>\n<p>Currently working as the PyPI Safety &amp\; Security Engineer at the Python Software Foundation\, he devotes his free time to working on open source tools\, learning new technologies\, and volunteering as a roller derby referee. With a holistic view of systems and software and a passion for problem-solving\, Mike helps others navigate the complexities of the tech world.</p>\n<p>He can be found on <a href="https://hachyderm.io/@miketheman">Mastodon</a>\, <a href="https://github.com/miketheman">GitHub</a>\, or wearing stripes at a roller derby game near you.</p>
DTEND:20250515T203000Z
LOCATION:Room 309
DTSTART:20250515T193000Z
STATUS:CONFIRMED
SUMMARY:[sponsor-workshop] Reviewing another year of security partnership between the PSF and Alpha-Omega
TRANSP:OPAQUE
UID:5c2b23de-4bad-58ee-a4b3-f22f3b9cfd7d
URL:https://us.pycon.org/2025/schedule/presentation/153/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: charla\nName: Transformando Gafas en Asistentes Inteligentes: Open Source Vision Language Models\nhttps://us.pycon.org/2025/schedule/presentation/11/\n<p>En esta charla\, aprenderemos cómo transformar unas gafas comunes en un Asistente Inteligente por menos de 30 dólares\, utilizando hardware accesible y modelos Open Source. Aprovecharemos los Vision Language Models (VLM)\, una tecnología que integra visión por computadora y procesamiento del lenguaje natural para crear inteligencia artificial multimodal\, capaz de analizar imágenes y texto simultáneamente y generar respuestas en lenguaje natural.</p>\n<p>Exploraremos el origen y desarrollo de los Open VLMs\, analizando su impacto\, evolución y el enorme potencial que representan. Profundizaremos en su arquitectura\, componentes esenciales y aplicaciones prácticas. Los asistentes aprenderán a crear sus propias gafas inteligentes\, conociendo los requisitos técnicos necesarios\, y podrán interactuar con varios prototipos funcionales disponibles durante la charla. Esto les permitirá probar las gafas en tiempo real y experimentar de primera mano como estos modelos responden y se adaptan a diversos escenarios. Además\, se ofrecerá una guía práctica para configurar los modelos\, realizar inferencias en sus computadoras y optimizarlos para funcionar con menos de 3 GB de memoria\, haciendo esta tecnología más accesible y replicable para todos.</p>\n<p>Finalmente\, exploraremos los desafíos actuales en la implementación de estos sistemas\, incluyendo la optimización del uso de memoria y el desarrollo de técnicas de cuantización más eficientes. A partir de este análisis\, reflexionaremos sobre el futuro de estas tecnologías en aplicaciones de inteligencia artificial\, subrayando el papel clave de la colaboración en la comunidad Open Source. Concluiremos destacando el potencial transformador de estos dispositivos y su capacidad para redefinir nuestra interacción con el entorno en la vida cotidiana.</p>\nSpeakers:\nAlejandro Núñez Arroyo\n<p>Alejandro Núñez Arroyo es Ingeniero Mecatrónico con más de tres años de experiencia en la ejecución de proyectos basados en inteligencia artificial. Actualmente\, se desempeña como Investigador en Inteligencia Artificial en Fogsphere\, una empresa con sede en el Reino Unido\, donde se especializa en modelos multimodales.</p>\n<p>Su trayectoria incluye proyectos en visión por computadora y modelos de lenguaje. Como líder activo en la comunidad tecnológica\, Alejandro es organizador del Google Developers Group Sucre\, donde coordina eventos enfocados en inteligencia artificial. </p>\n<p>Participó en la primera hackathon de inteligencia artificial en Latinoamérica organizada por OpenAI en Chile\, así como en varias ediciones de la hackathon de LLAMA de Facebook. Apasionado por la robótica\, ha representado a Bolivia en prestigiosas competencias internacionales como el FIRST Global Challenge en Washington\, D.C. y Atenas\, y el NASA Human Exploration Rover Challenge en Huntsville.</p>\n<p>Actualmente\, comparte su conocimiento en inteligencia artificial a través de blogs en Medium\, videos educativos en YouTube\, y mediante charlas y talleres en comunidades locales e internacionales en Bolivia\, Perú\, Guatemala y Colombia. Su trabajo refleja un compromiso constante con la difusión tecnológica y la formación de nuevos talentos en el campo de la inteligencia artificial.</p>
DTEND:20250517T194500Z
LOCATION:Room 310/311
DTSTART:20250517T191500Z
STATUS:CONFIRMED
SUMMARY:[charla] Transformando Gafas en Asistentes Inteligentes: Open Source Vision Language Models
TRANSP:OPAQUE
UID:a1dd06e9-8496-580e-835e-976fb50a75c2
URL:https://us.pycon.org/2025/schedule/presentation/11/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: posters\nKind: poster\nName: Posters Session\n<p><a href="https://us.pycon.org/2025/schedule/posters/list/">Posters</a></p>\n
DTEND:20250518T170000Z
LOCATION:Hall A
DTSTART:20250518T140000Z
STATUS:CONFIRMED
SUMMARY:[poster] Posters Session
TRANSP:OPAQUE
UID:1b413f27-78b3-5590-b052-baefbc1465d9
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Beautiful and Balanced: Using Color Theory in Data Visualization\nhttps://us.pycon.org/2025/schedule/presentation/71/\n<p>You have just made the most aesthetically pleasing pie chart in the history of data viz - but has your color palette inadvertently introduced a bias to the data you're presenting? </p>\n<p>Our brains interpret color contextually: proximity to other colors changes the way we perceive a particular color\, making it appear darker or lighter\, more prominent or more demure. When presenting data visually\,  it's important to choose color palettes which do not skew the viewer's perception of the data relationships you're illustrating. </p>\n<p>In this talk\, we'll take a peek at some basic color theory based on the work of Josef Albers\, look at what color weight is\, and how you can use it to evaluate your palette choices. We'll learn why those gorgeous palettes created by graphic designers may not be the best choices for your data visualizations\, and present some strategies for choosing color palettes that keep your data presentation both unbiased and visually pleasing.</p>\n<p>This is a tool-agnostic talk: you can apply these techniques with any data visualization package or tool which allows you to specify a color palette.</p>\nSpeakers:\nLaura Fisher\n<p>I'm an artist and designer\, living and working in downtown Los Angeles. I create work in traditional media like oil paint\, and in modern media like code. I am learning data visualization as a fun way to use both these skill sets simultaneously.</p>\n<p>Website: https://mitten.lol</p>\n<p>Fediverse: @mitten@social.lol</p>
DTEND:20250516T200000Z
LOCATION:Ballroom BC
DTSTART:20250516T193000Z
STATUS:CONFIRMED
SUMMARY:[talk] Beautiful and Balanced: Using Color Theory in Data Visualization
TRANSP:OPAQUE
UID:407ed4d0-c606-5251-b0e3-2354489a3ef3
URL:https://us.pycon.org/2025/schedule/presentation/71/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Notes\, Groups and Stars: exceptional new features of Python 3.11!\nhttps://us.pycon.org/2025/schedule/presentation/96/\n<p>Notes\, Groups\, and Stars aren't just for concerts - they're also <em>exception</em>-ally useful features for error handling\, new in Python 3.11!</p>\n<p>In this talk\, we'll explore a neglected corner of Python: exceptions and error handling!  What would we like Python to do for us\, when our programs do something we didn't expect?  How can we help other programmers understand failures in our code?  </p>\n<p>We'll take a broad view\, starting from fundamentals like exceptions vs return values\, before zooming through a history of tracebacks and chaining\, and arriving at the glorious present with <code>.add_note()</code>\, <code>ExceptionGroup</code>\, and <code>except*</code>.  You'll leave not just educated but enthused and excited - but perhaps even a ten-<code>ex</code> except-star developer!</p>\nSpeakers:\nZac Hatfield-Dodds\n<p>I'm a member of technical staff at Anthropic\; and in my spare time I maintain OSS libraries\, read books\, hike\, and enjoy dark chocolate!  You can read more about me at https://zhd.dev/.</p>
DTEND:20250517T194500Z
LOCATION:Room 301-305
DTSTART:20250517T191500Z
STATUS:CONFIRMED
SUMMARY:[talk] Notes\, Groups and Stars: exceptional new features of Python 3.11!
TRANSP:OPAQUE
UID:8817ace8-2144-5954-a8d2-79beb84985e2
URL:https://us.pycon.org/2025/schedule/presentation/96/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Reinventing the Wheel:  A Community-Driven Roadmap for Python Packaging\nhttps://us.pycon.org/2025/schedule/presentation/100/\n<h2>Abstract</h2>\n<p>The Python ecosystem thrives on innovation\, adaptability\, versatility and a thriving open-source community. Python’s reach continues to evolve\, fueled today by custom silicon\, variations within CPU architecture families\, AI accelerators\, and diverse use cases.  The Wheel format and packaging tools should adapt and evolve to better support the Python community.</p>\n<p>We’ll review the most potent challenges in the Python packaging ecosystem\, and present our roadmap for adapting the Wheel format to enable native support for specialized hardware\, the use of non-default Python package indexes\, and managing diverse compute backends\, all while maintaining the accessibility and simplicity Python is known for.  We'll issue a call to action from the open source community\, supported by important libraries such as PyTorch\, JAX\, Scikit-learn\, etc.  This is a unified roadmap for the future of Python packaging\, and present published and draft PEPs.</p>\n<h1>Description</h1>\n<p>Managing software stacks in complex compute environments is difficult.  Often the standard wheel tags aren’t sufficient to describe your exact compute environment.  These are common problems for many users\, are often difficult to remedy\, and even more difficult to make reproducible\, easy to use\, and composable.</p>\n<p>We propose to “Re-Invent the Wheel” and have founded the “Wheel Next” interest group as an open source collaboration among different users\, companies\, packages\, and maintainers that are working together on solutions to these difficult problems.  We are actively publishing PEPs that extend the Wheel format\, metadata\, packaging tooling\, and PyPI standards\, and contribute to projects that help with various aspects of the problem space\, including installers and indexes.</p>\n<p>In addition\, we’ll give a call to action for everyone interested in joining the initiative and helping us evolve and build the packaging ecosystem the Python world needs today and in the future.</p>\nSpeakers:\nJonathan Dekhtiar\n<p>Jonathan Dekhtiar has been contributing to many Deep Learning libraries\, compilers and frameworks since 2019. At NVIDIA\, he played a key role in designing Python software and libraries release mechanisms and solving packaging challenges for GPU-accelerated Python code. As a driving and founding force behind the Wheel-Next initiative\, Jonathan has dedicated significant energy to advance this open-source effort with the community and is actively working on proof of concepts\, demos and on the writing of PEPs. </p>\n<p>Previous Talk and Conferences:\n- CVPR 2020 - Workshop Chair - https://workshop-edlcv.github.io/\n- ICML 2019 - Workshop Chair - https://icml.cc/virtual/2019/workshop/3520\n- ICML 2019 - Automatic Mixed Precision Training &amp\; Inference: https://slideslive.com/38917378/mixed-precision-training-inference</p>\nBarry Warsaw\n<p>Barry Warsaw has been a core Python developer since 1994\, and is currently employed as a Principle System Software Engineer at NVIDIA where he works on Wheel-Next and other Python-focused initiatives\, both inside the company and in the Open Source community.  He has served as Release Manager and Python Steering Council member in 2019\, 2020\, 2021\, 2024\, and 2025.  He’s both organized and participated in the annual Python Language Summit at PyCon US.  He was the GNU Mailman and Jython/JPython project leader at various times\, and in the early days of Python served as postmaster\, webmaster\, and more.</p>\n<p>Barry has spoken at Pycon many times in the past:</p>\n<ul>\n<li>2012 - <a href="https://pyvideo.org/pycon-us-2012/mailman-3.html">GNU Mailman 3</a>  </li>\n<li>2016 - <a href="https://pyvideo.org/kiwi-pycon-2016/tai-chi-principles-for-mindful-programmers.html">Kiwi PyCon Keynote - Tai Chi Principles for Mindful Programmers</a>  </li>\n<li>2017 - <a href="https://us.pycon.org/2017/schedule/presentation/147/">aiosmtpd - A better asyncio based SMTP server</a>  </li>\n<li>2018 - <a href="https://www.youtube.com/watch?v=ZsGFU2qh73Eyour%20resources%20faster\,%20with%20importlib.resources">Get your resources faster\, with importlib.resources</a>  </li>\n<li>Various Steering Council Keynote sessions</li>\n</ul>
DTEND:20250518T173000Z
LOCATION:Ballroom BC
DTSTART:20250518T170000Z
STATUS:CONFIRMED
SUMMARY:[talk] Reinventing the Wheel:  A Community-Driven Roadmap for Python Packaging
TRANSP:OPAQUE
UID:01b0ece8-f331-5512-a75c-a2633b506585
URL:https://us.pycon.org/2025/schedule/presentation/100/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Using Rust in Free-Threaded vs Regular Python 3.13\nhttps://us.pycon.org/2025/schedule/presentation/110/\n<p>Python 3.13's <a href="https://peps.python.org/pep-0703/">new free-threaded build</a> brings the possibility of true parallel execution into Python code for the first time.</p>\n<p>This brings promise of significant performance opportunity\, but not without cost. Parallel execution is notorious for being challenging due to the additional complexity. This implies bugs\, and the risk is particularly high for the compiled code powering Python - including the CPython interpreter itself (it's written in C). The main risk comes from <strong>data races</strong>\, which can cause unpredictable and potentially dangerous crashes.</p>\n<p>The Rust programming language is designed to prevent data races by construction\; if your code runs\, it <em>should</em> be data race free (unless you misuse <code>unsafe</code> Rust).</p>\n<p>We'll explore the way that Rust does this\, both from the rules of the language\, and by the data structures it offers to complement those rules. We'll showcase this with examples of Rust (<a href="https://pyo3.rs/v0.23.3/">PyO3</a>) code designed for "regular" Python 3.13 and how it changes to become compatible with the free-threaded build.</p>\n<p>This will lead onto ideas which we can carry across languages to influence how we write Python (and maybe C/C++) to be correct in a free-threaded world\, before closing with some tantalizing examples of software architectures made possible by free-threaded Python.</p>\n<p>No prior Rust knowledge necessary.</p>\n<p>What you should hope to take away from this talk:\n- a basic understanding of how the free-threaded build of Python is different to the regular one\,\n- an appreciation for the complexity of free-threading for compiled code\,\n- how Rust helps you reason about this complexity\, and\n- excitement for the future of free-threaded Python!</p>\nSpeakers:\nDavid Hewitt\n<p>-</p>
DTEND:20250516T161500Z
LOCATION:Hall C
DTSTART:20250516T154500Z
STATUS:CONFIRMED
SUMMARY:[talk] Using Rust in Free-Threaded vs Regular Python 3.13
TRANSP:OPAQUE
UID:6c2adc87-91d0-56a3-809e-dab65d517dbd
URL:https://us.pycon.org/2025/schedule/presentation/110/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: break\nName: Break\n<p>Break</p>\n
DTEND:20250517T201500Z
LOCATION:Hall C\, Ballroom A\, Ballroom BC\, Room 301-305\, Room 310/311
DTSTART:20250517T194500Z
STATUS:CONFIRMED
SUMMARY:[break] Break
TRANSP:OPAQUE
UID:d850a1dd-f50d-54ff-9303-ada59f1b4905
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: break\nName: Breakfast\n<p>Breakfast</p>\n
DTEND:20250518T130000Z
LOCATION:Outside of Hall B
DTSTART:20250518T120000Z
STATUS:CONFIRMED
SUMMARY:[break] Breakfast
TRANSP:OPAQUE
UID:22de3257-778e-5f1e-b4e9-84c844967a4f
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: posters\nKind: poster\nName: Improving in Chess using Python\nhttps://us.pycon.org/2025/schedule/presentation/108/\n<p>Chess\, one of the most iconic board games in history\, has a global community nearing a billion players. With the help of powerful chess engines\, computers have democratized access to advanced chess analysis tools - tools that even top grandmasters use to analyze and improve their games.  </p>\n<p>The good news is that these top chess engines are free\, and as Python programmers\, we can utilize them to enhance our own chess skills. Chess positions and moves are denoted using standard notations like PGN and FEN\, making it easier to analyze and visualize them programmatically.  </p>\n<p>This poster will explore how to use Python to:\n- Parse chess games using the <code>python-chess</code> library.<br />\n- Analyze games with the help of chess engines to identify mistakes and learn from them.<br />\n- Visualize games and positions using the <code>chess-board</code> library.</p>\nSpeakers:\nAdarsh Divakaran\n<p>Adarsh is a Python geek and an experienced Backend Developer with expertise in building APIs using Python. He is currently the Co-founder and Lead Backend Engineer at <a href="https://lexoga.com">Lexoga</a> and works on building a job platform for the AI-first world.</p>\n<p>Adarsh started his Speaker journey by presenting at GraphQL Summit ‘22 and has spoken at various international Python conferences\, including Pycascades\, Europython\, PiterPy\, Djangocon US\, and Flaskcon.</p>\n<p>Explore his professional journey and insights on his <a href="https://adarshd.dev">personal website</a> and <a href="https://blog.adarshd.dev">blog</a>.</p>
DTEND:20250518T170000Z
LOCATION:Hall A
DTSTART:20250518T140000Z
STATUS:CONFIRMED
SUMMARY:[poster] Improving in Chess using Python
TRANSP:OPAQUE
UID:7ddbb3a5-9226-5fb7-bdcd-f1b1aaecf48c
URL:https://us.pycon.org/2025/schedule/presentation/108/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: sponsor-presentations\nKind: sponsor-workshop\nName: Building Scalable AI Tool Servers with Model Context Protocol (MCP) and Heroku (Sponsor: Heroku)\nhttps://us.pycon.org/2025/schedule/presentation/3/\n<p>Large Language Models (LLMs) become vastly more powerful when given the ability to call external tools to gather information and take real-world actions - such as querying APIs\, modifying databases\, or kicking off workflows. This talk explores how to build and scale these tool servers using Python and the Model Context Protocol (MCP).</p>\n<p>MCP is an open-source protocol that provides a standardized request format and response structure for LLMs interacting with external tools\, ensuring consistency while allowing flexible execution under the hood. We’ll walk through implementing an MCP-compliant tool server in Python\, covering topics like transport types\, the connection lifecycle\, and best practices.</p>\n<p>LLM tool servers must handle increasing traffic efficiently\, requiring strategies for load balancing\, container orchestration\, and cloud deployment. We’ll discuss scaling Python services horizontally using load balancing and container orchestration. This includes practical considerations for deploying on 12-Factor App platforms like Heroku.</p>\n<p>Through live coding\, we’ll implement\, deploy\, and scale an MCP-compliant tool server using Python. We’ll also demonstrate how an LLM can interact with MCP tool servers\, enabling you to build powerful\, API-driven AI agents.</p>\n<p>Attendees will gain hands-on knowledge of building\, deploying\, and scaling Python-based MCP tool servers and AI agents\, made simple with Heroku’s streamlined deployment process.</p>\nSpeakers:\nHillary Sanders\n<p>-</p>\nKen Alger\n<p>-</p>
DTEND:20250515T203000Z
LOCATION:Room 315
DTSTART:20250515T193000Z
STATUS:CONFIRMED
SUMMARY:[sponsor-workshop] Building Scalable AI Tool Servers with Model Context Protocol (MCP) and Heroku (Sponsor: Heroku)
TRANSP:OPAQUE
UID:bf8d3ce7-6778-5d87-a7f9-67e16dabc7c3
URL:https://us.pycon.org/2025/schedule/presentation/3/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: summit\nName: Education Summit\, pre-registration required\n<p>Education Summit\, pre-registration required</p>\n
DTEND:20250515T203000Z
LOCATION:Room 403/404
DTSTART:20250515T130000Z
STATUS:CONFIRMED
SUMMARY:[summit] Education Summit\, pre-registration required
TRANSP:OPAQUE
UID:7cf3e113-9221-52a0-befd-c30770fd12df
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: informational\nName: Swag Pickup Opens\n<p>Swag Pickup Opens</p>\n
DTEND:20250516T130000Z
LOCATION:Hall A
DTSTART:20250516T130000Z
STATUS:CONFIRMED
SUMMARY:[informational] Swag Pickup Opens
TRANSP:OPAQUE
UID:95ba750f-3401-5813-9a8c-17df0e3000c8
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Processing large JSON files without running out of memory\nhttps://us.pycon.org/2025/schedule/presentation/125/\n<p>If you need to process a large JSON file in Python\, it’s very easy to run out of memory while loading the data\, leading to a super-slow run time or out-of-memory crashes. If you're running in the cloud\, you can get a machine with more memory\, but that means higher costs. How can you process these large files without running out of memory?</p>\n<p>In this talk you'll learn:</p>\n<ul>\n<li>How to measure memory usage.</li>\n<li>Some of the reasons why loading JSON uses so much memory.</li>\n</ul>\n<p>Then\, you'll learn some of the solutions to this problem:</p>\n<ul>\n<li>Using a more efficient in-memory representation.</li>\n<li>Only loading the subset of the data you need.</li>\n<li>Streaming parsing\, which can parse arbitrarily-large files with a fixed amount of memory.</li>\n<li>Using a different file format\, like JSON Lines.</li>\n</ul>\nSpeakers:\nItamar Turner-Trauring\n<p>-</p>
DTEND:20250518T173000Z
LOCATION:Ballroom A
DTSTART:20250518T170000Z
STATUS:CONFIRMED
SUMMARY:[talk] Processing large JSON files without running out of memory
TRANSP:OPAQUE
UID:b30256b4-082a-5d1a-9cef-8e13e9b9c050
URL:https://us.pycon.org/2025/schedule/presentation/125/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: charla\nName: NLP para la preservación del lenguaje indígena Quechua\nhttps://us.pycon.org/2025/schedule/presentation/59/\n<h3><em>NLP para la preservación del lenguaje indígena Quechua en Bolivia</em></h3>\n<p>El quechua\, hablado por más de 2.8 millones de personas en Bolivia\, es uno de los idiomas indígenas más importantes del país. Sin embargo\, enfrenta serias amenazas debido a la modernización y la globalización. Esta charla explora cómo las técnicas de Procesamiento de Lenguaje Natural (NLP) pueden ser una herramienta crucial para la revitalización y preservación del quechua\, asegurando su uso en el ámbito digital y su transmisión a futuras generaciones.</p>\n<h4>Contenido principal:</h4>\n<ul>\n<li><strong>Contexto y relevancia:</strong> En Bolivia\, el 21% de la población habla quechua\, lo que lo convierte en un idioma vital para la cultura del país. Sin embargo\, el uso del quechua está en declive\, especialmente entre los jóvenes.</li>\n<li>\n<p><strong>Datos lingüísticos en quechua:</strong> Existen pocos recursos digitales y corpus disponibles en quechua\, lo que dificulta la creación de tecnologías lingüísticas. Sin embargo\, algunos esfuerzos están comenzando a surgir en la comunidad.</p>\n</li>\n<li>\n<p><strong>Desafíos técnicos:</strong> Los modelos preentrenados para lenguas de bajo recurso como el quechua siguen siendo un reto debido a la falta de datos estructurados y herramientas de procesamiento.</p>\n</li>\n<li><strong>Impacto social y cultural:</strong> La preservación del quechua a través de tecnologías NLP puede tener un impacto significativo en comunidades bolivianas\, promoviendo el acceso a la información en su lengua materna y mejorando la visibilidad de su cultura.</li>\n</ul>\n<h4>Objetivo:</h4>\n<p>Inspirar a la comunidad de Python y NLP a participar en proyectos que utilicen la tecnología para revitalizar el quechua en Bolivia\, un idioma con una rica herencia cultural que necesita urgentemente soluciones digitales para su preservación y expansión.</p>\nSpeakers:\nCarla Marcela Florida Román\n<p><em>Carla</em> es una apasionada de la Inteligencia Artificial con una destacada participación en comunidades locales e internacionales de Machine Learning y Data Science. Su trayectoria incluye su labor como investigadora en el Instituto de Inteligencia Artificial de la Universidad Privada Boliviana y su rol como Head of AI en Dapta. Actualmente\, Carla es profesora en Platzi\, donde cuenta con cursos de Python e inteligencia artificial. Carla también es cofundadora de Menti Academy\, una academia de enseñanza online para niños. Además\, Women Techmaker Ambassador y creadora de contenido en redes sociales como TikTok e Instagram a través de su comunidad CarliCode\, donde ayuda a las personas a iniciarse en la programación\, especialmente en Python y en inteligencia artificial.</p>
DTEND:20250517T163000Z
LOCATION:Room 310/311
DTSTART:20250517T160000Z
STATUS:CONFIRMED
SUMMARY:[charla] NLP para la preservación del lenguaje indígena Quechua
TRANSP:OPAQUE
UID:f0c79aa1-3202-50aa-8c5a-4f67d64891d8
URL:https://us.pycon.org/2025/schedule/presentation/59/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: tutorials\nKind: tutorial\nName: Build a Synthesizer with Python\nhttps://us.pycon.org/2025/schedule/presentation/19/\n<p>This tutorial aims to break down the abstractions that make up a synthesizer by building one using Python\, its scientific computing libraries\, &amp\; Librosa. We will discuss how to build the basic components that make up a modern digital synth from scratch! In the process\, learn some DSP and audio programming concepts! By the end\, you’ll be able to make your own tunes with Python! We will start with theory\, then work through Jupyter notebooks both individually and as a group.</p>\n<p>This tutorial will be a lot of fun if you’re a musically inclined Python programmer. As someone interested in music\, you will discover the components that make up a synthesizer by literally building &amp\; making music with it and as someone interested in Python\, you’ll learn a lot about audio programming and signal processing techniques.</p>\nSpeakers:\nSangarshanan\n<p>My name is Sangarshanan and I am a Software Engineer from planet Earth. I love making stuff that helps and amuses me in equal measure and standing upside down while holding a banana. When I'm bored you can find me making absurdist memes\, yet another spotify playlist or staring straight into the void</p>
DTEND:20250515T210000Z
LOCATION:Room 320
DTSTART:20250515T173000Z
STATUS:CONFIRMED
SUMMARY:[tutorial] Build a Synthesizer with Python
TRANSP:OPAQUE
UID:163990cd-9f59-57e1-acf2-23648195c146
URL:https://us.pycon.org/2025/schedule/presentation/19/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: charla\nName: Diseñando y Construyendo Teclados ⌨️ Personalizados con Python\nhttps://us.pycon.org/2025/schedule/presentation/10/\n<p>Como programadores\, pasamos mucho tiempo tecleando\, pero a menudo pasamos por alto cómo el diseño de nuestros teclados afecta nuestra comodidad y productividad. En esta charla\, exploraremos los teclados personalizados y cómo Python puede ayudarnos a crear nuestras propias experiencias de typing.</p>\n<p>Comenzaremos analizando la historia del diseño de teclados y las limitaciones de las distribuciones estándar como el QWERTY. Luego\, hablaremos de las ventajas de distribuciones alternativas\, como diseños ortolineales y split/divididos\, que pueden ayudar a reducir la tensión y mejorar la velocidad de escritura.</p>\n<p>A continuación\, revisaremos cómo diseñar el PCB (placa de circuito impreso) de un teclado personalizado y aprenderemos a utilizar herramientas de Python como GDSFactory. Aprenderás a colocar las teclas según la forma de tus manos y a crear una distribución que se enfoque en las teclas que más utilizas en tus lenguajes de programación preferidos.</p>\n<p>Una vez que tengamos el diseño del PCB\, pasaremos a la construcción de nuestro teclado personalizado. Cubriremos los aspectos básicos del ensamblaje para convertir nuestro diseño en un dispositivo real. Finalmente\, hablaremos sobre cómo adaptarnos a nuestra nueva distribución de teclado. Veremos herramientas en línea y scripts de Python para analizar nuestros hábitos de mecanografía\, ayudándonos a identificar nuestras teclas más comunes y a monitorear nuestro progreso mientras reentrenamos nuestros dedos.</p>\n<p>No se requiere experiencia previa en construcción de teclados o diseño de PCB\; solo trae tu curiosidad y ganas de crear una experiencia de escritura personalizada. Al final de esta charla\, sabrás cuestionar el diseño de tu teclado actual y quizá te animes a construir y mejorar tu propio teclado personalizado usando Python.</p>\nSpeakers:\nCarlos A Aranibar\n<p>Carlos Aranibar is a Data Scientist 📊 from Bolivia 🇧🇴 who now lives in Chicago.</p>\n<p>He has a background in Economics and Statistics and holds a Master's in Data Science.\nCarlos is skilled in querying data\, process optimization\, and automation.\nHe loves to learn and actively participates in multiple Meetups\, discussing new developments in tech/software/data. Carlos is also a volunteer for PostgreSQL.</p>\n<p>Fluent in both English and Spanish!</p>\n<p><a href="https://www.linkedin.com/in/carlos-aranibar/">Carlos' LinkedIn</a>\, feel free to reach out!</p>
DTEND:20250516T210000Z
LOCATION:Room 310/311
DTSTART:20250516T203000Z
STATUS:CONFIRMED
SUMMARY:[charla] Diseñando y Construyendo Teclados ⌨️ Personalizados con Python
TRANSP:OPAQUE
UID:24e53689-8364-5252-8f24-c461d661e1c5
URL:https://us.pycon.org/2025/schedule/presentation/10/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: plenary\nName: [Job Fair and Community Showcase](https://us.pycon.org/2025/events/job-fair/)\n<p><a href="https://us.pycon.org/2025/events/job-fair/">Job Fair and Community Showcase</a></p>\n
DTEND:20250518T170000Z
LOCATION:Hall A
DTSTART:20250518T140000Z
STATUS:CONFIRMED
SUMMARY:[plenary] [Job Fair and Community Showcase](https://us.pycon.org/2025/events/job-fair/)
TRANSP:OPAQUE
UID:d7b65d1b-5fbc-53c3-b8c8-a538cb3d070a
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: break\nName: Breakfast\n<p>Breakfast</p>\n
DTEND:20250516T130000Z
LOCATION:Outside of Hall B
DTSTART:20250516T113000Z
STATUS:CONFIRMED
SUMMARY:[break] Breakfast
TRANSP:OPAQUE
UID:3d04c8a6-cc47-53ca-acab-6be3481dca5f
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: tutorials\nKind: tutorial\nName: Reimplementing the module `itertools` for fun and profit\nhttps://us.pycon.org/2025/schedule/presentation/93/\n<p>In this hands-on tutorial we will reinvent the wheel and implement the module <code>itertools</code> in plain Python.</p>\n<p>We'll do that because that will teach us a lot about Python:</p>\n<ul>\n<li>how generators and lazy iteration work\;</li>\n<li>the difference between iterables and iterators\;</li>\n<li>what the built-ins <code>iter</code> and <code>next</code> do\;</li>\n<li>how Python handles iteration and <code>for</code> loops under the hood\;</li>\n<li>what the iterator protocol is\;</li>\n<li>how the dunder methods <code>__iter__</code> and <code>__next__</code> play a part in all this\; and</li>\n<li>we'll also learn about the functions inside <code>itertools</code>\, a module with plenty of useful tools for your day-to-day iterations.</li>\n</ul>\n<p>And most importantly\, we'll do it because it's genuinely fun!</p>\nSpeakers:\nRodrigo Girão Serrão\n<p>Rodrigo Girão Serrão is the author of <a href="https://mathspp.com/books">multiple independently published books</a> on Python\, programming\, and mathematics\, and <a href="https://mathspp.com/blog">frequently blogs</a> about those same topics.\nRodrigo has also <a href="https://mathspp.com/talks">presented talks and tutorials at some of the largest Python conferences in the world</a>\, including PyCon US\, EuroPython\, and multiple European PyCons.</p>\n<p>As a fun fact\, Rodrigo also <a href="https://mathspp.com/blog/teaching-the-worlds-largest-programming-lesson">taught “the largest programming lesson in the world”</a>\, a Guinness World Record established in late 2024.</p>\n<p>When he is not working or writing\, Rodrigo can be found playing board games\, walking his dog\, or exercising at the gym.</p>
DTEND:20250515T210000Z
LOCATION:Room 310/311
DTSTART:20250515T173000Z
STATUS:CONFIRMED
SUMMARY:[tutorial] Reimplementing the module `itertools` for fun and profit
TRANSP:OPAQUE
UID:2c6e5af1-5b9d-5891-90d2-786607a2882e
URL:https://us.pycon.org/2025/schedule/presentation/93/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: sponsor-presentations\nKind: sponsor-workshop\nName: sponsor-workshop\n\n
DTEND:20250515T163000Z
LOCATION:Room 315
DTSTART:20250515T153000Z
STATUS:CONFIRMED
SUMMARY:[sponsor-workshop] sponsor-workshop
TRANSP:OPAQUE
UID:c64e6ce6-4549-5b73-ab53-6746ec8714af
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Tips and Tricks for JSON Web Tokens (JWTs)\nhttps://us.pycon.org/2025/schedule/presentation/91/\n<p>JSON Web Tokens (JWTs) are a neat tool useful in many contexts from simple demos to complicated multi-server architectures. The goal of the talk is to give developers a basic understanding of what JWTs are\, why they are useful\, and how to get started using them in python. JWTs can be as lightweight as a JWT library and a few decorators or as thorough as a full-fledged authentication architecture.</p>\n<p>When using public key encryption/signatures\, validating the JWT does not need require maintaining state\, secrets\, passwords\, or user databases. This makes JWTs a robust\, efficient\, and flexible tool for serverless applications\, horizontal scaling (e.g.\, load balancing)\, microservices\, and APIs.</p>\n<p>In this talk\, I will provide an introduction to JWTs and provide a simple example of how they can be combined with decorators for easy and flexible authentication. The goal is to give developers unfamiliar with JWTs ideas on how and when to include them in their own applications.</p>\nSpeakers:\nEmin Martinian\n<p>Emin Martinian has over 25 years of experience in technical research and development. He enjoys finding creative solutions to complex problems in software engineering\, machine learning\, data compression\, prediction\, optimization\, health\, and finance.</p>\n<p>He has over 10 patents granted and 30 peer reviewed publications based on research with Mitsubishi Electric Research Labs and MIT (where he earned a PhD in EE/CS). On the development side\, Emin has built software and led teams at small start-ups such as OPC Technologies (acquired by MentorGraphics)\, ViveBenefits and others as well as larger companies such as Bain Capital and DCG.</p>\n<p>He is available for consulting through his company <a href="https://www.aocks.com/">AOCKS LLC</a>.</p>
DTEND:20250516T191500Z
LOCATION:Hall C
DTSTART:20250516T184500Z
STATUS:CONFIRMED
SUMMARY:[talk] Tips and Tricks for JSON Web Tokens (JWTs)
TRANSP:OPAQUE
UID:a545a5ac-9ea0-5b65-adb0-04afa85f25e0
URL:https://us.pycon.org/2025/schedule/presentation/91/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: informational\nName: Open Spaces Rooms Open\n<p>Open Spaces Rooms Open -  <a href="https://pycon.us/os">pycon.us/os</a></p>\n
DTEND:20250517T120000Z
LOCATION:Open Spaces Rooms
DTSTART:20250517T120000Z
STATUS:CONFIRMED
SUMMARY:[informational] Open Spaces Rooms Open
TRANSP:OPAQUE
UID:0fa9eef2-9177-542a-b71b-a8bae092562d
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: lightning-talks\nName: Lightning Talks\nhttps://us.pycon.org/2025/schedule/presentation/170/\n<p>Lightning talks are a maximum duration of 5 minutes on any topic of interest to other Python people. It doesn't have to be about something that you wrote\, it can be something that you learned\, or a technique you think other people will be interested in.</p>\n<p>Read more about Lightning Talks <a href="/2025/events/lightning-talks/">on our event page</a>.</p>\n<h3>Presenting in this session</h3>\n<p>Order To Be Determined! If you're speaking make sure you are there on time!</p>\n<ul>\n<li>"<strong>Using Python\, websockets\, and local LLMs to make a Sony AIBO more sociable.</strong>" - <em>Mylo Dove</em></li>\n<li>"<strong>django-simple-deploy: Deployment\, for Djangonauts with deadlines</strong>" - <em>Eric Matthes</em></li>\n<li>"<strong>ORM? OMG!!</strong>" - <em>Mario Munoz</em></li>\n<li>"<strong>pip install patience</strong>" - <em>Wenqing Mao</em></li>\n<li>"<strong>How a car mechanic became a developer</strong>" - <em>Maya Kerostasia</em></li>\n<li>"<strong>MOSEY - Data for pedestrian safety</strong>" - <em>Fay Shaw</em></li>\n<li>"<strong>If Paint Splatters Could Sing\, They’d Probably Sound Awful</strong>" - <em>Tristan Shippen</em></li>\n<li>"<strong>Music\, LilyPond\, and Python</strong>" - <em>Alex Ambrioso</em></li>\n<li>"<strong>Blazing Fast Automagical Metadata</strong>" - <em>Joel Natividad</em></li>\n<li>"<strong>Python and Lasers</strong>" - <em>Matt Leaverton</em></li>\n</ul>\nSpeakers:\nHosted by Abigail\, Chris\, Cristián\, and Lorena\n
DTEND:20250517T130000Z
LOCATION:Hall B
DTSTART:20250517T120000Z
STATUS:CONFIRMED
SUMMARY:[lightning-talks] Lightning Talks
TRANSP:OPAQUE
UID:dbb5320c-e6b1-5f5c-8819-6c25c2531101
URL:https://us.pycon.org/2025/schedule/presentation/170/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: plenary\nName: Steering Council Panel\n<p><a href="/2025/about/keynote-speakers#python-steering-council">Steering Council Panel</a></p>\n
DTEND:20250518T203500Z
LOCATION:Hall B
DTSTART:20250518T200000Z
STATUS:CONFIRMED
SUMMARY:[plenary] Steering Council Panel
TRANSP:OPAQUE
UID:c46afaae-6aad-588f-8a5e-f15f6ebfd45b
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Building a NoGIL Load Balancer in 30 minutes\nhttps://us.pycon.org/2025/schedule/presentation/113/\n<p>Load balancers are widespread nowadays because most software systems are web-centric and service oriented. However\, they’re extremely complex to build\, because they must be very performant and use sophisticated algorithms to route traffic. Until recently\, you couldn’t use Python to build one\, because even though it would make the code simpler\, the GIL prevented multiple threads from executing Python at the same time.\nNow that you can\, what are the practical implications in your day to day work?\nIn this talk\, we’re going to live code a load balancer in Python. This will help us understand the pros and cons of using modules such as asyncio\, threading and concurrent.futures\, and what changes when we remove the GIL from the way.\nWhether you’re building systems that demand concurrency (such as AI models or DevOps pipelines)\, or you’re just curious about how tools like gUnicorn or Starlette work under the hood\, you’ll come away with practical insights on how to start off the NoGIL era on the right foot.</p>\nSpeakers:\nAlvaro Duran\n<p>I write software that moves money around—in Python. It’s software that must be highly available\, performant and correct every single time. Building this kind of system has made me deeply familiar with the design patterns\, libraries and frameworks needed for reliability at scale. I am obsessed with high quality testing and fast product validation cycles.\nI also author <em>The Payments Engineer Playbook</em>\, a newsletter read by over 1\,500 fintech engineers\, where I explore the technical challenges of building money software.\nI use Vim\, I like pineapple in my pizza—and I won't apologize for either.</p>
DTEND:20250516T153000Z
LOCATION:Hall C
DTSTART:20250516T150000Z
STATUS:CONFIRMED
SUMMARY:[talk] Building a NoGIL Load Balancer in 30 minutes
TRANSP:OPAQUE
UID:0216aff8-5cd5-58b0-861f-3d66c1248d03
URL:https://us.pycon.org/2025/schedule/presentation/113/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: sponsor-presentations\nKind: sponsor-workshop\nName: Accelerated Python: The Community and Ecosystem (Sponsor: NVIDIA)\nhttps://us.pycon.org/2025/schedule/presentation/149/\n<p>Python is everywhere. Simulation\, data science\, and Gen AI all depend on it. Unfortunately\, the dizzying array of tools leaves a newcomer baffled at where to start. We'll take you on a guided tour of the vibrant community and ecosystem surrounding accelerated Python programming. Explore a variety of tools\, libraries\, and frameworks that enable efficient computation and performance optimization in Python\, including CUDA Python\, RAPIDS\, Warp\, and Legate. We'll also discuss integration points with PyData\, PyTorch\, and JAX communities. Learn about collaborative efforts within the community\, including open source projects and contributions that drive innovation in accelerated computing. We'll discuss best practices for leveraging these frameworks to enhance productivity in developing AI-driven applications and conducting large-scale data analyses.</p>\nSpeakers:\nJeremy Tanner\n<p>Jeremy talks to people who talk to computers about talking to computers.</p>
DTEND:20250515T143000Z
LOCATION:Room 315
DTSTART:20250515T133000Z
STATUS:CONFIRMED
SUMMARY:[sponsor-workshop] Accelerated Python: The Community and Ecosystem (Sponsor: NVIDIA)
TRANSP:OPAQUE
UID:80798e70-401c-5194-a03a-d707995ba3d6
URL:https://us.pycon.org/2025/schedule/presentation/149/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: charla\nName: Cambiando el guión: No estamos solas - DataSoul Podcast\nhttps://us.pycon.org/2025/schedule/presentation/21/\n<p>¡Hola! Somos Valen y Laura creadoras y hosts de DataSoul Podcast\, un espacio seguro para compartir experiencias trabajando en la industria tech\, así como hablar de temas de los que poco se habla pero que todos enfrentamos en algún momento. Este podcast quiere ser parte de Pycon US con la presentación de un episodio en vivo donde hablaremos de retos\, miedos y la importancia de la  comunidad\, al momento de hacer un cambio de carrera hacia el mundo de los datos.</p>\nSpeakers:\nLaura López\n<p>Soy científica de datos\, WomenTechMaker Ambassador\, y Co-host de DataSoul Podcast. Interesada en el entendimiento y aplicación de machine learning y análisis de datos para obtener resultados y soluciones de valor. Me gusta la fotografía\, los libros y los datos.</p>\nValentina Ariza\n<p>Soy Senior Data Engineer\,  embajadora de google women techmaker\, Co-Lider de la comunidad Pyladies Medellin y Co-host del podcast DataSoul. Con +4 años de experiencia trabajando en el mundo de los datos\, he desarrollados diversas soluciones usando herramientas cloud\, esto incluye datalakes\, datawarehouses y lakehouses con gobierno de datos que garantizan la calidad\, seguridad y disponibilidad de la información para la toma de decisiones estratégicas.</p>
DTEND:20250516T170000Z
LOCATION:Room 310/311
DTSTART:20250516T163000Z
STATUS:CONFIRMED
SUMMARY:[charla] Cambiando el guión: No estamos solas - DataSoul Podcast
TRANSP:OPAQUE
UID:1fd49624-f6dc-511d-94bc-226237ab4a4d
URL:https://us.pycon.org/2025/schedule/presentation/21/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: break\nName: Lunch\n<p>Lunch</p>\n
DTEND:20250518T170000Z
LOCATION:Hall A
DTSTART:20250518T160000Z
STATUS:CONFIRMED
SUMMARY:[break] Lunch
TRANSP:OPAQUE
UID:2adf3b5e-40d7-5589-9b9f-3dd3895e55e4
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: sponsor-presentations\nKind: sponsor-workshop\nName: 🐍 Python meets the crab 🦀 - Friendship at first sight? (Sponsor: Bloomberg)\nhttps://us.pycon.org/2025/schedule/presentation/151/\n<p>Python's simplicity often comes at the cost of performance\, especially in computationally-intensive tasks. In contrast\, Rust enables one to write low-level code that takes full advantage of the underlying hardware. Furthermore\, Rust (just like Python) has a vibrant ecosystem with many great libraries. PyO3 (together with the maturin build back-end) allows you to easily integrate the two languages together and make use of the best of both.</p>\nSpeakers:\nBernát Gábor\n<p>Over the years\, I have delivered 2 presentations + 1 workshop at PyCon US\; 2 presentation + 1 workshop at PyTexas\, 4 presentations at EuroPython\, 1 at PyCon UK\, and two talks at PyLondinium. My website (https://bernat.tech/presentations) contains links to the videos and slides for these presentations. I am also the author of the virtualenv/tox packages and a PyPA member.</p>
DTEND:20250515T143000Z
LOCATION:Room 316
DTSTART:20250515T133000Z
STATUS:CONFIRMED
SUMMARY:[sponsor-workshop] 🐍 Python meets the crab 🦀 - Friendship at first sight? (Sponsor: Bloomberg)
TRANSP:OPAQUE
UID:dcf7bebe-2ae8-53d7-8569-e39a2aae958d
URL:https://us.pycon.org/2025/schedule/presentation/151/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: plenary\nName: Keynote - Dr. Kari L. Jordan\n<p><a href="/2025/about/keynote-speakers#dr-kari-l-jordan">Dr. Kari L. Jordan</a>\n<br><span style="font-size: smaller\; font-weight: normal\;">Keynote</span></p>\n
DTEND:20250518T200000Z
LOCATION:Hall B
DTSTART:20250518T191500Z
STATUS:CONFIRMED
SUMMARY:[plenary] Keynote - Dr. Kari L. Jordan
TRANSP:OPAQUE
UID:b44fc0e3-7d56-5f5c-ac41-956867061d0d
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: The Most Bizarre Software Bugs in History\nhttps://us.pycon.org/2025/schedule/presentation/17/\n<p>We've all heard that we should test our software\, but what happens when we don't? Sometimes\, it leads to strange and unexplainable events.</p>\n<p>Is 'testing more' always the right solution? What do these bugs reveal about software and its failures? And how can we use these lessons to build more resilient systems?</p>\n<p>Let's take a look at the most bizarre software bugs in history.</p>\nSpeakers:\nMia Bajić\n<p>As a software engineer\, I design and build backend systems that power data products.</p>\n<p>Beyond my daily work\, I serve as Vice Chair of the EuroPython Society\, where I help shape one of Europe’s largest Python events. I also co-organize local events in Prague. I believe strongly in the power of education\, and through organizing these events\, I contribute to building a more open and connected community.</p>\n<p>I write a TIL blog\, where I share what I've recently learned: https://clytaemnestra.github.io/tech-blog/</p>
DTEND:20250516T214500Z
LOCATION:Ballroom BC
DTSTART:20250516T211500Z
STATUS:CONFIRMED
SUMMARY:[talk] The Most Bizarre Software Bugs in History
TRANSP:OPAQUE
UID:f9d78e51-cc61-58cc-910f-5aac419f1d70
URL:https://us.pycon.org/2025/schedule/presentation/17/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Diving into the Deep End: A Python Journey in Water Management\nhttps://us.pycon.org/2025/schedule/presentation/104/\n<p>Six years ago\, I was asked to create a better Excel spreadsheet to track water requests for a small irrigation district. That request sparked an unexpected journey: from knowing only basic Python syntax to building a SaaS platform that models physical water delivery systems. This platform now handles water accounting\, delivery tracking\, scheduling\, reporting\, and even simulation for real-world use.</p>\n<p>In this talk\, I’ll share how I tackled challenges like:\n- Transitioning from spreadsheets to a Python-powered solution.\n- Modeling physical systems without a background in discrete mathematics\, graph theory\, or simulation.\n- Scaling a personal learning project into a production-ready SaaS application.</p>\n<p>I’ll also explore the tools and techniques that made it possible\, the lessons I learned along the way\, and the moments of failure and success that shaped my journey. Whether new to Python\, considering tackling a big project\, or just curious about real-world applications of Python\, this talk will inspire attendees to dive in and solve problems beyond their comfort zone.</p>\nSpeakers:\nJack Linke\n<p>Jack Linke tends to learn the hard way - and shares the lessons from those experiences with others through blogging\, tweets\, and speaking engagements. He has been developing software and hardware projects off-and-on for most of his life\, but much of his relevant Python development experience has been hard-earned over the past five years during development of Watervize - a B2B2B SaaS web application (written in Django) to help irrigation water utility companies improve efficiency\, analysis\, and communication with staff and agriculture customers.</p>\n<p>Jack’s technology interests include Python\, the Django project\, simulation\, GIS\, graph theory\, data storytelling\, and visualization. He is a frequent contributor to the open source community\, an Individual Member of the Django Software Foundation\, and a contributing member of the Python Software Foundation.</p>\n<p>His speaking experience includes briefing Generals on topics ranging from budgets to technical concepts\, instructing at formal training centers\, providing software demonstrations and feature walk-throughs\, and he was certified as a Weapons and Tactics Instructor (WTI) while serving as a Marine Corps Officer.</p>\n<p>Outside of coding\, Jack takes his Husky (Lady Duchess) on adventures\, solves unusual math and logic problems\, and makes a mess in the kitchen (and life).</p>
DTEND:20250516T153000Z
LOCATION:Room 301-305
DTSTART:20250516T150000Z
STATUS:CONFIRMED
SUMMARY:[talk] Diving into the Deep End: A Python Journey in Water Management
TRANSP:OPAQUE
UID:a6845065-8407-57da-9cf5-e5cd1b0e69c4
URL:https://us.pycon.org/2025/schedule/presentation/104/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: The past\, present\, and future of virtual environments\nhttps://us.pycon.org/2025/schedule/presentation/32/\n<p>Virtual environments have become an essential part of the Python developer experience\, but recent tools provide workflows where virtual environments are no longer the center of user interactions.</p>\n<p>This talk explores the evolution of virtual environments\, from their originating motivations and the role they serve today to a vision for the future\, with a particular focus on how virtual environments are becoming automated\, hidden\, and disposable.</p>\n<p>Virtual environments were introduced in 2004. We’ll briefly discuss the history of the tools built to manage virtual environments. We’ll talk about the differences between imperative and declarative environment management. Then\, we’ll dive into the user experiences powered by automating management of environments\, using uv as a primary example.</p>\n<p>Finally\, we’ll discuss limitations of the existing tooling and how they may be overcome in the future\, such as\, improving the IDE experience for scripts with inline metadata\, locking build requirements\, and using declarative interfaces for global environments.</p>\n<p>Some prior knowledge of virtual environments and Python packaging will be necessary to reason about the broader questions posed\, but the talk will attempt to give the necessary background — deep Python knowledge will not be needed. The talk will be focused on user experience and abstractions rather than implementation details.</p>\nSpeakers:\nZanie Blue\n<p>Zanie is passionate about empowering developers and scientists through powerful\, friendly tooling. They have a background in computational neuroscience and bioinformatics\, but now they build open source tools for Python in Rust at Astral. They have too many hobbies and a very cute dog named Basho.</p>
DTEND:20250518T190000Z
LOCATION:Ballroom A
DTSTART:20250518T183000Z
STATUS:CONFIRMED
SUMMARY:[talk] The past\, present\, and future of virtual environments
TRANSP:OPAQUE
UID:1bd8e5e6-f37a-5444-a5b7-80353595f082
URL:https://us.pycon.org/2025/schedule/presentation/32/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Phantom Dependencies: is your requirements.txt haunted?\nhttps://us.pycon.org/2025/schedule/presentation/14/\n<p>Did you know there’s more than Python code included in Python packages? This might be a surprise\, especially if you’ve inspected your list of dependencies and only found exactly what you've pip-installed. There's something else lurking in the dark corners of your virtual environments.</p>\n<p>Modern software systems are complex\, graph-like\, and difficult to measure by both humans and our tools. Luckily there’s an answer: Software Bill-of-Materials (SBOMs). SBOMs can describe any amalgamation of Python\, C\, C++\, Rust\, and JavaScript in your Python application which enables static code analysis\, license compliance\, vulnerability management\, and complying with new security regulations.</p>\n<p>By the end of this talk you'll know what Software Bill-of-Materials documents are\, why they are useful\, and what you need to do when someone asks for one!</p>\nSpeakers:\nSeth Michael Larson\n<p>Security Developer-in-Residence and Fellow of the Python Software Foundation\, Minnesoootan</p>
DTEND:20250518T181500Z
LOCATION:Ballroom BC
DTSTART:20250518T174500Z
STATUS:CONFIRMED
SUMMARY:[talk] Phantom Dependencies: is your requirements.txt haunted?
TRANSP:OPAQUE
UID:4805bf62-8ba1-51dd-bcac-8d03077bfac5
URL:https://us.pycon.org/2025/schedule/presentation/14/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: informational\nName: Swag pickup Opens for T-shirt Sales\n<p>Swag pickup Opens for T-shirt Sales</p>\n
DTEND:20250518T150000Z
LOCATION:Hall A
DTSTART:20250518T150000Z
STATUS:CONFIRMED
SUMMARY:[informational] Swag pickup Opens for T-shirt Sales
TRANSP:OPAQUE
UID:bc0e4d0d-f051-5e44-b296-318cf157ca95
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: sponsor-presentations\nKind: sponsor-workshop\nName: DataComPy - Dataframe Comparisons made Explicit (Sponsor: Capital One)\nhttps://us.pycon.org/2025/schedule/presentation/73/\n<p>DataComPy is a widely used validation tool with over 1.1 million monthly installations\, written to quickly and comprehensively compare a pair of dataframes. Designed to help make differences between schemas and data clear and explicit\, DataComPy generates a comprehensive report at the completion of all comparisons\, providing useful metrics such as match percentages\, maximal differences\, and sample mismatches between comparable columns. In addition\, it supports various forms of input data types for both native (Pandas\, Polars\, Spark\, Snowpark) and indirect (Dask\, Ray) comparisons. It also supports comparison of certain types of database tables\, including Snowflake and DuckDB. Over the course of the presentation\, we'll be delving further into how DataComPy works\, what features it provides\, and what types of practical use cases it is designed to help address.</p>\nSpeakers:\nAkshay Gupta\n<p>-</p>\nRaymond Haffar\n<p>UWaterloo Comp Eng undergrad\, data science @ Capital One. Interested in building practical and resilient solutions for data tooling!</p>
DTEND:20250515T183000Z
LOCATION:Room 316
DTSTART:20250515T173000Z
STATUS:CONFIRMED
SUMMARY:[sponsor-workshop] DataComPy - Dataframe Comparisons made Explicit (Sponsor: Capital One)
TRANSP:OPAQUE
UID:4ffb1b16-8d69-5ec6-bd66-ce11767a98e1
URL:https://us.pycon.org/2025/schedule/presentation/73/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: break\nName: Breakfast\n<p>Breakfast</p>\n
DTEND:20250517T130000Z
LOCATION:Outside of Hall B
DTSTART:20250517T113000Z
STATUS:CONFIRMED
SUMMARY:[break] Breakfast
TRANSP:OPAQUE
UID:07598200-e09a-5685-972e-a8a44cafdb43
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: posters\nKind: poster\nName: A visual exploration of vectors\nhttps://us.pycon.org/2025/schedule/presentation/30/\n<p>Vector embeddings are a way to encode a text or image as an array of floating-point numbers\, and they make it possible to perform similarity search on many kinds of content.\nThis poster will take you on a journey through vectors with as many diagrams and graphs as we can fit\, to help you understand the differences between embedding models\, distance metrics\, quantization schemes\, and input modalities. All of the visuals are generated using open-source tools like matplotlib and pandas\, and all the code is available in a repo for you to try yourself.\n↖ Come on a vector voyage! ↗</p>\nSpeakers:\nPamela Fox\n<p>Pamela Fox is a human that loves to learn\, teach\, and create. She's currently a Cloud Advocate in Python at Microsoft\, where she helps developers use Python with Azure\, VS Code\, and GitHub.</p>\n<p>On the teaching front\, Pamela has taught computer science at UC Berkeley and volunteered in bay area classrooms as part of the TEALS\, GirlsWhoCode\, and CoderDojo organizations. She also started the SF chapter of GirlDevelopIt\, where she taught dozens of web development workshops.</p>\n<p>Pamela's been in the tech industry for 15+ years now\, starting with her first role at Google as one of their first developer advocates. She went on to be an early full-stack engineer at Coursera and spent many years after at Khan Academy\, both as an engineer and the creator of the computer programming content.</p>
DTEND:20250518T170000Z
LOCATION:Hall A
DTSTART:20250518T140000Z
STATUS:CONFIRMED
SUMMARY:[poster] A visual exploration of vectors
TRANSP:OPAQUE
UID:2d1002b3-2471-5f96-b51a-02077b7844bc
URL:https://us.pycon.org/2025/schedule/presentation/30/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Or Else! An Exploration of Obscure Control Flow\nhttps://us.pycon.org/2025/schedule/presentation/85/\n<p>Everyone knows how an if-else block works\, but what about a for-else block? Or try-except-else? What do those do\, and how can they help us write cleaner code? What other hidden gems await us in the halls of Python grammar? Come join us for an adventure into depths of the Python world less traveled.</p>\n<p>We'll start with a brief look at the fundamentals of program control flow\, and how our choices as developers influence the readability and maintainability of our code. We'll look at some easy ways to use lesser-known syntax elements to make common code patterns more obvious\, and compare and contrast them with equivalent alternatives.</p>\n<p>Next\, we'll start to pull back the curtains a bit on how Python handles more complex control flow mechanisms\, like generators and decorators\, and look at ways to leverage those features to build higher order functionality. Lastly\, we'll get a bit reckless and look at how Python makes it possible to create our own systems for control flow\, and consider committing some light crimes in the name of code readability.</p>\n<p>We might even implement the highly desired "do-while" loop while we're at it.</p>\nSpeakers:\nAmethyst Reese 🌸\n<p>Amethyst is a senior engineer at Meta\, working on foundational Python infrastructure and tooling to support thousands of engineers\, data scientists\, and ML researchers. She is also the maintainer of numerous open source libraries on PyPI\, and an experienced speaker from Python conferences and meetups around the world.</p>
DTEND:20250516T214500Z
LOCATION:Room 301-305
DTSTART:20250516T211500Z
STATUS:CONFIRMED
SUMMARY:[talk] Or Else! An Exploration of Obscure Control Flow
TRANSP:OPAQUE
UID:271e98a9-3b7a-5bd5-bfa9-c0047b5f235f
URL:https://us.pycon.org/2025/schedule/presentation/85/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: informational\nName: Registration / Information Desks Open\n<p>Registration / Information Desks Open</p>\n
DTEND:20250517T120000Z
LOCATION:Concourse A
DTSTART:20250517T120000Z
STATUS:CONFIRMED
SUMMARY:[informational] Registration / Information Desks Open
TRANSP:OPAQUE
UID:c1b61325-a75c-5077-9afa-8c6fcd4977a9
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Metaclasses Demystified\nhttps://us.pycon.org/2025/schedule/presentation/137/\n<p>Metaclasses are among the deep magic of Python\, which most developers will ever need. As Python pushes into more and more spaces\, and becomes responsible for increasingly complex software\, there's a need for elegant solutions to some specific architectural problems\; metaclasses are a part of some of those solutions.</p>\n<p>In this talk\, you'll learn all about the enigmatic metaclass\, and where this often esoteric part of Python actually can come in handy. Then\, we'll wrap up by ensuring you're attacking the right problems before reaching for this oft-alluring piece of arcana.</p>\nSpeakers:\nJason C. McDonald\n<p>Jason C. McDonald is a principal software engineer and author with a passion for communication and education. He mentors young developers\, especially through his open source organization's internship program\, and has written many articles on a variety of computer science topics ranging from the technical to the interpersonal. He's the author of "Dead Simple Python" (No Starch Press)\, based on his popular article series of the same name.</p>\n<p>Jason draws from his journey recovering from a traumatic brain injury to help people achieve their full potential. In addition to his programming career\, Jason is a fiction author and an independent songwriter with a love of absurdist humor and wordplay.</p>
DTEND:20250517T213000Z
LOCATION:Hall C
DTSTART:20250517T210000Z
STATUS:CONFIRMED
SUMMARY:[talk] Metaclasses Demystified
TRANSP:OPAQUE
UID:a7d7e5e1-98c8-502d-bbfd-4c7ab64e1bc4
URL:https://us.pycon.org/2025/schedule/presentation/137/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: informational\nName: Swag Pickup Closes\n<p>Swag Pickup Closes</p>\n
DTEND:20250517T173000Z
LOCATION:Hall A
DTSTART:20250517T173000Z
STATUS:CONFIRMED
SUMMARY:[informational] Swag Pickup Closes
TRANSP:OPAQUE
UID:e2145045-aca7-57f6-86cb-ed5f70b52132
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: informational\nName: Expo Hall Closes\n<p>Expo Hall Closes</p>\n
DTEND:20250517T203000Z
LOCATION:Hall A
DTSTART:20250517T203000Z
STATUS:CONFIRMED
SUMMARY:[informational] Expo Hall Closes
TRANSP:OPAQUE
UID:df619469-d4e6-50cb-a538-86ae25049583
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: sponsor-presentations\nKind: sponsor-workshop\nName: Enterprise-Ready Python for High-Performance Data Teams (Sponsor: Snowflake)\nhttps://us.pycon.org/2025/schedule/presentation/148/\n<p>In this talk\, we’ll explore the challenges of running Python in enterprise data teams and share lessons learned from building for PyData developers at Snowflake\, with an emphasis on flexibility\, performance\, and library compatibility. We'll focus on two key aspects: APIs and runtimes. First\, we'll look at how you can run pandas at all data scales using Modin\, and how this interoperates with other tools in the PyData stack. Then\, we'll discuss ways to manage runtime compatibility\, from customizing environments to working within notebook-based workflows.</p>\nSpeakers:\nSavannah Ostrowski\n<p>Savannah Ostrowski is a Python Core Developer and product lead for Python Developer Experience and Notebooks at Snowflake. She helps maintain the new JIT compiler introduced in Python 3.13 and the argparse module in the Python standard library. Savannah is also a member of the broader Faster CPython team and serves on the Jupyter Foundation Governing Board on behalf of Snowflake.</p>\n<p>A self-taught developer with a background in geospatial computing\, Savannah has built a career at the intersection of developer tools and open-source software. Before Snowflake\, she led product for Docker’s runtime\, working on foundational technology for the container ecosystem\, including Docker Engine (moby/moby) and Docker CLI. She previously worked at Microsoft on the Azure Developer CLI and was the product manager for the Pylance language server.</p>\n<p>She lives in beautiful Washington state with her husband and their three cats\, enjoying pottery and reading in her spare time.</p>\nDoris Lee\n<p>Doris Lee leads Python developer experience across Snowflake's products. Previously\, Doris was CEO and co-founder of Ponder (acquired by Snowflake in 2023)\, the company behind the open-source project Modin. Doris received her Ph.D. from the UC Berkeley RISE Lab and School of Information in 2021\, where she developed open-source tools that help data scientists explore and understand their data. She received Forbes 30 under 30 for Enterprise Technology in 2023.</p>
DTEND:20250515T163000Z
LOCATION:Room 309
DTSTART:20250515T153000Z
STATUS:CONFIRMED
SUMMARY:[sponsor-workshop] Enterprise-Ready Python for High-Performance Data Teams (Sponsor: Snowflake)
TRANSP:OPAQUE
UID:7c6a3a8e-cf58-5e71-8987-5a59385334f7
URL:https://us.pycon.org/2025/schedule/presentation/148/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: tutorials\nKind: tutorial\nName: Building machine learning pipelines that scale: a case study using Ibis and IbisML\nhttps://us.pycon.org/2025/schedule/presentation/121/\n<p>Tabular data is everywhere. As Python has become the language of choice for data science\, pandas and scikit-learn have become staples in the machine learning (ML) toolkit for processing and modeling this data. However\, when data size scales up\, these tools become unwieldy (slow) or altogether untenable (running out of memory). Ibis provides a unified\, Pythonic\, dataframe interface to 20+ execution backends\, including dataframe libraries\, databases\, and analytics engines. Local backends\, such as Polars\, DuckDB\, and DataFusion\, perform orders of magnitude faster than pandas while using less memory. Ibis further enables users to scale using distributed backends like Spark or cloud data warehouses like Snowflake and BigQuery without changing their code\, giving them the power to choose the right engine for any scale.</p>\n<p>IbisML extends the intrinsic benefits of using Ibis to the ML workflow. It lets users preprocess their data at scale on any Ibis-supported backend—users create IbisML recipes defining sequences of last-mile preprocessing steps to get their data ready for modeling. A recipe and any scikit-learn estimator can be chained together into a pipeline\, so IbisML seamlessly integrates with scikit-learn\, XGBoost (using the scikit-learn estimator interface)\, and PyTorch (using skorch) models. At inference time\, Ibis/IbisML once again takes the feature preprocessing to the efficient backend\, and user-defined functions (UDFs) enable prediction while minimizing data transfer. This completes an end-to-end ML workflow that scales with data size.</p>\n<p>In this tutorial\, you'll build an end-to-end ML project to predict the live win probability at any given move during a chess game. You’ll be using actual\, recent games from the largest free chess server (Lichess). We’ll be using GitHub Codespaces\, so you don’t need to download or configure anything\; however\, please bring a laptop!</p>\nSpeakers:\nAnjali Datta\n<p>Anjali is a postdoc at Stanford Medicine working on MRI processing to identify neurosurgical targets. She also has a PhD in Electrical Engineering from Stanford\, during which she developed MRI acquisition and reconstruction methods. Medical imaging is of course a field where ML is taking over\, and Anjali is now interested in the applications of deep learning to MRI and other signal processing.</p>\nDeepyaman Datta\n<p>Deepyaman is a software engineer at <a href="https://dagster.io/">Dagster Labs</a>. He joined from Voltron Data\, where he was a Senior Staff Software Engineer on the <a href="https://ibis-project.org/">Ibis</a> team. Before their acquisition by Voltron Data\, he was a Founding Machine Learning Engineer at Claypot AI\, working on their real-time feature engineering platform. Prior to that\, he led data engineering teams and asset development across a range of industries at QuantumBlack\, AI by McKinsey.</p>\n<p>Deepyaman is passionate about building and contributing to the broader open-source data ecosystem. Outside of his day job\, he helps maintain <a href="https://kedro.org/">Kedro</a>\, an open-source Python framework for building production-ready data science pipelines.</p>
DTEND:20250514T163000Z
LOCATION:Room 318
DTSTART:20250514T130000Z
STATUS:CONFIRMED
SUMMARY:[tutorial] Building machine learning pipelines that scale: a case study using Ibis and IbisML
TRANSP:OPAQUE
UID:c093c7f6-6edf-595e-9539-70de788efbaa
URL:https://us.pycon.org/2025/schedule/presentation/121/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: plenary\nName: PSF Welcome\n<p>PSF Welcome</p>\n
DTEND:20250516T134500Z
LOCATION:Hall B
DTSTART:20250516T132500Z
STATUS:CONFIRMED
SUMMARY:[plenary] PSF Welcome
TRANSP:OPAQUE
UID:2018fde1-193b-547d-aca1-cbccfabe029d
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: event\nName: Job Fair and Poster Sessions\n<p>Job Fair and Poster Sessions</p>\n
DTEND:20250518T170000Z
LOCATION:Hall A
DTSTART:20250518T140000Z
STATUS:CONFIRMED
SUMMARY:[event] Job Fair and Poster Sessions
TRANSP:OPAQUE
UID:e440f4d1-3201-5411-8025-f8946d8fcc03
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: A11y Need Is Love (But Accessible Docs Help Too)\nhttps://us.pycon.org/2025/schedule/presentation/135/\n<p>The Beatles told us that ‘all you need is love’ and while that is a lovely sentiment\, love alone won’t fix low contrast colours\, missing focus states or inaccessible navigation. These barriers impact countless users with disabilities\, reducing the usefulness and reach of valuable documentation. So\, while love is great\, accessible docs are <em>essential</em>.</p>\n<p>In this talk\, we will use the <a href="https://pydata-sphinx-theme.readthedocs.io/en/stable/">PyData Sphinx Theme</a> as a case study to explore common accessibility problems in documentation websites and how to tackle them. We will discuss the accessibility changes we made to the theme\, how those changes affected users\, and what we learnt along the way. Additionally\, we will also conduct a short accessibility audit on a website suggested by the audience. This demo will provide a practical understanding of how to improve accessibility.</p>\n<p>Whether you’re a documentation maintainer\, a curious developer or simply someone who cares about accessibility\, this beginner-friendly talk will help you learn more about accessibility in documentation and how to get started. Love might be a universal language\, but your code appreciates accessible documentation.</p>\nSpeakers:\nSmera Goel\n<p>By day (and sometimes by night)\, Smera Goel is a UX/UI designer at <a href="https://labs.quansight.org/">Quansight Labs</a>\, where she focuses on making open-source projects more accessible and user-friendly. </p>\n<p>Beyond design\, Smera also contributes to community-driven projects like the <a href="https://fedoraproject.org/">Fedora Project</a> and mentors aspiring designers through <a href="https://www.outreachy.org/">Outreachy</a>. Talk to her about design\, accessibility\, mentorship or her ever-growing collection of instant noodles (she's always looking for recommendations).</p>
DTEND:20250516T183000Z
LOCATION:Ballroom BC
DTSTART:20250516T180000Z
STATUS:CONFIRMED
SUMMARY:[talk] A11y Need Is Love (But Accessible Docs Help Too)
TRANSP:OPAQUE
UID:898b1280-9e95-5140-acb8-345b37d4af86
URL:https://us.pycon.org/2025/schedule/presentation/135/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: event\nName: Hatchery - FlaskCon\n<p>Hatchery - FlaskCon</p>\n
DTEND:20250516T220000Z
LOCATION:Room 317
DTSTART:20250516T180000Z
STATUS:CONFIRMED
SUMMARY:[event] Hatchery - FlaskCon
TRANSP:OPAQUE
UID:cd5f8c29-ad6b-51f7-967a-c579af8b52b8
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Elastic Generics: Flexible Static Typing with TypeVarTuple and Unpack\nhttps://us.pycon.org/2025/schedule/presentation/83/\n<p>Since Python 3.5\, generic tuples can be parameterized as either orderings of component types (e.g. <code>tuple[int\, str]</code>) or unbound sequences of a single type (e.g. <code>tuple[float\, ...]</code>). Yet sometimes we need both: for example\, a <code>tuple</code> that starts with an <code>int</code> and a <code>str</code> and follows with zero or more <code>float</code>s might describe a row in a dataset that starts with identifiers and follows with a variable number of observations. While we might want to define a generic <code>Record</code> class that can be elastically parameterized in this manner\, doing so was not practical until the introduction of <code>TypeVarTuple</code> and <code>Unpack</code> in Python 3.11.</p>\n<p>With <code>TypeVarTuple</code>\, a generic <code>Record</code> class can be made concrete as <code>Record[int\, str]</code>\, <code>Record[int\, str\, float]</code>\, or even <code>Record[int\, str\, *tuple[float\, ...]]</code>: the same class can be parameterized as requiring two types\, three types\, or required <code>int</code> and <code>str</code> types followed by zero or more <code>float</code> types (as given with the <code>Unpack</code> notation <code>*tuple[float\, ...]</code>).</p>\n<p>This presentation will introduce <code>TypeVarTuple</code> and <code>Unpack</code>. Starting with annotated <code>tuple</code> types\, the flexible\, expressive range of mixture between fixed and unbound types will be demonstrated with <code>mypy</code> validation. Next\, a variadic generic class\, <code>Record</code>\, will demonstrate the benefits of such elastic typing.</p>\n<p>Finally\, a compelling application of <code>TypeVarTuple</code> will be demonstrated. While DataFrames are widely used\, only the StaticFrame library\, leveraging <code>TypeVarTuple</code>\, offers a comprehensively generic DataFrame. DataFrames have variable numbers of columns\, each sometimes a different type\; further\, while DataFrames might have tens or hundreds of columns\, it is common for such datasets to have a fixed number of heterogeneously typed columns followed by a variable number of uniformly typed columns. With <code>TypeVarTuple</code>\, this type of flexible DataFrame typing is now possible.</p>\nSpeakers:\nChristopher Ariza\n<p>Christopher Ariza (www.flexatone.net) is Partner and Chief Technology Officer at Research Affiliates\, a global leader in investment strategies and research. He is the creator and lead developer of StaticFrame\, an alternative DataFrame library that offers immutable and statically-typeable DataFrames with runtime type and data validation.</p>\n<p>Having worked in Python for over 20 years\, he has developed tools in a variety of domains\, including algorithmic music composition and computer-aided musicology\, and has spoken at numerous conferences\, including PyCon USA\, SciPy\, PyData Global\, PyData Los Angeles\, and numerous other venues.</p>\n<p>Prior to joining Research Affiliates\, he was Visiting Assistant Professor of Music at MIT\, Assistant Editor at the Computer Music Journal\, and Assistant Professor of Recording Arts and Music Technology at Towson University. He has a PhD and MA in music theory and composition from New York University\, and a BA in music from Harvard University.</p>
DTEND:20250517T190000Z
LOCATION:Room 301-305
DTSTART:20250517T183000Z
STATUS:CONFIRMED
SUMMARY:[talk] Elastic Generics: Flexible Static Typing with TypeVarTuple and Unpack
TRANSP:OPAQUE
UID:89f80e02-1c58-5567-b4f6-42edbe185319
URL:https://us.pycon.org/2025/schedule/presentation/83/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: summit\nName: Hatchery – Hometown Heros\n<p>Hatchery – Hometown Heros</p>\n
DTEND:20250517T214500Z
LOCATION:Room 317
DTSTART:20250517T174500Z
STATUS:CONFIRMED
SUMMARY:[summit] Hatchery – Hometown Heros
TRANSP:OPAQUE
UID:4adf9b21-f862-570f-b5d1-80a20fba3ecd
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: tutorials\nKind: tutorial\nName: Python project packaging: from zero to hero\nhttps://us.pycon.org/2025/schedule/presentation/72/\n<p>Packaging your code is an essential skill that empowers you to share your Python projects with the world. However\, the packaging process can appear complex and overwhelming\, and it can be difficult to know where to begin.</p>\n<p>This hands-on tutorial will demystify packaging and get you started with the fundamentals of Python packaging. We’ll cover how to structure projects and follow best practices for project layouts\, specify project metadata\, make your package installable\, and publish it to PyPI. We’ll use the modern and easy-to-use packaging tool <em>uv</em>\, but most of the topics covered will also apply to any modern packaging tool (like PDM\, Hatch or Poetry). </p>\n<p>Every new concept will be introduced as a group\, practised individually through practical exercises and then reflected on together as a group. The materials will be available on GitHub\, and a compressed packaging cheat sheet will be provided as assistance for the exercises and future reference. </p>\n<p>By the end of this tutorial\, participants will have created a properly structured Python package\, and learned how to manage dependencies effectively with packaging tools such as uv\, publish a package to PyPI\, and set up basic CI/CD for the project on GitHub.</p>\n<p><strong>Audience:</strong><br />\nThis tutorial assumes you are familiar with basic Python syntax\, have some experience creating (smaller or larger) Python programs\, and want to learn how to package and share your code. Whether you’re a beginner Pythonista eager to start sharing your code or an experienced developer who wants to be brought up to speed with the current state of packaging\, this is the tutorial for you. </p>\n<p><strong>Prerequisites:</strong><br />\nFor this tutorial\, you will need a laptop with Python installed.</p>\nSpeakers:\nMarie Roald\n<p>Marie Roald is a researcher\, data scientist and educator. For the past years\, she has developed and taught programming courses with the goal of empowering teachers to apply programming in their classrooms and has taught courses both digitally and physically at major cities all across Norway. Marie also has experience with academic conferences and science communication.</p>\nYngve Mardal Moe\n<p>Yngve is an experienced Python educator\, Python developer open source enthusiast. He is a co-creator of TurtleThread and has taught Python to professionals\, university students and academics. He is currently tech lead working on safely automating the Norwegian power grid. While working at the Norwegian University of Life Sciences\, Yngve headed a project transforming introduction to Python into a tutorial-based course focusing on active learning.</p>
DTEND:20250514T163000Z
LOCATION:Room 319
DTSTART:20250514T130000Z
STATUS:CONFIRMED
SUMMARY:[tutorial] Python project packaging: from zero to hero
TRANSP:OPAQUE
UID:ff6c5a08-b2fa-56b6-ac00-6830f4074b6a
URL:https://us.pycon.org/2025/schedule/presentation/72/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Working with Audio in Python (feat. Pedalboard)\nhttps://us.pycon.org/2025/schedule/presentation/115/\n<p>Digital audio has been around for as long as computers\, but working with audio data can still be complicated\, especially in Python. In this talk\, we'll talk about how digital audio works from the ground up (from sounds\, to bytes\, to files)\, how you can use Python to do a bunch of really neat things with audio\, and how a Python library - Pedalboard - helps make working with audio much easier.</p>\n<p>Ever used a digital audio workstation (DAW) like GarageBand\, Ableton Live\, Logic\, or Pro Tools? Today's musicians use DAWs as instruments in themselves. But what if you want to combine the power of a DAW with the flexibility of writing your own code?</p>\n<p>Pedalboard was built to fill this niche: to pull the power of a DAW into your Python code. Pedalboard makes it easy to build and apply audio effects\, read and write audio files\, and load audio plug-ins ("VSTs") without any complicated dependencies or frameworks. Just <code>import pedalboard</code> and go!</p>\nSpeakers:\nPeter Sobot\n<p>Peter is a Staff Machine Learning Engineer at Spotify in New York\, where he helps lead their Audio Intelligence Lab - a machine learning research lab dedicated to pushing the state of the art in audio-based machine learning. He also maintains <a href="https://github.com/spotify/pedalboard">Pedalboard</a>\, a popular package used for working with audio data in Python. He's secretly Canadian (howdy neighbour!) and when not hacking on audio software\, he plays drums and bass in four bands all around New York City.</p>
DTEND:20250516T214500Z
LOCATION:Ballroom A
DTSTART:20250516T211500Z
STATUS:CONFIRMED
SUMMARY:[talk] Working with Audio in Python (feat. Pedalboard)
TRANSP:OPAQUE
UID:30f2511f-e7f2-59e5-b55a-e1687813f809
URL:https://us.pycon.org/2025/schedule/presentation/115/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: tutorials\nKind: tutorial\nName: Speed Up Your Code by 50x: A Guide to Moving from NumPy to JAX\nhttps://us.pycon.org/2025/schedule/presentation/54/\n<p>JAX is more than just "NumPy for the GPU"—it offers advanced features but also presents unique challenges. This hands-on tutorial provides a practical introduction to JAX through interactive exercises covering key concepts such as:</p>\n<ul>\n<li><code>jit</code> compilation for performance optimization</li>\n<li>Native control flow using loop primitives</li>\n<li>Efficient function mapping with vmap</li>\n<li>Performance profiling techniques</li>\n<li><code>jax</code> random number generation design and usage</li>\n</ul>\n<p>Participants will then deepen their understanding by iteratively migrating a <strong>Gaussian Mixture Model</strong> from a pure <code>numpy</code> implementation to an optimized <code>jax</code> version\, highlighting a real-world use-case.</p>\n<p>This tutorial distills lessons the authors found invaluable during their own migration from <code>numpy</code> to <code>jax</code>\, achieving over an order-of-magnitude speedup in real-world applications. Designed to provide attendees with a jumpstart on adopting <code>jax</code>\, this session—along with its comprehensive set of notebooks—aims to be a one-stop resource for anyone looking to leverage <code>jax</code> for numerical computing and machine learning.</p>\nSpeakers:\nIan Quah\n<p>I am a second-year Ph.D. student in the Neural Systems and Behavior program at the University of Washington. My research integrates Neuroscience\, Psychology\, and Machine Learning\, aiming to use machine learning techniques to gain insights into biological processes and leverage those insights to refine and enhance model performance.</p>\n<p>In addition\, I work on privacy-preserving machine learning\, specializing in homomorphic encryption for secure computations. I contribute to the OpenFHE lattice-cryptography library\, where I serve as the Head of Technical Outreach.</p>\nBryan Quah\n<p>Bryan works as researcher at Cedars Sinai Medical Center in Los Angeles where he develops machine learning methods for neuroimaging.</p>
DTEND:20250514T163000Z
LOCATION:Room 321
DTSTART:20250514T130000Z
STATUS:CONFIRMED
SUMMARY:[tutorial] Speed Up Your Code by 50x: A Guide to Moving from NumPy to JAX
TRANSP:OPAQUE
UID:c6577abe-8c0f-5a02-ac84-aa94c2247b1e
URL:https://us.pycon.org/2025/schedule/presentation/54/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: informational\nName: Swag Pickup Opens\n<p>Swag Pickup Opens</p>\n
DTEND:20250518T140000Z
LOCATION:Hall A
DTSTART:20250518T140000Z
STATUS:CONFIRMED
SUMMARY:[informational] Swag Pickup Opens
TRANSP:OPAQUE
UID:0eb7e68b-ca49-5dbe-ac37-14284ceea549
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: talks\nKind: talk\nName: Safeguard your precious API endpoints built on FastAPI using OAuth 2.0\nhttps://us.pycon.org/2025/schedule/presentation/88/\n<p>Audience Level: Beginners\, Pythonistas who build on FastAPI who are not security experts but still need to deploy secure APIs.</p>\n<p>Is implementing authorization to your API endpoints an afterthought? Who should have access to your API endpoints? This talk covers using OAuth 2.0 to secure API endpoints (including ML endpoints) built on FastAPI following industry-recognized best practices. Come on a journey with me from taking your API endpoints to being not just functional but also secure. When you follow secure identity standards\, you’ll be equipped with a deeper understanding of the critical need for authorization.</p>\nSpeakers:\nSemona Igama\n<p>Semona is a Developer Advocate at Okta. She enjoys chatting about OpenID Connect\, OAuth 2.0\, and web security\, but most of all\, learning how developers learn best. Outside work\, Semona is a Pythonista\, loves kombucha\, and plays board/role-playing games and Ultimate!</p>
DTEND:20250516T183000Z
LOCATION:Hall C
DTSTART:20250516T180000Z
STATUS:CONFIRMED
SUMMARY:[talk] Safeguard your precious API endpoints built on FastAPI using OAuth 2.0
TRANSP:OPAQUE
UID:3c7ea849-af4c-57de-993f-6062c2e37152
URL:https://us.pycon.org/2025/schedule/presentation/88/
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Section: events\nKind: event\nName: Newcomer Orientation\n<p>Newcomer Orientation</p>\n
DTEND:20250515T210000Z
LOCATION:Hall B
DTSTART:20250515T203000Z
STATUS:CONFIRMED
SUMMARY:[event] Newcomer Orientation
TRANSP:OPAQUE
UID:47886d2f-f044-587b-92a2-388590ed8ec0
END:VEVENT
END:VCALENDAR