nixpkgs/pkgs/development/python-modules/apispec/default.nix

60 lines
1.2 KiB
Nix

{ lib
, buildPythonPackage
, fetchPypi
, marshmallow
, mock
, openapi-spec-validator
, packaging
, prance
, pytestCheckHook
, pythonOlder
, pyyaml
}:
buildPythonPackage rec {
pname = "apispec";
version = "6.3.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-bLCNks5z/ws79Gyy6lwA1XKJsPJ5+wJWo99GgYK6U0Q=";
};
propagatedBuildInputs = [
packaging
];
passthru.optional-dependencies = {
marshmallow = [
marshmallow
];
yaml = [
pyyaml
];
validation = [
openapi-spec-validator
prance
] ++ prance.optional-dependencies.osv;
};
nativeCheckInputs = [
mock
pytestCheckHook
] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
pythonImportsCheck = [
"apispec"
];
meta = with lib; {
changelog = "https://github.com/marshmallow-code/apispec/blob/${version}/CHANGELOG.rst";
description = "A pluggable API specification generator with support for the OpenAPI Specification";
homepage = "https://github.com/marshmallow-code/apispec";
license = licenses.mit;
maintainers = with maintainers; [ ];
};
}