Real Python Logo

Episode 22: Create Cross-Platform Python GUI Apps With BeeWare

The Real Python Podcast

Aug 14, 2020 1h 23m

Do you want to distribute your Python applications to other users who don’t have or even use Python? Maybe you’re interested in seeing your Python application run on iOS or Android mobile devices. This week on the show we have Russell Keith-Magee, the founder and maintainer of the BeeWare project. Russell talks about Briefcase, a tool that converts a Python application into native installers on macOS, Windows, Linux, and mobile devices.

We spend some time digging into BeeWare’s cross-platform widget toolkit named Toga. Russell talks about some of the intricacies of converting graphical user interface components from across multiple computing platforms. If you’re interested in contributing to an open source project, he discusses how you could get involved in the project. We also talk about the struggle of getting funding for open source projects.

Topics:

  • 00:00:00 – Introduction
  • 00:01:36 – History of the BeeWare project
  • 00:05:20 – Is having separate tools helpful?
  • 00:07:06 – Gaming frameworks in Briefcase
  • 00:09:05 – How is Briefcase different from similar tools?
  • 00:14:36 – Platform considerations 32bit vs 64bit
  • 00:16:27 – Coming Mac hardware platform changes
  • 00:18:20 – TOML: Background, use in Python projects, and Briefcase
  • 00:26:29 – How is the project going for different platforms?
  • 00:32:09 – Android hardware as a developer test device
  • 00:36:14 – Making Toga (GUI) cross platform
  • 00:41:21 – What type of interface widgets are available in Toga?
  • 00:44:26 – Video Course Spotlight
  • 00:45:37 – Distribution to the web as a platform
  • 00:49:54 – What is WASM (Web Assembly)?
  • 00:53:26 – Version numbering for BeeWare projects
  • 00:56:23 – What is your day-to-day involvement in the project?
  • 00:58:32 – How would someone get involved in the project?
  • 01:05:15 – Funding open-source projects
  • 01:13:31 – Including a smaller version of Python
  • 01:17:08 – What are you currently excited about?
  • 01:22:17 – What are you interested in learning next?
  • 01:23:07 – Thanks and Goodbye

Show Links: