diff --git a/pkgs/development/python-modules/openapi-core/default.nix b/pkgs/development/python-modules/openapi-core/default.nix new file mode 100644 index 000000000000..e41f7fd58099 --- /dev/null +++ b/pkgs/development/python-modules/openapi-core/default.nix @@ -0,0 +1,81 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, isodate +, dictpath +, openapi-spec-validator +, openapi-schema-validator +, six +, lazy-object-proxy +, attrs +, werkzeug +, parse +, more-itertools +, pytestCheckHook +, falcon +, flask +, django +, djangorestframework +, responses +}: + +buildPythonPackage rec { + pname = "openapi-core"; + version = "0.14.2"; + + src = fetchFromGitHub { + owner = "p1c2u"; + repo = "openapi-core"; + rev = version; + sha256 = "1npsibyf8zx6z230yl19kyap8g25kqvgm7z1w6rm6jxv58yqsp7r"; + }; + + postPatch = '' + sed -i "/^addopts/d" setup.cfg + ''; + + propagatedBuildInputs = [ + isodate + dictpath + openapi-spec-validator + openapi-schema-validator + six + lazy-object-proxy + attrs + werkzeug + parse + more-itertools + ]; + + checkInputs = [ + pytestCheckHook + falcon + flask + django + djangorestframework + responses + ]; + + disabledTestPaths = [ + # AttributeError: 'str' object has no attribute '__name__' + "tests/integration/validation" + ]; + + disabledTests = [ + # TypeError: Unexpected keyword arguments passed to pytest.raises: message + "test_string_format_invalid_value" + ]; + + pythonImportsCheck = [ + "openapi_core" + "openapi_core.validation.request.validators" + "openapi_core.validation.response.validators" + ]; + + meta = with lib; { + description = "Client-side and server-side support for the OpenAPI Specification v3"; + homepage = "https://github.com/p1c2u/openapi-core"; + license = licenses.bsd3; + maintainers = with maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index c3083f52d65f..86ac6b5027fd 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5204,6 +5204,8 @@ in { phonenumbers = callPackage ../development/python-modules/phonenumbers { }; + openapi-core = callPackage ../development/python-modules/openapi-core { }; + pdunehd = callPackage ../development/python-modules/pdunehd { }; phonopy = callPackage ../development/python-modules/phonopy { };