1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 click,
6 pytestCheckHook,
7 pytest-click,
8 setuptools,
9 writableTmpDirAsHomeHook,
10}:
11
12buildPythonPackage rec {
13 pname = "click-shell";
14 version = "2.1";
15 pyproject = true;
16
17 src = fetchFromGitHub {
18 owner = "clarkperkins";
19 repo = "click-shell";
20 tag = version;
21 hash = "sha256-4QpQzg0yFuOFymGiTI+A8o6LyX78iTJMqr0ernYbilI=";
22 };
23
24 build-system = [ setuptools ];
25
26 dependencies = [ click ];
27
28 nativeCheckInputs = [
29 pytest-click
30 pytestCheckHook
31 writableTmpDirAsHomeHook
32 ];
33
34 pythonImportsCheck = [ "click_shell" ];
35
36 meta = with lib; {
37 description = "Extension to click that easily turns your click app into a shell utility";
38 longDescription = ''
39 This is an extension to click that easily turns your click app into a
40 shell utility. It is built on top of the built in python cmd module,
41 with modifications to make it work with click. It adds a 'shell' mode
42 with command completion to any click app.
43 '';
44 homepage = "https://github.com/clarkperkins/click-shell";
45 changelog = "https://github.com/clarkperkins/click-shell/releases/tag/${src.tag}";
46 license = licenses.bsd3;
47 maintainers = with maintainers; [ binsky ];
48 };
49}