How to ship a Python app to a hundred million desktops

Lessons learned from building a Desktop application with Python

Max Bélanger

Architecture Best Practice Cross-Platform-Development Mac OS X Windows

Python is widely used to write scripts and tools, but did you know that it can also be used to build client-side end-user applications? Crossing the gap from script to app can be challenging: Join us to learn how to write modern, high quality desktop apps in Python!

At Dropbox, we’ve been fans of Python from the very beginning: we’ll take you on a tour of our app for Windows/macOS/Linux and share our “lessons learned” from over 10 years of development.

We’ll share best practices and techniques for shipping Python code to hundreds of millions of devices: discover how to maximize security, improve performance and guarantee stability.

We’ll explore the key choices we made and why: learn how we migrated to Python 3 by simultaneously shipping both versions, or how we use HTML to power our GUI (a la Electron).

We’ll reveal our favorite tools and libraries: learn how we scaled from a few engineers to over 100 and added support for other programming languages (like Rust).

The goal of this talk is to share our learnings from using Python on Windows, macOS and Linux to encourage the use of Python when building Desktop apps.
- We also want to recognize the third-party libraries we’ve used (and their authors) to raise their profile with the overall community.
- We hope this will inspire attendees to write more desktop Python code, and raise awareness for this use case with the community as a whole.

We intend to speak to any Python developer/engineer or enthusiast who makes use of Python in a Desktop environment (or wants to), whether it’s to make scripts, tools or apps.
We do not expect knowledge of any specific third-party Python libraries; in fact, we hope to draw attention to and recognize many libraries we’ve found useful.

Type: Talk (45 mins); Python level: Intermediate; Domain level: Beginner

Max Bélanger


Max Bélanger is a Principal Engineer and advisor at Dropbox. He joined the company in 2010 as one of its first engineering interns and helped build many of Dropbox's desktop features, including Finder integration and the Dropbox Badge. He recently served as architect for Dropbox's desktop products, helping to maintain Dropbox's fork of Python as well as leading the transition to Python 3. Max studied Software Engineering at the University of Ottawa, Canada.