This release is a pre-release and may not be stable for production use.
ContextDB Cloud Python SDK for AI agent memory
Remote client for the ContextDB Cloud data plane. The hosted API and this package are alpha and do not carry a production availability commitment.
from contextdb_cloud_client import CloudClient
async with CloudClient("https://api.contextdb.ai", api_key="cdb_…") as cdb:
saved = await cdb.remember(
"caller-1", "Thursday works", source="user_stated",
confidence=0.9, idempotency_key="call-456-preference-v1",
)
context = await cdb.recall(
"caller-1",
"when can they come in?",
min_memory_version=saved.memory_version,
min_primary_wal_lsn=saved.primary_wal_lsn,
)
decision = await cdb.evaluate_action("caller-1", "book the visit")
if decision.outcome == "act":
# Execute in your host, then close the Action Ledger.
await cdb.report_execution(
"caller-1", decision.decision_id, "appointment.book", "succeeded",
idempotency_key=f"receipt-{decision.decision_id}",
external_ref="appt-8842",
)
pending = await cdb.pending_confirmations("caller-1")
# Hosted Alpha production-shaped formation: enqueue, then poll.
submitted = await cdb.submit_formation_job(
"caller-1",
[{"speaker": "user", "content": "I prefer Saturday mornings."}],
mode="propose",
idempotency_key="call-456-formation-v1",
)
formation = await cdb.get_formation_job(submitted.job_id)
LocalClient wraps the in-process memory calls for offline development.
Cloud-only control-plane features such as durable action decisions and
execution receipts require CloudClient.
The API key is a project-wide server credential (cdb_…). Keep it in your
server's secret store; never in a browser or client-side code.
Pass a stable idempotency_key when retrying remember, remember_many,
confirm, or extract_memories(..., mode="commit"). Reuse the key only for
the exact same logical request.
submit_formation_job always requires one. It accepts structured text turns
only; no audio or cancellation contract exists.
Delete one bad memory with forget(user_id, memory_id=...). Whole-partition
erasure is deliberately harder: pass erase_partition=True,
confirmation=user_id, and an idempotency_key; Cloud deletes the partition
and verifies that no memory rows or vector-index IDs remain.
Use cases
- AI voice agents: remember caller preferences and confirmed constraints across calls.
- Customer support agents: retrieve prior context while requiring trusted evidence before consequential actions.
- Workflow agents: record act/ask/abstain decisions and report execution outcomes.
- Privacy operations: delete one memory, a stable slot, or a complete user partition with verification.
Python starter kits
Each starter installs this package and is checked against the documented framework imports in CI.
Links
Is this package production-ready?
No. contextdb-cloud-client and the hosted service are alpha. The package does
not claim a public availability SLA.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file contextdb_cloud_client-0.1.0a5.tar.gz.
File metadata
- Download URL: contextdb_cloud_client-0.1.0a5.tar.gz
- Upload date:
- Size: 16.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6f7cf4fcb6a763a0928f08f6a04ec1aae694eb1e9819613a28d0b7f99dec6e6c
|
|
| MD5 |
638b83b310824dee9534c51bccef14f2
|
|
| BLAKE2b-256 |
849da638be6fbb431dd481b88c4d06af756eb06ef86ed0c756e1469633474423
|
Provenance
The following attestation bundles were made for contextdb_cloud_client-0.1.0a5.tar.gz:
Publisher:
publish-python.yml on atomsai/contextdb-clients
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
contextdb_cloud_client-0.1.0a5.tar.gz -
Subject digest:
6f7cf4fcb6a763a0928f08f6a04ec1aae694eb1e9819613a28d0b7f99dec6e6c - Sigstore transparency entry: 2547037536
- Sigstore integration time:
-
Permalink:
atomsai/contextdb-clients@e4bf8b31233f7307a5a5e0867fbf52e697e27d05 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/atomsai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-python.yml@e4bf8b31233f7307a5a5e0867fbf52e697e27d05 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file contextdb_cloud_client-0.1.0a5-py3-none-any.whl.
File metadata
- Download URL: contextdb_cloud_client-0.1.0a5-py3-none-any.whl
- Upload date:
- Size: 16.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a215afd4a6d9ae788b6f365774d8541d7acc9b2a5c7ac770223b7022b6c1371f
|
|
| MD5 |
fa5d294db03d0d1f22a79141cfef74d9
|
|
| BLAKE2b-256 |
9103382beb04e61d688a45f5b6f08fb0366706a0b7c3c45e74bbcc32e419f26e
|
Provenance
The following attestation bundles were made for contextdb_cloud_client-0.1.0a5-py3-none-any.whl:
Publisher:
publish-python.yml on atomsai/contextdb-clients
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
contextdb_cloud_client-0.1.0a5-py3-none-any.whl -
Subject digest:
a215afd4a6d9ae788b6f365774d8541d7acc9b2a5c7ac770223b7022b6c1371f - Sigstore transparency entry: 2547037586
- Sigstore integration time:
-
Permalink:
atomsai/contextdb-clients@e4bf8b31233f7307a5a5e0867fbf52e697e27d05 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/atomsai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-python.yml@e4bf8b31233f7307a5a5e0867fbf52e697e27d05 -
Trigger Event:
workflow_dispatch
-
Statement type: