Skip to main content

A simple interface to GPIO devices with Raspberry Pi.

Project description

Latest Version Build Tests Code Coverage

A simple interface to GPIO devices with Raspberry Pi.

Created by Ben Nuttall of the Raspberry Pi Foundation, Dave Jones, and other contributors.

About

Component interfaces are provided to allow a frictionless way to get started with physical computing:

from gpiozero import LED
from time import sleep

led = LED(17)

while True:
    led.on()
    sleep(1)
    led.off()
    sleep(1)

With very little code, you can quickly get going connecting your components together:

from gpiozero import LED, Button
from signal import pause

led = LED(17)
button = Button(3)

button.when_pressed = led.on
button.when_released = led.off

pause()

You can advance to using the declarative paradigm along with provided source tools to describe the behaviour of devices and their interactions:

from gpiozero import LED, MotionSensor, LightSensor
from gpiozero.tools import booleanized, all_values
from signal import pause

garden = LED(17)
motion = MotionSensor(4)
light = LightSensor(5)

garden.source = all_values(booleanized(light, 0, 0.1), motion)

pause()

See the chapter on Source/Values for more information.

The library includes interfaces to many simple everyday components, as well as some more complex things like sensors, analogue-to-digital converters, full colour LEDs, robotics kits and more. See the Recipes chapter of the documentation for ideas on how to get started.

Pin factories

GPIO Zero builds on a number of underlying pin libraries, including RPi.GPIO and pigpio, each with their own benefits. You can select a particular pin library to be used, either for the whole script or per-device, according to your needs. See the section on changing the pin factory.

A “mock pin” interface is also provided for testing purposes. Read more about this in the section on mock pins.

Installation

GPIO Zero is installed by default in the Raspbian desktop image, available from raspberrypi.org. To install on Raspbian Lite or other operating systems, including for PCs using remote GPIO, see the Installing chapter.

Documentation

Comprehensive documentation is available at https://gpiozero.readthedocs.io/. Please refer to the Contributing and Development chapters in the documentation for information on contributing to the project.

Contributors

Core developers:

Other contributors:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gpiozero-1.5.1.tar.gz (142.6 kB view details)

Uploaded Source

Built Distribution

gpiozero-1.5.1-py2.py3-none-any.whl (138.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file gpiozero-1.5.1.tar.gz.

File metadata

  • Download URL: gpiozero-1.5.1.tar.gz
  • Upload date:
  • Size: 142.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.6.7

File hashes

Hashes for gpiozero-1.5.1.tar.gz
Algorithm Hash digest
SHA256 ae1a8dc4e6e793ffd8f900968f3290d218052c46347fa0c0503c65fabe422e4d
MD5 3783098afbc8e0997a70e5595a365adf
BLAKE2b-256 ee1e66afe4ebdd22369be57ba66c2f1ceabcd7c4204c48f0ad4f14209b31d0f5

See more details on using hashes here.

File details

Details for the file gpiozero-1.5.1-py2.py3-none-any.whl.

File metadata

  • Download URL: gpiozero-1.5.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 138.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.6.7

File hashes

Hashes for gpiozero-1.5.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 101044038e71cec8be2fa841d4cea9e50e7962e9fb0287f465298b59e3f06594
MD5 8ddc6f42136cea5acb00b79c0c59bcd8
BLAKE2b-256 5a06e3440c452a0c2ba1f12527c12c5676b158f2591ac6c43979016f21f71b2a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page