Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/facunemi/evidence-sanitizer/llms.txt

Use this file to discover all available pages before exploring further.

Evidence Sanitizer is distributed as a cloneable repository rather than a published PyPI package. Installation means cloning the repo and running uv sync to materialize a local virtual environment with all dependencies. The entire workflow — dependency resolution, environment creation, and script invocation — is handled by uv, which keeps everything project-local and reproducible.

Prerequisites

You need two things before installing Evidence Sanitizer: Python 3.12 or later. The project declares requires-python = ">=3.12" in pyproject.toml. Older Python versions are not supported.
Python 3.12 is the minimum supported version. Running uv sync or uv run with an older Python interpreter will fail. Check your version with python --version or python3 --version before proceeding.
uv. Evidence Sanitizer uses uv for all dependency management and script execution. Install it by following the official instructions at docs.astral.sh/uv. uv is a single binary with no dependencies of its own and works on Linux, macOS, and Windows.

Installation

1

Clone the repository

Clone Evidence Sanitizer from GitHub:
git clone https://github.com/facunemi/evidence-sanitizer.git
cd evidence-sanitizer
All subsequent commands in this guide assume you are inside the evidence-sanitizer directory.
2

Install dependencies with uv sync

Install the project and its dependencies into a local virtual environment:
uv sync
uv reads pyproject.toml, resolves the dependency set, and writes a .venv directory inside the project root. The only runtime dependency is typer>=0.15.0,<1.0.0. Development dependencies (mypy, pytest, ruff) are also installed for use with the development commands listed in the README.
No published PyPI package install is required. uv sync installs Evidence Sanitizer as a local editable project directly from the cloned source. There is no pip install evidence-sanitizer step.
3

Verify the installation

Confirm the CLI entry point is registered and working:
uv run evidence-sanitizer --help
Expected output:
Local-first CLI for creating sanitized copies of authorized penetration-testing evidence.

Usage: evidence-sanitizer [OPTIONS] COMMAND [ARGS]...

Commands:
  sanitize  Create a sanitized copy of one evidence text file.
If you see this output, the installation is complete and the tool is ready to use.

Invocation Options

There are two equivalent ways to run Evidence Sanitizer after installation. Option 1 — via the registered script entry point (recommended):
uv run evidence-sanitizer sanitize evidence.txt --output evidence.sanitized.txt
This uses the evidence-sanitizer script registered in pyproject.toml under [project.scripts]:
[project.scripts]
evidence-sanitizer = "evidence_sanitizer.cli:main"
uv resolves the entry point to the main() function in evidence_sanitizer/cli.py and runs it inside the project virtual environment. Option 2 — via the Python module interface:
uv run python -m evidence_sanitizer sanitize evidence.txt --output evidence.sanitized.txt
This invokes the evidence_sanitizer package as a runnable module. Both invocation styles produce identical behavior — use whichever fits your workflow.

Verifying the Installation

The --help flag is the fastest way to confirm a working installation at any time:
uv run evidence-sanitizer --help
To inspect the sanitize subcommand’s flags directly:
uv run evidence-sanitizer sanitize --help
Expected output:
Usage: evidence-sanitizer sanitize [OPTIONS] INPUT

  Create a sanitized copy of one evidence text file.

Arguments:
  INPUT  [required]

Options:
  --output OUTPUT  [required]
  --dry-run
  --help           Show this message and exit.
This confirms the three inputs the sanitize command accepts: the positional INPUT path, the required --output OUTPUT destination path, and the optional --dry-run flag.

Build docs developers (and LLMs) love