Skip to content
ecto is a dynamically configurable Directed Acyclic processing Graph (DAG) framework.
Branch: master
Clone or download
Latest commit 7968276 May 14, 2018



Ecto is a hybrid C++/Python development framework for constructing and maintaining pipelines. In Ecto, pipelines are constructed in terms of processing units, Cells, connected by data paths, Tendrils, that form Directed Acyclic Graphs, Plasms. Cells are typically written in C++, tendrils may be any type, and the plasm may be executed in a variety of clever ways. Python is uses as a the graph DSL.

Ecto may be found useful in domains such as perception, audio, or robotics.

To get started see the online docs at

Get and Build Ecto

These instructions are useful if you wish to work with Ecto from source, as a standalone library.


We use git for our source control. You can get a copy of our repo by doing the following:

git clone git://


Ecto requires

  • CMake
    CMake is used for our build system, and you will need a version >= 2.8
  • Boost
    Anything over 1.40
  • Python
    Ecto should work with 2.6 and up. You should have the development libraries. If you are bellow 2.7 you should install the argparse library
  • optional Sphinx
    Docs are built with sphinx, >= v1.0.7
  • optional gtest

On ubuntu you can get most of these through apt:

sudo apt-get install cmake libboost-all-dev python-dev python-argparse python-yaml libgtest-dev

To build the docs, you should use a very recent version of Sphinx:

sudo easy_install -U sphinx


To build you should just follow a normal cmake recipe:

cd ecto
mkdir -p build
cd build
cmake ..


To validate ecto using our test suite, you may:

cd ecto/build

This should report zero test errors. If it does report an error, please tell us about it here:


To create the latest documentation for Ecto:

sudo pip install -U catkin_sphinx
sphinx-build -b html ./doc/source/ ./doc/build

To build documentation for the kitchen:

sphinx-build -b html ./doc/kitchen/ ./doc/build/

Then you can open up ecto/build/doc/html/index.html locally.


To install Ecto on your machine:

cd ecto/build
make install


See the documentation ( for detailed usage instructions.

You can’t perform that action at this time.