Thanks for your interest in contributing! sql-redis is an early-stage,
proof-of-concept SQL-to-Redis translator and we welcome bug reports, feature
ideas, and pull requests from the community.
- Open a GitHub issue describing the problem or idea.
- For bug reports, include:
- The SQL input that misbehaved.
- The translated Redis command (
SQLQuery.redis_query_string()output) or the actual results, plus what you expected. - The
sql-redisandredisversions you're running.
- For security-sensitive reports, follow SECURITY.md instead of opening a public issue.
sql-redis uses uv for dependency management
and hatchling as the build backend.
# Clone and install
git clone https://github.com/redis-developer/sql-redis.git
cd sql-redis
uv sync
# Common tasks (see the Makefile for the full list)
make format # black + isort
make lint # format + mypy
make test # pytest
make test-cov # pytest with coverage
make build # wheel + sdistTests use testcontainers to spin up an
ephemeral Redis instance, so a local Docker daemon is required to run the
full suite.
- Fork and create a branch off
main. - Make your change, including tests for any new behavior.
- Run
make lint testand confirm everything passes. - Open a pull request against
main. Apply one of theauto:labels to indicate the intended version bump (auto:major,auto:minor,auto:patch, orauto:skip-release). Maintainers addauto:releasewhen the change is ready to ship; the release workflow handles the version bump, tag, GitHub release, and PyPI publish automatically.
- Black and isort are enforced via
make formatand pre-commit hooks. - Type hints required on new public APIs;
mypyruns in CI. - Keep new modules focused and add tests in the corresponding
tests/test_*.py.