Skip to main content

Python client for Toyota North America service API

Project description

toyota-na

Python client for Toyota North America service API

Install

pip install toyota-na

Usage

python -m toyota_na.app -h  # Get help
python -m toyota_na.app authorize <username> <passworde>
python -m toyota_na.app get_user_vehicle_list  # List vehicle
python -m toyota_na.app get_vehicle_status <vin>  # Get vehcicle status
...

Known Issues

  1. Not working for older models. Currently it only works on generation "17CYPLUS" as identified in the result of get_user_vehicle_list
  2. Door/window status not always up-to-date unless you call send_refresh_status first and wait for it to complete (there is no notification that it completed successfully).

Developer Guide

Quick Start

from toyota_na.client import ToyotaOneClient

async def main():
    cli = ToyotaOneClient()
    await cli.auth.login(USERNAME, PASSWORD)
    vehicle_list = await cli.get_user_vehicle_list()
    vehicle_status = await cli.get_vehicle_status(vehicle_list[0]["vin"])
    ...

Abstracted Interface Example

from toyota_na.client import ToyotaOneClient
from toyota_na.vehicle.vehicle import get_vehicles

async def main():
    cli = ToyotaOneClient()

Contributing

We use black and isort for opinionated formatting to ensure a consistent look and feel throughout the codebase no matter the contributor. Pre-commit is used to guarantee the files being check in to the repo are formatted correctly.

For convenience a vscode project settings file is included as well. Editors other than vscode will require some setup if you wish to have formatting take place while working.

Getting started:

  • Clone the repo
  • pip3 install black isort pre-commit
  • pre-commit install

Samples

Sample responses from API calls are stored in samples folder. The data is from Toyota app's "Demo Mode"

Credits:

Thanks @DurgNomis-drol for making the original Toyota module and bring up the discussing of Toyota North America.

Thanks @visualage for finding the way to authenticate headlessly.

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

toyota-na-2.0.1.dev1.tar.gz (25.6 kB view details)

Uploaded Source

Built Distribution

toyota_na-2.0.1.dev1-py3-none-any.whl (19.8 kB view details)

Uploaded Python 3

File details

Details for the file toyota-na-2.0.1.dev1.tar.gz.

File metadata

  • Download URL: toyota-na-2.0.1.dev1.tar.gz
  • Upload date:
  • Size: 25.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for toyota-na-2.0.1.dev1.tar.gz
Algorithm Hash digest
SHA256 6c09d58e4d994ed842315fd1047187b7ccc66b3764449663b39574bf1d5450de
MD5 06f7c292208732cd2ccfc2eba28037e5
BLAKE2b-256 6b54807b40a326296ad054d73f839a37eb97cbf11517aa7822be196f8f82fd86

See more details on using hashes here.

File details

Details for the file toyota_na-2.0.1.dev1-py3-none-any.whl.

File metadata

  • Download URL: toyota_na-2.0.1.dev1-py3-none-any.whl
  • Upload date:
  • Size: 19.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for toyota_na-2.0.1.dev1-py3-none-any.whl
Algorithm Hash digest
SHA256 527969d80203660283d916c0fe10848f00972a0d2f0ea284a67f406cf40dd2ee
MD5 1baff74de199c0d439abfdd4f9a739c9
BLAKE2b-256 d27210bccf6f636e68862811c97e4fab4dcb59ebc219afcde42a67cbc347266b

See more details on using hashes here.

Supported by

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