A simple API wrapper for the 24Fire REST API
Project description
FireAPI
Overview
FireAPI is a Python library that serves as a wrapper for the 24Fire REST API. It allows you to perform basic operations on a KVM server using a private API key. The library provides the following functionalities:
- Get server configuration
- Get server status
- Start server
- Stop server
- Restart server
- Delete backup (exclusive to
24fire+
subscribers) - Create backup (exclusive to
24fire+
subscribers) - List all backups (exclusive to
24fire+
subscribers) - Retrieve monitoring timings (exclusive to
24fire+
subscribers) - Retrieve monitoring incidences (exclusive to
24fire+
subscribers) - Async Support
[!NOTE] Disclaimer: Unable to test
24fire+
exclusive features due to lack of subscription. If you encounter issues, please report them on GitHub.
Table of Contents
Installation
To install FireAPI, use pip:
pip install fireapi
Alternatively, you can build and install the package manually:
git clone https://github.com/EvickaStudio/24-Fire-REST-API.git
cd 24-Fire-REST-API
python -m build
pip install ./
Usage
Synchronous Usage
To get started, import the FireAPI
class from the fireapi
package and instantiate it using your API key:
from fireapi import FireAPI
API_KEY = "your-api-key-here"
fire_api = FireAPI(API_KEY)
Once the instance is created, you can interact with the 24Fire REST API using the provided methods:
# Get server configuration
config = fire_api.get_config()
print(config)
# Get server status
status = fire_api.get_status()
print(status)
# Start server
start = fire_api.start_server()
print(start)
# Stop server
stop = fire_api.stop_server()
print(stop)
# Restart server
restart = fire_api.restart_server()
print(restart)
# Delete a backup
delete_backup = fire_api.backup_delete("backup_id")
# Create a backup
create_backup = fire_api.backup_create("Backup description")
# List all backups
backups = fire_api.backup_list()
# Retrieve monitoring timings
timings = fire_api.timings()
# Retrieve monitoring incidences
incidences = fire_api.incidences()
Asynchronous Usage
When using the async
methods, you can use the await
keyword to wait for the response:
import asyncio
from fireapi import AsyncFireAPI
async def main():
API_KEY = "your-api-key-here"
try:
fire_api = AsyncFireAPI(API_KEY)
# Get server configuration
config = await fire_api.get_config()
print(config)
# And the other methods that FireAPI provides
except Exception as e:
print(f"An error occurred: {e}")
if __name__ == "__main__":
asyncio.run(main())
Documentation
For more information on the 24Fire REST API, refer to the original documentation.
Contributing
Contributions are welcome! If you encounter any issues or have suggestions for improvements, please open an issue or submit a pull request on the GitHub repository.
License
This project is licensed under the AGPL v3 License.
Project details
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
File details
Details for the file fireapi-0.4.3.tar.gz
.
File metadata
- Download URL: fireapi-0.4.3.tar.gz
- Upload date:
- Size: 20.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4bc579566d36d1bd449c32ff232169b51c3d60c8c5df2ac9571acc73e3f6d00e |
|
MD5 | 55d75fdbe4598082ad1c82417a17a242 |
|
BLAKE2b-256 | 7328af54a02e3a61df0cdd09369da70aaae10cb6853c1f5647df7bea631d4765 |
File details
Details for the file fireapi-0.4.3-py3-none-any.whl
.
File metadata
- Download URL: fireapi-0.4.3-py3-none-any.whl
- Upload date:
- Size: 19.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 293c5445aa454f54c34fc16f54151b217a6ecb9605f950ce42627a273118c890 |
|
MD5 | b0961b2c2512e9107454da9a90aad069 |
|
BLAKE2b-256 | 70589fc8c6757e3d03b330be3a56c2ba6c913571abd571e73e9ac22274be13db |