Skip to content
This repository has been archived by the owner on Aug 7, 2020. It is now read-only.

Tenable.io SDK offers a scalable and safe way to integrate with the Tenable.io platform.

License

Notifications You must be signed in to change notification settings

tenable/Tenable.io-SDK-for-Python

Repository files navigation

NOTICE: Tenable.io SDK for Python is being deprecated in favor of pyTenable

Tenable is deprecating the tenable_io package in favor of the more widely used library, pyTenable. pyTenable offers all of the same functionality as this package, as well as support for Tenable.sc. However, it should be noted that pyTenable functions are not compatible with tenable_io functions. Support for the tenable_io package will end on August 1, 2020.

Original README

Tenable.io SDK for Python

https://img.shields.io/pypi/v/tenable-io.svg?style=flat-square https://img.shields.io/github/license/tenable/Tenable.io-SDK-for-Python

Welcome to the Tenable.io SDK for Python. This library can be used to easily integrate with the tenable.io API.

For you coffee lovers, check out Tenable.io SDK for Java.

Report any issues here.

Additional documentation is available in our Developer Portal.

Installation

$ pip install tenable_io

Quick Start

Quickest way to get started is to checkout the example scripts.

Configuration

Access key and secret key are needed to authenticate with the Tenable Cloud API. There are three ways to supply the keys to the TenableIOClient:

Precedence Method
1 Constructor Arguments
2 INI File
3 Environment Variables

TenableIOClient Constructor Arguments

TenableIOClient(access_key='YOUR_ACCESS_KEY', secret_key='YOUR_SECRET_KEY')

INI File

A tenable_io.ini can be created in the working directory. See tenable_io.ini.example on what it should look like.
Note: The tenable_io.ini.example file is in Jinja template format.

Environment Variables

TenableIOClient looks for the environment variables TENABLEIO_ACCESS_KEY and TENABLEIO_SECRET_KEY.

Python Version

2.7, 3.4+

Development

It is recommend to use virtualenv to setup an isolated local environment.

$ virtualenv .venv
# To use a different python bin (i.e. python3).
$ virtualenv .venv3 -p $(which python3)
# To active the virtualenv
$ source ./.venv/bin/activate

Install dependencies.

$ pip install -r ./requirements.txt
$ pip install -r ./requirements-build.txt

Run Tests

Additional configuration is needed for tests to correctly run. See the [tenable_io-test] section under tenable_io.ini.example. Such configuration can be done via the INI file tenable_io.ini or environment variables.

$ py.test

Documentations

To generate/force update the RST documentations from docstrings.

$ sphinx-apidoc -f -o doc/source tenable_io

Generate HTML documentation.

$ cd doc
$ make clean && make html