skillfed

python-ipmi

Pure python IPMI library

python-ipmi v0.5.8 626.3K downloads/30d#5,690 on PyPI203
Copyleft license LGPLv2+ Active released

What it is and what it does

python-ipmi is a pure Python library that abstracts communication with Intelligent Platform Management Interface (IPMI) devices—typically baseboard management controllers in servers and embedded systems. It provides multiple interface backends: native RMCP for direct network communication, legacy RMCP and RMCP+ using ipmitool as a backend, KCS for local access, and IPMB for I2C-based communication. The library handles session establishment, authentication, privilege levels, and routing to allow you to query device information and send management commands to remote or local systems.

The package is designed for system administrators and developers who need to programmatically interact with server management hardware without writing raw IPMI protocol code. It has been tested against real hardware including Kontron, HPE iLO, and other vendor implementations. With no runtime dependencies and support for Python 3.7 through 3.13, it integrates easily into automation and monitoring tools.

Use it for:

  • Query device health and sensor data from remote servers via network IPMI without manual commands
  • Automate power control, reboot, and chassis management across a fleet of managed systems
  • Monitor and log BMC firmware versions and system information for inventory tracking
  • Build custom management dashboards or alerting systems that integrate with Python infrastructure
  • Test IPMI implementations on embedded systems or custom hardware using local KCS or IPMB

Worth the install?

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

Pure Python library for communicating with IPMI-enabled devices over multiple interfaces including RMCP, RMCP+, KCS, and IPMB.

Yes, if you need to automate IPMI device management from Python. The library is actively maintained, has no external runtime dependencies, and covers a broad range of IPMI interfaces. The Alpha status and LGPLv2+ copyleft license are not blockers for most use cases, but verify API stability for your specific workflow and ensure ipmitool or compatible hardware is available for your chosen interface.

Install

python-ipmi on PyPI

pip

pip install python-ipmi

uv

uv add python-ipmi

poetry

poetry add python-ipmi

Installing python-ipmi

Before you install

Low install friction with no runtime dependencies. Actively maintained with last commit on 2026-07-06. Alpha-stage maturity (Development Status :: 3 - Alpha) means the API may still evolve.

License in practice

Licensed under LGPLv2+, a copyleft license. You may use and modify the library freely, but any derivative works must also be distributed under compatible terms and include source code.

Quickstart

pip install python-ipmi

import python-ipmi

interface = create_interface('ipmitool', interface_type='lan')
connection = create_connection(interface)
connection.session.set_session_type_rmcp('10.0.0.1', port=623)
connection.session.establish()

For RMCP, RMCP+, and KCS interfaces, ipmitool must be installed on the system. For IPMB interface, either a Total Phase Aardvark device or Linux ipmb-dev driver with I2C slave mode support is required.

Verify before relying

  • Whether the library's Alpha status indicates active API changes or simply conservative versioning
  • Performance characteristics and latency for high-frequency polling or bulk operations
  • Compatibility with specific BMC firmware versions beyond the tested devices listed

Package facts

License LGPLv2+ (copyleft)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance actively maintained — 247 days since the last release
Last repo commit
First released
Downloads 626,306/month — #5,690 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: python_ipmi-0.5.8-py3-none-any.whl

Development Status :: 3 - AlphaEnvironment :: ConsoleLicense :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)Natural Language :: EnglishOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Software Development :: Libraries :: Python Modules

Tags

IPMI library pythonintelligent platform management interfacebaseboard management controller communicationremote management protocol pythonBMC interface libraryserver management pythonIPMI device control
hardware-managementserver-administrationprotocol-implementation

More Python Modules packages