Setting up a local development environment

Get source code

The Kiwi TCMS source code is available at

git clone
cd Kiwi/

Install Python 3

Kiwi TCMS is a Python 3 project! Linux is our preferred environment but you can work on Kiwi TCMS on Windows as well!

Download & install Python from All further instructions assume that you have Python 3 enabled.


At the moment Kiwi TCMS is developed and tested with Python 3.9. You can always consult Dockerfile to find out the exact version which we use!

Setup virtualenv

Create a virtual environment for Kiwi TCMS:

$ python3 -m venv ~/kiwi-env
$ source ~/kiwi-env/bin/activate

On Windows, activating the virtual environment is different:

> python3 -m venv C:\kiwi-env
> C:\kiwi-env\Scripts\activate

See for more information!


On Linux you have to install packages which are needed to compile some of the Python dependencies:

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


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

Then install the necessary Python packages inside your virtual environment:

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 several Node.js packages. Download & install Node first and then:

cd tcms/

inside the Kiwi/ 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:

./node_modules/.bin/webpack watch
./ runserver

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