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, wheel
23, zict
24}:
25
26buildPythonPackage rec {
27 pname = "distributed";
28 version = "2023.4.1";
29 format = "pyproject";
30
31 disabled = pythonOlder "3.8";
32
33 src = fetchFromGitHub {
34 owner = "dask";
35 repo = pname;
36 rev = "refs/tags/${version}";
37 hash = "sha256-KCgftu3i8N0WSelHiqWqa1vLN5gUtleftSUx1Zu4nZg=";
38 };
39
40 postPatch = ''
41 substituteInPlace pyproject.toml \
42 --replace 'dynamic = ["version"]' 'version = "${version}"'
43 '';
44
45 nativeBuildInputs = [
46 setuptools
47 setuptools-scm
48 versioneer
49 ];
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 costrouc ];
82 };
83}