High-level C++ bindings for the Kodo network coding library
C++ Python
Failed to load latest commit information.
src/kodocpp Commented the API to describe a correct usage of symbols_uncoded() an… Oct 6, 2016
test Use new indentation rule Sep 29, 2016
.gitignore Use new waf (#31) Apr 3, 2017
LICENSE.rst Update README.rst + Add LICENSE.rst Oct 25, 2014
NEWS.rst Preparing to create tag 8.0.0 May 18, 2017
README.rst Update README.rst Mar 9, 2016
config.py Use new waf (#31) Apr 3, 2017
resolve.json Update resolve.json May 18, 2017
waf Use new waf (#31) Apr 3, 2017



A valid Kodo license is required if you wish to use this project.

Please request a license by filling out the license request form.

Kodo is available under a research- and education-friendly license, you can see the details here.

If you try to configure without a valid license, then you will get an error!


This repository contains high-level C++ bindings for the Kodo erasure coding library. The bindings provide convenient access to the basic functionality of Kodo, such as encoding and decoding data. The examples folder contains sample applications showing the usage of the high-level C++ API.


If you have any questions or suggestions about this library, please contact us at our developer mailing list (hosted at Google Groups):


To get started, see the manual here: http://docs.steinwurf.com

Quick Start

If you already installed a C++11 compiler, git and python on your system, then you can clone this repository to a suitable folder:

git clone git@github.com:steinwurf/kodo-cpp.git

Configure and build the project:

cd kodo-cpp
python waf configure
python waf build

Run the unit tests:

python waf --run_tests

Special Options

With the enable_codecs option, you can configure kodo-cpp to only enable some desired codecs and disable all others. For example:

python waf configure --enable_codecs=full_vector

Run python waf --help to list the available codecs. You can even select multiple codecs with a comma-separated list:

python waf configure --enable_codecs=full_vector,seed,sparse_seed