Skip to main content

A library to read and send vehicle data via Cupra/Seat portal using the same API calls as the MyCupra/MySeat mobile app.

Project description

PyCupra

A library to read and send vehicle data via Cupra/Seat portal using the same API calls as the MyCupra/MySeat mobile app.

Fork of https://github.com/Farfar/seatconnect which in turn is a fork of: Fork of https://github.com/lendy007/skodaconnect which in turn is a fork of: https://github.com/robinostlund/volkswagencarnet

!!! Important information !!!

Due to the API changes on June 8th 2026, PyCupra is blocked by most of the API endpoints, because it is lacking an appcheck_token, that it cannot generate itself. The pycupra package catches the http-403 error and raises an exception.

As long as that happens, you cannot use the pycupra package.

What's the main functionality of PyCupra?

Retrieve information about your Cupra/Seat vehicle from the Cupra/Seat portal.

Breaking changes

  • The method vehicle.update(updateType) supports 3 different update types:

    • updateType=0: Small update (=only get_basiccardata() and get_statusreport are called). If the last full update is more than 1100 seconds ago, then a full update is performed.
    • updateType=1: Full update (nearly all get-methods are called. The model images and the capabilitites are refreshed only every 2 hours.)
    • updateType=2: Like updateType=0, but ignoring the nightly update reduction
  • Nightly update reduction: If nightly reduction is activated and the current time is within the time frame between 22:00 and 05:00, then vehicle.update(0) performs a full update, if the last full update is more than 1700 seconds ago. If that's not the case, vehicle.update(0) does nothing.

  • PyCupra can ask the Cupra/Seat portal to send push notifications to PyCupra if the charging status or the climatisation status has changed or when the API has finished a request like lock or unlock vehicle, start or stop charging or change departure timers or ....

  • PyCupra read files from the EUDA portal of VW group, if the user has registered there and set up an ongoing data request. (This is still experimental.)

  • As the API no longer provides the complete tripstatistics history, PyCupra builds its own history and stores it in the pycupra_data folder.

Thanks to

  • RobinostLund for initial project for Volkswagen Carnet I was able to fork
  • Farfar for modifications related to electric engines
  • tanelvakker for modifications related to correct SPIN handling for various actions and using correct URLs also for MY2021
  • sdb9696 for the firebase-messaging package that is used in PyCupra with only minor modifications

Example

For an extensive example, please use the code found in example/PyCupra.py. Use the doLogin method, and it will sign in with the credentials used for the class constructor. After a successful login, the tokens are stored in a json file. Later doLogin calls can use the token file instead of the credentials. When logged in, the method get_vehicles will fetch vehicle basic information and create Vehicle class objects for all associated vehicles in account. To update all available data use the update_all method of the Connect class. This will call the update function for all registered vehicles, which in turn will fetch data from all available API endpoints.

The file pycupra_credentials.json.demo explains the data structure of the credentials file.

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

pycupra-0.2.36.tar.gz (124.8 kB view details)

Uploaded Source

Built Distribution

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

pycupra-0.2.36-py3-none-any.whl (6.4 MB view details)

Uploaded Python 3

File details

Details for the file pycupra-0.2.36.tar.gz.

File metadata

  • Download URL: pycupra-0.2.36.tar.gz
  • Upload date:
  • Size: 124.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for pycupra-0.2.36.tar.gz
Algorithm Hash digest
SHA256 79f63b41c8cf286808f2ec0309fe8ee61b02b45aa32a3ecb03b7e0f89e630133
MD5 ea1d775c5b86b3cc9ced91b7fef84d23
BLAKE2b-256 7e60f97ca3078ee994f38166255215e9a235aa8ad383920df9d4268a681768a6

See more details on using hashes here.

File details

Details for the file pycupra-0.2.36-py3-none-any.whl.

File metadata

  • Download URL: pycupra-0.2.36-py3-none-any.whl
  • Upload date:
  • Size: 6.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for pycupra-0.2.36-py3-none-any.whl
Algorithm Hash digest
SHA256 c3354e80840ec05325de118bba8d476f65159b4ddc66977e572cb983b6643740
MD5 19defd22b645154bf6eec376dfecee56
BLAKE2b-256 dc8af5a1741a8a28baa91d810829d10b99fae7fd183479282b828a9ab120833e

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