1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, flask
5, karton-core
6, mistune
7, networkx
8, prometheus-client
9, pythonOlder
10, pythonRelaxDepsHook
11}:
12
13buildPythonPackage rec {
14 pname = "karton-dashboard";
15 version = "1.5.0";
16 format = "setuptools";
17
18 disabled = pythonOlder "3.7";
19
20 src = fetchFromGitHub {
21 owner = "CERT-Polska";
22 repo = pname;
23 rev = "refs/tags/v${version}";
24 hash = "sha256-O7Wrl9+RWkHPO0+9aue1Nlv0263qX8Thnh5FmnoKjxU=";
25 };
26
27 pythonRelaxDeps = [
28 "Flask"
29 "mistune"
30 "networkx"
31 "prometheus-client"
32 ];
33
34 nativeBuildInputs = [
35 pythonRelaxDepsHook
36 ];
37
38 propagatedBuildInputs = [
39 flask
40 karton-core
41 mistune
42 networkx
43 prometheus-client
44 ];
45
46 # Project has no tests. pythonImportsCheck requires MinIO configuration
47 doCheck = false;
48
49 meta = with lib; {
50 description = "Web application that allows for Karton task and queue introspection";
51 homepage = "https://github.com/CERT-Polska/karton-dashboard";
52 changelog = "https://github.com/CERT-Polska/karton-dashboard/releases/tag/v${version}";
53 license = with licenses; [ bsd3 ];
54 maintainers = with maintainers; [ fab ];
55 };
56}