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 = "24.3.0";
19 pyproject = true;
20
21 disabled = pythonOlder "3.9";
22
23 src = fetchFromGitHub {
24 owner = "greenbone";
25 repo = "python-gvm";
26 rev = "refs/tags/v${version}";
27 hash = "sha256-GIEsP8+RJMIehsBbZWpIRXCdqxm042lPbYTHY7/fknM=";
28 };
29
30 build-system = [ poetry-core ];
31
32 dependencies = [
33 defusedxml
34 lxml
35 paramiko
36 typing-extensions
37 ];
38
39 nativeCheckInputs = [
40 pontos
41 pytestCheckHook
42 ];
43
44 disabledTests = [
45 # No running SSH available
46 "test_connect_error"
47 "test_feed_xml_error"
48 ] ++ lib.optionals stdenv.isDarwin [ "test_feed_xml_error" ];
49
50 pythonImportsCheck = [ "gvm" ];
51
52 meta = with lib; {
53 description = "Collection of APIs that help with remote controlling a Greenbone Security Manager";
54 homepage = "https://github.com/greenbone/python-gvm";
55 changelog = "https://github.com/greenbone/python-gvm/releases/tag/v${version}";
56 license = with licenses; [ gpl3Plus ];
57 maintainers = with maintainers; [ fab ];
58 };
59}