-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
ResponseT type seems to be inconsistent with whatever types-redis provides #2933
Comments
just wanted to chime in here that I was using redis-py 5.0.1 and had mypy type issues with |
Adding in a related issue after enabling type checking in 5.0.1 is a ton (all?) functions are typing the parameters with str when they accept str or bytes. I always pass bytes as not every key or value I store is a valid str (e.g., compressed gzip) and I want consistency in the return types. Currently, my working around looks like this, for reference: my_info = await typing.cast(
Awaitable[List[Optional[bytes]]],
redis.hmget(
b"my_hash", # type: ignore
b"key1", # type: ignore
b"key2", # type: ignore
b"key3", # type: ignore
),
) |
Yep, I had to come back to 4.60 like lokucrazy. Version 5 gives me inconsistent typing errors. The Redis functions says they return |
I have also reverted back to using # types-redis (one of many kwarg-specific overloads)
def zrevrange(..., withscores: Literal[True], ...) -> list[tuple[_StrType, _ScoreCastFuncReturn]]: ...
# 5.x
def zrevrange(..., withscores: bool = False, ...) -> Union[Awaitable[Any], Any]: ...
|
Version:
5.0.0
Platform:
python 3.10.12
WSL/Ubuntu 20.04
Description:
Both mypy and pyright result in an error with the following code in
test.py
To reproduce:
pyenv shell 3.10.12 python -m venv venv . venv/bin/activate pip install -U pip pip install redis==5.0.0 mypy pyright
Result of
mypy test.py
Result of
pyright test.py
After
pip install types-redis
, both checks come up clean.Since
types-redis
indicates that it should be removed as of version 5.0.0 of this library, this inconsistency is backwards incompatible...from https://pypi.org/project/types-redis/
Issues #2174, #2399, #2897 may be related...
The text was updated successfully, but these errors were encountered: