channels_redis icon indicating copy to clipboard operation
channels_redis copied to clipboard

More broad aioredis version requirement

Open WisdomPill opened this issue 3 years ago • 13 comments

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?

WisdomPill avatar Jul 18 '21 12:07 WisdomPill

Yes, good. Happy to relax this.

carltongibson avatar Jul 18 '21 18:07 carltongibson

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.

LincolnPuzey avatar Aug 16 '21 03:08 LincolnPuzey

@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.

WisdomPill avatar Aug 16 '21 14:08 WisdomPill

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!

carltongibson avatar Aug 16 '21 15:08 carltongibson

Is it necessary to support 1 and 2 at the same time, or can we bump the requirement to "aioredis~=2.0"

LincolnPuzey avatar Aug 17 '21 01:08 LincolnPuzey

I think it's ok to require the newer version. We can bump our version number too to mark the change

carltongibson avatar Aug 17 '21 04:08 carltongibson

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

Andrew-Chen-Wang avatar Dec 31 '21 06:12 Andrew-Chen-Wang

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 😄

carltongibson avatar Jan 03 '22 17:01 carltongibson

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.

Andrew-Chen-Wang avatar Jan 03 '22 19:01 Andrew-Chen-Wang

Ok, super. 👍

carltongibson avatar Jan 03 '22 19:01 carltongibson

@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.

Andrew-Chen-Wang avatar Jan 28 '22 05:01 Andrew-Chen-Wang

Great! Thanks for the heads up!

WisdomPill avatar Jan 28 '22 06:01 WisdomPill

+1 for airoredis 2.0 as it adds Redis Sentinel support: https://github.com/aio-libs/aioredis-py/issues/690

K-MTG avatar Feb 18 '22 00:02 K-MTG

Resolved by #296.

carltongibson avatar Sep 08 '22 18:09 carltongibson