MemoraEU SDK — Python
Couche mémoire persistante zero-knowledge pour LLMs.
Compatible avec n'importe quel projet Python — sync ou async.
Installation
pip install memoraeu
Démarrage rapide
1. Obtenir vos clés
- Créez un compte sur app.memoraeu.com
- Paramètres → Clés de chiffrement → copiez
MEMORAEU_SALT - Paramètres → Clés API → créez une clé → copiez
MEMORAEU_API_KEY(meu-sk-…) secret= votre mot de passe de connexion MemoraEU
2. Client sync
from memoraeu import MemoraEU
client = MemoraEU(
api_url="https://api.memoraeu.com",
api_key="meu-sk-...", # clé API (authentification HTTP)
secret="votre-mot-de-passe", # mot de passe MemoraEU (dérivation de clé locale)
salt="votre-kdf-salt", # salt unique à votre compte (depuis les Paramètres)
)
# Mémoriser
memory = client.remember(
"Philippe préfère Python et FastAPI",
category="prefs",
tags=["python", "stack"]
)
# Rechercher
results = client.recall("préférences tech", limit=3)
for r in results:
print(f"[{round(r.score*100)}%] {r.memory.content}")
# Supprimer
client.forget(memory.id)
3. Client async
from memoraeu import AsyncMemoraEU
async with AsyncMemoraEU(
api_url="https://api.memoraeu.com",
api_key="meu-sk-...",
secret="votre-mot-de-passe",
salt="votre-kdf-salt",
) as client:
memory = await client.remember("...")
results = await client.recall("...")
Comprendre les paramètres
| Paramètre | Rôle |
|---|---|
api_key |
Authentification HTTP — Bearer token envoyé à chaque requête (meu-sk-…) |
secret |
Votre mot de passe MemoraEU — utilisé comme entrée PBKDF2 pour dériver la clé de chiffrement localement |
salt |
Salt KDF unique à votre compte, généré par le serveur — combiné avec secret pour produire la clé AES |
Zero-knowledge : la clé de chiffrement est dérivée sur votre machine avec
PBKDF2(secret, salt, 210 000 itérations). Le serveur reçoit uniquement le contenu chiffré — il ne peut pas le lire même s'il est compromis.⚠️ Si vous perdez votre
secretou votresalt, vos mémoires chiffrées sont irrécupérables.
Référence
| Méthode | Description |
|---|---|
remember(content, category?, tags?, scope?) |
Mémorise une information |
recall(query, limit=3, category?, scope?) |
Recherche sémantique |
forget(memory_id) |
Supprime une mémoire |
list_memories(category?, limit=20, scope?) |
Liste les mémoires |
list_categories() |
Catégories triées par usage |
Gestion des erreurs
from memoraeu import APIError, CryptoError, ConnectionError
try:
client.remember("...")
except APIError as e:
print(e.status_code, str(e)) # ex: 401, 409
except CryptoError as e:
print("Problème de chiffrement", e)
except ConnectionError as e:
print("API inaccessible", e)
Auto-hébergement
client = MemoraEU(
api_url="http://localhost:8000",
api_key="meu-sk-...",
secret="...",
salt="...",
)
Licence
MIT © MemoraEU
Metadata
Release files for memoraeu 0.1.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 | |
|---|---|---|---|
| memoraeu-0.1.2.tar.gz | 6.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| memoraeu-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.9 kB
Release files / memoraeu-0.1.2.tar.gz
| Download URL | memoraeu-0.1.2.tar.gz |
|---|---|
| Size | 6.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6e394aaa880c2126ac6550627435f34728e782144f37bb6de513b54a26ac8c0f
|
|
BLAKE2b-256 checksum How to use checksums |
d73185b8aec40b2c5426ed677f4944609b265b86f278daf0dbf4f924cb3be0ba
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|
Release files / memoraeu-0.1.2-py3-none-any.whl
| Download URL | memoraeu-0.1.2-py3-none-any.whl |
|---|---|
| Size | 7.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1522ccd6aab3455309219e375ec9291bd5ec1e2f761300731461393ce444a10e
|
|
BLAKE2b-256 checksum How to use checksums |
a9ea201f60fa39cd343daba63081b33e98c60257c8290a49b55f59f1caf947e7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|