#exchange-rate #bank #rates #central #exchange #rate #ecb

bin+lib ecb-rates

Query exchange rates from the European Central Bank (ECB)

1 stable release

new 1.0.0 Jan 9, 2025

#78 in Finance

Download history 137/week @ 2025-01-08

137 downloads per month

Custom license

440KB
1K SLoC

ECB Rates

European Central Bank Logo A CLI utility to fetch exchange reates from the European Central Bank.






Install

Binary

If you're on Debian Linux, then just go over to the releases, and install the latest .deb package with dpkg

Source

First, make sure that you have the rust toolchain installed. If not, then go to rustup to install it.

Now, run the following cargo command:

cargo install --git https://github.com/lov3b/ecb-rates.git

Congratulations! Now the cli binary ecb-rates will be in your cargo bin folder.

Features

Fetch as many days as you want

It will fetch any of the following api nodes, and reduce them for you.

  • Last available day.
  • Last 90 days
  • Since the dawn of the EUR

Display select currencies

  • as an ASCII table
  • in JSON prettified
  • in JSON minified

Cache

It features an extensive cache, which will calculate hollidays in order to know whether to invalidate it or not.

Show the rates in your way

Change the rates for the perspective of any currency with the --perspective or -p flag.

Flip it from EUR to ALL to ALL to EUR with the --invert or -i flag. It will work as expected with the perspective option.

Fast

It wouldn't be a rust project without being BLAZINGLY FAST! When the cache is valid a single day will on my computer be shown in 3 ms. When the cache isn't being used it will be ~90ms. The cache speed will largely depend on your drive, the latter will depend on your network speed. Both options are fast enought to be in a .bashrc or .zshrc

Examples

Show the original data from ECB

eur-to-all

...with only select currencies

eur-to-all

Put the exchange rate in the perspective of any currency

usd-to-all

Flip it

all-to-usd

Show multiple days

eur-to-all-multiple-days

Acknowledgment

The data is (obviously) provided by the European Central Bank

Dependencies

~9–21MB
~281K SLoC