A lightweight Redfish API command-line tool
Project description
🔧 redfishLiteApi
A lightweight command-line tool to interact with Redfish APIs using GET, POST, and PATCH methods. Designed for quick testing, debugging, and field extraction.
📦 Features
-
✅ Support for
GET,POST, andPATCH -
🔐 Basic Authentication (
-U/-P) -
📁 JSON body input via file (
--json_file) -
🔍 Recursive field value search with
--find(supports multiple fields) -
💾 Save response to file (
--save) -
🧾 Custom HTTP headers (
--header) -
⏱️ 10-second request timeout to prevent hanging
-
🧯 Disable SSL verification warnings
-
📡 HTTP Status display
-
⚠️ JSON parse error handling with fallback to raw text
-
🔢
--versionsupport
🚀 Usage
python redfishLiteApi.py --url <API_URL> --method <get|post|patch> [OPTIONS]
✅ Example: Basic GET request
python redfishLiteApi.py --url https://<host>/redfish/v1/Systems --method get
🔐 Example: Authenticated GET with header and find field
python redfishLiteApi.py --url https://<host>/redfish/v1/Systems --method get \ -U admin -P password \ --header "If-Match:W/\"etag-value\"" \ --find Id Name PowerState
📝 Example: PATCH with body file
python redfishLiteApi.py --url https://<host>/redfish/v1/Managers/1/EthernetInterfaces/1 \ --method patch -U admin -P password --json_file update.json
💾 Example: Save output to file
python redfishLiteApi.py --url https://<host>/redfish/v1/Systems --method get --save output.json
📌 Check version
python redfishLiteApi.py --version
🧠 Argument Summary
Argument
Description
--url
Redfish API endpoint URL (required)
--method
HTTP method: get, post, or patch (required)
-U / --username
Basic auth username
-P / --password
Basic auth password
--json_file
Path to JSON file for POST or PATCH body
--find
One or more JSON field names to recursively extract (GET only)
--save
Save the response body to a file
--header
Custom headers in Key:Value format (can be repeated)
--version
Show current version and exit
⚠️ Notes
-
SSL certificate verification is disabled (
verify=False). -
Timeout is hardcoded to 10 seconds.
-
HTTP error handling is basic — be sure to inspect the response if you encounter unexpected results.
🛠 Dependencies
-
Python 3.x
-
requests
Install dependencies via:
pip install -r requirements.txt
requirements.txt content:
requests
📜 License
MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file redfishliteapi-1.0.1.tar.gz.
File metadata
- Download URL: redfishliteapi-1.0.1.tar.gz
- Upload date:
- Size: 4.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a23563a6c705f480a9c057eae9baffba1890d719187c934986fedab985833d5d
|
|
| MD5 |
4e50f05743bbd9a7f186d14e5f04f9ac
|
|
| BLAKE2b-256 |
37b51510c3cdb1791604f0faf71ac47b441ec1dfc713112275923e6540d302b6
|
File details
Details for the file redfishliteapi-1.0.1-py3-none-any.whl.
File metadata
- Download URL: redfishliteapi-1.0.1-py3-none-any.whl
- Upload date:
- Size: 4.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e84e9486edd61e8654f4d3c33e4723210b79de250fa795a9975fc1aa954a196a
|
|
| MD5 |
af47b6508f762678ce623b2b1d4ac31a
|
|
| BLAKE2b-256 |
9edd540f504352b658ca96e460041b4787755e568efcde2b545d4c3c23a63e21
|