Skip to main content

burner-redis

Experimental: This library is under active development and not yet ready for production use. APIs may change without notice.

An embedded, in-process Redis-compatible database written in Rust with Python bindings. Drop-in replacement for redis.asyncio.Redis that runs inside the host process with no external server needed.

Built to back docket and self-hosted Prefect servers without requiring a separate Redis deployment.

Installation

pip install burner-redis

Requires Python 3.10+. Pre-built wheels available for Linux (x86_64, aarch64), macOS (x86_64, arm64), and Windows (x86_64, arm64).

Quick start

from burner_redis import BurnerRedis

db = BurnerRedis()

# Use like redis.asyncio.Redis
await db.set("key", "value")
value = await db.get("key")

# Persistence across restarts
db = BurnerRedis(persistence_path="data.dat")
await db.set("key", "value")
# Data is saved on process exit and reloaded on next start

Supported commands

Strings

SET (with NX/EX/PX), GET, MGET, DELETE, EXISTS, KEYS, TTL, EXPIRE

Hashes

HSET, HGET, HDEL, HGETALL, HVALS, HEXISTS, HINCRBY

Sets

SADD, SMEMBERS, SISMEMBER, SREM

Sorted sets

ZADD, ZREM, ZRANGE (with WITHSCORES), ZRANGEBYSCORE (with WITHSCORES/LIMIT), ZRANGESTORE, ZREMRANGEBYSCORE, ZCARD, ZSCORE, ZCOUNT

Streams

XADD, XREAD, XLEN, XRANGE, XDEL, XTRIM, XGROUP CREATE, XGROUP DESTROY, XREADGROUP, XACK, XAUTOCLAIM, XCLAIM, XINFO GROUPS, XINFO CONSUMERS, XPENDING, XPENDING RANGE

Pub/Sub

PUBLISH, SUBSCRIBE, UNSUBSCRIBE, PSUBSCRIBE, PUNSUBSCRIBE, PUBSUB CHANNELS, PUBSUB NUMSUB, PUBSUB NUMPAT

Scripting

EVAL, EVALSHA, SCRIPT LOAD, SCRIPT EXISTS

Python-layer features

  • Pipeline — buffer commands and execute in batch, matching redis.asyncio.Redis.pipeline() semantics
  • Lock — distributed-style locking with atomic Lua-based release, matching redis.asyncio.Redis.lock() semantics
  • PubSub — async message listener with channel and pattern subscriptions
  • Script — register and call Lua scripts, matching redis.asyncio.Redis.register_script()

Persistence

Pass persistence_path to save state to disk on shutdown and restore on startup:

db = BurnerRedis(persistence_path="burner-redis.dat")
  • Crash-safe writes (atomic temp file + rename)
  • Expired keys excluded from snapshots
  • Manual save available via await db.save() or await db.save(path="custom.dat")
  • MessagePack binary format

redis-py compatibility

burner-redis implements a subset of the redis.asyncio.Redis interface — enough to back docket and common Prefect server workflows, but not the full redis-py API. Commands not yet implemented will raise NotImplementedError.

When the redis package is installed, exceptions subclass redis.exceptions.ResponseError and redis.exceptions.NoScriptError so existing error handling works unchanged.

Development

# Prerequisites: Rust 1.85+, Python 3.10+, uv

# Development build
uv run maturin develop

# Run tests
uv run pytest

# Run Rust tests
cargo test

Packaging notes

Wheel builds use a vendored Lua 5.4 by default so pip install burner-redis does not require a system Lua.

Packaging systems that already provide Lua can opt out of vendoring and link against that copy instead:

maturin build --release --no-default-features

If auto-detection is not available, point Cargo at the packaged Lua library explicitly:

LUA_LIB_NAME=lua
LUA_LIB=/path/to/lib

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

