diff --git a/pkgs/development/python-modules/lacuscore/default.nix b/pkgs/development/python-modules/lacuscore/default.nix index fd787acd71cb..3d8f40441ca8 100644 --- a/pkgs/development/python-modules/lacuscore/default.nix +++ b/pkgs/development/python-modules/lacuscore/default.nix @@ -15,14 +15,14 @@ buildPythonPackage rec { pname = "lacuscore"; - version = "1.21.1"; + version = "1.24.7"; pyproject = true; src = fetchFromGitHub { owner = "ail-project"; repo = "LacusCore"; tag = "v${version}"; - hash = "sha256-I6Qh7AzcTYDxNmvgTNVVPSenLfAbdLawdiN8JrrF25s="; + hash = "sha256-3LI36/+Ib67IyG69ww3A295Mqjzi+t7RIT3DBBqLJok="; }; pythonRelaxDeps = [ diff --git a/pkgs/development/python-modules/lookyloo-models/default.nix b/pkgs/development/python-modules/lookyloo-models/default.nix new file mode 100644 index 000000000000..1451084972e7 --- /dev/null +++ b/pkgs/development/python-modules/lookyloo-models/default.nix @@ -0,0 +1,52 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + uv-build, + dateparser, + orjson, + pydantic, + ua-parser, +}: + +buildPythonPackage (finalAttrs: { + pname = "lookyloo-models"; + version = "0.2.7"; + pyproject = true; + + src = fetchFromGitHub { + owner = "Lookyloo"; + repo = "lookyloo-models"; + tag = "v${finalAttrs.version}"; + hash = "sha256-iIeC7+RBITENUpTM0PuHG8fPtWoEUoq4+40XqwvCVvc="; + }; + + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail "uv_build>=0.11,<0.12" "uv_build" + ''; + + pythonRelaxDeps = [ "pydantic" ]; + + build-system = [ uv-build ]; + + dependencies = [ + dateparser + orjson + pydantic + ua-parser + ]; + + # Module has no tests + doCheck = false; + + pythonImportsCheck = [ "lookyloo_models" ]; + + meta = { + description = "Set of models representing data passed around across the toolchain"; + homepage = "https://github.com/Lookyloo/lookyloo-models"; + # https://github.com/Lookyloo/lookyloo-models/issues/2 + license = lib.licenses.unfree; + maintainers = with lib.maintainers; [ fab ]; + }; +}) diff --git a/pkgs/development/python-modules/playwrightcapture/default.nix b/pkgs/development/python-modules/playwrightcapture/default.nix index 00823daa9188..ad55a96b3d7e 100644 --- a/pkgs/development/python-modules/playwrightcapture/default.nix +++ b/pkgs/development/python-modules/playwrightcapture/default.nix @@ -7,12 +7,14 @@ dateparser, dnspython, fetchFromGitHub, + lookyloo-models, orjson, playwright-stealth, playwright, poetry-core, - puremagic, + pure-magic-rs, pydub, + pyfaup-rs, pytz, requests, rfc3161-client, @@ -24,14 +26,14 @@ buildPythonPackage rec { pname = "playwrightcapture"; - version = "1.36.2"; + version = "1.39.12"; pyproject = true; src = fetchFromGitHub { owner = "Lookyloo"; repo = "PlaywrightCapture"; tag = "v${version}"; - hash = "sha256-/lXoubcwV/Lt/qg17BhMM6p+0XUgAe2pMtowobs3MA8="; + hash = "sha256-k+mzrgw4BvTGmjp/j521BQKwnaHrcNrr/9U2mgzsf8E="; }; pythonRelaxDeps = [ @@ -52,10 +54,12 @@ buildPythonPackage rec { beautifulsoup4 dateparser dnspython + lookyloo-models orjson playwright playwright-stealth - puremagic + pure-magic-rs + pyfaup-rs pytz requests rfc3161-client diff --git a/pkgs/development/python-modules/pure-magic-rs/default.nix b/pkgs/development/python-modules/pure-magic-rs/default.nix new file mode 100644 index 000000000000..ebb77f6fd79a --- /dev/null +++ b/pkgs/development/python-modules/pure-magic-rs/default.nix @@ -0,0 +1,44 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + pytestCheckHook, + rustPlatform, +}: + +buildPythonPackage (finalAttrs: { + pname = "pure-magic-rs"; + version = "0.3.2"; + pyproject = true; + + src = fetchFromGitHub { + owner = "qjerome"; + repo = "magic-rs"; + tag = "pure-magic-v${finalAttrs.version}"; + hash = "sha256-AbTDzW+HcZrxC2BLI5k/CVT8MmB5DZYdWejGQG3uxb4="; + }; + + cargoDeps = rustPlatform.fetchCargoVendor { + inherit (finalAttrs) pname version src; + hash = "sha256-ra+ftzzwgIlBM+fnbR6xKUTCpup71jehKO3GyDEea9Y="; + }; + + buildAndTestSubdir = "python"; + + nativeBuildInputs = with rustPlatform; [ + cargoSetupHook + maturinBuildHook + ]; + + nativeCheckInputs = [ pytestCheckHook ]; + + pythonImportsCheck = [ "pure_magic_rs" ]; + + meta = { + description = "Safe Rust implementation of libmagic"; + homepage = "https://github.com/qjerome/magic-rs"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ fab ]; + mainProgram = "pure-magic-rs"; + }; +}) diff --git a/pkgs/development/python-modules/pyfaup-rs/default.nix b/pkgs/development/python-modules/pyfaup-rs/default.nix new file mode 100644 index 000000000000..9d1290619ceb --- /dev/null +++ b/pkgs/development/python-modules/pyfaup-rs/default.nix @@ -0,0 +1,44 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + pytestCheckHook, + rustPlatform, +}: + +buildPythonPackage (finalAttrs: { + pname = "pyfaup-rs"; + version = "0.4.9"; + pyproject = true; + + src = fetchFromGitHub { + owner = "ail-project"; + repo = "faup-rs"; + tag = "pyfaup-rs-v${finalAttrs.version}"; + hash = "sha256-eL03QC2UINONXUyWwgiL4WYsq3/pXYffK5LcK9qVo0w="; + }; + + cargoDeps = rustPlatform.fetchCargoVendor { + inherit (finalAttrs) pname version src; + hash = "sha256-Wv1dT3TmZ8Dviv/FXdHa5ptM/ZleoUGSJTuPLhMfBVw="; + }; + + buildAndTestSubdir = "python"; + + nativeBuildInputs = with rustPlatform; [ + cargoSetupHook + maturinBuildHook + ]; + + nativeCheckInputs = [ pytestCheckHook ]; + + pythonImportsCheck = [ "pyfaup" ]; + + meta = { + description = "Url parsing library"; + homepage = "https://github.com/ail-project/faup-rs"; + changelog = "https://github.com/ail-project/faup-rs/releases/tag/pyfaup-rs-${finalAttrs.src.tag}"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ fab ]; + }; +}) diff --git a/pkgs/development/python-modules/pylookyloo/default.nix b/pkgs/development/python-modules/pylookyloo/default.nix new file mode 100644 index 000000000000..f3f2a37b478d --- /dev/null +++ b/pkgs/development/python-modules/pylookyloo/default.nix @@ -0,0 +1,49 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + poetry-core, + lookyloo-models, + pydantic, + requests, + urllib3, +}: + +buildPythonPackage (finalAttrs: { + pname = "pylookyloo"; + version = "1.39.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "Lookyloo"; + repo = "PyLookyloo"; + tag = "v${finalAttrs.version}"; + hash = "sha256-3bdVc2OvYJ9gH44PuTKPLg9e3psyBKqRs0jzrBYwRas="; + }; + + build-system = [ poetry-core ]; + + dependencies = [ + lookyloo-models + pydantic + requests + urllib3 + ]; + + # Tests are outdated + doCheck = false; + + pythonImportsCheck = [ "pylookyloo" ]; + + meta = { + description = "Python CLI and module for Lookyloo"; + homepage = "https://github.com/Lookyloo/PyLookyloo"; + changelog = "https://github.com/Lookyloo/PyLookyloo/releases/tag/${finalAttrs.src.tag}"; + license = with lib.licenses; [ + bsd3 + gpl2Plus + ]; + maintainers = with lib.maintainers; [ fab ]; + mainProgram = "lookyloo"; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 66aded00849f..2803ff10fc33 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9446,6 +9446,8 @@ self: super: with self; { london-tube-status = callPackage ../development/python-modules/london-tube-status { }; + lookyloo-models = callPackage ../development/python-modules/lookyloo-models { }; + loompy = callPackage ../development/python-modules/loompy { }; looptime = callPackage ../development/python-modules/looptime { }; @@ -13270,6 +13272,8 @@ self: super: with self; { pure-eval = callPackage ../development/python-modules/pure-eval { }; + pure-magic-rs = callPackage ../development/python-modules/pure-magic-rs { }; + pure-pcapy3 = callPackage ../development/python-modules/pure-pcapy3 { }; pure-protobuf = callPackage ../development/python-modules/pure-protobuf { }; @@ -13995,6 +13999,8 @@ self: super: with self; { pyfatfs = callPackage ../development/python-modules/pyfatfs { }; + pyfaup-rs = callPackage ../development/python-modules/pyfaup-rs { }; + pyfcm = callPackage ../development/python-modules/pyfcm { }; pyfdt = callPackage ../development/python-modules/pyfdt { }; @@ -14417,6 +14423,8 @@ self: super: with self; { pyloggermanager = callPackage ../development/python-modules/pyloggermanager { }; + pylookyloo = callPackage ../development/python-modules/pylookyloo { }; + pylpsd = callPackage ../development/python-modules/pylpsd { }; pylru = callPackage ../development/python-modules/pylru { };