1{ lib
2, appdirs
3, buildPythonPackage
4, defusedxml
5, fetchFromGitHub
6, marshmallow
7, pytest-datafiles
8, pytest-vcr
9, pytestCheckHook
10, python-box
11, python-dateutil
12, pythonOlder
13, requests
14, requests-pkcs12
15, responses
16, restfly
17, semver
18, typing-extensions
19}:
20
21buildPythonPackage rec {
22 pname = "pytenable";
23 version = "1.4.9";
24 format = "setuptools";
25
26 disabled = pythonOlder "3.7";
27
28 src = fetchFromGitHub {
29 owner = "tenable";
30 repo = "pyTenable";
31 rev = "refs/tags/${version}";
32 hash = "sha256-Cj1/f/e+j5CJMl+afF+HStd419Uh053jKk/vmObaBl8=";
33 };
34
35 propagatedBuildInputs = [
36 semver
37 ];
38
39 buildInputs = [
40 appdirs
41 defusedxml
42 marshmallow
43 python-box
44 python-dateutil
45 requests
46 requests-pkcs12
47 restfly
48 typing-extensions
49 ];
50
51 checkInputs = [
52 responses
53 pytest-datafiles
54 pytest-vcr
55 pytestCheckHook
56 ];
57
58 disabledTests = [
59 # Disable tests that requires a Docker container
60 "test_uploads_docker_push_name_typeerror"
61 "test_uploads_docker_push_tag_typeerror"
62 "test_uploads_docker_push_cs_name_typeerror"
63 "test_uploads_docker_push_cs_tag_typeerror"
64 ];
65
66 pythonImportsCheck = [
67 "tenable"
68 ];
69
70 meta = with lib; {
71 description = "Python library for the Tenable.io and TenableSC API";
72 homepage = "https://github.com/tenable/pyTenable";
73 license = with licenses; [ mit ];
74 maintainers = with maintainers; [ fab ];
75 };
76}