Skip to main content

Installation

There are two options depending on whether you want to install Python or not:


Option 1: Ready-to-use executable

The executable is a self-contained zip archive. No Python, no pip, no virtual environment needed. Both clients (JSONL and Jira) are included.

1. Download the zip

Either use the zip you received directly, or download it from the GitHub releases page — expand Assets and pick the file for your platform (e.g. testbench-defect-service-x.y.z-win_amd64.zip).

2. Extract to a permanent location

Unzip to a folder you won't move later, for example C:\TestBenchDefectService\:

C:\TestBenchDefectService\
testbench-defect-service.exe
<support files>

3. Verify installation from the command line

C:\TestBenchDefectService\testbench-defect-service.exe --version
Running as a Windows service

Point NSSM or FireDaemon directly to testbench-defect-service.exe in the extracted folder. See the Windows service guide.


Option 2: Install with Python

Use this option if you have Python installed or are about to install it.

Requirements

  • Python 3.10–3.14 — 3.13 recommended (download)
  • pip (included with Python)

Set up a virtual environment

note

If you are installing from source: create the virtual environment inside the cloned repository instead.

A virtual environment keeps the installation isolated and provides a stable, predictable path to the executable. Navigate to the directory where you want the service to live, then run:

python -m venv .venv
# Windows
.venv\Scripts\activate

# Linux / macOS
source .venv/bin/activate
Running as a Windows service

With a venv, point NSSM or FireDaemon to .venv\Scripts\testbench-defect-service.exe (full absolute path). See the Windows service guide.


pip install testbench-defect-service

The base install includes the JSONL client. Add extras for other clients:

ClientInstall command
JSONL (default)pip install testbench-defect-service
Jirapip install testbench-defect-service[jira]

Verify installation:

testbench-defect-service --version

From a wheel file (offline)

Use this if you received a .whl file or downloaded one from the GitHub releases page (look for testbench_defect_service-x.y.z-py3-none-any.whl in the Assets).

pip install testbench_defect_service-x.y.z-py3-none-any.whl

With optional extras:

pip install "testbench_defect_service-x.y.z-py3-none-any.whl[jira]"

Verify installation:

testbench-defect-service --version
Fully offline install

By default pip still fetches dependencies from PyPI. To install on a machine with no internet access:

On another machine which has internet access, download the wheel and all its dependencies into a local folder:

pip download "testbench_defect_service-x.y.z-py3-none-any.whl[jira]" -d ./wheels

This saves every required wheel into ./wheels/. Copy that folder together with the .whl file to the target machine.

On the target machine, install entirely from the local folder:

pip install --no-index --find-links ./wheels "testbench_defect_service-x.y.z-py3-none-any.whl[jira]"

From source (developers)

git clone https://github.com/imbus/testbench-defect-service.git
cd testbench-defect-service

Create and activate the virtual environment inside the cloned repository. See Set up a virtual environment.

Install with all clients and development dependencies:

pip install -e .[jira,dev]

Verify installation:

testbench-defect-service --version

Next steps

Head to the Quickstart to configure and start the service.