1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5
6 # build-system
7 hatchling,
8 hatch-vcs,
9
10 # dependencies
11 aiohttp,
12 backoff,
13 bokeh,
14 boto3,
15 click,
16 dask,
17 distributed,
18 fabric,
19 filelock,
20 gilknocker,
21 httpx,
22 importlib-metadata,
23 invoke,
24 ipywidgets,
25 jmespath,
26 jsondiff,
27 paramiko,
28 pip,
29 pip-requirements-parser,
30 prometheus-client,
31 rich,
32 toml,
33 typing-extensions,
34 wheel,
35
36 # tests
37 versionCheckHook,
38}:
39
40buildPythonPackage rec {
41 pname = "coiled";
42 version = "1.121.0";
43 pyproject = true;
44
45 src = fetchPypi {
46 inherit pname version;
47 hash = "sha256-NJI4oc7MRnXQbKyIb3JNntv+a/HMiWIcIV+Q6I80QNY=";
48 };
49
50 build-system = [
51 hatchling
52 hatch-vcs
53 ];
54
55 dependencies = [
56 aiohttp
57 backoff
58 bokeh
59 boto3
60 click
61 dask
62 distributed
63 fabric
64 filelock
65 gilknocker
66 httpx
67 importlib-metadata
68 invoke
69 ipywidgets
70 jmespath
71 jsondiff
72 paramiko
73 pip
74 pip-requirements-parser
75 prometheus-client
76 rich
77 toml
78 typing-extensions
79 wheel
80 ];
81
82 pythonImportsCheck = [ "coiled" ];
83
84 nativeCheckInputs = [
85 versionCheckHook
86 ];
87 versionCheckProgramArg = "--version";
88
89 meta = {
90 description = "Python client for coiled.io dask clusters";
91 homepage = "https://www.coiled.io/";
92 license = lib.licenses.elastic20;
93 maintainers = with lib.maintainers; [ daspk04 ];
94 mainProgram = "coiled";
95 };
96}