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.0.tar.gz (25.6 kB view details)

Uploaded Source

Built Distribution

toyota_na-2.0.0-py3-none-any.whl (19.7 kB view details)

Uploaded Python 3

File details

Details for the file toyota-na-2.0.0.tar.gz.

File metadata

  • Download URL: toyota-na-2.0.0.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/33.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for toyota-na-2.0.0.tar.gz
Algorithm Hash digest
SHA256 b1e347309234ec74ec42063c138c2f15858dbfd1039bfcc3fafb0f89913d1c3f
MD5 2fe5581ddfe0c8335de6fe81483750e0
BLAKE2b-256 6ce1b7f950ce1550f39d4bbc6fb2eba891bb3a1064cbe67eb35af2b84c9402bc

See more details on using hashes here.

File details

Details for the file toyota_na-2.0.0-py3-none-any.whl.

File metadata

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

File hashes

Hashes for toyota_na-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e8f191c5380ab1fdf9bf783275bd253884120a0d561a2020d7bfcf5ac9c55b50
MD5 3302483e3d2c03935ae6e2d37a9f39a3
BLAKE2b-256 ab268cfe46c5f07f1e5b3942f2b2b5f309f9604f1a3aa812d3c16f947f87a1f0

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