1{ 2 lib, 3 buildPythonPackage, 4 pythonOlder, 5 fetchFromGitHub, 6 fetchpatch, 7 setuptools, 8 versioneer, 9 dask, 10 distributed, 11 grpcio, 12 skein, 13 pytestCheckHook, 14 stdenv, 15}: 16 17buildPythonPackage rec { 18 pname = "dask-yarn"; 19 version = "0.9"; 20 pyproject = true; 21 22 disabled = pythonOlder "3.7"; 23 24 src = fetchFromGitHub { 25 owner = "dask"; 26 repo = "dask-yarn"; 27 rev = "refs/tags/${version}"; 28 hash = "sha256-/BTsxQSiVQrihrCa9DE7pueyg3aPAdjd/Dt4dpUwdtM="; 29 }; 30 31 patches = [ 32 (fetchpatch { 33 # https://github.com/dask/dask-yarn/pull/150 34 name = "address-deprecations-introduced-in-distributed-2021-07-0"; 35 url = "https://github.com/dask/dask-yarn/pull/150/commits/459848afcdc22568905ee98622c74e4071496423.patch"; 36 hash = "sha256-LS46QBdiAmsp4jQq4DdYdmmk1qzx5JZNTQUlRcRwY5k="; 37 }) 38 ]; 39 40 postPatch = '' 41 rm versioneer.py 42 ''; 43 44 build-system = [ 45 setuptools 46 versioneer 47 ]; 48 49 dependencies = [ 50 dask 51 distributed 52 grpcio 53 skein 54 ]; 55 56 nativeCheckInputs = [ pytestCheckHook ]; 57 58 preCheck = '' 59 export HOME=$TMPDIR 60 ''; 61 62 pythonImportsCheck = [ "dask_yarn" ]; 63 64 disabledTests = [ 65 # skein.exceptions.DriverError: Failed to start java process 66 "test_basic" 67 "test_adapt" 68 "test_from_specification" 69 "test_from_application_id" 70 "test_from_current" 71 "test_basic_async" 72 "test_widget_and_html_reprs" 73 ]; 74 75 meta = with lib; { 76 description = "Deploy dask on YARN clusters"; 77 mainProgram = "dask-yarn"; 78 longDescription = '' 79 Dask-Yarn deploys Dask on YARN clusters, 80 such as are found in traditional Hadoop installations. 81 Dask-Yarn provides an easy interface to quickly start, 82 stop, and scale Dask clusters natively from Python. 83 ''; 84 homepage = "https://yarn.dask.org/"; 85 license = licenses.bsd3; 86 maintainers = with maintainers; [ illustris ]; 87 broken = stdenv.isDarwin; 88 }; 89}