1{
2 lib,
3 buildPythonPackage,
4 callPackage,
5 fetchPypi,
6 platformdirs,
7 cryptography,
8 dogpile-cache,
9 jmespath,
10 jsonpatch,
11 keystoneauth1,
12 munch,
13 netifaces,
14 os-service-types,
15 pbr,
16 pythonOlder,
17 pyyaml,
18 requestsexceptions,
19}:
20
21buildPythonPackage rec {
22 pname = "openstacksdk";
23 version = "3.1.0";
24 format = "setuptools";
25
26 disabled = pythonOlder "3.7";
27
28 src = fetchPypi {
29 inherit pname version;
30 hash = "sha256-cH8V1+wHSrJDS5peGYT6yrAPgi0nL0wqXeDSKgnrec0=";
31 };
32
33 propagatedBuildInputs = [
34 platformdirs
35 cryptography
36 dogpile-cache
37 jmespath
38 jsonpatch
39 keystoneauth1
40 munch
41 netifaces
42 os-service-types
43 pbr
44 requestsexceptions
45 pyyaml
46 ];
47
48 # Checks moved to 'passthru.tests' to workaround slowness
49 doCheck = false;
50
51 passthru.tests = {
52 tests = callPackage ./tests.nix { };
53 };
54
55 pythonImportsCheck = [ "openstack" ];
56
57 meta = with lib; {
58 description = "An SDK for building applications to work with OpenStack";
59 mainProgram = "openstack-inventory";
60 homepage = "https://github.com/openstack/openstacksdk";
61 license = licenses.asl20;
62 maintainers = teams.openstack.members;
63 };
64}