diff --git a/pkgs/by-name/sw/swh/package.nix b/pkgs/by-name/sw/swh/package.nix index d17d5d6aee7c..96561b1c703b 100644 --- a/pkgs/by-name/sw/swh/package.nix +++ b/pkgs/by-name/sw/swh/package.nix @@ -6,6 +6,7 @@ python3Packages.swh-model python3Packages.swh-objstorage python3Packages.swh-scanner + python3Packages.swh-scheduler python3Packages.swh-storage python3Packages.swh-web-client ], diff --git a/pkgs/development/python-modules/swh-scheduler/default.nix b/pkgs/development/python-modules/swh-scheduler/default.nix new file mode 100644 index 000000000000..349383c72de4 --- /dev/null +++ b/pkgs/development/python-modules/swh-scheduler/default.nix @@ -0,0 +1,88 @@ +{ + lib, + buildPythonPackage, + fetchFromGitLab, + setuptools, + setuptools-scm, + celery, + flask, + humanize, + importlib-metadata, + pika, + psycopg, + tabulate, + swh-storage, + plotille, + postgresql, + postgresqlTestHook, + pytestCheckHook, + pytest-mock, + pytest-postgresql, + pytest-shared-session-scope, + pytest-xdist, + requests-mock, + simpy, + swh-journal, + types-python-dateutil, + types-pyyaml, + types-requests, +}: + +buildPythonPackage rec { + pname = "swh-scheduler"; + version = "3.1.0"; + pyproject = true; + + src = fetchFromGitLab { + domain = "gitlab.softwareheritage.org"; + group = "swh"; + owner = "devel"; + repo = "swh-scheduler"; + tag = "v${version}"; + hash = "sha256-YpMHeZVHK8IPIiuBaPNR0D/yB9lIQ3DK7NEAiBmjWpA="; + }; + + build-system = [ + setuptools + setuptools-scm + ]; + + dependencies = [ + celery + flask + humanize + importlib-metadata + pika + psycopg + tabulate + swh-storage + ]; + + pythonImportsCheck = [ "swh.scheduler" ]; + + nativeCheckInputs = [ + plotille + postgresql + postgresqlTestHook + pytestCheckHook + pytest-mock + pytest-postgresql + pytest-shared-session-scope + pytest-xdist + requests-mock + simpy + swh-journal + types-python-dateutil + types-pyyaml + types-requests + ]; + + disabledTests = [ "test_setup_log_handler_with_env_configuration" ]; + + meta = { + description = "Job scheduler for the Software Heritage project"; + homepage = "https://gitlab.softwareheritage.org/swh/devel/swh-scheduler"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ drupol ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 51bce94ab387..4fde03c3b1f0 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -16675,6 +16675,8 @@ self: super: with self; { swh-scanner = callPackage ../development/python-modules/swh-scanner { }; + swh-scheduler = callPackage ../development/python-modules/swh-scheduler { }; + swh-storage = callPackage ../development/python-modules/swh-storage { }; swh-web-client = callPackage ../development/python-modules/swh-web-client { };