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.

ProfileFeaturesUse Case
devFTS, HTTP, gRPC, MCP, A2A, app, import, CAL, chat, hooks, vector, auth, rerank, metricsDeveloper laptop (default)
edgeFTS, HTTP, auth, CAL, import, metrics-opsIoT / embedded
nodeAll features except distribution (adds signing, Vault, KMS, PII NER, webhook hooks, metrics export)Self-hosted single box
clusternode + Raft, gossip, sharding, mTLS, OpenTelemetrySelf-hosted Kubernetes
cloudcluster + billing/metering + pilot-managed-identityAreev 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