Skip to main content

single-threaded redis (subset) in async python3

Project description

blues

redis subset in python3

0 AI. Check out "Build Your Own Redis" Challenge to do something similar!

Motivation

  1. get some additional practice with async programming in python3
  2. get better with pytest-asyncio and hypothesis
  3. (some) learning on data structures and redis internals

What's done

  1. Blues Stanza Protocol (RESP2 compatible)
  2. Blues Server (async), (strings, lists, streams) TODO: list implemented commands
  3. Blues Client (async)
  4. Blues CLI Client (async), mostly for manual testing, but pretty functional
  5. Transactions
  6. Optimistic Locking
  7. Replication

What's coming

  1. Persistence
  2. More if I can finish the above before the free challenge changes

Dependencies

  1. Typer - amazing library for Python CLIs

Dev Tools

  1. uv
  2. pytest
  3. hypothesis
  4. Zed

Attribution and Thanks

  1. "Build Your Own Redis" Challenge
  2. StringTrie implementation
  3. Typer

License

Apache 2.0

Author

© Chaitanya Mittal, 2026

Notice

Reach out if I have missed out an attribution or something needs to be removed! No harm intended.

Project details


Download files

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

Source Distribution

blues-0.1.2.tar.gz (43.3 kB view details)

Uploaded Source

Built Distribution

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

blues-0.1.2-py3-none-any.whl (38.4 kB view details)

Uploaded Python 3

File details

Details for the file blues-0.1.2.tar.gz.

File metadata

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

File hashes

Hashes for blues-0.1.2.tar.gz
Algorithm Hash digest
SHA256 60b0b288ad41351b9c7975de9d49acceeb23255ce432fd864580722d341ecd61
MD5 cbff282e1d3e72d8ad22fc88eb807d53
BLAKE2b-256 60171fe9754e64345c6fc513caecb669ad3c736945b63913b307e96e9bb5b45f

See more details on using hashes here.

Provenance

The following attestation bundles were made for blues-0.1.2.tar.gz:

Publisher: python-publish.yml on chtnnh/blues

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

File details

Details for the file blues-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: blues-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 38.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for blues-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d2aa0c4b73152771a46380a1991ffca004d7ed5a05261e93c1f1372e50e3c9a3
MD5 0fafcada78db90de3e778f9c0d722b01
BLAKE2b-256 9469b1e4fe70724ad67ef6e0fff5f5d8fe9843a80f53884fd8a4474a41490449

See more details on using hashes here.

Provenance

The following attestation bundles were made for blues-0.1.2-py3-none-any.whl:

Publisher: python-publish.yml on chtnnh/blues

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

Supported by

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