gitwtfhub

wtf is python-periphery?

peng-zhihui/python-periphery — explained in plain English

Analysis updated 2026-07-18 · repo last pushed 2019-11-09

100Audience · developerComplexity · 2/5DormantLicenseSetup · easy

TL;DR

A pure-Python library for controlling hardware on Linux boards like Raspberry Pi, GPIO, PWM, SPI, I2C, serial, and more, without writing low-level code.

Mindmap

mindmap
  root((repo))
    What it does
      Reads and writes GPIO
      Controls PWM and LEDs
      Talks SPI and I2C
      Supports serial and MMIO
    Tech stack
      Python 2 and 3
      Pure Python
      Linux kernel interfaces
    Use cases
      Home automation sensors
      Robotics motor control
      Embedded prototyping
    Audience
      Embedded developers
      Makers and hobbyists

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Read a temperature sensor and control a fan motor from a Raspberry Pi or BeagleBone using plain Python

REASON 2

Flash an LED or dim it with PWM without writing kernel drivers

REASON 3

Talk to sensors and chips over SPI or I2C for an embedded project

REASON 4

Control GPIO pins directly for a home automation or robotics prototype

What's in the stack?

Python

How it stacks up

peng-zhihui/python-peripherya458378326454/windows-optimizeraimino-tech/opendocswork-mcp
Stars100100100
LanguageRust
Last pushed2019-11-09
MaintenanceDormant
Setup difficultyeasyeasymoderate
Complexity2/51/53/5
Audiencedevelopergeneraldeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · easy Time to first run · 30min

Pure Python with no compilation needed, but you do need a Linux board with the relevant hardware interfaces enabled.

MIT licensed, free to use in personal or commercial projects.

Yoink these prompts

Prompt 1
Show me how to use python-periphery to read a GPIO pin and turn on an LED on my Raspberry Pi.
Prompt 2
Explain how to control motor speed with PWM using this library.
Prompt 3
Help me set up an I2C connection to a sensor using python-periphery.
Prompt 4
Walk me through reading serial data from a USB device with this library.

Frequently asked questions

wtf is python-periphery?

A pure-Python library for controlling hardware on Linux boards like Raspberry Pi, GPIO, PWM, SPI, I2C, serial, and more, without writing low-level code.

Is python-periphery actively maintained?

Dormant — no commits in 2+ years (last push 2019-11-09).

What license does python-periphery use?

MIT licensed, free to use in personal or commercial projects.

How hard is python-periphery to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is python-periphery for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.