CLI tool which displays exchange rates for Croatian Kuna (HRK)
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
hnbex
templates
.flake8
.gitignore
CHANGELOG.rst
LICENSE
Makefile
README.rst
chart_qt.png
setup.cfg
setup.py
stdeb.cfg

README.rst

HNB Exchange Rate CLI

Displays exchange rates for Croatian Kuna (HRK) from the Croatian National Bank (HNB). Data is fetched from http://hnbex.eu/. Thanks to Good Code for providing this service.

https://img.shields.io/badge/author-%40ihabunek-blue.svg?maxAge=3600&style=flat-square https://img.shields.io/github/license/ihabunek/hnbex-cli.svg?maxAge=3600&style=flat-square https://img.shields.io/pypi/v/hnbex-cli.svg?maxAge=3600&style=flat-square

Installation

Requires Python 3.3 or greater.

Drawing charts requires gnuplot.

From APT package repository

This works for Debian, Ubuntu and other derivatives.

The repo is signed with my keybase.io key.

echo "deb http://bezdomni.net/packages/ ./" | sudo tee /etc/apt/sources.list.d/bezdomni.list
curl https://keybase.io/ihabunek/pgp_keys.asc | sudo apt-key add -

sudo apt update
sudo apt install python3-hnbex-cli

From Python Package Index

Preferably install into a virtual environment.

pip install hnbex-cli

Usage

Commands:

  • daily - Show daily exchange rates for all currencies
  • range - Show exchange rates for a single currency in the given date range
  • chart - Draw exchange rate chart for a single currency
  • convert - Convert between currencies

Daily

Show rates for all currencies on a given date (if not given, date defaults to today):

$ hnbex daily 2017-07-03
HNB exchange rates on 2017-07-03

Currency  Unit    Buying    Median   Selling
--------  ----  --------  --------  --------
AUD          1  4.974959  4.989929  5.004899
CAD          1  4.984697  4.999696  5.014695
CZK          1  0.281550  0.282397  0.283244
DKK          1  0.993132  0.996120  0.999108
HUF        100  2.390306  2.397498  2.404690
JPY        100  5.783341  5.800743  5.818145
NOK          1  0.772153  0.774476  0.776799
SEK          1  0.764812  0.767113  0.769414
CHF          1  6.756313  6.776643  6.796973
GBP          1  8.410575  8.435883  8.461191
USD          1  6.474949  6.494432  6.513915
EUR          1  7.385326  7.407549  7.429772
PLN          1  1.748834  1.754096  1.759358

Range

Show rates for a single currency, for range of days (if dates not given defaults to last 30 days):

hnbex range usd 2017-07-03 2017-06-20
HNB exchange rates for USD from 2017-06-20 to 2017-07-03

Date        Unit    Buying    Median   Selling    Diff
----------  ----  --------  --------  --------  ------
2017-06-20     1  6.583721  6.603532  6.623343
2017-06-21     1  6.615151  6.635056  6.654961  +0.48%
2017-06-22     1  6.628631  6.648577  6.668523  +0.20%
2017-06-23     1  6.628631  6.648577  6.668523   0.00%
2017-06-24     1  6.617416  6.637328  6.657240  -0.17%
2017-06-25     1  6.617416  6.637328  6.657240   0.00%
2017-06-26     1  6.617416  6.637328  6.657240   0.00%
2017-06-27     1  6.605447  6.625323  6.645199  -0.18%
2017-06-28     1  6.560526  6.580267  6.600008  -0.68%
2017-06-29     1  6.500769  6.520330  6.539891  -0.91%
2017-06-30     1  6.470754  6.490225  6.509696  -0.46%
2017-07-01     1  6.474949  6.494432  6.513915  +0.06%
2017-07-02     1  6.474949  6.494432  6.513915   0.00%
2017-07-03     1  6.474949  6.494432  6.513915   0.00%

Chart

This command requires gnuplot to be installed.

Draw a chart of exchange rate movement for range of days (if dates not given defaults to last 30 days):

hnbex chart usd
                              USD Exchange Rates

6.42 +-+--+-+-+-+--+-+-+-+--+-+-+-+--+-+-+--+-+-+-+--+-+-+-+--+-+-+-+--+-+
     |             +              +               +    x*x*x**    +      |
 6.4 +-+                                              *                +-+
6.38 +-+                                      x*x*    *       x        +-+
     |                            x**x       *    x**x         *         |
6.36 +-+                          *   *      *                 *       +-+
     |                           *     x*x**x                   x*x    x*x
6.34 +-+                         *                                 * **+-+
     |                          x                                   x    |
6.32 +-+                       *                                       +-+
 6.3 +-+                       *                                       +-+
     |                        x                                          |
6.28 +-+             x        *                                        +-+
     x*x**x*x*       **      *                                           |
6.26 +-+      x*    * *      *                                         +-+
6.24 +-+        x** *  *    *                                          +-+
     |             *   x*x**x     +               +               +      |
6.22 +-+--+-+-+-+--x-+-+-+--+-+-+-+--+-+-+--+-+-+-+--+-+-+-+--+-+-+-+--+-+
                 09/21          09/28           10/05           10/12
                                     Date

Also supports graphical charts:

hnbex chart usd --template qt

Which displays the chart:

./chart_qt.png

Convert

Convert between HRK and anouther currency:

$ hnbex convert 150 hrk usd
150.0 HRK = 23.82 USD

Using the median rate 1 USD = 6.296589 HRK defined on 2017-08-21

When converting to HRK, the target currency can be ommited:

$ hnbex convert 500 jpy
500.0 JPY = 28.85 HRK

Using the median rate 100 JPY = 5.769743 HRK defined on 2017-08-21

If --value-only or -v option is used, only the resulting value will be output.

$ hnbex convert 500 jpy
28.85

The resulting value is rounded to 2 decimal places by default but can be changed by using the -p or --precision option:

$ hnbex convert 500 jpy -p 10
28.8487150000

License

Copyright © 2017 Ivan Habunek <ivan@habunek.com>

Licensed under the GPLv3: http://www.gnu.org/licenses/gpl-3.0.html