Python API for controlling GPIO and I2C devices connected to the Raspberry Pi
Python Perl Shell
Switch branches/tags
Nothing to show

Quick2Wire Python API

A Python library for controlling the hardware attached to the Raspberry Pi's header pins, without running as the root user.


The library depends on Python 3. To install Python 3 run this command from an administrator account, such as pi:

sudo apt-get install python3

You'll also find the python tools virtualenv and pip useful:

sudo apt-get install python-pip
sudo apt-get install python-virtualenv

The GPIO API depends on Quick2Wire GPIO Admin. To install Quick2Wire GPIO Admin, follow the instructions at

The I2C and SPI API depend on support in the kernel. Recent raspbian kernels should be fine.


The library is currently under active development, so we do not recommend installing it into the system-wide Python libraries. Instead, you can either use it without installation or install it into an isolated Python development environment created with virtualenv.

To use the library without installation, add the full path of the source tree to the PYTHONPATH environment variable. For example:

export QUICK2WIRE_API_HOME=[the directory cloned from Git or unpacked from the source archive]

If you're using virtualenv, make your virtualenv active, and then run:

python3 install

Getting Started

Help and Support

There is a discussion group in which you can ask questions about the library.

If you have discovered a bug or would like to request a feature, raise an issue in the issue tracker.