1{ 2 lib, 3 argcomplete, 4 attrs, 5 buildPythonPackage, 6 docstring-parser, 7 fetchFromGitHub, 8 fsspec, 9 jsonnet, 10 jsonschema, 11 omegaconf, 12 pydantic, 13 pytest-subtests, 14 pytestCheckHook, 15 pythonOlder, 16 pyyaml, 17 reconplogger, 18 requests, 19 responses, 20 ruyaml, 21 setuptools, 22 types-pyyaml, 23 types-requests, 24 typeshed-client, 25}: 26 27buildPythonPackage rec { 28 pname = "jsonargparse"; 29 version = "4.28.0"; 30 pyproject = true; 31 32 disabled = pythonOlder "3.11"; 33 34 src = fetchFromGitHub { 35 owner = "omni-us"; 36 repo = "jsonargparse"; 37 rev = "refs/tags/v${version}"; 38 hash = "sha256-iw6ntzFkvMg5baOgeUzf3qV1eGGqywINd7e6N781llQ="; 39 }; 40 41 build-system = [ setuptools ]; 42 43 dependencies = [ pyyaml ]; 44 45 passthru.optional-dependencies = { 46 all = [ 47 argcomplete 48 fsspec 49 jsonnet 50 jsonschema 51 omegaconf 52 ruyaml 53 docstring-parser 54 typeshed-client 55 requests 56 ]; 57 argcomplete = [ argcomplete ]; 58 fsspec = [ fsspec ]; 59 jsonnet = [ 60 jsonnet 61 # jsonnet-binary 62 ]; 63 jsonschema = [ jsonschema ]; 64 omegaconf = [ omegaconf ]; 65 reconplogger = [ reconplogger ]; 66 ruyaml = [ ruyaml ]; 67 signatures = [ 68 docstring-parser 69 typeshed-client 70 ]; 71 urls = [ requests ]; 72 }; 73 74 nativeCheckInputs = [ 75 pytest-subtests 76 pytestCheckHook 77 types-pyyaml 78 types-requests 79 ]; 80 81 pythonImportsCheck = [ "jsonargparse" ]; 82 83 meta = with lib; { 84 description = "Module to mplement minimal boilerplate CLIs derived from various sources"; 85 homepage = "https://github.com/omni-us/jsonargparse"; 86 changelog = "https://github.com/omni-us/jsonargparse/blob/${version}/CHANGELOG.rst"; 87 license = licenses.mit; 88 maintainers = with maintainers; [ fab ]; 89 }; 90}