1{
2 lib,
3 buildPythonPackage,
4 cliff,
5 fetchPypi,
6 iso8601,
7 keystoneauth1,
8 openstackdocstheme,
9 osc-lib,
10 oslo-i18n,
11 oslo-serialization,
12 oslo-utils,
13 pbr,
14 prettytable,
15 python-swiftclient,
16 pythonOlder,
17 pyyaml,
18 requests,
19 requests-mock,
20 setuptools,
21 sphinxHook,
22 stestr,
23 testscenarios,
24}:
25
26buildPythonPackage rec {
27 pname = "python-heatclient";
28 version = "3.5.0";
29 pyproject = true;
30
31 disabled = pythonOlder "3.8";
32
33 src = fetchPypi {
34 inherit pname version;
35 hash = "sha256-B1F40HYHFF91mkxwySR/kqCvlwLLtBgqwUvw2byOc9g=";
36 };
37
38 build-system = [
39 openstackdocstheme
40 setuptools
41 sphinxHook
42 ];
43
44 sphinxBuilders = [ "man" ];
45
46 dependencies = [
47 cliff
48 iso8601
49 keystoneauth1
50 osc-lib
51 oslo-i18n
52 oslo-serialization
53 oslo-utils
54 pbr
55 prettytable
56 python-swiftclient
57 pyyaml
58 requests
59 ];
60
61 nativeCheckInputs = [
62 stestr
63 testscenarios
64 requests-mock
65 ];
66
67 checkPhase = ''
68 runHook preCheck
69
70 stestr run -e <(echo "
71 heatclient.tests.unit.test_common_http.HttpClientTest.test_get_system_ca_file
72 heatclient.tests.unit.test_deployment_utils.TempURLSignalTest.test_create_temp_url
73 ")
74
75 runHook postCheck
76 '';
77
78 pythonImportsCheck = [ "heatclient" ];
79
80 meta = with lib; {
81 description = "Library for Heat built on the Heat orchestration API";
82 mainProgram = "heat";
83 homepage = "https://github.com/openstack/python-heatclient";
84 license = licenses.asl20;
85 maintainers = teams.openstack.members;
86 };
87}