Supporting CPython on Unsupported Platforms
log in to bookmark this presentaton
Abstract
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.