PyCon UK 2019

“Active Learning with Bayesian Nonnegative Matrix Factorization for Recommender Systems” Gönül Aycı · Poster (15 minutes)

In most of the systems, collecting data is not always free. In this poster session, I will show an approach for a matrix completion problem that learns a distribution of data where information is incomplete or collecting it has a cost.

“Adversarial Robustness Toolbox: How to attack and defend your machine learning models” Beat Buesser · Talk (30 minutes)

Adversarial samples and poisoning attacks are emerging threats to the security of AI systems. This talk demonstrates how to apply the Python library Adversarial Robustness Toolbox (ART) to create and deploy robust AI systems.

“An Introduction to Hardware Drivers in (Micro)Python” Carlos Pereira Atencio · Talk (30 minutes)

Have you ever been curious about how device drivers control the hardware in your computer, phone, or IoT widget? Have you always thought you would needed to learn C or other low-level language to write a driver? Thanks to MicroPython we can control the physical world with Python code!

“Astro Pi: Python on the International Space Station” Ben Nuttall · Talk (30 minutes)

A collaboration between the Raspberry Pi Foundation and the European Space Agency put two Raspberry Pi computers augmented with sensor boards and camera modules on the International Space Station in 2015.

“Asynchronous Web Development with Flask” Miguel Grinberg · Talk (30 minutes)

A common misconception is that traditional frameworks such as Flask and Django are incompatible with asynchronous web servers. In this talk I'm going to show you how to write an asynchronous web application using Flask.

“A tour of data viz in Python” Éléonore Mayola · Poster (15 minutes)

On my poster I’ll do a tour of libraries available for visualising data using Python by showing and discussing examples.

“A Tour of Matplotlib: From Bar Charts to XKCD-Style Plots” Susam Pal · Talk (30 minutes)

This is a tour of Matplotlib that starts with a gentle introduction involving simple plots like bar charts, line graphs, etc. and ends with fun stuff like XKCD-style plots. During the talk, we will see the popular techniques to customize the plots with axes, grid, labels, legends, spines, etc.

“Automated report writing using data from a relational database” Dani Papamaximou · Talk (30 minutes)

As part of the Development Consent Order submission for large infrastructure (Highways scheme), a book of reference needs to be submitted. The user previously needed to export spreadsheets from a database and populate the document manually. We have automated this process on a jupyter notebook.

“Automated Timeseries Analysis with Gaussian Processes” Joe Hall · Talk (30 minutes)

How to automatically identify, and describe, interesting patterns in timeseries data, such as trends, change-points and periodic behaviour.

“Automating Code Review As Much As Possible” Qasim K · Talk (30 minutes)

While the best code is no code at all, we do need to deal with the rest of it

“Automating web applications with Selenium WebDriver” Colin Bell · Workshop (90 minutes)

Selenium WebDriver is a popular open-source cross-platform browser automation framework. This workshop will cover using Selenium to create automated tests, including topics such as object identification, adding verifications and synchronisation, parameterising a script, creating a page model

“Awesome live API docs for under-resourced teams” Emanuil Tolev · Talk (30 minutes)

Since all software dev teams are under-resourced, let's see how to get pretty good "living" docs with as little effort as possible. These allow the API to be used directly from the docs. We'll look at a real open source app built with Flask, Swagger and SwaggerUI.

“Battles with reproducibility and collaboration in large organisations” Richard Louden · Talk (30 minutes)

Reproducibility and collaboration are difficult aspects of any business-based analytics, speaking from personal experience, where a project is likely shared between a technical analyst and a business analyst. This talk aims to show examples of how this can be improved through aspects of the Python …

“Benefits of competition based libraries for beginners in Python” Can Ersoz, Sedat yalcin, Yaşar İdikut, Yoel Kastro · Talk (30 minutes)

How can using a competition specific library enhance the learning of beginners in programming and what to keep in mind when developing one?

“Blue Dot - its a bluetooth dot” Martin O'Hanlon · Talk (30 minutes)

Blue Dot is a bluetooth remote and Python library to allow anyone (from new learner up) to remove the wires from their Python project.

“Board Games and Manual Technology Evening” Sandy, Becky Smith · Something Else (30 minutes)

Not a screen or keyboard in sight!

