"""Remembra Python client.
A dependency-free client for the Remembra
memory API. It mirrors the published @hilbras/remembra TypeScript SDK in paths,
authentication, error classes, retry policy, pagination, and idempotency rules.
Install
pip install hilbras-remembra
Building from a checkout needs build and twine; use python3, since many
distributions ship no bare python, and a virtual environment where the
system interpreter is externally managed:
python3 -m venv .venv && .venv/bin/pip install build twine
cd python && ../.venv/bin/python -m build && ../.venv/bin/python -m twine upload dist/*
Use
from remembra import Remembra
client = Remembra("http://127.0.0.1:8787", api_key="your-key")
client.store({"type": "fact", "content": "the release train leaves at 09:00"})
results = client.search({"query": "release train", "limit": 5})
for page in client.iter_list({"limit": 50}):
...
The asynchronous client has the same surface and the same policy:
import asyncio
from remembra import AsyncRemembra
async def main() -> None:
async with AsyncRemembra("http://127.0.0.1:8787", api_key="your-key") as client:
await client.store({"type": "fact", "content": "deploy window is tuesday 02:00"})
asyncio.run(main())
Guarantees
- No runtime dependencies. The client uses the standard library only.
- Writes are never retried automatically. Retries apply to read-only requests only, so a retry can never duplicate a mutation.
- Bounded everything. Timeouts, retry attempts, pagination limits, search limits, and batch size/count budgets are validated before a request is sent.
- Server-managed identity is never sent.
storerejectsid,tenantId,organizationId,userId,agentId, andembeddingfields. - Typed errors.
ApiError(status, code, body),NetworkError,RequestTimeout, andValidationErrorall derive fromRemembraError. - Idempotency parity.
Idempotency-Keyis accepted only for batch mutations, and a keyed response containing a failed item is rejected.
Metadata
Release files for hilbras-remembra 5.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hilbras_remembra-5.5.0.tar.gz | 17.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hilbras_remembra-5.5.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 29.8 kB
Release files / hilbras_remembra-5.5.0.tar.gz
| Download URL | hilbras_remembra-5.5.0.tar.gz |
|---|---|
| Size | 17.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ecca2c67d3832605c7bab717f9dacbcce25312b401ffe29922aa0582899173c5
|
|
BLAKE2b-256 checksum How to use checksums |
20392247bd63cc857f3110a7fd79bfdbd4b840acd86be65fff3a9921faf94709
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / hilbras_remembra-5.5.0-py3-none-any.whl
| Download URL | hilbras_remembra-5.5.0-py3-none-any.whl |
|---|---|
| Size | 12.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5078f7b92e5c162e97ba63ef52bc5ace6539d67dba3cec2689bcb46c4361e07f
|
|
BLAKE2b-256 checksum How to use checksums |
e1df104c4d79d4081170f64661cf0f4e6b52b827e20da425f0274cf094c02c58
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|