1{ lib 2, buildPythonPackage 3, click 4, cloudpickle 5, dask 6, fetchFromGitHub 7, jinja2 8, locket 9, msgpack 10, packaging 11, psutil 12, pythonOlder 13, pyyaml 14, setuptools 15, setuptools-scm 16, sortedcontainers 17, tblib 18, toolz 19, tornado 20, urllib3 21, versioneer 22, zict 23}: 24 25buildPythonPackage rec { 26 pname = "distributed"; 27 version = "2023.10.0"; 28 pyproject = true; 29 30 disabled = pythonOlder "3.9"; 31 32 src = fetchFromGitHub { 33 owner = "dask"; 34 repo = "distributed"; 35 rev = "refs/tags/${version}"; 36 hash = "sha256-V0L1qY9xtJgKxNEZ69z8CQuXsUs30cqu6xFrsjKWkbY="; 37 }; 38 39 postPatch = '' 40 substituteInPlace pyproject.toml \ 41 --replace "versioneer[toml]==" "versioneer[toml]>=" \ 42 --replace 'dynamic = ["version"]' 'version = "${version}"' 43 ''; 44 45 nativeBuildInputs = [ 46 setuptools 47 setuptools-scm 48 versioneer 49 ] ++ versioneer.optional-dependencies.toml; 50 51 propagatedBuildInputs = [ 52 click 53 cloudpickle 54 dask 55 jinja2 56 locket 57 msgpack 58 packaging 59 psutil 60 pyyaml 61 sortedcontainers 62 tblib 63 toolz 64 tornado 65 urllib3 66 zict 67 ]; 68 69 # When tested random tests would fail and not repeatably 70 doCheck = false; 71 72 pythonImportsCheck = [ 73 "distributed" 74 ]; 75 76 meta = with lib; { 77 description = "Distributed computation in Python"; 78 homepage = "https://distributed.readthedocs.io/"; 79 changelog = "https://github.com/dask/distributed/blob/${version}/docs/source/changelog.rst"; 80 license = licenses.bsd3; 81 maintainers = with maintainers; [ teh ]; 82 }; 83}