1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 jsonpickle,
6 pytestCheckHook,
7 pythonOlder,
8 requests,
9 responses,
10 setuptools,
11}:
12
13buildPythonPackage rec {
14 pname = "python-digitalocean";
15 version = "1.17.0";
16 pyproject = true;
17
18 disabled = pythonOlder "3.7";
19
20 src = fetchFromGitHub {
21 owner = "koalalorenzo";
22 repo = "python-digitalocean";
23 tag = "v${version}";
24 hash = "sha256-CIYW6vl+IOO94VyfgTjJ3T13uGtz4BdKyVmE44maoLA=";
25 };
26
27 build-system = [ setuptools ];
28
29 dependencies = [
30 jsonpickle
31 requests
32 ];
33
34 nativeCheckInputs = [
35 pytestCheckHook
36 responses
37 ];
38
39 preCheck = ''
40 cd digitalocean
41 '';
42
43 # Test tries to access the network
44 disabledTests = [ "TestFirewall" ];
45
46 pythonImportsCheck = [ "digitalocean" ];
47
48 meta = with lib; {
49 description = "Python API to manage Digital Ocean Droplets and Images";
50 homepage = "https://github.com/koalalorenzo/python-digitalocean";
51 changelog = "https://github.com/koalalorenzo/python-digitalocean/releases/tag/v${version}";
52 license = with licenses; [ lgpl3Only ];
53 maintainers = with maintainers; [ teh ];
54 };
55}