Skip to main content

Python SDK for MaximemSynap context management system

Project description

MaximemSynap Python SDK

Python client library for the MaximemSynap context management system.

Installation

pip install maximem-synap

Quick Start

from maximem_synap import MaximemSynapSDK, ContextType, CompactionLevel

# Initialize SDK
sdk = MaximemSynapSDK(instance_id="your-instance-id")

# Fetch conversation context
context = sdk.conversation.fetch(
    conversation_id="conv-123",
    search_query="user preferences",
    max_results=10,
    types=[ContextType.FACTS, ContextType.PREFERENCES]
)

# Access context items
for item in context.items:
    print(f"{item.context_type}: {item.content}")

# Compact conversation context
compacted = sdk.conversation.compact(
    conversation_id="conv-123",
    compaction_level=CompactionLevel.BALANCED
)

# Fetch user context
user_context = sdk.user.fetch(
    user_id="user-456",
    conversation_id="conv-123",  # Optional
    max_results=20
)

# Listen for real-time updates
sdk.instance.listen()
# ... your application logic ...
sdk.instance.stop()

# Cleanup
sdk.shutdown()

Configuration

from maximem_synap import CacheConfig, TimeoutConfig

# Configure caching
cache_config = CacheConfig(
    enabled=True,
    ttl_seconds=300,
    max_entries=1000
)

# Configure timeouts
timeout_config = TimeoutConfig(
    connect_timeout_ms=5000,
    read_timeout_ms=30000,
    total_timeout_ms=60000
)

# Apply configuration
sdk.configure(
    cache=cache_config,
    log_level="DEBUG",
    timeouts=timeout_config
)

Environment Variables

  • SYNAP_CLIENT_ID: Client identifier for authentication

Context Controllers

Conversation Context

# Fetch conversation context
context = sdk.conversation.fetch(
    conversation_id="conv-123",
    search_query="optional search",
    max_results=10,
    types=[ContextType.FACTS]
)

# Compact conversation context
compacted = sdk.conversation.compact(
    conversation_id="conv-123",
    compaction_level=CompactionLevel.ADAPTIVE
)

User Context

context = sdk.user.fetch(
    user_id="user-456",
    conversation_id="conv-123",  # Optional
    types=[ContextType.PREFERENCES, ContextType.EMOTIONS]
)

Customer Context

context = sdk.customer.fetch(
    customer_id="cust-789",
    conversation_id="conv-123"  # Optional
)

Client Context

context = sdk.client.fetch(
    client_id="client-abc",
    conversation_id="conv-123"  # Optional
)

Error Handling

from maximem_synap import (
    SDKError,
    AgentUnavailableError,
    ContextNotFoundError,
    AuthenticationError
)

try:
    context = sdk.conversation.fetch(conversation_id="conv-123")
except AgentUnavailableError as e:
    # Retryable error
    print(f"Agent unavailable: {e}")
except ContextNotFoundError as e:
    # Non-retryable error
    print(f"Context not found: {e}")
except AuthenticationError as e:
    # Authentication failed
    print(f"Auth error: {e}")
except SDKError as e:
    # Base exception
    print(f"SDK error: {e}, retryable: {e.retryable}")

Context Types

  • ContextType.FACTS: Factual information
  • ContextType.PREFERENCES: User preferences
  • ContextType.EPISODES: Conversation episodes
  • ContextType.EMOTIONS: Emotional context
  • ContextType.TEMPORAL: Time-based context
  • ContextType.ALL: All context types

Compaction Levels

  • CompactionLevel.AGGRESSIVE: Maximum compression
  • CompactionLevel.BALANCED: Balanced approach
  • CompactionLevel.CONSERVATIVE: Minimal compression
  • CompactionLevel.ADAPTIVE: Adaptive based on context

License

MIT

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

maximem_synap-0.2.3.tar.gz (65.0 kB view details)

Uploaded Source

Built Distribution

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

maximem_synap-0.2.3-py3-none-any.whl (80.8 kB view details)

Uploaded Python 3

File details

Details for the file maximem_synap-0.2.3.tar.gz.

File metadata

  • Download URL: maximem_synap-0.2.3.tar.gz
  • Upload date:
  • Size: 65.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for maximem_synap-0.2.3.tar.gz
Algorithm Hash digest
SHA256 0e7e429032a438c8d9bd173678fbe8d1f3cefd19380ee9ce0e83ff7443edd33d
MD5 0d0be37303be4586efc25d327cab0cdc
BLAKE2b-256 d5d5fe6e25abd59c64926386cda6617cb5fbad56c82cfefe15b5d497fc52f366

See more details on using hashes here.

File details

Details for the file maximem_synap-0.2.3-py3-none-any.whl.

File metadata

  • Download URL: maximem_synap-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 80.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for maximem_synap-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 b8f4b3c531dad8bdd9f06576d24a8e92da870c5492d1eea25d04add489c4b12f
MD5 7a0abb684a4cfc0903b7fe5017464007
BLAKE2b-256 ba5b07d5154e4a1c7696600f7d9492ddcfb4777ed353f888de15498e569a5546

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