1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 httplib2,
6 keystoneauth1,
7 openstackdocstheme,
8 osc-lib,
9 oslo-i18n,
10 oslo-utils,
11 pbr,
12 prettytable,
13 python-mistralclient,
14 python-openstackclient,
15 python-swiftclient,
16 pythonOlder,
17 requests-mock,
18 requests,
19 setuptools,
20 sphinxcontrib-apidoc,
21 sphinxHook,
22 stestr,
23 stevedore,
24}:
25
26buildPythonPackage rec {
27 pname = "python-troveclient";
28 version = "8.9.0";
29 pyproject = true;
30
31 disabled = pythonOlder "3.9";
32
33 src = fetchFromGitHub {
34 owner = "openstack";
35 repo = "python-troveclient";
36 tag = version;
37 hash = "sha256-iyCI/0He2vG6VNBCQ9sbQoUYkgn6ciWrnfACQDKuJ6M=";
38 };
39
40 env.PBR_VERSION = version;
41
42 nativeBuildInputs = [
43 openstackdocstheme
44 sphinxHook
45 sphinxcontrib-apidoc
46 ];
47
48 sphinxBuilders = [ "man" ];
49
50 build-system = [
51 pbr
52 setuptools
53 ];
54
55 dependencies = [
56 keystoneauth1
57 osc-lib
58 oslo-i18n
59 oslo-utils
60 prettytable
61 python-mistralclient
62 python-openstackclient
63 python-swiftclient
64 requests
65 stevedore
66 ];
67
68 nativeCheckInputs = [
69 httplib2
70 requests-mock
71 stestr
72 ];
73
74 checkPhase = ''
75 runHook preCheck
76 stestr run
77 runHook postCheck
78 '';
79
80 pythonImportsCheck = [ "troveclient" ];
81
82 meta = {
83 homepage = "https://github.com/openstack/python-troveclient";
84 description = "Client library for OpenStack Trove API";
85 license = lib.licenses.asl20;
86 mainProgram = "trove";
87 teams = [ lib.teams.openstack ];
88 };
89}