To see our schedule with full functionality, like timezone conversion and personal scheduling, please enable JavaScript and go here.
08:00
08:00
90min
Registration
Auditorium
09:30
09:30
30min
Welcome Session

Welcome Session

Auditorium
10:00
10:00
55min
Django Girls: Decade in Review and Beyond
Anna Makarudze, Rachell Calhoun

On the 21st of July 2014, the first day of EuroPython 2014 in Berlin, the first-ever Django Girls workshop was held. This year, Django Girls turns 10! As we celebrate our 10th anniversary, we invite you to join us as we examine the transformational decade of Django Girls, a global movement dedicated to empowering women in technology and strengthening the Django community through fostering diversity.

Auditorium
10:55
10:55
30min
Coffee Break
Auditorium
11:30
11:30
30min
Django + Alpine.js + htmx Ups & Downs
Karen Tracey

Alpine.js and htmx have been creating quite a flurry of excitement in the Django community for a few years now. How is this toolset combination holding up in the light of some years of real project experience? Come to our talk to learn the impact this toolset has had on our productivity.

Auditorium
11:30
50min
Django schema migrations and deployments minus the misery
Antonis Kalipetis

Django powers some of the world’s leading websites, offering a robust framework that propels projects from conception to production with ease. At its core, Django's migration framework and static asset management streamline development, but the journey doesn’t stop there. As applications expand and evolve, scaling introduces new challenges, particularly when deploying updates across multiple instances.

How do we manage schema and static asset versions during rolling updates or blue/green deployments without disrupting the user experience? This presentation dives into the trenches of scaling Django applications. We’ll unravel the complexities of running multiple instances with varying schema and static assets, exploring the intricacies of forward and backward-compatible migrations and the nuances of serving static assets in a distributed environment. Prepare to get your hands dirty as we navigate through real-world scenarios, weighing compromises and strategizing for success. Whether you’re scaling your first project or optimizing an enterprise-level system, this session will arm you with the knowledge to tackle these challenges head-on.

Workshop
12:05
12:05
30min
Django 5.0: Elevating Experiences with Server-Sent Events – A Journey from Polling to Real-Time Vibes
melhin

Join me in a detailed exploration as we navigate the complexities of transitioning from traditional polling to real-time functionality using Django SSE in version 5.0. This presentation aims to elucidate the seamless integration of real-time features, maintaining the structural integrity of applications without the need for additional libraries. Importantly, we will not be utilizing Django Channels; instead, we'll focus on leveraging the inherent features of async Django.

Our focal point will be the utilization of Redis as the singular dependency, showcasing the inherent capabilities of Django SSE in version 5.0. Delving into the realm of real-time notifications, the session will encompass a spectrum of approaches – from comprehensive payload delivery to streamlined references. This will be achieved without the need for extensive code rewriting.

Auditorium
12:40
12:40
30min
API Maybe: Bootstrapping a Web Application circa 2024
Carlton Gibson

The last couple of years seem to have changed everything. From "API First" we've gone to "API Maybe". This is the story of bootstrapping a new application in these latter days, the lessons we've learnt, and what the future might bring.

Auditorium
13:10
13:10
60min
Lunch Break
Auditorium
14:10
14:10
50min
Building high-performance, type-safe GraphQL APIs with Strawberry and Django
Thiago Bellini Ribeiro

Master GraphQL with Strawberry & Django! Dive into efficient API design, solve the N+1 issue, and optimize with ease. #GraphQLTalk

Workshop
14:10
30min
Careful what you search for! - or, how to make a computation 20,000 times faster
Shai Berger

Use of regular expressions for searching and parsing text is very common, but it can be dangerous. Innocent-looking searches may turn out to be very slow on specially-crafted inputs, and if such inputs can be provided by users, that is called a REDoS vulnerability. This talk is about the causes of such slowness, possible fixes and prevention.

Auditorium
14:40
14:40
30min
Greening Digital With Django
Chris Adams

