Skip to main content

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     # run without installing
# or install it, then use the `avios` command:
pip install avios-cli
avios --help

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 opens a real browser, waits while you finish logging in (password, captcha, SMS code), and captures the session once you land on the dashboard. It needs the login extra:

uvx --from 'avios-cli[login]' avios login

It launches your installed Google Chrome (no extra download). If you don't have Chrome, install Playwright's browser once with uvx --from playwright playwright install chromium.

Prefer not to open a browser? Import the cookie from a Chrome you're already logged into avios.com with:

uvx --from 'avios-cli[login]' avios login --from-browser

This scans all your Chrome profiles and uses whichever one is actually logged into avios.com (it tells you which). If you have several profiles, you can target one directly:

uvx --from 'avios-cli[login]' avios login --from-browser --profile "Profile 1"

Plain uvx avios-cli login won't work — the isolated environment doesn't include the login extra.

Stuck in an endless captcha loop? That's bot detection on the automated browser. Use --from-browser instead: log into avios.com in your normal Chrome (you'll get one normal captcha), then run uvx --from 'avios-cli[login]' avios login --from-browser.

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                  # total / individual / household Avios
avios transactions --limit 20  # recent transactions (date, description, Avios, type)
avios pending                  # pending Avios
avios overview                 # dashboard summary
avios whoami                   # name, tier, membership, email
avios raw /shell/api/users/current/accounts   # hit any endpoint directly

Add --json to balance, transactions, pending or whoami for scriptable output. Non-BA Avios programmes can set AVIOS_OPCO (default BAEC).

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

Metadata

Release files for avios-cli 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for avios-cli 0.2.1
File Size Uploaded Provenance
avios_cli-0.2.1.tar.gz 110.9 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for avios-cli 0.2.1
File Interpreter ABI Platform
avios_cli-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 131.9 kB

Release files / avios_cli-0.2.1.tar.gz

Download URL avios_cli-0.2.1.tar.gz
Size 110.9 kB
Tags Source
SHA-256 checksum
How to use checksums
7b94295add163e8a56ccbad30e269eb9e2bdd781805e7faffac4ed0fce3af775
BLAKE2b-256 checksum
How to use checksums
3ec82d2f4eb48378f6fcf9494e7e2e0a5e4b2ba5543f14f28e35c1e0ccfe9a11
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 27, 2026.

Transparency log

Release files / avios_cli-0.2.1-py3-none-any.whl

Download URL avios_cli-0.2.1-py3-none-any.whl
Size 21.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
87a18c95217183d27ef978479388ebc8ac50e344c061cbbfc60e4ee8fc5a277a
BLAKE2b-256 checksum
How to use checksums
a92424c07e21ec84fb316fbba80f98bd4cb2296d4f50103def0aa759de94fe86
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 27, 2026.

Transparency log

Security for avios-cli 0.2.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for avios_cli-0.2.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 27, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page