Summary
git Use ID
Python library and CLI tool to query the Open Exchange Rates API
Statistics are disabled for this repository
Downloads are disabled for this repository
Brett Smith 5a73d3d8f8d4
4 years ago
Brett Smith 77393ee80fde
4 years ago
Brett Smith c9382a26044a
4 years ago
Brett Smith ae3e4617d31e
4 years ago
Brett Smith 8dede9d1398c
4 years ago
Brett Smith c3fd55ec15b7
4 years ago
Brett Smith e158eae7d9ae
4 years ago
Brett Smith 30e9f1c1e88a
4 years ago
Brett Smith 5573caf7ee0e
4 years ago
Brett Smith 3a3afb79786b
4 years ago

oxrlib

Introduction

oxrlib provides a Python library and CLI tool to query the Open Exchange Rates API. 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

oxrlib includes an <tt class="docutils literal">oxrquery</tt> tool to access the OXR API directly from the command line. By default, it reads your OXR credentials and other common configuration from <tt class="docutils literal">~/.config/oxrlib.ini</tt>. Copy <tt class="docutils literal">oxrlib_example.ini</tt> from the source to <tt class="docutils literal">~/.config/oxrlib.ini</tt>, then edit that file following the instructions in the comments.

Run <tt class="docutils literal">oxrquery --help</tt> for instructions to use the tool.

Getting started with the library

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)
# Rates are available from the hist_rate.rates dict.

Running tests

Run <tt class="docutils literal">./setup.py test</tt> from your checkout directory.