Installation

Summarizer is a CLI application. The recommended install path is an isolated environment so upgrades to other Python tools cannot break it.

Why isolation matters

If you install with plain pip install --user, packages land in shared user site-packages (for example ~/.local/lib/python3.12/site-packages). That directory is shared with groq, litellm, openai, MCP servers, and anything else you have installed the same way.

Each of those tools may depend on pydantic. When one package upgrades pydantic but not pydantic-core (or vice versa), unrelated commands can start failing — including summarizer serve, which imports FastAPI and pydantic at startup. That is an environment problem, not a summarizer bug.

Use pipx or a dedicated venv to avoid this.

Choose an install method

MethodBest forIsolated?
pipxCLI, HTTP API, everyday useYes — each app gets its own venv
venvDevelopment or custom setupsYes — you manage the venv
pip install —userQuick try onlyNo — shares ~/.local with other tools
DockerStreamlit GUI, no local Python depsYes — container environment

Optional Extras

The [server] extra adds FastAPI, uvicorn, and python-multipart. Install in isolation — the server pulls in pydantic transitively via FastAPI, which is where version skew usually shows up.

$pipx install "martino-summarize[server]"
$summarizer serve

Open http://localhost:8000/docs for interactive documentation. See the HTTP API guide for details.

Route requests through LiteLLM to access 100+ providers with unified calling:

$pipx install "martino-summarize[litellm]"

Then set base_url: litellm in summarizer.yaml and use provider-prefixed models:

1providers:
2 litellm-anthropic:
3 base_url: litellm
4 model: anthropic/claude-sonnet-4-6
$pipx install "martino-summarize[whisper]"

See Transcription for GPU setup.

$pipx install "martino-summarize[all]"

If summarizer serve crashes with a pydantic or pydantic-core version error, your Python environment has mismatched dependencies — not a summarizer application bug. See Errors and Troubleshooting for fixes.