Skip to main content

FordPass client and CLI.

Project description

pyfordpass

Python versions PyPI - Version GitHub tag (with filter) License GitHub commits since latest release (by SemVer including pre-releases) CodeQL QA Tests Coverage Status Dependabot Documentation Status mypy uv pytest Ruff Downloads Stargazers pre-commit Prettier

@Tatsh Buy Me A Coffee Libera.Chat Mastodon Follow Patreon

FordPass client and CLI. A third-party reverse-engineered client for the same private mobile-app endpoints the FordPass™ app uses, packaged as a Python library plus a fordpass command-line tool.

Disclaimer

This project is not an official Ford product. It is not affiliated with, endorsed by, sponsored by, or otherwise connected to Ford Motor Company or any of its subsidiaries. "FordPass", "The Lincoln Way", "Ford", and "Lincoln" are trademarks of Ford Motor Company.

Because this client speaks to private endpoints rather than a documented public API, Ford may change, throttle, or revoke access without notice - and the maintainer cannot guarantee that any particular feature will keep working.

Use of this software may cause your FordPass™ / The Lincoln Way™ account to be (temporarily) locked or suspended. Traffic from any unofficial client can look anomalous to Ford's fraud and abuse detection. Use at your own risk.

It is strongly recommended to use a separate, secondary FordPass™ account for this software rather than your primary account:

  1. In the FordPass app on a phone (signed in as the primary owner), invite a secondary email address as an additional driver for the vehicle. The invited address must be reachable from that phone for verification.
  2. Sign up for a new FordPass account using that secondary email and accept the driver invitation.
  3. Configure pyfordpass (fordpass auth login) with the secondary account's credentials.

If the secondary account is later suspended, your primary account, warranty records, and roadside-assistance enrolment remain unaffected.

See the ha-fordpass project's general disclaimer and account-setup guidance for the same procedure written up from the Home Assistant integration's perspective - the steps are identical regardless of which third-party client consumes the credentials.

Installation

pip install pyfordpass

Usage

Add -d to show debug logs. Run with no arguments to see the top-level command list:

fordpass

A typical first-time flow:

fordpass auth login       # Interactive sign-in against the secondary account.
fordpass vehicle list     # See what's in the garage.
fordpass vehicle show VIN # Detailed view for one vehicle.
fordpass remote start VIN # Remote-start command.

Every subcommand supports --help and most data-returning subcommands support --json for machine-readable output.

Configuration

pyfordpass has two sets of optional settings, each managed with its own subcommand rather than by editing files by hand. Both live under ~/.config/pyfordpass on Linux (the platform-specific equivalent elsewhere).

User preferences are managed with fordpass config. The most useful is a default VIN, so you need not pass it to every command:

# Set a default VIN, used whenever a command's VIN argument is omitted.
fordpass config set vehicle.default_vin VIN
# Distance ("mi"/"km") and temperature ("F"/"C"); both default from your locale.
fordpass config set units.distance mi
fordpass config set units.temperature C
# Default output format: "pretty" (Rich tables) or "json".
fordpass config set output.format json
# Show the effective configuration (defaults included), drop a key, or start over.
fordpass config dump
fordpass config delete units.distance
fordpass config reset

API constants are managed with fordpass api-config. The built-in defaults target Ford in the USA, so most users never need to touch them. When Ford rotates a host or client ID you can patch individual values without waiting for a new release; anything you set is merged over the defaults, so only the changed keys are required:

# Override a single value; everything else falls back to the built-in defaults.
fordpass api-config set hosts.login https://login.ford.com
# Show the effective constants (defaults merged with overrides), or discard all overrides.
fordpass api-config dump
fordpass api-config reset

Values for other regions and for Lincoln can be copied from ha-fordpass const.py.

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

pyfordpass-0.0.1.tar.gz (117.6 kB view details)

Uploaded Source

Built Distribution

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

pyfordpass-0.0.1-py3-none-any.whl (105.6 kB view details)

Uploaded Python 3

File details

Details for the file pyfordpass-0.0.1.tar.gz.

File metadata

  • Download URL: pyfordpass-0.0.1.tar.gz
  • Upload date:
  • Size: 117.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pyfordpass-0.0.1.tar.gz
Algorithm Hash digest
SHA256 a76c47e34fc57bea7ed33faf22799ebf271c3a22ac2ba5958b6097cf3795744b
MD5 67136fe4d4496a0c612bced7bcc9f201
BLAKE2b-256 c78b30baa897ff3aa1d1bec14062951ce73102fe2853732970bcedce0f0749ec

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyfordpass-0.0.1.tar.gz:

Publisher: publish.yml on Tatsh/pyfordpass

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyfordpass-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: pyfordpass-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 105.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pyfordpass-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 442a005be88d659b49ebc9597744b4509eea506032dfc30c86238206dd210bdc
MD5 55dcb5aebc96bb693db59df50e57c1c8
BLAKE2b-256 5609a03b83e98438e4491e1c5afaa8ba0adf548ce22495a1daf08782dbff8ab1

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyfordpass-0.0.1-py3-none-any.whl:

Publisher: publish.yml on Tatsh/pyfordpass

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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