diff --git a/pkgs/development/python-modules/flasgger/default.nix b/pkgs/development/python-modules/flasgger/default.nix new file mode 100644 index 000000000000..4bb5e9fe30d9 --- /dev/null +++ b/pkgs/development/python-modules/flasgger/default.nix @@ -0,0 +1,63 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, fetchpatch + +# dependencies +, flask +, jsonschema +, mistune +, pyyaml +, six +, werkzeug + +# tests +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "flasgger"; + version = "0.9.5"; + format = "setuptools"; + + src = fetchFromGitHub { + owner = "flasgger"; + repo = "flasgger"; + rev = version; + hash = "sha256-cYFMKZxpi69gVWqyZUltCL0ZwcfIABNsJKqAhN2TTSg="; + }; + + patches = [ + (fetchpatch { + # flask 2.3 compat + url = "https://github.com/flasgger/flasgger/commit/ab77be7c6de1d4b361f0eacfa37290239963f890.patch"; + hash = "sha256-ZbE5pPUP23nZAP/qcdeWkwzrZgqJSRES7oFta8U1uVQ="; + }) + ]; + + propagatedBuildInputs = [ + flask + jsonschema + mistune + pyyaml + six + werkzeug + ]; + + pythonImportsCheck = [ + "flasgger" + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + doCheck = false; # missing flex dependency + + meta = with lib; { + description = "Easy OpenAPI specs and Swagger UI for your Flask API"; + homepage = "https://github.com/flasgger/flasgger/"; + license = licenses.mit; + maintainers = with maintainers; [ ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 78847f3f9850..d3e300204e26 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3887,6 +3887,8 @@ self: super: with self; { flammkuchen = callPackage ../development/python-modules/flammkuchen { }; + flasgger = callPackage ../development/python-modules/flasgger { }; + flashtext = callPackage ../development/python-modules/flashtext { }; flask-admin = callPackage ../development/python-modules/flask-admin { };