1{
2 lib,
3 buildPythonPackage,
4 celery,
5 fetchFromGitHub,
6 funcy,
7 kombu,
8 pytest-celery,
9 pytest-mock,
10 pytest-test-utils,
11 pytestCheckHook,
12 pythonOlder,
13 setuptools-scm,
14 shortuuid,
15}:
16
17buildPythonPackage rec {
18 pname = "dvc-task";
19 version = "0.40.2";
20 pyproject = true;
21
22 disabled = pythonOlder "3.8";
23
24 src = fetchFromGitHub {
25 owner = "iterative";
26 repo = "dvc-task";
27 tag = version;
28 hash = "sha256-bRQJLncxCigYPEtlvKjUtKqhcBkB7erEtoJQ30yGamE=";
29 };
30
31 build-system = [ setuptools-scm ];
32
33 dependencies = [
34 celery
35 funcy
36 kombu
37 shortuuid
38 ];
39
40 nativeCheckInputs = [
41 pytest-celery
42 pytest-mock
43 pytest-test-utils
44 pytestCheckHook
45 ];
46
47 pythonImportsCheck = [ "dvc_task" ];
48
49 disabledTests = [
50 # Test is flaky
51 "test_start_already_exists"
52 # Tests require a Docker setup
53 "celery_setup_worker"
54 ];
55
56 meta = with lib; {
57 description = "Celery task queue used in DVC";
58 homepage = "https://github.com/iterative/dvc-task";
59 changelog = "https://github.com/iterative/dvc-task/releases/tag/${version}";
60 license = licenses.asl20;
61 maintainers = with maintainers; [ fab ];
62 };
63}