Skip to main content

A Python API to manage your FordPass-enabled vehicle.

Project description

vehiclepass

A Python 3.9+ API to manage your FordPass-enabled vehicle. Requires a FordPass account and a vehicle registered to it.

NOTE: This project is in early development. The API may change significantly before reaching v1.0.0.

Reads many status values, such as outside temperature, engine RPM, and door lock status. Full documentation pending.

Currently supports these commands:

  • Remote start
  • Cancel remote start
  • Lock
  • Unlock

Install

pip install vehiclepass

Quickstart

import vehiclepass

with vehiclepass.vehicle(
    username="you@example.com",
    password="s3cr3t",
    vin="YOURVIN12345"
) as v:
    print(v.doors.are_locked)  # False
    # By default, this issues the unlock command, waits 30s, and verifies it took effect.
    # Pass verify=False to skip this check.
    v.doors.unlock()
    print(v.doors.are_locked)  # True

    # Most status values return a unit object that makes converting and printing the
    # value convenient.
    print(v.engine_coolant_temp.f)  # 55.4
    print(v.engine_coolant_temp.c)  # 13.0
    
    # When casting to string, uses the unit defined in env var VEHICLEPASS_DEFAULT_TEMP_UNIT.
    print(v.engine_coolant_temp)  # 55.4°F

    # Request a remote start. By default, the vehicle will automatically shut off after 15 minutes. Pass extend_shutoff=True to add another 15 minutes (30 minutes total).
    v.start()
    print(v.is_running)  # True
    print(v.is_remotely_started)  # True
    # Remotely started isn't the same as starting manually from the ignition in the vehicle.
    print(v.is_ignition_started)  # False
    print(v.shutoff_countdown)  # 14m 58s
    print(v.shutoff_countdown.s)  # 898.0
    print(v.shutoff_time)  # 2025-04-02 10:41:53.175933

Contributing

Contributions welcome! Please open an issue to discuss what you'd like to do first.

Development

Prerequisites

Environment

  1. Fork this repo to your personal GitHub account
  2. Clone the repo locally
    USERNAME=<your-github-username>
    git clone https://github.com/$USERNAME/vehiclepass.git
    cd vehiclepass
    
  3. Create a feature branch off of the develop branch
    git checkout develop
    git checkout -b 1234-short-description  # 1234 is the issue number you opened
    
  4. Make your changes
  5. Add at least one new test that covers your code, but as many as necessary
  6. Ensure all tests pass
    nox -r  # The -r flag re-uses virtualenvs for faster re-runs
    
  7. Open a pull request

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

vehiclepass-0.3.0.tar.gz (71.5 kB view details)

Uploaded Source

Built Distribution

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

vehiclepass-0.3.0-py3-none-any.whl (16.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: vehiclepass-0.3.0.tar.gz
  • Upload date:
  • Size: 71.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.11

File hashes

Hashes for vehiclepass-0.3.0.tar.gz
Algorithm Hash digest
SHA256 cd8323d0841fe985c9dd711f99db120685058becdab7846a7db968233aece4f1
MD5 5300c633e63c5d0f1f45f2aba7a5f344
BLAKE2b-256 2c080e09d72b970db4874ea74feadf54a4c41d4adcf435be712a56cad4dfd1b3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vehiclepass-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2977c63ddc0345c13bf0589fbbd4920338f65a8278dfa9d29fb38405e854bf44
MD5 19b1c154ec051f0bbf44aa9d28df16bf
BLAKE2b-256 fc16a5e3a3c90b5bcd1d6ddea4c4820e321296febf63e30fe6136bf390ba4c01

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