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
Release files for maximem-synap 0.4.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| maximem_synap-0.4.8.tar.gz | 131.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| maximem_synap-0.4.8-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 281.7 kB
Release files / maximem_synap-0.4.8.tar.gz
| Download URL | maximem_synap-0.4.8.tar.gz |
|---|---|
| Size | 131.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b21312547bd8ef3c80f361f6dbefad436a8932e379ef5f434afbf7f40ca8cdf3
|
|
BLAKE2b-256 checksum How to use checksums |
6fefe1fbe1e992a7784fa82b0e2f5d178989f88a30a2e6919c22ef1aa1e19ce8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.2
|
Release files / maximem_synap-0.4.8-py3-none-any.whl
| Download URL | maximem_synap-0.4.8-py3-none-any.whl |
|---|---|
| Size | 149.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e0eef5ae89d4525f377610acb37e0a1f903a40a1292522232de575e20bbdfa27
|
|
BLAKE2b-256 checksum How to use checksums |
2474d995288d8a62817d2a6bffaceb4e1dbb1e4daa982811505dd4a994cc83ae
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.2
|