Setting up a local development environment

Get source code

The Kiwi TCMS source code is available at

git clone

Install Python 3

Kiwi TCMS is a Python 3 project! On CentOS 7 this is available via All further instructions assume that you have Python 3 enabled. If you are using software collections then execute:

scl enable rh-python36 /bin/bash

If you are using a different Linux distribution then consult its documentation for more details on how to install and enable Python 3!


At the time of writing Kiwi TCMS has been tested with Python 3.6. You can always consult Dockerfile to find out the latest version which we use!

Setup virtualenv

Create a virtual environment for Kiwi TCMS:

virtualenv ~/virtualenvs/kiwi


First install RPM packages which are needed to compile some of the Python dependencies:

sudo yum install gcc rh-python36-python-devel mariadb-devel libffi-devel npm graphviz


Graphviz is only used to build model diagrams from source code!

Then install dependencies for development:

. ~/virtualenvs/kiwi/bin/activate
pip install -r requirements/mariadb.txt
pip install -r requirements/devel.txt


Alternatively you can use requirements/postgres.txt for PostgreSQL!

The user interface needs the PatternFly library so:

cd tcms/
npm install

inside the project directory.

Initialize database


In development mode Kiwi TCMS is configured to use SQLite! You may want to adjust the database and/or other configuration settings. Override them in ./tcms/settings/ if necessary.

Load database schema and create initial user:

./ migrate
./ createsuperuser

Let’s run Kiwi TCMS

You’re now ready to start the server:

./ runserver

Now, open and should be presented with your brand new Kiwi TCMS homepage!