From bf9e5faf50a828a685095e758519a61b1f78259f Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 28 May 2026 20:20:23 +0200 Subject: [PATCH 1/7] python3Packages.lookyloo-models: init at 0.2.7 Set of models representing data passed around across the toolchain https://github.com/Lookyloo/lookyloo-models --- .../lookyloo-models/default.nix | 52 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 54 insertions(+) create mode 100644 pkgs/development/python-modules/lookyloo-models/default.nix 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/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index a383a1dd9650..981690e3b778 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9444,6 +9444,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 { }; From 87e802b6d8ef50bd06b305a1afc121ba1f8f9bbf Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 28 May 2026 21:03:52 +0200 Subject: [PATCH 2/7] python3Packages.pylookyloo: init at 1.39.1 Python CLI and module for Lookyloo https://github.com/Lookyloo/PyLookyloo --- .../python-modules/pylookyloo/default.nix | 49 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 51 insertions(+) create mode 100644 pkgs/development/python-modules/pylookyloo/default.nix 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 981690e3b778..27d9c6d5db61 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -14417,6 +14417,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 { }; From 94f32b7b1581ce9633651442f75930b3eaba7a6f Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 28 May 2026 21:52:03 +0200 Subject: [PATCH 3/7] python3Packages.pyfaup-rs: init at 0.4.9 Url parsing library https://github.com/ail-project/faup-rs --- .../python-modules/pyfaup-rs/default.nix | 44 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 46 insertions(+) create mode 100644 pkgs/development/python-modules/pyfaup-rs/default.nix 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/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 27d9c6d5db61..efbf1334e33e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -13995,6 +13995,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 { }; From 1e9fe3478fdba037fdbb94f05401f3b8ac916f96 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 28 May 2026 21:58:22 +0200 Subject: [PATCH 4/7] python3Packages.pure-magic-rs: init at 0.2.2 Safe Rust implementation of libmagic https://github.com/qjerome/magic-rs --- .../python-modules/pure-magic-rs/default.nix | 44 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 46 insertions(+) create mode 100644 pkgs/development/python-modules/pure-magic-rs/default.nix 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..942eda4c7333 --- /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.2.2"; + pyproject = true; + + src = fetchFromGitHub { + owner = "qjerome"; + repo = "magic-rs"; + tag = "pure-magic-v${finalAttrs.version}"; + hash = "sha256-YF4XmRQhtmtCNaXGys0e2wmzXb2aWauX6WqKtMU4B4E="; + }; + + cargoDeps = rustPlatform.fetchCargoVendor { + inherit (finalAttrs) pname version src; + hash = "sha256-VM2GtFBsixAtZNjBmfex4b7+Jt/dR9ZjUciUNd3gY/Y="; + }; + + 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/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index efbf1334e33e..e5547b697ce5 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -13270,6 +13270,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 { }; From 868a185934df9525aec94e958043def2651e38c4 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 28 May 2026 22:04:04 +0200 Subject: [PATCH 5/7] python3Packages.pure-magic-rs: 0.2.2 -> 0.3.2 Diff: https://github.com/qjerome/magic-rs/compare/pure-magic-v0.2.2...pure-magic-v0.3.2 --- pkgs/development/python-modules/pure-magic-rs/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/pure-magic-rs/default.nix b/pkgs/development/python-modules/pure-magic-rs/default.nix index 942eda4c7333..ebb77f6fd79a 100644 --- a/pkgs/development/python-modules/pure-magic-rs/default.nix +++ b/pkgs/development/python-modules/pure-magic-rs/default.nix @@ -8,19 +8,19 @@ buildPythonPackage (finalAttrs: { pname = "pure-magic-rs"; - version = "0.2.2"; + version = "0.3.2"; pyproject = true; src = fetchFromGitHub { owner = "qjerome"; repo = "magic-rs"; tag = "pure-magic-v${finalAttrs.version}"; - hash = "sha256-YF4XmRQhtmtCNaXGys0e2wmzXb2aWauX6WqKtMU4B4E="; + hash = "sha256-AbTDzW+HcZrxC2BLI5k/CVT8MmB5DZYdWejGQG3uxb4="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit (finalAttrs) pname version src; - hash = "sha256-VM2GtFBsixAtZNjBmfex4b7+Jt/dR9ZjUciUNd3gY/Y="; + hash = "sha256-ra+ftzzwgIlBM+fnbR6xKUTCpup71jehKO3GyDEea9Y="; }; buildAndTestSubdir = "python"; From f41f5da25b819abf3ed0bed0a0e5e497a5f2b636 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 28 May 2026 22:05:02 +0200 Subject: [PATCH 6/7] python3Packages.playwrightcapture: 1.36.2 -> 1.39.12 Changelog: https://github.com/Lookyloo/PlaywrightCapture/releases/tag/v1.39.12 --- .../python-modules/playwrightcapture/default.nix | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) 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 From e0fa08132ec83262495f971b3d12a428509ab6bd Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 28 May 2026 22:05:55 +0200 Subject: [PATCH 7/7] python3Packages.lacuscore: 1.21.1 -> 1.24.7 Changelog: https://github.com/ail-project/LacusCore/releases/tag/v1.24.7 --- pkgs/development/python-modules/lacuscore/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 = [