Python client for Memside AI continuity, portable context, checkpoints, operating rules, User AI Profile, and AI Skills.
Project description
Memside Python SDK
Python client for Memside AI continuity, portable context, checkpoints, operating rules, User AI Profile, and AI Skills.
Install
pip install memside
Usage
from memside import MemsideClient
client = MemsideClient(api_key="mem_sk_your_key_here")
startup = client.context_startup()
print(startup)
Create a memory with the public type and text fields:
memory = client.memories_create(
{
"type": "note",
"text": "Packing checklist\nBring a charger and a reusable bottle.",
"sensitivity": "private",
}
)
Use the current version when updating a Memory you previously read:
updated = client.memories_update(
memory["id"],
{
"text": "Packing checklist\nBring a charger and a reusable bottle.",
"expected_version": memory["version"],
},
)
Create a Subject and link a non-secret memory:
subject = client.subjects_create(
{
"name": "Weekend reading",
"subject_type": "topic",
"aliases": ["Reading list"],
}
)
client.subjects_link_memory(subject["id"], memory["id"])
context = client.subjects_get_context(subject["id"])
Read eligible Facts and propose a source-backed addition for user review:
facts = client.subjects_list_facts(subject["id"])
suggestion = client.subjects_suggest_fact(
subject["id"],
{
"suggestion_type": "add_fact",
"proposed_fact_type": "preference",
"proposed_fact_text": (
"Prefers printed books for long-form reading."
),
"source_memory_id": memory["id"],
"idempotency_key": "reading-preference-v1",
},
)
Fact Suggestions remain pending until a signed-in user reviews them. The SDK does not expose direct Fact mutation or suggestion review.
Read a bounded Context Map and pending Memory Insights:
context_map = client.memories_get_context_map(memory["id"])
history = client.memories_get_revisions(memory["id"])
insights = client.subjects_list_memory_insights(
subject["id"],
limit=25,
)
Insight refresh, review, and undo remain signed-in application actions.
Prepare Subject deletion without changing data:
preview = client.subjects_prepare_delete(subject["id"])
print(preview["required_confirmation"])
The SDK does not generate or submit Subject deletion confirmation automatically.
Deletion requires the resource-specific confirmation returned by your application workflow:
client.memories_delete(
memory["id"],
f"CONFIRM_DELETE_{memory['id']}",
)
You can also set the API key through the environment:
MEMSIDE_API_KEY=mem_sk_your_key_here
Supported API Areas
This package wraps public Memside API-key routes:
- startup context
- resume context
- workspace profile
- memory listing
- memory search
- memory fetch
- memory revision history
- bounded exact-ID memory batch reads
- bounded memory Context Maps
- memory create
- memory update
- memory delete, when allowed by the API
- Subject listing, creation, retrieval, and update
- Subject-memory listing, linking, and unlinking
- bounded Subject Context
- eligible Subject Fact reads
- source-backed Fact Suggestions for signed-in-user review
- pending-only Memory Insight reads
- guarded Subject deletion preparation and confirmation
This package does not include private Memside application source, account/session internals, billing internals, admin routes, database details, or MCP server implementation.
API Reference
| Area | Methods |
|---|---|
| Context | context_startup, context_resume, context_workspace_profile |
| Memories | memories_list, memories_search, memories_get, memories_get_batch, memories_get_revisions, memories_get_context_map, memories_list_subjects, memories_create, memories_update, memories_delete |
| Subjects | subjects_list, subjects_create, subjects_get, subjects_update, subjects_list_memories, subjects_link_memory, subjects_unlink_memory, subjects_get_context, subjects_list_facts, subjects_suggest_fact, subjects_list_memory_insights, subjects_prepare_delete, subjects_delete |
See the curated OpenAPI document for public request and response fields.
Public request and response shapes are exported as lightweight TypedDict
definitions for editors and type checkers. Failed requests raise
MemsideError, including status, code, retryable, retry_after,
request_id, and safe details.
For 429 responses, wait for retry_after before retrying a read. The SDK
does not automatically retry writes.
Eligible responses contain attachment metadata only. Raw attachment data, private storage locations, and signed download URLs are not returned through the public API-key contract.
Compatibility
The package uses additive public methods and typed fields where possible.
Breaking changes require a documented migration path. The client accepts the
current public error envelope and documented legacy detail responses during
the V2 compatibility period.
Requirements
Python 3.9 or newer.
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
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
File details
Details for the file memside-0.3.0.tar.gz.
File metadata
- Download URL: memside-0.3.0.tar.gz
- Upload date:
- Size: 14.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
37db79d5ffa5a9ef6285219fbfe0ee644f7ebfdaf4153dcc42d14b71fac191b5
|
|
| MD5 |
14b2e89eec7db276c0018a0fc4b213c8
|
|
| BLAKE2b-256 |
3183a3ceabd0bdf188ed55a4e3e936a3bc6a0dfa2b85e62aa818500b243fa78f
|
File details
Details for the file memside-0.3.0-py3-none-any.whl.
File metadata
- Download URL: memside-0.3.0-py3-none-any.whl
- Upload date:
- Size: 10.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4e39d734d1aea5b442a051bc4b5a3bd7cd1d2c88c145b243b5c5bd08ea4783c8
|
|
| MD5 |
fc496c4e0b51f01b96a08febe8dcd2f1
|
|
| BLAKE2b-256 |
585176d9f9ec75b720b2e4b5ddcd1a9d74baa260f82f7e70d3cdfba0355ea289
|