Metadata-Version: 2.4
Name: vestel-ecv04-client
Version: 0.1.0
Summary: Client library for interacting with Vestel ECV04 charger web interface
Author-email: Your Name <your.email@example.com>
Maintainer-email: Your Name <your.email@example.com>
License: MIT
Project-URL: Homepage, https://github.com/yourusername/vestel-ecv04-client
Project-URL: Repository, https://github.com/yourusername/vestel-ecv04-client.git
Project-URL: Issues, https://github.com/yourusername/vestel-ecv04-client/issues
Keywords: vestel,evc04,charger,ev,electric vehicle
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
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: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: aiohttp>=3.10.0
Requires-Dist: beautifulsoup4
Requires-Dist: requests
Provides-Extra: cli
Requires-Dist: cyclopts>=3.1.0; extra == "cli"
Requires-Dist: cryptography>=44.0.0; extra == "cli"
Dynamic: license-file

# Vestel ECV04 Client

A Python client library for interacting with the Vestel ECV04 electric vehicle charger web interface.

## Installation

Install from PyPI:

```bash
pip install vestel-ecv04-client
```

Or install with CLI support:

```bash
pip install vestel-ecv04-client[cli]
```

## Usage

### As a Library

```python
import asyncio
from vestel_ecv04_client import VestelEVC04Client, Config

async def main():
    config = Config(host="192.168.1.100", username="admin", password="password")
    client = VestelEVC04Client(config)
    
    # Get current phases and current setting
    state = await client.get_phases_and_current()
    print(f"Phases: {state.num_phases}, Current: {state.current}")
    
    # Set new settings
    await client.set_phases_and_current(phases=3, current=16)

asyncio.run(main())
```

### Command Line Interface

If installed with CLI support:

```bash
vestel-ecv04-cli --host 192.168.1.100 --username admin --password password get-state
vestel-ecv04-cli --host 192.168.1.100 --username admin --password password set-current --phases 3 --current 16
```

## License

MIT License
