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 2d2d53aedf2f..0428f936083a 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 { };