Hi,
I look at django-websockets-redis really quickly. If you decide to use Redis ASGI layer it may look familiar.
Main differences I notice so far:
- ws4redis doesn't have concept of consumers and routing
- it's coupled to the subset of WebSocket usage
- it's propagate redis to the library api
On another hand Django Channels
- can be used with different channels layers (redis, rabbitmq, ipc, inmemory)
- have clean api based on consumers and routing
- can handle more than just websockets. HTTP2 and HTTP1.1 are supported. Chat protocols like slack or irc are possible.
- you can trigger consumers from other consumers, without talking to websocket.