installation.md
docs/installation.md
Installation
<!-- translations:start -->
한국어 · 中文 · 日本語 · Русский · Español · Français · Deutsch
<!-- translations:end --> Tesserae is published on PyPI and exposes shell commands so users do not have to run python3 -m tesserae.cli manually.
Install from PyPI (recommended)
pip install tesserae
That's it. pip registers three console scripts on your PATH:
tesserae --help
tesserae --help
tesserae_mcp --help
The canonical command in docs is tesserae; tesserae (with a dash) is an alias. tesserae_mcp starts the MCP server.
pipx is fine too. If you prefer to keep CLI tools in their own isolated venvs:
pipx install tesserae
Upgrade
pip install --upgrade tesserae
Optional integrations
The default wheel is intentionally light. The setup wizard can install the heavier companion/runtime pieces only when you ask for them:
# Understand Anything companion graph + RAG-Anything multimodal + Cognee runtime memory
tesserae project setup \
--with-understand-anything \
--install-understand-anything \
--understand-anything-platform codex \
--with-raganything \
--install-raganything \
--raganything-parser mineru \
--run-raganything \
--run-cognee \
--install-cognee
Manual package installs are still available for advanced workflows:
pip install kuzu cognee graphiti-core
kuzu— Kuzu graph persistence.cognee— runtime Cognee add/cognify workflows; setup stores{python} -m pip install cogneeand retries once if Cognee is missing.- Understand Anything — installed via the upstream installer when
--install-understand-anythingis selected; Tesserae stores a managed refresh wrapper instead of asking users to invent a shell command. - RAG-Anything — installed via
pip install 'raganything[all]'when--install-raganythingis selected; Tesserae stores a managed refresh wrapper for multimodal parser runs. graphiti-core— live Graphiti/Neo4j sync.export-graphitiandsync-graphiti --dry-runwork without it.
The Anthropic-backed synthesis path uses an extras marker:
pip install "tesserae[synthesis-llm]"
For the multimodal RAG-Anything stack with all parsers preinstalled:
pip install 'tesserae[raganything-all]'
System prerequisite: parsing
.doc/.docx/.ppt/.pptx/.xls/.xlsxrequires LibreOffice on the host. Install it via your platform's package manager (e.g.,brew install --cask libreoffice,apt-get install libreoffice); RAG-Anything skips Office documents with a warning when LibreOffice is missing.
Install from source (for contributors)
If you want to hack on the codebase, install the editable checkout instead:
git clone https://github.com/ca1773130n/Tesserae.git
cd Tesserae
pip install -e .
A convenience installer is also bundled — it clones, creates a project-local .venv, runs pip install -e ., and drops the wrappers into ~/.local/bin:
# Quick: clone + install in one shot
curl -fsSL https://raw.githubusercontent.com/ca1773130n/Tesserae/main/scripts/install.sh | bash
# From an existing checkout
./scripts/install.sh --dir "$PWD"
Useful flags (./scripts/install.sh --help):
| Option | Purpose |
|---|---|
--dir PATH | Install or update the checkout at PATH. |
--branch NAME | Install a specific branch. |
--repo URL | Override the Git repository URL. Useful for forks or local smoke tests. |
--bin-dir PATH | Write command wrappers somewhere other than ~/.local/bin. |
--no-venv | Install into the current Python environment instead of creating .venv. |
--skip-shell-config | Avoid editing .zshrc / .bashrc. |
If --skip-shell-config was used, either restart the shell or run:
export PATH="$HOME/.local/bin:$PATH"
Verify installation
tesserae project init --help
tesserae project compile --help
tesserae project build-site --help