Installation
Pretorin CLI requires Python 3.10 or later.
Recommended: uv
uv installs the CLI as an isolated tool with its own dependencies:
uv tool install pretorin
pip
pip install pretorin
pipx
pipx provides isolated installation similar to uv:
pipx install pretorin
Docker
A multi-stage Dockerfile is included in the repository. The production target builds an image that runs the pretorin CLI as its entrypoint:
git clone https://github.com/pretorin-ai/pretorin-cli.git
cd pretorin-cli
docker build --target production -t pretorin .
docker run --rm pretorin --help
Mount your config directory to persist credentials between runs:
docker run --rm -v "$HOME/.pretorin:/home/pretorin/.pretorin" pretorin frameworks list
The included docker-compose.yml defines test, test-coverage, lint, typecheck, and integration services for contributors. Each is invoked with docker compose run --rm <service>, not docker compose up. See Contributing for development workflows.
Verify Installation
pretorin version
Expected output:
pretorin version 0.22.14
Updating
Check for and install the latest version:
pretorin update
pretorin update checks PyPI first. If you are current, it prints that you are already on the latest version. If a newer version is available, it uses the installer that owns the current CLI environment (uv, pipx, or pip) to perform the upgrade.
Older uv-installed Pretorin versions may fail with No module named pip because uv tool environments do not include pip. If that happens, run this one-time recovery command:
uv tool install --force --refresh pretorin@latest
The CLI also checks for updates automatically on startup and notifies you when a new version is available. To disable passive update notifications:
export PRETORIN_DISABLE_UPDATE_CHECK=1
# or
pretorin config set disable_update_check true
Development Installation
For contributing to Pretorin CLI:
git clone https://github.com/pretorin-ai/pretorin-cli.git
cd pretorin-cli
uv pip install -e ".[dev]"
This installs the package in editable mode with development dependencies (pytest, ruff, mypy, etc.).