Skip to main content

Persistent memory + multi-agent channel for any AI stack. The memory that never forgets.

Project description

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

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

agenticdisco-1.0.0.tar.gz (10.7 kB view details)

Uploaded Source

Built Distribution

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

agenticdisco-1.0.0-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

Details for the file agenticdisco-1.0.0.tar.gz.

File metadata

  • Download URL: agenticdisco-1.0.0.tar.gz
  • Upload date:
  • Size: 10.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.0rc1

File hashes

Hashes for agenticdisco-1.0.0.tar.gz
Algorithm Hash digest
SHA256 089eaa3521a19b20f9ac39510da9d7a9b619b653cd53eed90c14c7212c8c53c9
MD5 9d180ef3f33fa47b35a11dea910309b1
BLAKE2b-256 ad8ec3b7a797340bc7524589e094bb5d6c3b911624d3444465f0fd63595c6ced

See more details on using hashes here.

File details

Details for the file agenticdisco-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: agenticdisco-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 9.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.0rc1

File hashes

Hashes for agenticdisco-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7d21b599a75fdf2925c02b0feb38d3cb3e9f584bf1faf43843c364d9edcfe74c
MD5 ab6a140a6f382f10fc68591e1d0b4f01
BLAKE2b-256 25b410548d517425c6276af896ef92625e3976ffed41747db43cef4ed536bc83

See more details on using hashes here.

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