criogen (Python)
pip install criogen
Wheels for Linux (x64, ARM64), macOS (Apple Silicon, Intel) and Windows (x64); Python 3.9 or newer.
The fast AI agent framework for Python, a LangChain and LangGraph alternative: agents and workflows with tool calling, human approval, durable threads, long-term memory, an audit trail and encryption at rest, on Criogen's Rust engine. In our benchmark an agent turn costs 0.29 ms of framework overhead, against 1.23 ms for LangGraph and 34 ms for CrewAI.
import asyncio
from criogen import Agent, tool, ToolError
@tool
async def get_order(order_id: str) -> dict:
"""Look up an order by id."""
if order_id != "A-1":
raise ToolError(f"No order {order_id}")
return {"id": order_id, "status": "shipped"}
agent = Agent("openai:gpt-5-mini", tools=[get_order], storage="sqlite:///support.db")
async def main():
chat = agent.thread("user-42")
reply = await chat.send("Where is order A-1?")
print(reply.text)
asyncio.run(main())
Keep your keys in a .env file
from criogen import load_env
load_env() # reads ./.env: OPENAI_API_KEY, ANTHROPIC_API_KEY, GEMINI_API_KEY, OPENROUTER_API_KEY
It returns the names it set (never the values) and never replaces a variable that is already set. A model with no key fails at once and says which variable to set.
Status: first slice: agents, tools, approvals, typed output, threads
(send, approve, reject, decide, retry, history, rewind, delete, stream),
storage (SQLite, Postgres, encryption, audit, retention) and memory.
Workflows too (Workflow, design 0015), and from design 0017: agents as
tools, retries and fallback models, memory by meaning, tracing and hooks,
Gateway for model calls without an agent (design 0018), and ready-made
patterns, extendable specialist agents and web search (criogen.patterns,
specialists, web; design 0019). Tests use FakeModel; no real model is called.
Free to use, also commercially (see LICENSE).
Metadata
Release files for criogen 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Actions Reset | |||
|---|---|---|---|---|
| criogen-0.1.2-cp39-abi3-win_amd64.whl | CPython 3.9 | abi3 | Windows x86-64 | Details for criogen-0.1.2-cp39-abi3-win_amd64.whl |
| criogen-0.1.2-cp39-abi3-manylinux_2_28_x86_64.whl | CPython 3.9 | abi3 | Linux glibc 2.28+ x86-64 | Details for criogen-0.1.2-cp39-abi3-manylinux_2_28_x86_64.whl |
| criogen-0.1.2-cp39-abi3-manylinux_2_28_aarch64.whl | CPython 3.9 | abi3 | Linux glibc 2.28+ ARM64 | Details for criogen-0.1.2-cp39-abi3-manylinux_2_28_aarch64.whl |
| criogen-0.1.2-cp39-abi3-macosx_11_0_arm64.whl | CPython 3.9 | abi3 | macOS 11.0+ ARM64 | Details for criogen-0.1.2-cp39-abi3-macosx_11_0_arm64.whl |
| criogen-0.1.2-cp39-abi3-macosx_10_12_x86_64.whl | CPython 3.9 | abi3 | macOS 10.12+ x86-64 | Details for criogen-0.1.2-cp39-abi3-macosx_10_12_x86_64.whl |
Total release size: 37.5 MB
Release files / criogen-0.1.2-cp39-abi3-win_amd64.whl
| Download URL | criogen-0.1.2-cp39-abi3-win_amd64.whl |
|---|---|
| Size | 7.6 MB |
| Tags | CPython 3.9 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
21eec7fdf8a27af4dce92ef59f0a7eda693e2a62e825cbe08be70af64e4d2d9b
|
|
BLAKE2b-256 checksum How to use checksums |
3315cd579f4c2e2f07b220d6213e6a0542cf40d91baac62bb73ad80036c083ab
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / criogen-0.1.2-cp39-abi3-manylinux_2_28_x86_64.whl
| Download URL | criogen-0.1.2-cp39-abi3-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 7.9 MB |
| Tags | CPython 3.9 Linux glibc 2.28+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
5a7ec9576dc8d5ec2b19ad863871fab066f867a14d72b3c56b109f7505671a6d
|
|
BLAKE2b-256 checksum How to use checksums |
f76845ec8dbcb4eddf8f0c15ce58e7b2933201bdc9f5a003ebfe0023b2752973
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / criogen-0.1.2-cp39-abi3-manylinux_2_28_aarch64.whl
| Download URL | criogen-0.1.2-cp39-abi3-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 7.4 MB |
| Tags | CPython 3.9 Linux glibc 2.28+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
30d3abc2fb157769809db8da2c20230a9f734120eaf690ae3da2656ebd7168fd
|
|
BLAKE2b-256 checksum How to use checksums |
c8e52564b800dfe942ecc88b9e46f241a80114619cbc9cf5b67248b756dbbc34
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / criogen-0.1.2-cp39-abi3-macosx_11_0_arm64.whl
| Download URL | criogen-0.1.2-cp39-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 7.1 MB |
| Tags | CPython 3.9 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
a344a7022a81d96d4d9f9255f7d92e77997f8790dc2ee43880e2a9b2a4d59cc4
|
|
BLAKE2b-256 checksum How to use checksums |
3fa403a8b043aa4a59a5acf50c723be8a0f74d250535615630aeb46f9bd87dfd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / criogen-0.1.2-cp39-abi3-macosx_10_12_x86_64.whl
| Download URL | criogen-0.1.2-cp39-abi3-macosx_10_12_x86_64.whl |
|---|---|
| Size | 7.5 MB |
| Tags | CPython 3.9 abi3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
4b79251cfca81be6c7de36d3e8a3760163fc8091e531c03470ac0ee86abe8432
|
|
BLAKE2b-256 checksum How to use checksums |
45d33bb8e91b868af8ec682fad2a8da864601fa2e746d46aaa062927a038e468
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Security for criogen 0.1.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.