The Riak client for Python.
Python Erlang Shell Makefile Batchfile HTML
Latest commit ac36ad1 Feb 9, 2017 @lukebakken lukebakken committed on GitHub Merge pull request #518 from basho/features/lrb/gh-517_CLIENTS-1070
Implement exceptions for listing operations.
Permalink
Failed to load latest commit information.
build Add Python 3.6 to the mix Jan 19, 2017
docs @ f8f1ae3 Make docs a submodule of the gh-pages branch, add docs target in main… Dec 17, 2016
docsrc Add per-file headers Jan 10, 2017
riak Add global disable_list_exceptions variable to disable exceptions thr… Feb 9, 2017
riak_pb @ cb15cc4 Update riak_pb and add encode / decode tests for BLOB column Dec 6, 2016
tools @ 1f54803 Add Python 3.6 to the mix Jan 19, 2017
.gitignore Make docs a submodule of the gh-pages branch, add docs target in main… Dec 17, 2016
.gitmodules Make docs a submodule of the gh-pages branch, add docs target in main… Dec 17, 2016
.hgignore final fixes before pushing to PyPI Jun 15, 2010
.hgtags Added tag riak-python-client-1.1.1 for changeset 6f4f58e0c381 Jul 1, 2010
.runner Update timeseries tests, add exception if client is closed and pools … Nov 7, 2016
.travis.sh Add security tests to Travis CI Oct 21, 2016
.travis.yml Add Python 3.6 to the mix Jan 19, 2017
LICENSE add LICENSE and README Apr 8, 2010
MANIFEST.in Improve README generation Mar 29, 2016
Makefile Add global disable_list_exceptions variable to disable exceptions thr… Feb 9, 2017
NOTICE Add per-file headers Jan 10, 2017
README.md Add contributor, 2.7.0 release notes Dec 12, 2016
RELNOTES.md Add note about exceptions being raised for list operations Feb 9, 2017
commands.py Add per-file headers Jan 10, 2017
make.ps1 Add basic make.ps1 for Windows Apr 27, 2016
setup.cfg added sensible parameters for nosetests Apr 22, 2011
setup.py Unexport vars related to encoding, ensure files are opened with utf-8… May 19, 2016
tox.ini Remove buildbot directory and migrate what it did to main Makefile Oct 15, 2016
version.py Add per-file headers Jan 10, 2017

README.md

Python Client for Riak

Build Status

Build Status

Documentation

Documentation for the Riak Python Client Library is available here.

Documentation for Riak is available here.

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.

From Source

python setup.py install

There are additional dependencies on Python packages setuptools and protobuf.

From PyPI

Official packages are signed and published to PyPI.

To install from PyPI directly you can use pip.

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:

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:

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

Source build documentation.

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)

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:
git submodule update --init
  • Run the following:
./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
  • David Basden
  • David Delassus
  • 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
  • Mark Erdmann
  • Mark Phillips
  • Mathias Meyer
  • Matt Heitzenroder
  • Matt Lohier
  • 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
  • Tin Tvrtković
  • Vitaly Shestovskiy
  • William Kral
  • Yasser Souri