Kraken.com exchange API, Python 3 package.
Asynchronous mode, based on original project
This package is intentionally as lean as possible, and only provides a minimal interface to the Kraken cryptocurrency exchange.
Intended for developers, not traders.
View the latest or stable online at ReadTheDocs.
The code is documented in docstrings, and can be viewed with a text editor.
You can also generate your own with, e.g., make html
in doc
.
This requires sphinx
and its rtd
theme.
For the most up-to-date list of public/private Kraken API methods, see their API documentation.
A few package use examples are available in the examples directory.
This package requires Python 3.3 or later. The module will be called
krakenex
.
A PyPI package is available.
For general use, there is only one direct dependency: requests.
This requires python-virtualenv
and python-pip
.
In a terminal:
# create directory for a project that'll be using krakenex
mkdir my-project
cd my-project
# bootstrap virtualenv
export VIRTUAL_ENV=.virtualenv/krakenex
mkdir -p $VIRTUAL_ENV
virtualenv $VIRTUAL_ENV
source $VIRTUAL_ENV/bin/activate
# install from PyPI
pip install krakenex
For more information on virtualenv
, see its documentation.
Using pip
:
# install from PyPI
pip install --user krakenex
# ... or from local git repo clone
cd CLONE-OF-GIT-REPO
pip install --user .
In general, use the distribution's package manager.
If it's unavailable, one can use pip
:
# install from PyPI
pip install krakenex
# ... or from local copy
pip install /path/to/clone/of/repo
"Core" code is licensed under LGPLv3. See LICENSE.txt
and
LICENSE-GPLv3.txt
.
Examples are licensed under the Simplified BSD license. See
examples/LICENSE.txt
.
Payward's PHP API, Alan McIntyre's BTC-e API, and ScriptProdigy's Cryptsy Python API were used as examples when writing the original python2-krakenex package. It was then ported to Python 3.
Some tests may be making queries to the Kraken API server.
If you intend to do development on this package, and have tests enabled on Travis CI, be sure to limit concurrent jobs to 1, and enable all possible auto-cancellations.
(Better yet, don't rely on public infrastructure, but run the tests locally first.)
This package will never support Python 2. There will be no changes made to enable compatibility with Python 2. Python 3.0 was released in 2008, before Bitcoin was.
There is no reason to support Python 2 except for compatibility with systems from the pre-blockchain era.
The fact that some GNU/Linux distributions still ship with Python 2 as the default seems unfortunate to me. However, I will not support this madness with my precious time.
If you have a valid reason to use Python 2, see python2-krakenex. Be warned, though, that it is unmaintained.