“Build a full-stack web app in Python with Anvil” Shaun Taylor-Morgan · Workshop (90 minutes)

We'll create a full-stack web app using Anvil. Anvil is a platform for rapidly developing and deploying web apps using Python on the client and server side. It's like Visual Basic for the web.

You’ll need a laptop to follow along.

“But I never wanted to do DevOps! A practical, hands-on introduction to containerised web deployment for Django developers who would rather just create applications” Daniele Procida · Workshop (90 minutes)

A practical, hands-on introduction to containerised web deployment for Django developers who would rather just create applications.

“Charming the Snake - Writing Secure Python Code” Kashish · Talk (30 minutes)

Python, being dynamic and not type safe, is hard to write securely. Vulnerabilities such as injections, XSS, CSRF etc. are hard to find through static analysis tools. This talk is a comprehensive guide on how to write secure code in Python and also how to catch bugs.

“Choosing the right Deep Learning Framework: A Deep Learning Approach” Nick Acosta · Talk (30 minutes)

This talk will demonstrate how deep learning can be used to identify a deep learning framework such as TensorFlow or PyTorch that would best help a developer build out deep neural networks based on how they write and the problems they solve.

“Clean Architectures in Python” Leonardo Giordani · Talk (30 minutes)

What is a good software architecture? Why should we bother structuring the code and spending time testing it? The clean architecture is a good way to structure an application to make it easy to develop, debug, maintain, and change.

“Code Dojo” Tom Viner, Daniel Pope · Something Else (30 minutes)

A Python Code Dojo, based on the long-running London Python Code Dojo series.

“Code Styles Aren’t Black and White” Mika Naylor · Talk (30 minutes)

We all have a code style. We all have opinions how code should look. We all seem to love (and hate) having long arguments about which code styles are better. What if there was a way out of the bikeshedding?

“Code walk this way” Mary Chester-Kadwell · Talk (30 minutes)

How can you help Pythonistas learn a new code base more quickly and level up their Python skills? One way is with a 'code walk' — talking through a code base while reading the code together. I will talk about how I like to structure a code walk and its benefits.

“Concurrent asyncio and sanity” Martijn Pieters · Talk (30 minutes)

Do you find programming with asyncio daunting? Are you wondering how you'd build a real-world network-connected service with this and not die trying? In this talk I want to share some best practices and tips to help you create reliable, maintainable applications using concurrency.

“Conference Dinner” Daniele Procida · Something Else (30 minutes)

Conference Dinner

“Dash: Interactive Data Visualization Web Apps with no Javascript” Dom Weldon · Talk (30 minutes)

From the team that makes Plotly, Dash is a library for producing interactive web apps with Python. This talk introduces Dash and will discuss how it may fit into your team!

“Data Scientist Career Path: How to find your way through the data science maze” Solveiga Vivian-Griffiths, Natalie Jakomis · Talk (30 minutes)

The demand of data science is huge and employers are investing significant time and money in Data Scientists. During this talk we will share our experiences, and provide a survival guide to help get you started in your data science career.

“Demystifying Neural Networks” Michal Grochmal · Workshop (90 minutes)

Let's write a (tiny but working) Neural Network library from scratch!
Well, almost from scratch, we will still use NumPy.
And we will try to do it in less than 1000 lines of code.

“Depression in the Workplace; Let's talk.” Chloe Parkes · Talk (30 minutes)

Depression affects a surprising amount of people, and despite the common belief that your personal issues shouldn't come to work with you, it does. This talk will touch on what depression is, how it affects someone's life and ways to communicate with someone who suffers from it.

“Dev On Wheels: The Ultimate Computer Game” Tom Easterbrook · Talk (30 minutes)

Come and witness the live action video game of a graduate software developer’s journey. But not just any graduate. This is Tom, dev_on_wheels!

“Dictionaries, behind the scenes” Gisela Rossi · Talk (30 minutes)

Have you ever wondered how Python’s dictionaries work behind the scenes? For the curious minds: we will unveil some of the magic, things ranging from performance to security, and some surprises. For the pragmatists: we’ll see cases where understanding the internals can have practical applications

“DjangoGirls Setup Helpdesk” Ann Barr · Something Else (30 minutes)

