Skip to main content

Python client for Riak

Project description


Documentation for the Riak Python Client Library is available here. The documentation source is found in docs/ subdirectory and can be built with Sphinx.

Documentation for Riak is available at


The recommended version of Python for use with this client is Python 2.7. From the Riak Python Client root directory, execute:

python install

There is an additional dependency on the Python package setuptools.

Official packages are signed and published to PyPI.


To setup the default test configuration build a test Riak node (from a riak directory):

make rel

See Basic Cluster Setup for more details.

For all of the simple default values, set the RIAK_DIR environment variable to the root of your Riak installation. Then from the riak-python-client directory

cd buildbot
make preconfigure

Start your Riak node with riak start from the the Riak directory, then back in buildbot type:

make configure
make test

That will run the test suite twice: once with security enabled and once without.

Testing Options

If you wish to change the default options you can run the setup by hand. First configure the test node by adjusting the riak.conf settings, where RIAK_DIR is the path to the top your Riak installation:

python preconfigure --riak-conf=$RIAK_DIR/etc/riak.conf

Optionally the hostname and port numbers can be changed, too, via these arguments:

  • --host= IP of host running Riak (default is localhost)

  • --pb-port= protocol buffers port number (default is 8087)

  • --http-port= http port number (default is 8098)

  • --https-port= https port number (default is 8099)

You may alternately add these lines to setup.cfg:


Next start the test node. Once it is running, a test configuration is installed which includes security test users and bucket types:

python configure --riak-admin=$RIAK_DIR/bin/riak-admin

Optionally these configuration settings can be changed, too:

  • --username= test user account (default is testuser)

  • --password= password for test user account (default is testpassword)

  • --certuser= secruity test user account (default is certuser)

  • --certpass= password for security test user account (default is certpass)

Similarly setup.cfg may be modified instead. To run the tests against a Riak server (with configured TCP port configuration) on localhost, execute:

python test

Connections to Riak in Tests

If your Riak server isn’t running on localhost or you have built a Riak devrel from source, use the environment variables RIAK_TEST_HOST, RIAK_TEST_HTTP_PORT and RIAK_TEST_PB_PORT to specify where to find the Riak server.

Some of the connection tests need port numbers that are NOT in use. If ports 1023 and 1022 are in use on your test system, set the environment variables DUMMY_HTTP_PORT and DUMMY_PB_PORT to unused port numbers.

Testing Bucket Types (Riak 2+)

To test bucket-types, you must run the create_bucket_types setup command, which will create the bucket-types used in testing, or create them manually yourself. It can be run like so (substituting $RIAK with the root of your Riak install):

./ create_bucket_types --riak-admin=$RIAK/bin/riak-admin

You may alternately add these lines to setup.cfg:


To skip the bucket-type tests, set the SKIP_BTYPES environment variable to 1.

Testing Secondary Indexes

To test Secondary Indexes, the SKIP_INDEX environment variable must be set to 0 (or 1 to skip them.)

Testing Security (Riak 2+)

By default Security is not enabled on Riak. Once security = on is configured in the riak.conf file it can be enabled with riak-admin.

If you have set up the test environment outlined in the Testing section you can go ahead and use this command to enable security:

python enable_security --riak-admin=$RIAK_DIR/bin/riak-admin

Once you are done testing security you can also:

python disable_security --riak-admin=$RIAK_DIR/bin/riak-admin

To run the tests, then simply:


Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

riak-2.2.0.tar.gz (154.4 kB view hashes)

Uploaded Source

Built Distributions

riak-2.2.0-py3.4.egg (361.9 kB view hashes)

Uploaded Source

riak-2.2.0-py3.3.egg (366.6 kB view hashes)

Uploaded Source

riak-2.2.0-py2.7.egg (352.2 kB view hashes)

Uploaded Source

riak-2.2.0-py2.6.egg (354.4 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page