1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pytest-timeout,
6 pytestCheckHook,
7 pytest-cov-stub,
8 pythonOlder,
9 setuptools,
10 setuptools-scm,
11 bashInteractive,
12}:
13
14buildPythonPackage rec {
15 pname = "shtab";
16 version = "1.7.1";
17 pyproject = true;
18
19 disabled = pythonOlder "3.7";
20
21 src = fetchFromGitHub {
22 owner = "iterative";
23 repo = "shtab";
24 tag = "v${version}";
25 hash = "sha256-8bAwLSdJCzFw5Vf9CKBrH5zOoojeXds7aIRncl+sLBI=";
26 };
27
28 nativeBuildInputs = [
29 setuptools
30 setuptools-scm
31 ];
32
33 nativeCheckInputs = [
34 bashInteractive
35 pytest-timeout
36 pytestCheckHook
37 pytest-cov-stub
38 ];
39
40 pythonImportsCheck = [ "shtab" ];
41
42 meta = with lib; {
43 description = "Module for shell tab completion of Python CLI applications";
44 mainProgram = "shtab";
45 homepage = "https://docs.iterative.ai/shtab/";
46 changelog = "https://github.com/iterative/shtab/releases/tag/v${version}";
47 license = licenses.asl20;
48 maintainers = with maintainers; [ fab ];
49 };
50}