Simple process management
Gaffer is a set of Python modules and tools to easily maintain and interact with your processes.
- Framework to manage and interact your processes
- Fully evented. Use the libuv event loop using the pyuv library
- Server and command line tools to manage your processes
- Procfile applications support (see gaffer)
- HTTP Api (multiple binding, unix sockets & HTTPS supported)
- Flapping: handle cases where your processes crash too much
- Possibility to interact with STDIO:
- websocket stream to write to stdin and receive from stdout (muliple clients can read and write at the same time)
- subscribe on stdout/stderr feed via longpolling, continuous stream, eventsource or websockets
- write your own client/server using the framework
- Subscribe to process statistics per process or process templates and get them in quasi RT.
- Easily extensible: add your own endpoint, create your client, embed gaffer in your application, ...
- Compatible with python 2.6x, 2.7x, 3.x
Gaffer requires Python superior to 2.6 (yes Python 3 is supported)
To install gaffer using pip you must make sure you have a recent version of distribute installed:
$ curl -O http://python-distribute.org/distribute_setup.py $ sudo python distribute_setup.py $ easy_install pip
To install from source, run the following command:
$ git clone https://github.com/benoitc/gaffer.git $ cd gaffer && pip install -r requirements.txt
$ pip install gaffer
gaffer is available in the public domain (see UNLICENSE). gaffer is also optionally available under the MIT License (see LICENSE), meant especially for jurisdictions that do not recognize public domain works.