1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 mock,
6 pytestCheckHook,
7 pyyaml,
8 pythonOlder,
9}:
10
11buildPythonPackage rec {
12 pname = "configargparse";
13 version = "1.7";
14 format = "setuptools";
15
16 disabled = pythonOlder "3.7";
17
18 src = fetchFromGitHub {
19 owner = "bw2";
20 repo = "ConfigArgParse";
21 rev = "refs/tags/${version}";
22 hash = "sha256-m77MY0IZ1AJkd4/Y7ltApvdF9y17Lgn92WZPYTCU9tA=";
23 };
24
25 passthru.optional-dependencies = {
26 yaml = [ pyyaml ];
27 };
28
29 nativeCheckInputs = [
30 pytestCheckHook
31 mock
32 ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
33
34 pythonImportsCheck = [ "configargparse" ];
35
36 meta = with lib; {
37 description = "Drop-in replacement for argparse";
38 homepage = "https://github.com/bw2/ConfigArgParse";
39 changelog = "https://github.com/bw2/ConfigArgParse/releases/tag/${version}";
40 license = licenses.mit;
41 maintainers = with maintainers; [ willibutz ];
42 };
43}