Zep
raw JSON → 3.16.0 verified Tue May 12 auth: yes python install: verified quickstart: stale
Long-term memory and context platform for AI assistants. Two separate PyPI packages: zep-cloud (managed platform) and zep-python (OSS/Community Edition). Not interchangeable. zep-python v2.x main branch now ships the Cloud SDK — OSS users need the oss branch build.
pip install zep-cloud Warnings
breaking zep-cloud and zep-python are separate packages with incompatible client classes and different APIs. Installing the wrong one silently fails at runtime. ↓
fix Use zep-cloud for managed platform. Use zep-python (oss branch build) for self-hosted Community Edition.
breaking zep-python v2.x main branch is now the Cloud SDK, not the OSS client. pip install zep-python installs the Cloud-flavoured SDK, breaking self-hosted setups. ↓
fix Self-hosted users should use the oss branch build of zep-python or pin to zep-python < 2.0.0.
breaking Message field changed from 'role' to 'role_type' in zep-cloud SDK. Passing 'role' is silently ignored or raises a validation error. ↓
fix Use role_type field: {"role_type": "user", "content": "..."}
gotcha Self-hosted Zep requires a running server process. pip install zep-python alone gives only a client library. All calls raise ConnectionError without the server running. ↓
fix Run the Zep server via Docker before making any client calls: docker run -p 8000:8000 ghcr.io/getzep/zep:latest
gotcha LangChain integration classes (ZepChatMessageHistory, ZepVectorStore) moved from langchain-community into the zep-cloud package. Importing from langchain_community.memory.zep fails on newer installs. ↓
fix Import LangChain integration classes directly from zep_cloud.langchain.
Install
pip install zep-python Install compatibility verified last tested: 2026-05-12
python os / libc variant status wheel install import disk
3.10 alpine (musl) zep-cloud - - 0.97s 34.7M
3.10 alpine (musl) zep-python - - - -
3.10 slim (glibc) zep-cloud - - 0.70s 34M
3.10 slim (glibc) zep-python - - - -
3.11 alpine (musl) zep-cloud - - 1.28s 38.2M
3.11 alpine (musl) zep-python - - - -
3.11 slim (glibc) zep-cloud - - 1.11s 38M
3.11 slim (glibc) zep-python - - - -
3.12 alpine (musl) zep-cloud - - 1.39s 29.6M
3.12 alpine (musl) zep-python - - - -
3.12 slim (glibc) zep-cloud - - 1.36s 29M
3.12 slim (glibc) zep-python - - - -
3.13 alpine (musl) zep-cloud - - 1.29s 29.2M
3.13 alpine (musl) zep-python - - - -
3.13 slim (glibc) zep-cloud - - 1.25s 29M
3.13 slim (glibc) zep-python - - - -
3.9 alpine (musl) zep-cloud - - 0.91s 34.1M
3.9 alpine (musl) zep-python - - - -
3.9 slim (glibc) zep-cloud - - 0.84s 34M
3.9 slim (glibc) zep-python - - - -
Imports
- Zep wrong
from zep_python.client import ZepClientcorrectfrom zep_cloud.client import Zep - ZepClient wrong
from zep_cloud.client import Zepcorrectfrom zep.client import ZepClient
Quickstart stale last tested: 2026-05-12
from zep_cloud.client import Zep
client = Zep(api_key="your-zep-api-key")
client.memory.add(
"session_abc",
messages=[
{"role_type": "user", "content": "My name is Alice."},
{"role_type": "assistant", "content": "Nice to meet you, Alice."}
]
)
memory = client.memory.get("session_abc")
print(memory.context)