exrate
A zero-dependency command-line client for the Frankfurter foreign-exchange API. Daily reference rates from 84 central banks, 201 currencies, back to 1948 — no API key, no login. Single file, Python 3 stdlib only, with a --json flag on every command so it drops straight into scripts and pipes into jq.
Commands
Notes
• Agent-friendly help. Running exrate with no args prints full help (exit 0, not an error), and every subcommand documents its modes, exact JSON field names, and examples — so a tool-using LLM can drive it without trial and error.
• Conversion is client-side. The API has no conversion endpoint, so convert fetches the pair rate and multiplies, matching the official docs’ approach.
• Provider control. Rates are blended across providers by default; pass --providers ECB to pin a single official source. Clean exit codes: 0 success, 1 API/network error, 2 bad usage.
• Releases publish to PyPI automatically via GitHub Actions + Trusted Publishing (OIDC, no stored tokens).