redfish
Redfish Python Library
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 redfishuv
uv add redfishpoetry
poetry add redfishInstalling 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
Tags
More Communications packages
Pyasn1 encodes and decodes ASN.1 data…
permissive · top 100 on PyPI
pyasn1-modulesProvides a collection of ASN.1 data structures…
permissive · top 100 on PyPI
kombuKombu is a messaging library that provides a…
permissive · top 1,000 on PyPI
humanfriendlyFormats and parses numbers, file sizes,…
permissive · top 1,000 on PyPI
coloredlogsAdds colored output to Python's standard…
permissive · top 1,000 on PyPI
aiosmtplibaiosmtplib is an asynchronous SMTP client that…
permissive · top 5,000 on PyPI
openshiftPython client library for interacting with…
permissive · top 15,000 on PyPI
pyactiveresourcePyActiveResource maps Python classes to remote…
permissive · top 5,000 on PyPI
prometheus-remote-writerSends time-series metrics to…
permissive · top 15,000 on PyPI
requests-hardenedWraps the requests library to enforce security…
permissive · top 15,000 on PyPI
hammockHammock wraps the requests library to let you…
unclear · top 15,000 on PyPI
azure-mgmt-redisenterpriseManages Azure Redis Enterprise clusters and…
unclear · top 5,000 on PyPI
urllib3urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
yarn-api-clientPython client library for querying and managing…
permissive · top 15,000 on PyPI
vllm-srRoutes LLM requests to appropriate models in a…
permissive · top 15,000 on PyPI
requests-ntlm2Adds NTLM authentication support to the…
permissive · top 15,000 on PyPI