Skip to main content

Simple app for automatization of everything

Project description

Latest Version Downloads Wheel Status

CI can be a bitch.

Jenkins is nice, but it’s Java, thus the memory consumption.

Buildbot is really hairy and weird.

Sloth CI is simple. Try it!


Sloth CI can be installed with pip:

pip install sloth-ci


Sloth CI will work only in Python 3. It could have been ported to Python 2 with minimal effort, but the priorities are on the functionality now. Python 3 is better anyway.

This will install the Python package and add the sloth-ci shell command.

The repo is at

Read the full documentation at

Install provider(s)

Sloth CI listens to payload from providers to trigger your actions.

Invcoming payload form a particular provider is valiadated by the respective validator.

Validators can be installed with pip:

pip install sloth-ci.validators.bitbucket


pip install sloth-ci.validators.github

…or roll-your-own with:

pip install sloth-ci.validators.dummy

Validators are maintained in a separate repo at

Install app extensions

Additional functions like logging to a file and non-default executors are available via extensions.

Extensions are installed via pip:

pip install sloth-ci.ext.logs

Dummy extension (just like the Dummy validator) can be referred to while developing your own extensions:

pip install sloth-ci.ext.dummy

Extensions are maintained in a separate repo at


Use the sloth-ci command to launch Sloth CI:

sloth-ci [-h] [--sconfig SCONFIG] [--host HOST] [--port PORT] [--log_dir LOG_DIR] config [config ...]

positional arguments:
    config             Sloth app config(s); config per app.

optional arguments:
    -h, --help         show help message and exit
    --sconfig SCONFIG  Server config
    --host HOST        Host for the Sloth server (overrides value in sconfig)
    --port PORT        Port for the Sloth server (overrides value in sconfig)
    --log_dir LOG_DIR  Where the log files should be stored (overrides value in sconfig)

Server Config Example

host =
port = 8080
log_dir = /var/log/sloth/

Sloth App Config Example

listen_to = /sloth-listener

work_dir = /home/sloth/my_project

provider = bitbucket

repo = moigagoo/sloth-ci

foo = bar

echo Got a commit to {branch}
echo {foo}

Project details

Release history Release notifications

This version
History Node


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
sloth_ci-0.8.2-py3-none-any.whl (10.3 kB) Copy SHA256 hash SHA256 Wheel 3.4 (273.9 kB) Copy SHA256 hash SHA256 Windows Installer any (12.0 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page