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