keep-skill
raw JSON → 0.143.3 verified Fri May 01 auth: no python
Reflective memory library for storing and searching documents by meaning using vector embeddings and tag-based metadata. Current version 0.143.3, requires Python >=3.11, <3.14. Active development with frequent releases (multiple per month).
pip install keep-skill Common errors
error ModuleNotFoundError: No module named 'keep' ↓
cause Keep package not installed or installed under a different name (keep-skill).
fix
Run 'pip install keep-skill' and use 'from keep import Keep'.
error ConnectionError: Could not connect to daemon at http://localhost:8000 ↓
cause The keep daemon is not running.
fix
Start the daemon with 'keep daemon' in a terminal before running client code.
error AttributeError: module 'keep' has no attribute 'Keep' ↓
cause Using 'import keep' instead of 'from keep import Keep'.
fix
Use 'from keep import Keep' or 'import keep; client = keep.Keep()' (but the former is preferred).
Warnings
breaking In v0.140.0 the 'type' tag was repurposed for entity-type classification. Old 'type' values (learning, breakdown, etc.) are migrated to new 'kind' tag automatically. If your code relies on reading the 'type' tag, update to use 'kind' instead. ↓
fix Replace accesses to tags['type'] with tags.get('kind', tags.get('type')).
gotcha The daemon must be running separately (e.g., 'keep daemon') before using the client. The client does not start the daemon automatically. ↓
fix Start the daemon in a separate terminal: keep daemon
gotcha SQLite SELECTs used to be blocked by write locks until v0.143.2. If you see performance issues on concurrent reads with writes, upgrade to >=0.143.2. ↓
fix Upgrade to version 0.143.2 or later: pip install --upgrade keep-skill
deprecated The 'requests' HTTP library was replaced by 'httpx' in v0.142.0. Custom HTTP configs using requests internals will break. ↓
fix Use httpx settings or rely on the default Keep client configuration.
Imports
- Keep wrong
import keepcorrectfrom keep import Keep - Document
from keep import Document - DaemonClient wrong
from keep import DaemonClientcorrectfrom keep.daemon import DaemonClient
Quickstart
import os
from keep import Keep, Document
client = Keep(daemon_url=os.environ.get('KEEP_DAEMON_URL', 'http://localhost:8000'))
doc = Document(content="Recursive summarization improves LLM reasoning.", tags={"topic": "prompt-engineering"})
uid = client.add(doc)
print(f"Added document {uid}")
# Search by meaning
results = client.search("LLM reasoning techniques")
for r in results:
print(r.content, r.score)