PyCon AU 2024
2024-11-22..2024-11-26
Melbourne, Australia
PyCon AU ·
[PyCon AU 2010, PyCon AU 2015 OpenStack Miniconf, PyCon AU 2016, PyCon AU 2016 Science and Data Miniconf, PyCon AU 2017, PyCon AU 2019, PyCon AU 2023, PyCon AU 2024, PyCon AU 2025, PyCon AU 2026]
who it's for
python developers, data scientists, Django developers, package maintainers, educators and teachers, devops engineers, researchers
topics
dependency resolution across Python and npm ecosystems; pyproject.toml packaging and publishing with hatch; Django REST and OpenAPI; embeddings and retrieval-augmented generation; causal discovery libraries in Python; MicroPython for microcontrollers; adding filesystem context to pathlib; automating Kubernetes operations for Python web apps; performant Python techniques; Jupyter notebooks for classroom RAG chatbots
| title | author | length |
|---|---|---|
| Dependency management: the cause of—and solution to—all supply chain problems | Nicky Ringland | 30m |
deps.dev shares hard numbers and tools: analysis across npm PyPI Maven Go NuGet and Cargo, a public API and BigQuery dataset, and examples of how npm yarn and… | ||
| "How Smart is AI? – Real projects to build real understanding" | Renee Noble | 32m |
Shows a concrete classroom project: a Python Jupyter notebook plus template that calls free GitHub Models via an API and a personal access token, or runs… | ||
| "Walking the Tree of Life – Adventures in Phylogenetics" | Jack Reichelt | 29m |
Builds an interactive cladogram explorer but runs into real constraints: integrated taxonomic information system spits many ambiguous common names and forces… | ||
| Let's make a working implementation of async functions in Python 2.1, also, why you might want to us | Christopher Neugebauer | 29m |
A working async implementation for ancient Python is actually constructed: a custom yield from backfill implements delegation, a minimal channels via yield… | ||
| "AI perceptions of gender" | J. Rosenbaum | 27m |
Claims that bias can be shifted but not erased, demonstrated by training DCGAN and progressive GANs with 3D-rendered masculine feminine and non-binary faces… | ||
| Three Django Apps in a Trenchcoat: Writing an event management website with not a lot of time | Matt Cengia, Luke Byrnes | 23m |
Built and deployed three Django apps in a trenchcoat: a Star Trek survival website, Brown SE registration tied to Scouts Victoria membership API, and Radio… | ||
| "Making an open source package - lessons learned" | Tennessee J Leeuwenburg | 32m |
Concrete lessons from building the open source package scores focus on what actually changed outcomes: using pyproject.toml for config, choosing hatch (but… | ||
| "Track Closing - Devoops" | Yaakov, Aurynn Shaw, Justin Warren | 05m |
Closing notes outline concrete logistics: lightning talks are five minutes with no slides, the evening has a poster session next door, and dinner is… | ||
| "Causal Discovery in Python" | Lizzie Silver | 26m |
Compares concrete Python packages on the altitude/latitude/temperature example and reports what actually works: causal-learn runs fast with a one-line API and… | ||
| ML ain’t your only hammer: adding mathematical optimisation to the data scientist’s toolbox | Jack Simpson | 19m |
Claims that mathematical optimisation complements ML and then shows it by formulating a model in Python, solving a knapsack example and handing the equations… | ||
| Introducing Potnia: A Python language library for the conversion of ancient texts to Unicode | Emily Tour, Kabir Manandhar Shrestha | 29m |
Potnia is an Apache‑2.0 Python library on PyPI that converts Romanized transliterations to Unicode using per‑script YAML mappings, tokenisation, regex rules… | ||
| Rethinking Data Catalogs: The Promise and Pitfalls | Harmeet Kaur Sokhi, Vishal Srivastava | 31m |
Claims that catalogs are frequently under‑used and duplicated across teams with 80% of people saying catalogs miss expectations and 82% reporting adoption… | ||
| "Using Multiple Databases in Django Applications" | Artem Kolesnikov | 30m |
Real project details: Django moves from one database to separate configurations and customer data databases because the quotes workflow drives ~85% of DB… | ||
| How to confirm that the index you added actually improves query performance | Suzannah Cooper | 29m |
Automatic btree index on a text field does not get used because Django ORM emits LIKE with leading and trailing wildcards so the planner chooses a parallel… | ||
| "Conference Closing (Saturday)" | Peter Hall | 02m |
Masks remain required and organizers thank sponsors and volunteers by name tier while calling out Linux Australia and the AV crew for keeping things running… | ||
| "First timers session" | Peter Hall | 14m |
Starts with actionable details: code of conduct applies to everyone, the safety team phone on the back of your badge is the contact for any concern, bathrooms… | ||
| "Better dataframes" | Ed Schofield | 30m |
Pandas is now framed as useful but aging, with pandas 2 supports optional Arrow backing as a partial fix. The survey compares concrete tools: Polars and DuckDB… | ||
| "How we used Python to try and save lives" | Anthony Baxter | 31m |
Claims concrete outcomes: Python back ends scrape and geocode messy feeds, an App Engine app finds
people and cars in days not months, and aggregated Honda… | ||
| "The perfect setup? Not setup.py! Building packages the right way" | Caleb Brown | 30m |
Argues to stop using setup.py with concrete malware examples showing arbitrary code execution during install and surprising vectors like registry changes and… | ||
| Follow the Postgres brick road: a journey of testing against a real database server | Huon Wilson | 30m |
Swapping SQLite tests for a real PostgreSQL server (run via Docker Compose) fixes type and dialect mismatches and moves test setup from fragile mocks to… | ||
| "Performant Python" | Anna Tisch | 28m |
Uploader describes an intro to writing performant Python and the work focuses on CPython profiling with cProfile and visualization with snakeviz plus timeit… | ||
| "Conference Opening (Sunday)" | Peter Hall | 17m |
Announces concrete conference rules and logistics: mask policy to enable access, safety-team phone on the badge and email for reports, all-gender bathrooms… | ||
| "Closing Address (Sunday)" | Peter Hall | 30m |
Wrap up lists exact results and next steps: 103 presentations, 62 talks, 14 Saturday lightning and 12 Sunday lightning, seven student talks, a first-ever… | ||
| "Conference Open (Saturday)" | Peter Hall | 22m |
Masks are required so attendees who otherwise couldn’t join can be present; safety team handles reports and enforces a code of conduct. Conference Wi‑Fi is… | ||
| "Turtles all the way down: Abstractions and when we should use them" | Mark Lakewood | 29m |
Presents a concrete model: three abstraction types — explain it better, sweep under the carpet, and reuse — with examples: using requests and kubernetes as… | ||
| "What Python Can Learn From Other Languages" | Noah Kantrowitz | 28m |
Covers concrete proposals and real examples: PHP-style autoloaders and file→URL deployment, Ruby symbols and blocks and Dart’s cascading operator for cleaner… | ||
| Setting Up Your Python Community for Success: Lessons from the Melbourne Python User Group | Renaldi Gondosubroto | 30m |
Clear, repeatable practices and outcomes: run lightning talks (5–15 minutes) alongside 30‑minute sessions for variety; keep a venue checklist (Wi‑Fi… | ||
| "Serpents and Ducks: wrangling data with Python and DuckDB" | Simon Aubury | 29m |
Demonstration shows DuckDB Python client ingesting varied file formats, integrating with Pandas/Ibis/Polars, and using the spatial extension to build a… | ||
| "Embeddings: How Computers Learned to Read" | Liam Bluett | 28m |
Shows that embeddings move from sparse co-occurrence matrices to neural 300-dimension vectors (word2vec) and then to context-aware BERT embeddings (2018), and… | ||
| Cultural and Linguistic Influences on Translation: A Study of Novels | Anneysha Sarkar, Eliz So | 30m |
The study measures concrete differences: average sentiment differs by 0.05 average sentiment difference between Spanish and English and Spanish shows greater… | ||
| "Time and Time Again" | Yaakov | 28m |
Concrete claims and code-level failures matter: calendar proposals like the 13‑month international fixed calendar add 364 weeks not 365, Hebrew months run… | ||
| "Lowering the Gangplank: How Writing Songs Relates to Templating" | Chelsea Finnie | 29m |
Claim: templating maps to songwriting by reusing melody, rhythm and rhyme as a template and inserting new lyrics as data. Shows pitfalls of line‑replacement… | ||
| "from seeds import plants: using IoT to grow healthy herbs" | Anthony I. Joseph | 28m |
Builds an automated system that actually grows alfalfa herbs and uses far less water: MicroPython on Raspberry Pi Pico W reads a capacitive soil moisture probe… | ||
| "Getting Started with Open Source Contributions" | Stefanie Molin | 27m |
The session lists five strategies to get started: join sprints and pair on tiny tasks, contribute added documentation examples (examples that reproduce… | ||
| "Wait, is Wi-Fi just blinking lights?" | Felipe Tavares | 29m |
Wi‑Fi is electromagnetic light at GHz wavelengths (2.4 GHz ≈ 8 cm, a long‑range variant ≈ 30 cm) encoded with quadrature amplitude modulation and packed into… | ||
| Where am I? What am I doing? Mobile App development in Python | Russell Keith-Magee | 30m |
Claim: a real phone app is buildable and runnable with Python that reads GPS and takes photos. It uses the BWare suite with Toga for native UI and Briefcase to… | ||
| "Adding File System context to pathlib" | Clinton Roy | 30m |
Claim: move file-system flags from verbs to Path objects so a Path carries case sensitivity and follow symlinks behavior. Prototype: ContextPath subclasses… | ||
| Teaching Digital Technologies in Australian schools with Python and the Kookaberry | Damien George, Julian Dinsdale | 29m |
A MicroPython-based learning platform built around a pocket-sized Kookaberry and a web coding environment targets years 5–8 across ~6,200 Australian primary… | ||
| "Notes on Over-Engineering: A Project Post-Mortem" | Sam Bishop | 31m |
A reusable Django app is built to provide shared-database multi-tenancy with automatic tenant-specific queryset filtering, thread-local tenant selection… | ||
| Transitioning from VB to Python – Mapping a 6 month journey | Pravin vaz, Carolyn Gekas | 31m |
Claims a six month roadmap to swap Visual Basic for Python across years 7–12 and to teach more computational thinking rather than just skills, backed by… | ||
| "MicroPython: The best bits!" | Matt Trentini | 30m |
MicroPython gives a live on-device REPL and real file system so iteration happens without rebuilds, and MP Remote mount lets a local VS Code repo act as the… | ||
| "Build Your Own IoT! Fun With Python and Raspberry Pi." | A.J. Fisher | 28m |
Builds a working live pipeline: a 1.5 V mini solar panel (~$20) wired through an ADC into a Raspberry Pi (≈$133) reading a voltage every second with nine lines… | ||
| "Who tests the testers? Making and testing pipelines" | Evan Kohilas | 28m |
Shows a concrete failure: a one‑character typo in rules caused a needed job to skip, not failing tests. Describes using gitlab validators and linters (they… | ||
| A Lazy Person's Guide to Building REST Clients or: How I Learned to Stop Worrying and Love Dunder Ov | Ash Bek | 24m |
Prototype overrides Python dunders to generate endpoints on demand: overrode __getattribute__ and __getattr__ and made instances callable via __call__, so… | ||
| "Data Morph: A Cautionary Tale of Summary Statistics" | Stefanie Molin | 32m |
Demonstrates that identical means medians and Pearson correlations can hide wildly different distributions and introduces Data Morph, an installable Python… | ||
| "DevOops Lightning talks" | Evan Kohilas | 36m |
A rapid back‑to‑back session of five minute talks enforces strict timing with an HDMI podium, a visible timer, and a last‑10‑seconds finger‑clap cue; overran… | ||
| "Track Closing - Education" | Amanda J Hogan, Nicky Ringland, Sally Gridley | 04m |
Track closing thanks presenters and hands out speaker gifts (mugs) with extras on hand, highlights the student showcase as a success, and explains a… | ||
| Track Closing - Scientific Python | Genevieve Buckley, Kai Striega, Paige Martin, Adam Graham, Charles Turner | 02m |
Session serves as the track closing and mainly gives logistics: a self-organized informal dinner tonight with suggested groups of four to six people… | ||
| "Track Opening - Education" | Amanda J Hogan, Nicky Ringland, Sally Gridley | 11m |
This opening lists concrete logistics and community norms: look for anyone with a red badge for safety, use the available quiet rooms if overwhelmed, and… | ||
| Track Opening - Scientific Python | Genevieve Buckley, Kai Striega, Paige Martin, Adam Graham, Charles Turner | 09m |
Overview of logistics and scope with concrete details: announces session blocks and rooms, a first timers session at 8:25, Discord and job board links, and… | ||
| "Projit: An Open Source Python Tool for Decoupled Data Science" | John Hawkins | 11m |
Projit is an open source python package that actually manages project metadata — datasets, experiments, executions, hyperparameters and results — with a local… | ||
| Failsafes and Safety Fails: How to crash a train and other lessons for software engineers | Jack Skinner | 31m |
A detailed postmortem of the Broady runaway traces 5264’s unintended movement, the POTS telemetry gaps, and the ATSB investigation that reconstructs a 16m33s… | ||
| "Quantifying Nebraska" | Adam Harvey | 26m |
Gives a concrete method for finding those tiny-but-critical projects rather than rehashing the trope: uses sift to generate an SBOM, correlates packages to… | ||
| "Student showcase" | Summer Saunders, Bryan Chong, Jun Muta, Zach Everett, Annabel Quach | 01h 40m |
A parade of student projects shows concrete claims tools and outcomes: a Wi‑Fi tamagotchi clones WPA handshakes on a Raspberry Pi and hits library… | ||
| Coding Competition Software VS Murphy's Law | Sanjin Dedic | 27m |
Builds a full stack event platform using React / FastAPI and SQLmodel ORM to host thousands of students, suffers a live crash during an event, then proves out… | ||
| Fast, highly effective database security using searchable encryption (without the yak shave) | Dan Draper | 31m |
Claims that encrypting every value with identity‑derived keys makes encryption act as access control and keeps SQL queries usable by adding searchable… | ||
| Switching to MongoDB: The challenges of translating database schemas | Katie Bell | 29m |
Claim: migrating from Postgres to MongoDB is often unnecessary and surprisingly hard but feasible with tooling. The team builds and demonstrates MongoDB… | ||
| Space Django: Migrating and Redesigning a Database while Hunting for Satellites. | Artur Baruchi | 31m |
A startup migrates a messy JSON-backed Postgres schema by copying rows with Django ORM into a redesigned relational schema, running as a CI-invoked management… | ||
| Commissioning tools at the Australian Synchrotron | Mel Makin | 32m |
Python code controls EPICS-backed positioners and detectors, stores Bluesky documents in a tiled database, and shows live and historical scans in a Dash GUI… | ||
| Track Opening - Devoops | Yaakov, Aurynn Shaw, Justin Warren | 11m |
Announces the Devoops track with concrete logistics: safety team wears red badge and can be contacted for incidents, restrooms and free hygiene baskets are… | ||
| Django, REST and OpenAPI - a gentle introduction | Paul Wayper | 26m |
Shows how to bolt an API onto an existing Django site using Django REST Framework and drf-spectacular, with concrete code: a ReadOnlyModelViewSet + router that… | ||
| Lightning Talks (Sunday) | Christopher Neugebauer | 01h 01m |
A rapid set of five‑minute reports hits concrete details: an art installation with 39 bells whose motor control is modeled in Python and tuned by SciPy… | ||
| Astronomy with Python, for non-astronomers | Andrew B. Williams | 28m |
Shows concrete recipes: use astropy Time and SkyCoord to get precise epochs and transform ICRS/GCRS to local altaz, use astroquery to fetch Vizier catalogs and… | ||
| Explore, annotate, and analyse multidimensional image data with napari | Juan Nunez-Iglesias, Draga Doncila Pop | 31m |
Displays arbitrary n‑dimensional NumPy or Zarr arrays with sliders and fast OpenGL tiles so a 213 GB chunked volume is browseable, overlays points… | ||
| Why UUIDs are Secretly Incredibly Fascinating | Tom Eastman | 29m |
UUIDs are decoded into actual designs not just vague topics: uuid v7 is 48 bits of Unix milliseconds then random bits and is monotonic with clock jitter… | ||
| From Keyword Chaos to Clarity: Conquering a Complex Systematic Review with Python | Edwina Mead | 29m |
Automates a scoping review workflow that starts from 25,000 academic abstracts and uses Python regular expressions plus NLP and the Gemini API to extract… | ||
| Simplifying Python Web App Operations: Automating K8s Ops with Open Source | David Andersson | 31m |
Deploys a simple Flask app to Kubernetes using concrete tools and live demos: creates production‑grade OCI image with rockcraft, shows Helm charts (namespace… | ||
| From minutes to seconds: Capillary auto-alignment with python and opencv | Emily Massahud | 27m |
Automated capillary alignment uses Python and OpenCV to turn camera frames into a binary midpoint line, fits slope with numpy polyfit, and drives a 5‑axis… | ||
| Keynote: The neglected art of a relevant benchmark and why you need one | Kendra Vant | 44m |
Argues that useful benchmarks save wasted compute and wrong projects, with concrete examples: teams launched 8 AI products for millions of users, training runs… | ||
| Verifying and evaluating scientific results with the open source package "scores" | Tennessee J Leeuwenburg | 25m |
An open source Python package called "scores" claims to verify labeled n‑dimensional data at scale and actually implements over 50 metrics with per‑metric… | ||
| Keynote: From Hypnotised to Heretic: Immunising Society Against Misinformation. | Linda McIver | 45m |
Smartwatches claim REM sleep while owner makes breakfast, wrist activity monitors show mean percentage error ~200–860%, and a Fitbit logs a swim during folding… | ||
| Lightning Talks (Saturday) | Christopher Neugebauer | 01h 16m |
Fourteen five‑minute bits that either show something concrete or just talk shop — pick the ones with a build, a number, or a tool you can reuse. Watch the bit… | ||
| Django on AWS for chump change | Luke Wiwatowski | 32m |
Shows how to run Django on real AWS services for pennies by replacing a load balancer with API Gateway, deploying containers via AWS CDK into ECS on fargate… | ||
| Looking back to move forwards: how educational literature can inspire new teaching strategies | Alison Wong | 28m |
Claims that three education concepts — the worked example effect, constructivist theory, and Bloom’s taxonomy — map to concrete classroom moves: deliberate… | ||
| As a Teacher. I have no Time to learn Programming - Streamline Assignment Marking with Python | Haggen So | 23m |
A set of Python scripts that populates per‑student Excel mark sheets from a CSV, validates scores, batch‑adjusts marks, collects results into a single… | ||
| How I Used Python to Stop Worrying & Love Emoji in Bioinformatics | Andrew Lonsdale | 24m |
Two concrete Python tools exist: FASTQE summarizes per-base Q scores as emoji and produces HTML reports that integrate with MultiQC and a Galaxy integration… | ||
| Enhancing Programming Ability with Playful Learning and Karel | Stephen Tierney, Alison Wong | 28m |
A set of Karel programming challenges runs as an extracurricular competition on the Ed LMS using a Karel subset of Python with automated marking and live… | ||
| nothing matches | ||