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