How tenable/pytenable works
pyTenable is a Python SDK over Tenable’s cloud and on-premise security products. The principal workflow is: an engineer creates a product client, selects a domain API, invokes a resource operation, and receives parsed API data or submits a synchronization job. Product clients expose distinct asset, vulnerability, event, scan, identity, and export stages. Sampled code confirms shared HTTP/GraphQL transport, endpoint delegation, OT queries, and sync retries; several product branches are retained from the tree and README without asserting unsampled internal calls.
Main entry points: _restfly_v1.py HTTP GraphQL Transport · session.py Tenable OT Client · platform.py API Platform · endpoint.py Endpoint Abstraction
Components 26
Shared Runtime
- API Platform
tenable/base/platform.py - HTTP GraphQL Transport
tenable/base/_restfly_v1.py - Endpoint Abstraction
tenable/base/endpoint.py
Product Clients
- Tenable IO Client
tenable/io/__init__.py - Tenable SC Client
tenable/sc/__init__.py - Tenable OT Client
tenable/ot/session.py - Cloud Security Client
tenable/cloudsecurity/session.py - ASM Client
tenable/asm/session.py - Identity Exposure Client
tenable/ie/session.py
Domain APIs
- Cloud Scans
tenable/io/scans.py - SC Analysis
tenable/sc/analysis.py - OT Assets
tenable/ot/assets.py - OT Events
tenable/ot/events.py - OT Plugins
tenable/ot/plugins.py - OT Exports
tenable/ot/exports/api.py - Cloud Assets
tenable/cloudsecurity/assets.py - Cloud Vulnerabilities
tenable/cloudsecurity/vulns.py - ASM Inventory
tenable/asm/inventory.py - Identity Exposure APIs
tenable/ie/session.py
Synchronization
- Sync Jobs API
tenable/io/sync/api.py - Sync Job Manager
tenable/io/sync/job_manager.py
Other components
- Engineer
- Tenable Cloud Service
- Tenable SC Service
- Tenable OT Service
- Identity Service
Connections 40
- Engineer → Tenable IO Client: creates
- Engineer → Tenable SC Client: creates
- Engineer → Tenable OT Client: creates
- Engineer → Cloud Security Client: creates
- Engineer → ASM Client: creates
- Engineer → Identity Exposure Client: creates
- Tenable IO Client → Cloud Scans: exposes
- Tenable SC Client → SC Analysis: exposes
- Tenable OT Client → OT Assets: exposes
- Tenable OT Client → OT Events: exposes
- Tenable OT Client → OT Plugins: exposes
- Tenable OT Client → OT Exports: exposes
- Cloud Security Client → Cloud Assets: exposes
- Cloud Security Client → Cloud Vulnerabilities: exposes
- ASM Client → ASM Inventory: exposes
- Identity Exposure Client → Identity Exposure APIs: exposes
- Tenable IO Client → Sync Jobs API: exposes
- Sync Job Manager → Sync Jobs API: uploads chunks
- Sync Job Manager → Sync Jobs API: submits jobs
- Cloud Scans → Endpoint Abstraction: uses
- SC Analysis → Endpoint Abstraction: uses
- OT Assets → HTTP GraphQL Transport: queries
- OT Events → HTTP GraphQL Transport: queries
- OT Plugins → HTTP GraphQL Transport: queries
- OT Exports → HTTP GraphQL Transport: requests
- Cloud Assets → HTTP GraphQL Transport: queries
- Cloud Vulnerabilities → HTTP GraphQL Transport: queries
- ASM Inventory → Endpoint Abstraction: uses
- Identity Exposure APIs → Endpoint Abstraction: uses
- Endpoint Abstraction → HTTP GraphQL Transport: sends requests
- HTTP GraphQL Transport → Tenable Cloud Service: calls
- HTTP GraphQL Transport → Tenable SC Service: calls
- HTTP GraphQL Transport → Tenable OT Service: calls
- HTTP GraphQL Transport → Identity Service: calls
- API Platform → HTTP GraphQL Transport: configures
- Tenable IO Client → API Platform: inherits
- Tenable SC Client → API Platform: inherits
- Tenable OT Client → API Platform: inherits
- ASM Client → API Platform: inherits
- Identity Exposure Client → API Platform: inherits