The Shogun Machine Learning Toolbox (Source Code)
C++ Python CMake C Shell Matlab
Latest commit 4d66ee9 Oct 26, 2016 @vigsterkr vigsterkr drop pages from doxygen
we use website as a source of basic information from now on.

The SHOGUN machine learning toolbox

Unified and efficient Machine Learning since 1999.

Develop branch build status:

Build Status Coverage Status


Quick links for this file:


Shogun is implemented in C++ and interfaces to Python, octave, java, ruby, C#, R, Lua, Perl. JavaScript and Matlab are planned to be (re-)introduced soon.

Interface Status
python mature (no known problems)
octave mature (no known problems)
java stable (no known problems)
ruby stable (no known problems)
csharp stable (no known problems)
r beta (most examples work, static calls unavailable
lua alpha (many examples work, string typemaps are unstable,
overloaded methods unavailable)
perl pre-alpha (work in progress quality)
js pre-alpha (work in progress quality)

See our website for examples in all languages.


Shogun is supported under GNU/Linux, MacOSX, FreeBSD, and Windows. See our buildfarm

Directory Contents

The following directories are found in the source distribution. Note that some folders are submodules that can be checked out with git submodule update --init.

  • src - source code.
  • doc - readmes (doc/reamde, submodule), ipython notebooks, cookbook (api examples), licenses
  • examples - example files for all interfaces.
  • data - data sets (submodule required for some examples / applications)
  • tests - unit and integration tests.
  • applications - applications of SHOGUN.
  • benchmarks - speed benchmarks.
  • cmake - cmake build scripts


Shogun is generally licensed under the GPL3, with code borrowed from various external libraries, and optional parts that are neither compatible with GPL nor BSD. It is possible to compile a BSD3 compatible build of Shogun.

See doc/licenses for details.