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

110 lines
1.8 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 ];
};
}