Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Build Status PyPI version

try it out

If you want to try out how yadt works, please check out our how to and the project page.

the Yadt concept

concept yadtshell and yadtminion

The yadtshell(server part) controls hosts with a yadt-minion(client part) via passwordless ssh with a minimal configuration, it handles service dependencies and package updates.

  • Atarget is a set of hosts which belong together [wiki]
  • Aservice in yadt is the representation of a service on a host with a LSB compatible init script
  • Aservice dependency is the dependency between two services and its not limited to a service on the same host. (e.g httpd -> loadbalancer) [wiki]

developer setup

We're running CI builds on travis-ci and on


  • git
  • python 2.6/2.7
  • python-devel
  • virtualenv

getting started

git clone
cd yadtshell
virtualenv venv
. venv/bin/activate
pip install pybuilder
pyb install_dependencies

The yadt project is using the pybuilder as a build automation tool for python. The yadtshell project has a clear project structure.

├── integrationtest
│   └── python  # here you can find the integration tests, the tests have to end with ```*```
├── main
│   ├── python
│   │   └── yadtshell # here you can find the program modules
│   └── scripts # for the executable scripts
└── unittest
    └── python #  here you can find the unit tests, the test have to end with ```*```

running the tests

pyb verify

running code linting

pyb analyze
All unittests passed.
[INFO]  Executing flake8 on project sources.
[INFO]  Executing frosted on project sources.
[INFO]  Executing jedi linter on project sources.

generating a

cd target/dist/yadtshell-$VERSION
./ <whatever you want>

running all tasks together


find help


issues page