PyCon UK 2022

To see our schedule with full functionality, like timezone conversion and personal scheduling, please enable JavaScript and go here.
11:00
11:00
30min
Friday Welcome Session

Welcome

Assembly Room
11:30
11:30
60min
Unexploded Bombs
Hannah Hazi

Find the flaws in your codebase ... before they explode

Assembly Room
13:30
13:30
90min
Creating your first documentation site for your Python code
Olga Matoula, Aya Elsayed

You have built an awesome API; time for some exposure! How do you keep a documentation website up-to-date as your code evolves? This workshop teaches you how to write, generate, host, automate and version your documentation easily so it becomes part of your software development life cycle.

Room B
13:30
30min
Exception Groups and except*
Irit Katriel

Python 3.11 introduces new features that make it possible to raise and handle multiple unrelated exceptions. This talk briefly covers what they do and how they work, and answers a frequently asked question: why we needed to add new language syntax to handle exception groups.

Assembly Room
13:30
90min
Introduction to Data Analysis Using Pandas
Stefanie Molin

Data often doesn’t come in the best format for analysis, and understanding it enough to extract insights requires both time and the skills to filter, aggregate, reshape, and visualize it. This session will equip you with the knowledge you need to effectively use pandas to make this process easier.

Room A
13:30
90min
Training, Deploying, and Running a ML model using Python and Snowpark
Dash Desai

In this session, we will train a ML model to predict ROI of variable advertising spend budgets across multiple channels including search, video, social media, and email using Snowpark for Python and scikit-learn.

Room C
14:00
14:00
30min
Fish and Chips and Apache Kafka®
Tibs

Apache Kafka® is the de facto standard in the data streaming world for sending
messages from multiple producers to multiple consumers, in a fast, reliable
and scalable manner.

Come and learn the basic concepts and how to use it, by modelling a fish and
chips shop!

Assembly Room
14:30
14:30
30min
PyScript and my journey to the Web
Scott Irwin

While PyScript is not yet ready for production use, it has provided an opportunity for a back-end Python developer like me to learn more about front-end web development. This talk chronicles how I used PyScript in my journey to better understand how to build web applications in Python!

Assembly Room
15:00
15:00
30min
It's Your Call(able): a tour of Python's callable (function) interface
Dom Weldon

A deep dive into python functions and the callable interface. We take a tour into everything that happens on on a “def” line and when you call the resulting function. We'll also explore how to harness detailed function metadata, and how to hack the decorator pattern.

Assembly Room
16:00
16:00
30min
I hate writing tests, that's why I use Hypothesis
Cheuk Ting Ho

Ok, I lied, I still write tests. But instead of the example-based tests that we normally write, have you heard of property-based testing? By using Hypothesis, instead of thinking about what data I should test it for, it will generate test data, including boundary cases, for you.

Assembly Room
16:30
16:30
30min
How to wag a dog
Daniele Procida

Dogs wag their tails. When the opposite happens, it represents a disturbing, problematic reversal of the proper order. But not in software and its documentation! I believe the tail of documentation can and should wag the dog of software, and I'll show just how powerful this tail can be.

Assembly Room
17:00
17:00
60min
Friday Lightning Talks

Lightning Talks

Assembly Room
09:00
09:00
30min
Saturday Welcome Session

Welcome

Assembly Room
09:30
09:30
60min
Do not trust my [or any] computational research.
Vincent Knight

In research, peer review is considered a pillar of trust. This is problematic. A lot of research is, at best, not reproducible or, sometimes, even wrong, despite peer review. This talk will discuss the origins of peer review, problems with peer review and some things that could be better.

Assembly Room
11:00
11:00
90min
Build an automated watering system
Astrid Novicky

In this workshop we will use a Raspberry Pi, a relay, a pump and a battery to build a watering system from scratch. I built this system during the pandemic, in the hope my plants would survive after being allowed to travel again.

Room B
11:00
90min
Bulletproof Python – Property-Based Testing with Hypothesis
Michael Seifert

Property-based testing is a great benefit to the robustness and maintainability of your software. Yet, the technique is still vastly underused in the Python community. The workshop gives a hands-on introduction to Hypothesis and practices different approaches for writing property-based tests.

Room C
11:00
90min
Getting started with Apache Airflow
Tatiana Al-Chueyr, Kaxil Naik

Learning Apache Airflow may seem daunting for those adventuring in the data world. This workshop aims to save engineers and scientists time. By the end of this session, attendees will have written two workflows which solve practical problems, running them locally and deploying them in a production-like environment.

Room A
11:00
30min
Using python to create a prototype for web accessibility research
Peter Johnson

According to the WHO over 1 billion people live with some form of disability; almost everyone is likely to experience some form of disability at some point. This talk discusses the importance of web accessibility and how I used python to develop a tool that ensembles multiple accessibility evaluation tools.

Assembly Room
11:30
11:30
30min
Living With Technical Debt: Acknowledge It, Specify It, Reduce It
Reka Horvath, Tim Gilboy

Technical debt is the elephant in the room: complex engineering problems meet awkward organizational issues. To make it more tangible, we'll divide it into 3 categories and discuss engineering and business strategies for each:

  • Gather info about vague issues.
  • Express antipatterns as code.
  • Automatically fix straightforward issues.
