Skip to main content

Tesla Fleet API library for Python

Project description

Tesla Fleet Api

Python library for Tesla Fleet API and Teslemetry.

Currently does not support the end to end encrypted telemetry or command API.

Based on Tesla Developer documentation.

TeslaFleetApi

This is the base class, however can also be used directly if you have a valid user access_token.

import asyncio
import aiohttp

from tesla_fleet_api import TeslaFleetApi, TeslaFleetError


async def main():
    async with aiohttp.ClientSession() as session:
        api = TeslaFleetApi(
            access_token="<access_token>",
            session=session,
            region="na",
            raise_for_status=True,
        )

        try:
            data = await api.vehicle.list()
            print(data)
        except TeslaFleetError.Base as e:
            print(e.message, e.error)

asyncio.run(main())

TeslaFleetOAuth

This extends TeslaFleetApi to support OAuth, and requires a client_id, and either a refresh_token or initial authentication code.

import json

async def main():
    with open("auth.json", "r") as f:
        auth = json.load(f)
    async with aiohttp.ClientSession() as session:
        api = TeslaFleetOAuth(
            session,
            client_id=<client_id>,
            access_token=auth["access_token"],
            refresh_token=auth["refresh_token"],
            expires=auth["expires"],
            region="na",
            raise_for_status=True,
        )
        try:
            data = await api.vehicle.list()
            print(data)
        except TeslaFleetError.Base as e:
            print(e.message, e.error)

    with open("auth.json", "w") as f:
        json.dump(
            {
                "access_token": api.access_token,
                "refresh_token": api.refresh_token,
                "expires": api.expires,
            },
            f,
        )

asyncio.run(main())

Teslemetry

This extends TeslaFleetApi to send requests through Teslemetry, which manages all aspects of Tesla OAuth. This class only requires an access_token from the Teslemetry console.

import asyncio
import aiohttp

from tesla_fleet_api import Teslemetry
from tesla_fleet_api.exceptions import TeslaFleetError


async def main():
    async with aiohttp.ClientSession() as session:
        api = Teslemetry(
            access_token="<access_token>",
            session=session,
            raise_for_status=True,
        )

        try:
            data = await api.vehicle.list()
            print(data)
        except TeslaFleetError as e:
            print(e.message, e.error)

asyncio.run(main())

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

tesla_fleet_api-0.2.4.tar.gz (22.4 kB view details)

Uploaded Source

Built Distribution

tesla_fleet_api-0.2.4-py3-none-any.whl (28.5 kB view details)

Uploaded Python 3

File details

Details for the file tesla_fleet_api-0.2.4.tar.gz.

File metadata

  • Download URL: tesla_fleet_api-0.2.4.tar.gz
  • Upload date:
  • Size: 22.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for tesla_fleet_api-0.2.4.tar.gz
Algorithm Hash digest
SHA256 e3c4a14fb7cbe9867f297116965c49b3aa4e35087418798bc53ce7097b56a008
MD5 47f55ab2a3779ba4988f02d984c0ddd0
BLAKE2b-256 a76e7f8a3b01fccc3f1f388900e04bcf8f59d63580a8adf985b8d0eadf4ae4c5

See more details on using hashes here.

Provenance

File details

Details for the file tesla_fleet_api-0.2.4-py3-none-any.whl.

File metadata

File hashes

Hashes for tesla_fleet_api-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 15b007bb4ac2140c257748f56cad8502bdaf6d93f1891a4a03a6b04143a8ff9f
MD5 46b1271233bfd91b514dd2f3b3680f39
BLAKE2b-256 2c35b5d8f4ffefdcc976bba550d63f36fb987dee6fa7b42abfe1d7152b5c5970

See more details on using hashes here.

Provenance

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