Skip to main content

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

memside-0.3.0.tar.gz (14.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

memside-0.3.0-py3-none-any.whl (10.4 kB view details)

Uploaded Python 3

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

Hashes for memside-0.3.0.tar.gz
Algorithm Hash digest
SHA256 37db79d5ffa5a9ef6285219fbfe0ee644f7ebfdaf4153dcc42d14b71fac191b5
MD5 14b2e89eec7db276c0018a0fc4b213c8
BLAKE2b-256 3183a3ceabd0bdf188ed55a4e3e936a3bc6a0dfa2b85e62aa818500b243fa78f

See more details on using hashes here.

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

Hashes for memside-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4e39d734d1aea5b442a051bc4b5a3bd7cd1d2c88c145b243b5c5bd08ea4783c8
MD5 fc496c4e0b51f01b96a08febe8dcd2f1
BLAKE2b-256 585176d9f9ec75b720b2e4b5ddcd1a9d74baa260f82f7e70d3cdfba0355ea289

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page