skillfed

simple-pid

A simple, easy to use PID controller

simple-pid v2.0.1 230.5K downloads/30d#9,109 on PyPI907
Permissive license DORMANT released

What it is and what it does

simple-pid is a standalone PID (proportional-integral-derivative) controller implementation with no external dependencies. It takes a system's current measured value, compares it to a desired setpoint, and outputs a control signal designed to minimize the error over time. The package is built on established PID tuning principles and is intended for straightforward feedback-control applications where you need to drive a process toward a target state.

You instantiate a PID object with proportional, integral, and derivative gains, set a target setpoint, and then call the controller in a loop with the system's current measurement to get the next control output. It's a minimal, self-contained tool for applications like temperature regulation, motor speed control, or any other closed-loop system where you want to avoid external control-system libraries.

Use it for:

  • Temperature regulation in an oven or heating system by adjusting power output based on measured temperature.
  • Motor speed control by feeding back actual RPM and adjusting voltage or PWM to reach a target speed.
  • Drone altitude hold by using altitude feedback to adjust throttle and maintain a setpoint height.
  • Robotic arm position tracking by comparing desired and actual joint angles and computing corrective torques.
  • Water level management in a tank by adjusting pump flow based on level sensor readings.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

A dependency-free PID controller library that computes control outputs from system feedback to drive a process toward a setpoint.

Yes, if you need a lightweight, dependency-free PID controller for a straightforward feedback-control task. The package is stable (Production/Stable status), well-documented, and carries no known vulnerabilities. Dormant maintenance is acceptable for a mature, narrow-scope tool; however, if you need active support or cutting-edge features, consider whether the lack of recent commits matters for your use case.

Install

simple-pid on PyPI

pip

pip install simple-pid

uv

uv add simple-pid

poetry

poetry add simple-pid

Installing simple-pid

Before you install

Installs with no runtime dependencies and carries a dormant maintenance status (last release 2024-07-21, no commits since). The wheel-only distribution is straightforward to install.

License in practice

Licensed under MIT (permissive), so you can use, modify, and distribute the package freely with minimal restrictions.

Quickstart

from simple_pid import PID

pid = PID(1, 0.1, 0.05, setpoint=1)
v = controlled_system.update(0)

while True:
    control = pid(v)
    v = controlled_system.update(control)

Verify before relying

  • Whether the package's PID tuning guidance or parameter-setting tools match your specific control application's needs.
  • Real-world performance characteristics (response time, stability) for your particular system dynamics.

Package facts

License not declared (permissive)
Python support supports the current Python release (>=3.6)
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance dormant — 754 days since the last release
Last repo commit
First released
Downloads 230,458/month — #9,109 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: simple_pid-2.0.1-py3-none-any.whl

Keywords: pid, controller, control

Development Status :: 5 - Production/StableLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3

Tags

pid controller pythonfeedback control loopprocess controlpid tuningcontrol system simulationsetpoint trackingerror correction loop
control-systemsfeedback-loopembedded-friendly

More Scientific/Engineering packages