Skip to main content

Python SDK for the VALR REST API

Project description

Python SDK for the VALR REST API

  • Free software: MIT license

Installation

pip install valr-python

You can also install the in-development version with:

pip install https://github.com/jonathanelscpt/valr-python/archive/master.zip

Authentication

Authenticating to the VALR API requires a valid API Key from the VALR exchange.

Documentation

To use the project:

>>> from valr_python import Client
>>> from valr_python.exceptions import IncompleteOrderWarning
>>>
>>> c = Client(api_key='api_key', api_secret='api_secret')
>>> c.rate_limiting_support = True # honour HTTP 429 "Retry-After" header values
>>> limit_order = {
...     "side": "SELL",
...     "quantity": 0.1,
...     "price": 10000,
...     "pair": "BTCZAR",
...     "post_only": True,
... }
>>> try:
...    res = c.post_limit_order(**limit_order)
...    order_id = res['id']
...    print(order_id)
... except IncompleteOrderWarning as w:  # HTTP 202 Accepted handling for incomplete orders
...    order_id = w.data['id']
...    print(order_id)
... except Exception as e:
...    print(e)
"558f5e0a-ffd1-46dd-8fae-763d93fa2f25"
>>>

Development

To execute all tests run:

tox

Note, to combine the coverage data from all the tox environments run:

Windows
set PYTEST_ADDOPTS=--cov-append
tox
Other
PYTEST_ADDOPTS=--cov-append tox

Changelog

0.1.7 (2020-01-11)

  • Standardised api attribute naming in Client
  • Updated doctest and readme for more detailed SDK description

0.1.6 (2020-01-11)

  • Added custom warning IncompleteOrderWarning on receiving 202 Accepted response to support custom handling of incomplete orders
  • Added custom warning TooManyRequestsWarning during 429 handling
  • Added class flag for enabling or disabling 429 handler

0.1.5 (2020-01-11)

  • Expanded test suites to unit, functional and live integration testing
  • Internal class refactoring
  • Added optional HTTP 429 handling by honouring the “Retry-After” header value sent in VALR responses

0.1.4 (2020-01-04)

  • Streamlined ordering api calls with decorators
  • Added typing support
  • Re-worked class design internals to support later async expansion
  • Fixed bugs with str ‘None’ insertion with f-strings
  • Expanded unit tests to cover all api endpoints for synchronous client

0.1.3 (2020-01-02)

  • Fixed defect with empty body signed signatures
  • Updated class importing
  • Added additional docstrings and unit tests

0.1.2 (2019-12-31)

  • Updated readme and documentation

0.1.1 (2019-12-31)

  • corrected build error issue in setup.py

0.1.0 (2019-12-29)

  • Initial PyPi release

0.0.0 (2019-12-27)

  • Alpha-only. Not released on PyPI.

Project details


Download files

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

Files for valr-python, version 0.1.7
Filename, size File type Python version Upload date Hashes
Filename, size valr_python-0.1.7-py2.py3-none-any.whl (13.6 kB) File type Wheel Python version py2.py3 Upload date Hashes View hashes
Filename, size valr-python-0.1.7.tar.gz (24.4 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page