Skip to main content

future-healthcare-cli

ci test codecov PyPI pyversions Current version on PyPI Very popular Code style: black

Python library and optional CLI for Future Healthcare.

The CLI helps with common refund flows:

  • login stores your API token locally
  • check lists refund status/history
  • nifs looks up known refund addresses for a business NIF
  • submit submits a new expense with receipt metadata

Install

Install the CLI with uv:

uv tool install 'future-healthcare[cli]'

This makes the future-healthcare command available on your system.

Run Without Installing

You can also run it directly with uvx:

uvx --from 'future-healthcare[cli]' future-healthcare --help

Usage

Log in first:

future-healthcare login -u YOUR_USERNAME -p YOUR_PASSWORD

Check existing refunds:

future-healthcare check

Look up the available addresses for a business NIF:

future-healthcare nifs 509876543

This prints one building per line as Building Name (address).

Submit a receipt by passing the required fields explicitly:

future-healthcare submit ~/Downloads/example-receipt.pdf \
  --business-nif 509876543 \
  --invoice-number 'INV 2026/0001' \
  --total-amount 40 \
  --date '2026-03-14'

The submit command may prompt you to choose the insured person, service, or building when multiple matches are available. Use --building to select a building/address up front for non-interactive runs. Pass only the building name from future-healthcare nifs, not the address in parentheses. Receipt data extraction happens before calling the CLI. Agent users can use the bundled Codex skill in .agents/skills/future-healthcare-cli/SKILL.md to inspect the receipt, extract the required fields, and then run future-healthcare submit with explicit flags.

Configuration

The CLI reads defaults from ClassyClick's default config.toml location. You can inspect the active configuration and its file path with:

future-healthcare config

To edit it in $VISUAL or $EDITOR:

future-healthcare config --edit

Configuration mirrors the CLI command options:

[submit]
service = "Dentist"

[login]
username = "YOUR_USERNAME"

You can also keep multiple environments in the same file and select one with --env:

default_env = "personal"

[submit]
service = "Dentist"

[env.personal.submit]
person = "Alice"

[env.work.submit]
person = "Bob"

Then run:

future-healthcare --env work submit ~/Downloads/example-receipt.pdf \
  --business-nif 509876543 \
  --invoice-number 'INV 2026/0001' \
  --total-amount 40 \
  --date '2026-03-14'

Use group-level path flags when you want local state somewhere else:

future-healthcare --token-path ~/.future-healthcare/token.txt --log-dir ~/.future-healthcare/logs login \
  -u YOUR_USERNAME \
  -p YOUR_PASSWORD

Local Data

By default, the CLI stores local state next to the selected configuration file, including:

  • token.txt for the login token
  • config.toml for CLI defaults
  • logs/ for submission logs and copied input files

Development

See CONTRIBUTING.md.

Metadata

Release files for future-healthcare 0.0.8

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

Source distribution (sdist)

Source distribution for future-healthcare 0.0.8
File Size Uploaded
future_healthcare-0.0.8.tar.gz 28.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for future-healthcare 0.0.8
File Interpreter ABI Platform
future_healthcare-0.0.8-py3-none-any.whl Python 3 none any Details

Total release size: 52.5 kB

Release files / future_healthcare-0.0.8.tar.gz

Download URL future_healthcare-0.0.8.tar.gz
Size 28.9 kB
Tags Source
SHA-256 checksum
How to use checksums
34693d092045ed45626e2b36fc653e65c6a5a6ea4f3969fbfee1582a0426b19f
BLAKE2b-256 checksum
How to use checksums
83c58d80302aae8c8db6291df30bd45884e654d6ba0b88266c949a332ca92c23
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.16

Release files / future_healthcare-0.0.8-py3-none-any.whl

Download URL future_healthcare-0.0.8-py3-none-any.whl
Size 23.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
87b06d9a458c59fb8990c6c04362a85078fc3f6a8bc1caaa1aed2b1d7778bac4
BLAKE2b-256 checksum
How to use checksums
d257948b667e373e1898b4ae37a0077193040987be8d84ff24baa657e1ccd81d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.16

Release history Release notifications | RSS feed

1.0.0

2 release files

This release

0.0.8 This release

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

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