xmrig-api 0.2.7
Allows interacting with the XMRig API.
Requires Python: >=3.8

# XMRig-API

`XMRig-API` is a Python module that enables seamless interaction with the XMRig API, offering a range of features designed to enhance usability, flexibility, and reliability. Detailed documentation is available [here](https://hreikin.co.uk/xmrig-api/), and can also be built locally if needed.

## Getting Started

To get started with `XMRig-API`, visit the [Usage](usage.md) page for a quick installation and usage guide. For an in-depth overview of the module’s capabilities, consult the reference pages available at the documentation site.  

For more examples, visit the [Examples](examples.md) page. Additionally, you can refer to the [Logging](logger.md) section for details on how to enable and configure logging.

## Features

`XMRig-API` includes several powerful features:

- **Support for Multiple Miners**: Configure and manage multiple miners from a single instance.
- **Data Persistence**: Store and manage miner data in a database to ensure resilience and prevent data loss during API or miner restarts.
- **Getting Started Examples**: Practical examples to help new users quickly understand and use the tool.
- **Reference Documentation**: Detailed documentation to guide you through all features and functions.  
- **Logging**: Configurable logging for better debugging and monitoring.
- **Custom Exceptions**: Specific exceptions for handling API errors, authorization errors, and connection errors.
- **API Interaction**: Fetch status, manage configurations, and control the mining process.
- **Data Caching**: Retrieve and cache various properties and statistics from the XMRig miner's API responses.
- **Database Operations**: Insert and delete miner-related data in the database.
- **Enhanced Data Persistence**: Improved database support with more detailed data storage and retrieval options.
- **XMRig-MO API Coverage**: Support for additional XMRig API data and functionalities from the MoneroOcean fork of XMRig.
- **Advanced Configuration Management**: More flexible and powerful configuration management capabilities.
- **Test Coverage**: A basic test suite for enhanced reliability and easier development.

## Planned Features

- **Extended API Coverage**: Support for additional XMRig API endpoints, data and functionalities from other forks, e.g. `xmrig-proxy`.
- **Performance Optimization**: Enhancements to improve the performance and efficiency of the module.
- **Improved Error Handling**: More robust error handling and recovery mechanisms.
- **Comprehensive Test Coverage**: A robust test suite for enhanced reliability and easier development.

These features make `XMRig-API` an ideal solution for both miners and developers seeking a user-friendly and robust tool.

## Contributing

Contributions are always welcome and greatly appreciated! To learn more about how you can contribute, check out the [Contributing](CONTRIBUTING.md) page.  

## Credits and Acknowledgments

`XMRig-API` originated as a fork of the [python-xmrig](https://github.com/CoulterStutz/python-xmrig) project. While the original project provided the foundation, `XMRig-API` has evolved into a distinct tool with its own unique features and direction.  

Special thanks to the creators of [python-xmrig](https://github.com/CoulterStutz/python-xmrig) for their foundational work, which inspired the development of this project.  

## Donations

If you find `XMRig-API` useful and would like to support its development, consider sending a donation in XMR to the following address:  

`49ipjnJgoRnPsX8v5LVzUvfpSou6agomvKZnqD8zqFVqG6aqeUvKPyJ4WXhodiBPSvAuPNEmhF5QSiaJ59ZgFKwq9bXzCjz`  

Your support is greatly appreciated!