{ lib, buildPythonPackage, cryptography, defusedxml, fetchFromGitHub, gql, graphql-core, marshmallow, pytest-cov-stub, pytest-datafiles, pytest-vcr, pytestCheckHook, python-box, python-dateutil, pythonOlder, requests-pkcs12, requests-toolbelt, requests, responses, restfly, semver, setuptools, typing-extensions, }: buildPythonPackage rec { pname = "pytenable"; version = "1.5.2"; pyproject = true; disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "tenable"; repo = "pyTenable"; rev = "refs/tags/${version}"; hash = "sha256-SGfvaYzqJ+OsJ9sGyR3pgCbEkPondhMQMNrE/r/nIY0="; }; pythonRelaxDeps = [ "cryptography" "defusedxml" ]; build-system = [ setuptools ]; dependencies = [ defusedxml marshmallow python-box cryptography gql graphql-core python-dateutil requests requests-toolbelt restfly semver typing-extensions ]; nativeCheckInputs = [ pytest-cov-stub pytest-datafiles pytest-vcr pytestCheckHook requests-pkcs12 responses ]; disabledTestPaths = [ # Disable tests that requires network access "tests/io/" ]; disabledTests = [ # Disable tests that requires a Docker container "test_uploads_docker_push_name_typeerror" "test_uploads_docker_push_tag_typeerror" "test_uploads_docker_push_cs_name_typeerror" "test_uploads_docker_push_cs_tag_typeerror" # Test requires network access "test_assets_list_vcr" "test_events_list_vcr" ]; pythonImportsCheck = [ "tenable" ]; meta = with lib; { description = "Python library for the Tenable.io and TenableSC API"; homepage = "https://github.com/tenable/pyTenable"; changelog = "https://github.com/tenable/pyTenable/releases/tag/${version}"; license = with licenses; [ mit ]; maintainers = with maintainers; [ fab ]; }; }