The client.projects namespace allows you to manage the lifecycle of projects. A Project serves as a strict security and data boundary; memories from one project cannot be accessed by another.
Project Lifecycle
create
Initializes a new project within an organization. If the project already exists, it returns the existing project details.
project = client.projects.create(
org_id="my_org",
project_id="my_project",
description="Main memory store for our customer support agent",
metadata={"environment": "production"}
)
| Parameter | Type | Description |
|---|
org_id | str | Organization identifier. |
project_id | str | Unique project identifier within the org. |
description | str | Optional text describing the project. |
metadata | dict | Optional key-value pairs for organizational labeling. |
get
Retrieves the details of an existing project.
project = client.projects.get(org_id="my_org", project_id="my_project")
| Parameter | Type | Description |
|---|
org_id | str | Organization identifier. |
project_id | str | Project identifier. |
delete
Permanently removes a project and all associated episodic and semantic data.
This action is irreversible. All vector embeddings, relational tags, and chat history associated with this project will be destroyed.
| Parameter | Type | Description |
|---|
org_id | str | Organization identifier. |
project_id | str | Project identifier. |
Project Inspection
get_episode_count
Returns the total number of episodic memory entries stored in the project.
count = client.projects.get_episode_count("my_org", "my_project")
print(f"Project has {count} memories.")
list_all
Lists all project IDs belonging to a specific organization.
projects = client.projects.list_all(org_id="my_org")
The Project Object
When you use client.projects.get() or create(), you receive a Project instance. This object contains the following attributes:
| Attribute | Type | Description |
|---|
org_id | str | The organization ID this project belongs to. |
project_id | str | The unique ID for this project. |
description | str | The project’s description. |
configuration | dict | The specific LLM/Embedder config used by this project. |