1{ lib
2, attrs
3, boto3
4, buildPythonPackage
5, click-completion
6, click-didyoumean
7, click-help-colors
8, colorama
9, fetchPypi
10, gradient_statsd
11, gradient-utils
12, gql
13, halo
14, marshmallow
15, progressbar2
16, pyopenssl
17, pyyaml
18, requests
19, requests-toolbelt
20, terminaltables
21, websocket-client
22}:
23
24buildPythonPackage rec {
25 pname = "gradient";
26 version = "2.0.6";
27 format = "setuptools";
28
29 src = fetchPypi {
30 inherit pname version;
31 hash = "sha256-pqyyNzx2YPP3qmWQbzGd3q2HzCkrWlIVSJZeFrGm9dk=";
32 };
33
34 postPatch = ''
35 substituteInPlace setup.py \
36 --replace 'attrs<=' 'attrs>=' \
37 --replace 'colorama==' 'colorama>=' \
38 --replace 'gql[requests]==3.0.0a6' 'gql' \
39 --replace 'PyYAML==5.*' 'PyYAML' \
40 --replace 'marshmallow<' 'marshmallow>=' \
41 --replace 'websocket-client==0.57.*' 'websocket-client'
42 '';
43
44 propagatedBuildInputs = [
45 attrs
46 boto3
47 click-completion
48 click-didyoumean
49 click-help-colors
50 colorama
51 gql
52 gradient_statsd
53 gradient-utils
54 halo
55 marshmallow
56 progressbar2
57 pyopenssl
58 pyyaml
59 requests
60 requests-toolbelt
61 terminaltables
62 websocket-client
63 ];
64
65 # Tries to use /homeless-shelter to mimic container usage, etc
66 doCheck = false;
67
68 # marshmallow.exceptions.StringNotCollectionError: "only" should be a collection of strings.
69 # Support for marshmallow > 3
70 # pythonImportsCheck = [
71 # "gradient"
72 # ];
73
74 meta = with lib; {
75 description = "The command line interface for Gradient";
76 homepage = "https://github.com/Paperspace/gradient-cli";
77 license = licenses.isc;
78 platforms = platforms.unix;
79 maintainers = with maintainers; [ thoughtpolice ];
80 };
81}