pyTenable
Python library to interface into Tenable's products and applications
What it is and what it does
pyTenable is a Python wrapper that normalizes access to multiple Tenable vulnerability management and security products under a common interface. Rather than learning each product's distinct REST API, you instantiate a product-specific client and call methods that follow consistent patterns across the library.
The package depends on requests for HTTP communication, marshmallow and pydantic for data validation and serialization, graphql-core for GraphQL support, and several utility libraries including python-dateutil, arrow, semver, defusedxml, and python-box to handle common data transformation tasks. It's designed for developers who need to automate vulnerability scanning, retrieve scan results, manage security policies, or integrate vulnerability data into larger security workflows.
Use it for:
- Automate vulnerability scans and retrieve results programmatically for reporting or downstream processing.
- Query for vulnerabilities and compliance data to feed into a centralized security dashboard or SIEM.
- Build orchestration scripts that manage scan schedules, policies, or asset groups across products.
- Integrate vulnerability data into CI/CD pipelines to gate deployments based on scan findings.
- Export and transform vulnerability metadata for custom analysis or compliance audits.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
pyTenable provides a unified Python interface to Tenable's vulnerability management and security products, abstracting away differences between their individual APIs.
Yes. pyTenable is actively maintained, has low install friction, carries no known security vulnerabilities, and is licensed permissively under MIT. It's appropriate for any Python project that needs to integrate with Tenable products. The main consideration is whether your use case fits the products it supports.
Install
pytenable on PyPI
pip
pip install pytenableuv
uv add pytenablepoetry
poetry add pytenableInstalling pyTenable
Before you install
Low friction install with a pure Python wheel. Actively maintained as of 2026-08-05 with 14 runtime dependencies. Supports current Python versions; requires 3.11 or later.
License in practice
MIT License (permissive) — you can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.
Quickstart
pip install pytenable
from tenable.io import TenableIO
tio = TenableIO(access_key='YOUR_KEY', secret_key='YOUR_SECRET')
for scan in tio.scans.list():
print(scan)
Requires Python 3.11 or later. You must obtain valid API credentials (access_key and secret_key) from your Tenable application.
Verify before relying
- Whether all 14 runtime dependencies are truly required for basic use or if some are optional for specific products.
- Performance characteristics when handling large result sets from scans or analyses.
- Which Tenable product versions are supported and whether there are known compatibility gaps.
Package facts
| License | MIT License (permissive) |
| Python support | supports the current Python release (>=3.11) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 14 — requests, python-dateutil, semver, marshmallow, python-box, defusedxml, urllib3, typing-extensions, requests-toolbelt, gql, graphql-core, pydantic, pydantic-extra-types, arrow |
| Maintenance | actively maintained — 65 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 346,255/month — #7,356 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pytenable-26.6.1-py3-none-any.whl
Keywords: tenable, tenable vulnerability management, tenable security center, tenable securitycenter, tenable.io, tenable.sc, tenable.cs, tenable cloud security, tenable container security, tenable.ot, tenable ot security, tenable one, tenable cloud
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
google-cloud-securitycenterPython client library for Google Cloud Security…
permissive · top 15,000 on PyPI
docker-pyA Python client library that lets you control…
permissive · top 5,000 on PyPI
google-shopping-merchant-productsPython client library for Google Shopping…
permissive · top 15,000 on PyPI
matter-ble-proxyA Python client library that bridges BLE…
permissive · top 15,000 on PyPI
onepasswordWrapper around the 1Password CLI that lets you…
permissive · top 15,000 on PyPI
safetySafety CLI scans Python project dependencies…
permissive · top 5,000 on PyPI
home-assistant-chip-coreProvides Python bindings and tools for the…
permissive · top 15,000 on PyPI
minioProvides high-level Python APIs to connect to…
permissive · top 5,000 on PyPI
miniopy-asyncAsynchronous Python client for MinIO object…
permissive · top 15,000 on PyPI