1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 installShellFiles,
6 mock,
7 openstacksdk,
8 pbr,
9 python-keystoneclient,
10 pythonOlder,
11 stestr,
12}:
13
14buildPythonPackage rec {
15 pname = "python-swiftclient";
16 version = "4.7.0";
17 pyproject = true;
18
19 disabled = pythonOlder "3.6";
20
21 src = fetchPypi {
22 pname = "python_swiftclient";
23 inherit version;
24 hash = "sha256-r9dXV1PY5JYXrcsRVQGH/QsSD82Bnx54LAtTjy0JN3M=";
25 };
26
27 nativeBuildInputs = [ installShellFiles ];
28
29 build-system = [
30 pbr
31 ];
32
33 dependencies = [
34 python-keystoneclient
35 ];
36
37 nativeCheckInputs = [
38 mock
39 openstacksdk
40 stestr
41 ];
42
43 postInstall = ''
44 installShellCompletion --cmd swift \
45 --bash tools/swift.bash_completion
46 installManPage doc/manpages/*
47 '';
48
49 checkPhase = ''
50 stestr run
51 '';
52
53 pythonImportsCheck = [ "swiftclient" ];
54
55 meta = with lib; {
56 homepage = "https://github.com/openstack/python-swiftclient";
57 description = "Python bindings to the OpenStack Object Storage API";
58 mainProgram = "swift";
59 license = licenses.asl20;
60 teams = [ teams.openstack ];
61 };
62}