Backends¶
remote-store uses a pluggable backend system. Each backend implements the
Backend abstract class and declares its capabilities. Pick a backend based
on where your files live, install the optional extra, and everything else
stays the same — the Store API is identical across all backends.
Supported Backends¶
| Backend | Status | Install |
|---|---|---|
| Local filesystem | Built-in | pip install remote-store |
| Memory | Built-in | pip install remote-store |
| HTTP/HTTPS (read-only) | Built-in | pip install remote-store |
| Amazon S3 / MinIO | Built-in | pip install "remote-store[s3]" |
| S3 (PyArrow) | Built-in | pip install "remote-store[s3-pyarrow]" |
| SFTP / SSH | Built-in | pip install "remote-store[sftp]" |
| Azure Blob / ADLS | Built-in | pip install "remote-store[azure]" |
| SQL Blob (SQLite, PostgreSQL, ...) | Built-in | pip install "remote-store[sql]" |
| SQL Query (read-only) | Built-in | pip install "remote-store[sql-query]" |
Custom Backends¶
You can register your own backend using register_backend:
from remote_store import register_backend, Backend
class MyBackend(Backend):
...
register_backend("my-backend", MyBackend)
See the Backend API reference for the full interface to implement, and the Build Your Own Backend guide for a step-by-step walkthrough.
See also¶
- Choosing a Backend — decision guide with trade-offs
- Capabilities Matrix — full backend x capability table