1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 setuptools,
6 # Build and Runtime
7 pbr,
8 cliff,
9 debtcollector,
10 netaddr,
11 openstacksdk,
12 osc-lib,
13 oslo-i18n,
14 oslo-log,
15 oslo-serialization,
16 oslo-utils,
17 os-client-config,
18 keystoneauth1,
19 python-keystoneclient,
20 requests,
21 hacking,
22 # Tests
23 fixtures,
24 oslotest,
25 osprofiler,
26 python-openstackclient,
27 requests-mock,
28 stestr,
29 testtools,
30 testscenarios,
31 tempest,
32}:
33
34buildPythonPackage rec {
35 pname = "python-neutronclient";
36 version = "11.6.0";
37 pyproject = true;
38
39 src = fetchFromGitHub {
40 owner = "openstack";
41 repo = "python-neutronclient";
42 tag = version;
43 hash = "sha256-nz7KiFe8IWJypGCjFgrEgGTEsC0xlW3YG/QRNJUzcpc=";
44 };
45
46 env.PBR_VERSION = version;
47
48 build-system = [
49 setuptools
50 pbr
51 ];
52
53 dependencies = [
54 cliff
55 debtcollector
56 netaddr
57 openstacksdk
58 osc-lib
59 oslo-i18n
60 oslo-log
61 oslo-serialization
62 oslo-utils
63 os-client-config
64 keystoneauth1
65 python-keystoneclient
66 requests
67 ];
68
69 nativeCheckInputs = [
70 hacking
71 fixtures
72 oslotest
73 osprofiler
74 python-openstackclient
75 requests-mock
76 stestr
77 testtools
78 testscenarios
79 tempest
80 ];
81
82 checkPhase = ''
83 runHook preCheck
84
85 stestr run
86
87 runHook postCheck
88 '';
89
90 pythonImportsCheck = [ "neutronclient" ];
91
92 meta = with lib; {
93 description = "Python bindings for the OpenStack Networking API";
94 homepage = "https://github.com/openstack/python-neutronclient/";
95 license = licenses.asl20;
96 teams = [ teams.openstack ];
97 };
98}