diff --git a/pkgs/development/python-modules/coiled/default.nix b/pkgs/development/python-modules/coiled/default.nix new file mode 100644 index 000000000000..2787a9a755e5 --- /dev/null +++ b/pkgs/development/python-modules/coiled/default.nix @@ -0,0 +1,99 @@ +{ + lib, + buildPythonPackage, + fetchPypi, + + # build-system + hatchling, + hatch-vcs, + + # dependencies + aiohttp, + backoff, + bokeh, + boto3, + click, + dask, + distributed, + fabric, + filelock, + gilknocker, + httpx, + importlib-metadata, + invoke, + ipywidgets, + jmespath, + jsondiff, + paramiko, + pip, + pip-requirements-parser, + prometheus-client, + rich, + toml, + typing-extensions, + wheel, + + # tests + versionCheckHook, +}: + +buildPythonPackage rec { + pname = "coiled"; + version = "1.79.2"; + pyproject = true; + + src = fetchPypi { + inherit pname version; + hash = "sha256-PRBmM0YN2MPHRMzDmV9nYhP+Jr0tOxkXgHDnW8pN9ug="; + }; + + build-system = [ + hatchling + hatch-vcs + ]; + + dependencies = [ + aiohttp + backoff + bokeh + boto3 + click + dask + distributed + fabric + filelock + gilknocker + httpx + importlib-metadata + invoke + ipywidgets + jmespath + jsondiff + paramiko + pip + pip-requirements-parser + prometheus-client + rich + toml + typing-extensions + wheel + ]; + + pythonImportsCheck = [ + "coiled" + ]; + + nativeCheckInputs = [ + versionCheckHook + ]; + + versionCheckProgramArg = [ "--version" ]; + + meta = { + description = "Python client for coiled.io dask clusters"; + homepage = "https://www.coiled.io/"; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ daspk04 ]; + mainProgram = "coiled"; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 6a3df526cbba..d7a0b5f5fa7d 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2524,6 +2524,8 @@ self: super: with self; { cogapp = callPackage ../development/python-modules/cogapp { }; + coiled = callPackage ../development/python-modules/coiled { }; + coinmetrics-api-client = callPackage ../development/python-modules/coinmetrics-api-client { }; colanderalchemy = callPackage ../development/python-modules/colanderalchemy { };