1{ lib
2, buildPythonPackage
3, fetchPypi
4, pytestCheckHook
5, click
6, setuptools-scm
7, pythonOlder
8, typing-extensions
9}:
10
11buildPythonPackage rec {
12 pname = "cloup";
13 version = "3.0.2";
14 format = "setuptools";
15
16 disabled = pythonOlder "3.7";
17
18 src = fetchPypi {
19 inherit pname version;
20 hash = "sha256-zBBZYQ2B2qCMxgflbHroGfqwEPGdGfPIdc7rZ1GDrPY=";
21 };
22
23 nativeBuildInputs = [
24 setuptools-scm
25 ];
26
27 propagatedBuildInputs = [
28 click
29 ] ++ lib.optionals (pythonOlder "3.8") [
30 typing-extensions
31 ];
32
33 nativeCheckInputs = [
34 pytestCheckHook
35 ];
36
37 pythonImportsCheck = [
38 "cloup"
39 ];
40
41 meta = with lib; {
42 homepage = "https://github.com/janLuke/cloup";
43 description = "Click extended with option groups, constraints, aliases, help themes";
44 changelog = "https://github.com/janluke/cloup/releases/tag/v${version}";
45 longDescription = ''
46 Enriches Click with option groups, constraints, command aliases, help sections for subcommands, themes for --help and other stuff.
47 '';
48 license = licenses.bsd3;
49 maintainers = with maintainers; [ friedelino ];
50 };
51}