pigpio
Raspberry Pi GPIO module
What it is and what it does
pigpio is a Python client library for the pigpio daemon, a hardware abstraction layer that manages GPIO pins on Raspberry Pi boards. It translates Python function calls into commands sent to the daemon, which handles the low-level hardware interaction. The library supports both Python 2 and Python 3 and has no external runtime dependencies, making installation simple.
The package is intended for projects that need to read or write GPIO pins—controlling digital I/O devices connected to a Raspberry Pi. It abstracts away the complexity of direct memory-mapped hardware access by delegating to the daemon, which runs as a separate process and can be accessed over the network. However, the project has been abandoned since 2020, so it is best suited for maintaining existing code or for educational use on stable hardware rather than as a foundation for new projects.
Use it for:
- Control digital outputs connected to Raspberry Pi GPIO pins in Python applications.
- Read button presses or sensor inputs from GPIO pins in a Python application.
- Build home automation or robotics projects that interact with GPIO-connected devices.
- Prototype hardware experiments on Raspberry Pi with simple Python scripts.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides Python access to the pigpio daemon for controlling GPIO pins on Raspberry Pi hardware.
Yes, if you are maintaining existing code that already uses pigpio or need a straightforward GPIO interface for a stable, unchanging Raspberry Pi project. No, if you are starting a new project—consider more actively maintained alternatives. The lack of updates since 2020-09-29 and abandoned status mean you will not receive bug fixes or support for newer hardware or Python versions.
Install
pigpio on PyPI
pip
pip install pigpiouv
uv add pigpiopoetry
poetry add pigpioInstalling pigpio
Before you install
Installation is straightforward with no runtime dependencies, but the project is abandoned—last release was 2020-09-29, over 2145 days ago. Use only if you are maintaining existing code or targeting stable, unchanging hardware interfaces.
License in practice
Licensed under unlicense.org (permissive), placing the code in the public domain or near-equivalent terms with minimal restrictions on use or modification.
Quickstart
pip install pigpio
import pigpio
pi = pigpio.pi()
pi.set_mode(pigpio.OUTPUT)
pi.write(1)
Requires the pigpio daemon to be running on the Raspberry Pi; the Python module is a client that communicates with it, not a standalone GPIO driver.
Verify before relying
- Whether the pigpio daemon is pre-installed or must be installed separately on modern Raspberry Pi OS distributions.
- Compatibility with recent Raspberry Pi hardware models and Python versions beyond those listed in classifiers.
- Specific GPIO pin numbering and control patterns supported by the daemon interface.
Package facts
| License | unlicense.org (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | abandoned — 2,145 days since the last release |
| First released | |
| Downloads | 135,993/month — #11,409 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pigpio-1.78-py2.py3-none-any.whl
Keywords: raspberrypi, gpio
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
gpiozerogpiozero provides a high-level Python interface…
permissive · top 15,000 on PyPI
PIconnectPIconnect provides Python access to OSIsoft PI…
permissive · top 15,000 on PyPI
pymata-expressAn asyncio-based Python client for controlling…
agpl · top 15,000 on PyPI
RPi.GPIORPi.GPIO provides Python control over Raspberry…
permissive · top 15,000 on PyPI
gpiodPython bindings for libgpiod, the official…
copyleft · top 15,000 on PyPI
numato-gpioProvides a Python API to control Numato USB…
permissive · top 15,000 on PyPI
pinsPins publishes and shares Python objects (data,…
permissive · top 15,000 on PyPI
pyftdiPyFtdi provides a pure-Python user-space driver…
permissive · top 15,000 on PyPI
Adafruit-BlinkaAdafruit-Blinka emulates CircuitPython APIs on…
permissive · top 15,000 on PyPI
zigpy-zigateProvides a Python 3 driver for ZiGate Zigbee…
copyleft · top 15,000 on PyPI