The year of [packaging your Python app for] the Linux Desktop
Speaker
Juan Luis Cano Rodríguez
Juan Luis (he/him/él) is an aerospace engineer with a passion for tech communities and sustainability. He is currently working at Canonical as Developer Success Engineer, dedicating his time to amplify the global impact of open source. Juan Luis has a decade of experience as developer advocate, software engineer, and Python trainer in several industries, in companies of the likes of McKinsey, Read the Docs, Satellogic, Telefónica, and others.
PSF Fellow since 2017, he has made significant contributions to the PyData stack, published several open-source packages, and organized the first seven PyCons in Spain. Currently, he is the lead organizer of the PyData Madrid monthly meetups.
Obsessed about systemic change and looking for a way to live within our planetary boundaries ♻️
Abstract
In the last few years, we’ve seen amazing progress around Python packaging for library code. Packaging applications usually requires more work, but thanks to recent developments it’s getting easier than ever. Will this be the year of packaging your Python app for the Linux Desktop?
Description
In this workshop, you will learn about the different strategies you can follow to package Python software in general, and then you will apply some of those to a real application. We will leverage modern packaging techniques, use tools like uv, maturin, and Briefcase, and target different packaging formats such as .deb, AppImage, Flatpak, and Snap. To make things more interesting, we will include some Rust code that will have to be compiled as well.
This will be hands-on, so bring your laptop fully charged!
Outline:
- The circles of (packaging) Hell
- Modern library packaging with uv and uv-build
- Compiled code, the easy way: Rust and maturin
- Cross-platform GUIs with Toga
- Easy packaging for Debian-based distros with Briefcase
- More formats: AppImage, Flatpak, and Snap
- Conclusions and next steps