Skip to main content

A library for getting currency sale rates of National Bank of Ukraine and PrivatBank, compare it graphically by currency selection during preset date range.

Project description

forthebadge forthebadge PyPI - Python Version PyPI - Python Version PyPI - Python Version

nbu-privat-currency-sale: currency sale information getter from National Bank of Ukraine and PrivatBank


What that library can do?

nbu-privat-currency-sale library allows you to get currency sale info from National Bank of Ukraine and PrivatBank. The information can be obtained by specifying a single date, or by specifying the date range. You can also download obtained information in json or csv formats and display a graph to compare currency sale rate of both banks.


How to install it?

pip install nbu_privat_currency_sale

Where to get it?

The source code is currently hosted on GitHub at:

https://github.com/0brain/nbu_privat_currency_sale


What dependencies it uses?


Brief examples:

  1. Return sale rate information about all currency from National Bank of Ukraine:
from datetime import datetime
from nbu_privat_currency_sale import get_nbu_currency_info

date1 = datetime(2020, 4, 22)
get_nbu_currency_info(date1)

# Output:
# [
#   {'bank': 'National Bank of Ukraine', 'date': '22.04.2020', 'currency': 'AUD', 'rate': 16.9936},
#   {'bank': 'National Bank of Ukraine', 'date': '22.04.2020', 'currency': 'CAD', 'rate': 19.0366},
#   ...
# ]
  1. Return sale rate information about all currency from PrivatBank:
from datetime import datetime
from nbu_privat_currency_sale import get_privat_currency_info

date1 = datetime(2020, 4, 22)
get_privat_currency_info(date1)

# Output:
# [
#   {'bank': 'PrivatBank', 'date': '22.04.2020', 'currency': 'EUR', 'rate': 29.6},
#   {'bank': 'PrivatBank', 'date': '22.04.2020', 'currency': 'GBP', 'rate': 33.9},
#   ...
# ]
  1. Return sale rate information about all currency from National Bank of Ukraine and from PrivatBank in certain date range:
from datetime import datetime
from nbu_privat_currency_sale import nbu_privat_currency_info_in_date_range

date1 = datetime(2020, 4, 22)
date2 = datetime(2020, 4, 23)
nbu_privat_currency_info_in_date_range(date1, date2)

# Output:
# [
#   {'bank': 'National Bank of Ukraine', 'date': '22.04.2020', 'currency': 'AUD', 'rate': 16.9936},
#   ...
#   {'bank': 'National Bank of Ukraine', 'date': '23.04.2020', 'currency': 'AUD', 'rate': 17.1046},
#   ...
#   {'bank': 'PrivatBank', 'date': '22.04.2020', 'currency': 'EUR', 'rate': 29.6},
#   ...
#   {'bank': 'PrivatBank', 'date': '23.04.2020', 'currency': 'EUR', 'rate': 29.5},
#   ...
# ]
  1. Return sale rate information about currency from National Bank of Ukraine and from PrivatBank in certain date range filtered by 'currency' key value:
from datetime import datetime
from nbu_privat_currency_sale import nbu_privat_currency_info_in_date_range, filter_by_currency_name

date1 = datetime(2020, 4, 22)
date2 = datetime(2020, 4, 23)

currency_info = nbu_privat_currency_info_in_date_range(date1, date2)
currency_value = 'USD'
filter_by_currency_name(currency_info, currency_value)

# Output:
# [
#   {'bank': 'National Bank of Ukraine', 'date': '22.04.2020', 'currency': 'USD', 'rate': 27.0815},
#   {'bank': 'PrivatBank', 'date': '22.04.2020', 'currency': 'USD', 'rate': 27.25},
#   {'bank': 'National Bank of Ukraine', 'date': '23.04.2020', 'currency': 'USD', 'rate': 27.0536},
#   {'bank': 'PrivatBank', 'date': '23.04.2020', 'currency': 'USD', 'rate': 27.25}
# ]
  1. Return sale rate information about all currency from National Bank of Ukraine and from PrivatBank in certain date range filtered by 'currency' key value and grouped by 'bank':
from datetime import datetime
from nbu_privat_currency_sale import nbu_privat_currency_info_in_date_range, filter_by_currency_name, \
                                     group_by_bank_name

date1 = datetime(2020, 4, 22)
date2 = datetime(2020, 4, 23)

currency_info = nbu_privat_currency_info_in_date_range(date1, date2)
filtered_currency_info = filter_by_currency_name(currency_info, 'USD')
group_by_bank_name(filtered_currency_info)

# Output:
# [
#   [
#     {'bank': 'National Bank of Ukraine', 'date': '22.04.2020', 'currency': 'USD', 'rate': 27.0815},
#     {'bank': 'National Bank of Ukraine', 'date': '23.04.2020', 'currency': 'USD', 'rate': 27.0536}
#   ],
#   [
#     {'bank': 'PrivatBank', 'date': '22.04.2020', 'currency': 'USD', 'rate': 27.25},
#     {'bank': 'PrivatBank', 'date': '23.04.2020', 'currency': 'USD', 'rate': 27.25}
#   ]
# ]
  1. Display a graph of National Bank of Ukraine and PrivatBank currency sale rate:
from datetime import datetime
from nbu_privat_currency_sale import nbu_privat_currency_info_in_date_range, filter_by_currency_name, \
                                     group_by_bank_name, graph_banks_currency

date1 = datetime(2020, 4, 22)
date2 = datetime(2020, 4, 27)

currency_info = nbu_privat_currency_info_in_date_range(date1, date2)
filtered_currency_info = filter_by_currency_name(currency_info, 'USD')
grouped_info = group_by_bank_name(filtered_currency_info)
graph_banks_currency(grouped_info)
# Output:


Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nbu_privat_currency_sale-0.0.1-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

File details

Details for the file nbu_privat_currency_sale-0.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for nbu_privat_currency_sale-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ecfec31dcdc3fa673e40a67a0d5b29e845334bb15101fe9cf15c494e17652c75
MD5 02e56475f287f44695048d5a977d31e5
BLAKE2b-256 331c8567a2dc6bbc6629bea3327951e8532d5cfb35fff8feaf2ade1d579ad327

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page