Skip to main content

CLI tool for displaying exchange rates for Croatian Kuna

Project description

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.

Install from the Python Package Index:

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.

The range defaults to the last 30 days, and can be changed by giving one or more of:

  • --start or -s - the first day of the range (default calculated as end - days)
  • --end or -e - the last day of the range (defaults to tomorrow)
  • --days or -d - number of days in the range (defaults to 30)
$ hnbex range usd -d 10
HNB exchange rates for USD from 2021-08-26 to 2021-09-04

      Date  Unit    Buying    Median   Selling    Diff
----------  ----  --------  --------  --------  ------
2021-08-26     1  6.353770  6.372889  6.392008
2021-08-27     1  6.341215  6.360296  6.379377  -0.20%
2021-08-28     1  6.346328  6.365424  6.384520  +0.08%
2021-08-29     1  6.346328  6.365424  6.384520   0.00%
2021-08-30     1  6.346328  6.365424  6.384520   0.00%
2021-08-31     1  6.323093  6.342119  6.361145  -0.37%
2021-09-01     1  6.314960  6.333962  6.352964  -0.13%
2021-09-02     1  6.315040  6.334042  6.353044  +0.00%
2021-09-03     1  6.294947  6.313889  6.332831  -0.32%
2021-09-04     1  6.291559  6.310490  6.329421  -0.05%

Chart

This command requires gnuplot to be installed.

Draw a chart of exchange rate movement for range of days. Options are identical as hnbex range.

$ 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-2021 Ivan Habunek <ivan@habunek.com>

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for hnbex-cli, version 1.0.0
Filename, size File type Python version Upload date Hashes
Filename, size hnbex_cli-1.0.0-py3-none-any.whl (21.0 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size hnbex-cli-1.0.0.tar.gz (21.7 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page