pyghmi
Python General Hardware Management Initiative (IPMI and others)
What it is and what it does
Pyghmi is a Python library for communicating with Intelligent Platform Management Interface (IPMI) controllers and other hardware management systems. It allows you to remotely query and control server hardware—power on/off, read sensor data, manage users, and interact with the baseboard management controller (BMC)—without needing proprietary vendor tools. The library depends on cryptography and python-dateutil for secure communication and timestamp handling.
The package targets system administrators and infrastructure teams who need programmatic access to hardware management tasks. It was originally developed as part of the OpenStack project but is now archived on GitHub; the active development has moved to OpenDev. While it has low install friction, the abandoned status and lack of recent updates mean you should evaluate whether it meets your current Python version and IPMI feature requirements before adopting it.
Use it for:
- Automate power cycling and boot management for physical servers in a data center
- Monitor hardware sensors (temperature, voltage, fan speed) and log them to a central system
- Programmatically manage IPMI user accounts and permissions across multiple BMCs
- Build custom infrastructure-as-code tools that interact with server hardware without vendor GUIs
- Integrate IPMI operations into deployment or disaster-recovery automation workflows
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Pyghmi provides Python bindings for IPMI (Intelligent Platform Management Interface) and other hardware management protocols, enabling remote management and monitoring of servers and systems.
Yes, if you need IPMI control and are comfortable with an abandoned package. The library is stable and has low install friction, but you should verify that version 1.6.19 supports your Python version and IPMI hardware, and consider whether the OpenDev fork offers a more actively maintained alternative. Not recommended for new projects requiring ongoing security updates or modern Python support.
Install
pyghmi on PyPI
pip
pip install pyghmiuv
uv add pyghmipoetry
poetry add pyghmiInstalling pyghmi
Before you install
Low install friction with only 2 runtime dependencies (cryptography and python-dateutil). However, the package is abandoned—last commit was 2019-09-26 and the repository is archived. The project has moved to OpenDev, suggesting the PyPI version may no longer receive updates or security patches.
License in practice
Licensed under Apache License, Version 2.0 (permissive), which allows commercial and private use with minimal restrictions, though you should verify the current license status at the new OpenDev location.
Quickstart
pip install pyghmi
import pyghmi.ipmi
ipmi_conn = pyghmi.ipmi.create_ipmi_console(bmc='hostname', userid='admin', password='pass')
Requires network access to an IPMI-capable BMC (Baseboard Management Controller); local testing without hardware is limited.
Verify before relying
- Whether the PyPI version 1.6.19 receives security updates or if the OpenDev fork is the active maintenance point
- Current Python version support—classifiers list 2.7 and 3.6–3.8, but modern Python compatibility is unclear
- Whether IPMI protocol features and BMC vendor support are sufficient for your specific hardware
- Actual IPMI API surface and which hardware vendors are tested and supported
Package facts
| License | Apache License, Version 2.0 (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — cryptography, python-dateutil |
| Maintenance | abandoned — 32 days since the last release |
| Last repo commit | (repository archived) |
| First released | |
| Downloads | 579,734/month — #5,917 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pyghmi-1.6.19-py3-none-any.whl
Tags
More Monitoring packages
Wraps any iterable to display a real-time…
copyleft · top 100 on PyPI
opentelemetry-semantic-conventionsProvides generated Python code for…
permissive · top 100 on PyPI
opentelemetry-sdkProvides the reference implementation of the…
permissive · top 100 on PyPI
opentelemetry-apiProvides the abstract API and interfaces for…
permissive · top 100 on PyPI
opentelemetry-exporter-otlp-proto-httpExports OpenTelemetry observability data to an…
permissive · top 1,000 on PyPI
opentelemetry-instrumentationProvides automatic instrumentation commands and…
permissive · top 1,000 on PyPI
python-gvmPython library that abstracts the Greenbone…
copyleft · top 15,000 on PyPI
python-ipmiPure Python library for communicating with…
copyleft · top 15,000 on PyPI
WMIWMI wraps Windows Management Instrumentation to…
permissive · top 5,000 on PyPI
pyftdiPyFtdi provides a pure-Python user-space driver…
permissive · top 15,000 on PyPI
PyVISAPyVISA provides Python bindings to VISA…
permissive · top 5,000 on PyPI
hidapiProvides a Python interface to HIDAPI, enabling…
unclear · top 5,000 on PyPI
pylibftdiPythonic interface to FTDI USB devices via…
permissive · top 15,000 on PyPI
python-rtmidipython-rtmidi provides a Python interface to…
permissive · top 15,000 on PyPI
python-jenkinsPython wrapper for the Jenkins REST API that…
permissive · top 5,000 on PyPI
hidProvides Python bindings to the hidapi library…
permissive · top 15,000 on PyPI