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