diff --git a/pkgs/development/python-modules/http-ece/default.nix b/pkgs/development/python-modules/http-ece/default.nix
new file mode 100644
index 00000000000..1f50608d3d1
--- /dev/null
+++ b/pkgs/development/python-modules/http-ece/default.nix
@@ -0,0 +1,24 @@
+{ lib, fetchPypi, buildPythonPackage
+, coverage, flake8, mock, nose
+, cryptography }:
+
+buildPythonPackage rec {
+  pname = "http_ece";
+  version = "1.1.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1y5ln09ji4dwpzhxr77cggk02kghq7lql60a6969a5n2lwpvqblk";
+  };
+
+  propagatedBuildInputs = [ cryptography ];
+
+  checkInputs = [ coverage flake8 mock nose ];
+
+  meta = with lib; {
+    description = "Encipher HTTP Messages";
+    homepage = https://github.com/martinthomson/encrypted-content-encoding;
+    license = licenses.mit;
+    maintainers = with maintainers; [ peterhoeg ];
+  };
+}
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 9c89b862ade..abfce31d6b1 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -481,6 +481,8 @@ in {
 
   hopcroftkarp = callPackage ../development/python-modules/hopcroftkarp { };
 
+  http-ece = callPackage ../development/python-modules/http-ece { };
+
   httpsig = callPackage ../development/python-modules/httpsig { };
 
   httptools = callPackage ../development/python-modules/httptools { };