In this talk, we'll cover:

  1. How carbon emissions result from our use digital services, and why people are paying more attention
  2. How they are measured and estimated, and common tools used to do so, especially for pythonistas
  3. Why Django is well placed to be the greenest framework out there, with examples a leading django project
Auditorium
15:20
15:20
30min
How to monetize your side project for fun & profit
Wilhelm Klopp

Imagine a world where you work on your own terms. Where you are financially independent and have the freedom to work on whatever you want whenever you want to. This used to sound unrealistic, but thanks to the internet and standing on the shoulders of giants it's very much possible for us software developers to run successful, profitable, one person businesses. This talk draws on the past eight years of my life scaling Simple Poll from a humble django-admin startproject to a successful SaaS company and a team of seven. We'll cover several practical tips including how to approach building a side project while working a full time job, marketing & distribution your project, how to pick what to work on, and more.

Auditorium
15:20
50min
The confidence and blessing to make Django documentation improvements
Daniele Procida

I realise that many people who are ready and competent to make useful, welcome improvements to Django's documentation hesitate. Often all they need to get them over that first bump is a bit of extra confidence, and the blessing of someone who seems to have some authority.

That's what I want to give, in a short and practical workshop.

Workshop
15:55
15:55
30min
Django For Half A Billion People
Moe

Thinking about non-English users is not the first thing that comes to mind when building software, even for non-English developers. You'll be surprised by how simple considerations can highly affect non-English users' experiences. This talk is about UI choices and localization for Arabic users (and other right-to-left languages).

Auditorium
16:30
16:30
30min
Coffee Break
Auditorium
17:00
17:00
30min
How we can build web applications that respect the user’s privacy
Hanna Kollo

The questions children asked me on the topic of privacy on the web

Auditorium
17:35
17:35
45min
Lightning Talks

Lightning Talks

Auditorium
08:30
08:30
30min
Registration
Auditorium
09:00
09:00
15min
Welcome 2 Day

Welcome 2 Day

Auditorium
09:15
09:15
55min
AI, away from the hype
Meritxell Sardà Ventosa

Beyond the excitement about the new generation of LLMs, AI is just an
ecosystem inside the wider tech-biome. We are going to revisit the
fundamentals to examine sensible AI projects and systems that can healthily
be integrated into the wider tech world.

Auditorium
10:15
10:15
30min
Building a Django-Powered Laboratory Information Management Systems (LIMS) for the Genomics Era
Isaiah Olatunbosun

This presentation will explore the design, development, and deployment of Laboratory Information Management Systems (LIMS) tailored for genomics research using the Django framework. Learn how Django's flexibility and scalability power robust and customizable LIMS platforms that streamline workflows, enhance data management and facilitate collaboration in the rapidly evolving genomics landscape.

Auditorium
10:45
10:45
30min
Coffee Break
Auditorium
11:20
11:20
90min
Functional LLM Chatbots - HTMX, Function Calling & LLama 3
Christian Tanul

Companies crave LLM integrations. Have you built one in Django?

This workshop provides a step-by-step guide on how to let LLMs take control of your Django application, both on the server-side and the client-side.

Workshop
11:20
30min
Layered Django project structure for large-scale collaboration
Çağıl Uluşahin Sönmez

How can hundreds of engineers collaborate on the same codebase without chaos and build a successful business?

Auditorium
11:55
11:55
30min
Empowering Django with Background Workers
Jake Howard

Whilst Django is a web framework, it doesn't have a good first-party story for background workers, right now anyway...

Auditorium
12:30
12:30
30min
The attentive programmer
Daniele Procida

We're programmers, and we're full of intention, programming our will in symbols, to be executed by machines. From automated testing to our agile workflows, the values of our discipline are aligned around intention. For us, success means successfully bringing about what we intended.

But, in all this vigorous, forward-looking intention, I think we overlook another kind of meaning, that is to be found in attention. I think that by looking at other arts and disciplines we can discover something new that we can bring to programming, to enrich it and make it deeper and more fulfilling - and possibly even better.

