Installation
Requirements
Section titled “Requirements”- Python 3.10+
- No external dependencies required for the core
Basic Install
Section titled “Basic Install”# From the project directorypip install .This installs the sonar-catalog CLI with SQLite backend and SHA-256 hashing. No C extensions or system libraries needed.
Optional Extras
Section titled “Optional Extras”Install individual extras based on your needs:
# BLAKE3 hashing (5-10x faster than SHA-256)pip install ".[blake3]"
# Flask web UI with CesiumJS globepip install ".[web]"
# PostgreSQL backend (for multi-machine setups)pip install ".[postgres]"
# python-magic MIME type detectionpip install ".[magic]"
# Everythingpip install ".[all]"Development Install
Section titled “Development Install”pip install -e ".[dev,all]"This adds pytest, pytest-cov, ruff, and mypy for development.
Extra Details
Section titled “Extra Details”| Extra | Package | Purpose |
|---|---|---|
blake3 | blake3>=0.4 | BLAKE3 content hashing — significantly faster than SHA-256 on large files |
web | flask>=3.0 | Web interface with search UI and CesiumJS 3D globe |
postgres | psycopg2-binary>=2.9 | PostgreSQL database backend for multi-machine deployments |
magic | python-magic>=0.4 | MIME type detection via libmagic |
dev | pytest, ruff, mypy | Testing and linting tools |
Verify Installation
Section titled “Verify Installation”sonar-catalog --versionsonar-catalog --helpPlatform Notes
Section titled “Platform Notes”- macOS: Works out of the box. NFS mount discovery uses the
mountcommand. - Linux: Full feature set. Uses
/proc/mounts, autofs maps, andshowmount. - Windows: Not supported (NFS mount resolution depends on Unix paths).