Skip to main content

A simple interface to GPIO devices with Raspberry Pi

Project description

A simple interface to GPIO devices with Raspberry Pi, developed and maintained by Ben Nuttall and Dave Jones.

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 OutputDevice, MotionSensor, LightSensor
from gpiozero.tools import booleanized, all_values
from signal import pause

garden = OutputDevice(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. 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 Raspberry Pi OS desktop images, available from raspberrypi.com. To install on Raspberry Pi OS Lite or other operating systems, including for PCs using remote GPIO or mock pins, 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.

Issues and questions

If you have a feature request or bug report, please open an issue on GitHub. If you have a question or need help, this may be better suited to our GitHub discussion board, the Raspberry Pi Stack Exchange or the Raspberry Pi Forums.

Contributors

See the contributors page on GitHub for more info.

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-2.0.1.post1.tar.gz (168.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gpiozero-2.0.1.post1-py3-none-any.whl (151.3 kB view details)

Uploaded Python 3

File details

Details for the file gpiozero-2.0.1.post1.tar.gz.

File metadata

  • Download URL: gpiozero-2.0.1.post1.tar.gz
  • Upload date:
  • Size: 168.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for gpiozero-2.0.1.post1.tar.gz
Algorithm Hash digest
SHA256 495dd22a29c52ce689468f68b87887364138af7fa672125bc71ae41f5952ad96
MD5 8f71ef35b0b2b9037cc5ba004e39d700
BLAKE2b-256 785166821d21e311e13aae2843b936158decafe060547be1ca6406088f0c2523

See more details on using hashes here.

File details

Details for the file gpiozero-2.0.1.post1-py3-none-any.whl.

File metadata

  • Download URL: gpiozero-2.0.1.post1-py3-none-any.whl
  • Upload date:
  • Size: 151.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for gpiozero-2.0.1.post1-py3-none-any.whl
Algorithm Hash digest
SHA256 878fa4e4b0f96ac026d4f8fb00fc02c351f658d5c56d53c97b26b0f24618e4e4
MD5 8758e8ceed03e99300b55a6ed6596490
BLAKE2b-256 fa8a7c30a2266717c9d7770a21ee4952f36259d20dc38e1ee861fc9ea8f60f43

See more details on using hashes here.

Supported by

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