GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - gpiozero/gpiozero: A simple interface to GPIO devices with Raspberry Pi

BranchesTags
Open more actions menu

Latest commit

 

History

1,636 Commits
1,636 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
.vscode
.vscode
 
 
docs
docs
 
 
gpiozero
gpiozero
 
 
gpiozerocli
gpiozerocli
 
 
scripts
scripts
 
 
tests
tests
 
 
.gitignore
.gitignore
 
 
.readthedocs.yaml
.readthedocs.yaml
 
 
LICENSE.rst
LICENSE.rst
 
 
Makefile
Makefile
 
 
README.rst
README.rst
 
 
RELEASE.rst
RELEASE.rst
 
 
rtd_requirements.txt
rtd_requirements.txt
 
 
setup.cfg
setup.cfg
 
 
setup.py
setup.py
 
 
tox.ini
tox.ini
 
 

Repository files navigation

gpiozero

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

  • Alex Chan
  • Alex Eames
  • Andrew Scheller
  • Barry Byford
  • Cameron Davidson-Pilon
  • Carl Monk
  • Chris R
  • Claire Pollard
  • Clare Macrae
  • Dan Jackson
  • Daniele Procida
  • damosurfer
  • Dariusz Kowalczyk
  • David Glaude
  • Delcio Torres
  • Edward Betts
  • Fatih Sarhan
  • Fangchen Li
  • G.S.
  • gnicki
  • Ian Harcombe
  • Jack Wearden
  • Jeevan M R
  • Josh Thorpe
  • Kyle Morgan
  • Linus Groh
  • Mahallon
  • Maksim Levental
  • Martchus
  • Martin O'Hanlon
  • Mike Kazantsev
  • Paulo Mateus
  • Phil Howard
  • Philippe Muller
  • Rick Ansell
  • Rimas Misevičius
  • Robert Erdin
  • Russel Winder
  • Ryan Walmsley
  • Schelto van Doorn
  • Sofiia Kosovan
  • Steve Amor
  • Stewart Adcock
  • Thijs Triemstra
  • Tim Golden
  • Yisrael Dov Lebow

See the contributors page on GitHub for more info.

About

A simple interface to GPIO devices with Raspberry Pi

gpiozero.readthedocs.io/

Topics

educationgpiophysical-computingpythonraspberry-piraspberrypizero-boilerplate

Resources

Readme
BSD-3-Clause license

Contributing

Contributing
Activity
Custom properties

Stars

2.1k stars

Watchers

80 watching

Forks

328 forks
Report repository

Releases

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.