Skip to main content

A CLI and TUI for avios.com — view your Avios balance and transactions from the terminal.

Project description

avios-cli

CI License: MIT Python

A CLI and TUI for avios.com — check your Avios balance, browse your transactions and manage your account without leaving the terminal.

⚠️ Unofficial. This project is not affiliated with, authorised by, or endorsed by Avios, British Airways or IAG Loyalty. It drives the same private endpoints the avios.com website uses, with your own logged-in session. Use at your own risk; it may break at any time and may be against the provider's terms of service.

avios TUI dashboard

The avios tui dashboard (demo data). Regenerate with uv run python scripts/screenshot.py.

Status

Early alpha, built in the open. See the roadmap.

Install

Requires Python 3.10+.

uvx avios-cli --help     # try it without installing (recommended)
# or install it:
pip install avios-cli

Or from source, for development:

git clone https://github.com/alexechoi/avios-cli
cd avios-cli
uv sync
uv run avios --help

Log in

avios.com has no credential API — login is Auth0 Universal Login behind hCaptcha and SMS/passkey MFA — so avios login rides a real browser session (like gh/aws login). Install the login extra once:

uv sync --extra login          # or: pip install "avios-cli[login]"
uv run playwright install chromium

Then either open a browser to log in, or import the cookie from a browser you're already logged into:

avios login                    # opens a browser; log in once, cookie is captured
avios login --from-browser     # instead, read the avios.com cookie from Chrome

Your session cookie is stored at ~/.config/avios/state.json (mode 600). It expires after ~a day; just run avios login again. Run avios logout to remove it.

Usage

avios balance                  # your Avios balance
avios transactions --limit 20  # recent transactions
avios pending                  # pending Avios
avios accounts                 # linked loyalty accounts
avios overview                 # dashboard summary (raw JSON)
avios whoami                   # your profile (raw JSON)
avios raw /manage-avios/api/user/current   # hit any endpoint directly

Add --json to balance, transactions, pending or accounts for scriptable output.

TUI

avios tui

A full-screen dashboard: your balance in the header and a scrollable transactions table. Press r to refresh, q to quit.

Roadmap

  • Project scaffolding, packaging and CI
  • Session + cookie storage layer
  • Typed API client (balance, transactions, accounts, profile)
  • Browser-assisted avios login
  • CLI commands
  • Textual TUI dashboard
  • Reward-flight availability search (coming soon — needs a British Airways capture)

Development

uv sync            # installs the project + the `dev` dependency-group
uv run ruff check .
uv run mypy src
uv run pytest

See CONTRIBUTING.md for the full workflow and CHANGELOG.md for release notes.

Security

No passwords are handled or stored — only your session cookie, kept locally at ~/.config/avios/state.json (mode 600). See SECURITY.md.

License

MIT

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

avios_cli-0.1.0.tar.gz (103.9 kB view details)

Uploaded Source

Built Distribution

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

avios_cli-0.1.0-py3-none-any.whl (17.0 kB view details)

Uploaded Python 3

File details

Details for the file avios_cli-0.1.0.tar.gz.

File metadata

  • Download URL: avios_cli-0.1.0.tar.gz
  • Upload date:
  • Size: 103.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for avios_cli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ddf56ba230ba3fed1c4459c0f1eec6fb2ba38fbaafc9be3d59350aebeab2e1fc
MD5 5da1ba3a67ec4e7969c7454dae80a8b7
BLAKE2b-256 ada5e9423e2c3b501d3360e52615df0d376efba3ef74a3fbded5e5c2a1a44fd5

See more details on using hashes here.

Provenance

The following attestation bundles were made for avios_cli-0.1.0.tar.gz:

Publisher: publish.yml on alexechoi/avios-cli

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

File details

Details for the file avios_cli-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: avios_cli-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 17.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for avios_cli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 60a2874261359897df5ff56a8666d3ba775550164d4503ae35f54b5e86363413
MD5 62d09e2912ce1312123d12a7a5f2ed77
BLAKE2b-256 953d936e7ed64fa06608870dec79319e9f2c4900bd4fb794f674807ff829efdf

See more details on using hashes here.

Provenance

The following attestation bundles were made for avios_cli-0.1.0-py3-none-any.whl:

Publisher: publish.yml on alexechoi/avios-cli

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