1{ lib
2, asgiref
3, buildPythonPackage
4, daphne
5, django
6, fetchFromGitHub
7, pytest-asyncio
8, pytest-django
9, pytestCheckHook
10, pythonOlder
11}:
12
13buildPythonPackage rec {
14 pname = "channels";
15 version = "4.0.0";
16 format = "setuptools";
17
18 disabled = pythonOlder "3.7";
19
20 src = fetchFromGitHub {
21 owner = "django";
22 repo = pname;
23 rev = version;
24 hash = "sha256-n88MxwYQ4O2kBy/W0Zvi3FtIlhZQQRCssB/lYrFNvps=";
25 };
26
27 propagatedBuildInputs = [
28 asgiref
29 django
30 ];
31
32 passthru.optional-dependencies = {
33 daphne = [
34 daphne
35 ];
36 };
37
38 checkInputs = [
39 pytest-asyncio
40 pytest-django
41 pytestCheckHook
42 ] ++ passthru.optional-dependencies.daphne;
43
44 pythonImportsCheck = [
45 "channels"
46 ];
47
48 meta = with lib; {
49 description = "Brings event-driven capabilities to Django with a channel system";
50 homepage = "https://github.com/django/channels";
51 license = licenses.bsd3;
52 maintainers = with maintainers; [ fab ];
53 };
54}