1{ stdenv, buildPythonPackage, fetchFromGitHub, fetchpatch, six, hypothesis, mock
2, python-Levenshtein, pytest, termcolor, isPy27, enum34, isPy38 }:
3
4buildPythonPackage rec {
5 pname = "fire";
6 version = "0.2.1";
7
8 src = fetchFromGitHub {
9 owner = "google";
10 repo = "python-fire";
11 rev = "v${version}";
12 sha256 = "1r6cmihafd7mb6j3mvgk251my6ckb0sqqj1l2ny2azklv175b38a";
13 };
14
15 propagatedBuildInputs = [ six termcolor ] ++ stdenv.lib.optional isPy27 enum34;
16
17 checkInputs = [ hypothesis mock python-Levenshtein pytest ];
18
19 checkPhase = ''
20 py.test
21 '';
22
23 meta = with stdenv.lib; {
24 description = "A library for automatically generating command line interfaces";
25 longDescription = ''
26 Python Fire is a library for automatically generating command line
27 interfaces (CLIs) from absolutely any Python object.
28
29 * Python Fire is a simple way to create a CLI in Python.
30
31 * Python Fire is a helpful tool for developing and debugging
32 Python code.
33
34 * Python Fire helps with exploring existing code or turning other
35 people's code into a CLI.
36
37 * Python Fire makes transitioning between Bash and Python easier.
38
39 * Python Fire makes using a Python REPL easier by setting up the
40 REPL with the modules and variables you'll need already imported
41 and created.
42 '';
43 license = licenses.asl20;
44 maintainers = with maintainers; [ leenaars ];
45 broken = isPy38;
46 };
47}