PyOhio 2024
2024-07-27..2024-07-28
Cleveland, United States
PyOhio ·
[PyOhio 2010, PyOhio 2012, PyOhio 2014, PyOhio 2015, PyOhio 2016, PyOhio 2018, PyOhio 2019, PyOhio 2020, PyOhio 2021, PyOhio 2024, PyOhio 2025]
who it's for
python developers, web developers, data scientists, machine learning engineers, devops engineers, site reliability engineers, bioinformatics researchers
topics
WebAssembly AI inferencing; PyO3 Rust extensions; pathlib file handling; Wagtail CMS with Django; Locust PostgreSQL load testing; pydantic complex type validation; asyncio by example; Kubernetes operations automation; JupyterLab bioinformatics extensions; Qiskit quantum computing; Discord bot development; dynamic C++ numeric integration
| title | author | length |
|---|---|---|
| "Keynote" | Steph Hippo | 38m |
Keynote gives concrete, actionable career playbook: a guided exercise to map out your career, list three people who helped and whom you help, and a four-part… | ||
| "Keynote: Brains Are Beautiful Liars" | Trey Hunner | 41m |
Brains constantly model the world and routinely misleads via cognitive shortcuts: shows sunk cost bias with a 30‑minute failed edit vs a <30‑minute re‑record… | ||
| "Keynote: Changelong" | Mariatta | 33m |
Argues that big non-code changes — the change long of processes, governance, docs and tooling — require the same proposals, reviews and records as code. Gives… | ||
| How to Do the Same Thing Over and Over Again and Yield Different Results | Jessica Garson | 28m |
Automates Elasticsearch index updates using GCP Cloud Functions + Cloud Scheduler to refresh time-sensitive datasets (example: Boston Celtics game results) and… | ||
| "Python ‹3 Rust" | Moshe Zadka | 28m |
Rust code implements a tiny validator that checks whether a character appears at least N times with optional reset on newline or space, compiled and exposed to… | ||
| "Wagtail: The Python CMS Taking the World by Storm" | Vince Salvino | 30m |
Wagtail is a Django‑based CMS that claims rapid growth and real-world use — NASA, Google Blogs, The Motley Fool and the NHS run public sites on it — and the… | ||
| "Hot: Pathlib, Not: String Paths" | Josh Schneider | 30m |
Live demo replaces os.path strings with pathlib Path objects showing concrete methods and results: creating paths (Path, PurePath, platform-specific… | ||
| "Serverless AI Inferencing Using Python and WebAssembly" | Shivay Lamba | 31m |
Demonstrates using Spin and the Python SDK (componenti_py) to compile Python handlers into WebAssembly components, build with spin build and deploy to a… | ||
| "Python + Discord = Great Bots!" | Alex Oladele | 33m |
Builds a dice-rolling Discord bot using the Pycord library and Discord slash commands, reading the bot token from environment variables, using async handlers… | ||
| Signal Processing in Electrochemistry with Python: Applications to the US Opioids Crisis | Rodrigo Silva Ferreira | 30m |
Cyclic voltammetry data are processed with scipy.signal Savitzky‑Golay smoothing, FFT decomposition, and db4 wavelet denoising to recover peaks obscured by… | ||
| "Building Vector-Symbolic Architectures with Python" | Fabio Cumbo | 27m |
Introduces hdlib, a Python library (GitHub and JOSS doi provided) that implements binary/bipolar hyperdimensional vectors, elementwise bind/permute/sum, and a… | ||
| "Stress Less: Easy Database Load Testing Using Python and Locust" | Miguel Johnson | 15m |
Uses Locust plus psycopg3 to send SQL directly to PostgreSQL instead of HTTP endpoints, instrumenting calls with Locust’s request event so response times and… | ||
| "Boosting Python Numeric Computations with Dynamic C++ Integration" | Mandar Deshpande | 25m |
Builds a C++ extension with pybind11 and a simple setup to compare identical for‑loop matrix multiplies called from Python, reporting a 79x improvement at… | ||
| "How to Use Static Typing in Python with Type Hints, MyPy and Pydantic" | Jack Bennett | 27m |
Demonstrates using type hints together with MyPy and Pydantic to catch real errors: MyPy performs static analysis and flags incompatible assignments (e.g… | ||
| "Zen Commandments" | Paul Hutchings | 25m |
The talk argues the Zen shaped Python by nudging design toward explicit is better than implicit and clearer intent, cites concrete milestones — original 1999… | ||
| "Data Science & Agile: Strategies for Working Together" | Alyssa Batula | 25m |
Data science and Agile collide over timelines, access, and measurement; concrete fixes include using research spikes or a month‑long proof of concept instead… | ||
| "Data Engineering: The World Between Worlds" | Rainu Ittycheriah | 25m |
One engineer's 5–6 year journey maps data engineering as the bridge between OLTP and OLAP, owning ingestion, transformation and serving cleaned features for ML… | ||
| Efficient Path Planning for Search and Rescue Missions Using Neural Networks | Keith Martin Machina | 29m |
A Python/Tkinter simulated robot generates a Amalgamated Cost Map (ACM) by merging static map features (road network, buildings, simplified slope) with dynamic… | ||
| "Boosting Neuroimaging Analysis and Results Digestibility 🧠" | Carlos A Aranibar | 27m |
Uses MNE Python to load varied EEG formats, run ICA denoising, and export concise visuals and stats; demos include data from a consumer Muse headband (8… | ||
| Mastering the Zen of Dev Experience: Kubernetes and the Art of Simplicity | Calvin Hendryx-Parker | 31m |
Opinionated open-source template called scaff generates a Django backend + Next.js frontend, pins deps with pip-tools, wires Postgres locally (CloudNativePG… | ||
| Simplifying Python Web App Operations: Automating K8s Ops with Open Source | David Andersson | 29m |
A simple Flask app is containerized two ways (handwritten Dockerfile and Canonical’s rockcraft) and deployed via Helm charts, fly.io, and Juju onto microk8s… | ||
| "A Confession of My Python Sins" | Jamie Bliss | 24m |
Thirty percent of a catalog of real hacks: operator overloading used for pathlike and dictset APIs, decorators that turn functions into registration or… | ||
| "Validating Complex Types Using Pydantic" | Daniel Schelkoph | 28m |
Shows how to turn typing metadata into runtime checks using Pydantic: use Annotated/TypeAlias plus Pydantic’s Field and after_validator to express constraints… | ||
| "What Django Deployment is Really About" | James Walters | 30m |
Breaks Django deployment into four concrete concerns: static files (use manage.py collectstatic, or middleware like WhiteNoise and CDNs, and serve uploads from… | ||
| "Snakes & Ladders: A Gentle Introduction to Generators and Iterators" | JR Rickerson | 27m |
Shows a working Snakes & Ladders implemented in Python that uses __iter__ and __next__ for the iterator protocol and yield and send for generators, with code… | ||
| Device Authorization Flow 101: Logging in From Input Constrained Devices | Jessica Temporal | 30m |
Explains device authorization flow by actually building a Micropython badge (Badge 2040) game that posts high scores: device requests a device code and user… | ||
| "So, I Got Some Code Working… Now How Do I Share It?!" | Elaine Wong | 23m |
Non-technical team copies 4–6 playlists daily into a Google Sheet; goal is one-click CSV export with proper metadata and secrets handled. Tests: Google Colab… | ||
| "Asyncio by Example" | Andrew Kubera | 30m |
Covers async/await basics to practical patterns using Python's asyncio (running on 3.12.4) with live Jupyter demos: explains futures vs coroutines, how… | ||
| "A Python Sequence (Un)Packing Primer" | Brian Costlow | 27m |
Explains that what looks like “multiple return” is actually tuple creation and unpacking, with the subtle rule that the comma makes the tuple and that nested… | ||
| "Quantum Computing with Qiskit in Galaxy" | Bryan Raubenolt | 30m |
Integrates Qiskit runtime into Galaxy to run hybrid variational algorithms that generate initial protein folds from an amino‑acid sequence, send circuits to… | ||
| "20 GOTO 10: How to Make Scrolling ASCII Art" | Al Sweigart | 22m |
Shows concrete programs called Zigzag, Starfield and Toggler that are implemented in Python using print() and loops, the random module, and time.sleep… | ||
| "Lightning Talks" | Er Ste | 01h 08m |
Quick hits and working demos: a dataset library provides declarative datasets with caching via decorators so intermediate steps run once and dependencies are… | ||
| Introducing Immortal Objects: Building Block Towards a Multi-core Python Runtime | Aditya Mehra | 31m |
Explains PEP 683’s concrete change: marking a small set of long-lived objects as immortal by setting a magic refcount 4294967295 (low 32 bits on 64-bit)… | ||
| Enhancing the JupyterLab Notebook to Overcome Bioinformatics Analysis Challenges with GiN | Jayadev Joshi | 26m |
A JupyterLab extension called GiN (Galaxy in Notebooks) connects to Galaxy via its API and renders actual Galaxy tool forms inside notebook cells so users can… | ||
| Evolve or Die: How I Stopped Avoiding and Starting Loving Python Upgrades | Ruby Henry, Ph.d. | 26m |
A tool called version up scans lockfiles and requirements.txt, flags deprecated stdlib modules and package imports, and estimates time to upgrade; demo shows… | ||
| 23, Python and Me: Using Machine Learning in Python to Analyze Consumer Genomics Data | Nathan Brouwer | 30m |
Shows exactly what files look like and the Python stack used: pandas/Polars for large text files, scikit‑learn PCA and classifiers, and simple preprocessing to… | ||
| "Technical Empathy" | Leon Adato | 33m |
Technical empathy means designing from the user’s perspective and verifying assumptions with concrete checks: provide alt text, captions, color‑blind… | ||
| nothing matches | ||