Metadata-Version: 2.4
Name: sma_ennexos_cloud
Version: 0.1.0
Summary: Python library for SMA ennexOS / Sunny Portal
Author-email: Mauro Druwel <mauro@druwel.be>
License: MIT
Project-URL: Homepage, https://github.com/MauroDruwel/SMA-ennexOS
Project-URL: Repository, https://github.com/MauroDruwel/SMA-ennexOS
Project-URL: Issues, https://github.com/MauroDruwel/SMA-ennexOS/issues
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests>=2.28
Provides-Extra: dev
Requires-Dist: pytest>=7; extra == "dev"
Requires-Dist: pytest-cov>=4; extra == "dev"
Requires-Dist: ruff>=0.1; extra == "dev"
Dynamic: license-file

# SMA ennexOS

Python library for interacting with the SMA ennexOS / Sunny Portal API.

Uses PKCE OAuth2 to authenticate and provides typed access to PV plant data
(current power, daily energy, plant info).

## Installation

```bash
pip install sma_ennexos_cloud
```

## Usage

```python
from sma_ennexos_cloud import SmaClient

client = SmaClient(username="your@email.com", password="your-password")
client.login()

plant_name = client.get_plant_name()
power = client.get_current_power()
energy = client.get_daily_energy()

print(f"Plant: {plant_name}")
print(f"Power: {power.value} W")
print(f"Daily energy: {energy.wh} Wh")
```

## Development

```bash
pip install -e ".[dev]"
pytest
```
