SeenRelay Python client
Measure and avoid redundant expensive validation.
Deterministic, standard-library-only client that places SeenRelay CHECK around repeated source-backed validation while preserving the application's original validation by default.
Client 0.2.9 includes the multi-signal shared-evidence assurance helpers and deterministic Fact Coordinate Kit alongside Ambient integrations for LangChain and PydanticAI and the local machine-readable integration catalog. Python remains conservative and shadow-first by default. The direct Firecrawl SDK shadow adapter is JavaScript / TypeScript-only; Python parity is not claimed.
Shared CHECK assurance
seenrelay_assurance evaluates additive CHECK evidence without treating it as truth. The multi-signal retained-reuse preset requires at least two observer keys, two cryptographic continuity keys, and two reuse-independence buckets, plus matching value fingerprints and acceptable freshness.
from seenrelay_assurance import multi_signal_retained_reuse_policy
reuse = multi_signal_retained_reuse_policy({"maxAgeSeconds": 300})
Using the policy is explicit caller opt-in. Multiple keys and buckets make trivial single-origin poisoning harder; they do not prove independent real-world actors or truth. High-consequence validation should still require authoritative source confirmation under the application's own policy.
Deterministic coordinates
seenrelay_coordinates keeps local call coordinates separate from shared source-backed fact descriptors.
from seenrelay_coordinates import (
mcp_tool_coordinate,
openapi_operation_coordinate,
json_pointer_fact,
)
local_call = mcp_tool_coordinate(
"catalog-prod",
"catalog.read",
{"id": 42},
)
api_call = openapi_operation_coordinate(
"catalog-api",
"getProduct",
{"id": 42},
)
fact = json_pointer_fact(
"Product 42 stock",
"availability.current",
"https://api.example.com/products/42",
"/stock",
)
MCP/OpenAPI coordinates are local repetition keys only. Shared fact builders require a stable source-native locator. Prefer fragmentation to guessed semantic convergence.
Ambient MCP
Python can start in local-only shadow mode with no SeenRelay network call and no result suppression:
from seenrelay_ambient import ambient_mcp_client
client = ambient_mcp_client(raw_mcp_client, server_key="docs")
# await client.call_tool(...) normally
print(client.get_report())
For OpenAI Agents Python:
from seenrelay_ambient import ambient_openai_agents_mcp_server
server = ambient_openai_agents_mcp_server(raw_mcp_server)
# pass `server` to the Agent exactly as before
The report stores aggregate metrics plus SHA-256 fingerprints only. It identifies exact repetition worth reviewing; it does not claim savings. Active Ambient reuse is intentionally unavailable in the Python client until its local-first semantics match the TypeScript implementation.
Install
pip install seenrelay
Smallest integration: bind once, one line per revalidation
from seenrelay import SeenRelayClient
from seenrelay_easy import protect_validation
relay = SeenRelayClient()
validate_price = protect_validation(
relay,
fact=fact,
validate=lambda ctx: expensive_validation(ctx.conditional_headers),
)
value = validate_price(known_value)
That is strict shadow mode by default: SeenRelay CHECK runs, your original validation still runs, and the independently obtained result is OBSERVEd best-effort. Nothing is skipped merely because SeenRelay is installed.
Only after measurement and policy approval should you add an explicit reuse policy:
from seenrelay import reuse_known_on_same_observed
validate_price = protect_validation(
relay,
fact=fact,
validate=lambda ctx: expensive_validation(ctx.conditional_headers),
reuse=reuse_known_on_same_observed,
)
Direct client form
value = relay.guard(
fact=fact,
known_value=known_value,
validate=lambda ctx: expensive_validation(ctx.conditional_headers),
)
Without an explicit reuse policy, validation is never skipped.
Prove value before enabling reuse
from seenrelay import SeenRelayClient
from seenrelay_shadow import SeenRelayShadowProof
proof = SeenRelayShadowProof(SeenRelayClient())
value = proof.guard(
fact=fact,
known_value=known_value,
validate=lambda ctx: expensive_validation(ctx.conditional_headers),
)
print(proof.report(
avoided_validation_cost=0.01,
))
Python Shadow Proof keeps the original validation. It measures CHECK status distribution, validation time and SeenRelay request latency locally. Potential savings count only SAME_OBSERVED calls and subtract caller-supplied request costs. Savings from conditional ETag / Last-Modified requests are deliberately excluded unless measured separately by the application.
Use SeenRelay around repeated validation that is materially more expensive than the preflight: paid search, scraping/proxy work, browser or extraction calls, rate-limited APIs, model-assisted parsing, or multi-step validation. It is generally a poor fit for a cheap one-off GET.
Protocol boundary
The Python client does not add a SeenRelay operation. The hosted service still exposes only CHECK and OBSERVE and does not browse, search or verify arbitrary facts on demand.
License
The client package is MIT licensed. The hosted SeenRelay service implementation remains governed by the repository root license.
Ambient framework integrations
All integrations below are optional. SeenRelay imports the framework only when the corresponding adapter is requested. Ambient measurement is local-only, preserves the authoritative call, and never enables reuse automatically.
from seenrelay_ambient import ambient_langchain_mcp_client
client = ambient_langchain_mcp_client(client)
tools = await client.get_tools()
print(client.seenrelay_ambient["get_report"]())
from seenrelay_ambient import ambient_pydantic_ai_toolset
toolset = ambient_pydantic_ai_toolset(toolset)
Coding agents and integration tooling can inspect the installed package without network discovery:
from seenrelay_ambient import ambient_integration_catalog
print(ambient_integration_catalog())
The catalog is local metadata only. It adds no telemetry, hosted operation, or reuse authorization.
Metadata
Release files for seenrelay 0.2.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| seenrelay-0.2.9.tar.gz | 20.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| seenrelay-0.2.9-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 42.0 kB
Release files / seenrelay-0.2.9.tar.gz
| Download URL | seenrelay-0.2.9.tar.gz |
|---|---|
| Size | 20.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3f68924b493e00ecd2eb677816f9d7302f9b2d5d969e124d1ac665875c581ea5
|
|
BLAKE2b-256 checksum How to use checksums |
5e841c2d2aaaa8c7547681fd423e0d9d3659be5b9329820f31ec648c20e4ebb8
|
| 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 Sep 1, 2026.
Transparency logRelease files / seenrelay-0.2.9-py3-none-any.whl
| Download URL | seenrelay-0.2.9-py3-none-any.whl |
|---|---|
| Size | 22.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e2bcab1cb2533253f76f635dd6d29e155acd03c2b866768f31dcaa3c40cf8a18
|
|
BLAKE2b-256 checksum How to use checksums |
551b7ec0cdc5546ba024dafe23e6f48873a24635622eecd580b4822843eb0f34
|
| 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 Sep 1, 2026.
Transparency log