{"library":"pytenable","title":"Tenable API Client (pyTenable)","description":"pyTenable is the official Python library for interacting with Tenable's cybersecurity platforms, including Tenable.io and Tenable.sc. It provides a convenient, object-oriented interface to the various APIs, simplifying common tasks like vulnerability management, asset discovery, and compliance checks. The library is actively maintained, with frequent minor and patch releases to support new API features and address issues; its current version is 1.9.1.","language":"python","status":"active","last_verified":"Sun May 17","install":{"commands":["pip install pytenable"],"cli":{"name":"pytenable","version":"sh: 1: pytenable: not found"}},"imports":["from tenable.io import TenableIO","from tenable.sc import TenableSC"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import os\nfrom tenable.io import TenableIO\n\n# Ensure TENABLE_ACCESS_KEY and TENABLE_SECRET_KEY environment variables are set\naccess_key = os.environ.get('TENABLE_ACCESS_KEY', '')\nsecret_key = os.environ.get('TENABLE_SECRET_KEY', '')\n\nif not access_key or not secret_key:\n    print(\"Error: TENABLE_ACCESS_KEY and TENABLE_SECRET_KEY environment variables must be set.\")\n    exit(1)\n\ntio = TenableIO(access_key, secret_key)\n\n# Example: List active scans\ntry:\n    print(\"Retrieving active scans...\")\n    scans = tio.scans.list()\n    for scan in scans:\n        print(f\"Scan ID: {scan['id']}, Name: {scan['name']}, Status: {scan['status']}\")\n    \n    if not scans:\n        print(\"No active scans found.\")\n\nexcept Exception as e:\n    print(f\"An error occurred: {e}\")","lang":"python","description":"This quickstart initializes a Tenable.io client using environment variables for authentication and then lists all active scans. It demonstrates the basic structure for interacting with Tenable.io APIs through the `TenableIO` object.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-17","installed_version":"1.6.3","pypi_latest":"1.9.1","is_stale":true,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":6.3,"avg_import_s":1.22,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"pytenable","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.13,"mem_mb":21,"disk_size":"48.9M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"pytenable","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":7.9,"import_time_s":0.88,"mem_mb":21,"disk_size":"66M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"pytenable","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.61,"mem_mb":22.8,"disk_size":"53.5M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"pytenable","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":6.5,"import_time_s":1.46,"mem_mb":22.8,"disk_size":"72M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"pytenable","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.55,"mem_mb":21.9,"disk_size":"44.7M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"pytenable","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":5.4,"import_time_s":1.65,"mem_mb":22.7,"disk_size":"63M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"pytenable","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.3,"mem_mb":21.2,"disk_size":"44.3M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"pytenable","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":5.4,"import_time_s":1.29,"mem_mb":21.2,"disk_size":"62M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"pytenable","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":0.74,"mem_mb":14.8,"disk_size":"38.0M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"pytenable","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":6.2,"import_time_s":0.56,"mem_mb":14.8,"disk_size":"39M"}]}}