pycon logo

PyCon 2011 Atlanta

March 9th–17th

Log in or Sign Up

Supporting CPython on Unsupported Platforms

log in to bookmark this presentaton

Experienced / Talk
March 11th 11:05 a.m. – 11:35 a.m.
How do you manage a custom fork of Python for an unsupported OS running on custom hardware? That was the question at Vocollect, where we use Python on our wearable, voice-controlled computers. In this talk, I'll discuss how we did it, describe the problems and roadblocks we found, and show how we're managing our use of Python through 3.2 and beyond.


Vocollect produces voice-based wearable embedded devices for industry. We also provide a development environment that third-party developers can use to create applications to run on our devices, which are based on a customized version of Windows CE. Several years ago we decided to replace our 15-year-old graphical scripting environment with a better-supported scripting language. In the end, we chose Python.

We originally started by modifying the open-source "PythonCE" project, but after significant effort, we realized that the result wasn't something that we'd be able to support long-term.

Having learned from that effort, we threw out the code, started with a clean trunk, and set down some internal guidelines for developing our own fork. As a result, we now have a cleaner, more maintainable port of Python customized for our platform, which we'll be able to keep in sync for years in the future.

I'll talk about the specific challenges that made our first effort unsupportable, the guidelines we're using to prevent them from occurring again, and how recent developments like the Python 3 transition and the move to Mercurial have affected our efforts.