Skip to main content
🐍⚡️Support Python for everyone by grabbing a 30% discount on PyCharm—ALL proceeds go to the Python Software Foundation. Offer ends soon, so grab it today!  GET 30% OFF PYCHARM

Python client for Toyota North America service API

Project description

toyota-na

PyPI Codecov branch PyPI - Downloads

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. 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 checked-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:

Samples

Sample responses from API calls are stored in samples folder. The data is sourced from real users and from the 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.

Supported by

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