Skip to main content

Official DX Optimized Python SDK for Honcho

Project description

Honcho Python SDK

The official Python library for the Honcho conversational memory platform. Honcho provides tools for managing peers, sessions, and conversation context across multi-party interactions, enabling advanced conversational AI applications with persistent memory and theory-of-mind capabilities.

Installation

pip install honcho-ai

Quick Start

from honcho import Honcho

# Initialize client
client = Honcho(api_key="your-api-key")

# Create peers (participants in conversations)
alice = client.peer("alice")
bob = client.peer("bob")

# Create a session for group conversations
session = client.session("conversation-1")

# Add messages to the session
session.add_messages([
    alice.message("Hello, Bob!"),
    bob.message("Hi Alice, how are you?")
])

# Query conversation context
response = alice.chat("What did Bob say to me?")
print(response)

Core Concepts

Peers

Peers represent participants in conversations.

# Create peers
assistant = client.peer("assistant")
user = client.peer("user-123")

# Chat with global context
response = user.chat("What did I talk about yesterday?")

# Chat with perspective of another peer
response = user.chat("Does the assistant know my preferences?", target=assistant)

Sessions

Sessions group related conversations and messages:

# Create a session
session = client.session("project-discussion")

# Add peers to session
session.add_peers([alice, bob])

# Add messages
session.add_messages([
    alice.message("Let's discuss the project timeline"),
    bob.message("I think we need two more weeks")
])

# Get conversation context
context = session.get_context()

Messages and Context

Retrieve and use conversation history:

# Get messages from a session
messages = session.get_messages()

# Convert to OpenAI format for further prompting
openai_messages = context.to_openai(assistant="assistant")

# Convert to Anthropic format for further prompting
anthropic_messages = context.to_anthropic(assistant="assistant")

Async Support

from honcho_coreimport AsyncHoncho

async def main():
    client = AsyncHoncho(api_key="your-api-key")

    peer = client.peer("user")
    response = await peer.chat("Hello!")
    print(response)

Metadata Management

# Set peer metadata
user.set_metadata({"location": "San Francisco", "preferences": {"theme": "dark"}})

# Query using metadata context
response = user.chat("What's the weather like where I am?")

# Session metadata
session.set_metadata({"topic": "project-planning", "priority": "high"})

Multi-Perspective Queries

# Alice's view of what Bob knows
response = alice.chat("Does Bob remember our discussion about the budget?", target=bob)

# Session-specific perspective
response = alice.chat("What does Bob think about this project?",
                     target=bob,
                     session_id=session.id)

Configuration

Environment Variables

export HONCHO_API_KEY="your-api-key"
export HONCHO_URL="https://api.honcho.dev"  # Optional
export HONCHO_WORKSPACE_ID="your-workspace"  # Optional

Client Options

client = Honcho(
    api_key="your-api-key",
    environment="production",  # or "local", "demo"
    workspace_id="custom-workspace",
    base_url="https://api.honcho.dev"
)

Examples

Check out the examples/ directory for complete usage examples:

  • example.py - Comprehensive feature demonstration
  • chat.py - Basic multi-peer chat
  • async_example.py - Async/await usage
  • search.py - Context search and retrieval

License

Apache 2.0 - see LICENSE for details.

Support

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

honcho_ai-1.0.2.tar.gz (20.7 kB view details)

Uploaded Source

Built Distribution

honcho_ai-1.0.2-py3-none-any.whl (27.3 kB view details)

Uploaded Python 3

File details

Details for the file honcho_ai-1.0.2.tar.gz.

File metadata

  • Download URL: honcho_ai-1.0.2.tar.gz
  • Upload date:
  • Size: 20.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.7

File hashes

Hashes for honcho_ai-1.0.2.tar.gz
Algorithm Hash digest
SHA256 35ff8002dcef187818052216398cc1efb01e983cab9cdbaeb1b30477f128ab56
MD5 0bf93c45f93039798790002914d889a1
BLAKE2b-256 cd79d938d1351054c68b244bd6fce505508609e474322af70879df8c99ea7b9e

See more details on using hashes here.

File details

Details for the file honcho_ai-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: honcho_ai-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 27.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.7

File hashes

Hashes for honcho_ai-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5899ce5f4c061ebe9d35f36a8f69458e43056f9236794bdd04489a5aad1aff8e
MD5 ea86ed9b4a4a92fcc6478302349cec60
BLAKE2b-256 bdcd2b5ebae11fe568188c3ae40a48f6ce75993ce0eceaa58e2eb665af90ebb4

See more details on using hashes here.

Supported by

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