Spaces are isolated containers for organizing memories. Each space maintains its own knowledge graph, ensuring complete data separation.
What is a Space?
A Space provides:
Complete isolation: memories never cross space boundaries
Independent knowledge graphs per space
Flexible organization for any use case
Organization patterns
By user
Space: user_alice_123
├── Preferences and settings
├── Conversation history
└── Personal knowledge
Space: user_bob_456
├── Preferences and settings
├── Conversation history
└── Personal knowledge
By feature
Space: chat_history
└── All conversation turns
Space: user_preferences
└── Settings and configurations
Space: knowledge_base
└── Product documentation
By environment
Space: prod_app
└── Production data
Space: dev_testing
└── Test data
Space: staging
└── Staging data
Create and manage spaces
# Create
response = client.spaces.create(
name = "My Application" ,
description = "Main memory space"
)
space_id = response.space.id
# List
response = client.spaces.list()
for space in response.spaces:
print ( f " { space.name } : { space.id } " )
# Delete
client.spaces.delete( space_id = space_id)
Deleting a space permanently removes all memories, files, and knowledge graphs. This cannot be undone.
Best practices
Use descriptive names
Plan your isolation strategy early
One space per user for privacy
Don’t over-partition (avoid one space per conversation)
Clean up unused spaces regularly
Next steps
Memories Add and manage memories
Knowledge Graphs Build connected knowledge
SDK: Spaces SDK documentation