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