Skip to main content

PyPI Python Version License

Read the documentation at https://renault-api.readthedocs.io/ Tests Codecov

pre-commit Ruff

Features

This Python package manages the communication with the private Renault API used by the official MyRenault application.

The client is able to read various vehicle attributes, such as:

  • mileage

  • GPS location

  • fuel autonomy (for fuel vehicles)

  • battery autonomy (for electric vehicles)

  • contracts associated to the vehicle (warranty and connected services)

For some vehicles, it is also possible to manage:

  • hvac/pre-conditionning of the vehicle

  • charge schedule

This package has been developed to be used with Home-Assistant, but it can be used in other contexts

Requirements

  • Python (>= 3.10)

API Usage

You can install Renault API via pip from PyPI:

$ pip install renault-api
import aiohttp
import asyncio

from renault_api.renault_client import RenaultClient

async def main():
   async with aiohttp.ClientSession() as websession:
      client = RenaultClient(websession=websession, locale="fr_FR")
      await client.session.login('email', 'password')
      print(f"Accounts: {await client.get_person()}") # List available accounts, make a note of kamereon account id

      account_id = "Your Kamereon account id"
      account = await client.get_api_account(account_id)
      print(f"Vehicles: {await account.get_vehicles()}") # List available vehicles, make a note of vehicle VIN

      vin = "Your vehicle VIN"
      vehicle = await account.get_api_vehicle(vin)
      print(f"Cockpit information: {await vehicle.get_cockpit()}")
      print(f"Battery status information: {await vehicle.get_battery_status()}")

loop = asyncio.get_event_loop()
loop.run_until_complete(main())

Avoiding password storage

The password is only needed once: session.login exchanges it for a Gigya login token, which acts as a refresh token used to mint access tokens (JWTs). Read it from session.login_token after login, store it securely instead of the password, and restore it on the next session with session.set_login_token:

await client.session.login('email', 'password')
login_token = client.session.login_token  # persist this, not the password

# later, in a new session:
client.session.set_login_token(login_token)  # no password required

CLI Usage

The renault-api is also available through a CLI, which requires additional dependencies. For the added dependencies, you can install Renault API via pip from PyPI:

$ pip install renault-api[cli]

Once installed, the following command prompts for credentials and settings, displays basic vehicle status information, and generates traces:

$ renault-api --log status
  • Credentials will automatically be stored in the user home directory (~/.credentials/renault-api.json)

  • Logs will automatically be generated in logs subfolder

It is also possible to use raw http GET/POST commands, for example to get odometer and others data on a Windows machine:

C:> renault-api http get /commerce/v1/accounts/{account_id}/kamereon/kca/car-adapter/v1/cars/{vin}/cockpit

Or to request a battery status refresh on a Windows Machine (internal quotes escaped, whole payload enclosed in un-escaped quotes):

C:> renault-api http post /commerce/v1/accounts/{account_id}/kamereon/kca/car-adapter/v1/cars/{vin}/actions/refresh-battery-status "{\\"data\\": {\\"type\\": \\"RefreshBatteryStatus\\"}}"

Please see the Command-line Reference for full details.

Contributing

Contributions are very welcome. To learn more, see the Contributor Guide.

License

Distributed under the terms of the MIT license, Renault API is free and open source software.

Disclaimer

This project is not affiliated with, endorsed by, or connected to Renault. I accept no responsibility for any consequences, intended or accidental, as a as a result of interacting with Renault’s API using this project.

Issues

If you encounter any problems, please file an issue along with a detailed description.

Credits

This project was generated from @cjolowicz’s Hypermodern Python Cookiecutter template. This project was heavily based on @jamesremuscat’s PyZE python client for the Renault ZE API.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

renault_api-0.5.13.tar.gz (40.2 kB view details)

Uploaded Source

Built Distribution

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

renault_api-0.5.13-py3-none-any.whl (52.8 kB view details)

Uploaded Python 3

File details

Details for the file renault_api-0.5.13.tar.gz.

File metadata

  • Download URL: renault_api-0.5.13.tar.gz
  • Upload date:
  • Size: 40.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for renault_api-0.5.13.tar.gz
Algorithm Hash digest
SHA256 01c1cd7c290a1860f7cca993d00557cc3b6ce419894b41dccb26f2add8213398
MD5 bc397110e9228fcef55257fc3f679a0e
BLAKE2b-256 8c8e682008b0f533feb819ecea8272b2b947a0872914b7cd73bc1e9468b973fa

See more details on using hashes here.

Provenance

The following attestation bundles were made for renault_api-0.5.13.tar.gz:

Publisher: release.yml on hacf-fr/renault-api

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file renault_api-0.5.13-py3-none-any.whl.

File metadata

  • Download URL: renault_api-0.5.13-py3-none-any.whl
  • Upload date:
  • Size: 52.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for renault_api-0.5.13-py3-none-any.whl
Algorithm Hash digest
SHA256 aaa1ca2ff3f24d8e1a405faaa5104fdc7e2df0460da1cb3d1b8af4ab8ff3922f
MD5 1b2fd638f8ebeca13beb43b3996dd356
BLAKE2b-256 59087bf4d80ea73ddbcbd121b70b72adef3d369d7ff2141cbf7d86039911ff42

See more details on using hashes here.

Provenance

The following attestation bundles were made for renault_api-0.5.13-py3-none-any.whl:

Publisher: release.yml on hacf-fr/renault-api

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.5.13 This release

2 files

0.5.12

2 files

0.5.11

2 files

0.5.10

2 files

0.5.9

2 files

0.5.8

2 files

0.5.7

2 files

0.5.6

2 files

0.5.5

2 files

0.5.3

2 files

0.5.2

2 files

0.5.1

2 files

0.5.0

2 files

0.4.4

2 files

0.4.3

2 files

0.4.1

2 files

0.4.0

2 files

0.3.1

2 files

0.3.0

2 files

0.2.10

2 files

0.2.9

2 files

0.2.8

2 files

0.2.7

2 files

0.2.6

2 files

0.2.5

2 files

0.2.4

2 files

0.2.3

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

0.1.13

2 files

0.1.12

2 files

0.1.11

2 files

0.1.10

2 files

0.1.9

2 files

0.1.8

2 files

0.1.7

2 files

0.1.6

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

0.0.4

2 files

0.0.3

2 files

0.0.2

2 files

0.0.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page