Install

Supported platforms#

Linux x64Linux ARM64macOS Apple SiliconmacOS IntelWindows x64
Python 3.9+ (one wheel per platform)yesyesyesyesyes
Node.js 18+ (a prebuilt addon per platform)yesyesyesyesyes
Rust 1.88+ (crates published when the code opens)laterlaterlaterlaterlater
criogenai engine on the registry (Python / Node.js)from 16 Novfrom 16 Novfrom 16 Novfrom 16 Nov0.1.7 / 0.1.7
Until then: the old criogen package0.1.3 / 0.1.30.1.3 / 0.1.30.1.3 / 0.1.30.1.2 / 0.1.3–

Other platforms (Windows on ARM, Alpine/musl, 32-bit) are not supported yet.

Install#

pip install criogenai
# with Pydantic models as tool arguments and typed output:
pip install "criogenai[pydantic]"

The package is called criogenai; in code you import criogenai. The wheel contains the Rust engine, so nothing else is needed. It is typed (py.typed): mypy and your editor know every type.

npm install criogenai
# or, with another package manager (they all use the npm registry):
pnpm add criogenai
yarn add criogenai
bun add criogenai

npm installs the engine for your platform automatically (criogenai-linux-x64, -darwin-arm64, -windows-x64, …). Works from TypeScript and JavaScript, as CommonJS or ES modules.

The Rust crates are published when CriogenAI's code opens, at 10,000 installs (a Rust crate ships its source). Until then, use the Python or TypeScript package; they run the same Rust engine. This is what you will add then:

[dependencies]
criogenai-agent = { version = "0.1", features = ["sqlite"] }
criogenai-providers = "0.1"
criogenai-storage = { version = "0.1", features = ["sqlite"] }
serde_json = "1"
tokio = { version = "1", features = ["macros", "rt-multi-thread"] }
CrateWhat it gives you
criogenai-coreThe workflow engine: steps, edges, routers, state, pauses, retries
criogenai-providersMessages, tools and models (OpenAI, Anthropic, Gemini, Ollama, vLLM, …)
criogenai-agentAgents: tools, approvals, structured output, hooks, threads, memory
criogenai-storageIn memory, SQLite (sqlite), Postgres (postgres), encryption (encryption)
criogenai-telemetryOpenTelemetry and Langfuse export
criogenai-gatewayThe OpenAI-compatible LLM gateway (library and binary)

API keys#

Models read their keys from environment variables: OPENAI_API_KEY, ANTHROPIC_API_KEY, GEMINI_API_KEY, OPENROUTER_API_KEY. Self-hosted models (Ollama, vLLM, LM Studio) need none. Keys never appear in errors or logs: CriogenAI removes them from provider error messages.

Check the install#

python -c "import criogenai; print(criogenai.__version__, criogenai.ready_sync())"
node -e "import('criogenai').then(async (c) => console.log(await c.ready()))"

ready() loads the engine and reports the platform; it never throws. If the engine cannot load, see Troubleshooting.

Next#