diff --git a/pkgs/development/python-modules/selenium-wire/default.nix b/pkgs/development/python-modules/selenium-wire/default.nix new file mode 100644 index 000000000000..bbc98666394b --- /dev/null +++ b/pkgs/development/python-modules/selenium-wire/default.nix @@ -0,0 +1,80 @@ +{ lib +, blinker +, brotli +, buildPythonPackage +, certifi +, fetchFromGitHub +, h2 +, hyperframe +, kaitaistruct +, pyasn1 +, httpbin +, pyopenssl +, pyparsing +, pysocks +, gunicorn +, pytestCheckHook +, pythonOlder +, selenium +, setuptools +, wsproto +, zstandard +}: + +buildPythonPackage rec { + pname = "selenium-wire"; + version = "5.1.0"; + pyproject = true; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "wkeeling"; + repo = "selenium-wire"; + rev = "refs/tags/${version}"; + hash = "sha256-KgaDxHS0dAK6CT53L1qqx1aORMmkeaiXAUtGC82hiIQ="; + }; + + nativeBuildInputs = [ + setuptools + ]; + + propagatedBuildInputs = [ + blinker + brotli + certifi + h2 + hyperframe + kaitaistruct + pyasn1 + pyopenssl + pyparsing + pysocks + selenium + wsproto + zstandard + ]; + + nativeCheckInputs = [ + gunicorn + httpbin + pytestCheckHook + ]; + + pythonImportsCheck = [ + "seleniumwire" + ]; + + disabledTestPaths = [ + # Don't run End2End tests + "tests/end2end/test_end2end.py" + ]; + + meta = with lib; { + description = "Extends Selenium's Python bindings to give you the ability to inspect requests made by the browser"; + homepage = "https://github.com/wkeeling/selenium-wire"; + changelog = "https://github.com/wkeeling/selenium-wire/blob/${version}/HISTORY.rst"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 5ad7587c97eb..bd88b3e03089 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -13368,6 +13368,8 @@ self: super: with self; { selenium = callPackage ../development/python-modules/selenium { }; + selenium-wire = callPackage ../development/python-modules/selenium-wire { }; + semantic-version = callPackage ../development/python-modules/semantic-version { }; semaphore-bot = callPackage ../development/python-modules/semaphore-bot { };