How hacf-fr/renault-api works
Renault API is an asynchronous Python client and CLI for authenticating to Renault’s private services and retrieving or controlling account vehicles. The main workflow is login, discover accounts and vehicles, then read vehicle status or invoke supported actions; the CLI also exposes charge history and schedule management, HVAC controls, contracts, and raw HTTP requests. The graph separates Gigya authentication from Kamereon vehicle operations. It reflects the README and sampled source; account, vehicle, and most CLI internals were not sampled, so uncertain call wiring is omitted.
Main entry points: renault_session.py Session provider · renault_vehicle.py Vehicle proxy · __init__.py Gigya API · renault_client.py Renault client
Components 26
Authentication
- Session provider
src/renault_api/renault_session.py - Credential store
src/renault_api/credential_store.py - Credential
src/renault_api/credential.py - Gigya API
src/renault_api/gigya/__init__.py - Gigya models
src/renault_api/gigya/models.py - Gigya schemas
src/renault_api/gigya/schemas.py
Client domain
- Renault client
src/renault_api/renault_client.py - Account proxy
src/renault_api/renault_account.py - Vehicle proxy
src/renault_api/renault_vehicle.py - Domain models
src/renault_api/models.py
Renault protocols
- Kamereon API
src/renault_api/kamereon/__init__.py - Kamereon models
src/renault_api/kamereon/models.py - Kamereon schemas
src/renault_api/kamereon/schemas.py
Command line
- CLI entry
src/renault_api/cli/__main__.py - CLI session setup
src/renault_api/cli/renault_client.py - Account selection
src/renault_api/cli/renault_account.py - Vehicle status
src/renault_api/cli/renault_vehicle.py - Charge commands
src/renault_api/cli/charge/commands.py - Charge history
src/renault_api/cli/charge/history.py - Charge schedules
src/renault_api/cli/charge/schedule.py - HVAC commands
src/renault_api/cli/hvac/commands.py - HVAC control
src/renault_api/cli/hvac/control.py - HVAC history
src/renault_api/cli/hvac/history.py
Other components
- User
- Gigya service
- Kamereon service
Connections 32
- User → Renault client: uses library
- User → CLI entry: runs commands
- Renault client → Session provider: creates or uses
- Renault client → Account proxy: creates proxies
- Renault client → Session provider: gets person
- Session provider → Credential store: reads and updates
- Session provider → Gigya API: authenticates
- Gigya API → Gigya service: sends requests
- Gigya API → Gigya schemas: validates responses
- Gigya API → Gigya models: returns models
- Session provider → Kamereon API: requests data
- Kamereon API → Kamereon service: sends requests
- Kamereon API → Kamereon schemas: validates responses
- Kamereon API → Kamereon models: returns models
- Account proxy → Session provider: uses session
- Account proxy → Vehicle proxy: creates vehicle proxy
- Vehicle proxy → Session provider: uses session
- Vehicle proxy → Domain models: uses types
- CLI entry → CLI session setup: dispatches setup
- CLI session setup → Session provider: creates session
- CLI session setup → Credential store: loads credentials
- CLI session setup → Gigya API: checks locale keys
- Account selection → Account proxy: selects account
- Vehicle status → Vehicle proxy: reads vehicle data
- Charge commands → Charge history: dispatches history
- Charge commands → Charge schedules: dispatches schedules
- Charge history → Vehicle proxy: reads charge records
- Charge schedules → Vehicle proxy: reads and updates
- HVAC commands → HVAC control: dispatches control
- HVAC commands → HVAC history: dispatches history
- HVAC control → Vehicle proxy: starts or stops HVAC
- HVAC history → Vehicle proxy: reads HVAC records