Catalog PyPI
PACKAGE EXPLORERView in registry

adk-inspeximus

PyPI

Google ADK memory service backed by inspeximus: drop-in for InMemoryMemoryService, but persistent, with per-user erasure.

adkagentgoogle-adklong-term-memorymemorymemory-service
Versions collected1
Direct dependencies2From release 0.1.0
Last observed20 Oct, 19:37 UTC

README

Version 0.1.0 documentation

adk-inspeximus

A Google ADK memory service backed by inspeximus.

ADK's built-in InMemoryMemoryService says what it is in its own docstring: "for prototyping purpose only. Uses keyword matching instead of semantic search." The alternatives shipped with ADK are Vertex AI services. This is the local one: a file on disk, no server, no cloud account.

pip install adk-inspeximus
from google.adk.runners import Runner
from adk_inspeximus import InspeximusMemoryService

runner = Runner(
    agent=agent,
    app_name="my_app",
    session_service=session_service,
    memory_service=InspeximusMemoryService(path="memory.json"),
)

Or without writing any Python glue, if you launch through the ADK CLI:

# services.py — loaded by `adk web`
from adk_inspeximus import register
register()                       # enables inspeximus://
adk web --memory_service_uri=inspeximus://memory.json

What it does that the built-in does not

  • Survives a restart. The built-in service holds everything in a dict; when the process exits, the memory is gone.
  • Erases one user on request. forget_subject_for(app_name, user_id, request_id=...) hard-deletes that user's memories across every session and leaves a content-free tombstone behind, so the deletion is provable and the value is no longer in the bytes on disk. No ADK memory service offers this.
  • Ranked retrieval instead of counting shared words.

Parity

ADK ships no conformance suite for BaseMemoryService, so the claim "drop-in replacement" is checked against ADK's own InMemoryMemoryService in adk_audit.py: eight scenarios, three repeats each, covering ingestion, user and app isolation, empty and missed queries, repeated ingestion, incremental event deltas, and retrieval from a store crowded with other users' memories. Running it with ADK_FALSIFY=1 breaks the service on purpose and the checks must fail — without that, the audit would only prove it can print "PASS".

Two of those scenarios failed when the audit was first written, and both are fixed: re-adding a session stored it a second time (ADK documents that a session "may be added multiple times during its lifetime"), and the incremental add_events_to_memory path was not implemented at all.

MIT licensed.

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
0.1.021 Jul 20262

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
dancenitra/inspeximus

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 19:37 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:8050a95dd801c97941d1e6b33f27aff31e197bf30181721034ae9b0881485a61