Caura — governed shared memory for AI agent fleets
Caura (formerly MemClaw) is an Agent DB — governed shared memory for AI agent fleets. Agents commit what they learn once; every agent in the fleet recalls it through MCP tools, REST, or Caura Rail (preview), subject to tenant isolation, visibility scope (scope_agent / scope_team / scope_org) and caller trust level.
Caura Rail (preview) is the deterministic way to use that memory from Python. Rail runs recall before every agent turn and commit after it, in your code rather than at the model's discretion, so the model cannot skip the memory step. What Rail guarantees is the invocation: a failed recall or write degrades the turn and is reported, but the turn still runs (fail-open) unless you require governance rules. Rail does not guarantee persistence; deferred writes wait in an in-process outbox until you flush it. See Reliability.
Install
python -m pip install caura-rail
Quickstart
Set CAURA_URL and CAURA_API_KEY for a managed workspace on
caura.ai or a self-hosted
open-source server, then wrap each agent
turn:
from caura_rail import MemoryScope, Rail, RestMemoryStore
with RestMemoryStore.from_env() as store: # CAURA_URL, CAURA_API_KEY
rail = Rail(store, MemoryScope(agent_id="support-1"))
with rail.turn("Remember: We deploy in eu-west-1.") as turn:
turn.reply = "Noted. " + turn.context.text # pass context to your model
print(turn.reply, [w.status for w in turn.writes])
Before the agent runs, turn.context holds the governance rules and the facts
relevant to the message. After the block, Rail extracts the facts worth keeping
from the reply and writes them back. Fully typed, synchronous and asynchronous.
Links
- Guide: https://github.com/caura-ai/caura-rail/blob/main/docs/guide.md
- API reference: https://github.com/caura-ai/caura-rail/blob/main/docs/api.md
- Caura documentation: https://caura.ai/docs
- Source: https://github.com/caura-ai/caura-rail (Apache-2.0)
- Issues: https://github.com/caura-ai/caura-rail/issues
- Changelog: https://github.com/caura-ai/caura-rail/blob/main/CHANGELOG.md
- Benchmark: https://github.com/caura-ai/caura-longmemeval (LongMemEval harness)
- TypeScript package with the same semantics:
@caura/rail - Direct REST client without the turn wrapper:
caura-client
Licensed under Apache-2.0.
Metadata
Release files for caura-rail 1.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| caura_rail-1.0.2.tar.gz | 16.8 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| caura_rail-1.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 32.7 kB
Release files / caura_rail-1.0.2.tar.gz
| Download URL | caura_rail-1.0.2.tar.gz |
|---|---|
| Size | 16.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4438e9ebec39c974b1809385855fad18aaf6200e755ea19d19ff74264a7c6c60
|
|
BLAKE2b-256 checksum How to use checksums |
d592f5c8e521cc930aba3bd4fa64c3d79b2bb0351ac84159b6e3620ee2493107
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / caura_rail-1.0.2-py3-none-any.whl
| Download URL | caura_rail-1.0.2-py3-none-any.whl |
|---|---|
| Size | 15.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9942334e091a23211d6eaf4b469dd04f8f618d08fce40794149fbc74ff148456
|
|
BLAKE2b-256 checksum How to use checksums |
42d70294ff7907b401703475d81534c2c61e0a1b25bf6301584649f15970caa9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Security for caura-rail 1.0.2
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.