Help with laptop setup for DjangoGirls workshop

“Django Girls Workshop” Ann Barr · Workshop (90 minutes)

To run a Django Girls workshop in line with the Django Girls organiser's manual for up to 60 women/non-binary attendees apply online via our website (

“Don't Cross The Streams: An Introduction to Virtual Environments” Hannah Hazi · Talk (30 minutes)

Let's learn about virtual environments - why it's useful, how it works, getting started.

“Do we have a diversity problem in Python community?” Cheuk Ting Ho · Talk (30 minutes)

Python community cares about diversity. So do we still have a problem in, especially gender, diversity? We will look at some data and see if there’s a true problem, discuss what the problem may be and how to fix it.

“Extracting tabular data from PDFs with Camelot & Excalibur” Vinayak Mehta · Talk (30 minutes)

Extracting tables from PDFs is hard. The Portable Document Format was not designed for tabular data. Sadly, a lot of open data is shared as PDFs and getting tables out for analysis is a pain. Camelot and Excalibur can help you extract tabular data fr

“FastAPI from the ground up” Chris Withers · Talk (30 minutes)

What comes next after Django and it's Django REST Framework? This talk shows how to build a simple REST API for a database from the ground up using FastAPI.

“Flask-restplus workshop for beginners” Wietse Braam, Alp Inan · Workshop (90 minutes)

Small workshop how to build your first api's using flask restplus. Hands-on! Please make sure you have python 3.6+ and pip installed!

This will be the link to the workshop code:

“Get to grips with pandas and scikit-learn” Sandrine Pataut · Workshop (90 minutes)

