OmniEQ API wrapper
Project description
OmniEQ API Client
Purpose
This library is intended to serve as a simplified interface for the OmniEQ API.
Detailed documentation on how to use the API can be found here.
Usage
Please see notebook/usage.ipynb.
Features
Cache
Historical data is cached on disk indefinitely using the disckcache library. I felt it was safe to say what happened last week isn't going to change any time soon. (and if you figure out how, let me know)
This allows for quicker response times and avoids repeat requests.
Latest chains are cached for 15 seconds and chain expirations for 12 hours. For the most part, everything historical doesn't expire.
Rate Limit
Rate limiting is built-in with the ratelimit library. It adheres (near) to the rate limit specified in the docs.
The limit may need to be adjusted if rate limit errors are being returned by the server.
Parallel Requests
With a rate limit of 10/s and each request taking me 0.7 seconds on a single thread (shitty wifi), I figured it'd be smart to parallelize them (duh).
So this has been built into some functions like Client.option_ohlcv_minute, which will aggregate a full history of an option (first checking archive dates, then requesting historical prices for each).
Roadmap
- Issues (below)
- Token management (validate token, create pickle file, don't ask again)
- Complete API coverage (the spread builder is going to be some work)
- API error response handling
- ... documentaion (bleh)
Issues
- Requesting historical data for prices in the future (which will obviously have no results) will be permanently cached.
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 Distribution
Built Distribution
Hashes for omnieq_api-1.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5cb1ca217eea8e1f3b760487c911c01de32458cc6621b4b129709e91d5884e8b |
|
MD5 | a79ab4a8d8acc69da6ca256a8193483b |
|
BLAKE2b-256 | ac4ace6a96bff3f3f1a25b29055562bf9523c595eae33ba127c442ae201f7ed3 |