1{ lib
2, buildPythonPackage
3, fetchPypi
4, autopage
5, cmd2
6, pbr
7, prettytable
8, pyparsing
9, pyyaml
10, stevedore
11, callPackage
12}:
13
14buildPythonPackage rec {
15 pname = "cliff";
16 version = "3.9.0";
17
18 src = fetchPypi {
19 inherit pname version;
20 sha256 = "95363e9b43e2ec9599e33b5aea27a6953beda2d0673557916fa4f5796857daa3";
21 };
22
23 postPatch = ''
24 # only a small portion of the listed packages are actually needed for running the tests
25 # so instead of removing them one by one remove everything
26 rm test-requirements.txt
27 '';
28
29 propagatedBuildInputs = [
30 autopage
31 cmd2
32 pbr
33 prettytable
34 pyparsing
35 pyyaml
36 stevedore
37 ];
38
39 # check in passthru.tests.pytest to escape infinite recursion with stestr
40 doCheck = false;
41
42 pythonImportsCheck = [ "cliff" ];
43
44 passthru.tests = {
45 pytest = callPackage ./tests.nix { };
46 };
47
48 meta = with lib; {
49 description = "Command Line Interface Formulation Framework";
50 homepage = "https://github.com/openstack/cliff";
51 license = licenses.asl20;
52 maintainers = teams.openstack.members;
53 };
54}