Skip to main content

sibyl-memory-client

Local-first agentic memory SDK. The foundation of the Sibyl Memory Plugin family.

A small Python library that gives any AI agent durable memory across sessions, stored in a SQLite database on the user's own computer. No round-trip to anyone's cloud. Organized by what kind of thing it is, not one fuzzy similarity bucket.

pip install sibyl-memory-client

Quickstart

from sibyl_memory_client import MemoryClient

memory = MemoryClient.local("~/.sibyl-memory/memory.db")

# Remember a fact (entity)
memory.set_entity("project", "atlas", {"status": "active", "owner": "jane"})

# Recall it
print(memory.get_entity("project", "atlas"))

# Record what happened (journal)
memory.write_event(acted=["deployed atlas v1.2 to staging"])

# Search across everything
results = memory.search_entities("atlas")

Why this exists

Most agent-memory products store everything on someone else's servers, treat every piece of information the same way, and quietly forget the important things when you need them most. This SDK solves all three:

  • Local-first. Memory lives in a SQLite database in ~/.sibyl-memory/. No cloud round-trip for any operation.
  • Organized by kind. Five separate tiers: state, entities, journal, reference, archive: each recalled the way it should be recalled.
  • Benchmarked. The Sibyl Memory Plugin (built on this SDK) sits at #2 globally on the LongMemEval Oracle benchmark when paired with Claude Opus 4.6. Methodology open at blog.sibylcap.com/longmemeval-v2.

The five tiers

Intent Tier API
What you're working on right now HOT state set_state(key, body) / get_state(key)
Things the agent knows about WARM entities set_entity(kind, name, body) / get_entity
What happened, in time order COLD journal write_event(...) / read_events(...)
Documents you look up by name REFERENCE set_reference(key, body) / get_reference
Frozen things, kept but out of the way ARCHIVE archive_entity(kind, name)
Search across everything FTS5 search_entities(query)

Forgetting vs deleting

archive_entity(kind, name) is recoverable: it moves the entity into the archived_entities table (stored plaintext at rest), out of the active set but still on disk. delete_entity(kind, name) is a permanent hard delete that removes the row outright. Use archive to declutter, delete to truly forget.

What's in v0.4.x

  • The full five-tier memory model and the API surface above.
  • Cross-tier FTS5 search across entities, state, reference, and journal tiers.
  • Multi-tenant isolation: one machine can hold separate memory for separate identities.
  • Self-learning module (paid-tier): the agent watches your patterns and proposes reusable skills.
  • Memory linter (paid-tier): a health check on the local database.
  • Tier gating: free-tier callers get clear errors pointing at the upgrade page; paid-tier callers get full access.
  • Uniform millisecond timestamp precision across all tiers (v0.4.3).

Tier model

Free tier is generous on purpose. You can build real things with it. Paid plans add self-learning, the linter, and remove the 5 MB local cap. Full plan comparison at docs.sibyllabs.org/memory/tiers.

Documentation

Full docs: docs.sibyllabs.org/memory/. Install guide: docs.sibyllabs.org/memory/install.

License

MIT. Published on PyPI at pypi.org/project/sibyl-memory-client.

Metadata

Release files for sibyl-memory-client 0.7.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 sibyl-memory-client 0.7.0
File Size Uploaded
sibyl_memory_client-0.7.0.tar.gz 180.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sibyl-memory-client 0.7.0
File Interpreter ABI Platform
sibyl_memory_client-0.7.0-py3-none-any.whl Python 3 none any Details

Total release size: 290.4 kB

Release files / sibyl_memory_client-0.7.0.tar.gz

Download URL sibyl_memory_client-0.7.0.tar.gz
Size 180.0 kB
Tags Source
SHA-256 checksum
How to use checksums
38eab39c5915df50a4c6dd2ebd76af82b8ec10d1f52ab9930bcebd0d2d4e9e16
BLAKE2b-256 checksum
How to use checksums
90df8f20ed4c9d3c8045cb6c5dc1cf062db3d9ed761ad0bd094d6097d0ee277e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / sibyl_memory_client-0.7.0-py3-none-any.whl

Download URL sibyl_memory_client-0.7.0-py3-none-any.whl
Size 110.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
de4c39569e9dfaeb62cf1be790992b7c8ea024a0c3df417da38659ff27b34a52
BLAKE2b-256 checksum
How to use checksums
557e2bb17f90ffd529026df5f0b1488ddece0b7695adf6dd2056d6f8706fa34e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release history Release notifications | RSS feed

0.8.1

2 release files

0.8.0

2 release files

This release

0.7.0 This release

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.0

1 release file

0.4.19

1 release file

0.4.18

1 release file

0.4.17

1 release file

0.4.15

1 release file

0.4.14

1 release file

0.4.13

2 release files

0.4.11

2 release files

0.4.10

1 release file

0.4.9

1 release file

0.4.8

1 release file

0.4.7

2 release files

0.4.6

2 release files

0.4.5

2 release files

0.4.4

2 release files

0.4.3

1 release file

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.0.1

2 release files

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