Skip to main content

Python REST client for the memory-layer server

Project description

ai-memory-layer-client

Python client for the memory-layer HTTP service.

Install

pip install ai-memory-layer-client

For local development and tests:

pip install -e '.[dev]'
pytest

Quick Start

from memory_layer_client import MemoryClient, MemoryRuntimeClient, MemoryScope

client = MemoryClient(
    "http://localhost:3100",
    api_key="dev-key",
    default_scope=MemoryScope(
        tenant_id="acme",
        system_id="python-worker",
        collaboration_id="release-42",
        scope_id="run-42",
    ),
)
runtime = MemoryRuntimeClient(client)

result = runtime.run_turn(
    "Remember that deployments must stay blue-green.",
    lambda prepared: "Stored. I will keep rollout constraints in memory.",
)
print(result.prepared.prompt)

Async Client

import asyncio
from memory_layer_client import AsyncMemoryClient, AsyncMemoryRuntimeClient

async def main() -> None:
    client = AsyncMemoryClient("http://localhost:3100", api_key="dev-key")
    runtime = AsyncMemoryRuntimeClient(client)
    result = await runtime.run_turn(
        "Track migration status.",
        lambda prepared: "I will keep the migration status in memory.",
    )
    health = await client.health()
    print(result.prepared.context.token_estimate, health.active_turn_count)
    await client.aclose()

asyncio.run(main())

Scope Resolution

Each request can inherit a default scope and override it per call. This matches the multi-tenant routing model used by the HTTP server.

MemoryScope also supports collaboration_id, so Python clients can participate in shared multi-agent workspaces the same way the TypeScript server and SDK do.

Hosted Runtime And Changes

from memory_layer_client import MemoryClient, MemoryRuntimeClient

client = MemoryClient("http://localhost:3100")
runtime = MemoryRuntimeClient(client)

knowledge = client.list_knowledge(limit=20)
detail = client.inspect_knowledge(knowledge.items[0]["id"])
changes = client.poll_changes("2026-03-01T00:00:00Z", scope_level="workspace")
cross_scope = client.search_cross_scope("rollback", scope_level="workspace")
prepared = runtime.before_model_call("What changed in the shared workspace?")
print(prepared.prompt)
for event in client.stream_events(event_types=["knowledge_change"], scope_level="workspace"):
    print(event.type, event.meta)
    break

CLI

memory-layer-client --base-url http://localhost:3100 health
memory-layer-client --base-url http://localhost:3100 search "rollback checklist"
memory-layer-client --base-url http://localhost:3100 inspect-knowledge --limit 10
memory-layer-client --base-url http://localhost:3100 run-reverification --admin-key secret

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

ai_memory_layer_client-5.0.0.tar.gz (31.0 kB view details)

Uploaded Source

Built Distribution

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

ai_memory_layer_client-5.0.0-py3-none-any.whl (28.9 kB view details)

Uploaded Python 3

File details

Details for the file ai_memory_layer_client-5.0.0.tar.gz.

File metadata

  • Download URL: ai_memory_layer_client-5.0.0.tar.gz
  • Upload date:
  • Size: 31.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ai_memory_layer_client-5.0.0.tar.gz
Algorithm Hash digest
SHA256 0249f058d35efa46b361c225205fa246d8982945692e41a5748db15bb9e4c000
MD5 3088ea0afa4a23be8ffa7961f22f74cb
BLAKE2b-256 66233aca4604158b30e9bdf169b92cdfbf12bc6cb82935f5c643c89ead340a1c

See more details on using hashes here.

Provenance

The following attestation bundles were made for ai_memory_layer_client-5.0.0.tar.gz:

Publisher: release.yml on GregStarling/memory-layer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ai_memory_layer_client-5.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ai_memory_layer_client-5.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8643e690cc8b651f27d54321428d90cd5c848bf67a61779d75cc64154f107b71
MD5 adf7f1f0f86bda9c71801dd91d870092
BLAKE2b-256 4c50b76fa4bb847a0dda290ee0d267e2d9f93dd586399bbf99ab8a6d31bdd74d

See more details on using hashes here.

Provenance

The following attestation bundles were made for ai_memory_layer_client-5.0.0-py3-none-any.whl:

Publisher: release.yml on GregStarling/memory-layer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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