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 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={})[source]¶ Low-level query handling.
Preferrably use
query_private()
orquery_public()
instead.Parameters: - urlpath (str) – API URL path sans host
- req (dict) – additional API request parameters
- conn (krakenex.Connection) – existing connection object to use
- headers (dict) – 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={}, conn=None)[source]¶ API queries that require a valid key/secret pair.
Parameters: - method (str) – API method name
- req (dict) – additional API request parameters
- conn (krakenex.Connection) – existing connection object to use
Returns: json.loads()
-deserialised Python object
-
query_public
(method, req={}, conn=None)[source]¶ API queries that do not require a valid key/secret pair.
Parameters: - method (str) – API method name
- req (dict) – additional API request parameters
- conn (krakenex.Connection) – existing 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.
Note
May become deprecated in future versions.
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={}, headers={})[source]¶ Send POST request to API server using this connection.
Parameters: Returns: http.client
-decoded response
-