{"conference": {"content": {"about": "<p>PyCon US 2025 is the largest annual gathering for the community using and developing the open-source Python programming language. It is produced and underwritten by the Python Software Foundation, the 501(c)(3) nonprofit organization dedicated to advancing and promoting Python. Through PyCon US, the PSF advances its mission of growing the international community of Python programmers.</p>\n<h2>Code of Conduct</h2>\n<p>PyCon US is a diverse conference dedicated to providing an enjoyable experience to everyone. Help us do this by following our <a href=\"https://us.pycon.org/2025/about/code-of-conduct/\">Code of Conduct</a>.</p>\n<p>If you need to report an incident, please find a PyCon US Staff member, or email <a href=\"mailto:pycon-us-report@python.org\">pycon-us-report@python.org</a>. You can also review our <a href=\"https://us.pycon.org/2025/about/code-of-conduct/attendee-reporting/\">Procedures for Reporting Incidents</a>.</p>\n<h2>Conference  Wi-Fi</h2>\n<ul>\n<li>SSID: <code>PyConUS25</code></li>\n<li>Password: <code>pyconPA2025</code></li>\n</ul>\n<h2>Dates, Times, Locations</h2>\n<p><strong>David L. Lawrence Convention Center</strong><br />\n1000 Fort Duquesne Boulevard, Pittsburgh, PA 15222</p>\n<p><em>All times <code>US/Eastern</code></em></p>\n<h3>Registration Hours &amp; Location:</h3>\n<p><strong>Concourse A</strong></p>\n<ul>\n<li>Wednesday, May 14: 7am - 6pm</li>\n<li>Thursday, May 15: 7am - 6pm</li>\n<li>Friday, May 16: 7am - 5pm</li>\n<li>Saturday, May 17: 8am - 5pm</li>\n<li>Sunday, May 18: 8am - 1pm</li>\n</ul>\n<h3>Information Desk Hours &amp; Location:</h3>\n<p><strong>Concourse A</strong></p>\n<ul>\n<li>Wednesday, May 14: 7am - 5pm</li>\n<li>Thursday, May 15: 7am - 5pm</li>\n<li>Friday, May 16: 7am - 5pm</li>\n<li>Saturday, May 17: 8am - 5pm</li>\n<li>Sunday, May 18: 8am - 1pm</li>\n</ul>\n<h3>Swag Pickup Hours &amp; Location</h3>\n<p><strong>Hall A</strong></p>\n<ul>\n<li>Friday, May 16: 9am - 5pm</li>\n<li>Saurday, May 17: 9am - 1:30pm</li>\n<li>Sunday, May 18: 10am - 11am</li>\n</ul>\n<p><em>Extra t-shirts available for purchase Sunday, May 18 11am - 1pm</em></p>\n<h3>Attendee Quiet Room</h3>\n<p><strong>Room 405</strong></p>\n<ul>\n<li>Thursday, May 15: 9am - 5pm</li>\n<li>Friday, May 16: 7am - 5pm</li>\n<li>Saturday, May 17: 7am - 5pm</li>\n<li>Sunday, May 18: 7am - 5pm</li>\n</ul>\n<h3>Lost &amp; Found</h3>\n<ul>\n<li>Available at Information Desk between Info Desk open hours</li>\n<li>All items will be taken to the Staff Office (Room 306/307) at the end of each day</li>\n</ul>\n<h3>Luggage Check Hours &amp; Location</h3>\n<p><strong>Show Office C</strong></p>\n<ul>\n<li>Saturday, May 17: 8am - 6pm</li>\n<li>Sunday, May 18: 8am - 6pm</li>\n</ul>\n<p><strong>All items <em>must</em> be picked up by 6pm <em>both</em> evenings</strong></p>\n<h2>Mobile App</h2>\n<p>The source code for this mobile app is available <a href=\"https://github.com/psf/pycon-us-mobile\">on GitHub</a>.</p>", "about-psf": "<p>The Python Software Foundation is a 501(c)(3) nonprofit dedicated to advancing and promoting Python. The PSF supports and encourages Python events world-wide to advance its mission of growing the international community of Python programmers, and hosts the North American PyCon conference as its flagship annual event. As stated on the PSF\u2019s web site:</p>\n<p>The mission of the Python Software Foundation is to promote, protect, and advance the Python programming language, and to support and facilitate the growth of a diverse and international community of Python programmers.</p>\n<p>You can learn more at the PSF web site by following these links:</p>\n<ul>\n<li><a href=\"https://www.python.org/psf-landing/\">PSF home page</a></li>\n<li><a href=\"https://www.python.org/psf/mission/\">Mission</a></li>\n<li><a href=\"https://www.python.org/psf/sponsorship/\">Becoming a sponsor</a></li>\n<li><a href=\"https://www.python.org/psf/donations/\">How to donate</a></li>\n<li><a href=\"https://www.python.org/psf/membership/\">Becoming a member</a></li>\n<li><a href=\"http://pyfound.blogspot.com/\">Official PSF blog</a></li>\n</ul>", "social-media": "<h2>Connect on social media</h2>\n<ul>\n<li><a href=\"https://fosstodon.org/@pycon\">Mastodon</a><ul>\n<li>Tooting at us? <code>@pycon</code></li>\n<li>Tooting about us? <code>#PyConUS</code></li>\n</ul>\n</li>\n<li><a href=\"https://bsky.app/profile/pycon.us\">Bluesky</a><ul>\n<li>Talking at us? <code>@pycon.us</code></li>\n<li>Talking about us? <code>#PyConUS</code></li>\n</ul>\n</li>\n<li><a href=\"https://twitter.com/pycon\">twitter</a><ul>\n<li>Tweeting at us? <code>@pycon</code></li>\n<li>Tweeting about us? <code>#PyConUS</code></li>\n</ul>\n</li>\n<li><a href=\"https://pycon.blogspot.com\">Blog</a></li>\n<li><a href=\"https://www.linkedin.com/company/thepsf]\">LinkedIn</a></li>\n<li><a href=\"https://www.youtube.com/c/PyConUS\">YouTube</a></li>\n</ul>"}, "sponsors": {"Visionary": [{"name": "Google", "level": "Visionary", "level_order": 0, "mobile_banner": true, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/Google_2015_logo.png", "description": "Google believes that open source is good for everyone. By being open and freely available, it enables and encourages collaboration and the development of technology.", "booth_number": null, "job_fair_table_number": null}, {"name": "NVIDIA", "level": "Visionary", "level_order": 0, "mobile_banner": true, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/NVIDIA_Logo_V_ForScreen_ForLightBG_gSYoEsz.png", "description": "NVIDIA pioneered accelerated computing to tackle challenges no one else can solve. Our work in AI and digital twins is transforming the world's largest industries and profoundly impacting society.", "booth_number": null, "job_fair_table_number": null}, {"name": "Meta", "level": "Visionary", "level_order": 0, "mobile_banner": true, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/Meta_lockup_positive_primary_RGB_copy_hTkI52G.png", "description": "Meta, a social technology company", "booth_number": "501", "job_fair_table_number": "T3"}, {"name": "Bloomberg", "level": "Visionary", "level_order": 0, "mobile_banner": true, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/BBGEngineering_black_ft6YuBD.png", "description": "Bloomberg is building the world's most trusted information network for financial professionals. Our 9,000+ engineers are dedicated to advancing and building new systems for the Bloomberg Terminal to solve complex, real-world problems. \u200bWe trust our teams to choose the right technologies for the job, and, at Bloomberg, the answer is often Python. We employ an active community of 4,000+ Python developers who have their hands in everything from financial analytics and data science to contributing to open source technologies like Project Jupyter. Bloomberg is proud to be a Visionary Sponsor of the Python Software Foundation and sponsor of many Python community events around the world. Learn more at TechAtBloomberg.com/python.", "booth_number": "315", "job_fair_table_number": "T2"}, {"name": "Fastly", "level": "Visionary", "level_order": 0, "mobile_banner": true, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/fastly.png", "description": "Fastly", "booth_number": "509", "job_fair_table_number": null}], "Sustainability": [{"name": "Microsoft", "level": "Sustainability", "level_order": 1, "mobile_banner": true, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/Microsoft-logo_rgb_c-gray_2_WZVBa17.png", "description": "Open Source enables Microsoft products and services to bring choice, technology and community to our customers.", "booth_number": "301", "job_fair_table_number": null}], "Maintaining": [{"name": "Snowflake", "level": "Maintaining", "level_order": 2, "mobile_banner": true, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/Copy_of_bug-sno-R-blue.png", "description": "Snowflake enables organizations to learn, build, and connect with their data-driven peers. Collaborate, build data apps & power diverse workloads in the AI", "booth_number": "309", "job_fair_table_number": null}, {"name": "MongoDB", "level": "Maintaining", "level_order": 2, "mobile_banner": true, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/MongoDB_Logo_PMS_Forest-Green.jpg", "description": "Headquartered in New York, MongoDB\u2019s mission is to empower innovators to create, transform, and disrupt industries by unleashing the power of software and data. Built by developers, for developers, MongoDB\u2019s developer data platform is a database with an integrated set of related services that allow development teams to address the growing requirements for today\u2019s wide variety of applications, all in a unified and consistent user experience. MongoDB has tens of thousands of customers in over 100 countries. The MongoDB database platform has been downloaded hundreds of millions of times since 2007, and there have been millions of builders trained through MongoDB University courses. To learn more, visit mongodb.com.", "booth_number": "407", "job_fair_table_number": null}, {"name": "AWS", "level": "Maintaining", "level_order": 2, "mobile_banner": true, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/aws-logoArtboard_1.png", "description": "Amazon Web Services", "booth_number": "401", "job_fair_table_number": "T1"}, {"name": "Qube Research & Technologies", "level": "Maintaining", "level_order": 2, "mobile_banner": true, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/QRT-Brand-Master-BO-HR.png", "description": "Qube Research & Technologies (QRT) is a global quantitative and systematic investment manager, operating in all liquid asset classes across the world. We are a technology and data driven group implementing a scientific approach to investing. Combining data, research, technology and trading expertise has shaped QRT\u2019s collaborative mindset which enables us to solve the most complex challenges. QRT\u2019s culture of innovation continuously drives our ambition to deliver high quality returns for our investors", "booth_number": "412", "job_fair_table_number": "T5"}, {"name": "Red Hat", "level": "Maintaining", "level_order": 2, "mobile_banner": true, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/Logo-Red_Hat-C-Standard-RGB.Large-logo-transparent-background.png", "description": "Red Hat is the world\u2019s leading provider of enterprise open source solutions, using a community-powered approach to deliver high-performing Linux, hybrid cloud, edge, and Kubernetes technologies.", "booth_number": null, "job_fair_table_number": null}, {"name": "American Express", "level": "Maintaining", "level_order": 2, "mobile_banner": true, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/AXP_BlueBoxLogoR.png", "description": "American Express is a globally integrated payments company, providing customers with access to products, insights and experiences that enrich lives and build business success.", "booth_number": null, "job_fair_table_number": null}, {"name": "Capital One", "level": "Maintaining", "level_order": 2, "mobile_banner": true, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/_Web-C1_Core_302_186.png", "description": "At Capital One, we use real-time data at scale, AI and machine learning, and the power of the cloud to solve challenging industry problems and build products, services, and experiences that can make a real difference in millions of peoples\u2019 lives.", "booth_number": "212", "job_fair_table_number": "T4"}], "Contributing": [{"name": "Anaconda, Inc", "level": "Contributing", "level_order": 3, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/2020_Anaconda_Logo_RGB_Corporate.png", "description": "With more than 45 million users, Anaconda is the most popular operating system for AI providing access to the foundational open-source Python packages used in modern AI, data science and machine learning through a seamless platform. We pioneered the use of Python for data science, championed its vibrant community, and continue to steward open-source projects that make tomorrow\u2019s innovations possible. Our enterprise-grade solutions enable corporate, research, and academic institutions around the world to harness the power of open-source for competitive advantage, groundbreaking research, and a better world. To learn more visit https://www.anaconda.com.", "booth_number": "601", "job_fair_table_number": null}, {"name": "JetBrains", "level": "Contributing", "level_order": 3, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/jetbrains_oy8RCvf.png", "description": "JetBrains is a global software vendor specializing in the creation of intelligent, productivity-enhancing tools for software developers, data scientists, and teams. Its range of Python products include PyCharm, a full-stack Python IDE; DataSpell, a new IDE for data scientists; and Datalore, a smart Jupyter environment for team collaboration.", "booth_number": "421", "job_fair_table_number": null}, {"name": "Indeed", "level": "Contributing", "level_order": 3, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/Indeed_Logo_RGB_q0kmZNH.png", "description": "Indeed is a global employment website that connects job seekers with employers. Founded in 2004, it serves as a job search engine, aggregating listings from company websites, job boards, staffing agencies, and more. It also provides tools for resume posting, company reviews, salary comparisons, and hiring solutions for employers. Indeed operates in over 60 countries and is one of the largest job-related platforms globally.", "booth_number": null, "job_fair_table_number": null}, {"name": "Cubist Systematic Strategies", "level": "Contributing", "level_order": 3, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/Cubist.jpeg", "description": "Cubist Systematic Strategies is the systematic investing business of Point72. We deploy systematic, computer-driven trading strategies across multiple liquid asset classes. The core of our effort is rigorous research into a wide range of market anomalies, driven by our passion to understand the world around us and fueled by unparalleled access to a wide range of publicly available data sources.", "booth_number": "330", "job_fair_table_number": null}, {"name": "OpenEDG Python Institute", "level": "Contributing", "level_order": 3, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/python-institute-regular_Zs9cpIT.png", "description": "An OpenEDG non-profit program to promote the Python programming language, train Python programmers, and support professional careers in Python and related technologies.", "booth_number": "216", "job_fair_table_number": null}, {"name": "Western Governors University (WGU)", "level": "Contributing", "level_order": 3, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/School_of_Technology_Logo_RGB_Full_Color.png", "description": "Online University", "booth_number": "605", "job_fair_table_number": null}], "Supporting": [{"name": "Ansys", "level": "Supporting", "level_order": 4, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/Ansys_Logo_WhiteBackground_PNG.png", "description": "Ansys is the global leader in engineering simulation. Ansys simulation gives engineers the ability to explore and predict how products will work \u2014 or won\u2019t work \u2014 in the real world. If you've ever seen a rocket launch, flown on an airplane, driven a car, used a computer, touched a mobile device, crossed a bridge or put on wearable technology, chances are you've used a product where Ansys software played a critical role in its creation.", "booth_number": null, "job_fair_table_number": "T7"}, {"name": "AutoKitteh", "level": "Supporting", "level_order": 4, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/Group-238479.png", "description": "Build Durable Workflows with Just a Few Lines of Code", "booth_number": "526", "job_fair_table_number": null}, {"name": "Gel", "level": "Supporting", "level_order": 4, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/gel_logo_512_light_theme2x-1.png", "description": "Gel", "booth_number": "326", "job_fair_table_number": null}, {"name": "Sentry", "level": "Supporting", "level_order": 4, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/image_processing20210621-1638-1g8u105.png", "description": "Sentry is the debuggability platform for developers who favor action over dashboards. 4+ million developers use Sentry to fix fast and get back to building", "booth_number": "608", "job_fair_table_number": null}, {"name": "Jane Street", "level": "Supporting", "level_order": 4, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/logo_horizontal_black-01.png", "description": "Jane Street is a quantitative trading firm with offices worldwide. We hire smart, humble people who love to solve problems, build systems, and test theories. Will our next great idea come from you?", "booth_number": "100", "job_fair_table_number": null}, {"name": "Old Mission", "level": "Supporting", "level_order": 4, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/Old_Mission_Logo_-_original_2.png", "description": "Old Mission is a global, multi-asset market maker, specializing in valuing individual securities and complicated derivatives at the speed of modern markets. Our advanced market-making platform allows us to collaborate seamlessly with the world\u2019s largest exchanges, brokers, and institutional investors, providing them with a trusted partner for efficient risk transfer across a diverse range of securities worldwide.", "booth_number": "534", "job_fair_table_number": "T6"}, {"name": "PydanticAI", "level": "Supporting", "level_order": 4, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/pydantic-ai-light.png", "description": "PydanticAI is a Python agent framework designed to make it less painful to build production grade applications with Generative AI.", "booth_number": "427", "job_fair_table_number": null}, {"name": "Salesforce Heroku", "level": "Supporting", "level_order": 4, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/Logo_dark__CMYK_heroku.png", "description": "Cloud Application Platform", "booth_number": "221", "job_fair_table_number": null}, {"name": "Algorand", "level": "Supporting", "level_order": 4, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/algorand_full_logo_black.png", "description": "Algorand\u2019s mission is to power a world where information has integrity and innovative ideas can scale. The Algorand Foundation supports this mission, and Algorand\u2019s rapidly growing ecosystem of applications, by providing a best-in-class developer environment, supporting key infrastructure and setting technical standards, and offering comprehensive support to developers and entrepreneurs.\r\nDevelopers on Algorand are building applications that solve important problems at a global scale: instant payments in war and disaster zones, self-sovereign identity for the disenfranchised, supply-chain traceability for global commerce, permissionless protocols addressing financial inclusion, and the creation of entirely new markets through tokenization, to name a few. Developers can start their journey building on Algorand at algorand.co/algokit", "booth_number": "611", "job_fair_table_number": null}], "Partner": [{"name": "CodSpeed", "level": "Partner", "level_order": 5, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/darkfalse_verticalfalse2x.png", "description": "CodSpeed integrates into dev and CI workflows to measure performance, detect regressions, and enable actionable optimizations.", "booth_number": "519", "job_fair_table_number": null}, {"name": "Datadog", "level": "Partner", "level_order": 5, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/datadog_logo_h_rgb.jpg", "description": "Modern monitoring & security.\r\n\r\nSee inside any stack, any app, at any scale, anywhere.", "booth_number": "532", "job_fair_table_number": null}, {"name": "Anvil", "level": "Partner", "level_order": 5, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/ANVIL-Logo-black-with-padding.png", "description": "Build web apps with nothing but Python - no Javascript required!", "booth_number": "517", "job_fair_table_number": "T11"}, {"name": "Redis", "level": "Partner", "level_order": 5, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/Redis_Logo_Red_RGB.png", "description": "Redis is the world\u2019s fastest data platform. We provide cloud and on-prem solutions for caching, vector search, and more that seamlessly fit into any tech stack. With fast setup and fast support, we make it simple for digital customers to build, scale, and deploy the fast apps our world runs on.", "booth_number": "220", "job_fair_table_number": null}, {"name": "Codeflash", "level": "Partner", "level_order": 5, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/Codeflash_Logo_with_Strong_Black_BG.png", "description": "Codeflash is a general-purpose performance optimizer for Python code. It automatically identifies performance bottlenecks, uses LLMs to generate multiple optimization strategies, and rigorously verifies their correctness\u2014ensuring your code runs at peak efficiency. Trusted by leading engineering teams like Pydantic and Langflow, Codeflash has delivered remarkable speed improvements in real-world codebases. Codeflash can optimize entire repositories, and when installed as a GitHub Action, it can optimize all future code you write. This lets Python developers focus on writing correct implementations while Codeflash automatically finds the most performant version of their code.", "booth_number": "629", "job_fair_table_number": "T17"}, {"name": "Reuven Lerner \u2014 Python training", "level": "Partner", "level_order": 5, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/LERNER-Logo-Simple_Dark.png", "description": "Want to level up your Python skills? Reuven Lerner has been teaching Python for more than 30 years, both to companies around the world and to individuals via his LernerPython training platform. Between video lessons, hundreds of exercises, office hours, and a Discord server, you (or your team at work) will not only learn the material quickly and deeply, but will also get the support you need when questions come up. Stop by the LernerPython booth at PyCon US, where you can chat with Reuven, win copies of his books, and speak with people who have improved their Python skills on the LernerPython platform.", "booth_number": "231", "job_fair_table_number": "T9"}, {"name": "Coiled", "level": "Partner", "level_order": 5, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/Coiled_-_Black_Adjusted.png", "description": "Dask and Coiled make it easy to scale Python to run in parallel. Dask provides parallel algorithms for PyData and Coiled provides distributed infrastructure in the cloud.", "booth_number": "233", "job_fair_table_number": null}, {"name": "Dagster Labs", "level": "Partner", "level_order": 5, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/dagster-primary-horizontal.png", "description": "Dagster is the enterprise orchestration platform that puts developer experience first. With fully serverless or hybrid deployments, native branching, built-in cataloging, and cost observability, you can now expect more from your orchestration solution.", "booth_number": "521", "job_fair_table_number": null}, {"name": "Temporal", "level": "Partner", "level_order": 5, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/Temporal_LogoLockup_Horizontal_dark_1_2x.png", "description": "Temporal delivers an open source durable execution solution that abstracts away the complexity of building scalable distributed systems. It presents a development abstraction that preserves complete application state so that in the case of a host or software failure it can seamlessly migrate execution to another machine. This eliminates complex failure and retry logic from applications, so developers can focus on what matters \u2013 delivering reliable systems, faster. Temporal Cloud provides a managed service backed by the originators of the project. It's adopted by thousands for mission-critical applications, including Stripe, Netflix, AlaskaAir, Snap, Datadog, and Hashicorp. Learn more at temporal.io.", "booth_number": "435", "job_fair_table_number": "T24"}, {"name": "Chainguard", "level": "Partner", "level_order": 5, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/_Black-Flat-Logo.jpg", "description": "Chainguard is the secure foundation for software development and deployment. By providing guarded open source software, built from source and updated continuously, Chainguard helps organizations eliminate threats in their software supply chains. Its customers include Fortune 500 enterprises and leading technology companies, including Anduril, Canva, Checkmarx, HPE, GitLab, Snowflake, and Wiz.", "booth_number": "235", "job_fair_table_number": "T10"}, {"name": "Posit, PBC", "level": "Partner", "level_order": 5, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/Posit-Logos-2024_horiz-full-color_3.png", "description": "Posit, formerly RStudio, is committed to advancing data science software for everyone, regardless of means. Our best-in-class tools empower you to innovate for any future. Deploy R and Python products, rapidly share insights, and securely manage packages at scale with full reproducibility.", "booth_number": "523", "job_fair_table_number": null}, {"name": "AlphaSense", "level": "Partner", "level_order": 5, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/AlphaSenseLogo.png", "description": "The Leading Financial Research Platform", "booth_number": "218", "job_fair_table_number": "T9"}, {"name": "Kensho", "level": "Partner", "level_order": 5, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/Kensho-logo_Skywalker_2000.png", "description": "Kensho is an Artificial Intelligence company that builds solutions to uncover insights in messy and unstructured data that enable critical workflows and empower businesses to make decisions with conviction. Our products are powered by state-of-the-art Machine Learning techniques that allow customers to unlock insights faster using Artificial Intelligence, including voice-to-text transcription, data extraction from documents and natural language processing that gives computers the ability to comprehend and analyze human language.", "booth_number": "222", "job_fair_table_number": "T12"}, {"name": "Duolingo", "level": "Partner", "level_order": 5, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/Duolingo_landscape-lockup_RGB.png", "description": "Our mission is to develop the best education in the world and make it universally available.", "booth_number": "334", "job_fair_table_number": "T8"}, {"name": "ReversingLabs", "level": "Partner", "level_order": 5, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/RL-Logo-Primary-Color.png", "description": "ReversingLabs is the trusted name in file and software security, to verify and deliver safe binaries. With the largest Threat Repository in the industry with over 40 billion searchable files, the Fortune 500 trusts their software supply chain security and malware analysis with ReversingLabs.", "booth_number": "525", "job_fair_table_number": null}, {"name": "Analog Devices, Inc.", "level": "Partner", "level_order": 5, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/ADI-Logo-RGB-FullColor.png", "description": "Analog Devices is a global, high-performance technology company solving tough engineering challenges with innovative hardware, software and AI/ML solutions.", "booth_number": null, "job_fair_table_number": null}, {"name": "Motional", "level": "Partner", "level_order": 5, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/Motional_Logo_Stacked_Full_Color.png", "description": "Motional is a Hyundai Motor Group joint venture developing Level 4 autonomous vehicles", "booth_number": null, "job_fair_table_number": null}, {"name": "Hudson River Trading", "level": "Partner", "level_order": 5, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/04_HRT_Stacked_Combo_-_with__-_Q2_2024.png", "description": "HRT is first and foremost a math and technology company. We are engineers and researchers working as one team to solve difficult problems, and trading millions of shares a day on the world\u2019s financial markets.", "booth_number": "433", "job_fair_table_number": null}], "Participating": [{"name": "Parafin", "level": "Participating", "level_order": 6, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/Parafin_logo_-_black_large.png", "description": "Parafin is a financial infrastructure company that provides platforms with embedded financial products for their small businesses by abstracting the complexity of capital markets, underwriting, servicing, compliance, and customer support. By powering the financial services of marketplaces and payment processors, small businesses can run and grow themselves despite uncertain economic conditions. In less than three years, Parafin has launched on Amazon, Walmart, Worldpay, and more platforms to serve hundreds of thousands of businesses and extended over $8 billion in offers. Parafin was founded in 2020 by Sahill Poddar, Vineet Goel, and Ralph Furman, and is backed by GIC, Notable Capital, Redpoint Ventures, Ribbit Capital, and Thrive Capital.", "booth_number": "332", "job_fair_table_number": "T16"}, {"name": "Commonwealth Bank of Australia", "level": "Participating", "level_order": 6, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/CBA_CommBankAust_Horizontal_Wordmark_sRGB3x-100_1AY6G6l.jpg", "description": "Commonwealth Bank of Australia is one of the leading banks in Australia, serving more than 17 million customers. We focus on providing retail and commercial banking services predominantly in Australia, and in New Zealand through our subsidiary, ASB.", "booth_number": null, "job_fair_table_number": null}, {"name": "Astral", "level": "Participating", "level_order": 6, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/astral-logo-formation-1.png", "description": "Astral\u2019s mission is to make the Python ecosystem more productive by building high-performance developer tools, starting with Ruff.", "booth_number": null, "job_fair_table_number": null}, {"name": "Litestar", "level": "Participating", "level_order": 6, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/Litestar_-_Banner_-_Inline_-_Light.png", "description": "Effortlessly build performant APIs", "booth_number": null, "job_fair_table_number": null}, {"name": "Python Engineer Development Association", "level": "Participating", "level_order": 6, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/pythoned_notext.png", "description": "The company originated to authorize tests and learning materials, which serve as guidelines for study, in addition to schools in order to support the training of sound Python programmers who understand Pythonic as the market for the language grows.", "booth_number": null, "job_fair_table_number": null}, {"name": "Six Feet Up", "level": "Participating", "level_order": 6, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/SFU-Logo-python__ai_for_good_FINAL-square-full_color.png", "description": "Six Feet Up accelerates IMPACTFUL Projects\u2122 by crafting superior and lasting software solutions. As a consultancy with a core focus on Python and AI for the greater good, we bring unparalleled expertise in application development, AI and big data to launch game-changing ideas faster. Driven by the EOS Process\u2122 and home to an AWS Hero, Six Feet Up is a woman-owned software company that values a blend of emotional and intellectual intelligence. Our dedication to excellence is showcased by our 5-star referral rating on Clutch.co. Trusted by leading organizations such as Capital One, NASA, Purdue University, and UNEP since 1999, we are eager to help our clients make an impact.", "booth_number": null, "job_fair_table_number": null}, {"name": "Hackers Guild PGH", "level": "Participating", "level_order": 6, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/tlogo.png", "description": "Hackers Guild PGH is Pittsburgh\u2019s hands-on space for cybersecurity, hardware hacking, and creative tech. We provide tools, labs, and community for builders, breakers, and learners at every level  with Python powering everything from automation to reverse engineering. Life doesn't come with directions  sometimes you have to hack your way through it.", "booth_number": null, "job_fair_table_number": null}, {"name": "No Starch Press", "level": "Participating", "level_order": 6, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/No_Starch_Logo_2.png", "description": "No Starch Press publishes the finest in geek entertainment, including bestsellers like Python Crash Course, Automate the Boring Stuff with Python, and Hacking: The Art of Exploitation. Our popular titles give you the no-nonsense expertise of renowned authors in fields like machine learning, pentesting, data science, and more. Readers appreciate our straightforward presentation, fearless approach to complex technologies, and longtime support of the global hacking community.", "booth_number": null, "job_fair_table_number": null}, {"name": "Packt", "level": "Participating", "level_order": 6, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/Packt_Logo-03_1.png", "description": "Packt is an established global technical learning content provider founded in Birmingham, UK with over twenty years of experience delivering premium rich content from ground-breaking authors on a wide range of emerging and popular technologies. We help Tech Pros put software to work\u202fby distilling and sharing the working knowledge of their peers. Our titles have global relevance, our multimedia portfolio includes over 7,000 books, e-books, audiobooks, and video courses. These resources are designed to provide IT professionals with actionable knowledge, helping them to achieve their goals, whether it involves gaining expertise in emerging technologies or enhancing skills in more established tools", "booth_number": null, "job_fair_table_number": null}, {"name": "Netflix", "level": "Participating", "level_order": 6, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/Netflix_Logo_RGB_d468dMp.png", "description": "", "booth_number": null, "job_fair_table_number": null}], "Associate": [{"name": "Feedzai", "level": "Associate", "level_order": 7, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/FeedzaiBlue.png", "description": "Feedzai - The leading Financial Crime Prevention platform, that  uses purpose-built AI to stop fraud and lower compliance costs covers the entire fincrime lifecycle - from account opening, to fraud prevention, to AML compliance.", "booth_number": null, "job_fair_table_number": null}, {"name": "BeProud", "level": "Associate", "level_order": 7, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/BP_logo_color.png", "description": "We are a team of software development professionals.With our knowledge, technology, creativity, and teamwork, we give shape to ideas and create value.", "booth_number": null, "job_fair_table_number": null}, {"name": "Quansight", "level": "Associate", "level_order": 7, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/Quansight-02_AaxJQVd.png", "description": "We're a PyData consulting firm rooted in the scientific Python community.", "booth_number": null, "job_fair_table_number": null}], "Standalone Only": [{"name": "Povera Loads & Logic", "level": "Standalone Only", "level_order": 8, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/Logo_Blue_Black.png", "description": "Fostering collaboration among small Aerospace companies to develop a new class of tools to revolutionize aircraft development.", "booth_number": null, "job_fair_table_number": "T15"}, {"name": "Fern", "level": "Standalone Only", "level_order": 8, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/Wordmark.png", "description": "Fern allows developers to auto- generate and maintain API documentation and SDKs across multiple languages.", "booth_number": null, "job_fair_table_number": null}, {"name": "Research Affiliates LLC", "level": "Standalone Only", "level_order": 8, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/ra-logo-navy-2024.png", "description": "Research Affiliates is a globally recognized investment manager and industry leader in enhanced indexing and asset allocation investment strategies. The firm was founded in 2002 with a mission to create value for investors by profoundly impacting the investment community through research, insights, and products that challenge conventional wisdom. Research Affiliates' factor, quantitative active equity, and multi-asset strategies are centered on a core belief that markets aren\u2019t efficient and that the largest and most persistent investment opportunity is long-horizon mean reversion. Partnering with some of the world's largest financial institutions, the firm offers mutual funds, ETFs, separately managed accounts, and commingled accounts. As of December 31, 2024, the firm has over $150 billion in assets using strategies developed by Research Affiliates.", "booth_number": null, "job_fair_table_number": "T14"}], "AV Partner": [{"name": "Altitude/C", "level": "AV Partner", "level_order": 10, "mobile_banner": true, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/AltitudeC-Logotype-Noir-RGB.png", "description": "At Altitude/C, we design intelligent event solutions that seamlessly integrate technology, creativity, and strategy. With our four specialized departments: Technology, Multimedia, Project Management, and Communications, we're there, every step of the way, guiding you strategically towards your goals. Whether virtual, hybrid, or in-person, we create immersive moments that connect people, amplify your identity, and leave a lasting impression. Join us and let's create memorable moments and opportunities that propel your organization to new heights together.", "booth_number": null, "job_fair_table_number": null}], "Media": [{"name": "Cult.Repo", "level": "Media", "level_order": 12, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/Cult.Repo_Vertical.png", "description": "Founded in 2014, Cult.Repo - formerly Honeypot - is an independent media platform dedicated to telling the human stories behind technology, with a special focus on open source creators.", "booth_number": null, "job_fair_table_number": null}, {"name": "DevITjobs", "level": "Media", "level_order": 12, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/devitus-rectangle.png", "description": "", "booth_number": null, "job_fair_table_number": null}, {"name": "The New Stack", "level": "Media", "level_order": 12, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/The_New_Stack_logo_-_ALT.png", "description": "The New Stack is a media platform for the people who build and manage software the world relies on. We provide context and explanation of at-scale technologies to advance knowledge and create conversations through our coverage of modern architectures, components of the software development life cycle, and operations tools and culture.", "booth_number": null, "job_fair_table_number": null}, {"name": "Linux Magazine", "level": "Media", "level_order": 12, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/LMI_Logo_Transparent.png", "description": "Linux Magazine is your guide to the world of Linux and open source. Each monthly issue includes advanced technical information you won't find anywhere else including tutorials, in-depth articles on trending topics, troubleshooting and optimization tips, and more! Subscribe to our free newsletters and get news and articles in your inbox https://bit.ly/Linux-Update", "booth_number": null, "job_fair_table_number": null}, {"name": "Technical.ly", "level": "Media", "level_order": 12, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/technically-logo-blue.png", "description": "Technical.ly is a news organization that connects and challenges a community of technologists and entrepreneurs invested in where they live. Unlike many biz publications, there's no paywall for daily articles, weekly newsletters and a 5000-person community Slack.", "booth_number": null, "job_fair_table_number": null}, {"name": "Open Source JobHub", "level": "Media", "level_order": 12, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/OSJH_Logo_400x180_Stacked_transparent.png", "description": "Open Source JobHub aims to help everyone find a place in the open source ecosystem by connecting job seekers with employers looking for top talent. Let us help you turn down the noise and find the perfect job fit.", "booth_number": null, "job_fair_table_number": null}, {"name": "LWN.net", "level": "Media", "level_order": 12, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/12x12logo.png", "description": "LWN.net is the premier source for news from the Linux and free software worlds. Each week, LWN provides in-depth coverage of a wide range of free software topics from kernel development through programming languages (Python included!), security, distributions, applications, and more.", "booth_number": null, "job_fair_table_number": null}], "PyCon US Startup Row": [{"name": "DiffStudio Labs LLC", "level": "PyCon US Startup Row", "level_order": 13, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/DiffStudio.png", "description": "Bring Products to Life with Interactive 3D. Create stunning digital twins for your e-commerce products with our 3D visualization platform.", "booth_number": "123", "job_fair_table_number": null}, {"name": "Fabi.ai", "level": "PyCon US Startup Row", "level_order": 13, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/Fabi_Logo.jpg", "description": "Fabi.ai combines SQL, Python and AI automation into one collaborative platform to help you conquer complex and exploratory data analyses, turning questions into answers.", "booth_number": "121", "job_fair_table_number": "T22"}, {"name": "Griptape", "level": "PyCon US Startup Row", "level_order": 13, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/griptape-logo-dark-chunk2x.png", "description": "Griptape gives developers everything they need to build, deploy, and scale LLM-Powered Applications.", "booth_number": "117", "job_fair_table_number": null}, {"name": "All Hands AI", "level": "PyCon US Startup Row", "level_order": 13, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/allhands-stacked.png", "description": "All Hands AI is building open-source agents for software developers.", "booth_number": "116", "job_fair_table_number": null}, {"name": "MLJAR", "level": "PyCon US Startup Row", "level_order": 13, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/logo_blue.png", "description": "AI for data analysis", "booth_number": "118", "job_fair_table_number": null}, {"name": "Gooey.AI", "level": "PyCon US Startup Row", "level_order": 13, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/GOOEY.AI_LOGO.png", "description": "Gooey.AI is the Low-code AI Workflow orchestration platform designed to deliver AI tools to industries that rely on critical, complex, technical knowledge locked in documents, videos and other resources that are not easily leveraged by AI.", "booth_number": "122", "job_fair_table_number": null}, {"name": "Ragas", "level": "PyCon US Startup Row", "level_order": 13, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/logo_2.png", "description": "Open Source evaluation framework for you AI Applications", "booth_number": "119", "job_fair_table_number": null}, {"name": "AgentOpsAI", "level": "PyCon US Startup Row", "level_order": 13, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/image.png", "description": "", "booth_number": "120", "job_fair_table_number": null}], "Community": [{"name": "PyBeach", "level": "Community", "level_order": 14, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/PyBeach_logo_from_Mastodon.jpeg", "description": "Los Angeles Regional Python Conference", "booth_number": null, "job_fair_table_number": "T19"}, {"name": "Python Software Foundation", "level": "Community", "level_order": 14, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/psf-logo-372x84-alpha.png", "description": "", "booth_number": "201", "job_fair_table_number": null}, {"name": "Electronic Frontier Foundation", "level": "Community", "level_order": 14, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/EFF-logo-lockup-reverse.png", "description": "The Electronic Frontier Foundation (EFF) is the leading organization defending civil liberties in the digital world. We defend free speech on the internet, fight illegal surveillance, support freedom-enhancing technologies, promote the rights of digital innovators, and work to ensure that the rights and freedoms we enjoy are enhanced, rather than eroded, as our use of technology grows.", "booth_number": null, "job_fair_table_number": null}, {"name": "PostgreSQL", "level": "Community", "level_order": 14, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/PostgreSQL_logo.3colors.540x557.png", "description": "PostgreSQL: The World's Most Advanced Open Source Relational Database", "booth_number": null, "job_fair_table_number": null}, {"name": "EuroPython Society", "level": "Community", "level_order": 14, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/EPS-Logo-with-Text-v3.png", "description": "The EuroPython Society is a non-profit organization which organizes EuroPython conferences and supports the Python community in Europe.", "booth_number": "623", "job_fair_table_number": "T21"}, {"name": "Python Asia Organization", "level": "Community", "level_order": 14, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/01-Main.png", "description": "The Python Asia Organization (PAO) is a non-profit organization that promotes and supports the Python programming community across East and Southeast Asia. PAO organizes Python Asia Conferences, fosters leadership, streamlines event organization, and connects the community with global Python organizations like the PSF and EPS.", "booth_number": "625", "job_fair_table_number": "T23"}, {"name": "CodeDay", "level": "Community", "level_order": 14, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/codeday-text-color.png", "description": "There's a place in tech for everyone. CodeDay is a non-profit providing welcoming and diverse opportunities for under-served students to explore a future in tech and beyond.", "booth_number": "620", "job_fair_table_number": null}, {"name": "Black Python Devs", "level": "Community", "level_order": 14, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/BPD_stacked_fJrDeEA.png", "description": "Our goal is to become the largest community of Black Python Developers in the world and establish our community as a source for diverse leaders in the greater Python community. url: https://blackpythondevs.com", "booth_number": "616", "job_fair_table_number": "T18"}, {"name": "Code & Supply", "level": "Community", "level_order": 14, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/logo-large.png", "description": "Pittsburgh's software professional community", "booth_number": "619", "job_fair_table_number": null}, {"name": "PyData Pittsburgh", "level": "Community", "level_order": 14, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/PyData_Pittsburgh_logo_-_Large.png", "description": "PyData Pittsburgh is a community for data scientists, machine learning practitioners, and all professionals, students, researchers, and enthusiasts working with Python and data in Pittsburgh.", "booth_number": "621", "job_fair_table_number": "T20"}, {"name": "PyLadies", "level": "Community", "level_order": 14, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/pyladies_wordmark_standard_black_lbuGmnT.png", "description": "International mentorship group with a focus on helping more women & non-binary people become active participants and leaders in the Python open-source community.", "booth_number": "624", "job_fair_table_number": null}, {"name": "Django Software Foundation", "level": "Community", "level_order": 14, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/django-logo-negative_9zY2jz2.png", "description": "The Django Software Foundation supports and promotes the advancement of the Django web framework", "booth_number": "618", "job_fair_table_number": null}, {"name": "The Carpentries", "level": "Community", "level_order": 14, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/TheCarpentries_06o4eBG.png", "description": "The Carpentries teaches foundational coding and data science skills to researchers worldwide.", "booth_number": "622", "job_fair_table_number": null}, {"name": "Python en Espa\u00f1ol", "level": "Community", "level_order": 14, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/g985-6.png", "description": "\"Python en Espa\u00f1ol\" community booth", "booth_number": "617", "job_fair_table_number": null}, {"name": "NumFOCUS", "level": "Community", "level_order": 14, "mobile_banner": false, "logo_url": "https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/sponsor_web_logos/NumFocus_2C_RGB.png", "description": "NumFOCUS is a nonprofit organization that promotes open practices in research, data, and scientific computing by serving as a fiscal sponsor for open source projects and organizing community-driven educational programs. NumFOCUS envisions an inclusive scientific and research community that utilizes actively supported open source software to make impactful discoveries for a better world.", "booth_number": "101", "job_fair_table_number": null}]}}, "schedule": [{"room": "Concourse A", "rooms": ["Concourse A"], "start": "2025-05-14T07:00:00-04:00", "end": "2025-05-14T07:00:00-04:00", "duration": 0, "kind": "informational", "section": "events", "conf_key": 1745, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Registration / Information Desks Open", "description": "<p>Registration / Information Desks Open</p>"}, {"room": "Concourse A", "rooms": ["Concourse A"], "start": "2025-05-15T07:00:00-04:00", "end": "2025-05-15T07:00:00-04:00", "duration": 0, "kind": "informational", "section": "events", "conf_key": 1749, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Registration / Information Desks Open", "description": "<p>Registration / Information Desks Open</p>"}, {"room": "Concourse A", "rooms": ["Concourse A"], "start": "2025-05-16T07:00:00-04:00", "end": "2025-05-16T07:00:00-04:00", "duration": 0, "kind": "informational", "section": "events", "conf_key": 1756, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Registration / Information Desks Open", "description": "<p>Registration / Information Desks Open</p>"}, {"room": "Outside of Hall B", "rooms": ["Outside of Hall B"], "start": "2025-05-17T07:30:00-04:00", "end": "2025-05-17T09:00:00-04:00", "duration": 90, "kind": "break", "section": "talks", "conf_key": 98, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Breakfast", "description": "<p>Breakfast</p>"}, {"room": "Outside of Hall B", "rooms": ["Outside of Hall B"], "start": "2025-05-16T07:30:00-04:00", "end": "2025-05-16T09:00:00-04:00", "duration": 90, "kind": "break", "section": "talks", "conf_key": 46, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Breakfast", "description": "<p>Breakfast</p>"}, {"room": "Concourse A", "rooms": ["Concourse A"], "start": "2025-05-18T08:00:00-04:00", "end": "2025-05-18T08:00:00-04:00", "duration": 0, "kind": "informational", "section": "events", "conf_key": 1782, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Registration / Information Desks Open", "description": "<p>Registration / Information Desks Open</p>"}, {"room": "Hall B", "rooms": ["Hall B"], "start": "2025-05-17T08:00:00-04:00", "end": "2025-05-17T09:00:00-04:00", "duration": 60, "kind": "lightning-talks", "section": "talks", "conf_key": 99, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Lightning Talks", "description": "<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\u2019d 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>", "authors": ["Hosted by Abigail, Chris, Cristi\u00e1n, and Lorena"], "speakers": [{"id": 184, "name": "Hosted by Abigail, Chris, Cristi\u00e1n, and Lorena", "photo": "", "bio": ""}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/170/", "cancelled": false}, {"room": "Outside of Hall B", "rooms": ["Outside of Hall B"], "start": "2025-05-18T08:00:00-04:00", "end": "2025-05-18T09:00:00-04:00", "duration": 60, "kind": "break", "section": "talks", "conf_key": 149, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Breakfast", "description": "<p>Breakfast</p>"}, {"room": "Hall B", "rooms": ["Hall B"], "start": "2025-05-18T08:00:00-04:00", "end": "2025-05-18T09:00:00-04:00", "duration": 60, "kind": "lightning-talks", "section": "talks", "conf_key": 150, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Lightning Talks", "description": "<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>", "authors": ["Hosted by Abigail, Chris, Cristi\u00e1n, and Lorena"], "speakers": [{"id": 184, "name": "Hosted by Abigail, Chris, Cristi\u00e1n, and Lorena", "photo": "", "bio": ""}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/172/", "cancelled": false}, {"room": "Open Spaces Rooms", "rooms": ["Open Spaces Rooms"], "start": "2025-05-17T08:00:00-04:00", "end": "2025-05-17T08:00:00-04:00", "duration": 0, "kind": "informational", "section": "events", "conf_key": 1769, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Open Spaces Rooms Open", "description": "<p>Open Spaces Rooms Open -  <a href=\"https://pycon.us/os\">pycon.us/os</a></p>"}, {"room": "Concourse A", "rooms": ["Concourse A"], "start": "2025-05-17T08:00:00-04:00", "end": "2025-05-17T08:00:00-04:00", "duration": 0, "kind": "informational", "section": "events", "conf_key": 1767, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Registration / Information Desks Open", "description": "<p>Registration / Information Desks Open</p>"}, {"room": "Open Spaces Rooms", "rooms": ["Open Spaces Rooms"], "start": "2025-05-16T08:00:00-04:00", "end": "2025-05-16T08:00:00-04:00", "duration": 0, "kind": "informational", "section": "events", "conf_key": 1759, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Open Spaces Rooms Open", "description": "<p>Open Spaces Rooms Open -  <a href=\"https://pycon.us/os\">pycon.us/os</a></p>"}, {"room": "Open Spaces Rooms", "rooms": ["Open Spaces Rooms"], "start": "2025-05-18T08:00:00-04:00", "end": "2025-05-18T08:00:00-04:00", "duration": 0, "kind": "informational", "section": "events", "conf_key": 1781, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Open Spaces Rooms Open", "description": "<p>Open Spaces Rooms Open -  <a href=\"https://pycon.us/os\">pycon.us/os</a></p>"}, {"room": "Room 310/311", "rooms": ["Room 310/311"], "start": "2025-05-14T09:00:00-04:00", "end": "2025-05-14T12:30:00-04:00", "duration": 210, "kind": "tutorial", "section": "tutorials", "conf_key": 1, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "AI crash course for Python developers", "description": "<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\u2019t assume formal CS education. We\u2019ll build demos, apps and discuss pitfalls and challenges with AI development in 2025.</p>", "authors": ["Anthony Shaw"], "speakers": [{"id": 89, "name": "Anthony Shaw", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/89_VTNDSUs.jpg.256x256_q85.jpg", "bio": "<p>Python enthusiast</p>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/77/", "cancelled": false}, {"room": "Hall A", "rooms": ["Hall A"], "start": "2025-05-17T09:00:00-04:00", "end": "2025-05-17T09:00:00-04:00", "duration": 0, "kind": "informational", "section": "events", "conf_key": 1768, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Swag Pickup Opens", "description": "<p>Swag Pickup Opens</p>"}, {"room": "Hall A", "rooms": ["Hall A"], "start": "2025-05-16T09:00:00-04:00", "end": "2025-05-16T09:00:00-04:00", "duration": 0, "kind": "informational", "section": "events", "conf_key": 1757, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Swag Pickup Opens", "description": "<p>Swag Pickup Opens</p>"}, {"room": "Hall B", "rooms": ["Hall B"], "start": "2025-05-16T09:00:00-04:00", "end": "2025-05-16T09:25:00-04:00", "duration": 25, "kind": "plenary", "section": "talks", "conf_key": 47, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Welcome", "description": "<p>Welcome</p>"}, {"room": "Room 403/404", "rooms": ["Room 403/404"], "start": "2025-05-14T09:00:00-04:00", "end": "2025-05-14T17:15:00-04:00", "duration": 495, "kind": "summit", "section": "events", "conf_key": 1746, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Python Language Summit, pre-registration required!", "description": "<p>Python Language Summit, pre-registration required!</p>"}, {"room": "Hall B", "rooms": ["Hall B"], "start": "2025-05-18T09:00:00-04:00", "end": "2025-05-18T09:45:00-04:00", "duration": 45, "kind": "plenary", "section": "talks", "conf_key": 151, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Keynote - The Marshall Project", "description": "<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>"}, {"room": "Hall A", "rooms": ["Hall A"], "start": "2025-05-16T09:00:00-04:00", "end": "2025-05-16T09:00:00-04:00", "duration": 0, "kind": "informational", "section": "events", "conf_key": 1758, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Expo Hall Opens", "description": "<p>Expo Hall Opens</p>"}, {"room": "Room 317", "rooms": ["Room 317"], "start": "2025-05-15T09:00:00-04:00", "end": "2025-05-15T12:30:00-04:00", "duration": 210, "kind": "tutorial", "section": "tutorials", "conf_key": 15, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Reproducible Dependency Management with Pixi", "description": "<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>", "authors": ["Mike M\u00fcller"], "speakers": [{"id": 148, "name": "Mike M\u00fcller", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/148.jpg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/131/", "cancelled": false}, {"room": "Room 320", "rooms": ["Room 320"], "start": "2025-05-15T09:00:00-04:00", "end": "2025-05-15T12:30:00-04:00", "duration": 210, "kind": "tutorial", "section": "tutorials", "conf_key": 18, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Discover 3D graphics with WebGL and PyScript", "description": "<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>", "authors": ["\u0141ukasz Langa"], "speakers": [{"id": 27, "name": "\u0141ukasz Langa", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/27.jpg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/24/", "cancelled": false}, {"room": "Room 321", "rooms": ["Room 321"], "start": "2025-05-15T09:00:00-04:00", "end": "2025-05-15T12:30:00-04:00", "duration": 210, "kind": "tutorial", "section": "tutorials", "conf_key": 19, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "The A-B-Cs of Regressions", "description": "<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\u2019ll 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\u2019ll 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\u2019ll pay close attention to statistical definitions that teach us what we can and can\u2019t infer from our data regarding real world causality. We\u2019ll 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>", "authors": ["Neha"], "speakers": [{"id": 108, "name": "Neha", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/108.jpg.256x256_q85.jpg", "bio": "<p>I\u2019m 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\u2019m the primary owner and maintainer of dame-flame, a Python package for matching in causal inference. In the past, I\u2019ve 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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/95/", "cancelled": false}, {"room": "Room 318", "rooms": ["Room 318"], "start": "2025-05-15T09:00:00-04:00", "end": "2025-05-15T12:30:00-04:00", "duration": 210, "kind": "tutorial", "section": "tutorials", "conf_key": 16, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Polars: Faster, Simpler, Smarter Python Analytics", "description": "<p>Designed for Python users familiar with pandas, this session will bridge the gap between what you know and what\u2019s possible with Polars\u2019 power-packed features.</p>\n<p>We\u2019ll begin by understanding the fundamentals of Polars: its lazy execution engine, multi-threading capabilities, and how it leverages Apache Arrow for performance. You\u2019ll learn how to convert existing pandas workflows to Polars and write concise, blazing-fast queries that process large datasets effortlessly. From there, we\u2019ll dive into real-world examples and unlock advanced features, including expressions, group-by operations, and streaming data pipelines.</p>", "authors": ["Matt Harrison"], "speakers": [{"id": 121, "name": "Matt Harrison", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/121.png.256x256_q85.png", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/107/", "cancelled": false}, {"room": "Room 320", "rooms": ["Room 320"], "start": "2025-05-14T09:00:00-04:00", "end": "2025-05-14T12:30:00-04:00", "duration": 210, "kind": "tutorial", "section": "tutorials", "conf_key": 5, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Comprehending comprehensions", "description": "<p>Comprehensions are one of the most important \u2014 and misunderstood \u2014 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>", "authors": ["Reuven M. Lerner"], "speakers": [{"id": 81, "name": "Reuven M. Lerner", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/81.jpg.256x256_q85.jpg", "bio": "<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 \u2014 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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/106/", "cancelled": false}, {"room": "Hall B", "rooms": ["Hall B"], "start": "2025-05-17T09:00:00-04:00", "end": "2025-05-17T09:25:00-04:00", "duration": 25, "kind": "plenary", "section": "talks", "conf_key": 100, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Diversity & Inclusion Panel: The Work Still Matters: Inclusion, Access, and Community in 2025", "description": "<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>"}, {"room": "Room 319", "rooms": ["Room 319"], "start": "2025-05-14T09:00:00-04:00", "end": "2025-05-14T12:30:00-04:00", "duration": 210, "kind": "tutorial", "section": "tutorials", "conf_key": 4, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Python project packaging: from zero to hero", "description": "<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\u2019ll 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\u2019ll 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\u2019re 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>", "authors": ["Marie Roald", "Yngve Mardal Moe"], "speakers": [{"id": 29, "name": "Marie Roald", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/29.png.256x256_q85.jpg", "bio": "<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>"}, {"id": 30, "name": "Yngve Mardal Moe", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/30.jpg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/72/", "cancelled": false}, {"room": "Room 403/404", "rooms": ["Room 403/404"], "start": "2025-05-15T09:00:00-04:00", "end": "2025-05-15T16:30:00-04:00", "duration": 450, "kind": "summit", "section": "events", "conf_key": 1750, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Education Summit, pre-registration required", "description": "<p>Education Summit, pre-registration required</p>"}, {"room": "Room 319", "rooms": ["Room 319"], "start": "2025-05-15T09:00:00-04:00", "end": "2025-05-15T12:30:00-04:00", "duration": 210, "kind": "tutorial", "section": "tutorials", "conf_key": 17, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Event Sourcing From The Ground Up", "description": "<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 \u201cEvent Sourcing\u201d-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\u2019re interested in Event Sourcing but don\u2019t 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>", "authors": ["Sebastiaan Zeeff"], "speakers": [{"id": 70, "name": "Sebastiaan Zeeff", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/70.jpg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/60/", "cancelled": false}, {"room": "Room 310/311", "rooms": ["Room 310/311"], "start": "2025-05-15T09:00:00-04:00", "end": "2025-05-15T12:30:00-04:00", "duration": 210, "kind": "tutorial", "section": "tutorials", "conf_key": 14, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "What is the magic of magic methods in the Python language?", "description": "<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\u2019ll:\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>", "authors": ["Pawe\u0142 \u017bal"], "speakers": [{"id": 7, "name": "Pawe\u0142 \u017bal", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/7.png.256x256_q85.png", "bio": "<p>Pawe\u0142 \u017bal - 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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/6/", "cancelled": false}, {"room": "Room 402", "rooms": ["Room 402"], "start": "2025-05-15T09:00:00-04:00", "end": "2025-05-15T17:00:00-04:00", "duration": 480, "kind": "summit", "section": "events", "conf_key": 1751, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "WebAssembly Summit, pre-registration required!", "description": "<p>WebAssembly Summit, pre-registration required!</p>"}, {"room": "Room 318", "rooms": ["Room 318"], "start": "2025-05-14T09:00:00-04:00", "end": "2025-05-14T12:30:00-04:00", "duration": 210, "kind": "tutorial", "section": "tutorials", "conf_key": 3, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Building machine learning pipelines that scale: a case study using Ibis and IbisML", "description": "<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\u2014users 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\u2019ll be using actual, recent games from the largest free chess server (Lichess). We\u2019ll be using GitHub Codespaces, so you don\u2019t need to download or configure anything; however, please bring a laptop!</p>", "authors": ["Anjali Datta", "Deepyaman Datta"], "speakers": [{"id": 137, "name": "Anjali Datta", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/137.jpg.256x256_q85.jpg", "bio": "<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>"}, {"id": 138, "name": "Deepyaman Datta", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/138.jpeg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/121/", "cancelled": false}, {"room": "Room 321", "rooms": ["Room 321"], "start": "2025-05-14T09:00:00-04:00", "end": "2025-05-14T12:30:00-04:00", "duration": 210, "kind": "tutorial", "section": "tutorials", "conf_key": 6, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Speed Up Your Code by 50x: A Guide to Moving from NumPy to JAX", "description": "<p>JAX is more than just \"NumPy for the GPU\"\u2014it 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\u2014along with its comprehensive set of notebooks\u2014aims to be a one-stop resource for anyone looking to leverage <code>jax</code> for numerical computing and machine learning.</p>", "authors": ["Ian Quah", "Bryan Quah"], "speakers": [{"id": 62, "name": "Ian Quah", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/62.jpg.256x256_q85.jpg", "bio": "<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>"}, {"id": 63, "name": "Bryan Quah", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/63.jpeg.256x256_q85.jpg", "bio": "<p>Bryan works as researcher at Cedars Sinai Medical Center in Los Angeles where he develops machine learning methods for neuroimaging.</p>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/54/", "cancelled": false}, {"room": "Hall A", "rooms": ["Hall A"], "start": "2025-05-17T09:00:00-04:00", "end": "2025-05-17T09:00:00-04:00", "duration": 0, "kind": "informational", "section": "events", "conf_key": 1770, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Expo Hall Opens", "description": "<p>Expo Hall Opens</p>"}, {"room": "Room 317", "rooms": ["Room 317"], "start": "2025-05-14T09:00:00-04:00", "end": "2025-05-14T12:30:00-04:00", "duration": 210, "kind": "tutorial", "section": "tutorials", "conf_key": 2, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Back to foundations: Automated testing with Python", "description": "<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>", "authors": ["Francesco Bruni"], "speakers": [{"id": 149, "name": "Francesco Bruni", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/149.jpg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/132/", "cancelled": false}, {"room": "Hall B", "rooms": ["Hall B"], "start": "2025-05-17T09:25:00-04:00", "end": "2025-05-17T10:05:00-04:00", "duration": 40, "kind": "plenary", "section": "talks", "conf_key": 101, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Keynote - Lynn Root", "description": "<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>"}, {"room": "Hall B", "rooms": ["Hall B"], "start": "2025-05-16T09:25:00-04:00", "end": "2025-05-16T09:45:00-04:00", "duration": 20, "kind": "plenary", "section": "talks", "conf_key": 48, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "PSF Welcome", "description": "<p>PSF Welcome</p>"}, {"room": "Room 316", "rooms": ["Room 316"], "start": "2025-05-15T09:30:00-04:00", "end": "2025-05-15T10:30:00-04:00", "duration": 60, "kind": "sponsor-workshop", "section": "sponsor-presentations", "conf_key": 31, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "\ud83d\udc0d Python meets the crab \ud83e\udd80 - Friendship at first sight? (Sponsor: Bloomberg)", "description": "<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>", "authors": ["Bern\u00e1t G\u00e1bor"], "speakers": [{"id": 172, "name": "Bern\u00e1t G\u00e1bor", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/172.jpeg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/151/", "cancelled": false}, {"room": "Room 315", "rooms": ["Room 315"], "start": "2025-05-15T09:30:00-04:00", "end": "2025-05-15T10:30:00-04:00", "duration": 60, "kind": "sponsor-workshop", "section": "sponsor-presentations", "conf_key": 30, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Accelerated Python: The Community and Ecosystem (Sponsor: NVIDIA)", "description": "<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>", "authors": ["Jeremy Tanner"], "speakers": [{"id": 170, "name": "Jeremy Tanner", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/170.jpeg.256x256_q85.jpg", "bio": "<p>Jeremy talks to people who talk to computers about talking to computers.</p>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/149/", "cancelled": false}, {"room": "Room 309", "rooms": ["Room 309"], "start": "2025-05-15T09:30:00-04:00", "end": "2025-05-15T10:30:00-04:00", "duration": 60, "kind": "sponsor-workshop", "section": "sponsor-presentations", "conf_key": 29, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Evolving Django: What We Learned by Integrating MongoDB (Sponsor: MongoDB)", "description": "<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>", "authors": ["Anaiya Raisinghani"], "speakers": [{"id": 160, "name": "Anaiya Raisinghani", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/160.jpg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/142/", "cancelled": false}, {"room": "Hall B", "rooms": ["Hall B"], "start": "2025-05-16T09:45:00-04:00", "end": "2025-05-16T10:30:00-04:00", "duration": 45, "kind": "plenary", "section": "talks", "conf_key": 49, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Keynote - Cory Doctorow", "description": "<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>"}, {"room": "Hall B", "rooms": ["Hall B"], "start": "2025-05-18T09:45:00-04:00", "end": "2025-05-18T10:00:00-04:00", "duration": 15, "kind": "plenary", "section": "talks", "conf_key": 152, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "PSF - Update from our Security Engineers", "description": "<p>PSF - Update from our Security Engineers</p>"}, {"room": "Hall A", "rooms": ["Hall A"], "start": "2025-05-18T10:00:00-04:00", "end": "2025-05-18T13:00:00-04:00", "duration": 180, "kind": "event", "section": "events", "conf_key": 1783, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Job Fair and Poster Sessions", "description": "<p>Job Fair and Poster Sessions</p>"}, {"room": "Hall A", "rooms": ["Hall A"], "start": "2025-05-18T10:00:00-04:00", "end": "2025-05-18T13:00:00-04:00", "duration": 180, "kind": "poster", "section": "posters", "conf_key": 154, "list_render": true, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Posters Session", "description": "<p><a href=\"https://us.pycon.org/2025/schedule/posters/list/\">Posters</a></p>", "sessions": [{"name": "Putting a Face to the Pattern: Applying Time-Series Classification & Clustering to Transmission Load Patterns", "authors": ["Laura Walter", "Alexander Wang"], "contact": ["redacted"], "speakers": [{"id": 4, "name": "Laura Walter", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/4.JPG.256x256_q85.jpg", "bio": "<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>"}, {"id": 5, "name": "Alexander Wang", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/5.jpg.256x256_q85.jpg", "bio": "<p>I am a Drexel graduate currently working at PJM Interconnection in the Corporate Rotation Program.</p>"}], "description": "<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 \u2013 Machine Learning Practitioners/Enthusiasts, People in Utilities\nLevel \u2013 Some Experience</p>", "conf_key": 1544, "conf_url": "https://us.pycon.org/2025/schedule/presentation/4/", "cancelled": false}, {"name": "How to refactor with confidence", "authors": ["Phillip Schanely"], "contact": ["redacted"], "speakers": [{"id": 156, "name": "Phillip Schanely", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/156.jpg.256x256_q85.jpg", "bio": "<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>"}], "description": "<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>", "conf_key": 154139, "conf_url": "https://us.pycon.org/2025/schedule/presentation/139/", "cancelled": false}, {"name": "Conformal Prediction: Quantifying Confidence in ML Model Predictions", "authors": ["Alexander Olden"], "contact": ["redacted"], "speakers": [{"id": 8, "name": "Alexander Olden", "photo": "", "bio": "<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>"}], "description": "<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>", "conf_key": 1547, "conf_url": "https://us.pycon.org/2025/schedule/presentation/7/", "cancelled": false}, {"name": "Datasette: an ecosystem of tools for finding stories in data", "authors": ["Simon Willison"], "contact": ["redacted"], "speakers": [{"id": 26, "name": "Simon Willison", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/26.jpg.256x256_q85.jpg", "bio": "<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>"}], "description": "<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>", "conf_key": 15423, "conf_url": "https://us.pycon.org/2025/schedule/presentation/23/", "cancelled": false}, {"name": "From Monolithic to Mosaic: Collaborative SLMs Ecosystems for Cost-Efficient, Scalable, and Edge-Ready solutions", "authors": ["Rudraksh Karpe", "SUMIT PANDEY"], "contact": ["redacted"], "speakers": [{"id": 116, "name": "Rudraksh Karpe", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/116.jpeg.256x256_q85.jpg", "bio": "<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>"}, {"id": 117, "name": "SUMIT PANDEY", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/117.jpeg.256x256_q85.jpg", "bio": "<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>\ud83d\udd17 <strong>LinkedIn</strong>: https://www.linkedin.com/in/sqrt676/</p>"}], "description": "<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\u2019s both affordable and adaptable.</p>", "conf_key": 154101, "conf_url": "https://us.pycon.org/2025/schedule/presentation/101/", "cancelled": false}, {"name": "AmpliconFinder: A Python Based Bioinformatics Pipeline for Early Stage Cancer Diagnosis", "authors": ["Haque Ishfaq", "Atia Binte Amin"], "contact": ["redacted"], "speakers": [{"id": 48, "name": "Haque Ishfaq", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/48.jpg.256x256_q85.jpg", "bio": "<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>"}, {"id": 49, "name": "Atia Binte Amin", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/49.png.256x256_q85.png", "bio": "<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>"}], "description": "<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\u2014all 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>", "conf_key": 15444, "conf_url": "https://us.pycon.org/2025/schedule/presentation/44/", "cancelled": false}, {"name": "ClimateML: Machine Learning for Climate Model Downscaling", "authors": ["Neeraj Pandey"], "contact": ["redacted"], "speakers": [{"id": 11, "name": "Neeraj Pandey", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/11.JPG.256x256_q85.jpg", "bio": "<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>"}], "description": "<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\u00b2) 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>", "conf_key": 1549, "conf_url": "https://us.pycon.org/2025/schedule/presentation/9/", "cancelled": false}, {"name": "Infomaid -- An Offline AI Text-Generative Tool To Support Ethical Learning With Textual Assistance", "authors": ["Oliver Bonham-Carter"], "contact": ["redacted"], "speakers": [{"id": 162, "name": "Oliver Bonham-Carter", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/162.png.256x256_q85.png", "bio": "<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>"}], "description": "<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 \u2013 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\u2019s 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>", "conf_key": 154144, "conf_url": "https://us.pycon.org/2025/schedule/presentation/144/", "cancelled": false}, {"name": "Data About Your Data: Open Source Python Tools for Scientific Metadata Management", "authors": ["Donald Campbell", "Oleksandr Khoroshevskyi"], "contact": ["redacted"], "speakers": [{"id": 55, "name": "Donald Campbell", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/55.jpg.256x256_q85.jpg", "bio": "<p>Donald is a Software Engineer at the University of Virginia, creating open source tools for bioinformatics.</p>"}, {"id": 56, "name": "Oleksandr Khoroshevskyi", "photo": "", "bio": "<p>-</p>"}], "description": "<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>", "conf_key": 15449, "conf_url": "https://us.pycon.org/2025/schedule/presentation/49/", "cancelled": false}, {"name": "ExecExam: Streamlining Python Assessments with Automation and Personalized Feedback", "authors": ["Gregory M. Kapfhammer", "Hemani Alaparthi", "Pallas-Athena Cain"], "contact": ["redacted"], "speakers": [{"id": 180, "name": "Gregory M. Kapfhammer", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/180.png.256x256_q85.png", "bio": "<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>"}, {"id": 51, "name": "Hemani Alaparthi", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/51.JPG.256x256_q85.jpg", "bio": "<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>"}, {"id": 52, "name": "Pallas-Athena Cain", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/52.jpg.256x256_q85.jpg", "bio": "<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>"}], "description": "<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\u2019s 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>", "conf_key": 15446, "conf_url": "https://us.pycon.org/2025/schedule/presentation/46/", "cancelled": false}, {"name": "A visual exploration of vectors", "authors": ["Pamela Fox"], "contact": ["redacted"], "speakers": [{"id": 32, "name": "Pamela Fox", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/32.jpeg.256x256_q85.jpg", "bio": "<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>"}], "description": "<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\u2196 Come on a vector voyage! \u2197</p>", "conf_key": 15430, "conf_url": "https://us.pycon.org/2025/schedule/presentation/30/", "cancelled": false}, {"name": "Beautiful and Balanced: Using Color Theory in Data Visualization", "authors": ["Laura Fisher"], "contact": ["redacted"], "speakers": [{"id": 54, "name": "Laura Fisher", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/54.jpeg.256x256_q85.jpg", "bio": "<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>"}], "description": "<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>", "conf_key": 15448, "conf_url": "https://us.pycon.org/2025/schedule/presentation/48/", "cancelled": false}, {"name": "Visual Prototyping for Woven Bands", "authors": ["Kathryn Born"], "contact": ["redacted"], "speakers": [{"id": 144, "name": "Kathryn Born", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/144.jpg.256x256_q85.jpg", "bio": "<p>Kathryn Born works with data analysis and visualization. Her hobbies include fiber arts, rock climbing, and aerial circus.</p>"}], "description": "<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\u2019t 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>", "conf_key": 154127, "conf_url": "https://us.pycon.org/2025/schedule/presentation/127/", "cancelled": false}, {"name": "Weather Data along the International Space Station Orbits", "authors": ["Jules Kouatchou", "Khalil Alexander"], "contact": ["redacted"], "speakers": [{"id": 57, "name": "Jules Kouatchou", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/57.png.256x256_q85.png", "bio": "<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>"}, {"id": 58, "name": "Khalil Alexander", "photo": "", "bio": "<p>-</p>"}], "description": "<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>", "conf_key": 15450, "conf_url": "https://us.pycon.org/2025/schedule/presentation/50/", "cancelled": false}, {"name": "Atom to Innovation: Machine Learning for Materials Science", "authors": ["Manoj Pandey"], "contact": ["redacted"], "speakers": [{"id": 25, "name": "Manoj Pandey", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/25.JPG.256x256_q85.jpg", "bio": "<p>Pythonista</p>"}], "description": "<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>", "conf_key": 15422, "conf_url": "https://us.pycon.org/2025/schedule/presentation/22/", "cancelled": false}, {"name": "Flet: cross-platform apps in Python with Flutter UI", "authors": ["Feodor Fitsner"], "contact": ["redacted"], "speakers": [{"id": 182, "name": "Feodor Fitsner", "photo": "", "bio": "<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>"}], "description": "<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>", "conf_key": 154166, "conf_url": "https://us.pycon.org/2025/schedule/presentation/166/", "cancelled": false}, {"name": "Building low-carbon websites with Wagtail & Django", "authors": ["Vince Salvino"], "contact": ["redacted"], "speakers": [{"id": 94, "name": "Vince Salvino", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/94.jpg.256x256_q85.jpg", "bio": "<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>"}], "description": "<p>How much do you know about websites\u2019 carbon footprint? The web\u2019s 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 \u2013 and simple things that can reduce one\u2019s 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\u2019 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>", "conf_key": 15482, "conf_url": "https://us.pycon.org/2025/schedule/presentation/82/", "cancelled": false}, {"name": "Painting with Python (poster)", "authors": ["Caleb Madrigal"], "contact": ["redacted"], "speakers": [{"id": 36, "name": "Caleb Madrigal", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/36.JPG.256x256_q85.jpg", "bio": "<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>"}], "description": "<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>", "conf_key": 15434, "conf_url": "https://us.pycon.org/2025/schedule/presentation/34/", "cancelled": false}, {"name": "Improving in Chess using Python", "authors": ["Adarsh Divakaran"], "contact": ["redacted"], "speakers": [{"id": 122, "name": "Adarsh Divakaran", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/122_J6JXQBM.JPG.256x256_q85.jpg", "bio": "<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 \u201822 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>"}], "description": "<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>", "conf_key": 154108, "conf_url": "https://us.pycon.org/2025/schedule/presentation/108/", "cancelled": false}]}, {"room": "Hall A", "rooms": ["Hall A"], "start": "2025-05-18T10:00:00-04:00", "end": "2025-05-18T13:00:00-04:00", "duration": 180, "kind": "plenary", "section": "talks", "conf_key": 153, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "[Job Fair and Community Showcase](https://us.pycon.org/2025/events/job-fair/)", "description": "<p><a href=\"https://us.pycon.org/2025/events/job-fair/\">Job Fair and Community Showcase</a></p>"}, {"room": "Room 317", "rooms": ["Room 317"], "start": "2025-05-18T10:00:00-04:00", "end": "2025-05-18T15:15:00-04:00", "duration": 315, "kind": "event", "section": "events", "conf_key": 1785, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Hatchery - Humble Data, pre-registration required", "description": "<p>Hatchery - Humble Data, pre-registration required</p>"}, {"room": "Hall A", "rooms": ["Hall A"], "start": "2025-05-18T10:00:00-04:00", "end": "2025-05-18T10:00:00-04:00", "duration": 0, "kind": "informational", "section": "events", "conf_key": 1784, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Swag Pickup Opens", "description": "<p>Swag Pickup Opens</p>"}, {"room": "Hall C, Ballroom A, Ballroom BC, Room 301-305, Room 310/311", "rooms": ["Hall C", "Ballroom A", "Ballroom BC", "Room 301-305", "Room 310/311"], "start": "2025-05-17T10:05:00-04:00", "end": "2025-05-17T10:30:00-04:00", "duration": 25, "kind": "break", "section": "talks", "conf_key": 102, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Break", "description": "<p>Break</p>"}, {"room": "Room 317", "rooms": ["Room 317"], "start": "2025-05-17T10:30:00-04:00", "end": "2025-05-17T13:00:00-04:00", "duration": 150, "kind": "summit", "section": "events", "conf_key": 1771, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Hatchery - Community Organizer Summit", "description": "<p>Hatchery - Community Organizer Summit</p>"}, {"room": "Ballroom A", "rooms": ["Ballroom A"], "start": "2025-05-17T10:30:00-04:00", "end": "2025-05-17T11:00:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 104, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Finding 2.0", "description": "<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>", "authors": ["Marc Gibbons"], "speakers": [{"id": 178, "name": "Marc Gibbons", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/178.jpg.256x256_q85.png", "bio": "<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\u2019s 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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/158/", "cancelled": false}, {"room": "Room 310/311", "rooms": ["Room 310/311"], "start": "2025-05-17T10:30:00-04:00", "end": "2025-05-17T11:00:00-04:00", "duration": 30, "kind": "charla", "section": "talks", "conf_key": 107, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Honrando las Narrativas de Braceros: Un Enfoque Pythonico para Miner\u00eda de Textos de Historias de Trabajo Arduo, Migraci\u00f3n y Resiliencia", "description": "<p>Entre 1942 y 1964, el Programa Bracero llev\u00f3 a m\u00e1s 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\u00f3n, discriminaci\u00f3n y resiliencia. Honrar estas narrativas requiere no solo un reconocimiento hist\u00f3rico, sino tambi\u00e9n un m\u00e9todo para descubrir y analizar sistem\u00e1ticamente sus relatos matizados. Aprovechando la miner\u00eda 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\u00f3n explorar\u00e1 c\u00f3mo estas bibliotecas de Python pueden utilizarse para realizar un an\u00e1lisis sistem\u00e1tico de grandes cuerpos de texto, revelando temas recurrentes y el sentimiento en historias orales y entrevistas. Profundizaremos en t\u00e9cnicas basadas en c\u00f3digo para el modelado de temas, la extracci\u00f3n de palabras clave y el an\u00e1lisis de sentimiento que dan vida a las historias de los Braceros. Al examinar c\u00f3mo Python puede facilitar la comprensi\u00f3n del lenguaje del trabajo, la migraci\u00f3n y las dificultades, esta charla demostrar\u00e1 c\u00f3mo la ciencia de datos puede desempe\u00f1ar un papel en la valoraci\u00f3n de narrativas culturales e hist\u00f3ricas. Al hacerlo, esta presentaci\u00f3n tambi\u00e9n busca mostrar el potencial de Python para unir los campos de las humanidades digitales, la etnograf\u00eda y la tecnolog\u00eda, allanando el camino hacia una mayor comprensi\u00f3n y reconocimiento de las voces subrepresentadas en la historia compartida de trabajo y migraci\u00f3n entre M\u00e9xico y Estados Unidos.</p>", "authors": ["Rodrigo Silva Ferreira"], "speakers": [{"id": 17, "name": "Rodrigo Silva Ferreira", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/17.png.256x256_q85.png", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/15/", "cancelled": false}, {"room": "Hall C", "rooms": ["Hall C"], "start": "2025-05-17T10:30:00-04:00", "end": "2025-05-17T11:00:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 103, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "PyXL: A Chip That Runs Python at Turbo Speeds", "description": "<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>", "authors": ["Ron Livne"], "speakers": [{"id": 42, "name": "Ron Livne", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/42.jpg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/40/", "cancelled": false}, {"room": "Ballroom BC", "rooms": ["Ballroom BC"], "start": "2025-05-17T10:30:00-04:00", "end": "2025-05-17T11:00:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 105, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Scale Smarter, Not Harder, with cuPyNumeric.", "description": "<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>", "authors": ["Irina Demeshko", "Quynh L. Nguyen"], "speakers": [{"id": 73, "name": "Irina Demeshko", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/73.jpg.256x256_q85.jpg", "bio": "<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>"}, {"id": 74, "name": "Quynh L. Nguyen", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/74.png.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/63/", "cancelled": false}, {"room": "Hall C, Ballroom A, Ballroom BC, Room 301-305, Room 310/311", "rooms": ["Hall C", "Ballroom A", "Ballroom BC", "Room 301-305", "Room 310/311"], "start": "2025-05-16T10:30:00-04:00", "end": "2025-05-16T11:00:00-04:00", "duration": 30, "kind": "break", "section": "talks", "conf_key": 50, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Break", "description": "<p>Break</p>"}, {"room": "Room 301-305", "rooms": ["Room 301-305"], "start": "2025-05-17T10:30:00-04:00", "end": "2025-05-17T11:00:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 106, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Writing Extension Modules To Be Interruptible", "description": "<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>", "authors": ["Zack Weinberg"], "speakers": [{"id": 41, "name": "Zack Weinberg", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/41.png.256x256_q85.png", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/39/", "cancelled": false}, {"room": "Hall A", "rooms": ["Hall A"], "start": "2025-05-18T11:00:00-04:00", "end": "2025-05-18T11:00:00-04:00", "duration": 0, "kind": "informational", "section": "events", "conf_key": 1786, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Swag pickup Opens for T-shirt Sales", "description": "<p>Swag pickup Opens for T-shirt Sales</p>"}, {"room": "Hall A", "rooms": ["Hall A"], "start": "2025-05-18T11:00:00-04:00", "end": "2025-05-18T11:00:00-04:00", "duration": 0, "kind": "informational", "section": "events", "conf_key": 1787, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Swag Pickup Closes", "description": "<p>Swag Pickup Closes</p>"}, {"room": "Room 310/311", "rooms": ["Room 310/311"], "start": "2025-05-16T11:00:00-04:00", "end": "2025-05-16T11:30:00-04:00", "duration": 30, "kind": "charla", "section": "talks", "conf_key": 55, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "\"GeoMonitoreo con Python: Soluciones Innovadoras para los Desaf\u00edos de Latinoam\u00e9rica\"", "description": "<p>En esta charla, contaremos la experiencia de subirse al \u2018tren Python\u2019 que promet\u00eda ser una tecnolog\u00eda en expansi\u00f3n all\u00e1 por el 2015, cuando comenzamos a utilizar este lenguaje para la implementaci\u00f3n de soluciones basadas en procesamiento de im\u00e1genes de video y satelitales para aplicaciones cient\u00edficas en casos reales. Desde ese entonces, junto con su ecosistema compuesto por bibliotecas en constante actualizaci\u00f3n, Python contin\u00faa revolucionando el monitoreo ambiental en Latinoam\u00e9rica. \nCon aplicaciones como el an\u00e1lisis de im\u00e1genes satelitales para evaluar los cambios de uso y cobertura de suelo hasta la detecci\u00f3n de aumento o disminuci\u00f3n de humedales o la presencia de cianobacterias en lagos, r\u00edos o embalses, esta herramienta ha permitido implementar soluciones accesibles y escalables frente a desaf\u00edos como el cambio clim\u00e1tico, la gesti\u00f3n de recursos h\u00eddricos y la conservaci\u00f3n de ecosistemas. Compartiremos casos de estudio exitosos y herramientas clave, mostrando c\u00f3mo la comunidad puede contribuir al cuidado ambiental y la sostenibilidad ambiental en la regi\u00f3n. Python es m\u00e1s que un lenguaje de programaci\u00f3n, es una interacci\u00f3n continua entre documentaci\u00f3n, desarrolladores y la comunidad que pone a disposici\u00f3n 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\u00edcil de imaginar en nuestros comienzos.</p>", "authors": ["Natalia V. Revollo", "Carlos E. Berger"], "speakers": [{"id": 78, "name": "Natalia V. Revollo", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/78.png.256x256_q85.png", "bio": "<p>Doctor en Ingenier\u00eda por la Universidad Nacional del Sur e Ingeniera en Inform\u00e1tica por la UNJU, Argentina. Actualmente es profesora  e investigadora del Instituto de Ciencias e Ingenier\u00eda de la Computaci\u00f3n (ICIC-UNS-CONICET) en el \u00e1rea de proyectos de desarrollo tecnol\u00f3gico y social. Es especialista en el desarrollo de algoritmos y software basados \u200b\u200ben el procesamiento digital de im\u00e1genes y el estudio de sistemas inteligentes. Ha realizado cursos de especializaci\u00f3n en diferentes universidades de la Argentina y del exterior, y ha presentado publicaciones en el \u00e1mbito de la automatizaci\u00f3n de sistemas de clasificaci\u00f3n y medici\u00f3n no supervisada de im\u00e1genes satelitales y videos de caracter\u00edsticas relacionadas con la superficie terrestre. Ha participado en proyectos de transferencia tecnol\u00f3gica aplicada en \u00e1reas ambientales y geociencias como analista y desarrollador de algoritmos y modelos de aprendizaje autom\u00e1tico. Fue autora del primer estudio sobre Capacidad de Carga de Playa utilizando algoritmos basados \u200b\u200ben visi\u00f3n por computadora realizado en Argentina. Su trabajo m\u00e1s reciente aborda temas relacionados con el monitoreo no invasivo de los Recursos H\u00eddricos y su interacci\u00f3n con el medio ambiente, desde el monitoreo de playas en zonas costeras, la teledetecci\u00f3n de cuencas h\u00eddricas y la clasificaci\u00f3n de humedales.</p>"}, {"id": 79, "name": "Carlos E. Berger", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/79.jpg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/67/", "cancelled": false}, {"room": "Hall C", "rooms": ["Hall C"], "start": "2025-05-16T11:00:00-04:00", "end": "2025-05-16T11:30:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 51, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Building a NoGIL Load Balancer in 30 minutes", "description": "<p>Load balancers are widespread nowadays because most software systems are web-centric and service oriented. However, they\u2019re extremely complex to build, because they must be very performant and use sophisticated algorithms to route traffic. Until recently, you couldn\u2019t 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\u2019re 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\u2019re building systems that demand concurrency (such as AI models or DevOps pipelines), or you\u2019re just curious about how tools like gUnicorn or Starlette work under the hood, you\u2019ll come away with practical insights on how to start off the NoGIL era on the right foot.</p>", "authors": ["Alvaro Duran"], "speakers": [{"id": 128, "name": "Alvaro Duran", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/128.jpg.256x256_q85.jpg", "bio": "<p>I write software that moves money around\u2014in Python. It\u2019s 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\u2014and I won't apologize for either.</p>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/113/", "cancelled": false}, {"room": "Ballroom BC", "rooms": ["Ballroom BC"], "start": "2025-05-16T11:00:00-04:00", "end": "2025-05-16T11:30:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 53, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "World's First Undoable Notebook", "description": "<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 \u2018un-drop\u2019 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>", "authors": ["Zhaoheng Li"], "speakers": [{"id": 105, "name": "Zhaoheng Li", "photo": "", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/92/", "cancelled": false}, {"room": "Room 301-305", "rooms": ["Room 301-305"], "start": "2025-05-16T11:00:00-04:00", "end": "2025-05-16T11:30:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 54, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Diving into the Deep End: A Python Journey in Water Management", "description": "<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\u2019ll 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\u2019ll 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>", "authors": ["Jack Linke"], "speakers": [{"id": 119, "name": "Jack Linke", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/119.jpeg.256x256_q85.jpg", "bio": "<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\u2019s 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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/104/", "cancelled": false}, {"room": "Ballroom A", "rooms": ["Ballroom A"], "start": "2025-05-16T11:00:00-04:00", "end": "2025-05-16T11:30:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 52, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Bridging Python and Apache Iceberg\u2122: The Power of PyIceberg", "description": "<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\u2122</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\u2014metadata files, manifest lists, and manifests\u2014and 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\u2019s advanced features, including schema evolution, hidden partitioning, and time travel, which make table management efficient and flexible.</p>", "authors": ["Rushan Jiang"], "speakers": [{"id": 141, "name": "Rushan Jiang", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/141.jpeg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/124/", "cancelled": false}, {"room": "Room 310/311", "rooms": ["Room 310/311"], "start": "2025-05-17T11:15:00-04:00", "end": "2025-05-17T11:45:00-04:00", "duration": 30, "kind": "charla", "section": "talks", "conf_key": 112, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "M\u00e1s all\u00e1 de Try-Except: La frontera de Python en el manejo de errores con Monadas y Railway Magic", "description": "<p>Quiero que lleves tus habilidades de manejo de errores en Python a un nivel superior, haciendo que tu c\u00f3digo sea m\u00e1s 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\u00e1pidamente se vuelven dif\u00edciles de manejar a medida que las bases de c\u00f3digo 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\u00e1s all\u00e1 de Try-Except: La frontera de Python en el manejo de errores con Monads y Railway Magic\", exploraremos un enfoque innovador para la gesti\u00f3n de errores en Python. Utilizaremos los monads, espec\u00edficamente con la Results Library, y el m\u00e9todo Railway-Driven Development, que nos permitir\u00e1 adoptar conceptos de programaci\u00f3n funcional para construir una estructura s\u00f3lida y predecible para el manejo de errores.</p>\n<p>A trav\u00e9s de ejemplos pr\u00e1cticos, demostrar\u00e9 c\u00f3mo este enfoque facilita la integraci\u00f3n de caracter\u00edsticas avanzadas de Python, como pattern matching, haciendo que la gesti\u00f3n de errores sea m\u00e1s clara y eficiente. Al final de la charla, tendr\u00e1s las herramientas necesarias para implementar un sistema de manejo de errores m\u00e1s robusto y mantenible en tus propios proyectos, superando las limitaciones de las pr\u00e1cticas tradicionales y mejorando significativamente la calidad de tu c\u00f3digo.</p>", "authors": ["Sebastian Arias"], "speakers": [{"id": 103, "name": "Sebastian Arias", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/103.png.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/90/", "cancelled": false}, {"room": "Ballroom BC", "rooms": ["Ballroom BC"], "start": "2025-05-17T11:15:00-04:00", "end": "2025-05-17T11:45:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 110, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "When GPUs Make Python Slower: Patterns and Pitfalls", "description": "<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\u2019ll explain what GPU accelerated libraries like Numba, CuPy, cuDF and cuGraph really do, and we\u2019ll dive into string processing, memory transfer overhead, and real-world case studies in processing time-series data. Whether you\u2019re new to GPU acceleration or already using it in production, you\u2019ll better understand when using GPUs help, when it doesn\u2019t, and when you should reach for other ways to make your Python code faster.</p>", "authors": ["Kaashif Hymabaccus"], "speakers": [{"id": 155, "name": "Kaashif Hymabaccus", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/155.jpg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/138/", "cancelled": false}, {"room": "Ballroom A", "rooms": ["Ballroom A"], "start": "2025-05-17T11:15:00-04:00", "end": "2025-05-17T11:45:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 109, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Missing the Apex: Predicting F1 Races with Python", "description": "<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>", "authors": ["Josh Weissbock"], "speakers": [{"id": 135, "name": "Josh Weissbock", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/135.jpeg.256x256_q85.jpg", "bio": "<p>-</p>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/119/", "cancelled": false}, {"room": "Hall C", "rooms": ["Hall C"], "start": "2025-05-17T11:15:00-04:00", "end": "2025-05-17T11:45:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 108, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "What's New in the Linux Kernel... from Python", "description": "<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>", "authors": ["Geoffrey Thomas"], "speakers": [{"id": 14, "name": "Geoffrey Thomas", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/14.jpg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/12/", "cancelled": false}, {"room": "Room 301-305", "rooms": ["Room 301-305"], "start": "2025-05-17T11:15:00-04:00", "end": "2025-05-17T11:45:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 111, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Scaling the Mountain: A Framework for Tackling Large-Scale Tech Debt", "description": "<p>Managing tech debt in large legacy codebases isn\u2019t just a challenge\u2014it\u2019s an ongoing battle that can drain developer productivity and morale. In this talk, I\u2019ll 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\u2019ll 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\u2019re dealing with type errors, legacy dependencies, or async transitions, this talk provides a roadmap for creating cleaner, more maintainable code at scale.</p>", "authors": ["Jimmy Lai"], "speakers": [{"id": 2, "name": "Jimmy Lai", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/2.jpg.256x256_q85.jpg", "bio": "<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\u2019s not coding or presenting, he\u2019s exploring ways to make large-scale systems more efficient and developer-friendly.</p>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/2/", "cancelled": false}, {"room": "Room 309", "rooms": ["Room 309"], "start": "2025-05-15T11:30:00-04:00", "end": "2025-05-15T12:30:00-04:00", "duration": 60, "kind": "sponsor-workshop", "section": "sponsor-presentations", "conf_key": 33, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Enterprise-Ready Python for High-Performance Data Teams (Sponsor: Snowflake)", "description": "<p>In this talk, we\u2019ll 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>", "authors": ["Savannah Ostrowski", "Doris Lee"], "speakers": [{"id": 167, "name": "Savannah Ostrowski", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/167.png.256x256_q85.png", "bio": "<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\u2019s 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>"}, {"id": 168, "name": "Doris Lee", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/168.png.256x256_q85.png", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/148/", "cancelled": false}, {"room": "Room 316", "rooms": ["Room 316"], "start": "2025-05-15T11:30:00-04:00", "end": "2025-05-15T12:30:00-04:00", "duration": 60, "kind": "sponsor-workshop", "section": "sponsor-presentations", "conf_key": 35, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Building AI Applications the Pydantic Way (Sponsor: Pydantic)", "description": "<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\u2014let alone debug and monitor them\u2014can be a challenge. The good news? AI development is just software development\u2014with 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\u2014using 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>", "authors": ["Samuel Colvin"], "speakers": [{"id": 161, "name": "Samuel Colvin", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/161.jpg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/143/", "cancelled": false}, {"room": "Room 315", "rooms": ["Room 315"], "start": "2025-05-15T11:30:00-04:00", "end": "2025-05-15T12:30:00-04:00", "duration": 60, "kind": "sponsor-workshop", "section": "sponsor-presentations", "conf_key": 34, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "sponsor-workshop", "description": ""}, {"room": "Ballroom A", "rooms": ["Ballroom A"], "start": "2025-05-16T11:45:00-04:00", "end": "2025-05-16T12:15:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 57, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "The PyArrow revolution in Pandas", "description": "<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>", "authors": ["Reuven M. Lerner"], "speakers": [{"id": 81, "name": "Reuven M. Lerner", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/81.jpg.256x256_q85.jpg", "bio": "<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 \u2014 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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/69/", "cancelled": false}, {"room": "Room 301-305", "rooms": ["Room 301-305"], "start": "2025-05-16T11:45:00-04:00", "end": "2025-05-16T12:15:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 59, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "How to learn Japanese with Python", "description": "<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>", "authors": ["Takanori Suzuki"], "speakers": [{"id": 139, "name": "Takanori Suzuki", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/139.jpg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/122/", "cancelled": false}, {"room": "Ballroom BC", "rooms": ["Ballroom BC"], "start": "2025-05-16T11:45:00-04:00", "end": "2025-05-16T12:15:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 58, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Going From Notebooks to Scalable Systems", "description": "<p>Jupyter Notebooks are a fantastic tool that make it very easy to get started on a project. But often, you\u2019ll reach a point where you want to make your code part of a larger system, and you\u2019ll need to change your way of working. You\u2019ll need to go from code that gives you some insights or results to robust, reproducible code that runs automatically. In this talk, I\u2019ll explain strategies that will help you smoothly refactor your code. I\u2019ll introduce tools that will help you, and discuss the skills that you\u2019ll 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>", "authors": ["Catherine Nelson"], "speakers": [{"id": 59, "name": "Catherine Nelson", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/59.jpg.256x256_q85.jpg", "bio": "<p>Catherine Nelson is a freelance data scientist and the author of two O'Reilly books, this year\u2019s 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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/51/", "cancelled": false}, {"room": "Hall C", "rooms": ["Hall C"], "start": "2025-05-16T11:45:00-04:00", "end": "2025-05-16T12:15:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 56, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Using Rust in Free-Threaded vs Regular Python 3.13", "description": "<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>", "authors": ["David Hewitt"], "speakers": [{"id": 124, "name": "David Hewitt", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/124.jpg.256x256_q85.jpg", "bio": "<p>-</p>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/110/", "cancelled": false}, {"room": "Room 310/311", "rooms": ["Room 310/311"], "start": "2025-05-16T11:45:00-04:00", "end": "2025-05-16T12:15:00-04:00", "duration": 30, "kind": "charla", "section": "talks", "conf_key": 60, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Automatizando el Rendimiento de C\u00f3digo Python", "description": "<p>Optimizar el c\u00f3digo para mejorar el rendimiento requiere experiencia y un esfuerzo manual considerable. Debido a esta barrera, la mayor\u00eda del software permanece sin optimizar, lo que da lugar a las aplicaciones lentas que com\u00fanmente experimentamos. En esta charla, veremos c\u00f3mo las herramientas modernas impulsadas por IA pueden ahora optimizar continuamente el c\u00f3digo 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\u00f3digo y analizaremos c\u00f3mo cada uno de estos pasos puede ser automatizado. En particular:\n    \u2022   C\u00f3mo los Modelos de Lenguaje de Gran Escala pueden generar optimizaciones efectivas para el c\u00f3digo.\n    \u2022   C\u00f3mo el nuevo c\u00f3digo generado se verifica exhaustivamente para garantizar que sea funcionalmente correcto.\n    \u2022   C\u00f3mo automatizar las pruebas de rendimiento para asegurarse de que las optimizaciones realmente mejoren el rendimiento.</p>\n<p>A trav\u00e9s de demostraciones en vivo de optimizaci\u00f3n de c\u00f3digo con Codeflash, mostraremos las capacidades de este enfoque. Presentaremos varias categor\u00edas de optimizaciones posibles analizando c\u00f3digo integrado en proyectos populares de c\u00f3digo abierto, como Pydantic. Finalmente, veremos c\u00f3mo podemos comenzar a optimizar autom\u00e1ticamente nuestro c\u00f3digo 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\u00f3n m\u00e1s eficiente en Python.</p>", "authors": ["Kevin Rodriguez"], "speakers": [{"id": 77, "name": "Kevin Rodriguez", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/77.jpeg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/66/", "cancelled": false}, {"room": "Hall C", "rooms": ["Hall C"], "start": "2025-05-17T12:00:00-04:00", "end": "2025-05-17T12:45:00-04:00", "duration": 45, "kind": "talk", "section": "talks", "conf_key": 113, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Program Your Own Computer in Python", "description": "<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>", "authors": ["Glyph"], "speakers": [{"id": 153, "name": "Glyph", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/153.jpg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/136/", "cancelled": false}, {"room": "Room 301-305", "rooms": ["Room 301-305"], "start": "2025-05-17T12:00:00-04:00", "end": "2025-05-17T12:30:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 116, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Reduce the environmental footprint of your Python programs", "description": "<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\u2019s 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\u2014looking 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\u2019s 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\u2019s be responsible \u2014 let\u2019s develop projects that will not harm the environment. Together, we can progress and adapt our development processes to the current climate change crisis \u2013 the one in which development and innovative efforts go hand in hand with taking care of the environment. So let\u2019s code with purpose.</p>", "authors": ["Apoorv Garg"], "speakers": [{"id": 92, "name": "Apoorv Garg", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/92.jpeg.256x256_q85.jpg", "bio": "<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\u2019ve 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\u2019m 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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/80/", "cancelled": false}, {"room": "Ballroom BC", "rooms": ["Ballroom BC"], "start": "2025-05-17T12:00:00-04:00", "end": "2025-05-17T12:45:00-04:00", "duration": 45, "kind": "talk", "section": "talks", "conf_key": 115, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "GPU Programming in Pure Python", "description": "<p>GPU programming can be scary but doesn\u2019t 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>", "authors": ["Bryce Adelstein Lelbach"], "speakers": [{"id": 126, "name": "Bryce Adelstein Lelbach", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/126.jpg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/111/", "cancelled": false}, {"room": "Room 403/404", "rooms": ["Room 403/404"], "start": "2025-05-18T12:00:00-04:00", "end": "2025-05-18T13:00:00-04:00", "duration": 60, "kind": "event", "section": "events", "conf_key": 1788, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "PyLadies Lunch, pre-registration required", "description": "<p>PyLadies Lunch, pre-registration required</p>"}, {"room": "Hall A", "rooms": ["Hall A"], "start": "2025-05-18T12:00:00-04:00", "end": "2025-05-18T13:00:00-04:00", "duration": 60, "kind": "break", "section": "talks", "conf_key": 155, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Lunch", "description": "<p>Lunch</p>"}, {"room": "Ballroom A", "rooms": ["Ballroom A"], "start": "2025-05-17T12:00:00-04:00", "end": "2025-05-17T12:30:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 114, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "How to build a cross-platform graphical user interface with Python", "description": "<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>", "authors": ["Russell Keith-Magee"], "speakers": [{"id": 90, "name": "Russell Keith-Magee", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/90.jpg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/78/", "cancelled": false}, {"room": "Room 310/311", "rooms": ["Room 310/311"], "start": "2025-05-17T12:00:00-04:00", "end": "2025-05-17T12:30:00-04:00", "duration": 30, "kind": "charla", "section": "talks", "conf_key": 117, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "NLP para la preservaci\u00f3n del lenguaje ind\u00edgena Quechua", "description": "<h3><em>NLP para la preservaci\u00f3n del lenguaje ind\u00edgena Quechua en Bolivia</em></h3>\n<p>El quechua, hablado por m\u00e1s de 2.8 millones de personas en Bolivia, es uno de los idiomas ind\u00edgenas m\u00e1s importantes del pa\u00eds. Sin embargo, enfrenta serias amenazas debido a la modernizaci\u00f3n y la globalizaci\u00f3n. Esta charla explora c\u00f3mo las t\u00e9cnicas de Procesamiento de Lenguaje Natural (NLP) pueden ser una herramienta crucial para la revitalizaci\u00f3n y preservaci\u00f3n del quechua, asegurando su uso en el \u00e1mbito digital y su transmisi\u00f3n 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\u00f3n habla quechua, lo que lo convierte en un idioma vital para la cultura del pa\u00eds. Sin embargo, el uso del quechua est\u00e1 en declive, especialmente entre los j\u00f3venes.</li>\n<li>\n<p><strong>Datos ling\u00fc\u00edsticos en quechua:</strong> Existen pocos recursos digitales y corpus disponibles en quechua, lo que dificulta la creaci\u00f3n de tecnolog\u00edas ling\u00fc\u00edsticas. Sin embargo, algunos esfuerzos est\u00e1n comenzando a surgir en la comunidad.</p>\n</li>\n<li>\n<p><strong>Desaf\u00edos t\u00e9cnicos:</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\u00f3n del quechua a trav\u00e9s de tecnolog\u00edas NLP puede tener un impacto significativo en comunidades bolivianas, promoviendo el acceso a la informaci\u00f3n 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\u00eda para revitalizar el quechua en Bolivia, un idioma con una rica herencia cultural que necesita urgentemente soluciones digitales para su preservaci\u00f3n y expansi\u00f3n.</p>", "authors": ["Carla Marcela Florida Rom\u00e1n"], "speakers": [{"id": 69, "name": "Carla Marcela Florida Rom\u00e1n", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/69.JPG.256x256_q85.jpg", "bio": "<p><em>Carla</em> es una apasionada de la Inteligencia Artificial con una destacada participaci\u00f3n 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\u00e9n es cofundadora de Menti Academy, una academia de ense\u00f1anza online para ni\u00f1os. Adem\u00e1s, Women Techmaker Ambassador y creadora de contenido en redes sociales como TikTok e Instagram a trav\u00e9s de su comunidad CarliCode, donde ayuda a las personas a iniciarse en la programaci\u00f3n, especialmente en Python y en inteligencia artificial.</p>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/59/", "cancelled": false}, {"room": "Hall A", "rooms": ["Hall A"], "start": "2025-05-17T12:30:00-04:00", "end": "2025-05-17T13:45:00-04:00", "duration": 75, "kind": "break", "section": "talks", "conf_key": 173, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Lunch", "description": "<p>Lunch</p>"}, {"room": "Room 310/311", "rooms": ["Room 310/311"], "start": "2025-05-16T12:30:00-04:00", "end": "2025-05-16T13:00:00-04:00", "duration": 30, "kind": "charla", "section": "talks", "conf_key": 65, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Cambiando el gui\u00f3n: No estamos solas - DataSoul Podcast", "description": "<p>\u00a1Hola! Somos Valen y Laura creadoras y hosts de DataSoul Podcast, un espacio seguro para compartir experiencias trabajando en la industria tech, as\u00ed como hablar de temas de los que poco se habla pero que todos enfrentamos en alg\u00fan momento. Este podcast quiere ser parte de Pycon US con la presentaci\u00f3n 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>", "authors": ["Laura L\u00f3pez", "Valentina Ariza"], "speakers": [{"id": 23, "name": "Laura L\u00f3pez", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/23_R8jwQ9X.jpeg.256x256_q85.jpg", "bio": "<p>Soy cient\u00edfica de datos, WomenTechMaker Ambassador, y Co-host de DataSoul Podcast. Interesada en el entendimiento y aplicaci\u00f3n de machine learning y an\u00e1lisis de datos para obtener resultados y soluciones de valor. Me gusta la fotograf\u00eda, los libros y los datos.</p>"}, {"id": 24, "name": "Valentina Ariza", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/24.jpg.256x256_q85.jpg", "bio": "<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\u00f1os 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\u00f3n para la toma de decisiones estrat\u00e9gicas.</p>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/21/", "cancelled": false}, {"room": "Hall C", "rooms": ["Hall C"], "start": "2025-05-16T12:30:00-04:00", "end": "2025-05-16T13:15:00-04:00", "duration": 45, "kind": "talk", "section": "talks", "conf_key": 61, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Unraveling Community Support For Free-Threaded Python", "description": "<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>", "authors": ["Lysandros Nikolaou", "Nathan Goldbaum"], "speakers": [{"id": 44, "name": "Lysandros Nikolaou", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/44.jpg.256x256_q85.jpg", "bio": "<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>"}, {"id": 45, "name": "Nathan Goldbaum", "photo": "", "bio": "<p>-</p>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/42/", "cancelled": false}, {"room": "Room 301-305", "rooms": ["Room 301-305"], "start": "2025-05-16T12:30:00-04:00", "end": "2025-05-16T13:00:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 64, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Make Python Talk, Make Python Listen", "description": "<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>", "authors": ["Al Sweigart"], "speakers": [{"id": 129, "name": "Al Sweigart", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/129.jpg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/114/", "cancelled": false}, {"room": "Ballroom A", "rooms": ["Ballroom A"], "start": "2025-05-16T12:30:00-04:00", "end": "2025-05-16T13:00:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 62, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Processing Large Geospatial Datasets with Dask & Xarray", "description": "<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\u2019ll 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\u2019ll 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\u2019ll offer a peak behind the scenes of an ongoing project aimed at building the first ever query optimizer for large scale array computations.</p>", "authors": ["Patrick Hoefler"], "speakers": [{"id": 98, "name": "Patrick Hoefler", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/98.jpeg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/86/", "cancelled": false}, {"room": "Ballroom A", "rooms": ["Ballroom A"], "start": "2025-05-14T12:30:00-04:00", "end": "2025-05-14T13:30:00-04:00", "duration": 60, "kind": "break", "section": "tutorials", "conf_key": 7, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Lunch", "description": "<p>Lunch</p>"}, {"room": "Room 403/404", "rooms": ["Room 403/404"], "start": "2025-05-17T12:30:00-04:00", "end": "2025-05-17T14:00:00-04:00", "duration": 90, "kind": "event", "section": "events", "conf_key": 1773, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "PSF Members Lunch, pre-registration required", "description": "<p>PSF Members Lunch, pre-registration required</p>"}, {"room": "Ballroom BC", "rooms": ["Ballroom BC"], "start": "2025-05-16T12:30:00-04:00", "end": "2025-05-16T13:15:00-04:00", "duration": 45, "kind": "talk", "section": "talks", "conf_key": 63, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Marimo: A Notebook that \"Compiles\" Python for Reproducibility and Reusability", "description": "<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 \u2014 an open-source reactive notebook for Python that's executable as scripts and shareable as apps \u2014 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>", "authors": ["Akshay Agrawal"], "speakers": [{"id": 20, "name": "Akshay Agrawal", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/20.png.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/18/", "cancelled": false}, {"room": "Ballroom A", "rooms": ["Ballroom A"], "start": "2025-05-15T12:30:00-04:00", "end": "2025-05-15T13:30:00-04:00", "duration": 60, "kind": "break", "section": "tutorials", "conf_key": 20, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Lunch", "description": "<p>Lunch</p>"}, {"room": "Concourse A", "rooms": ["Concourse A"], "start": "2025-05-18T13:00:00-04:00", "end": "2025-05-18T13:00:00-04:00", "duration": 0, "kind": "informational", "section": "events", "conf_key": 1789, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Registration / Information Desks Close", "description": "<p>Registration / Information Desks Close</p>"}, {"room": "Hall A", "rooms": ["Hall A"], "start": "2025-05-16T13:00:00-04:00", "end": "2025-05-16T14:00:00-04:00", "duration": 60, "kind": "break", "section": "talks", "conf_key": 172, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Lunch", "description": "<p>Lunch</p>"}, {"room": "Ballroom A", "rooms": ["Ballroom A"], "start": "2025-05-18T13:00:00-04:00", "end": "2025-05-18T13:30:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 157, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Processing large JSON files without running out of memory", "description": "<p>If you need to process a large JSON file in Python, it\u2019s 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>", "authors": ["Itamar Turner-Trauring"], "speakers": [{"id": 142, "name": "Itamar Turner-Trauring", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/142.jpg.256x256_q85.jpg", "bio": "<p>-</p>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/125/", "cancelled": false}, {"room": "Hall C", "rooms": ["Hall C"], "start": "2025-05-18T13:00:00-04:00", "end": "2025-05-18T13:30:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 156, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Bridging IoT and Machine Learning with Python for Sustainable Agriculture", "description": "<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>", "authors": ["Iyinoluwa Moyosola Oyelade", "Alowolodu Olufunso Dayo"], "speakers": [{"id": 53, "name": "Iyinoluwa Moyosola Oyelade", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/53.jpg.256x256_q85.jpg", "bio": "<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\u2019s 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>"}, {"id": 164, "name": "Alowolodu Olufunso Dayo", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/164.jpeg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/47/", "cancelled": false}, {"room": "Room 301-305", "rooms": ["Room 301-305"], "start": "2025-05-18T13:00:00-04:00", "end": "2025-05-18T13:30:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 159, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Going faster in all directions at once: How two teams are working together to make Python better for all", "description": "<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>", "authors": ["Michael Droettboom", "Dino Viehland"], "speakers": [{"id": 86, "name": "Michael Droettboom", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/86.jpg.256x256_q85.jpg", "bio": "<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>"}, {"id": 87, "name": "Dino Viehland", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/87.jpg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/75/", "cancelled": false}, {"room": "Ballroom BC", "rooms": ["Ballroom BC"], "start": "2025-05-18T13:00:00-04:00", "end": "2025-05-18T13:30:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 158, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Reinventing the Wheel:  A Community-Driven Roadmap for Python Packaging", "description": "<h2>Abstract</h2>\n<p>The Python ecosystem thrives on innovation, adaptability, versatility and a thriving open-source community. Python\u2019s 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\u2019ll 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.\u2028\u2028We'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\u2019t 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 \u201cRe-Invent the Wheel\u201d and have founded the \u201cWheel Next\u201d 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\u2019ll 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>", "authors": ["Jonathan Dekhtiar", "Barry Warsaw"], "speakers": [{"id": 114, "name": "Jonathan Dekhtiar", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/114.jpeg.256x256_q85.jpg", "bio": "<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>"}, {"id": 115, "name": "Barry Warsaw", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/115.jpg.256x256_q85.jpg", "bio": "<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\u2019s 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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/100/", "cancelled": false}, {"room": "Hall A", "rooms": ["Hall A"], "start": "2025-05-18T13:00:00-04:00", "end": "2025-05-18T13:00:00-04:00", "duration": 0, "kind": "informational", "section": "events", "conf_key": 1790, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Swag pickup T-shirt Sales Close", "description": "<p>Swag pickup T-shirt Sales Close</p>"}, {"room": "Room 316", "rooms": ["Room 316"], "start": "2025-05-15T13:30:00-04:00", "end": "2025-05-15T14:30:00-04:00", "duration": 60, "kind": "sponsor-workshop", "section": "sponsor-presentations", "conf_key": 40, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "DataComPy - Dataframe Comparisons made Explicit (Sponsor: Capital One)", "description": "<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>", "authors": ["Akshay Gupta", "Raymond Haffar"], "speakers": [{"id": 83, "name": "Akshay Gupta", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/83.jpg.256x256_q85.jpg", "bio": "<p>-</p>"}, {"id": 84, "name": "Raymond Haffar", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/84.jpg.256x256_q85.jpg", "bio": "<p>UWaterloo Comp Eng undergrad, data science @ Capital One. Interested in building practical and resilient solutions for data tooling!</p>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/73/", "cancelled": false}, {"room": "Room 319", "rooms": ["Room 319"], "start": "2025-05-14T13:30:00-04:00", "end": "2025-05-14T17:00:00-04:00", "duration": 210, "kind": "tutorial", "section": "tutorials", "conf_key": 11, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Codyssey: A playful control system workshop", "description": "<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\u2019ll learn about the control system programming model and implement simple systems in Python to autonomously play various games. You\u2019ll 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\u2019ll have to think creatively and practice translating your intuition into code.</p>\n<p>During the workshop I\u2019ll mentor individual participants / pairs; after the competitive part I\u2019ll 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\u2019ll 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>", "authors": ["Daniel Anderson"], "speakers": [{"id": 40, "name": "Daniel Anderson", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/40.png.256x256_q85.png", "bio": "<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\u2019 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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/38/", "cancelled": false}, {"room": "Room 317", "rooms": ["Room 317"], "start": "2025-05-14T13:30:00-04:00", "end": "2025-05-14T17:00:00-04:00", "duration": 210, "kind": "tutorial", "section": "tutorials", "conf_key": 9, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Snakes in a Grid: Working with spreadsheets in Python + Python in Excel", "description": "<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>", "authors": ["Sarah Kaiser"], "speakers": [{"id": 39, "name": "Sarah Kaiser", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/39.jpg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/37/", "cancelled": false}, {"room": "Room 318", "rooms": ["Room 318"], "start": "2025-05-15T13:30:00-04:00", "end": "2025-05-15T17:00:00-04:00", "duration": 210, "kind": "tutorial", "section": "tutorials", "conf_key": 23, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Analyzing Survey Data with Pandas and StatsModels", "description": "<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>", "authors": ["Allen  Downey"], "speakers": [{"id": 61, "name": "Allen  Downey", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/61.jpg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/53/", "cancelled": false}, {"room": "Room 315", "rooms": ["Room 315"], "start": "2025-05-15T13:30:00-04:00", "end": "2025-05-15T14:30:00-04:00", "duration": 60, "kind": "sponsor-workshop", "section": "sponsor-presentations", "conf_key": 39, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "High-Performance Python: Faster Type Checking and Free Threaded Execution (Sponsor: Meta)", "description": "<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>", "authors": ["Sam Gross", "Neil Mitchell"], "speakers": [{"id": 133, "name": "Sam Gross", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/133.jpeg.256x256_q85.jpg", "bio": "<p>-</p>"}, {"id": 134, "name": "Neil Mitchell", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/134.jpg.256x256_q85.jpg", "bio": "<p>Programmer at Meta, working on improving the Python developer experience.</p>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/118/", "cancelled": false}, {"room": "Room 317", "rooms": ["Room 317"], "start": "2025-05-15T13:30:00-04:00", "end": "2025-05-15T17:00:00-04:00", "duration": 210, "kind": "tutorial", "section": "tutorials", "conf_key": 22, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "(Pre-)Commit to Better Code", "description": "<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>", "authors": ["Stefanie Molin"], "speakers": [{"id": 71, "name": "Stefanie Molin", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/71.jpeg.256x256_q85.jpg", "bio": "<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 \u201c<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>,\u201d which is currently in its second edition and has been translated into Korean and Chinese. She holds a bachelor\u2019s of science degree in operations research from Columbia University's Fu Foundation School of Engineering and Applied Science, as well as a master\u2019s 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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/61/", "cancelled": false}, {"room": "Room 319", "rooms": ["Room 319"], "start": "2025-05-15T13:30:00-04:00", "end": "2025-05-15T17:00:00-04:00", "duration": 210, "kind": "tutorial", "section": "tutorials", "conf_key": 24, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Handcrafting Your Own Language Processor: The Art of Writing Recursive Descent Parsers", "description": "<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>", "authors": ["Ariel Ortiz"], "speakers": [{"id": 76, "name": "Ariel Ortiz", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/76.jpg.256x256_q85.jpg", "bio": "<p>Ariel Ortiz is a programming languages enthusiast. Since 1994, he has been a full-time faculty member at the Tecnol\u00f3gico 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\u2019s 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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/65/", "cancelled": false}, {"room": "Room 310/311", "rooms": ["Room 310/311"], "start": "2025-05-15T13:30:00-04:00", "end": "2025-05-15T17:00:00-04:00", "duration": 210, "kind": "tutorial", "section": "tutorials", "conf_key": 21, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Reimplementing the module `itertools` for fun and profit", "description": "<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>", "authors": ["Rodrigo Gir\u00e3o Serr\u00e3o"], "speakers": [{"id": 106, "name": "Rodrigo Gir\u00e3o Serr\u00e3o", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/106.png.256x256_q85.jpg", "bio": "<p>Rodrigo Gir\u00e3o Serr\u00e3o 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 \u201cthe largest programming lesson in the world\u201d</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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/93/", "cancelled": false}, {"room": "Room 321", "rooms": ["Room 321"], "start": "2025-05-15T13:30:00-04:00", "end": "2025-05-15T17:00:00-04:00", "duration": 210, "kind": "tutorial", "section": "tutorials", "conf_key": 26, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Building a cross-platform app with BeeWare", "description": "<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>", "authors": ["Russell Keith-Magee"], "speakers": [{"id": 90, "name": "Russell Keith-Magee", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/90.jpg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/147/", "cancelled": false}, {"room": "Room 318", "rooms": ["Room 318"], "start": "2025-05-14T13:30:00-04:00", "end": "2025-05-14T17:00:00-04:00", "duration": 210, "kind": "tutorial", "section": "tutorials", "conf_key": 10, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Decorators Demystified", "description": "<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>", "authors": ["Trey Hunner"], "speakers": [{"id": 140, "name": "Trey Hunner", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/140.jpg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/123/", "cancelled": false}, {"room": "Room 320", "rooms": ["Room 320"], "start": "2025-05-15T13:30:00-04:00", "end": "2025-05-15T17:00:00-04:00", "duration": 210, "kind": "tutorial", "section": "tutorials", "conf_key": 25, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Build a Synthesizer with Python", "description": "<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\u2019ll 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\u2019re 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\u2019ll learn a lot about audio programming and signal processing techniques.</p>", "authors": ["Sangarshanan"], "speakers": [{"id": 21, "name": "Sangarshanan", "photo": "", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/19/", "cancelled": false}, {"room": "Room 301-305", "rooms": ["Room 301-305"], "start": "2025-05-17T13:30:00-04:00", "end": "2025-05-17T14:15:00-04:00", "duration": 45, "kind": "talk", "section": "talks", "conf_key": 126, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "The Zen of Polymorphism: Choosing between isinstance(), methods, and @singledispatch", "description": "<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>", "authors": ["Brett Slatkin"], "speakers": [{"id": 113, "name": "Brett Slatkin", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/113.jpg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/99/", "cancelled": false}, {"room": "Room 320", "rooms": ["Room 320"], "start": "2025-05-14T13:30:00-04:00", "end": "2025-05-14T17:00:00-04:00", "duration": 210, "kind": "tutorial", "section": "tutorials", "conf_key": 12, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Practical PyScript", "description": "<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 \u0141ukasz Langa's advanced, and frankly mind-blowing, PyScript / WebGL tutorial later in the conference.</p>", "authors": ["Nicholas H.Tollervey"], "speakers": [{"id": 9, "name": "Nicholas H.Tollervey", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/9.jpg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/8/", "cancelled": false}, {"room": "Room 321", "rooms": ["Room 321"], "start": "2025-05-14T13:30:00-04:00", "end": "2025-05-14T17:00:00-04:00", "duration": 210, "kind": "tutorial", "section": "tutorials", "conf_key": 13, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "NanoDash: Writing an Interactive Web Framework from Scratch", "description": "<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>", "authors": ["Martha Cryan", "Emily Kellison-Linn"], "speakers": [{"id": 101, "name": "Martha Cryan", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/101.jpg.256x256_q85.jpg", "bio": "<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>"}, {"id": 102, "name": "Emily Kellison-Linn", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/102.jpeg.256x256_q85.jpg", "bio": "<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\u00e9al, Qu\u00e9bec.</p>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/89/", "cancelled": false}, {"room": "Room 309", "rooms": ["Room 309"], "start": "2025-05-15T13:30:00-04:00", "end": "2025-05-15T14:30:00-04:00", "duration": 60, "kind": "sponsor-workshop", "section": "sponsor-presentations", "conf_key": 38, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Real-World Problems Blockchain Actually Solves (and How to Code Them in Python) (Sponsor: Algorand)", "description": "<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\u2014companies 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\u2014not as a magic bullet, but as a practical option for specific, thorny problems.</p>", "authors": ["Gabriel Kuettel"], "speakers": [{"id": 171, "name": "Gabriel Kuettel", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/171.jpeg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/150/", "cancelled": false}, {"room": "Ballroom A", "rooms": ["Ballroom A"], "start": "2025-05-17T13:30:00-04:00", "end": "2025-05-17T14:15:00-04:00", "duration": 45, "kind": "talk", "section": "talks", "conf_key": 124, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Looking At Audio", "description": "<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>", "authors": ["\u0141ukasz Langa"], "speakers": [{"id": 27, "name": "\u0141ukasz Langa", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/27.jpg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/103/", "cancelled": false}, {"room": "Hall A", "rooms": ["Hall A"], "start": "2025-05-17T13:30:00-04:00", "end": "2025-05-17T13:30:00-04:00", "duration": 0, "kind": "informational", "section": "events", "conf_key": 1774, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Swag Pickup Closes", "description": "<p>Swag Pickup Closes</p>"}, {"room": "Room 310/311", "rooms": ["Room 310/311"], "start": "2025-05-14T13:30:00-04:00", "end": "2025-05-14T17:00:00-04:00", "duration": 210, "kind": "tutorial", "section": "tutorials", "conf_key": 8, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Building software on top of Large Language Models", "description": "<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>", "authors": ["Simon Willison"], "speakers": [{"id": 26, "name": "Simon Willison", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/26.jpg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/25/", "cancelled": false}, {"room": "Ballroom BC", "rooms": ["Ballroom BC"], "start": "2025-05-17T13:45:00-04:00", "end": "2025-05-17T14:15:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 125, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Cython in Practice: A Deep Dive into Legacy C Integration and Debugging", "description": "<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>", "authors": ["Maryanne Wachter"], "speakers": [{"id": 66, "name": "Maryanne Wachter", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/66.png.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/56/", "cancelled": false}, {"room": "Ballroom A", "rooms": ["Ballroom A"], "start": "2025-05-16T13:45:00-04:00", "end": "2025-05-16T14:30:00-04:00", "duration": 45, "kind": "talk", "section": "talks", "conf_key": 72, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Intuition vs. Reality: Surprising Truths in Python Performance", "description": "<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\u2019ll 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\u2019ll understand why performance measurements matter and leave with practical insights and tools to improve Python performance systematically.</p>", "authors": ["Arthur Pastel", "Adrien Cacciaguerra"], "speakers": [{"id": 64, "name": "Arthur Pastel", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/64.jpg.256x256_q85.jpg", "bio": "<p>Hi, I'm Arthur, a software engineer based in Paris \ud83c\uddeb\ud83c\uddf7\ud83e\udd56</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>"}, {"id": 65, "name": "Adrien Cacciaguerra", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/65.jpg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/55/", "cancelled": false}, {"room": "Room 310/311", "rooms": ["Room 310/311"], "start": "2025-05-17T13:45:00-04:00", "end": "2025-05-17T14:15:00-04:00", "duration": 30, "kind": "charla", "section": "talks", "conf_key": 127, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Pruebas E2E automatizadas con Playwright y Python", "description": "<p>En un mundo donde necesitamos garantizar la calidad de nuestro producto, automatizar pruebas para poder seguir flujos de trabajo en ambientes \u00e1giles 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\u00f3n en el mercado.</p>\n<p>Comenzaremos explorando los fundamentos de Playwright, desvelando por qu\u00e9 lo hace tan \u00fanico, c\u00f3mo 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\u00faltiples navegadores, tomar capturas de pantalla, video y emular vistas m\u00f3viles para probar dise\u00f1os responsivos.</p>\n<p>Pero no terminaremos ah\u00ed, exploraremos c\u00f3mo potenciar tus scripts de prueba con el patr\u00f3n de dise\u00f1o \"Page Object Model\", una pr\u00e1ctica que mejora la mantenibilidad del c\u00f3digo y facilita la colaboraci\u00f3n en los equipos de desarrollo. Adem\u00e1s, c\u00f3mo podemos consumir informaci\u00f3n 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\u00e1 herramientas pr\u00e1cticas y conocimientos esenciales para agregar pruebas E2E eficientes en tu flujo de desarrollo.</p>", "authors": ["Joan Alejandro Esquivel Montero"], "speakers": [{"id": 107, "name": "Joan Alejandro Esquivel Montero", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/107.png.256x256_q85.png", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/94/", "cancelled": false}, {"room": "Room 317", "rooms": ["Room 317"], "start": "2025-05-17T13:45:00-04:00", "end": "2025-05-17T17:45:00-04:00", "duration": 240, "kind": "summit", "section": "events", "conf_key": 1775, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Hatchery \u2013 Hometown Heros", "description": "<p>Hatchery \u2013 Hometown Heros</p>"}, {"room": "Room 301-305", "rooms": ["Room 301-305"], "start": "2025-05-18T13:45:00-04:00", "end": "2025-05-18T14:15:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 163, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Cheese Must Stand: Defending the Python Library Ecosystem in 2025", "description": "<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\u2019s 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\u2014all 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>", "authors": ["Patrick Smyth", "Srishti Hegde"], "speakers": [{"id": 111, "name": "Patrick Smyth", "photo": "", "bio": "<p>-</p>"}, {"id": 112, "name": "Srishti Hegde", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/112.jpg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/98/", "cancelled": false}, {"room": "Ballroom A", "rooms": ["Ballroom A"], "start": "2025-05-18T13:45:00-04:00", "end": "2025-05-18T14:15:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 161, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Taming file zoos: Data science with DuckDB database files", "description": "<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 \u2018data_final_final_v3.csv\u2019. Data scientists often produce similar files! We call these \u201cfile zoos\u201d. </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\u2019 workflows. Install DuckDB\u2019s 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\u2019s 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>", "authors": ["Alex Monahan"], "speakers": [{"id": 127, "name": "Alex Monahan", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/127.png.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/112/", "cancelled": false}, {"room": "Room 402", "rooms": ["Room 402"], "start": "2025-05-17T13:45:00-04:00", "end": "2025-05-17T17:30:00-04:00", "duration": 225, "kind": "event", "section": "events", "conf_key": 1772, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Mentored Sprints, pre-registration required", "description": "<p>Mentored Sprints, pre-registration required</p>"}, {"room": "Ballroom BC", "rooms": ["Ballroom BC"], "start": "2025-05-18T13:45:00-04:00", "end": "2025-05-18T14:15:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 162, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Phantom Dependencies: is your requirements.txt haunted?", "description": "<p>Did you know there\u2019s more than Python code included in Python packages? This might be a surprise, especially if you\u2019ve 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\u2019s 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>", "authors": ["Seth Michael Larson"], "speakers": [{"id": 16, "name": "Seth Michael Larson", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/16.jpeg.256x256_q85.jpg", "bio": "<p>Security Developer-in-Residence and Fellow of the Python Software Foundation, Minnesoootan</p>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/14/", "cancelled": false}, {"room": "Hall C", "rooms": ["Hall C"], "start": "2025-05-18T13:45:00-04:00", "end": "2025-05-18T14:15:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 160, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Dependency Injection in Python with Pydantic and Hydra", "description": "<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>", "authors": ["Pascal Tomecek"], "speakers": [{"id": 145, "name": "Pascal Tomecek", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/145.jpeg.256x256_q85.jpg", "bio": "<p>Head of Research Technology for Cubist Systematic Strategies</p>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/128/", "cancelled": false}, {"room": "Room 301-305", "rooms": ["Room 301-305"], "start": "2025-05-16T13:45:00-04:00", "end": "2025-05-16T14:30:00-04:00", "duration": 45, "kind": "talk", "section": "talks", "conf_key": 74, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "This Talk Has Been Disabled", "description": "<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>", "authors": ["Dawn Cooper"], "speakers": [{"id": 147, "name": "Dawn Cooper", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/147.jpeg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/130/", "cancelled": false}, {"room": "Hall C", "rooms": ["Hall C"], "start": "2025-05-17T13:45:00-04:00", "end": "2025-05-17T14:15:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 123, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Type Hints in Real-World Projects: Practical Steps for Continuous Maintenance and Improvement", "description": "<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\u2019ll 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\u2019ll also propose a gradual approach so your team won\u2019t 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>", "authors": ["Koudai Aono"], "speakers": [{"id": 15, "name": "Koudai Aono", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/15.jpg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/13/", "cancelled": false}, {"room": "Room 319", "rooms": ["Room 319"], "start": "2025-05-17T13:45:00-04:00", "end": "2025-05-17T17:45:00-04:00", "duration": 240, "kind": "summit", "section": "events", "conf_key": 1776, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Packaging Summit, pre-registration required", "description": "<p>Packaging Summit, pre-registration required</p>"}, {"room": "Room 310/311", "rooms": ["Room 310/311"], "start": "2025-05-16T14:00:00-04:00", "end": "2025-05-16T14:30:00-04:00", "duration": 30, "kind": "charla", "section": "talks", "conf_key": 75, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "C\u00f3mo llevar tus presentaciones t\u00e9cnicas al siguiente nivel con Python + Quarto", "description": "<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\u00f3n nos permite mostrar la relevancia de nuestro trabajo de una forma clara y convincente, y destacar el valor de nuestras contribuciones t\u00e9cnicas. En este contexto, un elemento fundamental de cualquier presentaci\u00f3n 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\u00f3n t\u00e9cnico y cient\u00edfico de c\u00f3digo abierto. La audiencia se llevar\u00e1 sugerencias concretas sobre c\u00f3mo mejorar sus pr\u00f3ximo set de slides y el c\u00f3digo para implementarlas. </p>\n<p>\u00bfPor qu\u00e9 Quarto?\nQuarto es una excelente herramienta para crear slides sobre contenido t\u00e9cnico porque permite integrar c\u00f3digo, datos y texto en un solo archivo. A lo largo de la presentaci\u00f3n nos enfocaremos en la creaci\u00f3n de slides en formato HTML, ya que este tiene caracter\u00edsticas que lo hacen particularmente \u00fatil para presentar contenido t\u00e9cnico. Por ejemplo, ofrece opciones flexibles para mostrar y ocultar c\u00f3digo y para ajustar la cantidad de informaci\u00f3n mostrada, lo que nos permite crear \"capas\" de contenido. As\u00ed, es posible presentar ideas claves para una audiencia no t\u00e9cnica y al mismo tiempo incluir c\u00f3digo que se muestra solo si es necesario. Incluso, gracias al poder de WebAssembly + pyodide, es posible hacer que aparezca un int\u00e9rprete de Python directamente en nuestra presentaci\u00f3n, para poder hacer una demostraci\u00f3n de algo en el momento, si es necesario. \nTodas estas opciones nos permiten crear presentaciones adaptables a p\u00fablicos con distintos niveles de experiencia o conocimiento t\u00e9cnico.</p>", "authors": ["Riva Quiroga"], "speakers": [{"id": 72, "name": "Riva Quiroga", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/72.png.256x256_q85.png", "bio": "<p>Hi! My name is Riva, and I'm a Data Scientist / Research Software Engineer based in Valpara\u00edso, Chile. I am a Software Sustainability Institute Fellow, a Women Techmakers Ambassador, and a serial volunteer: I co-organize PyLadies Valpara\u00edso, 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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/62/", "cancelled": false}, {"room": "Room 319", "rooms": ["Room 319"], "start": "2025-05-16T14:00:00-04:00", "end": "2025-05-16T18:00:00-04:00", "duration": 240, "kind": "summit", "section": "events", "conf_key": 1761, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Typing Summit", "description": "<p>Typing Summit</p>"}, {"room": "Ballroom BC", "rooms": ["Ballroom BC"], "start": "2025-05-16T14:00:00-04:00", "end": "2025-05-16T14:30:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 73, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "A11y Need Is Love (But Accessible Docs Help Too)", "description": "<p>The Beatles told us that \u2018all you need is love\u2019 and while that is a lovely sentiment, love alone won\u2019t 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\u2019re 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>", "authors": ["Smera Goel"], "speakers": [{"id": 152, "name": "Smera Goel", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/152.jpg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/135/", "cancelled": false}, {"room": "Room 402", "rooms": ["Room 402"], "start": "2025-05-16T14:00:00-04:00", "end": "2025-05-16T17:45:00-04:00", "duration": 225, "kind": "summit", "section": "events", "conf_key": 1762, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Maintainers Summit", "description": "<p>Maintainers Summit</p>"}, {"room": "Hall C", "rooms": ["Hall C"], "start": "2025-05-16T14:00:00-04:00", "end": "2025-05-16T14:30:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 71, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Safeguard your precious API endpoints built on FastAPI using OAuth 2.0", "description": "<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\u2019ll be equipped with a deeper understanding of the critical need for authorization.</p>", "authors": ["Semona Igama"], "speakers": [{"id": 100, "name": "Semona Igama", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/100.jpg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/88/", "cancelled": false}, {"room": "Room 317", "rooms": ["Room 317"], "start": "2025-05-16T14:00:00-04:00", "end": "2025-05-16T18:00:00-04:00", "duration": 240, "kind": "event", "section": "events", "conf_key": 1760, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Hatchery - FlaskCon", "description": "<p>Hatchery - FlaskCon</p>"}, {"room": "Ballroom BC", "rooms": ["Ballroom BC"], "start": "2025-05-17T14:30:00-04:00", "end": "2025-05-17T15:00:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 130, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Zoom, Enhance: Asyncio's New Introspection Powers", "description": "<p>asyncio in Python 3.14 introduces a new powerful feature: introspecting a running asyncio program from another OS process. This changes everything\u2014now 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\u2019ll gain both beautiful and horrible insights into how asyncio and operating systems interact, and we\u2019ll wrap up with a flawless live demo!</p>", "authors": ["Pablo Galindo Salgado", "Yury Selivanov"], "speakers": [{"id": 151, "name": "Pablo Galindo Salgado", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/151.jpg.256x256_q85.jpg", "bio": "<p>-</p>"}, {"id": 131, "name": "Yury Selivanov", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/131.jpg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/116/", "cancelled": false}, {"room": "Hall C", "rooms": ["Hall C"], "start": "2025-05-18T14:30:00-04:00", "end": "2025-05-18T15:00:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 164, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Keeping up with Python: what makes upgrades hard, and what can we do about it", "description": "<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>", "authors": ["Jason Fried"], "speakers": [{"id": 33, "name": "Jason Fried", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/33.png.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/31/", "cancelled": false}, {"room": "Room 301-305", "rooms": ["Room 301-305"], "start": "2025-05-17T14:30:00-04:00", "end": "2025-05-17T15:00:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 131, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Elastic Generics: Flexible Static Typing with TypeVarTuple and Unpack", "description": "<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>", "authors": ["Christopher Ariza"], "speakers": [{"id": 95, "name": "Christopher Ariza", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/95.png.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/83/", "cancelled": false}, {"room": "Room 310/311", "rooms": ["Room 310/311"], "start": "2025-05-17T14:30:00-04:00", "end": "2025-05-17T15:00:00-04:00", "duration": 30, "kind": "charla", "section": "talks", "conf_key": 132, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Rust + Python = Poder Ilimitado: Introducci\u00f3n a PyO3", "description": "<h1><strong>Creando Bibliotecas de Python con Rust: Introducci\u00f3n a PyO3</strong></h1>\n<p>\u00bfTe imaginas combinar la <strong>velocidad y seguridad</strong> de Rust con la <strong>flexibilidad y facilidad</strong> de Python? En esta charla, exploraremos c\u00f3mo lograrlo utilizando <strong>PyO3</strong>, una herramienta que permite construir bibliotecas de Rust que se integran perfectamente en aplicaciones Python.  </p>\n<p>Presentar\u00e9 un extracto de un <strong>proyecto personal en desarrollo</strong>, donde utilizo Rust para optimizar tareas cr\u00edticas de desempe\u00f1o y las expongo como m\u00f3dulos accesibles desde Python. Compartir\u00e9 mi experiencia sobre los retos y ventajas de unir estos dos mundos tecnol\u00f3gicos.  </p>\n<h3><strong>Estructura de la Charla</strong></h3>\n<ol>\n<li><strong>Introducci\u00f3n:</strong>  </li>\n<li>\n<p>Qu\u00e9 es PyO3 y por qu\u00e9 combinar Rust y Python puede transformar tus proyectos.  </p>\n</li>\n<li>\n<p><strong>Fundamentos y Configuraci\u00f3n:</strong>  </p>\n</li>\n<li>\n<p>C\u00f3mo iniciar un proyecto con PyO3 y preparar un entorno de desarrollo eficiente.  </p>\n</li>\n<li>\n<p><strong>Demostraci\u00f3n Pr\u00e1ctica:</strong>  </p>\n</li>\n<li>Creaci\u00f3n paso a paso de una biblioteca simple en Rust, expuesta a Python.  </li>\n<li>Demostraci\u00f3n de proyecto personal</li>\n</ol>\n<h3><strong>Conclusi\u00f3n</strong></h3>\n<p>Se har\u00e1 un an\u00e1lisis de resultados, haciendo una reflexi\u00f3n sobre el impacto del proyecto y las lecciones obtenidas, para pasar a las dudas de la audiencia.</p>", "authors": ["Daniel Hern\u00e1ndez M\u00e9ndez"], "speakers": [{"id": 123, "name": "Daniel Hern\u00e1ndez M\u00e9ndez", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/123.jpg.256x256_q85.jpg", "bio": "<p>Apasionado por los datos y amante del nuevo conocimiento, actualmente me desempe\u00f1o como <strong>Data Steward en Scotiabank</strong>, donde trabajo en la gesti\u00f3n y gobernanza de la informaci\u00f3n para apoyar procesos clave.  </p>\n<p>Soy un miembro activo de <strong>Python Chile</strong>, una comunidad dedicada a la difusi\u00f3n y crecimiento del lenguaje Python en el pa\u00eds. Mi contribuci\u00f3n abarca tanto el lado organizativo, participando en la planificaci\u00f3n 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\u00eda.  </p>\n<p>Creo firmemente en el poder del <strong>aprendizaje colectivo</strong> y la <strong>colaboraci\u00f3n</strong> para impulsar el desarrollo personal y profesional, lo que me motiva a seguir aportando a la comunidad tecnol\u00f3gica en cada oportunidad que se presenta.</p>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/109/", "cancelled": false}, {"room": "Ballroom BC", "rooms": ["Ballroom BC"], "start": "2025-05-18T14:30:00-04:00", "end": "2025-05-18T15:00:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 166, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Unlearning SQL", "description": "<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>", "authors": ["Steven Lott"], "speakers": [{"id": 183, "name": "Steven Lott", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/183.png.256x256_q85.jpg", "bio": "<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 \u201890s, building a variety of tools and applications. He\u2019s 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 \u201cDon\u2019t come home until you have a story.\u201d You can find him online at @slott56@fosstodon.org.</p>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/167/", "cancelled": false}, {"room": "Room 301-305", "rooms": ["Room 301-305"], "start": "2025-05-18T14:30:00-04:00", "end": "2025-05-18T15:00:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 167, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "One Year In: Insights and Inspiration from my PSF Journey", "description": "<p>Reflecting on a year at the Python Software Foundation (PSF), I\u2019ll 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\u2019s inner workings. Discover how you can contribute to\u2014from code to documentation\u2014and help shape Python\u2019s future.</p>", "authors": ["Jacob Coffee"], "speakers": [{"id": 143, "name": "Jacob Coffee", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/143.jpeg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/126/", "cancelled": false}, {"room": "Ballroom A", "rooms": ["Ballroom A"], "start": "2025-05-17T14:30:00-04:00", "end": "2025-05-17T15:00:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 129, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "You can and Should Build XKCD's \"Sky Alarm\" for Cool Space Things", "description": "<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>", "authors": ["Keith Murray"], "speakers": [{"id": 18, "name": "Keith Murray", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/18.png.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/16/", "cancelled": false}, {"room": "Hall C", "rooms": ["Hall C"], "start": "2025-05-17T14:30:00-04:00", "end": "2025-05-17T15:00:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 128, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Supercharge your Python library using AST parsing", "description": "<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\u2019s 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\u2019s standard library \u201cast\u201d 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\u2019t 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 \u201cast\u201d module as well as the Python/C API.</p>", "authors": ["Adam Glustein"], "speakers": [{"id": 146, "name": "Adam Glustein", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/146.png.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/129/", "cancelled": false}, {"room": "Ballroom A", "rooms": ["Ballroom A"], "start": "2025-05-18T14:30:00-04:00", "end": "2025-05-18T15:00:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 165, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "The past, present, and future of virtual environments", "description": "<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\u2019ll briefly discuss the history of the tools built to manage virtual environments. We\u2019ll talk about the differences between imperative and declarative environment management. Then, we\u2019ll dive into the user experiences powered by automating management of environments, using uv as a primary example.</p>\n<p>Finally, we\u2019ll 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 \u2014 deep Python knowledge will not be needed. The talk will be focused on user experience and abstractions rather than implementation details.</p>", "authors": ["Zanie Blue"], "speakers": [{"id": 34, "name": "Zanie Blue", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/34.jpg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/32/", "cancelled": false}, {"room": "Ballroom BC", "rooms": ["Ballroom BC"], "start": "2025-05-16T14:45:00-04:00", "end": "2025-05-16T15:15:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 78, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Inclusive Data for 1.3 Billion: Designing Accessible Visualizations", "description": "<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\u2019ll 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>", "authors": ["Pavithra Eswaramoorthy", "Frank Elavsky"], "speakers": [{"id": 46, "name": "Pavithra Eswaramoorthy", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/46.jpg.256x256_q85.png", "bio": "<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>"}, {"id": 47, "name": "Frank Elavsky", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/47.png.256x256_q85.png", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/43/", "cancelled": false}, {"room": "Ballroom A", "rooms": ["Ballroom A"], "start": "2025-05-16T14:45:00-04:00", "end": "2025-05-16T15:15:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 77, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Design Pressure: The Invisible Hand That Shapes Your Code", "description": "<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>", "authors": ["Hynek Schlawack"], "speakers": [{"id": 93, "name": "Hynek Schlawack", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/93.jpg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/81/", "cancelled": false}, {"room": "Hall C", "rooms": ["Hall C"], "start": "2025-05-16T14:45:00-04:00", "end": "2025-05-16T15:15:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 76, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Tips and Tricks for JSON Web Tokens (JWTs)", "description": "<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>", "authors": ["Emin Martinian"], "speakers": [{"id": 104, "name": "Emin Martinian", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/104.jpg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/91/", "cancelled": false}, {"room": "Room 301-305", "rooms": ["Room 301-305"], "start": "2025-05-16T14:45:00-04:00", "end": "2025-05-16T15:15:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 79, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Programming for Yourself", "description": "<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>", "authors": ["Paul Ganssle"], "speakers": [{"id": 91, "name": "Paul Ganssle", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/91.png.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/79/", "cancelled": false}, {"room": "Room 310/311", "rooms": ["Room 310/311"], "start": "2025-05-16T14:45:00-04:00", "end": "2025-05-16T15:15:00-04:00", "duration": 30, "kind": "charla", "section": "talks", "conf_key": 80, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Construyendo un Buscador Multimodal: Combinando Texto e Im\u00e1genes para una B\u00fasqueda Inteligente.", "description": "<p>En el mundo actual basado en datos, procesar y analizar eficientemente grandes vol\u00famenes de datos es crucial para muchas aplicaciones. Exploremos juntos c\u00f3mo crear y administrar embeddings de texto e im\u00e1genes para b\u00fasqueda de similitudes en una base de datos PostgreSQL. Nos sumergiremos en un ejemplo pr\u00e1ctico utilizando Python para demostrar c\u00f3mo pueden crear buscadores que empleen  lenguaje natural.</p>", "authors": ["Elizabeth Fuentes", "Camila Hinojosa A\u00f1ez"], "speakers": [{"id": 37, "name": "Elizabeth Fuentes", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/37.jpg.256x256_q85.jpg", "bio": "<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>"}, {"id": 169, "name": "Camila Hinojosa A\u00f1ez", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/169.jpg.256x256_q85.jpg", "bio": "<p>Estudiante de Ingenier\u00eda Civil en Ciencias de la Computaci\u00f3n en la Universidad de los Andes, Chile. Se destaca por su compromiso con la tecnolog\u00eda, la educaci\u00f3n y el impacto social.   Ha participado en proyectos de innovaci\u00f3n, investigaci\u00f3n en realidad virtual y ciberseguridad, y ha sido voluntaria en iniciativas como Ni\u00f1asPro y las comunidades de AWS.</p>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/35/", "cancelled": false}, {"room": "Ballroom BC", "rooms": ["Ballroom BC"], "start": "2025-05-17T15:15:00-04:00", "end": "2025-05-17T15:45:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 135, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Why `len('\ud83d\ude36\u200d\ud83c\udf2b\ufe0f') == 4` and other weird things you should know about strings in Python", "description": "<p>Strings in Python behave in all sorts of unexpected ways: <code>len('\ud83d\ude36\u200d\ud83c\udf2b\ufe0f') == 4</code>, <code>'n\u0303' != '\u00f1'</code>, <code>'\u202edlrow olleh\u202c'\u202c.split()[1] == 'olleh\u202c'</code>! How is this possible? And importantly, why should you care?</p>\n<p>In this presentation, we\u2019ll give a brief introduction to text encoding, the different Unicode standards and how Python encodes strings before we dive deep into Unicode oddities. We\u2019ll 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\u2019s 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\u2019ll be aware of some common pitfalls and how to avoid them.</p>", "authors": ["Marie Roald", "Yngve Mardal Moe"], "speakers": [{"id": 29, "name": "Marie Roald", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/29.png.256x256_q85.jpg", "bio": "<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>"}, {"id": 30, "name": "Yngve Mardal Moe", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/30.jpg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/27/", "cancelled": false}, {"room": "Room 310/311", "rooms": ["Room 310/311"], "start": "2025-05-17T15:15:00-04:00", "end": "2025-05-17T15:45:00-04:00", "duration": 30, "kind": "charla", "section": "talks", "conf_key": 137, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Transformando Gafas en Asistentes Inteligentes: Open Source Vision Language Models", "description": "<p>En esta charla, aprenderemos c\u00f3mo transformar unas gafas comunes en un Asistente Inteligente por menos de 30 d\u00f3lares, utilizando hardware accesible y modelos Open Source. Aprovecharemos los Vision Language Models (VLM), una tecnolog\u00eda que integra visi\u00f3n por computadora y procesamiento del lenguaje natural para crear inteligencia artificial multimodal, capaz de analizar im\u00e1genes y texto simult\u00e1neamente y generar respuestas en lenguaje natural.</p>\n<p>Exploraremos el origen y desarrollo de los Open VLMs, analizando su impacto, evoluci\u00f3n y el enorme potencial que representan. Profundizaremos en su arquitectura, componentes esenciales y aplicaciones pr\u00e1cticas. Los asistentes aprender\u00e1n a crear sus propias gafas inteligentes, conociendo los requisitos t\u00e9cnicos necesarios, y podr\u00e1n interactuar con varios prototipos funcionales disponibles durante la charla. Esto les permitir\u00e1 probar las gafas en tiempo real y experimentar de primera mano como estos modelos responden y se adaptan a diversos escenarios. Adem\u00e1s, se ofrecer\u00e1 una gu\u00eda pr\u00e1ctica para configurar los modelos, realizar inferencias en sus computadoras y optimizarlos para funcionar con menos de 3 GB de memoria, haciendo esta tecnolog\u00eda m\u00e1s accesible y replicable para todos.</p>\n<p>Finalmente, exploraremos los desaf\u00edos actuales en la implementaci\u00f3n de estos sistemas, incluyendo la optimizaci\u00f3n del uso de memoria y el desarrollo de t\u00e9cnicas de cuantizaci\u00f3n m\u00e1s eficientes. A partir de este an\u00e1lisis, reflexionaremos sobre el futuro de estas tecnolog\u00edas en aplicaciones de inteligencia artificial, subrayando el papel clave de la colaboraci\u00f3n en la comunidad Open Source. Concluiremos destacando el potencial transformador de estos dispositivos y su capacidad para redefinir nuestra interacci\u00f3n con el entorno en la vida cotidiana.</p>", "authors": ["Alejandro N\u00fa\u00f1ez Arroyo"], "speakers": [{"id": 13, "name": "Alejandro N\u00fa\u00f1ez Arroyo", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/13.jpg.256x256_q85.jpg", "bio": "<p>Alejandro N\u00fa\u00f1ez Arroyo es Ingeniero Mecatr\u00f3nico con m\u00e1s de tres a\u00f1os de experiencia en la ejecuci\u00f3n de proyectos basados en inteligencia artificial. Actualmente, se desempe\u00f1a 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\u00f3n por computadora y modelos de lenguaje. Como l\u00edder activo en la comunidad tecnol\u00f3gica, Alejandro es organizador del Google Developers Group Sucre, donde coordina eventos enfocados en inteligencia artificial. </p>\n<p>Particip\u00f3 en la primera hackathon de inteligencia artificial en Latinoam\u00e9rica organizada por OpenAI en Chile, as\u00ed como en varias ediciones de la hackathon de LLAMA de Facebook. Apasionado por la rob\u00f3tica, 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\u00e9s de blogs en Medium, videos educativos en YouTube, y mediante charlas y talleres en comunidades locales e internacionales en Bolivia, Per\u00fa, Guatemala y Colombia. Su trabajo refleja un compromiso constante con la difusi\u00f3n tecnol\u00f3gica y la formaci\u00f3n de nuevos talentos en el campo de la inteligencia artificial.</p>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/11/", "cancelled": false}, {"room": "Room 301-305", "rooms": ["Room 301-305"], "start": "2025-05-17T15:15:00-04:00", "end": "2025-05-17T15:45:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 136, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Notes, Groups and Stars: exceptional new features of Python 3.11!", "description": "<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>", "authors": ["Zac Hatfield-Dodds"], "speakers": [{"id": 109, "name": "Zac Hatfield-Dodds", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/109.jpg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/96/", "cancelled": false}, {"room": "Hall B", "rooms": ["Hall B"], "start": "2025-05-18T15:15:00-04:00", "end": "2025-05-18T16:00:00-04:00", "duration": 45, "kind": "plenary", "section": "talks", "conf_key": 168, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Keynote - Dr. Kari L. Jordan", "description": "<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>"}, {"room": "Hall C", "rooms": ["Hall C"], "start": "2025-05-17T15:15:00-04:00", "end": "2025-05-17T15:45:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 133, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "A new safe external debugger interface for CPython", "description": "<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>", "authors": ["Pablo Galindo Salgado", "Ivona Stojanovic"], "speakers": [{"id": 151, "name": "Pablo Galindo Salgado", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/151.jpg.256x256_q85.jpg", "bio": "<p>-</p>"}, {"id": 163, "name": "Ivona Stojanovic", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/163.jpg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/134/", "cancelled": false}, {"room": "Ballroom A", "rooms": ["Ballroom A"], "start": "2025-05-17T15:15:00-04:00", "end": "2025-05-17T15:45:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 134, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Attestations: a new generation of signatures on PyPI", "description": "<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>", "authors": ["William Woodruff"], "speakers": [{"id": 88, "name": "William Woodruff", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/88.jpg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/76/", "cancelled": false}, {"room": "Ballroom A", "rooms": ["Ballroom A"], "start": "2025-05-16T15:30:00-04:00", "end": "2025-05-16T16:00:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 82, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Python: The Architect's Secret Weapon", "description": "<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>", "authors": ["Tadeh Hakopian"], "speakers": [{"id": 99, "name": "Tadeh Hakopian", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/99.jpg.256x256_q85.jpg", "bio": "<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\u2019s disposal while building communities along the way.</p>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/87/", "cancelled": false}, {"room": "Room 309", "rooms": ["Room 309"], "start": "2025-05-15T15:30:00-04:00", "end": "2025-05-15T16:30:00-04:00", "duration": 60, "kind": "sponsor-workshop", "section": "sponsor-presentations", "conf_key": 42, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Reviewing another year of security partnership between the PSF and Alpha-Omega", "description": "<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>", "authors": ["Seth Michael Larson", "Michael Winser", "Mike Fiedler"], "speakers": [{"id": 16, "name": "Seth Michael Larson", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/16.jpeg.256x256_q85.jpg", "bio": "<p>Security Developer-in-Residence and Fellow of the Python Software Foundation, Minnesoootan</p>"}, {"id": 173, "name": "Michael Winser", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/173.jpg.256x256_q85.jpg", "bio": "<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\u2019s 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>"}, {"id": 174, "name": "Mike Fiedler", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/174.jpg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/153/", "cancelled": false}, {"room": "Room 315", "rooms": ["Room 315"], "start": "2025-05-15T15:30:00-04:00", "end": "2025-05-15T16:30:00-04:00", "duration": 60, "kind": "sponsor-workshop", "section": "sponsor-presentations", "conf_key": 43, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Building Scalable AI Tool Servers with Model Context Protocol (MCP) and Heroku (Sponsor: Heroku)", "description": "<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\u2019ll 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\u2019ll 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\u2019ll implement, deploy, and scale an MCP-compliant tool server using Python. We\u2019ll 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\u2019s streamlined deployment process.</p>", "authors": ["Hillary Sanders", "Ken Alger"], "speakers": [{"id": 166, "name": "Hillary Sanders", "photo": "", "bio": "<p>-</p>"}, {"id": 3, "name": "Ken Alger", "photo": "", "bio": "<p>-</p>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/3/", "cancelled": false}, {"room": "Hall C", "rooms": ["Hall C"], "start": "2025-05-16T15:30:00-04:00", "end": "2025-05-16T16:00:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 81, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "From Desktop to Browser: Crafting Browser-Native Game Engine with Webassembly", "description": "<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>", "authors": ["Neeraj Pandey"], "speakers": [{"id": 11, "name": "Neeraj Pandey", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/11.JPG.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/29/", "cancelled": false}, {"room": "Ballroom BC", "rooms": ["Ballroom BC"], "start": "2025-05-16T15:30:00-04:00", "end": "2025-05-16T16:00:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 83, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Beautiful and Balanced: Using Color Theory in Data Visualization", "description": "<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>", "authors": ["Laura Fisher"], "speakers": [{"id": 54, "name": "Laura Fisher", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/54.jpeg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/71/", "cancelled": false}, {"room": "Room 301-305", "rooms": ["Room 301-305"], "start": "2025-05-16T15:30:00-04:00", "end": "2025-05-16T16:00:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 84, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "503 days working full-time on FOSS: lessons learned", "description": "<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>", "authors": ["Rodrigo Gir\u00e3o Serr\u00e3o"], "speakers": [{"id": 106, "name": "Rodrigo Gir\u00e3o Serr\u00e3o", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/106.png.256x256_q85.jpg", "bio": "<p>Rodrigo Gir\u00e3o Serr\u00e3o 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 \u201cthe largest programming lesson in the world\u201d</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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/164/", "cancelled": false}, {"room": "Room 310/311", "rooms": ["Room 310/311"], "start": "2025-05-16T15:30:00-04:00", "end": "2025-05-16T16:00:00-04:00", "duration": 30, "kind": "charla", "section": "talks", "conf_key": 85, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Descifrando emociones desde arte a memes: un sistema multimodal de im\u00e1genes y textos", "description": "<p>El mundo que nos rodea est\u00e1 lleno de informaci\u00f3n de muchos tipos, y aunque muchas personas nos comunicamos de manera verbal para transmitir informaci\u00f3n muchas veces perdemos informaci\u00f3n del contexto o la intenci\u00f3n si no va acompa\u00f1ado de im\u00e1genes. Lo mismo ocurre con los modelos cuando intentamos solucionar problemas muy complejos con modelos que solo pueden contener informaci\u00f3n de un tipo espec\u00edfico. </p>\n<p>Por ese motivo es necesario soluciones que puedan integrar diferentes tipos de datos, como im\u00e1genes, texto, video o audio: los modelos multimodales. Estos sistemas combinan m\u00faltiples entradas de tipos de datos y hacen los sistemas m\u00e1s robustos, ayudando en \u00e1reas de la salud, seguridad, criminolog\u00eda, comercial, etc.</p>\n<p>El objetivo de esta charla es mostrar c\u00f3mo crear un sistema que sea capaz de identificar emociones de diverso tipo de im\u00e1genes, y en paralelo extraer emociones de textos con ese resultado (con diferentes modelos) y asociar textos a las im\u00e1genes con los textos extra\u00eddos.</p>\n<p>En esta charla, los asistentes aprender\u00e1n paso a paso c\u00f3mo implementar un sistema multimodal que incluya im\u00e1genes y texto, con datos de libre acceso, y entender c\u00f3mo los multimodales son una buena opci\u00f3n para solventar problemas complejos. Adem\u00e1s, se compartir\u00e1 el rol de Python del proceso, la aplicaci\u00f3n de m\u00f3dulos externos para tener una implementaci\u00f3n simple, para facilitar el realizar el proceso de multimodal.</p>", "authors": ["Maria Jose Molina Contreras"], "speakers": [{"id": 43, "name": "Maria Jose Molina Contreras", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/43.png.256x256_q85.png", "bio": "<p>TBD</p>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/41/", "cancelled": false}, {"room": "Room 316", "rooms": ["Room 316"], "start": "2025-05-15T15:30:00-04:00", "end": "2025-05-15T16:30:00-04:00", "duration": 60, "kind": "sponsor-workshop", "section": "sponsor-presentations", "conf_key": 44, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Build modern Python apps on Azure (Sponsor: Microsoft)", "description": "<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>", "authors": ["Pamela Fox", "Rohit Ganguly"], "speakers": [{"id": 32, "name": "Pamela Fox", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/32.jpeg.256x256_q85.jpg", "bio": "<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>"}, {"id": 158, "name": "Rohit Ganguly", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/158.png.256x256_q85.png", "bio": "<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\u2019s third PyCon US, attending in 2023, 2024, and speaking at the documentation summit at PyCon US 2024.</p>\n<p>Rohit\u2019s 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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/140/", "cancelled": false}, {"room": "Hall C, Ballroom A, Ballroom BC, Room 301-305, Room 310/311", "rooms": ["Hall C", "Ballroom A", "Ballroom BC", "Room 301-305", "Room 310/311"], "start": "2025-05-17T15:45:00-04:00", "end": "2025-05-17T16:15:00-04:00", "duration": 30, "kind": "break", "section": "talks", "conf_key": 138, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Break", "description": "<p>Break</p>"}, {"room": "Hall C, Ballroom A, Ballroom BC, Room 301-305, Room 310/311", "rooms": ["Hall C", "Ballroom A", "Ballroom BC", "Room 301-305", "Room 310/311"], "start": "2025-05-16T16:00:00-04:00", "end": "2025-05-16T16:30:00-04:00", "duration": 30, "kind": "break", "section": "talks", "conf_key": 86, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Break", "description": "<p>Break</p>"}, {"room": "Hall B", "rooms": ["Hall B"], "start": "2025-05-18T16:00:00-04:00", "end": "2025-05-18T16:35:00-04:00", "duration": 35, "kind": "plenary", "section": "talks", "conf_key": 169, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Steering Council Panel", "description": "<p><a href=\"/2025/about/keynote-speakers#python-steering-council\">Steering Council Panel</a></p>"}, {"room": "Room 301-305", "rooms": ["Room 301-305"], "start": "2025-05-17T16:15:00-04:00", "end": "2025-05-17T16:45:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 142, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "What they don't tell you about building a JIT compiler for CPython", "description": "<p>Despite their reputation, just-in-time compilers are not magic \u201cgo faster\u201d machines. Developing and maintaining any sort of optimizing compiler for even a single platform, let alone all of Python\u2019s 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>", "authors": ["Brandt Bucher"], "speakers": [{"id": 6, "name": "Brandt Bucher", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/6.jpg.256x256_q85.jpg", "bio": "<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\u2019s 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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/5/", "cancelled": false}, {"room": "Ballroom A", "rooms": ["Ballroom A"], "start": "2025-05-17T16:15:00-04:00", "end": "2025-05-17T16:45:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 140, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "A PEP Talk: Adventures in Account Recovery, PEP 541, And More As the Inaugural PyPI Support Specialist", "description": "<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\u2019s in store in the future for PyPI support.</p>", "authors": ["Maria Ashna"], "speakers": [{"id": 181, "name": "Maria Ashna", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/181.png.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/165/", "cancelled": false}, {"room": "Ballroom BC", "rooms": ["Ballroom BC"], "start": "2025-05-17T16:15:00-04:00", "end": "2025-05-17T16:45:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 141, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Selenium with Python using Robot Framework", "description": "<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\u2019ll be equipped with the knowledge and resources to elevate our automation strategies and foster a quality culture in our development teams.</p>", "authors": ["Monica Oyugi"], "speakers": [{"id": 177, "name": "Monica Oyugi", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/177.jpg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/157/", "cancelled": false}, {"room": "Hall C", "rooms": ["Hall C"], "start": "2025-05-17T16:15:00-04:00", "end": "2025-05-17T16:45:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 139, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "The chaotic locals() and how we fixed it", "description": "<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>", "authors": ["Tian Gao"], "speakers": [{"id": 67, "name": "Tian Gao", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/67_Onxe6i0.jpg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/57/", "cancelled": false}, {"room": "Room 310/311", "rooms": ["Room 310/311"], "start": "2025-05-17T16:15:00-04:00", "end": "2025-05-17T16:45:00-04:00", "duration": 30, "kind": "charla", "section": "talks", "conf_key": 143, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Iterando de forma eficiente en Python con Itertools", "description": "<p>Python viene con muchas herramientas poderosas \u201cincluidas de f\u00e1brica\u201d, 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\u00f3dulo itertools, una colecci\u00f3n de funciones dise\u00f1adas para que escribas bucles m\u00e1s inteligentes, no m\u00e1s complejos. A trav\u00e9s de ejemplos pr\u00e1cticos y casos del mundo real, veremos c\u00f3mo aprovechar itertools para escribir c\u00f3digo m\u00e1s eficiente y expresivo. Al finalizar, tendr\u00e1s a tu disposici\u00f3n un conjunto de herramientas que te ayudar\u00e1n a dominar tus bucles en Python.</p>", "authors": ["Andres Pineda"], "speakers": [{"id": 185, "name": "Andres Pineda", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/185.jpg.256x256_q85.jpg", "bio": "<p>Husband &amp; Father 3x | He/Him | \ud83d\udcbb Coder | \ud83d\ude80 Dev Community Contributor | Enjoy \ud83c\udfb6\u2615\ud83c\udf7a\ud83e\udd69 Bringing #a11y to apps one at the time @RealPython and @PythonSDQ</p>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/169/", "cancelled": false}, {"room": "Hall A", "rooms": ["Hall A"], "start": "2025-05-17T16:30:00-04:00", "end": "2025-05-17T16:30:00-04:00", "duration": 0, "kind": "informational", "section": "events", "conf_key": 1777, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Expo Hall Closes", "description": "<p>Expo Hall Closes</p>"}, {"room": "Room 301-305", "rooms": ["Room 301-305"], "start": "2025-05-16T16:30:00-04:00", "end": "2025-05-16T17:00:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 90, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Unlocking Python's Power: A Practical Guide to Metaprogramming with Decorators, Metaclasses, and Dynamic Code Generation", "description": "<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\u2014decorators, metaclasses, and dynamic code generation\u2014through 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>", "authors": ["Aditya Mehra"], "speakers": [{"id": 118, "name": "Aditya Mehra", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/118.png.256x256_q85.png", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/102/", "cancelled": false}, {"room": "Hall C", "rooms": ["Hall C"], "start": "2025-05-16T16:30:00-04:00", "end": "2025-05-16T17:00:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 87, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Building Resilient Data Pipelines: The Power of Idempotency", "description": "<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\u2019ll 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\u2019ll explore testing strategies using pytest.</p>\n<p>This talk is aimed at those interested in building idempotent data pipelines.</p>", "authors": ["Mihir Kavatkar"], "speakers": [{"id": 80, "name": "Mihir Kavatkar", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/80.JPG.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/68/", "cancelled": false}, {"room": "Hall B", "rooms": ["Hall B"], "start": "2025-05-15T16:30:00-04:00", "end": "2025-05-15T17:00:00-04:00", "duration": 30, "kind": "event", "section": "events", "conf_key": 1752, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Newcomer Orientation", "description": "<p>Newcomer Orientation</p>"}, {"room": "Ballroom A", "rooms": ["Ballroom A"], "start": "2025-05-16T16:30:00-04:00", "end": "2025-05-16T17:00:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 88, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Detecting Honeybee Swarms Using the Integration of OpenCV, Pandas, AI, and PyTorch", "description": "<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 \u201cbearding\u201d which is when many bees exit the hive and congregate at the entrance during very warm periods to ventilate it.  While the bees were \u201cuncooperative\u201d 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 \u201cmaker\u201d 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>", "authors": ["Michael Dahlberg"], "speakers": [{"id": 22, "name": "Michael Dahlberg", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/22_UTsxBIH.jpg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/20/", "cancelled": false}, {"room": "Ballroom BC", "rooms": ["Ballroom BC"], "start": "2025-05-16T16:30:00-04:00", "end": "2025-05-16T17:00:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 89, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Who Tests the Testers? Making and Testing Pipelines", "description": "<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>", "authors": ["Evan Kohilas"], "speakers": [{"id": 31, "name": "Evan Kohilas", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/31.jpg.256x256_q85.jpg", "bio": "<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 \u2013 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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/28/", "cancelled": false}, {"room": "Room 310/311", "rooms": ["Room 310/311"], "start": "2025-05-16T16:30:00-04:00", "end": "2025-05-16T17:00:00-04:00", "duration": 30, "kind": "charla", "section": "talks", "conf_key": 91, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Dise\u00f1ando y Construyendo Teclados \u2328\ufe0f Personalizados con Python", "description": "<p>Como programadores, pasamos mucho tiempo tecleando, pero a menudo pasamos por alto c\u00f3mo el dise\u00f1o de nuestros teclados afecta nuestra comodidad y productividad. En esta charla, exploraremos los teclados personalizados y c\u00f3mo Python puede ayudarnos a crear nuestras propias experiencias de typing.</p>\n<p>Comenzaremos analizando la historia del dise\u00f1o de teclados y las limitaciones de las distribuciones est\u00e1ndar como el QWERTY. Luego, hablaremos de las ventajas de distribuciones alternativas, como dise\u00f1os ortolineales y split/divididos, que pueden ayudar a reducir la tensi\u00f3n y mejorar la velocidad de escritura.</p>\n<p>A continuaci\u00f3n, revisaremos c\u00f3mo dise\u00f1ar el PCB (placa de circuito impreso) de un teclado personalizado y aprenderemos a utilizar herramientas de Python como GDSFactory. Aprender\u00e1s a colocar las teclas seg\u00fan la forma de tus manos y a crear una distribuci\u00f3n que se enfoque en las teclas que m\u00e1s utilizas en tus lenguajes de programaci\u00f3n preferidos.</p>\n<p>Una vez que tengamos el dise\u00f1o del PCB, pasaremos a la construcci\u00f3n de nuestro teclado personalizado. Cubriremos los aspectos b\u00e1sicos del ensamblaje para convertir nuestro dise\u00f1o en un dispositivo real. Finalmente, hablaremos sobre c\u00f3mo adaptarnos a nuestra nueva distribuci\u00f3n de teclado. Veremos herramientas en l\u00ednea y scripts de Python para analizar nuestros h\u00e1bitos de mecanograf\u00eda, ayud\u00e1ndonos a identificar nuestras teclas m\u00e1s comunes y a monitorear nuestro progreso mientras reentrenamos nuestros dedos.</p>\n<p>No se requiere experiencia previa en construcci\u00f3n de teclados o dise\u00f1o de PCB; solo trae tu curiosidad y ganas de crear una experiencia de escritura personalizada. Al final de esta charla, sabr\u00e1s cuestionar el dise\u00f1o de tu teclado actual y quiz\u00e1 te animes a construir y mejorar tu propio teclado personalizado usando Python.</p>", "authors": ["Carlos A Aranibar"], "speakers": [{"id": 12, "name": "Carlos A Aranibar", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/12.jpg.256x256_q85.jpg", "bio": "<p>Carlos Aranibar is a Data Scientist \ud83d\udcca from Bolivia \ud83c\udde7\ud83c\uddf4 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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/10/", "cancelled": false}, {"room": "Hall B", "rooms": ["Hall B"], "start": "2025-05-18T16:35:00-04:00", "end": "2025-05-18T17:05:00-04:00", "duration": 30, "kind": "plenary", "section": "talks", "conf_key": 170, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Python Software Foundation Update & Awards", "description": "<p>Python Software Foundation Update &amp; Awards</p>"}, {"room": "Hall A", "rooms": ["Hall A"], "start": "2025-05-15T17:00:00-04:00", "end": "2025-05-15T19:00:00-04:00", "duration": 120, "kind": "event", "section": "events", "conf_key": 1753, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Opening Reception", "description": "<p>Opening Reception</p>"}, {"room": "Room 301-305", "rooms": ["Room 301-305"], "start": "2025-05-17T17:00:00-04:00", "end": "2025-05-17T17:30:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 146, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Painting with Python", "description": "<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>", "authors": ["Caleb Madrigal"], "speakers": [{"id": 36, "name": "Caleb Madrigal", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/36.JPG.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/156/", "cancelled": false}, {"room": "Hall A", "rooms": ["Hall A"], "start": "2025-05-15T17:00:00-04:00", "end": "2025-05-15T19:00:00-04:00", "duration": 120, "kind": "plenary", "section": "tutorials", "conf_key": 27, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Opening Reception", "description": "<p>Opening Reception</p>"}, {"room": "Ballroom BC", "rooms": ["Ballroom BC"], "start": "2025-05-17T17:00:00-04:00", "end": "2025-05-17T17:30:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 145, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "AI with a Conscience: Building Fair and Transparent Systems in Python", "description": "<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\u2019s 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\u2014that can lead to unfair outcomes. Addressing these biases requires tools that go beyond precision, accuracy and optimization.</p>\n<p>In this talk, we\u2019ll 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>", "authors": ["Sanjana Kandi"], "speakers": [{"id": 85, "name": "Sanjana Kandi", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/85.jpg.256x256_q85.jpg", "bio": "<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\u2019s 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\u2014activities that combine adventure, fitness, and creativity.</p>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/74/", "cancelled": false}, {"room": "Concourse A", "rooms": ["Concourse A"], "start": "2025-05-16T17:00:00-04:00", "end": "2025-05-16T17:00:00-04:00", "duration": 0, "kind": "informational", "section": "events", "conf_key": 1764, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Registration / Information Desks Close", "description": "<p>Registration / Information Desks Close</p>"}, {"room": "Concourse A", "rooms": ["Concourse A"], "start": "2025-05-17T17:00:00-04:00", "end": "2025-05-17T17:00:00-04:00", "duration": 0, "kind": "informational", "section": "events", "conf_key": 1778, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Registration / Information Desks Close", "description": "<p>Registration / Information Desks Close</p>"}, {"room": "Room 310/311", "rooms": ["Room 310/311"], "start": "2025-05-17T17:00:00-04:00", "end": "2025-05-17T17:30:00-04:00", "duration": 30, "kind": "charla", "section": "talks", "conf_key": 147, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Django As\u00edncrono: Desbloqueando el Poder de la Programaci\u00f3n Async", "description": "<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, \u00bfqu\u00e9 significa esto para quienes desarrollamos aplicaciones web? En esta charla, te voy a ense\u00f1ar c\u00f3mo usar las herramientas de asincronismo en Django para construir aplicaciones m\u00e1s r\u00e1pidas y eficientes.</p>\n<p>Empezaremos con una breve introducci\u00f3n a asyncio, la base del asincronismo en Python. \u00bfQu\u00e9 son los event loops? <em>\u00bfQu\u00e9 hacen async y await?</em> Si nunca has trabajado con c\u00f3digo as\u00edncrono, no te preocupes, aqu\u00ed lo explicaremos de forma simple.</p>\n<p>Despu\u00e9s, entraremos directo en el mundo de Django:\n* Escribiremos vistas as\u00edncronas (async def) y exploraremos casos pr\u00e1cticos donde el asincronismo realmente marca la diferencia.\n* Compararemos el rendimiento entre vistas s\u00edncronas y as\u00edncronas mediante pruebas reales, mostrando c\u00f3mo manejar m\u00faltiples peticiones a APIs externas de manera eficiente.\n* Veremos c\u00f3mo Django adopta la convenci\u00f3n de agregar una \"a\" a los m\u00e9todos as\u00edncronos del ORM (como aget, afirst, alast) para diferenciarlos de sus versiones s\u00edncronas.\n* Discutiremos las limitaciones actuales del ORM de Django (spoiler: sigue siendo s\u00edncrono) y c\u00f3mo manejarlas en proyectos modernos.</p>\n<p>Para cerrar, incluir\u00e9 una demostraci\u00f3n pr\u00e1ctica y ejemplos de c\u00f3digo reales que puedes llevarte a casa. </p>\n<p>Esta charla est\u00e1 pensada para desarrolladores de nivel intermedio que quieran llevar sus proyectos Django al siguiente nivel y entender c\u00f3mo el asincronismo puede transformar la manera en que construimos aplicaciones web.</p>", "authors": ["Luis Martinez"], "speakers": [{"id": 38, "name": "Luis Martinez", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/38.jpg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/36/", "cancelled": false}, {"room": "Hall C", "rooms": ["Hall C"], "start": "2025-05-17T17:00:00-04:00", "end": "2025-05-17T17:30:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 144, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Metaclasses Demystified", "description": "<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>", "authors": ["Jason C. McDonald"], "speakers": [{"id": 154, "name": "Jason C. McDonald", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/154.png.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/137/", "cancelled": false}, {"room": "Concourse A", "rooms": ["Concourse A"], "start": "2025-05-14T17:00:00-04:00", "end": "2025-05-14T17:00:00-04:00", "duration": 0, "kind": "informational", "section": "events", "conf_key": 1747, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Information Desk Closes", "description": "<p>Information Desk Closes</p>"}, {"room": "Concourse A", "rooms": ["Concourse A"], "start": "2025-05-15T17:00:00-04:00", "end": "2025-05-15T17:00:00-04:00", "duration": 0, "kind": "informational", "section": "events", "conf_key": 1754, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Information Desk Closes", "description": "<p>Information Desk Closes</p>"}, {"room": "Hall A", "rooms": ["Hall A"], "start": "2025-05-16T17:00:00-04:00", "end": "2025-05-16T17:00:00-04:00", "duration": 0, "kind": "informational", "section": "events", "conf_key": 1763, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Swag Pickup Closes", "description": "<p>Swag Pickup Closes</p>"}, {"room": "Hall B", "rooms": ["Hall B"], "start": "2025-05-18T17:05:00-04:00", "end": "2025-05-18T17:20:00-04:00", "duration": 15, "kind": "plenary", "section": "talks", "conf_key": 171, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Closing", "description": "<p>Closing</p>"}, {"room": "Ballroom BC", "rooms": ["Ballroom BC"], "start": "2025-05-16T17:15:00-04:00", "end": "2025-05-16T17:45:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 94, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "The Most Bizarre Software Bugs in History", "description": "<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>", "authors": ["Mia Baji\u0107"], "speakers": [{"id": 19, "name": "Mia Baji\u0107", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/19.JPG.256x256_q85.jpg", "bio": "<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\u2019s 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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/17/", "cancelled": false}, {"room": "Room 310/311", "rooms": ["Room 310/311"], "start": "2025-05-16T17:15:00-04:00", "end": "2025-05-16T17:45:00-04:00", "duration": 30, "kind": "charla", "section": "talks", "conf_key": 96, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Usando Python y Gemini para visualizar alertas sanitarias en una web accesible", "description": "<p>En esta charla se expondr\u00e1 c\u00f3mo se usa Flask y Gemini para obtener informaci\u00f3n de inter\u00e9s desde distintos sitios web no estructurados. Adicionalmente, se discutir\u00e1n atajos para web-scraping con Python, en un formato legible para Gemini. Esta sesi\u00f3n est\u00e1 dirigida a  personas interesadas en IA y con conocimiento b\u00e1sico de Python, as\u00ed como para profesionales curiosos, en busca de nuevas aplicaciones de IA. \nLa motivaci\u00f3n de este proyecto surge pues en Chile las alertas sanitarias en medicamentos, especialmente en anticonceptivos, han sido un problema grave que impacta con m\u00e1s \u00e9nfasis a mujeres y sus derechos reproductivos. Por ejemplo, alrededor de 200 mujeres fueron afectadas s\u00f3lo en el primer fallo documentado de anticonceptivos en el segundo semestre de 2020. La soluci\u00f3n del gobierno de la \u00e9poca fue indemnizar a las afectadas que demandaron, con 80.000 pesos Chilenos, (80 USD app). Desafortunadamente no fue el \u00fanico caso, de hecho la \u00faltima alerta informada de anticonceptivos defectuosos data de septiembre de 2024. \nEn esta charla se presentar\u00e1 una web app para resolver el problema del acceso a la informaci\u00f3n sobre las alertas sanitarias de medicamentos defectuosos en Chile, usando IA generativa y frameworks web.</p>", "authors": ["L\u00eda Da Silva - Rojas"], "speakers": [{"id": 28, "name": "L\u00eda Da Silva - Rojas", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/28.jpeg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/26/", "cancelled": false}, {"room": "Ballroom A", "rooms": ["Ballroom A"], "start": "2025-05-16T17:15:00-04:00", "end": "2025-05-16T17:45:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 93, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Working with Audio in Python (feat. Pedalboard)", "description": "<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>", "authors": ["Peter Sobot"], "speakers": [{"id": 130, "name": "Peter Sobot", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/130.PNG.256x256_q85.png", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/115/", "cancelled": false}, {"room": "Room 301-305", "rooms": ["Room 301-305"], "start": "2025-05-16T17:15:00-04:00", "end": "2025-05-16T17:45:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 95, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Or Else! An Exploration of Obscure Control Flow", "description": "<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>", "authors": ["Amethyst Reese \ud83c\udf38"], "speakers": [{"id": 97, "name": "Amethyst Reese \ud83c\udf38", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/97.png.256x256_q85.png", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/85/", "cancelled": false}, {"room": "Hall C", "rooms": ["Hall C"], "start": "2025-05-16T17:15:00-04:00", "end": "2025-05-16T17:45:00-04:00", "duration": 30, "kind": "talk", "section": "talks", "conf_key": 92, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Schemas: The Key To Data Happiness", "description": "<p>Shape shifting data got you down? If you\u2019re a Pythonista who works with data you\u2019ve probably had at least one headache due to unexpected changes in data. In this talk you\u2019ll 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>", "authors": ["Sev Leonard"], "speakers": [{"id": 50, "name": "Sev Leonard", "photo": "https://pycon-assets.s3.amazonaws.com/2025/media/speaker_photos/50.jpeg.256x256_q85.jpg", "bio": "<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>"}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/45/", "cancelled": false}, {"room": "Room 402", "rooms": ["Room 402"], "start": "2025-05-18T17:30:00-04:00", "end": "2025-05-18T19:30:00-04:00", "duration": 120, "kind": "event", "section": "events", "conf_key": 1791, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "CANCELLED: <s>Introduction to Sprints Workshop</s>", "description": "<p>CANCELLED: <s>Introduction to Sprints Workshop</s></p>"}, {"room": "Hall B", "rooms": ["Hall B"], "start": "2025-05-17T17:45:00-04:00", "end": "2025-05-17T18:45:00-04:00", "duration": 60, "kind": "lightning-talks", "section": "talks", "conf_key": 148, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Lightning Talks", "description": "<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\u00f3</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>", "authors": ["Hosted by Abigail, Chris, Cristi\u00e1n, and Lorena"], "speakers": [{"id": 184, "name": "Hosted by Abigail, Chris, Cristi\u00e1n, and Lorena", "photo": "", "bio": ""}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/171/", "cancelled": false}, {"room": "Concourse A", "rooms": ["Concourse A"], "start": "2025-05-14T18:00:00-04:00", "end": "2025-05-14T18:00:00-04:00", "duration": 0, "kind": "informational", "section": "events", "conf_key": 1748, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Registration Desk Closes", "description": "<p>Registration Desk Closes</p>"}, {"room": "Hall B", "rooms": ["Hall B"], "start": "2025-05-16T18:00:00-04:00", "end": "2025-05-16T19:00:00-04:00", "duration": 60, "kind": "lightning-talks", "section": "talks", "conf_key": 97, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": ["redacted"], "name": "Lightning Talks", "description": "<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\u00eds 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\u00e3o Serr\u00e3o</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>", "authors": ["Hosted by Abigail, Chris, Cristi\u00e1n, and Lorena"], "speakers": [{"id": 184, "name": "Hosted by Abigail, Chris, Cristi\u00e1n, and Lorena", "photo": "", "bio": ""}], "conf_url": "https://us.pycon.org/2025/schedule/presentation/168/", "cancelled": false}, {"room": "Hall A", "rooms": ["Hall A"], "start": "2025-05-16T18:00:00-04:00", "end": "2025-05-16T18:00:00-04:00", "duration": 0, "kind": "informational", "section": "events", "conf_key": 1765, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Expo Hall Closes", "description": "<p>Expo Hall Closes</p>"}, {"room": "Concourse A", "rooms": ["Concourse A"], "start": "2025-05-15T18:00:00-04:00", "end": "2025-05-15T18:00:00-04:00", "duration": 0, "kind": "informational", "section": "events", "conf_key": 1755, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Registration Desk Closes", "description": "<p>Registration Desk Closes</p>"}, {"room": "Ballroom A", "rooms": ["Ballroom A"], "start": "2025-05-17T18:45:00-04:00", "end": "2025-05-17T22:30:00-04:00", "duration": 225, "kind": "event", "section": "events", "conf_key": 1779, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "PyLadies Auction, pre-registration required", "description": "<p>PyLadies Auction, pre-registration required</p>"}, {"room": "Open Spaces Rooms", "rooms": ["Open Spaces Rooms"], "start": "2025-05-16T20:00:00-04:00", "end": "2025-05-16T20:00:00-04:00", "duration": 0, "kind": "informational", "section": "events", "conf_key": 1766, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Open Spaces Rooms Close", "description": "<p>Open Spaces Rooms Close</p>"}, {"room": "Open Spaces Rooms", "rooms": ["Open Spaces Rooms"], "start": "2025-05-18T20:00:00-04:00", "end": "2025-05-18T20:00:00-04:00", "duration": 0, "kind": "informational", "section": "events", "conf_key": 1792, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Open Spaces Rooms Close", "description": "<p>Open Spaces Rooms Close</p>"}, {"room": "Open Spaces Rooms", "rooms": ["Open Spaces Rooms"], "start": "2025-05-17T20:00:00-04:00", "end": "2025-05-17T20:00:00-04:00", "duration": 0, "kind": "informational", "section": "events", "conf_key": 1780, "list_render": false, "license": "CC BY", "tags": "", "released": true, "contact": [], "name": "Open Spaces Rooms Close", "description": "<p>Open Spaces Rooms Close</p>"}], "open-spaces": [{"room": "Elsewhere", "rooms": ["Elsewhere"], "room_display": "Conference Center East Lobby", "room_order": 9, "start": "2025-05-17T06:20:00-04:00", "end": "2025-05-17T07:15:00-04:00", "duration": 3300, "kind": "open-space", "section": "open-spaces", "conf_key": 133, "list_render": true, "title": "Fun Run 5K", "description": "Join us for a 5K fun run along the river (approximately 9:30 per mile pace) with enough time to make it to breakfast and lighting talks! Meet outside the East Lobby of the Conference Center at 6:20 am for stretching. Departing at 6:30 am SHARP!", "image_url": null}, {"room": "Elsewhere", "rooms": ["Elsewhere"], "room_display": "Meet at entrance to conference center (outside doors)", "room_order": 9, "start": "2025-05-17T07:00:00-04:00", "end": "2025-05-17T08:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 83, "list_render": true, "title": "Easy Run/Walk down to Point State Park", "description": "Easy run/walk down to Point State Park (where the three rivers meet) and back.\r\n\r\nI (Matt Harrison) will be outside the conference center at 6:55 am and leave at 7. Join me if you are interested.", "image_url": null}, {"room": "Elsewhere", "rooms": ["Elsewhere"], "room_display": "La Prima cafe", "room_order": 9, "start": "2025-05-17T07:30:00-04:00", "end": "2025-05-17T08:40:00-04:00", "duration": 4200, "kind": "open-space", "section": "open-spaces", "conf_key": 185, "list_render": true, "title": "Orange Espresso chat", "description": "Start your day with coffee. Good coffee. And if you\u2019re feeling adventurous, try the Orange Espresso.  We\u2019ll chat and walk to the keynote after that :)\r\n\r\n\r\nhttps://maps.app.goo.gl/Mrqm4rK862xUzR4S9?g_st=ic", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/IMG_3158.jpeg"}, {"room": "Room 309", "rooms": ["Room 309"], "room_display": "Room 309", "room_order": 1, "start": "2025-05-17T09:00:00-04:00", "end": "2025-05-17T10:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 128, "list_render": true, "title": "Research Software Engineers meetup", "description": "Do you write software for research? Then you might be a research software engineer.", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/main_logo_transparent.png"}, {"room": "Room 308", "rooms": ["Room 308"], "room_display": "Room 308", "room_order": 0, "start": "2025-05-17T09:00:00-04:00", "end": "2025-05-17T10:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 85, "list_render": true, "title": "Functional Programming Open Space", "description": "Curious about functional programming in Python? Come hang out at the Functional Programming Open Space!\r\n\r\nWhether you're an FP enthusiast, a Pythonista wanting to write cleaner, more expressive code, or just someone wondering what the fuss is about map, filter, and reduce, this session\u2019s for you.\r\n\r\nWe\u2019ll talk about immutability, pure functions, higher-order functions, recursion, functional libraries, and how to sneak in FP habits at work. No prior experience necessary \u2014 bring your questions, favorite FP patterns, or Python weirdness!", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/1000018889.png"}, {"room": "Room 315", "rooms": ["Room 315"], "room_display": "Room 315", "room_order": 3, "start": "2025-05-18T10:00:00-04:00", "end": "2025-05-18T11:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 137, "list_render": true, "title": "Reproducible notebooks with marimo!", "description": "Come chat with the team building marimo, a reproducible notebook that aims to replace Jupyter, Streamlit, Papermill as a unified tool. Topics could include: getting started, versioning with git, sharing notebooks as apps and/or scripts, your hopes and dreams for data science/notebooks, contributing to marimo, or whatever else is on your mind!", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/Screenshot_2025-05-17_at_8.22.24AM.png"}, {"room": "Room 316", "rooms": ["Room 316"], "room_display": "Room 316", "room_order": 4, "start": "2025-05-18T10:00:00-04:00", "end": "2025-05-18T11:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 158, "list_render": true, "title": "Python in Aviation", "description": "Do you have or are interested in a career in aviation? Pilots, fleet management, weather, maintenance, engineering and simulation, plane spotting, or a big fan of going up and down. All are welcome.", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/iTunesArtwork.png"}, {"room": "Room 318", "rooms": ["Room 318"], "room_display": "Room 318", "room_order": 5, "start": "2025-05-18T10:00:00-04:00", "end": "2025-05-18T11:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 179, "list_render": true, "title": "Twisted Community", "description": "Let's get together and talk about what Twisted has been doing in the past year. Topics may include the recent WebSockets implementation and the upcoming deployment of PSF funds for paid maintenance, but any topics from users, maintainers, or curious potential users would also be great!", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/twisted-logo.png"}, {"room": "Room 319", "rooms": ["Room 319"], "room_display": "Room 319", "room_order": 6, "start": "2025-05-18T10:00:00-04:00", "end": "2025-05-18T11:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 174, "list_render": true, "title": "SeleniumBase Deep Dive", "description": "SeleniumBase is a Python web automation framework with lots of powerful features built-in, such as handling 2-factor login (MFA), test reports, real-time dashboards, CAPTCHA-bypass abilities, and reliable test automation. With over 10K GitHub Stars (https://github.com/seleniumbase/SeleniumBase), SeleniumBase offers several features that other test automation frameworks don't have. Come learn how it works, and be sure to ask lots of questions! This Open Space will be run by the maintainer of SeleniumBase: Michael Mintz.", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/sb_logo_10.png"}, {"room": "Room 316", "rooms": ["Room 316"], "room_display": "Room 316", "room_order": 4, "start": "2025-05-17T10:00:00-04:00", "end": "2025-05-17T11:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 86, "list_render": true, "title": "Astral\u2019s type checker, ty", "description": "Come chat with the team building the new super-fast Astral type checker, ty! Topics could include: ty's architecture and design goals, your hopes and dreams for Python typing, contributing to ty, or whatever else is on your mind!", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/astralicon_yhoMrEB.png"}, {"room": "Room 308", "rooms": ["Room 308"], "room_display": "Room 308", "room_order": 0, "start": "2025-05-17T10:00:00-04:00", "end": "2025-05-17T11:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 125, "list_render": true, "title": "Junior Engineer Advice Session", "description": "Are you a software engineer, data engineer, cybersecurity specialist, cloud engineer, or other employee in the first few years of your career? Are you someone with more years under their belt that wants to share what they've experienced and learned? \r\n\r\nPlease stop by with questions or comments for discussion related to career or personal development, coding practices, navigating new work environments, and any other related topics.", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/29c67bf8-af91-4a56-9fec-68fb781b5eee.jpeg"}, {"room": "Room 310/311", "rooms": ["Room 310/311"], "room_display": "Room 310/311", "room_order": 2, "start": "2025-05-18T10:00:00-04:00", "end": "2025-05-18T11:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 139, "list_render": true, "title": "Computer Assisted Reporting and Investigative journalism", "description": "Curious how coding can help journalists with reporting? \r\n\r\nwant to share your hot tip on making data wrangling easier? \r\n\r\ncome hang out with your fellow coding journalists after the marshall project keynote", "image_url": null}, {"room": "Room 308", "rooms": ["Room 308"], "room_display": "Room 308", "room_order": 0, "start": "2025-05-18T10:00:00-04:00", "end": "2025-05-18T11:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 140, "list_render": true, "title": "Engineering Productivity", "description": "Come discuss improving: developer experience \u2013 engineering productivity \u2013 mitigating human errors \u2013 modern software engineering \u2013 taming tech debt", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/engineering_productivity.png"}, {"room": "Room 321", "rooms": ["Room 321"], "room_display": "Room 321", "room_order": 8, "start": "2025-05-18T10:00:00-04:00", "end": "2025-05-18T11:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 177, "list_render": true, "title": "Python on HPC Supercomputers", "description": "Meet other PyCon attendees who run Python at scale! This open space dives into High Performance Computing (HPC) workflows, use cases, and pain points. We'll swap tips on distributed programming frameworks like mpi4py, dealing with HPC job schedulers like Slurm, and the intersection of Python and HPC packaging systems like Spack and softenv. Bring your toughest cluster tales and clever hacks; from kernel-writing wizards to beginning computational scientists, this session is open to anyone doing science at supercomputer scale!", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/python_for_hpc.png"}, {"room": "Room 309", "rooms": ["Room 309"], "room_display": "Room 309", "room_order": 1, "start": "2025-05-18T10:00:00-04:00", "end": "2025-05-18T11:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 156, "list_render": true, "title": "Mysterious Sticker", "description": "If you worked through the puzzles in the Mother of Exiles sticker, come learn more about the project and collect solution stickers. If you finished all the puzzles, come get the special prize sticker. If you have not tried yet, come get started. You can continue solving after PyCon US ends.", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/The_Mother_of_Exiles_winner_sticker.jpeg"}, {"room": "Room 321", "rooms": ["Room 321"], "room_display": "Room 321", "room_order": 8, "start": "2025-05-17T10:30:00-04:00", "end": "2025-05-17T12:30:00-04:00", "duration": 7200, "kind": "open-space", "section": "open-spaces", "conf_key": 63, "list_render": true, "title": "Supply-Chain Security", "description": "Come learn what\u2019s new and upcoming for supply chain security in the Python ecosystem. This open space will be relevant to both maintainers and users. A mix of longer presentations, lightning talks and open discussion will include overviews of new best practices and plans for the future.\r\n\r\nSign up for lightning talks here:\r\n\r\nhttps://forms.gle/B3HanjcJHvC5ToFh6", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/chains.png"}, {"room": "Room 318", "rooms": ["Room 318"], "room_display": "Room 318", "room_order": 5, "start": "2025-05-17T11:00:00-04:00", "end": "2025-05-17T12:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 75, "list_render": true, "title": "Actually Usable Estimation with Quantified Tasks", "description": "Stuck on sprints? Story points getting you down? T-shirt sizes don't seem to fit your tasks? Come to this session to learn about a surprisingly simple new way to estimate effort that is actually useful, and will radically transform how your team communicates.", "image_url": null}, {"room": "Room 320", "rooms": ["Room 320"], "room_display": "Room 320", "room_order": 7, "start": "2025-05-18T11:00:00-04:00", "end": "2025-05-18T12:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 152, "list_render": true, "title": "Accessibility Solutions", "description": "Do you have thoughts or ideas on keeping Python accessible broadly? Do you have insights on how we can provide accommodations for people with disabilities or special needs? Let's discuss how to keep the Python community, especially at events and conferences, openly accessible to a wide audience.", "image_url": null}, {"room": "Room 320", "rooms": ["Room 320"], "room_display": "Room 320", "room_order": 7, "start": "2025-05-17T11:00:00-04:00", "end": "2025-05-17T11:45:00-04:00", "duration": 2700, "kind": "open-space", "section": "open-spaces", "conf_key": 78, "list_render": true, "title": "t-strings: Let's build powerful templating together", "description": "t-strings are in Python 3.14 and they offer a chance for Python to build a broad ecosystem of implementations and interoperability. We have a chance for common tooling that dramatically increases developer experience.\r\n\r\nCome hang out, talk about how we can invent this together:\r\n\r\n- HTML templating that taps into static analysis and type checking like TSX, but is also interoperable with all the great systems already in place\r\n- What does tooling need in order to find the structure?\r\n- What should the standards look like?\r\n- How do we build and operate a community?", "image_url": null}, {"room": "Room 310/311", "rooms": ["Room 310/311"], "room_display": "Room 310/311", "room_order": 2, "start": "2025-05-18T11:00:00-04:00", "end": "2025-05-18T12:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 163, "list_render": true, "title": "Game Devs", "description": "Working on a video game?\r\nCurious about making games in Python or other game engines?\r\nJust passionate about video games?\r\nCome hang out!", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/Video-Game-Controller.png"}, {"room": "Room 316", "rooms": ["Room 316"], "room_display": "Room 316", "room_order": 4, "start": "2025-05-16T11:00:00-04:00", "end": "2025-05-16T12:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 70, "list_render": true, "title": "Outer Space Open Space", "description": "Do you like outer space? And doing outer space things with Python? Like doing science, processing data, controlling spacecraft, designing and running missions. So do we. Let's talk about doing outer space things with Python.", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/rocket-emoji-1024x1016-0vf02v0l-2821866088.png"}, {"room": "Room 308", "rooms": ["Room 308"], "room_display": "Room 308", "room_order": 0, "start": "2025-05-17T11:00:00-04:00", "end": "2025-05-17T12:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 92, "list_render": true, "title": "Rust in Python Open Space", "description": "Rust is part of the Python ecosystem now\u2014for those of you who are interested in Rust in Python come to join the discussion and learn more.", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/Untitled_design_2.png"}, {"room": "Room 309", "rooms": ["Room 309"], "room_display": "Room 309", "room_order": 1, "start": "2025-05-16T11:00:00-04:00", "end": "2025-05-16T12:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 94, "list_render": true, "title": "Making Python Better for New Programmers", "description": "The initial Python learning experience for folks who are entirely new to programming can be a rough experience. The official Python tutorial is written for programmers who are new to Python, not new programmers. There are a number of tools available that can help with this, but there's no definitive officially supported workflow to address this issue. I want to encourage the conversation about what we can do to improve this process. I want to know what beginners are successfully using to learn, and what educators and trainers are using to successfully teach beginners. Join me for this discussion about making Python more approachable for beginner programmers.", "image_url": null}, {"room": "Room 315", "rooms": ["Room 315"], "room_display": "Room 315", "room_order": 3, "start": "2025-05-18T11:00:00-04:00", "end": "2025-05-18T12:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 52, "list_render": true, "title": "Simplifying initial Django deployments", "description": "Deployment is one of the sticking points in learning (and using) Django. [django-simple-deploy](https://django-simple-deploy.readthedocs.io/en/latest/) solves this problem by automating deployment to a variety of hosting platforms. We keep up with each platform's docs, so your deployment works the first time you try. If you'd like to learn more about the project, offer feedback, or start contributing, please stop by!", "image_url": null}, {"room": "Room 321", "rooms": ["Room 321"], "room_display": "Room 321", "room_order": 8, "start": "2025-05-18T11:00:00-04:00", "end": "2025-05-18T12:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 176, "list_render": true, "title": "GPU Accelerated Data Science with RAPIDS", "description": "Curious about GPU-accelerated data science in Python? Join us for an open discussion on RAPIDS \u2014 a suite of open-source tools like cuDF and cuML that bring pandas- and scikit-learn-like APIs to the GPU. All experience levels welcome!\r\n\r\nSome topics:\r\n- Interoperation with the CUDA Python & PyData ecosystems\r\n- Zero code change with cudf.pandas / cuml.accel (import *magic*)\r\n- Polars GPU backend, XGBoost, ...\r\n- Bring your questions!", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/rapids.jpg"}, {"room": "Room 316", "rooms": ["Room 316"], "room_display": "Room 316", "room_order": 4, "start": "2025-05-18T11:00:00-04:00", "end": "2025-05-18T12:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 151, "list_render": true, "title": "Let's talk LLMOps", "description": "Do you have strong feelings about LangChain? Do you struggle to understand why Google provides two separate APIs to call the same Gemini models? Are you tired of hearing the word \"agentic\" (or do you love it)?\r\n\r\nThen this is the space for you! Come talk about infra and platforms for building with LLMs and GenAI.", "image_url": null}, {"room": "Room 319", "rooms": ["Room 319"], "room_display": "Room 319", "room_order": 6, "start": "2025-05-18T11:00:00-04:00", "end": "2025-05-18T12:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 172, "list_render": true, "title": "Come play with Pydantic AI agents!", "description": "The Pydantic team are here to answer your questions about Pydantic AI. Come learn how to build AI agents, the more ideas of things you want to try the better!\r\n\r\nCaveat: no polar bears will be present.", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/Gemini_Generated_Image_lvli3dlvli3dlvli.jpeg"}, {"room": "Room 309", "rooms": ["Room 309"], "room_display": "Room 309", "room_order": 1, "start": "2025-05-17T11:00:00-04:00", "end": "2025-05-17T12:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 95, "list_render": true, "title": "Physical World Python", "description": "Python in the physical world: manufacturing, energy, water, robotics, data centers, telco, buildings, transportation, logistics, warehouses, agriculture, etc..", "image_url": null}, {"room": "Room 316", "rooms": ["Room 316"], "room_display": "Room 316", "room_order": 4, "start": "2025-05-17T11:00:00-04:00", "end": "2025-05-17T12:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 87, "list_render": true, "title": "Astral's package manager, uv", "description": "Come chat with the Astral team (or, at least Zanie) about uv.\r\n\r\nTopics might include: installing Python, inline script metadata, installing tools, working on projects, using workspaces, packaging woes, build systems, writing Rust, etc.", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/astralicon.png"}, {"room": "Room 318", "rooms": ["Room 318"], "room_display": "Room 318", "room_order": 5, "start": "2025-05-18T11:00:00-04:00", "end": "2025-05-18T12:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 181, "list_render": true, "title": "Python and the Energy Transition", "description": "Putting Python to work to make the energy transition happen. Renewable energy, storage, energy efficiency, distributed energy resources -- maybe even alternative futures like degrowth or solarpunk? All welcome: professionals, amateurs, academics, and the curious.", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/green-heart_1f49a.png"}, {"room": "Room 321", "rooms": ["Room 321"], "room_display": "Room 321", "room_order": 8, "start": "2025-05-17T11:00:00-04:00", "end": "2025-05-17T12:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 131, "list_render": true, "title": "Keeping Up With CPython: Alternative implementations and language tools", "description": "Python language implementations and tooling (interpreters, compilers, typecheckers, linters, codemods, etc) are intimately tied to the details of the language, and often to the internals of CPython. This leads to a large amount of work every time a new python version comes out, to reflect the changes in the language.\r\n\r\nThis is a space for developers of these projects to compare notes, and discuss ways in which some of this work can be developed more collaboratively. People interested in the space are welcome too!", "image_url": null}, {"room": "Room 308", "rooms": ["Room 308"], "room_display": "Room 308", "room_order": 0, "start": "2025-05-18T11:00:00-04:00", "end": "2025-05-18T12:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 59, "list_render": true, "title": "Still on Python 2?", "description": "An opportunity for software maintainers who are still supporting Python 2.x to talk with people who are still using Python 2.x. What do users need before we can migrate? What do maintainers need to know or get before we can fully deprecate 2.x support? What funding might be necessary to make these happen? A supportive and nonjudgmental discussion facilitated by Sumana Harihareswara.", "image_url": null}, {"room": "Room 308", "rooms": ["Room 308"], "room_display": "Room 308", "room_order": 0, "start": "2025-05-16T11:00:00-04:00", "end": "2025-05-16T12:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 73, "list_render": true, "title": "Fantasy Sports Analytics Meetup", "description": "Love fantasy sports? Obsessed with stats? Come join the Fantasy Sports Analytics Open Space!\r\n\r\nWhether you're a fantasy sports veteran, a Python data junkie, or just curious about how data and analytics power modern fantasy leagues, this is your spot. We'll chat about drafting strategies, predictive modeling, player projections, win probability tools, platforms with (private) APIs and good data sets, leveraging betting lines and how to turn your Python skills into fantasy sport victories.\r\n\r\nBring your questions, projects, and wild trade horror stories \u2014 or just hang out and swap ideas with other data-minded fantasy sports fans!", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/ChatGPT_Image_May_16_2025_12_15_20_AM.png"}, {"room": "Room 315", "rooms": ["Room 315"], "room_display": "Room 315", "room_order": 3, "start": "2025-05-17T11:00:00-04:00", "end": "2025-05-17T12:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 129, "list_render": true, "title": "Startups & Solopreneurs", "description": "Building and launching a product on your own?\r\nWorking at a small startup?\r\nCurious/Interested in any of the above?\r\n\r\nChat, hang out, network, seek advice, etc", "image_url": null}, {"room": "Room 309", "rooms": ["Room 309"], "room_display": "Room 309", "room_order": 1, "start": "2025-05-18T11:00:00-04:00", "end": "2025-05-18T12:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 141, "list_render": true, "title": "Testing!", "description": "Let's discuss testing! Unit? Integration? Contract? TDD? None?", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/testing.png"}, {"room": "Elsewhere", "rooms": ["Elsewhere"], "room_display": "Outside the staff room", "room_order": 9, "start": "2025-05-18T12:00:00-04:00", "end": "2025-05-18T12:30:00-04:00", "duration": 1800, "kind": "open-space", "section": "open-spaces", "conf_key": 178, "list_render": true, "title": "Entertainment Robots and the Pragmatics of Contextual Analysis.", "description": "A quick and cozy open space discussing and interacting with Entertainment Robots, sentiment analysis, context dependent communication, and Natural Language Processing. (Ft. AIBO)", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/IMG_1927.jpeg"}, {"room": "Elsewhere", "rooms": ["Elsewhere"], "room_display": "PSF Couch", "room_order": 9, "start": "2025-05-16T12:00:00-04:00", "end": "2025-05-16T13:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 89, "list_render": true, "title": "Chat about CouchDB", "description": "Let's talk about the most replicatable database, CouchDB", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/1000008704.png"}, {"room": "Room 309", "rooms": ["Room 309"], "room_display": "Room 309", "room_order": 1, "start": "2025-05-16T12:00:00-04:00", "end": "2025-05-16T13:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 80, "list_render": true, "title": "Python for Advocacy, Activism, and Civics", "description": "Let\u2019s discuss how Python is being used in advocacy, activism, and social impact work. Whether you're working with data for policy change, building tools for nonprofits, or civic engagement, join us to share projects, tools, and ideas.", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/Screen_Shot_2025-05-16_at_9.02.11_AM.png"}, {"room": "Room 308", "rooms": ["Room 308"], "room_display": "Room 308", "room_order": 0, "start": "2025-05-16T12:00:00-04:00", "end": "2025-05-16T13:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 72, "list_render": true, "title": "On Premise Python", "description": "Clouds are bad. \u2601\ufe0f\ud83d\ude41\r\nSun is good. \u2600\ufe0f\ud83d\ude00\r\n\r\nAre you running python on premises: self hosted servers, private data center, in a broom closet, etc.? Meet with others to discuss the how and why of operating outside the major cloud providers", "image_url": null}, {"room": "Room 315", "rooms": ["Room 315"], "room_display": "Room 315", "room_order": 3, "start": "2025-05-16T12:00:00-04:00", "end": "2025-05-16T13:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 62, "list_render": true, "title": "Education and Outreach Working Group Open Space", "description": "Do you have any idea about what we can, as a community, promote Python to more people? Or are you interested in education in Python and would like to get more support? The members of the Education and Outreach Working Group of the Python Software Foundation would love to listen and collaborate with you. Please come join us!", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/Untitled_design_4.png"}, {"room": "Room 308", "rooms": ["Room 308"], "room_display": "Room 308", "room_order": 0, "start": "2025-05-17T12:00:00-04:00", "end": "2025-05-17T13:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 132, "list_render": true, "title": "Mysterious Sticker", "description": "Maybe you ignored the signs. Maybe you missed the cues. Maybe you haven't realized something was hidden in plain sight in the sticker exchange table. Don't worry! By reading this, you are one step closer to discovering the truth. If you have already taken the first step, come share your progress, ask questions, or work with other people seeking answers. And if you have found the truth, come get the solution sticker!", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/The_Mother_of_Exiles_f7P8wPK.jpeg"}, {"room": "Room 309", "rooms": ["Room 309"], "room_display": "Room 309", "room_order": 1, "start": "2025-05-17T12:00:00-04:00", "end": "2025-05-17T13:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 135, "list_render": true, "title": "py-bugger: An intentional way to practice debugging.", "description": "Most people learn debugging by dealing with whatever bugs happen to show up in their code. py-bugger lets you introduce specific kinds of bugs into your code, so you can practice debugging in an intentional way. It's useful for teachers, trainers, and independent learners. py-bugger is in early development, so come help shape the vision for this new tool. py-bugger.readthedocs.io", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/logo_raw_bordered.png"}, {"room": "Room 315", "rooms": ["Room 315"], "room_display": "Room 315", "room_order": 3, "start": "2025-05-17T12:00:00-04:00", "end": "2025-05-17T13:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 138, "list_render": true, "title": "Reproducible notebooks with marimo!", "description": "Come chat with the team building marimo, a reproducible notebook that aims to replace Jupyter, Streamlit, Papermill as a unified tool. Topics could include: getting started, versioning with git, sharing notebooks as apps and/or scripts, your hopes and dreams for data science/notebooks, contributing to marimo, or whatever else is on your mind!", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/Screenshot_2025-05-17_at_8.22.24AM_0HQlPu3.png"}, {"room": "Room 318", "rooms": ["Room 318"], "room_display": "Room 318", "room_order": 5, "start": "2025-05-17T12:00:00-04:00", "end": "2025-05-17T13:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 157, "list_render": true, "title": "Discussing LLM guardrails", "description": "We will discuss the problem of ensuring the responsible and safe operation of AI applications, particularly those utilizing LLMs. These systems are currently LLMs that perform classification tasks on incoming requests from users and either accept or deny them.", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/Gemini_Generated_Image_6xa9ij6xa9ij6xa9.png"}, {"room": "Room 308", "rooms": ["Room 308"], "room_display": "Room 308", "room_order": 0, "start": "2025-05-18T12:00:00-04:00", "end": "2025-05-18T13:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 173, "list_render": true, "title": "High Performance Django", "description": "Let's talk about how to make Django fast. Discuss techniques for caching, optimizing database queries, performance monitoring, scaling, using CDNs, and more.", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/1758841.png"}, {"room": "Room 309", "rooms": ["Room 309"], "room_display": "Room 309", "room_order": 1, "start": "2025-05-18T12:00:00-04:00", "end": "2025-05-18T13:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 167, "list_render": true, "title": "Ensemble (mob) programming", "description": "Back by popular demand\r\nWe'll break up into groups of 3 to 5, each with their own instance of https://mobti.me\r\nand rotate through the roles of: Driver, Navigator, and Next.", "image_url": null}, {"room": "Room 315", "rooms": ["Room 315"], "room_display": "Room 315", "room_order": 3, "start": "2025-05-18T12:00:00-04:00", "end": "2025-05-18T13:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 188, "list_render": true, "title": "PyBatch", "description": "Come learn how to embed Python inside a batch file, no dependencies.", "image_url": null}, {"room": "Room 316", "rooms": ["Room 316"], "room_display": "Room 316", "room_order": 4, "start": "2025-05-18T12:00:00-04:00", "end": "2025-05-18T13:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 195, "list_render": true, "title": "Python for Hardware Folks", "description": "Share your experience with using Python as a hardware maker - robots, art, manufacturing, and anything in between.  Show and tell encouraged!", "image_url": null}, {"room": "Room 309", "rooms": ["Room 309"], "room_display": "Room 309", "room_order": 1, "start": "2025-05-18T12:30:00-04:00", "end": "2025-05-18T13:00:00-04:00", "duration": 1800, "kind": "open-space", "section": "open-spaces", "conf_key": 154, "list_render": true, "title": "python-build-standalone", "description": "Chat about the portable Python distribution that uv, hatch, poetry, and others can install, why you'd want to use it, and any issues you're having with it. (General discussion about building and packaging Python etc. also welcome.)", "image_url": null}, {"room": "Elsewhere", "rooms": ["Elsewhere"], "room_display": "4th floor tables (under the tents)", "room_order": 9, "start": "2025-05-18T12:30:00-04:00", "end": "2025-05-18T13:00:00-04:00", "duration": 1800, "kind": "open-space", "section": "open-spaces", "conf_key": 183, "list_render": true, "title": "Python Skill-Building", "description": "Let's chat about Python skill-building over lunch on the roof. Hosted by Trey Hunner of Python Morsels (one of many Python skill-building resources). The rooftop terrace can be reached via any of he 4 doors on either side of the long 3rd walkway.", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/less_cropped_logo.png"}, {"room": "Room 315", "rooms": ["Room 315"], "room_display": "Room 315", "room_order": 3, "start": "2025-05-18T13:00:00-04:00", "end": "2025-05-18T14:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 175, "list_render": true, "title": "Creative Coding with Python", "description": "This open space is devoted to creative or artistic expression with Python. Let's talk about the Python libraries and tools we use to create art and other beautiful things! Let's learn from each other and have fun sharing our work.", "image_url": null}, {"room": "Room 321", "rooms": ["Room 321"], "room_display": "Room 321", "room_order": 8, "start": "2025-05-17T13:00:00-04:00", "end": "2025-05-17T14:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 130, "list_render": true, "title": "Which Data Package? pandas, polars, ibis, duckdb ?", "description": "Pandas has been the erstwhile go-to default for data professionals but with new packages like polars, ibis etc. there are great new options. Come debate what are the pros/cons of each and where the community is headed", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/0d5db599-4a06-4ee8-8a40-87a5e68ba8bf.jpeg"}, {"room": "Room 319", "rooms": ["Room 319"], "room_display": "Room 319", "room_order": 6, "start": "2025-05-18T13:00:00-04:00", "end": "2025-05-18T14:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 160, "list_render": true, "title": "Geeking Out about AI Evals", "description": "Join us for an informal open space where community experts share their real-world experiences with AI evaluation systems. This isn't a structured talk - it's a chance to hear honest stories about what works, what fails, and how practitioners actually tackle the messy realities of evaluating AI systems in production.\r\n\r\nWhat to Expect: We'll create a comfortable environment to ask questions and learn from practitioners who have battled with the challenges of evaluating LLMs, RAG systems, and other AI applications. From simple approaches that saved projects to complex frameworks that weren't worth the effort, hear unfiltered perspectives from people who've been in the trenches.\r\nConversation Starters", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/Geeking_out_about_Evals.png"}, {"room": "Room 308", "rooms": ["Room 308"], "room_display": "Room 308", "room_order": 0, "start": "2025-05-16T13:00:00-04:00", "end": "2025-05-16T14:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 76, "list_render": true, "title": "Mysterious Sticker", "description": "There are rumors that a mysterious sticker is making the rounds at PyCon. Some say it's just another piece of conference swag, but if you stare at it long enough, it appears to be hiding something.\r\n\r\nIf you are the kind who can't resist pulling on loose threads to see what unravels, join us!\r\n\r\nWe have stickers!", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/The_Mother_of_Exiles.jpeg"}, {"room": "Room 321", "rooms": ["Room 321"], "room_display": "Room 321", "room_order": 8, "start": "2025-05-18T13:00:00-04:00", "end": "2025-05-18T14:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 189, "list_render": true, "title": "Plotly Data Viz - Meet & Greet", "description": "An open space to discuss Plotly and Dash for data app development. Also, learn about the Sprints on Monday.", "image_url": null}, {"room": "Room 308", "rooms": ["Room 308"], "room_display": "Room 308", "room_order": 0, "start": "2025-05-18T13:00:00-04:00", "end": "2025-05-18T14:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 142, "list_render": true, "title": "Young Professionals Meetup!", "description": "Young professionals unite! This is a space to hang out, talk about Python, and meet other people early in their career. Best meme of the hour wins \u2620\ufe0f", "image_url": null}, {"room": "Room 316", "rooms": ["Room 316"], "room_display": "Room 316", "room_order": 4, "start": "2025-05-18T13:00:00-04:00", "end": "2025-05-18T14:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 180, "list_render": true, "title": "Hosting with Teahouse", "description": "Teahouse Hosting is now doing static hosting! Come ask the creators questions or create a website.", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/1000008715.png"}, {"room": "Room 318", "rooms": ["Room 318"], "room_display": "Room 318", "room_order": 5, "start": "2025-05-17T13:00:00-04:00", "end": "2025-05-17T14:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 113, "list_render": true, "title": "LGBTQ Hangout", "description": "There are dozens of us! Come say hi, talk about anything, or just show up and listen. \r\n\r\nAnyone is welcome!", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/pride-flag.jpg"}, {"room": "Room 316", "rooms": ["Room 316"], "room_display": "Room 316", "room_order": 4, "start": "2025-05-17T13:00:00-04:00", "end": "2025-05-17T14:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 127, "list_render": true, "title": "GPU Programming in Python", "description": "Join this PyCon Open Space on GPU Python programming, where we'll discuss how to leverage GPU acceleration in Python using CuPy, Numba CUDA, and RAPIDS to achieve faster results for compute-heavy tasks such as data science, AI, and scientific computing. This self-organized gathering offers a perfect opportunity to discuss real-world applications, share experiences, troubleshoot common challenges, and learn how these powerful tools can help you implement custom algorithms that aren't easily described by combining existing functions. Whether you're a beginner curious about GPU computing or an experienced developer looking to optimize your code, come connect with fellow Pythonistas who are passionate about harnessing the massive parallelism of GPUs!", "image_url": null}, {"room": "Room 318", "rooms": ["Room 318"], "room_display": "Room 318", "room_order": 5, "start": "2025-05-18T13:00:00-04:00", "end": "2025-05-18T14:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 153, "list_render": true, "title": "OpenAPI and Arazzo specifications", "description": "OpenAPI specifications let you define your web APIs. The new Arazzo specification lets you define workflows or sequences of those API calls. Come chat about all things OpenAPI with one of the authors of the Arazzo spec!", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/arazzo_horizontal_oai_color-768x180.png"}, {"room": "Room 309", "rooms": ["Room 309"], "room_display": "Room 309", "room_order": 1, "start": "2025-05-17T13:00:00-04:00", "end": "2025-05-17T14:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 98, "list_render": true, "title": "Challenges to deploying data science apps and docs", "description": "It's pretty easy to build an engaging data app or document locally, but finding ways to deploy feels challenging  - especially for those on a budget. I'd love to hear what challenges you've faced and what approaches or solutions have unblocked you.", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/Screenshot_2025-05-16_at_10.04.23AM.png"}, {"room": "Elsewhere", "rooms": ["Elsewhere"], "room_display": "4th floor tables (under the tents)", "room_order": 9, "start": "2025-05-18T13:00:00-04:00", "end": "2025-05-18T13:37:00-04:00", "duration": 2220, "kind": "open-space", "section": "open-spaces", "conf_key": 184, "list_render": true, "title": "Ask a Friendly Meat-Loving Vegan", "description": "In 2020 I decided I'd be vegan by 2030. I'm almost there. I've done a lot of reading and thinking and I am very happy to discuss your (likely very valid!) questions and concerns. I'd love to chat with you. - Trey", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/avatar.jpg"}, {"room": "Room 320", "rooms": ["Room 320"], "room_display": "Room 320", "room_order": 7, "start": "2025-05-18T13:00:00-04:00", "end": "2025-05-18T14:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 186, "list_render": true, "title": "Consciousness", "description": "Recent scientific research has uncovered some interesting aspects of consciousness. What all life forms are conscious? Is consciousness fundamental or emergent? Aren't qualia crazy?", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/Inverted_qualia_of_colour_strawberry.jpg"}, {"room": "Room 310/311", "rooms": ["Room 310/311"], "room_display": "Room 310/311", "room_order": 2, "start": "2025-05-18T13:00:00-04:00", "end": "2025-05-18T14:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 60, "list_render": true, "title": "PSF & Meetups Discussion", "description": "The PSF & Meetups Discussion is organized by the PSF board. We\u2019re looking to make this year\u2019s PyCon US session into a jumping off point for a global conversation that we hope to see happen regularly in lots of places around the world \u2013 as well as online. If you\u2019ve got ideas or want to be involved in this conversation, please email community-organizing@pyfound.org", "image_url": null}, {"room": "Room 315", "rooms": ["Room 315"], "room_display": "Room 315", "room_order": 3, "start": "2025-05-17T13:00:00-04:00", "end": "2025-05-17T14:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 53, "list_render": true, "title": "\"Nebraska\" Maintainers Round-table", "description": "Do you identify as a \"Nebraska\" maintainer? Have you been thanklessly maintaining Open Source projects that large companies depend on? I want to hear your story! My name is Chad Whitacre, Head of Open Source at Sentry and director of the Open Source Pledge. I recently launched a YouTube show called Open Path about Open Source sustainability and more. I want to include perspectives from maintainers in future episodes, so we will be filming this session. Let's bring some attention to the Open Source sustainability crisis!", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/Screenshot_2025-05-17_at_7.42.20AM.png"}, {"room": "Room 316", "rooms": ["Room 316"], "room_display": "Room 316", "room_order": 4, "start": "2025-05-16T13:00:00-04:00", "end": "2025-05-16T14:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 90, "list_render": true, "title": "Educators: Share Your Secrets", "description": "Teaching, explaining, tutoring, or mentoring? Let\u2019s meet up and share all the tricks, tips, and tools we\u2019ve learned. What worked? What didn\u2019t? I want to know your secrets!", "image_url": null}, {"room": "Room 308", "rooms": ["Room 308"], "room_display": "Room 308", "room_order": 0, "start": "2025-05-17T13:00:00-04:00", "end": "2025-05-17T14:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 57, "list_render": true, "title": "Current & Displaced Federal Data Professionals Open Space", "description": "Impacted by resignations, RIFs, or cuts to grants and contracts? Join us for an Open Space focused on community, support, and shared purpose. We'll hold discussion space on career pivots, personal resilience, and how we can continue to uphold and advance public-sector data, programming, and AI innovation. Can\u2019t make the session? Email elaynemorrison@gmail.com to receive the shared resource list and stay connected.", "image_url": null}, {"room": "Room 320", "rooms": ["Room 320"], "room_display": "Room 320", "room_order": 7, "start": "2025-05-17T13:00:00-04:00", "end": "2025-05-17T14:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 115, "list_render": true, "title": "Testing and Fuzzing with Hypothesis!", "description": "Whether you're an enthusiastic Hypothesis user curious about our upcoming secret project, or just dipping your toes into randomized testing and want to find out what all the fuss is about... come hang out and talk to us!\r\n\r\nCompliments and complaints equally welcome, we just want to hear from users and non-users alike.\r\n\r\nhttps://hypothesis.readthedocs.io/ to find out more.", "image_url": null}, {"room": "Room 309", "rooms": ["Room 309"], "room_display": "Room 309", "room_order": 1, "start": "2025-05-18T13:00:00-04:00", "end": "2025-05-18T14:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 144, "list_render": true, "title": "All Presenters/Speakers", "description": "Want to get better, or help others do so?\r\nWant to know how to start, or help others do so?\r\n(Not just for PyCon US)", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/presenters.png"}, {"room": "Room 318", "rooms": ["Room 318"], "room_display": "Room 318", "room_order": 5, "start": "2025-05-18T14:00:00-04:00", "end": "2025-05-18T15:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 143, "list_render": true, "title": "Black Python Devs", "description": "Join us for our annual Black Python Devs open space. A chance for us to all get to get her in a room to celebrate our successes and support each others struggles. And of course we will get our group picture at the end!", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/IMG_5543.png"}, {"room": "Room 309", "rooms": ["Room 309"], "room_display": "Room 309", "room_order": 1, "start": "2025-05-18T14:00:00-04:00", "end": "2025-05-18T15:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 145, "list_render": true, "title": "Dotfile Nerds", "description": "Some of you might have some tips, tricks, or really cool things in your dotfiles. I may, too.\r\n\r\nLet's hang out and talk about the ways we do, have, or will configure our shells and other things.", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/terminal-icon.png"}, {"room": "Room 321", "rooms": ["Room 321"], "room_display": "Room 321", "room_order": 8, "start": "2025-05-18T14:00:00-04:00", "end": "2025-05-18T15:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 165, "list_render": true, "title": "Software Engineering Managers Meetup", "description": "Let\u2019s chat about software engineering management. Challenges with business teams? Hiring? Resourcing? Team organization? Growth? Great success stories? Let\u2019s get together and share our experiences and tips.", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/IMG_2468.png"}, {"room": "Room 318", "rooms": ["Room 318"], "room_display": "Room 318", "room_order": 5, "start": "2025-05-16T14:00:00-04:00", "end": "2025-05-16T15:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 81, "list_render": true, "title": "All things tabular (Pandas, Polars, duckdb...)", "description": "A space to meet other tabular (data analysts, data scientists, programmers) users.", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/polars.jpg"}, {"room": "Room 308", "rooms": ["Room 308"], "room_display": "Room 308", "room_order": 0, "start": "2025-05-18T14:00:00-04:00", "end": "2025-05-18T15:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 148, "list_render": true, "title": "PAO, PyhtonAsia community and make connections", "description": "if you are from asia or live now \r\nor plan to visit asia.\r\n\r\nwe can make connections, ask", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/main.png"}, {"room": "Room 316", "rooms": ["Room 316"], "room_display": "Room 316", "room_order": 4, "start": "2025-05-17T14:00:00-04:00", "end": "2025-05-17T15:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 106, "list_render": true, "title": "All things MCP!", "description": "If you are building an MCP server or want to learn from others come join this open space!", "image_url": null}, {"room": "Room 320", "rooms": ["Room 320"], "room_display": "Room 320", "room_order": 7, "start": "2025-05-18T14:00:00-04:00", "end": "2025-05-18T15:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 187, "list_render": true, "title": "Artist Meetup", "description": "Are you an artist of any kind? Come hang out!", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/moon_and_jupiter.jpg"}, {"room": "Room 318", "rooms": ["Room 318"], "room_display": "Room 318", "room_order": 5, "start": "2025-05-17T14:00:00-04:00", "end": "2025-05-17T15:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 119, "list_render": true, "title": "NixOS + Python = \u2665\ufe0f", "description": "Let's chat about using Nix with Python! Reproducible Python dev envs, building packages with nix, any cool projects or challenges, or if you're just interested in learning more!", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/1000006476.jpg"}, {"room": "Room 319", "rooms": ["Room 319"], "room_display": "Room 319", "room_order": 6, "start": "2025-05-18T14:00:00-04:00", "end": "2025-05-18T15:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 161, "list_render": true, "title": "Go", "description": "Whether you've heard about Golang as a solution for cloud development and want pointers on getting started, or you're a Gopher in diaspora here among the Pythons, come chat, share, and learn.", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/Go-Logo_Blue.png"}, {"room": "Room 308", "rooms": ["Room 308"], "room_display": "Room 308", "room_order": 0, "start": "2025-05-16T14:00:00-04:00", "end": "2025-05-16T15:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 102, "list_render": true, "title": "AI for data science", "description": "A chance to share what's good (and bad) about using AI as part of a data science workfow", "image_url": null}, {"room": "Room 309", "rooms": ["Room 309"], "room_display": "Room 309", "room_order": 1, "start": "2025-05-16T14:00:00-04:00", "end": "2025-05-16T15:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 68, "list_render": true, "title": "CTF tips & tricks", "description": "Come share your tips and tricks for CTF problems. Don't know what CTF is? Come learn about these fun activities for learning and sharpening cyber security skills.", "image_url": null}, {"room": "Room 316", "rooms": ["Room 316"], "room_display": "Room 316", "room_order": 4, "start": "2025-05-18T14:00:00-04:00", "end": "2025-05-18T15:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 162, "list_render": true, "title": "\ud83c\udf38  pyOpenSci \ud83c\udf38 Python, packaging and making sharing code easier for everyone, everywhere.", "description": "pyOpenSci is a non profit organization that supports researchers in creating, contributing to and building better, more reusable code and software. \r\nWe have been working on beginner friend packaging resources and also lessons that support our beginner-friendly sprints. Join us and provide input on what you want to see pyOpenSci focus on in the next year.  \r\n\r\n Topics may include:\r\n* Lessons on packaging and packaging security\r\n* Tools and approaches that you want more support, training and learning resources for\r\n* Any other things you'd like to talk about\r\n\r\nSee you there!!", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/logo-light-mode_321_132.png"}, {"room": "Room 320", "rooms": ["Room 320"], "room_display": "Room 320", "room_order": 7, "start": "2025-05-17T14:00:00-04:00", "end": "2025-05-17T15:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 124, "list_render": true, "title": "Python on GPUs", "description": "CUDA Python and beyond, let's talk about the way you're using Python and magic math boxes together. \r\n\r\nYou'll likely find the talks leading up to this open space in Ballroom BC starting at 10:30 a.m. of interest:\r\n\r\n10:30 - Scale Smarter, Not Harder, with cuPyNumeric.\r\n\r\n11:15 - When GPUs Make Python Slower: Patterns and Pitfalls\r\n\r\n12:00 - GPU Programming in Pure Python", "image_url": null}, {"room": "Room 315", "rooms": ["Room 315"], "room_display": "Room 315", "room_order": 3, "start": "2025-05-16T14:00:00-04:00", "end": "2025-05-16T15:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 64, "list_render": true, "title": "Free-threaded Python", "description": "Open-space discussion about free-threaded Python (PEP 703), implementation details and migration support (https://py-free-threading.github.io/).", "image_url": null}, {"room": "Room 309", "rooms": ["Room 309"], "room_display": "Room 309", "room_order": 1, "start": "2025-05-17T14:00:00-04:00", "end": "2025-05-17T15:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 91, "list_render": true, "title": "Let's talk about the Qt Framework", "description": "Hey there, my name is Cristi\u00e1n and I work at The Qt Company.\r\nI'd like for people using Qt via PySide or PyQt to gather and share their experience and feedback. Additionally, I'd like to announce a new Qt and Python project that we are working on to hopefully make available later this year.", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/qt_green.png"}, {"room": "Room 321", "rooms": ["Room 321"], "room_display": "Room 321", "room_order": 8, "start": "2025-05-17T14:00:00-04:00", "end": "2025-05-17T15:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 118, "list_render": true, "title": "Diversity and Inclusion Working Group", "description": "Do you have thoughts on how to make the Python community more inclusive, diverse, and equitable? The members of the Diversity and Inclusion Working Group of the Python Software Foundation would love to meet you. Please come join us for a discussion about the importance of D&I work in strengthening the global Python community.", "image_url": null}, {"room": "Room 315", "rooms": ["Room 315"], "room_display": "Room 315", "room_order": 3, "start": "2025-05-18T14:00:00-04:00", "end": "2025-05-18T15:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 58, "list_render": true, "title": "Beautiful Soup: Ask Me Anything", "description": "An open questions session with Leonard Richardson, the maintainer of screen-scraping library Beautiful Soup. If you've ever used or tried to use it, share your questions, confusions, stuff you've made, concerns, ideas, offers of help, etc. with Leonard in person. If we don't have a ton of questions, we might do some impromptu usability testing to check whether the new type hints help you use the library. Facilitated by Sumana Harihareswara.", "image_url": null}, {"room": "Room 310/311", "rooms": ["Room 310/311"], "room_display": "Room 310/311", "room_order": 2, "start": "2025-05-18T14:00:00-04:00", "end": "2025-05-18T15:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 190, "list_render": true, "title": "Types: What is Preventing Adoption?", "description": "Come discuss the struggles that you, your team, and/or your organization encounter when trying to adopt Python's type system. Do you or someone in control simply not like types? Do they seem like too much trouble or risk to adopt? Is it an educational issue, or do people not understand the value? Contrarian opinions are welcome -- the goal is to understand the challenges and hurdles.", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/background.png"}, {"room": "Room 315", "rooms": ["Room 315"], "room_display": "Room 315", "room_order": 3, "start": "2025-05-17T14:00:00-04:00", "end": "2025-05-17T15:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 109, "list_render": true, "title": "Coding with LLMs", "description": "Do you use CoPilot, Cursor, ChatGPT? Don\u2019t use them but want to learn more?\r\n\r\nCome talk about different uses of LLMs, share stories with others in a round table discussion. \r\n\r\nAll experiences welcome.", "image_url": null}, {"room": "Elsewhere", "rooms": ["Elsewhere"], "room_display": "garden outside 315", "room_order": 9, "start": "2025-05-18T14:00:00-04:00", "end": "2025-05-18T15:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 164, "list_render": true, "title": "Intro to Lightsaber Combat", "description": "A one hour intro class to historically-informed LED saber combat", "image_url": null}, {"room": "Elsewhere", "rooms": ["Elsewhere"], "room_display": "Lounge area on third floor between 309 and 308", "room_order": 9, "start": "2025-05-18T14:00:00-04:00", "end": "2025-05-18T15:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 199, "list_render": true, "title": "Headache or Harmony: Engineering meets Data Science", "description": "Bridging the gap between teams? Introducing devops to data scientists?  Is it full of frustration or has it gone swimingly? Holding a space for the hybrid role.  Whether you're a data scientist who now knows too much, or a data/software engineer who wishes others would just get on board, come chat and build community.", "image_url": null}, {"room": "Room 316", "rooms": ["Room 316"], "room_display": "Room 316", "room_order": 4, "start": "2025-05-16T14:00:00-04:00", "end": "2025-05-16T15:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 69, "list_render": true, "title": "WheelNext - Let's re-invent the Wheel", "description": "WheelNext is an open-source initiative (https://github.com/wheelnext & https://wheelnext.dev/) aiming to improve the user experience in the Python packaging ecosystem, specifically around the scientific computing and machine/deep learning space. Come and help us design the future of Python Packaging", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/wheely_variantlib-sticker-outline_1.png"}, {"room": "Room 308", "rooms": ["Room 308"], "room_display": "Room 308", "room_order": 0, "start": "2025-05-17T14:15:00-04:00", "end": "2025-05-17T15:45:00-04:00", "duration": 5400, "kind": "open-space", "section": "open-spaces", "conf_key": 56, "list_render": true, "title": "Python Book Author Meet-and-Greet", "description": "Connect with the authors of many of your favorite Python books. Come meet us, ask questions, and even get autographs.\r\n\r\nThis is also a great opportunity if you\u2019ve ever thought about writing a Python book and want to learn more about the process.", "image_url": null}, {"room": "Room 318", "rooms": ["Room 318"], "room_display": "Room 318", "room_order": 5, "start": "2025-05-16T15:00:00-04:00", "end": "2025-05-16T16:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 82, "list_render": true, "title": "Tabular ML (sklearn, xgboost, catboost, & friends)", "description": "How are you predicting and modeling with the crown jewels (CSV or excel)?\r\n\r\nCome meet other users.", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/xgb.png"}, {"room": "Room 321", "rooms": ["Room 321"], "room_display": "Room 321", "room_order": 8, "start": "2025-05-17T15:00:00-04:00", "end": "2025-05-17T16:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 121, "list_render": true, "title": "Songs for Europe", "description": "Come enjoy the beauty and the madness of the Eurovision Song Contest!", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/favicon.png"}, {"room": "Room 315", "rooms": ["Room 315"], "room_display": "Room 315", "room_order": 3, "start": "2025-05-18T15:00:00-04:00", "end": "2025-05-18T16:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 170, "list_render": true, "title": "Unlearning SQL", "description": "Q & A for the Unlearning SQL talk", "image_url": null}, {"room": "Room 318", "rooms": ["Room 318"], "room_display": "Room 318", "room_order": 5, "start": "2025-05-17T15:00:00-04:00", "end": "2025-05-17T16:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 110, "list_render": true, "title": "Web Dev Tools with Django & Wagtail", "description": "This meetup is for people who build awesome websites with Python or people who want to learn more about building awesome websites with Python. We'll have Jeff Triplett from the Django community and Meagen Voss from the Wagtail community to will provide overviews on their web frameworks. And we'll leave plenty of time for questions and for everyone else to share their favorite web tools too.\r\n\r\nFind out how we can build a newer better, Internet together with Python!", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/DjangoWagtail.png"}, {"room": "Room 316", "rooms": ["Room 316"], "room_display": "Room 316", "room_order": 4, "start": "2025-05-16T15:00:00-04:00", "end": "2025-05-16T16:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 117, "list_render": true, "title": "Gnu Radio/ Ham Radio", "description": "Python and RF nerdery.", "image_url": null}, {"room": "Room 309", "rooms": ["Room 309"], "room_display": "Room 309", "room_order": 1, "start": "2025-05-16T15:00:00-04:00", "end": "2025-05-16T16:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 104, "list_render": true, "title": "Python for Science & Research", "description": "Do you use python for scientific research studies? \r\n\r\nI am a biomedical research engineer at the University of Pittsburgh and use python for building systems to run experiments for neurotechnology clinical trials (including brain-computer interface research). This is an open discussion and meetup for fellow researchers, scientists and engineers in academia. Stop by to talk about code, science, Pittsburgh, or just wish me a happy birthday!", "image_url": null}, {"room": "Room 320", "rooms": ["Room 320"], "room_display": "Room 320", "room_order": 7, "start": "2025-05-18T15:00:00-04:00", "end": "2025-05-18T16:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 194, "list_render": true, "title": "\ud83d\ude80 Vim & CLI Power Users \u2013 Let's Share Tools!", "description": "We\u2019re gathering our favorite Vim plugins and command-line tools \u2014 from productivity boosters to hidden gems.\r\n\r\n\ud83d\udee0\ufe0f What\u2019s in your toolkit?\r\nDrop your must-haves in the comments or join the conversation!", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/vim.png"}, {"room": "Room 308", "rooms": ["Room 308"], "room_display": "Room 308", "room_order": 0, "start": "2025-05-17T15:00:00-04:00", "end": "2025-05-17T16:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 149, "list_render": true, "title": "3d Printing", "description": "All things 3d Printing for nerds and newbs alike.", "image_url": null}, {"room": "Room 320", "rooms": ["Room 320"], "room_display": "Room 320", "room_order": 7, "start": "2025-05-16T15:00:00-04:00", "end": "2025-05-16T16:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 112, "list_render": true, "title": "Pythonic Music \ud83c\udfbc MIDI, Synthesis and more", "description": "Excited by music and what you can do with Python in the creative process?\r\nJoin us and talk about Python and MIDI, audio synthesis, and other related topics and experiences that you wish to share.  There\u2019s plenty of room for contributions in the Python space in these areas, in addition to plenty of tools to help.", "image_url": null}, {"room": "Room 315", "rooms": ["Room 315"], "room_display": "Room 315", "room_order": 3, "start": "2025-05-17T15:00:00-04:00", "end": "2025-05-17T16:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 88, "list_render": true, "title": "Python Typing: Improving Types in the ecosystem, 2025 typing survey and typing stubs", "description": "- Typing Survey for 2025: I\u2019m hoping we can do this again over the summer. What questions would you like to see included in this year\u2019s survey? How do we get more participation from non typing-enthusiasts.\r\n\r\n- Improving Ecosystem Types: We\u2019ve made steady progress typing Pandas and Numpy. How do we get more community involvement? \r\n\r\n- Type Stubs Plan by PyCon 2026: A plan for a plan. At the 2026 Typing Summit, can we have a plan to make the ecosystem of stubs more sustainable for maintainers and consistent for developers?\r\nWhat is the long term plan for typeshed?", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/typingsurvey.png"}, {"room": "Room 309", "rooms": ["Room 309"], "room_display": "Room 309", "room_order": 1, "start": "2025-05-17T15:00:00-04:00", "end": "2025-05-17T16:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 84, "list_render": true, "title": "RobotPy: Python for the FIRST Robotics Competition", "description": "RobotPy is a volunteer project that maintains Python libraries that high school students can use to control their robots in the FIRST Robotics Competition (and FIRST Tech Challenge starting in 2027).\r\n\r\nThis turns out to be a lot of work and encompasses a lot of different skillsets: pybind11/nanobind, native packaging and cross-compilation, pytest customization, translating from Java/C++ to Python, github actions, documentation, vscode extension development, maybe asyncio/NoGIL, and more.\r\n\r\nDo you work with (or are your kids in) a FIRST Robotics Team? Are you interested in leveraging your python skills to benefit STEM education? I don't have anything specifically planned for this time but stop by and chat with me!\r\n\r\nhttps://github.com/robotpy for more information about RobotPy", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/robotpy.png"}, {"room": "Room 308", "rooms": ["Room 308"], "room_display": "Room 308", "room_order": 0, "start": "2025-05-16T15:00:00-04:00", "end": "2025-05-16T16:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 66, "list_render": true, "title": "Data Engineering Meetup: PyCon 2025", "description": "Get ready for an engaging hour as we dive into all things data engineering.\r\n\r\n\u200bChat data engineering, connect with peers and throw down some hot takes.\r\n\r\n\u200bDon\u2019t miss this great opportunity to learn, network, and unwind with the community!", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/dagster-primary-horizontal.jpg"}, {"room": "Room 321", "rooms": ["Room 321"], "room_display": "Room 321", "room_order": 8, "start": "2025-05-18T15:00:00-04:00", "end": "2025-05-18T16:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 182, "list_render": true, "title": "Caliban Book Shop", "description": "I found this great used bookstore last year and invite anyone interested to visit it with me again this year!\r\n\r\nMeet by the info desk. Located approximately 3.5 miles from the convention center, in the Oakland neighborhood. We will take Lyft/s to get there unless enough people with cars are willing to drive.", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/Caliban-drawing-only-trans-1920-1024x721.png"}, {"room": "Room 316", "rooms": ["Room 316"], "room_display": "Room 316", "room_order": 4, "start": "2025-05-17T15:00:00-04:00", "end": "2025-05-17T16:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 93, "list_render": true, "title": "DuckDB <3 Python", "description": "Like SQL and Python? Join us! \r\nLike DuckDB? Join us!\r\n\r\nHow do you combine SQL and Python? Let's learn from each other and share our SQL \"war\" stories.", "image_url": null}, {"room": "Room 318", "rooms": ["Room 318"], "room_display": "Room 318", "room_order": 5, "start": "2025-05-18T15:00:00-04:00", "end": "2025-05-18T16:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 198, "list_render": true, "title": "Python for Climate Tech", "description": "Calling all climate-curious Pythonistas! Whether you're building tools to fight climate change, wrangling data for a greener future, or just wondering how Python fits into the climate tech puzzle, we\u2019d love to hang out!", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/1ipTWbA7z80PYFjI1Od6Olw.png"}, {"room": "Room 320", "rooms": ["Room 320"], "room_display": "West Atrium", "room_order": 7, "start": "2025-05-17T15:45:00-04:00", "end": "2025-05-17T17:00:00-04:00", "duration": 4500, "kind": "open-space", "section": "open-spaces", "conf_key": 54, "list_render": true, "title": "Juggling!", "description": "Come juggle with us! No experience necessary, we will teach you. Or bring your awesome skillz. Bring props if you have them.  We will have beanbag balls to use.", "image_url": null}, {"room": "Room 308", "rooms": ["Room 308"], "room_display": "Room 308", "room_order": 0, "start": "2025-05-16T16:00:00-04:00", "end": "2025-05-16T17:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 55, "list_render": true, "title": "Tea with Cheuk", "description": "Come have English tea and biscuits with Cheuk. Let's talk about Python, community and PyCharm over an aromatic brew. Everyone is welcomed to my tea party.", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/Untitled_design_3.png"}, {"room": "Room 315", "rooms": ["Room 315"], "room_display": "Room 315", "room_order": 3, "start": "2025-05-17T16:00:00-04:00", "end": "2025-05-17T17:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 77, "list_render": true, "title": "Data engineering in Python the right way", "description": "Do you love Python but are stuck using SQL? Have you discovered tips and tricks for data engineering in Python that you want to share? Are there aspects of data engineering where you haven't found a good Python-native solution?\r\n\r\nIf you said yes to any of those questions\u2014or if you just want to hear what the community has to say\u2014come discuss the future of Python-first data engineering. Data engineers, data scientists, and anybody else who works with data are welcome.", "image_url": null}, {"room": "Room 308", "rooms": ["Room 308"], "room_display": "Room 308", "room_order": 0, "start": "2025-05-17T16:00:00-04:00", "end": "2025-05-17T17:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 122, "list_render": true, "title": "Songs for Europe", "description": "Come enjoy the beauty and the madness of the Eurovision Song Contest! All levels of appreciation welcome -- from first-time Eurovision-curious to serious year-long fans!", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/favicon_sOkBpjv.png"}, {"room": "Room 316", "rooms": ["Room 316"], "room_display": "Room 316", "room_order": 4, "start": "2025-05-17T16:00:00-04:00", "end": "2025-05-17T17:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 97, "list_render": true, "title": "ORM OMG!", "description": "When you think ORM, do you feel like \ud83d\ude29 or \ud83d\ude06?\r\n\r\nIf you're on either side (or in between) come and chat about your ORM experience. Also, we'll talk about a way to stop re-implementing similar database operations each time you start a new project.", "image_url": null}, {"room": "Room 309", "rooms": ["Room 309"], "room_display": "Room 309", "room_order": 1, "start": "2025-05-17T16:00:00-04:00", "end": "2025-05-17T18:00:00-04:00", "duration": 7200, "kind": "open-space", "section": "open-spaces", "conf_key": 61, "list_render": true, "title": "CKAN Community", "description": "Connect with fellow Comprehensive Knowledge Archive Network (CKAN) users, contributors, and newcomers for updates, lightning talks, and casual conversation. Whether you're deep into data or new to CKAN, stop by to share ideas and help shape what\u2019s next.\r\n\r\nCKAN Project Update - Ian Ward\r\nCKAN POSE Project Update - Jamaica Jones\r\nTexas Water Data Hub Overview - Ben Bright\r\nWestern PA Regional Data Center (WPRDC) Overview - David Walker\r\nAutomagical Metadata Inferencing from Raw Data - Joel Natividad\r\nOpen Discussion - 30 minutes\r\n\r\nCannot make it in person? Attend remotely at https://pitt.zoom.us/j/5363431963", "image_url": null}, {"room": "Room 318", "rooms": ["Room 318"], "room_display": "Room 318", "room_order": 5, "start": "2025-05-17T16:00:00-04:00", "end": "2025-05-17T17:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 107, "list_render": true, "title": "Board Games!!!", "description": "Come play board games! Bring a game to share or come learn a new one!", "image_url": null}, {"room": "Room 318", "rooms": ["Room 318"], "room_display": "Room 318", "room_order": 5, "start": "2025-05-17T16:00:00-04:00", "end": "2025-05-17T17:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 120, "list_render": true, "title": "Architecting in AWS Python+CDK. \u2601\ufe0f\u2795\ud83d\udc0d", "description": "Are you building, or interested in building AWS architecture using CDK? \r\n\r\nCome share your thoughts, troubles, tricks and triumphs! \r\n\r\nLet\u2019s discuss how to, or how not to, be pythonic about building with CDK.", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/IMG_1371.jpeg"}, {"room": "Room 320", "rooms": ["Room 320"], "room_display": "Room 320", "room_order": 7, "start": "2025-05-17T16:00:00-04:00", "end": "2025-05-17T17:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 114, "list_render": true, "title": "3D and Computer Vision Meet", "description": "Lets discuss the latest trends in 3D Reconstruction, Computer Vision, SFM, SLAM, etc and how we leverage Python.", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/DiffStudio.png"}, {"room": "Room 321", "rooms": ["Room 321"], "room_display": "Room 321", "room_order": 8, "start": "2025-05-16T16:00:00-04:00", "end": "2025-05-16T17:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 108, "list_render": true, "title": "Hike a bit of Three Rivers Heritage Trail", "description": "Meet at room 321, then leave for the hike promptly at 4:05pm.\r\n\r\nWe'll hike part of the Three Rivers Heritage Trail starting at the convention center and returning to the convention center. We can either go to Point State Fountain Park or Mr. Rogers Memorial based on popular vote.\r\n\r\nRain probability is 15% at 4pm, so odds are on our side \ud83d\ude00", "image_url": null}, {"room": "Room 321", "rooms": ["Room 321"], "room_display": "Room 321", "room_order": 8, "start": "2025-05-17T16:00:00-04:00", "end": "2025-05-17T17:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 101, "list_render": true, "title": "Help using Python types and getting Pyrefly type checking working in your IDE", "description": "The Pyrefly team will be available to answer questions about types in your code and packages your rely on. We can also help set up Pyrefly in your IDE and answer any questions you have about using the type checker.", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/Pyrefly-Symbol.png"}, {"room": "Room 308", "rooms": ["Room 308"], "room_display": "Room 308", "room_order": 0, "start": "2025-05-18T16:00:00-04:00", "end": "2025-05-18T16:40:00-04:00", "duration": 2400, "kind": "open-space", "section": "open-spaces", "conf_key": 202, "list_render": true, "title": "Ask a teenager anything! BRING MEMES!!", "description": "Ask a teenager anything within reason!\r\nWe are not all brainrot!\r\nAsk questions and talk to me!\r\nLearn brainrot!\r\n\r\nBRING YOUR BEST MEMES\r\n\r\n\r\nDisclaimer: the description is pretty satire but yea just ask me anything! No brainrot will be shown or talked about! \ud83d\ude03", "image_url": null}, {"room": "Elsewhere", "rooms": ["Elsewhere"], "room_display": "Phipps Conservatory", "room_order": 9, "start": "2025-05-18T16:00:00-04:00", "end": "2025-05-18T17:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 204, "list_render": true, "title": "Phipps Conservatory and Botanical Gardens Trip", "description": "Phipps Conservatory and Botanical Gardens is a public garden in Pittsburgh known for its historic glasshouse, themed plant exhibits, and commitment to sustainability. Founded in 1893, it features indoor and outdoor gardens, seasonal flower shows, and innovative green buildings. Phipps also offers educational programs and promotes environmental awareness through science, design, and community engagement.\r\n\r\nMeet at Phipps after the keynote! it is only open until 5pm today.", "image_url": null}, {"room": "Room 320", "rooms": ["Room 320"], "room_display": "Room 320", "room_order": 7, "start": "2025-05-16T16:00:00-04:00", "end": "2025-05-16T17:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 100, "list_render": true, "title": "Scaling Python: What's the secret sauce?", "description": "Have you or your team scaled a python-based service, are interested in doing so, or just curious? Let's talk tech stacks, ideas, and pitfalls! :)", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/e0FEls4q.jpg"}, {"room": "Room 318", "rooms": ["Room 318"], "room_display": "Room 318", "room_order": 5, "start": "2025-05-16T16:00:00-04:00", "end": "2025-05-16T17:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 96, "list_render": true, "title": "nanobind, pybind11 and other C++ binding libraries", "description": "Open forum for discussing popular libraries and approaches for exposing C++ code to Python.\r\nLet's share challenges, find out what's worked for others and brainstorm what would help us go further.", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/1000028376.jpg"}, {"room": "Room 316", "rooms": ["Room 316"], "room_display": "Room 316", "room_order": 4, "start": "2025-05-16T16:00:00-04:00", "end": "2025-05-16T17:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 67, "list_render": true, "title": "Neurodivergent Pythonista Social Space", "description": "Are you neurodivergent or questioning? Would you like to meet other friendly people at Pycon? You are welcome at the neurodivergent social space! It can be tough as a neurodivergent person to meet others at a large conference like Pycon, and not everyone may understand neurodivergent ways of socializing--this is our space to build some relationships!\r\n\r\nIf you would like, bring something that shows your personality or come willing to tell us what something about something you are interested in (personal or professional)! You don't have to share if you would prefer not to, and we still want you to come! But those who share will hopefully give us an opportunity to create some conversations and provide a bit of structure for those of us who thrive with some structure.", "image_url": null}, {"room": "Room 316", "rooms": ["Room 316"], "room_display": "Room 316", "room_order": 4, "start": "2025-05-18T16:00:00-04:00", "end": "2025-05-18T17:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 191, "list_render": true, "title": "The Writer's Nook", "description": "Interested in writing, or are you already a writer? Let's talk about all things writing: how to get started, where it's going, where to publish, writing books, and of course: \"will we be replaced by AI?\" The author Bruce Eckel will be there as well as any other writers who join and all can offer opinions and experiences.", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/robotwriters.png"}, {"room": "Room 318", "rooms": ["Room 318"], "room_display": "Room 318", "room_order": 5, "start": "2025-05-18T16:00:00-04:00", "end": "2025-05-18T17:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 201, "list_render": true, "title": "Python for Real Estate & Construction", "description": "Curious how Python is being used (or could be used) in the real estate or construction world? From data models and energy efficiency to proptech, project management, or generative design\u2014let\u2019s gather and swap stories, challenges, and ideas.\r\n\r\nWhether you\u2019re in the industry or just intrigued by the possibilities, come hang out with others exploring the intersection of Python and the built environment.", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/icon-crane-building-construction-crane-building-154570744.jpg"}, {"room": "Room 309", "rooms": ["Room 309"], "room_display": "Room 309", "room_order": 1, "start": "2025-05-16T16:00:00-04:00", "end": "2025-05-16T17:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 79, "list_render": true, "title": "Live Recording: AI in Education and CS classrooms", "description": "Join Kelly and Sean from the Teaching Python podcast for a live recording of the show! We want this to be an interactive session with YOU. Come share your experiences with AI in your classroom, teaching, or education content.\r\n\r\nYou are welcome to join to observe, participate, or stage a -hostile- gentle takeover of our post-production processes. :)", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/Screenshot_2025-05-16_at_8.27.40AM.png"}, {"room": "Room 320", "rooms": ["Room 320"], "room_display": "Room 320", "room_order": 7, "start": "2025-05-18T16:00:00-04:00", "end": "2025-05-18T17:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 193, "list_render": true, "title": "GDSFactory: Build the future of quantum and integrated circuit design \u2014 with Python.", "description": "\ud83d\ude80 GDSFactory is a Python library for designing chips \u2014 including Photonics, Analog, Quantum, MEMS, as well as PCBs and 3D-printable objects.\r\n\r\nOur mission is to make hardware design accessible, intuitive, and fun, empowering everyone to build the future of technology.\r\n\r\n\ud83d\udcbb Next week (Monday\u2013Thursday), we'll be sprinting on GDSFactory!\r\nJoin us on GitHub to discuss the open PyCon issue and contribute \u2014 whether it\u2019s fixing a typo, cleaning up code, or adding new features. Everyone is welcome!", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/black_bg.png"}, {"room": "Room 309", "rooms": ["Room 309"], "room_display": "Room 309", "room_order": 1, "start": "2025-05-17T16:00:00-04:00", "end": "2025-05-17T17:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 99, "list_render": true, "title": "Python, Electronics, datasheets, and component OCR", "description": "This open space is for those that are interested in electronics and organizing your electronics collection, come join an open space.  I will demo my working prototype, ic_ocr_cataloger and talk about my challenges.  Bring your stories, experience, and own interests to contribute to the conversation.", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/A0ACDF07-C53C-4CF2-94D8-1DBD025CADD7.jpeg"}, {"room": "Room 309", "rooms": ["Room 309"], "room_display": "Room 309", "room_order": 1, "start": "2025-05-17T17:00:00-04:00", "end": "2025-05-17T18:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 134, "list_render": true, "title": "The Red Cross and Other Humanitarian Organizations", "description": "Let's talk about the use of Python in different humanitarian aid contexts! Both internationally and domestically.", "image_url": null}, {"room": "Room 315", "rooms": ["Room 315"], "room_display": "Room 315", "room_order": 3, "start": "2025-05-18T17:00:00-04:00", "end": "2025-05-18T18:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 205, "list_render": true, "title": "Event sourcing", "description": "Let\u2019s talk about event sourcing", "image_url": null}, {"room": "Room 318", "rooms": ["Room 318"], "room_display": "Room 318", "room_order": 5, "start": "2025-05-17T17:00:00-04:00", "end": "2025-05-17T18:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 146, "list_render": true, "title": "Vim", "description": "Use Vim?  Neovim?   Just the bindings in those other editors?\r\n\r\nCome share your fancy macros, how you manage your vim wiki, and help the people just trying to quit.\r\n\r\nWe'll use https://leancoffee.org/ to organize the conversation:\r\n* write a post-it for what you want to talk about\r\n* put a check-mark on the post-its you'd like to cheer for\r\n..and we'll try to talk about topics in check-mark cardinality order!", "image_url": null}, {"room": "Room 308", "rooms": ["Room 308"], "room_display": "Room 308", "room_order": 0, "start": "2025-05-17T17:00:00-04:00", "end": "2025-05-17T18:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 103, "list_render": true, "title": "IT mullet: Business in the front, fursuit tail in the back", "description": "HI PYCON I'M TIMMY! I'm confused, is this anthrocon? Where's all the fursuits?\r\n\r\nFurry or curious? Just bored but not ready to go bar hopping or to your hotel? Wondering if it's okay to fursuit to your company Halloween party? Maybe discuss your experiences with overlapping furry hobbies and professional spheres. Network with other furries in the Python community.\r\n\r\nIntentionally scheduled soon before the bowling furmeet Saturday at 7pm at AMF Mt Lebanon lanes :3\r\n\r\nI'll have a bag of candy bars to hand out to ppl who show up until I run out!", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/us-big2.jpg"}, {"room": "Room 320", "rooms": ["Room 320"], "room_display": "Room 320", "room_order": 7, "start": "2025-05-17T17:00:00-04:00", "end": "2025-05-17T18:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 150, "list_render": true, "title": "Digital Nomads Open Space", "description": "Live to code, love to roam? Come connect at the Digital Nomads Open Space!\r\n\r\nWhether you work from caf\u00e9s in Lisbon, beaches in Bali, or your favorite local park \u2014 this open space is for anyone balancing a love of travel and remote work with Python and tech.\r\n\r\nShare tips on visas, gear setups, managing client time zones, and finding great WiFi. Whether you\u2019re a seasoned nomad or just curious about the lifestyle, join us for a casual chat with other wandering coders.", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/1000018954.png"}, {"room": "Elsewhere", "rooms": ["Elsewhere"], "room_display": "Meet *outside* room 315", "room_order": 9, "start": "2025-05-17T17:00:00-04:00", "end": "2025-05-17T19:30:00-04:00", "duration": 9000, "kind": "open-space", "section": "open-spaces", "conf_key": 168, "list_render": true, "title": "Climbing The Stack", "description": "We'll meet up and depart at 5:10pm to head to FA Climbing Station Square to boulder together. New and experienced boulderers welcome!", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/snake_T3a5zII.png"}, {"room": "Elsewhere", "rooms": ["Elsewhere"], "room_display": "Outside Hall B, or join the whatsapp group", "room_order": 9, "start": "2025-05-18T17:00:00-04:00", "end": "2025-05-18T17:20:00-04:00", "duration": 1200, "kind": "open-space", "section": "open-spaces", "conf_key": 200, "list_render": true, "title": "Food & Drinks", "description": "The conference might be wrapping up, but the conversations don\u2019t have to! If you\u2019re still around and looking to unwind, come join us for a casual post-PyCon dinner & drinks hangout in the city close to the venue (pay for your own food)\r\n\r\nEveryone\u2019s welcome\u2014whether you're flying solo or with friends, come hang out! \ud83d\udc0d\ud83c\udf7b\ud83c\udf2e (We will wait until 17.20pm and then head out to a dinner spot)\r\n\r\nGroup chat: https://chat.whatsapp.com/Is1AbXC5UP5DEXt6gvCeYv", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/IMG_3721_E9ktTQU.jpeg"}, {"room": "Room 308", "rooms": ["Room 308"], "room_display": "Room 308", "room_order": 0, "start": "2025-05-18T17:00:00-04:00", "end": "2025-05-18T18:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 203, "list_render": true, "title": "[Outing, see description] Ice Cream sprint", "description": "Come to have Mullie's ice cream with Cheuk, we will meet at the registration (or where it was) after the closing ceremony (after the Sprint project introductions). If you don't know what is a sprint that happens on Monday, come and Cheuk will explain it over an ice cream.", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/Untitled_design_5.png"}, {"room": "Room 321", "rooms": ["Room 321"], "room_display": "Room 321", "room_order": 8, "start": "2025-05-17T17:00:00-04:00", "end": "2025-05-17T18:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 155, "list_render": true, "title": "Finding 2.0 Support Group", "description": "Inspired by Marc Gibbon's Talk \"Finding 2.0\" (https://us.pycon.org/2025/schedule/presentation/158/) , in which he shared his personal journey with cancer and finding his own version 2.0, this open space is geared towards discussing how we can all share ideas about how we can find our version 2.0.", "image_url": null}, {"room": "Room 316", "rooms": ["Room 316"], "room_display": "Room 316", "room_order": 4, "start": "2025-05-17T17:00:00-04:00", "end": "2025-05-17T18:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 136, "list_render": true, "title": "Programmers Dilemma! A Game Theory Experiment", "description": "The game is simple. \r\n\r\nThe round ends when only one person is standing, The person with the most points wins. \r\n\r\nPeople will \u201cface off\u201d in pairs, count to three, and then display either a 1 or a 2. If you both display a 1, you both stay in the game and receive 2 points each.  \r\n\r\nYou cannot play the same player 2 times in a row. \r\n\r\nIf you display a 2 you knock the other player out and receive 4 points. \r\n\r\nCome in with or without a strategy. Perhaps make teammates and plan a strategy together.", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/IMG_6055.jpeg"}, {"room": "Room 315", "rooms": ["Room 315"], "room_display": "Room 315", "room_order": 3, "start": "2025-05-16T17:00:00-04:00", "end": "2025-05-16T18:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 71, "list_render": true, "title": "Enterprise Python Data Practitioners Roundtable", "description": "Are you a data scientist, engineer, or analyst using Python in your day-to-day work? This meetup is for you!\r\n\r\nJoin fellow practitioners for an hour of open conversation about the tools, trends, and challenges shaping enterprise data today. Bring your wins, challenges, and war stories: What are you building? What's keeping you up at night? What new tools or trends are you watching? Connect, learn, and exchange ideas with others navigating the ever-evolving Python data landscape!", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/Snowflake_Logo.png"}, {"room": "Room 315", "rooms": ["Room 315"], "room_display": "Room 315", "room_order": 3, "start": "2025-05-17T17:00:00-04:00", "end": "2025-05-17T18:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 169, "list_render": true, "title": "Song For Europe", "description": "Eurovision spillover!", "image_url": null}, {"room": "Room 309", "rooms": ["Room 309"], "room_display": "Room 309", "room_order": 1, "start": "2025-05-18T17:30:00-04:00", "end": "2025-05-18T19:00:00-04:00", "duration": 5400, "kind": "open-space", "section": "open-spaces", "conf_key": 147, "list_render": true, "title": "Pickleball", "description": "It's like tennis, but smaller. No previous experience or equipment required. We'll meet up in the room after the closing session, and go to a nearby park where there are courts.", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/istockphoto-1190885141-612x612.jpg"}, {"room": "Room 309", "rooms": ["Room 309"], "room_display": "Room 309", "room_order": 1, "start": "2025-05-16T18:00:00-04:00", "end": "2025-05-16T19:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 105, "list_render": true, "title": "Ensemble (mob) programming", "description": "If you know, you know.\r\nIf you don't know, then drop in and practice team coding using a timer (https://mobti.me) to rotate through three roles: Navigator, Driver, and Next.", "image_url": null}, {"room": "Room 308", "rooms": ["Room 308"], "room_display": "Room 308", "room_order": 0, "start": "2025-05-17T18:00:00-04:00", "end": "2025-05-17T19:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 166, "list_render": true, "title": "Plotly Data Visualization Meet & Greet", "description": "An open space to discuss Plotly, data viz, and data app development. We will also share info about the development sprint planned for Monday.", "image_url": null}, {"room": "Room 308", "rooms": ["Room 308"], "room_display": "Room 308", "room_order": 0, "start": "2025-05-18T18:00:00-04:00", "end": "2025-05-18T19:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 197, "list_render": true, "title": "More boardgames!", "description": "Bring your A game and maybe a game and we will be SET! Will have an assortment of game generes and lengths \ud83c\udfb2\u2665\ufe0f", "image_url": "https://pycon-assets.s3.amazonaws.com/2025/media/open_spaces_images/1000000025.jpg"}, {"room": "Room 310/311", "rooms": ["Room 310/311"], "room_display": "Room 310/311", "room_order": 2, "start": "2025-05-18T18:00:00-04:00", "end": "2025-05-18T19:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 192, "list_render": true, "title": "a worse ad-hoc intro to sprints", "description": "Sprints are cool! You should do them! \r\n\r\nCome as we try to explain sprints and answer questions without prior preparation or slides.\r\n\r\nMaintainers, please come and help explain it.", "image_url": null}, {"room": "Room 315", "rooms": ["Room 315"], "room_display": "Room 315", "room_order": 3, "start": "2025-05-17T18:00:00-04:00", "end": "2025-05-17T19:00:00-04:00", "duration": 3600, "kind": "open-space", "section": "open-spaces", "conf_key": 159, "list_render": true, "title": "Test Equipment Automation", "description": "Informal discussion among those of us who use Python (particularly PyVISA) to automate control of real-world electronic test equipment hardware (e.g oscilloscopes, power supplies, spectrum analyzers, etc.)", "image_url": null}]}