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.1.tar.gz (43.2 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.1-py3-none-any.whl (38.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: blues-0.1.1.tar.gz
  • Upload date:
  • Size: 43.2 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.1.tar.gz
Algorithm Hash digest
SHA256 5fcccabf29f915e83c41fb82c384795e6f1337aa3b246400d17d92a6418a420c
MD5 eea62f8b64c0a3bd2d6c2fe76a4af731
BLAKE2b-256 5d4ba546063932839549528dfa98395004858ec9b10842e8059b9b31bb1c1f28

See more details on using hashes here.

Provenance

The following attestation bundles were made for blues-0.1.1.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.1-py3-none-any.whl.

File metadata

  • Download URL: blues-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 38.3 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e1fced1c77eaa6c4ea3d583971de8009afa228ac15bd768a9f361694f1a9212f
MD5 d8550ca20144d5d5382625786a64e106
BLAKE2b-256 470ad6ea16f234e94ba78848d3dca02b90b367c25d104f419a97c5e793a4bfd0

See more details on using hashes here.

Provenance

The following attestation bundles were made for blues-0.1.1-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