diff --git a/pkgs/development/python-modules/cyvest/default.nix b/pkgs/development/python-modules/cyvest/default.nix new file mode 100644 index 000000000000..c5915560d69f --- /dev/null +++ b/pkgs/development/python-modules/cyvest/default.nix @@ -0,0 +1,60 @@ +{ + lib, + buildPythonPackage, + click, + fetchFromGitHub, + logurich, + pydantic, + pytest-cov-stub, + pytestCheckHook, + pyvis, + rich, + typing-extensions, + uv-build, +}: + +buildPythonPackage (finalAttrs: { + pname = "cyvest"; + version = "5.1.4"; + pyproject = true; + + src = fetchFromGitHub { + owner = "PakitoSec"; + repo = "cyvest"; + tag = "v${finalAttrs.version}"; + hash = "sha256-OvAnhasc4iZtfi8olQ4rLaokcaC/b5rYdPPMn2pVYTA="; + }; + + pythonRelaxDeps = [ "pydantic" ]; + + build-system = [ uv-build ]; + + dependencies = [ + click + logurich + pydantic + rich + typing-extensions + ]; + + optional-dependencies = { + visualization = [ + pyvis + ]; + }; + + nativeCheckInputs = [ + pytest-cov-stub + pytestCheckHook + ]; + + pythonImportsCheck = [ "cyvest" ]; + + meta = { + description = "Cybersecurity Investigation Model"; + homepage = "https://github.com/PakitoSec/cyvest"; + changelog = "https://github.com/PakitoSec/cyvest/releases/tag/v${finalAttrs.src.tag}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ fab ]; + }; +}) diff --git a/pkgs/development/python-modules/logurich/default.nix b/pkgs/development/python-modules/logurich/default.nix new file mode 100644 index 000000000000..98f7b34876a0 --- /dev/null +++ b/pkgs/development/python-modules/logurich/default.nix @@ -0,0 +1,53 @@ +{ + lib, + buildPythonPackage, + click, + fetchFromGitHub, + loguru, + pytestCheckHook, + rich, + uv-build, +}: + +buildPythonPackage (finalAttrs: { + pname = "logurich"; + version = "0.7.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "PakitoSec"; + repo = "logurich"; + tag = "v${finalAttrs.version}"; + hash = "sha256-+Ez1tS/kDguq8mQImiu2/h64YsBCTVv4b4sT/tJaD7E="; + }; + + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail "uv_build>=0.9.20,<0.10.0" "uv_build" + ''; + + build-system = [ uv-build ]; + + dependencies = [ + loguru + rich + ]; + + optional-dependencies = { + click = [ + click + ]; + }; + + nativeCheckInputs = [ pytestCheckHook ]; + + pythonImportsCheck = [ "logurich" ]; + + meta = { + description = "Logger that combine loguru and rich"; + homepage = "https://github.com/PakitoSec/logurich"; + changelog = "https://github.com/PakitoSec/logurich/releases/tag/v${finalAttrs.src.tag}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ fab ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 200a96eb4b2d..eae25c92111b 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3458,6 +3458,8 @@ self: super: with self; { cytoolz = callPackage ../development/python-modules/cytoolz { }; + cyvest = callPackage ../development/python-modules/cyvest { }; + dacite = callPackage ../development/python-modules/dacite { }; daemonize = callPackage ../development/python-modules/daemonize { }; @@ -9126,6 +9128,8 @@ self: super: with self; { logster = callPackage ../development/python-modules/logster { }; + logurich = callPackage ../development/python-modules/logurich { }; + loguru = callPackage ../development/python-modules/loguru { }; loguru-logging-intercept = callPackage ../development/python-modules/loguru-logging-intercept { };