Install
A bare install is a lightweight remote SDK — smrititantra.connect(),
models, exceptions, and the sync facade. No database drivers, no web
framework, no scale backends:
pip install smrititantra
Everything heavier lives behind an extra, enforced by scripts/test-layering.sh
so nothing ever lands in the wrong layer:
| Extra | Adds | Typical use |
|---|---|---|
local |
embedded engine, Postgres store, numpy-backed snapshot compile | running SmritiTantra in-process |
server |
FastAPI HTTP service, MCP server | running it as a service |
s3 |
S3/MinIO artifact store | snapshot/dataset storage at scale |
qdrant |
Qdrant vector-index backend | dense recall at scale |
neo4j |
Neo4j graph-serving tier | graph traversal at scale |
mongo |
MongoDB source connector | mining a Mongo-backed workload |
otel |
OpenTelemetry tracing spans | production observability |
all |
every extra above | development, demos |
dev |
ruff, mypy, pytest, pre-commit | contributing |
Combine what you need:
pip install "smrititantra[local,server]"
Requirements
- Python 3.12+
- Postgres (for the
localextra's persistent store — the embedded engine also runs against an in-memory store with no database at all, e.g. forsmrititantra demoor tests)
From source
git clone https://github.com/NoesisResearch/smrititantra.git
cd smrititantra
uv venv && uv pip install -e ".[all,dev]"