/python3-krakenex

REST Exchange API for Kraken.com, Python 3

Primary LanguagePythonGNU Lesser General Public License v3.0LGPL-3.0

Latest Travis continuous integration build Read latest documentation Latest PyPI release Development discussion at https://gitter.im/python3-krakenex/Lobby

krakenex

Kraken.com exchange API, Python 3 package.

This package is intentionally as lean as possible, and only provides a minimal interface to the Kraken cryptocurrency exchange.

Intended for developers, not traders.

Software that uses krakenex

Libraries

  • pykrakenapi - nicely wraps API methods into regular Python methods, and JSON responses into Pandas dataframes (available on PyPI!)
  • CurrencyViewer - short python3 framework for data extraction, conversion, and smooth development experience (available on PyPI!)

Clients

  • clikraken - command-line client for the Kraken exchange (available on PyPI!)
  • Telegram-Kraken-Bot - Telegram bot to trade on Kraken exchange

Documentation

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.

Examples

A few package use examples are available in the examples directory.

Installation

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.

Locally for a project, in a virtual environment (recommended)

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.

For the user

Using pip:

# install from PyPI
pip install --user krakenex
# ... or from local git repo clone
cd CLONE-OF-GIT-REPO
pip install --user .

System-wide (not recommended)

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

Attribution

"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.

Development notes

Do not annoy the Kraken with tests

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.)

No Python 2

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.