俄罗斯联邦中央银行网站api的包装
cbrf的Python项目详细描述
CBRF
^{em1}美国石油学会
俄罗斯联邦中央银行网站api的包装器
安装
稳定版本:
pip install cbrf
开发版本:
git clone https://github.com/Egregors/cbrf.git
cd cbrf
pip install -e .
设置
用于与自己的主机名集环境变量一起使用,例如
export CBRF_URL_SCHEME=http
export CBRF_URL_HOST=www.my-own-cbr.ru
如何使用
api
要获得原始XML答案,您应该使用cbrf.api
方法:
>>> import cbrf
>>> cbrf.get_currencies_info()
<Element 'Valuta' at 0x10b91f688>
>>> cbrf.get_daily_rates()
<Element 'ValCurs' at 0x10b82b9a8>
>>> date_1 = datetime(2001, 3, 2)
>>> date_2 = datetime(2001, 3, 14)
>>> get_dynamic_rates(date_req1=date_1, date_req2=date_2, currency_id='R01235')
<Element 'ValCurs' at 0x1107017c8>
型号
还可以使用基本模型来使用api(请参见测试中的示例)。
CurrenciesInfo
>>> from cbrf.models import CurrenciesInfo
>>> c_info = CurrenciesInfo()
>>> c_info.get_by_id("R01305").name
'Ирландский фунт'
>>> c_info.get_by_id("R01305").eng_name
'Irish Pound'
DailyCurrenciesRates
>>> from cbrf.models import DailyCurrenciesRates
>>> daily = DailyCurrenciesRates()
>>> daily.date
datetime.datetime(2017, 3, 11, 0, 0)
>>> daily.get_by_id('R01035').name
'Фунт стерлингов Соединенного королевства'
>>> daily.get_by_id('R01035').value
Decimal('72.0143')
DynamicCurrenciesRates
>>> from cbrf.models import DynamicCurrenciesRates
>>> date_1 = datetime(2001, 3, 2)
... date_2 = datetime(2001, 3, 14)
... id_code = 'R01235'
>>> dynamic_rates = DynamicCurrenciesRates(date_1, date_2, id_code)
>>> dynamic_rates.get_by_date(datetime(2001, 3, 8)).value
Decimal('28.6200')
测试
运行测试:
pytest cbrf/tests.py
You should install
pytest
first
贡献
错误报告、错误修复和新功能总是受欢迎的。 请打开问题,并提交任何新代码的请求。