Installation
How do I install with pip?
Install the areev Python package to get PyO3 bindings to the Rust engine.
The pip package is the fastest way to integrate Areev as a context database into Python-based AI agents. It includes the Python feature and FTS — BM25 full-text search via Tantivy. The underlying Rust engine compiles to a native shared library via PyO3/maturin, so AI memory operations run at native speed without Python overhead.
After installation, import areev and call areev.create() to create a new database with a compliance policy, or areev.open() to connect to an existing one. All grain operations — add, recall, forget, supersede — are available through the Python API.
pip install areev
import areev
db = areev.open("./areev-data")
How do I build from source with Cargo?
Install Areev from source with cargo install areev, or build a specific profile with --features.
Areev is a single Rust crate with 37 feature flags organized into 5 build profiles. The default cargo install gives you the dev profile (FTS + HTTP + gRPC + MCP + A2A + app + document import + CAL + chat + hooks + vector + auth + rerank + metrics). For production single-node deployments, use the node profile which adds signing, Vault/KMS, PII NER, webhook hooks, and metrics export.
Each profile is additive — cluster includes everything in node, and cloud includes everything in cluster. The edge profile is the lightweight exception: it includes FTS, HTTP, auth, CAL, import, and basic metrics for IoT and embedded use cases.
# dev (default) — FTS + HTTP + gRPC + MCP + A2A + app + import + CAL + chat + hooks + vector + auth + rerank + metrics
cargo install areev
# node — self-hosted single box, all features except distribution
cargo build --release --no-default-features --features node
# cluster — node + Raft consensus, gossip, sharding, mTLS
cargo build --release --no-default-features --features cluster
# edge — IoT / embedded (HTTP + CLI + api-key auth + basic metrics)
cargo build --release --no-default-features --features edge
# cloud — cluster + billing/metering (Areev Cloud internal)
cargo build --release --no-default-features --features cloud
What does each build profile include?
Each profile targets a different deployment scenario, from embedded edge devices to multi-node clusters.
| Profile | Features | Use Case |
|---|---|---|
| dev | FTS, HTTP, gRPC, MCP, A2A, app, import, CAL, chat, hooks, vector, auth, rerank, metrics | Developer laptop (default) |
| edge | FTS, HTTP, auth, CAL, import, metrics-ops | IoT / embedded |
| node | All features except distribution (adds signing, Vault, KMS, PII NER, webhook hooks, metrics export) | Self-hosted single box |
| cluster | node + Raft, gossip, sharding, mTLS, OpenTelemetry | Self-hosted Kubernetes |
| cloud | cluster + billing/metering + pilot-managed-identity | Areev Cloud (internal) |
How do I install with Docker?
Build a Docker image locally using Dockerfile.dev, or use Dockerfile for CI/CD production builds.
The Docker build uses a multi-stage process — a Rust builder stage compiles the binary, and a debian:bookworm-slim stage produces the final image. You select the build profile with the PROFILE build argument. The default is the dev profile. Mount a host directory at /data to persist the context database across container restarts.
The container runs the areev binary directly. Pass server flags after the image name to configure the HTTP port, enable MCP/A2A, and set the authentication mode.
# dev profile (default)
docker build -f Dockerfile.dev -t areev:dev .
# node profile
docker build -f Dockerfile.dev -t areev:dev --build-arg PROFILE=node .
# edge profile
docker build -f Dockerfile.dev -t areev:dev --build-arg PROFILE=edge .
docker run -d \
--name areev \
-p 4011:4011 \
-v ~/data:/data \
areev:dev \
--data-dir /data serve --http 0.0.0.0:4011 --mcp --a2a
How do I verify the installation?
Run areev --version to confirm the binary is installed, and areev info to inspect the database.
For HTTP verification, GET /api/health returns the server status and version. This endpoint requires no authentication regardless of the configured auth mode, making it suitable for health checks in load balancers and Kubernetes probes.
# CLI
areev --version
areev info
# HTTP (default port 4009 for cargo run, 4011 for Docker)
curl http://localhost:4009/api/health
Related
- Quickstart: Create your first database and add a grain
- Docker Deployment: Production Docker configuration
- Configuration: All server flags and environment variables