Skip to main content

Python library and CLI for communicating with Porsche Connect API.

Project description

pyporscheconnectapi

A python library for Porsche Connect API

This library will let you access your car equipped with Porsche Connect. It does not work with the predecessor Porsche Car Connect. Porsche Connect is available for the following Porsche models:

  • Boxster & Cayman (718)
  • 911 (from 992)
  • Taycan
  • Panamera (from 2021, G2 PA)
  • Macan (EV, from 2024)
  • Cayenne (from 2017, E3)

You can also take a look here, select your model and see if your model has support for Porsche Connect: https://connect-store.porsche.com/

A Porsche Connect subscription alse needs to be active for it to work.

NOTE: This work is not officially supported by Porsche and functionality can stop working at any time without warning.

Installation

The easiest method is to install using pip3/pip (venv is also a good idea).

pip install pyporscheconnectapi

to update to the latest version

pip install pyporscheconnectapi -U

Setup will add a cli under the name porschecli, see below for usage.

CLI usage

A simple cli is provided with this library, it will cache tokens to a file to speed up invocations.

If no email or password is supplied as input arguments and no config file with those details is found you will be prompted.

usage: porschecli [-h] [-d] [-j] [-e EMAIL] [-p PASSWORD] [-s SESSION_FILE] [--nowait]
                  {list,token,capabilities,currentoverview,storedoverview,trip_statistics,pictures,location,climatise_on,climatise_off,direct_charge_on,direct_charge_off,flash_indicators,honk_and_flash,lock_vehicle,unlock_vehicle,vehicle_closed,doors_and_lids,tire_pressure_status,tire_pressures,chargingprofile}
                  ...

Porsche Connect CLI

positional arguments:
  {list,token,capabilities,currentoverview,storedoverview,trip_statistics,pictures,location,climatise_on,climatise_off,direct_charge_on,direct_charge_off,flash_indicators,honk_and_flash,lock_vehicle,unlock_vehicle,vehicle_closed,doors_and_lids,tire_pressure_status,tire_pressures,chargingprofile}
                        command help
    battery             Prints the main battery level (BEV)
    capabilities        Get vehicle capabilities
    chargingprofile     Update parameters in configured charging profile
    climatise_off       Stop remote climatisation
    climatise_on        Start remote climatisation
    connected           Check if vehicle is on-line
    currentoverview     Get stored overview for vehicle
    direct_charge_off   Disable direct charging
    direct_charge_on    Enable direct charging
    doors_and_lids      List status of all doors and lids
    flash_indicators    Flash indicators
    honk_and_flash      Flash indicators and sound the horn
    location            Show location of vehicle
    lock_vehicle        Lock vehicle
    pictures            Get vehicle pictures url
    storedoverview      Poll vehicle for current overview
    tire_status         Check if tire pressure are ok
    tire_pressures      Get tire pressure readings
    trip_statistics     Get trip statistics from backend
    unlock_vehicle      Unlock vehicle
    vehicle_closed      Check if all doors and lids are closed

options:
  -h, --help            show this help message and exit
  -d, --debug
  -j, --json            output in JSON format
  -e EMAIL, --email EMAIL
  -p PASSWORD, --password PASSWORD
  -s SESSION_FILE, --sessionfile SESSION_FILE

Config file (for CLI)

A config file is searched for in ~/.porscheconnect.cfg and ./.porscheconnect.cfg The format is:

[porsche]
email=<your email>
password=<your password>
session_file=<file to store session information>

Library usage

Install pyporscheconnectapi using pip (requires python >= 3.10)

Example client usage

Please refer to the examples provided in the repository.

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

pyporscheconnectapi_bartolije-0.3.0.tar.gz (33.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyporscheconnectapi_bartolije-0.3.0-py3-none-any.whl (25.9 kB view details)

Uploaded Python 3

File details

Details for the file pyporscheconnectapi_bartolije-0.3.0.tar.gz.

File metadata

  • Download URL: pyporscheconnectapi_bartolije-0.3.0.tar.gz
  • Upload date:
  • Size: 33.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for pyporscheconnectapi_bartolije-0.3.0.tar.gz
Algorithm Hash digest
SHA256 a26f1b716d3a3fe91c5e307b95971c29be8408ca23ad29a287d9ecddb0b33568
MD5 afe051e572a20d02e7a82fb15e72b63f
BLAKE2b-256 bd1ec7bf5fe54c9797ef8be89cd73a9693587120bfaea7b8562bdcc63accc056

See more details on using hashes here.

File details

Details for the file pyporscheconnectapi_bartolije-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: pyporscheconnectapi_bartolije-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 25.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for pyporscheconnectapi_bartolije-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 defc69a36400d55d830114e1f8183fa67040d4e7d12a71da10a129a6b2efbd56
MD5 cbc9f239a4137b94e5c0d51ce1afc7c6
BLAKE2b-256 75486a4198c3324e7b4274d0e92be92a9e560e695af699f0b09bae9059779e9b

See more details on using hashes here.

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