Basho officially supports a number of open-source client libraries for a variety of programming languages and environments.
|Java||riak-java-client||javadoc, wiki||Maven Central|
Note: All official clients use the integrated issue tracker on Github for bug reporting.
In addition to the official clients, Basho provides some unofficial client libraries, listed below. There are also many client libraries and related community projects.
|C||riak-c-client||C Client Documentation|
The Riak Community is developing at a break-neck pace, and the number of community-contributed libraries and drivers is growing right along side it. Here is a list of projects that may suit your programming needs or curiosities. If you know of something that needs to be added or are developing something that you wish to see added to this list, please fork the Riak Docs repo on GitHub and send us a pull request.
All of these projects and libraries are at various stages of completeness and may not suit your application's needs based on their level of maturity and activity.
Client Libraries and Frameworks
- riak-cpp — A C++ Riak client library for use with C++11 compilers
- Riak C Driver — A library to communicate with Riak using cURL and Protocol Buffers
- Riack — A simple C client library
- Riack++ — A C++ wrapper around riack
- knockbox — An eventual-consistency toolbox for Clojure
- Welle — An expressive Clojure client with batteries included
- clj-riak — Clojure bindings to the Riak Protocol Buffers API
- sumo — A Protocol Buffer specific client for Riak with KV, 2i, and MapReduce support
- kria — Riak 2.0 Asynchronous (NIO.2) Clojure client. Callback driven, low level, Protocol Buffer API, Java 7.
- Riak-Cache-Extension — A Riak-backed cache extension for Railo/ColdFusion
- riak-dart — HTTP client for Riak written in Dart.
- django-riak-sessions — Riak-based Session Backend for Django
- Django Riak Engine — A Riak backend for Django
- Uriak Pool — Erlang connection pool library from the team at Unison
- Riak PBC Pool — Riak Protocol Buffer Client pool application
- Pooly — Riak Process Pool
- riakpool — Application for maintaining a dynamic pool of Protocol Buffer client connections to a Riak database
- pooler — An OTP Process Pool Application
- krc — A simple wrapper around the official Riak client for Erlang
- riakc_pool — A really simple Riak client process pool based on poolboy
- riaken — A fast and extendable Riak Protocol Buffer Client
- goriakpbc — A golang riak client inspired by the Ruby riak-client from Basho and riakpbc from mrb
- riakpbc — A Riak Protocol Buffer Client in Go
- spring-riak — Riak support from Groovy and/or Java
- Riak Haskell Client — A fast Haskell client library from the team at MailRank.
- Riak-Java-PB-Client — Java Client Library for Riak based on the Protocol Buffers API
- Asynchronous Riak Java Client — Asynchronous, NIO-based Protocol Buffers client for Riak
- Riak Module for The Play Framework
- Gutenberg — Riak MapReduce Examples Written in LFE
- CorrugatedIron (project page | source | Nuget package
- Hebo — An experimental Riak client
- Data.RiakClient — A Riak client with Protocol Buffer support
- zukai — Riak ODM for Node.js from Troy Melhase
- riak-pb — Riak Protocol Buffers Client for Node.js from the team at CrowdProcess
- node_riak — Voxer's production Node.js client for Riak.
- riakpbc — A simple Riak Protocol Buffer client library for Node.js
- nodiak — Supports bulk get/save/delete, sibling auto-resolution, MapReduce chaining, Search, and 2i's.
- resourceful-riak — A Riak engine to the resourceful model framework from flatiron.
- Connect-Riak — Riak Session Store for Connect backed by Riak-js
- Riak-js — Node.js client for Riak with support for HTTP and Protocol Buffers
- Riakjs-model — a model abstraction around riak-js
- Node-Riak — A wrapper around Node's HTTP facilities for communicating with Riak
- Nori — Experimental Riak HTTP Library for Node.js modeled after Ripple
- OrionNodeRiak — Node-based server and database-frontend for Sproutcore
- Chinood — Object data mapper for Riak built on Nodiak
- SimpleRiak — A very simple Riak HTTP client
- Net::Riak — A Perl interface to Riak
- AnyEvent-Riak adapter — Non-blocking Riak adapter using anyevent
- riak-tiny — Perl interface to Riak without Moose
- Riak::Light — Fast and lightweight Perl client for Riak (PBC only)
- Ripple-PHP — A port of Ripple to PHP
- riiak — A Riak PHP client library for the Yii Framework
- riak-php — A Riak PHP client with support for Protocol Buffers
- RiakBundle — Symfony Bundle designed to ease interaction with Riak
- php_riak — A PHP Extension written in C, Both Riak client and PHP session module
- Riakasaurus — A Riak client library for Twisted (based on txriak)
- RiakKit — A small Python ORM that sits on top of riak-python-client, similar to mongokit and couchdbkit
- riakalchemy — Object mapper for Riak written in Python
- riak_crdt — A CRDT (Conflict-Free Replicated Data Type) loader for Riak using the crdt API
- txriak — A Twisted module for communicating with Riak via the HTTP interface
- txriakidx — Riak client for Twisted Python that implements transparent indexes
- Shogun — A lightweight, powerful Ruby web application framework with first class support for Riak.
- Risky — A lightweight Ruby ORM for Riak
- riak_sessions — Riak-backed session storage for Rack
- Riaktor — Ruby client and object mapper for Riak
- dm-riak-adapter — DataMapper adapter for Riak
- Riak PB Client — Riak Protocol Buffer Client in Ruby
- Devise-Ripple — An ORM strategy to use Devise with Riak
- ripple-anaf — Accepts nested attributes support for Ripple
- Pabst — Cross-platform Ruby extension for Protocol Buffers written in both Objective-C and Objective-C++
- Riakka — Scala library for talking to Riak
- Ryu — A Tornado Whirlwind Kick Scala client for the Riak raw HTTP interface
- Raiku — An Akka IO- and Sentinel-driven Riak Scala client