Skip to main content

seam-client

Build custom agents with SEAM-backed long-term memory without embedding the private SEAM runtime in your application.

seam-client is the public, Apache-2.0 Python SDK. It provides:

  • synchronous and asynchronous clients
  • remember, recall, and context assembly
  • a framework-neutral prepare/complete turn lifecycle
  • inspectable rendered context and opaque recalled-memory metadata
  • typed, opaque response models
  • bearer-token authentication and explicit error types

It does not contain the private SEAM runtime, MIRL implementation, HS/1 surface codecs, storage engine, ranking logic, benchmark holdouts, or model orchestration internals.

Install

python -m pip install seam-client

Version 2.0.0 adds the structured agent-turn lifecycle. To install directly from the public source repository instead:

python -m pip install \
  "seam-client @ git+https://github.com/BlackhatShiftey/Seam_Runtime.git@main#subdirectory=sdk"

Use it in an agent

from seam_client import AgentMemory, SeamClient

client = SeamClient(
    base_url="http://127.0.0.1:8765",
    api_key="your-seam-token",
)
memory = AgentMemory(
    client=client,
    namespace="research-agent",
    session_id="thread-42",
    agent_id="researcher",
)

messages = [{"role": "user", "content": "What did we decide about licensing?"}]
turn = memory.prepare_turn(
    messages,
    user_input=messages[-1]["content"],
)

# Call your preferred model/provider with `turn.messages`.
assistant_output = "We separated the public SDK from the private runtime."

receipt = memory.complete_turn(turn, assistant_output)

AgentMemory does not choose or call a model. It supplies memory hooks that can wrap your own OpenAI, Anthropic, local-model, or custom agent loop.

turn.context contains the rendered context. turn.memories contains the typed, opaque memory records behind it, so an agent can log scores or build citations without access to SEAM internals. prepare_turn copies the supplied message mappings and never mutates the caller's list.

Use memory_query= when the best retrieval query differs from the raw user input:

turn = memory.prepare_turn(
    messages,
    user_input="Compare those approaches.",
    memory_query="licensing architecture alternatives",
)

The 0.1 hooks remain available: before_turn, after_turn, system_message, and augment_messages.

Direct client

from seam_client import SeamClient

with SeamClient.from_env() as seam:
    seam.remember(
        "The operator prefers evidence-backed answers.",
        namespace="my-agent",
        session_id="thread-42",
    )
    recalled = seam.recall(
        "answer style",
        namespace="my-agent",
        session_id="thread-42",
    )
    for memory in recalled.memories:
        print(memory.text, memory.score)

Environment variables:

  • SEAM_BASE_URL — defaults to http://127.0.0.1:8765
  • SEAM_API_TOKEN — optional bearer token for the configured server

Async client

from seam_client import AsyncAgentMemory, AsyncSeamClient

async with AsyncSeamClient.from_env() as client:
    memory = AsyncAgentMemory(
        client=client,
        namespace="async-agent",
        session_id="thread-7",
    )
    turn = await memory.prepare_turn(
        [{"role": "user", "content": "What should I remember?"}],
        user_input="What should I remember?",
    )
    # assistant_output = await your_model(turn.messages)
    # await memory.complete_turn(turn, assistant_output)

Partitions

  • namespace isolates one agent or application from another.
  • session_id isolates a specific conversation or run.
  • scope is semantic and defaults to thread. Supported server scopes are ephemeral, global, org, project, thread, and user.

The server maps public partitions into an SDK-only internal namespace. Public responses use opaque rcpt_... and mem_... identifiers.

Hosted access

The SDK is public. A hosted SEAM endpoint is not implied by installing it. Use a SEAM server URL and token you have been given, or run an authorized local SEAM server. Hosted access remains separately provisioned.

Metadata

Release files for seam-client 2.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for seam-client 2.0.0
File Size Uploaded
seam_client-2.0.0.tar.gz 17.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for seam-client 2.0.0
File Interpreter ABI Platform
seam_client-2.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 31.4 kB

Release files / seam_client-2.0.0.tar.gz

Download URL seam_client-2.0.0.tar.gz
Size 17.0 kB
Tags Source
SHA-256 checksum
How to use checksums
37af38068982fa44d54ab0a5ed696319d4711a6d8a18dbf004a1123a2aac7096
BLAKE2b-256 checksum
How to use checksums
e35aa9672e6a166d11a03bced5ca9750ec1759ebfe2b65dc90225ae07b41403e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 28, 2026.

Transparency log

Release files / seam_client-2.0.0-py3-none-any.whl

Download URL seam_client-2.0.0-py3-none-any.whl
Size 14.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
03585afd5e6e42168cf24e47c703b8bf8a77a72b92e56b4efdb9421811cc372f
BLAKE2b-256 checksum
How to use checksums
bf46583d00f0723759a2293813182def008da110f3397a56e56bee2ff7cea584
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 28, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

2.0.0 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page