Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Python OS 6


This project is no longer being actively developed. Its successor project is Polaron, a more dynamic UI package useful for a wider array of applications.

GitHub Stars GitHub pull requests GitHub Wiki MIT licensed Github All Releases Build Status

Python OS 6 is the ultimate interface for touch-enabled microcomputers such as the Raspberry Pi. It offers a complete interface replacement, an application management and distribution system, and a UI toolkit for creating event-driven apps in Python.

The stable version OS currently supports a 240x320 display, while the development version supports any screen size.

Key features include:

  • Application stack with support for threading, suspend, and app switch.
  • UI components that include scrolling and dialogs.
  • Event-driven callback programming that mixes the best of Python and Javascript.
  • Color themes and icons that help you make beautiful, polished apps.
  • Easy persistent storage.

##Donate to Python OS Support the development of this platform by making a donation in any amount. You may choose to enter your name (or username) on the donation screen and it will be added to the About app. Thank you!

##Get Started ###As a User

Simply download Python OS either on your computer (with Python and Pygame installed), or flash the disk image for your Pi (coming soon).

###As a Developer

Download and try out Python OS first.

Now, let's write a simple "Hello World" app.

Start by creating a folder titled "helloworld" under apps/.

In that folder, make two files, an and an app.json.

The app.json file will contain:

	"name": "helloworld",
	"title": "Hello World",
	"author": "Your_Name",
	"version": 1.0,
	"more": {
		"onStart": "hello"

The file will contain:

import pyos

def hello(state, app):
	app.ui.addChild(pyos.GUI.Text((5, 5), "Hello World!"))
  • Now, enter the About app and long press the "Start State Shell" button to launch the Debug App Bind feature.
  • Open your app's folder, then press the green dot button to select it and associate the app with the system.


A touchscreen interface, library, and app platform for Python and Raspberry Pi.







No packages published