skillfed

redfish

Redfish Python Library

redfish v3.3.8 599.6K downloads/30d#5,828 on PyPI214
Permissive license BSD 3-clause "New" or "Revised License" Active released

What it is and what it does

The Redfish library is a Python client for REST-based hardware management services that conform to the Redfish specification. It wraps HTTP operations (GET, POST, PUT, PATCH, DELETE) on Redfish service endpoints, handling authentication via session tokens or HTTP Basic auth, and managing request/response serialization through its dependencies on jsonpath_ng, jsonpointer, and jsonpatch. The library is built on requests and urllib3, supporting proxies, custom timeouts, retry logic, and Unix socket connections via requests-unixsocket.

Typical usage involves creating a Redfish client object with a service URL and credentials, logging in, then issuing REST calls to query or modify system resources like compute nodes, power states, or firmware. The library handles task polling for long-running operations and supports optional parameters like custom CA certificates, per-request timeouts, and retry counts. It is actively maintained, carries no known vulnerabilities, and is widely used in hardware management automation workflows.

Use it for:

  • Query hardware inventory and system status from BMCs or management controllers supporting the Redfish standard.
  • Automate power operations (reset, shutdown) and firmware updates on managed systems.
  • Monitor system health metrics and sensor readings from Redfish-compliant services.
  • Integrate hardware provisioning and lifecycle management into infrastructure-as-code or orchestration tools.
  • Perform bulk operations across multiple managed systems via Redfish API endpoints.

Worth the install?

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

A Python library for interacting with Redfish-conformant REST services, performing GET, POST, PUT, PATCH, and DELETE operations on hardware management resources.

Yes. The library is actively maintained, has no known vulnerabilities, carries a permissive BSD license, and offers low install friction. It is the standard Python client for Redfish services and is well-suited for anyone automating hardware management on systems that expose a Redfish API. Install it if you need to interact with Redfish-conformant BMCs, management controllers, or cloud infrastructure APIs.

Install

redfish on PyPI

pip

pip install redfish

uv

uv add redfish

poetry

poetry add redfish

Installing redfish

Before you install

Low install friction; pure Python wheel with seven runtime dependencies (jsonpath_ng, jsonpointer, requests, requests_toolbelt, requests-unixsocket, jsonpatch, urllib3). Active maintenance with recent commits and no known vulnerabilities.

License in practice

BSD 3-clause permissive license allows commercial and private use with minimal restrictions; attribution required but no copyleft obligations.

Quickstart

pip install redfish

import redfish
REDFISH_OBJ = redfish.redfish_client(base_url='https://192.168.1.100', username='admin', password='pass')
REDFISH_OBJ.login(auth='session')
response = REDFISH_OBJ.get('/redfish/v1/Systems/1')

Requires a Redfish-conformant service endpoint; conflicts with the OpenStack 'python-redfish' package if both are installed.

Verify before relying

  • Whether the library supports modern Python versions beyond 3.5 (requires_python is unspecified in metadata).
  • Performance characteristics when handling large response bodies or high-frequency polling.
  • Whether SSL/TLS certificate validation can be fully disabled or only customized via cafile.

Package facts

License BSD 3-clause "New" or "Revised License" (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies 7 — jsonpath_ng, jsonpointer, requests, requests_toolbelt, requests-unixsocket, jsonpatch, urllib3
Maintenance actively maintained — 0 days since the last release
Last repo commit
First released
Downloads 599,561/month — #5,828 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: redfish-3.3.8-py3-none-any.whl

Keywords: Redfish

Development Status :: 5 - Production/StableLicense :: OSI Approved :: BSD LicenseProgramming Language :: Python :: 3Topic :: Communications

Tags

redfish api clienthardware management restbmc remote managementrest api http operationsredfish service clientsystem resource managementredfish conformant library
hardware-managementrest-clientredfish-api

More Communications packages