A simple, modular interface for interacting with a pi-top and its related accessories and components.
Supports all pi-top devices:
Supports pi-top Maker Architecture (PMA):
Supports all pi-top peripherals:
This SDK is currently in active development. Please be patient while we work towards v1.0.0!
When this library reaches v1.0.0, we will aim to maintain backwards-compatibility thereafter. Until then, every effort will be made to ensure stable support, but it cannot be guaranteed. Breaking changes will be clearly documented.
This SDK aims to provide an easy-to-use framework for managing a pi-top. It includes several Python 3 packages and modules for interfacing with a range of pi-top devices and peripherals. It also contains CLI utilities for interacting with your pi-top using the terminal.
The SDK is included out-of-the-box with pi-topOS.
Ensure that you keep your system up-to-date to enjoy the latest features and bug fixes.
You can easily connect different components of the system using the modules available in the library:
from time import sleep
from pitop import UltrasonicSensor
from pitop import Pitop
pitop = Pitop()
utrasonic = UltrasonicSensor("D1")
while True:
pitop.miniscreen.display_text(utrasonic.distance)
sleep(0.1)
Check out the API Recipes chapter of the documentation for ideas on how to get started.
This repository also contains a 'pi-top' command-line interface (CLI) for some SDK functionality:
$ pi-top oled write "Hey! I'm a $(pt devices hub)"
A 'pt' alias is also provided for quicker typing:
$ pt oled write "Hey! I'm a $(pt devices hub)"
Check out the CLI chapter of the documentation for ideas on how to get started.
The pi-top Python SDK is installed out of the box with pi-topOS, which is available from pi-top.com. To install on Raspberry Pi OS or other operating systems, see the Getting Started chapter.
The SDK is also available on PyPI.
On ARM devices, such as the Raspberry Pi, you need to include pi-top's repository to meet all the dependencies:
pip3 install pitop --extra-index-url=https://packagecloud.io/pi-top/pypi/pypi/simple
On non-ARM devices, you can omit the extra-index-url flag:
pip3 install pitop
You can also install a pitop subpackage directly in case you don't need the whole SDK:
pip3 install pitop.pma
To install the SDK in development mode run the script dev-install.sh
in the root of the repo:
./dev-install.sh
The script installs the subpackages in a particular order, given
the dependencies between them. Also, the --extra-index-url
parameter is added to install the onnxruntime
package
instead of building it from scratch for some architectures.
In case of build errors, you might need to install the gfortran
package:
sudo apt install -y gfortran
Comprehensive documentation is available here.
Please refer to the Contributing document in this repository for information on contributing to the project.
See the contributors page on GitHub for more info on contributors.