Skip to main content

LightMem (lmem) Python SDK

Ultra-Fast Local AI Agent Persistent Memory Engine with Neural Extractive QA, Multimodal BLOB Vault & Knowledge Graph.

PyPI version License: MIT

LightMem combines SQLite WAL + FTS5 BM25 with lazy-initialized ONNX vector search (fastembed), local ONNX Extractive QA (minilm-squad2 / tinyroberta-squad2) & swappable Ollama rerankers (ollama:<model>), immutable SHA-256-verified multimodal BLOB attachments (images, audio, video, documents), Obsidian-grade [[wikilinks]] & multi-hop knowledge graph traversal, nearest-neighbor conflict merging, and temporal point-in-time (as_of) & single-day (date) queries — with zero Python dependencies.


⚡ Quickstart

Installation

pip install lmem

Python SDK Usage

from lmem import LightMem

# Initialize vault (defaults to ~/.lightmem/memories.db or custom db_path)
lm = LightMem()

# 1. Store a memory (auto-infers across 14 categories if omitted)
memory = lm.remember(
    "PostgreSQL primary runs on port 5432 with WAL archiving enabled",
    category="fact",
    title="PostgreSQL Primary Config",
    tags=["postgres", "database", "production"],
    confidence=0.95,
)
print("Stored memory:", memory.id)

# 2. Store Multimodal Attachments (images, audio, 4K video, PDFs in isolated 0600 SQLite BLOB vault)
diagram = lm.remember(
    "API Gateway routes to [[PostgreSQL Primary Config]]",
    files=["./ingress-architecture.png"],
    tags=["architecture", "gateway"],
    extract=False,  # True to invoke configured LLM for visual/document summary extraction
)

# 3. Hybrid Search (FTS5 BM25 + Vector Cosine RRF + Graph Multi-Hop & Media Filter)
results = lm.recall("postgres port", limit=5, multi_hop=True)
for r in results:
    print(f"[{r.score:.2f}] {r.memory.title}: {r.memory.content}")

# Materialize verified attachment file paths directly on disk
image_paths = lm.recall("gateway", media="image", limit=1, path=True)
inspected_paths = lm.inspect(diagram.id, path=True)

# 4. Neural Extractive QA (exact fact extraction via ONNX SQuAD-2.0 or Ollama)
answer = lm.answer("what port does postgresql use?")
print("Extracted answer:", answer.answer)      # "5432"
print("Confidence:", answer.confidence)
print("Reranker:", answer.reranker_used)

# 5. Conversational Observation & Atomic Fact Extraction
candidates = lm.observe(
    "User: We switched Redis to port 6380.\nAssistant: Updated!",
    dry_run=True,
)
for c in candidates:
    print(f"[{c.category}] {c.title}: {c.content}")

# 6. Intentional Knowledge Graph Linking & Multi-Hop Traversal
lm.link(diagram.id, memory.id, relation="depends_on", weight=1.0)
related = lm.related(memory.id, hops=2)
for rel in related:
    print(f"Hop {rel.distance}: {rel.memory.title} via {' -> '.join(rel.relation_path)}")

# 7. Conflict Detection, Deduplication & Vault Telemetry
conflicts = lm.conflicts(min_similarity=0.80)
stats = lm.stats()
print(f"Active memories: {stats.active_memories} | Vectors: {stats.vector_count}")

# 8. Deploy Skill to AI Agents (Antigravity, Codex, Hermes, Cursor, Claude)
lm.connect("antigravity")

🧩 Python SDK Reference (LightMem)

