Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

omnieq-api-1.0.0.tar.gz (11.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

omnieq_api-1.0.0-py3-none-any.whl (8.7 kB view details)

Uploaded Python 3

File details

Details for the file omnieq-api-1.0.0.tar.gz.

File metadata

  • Download URL: omnieq-api-1.0.0.tar.gz
  • Upload date:
  • Size: 11.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.22.0 setuptools/51.1.1 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.5

File hashes

Hashes for omnieq-api-1.0.0.tar.gz
Algorithm Hash digest
SHA256 5e5ef86cda9ad5a8023cbe7c322c0463b5620a3ac57b3df40341b3d2faabd528
MD5 7fae437b6d7bc579606bcb55444ab744
BLAKE2b-256 9dfa36850601e3151c809d4d3805bcd7b573024e74d32f6e86da6e16c43d2fac

See more details on using hashes here.

File details

Details for the file omnieq_api-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: omnieq_api-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 8.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.22.0 setuptools/51.1.1 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.5

File hashes

Hashes for omnieq_api-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5cb1ca217eea8e1f3b760487c911c01de32458cc6621b4b129709e91d5884e8b
MD5 a79ab4a8d8acc69da6ca256a8193483b
BLAKE2b-256 ac4ace6a96bff3f3f1a25b29055562bf9523c595eae33ba127c442ae201f7ed3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page