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 (reads SYNAP_API_KEY from your environment)
sdk = MaximemSynapSDK()
# 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_API_KEY: Your Synap API key
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 informationContextType.PREFERENCES: User preferencesContextType.EPISODES: Conversation episodesContextType.EMOTIONS: Emotional contextContextType.TEMPORAL: Time-based contextContextType.ALL: All context types
Compaction Levels
CompactionLevel.AGGRESSIVE: Maximum compressionCompactionLevel.BALANCED: Balanced approachCompactionLevel.CONSERVATIVE: Minimal compressionCompactionLevel.ADAPTIVE: Adaptive based on context
License
MIT
Project details
Release history Release notifications | RSS feed
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.3.0.tar.gz
(102.0 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
maximem_synap-0.3.0-py3-none-any.whl
(121.0 kB
view details)
File details
Details for the file maximem_synap-0.3.0.tar.gz.
File metadata
- Download URL: maximem_synap-0.3.0.tar.gz
- Upload date:
- Size: 102.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b1ce450db167a900884777e8130b38dbb7b0cc8aac6e4b2180c2762ddd13ef1f
|
|
| MD5 |
918aaa1cc3e7c86deae6b30a46c27c78
|
|
| BLAKE2b-256 |
19001fe9cb55ba144823443bb59b7faecf9b0c6053330de9a2a49e2ab7d995bd
|
File details
Details for the file maximem_synap-0.3.0-py3-none-any.whl.
File metadata
- Download URL: maximem_synap-0.3.0-py3-none-any.whl
- Upload date:
- Size: 121.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
90812de5205b950db83e2a3c05c7e70d94964909eefb330484271b203a4432bd
|
|
| MD5 |
81431d5c17ef7ec27eddc00ec5377622
|
|
| BLAKE2b-256 |
9ffbfbc62e53217c36f88bec2c65265d61aebeea2f826896bca9fac1585eb348
|