{"id":18896166,"url":"https://github.com/tenable/pytenable","last_synced_at":"2025-05-14T07:10:03.837Z","repository":{"id":37385034,"uuid":"114689090","full_name":"tenable/pyTenable","owner":"tenable","description":"Python Library for interfacing into Tenable's platform APIs","archived":false,"fork":false,"pushed_at":"2025-05-05T16:08:29.000Z","size":25247,"stargazers_count":375,"open_issues_count":14,"forks_count":178,"subscribers_count":43,"default_branch":"main","last_synced_at":"2025-05-05T17:36:52.507Z","etag":null,"topics":["nessus","python","tenable","tenablead","tenableio","tenableot","tenablesc"],"latest_commit_sha":null,"homepage":"https://pytenable.readthedocs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tenable.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-12-18T21:23:01.000Z","updated_at":"2025-05-05T16:08:34.000Z","dependencies_parsed_at":"2024-01-12T11:11:26.665Z","dependency_job_id":"45d6ee71-3295-45b0-a18c-7c35a95f452b","html_url":"https://github.com/tenable/pyTenable","commit_stats":{"total_commits":1211,"total_committers":68,"mean_commits":"17.808823529411764","dds":"0.49710982658959535","last_synced_commit":"ffa018bf2e9164627db396393625a816e7e0a55d"},"previous_names":[],"tags_count":99,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tenable%2FpyTenable","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tenable%2FpyTenable/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tenable%2FpyTenable/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tenable%2FpyTenable/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tenable","download_url":"https://codeload.github.com/tenable/pyTenable/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254092790,"owners_count":22013290,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["nessus","python","tenable","tenablead","tenableio","tenableot","tenablesc"],"created_at":"2024-11-08T08:32:45.126Z","updated_at":"2025-05-14T07:09:58.826Z","avatar_url":"https://github.com/tenable.png","language":"Python","readme":"Welcome to pyTenable's documentation!\n=====================================\n\n.. image:: https://img.shields.io/pypi/v/pytenable.svg\n.. image:: https://img.shields.io/badge/python-3.10%2B-blue\n.. image:: https://img.shields.io/readthedocs/pytenable\n.. image:: https://img.shields.io/pypi/dm/pytenable\n.. image:: https://img.shields.io/github/license/tenable/pyTenable.svg\n.. image:: https://sonarcloud.io/api/project_badges/measure?project=tenable_pyTenable\u0026metric=alert_status\n\npyTenable is intended to be a pythonic interface into the Tenable application\nAPIs.  Further by providing a common interface and a common structure between\nall of the various applications, we can ease the transition from the vastly\ndifferent APIs between some of the products.\n\n- Issue Tracker: https://github.com/tenable/pyTenable/issues\n- Github Repository: https://github.com/tenable/pyTenable\n- Docs: https://pytenable.readthedocs.io\n\nInstallation\n------------\n\nTo install the most recent published version to pypi, its simply a matter of\ninstalling via pip:\n\n.. code-block:: bash\n\n   pip install pytenable\n\nIf you're looking for bleeding-edge, then feel free to install directly from the\ngithub repository like so:\n\n.. code-block:: bash\n\n   pip install git+git://github.com/tenable/pytenable.git#egg=pytenable\n\nGetting Started\n---------------\n\nLets assume that we want to get the list of scans that have been run on our\nTenable.io application.  Performing this action is as simple as the following:\n\n.. code-block:: python\n\n   from tenable.io import TenableIO\n   tio = TenableIO(access_key='TIO_ACCESS_KEY', secret_key='TIO_SECRET_KEY')\n   for scan in tio.scans.list():\n      print('{status}: {id}/{uuid} - {name}'.format(**scan))\n\nGetting started with Tenable.sc is equally as easy:\n\n.. code-block:: python\n\n   from tenable.sc import TenableSC\n   sc = TenableSC(url='https://SC_URL', access_key='AKEY', secret_key='SKEY')\n   for vuln in sc.analysis.vulns():\n      print('{ip}:{pluginID}:{pluginName}'.format(**vuln))\n\nFor more detailed information on whats available, please refer to the\n`pyTenable Documentation \u003chttps://pytenable.readthedocs.io/\u003e`_\n\nLogging\n-------\n\nEnabling logging for pyTenable is a simple matter of enabling debug logs through\nthe python logging package.  An easy example is detailed here:\n\n.. code-block:: python\n\n   import logging\n   logging.basicConfig(level=logging.DEBUG)\n\nLicense\n-------\n\nThe project is licensed under the MIT license.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftenable%2Fpytenable","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftenable%2Fpytenable","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftenable%2Fpytenable/lists"}