Skip to main content

hippocortex

Official Python SDK for Hippocortex, AI agent memory that learns from experience.

Install

pip install hippocortex

# With adapter support:
pip install hippocortex[openai-agents]  # OpenAI Agents SDK
pip install hippocortex[langgraph]      # LangGraph
pip install hippocortex[crewai]         # CrewAI
pip install hippocortex[autogen]        # AutoGen
pip install hippocortex[all]            # All adapters

Quick Start

Choose the integration method that fits your workflow:

Auto-Instrumentation (Easiest, 1 Line)

import hippocortex.auto
from openai import OpenAI

client = OpenAI()

# Every call now has persistent memory automatically:
# - Past context is synthesized and injected
# - The conversation is captured for future learning
response = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "Deploy payments to staging"}]
)

wrap() (Recommended)

from hippocortex import wrap
from openai import OpenAI

# Wrap your client. Explicit, per-client control.
client = wrap(OpenAI())

# Use exactly as before. Memory is transparent.
response = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "Deploy payments to staging"}]
)

# Works with Anthropic too:
from anthropic import Anthropic
client = wrap(Anthropic())

Manual Client (Advanced)

import asyncio
from hippocortex import Hippocortex
from hippocortex.types import CaptureEvent

async def main():
    hx = Hippocortex(api_key="hx_live_...")

    # 1. Capture agent events
    await hx.capture(CaptureEvent(
        type="message",
        session_id="sess-1",
        payload={"role": "user", "content": "Deploy payment service to staging"}
    ))

    # 2. Learn from experience
    await hx.learn()

    # 3. Synthesize context for decisions
    ctx = await hx.synthesize("deploy payment service")
    for entry in ctx.entries:
        print(f"[{entry.section}] {entry.content}")

asyncio.run(main())

Synchronous Client

from hippocortex import SyncHippocortex
from hippocortex.types import CaptureEvent

hx = SyncHippocortex(api_key="hx_live_...")

result = hx.capture(CaptureEvent(
    type="message",
    session_id="sess-1",
    payload={"role": "user", "content": "Hello"}
))
print(result.event_id)

Zero-Config

Both auto and wrap() resolve configuration automatically:

  1. Explicit arguments passed to wrap() or Hippocortex()
  2. Environment variables: HIPPOCORTEX_API_KEY, HIPPOCORTEX_BASE_URL
  3. .hippocortex.json file (searched from cwd upward)

.hippocortex.json

{
  "apiKey": "hx_live_your_key_here",
  "baseUrl": "https://api.hippocortex.dev/v1"
}

Auto-Memory Adapters

Wrap your agents with one line to get automatic memory capture and context injection.

OpenAI Agents SDK

from agents import Agent, Runner
from hippocortex import auto_memory

agent = Agent(name="assistant", instructions="You are helpful.")
agent = auto_memory(agent, api_key="hx_live_...")

# Or with env var HIPPOCORTEX_API_KEY:
agent = auto_memory(agent)

result = await Runner.run(agent, "Deploy to staging")

The adapter automatically:

  • Synthesizes past context before each run (injected into instructions)
  • Captures user messages, assistant responses, and tool calls
  • Gracefully degrades if the server is unreachable

LangGraph

from hippocortex.adapters import langgraph as hx_langgraph

# Wrap a compiled LangGraph
graph = builder.compile()
graph = hx_langgraph.wrap(graph, api_key="hx_live_...")

# Use normally — memory is automatic
result = await graph.ainvoke({"messages": [{"role": "user", "content": "deploy"}]})

Supports ainvoke, invoke, and astream.

CrewAI (Beta)

from hippocortex.adapters import crewai as hx_crewai

crew = hx_crewai.wrap(crew, api_key="hx_live_...")
result = crew.kickoff()

Injects memory context into agent backstories and captures task results.

AutoGen (Beta)

from hippocortex.adapters import autogen as hx_autogen

agent = hx_autogen.wrap(agent, api_key="hx_live_...")
agent.initiate_chat(other_agent, message="Hello")

Captures messages and injects synthesized context via reply hooks.

OpenClaw

from hippocortex.adapters import openclaw as hx_openclaw

middleware = hx_openclaw.create_middleware(api_key="hx_live_...")

# On incoming message:
context = await middleware.on_message("Deploy the service")
# context = "# Hippocortex Memory Context\n..."

# After generating response:
await middleware.on_response("Deployment complete!")

Configuration

All adapters support:

Option Env Var Default Description
api_key HIPPOCORTEX_API_KEY (required) API key
base_url HIPPOCORTEX_BASE_URL https://api.hippocortex.dev/v1 API URL
session_id auto-generated Session ID

Key Behaviors

  • Fire-and-forget capture: Capture calls never block the agent
  • Error swallowing: All Hippocortex errors are logged and swallowed — your agent never crashes because of memory
  • Graceful degradation: If the server is unreachable, adapters return empty context and continue
  • Session tracking: Auto-generated session IDs link related events

API Reference

Hippocortex(api_key, base_url?, timeout?)

Async client. Use with await.

  • capture(event)CaptureResult
  • capture_batch(events)BatchCaptureResult
  • learn(options?)LearnResult
  • synthesize(query, options?)SynthesizeResult
  • list_artifacts(...)ArtifactListResult
  • get_artifact(id)Artifact
  • get_metrics(...)MetricsResult

SyncHippocortex(api_key, base_url?, timeout?)

Synchronous client. Same methods, no await needed.

License

MIT

Release files for hippocortex 1.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hippocortex 1.2.1
File Size Uploaded
hippocortex-1.2.1.tar.gz 37.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for hippocortex 1.2.1
File Interpreter ABI Platform
hippocortex-1.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 71.9 kB

Release files / hippocortex-1.2.1.tar.gz

Download URL hippocortex-1.2.1.tar.gz
Size 37.2 kB
Tags Source
SHA-256 checksum
How to use checksums
ebd45bab3001bdbbbc96fc273b69df939549be10aed191e96081bd9de76f756d
BLAKE2b-256 checksum
How to use checksums
f67c1127b47c8011b89814f59537f6f256df27c5cd799f5e2217f1a7fc3d32cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / hippocortex-1.2.1-py3-none-any.whl

Download URL hippocortex-1.2.1-py3-none-any.whl
Size 34.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
259cbf3faa9b5ec10c7c9e54a1cd905aed304cce67f49181cf62086e74852039
BLAKE2b-256 checksum
How to use checksums
67e28ca9e53674c162a98195f722e9ae9170cd58d8a2eee15553d535def17771
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release history Release notifications | RSS feed

This release

1.2.1 This release

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page