PyCon UK 2022
Welcome
Find the flaws in your codebase ... before they explode
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.
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.
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.
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.
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!
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!
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.
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.
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.
Lightning Talks
Welcome
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.
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.
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.
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.
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.
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.
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.
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.
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!
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!
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.
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.
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.
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.
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.
Lightning Talks
Welcome
Python is a very high-level programming language. I've been using it for very low-level programming. We'll meet an unusual computer.
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.
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.
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!
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!
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.
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.
Lightning Talks