Method Description
lm.remember(content, ..., files=None, extract=False, supersede=False) Store a memory and optional binary attachments (files=[...]), auto-linking [[wikilinks]].
lm.recall(query, limit=5, category=None, media=None, multi_hop=False, path=False) Hybrid BM25 + Cosine RRF search; returns List[ScoredMemory] or List[str] file paths when path=True.
lm.answer(question, category=None, reranker=None, as_of=None, date=None) Extractive QA via local ONNX (minilm-squad2, tinyroberta-squad2), ollama:<model>, or top1.
lm.observe(input_text_or_path, yes=False, dry_run=False, reranker=None) Extract atomic candidate memories from dialogue transcripts or notes.
lm.inspect(memory_id, *extra_ids, save_to=None, path=False) Inspect full record + graph links + attachments, or materialize verified file paths (path=True).
lm.list(page=None, limit=20, category=None, media=None, path=False) Paginated chronological listing (PaginatedList or List[str] paths when path=True).
lm.link(source, target, relation="relates_to", weight=1.0) Create or update a directional knowledge graph edge.
lm.unlink(source, target, relation=None) Remove a directional edge between two memories.
lm.related(memory_id, hops=2) Breadth-first multi-hop traversal with hop-decay scoring.
lm.graph(focus=None, hops=2) Export full or neighborhood knowledge graph {nodes, edges}.
lm.conflicts(yes=False, min_similarity=0.78, reranker=None) Detect (and optionally auto-merge with yes=True) conflicting or near-duplicate memories.
lm.deduplicate() Smart-merge exact duplicate memories.
lm.forget(memory_id, hard=False) Soft-expire (hard=False) or permanently purge (hard=True, cascading BLOBs & cached files).
lm.stats() Vault telemetry (StorageStats: active/expired counts, vector count, categories, DB size).
lm.connect(platform=None, workspace=False, path=None) Install SKILL.md to AI coding agents (antigravity, codex, hermes, cursor, claude, all).

💻 CLI Commands (Included)

The pip install lmem package also installs the standalone lmem (and lightmem) CLI:

lmem remember "Redis cache runs on port 6379" -t fact
lmem remember "Itachi 4K wallpaper" -f ./itachi-4k.mp4 --extract
lmem observe conversation.txt --yes
lmem recall "redis port" -l 5 --multi-hop
lmem recall "itachi" -m video -l 1 --path
lmem inspect <ID> --paths
lmem answer "what is my pan card no"
lmem link <SRC_ID> <DST_ID> -r "depends_on"
lmem related <ID> --hops 2
lmem graph --focus <ID> --hops 2
lmem conflicts
lmem connect all

📄 License

MIT License. Created by Pathi Krishna Kanth.

Metadata

Release files for lmem 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lmem 0.3.0
File Size Uploaded Provenance
lmem-0.3.0.tar.gz 11.2 kB With provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for lmem 0.3.0
File Interpreter ABI Platform
lmem-0.3.0-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
lmem-0.3.0-py3-none-manylinux2014_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details
lmem-0.3.0-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details

Total release size: 38.3 MB

Release files / lmem-0.3.0.tar.gz

Download URL lmem-0.3.0.tar.gz
Size 11.2 kB
Tags Source
SHA-256 checksum
How to use checksums
547f79efbf167cc4446377f3fcc28e252dca505845151a50c0bf1540e31bc69f
BLAKE2b-256 checksum
How to use checksums
a9c7aa06883aedbf027a307691d7eaf717c0f8a89a31ee59d36685dc5a5ae820
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Release files / lmem-0.3.0-py3-none-win_amd64.whl

Download URL lmem-0.3.0-py3-none-win_amd64.whl
Size 12.2 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
9554ec459bfc4bd825eaa6beda5ddfd94428a9997179b829b90d412fd8456cf6
BLAKE2b-256 checksum
How to use checksums
dec22bfb9660d325536f0872e2f4da787652bada40f49b7d9e51d519ec91a3df
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Release files / lmem-0.3.0-py3-none-manylinux2014_x86_64.whl

Download URL lmem-0.3.0-py3-none-manylinux2014_x86_64.whl
Size 14.3 MB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
6a8b585c465035ad77b16b5322759f708674aee04992fe99684ade616500ca54
BLAKE2b-256 checksum
How to use checksums
e393724a7e8312d9b071f7faa1dbe59b3556eee089b8cce9d26d82acc84851eb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Release files / lmem-0.3.0-py3-none-macosx_11_0_arm64.whl

Download URL lmem-0.3.0-py3-none-macosx_11_0_arm64.whl
Size 11.8 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b4c9016cd3fe965c2fe6d753b2b4062a176374e937ce1688b75ef2d41f05b6de
BLAKE2b-256 checksum
How to use checksums
2e346a5756900ca7e1772a6b1af8f10869090f4e3af94ae2c2f36dff9d58f0e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Security for lmem 0.3.0

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.

Full provenance

All 4 files in this release have been uploaded with provenance metadata.

Select from 4 files

Attestation for lmem-0.3.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page