1{
2 lib,
3 aioredis,
4 asgiref,
5 buildPythonPackage,
6 channels,
7 cryptography,
8 fetchFromGitHub,
9 hiredis,
10 msgpack,
11 pythonOlder,
12 redis,
13}:
14
15buildPythonPackage rec {
16 pname = "channels-redis";
17 version = "4.1.0";
18 format = "setuptools";
19
20 disabled = pythonOlder "3.7";
21
22 src = fetchFromGitHub {
23 owner = "django";
24 repo = "channels_redis";
25 rev = "refs/tags/${version}";
26 hash = "sha256-Eid9aWlLNnqr3WAnsLe+Pz9gsugCsdDKi0+nFNF02CI=";
27 };
28
29 buildInputs = [
30 hiredis
31 redis
32 ];
33
34 propagatedBuildInputs = [
35 aioredis
36 asgiref
37 channels
38 msgpack
39 ];
40
41 passthru.optional-dependencies = {
42 cryptography = [ cryptography ];
43 };
44
45 # Fails with : ConnectionRefusedError: [Errno 111] Connect call failed ('127.0.0.1', 6379)
46 # (even with a local Redis instance running)
47 doCheck = false;
48
49 pythonImportsCheck = [ "channels_redis" ];
50
51 meta = with lib; {
52 description = "Redis-backed ASGI channel layer implementation";
53 homepage = "https://github.com/django/channels_redis/";
54 changelog = "https://github.com/django/channels_redis/blob/${version}/CHANGELOG.txt";
55 license = licenses.bsd3;
56 maintainers = with maintainers; [ mmai ];
57 };
58}