channels_redis
channels_redis copied to clipboard
More broad aioredis version requirement
aioredis
has already released an alpha and beta version, but it is 2.0.0
so it clashes with the install_requirements
here which requires aioredis~=1.0
.
Is it possible to have a new release which will let install aioredis
version 2?
Yes, good. Happy to relax this.
The aioredis
Version 2.0.0 announcement says
NOTE: This version is not compatible with earlier versions of aioredis. If you upgrade, you will need to make code changes.
So its likely that adding support for it will require code changes to channels_redis
other than simply relaxing the version.
@carltongibson do you think there are enough tests to be able to work backwards, upgrading to 2.0 and fixing tests?
As I see there might be the need to add some if branches when version 2 is available.
Can the tests and CI help smooth this adaptation of the code?
I am open to make a PR to address this.
Hey @WisdomPill -- I haven't looked into it yet, so I can't say. I'm very happy to see input laying out the way forward!
Is it necessary to support 1 and 2 at the same time, or can we bump the requirement to "aioredis~=2.0"
I think it's ok to require the newer version. We can bump our version number too to mark the change
Hi, maintainer of aioredis here. I'd advise having a relaxed requirement of both 1.3.1 and 2.0.0+ as many organizations aren't exactly satisfied with 2.0 as of now. I personally don't believe we are in a 100% stable position as of yet as aioredis 1.3.1 is far more performant than aredis and aioredis 2.0. Hoping to speed development back up though (accounting class is gonna kill me tho...)
You can track development here https://github.com/aio-libs/aioredis-py/issues/1225 Half the important issues have been resolved, but the performance PR to track is here: https://github.com/aio-libs/aioredis-py/pull/1216.
Cheers, Andrew
Hi @Andrew-Chen-Wang — thanks for the input. Starting to swing back to Channels now the new year is with us. Very happy to take guidance on your thoughts here — if you wanted to makes the PRs, even better 😄
Happy to review any PRs! Unfortunately, classes will overload me this semester, so my focus will only be on aioredis for now 😅
I will be pushing out aio-libs/aioredis-py#1156 soon for aioredis 2.1.0. There shouldn't be any breaking changes; just new commands added in by RedisLab in redis-py such as Retry and Backoff along with RedisJSON if any of those are necessary.
Ok, super. 👍
@carltongibson @WisdomPill heads up; I am migrating aioredis' code to the redis-py package itself supported by RedisLabs. For now, I'd keep the recommendation of maintaining aioredis at 1.3.1+. Additionally, the 2.0 aioredis code will be mostly the exact same as redis-py asyncio module.
Great! Thanks for the heads up!
+1 for airoredis 2.0 as it adds Redis Sentinel support: https://github.com/aio-libs/aioredis-py/issues/690
Resolved by #296.