riak 2.7.0
Python client for Riak
License: Apache 2

Python Client for Riak
======================

Build Status
------------

|Build Status|

Documentation
-------------

`Documentation for the Riak Python Client
Library <http://basho.github.io/riak-python-client/index.html>`__ is
available
`here <http://basho.github.io/riak-python-client/index.html>`__.

Documentation for Riak is available
`here <http://docs.basho.com/riak/latest>`__.

Repository Cloning
------------------

*NOTE*: please clone this repository using the ``--recursive`` argument
to ``git clone`` or follow the clone with
``git submodule update --init``. This repository uses two submodules.

Installation
============

The recommended versions of Python for use with this client are Python
``2.7.8`` (or greater, ``2.7.11`` as of ``2016-06-21``), ``3.3.x``,
``3.4.x`` and ``3.5.x``. The latest version from each series should be
preferred. Older versions of the Python ``2.7.X`` and ``3.X`` series
should be used with caution as they are not covered by integration
tests.

Riak TS (Timeseries)
--------------------

You must use version ``2.7.11``, ``3.4.4`` or ``3.5.1`` (or greater
within a version series). Otherwise you will be affected by `this Python
bug <https://bugs.python.org/issue23517>`__.

From Source
-----------

.. code:: sh

    python setup.py install

There are additional dependencies on Python packages ``setuptools`` and
``protobuf``.

From PyPI
---------

Official packages are signed and published to
`PyPI <https://pypi.python.org/pypi/riak>`__.

To install from `PyPI <https://pypi.python.org/pypi/riak>`__ directly
you can use ``pip``.

.. code:: sh

    pip install riak

Testing
=======

Unit Tests
----------

Unit tests will be executed via ``tox`` if it is in your ``PATH``,
otherwise by the ``python2`` and (if available), ``python3``
executables:

.. code:: sh

    make unit-test

Integration Tests
-----------------

You have two options to run Riak locally - either build from source, or
use a pre-installed Riak package.

Source
~~~~~~

To setup the default test configuration, build a Riak node from a clone
of ``github.com/basho/riak``:

.. code:: sh

    # check out latest release tag
    git checkout riak-2.1.4
    make locked-deps
    make rel

`Source build
documentation <http://docs.basho.com/riak/kv/latest/setup/installing/source/>`__.

When building from source, the protocol buffers port will be ``8087``
and HTTP will be ``8098``.

Package
~~~~~~~

Install using your platform's package manager
(`docs <http://docs.basho.com/riak/kv/latest/setup/installing/>`__)

When installing from a package, the protocol buffers port will be
``8087`` and HTTP will be ``8098``.

Running Integration Tests
~~~~~~~~~~~~~~~~~~~~~~~~~

-  Ensure you've initialized this repo's submodules:

.. code:: sh

    git submodule update --init

-  Run the following:

.. code:: sh

    ./tools/setup-riak
    make integration-test

Contributors
------------

-  Andrew Thompson
-  Andy Gross
-  Armon Dadgar
-  Brett Hazen
-  Brett Hoerner
-  Brian Roach
-  Bryan Fink
-  Daniel Lindsley
-  Daniel Néri
-  Daniel Reverri
-  `Dan Root <https://github.com/daroot>`__
-  `David Basden <https://github.com/dbasden>`__
-  `David Delassus <https://github.com/linkdd>`__
-  David Koblas
-  Dmitry Rozhkov
-  Eric Florenzano
-  Eric Moritz
-  Filip de Waard
-  Gilles Devaux
-  Greg Nelson
-  Gregory Burd
-  Greg Stein
-  Ian Plosker
-  Jayson Baird
-  Jeffrey Massung
-  Jon Meredith
-  Josip Lisec
-  Justin Sheehy
-  Kevin Smith
-  `Luke Bakken <https://github.com/lukebakken>`__
-  Mark Erdmann
-  Mark Phillips
-  Mathias Meyer
-  Matt Heitzenroder
-  `Matt Lohier <https://github.com/aquam8>`__
-  Mikhail Sobolev
-  Reid Draper
-  Russell Brown
-  Rusty Klophaus
-  Rusty Klophaus
-  Scott Lystig Fritchie
-  Sean Cribbs
-  Shuhao Wu
-  Silas Sewell
-  Socrates Lee
-  Soren Hansen
-  Sreejith Kesavan
-  Timothée Peignier
-  ```tobixx`` <https://github.com/tobixx>`__
-  `Tin Tvrtković <https://github.com/Tinche>`__
-  `Vitaly Shestovskiy <https://github.com/lamp0chka>`__
-  William Kral
-  `Yasser Souri <https://github.com/yassersouri>`__

.. |Build Status| image:: https://travis-ci.org/basho/riak-python-client.svg?branch=master
   :target: https://travis-ci.org/basho/riak-python-client