This session will be an exposition of data wrangling with pandas and machine learning with scikit-learn. It will cover a classification project, from importing the data to evaluating model performance.
This hands-on workshop is aimed at a "beginner" Data Science audience (but small experience in p…

“Hangar; git for your data” Richard Izzo · Talk (30 minutes)

Software development is entering an era where the behavior of programs critically depends on the data they were trained on. In this setting, data is the new source code, and this opens the door to challenges like versioning and collaboration on numerical data. Hangar, git for your data

“Hardware Hacking Workshop” Sarah Townson · Workshop (90 minutes)

Interested in programming hardware with MicroPython or CircuitPython? This drop-in workshop will help you to get started. We will have a range of activities for you to try, ranging from complete-beginner-friendly to more advanced topics. Come by and get started!

“Here's Your Mistake...” Tobias Kohn · Talk (30 minutes)

Lessons learned from teaching Python; or why learning to program is surprisingly hard, even with a language as simple as Python.

“How to use Python to expose politicians?” Rafael Garcia-Dias · Talk (30 minutes)

This talk presents a project that uses an API of the Brazilian government to retrieve data from congresspeople and expose how they are spending people's money. I use Pandas to manipulate the data and, Lektor and Chart.JS to create a website that makes this data accessible and comprehensible.

“How to write readable tests” David Seddon · Talk (30 minutes)

So often, our tests are much harder to understand than the rest of our code. This is a shame! Find out how to write tests that act as living documentation from which you can gain deeper understanding of your system.

“I am telling you 3 things about Chatbot (so you don't have to learn it the hard way)” Cheuk Ting Ho · Talk (30 minutes)

Now we can talk to our gadgets as if it’s a real human. It makes you wonder when you chat with the “customer service” online, is that a real person or a robot on the other side? I built a chatbot, and here’s 3 things that I discovered.

“Implementing a simple API using Django REST Framework” Miles Cook, Devang Mehta · Workshop (90 minutes)

Django REST Framework “… is a powerful and flexible toolkit for building Web APIs.” This workshop will give you a overview so you can get started your own APIs, and you can explore just how powerful it is.

“Import as an antipattern - Demystifying Dependency Injection in modern Python” Yeray Díaz Díaz · Talk (30 minutes)

Dependency Injection in Python is commonly seen as over-engineering, but I think this is a myth. DI is simple and powerful and can yield great benefits to the overall quality of your code.

“Introduction” Daniele Procida · Talk (30 minutes)

Friday Introduction

“Introduction” Daniele Procida · Talk (30 minutes)

Saturday Introduction

“Introduction” Daniele Procida · Talk (30 minutes)

Sunday Introduction

“Introduction” Daniele Procida · Talk (30 minutes)

Monday Introduction

“Introduction” Daniele Procida · Talk (30 minutes)

Tuesday Introduction

“Intro to integrating search into your Django app” Emanuil Tolev · Workshop (90 minutes)

A hands-on tutorial for people who want to start learning about and integrating search & discovery into their apps.

“Is Django too Complicated?” Daniel Hepper · Talk (30 minutes)

When you start a new project, typically the choice between a big framework like Django and a microframework like Flask comes up. This talk will show you that the difference is not as big as one might think and that Django is suitable for projects of all sizes.

“Jobs Fair” Owen Campbell · Something Else (30 minutes)

Jobs Fair

“Just Visiting” David Spademan · Something Else (30 minutes)

A visit to Her Majesty's Prison, Cardiff

“Leadership and Identity in the Pan-African Python movement” Marlene Mhangami · Talk (30 minutes)

In this talk, I will be discussing three lessons about leadership that I learned during my time chairing Pycon Africa 2019. I will also be sharing how personal and group identity played a consistent and significant role throughout the process.

“Let's make a talk” Gail Ollis · Workshop (90 minutes)

How do you write a talk? In this practical workshop you will find out. You’ll receive some guidance, techniques and principles, but there will also be time to prepare a lightning talk and present it.

“Lies, Damned Lies, and Statistics” Marco Bonzanini · Talk (30 minutes)

We are exposed to the use of statistics in everyday life, but it is quite easy to fall victim of statistical fallacies. This talk will help you recognise these fallacies, so you can protect yourself from the misuse of statistics, ultimately becoming a better citizen.

“Lightning talks” Mark Smith · Something Else (30 minutes)

Lightning talks.

“Lightning talks” Mark Smith · Something Else (30 minutes)

Lightning talks

“Lightning talks” Mark Smith · Something Else (30 minutes)

Lightning talks

“Lightning talks” Mark Smith · Something Else (30 minutes)

Lightning talks

“Logging Rethought 2: The Actions of Frank Taylor Jr.” Markus Holtermann · Talk (30 minutes)

We build services, potentially used by millions of people. And despite all the testing we do, some interactions with these services will not work out the way we hope. Wouldn’t it be great to reconstruct what let to a problem and analyze if the problem occurred at other times?

“Machine Learning on the Edge” Frank Kelly · Talk (30 minutes)

An introduction to the Jetson Nano Developer kit by a data scientist

“Managing Big Data in Machine Learning projects” V Vishnu Anirudh · Talk (30 minutes)

My talk will focus on Version Control Systems (VCS) for big-data projects. With the advent of Machine Learning (ML) , the development teams find it increasingly difficult to manage and collaborate on projects that deal with huge amounts of data and ML models apart from just source code.

“Massively Multiplayer Online Games with Python” Dmitry Karpov · Talk (30 minutes)

In Wargaming we make real-time high load apps with python. Here I’d tell you some issues which might appear when using it for real-time apps with some examples.

“Mock Object Library: Common Pitfalls and Best Practices” Sunaina Pai · Talk (30 minutes)

This talk is an introduction to the mock object library along with a detailed discussion on common pitfalls associated with patching objects with mocks and the best practices for it. The talk would present code examples, common pitfalls, and best practices to demonstrate how to use mocks effectivel…

“More Than You Ever Wanted To Know About Python Functions” Mark Smith · Talk (30 minutes)

Let's talk about functions, methods, callables and closures - what they are, what you can do with them ... and what's inside.

Afterwards you'll know more about callables, along with techniques both practical and so extreme your colleagues will never let you merge them to master.

“Mutability for good not evil” Nick Sarbicki · Talk (30 minutes)

Mutability is a common GOTCHA for new pythonistas. So where is it a good idea to use mutability? And more importantly where is it a bad idea?

“NeXus Constructor: Visualising the Configurations of Neutron Experiments with Qt for Python” Jack Harper, Dolica Akello-Egwel · Poster (15 minutes)

The NeXus data format provides a way of describing neutron, muon and x-ray experiments. In this poster we illustrate how our NeXus Constructor tool utilises Python and Qt in order to allow programming-unsavvy researchers to visualise and modify the contents of these files with minimal assistance.

“One weird trick for improving your communication” David Sim · Talk (30 minutes)

The best advice I've been given on technical communication is "understand what you want to achieve before you think about what you want to say". I'm going to discuss why I think this is important, with examples ranging from planning meetings to writing documentation.

“Optimizing Input: Building your own customized keyboard” Daniel Rios · Talk (30 minutes)

Keyboards, the main way we interact with computers, have remained unchanged for a century, despite being free from mechanical necessity. Alternatives made possible by recent technology can optimize the way we input text and interact with our devices.

“Philosophy of Refactoring” Jacob Unna · Talk (30 minutes)

Many of us can recite the advantages of well factored code, yet in practice it is easy to let standards slide. This talk explores the mindset one should adopt to have a well factored codebase, complete with examples of how this looks in practice.

“Plug & train: flexible customisation and extension of python's deep learning frameworks” Jan Freyberg, Isobel Weinberg · Workshop (90 minutes)

Python is growing quickly partly due to its popularity in the data science and machine learning community. Python's flexibility is well suited to new statistical frameworks such as deep learning which are successful because they are modular. This is the story of the success of python in deep learni…

“Python in Medicine: A toolkit for exploring neonatal ventilator data” David Chong, Gusztav Belteki · Talk (30 minutes)

Modern ventilators generate large amounts of pressure and flow data that clinicians cannot realistically monitor over long periods of time. A toolkit for segmentation and extracting breath-wise features would provide a means for summarising this information and investigating the relationship of dif…

“Python in the browser” Shaun Taylor-Morgan · Talk (30 minutes)

You don't have to write JavaScript to write front-end code. There are a lot of options to run Python in the browser. We'll look at how this is achieved - there's more than one way to do it!

“Python on Hardware Community Showcase (Open Session)” Carlos Pereira Atencio · Workshop (90 minutes)

Do you have a hardware project you'd like to showcase?

From tiny to massive, everything and everyone are welcomed!

An open session for any conference attendee to bring their hardware projects.

Don’t have anything to show? Come around at anytime to check it out!

“Rapid prototyping scalable Python services using AWS Chalice” Mashhood Rastgar · Talk (30 minutes)

Looking to deploy Python code on AWS Lambda? Getting started with serverless can be a bit daunting at times with creating the functions, configuring them, configuring api gateways and what not. In this talk you will learn about the magic of rapid serverless api development using AWS Chalice.

“Real-time data acquisition, from Arduino to the web, using PubSub with Redis, Django and other friends” Mario Orlandi · Talk (30 minutes)

I'll apply PubSub to collect data in real-time from TCP-enabled peripherals, like Arduino or others, and deliver them to a data server for storage, processing, and broadcasting to remote clients (typically smartphones or tablets) for real-time monitoring and inspection

“Regexplained - Understanding the theory of Regular Expressions” Samathy Barratt · Talk (30 minutes)

This talk aims to break down Regular Expressions to their base concept as finite automata.
Attendees will leave this with an understanding of the theory of Regular Expressions,
allowing them to better understand and construct complex regexes.

No prior knowledge of regexes or finite automata is requ…

“Reproducible Science: The Good, The Bad, The Ugly and The Untold” Dr. Tania Allard · Talk (30 minutes)

Coming soon...

“Research Software Engineers: Who, What, Why and a Django API” Teri Forey · Talk (30 minutes)

This talk will describe my experience of leaving academic research to become a Research Software Engineer (RSE). As an example of the kind of work RSEs do, I’ll describe a recent project that used Django, a REST API and a mobile app built with Ionic.

“Robotic Microscopy for Everyone” Joel Collins · Talk (30 minutes)

The OpenFlexure Microscope is an open-source, 3D-printed motorised microscope targeted towards medical applications in sub-Saharan Africa. This talk will introduce our work with local innovation hubs, research institutions, and clinics to develop control software that encourages contributions acros…

“Sans I/O programming patterns – what, why, and how” Alex Chan · Talk (30 minutes)

Programmers have plenty of powerful, flexible libraries – and yet we often end up reinventing the wheel. Why? Because they’re not reusable – code gets trapped by its I/O model.

In this talk, we’ll look at the benefits and techniques for writing “sans I/O” code.

“So you want to be a manager” Gil Goncalves · Talk (30 minutes)

Many developers will eventually make the choice of becoming a manager, the goal of this talk to help them make that decision.

“Sprints” Daniele Procida · Something Else (30 minutes)

Get together to talk and work in person

“Static Typing in Python” Dustin Ingram · Talk (30 minutes)

In this talk, we'll discuss the advantages and disadvantages to a static type system, as well as recent efforts to introduce static typing to Python via optional "type hints" and various tools to aid in adding types to Python code.

“Step Into the AI Era: Deep Reinforcement Learning Workshop” Charlotte Feather, Cheuk Ting Ho · Workshop (90 minutes)

By engaging in the revolution of AI and deep learning, reinforcement learning has also evolved from being able to solve simple game puzzles to beating human records in Atari games. It has also opened up the possibility of using reinforcement learning in making real life decisions.

“Stranger things in Twitterverse” Pallavi, Konark Modi · Talk (30 minutes)

Uncovering Twitter troll armies by monitoring and analyzing millions of tweets using Python to identify suspicious entities that intended to skew online conversations and spread misinformation.

“Syntactic sugar vs maintainability” Richard Terry · Talk (30 minutes)

Is it ever worth committing coding sins for the greater good? We'll look at techniques which can make your code easier to use at the cost of being harder to maintain, and when the effort is worth the reward.

“TDD in Python with pytest” Leonardo Giordani · Workshop (90 minutes)

Test-Driven Development is a methodology that can greatly improve the quality of your software. I strongly believe that developing software without following as much as possible a test-driven approach leads to massive delays and greater issues when requirements change (always, that is).

“Technical Debt Remediation in a Massive Python Codebase” Irit Katriel · Talk (30 minutes)

The Quartz engineering team at Bank of America hosts one of the world's largest python codebases. Changes in core components of the platform can have high impact.

“Telling Stories With Python and Ren'Py” Hannah Hazi · Workshop (90 minutes)

Make your own interactive fiction game using Ren'Py

“The dos and don'ts of task queues” Petr Stehlík · Talk (30 minutes)

Let’s talk about our experience with Celery and intentions to switch to RQ which failed. We’ll show our setup of larger apps than the ones presented in doc examples together with useful tips&tricks on the orchestration of such apps.

“The Fallacy of Meritocracy” Nikoleta Glynatsi · Talk (30 minutes)

The Fallacy of Meritocracy

“The Fastest Way to Learn Data Science” Rebecca Vickery · Talk (30 minutes)

It's not about what you know it's about what you can do

“The world's cheapest, simplest plotter” Daniele Procida · Talk (30 minutes)

I present an ultra-cheap (€12.50 for all parts, including a Raspberry Pi) Python-powered drawing machine, constructed from cardboard, assembled using basic tools and glue.

“Training my dog with Python” Vince Knight · Talk (30 minutes)

This talk will cover a range of topics around a tool I have built to enhance work sessions with my dog.

“Trans*Code” Emma Delescolle · Something Else (30 minutes)

Trans*Code is for trans* people, LGBTQAI+ and allies who want to draw attention to issues facing the transgender community and women. Participants drawn from all skill levels and backgrounds are welcome.

“Typed attrs dataclasses with cattrs converters for JSON REST microservices.” Damian Swistowski · Talk (30 minutes)

Do you have confidence in your data without painful explicit checks? Use types in your code - attrs is a smart solution to make life easier.

“UKPA AGM” Owen Campbell · Something Else (30 minutes)

Annual General Meeting of the UK Python Association

“Unleashing Python from the Computer Science Curriculum” Spencer Organ · Talk (30 minutes)

Python is very well established in Secondary School Computer Science lessons but it also has a wider appeal across the whole curriculum. Join my journey in introducing Python across different areas of a secondary school curriculum and how it helped a school with no IT and CS teachers.

“Using Pomelo to Enhance Algorithmic Thinking” Yoel Nasi, Sedat yalcin, Can Aydin, batuhan bayraktar, Rana Taki · Talk (30 minutes)

We have designed Pomelo, an interactive robot that teaches algorithmic thinking through collaborative tasks and games. With Pomelo we aim to drag the interest of young children into programming both in and outside of classroom environments.

“What are they talking about? Mining topics in documents with topic modelling and Python” Marco Bonzanini · Workshop (90 minutes)

This tutorials is a practical introduction to topic modelling in Python, tackling the problem of analysing large data sets of textual data, in order to identify topics of interest and related keywords.

“What does PEP 517 mean for packaging?” Thomas Kluyver · Talk (30 minutes)

Packaging Python code is a thorny area, but it's getting better.
PEP 517 is a dry, technical specification for an important step:
allowing packagers to choose alternatives to setuptools.
I'll talk about how projects can take advantage of this, and the
fun of writing your own packaging tools.

“What do travel, food & health websites have in common? Auditing websites & apps for privacy leaks” Konark Modi · Talk (30 minutes)

Organizations with digital products that lack even the most basic data security practices are living in a utopian world where people leave their safe open and never expect a burglar to walk in.

“while history: continue” Tobias Kunze · Talk (30 minutes)

History is full of weird events. Because we're human (and weird), these events tend to have their reasons in social dynamics that are still around today.

“Writing Beautiful Python. An overview of PEP 8” Luke Spademan · Talk (30 minutes)

Writing code that looks nice can be hard. Why do we need nice looking code anyway? In this talk I'll give you a tour of PEP 8 (The Style Guide for Python Code) and show you how you can force yourself to write code that looks nice.

“Writing micro-services in Python... Sure! But which framework?” Emma Delescolle · Workshop (90 minutes)

When googling "python micro-service framework", there are plenty of "Hello world" examples out there for many (micro-)frameworks.

But how do they scale to "real" world applications? How can I connect framework X to a database or what do you need to do to use OAuth2 with framework Y?

“Writing micro-services in Python... Sure! But which framework?” Emma Delescolle · Talk (30 minutes)

When googling "python micro-service framework", there are plenty of "Hello world" examples out there for many (micro-)frameworks.

But how do they scale in the "real" world? How can I connect framework X to a database or what do you need to do to use OAuth2 with framework Y?

“You are in a maze of twisty little passages” David R. MacIver · Talk (30 minutes)

You are a robot tasked with mapping a maze, but a lot of these rooms look weirdly similar. What do you do? A light hearted introduction to some neat algorithms.

“**Young Coders** Anagrams & Python” Avni Balan · Workshop (90 minutes)

We will be making anagrams and playing with our friends as a game

“**Young Coders** Astro Pi Mission Zero” Ben Nuttall · Workshop (90 minutes)

Write a program for the Raspberry Pi Sense HAT and send it to space!

“**Young Coders** Cracking Codes with Python” Luke Spademan · Workshop (90 minutes)

What is encryption? How does it work?

“**Young Coders** Geometries & Python Turtle” Aaron Balan · Workshop (90 minutes)

Understanding geometry and python can be learnt alongside.

“**Young Coders** Gettin' GUI with it” Martin O'Hanlon · Workshop (90 minutes)

Creating graphical user interfaces (GUI) with Python. Connect up LEDs and Buttons to your GUI and make it control your world.

“**Young Coders** Hackathon & presentation prep” Ben Nuttall · Workshop (90 minutes)

Hackathon for intermediate track of the children's day

“**Young Coders** Make stuff with junk” Laura Sach · Workshop (90 minutes)

Take what you learned and use it to build a project out of electronics, arts and craft

“**Young Coders** Mission to Mars Rover Microbit Radio Control” Robert Wiltshire · Workshop (90 minutes)

This workshop utilises rovers used in Software Cornwall's work experience.

“**Young Coders** Mutating Monsters” Patrick Barry · Workshop (90 minutes)

Making a pokemon style monster generator and evolver using turtle

“**Young Coders** Presentation prep” Laura Sach · Workshop (90 minutes)

Get ready to present your project on the main stage

“**Young Coders** Show and Tell” Ben Nuttall · Something Else (30 minutes)

Children's Day Show and Tell

“**Young Coders** Will it rain in Cardiff this weekend?” Spencer Organ · Workshop (90 minutes)

A hands-on workshop building a simple barometer which can be used to predict the weather. We will use a Raspberry Pi and the SenseHat to make a mini weather station to not only look at the current weather but to predict the weather ahead.