Prerequisites
- Rust 1.88+ — needed for the core engine, MCP server, and CLI
- Python 3.10+ with uv — for the Python SDK
- Bun or Node.js 18+ — optional, for the TypeScript SDK
- Go 1.21+ — optional, for the Go SDK
Python SDK
pip install pensyveOr build from source:
git clone https://github.com/major7apps/pensyve.git && cd pensyve
uv sync --extra dev
uv run maturin develop --manifest-path pensyve-python/Cargo.tomlVerify:
python -c "import pensyve; print(pensyve.__version__)"TypeScript SDK
The TypeScript SDK is an HTTP client that talks to the REST API.
bun add pensyveOr with npm:
npm install pensyveGo SDK
go get github.com/major7apps/pensyve-goMCP Server
Build from source:
cargo install pensyve-mcpOr from the repo:
cargo build --release --bin pensyve-mcpThe binary lands at ./target/release/pensyve-mcp. See MCP Setup for configuration.
CLI
cargo install pensyve-cliOr from the repo:
cargo build --release --bin pensyve-cliREST API Server
The REST API requires a source build:
git clone https://github.com/major7apps/pensyve.git && cd pensyve
uv sync --extra dev
uv run maturin develop --manifest-path pensyve-python/Cargo.tomlStart the server:
uvicorn pensyve_server.main:app --port 8000The TypeScript and Go SDKs connect to this server over HTTP.
Environment Variables
| Variable | Default | Purpose |
|---|---|---|
PENSYVE_PATH | ~/.pensyve/ | SQLite database directory |
PENSYVE_NAMESPACE | default | Memory namespace |
PENSYVE_API_KEYS | unset | Comma-separated API keys (auth is off when unset) |
PENSYVE_DATABASE_URL | unset | Postgres connection string for managed deployments |