Tags: veox/python3-krakenex
Tags
[v2.1.0] - 2018-04-20 (Fryday) ------------------------------ Added ^^^^^ * A ``timeout`` argument for ``API.query_public()`` or ``API.query_private()``, to set a time-out period for that particular query. (`#67`_) * ``krakenex.API.json_options()`` to set options to the JSON de-serialiser, to be used on query responses. (`#87`_) * An ``examples/json-options.py`` example to demonstrate the above. (`#88`_) .. _#67: #67 .. _#87: #87 .. _#88: #88 Changed ^^^^^^^ * Updated examples using ``pandas`` to post-v0.17.0 sorting. (`#29`_) .. _#29: #29
[v2.0.0] - 2017-11-14 (Tuesday) ------------------------------- For a detailed list of changes, refer to the same-number releases below. Migration instructions ^^^^^^^^^^^^^^^^^^^^^^ * Everything network-related now handled by ``requests``. See its `docs`_ if needed. (`#11`_) * ``krakenex.API`` class no longer has a ``conn`` attribute for connection manipulation. It has been replaced by a ``session`` attribute, which is a ``requests.Session``. For custom networking setups, directly modify ``session`` attribute of a ``krakenex.API`` object. * ``krakenex.API`` constructor no longer accepts ``conn`` argument as a means of re-using an existing ``krakenex.Connection`` object. Instead, modify ``krakenex.API.session`` if needed, same as above. .. _docs: http://docs.python-requests.org/ .. _#11: #11 Known issues ^^^^^^^^^^^^ * The remote servers are unstable under high load, which is most of the time. No recovery mechanism is provided for failed queries. (`#66`_) Most importantly, queries that may seem to have failed due to a ``502`` HTTP error may in fact reach the trade execution engine, with an unpredictable delay. See `PSA`_ for an example. After encountering a ``502``, a subsequent call to ``krakenex.API.query_private()`` will construct a new query, with an increased ``nonce``. When used with an ``AddOrder`` query, this may have disastrous effects, placing a duplicate order. To work around this, instead reuse the ``krakenex.API.response.request`` object, which is a ``requests.PreparedRequest``, saved as part of ``requests``' operation when submitting the first query. This request can be re-sent using ``krakenex.API.session.send()``. .. _#66: #66 .. _PSA: https://www.reddit.com/r/krakenex/comments/778uvh/psa_http_error_502_does_not_mean_the_query_wont/
[v2.0.0c2] - 2017-10-20 (Friday) -------------------------------- **Release candidate.** Not recommended for production use. For a detailed list of changes, refer to the same-number releases below. Migration instructions ^^^^^^^^^^^^^^^^^^^^^^ * **Everything network-related now handled by `requests`_.** (`#11`_) * ``krakenex.API`` class no longer has a ``conn`` attribute for connection manipulation. It has been replaced by a ``session`` attribute, which is a ``requests.Session``. For custom networking setups, directly modify ``session`` attribute of a ``krakenex.API`` object. * ``krakenex.API`` constructor no longer accepts ``conn`` argument as a means of re-using an existing ``krakenex.Connection`` object. As above, modify ``krakenex.API.session`` if needed.
[v2.0.0a1] - 2017-09-21 (Thursday) ---------------------------------- **Internal alpha testing release!** Not for general use. For that reason, ``pip`` package not provided. Changed (breaking!) ^^^^^^^^^^^^^^^^^^^ * **Everything network-related now handled by `requests`_.** (`#11`_) * ``krakenex.API`` class no longer has a ``conn`` atrribute for connection manipulation. It has been replaced by a ``session`` attribute, which is a ``requests.Session``. * ``krakenex.API`` constructor no longer accepts ``conn`` argument as a means of re-using an existing ``krakenex.Connection`` object. Removed ^^^^^^^ * ``krakenex.Connection`` class. * ``krakenex.API.set_connection()`` method (deprecated in ``v1.0.0``). .. _requests: http://docs.python-requests.org/ .. _#11: #11
[v1.0.0] - 2017-09-18 (Monday) ------------------------------ For a detailed list of changes, refer to the same-number releases below. Changed (breaking!) ^^^^^^^^^^^^^^^^^^^ * If you were previously calling ``API.query_private()`` or ``API.query_public()`` in a ``try/except`` block, be aware that these two may now throw ``http.client.HTTPException``, if the underlying ``Connection`` returns a non-`20x` status code. (`#17`_) Deprecated ^^^^^^^^^^ * ``krakenex.API.set_connection()`` method. Access ``krakenex.API.conn`` attribute directly. Known bugs ^^^^^^^^^^ * There is no straightforward way to reset the ``krakenex.API`` object's connection ``krakenex.API.conn``. (`#53_`) The recommended workaround for now, assuming ``k = krakenex.API()``: .. code-block:: sh k.conn.close() k.conn = None If a connection is not closed prior to the reference being removed, the connection will continue to linger, preventing removal of the object by the garbage collector. .. _#17: #17 .. _#53: #53
PreviousNext