Skip to main content

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) and AsyncMonitoringClient (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

solaredge-1.1.1.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

solaredge-1.1.1-py3-none-any.whl (7.3 kB view details)

Uploaded Python 3

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

Hashes for solaredge-1.1.1.tar.gz
Algorithm Hash digest
SHA256 6edebe6f54ad506bd675ab9f2c954bad4c2174ed19562048ecdc8675678ceab6
MD5 aacd818b5bef67b87a63454c2eb56c31
BLAKE2b-256 af5c99f366a6b9866f9cdc02889174d90b1400007c2b13b49efd92e8559a37bb

See more details on using hashes here.

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

Hashes for solaredge-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4157f788e44b24788df077d847b322e8148a00c10406b5f9cb8492aa200fcb11
MD5 9a8f4cbf0cd19460e765f5733d11b1b8
BLAKE2b-256 a3a32becf4f1894017dd38869b92e68147e3fa2ed1c7a22793d4c603726d1b0e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page