burner_redis-0.1.7.tar.gz (638.6 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

burner_redis-0.1.7-cp310-abi3-win_arm64.whl (1.0 MB view details)

Uploaded CPython 3.10+Windows ARM64

burner_redis-0.1.7-cp310-abi3-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.10+Windows x86-64

burner_redis-0.1.7-cp310-abi3-musllinux_1_2_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ x86-64

burner_redis-0.1.7-cp310-abi3-musllinux_1_2_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARM64

burner_redis-0.1.7-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ x86-64

burner_redis-0.1.7-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

burner_redis-0.1.7-cp310-abi3-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

burner_redis-0.1.7-cp310-abi3-macosx_10_12_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

Details for the file burner_redis-0.1.7.tar.gz.

File metadata

  • Download URL: burner_redis-0.1.7.tar.gz
  • Upload date:
  • Size: 638.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for burner_redis-0.1.7.tar.gz
Algorithm Hash digest
SHA256 7474ff092669fd11ef765411572cdafcc3d89b8054aef4ca0617be6d6be4c680
MD5 3bdd3f0fe1c1815c8fb652f4e23f233f
BLAKE2b-256 528954706febafc135095b2a9d797cfbd4eed2ab1ad7819808b99b587020471b

See more details on using hashes here.

Provenance

The following attestation bundles were made for burner_redis-0.1.7.tar.gz:

Publisher: release.yml on prefectlabs/burner-redis

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file burner_redis-0.1.7-cp310-abi3-win_arm64.whl.

File metadata

File hashes

Hashes for burner_redis-0.1.7-cp310-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 458f88feeddfb40a586cc3fcbd8e9384bbdfd2a4512a695af4900e06052570d4
MD5 1e86598387439a1b7734c22e195736c5
BLAKE2b-256 766fe9beaf46c5e9fd10dfcdb889ebf7d3aa85142c650c0ab17ab284194f58e1

See more details on using hashes here.

Provenance

The following attestation bundles were made for burner_redis-0.1.7-cp310-abi3-win_arm64.whl:

Publisher: release.yml on prefectlabs/burner-redis

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file burner_redis-0.1.7-cp310-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for burner_redis-0.1.7-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 f6cf4ac666766b32fd63940aad0c120847905fd3102c17e5b6b305f91a21d079
MD5 1eec003a0cabbec29cf5f98140575c38
BLAKE2b-256 f530207f47f406619a5b564355d2946c3171f84231a28b800709b5645b06a5ae

See more details on using hashes here.

Provenance

The following attestation bundles were made for burner_redis-0.1.7-cp310-abi3-win_amd64.whl:

Publisher: release.yml on prefectlabs/burner-redis

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file burner_redis-0.1.7-cp310-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for burner_redis-0.1.7-cp310-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 591a9d20685f9d6d22bf0c863b50b12dfcf328b06111b3f62c33cd3185d48ce0
MD5 d1add4b4eeaea2eb4c096a3f80bd5a17
BLAKE2b-256 5cb919bae42cb124932d71168bc8e5bcb1da33aa62b908e5e632b3d298d7cb15

See more details on using hashes here.

Provenance

The following attestation bundles were made for burner_redis-0.1.7-cp310-abi3-musllinux_1_2_x86_64.whl:

Publisher: release.yml on prefectlabs/burner-redis

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file burner_redis-0.1.7-cp310-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for burner_redis-0.1.7-cp310-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9b5adfe99aeb8407f468078f3769b2a63e9168fea12f7709df5d2a3b152706e4
MD5 7e903581b29776e680f8a3ef739d64b2
BLAKE2b-256 34ad93c3916f053f89b7b5760da5bf855cd78b7885d480f9cfcc64f3732c1dc2

See more details on using hashes here.

Provenance

The following attestation bundles were made for burner_redis-0.1.7-cp310-abi3-musllinux_1_2_aarch64.whl:

Publisher: release.yml on prefectlabs/burner-redis

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file burner_redis-0.1.7-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for burner_redis-0.1.7-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 39111467059b8a28f15ea061d2414ec25c3e57c65759983f90f4d358e7d6a72d
MD5 96f1c266f9c34b85795d3426f6e63017
BLAKE2b-256 e13295cfa1833316ca2b6b2e58150a4900bc1ad256043cdd36198f1887618ccc

See more details on using hashes here.

Provenance

The following attestation bundles were made for burner_redis-0.1.7-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on prefectlabs/burner-redis

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file burner_redis-0.1.7-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for burner_redis-0.1.7-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 20eba1917e3bca9eea5957d5700ff8defcb5a209e57a7841d005549aa0151f44
MD5 d5867137f558a32d337bd7a457926bf1
BLAKE2b-256 6fc031c25cc88143eac2dddcc394151a0db627923d44c94376a83768552c9f13

See more details on using hashes here.

Provenance

The following attestation bundles were made for burner_redis-0.1.7-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on prefectlabs/burner-redis

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file burner_redis-0.1.7-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for burner_redis-0.1.7-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a3d9569a376b690fb5876d454e4904443332dc3ad5c0057e149fc2ad220bf599
MD5 51a4e62898eba3e7900efa826af68c45
BLAKE2b-256 2f4ece5c91b884ac37fcd380756402536f8810964014097950900517ce8bd30c

See more details on using hashes here.

Provenance

The following attestation bundles were made for burner_redis-0.1.7-cp310-abi3-macosx_11_0_arm64.whl:

Publisher: release.yml on prefectlabs/burner-redis

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file burner_redis-0.1.7-cp310-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for burner_redis-0.1.7-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f80c866996e0455d584eb3c0f3b067e411c632fb0519eab454e0968edf01e62c
MD5 2d0398120fbca599eaacb9852967a0ef
BLAKE2b-256 6c5d198bd1d22e504b3034353430703afbdb3efe6e25cb90bf52d896e1d266a7

See more details on using hashes here.

Provenance

The following attestation bundles were made for burner_redis-0.1.7-cp310-abi3-macosx_10_12_x86_64.whl:

Publisher: release.yml on prefectlabs/burner-redis

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.1.7 This release

9 files

0.1.6

9 files

0.1.5

9 files

0.1.4

9 files

0.1.3

5 files

0.1.2

5 files

0.1.1

5 files

0.1.0

5 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page