1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitLab,
5 setuptools,
6 setuptools-scm,
7 celery,
8 flask,
9 humanize,
10 importlib-metadata,
11 pika,
12 psycopg,
13 tabulate,
14 swh-storage,
15 plotille,
16 postgresql,
17 postgresqlTestHook,
18 pytestCheckHook,
19 pytest-mock,
20 pytest-postgresql,
21 pytest-shared-session-scope,
22 pytest-xdist,
23 requests-mock,
24 simpy,
25 swh-journal,
26 types-python-dateutil,
27 types-pyyaml,
28 types-requests,
29}:
30
31buildPythonPackage rec {
32 pname = "swh-scheduler";
33 version = "3.1.0";
34 pyproject = true;
35
36 src = fetchFromGitLab {
37 domain = "gitlab.softwareheritage.org";
38 group = "swh";
39 owner = "devel";
40 repo = "swh-scheduler";
41 tag = "v${version}";
42 hash = "sha256-YpMHeZVHK8IPIiuBaPNR0D/yB9lIQ3DK7NEAiBmjWpA=";
43 };
44
45 build-system = [
46 setuptools
47 setuptools-scm
48 ];
49
50 dependencies = [
51 celery
52 flask
53 humanize
54 importlib-metadata
55 pika
56 psycopg
57 tabulate
58 swh-storage
59 ];
60
61 pythonImportsCheck = [ "swh.scheduler" ];
62
63 nativeCheckInputs = [
64 plotille
65 postgresql
66 postgresqlTestHook
67 pytestCheckHook
68 pytest-mock
69 pytest-postgresql
70 pytest-shared-session-scope
71 pytest-xdist
72 requests-mock
73 simpy
74 swh-journal
75 types-python-dateutil
76 types-pyyaml
77 types-requests
78 ];
79
80 disabledTests = [ "test_setup_log_handler_with_env_configuration" ];
81
82 meta = {
83 description = "Job scheduler for the Software Heritage project";
84 homepage = "https://gitlab.softwareheritage.org/swh/devel/swh-scheduler";
85 license = lib.licenses.gpl3Only;
86 maintainers = with lib.maintainers; [ ];
87 };
88}