Skip to content
A touchscreen interface, library, and app platform for Python and Raspberry Pi.
Branch: master
Clone or download
Latest commit f480057 Jan 8, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
apps Fixed Pi-specific bugs Dec 19, 2016
docs
res
temp Fixed Pi-specific bugs Dec 19, 2016
.gitattributes 💥🐫 Added .gitattributes Jan 3, 2016
.gitignore Freetype support in Keyboard Dec 4, 2016
.project
.pydevproject
.travis.yml
LICENSE Added License Jul 7, 2016
README.md Update README.md Jan 8, 2019
pyos.py Fixed freetype bug Dec 19, 2016

README.md

Python OS 6

Notice

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 __init__.py 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 __init__.py 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.
You can’t perform that action at this time.