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()
c = krakenex.Connection()
# OK for simple scripts
from krakenex import *
k = API()
c = Connection()
# can be explicit in both cases
k = krakenex.api.API()
c = krakenex.connection.Connection()
-
class
krakenex.
API
(key='', secret='', conn=None)[source]¶ Bases:
object
Maps a key/secret pair to a connection.
Specifying either the pair or the connection is optional.
Note
If a connection is not set, a new one will be opened on first query. If a connection is set, during creation or as a result of a previous query, it will be reused for subsequent queries. However, its state is not checked.
Note
No timeout handling or query rate limiting is performed.
Note
If a private query is performed without setting a key/secret pair, the effects are undefined.
-
__init__
(key='', secret='', conn=None)[source]¶ Create an object with authentication information.
Parameters: - key (str) – key required to make queries to the API
- secret (str) – private key used to sign API messages
- conn (krakenex.Connection) – existing connection object to use
Returns: None
-
__module__
= 'krakenex.api'¶
-
_query
(urlpath, req, conn=None, headers=None)[source]¶ Low-level query handling.
If a connection object is provided, attempts to use that specific connection.
If it is not provided, attempts to reuse a connection from the previous query.
If this is the first ever query, opens a new connection, and keeps it as a fallback for future queries.
Connection state is not checked.
Warning
The fallback connection will be re-used for both public and private queries.
Note
Preferably use
query_private()
orquery_public()
instead.Parameters: - urlpath (str) – API URL path sans host
- req (dict) – API request parameters
- conn (krakenex.Connection) – (optional) existing connection object to use
- headers (dict) – (optional) HTTPS headers
Returns: json.loads()
-deserialised Python object
-
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, req=None, conn=None)[source]¶ API queries that require a valid key/secret pair.
Parameters: - method (str) – API method name
- req (dict) – (optional) API request parameters
- conn (krakenex.Connection) – (optional) connection object to use
Returns: json.loads()
-deserialised Python object
-
query_public
(method, req=None, conn=None)[source]¶ API queries that do not require a valid key/secret pair.
Parameters: - method (str) – API method name
- req (dict) – (optional) API request parameters
- conn (krakenex.Connection) – (optional) connection object to use
Returns: json.loads()
-deserialised Python object
-
set_connection
(conn)[source]¶ Set an existing connection to be used as a default in queries.
Deprecated since version 1.0.0: Access the object’s
conn
attribute directly.Parameters: conn (krakenex.Connection) – existing connection object to use Returns: None
-
-
class
krakenex.
Connection
(uri='api.kraken.com', timeout=30)[source]¶ Bases:
object
Object representing a single connection.
Opens a reusable HTTPS connection. Allows specifying HTTPS timeout, or server URI (for testing purposes).
-
__init__
(uri='api.kraken.com', timeout=30)[source]¶ Create an object for reusable connections.
Parameters: Returns: None
-
__module__
= 'krakenex.connection'¶
-
_request
(url, req=None, headers=None)[source]¶ Send POST request to API server using this connection.
If not provided, sets empty request parameters and HTTPS headers for this request.
Parameters: Returns: http.client
-decoded responseRaises: http.client.HTTPException
: if response status not successful
-