Auditorium
13:00
13:00
60min
Lunch Break
Auditorium
14:00
14:00
30min
Combining Django ORM & FastAPI in a Single App
Mia Bajić

Wondering how to blend sync and async frameworks together in Python? Join me on a journey where Django meets FastAPI.

Auditorium
14:00
50min
Diving into the DSF Rhythm: A session on Django Governance
Çağıl Uluşahin Sönmez, Sarah Abderemane, Kátia Nakamura, Thibaud Colas

Exploring the role of Django Software Foundation, and how Django governance works.

Workshop
14:30
14:30
30min
Pair Programming after the Pandemic and Beyond
Keanya Phelps, Tobias McNulty

Pair programming is used every day at our company, Caktus, to provide new learning opportunities for teammates, unblock developers, and maximize productivity even among our most senior staff. Often thought of as a teaching tool, which it is, we believe regular pair programming also helps establish a cultural standard within engineering organizations that breaks down silos and maximizes the amount of work not done.

Auditorium
15:10
15:10
30min
My step-by-step guide to becoming a Django core contributor
Eliana Rosselli

If you had told me a year ago that today I’d be actively contributing to Django, I would have never believed it. And yet, here we are! As a newbie Django core contributor, I’ve been reflecting on my contributing journey, and how I got here in the first place. This talk is my step-by-step guide to becoming a Django core contributor.

Auditorium
15:10
50min
Supercharging your Python Development Environment with VS Code and Dev Containers
Dawn Michelle Wages

VS Code is the most popular editor for Pythonistas. I'll teach you how to tweak your VS Code environment to support your Python and Django workflow. At the end of this workshop you'll understand while large teams build extension packs and profiles to create team alignment, onboard and pair program, and why contractors swear by VS Code's flexibility when jumping from one project to the next.

Workshop
15:45
15:45
30min
ProBo: 240.000+ Django Admin Staff Users in one SaaS (What you are not supposed to do, we did it!)
Erik Guldager Laustsen

ProBo: 1 Django App, 4 admin sites, 14 user groups, 240.000+ users as admin staff.
Many say you shouldn't, we did it by heavily extending the admin and lastly integrated HTMX.

Auditorium
16:15
16:15
30min
Coffee Break
Auditorium
16:45
16:45
30min
Ramping up the Django admin
Tom Carrick

Ever heard of the curb cut effect? It’s the idea that accessibility improvements often benefit a much wider group of people than initially intended. Let’s bring it to Django! We’ll look at specific accessibility improvements for the Django admin, which are guaranteed hits with everyone from beginners to power users.

Auditorium
17:15
17:15
45min
Lightning Talks

Lightning Talks

Auditorium
19:30
19:30
90min
Boat Rides
Auditorium
08:30
08:30
30min
Registration
Auditorium
09:00
09:00
15min
Welcome 3 Day

Welcome 3 Day

Auditorium
09:15
09:15
55min
When I Grow up I Want to be a Database Administrator (said no one ever)
Karen Jex

Most people don't dream of being a database administrator when they grow up. I've worked with databases for over 25 years because I love them so much, but I'm aware that most people don't feel the same way! Most of the developers I know just want the database to quietly do its thing in the background so they can concentrate on coding. Which seems like a reasonable request.

But the world of databases is changing. The traditional DBA role is becoming less common, and developers are increasingly expected to manage their own databases. Let's talk about how you, as a developer, can navigate this new reality, and what you actually need to know about databases.

Who knows - maybe, along the way, I can even convince you to love databases just a little bit!

Auditorium
10:15
10:15
30min
Django, SQLite, and Production
Anže

SQLite is a capable database that can run production Django apps efficiently under the right conditions. In this talk, we will explore the strengths and weaknesses of SQLite to understand if it's a good fit for your production workload.

