Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A consistent distributed key-value store
OCaml Python C Shell
Failed to load latest commit information.
cfg giving the right example: compressor -> tlog_compression
ctrl updated crtl/nodes;
data uncompress-tlog supports both .tlf and .tlc
debian make_release: 1.8.3
doc Doc: Add new TLS settings to documentation
examples added ad hoc test for client_lib
extension leftovers
jenkins disregards seed
pylabs minor improvement to catchup_only
redhat add redhat spec
src minor improvement to catchup_only
tools less manual release process
.gitignore Added more missing parameters in spec file
.gitmodules submodule url
.merlin Update `.merlin`
.ocamlinit updated crtl/nodes;
.ocp-indent Add ocp-indent settings file
.travis.yml update travis to ocaml 4.02
COMPILING add quickcheck to compiling
LIBRARIES update LIBRARIES with snappy
LICENSE Remove duplicate license text
META make_release: 1.8.3
Makefile expose stamp in arakoon_client package bump travis-ci branch to 1.8
_tags support for nocrypto
arakoon.odocl Move `CountDownLatch` into a new `Lwt_extra` module run system tests with or without qshell Enabling non-LWT logging support for nocrypto Initial version adding metadata (classifiers,...) for Pypi pyrakoon as submodule fix travis


Arakoon is a distributed key/value store with preference for consistency. More technically, it's a Multi-Paxos implementation (written in OCaml) running on top of TokyoCabinet.

Arakoon is licensed under the Apache License, version 2. For a full license text, see LICENSE.

For more information, see the project homepage at

Building Arakoon

For compilation instructions, see the COMPILING document. Information about the libraries we use is available in LIBRARIES.


Start by building Arakoon. To set up a single-node demo server, a basic configuration file is required, e.g.

$> cat single.ini
cluster = arakoon_0
cluster_id = ricky

ip =
client_port = 4000
messaging_port = 4010
home = /tmp
log_level = info

Now, start the node using

$> ./arakoon.native -config single.ini --node arakoon_0

This starts a single node cluster for you to play with.

You can set and retrieve values from the command line using

$> ./arakoon.native -config examples/single.ini --set hello world
$> ./arakoon.native -config examples/single.ini --get hello

An overview of all command-line options is available by running arakoon.native --help.

Of course you want to use Arakoon from within a program. We provide OCaml, C and Python clients.


Arakoon releases are available from the releases page. Any 1.X branch corresponds to the development of releases in the 1.X series.

Have fun,

The Arakoon team

Something went wrong with that request. Please try again.