krakenex documentation

Interface classes

General-use interface provided by krakenex.

Internally, classes are in separate modules, but they are also exported to the top-level namespace, so the following uses are possible:

# recommended, unlikely to result in namespace collisions
import krakenex
k = krakenex.API()

# OK for simple scripts
from krakenex import *
k = API()

# can be explicit in both cases
# <some import form>
k = krakenex.api.API()
class krakenex.API(key='', secret='')[source]

Bases: object

Maintains a single session between this machine and Kraken.

Specifying a key/secret pair is optional. If not specified, private queries will not be possible.

The session attribute is a requests.Session object. Customise networking options by manipulating it.

Query responses, as received by requests, are retained as attribute response of this object. It is overwritten on each query.

Note

No query rate limiting is performed.

__init__(key='', secret='')[source]

Create an object with authentication information.

Parameters:
  • key (str) – (optional) key identifier for queries to the API
  • secret (str) – (optional) actual private key used to sign messages
Returns:

None

__module__ = 'krakenex.api'
_nonce()[source]

Nonce counter.

Returns:an always-increasing unsigned integer (up to 64 bits wide)
_query(urlpath, data, headers=None)[source]

Low-level query handling.

Note

Use query_private() or query_public() unless you have a good reason not to.

Parameters:
  • urlpath (str) – API URL path sans host
  • data (dict) – API request parameters
  • headers (dict) – (optional) HTTPS headers
Returns:

requests.Response.json()-deserialised Python object

Raises:

requests.HTTPError: if response status not successful

_sign(data, urlpath)[source]

Sign request data according to Kraken’s scheme.

Parameters:
  • data (dict) – API request parameters
  • urlpath (str) – API URL path sans host
Returns:

signature digest

close()[source]

Close this session.

Returns:None
load_key(path)[source]

Load key and secret from file.

Expected file format is key and secret on separate lines.

Parameters:path (str) – path to keyfile
Returns:None
query_private(method, data=None)[source]

Performs an API query that requires a valid key/secret pair.

Parameters:
  • method (str) – API method name
  • data (dict) – (optional) API request parameters
Returns:

requests.Response.json()-deserialised Python object

query_public(method, data=None)[source]

Performs an API query that does not require a valid key/secret pair.

Parameters:
  • method (str) – API method name
  • data (dict) – (optional) API request parameters
Returns:

requests.Response.json()-deserialised Python object