Add your description here
Project description
SolarEdge Monitoring API Client
A Python client library for the SolarEdge Monitoring API, providing both synchronous and asynchronous interfaces for accessing solar energy data.
See https://www.solaredge.com/sites/default/files/se_monitoring_api.pdf
Table of Contents
Features
- Sync & Async Support: Choose between
MonitoringClient(sync) andAsyncMonitoringClient(async) - Full API Coverage: All monitoring endpoints supported
- Type Hints: Complete type annotations for better IDE support
- Rate Limiting: Built-in awareness of API limits (3 concurrent requests)
- Context Manager Support: Automatic resource cleanup
Installation
pip install solaredge
poetry add solaredge
uv add solaredge
Quick Start
Synchronous Usage
from solaredge import MonitoringClient
# Basic usage
client = MonitoringClient(api_key="YOUR_API_KEY")
sites = client.get_site_list()
client.close()
# Context manager (recommended)
with MonitoringClient("YOUR_API_KEY") as client:
site_details = []
sites = client.get_site_list()
for site in sites['sites']['list']:
site_details.append(
client.get_site_details(
site_id=site['id'],
)
)
Asynchronous Usage
import asyncio
from solaredge import AsyncMonitoringClient
async def main():
async with AsyncMonitoringClient(api_key="YOUR_API_KEY") as client:
sites = await client.get_site_list()
# Concurrent requests (respecting 3 concurrent limit)
tasks = []
for site in sites['sites']['list']:
task = client.get_site_details(site_id=site['id'])
tasks.append(task)
site_details = await asyncio.gather(*tasks)
asyncio.run(main())
Rate Limiting & Best Practices
- Daily limit: 300 requests per API Key and per site ID
- Concurrency: Maximum 3 concurrent requests from same IP
- Bulk operations: Up to 100 site IDs per bulk request
for more information see page 8 of the api documentation
Development
# Install development dependencies
uv sync
uv run pre-commit install -t commit-msg
# Commiting changes
uv run cz c
API Documentation
For detailed API documentation including all parameters and response formats, see:
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
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 solaredge-1.1.1.tar.gz.
File metadata
- Download URL: solaredge-1.1.1.tar.gz
- Upload date:
- Size: 6.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6edebe6f54ad506bd675ab9f2c954bad4c2174ed19562048ecdc8675678ceab6
|
|
| MD5 |
aacd818b5bef67b87a63454c2eb56c31
|
|
| BLAKE2b-256 |
af5c99f366a6b9866f9cdc02889174d90b1400007c2b13b49efd92e8559a37bb
|
File details
Details for the file solaredge-1.1.1-py3-none-any.whl.
File metadata
- Download URL: solaredge-1.1.1-py3-none-any.whl
- Upload date:
- Size: 7.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4157f788e44b24788df077d847b322e8148a00c10406b5f9cb8492aa200fcb11
|
|
| MD5 |
9a8f4cbf0cd19460e765f5733d11b1b8
|
|
| BLAKE2b-256 |
a3a32becf4f1894017dd38869b92e68147e3fa2ed1c7a22793d4c603726d1b0e
|