Skip to main content
The xysq Python SDK gives your agents memory over a plain API, no MCP server required. Context lives in vaults, the context graphs your code addresses by id: push what happened, pull the context back, and it’s remembered across sessions. Scope vaults however your product needs (per app, per workload, per customer); each one is walled off from the others.

Installation

Install optional extras for LiteLLM or Anthropic integrations:
Requires Python 3.11+

Get an agent key

Mint your agent key at app.xysq.ai/agents/keys. It starts with xysq_.
The agent key is separate from your personal key, and the wall between them is by key class, not by configuration. An agent key reaches agent vaults and can never touch your personal or team memory. That is the whole point: an agent you hand a key to can’t reach into your own memory.Your personal key also works against /sdk, but only on your own personal and team vaults, and it cannot create anything. Creating vaults is agent-key-only.
Add it to a .env file in your project:
Or pass it directly when constructing the client:

Your first vault

Core concepts

The memory surface is on client.vaults: There are two more namespaces beside vaults: client.threads for a live conversation’s turns (threads) and client.tags for a project’s tag vocabulary (tags). Two rules make memory good: push verbatim (turn by turn, no summarizing, so the server can extract the details), and group a conversation with a stable metadata={"session_id": "..."} so repeated pushes append to one source. Full detail on the Vaults page.

Source code

The SDK is open source on GitHub: xysq-ai/sdk_python_xysq Includes examples, community contributions, and the full source. Issues and PRs welcome.

What to explore next

Vaults

Full reference for create, list, push, pull, rename, and delete

XysqAgent & Integrations

Memory-aware agent wrapper with configurable context strategies and tool calling