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