The fixer package

[ Tags: api, bsd3, library ] [ Propose Tags ]

Please see the README on Github at https://github.com/NorfairKing/fixer#readme


[Skip to Readme]

Properties

Versions 0.0.0.0
Change log ChangeLog.md
Dependencies aeson, base (>=4.7 && <5), containers, directory, http-api-data, http-client, mtl, servant, servant-client, stm, text, time, validity (>=0.4.0.3), validity-containers, validity-time, yaml [details]
License BSD3
Copyright Copyright: (c) 2018 Tom Sydney Kerckhove
Author Tom Sydney Kerckhove
Maintainer syd.kerckhove@gmail.com
Category API
Home page https://github.com/NorfairKing/fixer#readme
Bug tracker https://github.com/NorfairKing/fixer/issues
Source repo head: git clone https://github.com/NorfairKing/fixer
Uploaded Sun Jan 28 05:57:56 UTC 2018 by Norfair
Distributions NixOS:0.0.0.0
Downloads 28 total (28 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2018-01-28 [all 1 reports]
Hackage Matrix CI

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for fixer-0.0.0.0

[back to package description]

Fixer, a Haskell client for http://fixer.io/

Automatic Transparent Caching

Because historical currency conversion rates do not change post-hoc, we can cache them indefinitely. Because of this, and because http://fixer.io/ is a free service, we should cache the results of the API as much as possible. This client automatically transparenly caches results so that the real API is only called when absolutely necessary.

Example usage:

main :: IO
main = do
    rates <-
        autoRunFixerClient $
          withFileCache "/tmp/fixer.cache" $
            getAtDate (fromGregorian 2018 01 19) (Just EUR) Nothing
    case rates of
        Left err -> die $ show err
        Right v -> print v
Rates
  { ratesBase = EUR
  , ratesDate = 2018-01-19
  , ratesRates = fromList
    [ (AUD,Rate {unRate = 6891408149802333 % 4503599627370496})
    , (BGN,Rate {unRate = 550508759450701 % 281474976710656})
    , (BRL,Rate {unRate = 8852275427559447 % 2251799813685248})
    , (CAD,Rate {unRate = 3433093995944529 % 2251799813685248})
    , (CHF,Rate {unRate = 5295332441862229 % 4503599627370496})
    , (CNY,Rate {unRate = 8836175058891597 % 1125899906842624})
    , (CZK,Rate {unRate = 3579376541341057 % 140737488355328})
    , (DKK,Rate {unRate = 8382775166406073 % 1125899906842624})
    , (GBP,Rate {unRate = 3979605810725939 % 4503599627370496})
    , (HKD,Rate {unRate = 5393848683710959 % 562949953421312})
    , (HRK,Rate {unRate = 4185645493678139 % 562949953421312})
    , (HUF,Rate {unRate = 5439503924933427 % 17592186044416})
    , (IDR,Rate {unRate = 16316 % 1})
    , (ILS,Rate {unRate = 2355213720128743 % 562949953421312})
    , (INR,Rate {unRate = 2752790087858127 % 35184372088832})
    , (JPY,Rate {unRate = 4768889792920289 % 35184372088832})
    , (KRW,Rate {unRate = 2873903492680909 % 2199023255552})
    , (MXN,Rate {unRate = 6422133068630327 % 281474976710656})
    , (MYR,Rate {unRate = 5433592950422503 % 1125899906842624})
    , (NOK,Rate {unRate = 5417999236712733 % 562949953421312})
    , (NZD,Rate {unRate = 3790004266413641 % 2251799813685248})
    , (PHP,Rate {unRate = 8745146051423371 % 140737488355328})
    , (PLN,Rate {unRate = 2348402025692345 % 562949953421312})
    , (RON,Rate {unRate = 2623009012971261 % 562949953421312})
    , (RUB,Rate {unRate = 609850721415725 % 8796093022208})
    , (SEK,Rate {unRate = 5535655776977787 % 562949953421312})
    , (SGD,Rate {unRate = 1821480869289997 % 1125899906842624})
    , (THB,Rate {unRate = 2749236466277155 % 70368744177664})
    , (TRY,Rate {unRate = 5241852196287205 % 1125899906842624})
    , (USD,Rate {unRate = 5519161343342543 % 4503599627370496})
    , (ZAR,Rate {unRate = 8418916553415721 % 562949953421312})
    ]
  }