Skip to main content

The process virtual machine

Project description

Build Status

The process virtual machine

This project defines storage for an abstract _process_ in a company, and implements a virtual machine that keeps track of the execution of instances of the process.


You will need the redis and mongo databases, and rabbitmq for this to work. I recommend using pipenv or virtualenv in your python projetcs ;)

  • clone the repo

  • install the requirements listed in requirements.txt

  • run the tests (pytest)

you can control your cacahuate installation using this three environment variables:

CACAHUATE_SETTINGS: absolute path to a settings file

FLASK_APP: import path to wsgi module (cacahuate.http.wsgi)

FLASK_DEBUG: set to 1 to turn on flask’s debugging


pip install cacahuate


This is the daemon in charge of moving pointers in the process, run with:


The Cacahuate REST API

In this same repository you will find a flask application that exposes a REST api for controling Cacahuate.

How to run

FLASK_APP=cacahuate.http.wsgi flask run

You can use any wsgi-compliant server, like gunicorn, to run this:

gunicorn cacahuate.http.wsgi:app

The docs

Docs are built using sphinx and published in To build a local copy of the docs navigate to the docs/ directory and run:

make html

For more options just run make by itself.


`bash ./ cacahuate/version.txt [major|minor|patch] `

Project details

Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cacahuate-3.14.1.tar.gz (43.5 kB view hashes)

Uploaded source

Built Distribution

cacahuate-3.14.1-py3-none-any.whl (54.0 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page