Skip to main content

Cross-app personal memory for AI tools. Your Claude, GPT, and custom agents share one memory layer.

Project description

contextos

Your AI tools have different brains. ContextOS gives them one.

Claude remembers Claude. ChatGPT remembers ChatGPT. Your custom agent remembers nothing. ContextOS is the shared memory layer that runs on your machine — any LLM reads from it, any LLM writes to it.

Install

pip install "contextos[cli]"

One-time setup

contextos init

This starts the server, creates an API key, and saves config to ~/.contextos/config.json. Takes 30 seconds.

Add 2 lines to your existing app

import contextos
import anthropic

contextos.init()             # reads config saved by `contextos init`
contextos.set_user("alice")  # set before each LLM call

# Your existing code — UNCHANGED
response = anthropic.Anthropic().messages.create(
    model="claude-opus-4-6",
    system="You are helpful.",
    messages=[{"role": "user", "content": message}]
)
# ContextOS automatically:
#   → injects Alice's memory into the system prompt
#   → captures the conversation in the background

Works with OpenAI too — zero changes to your openai.OpenAI().chat.completions.create(...) calls.

Manual API (full control)

# In your Claude app
claude_client = ContextOS(api_key="sk-...")
claude_client.write(user_id="alice", conversation="...", source_client="claude-app")

# In your GPT app — reads memory written by the Claude app
gpt_client = ContextOS(api_key="sk-...")
memory = gpt_client.query(user_id="alice", q="what does alice prefer?")
# → Alice never re-introduced herself. Your GPT app already knows her.

Same user_id. Same server. One brain.

Create an API key

contextos keys create --app-name myapp \
  --database-url postgresql://contextos:contextos@localhost:5433/contextos

API

client.write(user_id, conversation, source_client=None)   # → session_id
client.query(user_id, q, top_k=10, scope="global")        # → MemoryResponse
client.delete(fragment_id)

# Async versions
await client.awrite(...)
await client.aquery(...)
await client.adelete(...)

MemoryResponse.prompt_block is a pre-formatted string you paste directly into your system prompt. No processing needed.

CLI

contextos start          # start server
contextos stop           # stop server
contextos logs -f        # follow logs
contextos health         # check status
contextos keys create    # create API key
contextos keys list      # list apps

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

contextos_mem-0.1.0.tar.gz (9.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

contextos_mem-0.1.0-py3-none-any.whl (11.4 kB view details)

Uploaded Python 3

File details

Details for the file contextos_mem-0.1.0.tar.gz.

File metadata

  • Download URL: contextos_mem-0.1.0.tar.gz
  • Upload date:
  • Size: 9.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for contextos_mem-0.1.0.tar.gz
Algorithm Hash digest
SHA256 94a374fac657c99298a57adb9b42ba79b38f6e09c576bc0c35f1c0b666c52044
MD5 84e6e85d3d6327df3abb09e244ed01c9
BLAKE2b-256 2a4163c4da73d9eedfa3d29422ea3fa10f630021d21a7f771966aeb3a9f96c17

See more details on using hashes here.

Provenance

The following attestation bundles were made for contextos_mem-0.1.0.tar.gz:

Publisher: publish-pypi.yml on bythebug/context-os

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file contextos_mem-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: contextos_mem-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for contextos_mem-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 80581fbb1a1252e73bd74435b0e4a97fb9c9341bb391bdd36ab87f44839adba9
MD5 f40d000146265397adefd5819530feb9
BLAKE2b-256 a0b9a40c1bad6e13c95e007b1a796648272947df0d0dc6275c22b7ae53dba133

See more details on using hashes here.

Provenance

The following attestation bundles were made for contextos_mem-0.1.0-py3-none-any.whl:

Publisher: publish-pypi.yml on bythebug/context-os

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page