Django integration with litestream, a a standalone streaming replication tool for SQLite.
Project description
django-litestream
Django integration for Litestream, the SQLite replication tool. The Litestream binary is bundled in platform-specific wheels — no manual download needed. All upstream commands are available as python manage.py litestream <command>.
Note: This package tracks Litestream's upstream version. The initial release is 0.5.11, matching Litestream v0.5.11. Wrapper-only fixes (no Litestream update) use PEP 440 post-releases like
0.5.11.post1.
Installation
pip install django-litestream
Add to INSTALLED_APPS:
INSTALLED_APPS = [
"django_litestream",
]
The binary is installed automatically on supported platforms (Linux/macOS x86_64 & arm64). On unsupported platforms, set a custom path:
LITESTREAM = {
"bin_path": "/usr/local/bin/litestream",
}
Configuration
Configuration is generated dynamically from Django settings — no YAML file needed.
# settings.py
LITESTREAM = {
"path_prefix": "", # prepended to S3 replica paths
"bin_path": "...", # custom binary path (optional)
"dbs": [ # databases to replicate
{"path": "default"},
],
}
All Litestream config options are supported (addr, logging, mcp-addr, access-key-id, etc.).
Database aliases
Use Django database aliases instead of file paths wherever db_path is required:
python manage.py litestream restore default # instead of /path/to/db.sqlite3
python manage.py litestream sync default
Auto-generated replicas
If no replica is specified for a database, an S3 replica is auto-generated using environment variables:
LITESTREAM = {
"dbs": [{"path": "default"}],
}
# Uses: LITESTREAM_REPLICA_BUCKET, LITESTREAM_ACCESS_KEY_ID, LITESTREAM_SECRET_ACCESS_KEY
Explicit replica config:
LITESTREAM = {
"dbs": [
{
"path": "default",
"replica": {
"type": "s3",
"bucket": "my-bucket",
"path": "db.sqlite3",
},
},
],
}
Multiple databases with path_prefix
DATABASES = {
"default": {"ENGINE": "django.db.backends.sqlite3", "NAME": BASE_DIR / "db.sqlite3"},
"cache": {"ENGINE": "django.db.backends.sqlite3", "NAME": BASE_DIR / "cache.sqlite3"},
}
LITESTREAM = {
"path_prefix": "myproject",
"dbs": [
{"path": "default"}, # → myproject/db.sqlite3
{
"path": "cache",
"replica": {
"type": "s3",
"bucket": "my-cache-bucket",
"path": "cache.sqlite3",
},
},
],
}
Custom commands
These commands are unique to django-litestream — they don't exist in upstream Litestream.
litestream config
Display the generated configuration in YAML format.
python manage.py litestream config
Useful for verifying your setup before running replication.
litestream verify
Checks backup integrity end-to-end: writes a verification row, waits for replication, restores the latest backup, and confirms the row exists.
python manage.py litestream verify default
Upstream commands
All Litestream commands are exposed as management commands. Run python manage.py litestream to see the full list. Key notes:
replicate: Run in production via a process manager. Use-execto wrap your application server.restore: Supports-timestamp,-generation,-indexfor point-in-time recovery.- Daemon control (
info,list,register,unregister,start,stop): Communicate with a runningreplicatedaemon over IPC.
The only difference from upstream is that Django database aliases work anywhere db_path is expected.
VFS Read Replicas
Read-only access to cloud-stored replicas without downloading the entire database. Pages are fetched on-demand.
pip install django-litestream[vfs]
This installs both django-litestream and django-litestream-vfs (the VFS extension and Python integration).
Setup
# settings.py
from django_litestream_vfs import get_vfs_databases
LITESTREAM = {
"dbs": [{"path": "default"}],
"vfs": {
"prod_replica": "s3://mybucket/db.sqlite3",
},
}
DATABASES = {
"default": {
"ENGINE": "django.db.backends.sqlite3",
"NAME": BASE_DIR / "db.sqlite3",
},
**get_vfs_databases(), # adds VFS replicas
}
Usage
User.objects.using("prod_replica").all() # read-only, on-demand page fetch
VFS replicas are read-only. Only x86_64 and arm64 supported. Multiple storage backends supported (S3, GCS, Azure Blob).
License
MIT. The bundled Litestream binary uses the Apache 2.0 license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file django_litestream-0.5.11.post6.tar.gz.
File metadata
- Download URL: django_litestream-0.5.11.post6.tar.gz
- Upload date:
- Size: 10.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ce9009abdcd8ce5f4da2e4ec4c36cf72aa832894fb01be0d10cd8e27f1edb975
|
|
| MD5 |
0f2a6882fdd17ab4d9974e697105d64a
|
|
| BLAKE2b-256 |
42c2c81e8ed5e36226c21d0c0fa7c3aea4a97030add2cb7e6d1e23732e602c05
|
Provenance
The following attestation bundles were made for django_litestream-0.5.11.post6.tar.gz:
Publisher:
publish.yml on Tobi-De/django-litestream
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
django_litestream-0.5.11.post6.tar.gz -
Subject digest:
ce9009abdcd8ce5f4da2e4ec4c36cf72aa832894fb01be0d10cd8e27f1edb975 - Sigstore transparency entry: 1750761856
- Sigstore integration time:
-
Permalink:
Tobi-De/django-litestream@39ce21b707814974f133c56f0c867088ea12d561 -
Branch / Tag:
refs/tags/v0.5.11.post6 - Owner: https://github.com/Tobi-De
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@39ce21b707814974f133c56f0c867088ea12d561 -
Trigger Event:
push
-
Statement type:
File details
Details for the file django_litestream-0.5.11.post6-py3-none-manylinux2014_x86_64.musllinux_1_1_x86_64.whl.
File metadata
- Download URL: django_litestream-0.5.11.post6-py3-none-manylinux2014_x86_64.musllinux_1_1_x86_64.whl
- Upload date:
- Size: 37.7 MB
- Tags: Python 3, musllinux: musl 1.1+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4b17eb57ba4fe14c09e36f6822b340601aac4a1ebca0f9edb03026c2dc2a8b3f
|
|
| MD5 |
92f2b3ce0f7d5e56894377d810b6a706
|
|
| BLAKE2b-256 |
47a0bb810e0c62d0eb6c369da849b3ecd23abe3b5b26386513103e4a98e181be
|
Provenance
The following attestation bundles were made for django_litestream-0.5.11.post6-py3-none-manylinux2014_x86_64.musllinux_1_1_x86_64.whl:
Publisher:
publish.yml on Tobi-De/django-litestream
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
django_litestream-0.5.11.post6-py3-none-manylinux2014_x86_64.musllinux_1_1_x86_64.whl -
Subject digest:
4b17eb57ba4fe14c09e36f6822b340601aac4a1ebca0f9edb03026c2dc2a8b3f - Sigstore transparency entry: 1750762353
- Sigstore integration time:
-
Permalink:
Tobi-De/django-litestream@39ce21b707814974f133c56f0c867088ea12d561 -
Branch / Tag:
refs/tags/v0.5.11.post6 - Owner: https://github.com/Tobi-De
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@39ce21b707814974f133c56f0c867088ea12d561 -
Trigger Event:
push
-
Statement type:
File details
Details for the file django_litestream-0.5.11.post6-py3-none-manylinux2014_aarch64.musllinux_1_1_aarch64.whl.
File metadata
- Download URL: django_litestream-0.5.11.post6-py3-none-manylinux2014_aarch64.musllinux_1_1_aarch64.whl
- Upload date:
- Size: 34.9 MB
- Tags: Python 3, musllinux: musl 1.1+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6cb8ec9d8ead92e00a1d88df225775eb301449b73a2bf285f58602b2761983dc
|
|
| MD5 |
8662d2a55f252bc822c563070e0ad759
|
|
| BLAKE2b-256 |
c81af421b1bd3461062881ec1bae1b3d91d43d70f5dc25ef5ea0137bebf878e4
|
Provenance
The following attestation bundles were made for django_litestream-0.5.11.post6-py3-none-manylinux2014_aarch64.musllinux_1_1_aarch64.whl:
Publisher:
publish.yml on Tobi-De/django-litestream
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
django_litestream-0.5.11.post6-py3-none-manylinux2014_aarch64.musllinux_1_1_aarch64.whl -
Subject digest:
6cb8ec9d8ead92e00a1d88df225775eb301449b73a2bf285f58602b2761983dc - Sigstore transparency entry: 1750762116
- Sigstore integration time:
-
Permalink:
Tobi-De/django-litestream@39ce21b707814974f133c56f0c867088ea12d561 -
Branch / Tag:
refs/tags/v0.5.11.post6 - Owner: https://github.com/Tobi-De
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@39ce21b707814974f133c56f0c867088ea12d561 -
Trigger Event:
push
-
Statement type:
File details
Details for the file django_litestream-0.5.11.post6-py3-none-macosx_11_0_arm64.whl.
File metadata
- Download URL: django_litestream-0.5.11.post6-py3-none-macosx_11_0_arm64.whl
- Upload date:
- Size: 36.2 MB
- Tags: Python 3, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3383acadffa3911fb10777dcb4b2094ce28ca8a2be06d6825eadd133e8c288a0
|
|
| MD5 |
f666fcd7eb7cf77531d2c780547983d4
|
|
| BLAKE2b-256 |
873a69e17f124ba1e3202342ab252dc1c809caae4e422ff148c8e1a473b6c395
|
Provenance
The following attestation bundles were made for django_litestream-0.5.11.post6-py3-none-macosx_11_0_arm64.whl:
Publisher:
publish.yml on Tobi-De/django-litestream
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
django_litestream-0.5.11.post6-py3-none-macosx_11_0_arm64.whl -
Subject digest:
3383acadffa3911fb10777dcb4b2094ce28ca8a2be06d6825eadd133e8c288a0 - Sigstore transparency entry: 1750762676
- Sigstore integration time:
-
Permalink:
Tobi-De/django-litestream@39ce21b707814974f133c56f0c867088ea12d561 -
Branch / Tag:
refs/tags/v0.5.11.post6 - Owner: https://github.com/Tobi-De
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@39ce21b707814974f133c56f0c867088ea12d561 -
Trigger Event:
push
-
Statement type:
File details
Details for the file django_litestream-0.5.11.post6-py3-none-macosx_10_9_x86_64.whl.
File metadata
- Download URL: django_litestream-0.5.11.post6-py3-none-macosx_10_9_x86_64.whl
- Upload date:
- Size: 38.8 MB
- Tags: Python 3, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
736753994f636d9bec8a561764a681e6c9d2cd9cab6c22851626a52ae111847f
|
|
| MD5 |
d62fd39f4aa2788e6bdf663a84c2aa3b
|
|
| BLAKE2b-256 |
8711630de0de202079526cafff7554cb89c4c9ae277835a1982473953845fdda
|
Provenance
The following attestation bundles were made for django_litestream-0.5.11.post6-py3-none-macosx_10_9_x86_64.whl:
Publisher:
publish.yml on Tobi-De/django-litestream
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
django_litestream-0.5.11.post6-py3-none-macosx_10_9_x86_64.whl -
Subject digest:
736753994f636d9bec8a561764a681e6c9d2cd9cab6c22851626a52ae111847f - Sigstore transparency entry: 1750762027
- Sigstore integration time:
-
Permalink:
Tobi-De/django-litestream@39ce21b707814974f133c56f0c867088ea12d561 -
Branch / Tag:
refs/tags/v0.5.11.post6 - Owner: https://github.com/Tobi-De
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@39ce21b707814974f133c56f0c867088ea12d561 -
Trigger Event:
push
-
Statement type:
File details
Details for the file django_litestream-0.5.11.post6-py3-none-any.whl.
File metadata
- Download URL: django_litestream-0.5.11.post6-py3-none-any.whl
- Upload date:
- Size: 10.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c6acc048ccec7c476a15e0b986141cf48fbee3c36ff1e31b78b69a998f0a577e
|
|
| MD5 |
fa957f0ef004f0fb868159986cc3ab62
|
|
| BLAKE2b-256 |
f41d03ea227018e6e59de513acc287788ef8b432d2fbfc6a3755cfe83d761e49
|
Provenance
The following attestation bundles were made for django_litestream-0.5.11.post6-py3-none-any.whl:
Publisher:
publish.yml on Tobi-De/django-litestream
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
django_litestream-0.5.11.post6-py3-none-any.whl -
Subject digest:
c6acc048ccec7c476a15e0b986141cf48fbee3c36ff1e31b78b69a998f0a577e - Sigstore transparency entry: 1750762265
- Sigstore integration time:
-
Permalink:
Tobi-De/django-litestream@39ce21b707814974f133c56f0c867088ea12d561 -
Branch / Tag:
refs/tags/v0.5.11.post6 - Owner: https://github.com/Tobi-De
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@39ce21b707814974f133c56f0c867088ea12d561 -
Trigger Event:
push
-
Statement type: