Covered in Bees! Deploying an app to 6 platforms in 20 minutes

by Russell Keith-Magee; published 5 August 2017

Have you ever wanted to write a GUI application you can run on your laptop? What about an app that you can run on your phone? Historically, these have been difficult to achieve with Python, and impossible to achieve without learning a different API for each platform. But no more.

BeeWare is a collection of tools and libraries that allows you to build cross-platform native GUI applications in pure Python, targeting desktop, mobile and web platforms. In this talk, you'll be introduced to the BeeWare suite of tools and libraries, and see how you can use them to develop, from scratch, a simple GUI application that can be deployed as a standalone desktop application, a mobile phone application, and a single page webapp - without making any changes to the application's codebase.

As seen at PyCon AU 2017

How to write a Python transpiler

by Russell Keith-Magee; published 20 May 2017

We all know Python is a powerful and expressive programming language. What you may not know is how much of the internals of Python itself is exposed for you to use and manipulate.

In this talk, you'll be introduced to the tools and libraries Python provides to manipulate the compilation and execution of Python code. You will also see how you can use those tools to target execution environments other than the CPython virtual machine.

As seen at PyCon US 2017

Making a TV remote in Python

published Anthony Shaw; 4 February 2017

Anthony Shaw walks through the process of using Briefcase, Toga, and the Python iOS support tools to build a remote control app for his TV.

Click here to read the full article

Pybee is awesome

published Elias Dorneles; 28 October 2016

Elias Dorneles writs on why he thinks BeeWare is awesome and why you should help build it.

Click here to read the full article

Implementing mktime in Batavia or why CPython is a better choice for building a time machine

published Jacob Stoebel; 16 October 2016

The Python function mktime tells us how many seconds a datetime is from the epoch. It is based on the C function of the same name and while this makes it run fast, it also means it is platform dependent. The goal of Batavia is to bring Python to the web browser meaning platform dependencies need to be ironed out.

Click here to read the full article

Talk Python #79

by Michael Kennedy; published 9 October 2016

Could you write me a Python app for the wide range of platforms out there? Oh, wait, I want them to be native GUI applications. And I need them on mobile (Android, iOS, tvOS, and watchOS) as well as major desktop apps. I also need them to appear indistinguishable from native apps (be a .app on macOS, .exe on Windows, etc).

What technology would you use for this? This week I'll introduce you to a wide set of small, focused and powerful tools that make all of this, and more, possible. We're speaking with Russell Keith-Magee, founder of the Beeware project.

Click here to listen

Towards your first iPhone app, in Python

published Tennessee Leeuwenburg; 16 August 2016

A step-by-step guide to writing an iPhone app using Python.

Click here to read the full article

Python All The Things

by Russell Keith-Magee; published 14 August 2016

We’re familiar with Python as a scripting language, as a web server language, as a teaching language, as a data analysis language, and as a teaching language. But is that the limit of where Python can be used? What is the future for Python on other platforms? Is the prospect of using Python on those platforms a novelty, or a viable way to fend off an existential threat to the language? And how does this threat intersect with other threats we have to our community, and to our industry?

As seen at PyCon AU 2016

500 Lines: A Python Interpreter Written in Python

published Allison Kaptur; 12 July 2016

Byterun is a Python interpreter implemented in Python. Through my work on Byterun, I was surprised and delighted to discover that the fundamental structure of the Python interpreter fits easily into the 500-line size restriction. This chapter will walk through the structure of the interpreter and give you enough context to explore it further. The goal is not to explain everything there is to know about interpreters—like so many interesting areas of programming and computer science, you could devote years to developing a deep understanding of the topic.

Click here to read the full article


by Russell Keith-Magee; published 2 July 2016

Tobias Macey and Chris Patti host Russell Keith-Magee on Podcast.__init__, where they talk about the past and future of BeeWare, tea sets, and mental health.

Click here to listen


Editor's picks

There's lots of great content here, but if you haven't got time to consume it all, here's our pick of the best of the best:

If you write an article, record a screencast, or publish something else that you think might be of interest to the BeeWare community, please get in touch.