1{
2 lib,
3 buildPythonPackage,
4 cryptography,
5 decorator,
6 fetchFromGitHub,
7 fixtures,
8 keystoneauth1,
9 openstackdocstheme,
10 os-client-config,
11 osc-lib,
12 oslo-i18n,
13 oslo-log,
14 oslo-serialization,
15 oslo-utils,
16 oslotest,
17 osprofiler,
18 pbr,
19 prettytable,
20 python-openstackclient,
21 pythonOlder,
22 requests-mock,
23 requests,
24 setuptools,
25 sphinxHook,
26 stestr,
27 testtools,
28}:
29
30buildPythonPackage rec {
31 pname = "python-magnumclient";
32 version = "4.7.0";
33 pyproject = true;
34
35 disabled = pythonOlder "3.8";
36
37 src = fetchFromGitHub {
38 owner = "openstack";
39 repo = "python-magnumclient";
40 rev = "refs/tags/${version}";
41 hash = "sha256-2JHI3CB/DSZZ4LXzL3PCUSmubTciUXtZkc5jpeEc4kk=";
42 };
43
44 env.PBR_VERSION = version;
45
46 nativeBuildInputs = [
47 openstackdocstheme
48 sphinxHook
49 ];
50
51 sphinxBuilders = [ "man" ];
52
53 build-system = [
54 pbr
55 setuptools
56 ];
57
58 dependencies = [
59 cryptography
60 decorator
61 keystoneauth1
62 os-client-config
63 osc-lib
64 oslo-i18n
65 oslo-log
66 oslo-serialization
67 oslo-utils
68 prettytable
69 requests
70 ];
71
72 nativeCheckInputs = [
73 fixtures
74 python-openstackclient
75 osprofiler
76 oslotest
77 requests-mock
78 stestr
79 testtools
80 ];
81
82 checkPhase = ''
83 runHook preCheck
84 stestr run
85 runHook postCheck
86 '';
87
88 pythonImportsCheck = [ "magnumclient" ];
89
90 meta = {
91 homepage = "https://github.com/openstack/python-magnumclient";
92 description = "Client library for OpenStack Magnum API";
93 license = lib.licenses.asl20;
94 mainProgram = "magnum";
95 maintainers = lib.teams.openstack.members;
96 };
97}