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 1.0.0

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 1.0.0
File Size Uploaded
future_healthcare-1.0.0.tar.gz 28.9 kB Details

Built distribution (wheel)

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

Total release size: 52.5 kB

Release files / future_healthcare-1.0.0.tar.gz

Download URL future_healthcare-1.0.0.tar.gz
Size 28.9 kB
Tags Source
SHA-256 checksum
How to use checksums
2fadf5717121b041687b37d4ad5324b9927066fc2c005cfc3c1565ea53001861
BLAKE2b-256 checksum
How to use checksums
0e1a897063a79b03696b6d02c220ef0539e5f3ebcd253702db99e078a5b9045a
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-1.0.0-py3-none-any.whl

Download URL future_healthcare-1.0.0-py3-none-any.whl
Size 23.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f59b68f7942bca20f977771de1f4f6d0c5da525ad6889567c60ba4703e1dc325
BLAKE2b-256 checksum
How to use checksums
ae2aed977d629860e02f4d3c3042120643de994bcb179407a4c45e1f3cd1e0fd
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

This release

1.0.0 This release

2 release files

0.0.8

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