about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/development/python-modules/cloudscraper/default.nix38
-rw-r--r--pkgs/top-level/python-packages.nix2
2 files changed, 40 insertions, 0 deletions
diff --git a/pkgs/development/python-modules/cloudscraper/default.nix b/pkgs/development/python-modules/cloudscraper/default.nix
new file mode 100644
index 000000000000..faa1affcd060
--- /dev/null
+++ b/pkgs/development/python-modules/cloudscraper/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, buildPythonPackage
+, isPy3k
+, fetchPypi
+, requests
+, requests-toolbelt
+, pyparsing
+}:
+
+buildPythonPackage rec {
+  pname = "cloudscraper";
+  version = "1.2.52";
+  disabled = !isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "07j2nhzimzhcskj2wpxpvpb3dhpci19daw02r2ckkjiq3zifhm6v";
+  };
+
+  propagatedBuildInputs = [
+    requests
+    requests-toolbelt
+    pyparsing
+  ];
+
+  # The tests require several other dependencies, some of which aren't in
+  # nixpkgs yet, and also aren't included in the PyPI bundle.  TODO.
+  doCheck = false;
+
+  pythonImportsCheck = [ "cloudscraper" ];
+
+  meta = with lib; {
+    description = "A Python module to bypass Cloudflare's anti-bot page";
+    homepage = https://github.com/venomous/cloudscraper;
+    license = licenses.mit;
+    maintainers = with maintainers; [ kini ];
+  };
+}
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index bd7c3a77cc9e..79127874cefe 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -1294,6 +1294,8 @@ in {
 
   cloudpickle = callPackage ../development/python-modules/cloudpickle { };
 
+  cloudscraper = callPackage ../development/python-modules/cloudscraper { };
+
   clustershell = callPackage ../development/python-modules/clustershell { };
 
   cma = callPackage ../development/python-modules/cma { };