Skip to main content

Python REST client for the memory-layer server

Project description

memory-layer-client

Python client for the memory-layer HTTP service.

Install

pip install 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-3.1.0.tar.gz (25.7 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-3.1.0-py3-none-any.whl (22.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for ai_memory_layer_client-3.1.0.tar.gz
Algorithm Hash digest
SHA256 d8f311ed32cc35ad94edec0ec2e517deb08cc23203efc993fc6f7b560334aa91
MD5 555082916b458a7141d11bcf74480108
BLAKE2b-256 90de084575b766299d25a3abc770cd166d6122c571ddc6862ab59034cf0733ae

See more details on using hashes here.

Provenance

The following attestation bundles were made for ai_memory_layer_client-3.1.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-3.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ai_memory_layer_client-3.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 98044287f268f8307b306a7dbbd319aa363d14bea8d01908aba90fdf54e302f6
MD5 87841e48df105e7f6fc9ebfe1d098e14
BLAKE2b-256 5c67d3a8d4d4fc781911d5d8cd9f10bc45c3fb76d13d40ae858e8f58646a1404

See more details on using hashes here.

Provenance

The following attestation bundles were made for ai_memory_layer_client-3.1.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