diff --git a/pkgs/development/python-modules/brotli-asgi/default.nix b/pkgs/development/python-modules/brotli-asgi/default.nix new file mode 100644 index 000000000000..8bdd814cfe5e --- /dev/null +++ b/pkgs/development/python-modules/brotli-asgi/default.nix @@ -0,0 +1,49 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pythonOlder +# build inputs +, starlette +, brotli +# check inputs +, requests +, mypy +, brotlipy +}: +let + pname = "brotli-asgi"; + version = "1.4.0"; +in +buildPythonPackage { + inherit pname version; + format = "setuptools"; + + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "fullonic"; + repo = pname; + rev = "v${version}"; + hash = "sha256-hQ6CSXnAoUSaKUSmE+2GHZemkFqd8Dc5+OvcUD7/r5Y="; + }; + + propagatedBuildInputs = [ + starlette + brotli + ]; + + pythonImportsCheck = [ "brotli_asgi" ]; + + nativeCheckInputs = [ + requests + mypy + brotlipy + ]; + + meta = with lib; { + description = "A compression AGSI middleware using brotli"; + homepage = "https://github.com/fullonic/brotli-asgi"; + license = licenses.mit; + maintainers = with maintainers; [ happysalada ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index eb51a01b6ce2..ba0bc6d7a065 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1535,6 +1535,8 @@ self: super: with self; { brotli = callPackage ../development/python-modules/brotli { }; + brotli-asgi = callPackage ../development/python-modules/brotli-asgi { }; + brotlicffi = callPackage ../development/python-modules/brotlicffi { inherit (pkgs) brotli; };