lunaris-integrations
Memory adapters that drop Lunaris into your existing agent framework. One thin, transport-agnostic layer — pick a transport once, reuse it across every adapter.
pip install -e "path/to/lunaris/integrations[langgraph]" # or [crewai] / [letta]
lunaris-integrations is not on PyPI yet. integrations-publish.yml
builds and uploads it on a v* tag, so from the next release on the line is:
pip install "lunaris-integrations[langgraph]"
Until that tag lands, install from a checkout with the -e form above — the
one the examples and CI both use, so it is the path that is
actually exercised.
Why a separate package
lunaris_integrations is a pure-Python package, separate from the native
lunaris core wheel. Importing the client + scope layer never loads the
compiled cdylib, and the framework deps (langgraph / crewai / letta) are
optional extras — never hard dependencies of Lunaris core.
The shared client
Every adapter is built over one LunarisClient, scope-bound at construction:
| Transport | Use when |
|---|---|
HttpLunarisClient |
You run lunaris-server; talks the MemoryProtocol HTTP verbs. |
SdkLunarisClient |
You embed the in-process lunaris wheel (pip install lunaris). |
StubLunarisClient |
Tests — records calls, returns canned hits (no backend). |
The HTTP transport binds scope to the JWT server-side; the partition scope
never travels on the wire. Namespaces map to scopes through the Lunaris
alphabet ([A-Za-z0-9_\-.]{1,128}, : rejected) so no key can byte-alias
another scope's partition.
Adapters
| Framework | Class | Maps |
|---|---|---|
| LangGraph | langgraph.LunarisStore |
aput/aget/asearch → ingest/recall |
| CrewAI | crewai.LunarisCrewAIStorage |
save/search/reset → ingest/recall/forget |
| Letta | letta.LunarisArchivalConnector |
insert/search → ingest/recall (connector shim + recipe) |
Letta ships as a client-backed connector shim + a recipe: its archival store is server-side, so there is no clean drop-in base to subclass yet. The insert/search mapping is identical to the other adapters.
Examples
Runnable per-framework examples live in ../examples/:
langgraph-lunaris/, crewai-lunaris/, letta-lunaris/.
Tests
pip install -e ".[langgraph,crewai,letta,test]" # from integrations/
pytest tests/
The unit layer runs against StubLunarisClient — no backend, model, or wheel.
Live HTTP/SDK + a real framework end-to-end is exercised by the examples.
Metadata
Release files for lunaris-integrations 0.8.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| lunaris_integrations-0.8.0.tar.gz | 15.5 kB | Without provenance | Details for lunaris_integrations-0.8.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| lunaris_integrations-0.8.0-py3-none-any.whl | Python 3 | none | any | Details for lunaris_integrations-0.8.0-py3-none-any.whl |
Total release size: 28.0 kB
Release files / lunaris_integrations-0.8.0.tar.gz
| Download URL | lunaris_integrations-0.8.0.tar.gz |
|---|---|
| Size | 15.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
595fff27937b6bfb39ade90cb09c528f99caf2519469e9e1366cbb997f3e4c42
|
|
BLAKE2b-256 checksum How to use checksums |
37b90b67a20f225892b677ced5be571c1f2e321169eb3c690a49cae8accf9315
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.16
|
Release files / lunaris_integrations-0.8.0-py3-none-any.whl
| Download URL | lunaris_integrations-0.8.0-py3-none-any.whl |
|---|---|
| Size | 12.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7bc9a35699e0ce00010d4e462bfd12ecec6e307d5d4f39f9236b9f52ca5ea40e
|
|
BLAKE2b-256 checksum How to use checksums |
4bbf313820a4763bb9083b3662e8b253cba7e889d984715d944a266432273aab
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.16
|
Security for lunaris-integrations 0.8.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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
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.
To learn more about protecting yourself from malicious actors, visit our package security documentation.