1{ 2 lib, 3 stdenv, 4 buildPythonPackage, 5 fetchFromGitHub, 6 7 # build-system 8 setuptools, 9 10 # dependencies 11 dask, 12 distributed, 13 14 # checks 15 cryptography, 16 pytest-asyncio, 17 pytestCheckHook, 18}: 19 20buildPythonPackage rec { 21 pname = "dask-jobqueue"; 22 version = "0.9.0"; 23 pyproject = true; 24 25 src = fetchFromGitHub { 26 owner = "dask"; 27 repo = "dask-jobqueue"; 28 tag = version; 29 hash = "sha256-YujfhjOJzl4xsjjsyrQkEu/CBR04RwJ79c1iSTcMIgw="; 30 }; 31 32 build-system = [ setuptools ]; 33 34 dependencies = [ 35 dask 36 distributed 37 ]; 38 39 nativeCheckInputs = [ 40 cryptography 41 pytest-asyncio 42 pytestCheckHook 43 ]; 44 45 disabledTests = [ 46 # Require some unavailable pytest fixtures 47 "test_adapt" 48 "test_adaptive" 49 "test_adaptive_cores_mem" 50 "test_adaptive_grouped" 51 "test_adapt_parameters" 52 "test_basic" 53 "test_basic_scale_edge_cases" 54 "test_cluster" 55 "test_cluster_error_scheduler_arguments_should_use_scheduler_options" 56 "test_cluster_has_cores_and_memory" 57 "test_command_template" 58 "test_complex_cancel_command" 59 "test_config" 60 "test_dashboard_link" 61 "test_default_number_of_worker_processes" 62 "test_deprecation_env_extra" 63 "test_deprecation_extra" 64 "test_deprecation_job_extra" 65 "test_different_interfaces_on_scheduler_and_workers" 66 "test_docstring_cluster" 67 "test_extra_args_broken_cancel" 68 "test_forward_ip" 69 "test_import_scheduler_options_from_config" 70 "test_job" 71 "test_jobqueue_job_call" 72 "test_log_directory" 73 "test_scale_cores_memory" 74 "test_scale_grouped" 75 "test_scheduler_options" 76 "test_scheduler_options_interface" 77 "test_security" 78 "test_security_temporary" 79 "test_security_temporary_defaults" 80 "test_shebang_settings" 81 "test_use_stdin" 82 "test_worker_name_uses_cluster_name" 83 "test_wrong_parameter_error" 84 ] 85 ++ lib.optionals stdenv.hostPlatform.isDarwin [ 86 # ValueError: invalid operation on non-started TCPListener 87 "test_header" 88 "test_lsf_unit_detection" 89 "test_lsf_unit_detection_without_file" 90 "test_runner" 91 ]; 92 93 pythonImportsCheck = [ "dask_jobqueue" ]; 94 95 __darwinAllowLocalNetworking = true; 96 97 meta = { 98 description = "Deploy Dask on job schedulers like PBS, SLURM, and SGE"; 99 homepage = "https://github.com/dask/dask-jobqueue"; 100 license = lib.licenses.bsd3; 101 maintainers = with lib.maintainers; [ GaetanLepage ]; 102 }; 103}