Skip to content

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