1{ lib
2, buildPythonPackage
3, celery
4, dash-core-components
5, dash-html-components
6, dash-table
7, diskcache
8, fetchFromGitHub
9, flask
10, flask-compress
11, mock
12, multiprocess
13, plotly
14, psutil
15, pytest-mock
16, pytestCheckHook
17, pythonOlder
18, pyyaml
19, redis
20}:
21
22buildPythonPackage rec {
23 pname = "dash";
24 version = "2.6.2";
25 format = "setuptools";
26
27 disabled = pythonOlder "3.6";
28
29 src = fetchFromGitHub {
30 owner = "plotly";
31 repo = pname;
32 rev = "refs/tags/v${version}";
33 hash = "sha256-d2p3ahOqBA4n8XhMR6juluEGNM5EyT+GQFlDcuHZMqs=";
34 };
35
36 propagatedBuildInputs = [
37 plotly
38 flask
39 flask-compress
40 dash-core-components
41 dash-html-components
42 dash-table
43 ];
44
45 passthru.optional-dependencies = {
46 celery = [
47 celery
48 redis
49 ];
50 diskcache = [
51 diskcache
52 multiprocess
53 psutil
54 ];
55 };
56
57 checkInputs = [
58 pytestCheckHook
59 pytest-mock
60 mock
61 pyyaml
62 ];
63
64 disabledTestPaths = [
65 "tests/unit/test_browser.py"
66 "tests/unit/test_app_runners.py" # Use selenium
67 "tests/integration"
68 ];
69
70 pythonImportsCheck = [
71 "dash"
72 ];
73
74 meta = with lib; {
75 description = "Python framework for building analytical web applications";
76 homepage = "https://dash.plot.ly/";
77 license = licenses.mit;
78 maintainers = with maintainers; [ antoinerg ];
79 };
80}