OS X 10.8

Basic Setup

First, we need to install XCode + GCC and Homebrew. You can download XCode for free in the Apple AppStore. After installation, the command line tools can be installed under Preferences > Downloads > Components.

For homebrew create /usr/local and change the permissions to rwx for your OS X user. Then install homebrew by running:

ruby -e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)"

Package installation

The homebrew package for Qt does not depend on all available graphic libraries. If want support for a specific format you need to install the library for this format first.

brew install libtiff libjpeg libpng

Now you can install pyqt or pyside. This takes on my machine approx. 20 minutes.

brew install pyqt


brew install pyside pyside-tools

Important: you need to add /usr/local/lib/python2.7/site-packages to your PYTHONPATH!

If you do not have access to a couchdb or elasticsearch server, you now need to install couchdb and/or elasticsearch. With homebrew this is very easy:

brew install couchdb elasticsearch

To start couchdb automatically in system startup, copy the startup script of couchdb to your LaunchAgents path.

mkdir -p ~/Library/LaunchAgents 
cp /usr/local/Cellar/couchdb/1.2.0/Library/LaunchDaemons/org.apache.couchdb.plist ~/Library/LaunchAgents/ 
launchctl load -w ~/Library/LaunchAgents/org.apache.couchdb.plist

If you want to start couchdb manually, just open a terminal and type


Windows 7

Basic Setup

The easiest way to install all libraries on windows, are binary installers. You get them for most libraries, especially if the need to be compiled, on the projects homepages. If you have a working python /w c-compiler setup on your machine, you can also use pip to install the required python packages.

Binary Installers

Python packages

After installation you should update your environment varible for the PYTHONPATH and PATH

PYTHONPATH="<installation path>/Python27/Lib/;<installation path>/Python27/Lib/site-packages/"
PATH="%PATH%;<installation path>/Python27/;<installation path>/Python27/Scripts"

Now install pip with easy_install

cd <installation path>/Python27/Scripts
easy_install pip

If you do not have access to a couchdb or elasticsearch server, you now need to install couchdb and/or elasticsearch.

For java you should add the JAVA_HOME environment variable.

JAVA_HOME="<path to java>/jre/"

Generate a win32 installer

First we need to install py2exe

pip install py2exe

Because of our dependency to zope.interface and the fact, that the zope interface is not a real package, we needto create a empty init.py in our installed zope package folder.

touch <path to python>/lib/site-packages/zope/__init__.py

After that, you should be able to create a binary distribution by

cd deploy
python setup.py py2exe

The exceutable is created in the dist folder. You can start the executable by


or create a installer with InnoSetup

Activate support for image formats

PyQt has a plugin system for the different supported image formats. Those plugins are not automatically included to the generated bundle. To include those plugins you need to copy the imageformats folder from your QT/PyQt installationto the dist folder, manually.

cp -a <path to python>/Lib/site-packages/PyQt4/plugins/imageformats deploy/dist/imageformats

RedHat Enterprise Linux 6.x (CentOS 6.x / Scientific Linux 6.x)


First we need to install a default EL6 system*. Then enable the required repositories.

rpm -ivh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-5.noarch.rpm
wget http://wallaby.freshx.de/repo/binary/Linux/RPM/wallaby.repo -O /etc/yum.repos.d/wallaby.repo

If you have qt-devel or qt3-devel installed, you should remove them, because they conflict with the qt48-devel package wich we install later

rpm -e qt-devel
rpm -e qt3-devel

Now install wallaby (this automatically installs updated versions of Qt (V4.8.3), PyQt (4.8.3) sip (4.12.1), Twisted (V12.2.0), CouchDB (1.2) and Elasticsearch (0.19))

yum install wallaby

and start the couchdb and elasticsearch server

service couchdb start
service elasticsearch start


Based on some of the following howto's the rpm files were created:

Our source RPMs can be found here

Debian 6.x Installation

Until now only the server backend (couchdb + elasticsearch is supported). as soon as qt48 + pyqt is ready for Debian wallaby will be fully running.

First you need to enable the unstable source (see apt-pinning). Then you can install CouchDB 1.2 with

apt-get install couchdb

Get elasticsearch >= 0.19 from here and install it

wget https://github.com/downloads/elasticsearch/elasticsearch/elasticsearch-0.19.11.deb 
dpkg -i elasticsearch-0.19.11.deb

Ubuntu Installation

apt-get install python-qt4 pyqt4-dev-tools qt4-designer

Platform independent Setup

CouchDB Config

To use any app, you first need to bootsrap the database. For example to bootstrap the inspector app use the following command:

wlby -a inspector --push default

Elasticsearch / River

Once the basic dependencies are installed you will need to enable the elasticsearch plugins river-couchdb and (optional) elasticsearch-lang-javascript.

<path to elasticsearch>/bin/plugin -install elasticsearch/elasticsearch-river-couchdb/1.1.0

Also needful plugins are the lang-javascript plugin (js support in river filters) and the head plugin (management web-frontend for elasticsearch)

<path to elasticsearch>/bin/plugin -install elasticsearch/elasticsearch-lang-javascript
<path to elasticsearch>/bin/plugin -install Aconex/elasticsearch-head

The web-frontend can be accessed with http://localhost:9200/_plugin/head/

To activate the new plugins you need to restart elasticsearch!

Wallaby components

Twisted 12.x is part of Mac OS X as well as RedHat (if installed by the docu above) If you want a clean installation, it is recommended to use virtualenv.

pip install virtualenv ...

Wallaby dependencies

Install all wallaby dependencies with

pip install wallaby


Once you successfully installed wallaby you can run

wlby -a inspector

Use wallaby

Once Walllaby is installed the wallaby command is available in command line.

Use wlby --help to get a list of the options:

wlby --help
  -h, --help            show this help message and exit
  -a APP                The application name. If you are in a wallaby
                        application folder, this option could be omitted.
  --username=USERNAME   The user to authenticate with the backends.
  --password=PASSWORD   The password to authenticate with the backends.
  --create=CREATE       Create a new application with the given name. This
                        option creates a new folder wallaby-app-<name>
  --push=PUSH           Push the couchapp to the given target. The targets
                        could be configered in the <app>/couchapp/.couchapprc
                        configuration file
  --script=SCRIPT       Execute an application script. The scripts are located
                        in the <app>/scripts folder
  --server=SERVER       The URL of the backend server (without port)
                        The port of the CouchDB backend
  --es-port=ESPORT      The port of the elasticsearch backend
  --db=DB               The name of the database. Defaults to the application
  -p PREF               Special option for the designer. Open the preference
                        sheet with the given name.
  -i ISHEET             Special option for the designer. Open the inspector
                        sheet with the given name.
  -c CHECK              Check the pillow consistency of the given room-name
  -s                    Output the suggestions for all room
  --fx                  Use the backends of FreshX.
  --designer            Launch the Qt designer.
  --designerLog         Output the designer log to the current folder.
  --debug=DEBUG         Debug the given rooms. Multiple room are seperated by