Skip to main content

MemStrata Client

CI License Python PyPI publishing

An open Python API and CLI for a separately installed MemStrata runtime.

This repository contains protocol, validation, transport, examples, and a synthetic mock runtime. It does not contain MemStrata's memory engine, ranking, extraction, query compilation, policy implementation, prompts, evaluation corpora, or licensing enforcement.

Try the open client

python -m venv .venv
source .venv/bin/activate  # Windows: .venv\Scripts\activate
pip install memstrata-client
memstrata-client init --mock
echo '[{"role":"user","content":"The Atlas migration completed."}]' \
  | memstrata-client process

The mock is deliberately synthetic: it echoes the final message and emits a linked evidence record. It demonstrates the integration and response contract; it does not demonstrate MemStrata's proprietary accuracy or memory behavior.

Python

from memstrata_client import MemStrata

client = MemStrata()  # uses the runtime configured by `memstrata-client init`
result = client.process([
    {"role": "user", "content": "Project Atlas moved to Toronto."},
])

for memory in result.memory:
    print(memory.text, memory.evidence_ids)
print(result.assurance.source_truth)  # always NOT_ASSERTED

The public client validates protocol version, request identity, byte ceilings, unknown fields, duplicate IDs, and every claim-to-evidence reference. Runtime diagnostics are suppressed by default so submitted messages are not copied into client exceptions.

Commercial evaluation runtime

The signed evaluation runtime is a separate commercial artifact. Once issued:

memstrata-client init \
  --runtime /absolute/path/to/memstrata-eval-runtime \
  --license-file /absolute/path/to/license.json
memstrata-client doctor

License contents are sent over the runtime's stdin protocol, not placed in the process command line. The runtime—not this open client—verifies and stores the entitlement.

We do not describe local binaries as tamper-proof. Artifact signing verifies publisher and bytes; compilation raises reverse-engineering cost; neither can stop a privileged owner of a machine from patching code.

Agent frameworks

The core accepts ordinary role/content dictionaries used by OpenAI-compatible histories, AutoGen, and CrewAI. memstrata_client.adapters.from_langchain normalizes LangChain-like message objects without adding LangChain as a dependency.

Evidence verification

Use the independent MemStrata Evidence Kit to verify signed evidence artifacts offline. Integrity does not establish that the source assertion is true; the client preserves source_truth=NOT_ASSERTED.

Security and privacy

  • No message telemetry is implemented in this package.
  • No MAC address, disk serial, CPU ID, motherboard serial, or OS machine ID is collected.
  • Do not pass secrets in message content.
  • Report vulnerabilities privately as described in SECURITY.md.

Apache-2.0. See NOTICE.

Distribution and commercial runtime packages

The Python client is prepared for tokenless PyPI Trusted Publishing. The separate commercial runtime can be staged into MSIX, notarized macOS PKG, Snap, AppImage, or Flatpak packages without putting the runtime in this repository. See Distribution and Packaging.

The packaging templates are open build infrastructure. They do not grant a license to, contain, download, or reveal the commercial runtime.

Metadata

Release files for memstrata-client 0.1.1

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

Source distribution (sdist)

Source distribution for memstrata-client 0.1.1
File Size Uploaded
memstrata_client-0.1.1.tar.gz 34.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for memstrata-client 0.1.1
File Interpreter ABI Platform
memstrata_client-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 55.2 kB

Release files / memstrata_client-0.1.1.tar.gz

Download URL memstrata_client-0.1.1.tar.gz
Size 34.3 kB
Tags Source
SHA-256 checksum
How to use checksums
12c0bbb13f9ec9f37091737d356cde4e6bf76efccdf02b8a52af4a07f7327a63
BLAKE2b-256 checksum
How to use checksums
a0c70c1815bf7e1eb213a8f6e285943040a67b0b61737c5d9290f5dd61881646
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.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 29, 2026.

Transparency log

Release files / memstrata_client-0.1.1-py3-none-any.whl

Download URL memstrata_client-0.1.1-py3-none-any.whl
Size 21.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f85ada6b7eb164277910c46d9202c0925396d4e71b6b994bb35b4113f8826785
BLAKE2b-256 checksum
How to use checksums
77464bd53622994ed82ebf83ae0e882664f28f9a8c561a82c753a28a5dc128e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.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 29, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.1 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