nixpkgs/pkgs/development/python-modules/jsonargparse/default.nix
2024-04-17 08:58:37 +02:00

91 lines
1.7 KiB
Nix

{
lib,
argcomplete,
attrs,
buildPythonPackage,
docstring-parser,
fetchFromGitHub,
fsspec,
jsonnet,
jsonschema,
omegaconf,
pydantic,
pytest-subtests,
pytestCheckHook,
pythonOlder,
pyyaml,
reconplogger,
requests,
responses,
ruyaml,
setuptools,
types-pyyaml,
types-requests,
typeshed-client,
}:
buildPythonPackage rec {
pname = "jsonargparse";
version = "4.28.0";
pyproject = true;
disabled = pythonOlder "3.11";
src = fetchFromGitHub {
owner = "omni-us";
repo = "jsonargparse";
rev = "refs/tags/v${version}";
hash = "sha256-iw6ntzFkvMg5baOgeUzf3qV1eGGqywINd7e6N781llQ=";
};
build-system = [ setuptools ];
dependencies = [ pyyaml ];
passthru.optional-dependencies = {
all = [
argcomplete
fsspec
jsonnet
jsonschema
omegaconf
ruyaml
docstring-parser
typeshed-client
requests
];
argcomplete = [ argcomplete ];
fsspec = [ fsspec ];
jsonnet = [
jsonnet
# jsonnet-binary
];
jsonschema = [ jsonschema ];
omegaconf = [ omegaconf ];
reconplogger = [ reconplogger ];
ruyaml = [ ruyaml ];
signatures = [
docstring-parser
typeshed-client
];
urls = [ requests ];
};
nativeCheckInputs = [
pytest-subtests
pytestCheckHook
types-pyyaml
types-requests
];
pythonImportsCheck = [ "jsonargparse" ];
meta = with lib; {
description = "Module to mplement minimal boilerplate CLIs derived from various sources";
homepage = "https://github.com/omni-us/jsonargparse";
changelog = "https://github.com/omni-us/jsonargparse/blob/${version}/CHANGELOG.rst";
license = licenses.mit;
maintainers = with maintainers; [ fab ];
};
}