-
Notifications
You must be signed in to change notification settings - Fork 0
Drop hard dependency on redis-py; test on Valkey too #42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #42 +/- ##
==========================================
+ Coverage 90.58% 92.00% +1.41%
==========================================
Files 27 27
Lines 1041 1050 +9
Branches 80 80
==========================================
+ Hits 943 966 +23
+ Misses 65 53 -12
+ Partials 33 31 -2 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
5c2d7b2
to
e1efc37
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR removes the hard dependency on redis-py by making it an optional dependency, while adding support for Valkey as an alternative Redis-compatible client. The changes enable users to choose between redis-py or valkey-py clients.
Key changes:
- Converts redis dependency from required to optional with separate
[redis]
and[valkey]
extras - Introduces generic
RedisClient
type alias to support both client libraries - Updates CLI to auto-detect and prefer Valkey client when available
- Adds comprehensive test coverage for both Redis and Valkey client/server combinations
Reviewed Changes
Copilot reviewed 19 out of 19 changed files in this pull request and generated no comments.
Show a summary per file
File | Description |
---|---|
pyproject.toml | Moves redis dependency to optional extras, adds valkey option |
minique/types.py | Defines RedisClient type alias for client abstraction |
minique/cli.py | Implements client auto-detection logic with Valkey preference |
minique_tests/conftest.py | Updates test fixture to use new client detection |
minique/work/job_runner.py | Replaces isinstance check with duck typing |
.github/workflows/ci.yml | Adds matrix testing for Redis/Valkey client/server combinations |
README.md | Updates documentation to reflect Redis/Valkey support |
Various test files | Updates type annotations from Redis to RedisClient |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
valkey support, yay
Stacked on top of #41.