Skip to content

Install from source

Running from source is how you use TRACE on Linux, and how you follow the newest code on any system. One script per platform does the whole install.

You need Python 3.10 or newer – and nothing else. No C compiler, no Visual Studio Build Tools, and on macOS no Homebrew: The Sleuth Kit (pytsk3), libewf and every other forensic engine install as pre-built wheels for Windows, macOS (Apple Silicon and Intel) and Linux. The installers refuse to fall back to compiling, so a missing wheel fails clearly instead of half-way through a C build.

  1. Install Python 3.10 or newer from python.org if you do not have it.

  2. Get the code and run the installer in PowerShell:

    Terminal window
    git clone https://github.com/Gadzhovski/TRACE-Forensic-Toolkit.git
    cd TRACE-Forensic-Toolkit
    powershell -ExecutionPolicy Bypass -File install_windows.ps1
  3. Start TRACE:

    Terminal window
    venv\Scripts\activate
    python main.py

Add -Yes to accept every default without questions (it reuses an existing venv).

./install.sh --yes / install_windows.ps1 -Yes non-interactive: accept the detected platform and the defaults
TRACE_PYTHON=/path/to/python3.12 ./install.sh use this interpreter rather than the newest one found
install.log everything the install did, beside the scripts – attach the end of it to an install bug report

Long steps never scroll: on a terminal, one line shows what is happening now (Downloading pyside6 6.11.2 (175 MB)), and a failing step prints the end of install.log.

In an activated virtual environment:

Terminal window
pip install -r requirements.txt
python main.py

There is one requirements.txt for every platform; Windows-only packages carry environment markers, so the same file is correct everywhere.

Terminal window
git pull
./install.sh # or install_windows.ps1 on Windows

The test suite downloads public forensic images (checked against recorded SHA-256s) and runs in parallel:

Terminal window
python tools/fetch_test_images.py
python -m pytest -n auto --dist loadfile

See Testing and validation for what it covers.