1{
2 stdenv,
3 lib,
4 buildPythonPackage,
5 cryptography,
6 dask,
7 distributed,
8 docrep,
9 fetchPypi,
10 pytest-asyncio,
11 pytestCheckHook,
12 pythonAtLeast,
13 pythonOlder,
14}:
15
16buildPythonPackage rec {
17 pname = "dask-jobqueue";
18 version = "0.8.5";
19 format = "setuptools";
20
21 # Python 3.12 support should be added in 0.8.6
22 disabled = pythonOlder "3.8" || pythonAtLeast "3.12";
23
24 src = fetchPypi {
25 inherit pname version;
26 hash = "sha256-9pI/nX/4lLlu+/cGEYss03/Td1HVZ+kcIt/T4uqpMgI=";
27 };
28
29 propagatedBuildInputs = [
30 dask
31 distributed
32 docrep
33 ];
34
35 nativeCheckInputs = [
36 cryptography
37 pytest-asyncio
38 pytestCheckHook
39 ];
40
41 disabledTests = [
42 # Tests have additional requirements (e.g., sge, etc.)
43 "test_adapt_parameters"
44 "test_adapt"
45 "test_adaptive_cores_mem"
46 "test_adaptive_grouped"
47 "test_adaptive"
48 "test_basic"
49 "test_basic_scale_edge_cases"
50 "test_cluster_error_scheduler_arguments_should_use_scheduler_options"
51 "test_cluster_has_cores_and_memory"
52 "test_cluster"
53 "test_command_template"
54 "test_complex_cancel_command"
55 "test_config"
56 "test_dashboard_link"
57 "test_default_number_of_worker_processes"
58 "test_deprecation_env_extra"
59 "test_deprecation_extra"
60 "test_deprecation_job_extra"
61 "test_different_interfaces_on_scheduler_and_workers"
62 "test_docstring_cluster"
63 "test_extra_args_broken_cancel"
64 "test_forward_ip"
65 "test_import_scheduler_options_from_config"
66 "test_job"
67 "test_log_directory"
68 "test_scale_cores_memory"
69 "test_scale_grouped"
70 "test_scheduler_options_interface"
71 "test_scheduler_options"
72 "test_security"
73 "test_shebang_settings"
74 "test_use_stdin"
75 "test_worker_name_uses_cluster_name"
76 "test_wrong_parameter_error"
77 ];
78
79 pythonImportsCheck = [ "dask_jobqueue" ];
80
81 meta = with lib; {
82 broken = stdenv.isDarwin;
83 description = "Deploy Dask on job schedulers like PBS, SLURM, and SGE";
84 homepage = "https://github.com/dask/dask-jobqueue";
85 license = licenses.bsd3;
86 maintainers = with maintainers; [ ];
87 };
88}