django / channels_redis

Redis channel layer backend for Django Channels

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Redis dependency discrepancy

marksweb opened this issue · comments

I'm in the process of upgrading a project to django 4.2 and all things channels v4 and I've got web sockets failing so I'm going back to basics to verify the project setup.

Going over the readme I can see a requirement of Redis >= 5.0 (this version changed in 2020 here), but pip-tools was happy with me still using redis==4.5.1 so I dug a little deeper.

In the installation requirements for v4 and the actual requirement is at redis>=4.2.0 (see here).

I assume therefore that redis 4 is still ok to use, but this may confuse anyone going through this same process as me.

It means Redis itself not redis-py. It was updated when we used some commands introduced in Redis 5.

There is no redis-py 5.

I've got web sockets failing

If you can reduce these to something here, happy to take a look — It's not 100% clear yet that either redis-py's new async stuff is fully baked, or that we're wrapping it just right, so there could well be issues.

It means Redis itself not redis-py. It was updated when we used some commands introduced in Redis 5.

There is no redis-py 5.

Yes, confusion on my part with you mentioning "redis-py" because of the package py-redis and too many days looking at pypi & packages as part of this upgrade job also likely playing a part.

If you can reduce these to something here, happy to take a look — It's not 100% clear yet that either redis-py's new async stuff is fully baked, or that we're wrapping it just right, so there could well be issues.

At the moment I don't think there's a problem with this pacakge. I've noticed the asgi side of the project isn't using ProtocolTypeRouter from channels itself yet. So I'm going to continue to hunt down the issue moving through the v4 release notes on there.

Thanks @carltongibson!

Cheer Mark. Yes, likely I'm getting it backwards.
🤯

I'm going to have to invoke the You know what he means school. 😝