PyConline AU 2020
who it's for
data engineers, data scientists, web developers, Django developers, devops engineers, site reliability engineers, open source maintainers, educators
topics
Excel extraction with pandas and openpyxl; testing S3 with moto and LocalStack; sqlite and Datasette personal warehousing; GitHub Actions CI workflows; async Django ORM migration strategy; Streamlit interactive data apps; reproducible Python builds with Nix; dask-image distributed image processing; Docker image build optimizations; NumPy, CuPy and Pythran benchmarks; asyncio queues for resource serialization
| title | author | length |
|---|---|---|
| Extracting data from Excel with Python | Samuel Oranyeli | 24m |
Shows concrete methods to turn messy Excel into tidy data: reading specific sheets and ranges, collapsing pivot tables into long form, extracting cell metadata… | ||
| Taking Django's ORM Async | Andrew Godwin | 25m |
Django plans a staged conversion of the ORM to hybrid async: first user-facing async variants for model/manager methods (name-spaced separately, e.g. .a‑style… | ||
| 3 ways to test S3 in Python | Sanjay Siddhanti | 23m |
A tiny 20-line CRUD app stores recipes in S3 and tests run three ways: botocore stubs, moto, and LocalStack. Botocore stubs work but prove fragile and verbose… | ||
| Of Django, PostgreSQL schemas, and your multi-million dollar idea | Lorenzo Peña | 24m |
Django plus PostgreSQL schemas works but with concrete tradeoffs: packages like django-tenant-schemas and django-tenants implement a custom DB backend, migrate… | ||
| Build your own data warehouse for personal analytics with SQLite and Datasette | Simon Willison | 24m |
Concrete takeaways: use SQLite (single-file, ubiquitous, example photos.sqlite at ~856 MB) plus Datasette (web UI, editable SQL, JSON/CSV export, ~30 plugins)… | ||
| A sack full of angry snakes: Taming your python dependencies with Nix | Thomas Woolford | 24m |
Claims that Nix reproduces exact Python stacks by hashing full dependency closures and compiler toolchains, can pin channels to a commit for identical builds… | ||
| GitHub Actions & Python | Jack McKew | 23m |
Shows how GitHub Actions build, test and publish real Python projects: a YAML workflow in .github/workflows checks out code, sets up Python, runs pip installs… | ||
| The worst outage I never caused | Julien Goodwin | 29m |
A 2017 change comes one keypress from dropping Google's backbone after a magic-number mismatch in BGP policies. Root causes are obsolete config, no content… | ||
| Your Escape Plan From Numpy + Cython | Cheng-Lin Yang | 26m |
Custom one‑dimensional logsumexp benchmark compares pure NumPy, SciPy, CuPy, Numba and Pythran on real data and reports concrete timings: SciPy ~6.7 s, CuPy… | ||
| Queues - The Secret Sauce | Jeremy Rotstein | 15m |
Shows concrete patterns using asyncio queues to serialize access to a risky resource by confining the connection object inside a single handler task, with… | ||
| Streamlit - Build interactive data dashboards quickly | Jaimin Khanderia | 26m |
Streamlit lets you build interactive web apps with a few lines of Python and no JavaScript, using functions like st.write and widgets such as slider and… | ||
| Graph Databases will change your (freakin') life | Elena Williams | 26m |
Claim: labeled property graph DBs are mature and excel at cheap long traversals so you can build recommendation or fraud engines quickly. Tools shown include… | ||
| dask-image: distributed image processing for large data | Genevieve Buckley | 26m |
dask-image provides chunked lazy loading, ND filters, morphology and measurements that scale from laptop to cluster and can place chunk arrays onto the GPU via… | ||
| Ensemble-X: Your personal strataGEM to build Ensembled Deep Learning Models for Medical Imaging | Dipam Paul, Alankrita Tewari | 25m |
Ensemble combines DenseNet, InceptionV3 and a custom CNN with non-linear weights and training that freezes all but the final dense layers (freeze all layers… | ||
| Procedural Generation of Terrain | Suzanne Baxter | 11m |
Uses open simplex noise layered seven times on a 2D numpy heightmap, applies a circular gradient for an island, then carves mountain ranges by masking… | ||
| Introducing Lambda Calculus with Python | Indranil Ghosh | 20m |
Covers concrete implementations rather than theory: untyped lambda calculus encoded with Python lambda showing how to implement abstraction and application… | ||
| Cracking open the COVIDSafe | Yaakov Smith | 24m |
COVIDSafe’s claims meet code and evidence not slogans: Android and iOS builds reuse OpenTrace but fail to rotate temp ids reliably so temp id rotation is… | ||
| A Reflection on Software Testing | Richard Jones | 48m |
Argues that testing succeeds when tests target isolated behaviors not implementation, uses simple immutable doubles like pretend rather than magic mocks, and… | ||
| Speeding up Your Docker Image Build | Vladislav Supalov | 24m |
Five concrete tactics: avoid rebuilds when possible, reorder Dockerfile into an inverted pyramid so big slow layers stay low, and copy only requirements.txt… | ||
| Text files full of punctuation? There must be a better way to code. | Katie Bell | 25m |
Claim: code is a manipulable tree and editing is node add remove or reattach, demonstrated by a tim tams example and live VS Code edits parsed with ast.pars… | ||
| Stop Writing Tests! | Zac Hatfield-Dodds | 30m |
Argues to write fewer hand-crafted examples and automate the hard choices by generating and checking properties; shows using pip install hypothesis to write… | ||
| Staircase: fast analysis with step functions | Riley Clement | 25m |
A new open source Staircase package implements step functions as first‑class objects in Python and demonstrates real, working code in Jupyter (pip/conda… | ||
| Sunday Lightning Talks | Tishampati Dhar, Juan Morais, Peter Hall, Evan Kohilas, Kit Darko | 01h 16m |
Fourteen five-minute segments show what was actually done: a Spanish game‑dev Twitter bot (esgamedevbot with ~1,000 followers), a Python 2 SRF bypass… | ||
| What happens when you run manage.py test ? | Adam Johnson | 25m |
Examines Django's test lifecycle step by step: create test databases, migrate, run system checks, load and run tests, report results, destroy databases… | ||
| Model Selection with Python: An Introduction to Hyper Parameter Tuning | Patrick Robotham | 26m |
Claim: hyperparameter choice is itself a machine learning problem and can be automated. Uses concrete tools: xgboost model with an objective of mean squared… | ||
| The Hitchhiker's Guide to CLIs in Python | Vinayak Mehta | 23m |
Covers terminal origins (teletype/Model 33 to 1970s video terminals) and concrete termios tricks like turn off icannon to receive characters immediately and… | ||
| What We Do in the Shadows | Lilly Ryan | 22m |
Claims that blanket bans fail and that personal AWS accounts, Dropbox or Google Drive shares, WhatsApp groups and a free official Slack instance are common… | ||
| How a major museum runs on Python | Greg Turner, Ali Haberfield, Simon Loffler | 27m |
A museum runs a distributed Python stack: 350+ Raspberry Pi devices as media players and label screens, Balena OS and Docker for deployment, a Django-based XOS… | ||
| What happens behind execution of an `import` statement? | Shivashis Padhi | 26m |
Explains the step‑by‑step mechanics: a sys.modules check short‑circuits if present, otherwise the importer walks sys.meta_path calling find_spec until a finder… | ||
| DevOps for Data Science? - automate the boring stuff and leverage the OSS ecosystem | Tania Allard | 29m |
Argues that adopting MLOps automates data transformation, model training, testing, validation and deployment by wiring version control, CI/CD and cloud compute… | ||
| Can you keep a secret? | Aaron Bassett | 27m |
Median discovery time for leaked keys is 20 seconds and worst-case testing hit about four minutes, so assume immediate compromise. Practical fixes shown: keep… | ||
| Using Jupyter Notebooks to Empower the Public with Environmental Data | Maalvika Bhat | 14m |
Jupyter notebooks run in Google Colab query a copied EPA ECHO database hosted at Stony Brook and updated every two weeks so records survive deletion attempts… | ||
| At The Root : Wagtail + Gatsby + GitPod | Dawn Michelle Wages | 28m |
Claims that a headless Wagtail backend plus a Gatsby frontend and GitPod dev environments can let one whip something up quickly for small clients while keeping… | ||
| Hacking Playable Ads: What REALLY are they? | Evan Kohilas | 24m |
Examines real experiments intercepting Unity-based mobile ads over HTTPS using mitmproxy on a Raspberry Pi, reads auction JSON and mraid responses, and… | ||
| Interactive Mapmaking with Python | Sangarshanan | 26m |
Shows actual code paths and limits: geopandas -> GeoDataFrame plotting, then examples with folium (GeoJson, marker clusters, heatmaps) and where browser DOM… | ||
| Practicality Beats Purity: The Zen of Python’s Escape Hatch? | Christopher Neugebauer | 28m |
Argument: practicality beats purity by showing concrete tradeoffs and small hacks that work. Demonstrates that decorators can replace callables with non… | ||
| Journey into the Deep World of Web Development | Andrew Kim | 19m |
Takes Django and Python seriously: chooses Django and Python, spends four days on the official tutorial and still feels lost, then learns tools (virtualenv… | ||
| Python for Accessibility | Rory Preddy | 24m |
Argues that designing for everyone produces innovation, cites one billion people with accessibility needs and three billion including family, and shows… | ||
| Decoding: programming beyond text files | Nick Moore | 22m |
Argues that editing and merging should work on syntax trees not lines, demonstrates an AST editing workflow using Python's ast module, and describes a… | ||
| Under and Dunder - Python secret functions | Cheuk Ting Ho | 16m |
Shows how Python reveals hidden methods by uses dir to inspect dunder methods and demonstrates concrete effects for __getitem__, __iter__ and __next__… | ||
| Rube Codeberg Competition | Lilly Ryan | 38m |
Seventeen entries compete under tight rules: print "hello world", import and use Beautiful Soup, run in Python 3 and stay under 199 lines. Submissions include… | ||
| Publishing well-formed Python packages | Julin S | 25m |
Lists the concrete tools and outcomes: use pylint or black for style, mypy for typing, vulture to find dead code, pytest and coverage.py for tests, and tox/nox… | ||
| The art of categorical encoding for Tabular data problems | Shubh Chatterjee | 24m |
Compares concrete encoders on the Titanic dataset with code and a notebook, using category_encoders and a simple logistic regression pipeline; one‑hot yields… | ||
| A website controlled Lego Robot using the Raspberry Pi | Brad Nielsen | 25m |
A website‑controlled LEGO robot replaces the EV3 brick with a Raspberry Pi via BrickPi so 26 students over a 10‑week IoT task build web interfaces, mapping and… | ||
| Tweaking the rise and fall of empires and economies | Bosco Ho | 27m |
Implements Lotka‑Volterra, SIR, Keen and Turchin models in Python, packages them as modeldrop.io, and wires a Dash UI to tweak parameters live. Uses scipy’s… | ||
| The Art of Micropython- using Python to create award winning art | Peter van der Burg | 28m |
A 600×600 mixed‑media piece uses four Fibonacci PCB forms, driven by a hobby servo and about 70 NeoPixels, with control split across MicroPython on ESP8266… | ||
| Opening Keynote: MirrorWorld | Heidi Waterhouse | 58m |
Keynote argues that Pythonistas already build practical civic infrastructure and must scale it: PyData and Jupyter for accessible statistics, the responsible… | ||
| What The GIL Means For Containers | Noah Kantrowitz | 15m |
Argument: the GIL rarely blocks container deployments if infrastructure uses single process with thread-based workers and tuned replicas versus threads… | ||
| Ensuring Black voices matter: Why your voice assistant is racist, and what we can do about it | Kathy Reid | 27m |
Claim: automatic speech recognition shows word error rate almost double for Black speakers (Stanford analysis), and cloud text‑to‑speech APIs offer no… | ||
| How learning python helped me teach C in tertiary education | Shrey Somaiya | 25m |
Claim: Python experience both speeds and misleads C learning. Shows actual artifacts: dcc compiler error messages, C code examples with typed variables… | ||
| Getting Over the Boring Stuff Quicker - Building a Semi-Automated Speech Audio Annotation Tool | Xin Liang | 25m |
A semi-automated pipeline uses Mozilla DeepSpeech plus optional Google speech to text API, segments audio with voice activity detection, and runs a Flask… | ||
| Piping Rain in Python - Adventures in a minute latency Radar Pipeline | Tishampati Dhar | 28m |
A passive radar pipeline is built from an SDR and Intel NUC feeding images into S3 and DynamoDB, processed by small Python services (Flask, OpenCV… | ||
| This Talk Has Been Disabled | Dawn E. Collett | 56m |
Concrete failures and fixes, not theory: notes on broken UI (create button cut off in Confluence), autoplay videos and inaccessible ads that break screen… | ||
| On a shoe-string and a t2.small: scaling on a [zero] budget. | Tom Eastman | 28m |
A small Django/Flask side project called secateur runs on a reserved t3.small and struggles at 250k–2M block actions per day because Amazon EBS throttles when… | ||
| What I now know about HAproxied Django DB connections, and wish I'd known sooner | Florian Haas | 24m |
If Django talks to a Galera MySQL/MariaDB cluster through HAProxy the default timeout client = 50s often causes MySQL error 2013 “Lost connection to MySQL… | ||
| geospatial data and analysis is :exploding_head: | Gala | 26m |
Geospatial work is hard but practical: expect concrete tips on file formats and WKT, a debugging checklist (check CRS, simplify or explode multi-geometries… | ||
| So what is this time thing anyway? | Sam Bishop | 15m |
Timeline claims that the second is now defined by cesium‑133 hyperfine transitions (1967) and that UTC is TAI minus an offset adopted 1972, with two leap… | ||
| Making Codebases Easier to Learn and Maintain | Tennessee J Leeuwenburg | 25m |
Shows concrete changes: docstrings that state purpose and why not just parameters, repo layout that pull tests out of source and separate interface from… | ||
| Engineers to Data-Scientists with Python | James Schulte | 27m |
A MATLAB monolith with 50,000 lines and zero tests migrates incrementally to Python using Docker, AWS Batch/ECS, S3 and Airflow while calling between MATLAB… | ||
| Oh no! I think my project is outgrowing my Jupyter notebook. How do I survive? | Lydia Peabody | 29m |
Notes say notebooks work great for exploration but cause namespace pollution and hidden state; hitting the restart and run all big red button clears that. Long… | ||
| Why the float did it NaN? | Jakub Nabaglo | 27m |
Explains why floating point representation produces NaN, Inf, and silent underflow/overflow by showing memory layout and examples where subtraction of… | ||
| Biometric Unsecurity | Carina C. Zona | 01h 00m |
Claims that biometrics equal security collapse into specifics: vendor and government systems use face, fingerprint, iris, vein, gait, ECG/EEG and thermal… | ||
| Raising Heretics | Linda McIver | 25m |
Argues that data science education must teach survivorship bias and deliberate skepticism by using real datasets and measurable outcomes not toy exercises… | ||
| The Software Engineering Part of Data Science | Niño R. Eclarin | 26m |
Recommendations are concrete: use Docker for notebooks and one credential per data scientist, enforce pre-commit hooks (flake8, pylint), and manage dev vs prod… | ||
| Wearing Your Python, and Making It Sing Too! | Rowena Stewart | 20m |
A wearable project built around the Circuit Playground Express stitches 10 Neopixel LEDs, the onboard speaker on A0, and 7 capacitive pads into a tote using… | ||
| I don't need friends, I can build my own | Sarah Levins | 24m |
Builds a retrieval‑based travel recommender in Python using tokenizers, nltk and scikit‑learn prototypes then migrates to rasa for intents, entities, slots and… | ||
| Oops! I Became an Open Source Maintainer! 😱 | Mariatta | 40m |
First contribution in 2016 leads to commit rights to CPython and to python.org; work focuses on documentation, issue triage, and reviewing PRs rather than… | ||
| Panel Discussion: Ethical AI - From talk to practice | Nigel Dalton, Fiona Milne, Arna Karick, Lizzie Silver | 26m |
Panelists move from rhetoric to concrete practice: building an ethics practice at Whisper that must balance crisis alerts, one‑time passwords and marketing… | ||
| Technosolutionism and human rights | Lucie Krahulcova | 33m |
Examines concrete failures and fixes: COVID-19 contact-tracing prototypes and Bluetooth API changes that trade location nuance for broad proximity signals… | ||
| Deceptive Security using Python | Gajendra Deshpande | 19m |
A Python deception stack implements WebTrap and DemandHunter to serve cloned login pages and honeynets, plus a classifier built with PyBRAIN LSTM modular… | ||
| Walled gardens for growing students | Kenni Bawden | 26m |
Argues that environments sit on a walled‑garden ↔ open‑plain spectrum and that teaching works by moving students along it. Shows concrete pipeline: Python… | ||
| All Hands on Deck – Handling Security Issues | Markus Holtermann | 12m |
Provides a concrete incident playbook and a coordinated disclosure checklist that specify step-by-step roles for engineering, legal, communications, sales and… | ||
| Python Emergency Remote Teaching | Fernando Masanori | 19m |
During COVID lockdown a traditional programming course becomes a flipped, cellphone‑first MOOC with 4‑minute videos, Microsoft Teams and Discord for… | ||
| Outbreak Outreach - How COVID broke our program for the better | Renee Noble | 27m |
Conference program describes moving GPN workshops online and reports concrete results: an MVP built with Zoom breakout rooms, Grok Learning for exercises and… | ||
| nothing matches | ||