1{ 2 lib, 3 stdenv, 4 buildPythonPackage, 5 defusedxml, 6 fetchFromGitHub, 7 lxml, 8 paramiko, 9 poetry-core, 10 pontos, 11 pytestCheckHook, 12 pythonOlder, 13 typing-extensions, 14}: 15 16buildPythonPackage rec { 17 pname = "python-gvm"; 18 version = "26.1.1"; 19 pyproject = true; 20 21 disabled = pythonOlder "3.9"; 22 23 src = fetchFromGitHub { 24 owner = "greenbone"; 25 repo = "python-gvm"; 26 tag = "v${version}"; 27 hash = "sha256-NslJHSNFVaUJhUXFUPeJ/S1zIpQmaKrXgQGjKOQJw2k="; 28 }; 29 30 build-system = [ poetry-core ]; 31 32 pythonRelaxDeps = [ "defusedxml" ]; 33 34 dependencies = [ 35 defusedxml 36 lxml 37 paramiko 38 typing-extensions 39 ]; 40 41 nativeCheckInputs = [ 42 pontos 43 pytestCheckHook 44 ]; 45 46 disabledTests = [ 47 # No running SSH available 48 "test_connect_error" 49 "test_feed_xml_error" 50 ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ "test_feed_xml_error" ]; 51 52 pythonImportsCheck = [ "gvm" ]; 53 54 meta = with lib; { 55 description = "Collection of APIs that help with remote controlling a Greenbone Security Manager"; 56 homepage = "https://github.com/greenbone/python-gvm"; 57 changelog = "https://github.com/greenbone/python-gvm/releases/tag/${src.tag}"; 58 license = with licenses; [ gpl3Plus ]; 59 maintainers = with maintainers; [ fab ]; 60 }; 61}