oxrlib/README.rst

40 lines
1.6 KiB
ReStructuredText
Raw Normal View History

oxrlib
======
Introduction
------------
oxrlib provides a Python library and CLI tool to query the `Open Exchange Rates API <https://openexchangerates.org/>`_. It emphasizes support for rich data types throughout, and supports caching API results to the filesystem.
It currently only supports OXR's "historical" API.
Getting started with the CLI tool
---------------------------------
2017-05-22 15:24:43 +00:00
oxrlib includes an ``oxrquery`` tool to access the OXR API directly from the command line. By default, it reads your OXR credentials and other common configuration from ``~/.config/oxrlib.ini``. Copy ``oxrlib_example.ini`` from the source to ``~/.config/oxrlib.ini``, then edit that file following the instructions in the comments.
2017-05-22 15:24:43 +00:00
Run ``oxrquery --help`` for instructions to use the tool.
Getting started with the library
--------------------------------
2017-05-22 15:24:43 +00:00
Here's an example of using the Python library, complete with caching results::
from oxrlib import cache, loaders, rate
filename_format = '{date}_{base}_rates.json'
cache_writer = cache.CacheWriter(DIR_PATH, historical=filename_format)
loader = loaders.LoaderChain()
loader.add_loader(loaders.FileCache(DIR_PATH, historical=filename_format))
loader.add_loader(loaders.OXRAPIRequest(APP_ID_STRING))
with loader.historical(DATE, BASE_CODE_STRING) as json_response:
hist_rate = rate.Rate.from_json_file(json_response)
if loader.should_cache():
cache_writer.save_rate(hist_rate)
2017-05-22 16:18:49 +00:00
# Rates are available from the hist_rate.rates dict.
Running tests
-------------
2017-05-22 15:24:43 +00:00
Run ``./setup.py test`` from your checkout directory.