ReLLA — Reversible LLM Adapter
ReLLA is a lightweight, offline‑first, provider‑agnostic LLM adapter designed for developers who need reliability, reproducibility, and control over LLM execution.
It records every LLM call as a deterministic artifact in SQLite, enabling replay, caching, migration, and benchmarking across providers and frameworks — without rewriting application code.
ReLLA is intentionally minimal. It is infrastructure tooling, not a framework.
Core Capabilities
- Deterministic request hashing and artifact storage
- SQLite‑backed replay and cache layer
- Provider‑agnostic execution (local and cloud)
- Framework‑independent core engine
- Fully offline‑testable and reproducible
- Designed to run on low‑resource machines
Installation
Core Engine
pip install reversible-lla
This installs the ReLLA core only. No framework dependencies are included by default.
Optional Framework Bridges
Framework integrations are opt‑in and installed explicitly:
pip install reversible-lla[langchain]
pip install reversible-lla[llamaindex]
pip install reversible-lla[langchain,llamaindex]
The core engine remains unchanged regardless of framework usage.
Command Line Interface
The CLI provides a direct, human‑friendly interface to the ReLLA engine.
Execute and Record
rella run "hello world" --db rella.db
This executes the request and stores the result as an immutable artifact.
Replay from Cache
rella replay "hello world" --db rella.db
If a matching artifact exists, the stored output is returned without invoking any provider.
Artifact Storage
All executions are stored in a local SQLite database.
sqlite3 rella.db
.tables
SELECT * FROM artifacts;
Each artifact contains:
- Deterministic input hash
- Provider identifier
- Model identifier
- Output payload
LangChain Integration
ReLLA can be used as a drop‑in LLM within LangChain applications.
from rella.bridges.langchain import ReLLALLM
llm = ReLLALLM(provider="mock", db="rella.db")
print(llm.invoke("hello from langchain"))
Artifacts generated via LangChain are immediately available for replay via the CLI.
LlamaIndex Integration
ReLLA integrates with LlamaIndex by implementing the full LLM interface.
from rella.bridges.llamaindex import ReLLALLM
llm = ReLLALLM(provider="mock", db="rella.db")
response = llm.complete("hello from llamaindex")
print(response.text)
Execution and replay semantics remain identical across all entry points.
Design Principles
- Reproducibility over convenience
- Determinism over heuristics
- Minimal surface area
- Explicit dependency control
- Offline‑first execution
Non‑Goals
- Agent orchestration
- Prompt chaining frameworks
- Workflow automation
- Hosted services or dashboards
Release Status
v0.1.0 — Core engine and framework bridges are stable.
License
MIT
Metadata
Release files for reversible-lla 0.1.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 |
|---|---|---|---|---|
| reversible_lla-0.1.0.tar.gz | 8.9 kB | Without provenance | Details for reversible_lla-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| reversible_lla-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for reversible_lla-0.1.0-py3-none-any.whl |
Total release size: 18.1 kB
Release files / reversible_lla-0.1.0.tar.gz
| Download URL | reversible_lla-0.1.0.tar.gz |
|---|---|
| Size | 8.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a763d4006f07372c5a71ec9282549c73ab24b6a7f64d85d18fe2820bc232532c
|
|
BLAKE2b-256 checksum How to use checksums |
e88cf2275f9bbf947aab0b2aba50b9f49d182de62e380118aa9c7afca34a2452
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / reversible_lla-0.1.0-py3-none-any.whl
| Download URL | reversible_lla-0.1.0-py3-none-any.whl |
|---|---|
| Size | 9.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
22bb9542b8c358a6c62ec6627272214020dbc2d5d8d13a57cc3604c1c7853b6d
|
|
BLAKE2b-256 checksum How to use checksums |
c21b0ada4786117bc8f6055398a463770b3afc17e90a84ba0ba18f4ef6921ee2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Security for reversible-lla 0.1.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.