Skip to main content

agenticdisco

Persistent memory + multi-agent channel for any AI stack.

The official Python SDK for Agentic Disco — the memory layer that never forgets. Drop persistent cross-session memory and multi-agent coordination into any Python app in under 5 minutes.

pip install agenticdisco

Why

Every LLM conversation resets. Your agents forget everything the moment a session ends. Agentic Disco fixes that with a simple HTTP API — write memory, read it back from any agent, any session, any time.

Without Agentic Disco With Agentic Disco
Every conversation starts blank Agents recall past sessions
Each agent is isolated All agents share a memory layer
You build custom memory logic Two method calls handle it
Context lost on restart Persistent across all sessions

Quickstart

from agenticdisco import AgenticDisco

disco = AgenticDisco("your_disco_key")  # Get yours free at agenticdisco.com

# Store a memory
disco.remember("user_goal", "build a web app", category="goals")
disco.remember("preferred_language", "Python", category="preferences")

# Recall all memories
memories = disco.recall()
for m in memories:
    print(f"[{m.category}] {m.key}: {m.value}")

# Recall as a flat dict
context = disco.recall(as_dict=True)
print(context["user_goal"])  # "build a web app"

# Post to the agent channel
disco.post("SCOUT", "Research complete — 12 sources found")
disco.post("FORGE", "Code generated and tested")

# Read the channel
for msg in disco.listen():
    print(f"[{msg.agent_name}] {msg.message}")

OpenAI Integration — 2 Lines

The most common use case: give your ChatGPT-powered app a persistent memory that survives across sessions.

from openai import OpenAI
from agenticdisco import AgenticDisco

client = OpenAI(api_key="your_openai_key")
disco = AgenticDisco("your_disco_key")

def chat(user_input: str, user_id: str) -> str:
    messages = [{"role": "user", "content": user_input}]

    # ✨ Inject persistent memory — one line
    messages = disco.inject_memory(messages)

    response = client.chat.completions.create(
        model="gpt-4",
        messages=messages
    )

    reply = response.choices[0].message.content

    # ✨ Save the conversation — one line
    messages.append({"role": "assistant", "content": reply})
    disco.save_conversation(messages, agent_name="my-gpt-bot")

    return reply

That's it. Your GPT now remembers user goals, preferences, and past conversations — forever.


All Methods

Memory

Method Description
disco.remember(key, value, category=None) Write a memory entry
disco.recall(category=None, as_dict=False) Read all memory entries
disco.forget(key) Clear a memory entry
disco.inject_memory(messages) Inject memory into an OpenAI messages list
disco.save_conversation(messages, agent_name) Save a conversation to memory

Channel

Method Description
disco.post(agent_name, message) Post a message to the agent channel
disco.listen(limit=None) Read all channel messages

Multi-Agent Example

Multiple agents sharing the same memory layer — coordinated via the channel.

from agenticdisco import AgenticDisco

# All agents use the same Disco Key — they share memory automatically
scout  = AgenticDisco("your_disco_key")
forge  = AgenticDisco("your_disco_key")
vera   = AgenticDisco("your_disco_key")

# SCOUT does research, writes findings to memory
scout.remember("research_topic", "persistent memory for AI agents")
scout.remember("sources_found", "12", category="research")
scout.post("SCOUT", "Research complete. 12 sources found.")

# FORGE reads SCOUT's memory and builds on it
context = forge.recall(as_dict=True)
print(context["research_topic"])  # "persistent memory for AI agents"
forge.post("FORGE", f"Building on SCOUT's research: {context['research_topic']}")

# VERA validates and reads the full channel history
for msg in vera.listen():
    print(f"[{msg.agent_name}] {msg.message}")

Error Handling

from agenticdisco import AgenticDisco, DiscoAuthError, DiscoRateLimitError, DiscoAPIError

disco = AgenticDisco("your_disco_key")

try:
    memories = disco.recall()
except DiscoAuthError:
    print("Invalid Disco Key — get yours at agenticdisco.com")
except DiscoRateLimitError:
    print("Rate limit hit — upgrade at agenticdisco.com/pricing")
except DiscoAPIError as e:
    print(f"API error: {e}")

Pricing

Plan Price Memory Entries Channel Messages
Free $0/mo 500 1,000/mo
Builder $19/mo 50,000 100,000/mo
Pro $79/mo Unlimited Unlimited

No credit card required to start. Get your free key →


Links


MIT License © 2026 Agentic Disco

Metadata

Release files for agenticdisco 1.0.0

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

Source distribution (sdist)

Source distribution for agenticdisco 1.0.0
File Size Uploaded Provenance
agenticdisco-1.0.0.tar.gz 10.7 kB Without provenance Details

Built distribution (wheel)

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

Total release size: 19.8 kB

Release files / agenticdisco-1.0.0.tar.gz

Download URL agenticdisco-1.0.0.tar.gz
Size 10.7 kB
Tags Source
SHA-256 checksum
How to use checksums
089eaa3521a19b20f9ac39510da9d7a9b619b653cd53eed90c14c7212c8c53c9
BLAKE2b-256 checksum
How to use checksums
ad8ec3b7a797340bc7524589e094bb5d6c3b911624d3444465f0fd63595c6ced
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.0rc1

Release files / agenticdisco-1.0.0-py3-none-any.whl

Download URL agenticdisco-1.0.0-py3-none-any.whl
Size 9.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7d21b599a75fdf2925c02b0feb38d3cb3e9f584bf1faf43843c364d9edcfe74c
BLAKE2b-256 checksum
How to use checksums
25b410548d517425c6276af896ef92625e3976ffed41747db43cef4ed536bc83
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.0rc1

Security for agenticdisco 1.0.0

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.

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files No provenance

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