Assembly Room
12:00
12:00
30min
Meta Generators: Playing Safe with Long Sequences
Alastair Stanley

Let’s take a closer look at generators and why you may not be getting your expected improvements. Sometimes the memory benefit is negated by necessity; sometimes it's by mistake. "Meta generators" can solve this problem, allowing a much wider range of safe, fast operations on very large generators.

Assembly Room
12:30
12:30
30min
HPy: a better C API for Python
Ronan Lamy

HPy is a new C API for Python. Unlike the standard one, it isn't tied to CPython implementation details. It is therefore fully compatible with alternate implementations and with any future changes to CPython itself.

Assembly Room
14:00
14:00
90min
Coders: The Next Generation
Sarah Townson

Interested in running activities with young people, but unsure where to start? In this workshop you’ll hear some expert tips from educators, then work in groups to develop your concepts into accessible outreach activities!

Room A
14:00
90min
Intro to FARM Stack: FastAPI, React & MongoDB
Mark Smith

FastAPI is an asynchronous Python web framework that is "performant, easy to learn, fast to code & ready for production; React is one of the most popular JavaScript frameworks; and MongoDB is a database that stores JSON-like data. Let's build an app to put them all together!

Room C
14:00
30min
Property-Based Testing the Python Way
Emma Saroyan

What if I told you that you could write simpler tests but get better results?

What if I told you can automatically generate your test data?

This may sound difficult to your traditional testing approach but can be easily done with Hypothesis, the Python library used for property-based testing.

Assembly Room
14:30
14:30
30min
Giving Python to non-developers: A real-life story
Philippe Masson, Rita Kesrouani

Learn how JPMorgan gave access to Python to hundreds of non-developers: what infrastructure was required, what training was given and how to shift the culture. Lessons learnt from the human side of Python.

Assembly Room
15:00
15:00
30min
An introduction to async programming - Writing a Telegram Antispam Bot in Python
Marc-André Lemburg

Learn how easy it is to get started with asynchronous programming in Python.

The talk will provide a quick introduction to the basic concepts of async programming and demonstrate the techniques based on a Telegram antispam bot using the async library Pyrogram.

Assembly Room
16:00
16:00
30min
Vectorise all the things! How basic linear algebra can speed up your data science code
Jodie Burchell

Do you feel like your data science code is horribly inefficient, but you don’t know how to make things faster? Fear not! In this talk, we’ll speed up some common operations using tricks from linear algebra - all within the comfort of the Python ecosystem.

Assembly Room
16:30
16:30
30min
Rapid prototyping in BBC News with Python and AWS
Ben Nuttall

BBC News Labs is an innovation team within BBC R&D, working with journalists and production teams to build prototypes to demonstrate and trial new ideas for ways to help journalists or bring new experiences to audiences. We make use of modern cloud technologies to accelerate delivery and reduce friction.

Assembly Room
17:00
17:00
60min
Saturday Lightning Talks

Lightning Talks

Assembly Room
09:00
09:00
30min
Welcome & UKPA AGM

Welcome

Assembly Room
09:30
09:30
30min
Alternative History Retrocomputing
Peter Russell

Python is a very high-level programming language. I've been using it for very low-level programming. We'll meet an unusual computer.

Assembly Room
10:00
10:00
30min
Visualising large datasets: everyone in the UK Census
Ian Thomas

Visualising large datasets requires care and specialised tools to understand both the big picture and the fine details. This talk uses Datashader to visualise the location and demographics of everyone in the UK. Expect beautiful plots and interesting things to learn about both the tools and the data.

Assembly Room
11:00
11:00
90min
Introduction to Diátaxis
Daniele Procida

Over the last year, the Diátaxis documentation framework has taken off in popularity. This workshop provides a brief introduction to the framework, and includes a number of hands-on exercises. It will be useful for anyone who has to work with software documentation.

Room C
11:00
30min
Pointers? In my Python? It's more likely than you think
Eli Holderness

Learn about Python's memory handling, including:
- what pointers are, and why it matters
- what object IDs are, and what they mean
- how CPython can tell when you're done with an object, and what happens next

No C knowledge required!

Assembly Room
11:00
90min
Python on Hardware Community Showcase (Open Session)
Carlos Pereira Atencio

From tiny to massive, everything and everyone are welcomed!

An open session for any conference attendee to bring their hardware projects and show them to the (PyCon UK) world. Just curious? Come around to check them out!

Room A
11:30
11:30
30min
Connecting those thoughts: Personal knowledge management with Python
Mark Farragher

Apps such as Obsidian.md have revolutionised note-taking for the digital age, through connected markdown files. I discuss how I developed a Python package that enabled me to become more effective at learning at university and built a knowledge graph of 500+ notes.

Assembly Room
12:00
12:00
30min
OpenSAFELY: a python powered response to the COVID pandemic
Becky Smith, Simon Davy

OpenSAFELY is a secure, transparent, open-source platform, built in Python, in response to the COVID pandemic. It provides almost real-time analysis of millions of electronic health records. We will discuss privacy, security and research goals achieved by a cross-disciplinary team of researchers, epidemiologists and developers working together.

Assembly Room
12:30
12:30
30min
Sunday Lightning Talks

Lightning Talks

Assembly Room