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

Uploaded Source

Built Distribution

toyota_na-2.0.1.dev4-py3-none-any.whl (20.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: toyota-na-2.0.1.dev4.tar.gz
  • Upload date:
  • Size: 26.4 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.dev4.tar.gz
Algorithm Hash digest
SHA256 2ff96306ce79d0a0c64383421324053cea4ce0eee87ed9f7efdf51bd8c242d52
MD5 3bb8b3e64cb3471362d6d6c94499fcf0
BLAKE2b-256 a172d6fddbe3c995c36d6c26dcd294e61ccd904ccd34c0263acbf9b9458c6e9e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: toyota_na-2.0.1.dev4-py3-none-any.whl
  • Upload date:
  • Size: 20.1 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.dev4-py3-none-any.whl
Algorithm Hash digest
SHA256 dddc0fa3d68a7f8fe9cf0d58f2f8f7be89ac497f79cc4878b1ce60ac2fbeb08c
MD5 730970ab7160dbaccbd5b385efd95134
BLAKE2b-256 bda56d0876291d3f5dfeabef9228a8cca516cf01c2ae669d16bdb2f3047880c4

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