Auditorium
10:45
10:45
30min
Coffee Break
Auditorium
11:15
11:15
30min
Modernizing CRUD Operations in Django with a Declarative Interface using Django Ninja CRUD
Hicham Bakri

Explore the transformative approach to CRUD operations in Django apps, emphasizing a declarative interface for streamlined API development and testing. This talk unveils a paradigm shift towards maintainable, efficient codebases ready for production-grade challenges without compromises.

Auditorium
11:45
11:45
30min
Tying up a loose end - How class-based emails will save your day
Ronny Vedrilla

Improve your codebase and developer experience by using the novel class-based emails from “django-pony-express” – shipped with a test-suite – to finally have a DRY email setup and save the day!

Auditorium
12:15
12:15
50min
Greening Digital - how to set up your django app with green coding metrics in CI
Chris Adams

In this session attendees will learn the basics of how carbon emissions from digital services are currently measured, what tooling exists to automate this measurement, and how this can be integrated into continuous integration pipelines using open source tooling, including a worked example of a set up for a real-world open source Django project.

Recent changes in the law will mean that for some firms, reporting emissions from digital services will be necessary from 2025 onwards, so we’ll end with some pointers on how to tell if the law might apply to your organisation, and where to go to learn more.

Workshop
12:25
12:25
30min
Django Classy All The Things!!!
Emma Delescolle

Some love it, some hate it but Django has a whole second documentation site called CCBV. No matter what team you're in, such documentation interface is very useful but... what if we could document whole Django projects that way?

Auditorium
13:00
13:00
60min
Lunch Break
Auditorium
14:00
14:00
50min
Blogging with Django: get started with Wagtail
Thibaud Colas

Do you want to build a personal site with Django? Give a go to Wagtail, a CMS built upon the framework. You can learn it quickly, it will give you a good mixture of blogging functionality out of the box. We’ll also showcase that there’s plenty of room to customize your models, views, templates, and everything else Django developers expect.

Workshop
14:00
30min
Data-Oriented Django Deux
Adam Johnson

Data-Oriented Design gives us principles for making fast, hardware-friendly software. This talk covers applications of those principles in Django projects, packgaes, and even Django itself.

Auditorium
14:30
14:30
30min
Developing Scalable Tests in Python with Django
Abraão Állysson dos Santos Honório

Dive into the world of scalable Python testing with Django! Learn how to create robust tests, leverage Faker for realistic data, and master Pytest for streamlined testing. Elevate your code quality and reliability! #Python #Django #Testing

Auditorium
15:00
15:00
50min
Accessibility for the Django Community
Saptak S

Accessibility is often thought of as a responsibility of frontend developers and designers and hence, often ignored by Django developers and the community. However, there are many reasons a Django developer, even who mostly does backend work, needs to be aware of accessibility. In this workshop, I will cover a few such examples: accessible authentication, multilingual support, alt text for images; and big standards like ATAG. I will also briefly discuss about different aspects of the community that also need us to be more attentive to accessibility: conferences, meetups, online spaces, documentation, contributor tools, and more

Workshop
15:10
15:10
30min
Fast on my machine: How to debug slow requests in production
Raphael Michel

Once your application accumulates more data, you will inevitably run into performance issues that you are unable to reproduce on your development machine. Let's look at strategies on solving these

Auditorium
15:40
15:40
30min
Coffee Break
Auditorium
16:10
16:10
30min
Navigating the maze of Django's URL routing: a deep dive
Timothy McCurrach

Grab your SCUBA gear - it's time for a deep dive!! Building from the ground up, we'll re-implement Django's URL routing machinery and learn about best practices, bugs, and URL design along the way.

Auditorium
16:45
16:45
45min
Lightning Talks

Lightning Talks

Auditorium
17:30
17:30
15min
Closing Session

Closing Session

Auditorium
18:00
18:00
120min
Party
Auditorium
No sessions on Saturday, June 8, 2024.
No sessions on Sunday, June 9, 2024.