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
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?
- Requests for requests to banks API
- Matplotlib to create the graphics
Brief examples:
- 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},
# ...
# ]
- 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},
# ...
# ]
- 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},
# ...
# ]
- 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}
# ]
- 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}
# ]
# ]
- 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nbu_privat_currency_sale-0.0.1-py3-none-any.whl.
File metadata
- Download URL: nbu_privat_currency_sale-0.0.1-py3-none-any.whl
- Upload date:
- Size: 5.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ecfec31dcdc3fa673e40a67a0d5b29e845334bb15101fe9cf15c494e17652c75
|
|
| MD5 |
02e56475f287f44695048d5a977d31e5
|
|
| BLAKE2b-256 |
331c8567a2dc6bbc6629bea3327951e8532d5cfb35fff8feaf2ade1d579ad327
|