diff --git a/pkgs/development/python-modules/roadlib/default.nix b/pkgs/development/python-modules/roadlib/default.nix new file mode 100644 index 000000000000..303024a90f52 --- /dev/null +++ b/pkgs/development/python-modules/roadlib/default.nix @@ -0,0 +1,46 @@ +{ lib +, adal +, buildPythonPackage +, fetchPypi +, pyjwt +, pythonOlder +, setuptools +, sqlalchemy +}: + +buildPythonPackage rec { + pname = "roadlib"; + version = "0.23.0"; + pyproject = true; + + disabled = pythonOlder "3.7"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-0hDiuF0dBRyR2B9dp4c7/jsC6li8uOduQBbhs6fFLfU="; + }; + + nativeBuildInputs = [ + setuptools + ]; + + propagatedBuildInputs = [ + adal + pyjwt + sqlalchemy + ]; + + # Module has no test + doCheck = false; + + pythonImportsCheck = [ + "roadtools.roadlib" + ]; + + meta = with lib; { + description = "ROADtools common components library"; + homepage = "https://pypi.org/project/roadlib/"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/roadrecon/default.nix b/pkgs/development/python-modules/roadrecon/default.nix new file mode 100644 index 000000000000..0f1f412919b2 --- /dev/null +++ b/pkgs/development/python-modules/roadrecon/default.nix @@ -0,0 +1,63 @@ +{ lib +, aiohttp +, buildPythonPackage +, fetchPypi +, flask +, flask-cors +, flask-marshmallow +, flask-sqlalchemy +, marshmallow +, marshmallow-sqlalchemy +, openpyxl +, pythonOlder +, pythonRelaxDepsHook +, roadlib +, setuptools +, sqlalchemy +}: + +buildPythonPackage rec { + pname = "roadrecon"; + version = "1.4.0"; + pyproject = true; + + disabled = pythonOlder "3.7"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-OEftVwU30tLP091Z5CIl67hkjjcqY+Qo04/wHZlbuFc="; + }; + + pythonRelaxDeps = [ + "flask" + ]; + + nativeBuildInputs = [ + pythonRelaxDepsHook + setuptools + ]; + + propagatedBuildInputs = [ + aiohttp + flask + flask-cors + flask-marshmallow + flask-sqlalchemy + marshmallow + marshmallow-sqlalchemy + openpyxl + roadlib + sqlalchemy + ]; + + pythonImportsCheck = [ + "roadtools.roadrecon" + ]; + + meta = with lib; { + description = "Azure AD recon"; + homepage = "https://pypi.org/project/roadrecon/"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/roadtools/default.nix b/pkgs/development/python-modules/roadtools/default.nix new file mode 100644 index 000000000000..6ea6bc5138b2 --- /dev/null +++ b/pkgs/development/python-modules/roadtools/default.nix @@ -0,0 +1,43 @@ +{ lib +, buildPythonPackage +, fetchPypi +, pythonOlder +, setuptools +, roadrecon +, roadlib +, roadtx +}: + +buildPythonPackage rec { + pname = "roadtools"; + version = "0.0.1"; + pyproject = true; + + disabled = pythonOlder "3.7"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-Cqcd+bKkfYXCeJBXu6peMjBoA6gve2XBPdCAAuTKGEE="; + }; + + nativeBuildInputs = [ + setuptools + ]; + + propagatedBuildInputs = [ + roadrecon + roadlib + roadtx + ]; + + pythonImportsCheck = [ + "roadtools" + ]; + + meta = with lib; { + description = "Azure AD tooling framework"; + homepage = "https://github.com/dirkjanm/ROADtools"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/roadtx/default.nix b/pkgs/development/python-modules/roadtx/default.nix new file mode 100644 index 000000000000..4ea50269cd76 --- /dev/null +++ b/pkgs/development/python-modules/roadtx/default.nix @@ -0,0 +1,51 @@ +{ lib +, buildPythonPackage +, fetchPypi +, pycryptodomex +, pyotp +, pythonOlder +, requests +, roadlib +, selenium +, selenium-wire +, setuptools +, signxml +}: + +buildPythonPackage rec { + pname = "roadtx"; + version = "1.7.0"; + pyproject = true; + + disabled = pythonOlder "3.7"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-qnumJbuBH+ajzfG+bLTrYPvB5uNnL8dJsTZoT2vo6g0="; + }; + + nativeBuildInputs = [ + setuptools + ]; + + propagatedBuildInputs = [ + pycryptodomex + pyotp + requests + roadlib + selenium + selenium-wire + signxml + ]; + + pythonImportsCheck = [ + "roadtools.roadtx" + ]; + + meta = with lib; { + description = "ROADtools Token eXchange"; + homepage = "https://pypi.org/project/roadtx/"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + }; +} 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/development/python-modules/signxml/default.nix b/pkgs/development/python-modules/signxml/default.nix new file mode 100644 index 000000000000..c6c6ccea9b15 --- /dev/null +++ b/pkgs/development/python-modules/signxml/default.nix @@ -0,0 +1,57 @@ +{ lib +, buildPythonPackage +, certifi +, cryptography +, fetchFromGitHub +, lxml +, pyopenssl +, pytestCheckHook +, pythonOlder +, setuptools +}: + +buildPythonPackage rec { + pname = "signxml"; + version = "3.2.2"; + pyproject = true; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "XML-Security"; + repo = "signxml"; + rev = "refs/tags/v${version}"; + hash = "sha256-TlOIHYvx1o46nr/3qq45pgeOqmuyWaaTGvOS0Jwz1zs="; + }; + + nativeBuildInputs = [ + setuptools + ]; + + propagatedBuildInputs = [ + certifi + cryptography + lxml + pyopenssl + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "signxml" + ]; + + pytestFlagsArray = [ + "test/test.py" + ]; + + meta = with lib; { + description = "Python XML Signature and XAdES library"; + homepage = "https://github.com/XML-Security/signxml"; + changelog = "https://github.com/XML-Security/signxml/blob/${src.rev}/Changes.rst"; + license = licenses.asl20; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 1b7d9d70733a..b73c6edbe10b 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -13008,6 +13008,14 @@ self: super: with self; { rns = callPackage ../development/python-modules/rns { }; + roadlib = callPackage ../development/python-modules/roadlib { }; + + roadrecon = callPackage ../development/python-modules/roadrecon { }; + + roadtools = callPackage ../development/python-modules/roadtools { }; + + roadtx = callPackage ../development/python-modules/roadtx { }; + robomachine = callPackage ../development/python-modules/robomachine { }; robot-detection = callPackage ../development/python-modules/robot-detection { }; @@ -13368,6 +13376,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 { }; @@ -13526,6 +13536,8 @@ self: super: with self; { signedjson = callPackage ../development/python-modules/signedjson { }; + signxml = callPackage ../development/python-modules/signxml { }; + sigrok = callPackage ../development/python-modules/sigrok { }; sigstore = callPackage ../development/python-modules/sigstore { };