# -*- coding: utf-8 -*-
from setuptools import setup

packages = \
['kenna', 'kenna.cli', 'kenna.cli.command_groups']

package_data = \
{'': ['*']}

install_requires = \
['DAWG>=0.8.0,<0.9.0',
 'altair>=4.1.0,<5.0.0',
 'antlr4-python3-runtime>=4.9.2,<5.0.0',
 'certifi>=2021.5.30,<2022.0.0',
 'click>=7.0,<8.0',
 'dacite>=1.6.0,<2.0.0',
 'hodgepodge>=1.0.3,<2.0.0',
 'pandas>=1.3.3,<2.0.0',
 'responses>=0.14.0,<0.15.0']

entry_points = \
{'console_scripts': ['kenna = kenna.cli:cli']}

setup_kwargs = {
    'name': 'kenna',
    'version': '0.3.2',
    'description': '',
    'long_description': '# kenna  ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/kenna) ![PyPI - Wheel](https://img.shields.io/pypi/wheel/kenna) ![PyPI - Downloads](https://img.shields.io/pypi/dm/kenna)\n\n![Kenna](https://raw.githubusercontent.com/whitfieldsdad/images/main/kenna-hero.png)\n\n`kenna` is an [API](https://apidocs.kennasecurity.com/reference) client for [Kenna Security](https://www.kennasecurity.com/) that allows you to work with applications, assets, connectors, dashboard groups, users, roles, vulnerabilities, and fixes.\n\n## FAQ\n\n### What\'s included?\n\n- An API client that allows you to lookup and count applications, assets, asset groups, connectors, connector runs, dashboard groups, users, roles, fixes, and vulnerabilities;\n- A robust command-line interface to go along with it\n\n## Installation\n\nTo install `kenna` using `pip`:\n\n```shell\n$ pip install kenna\n```\n\nTo install `kenna` from source (requires [`poetry`](https://github.com/python-poetry/poetry)):\n\n```shell\n$ git clone git@github.com:whitfieldsdad/python-kenna.git\n$ cd python-kenna\n$ make install\n```\n\nTo install `kenna` from source using `setup.py` (i.e. if you\'re not using `poetry`):\n\n```shell\n$ git clone git@github.com:whitfieldsdad/python-kenna.git\n$ cd python-kenna\n$ python3 setup.py install\n```\n \nFinally, export an environment variable named `KENNA_API_KEY` to your shell (i.e. add it to your `~/.bashrc` or user profile).\n\n## Important environment variables\n\n- `KENNA_API_KEY`: your API key for accessing Kenna (required)\n- `ENABLE_INTEGRATION_TESTS`: `true` or `false` (optional)\n\n## Testing\n\nYou can run the unit tests and integration tests for this package as follows:\n\n```shell\n$ make test\n```\n\nIf the value of the `$ENABLE_INTEGRATION_TESTS` environment variable is set to `true`, both the unit tests and integration tests will be executed:\n\n```shell\n$ ENABLE_INTEGRATION_TESTS=true make test\n```\n\nIf you have separate tenants for development and production, you can select which tenant you\'d like to work with as follows:\n\n```shell\n$ ENABLE_INTEGRATION_TESTS=true\n$ KENNA_API_KEY=${KENNA_DEVELOPMENT_API_KEY} make test\n$ KENNA_API_KEY=${KENNA_PRODUCTION_API_KEY} make test\n```\n\n## Tutorials\n\n### Command-line interface\n\nThe command-line interface for `kenna` allows you to search for, list, and count [applications](https://apidocs.kennasecurity.com/reference#list-applications), [assets](https://apidocs.kennasecurity.com/reference#list-assets), [asset groups](https://apidocs.kennasecurity.com/reference#list-asset-groups), [connectors](https://apidocs.kennasecurity.com/reference#list-connectors), [connector runs](https://apidocs.kennasecurity.com/reference#list-connector-runs), [dashboard groups](https://apidocs.kennasecurity.com/reference#list-dashboard-groups), [fixes](https://apidocs.kennasecurity.com/reference#list-fixes), [roles](https://apidocs.kennasecurity.com/reference#list-roles), [users](https://apidocs.kennasecurity.com/reference#list-users), and [vulnerabilities](https://apidocs.kennasecurity.com/reference#list-vulnerabilities).\n\nAfter installing `kenna` you can access the command-line interface as follows:\n\n```shell\n$ poetry run kenna\n```\n\nIf you\'re not using `poetry` (you should use it), you can access the command line as follows:\n\n```shell\n$ python3 -m kenna.cli\n```\n\n#### General\n\nThe following general options are available within the command-line interface:\n\n```shell\n$ poetry run kenna\nUsage: kenna [OPTIONS] COMMAND [ARGS]...\n\nOptions:\n  --api-key TEXT\n  --region TEXT\n  --help          Show this message and exit.\n\nCommands:\n  applications\n  asset-groups\n  assets\n  connector-runs\n  connectors\n  dashboard-groups\n  fixes\n  roles\n  users\n  vulnerabilities\n````\n\n#### Applications\n\nThe following options are available when working with applications:\n\n```shell\n$ poetry run kenna applications --help\nUsage: kenna applications [OPTIONS] COMMAND [ARGS]...\n\nOptions:\n  --help  Show this message and exit.\n\nCommands:\n  get-applications\n  count-applications\n```\n\n##### List applications\n\nThe following options are available when listing applications:\n\n```shell\n$ poetry run kenna applications get-applications --help\nUsage: kenna applications get-applications [OPTIONS]\n\nOptions:\n  --application-ids TEXT\n  --application-names TEXT\n  --application-owners TEXT\n  --application-teams TEXT\n  --application-business-units TEXT\n  --min-application-risk-meter-score INTEGER\n  --max-application-risk-meter-score INTEGER\n  --min-asset-count INTEGER\n  --max-asset-count INTEGER\n  --min-vulnerability-count INTEGER\n  --max-vulnerability-count INTEGER\n  --limit INTEGER\n  --help                          Show this message and exit.\n```\n\n#### Assets\n\nThe following options are available when working with assets:\n\n```shell\n$ poetry run kenna assets --help\nUsage: kenna assets [OPTIONS] COMMAND [ARGS]...\n\nOptions:\n  --help  Show this message and exit.\n\nCommands:\n  get-assets\n  count-assets\n```\n\n##### List assets\n\nThe following options are available when listing assets:\n\n```shell\n$ poetry run kenna assets get-assets --help\nUsage: kenna assets get-assets [OPTIONS]\n\nOptions:\n  --asset-ids TEXT\n  --asset-group-ids TEXT\n  --asset-group-names TEXT\n  --asset-tags TEXT\n  --asset-hostnames TEXT\n  --asset-ip-addresses TEXT\n  --asset-mac-addresses TEXT\n  --min-asset-risk-meter-score INTEGER\n  --max-asset-risk-meter-score INTEGER\n  --min-asset-first-seen-time TEXT\n  --max-asset-first-seen-time TEXT\n  --min-asset-last-seen-time TEXT\n  --max-asset-last-seen-time TEXT\n  --min-asset-last-boot-time TEXT\n  --max-asset-last-boot-time TEXT\n  --limit INTEGER\n  --help                          Show this message and exit.\n```\n\n#### Asset groups\n\nThe following options are available when working with asset groups:\n\n```shell\n$ poetry run kenna asset-groups --help\nUsage: kenna asset-groups [OPTIONS] COMMAND [ARGS]...\n\nOptions:\n  --help  Show this message and exit.\n\nCommands:\n  get-asset-groups\n  count-asset-groups\n```\n\n##### List asset groups\n\nThe following options are available when listing asset groups:\n\n```shell\n$ poetry run kenna asset-groups get-asset-groups --help\nUsage: kenna asset-groups get-asset-groups [OPTIONS]\n\nOptions:\n  --asset-group-ids TEXT\n  --asset-group-names TEXT\n  --asset-ids TEXT\n  --asset-tags TEXT\n  --asset-hostnames TEXT\n  --asset-ip-addresses TEXT\n  --asset-mac-addresses TEXT\n  --min-asset-group-create-time TEXT\n  --max-asset-group-create-time TEXT\n  --min-asset-group-last-update-time TEXT\n  --max-asset-group-last-update-time TEXT\n  --limit INTEGER\n  --help                          Show this message and exit.\n```\n\nFor example, let\'s list the ID, name, asset count, vulnerability count, and fix count associated with each asset group that has a name containing the string "Europe":\n\n```shell\n$ poetry run kenna asset-groups get-asset-groups --asset-group-names "*Europe*" | jq \'{"id": .id, "name": .name, "asset_count": .asset_count, "vulnerability_count": .vulnerability_count, "fix_count": .fix_count}\' | jq --slurp\n[\n  {\n    "id": 123456,\n    "name": "All European assets",\n    "asset_count": 12345,\n    "vulnerability_count": 1234567,\n    "fix_count": 12345\n  }\n]\n```\n\n#### Connectors\n\nThe following options are available when working with connectors:\n\n```shell\n$ poetry run kenna connectors --help\nUsage: kenna connectors [OPTIONS] COMMAND [ARGS]...\n\nOptions:\n  --help  Show this message and exit.\n\nCommands:\n  get-connectors\n  count-connectors\n```\n\n##### List connectors\n\nThe following options are available when listing connectors:\n\n```shell\n$ poetry run kenna connectors get-connectors --help\nUsage: kenna connectors get-connectors [OPTIONS]\n\nOptions:\n  --connector-ids TEXT\n  --connector-names TEXT\n  --min-connector-run-start-time TEXT\n  --max-connector-run-start-time TEXT\n  --min-connector-run-end-time TEXT\n  --max-connector-run-end-time TEXT\n  --limit INTEGER\n  --help                          Show this message and exit.\n```\n\n#### Connector runs\n\nThe following options are available when working with connector runs:\n\n```shell\n$ poetry run kenna connector-runs --help\n\nUsage: kenna connector-runs [OPTIONS] COMMAND [ARGS]...\n\nOptions:\n  --connector-ids TEXT\n  --connector-names TEXT\n  --connector-run-ids TEXT\n  --min-connector-run-start-time TEXT\n  --max-connector-run-start-time TEXT\n  --min-connector-run-end-time TEXT\n  --max-connector-run-end-time TEXT\n  --help                          Show this message and exit.\n\nCommands:\n  get-connector-runs\n  count-connector-runs\n```\n\n##### List connector runs\n\nThe following options are available when listing connector runs:\n\n```shell\n$ poetry run kenna connector-runs get-connector-runs --help\nUsage: kenna connector-runs get-connector-runs [OPTIONS]\n\nOptions:\n  --connector-ids TEXT\n  --connector-names TEXT\n  --connector-run-ids TEXT\n  --min-connector-run-start-time TEXT\n  --max-connector-run-start-time TEXT\n  --min-connector-run-end-time TEXT\n  --max-connector-run-end-time TEXT\n  --limit INTEGER\n  --help                          Show this message and exit.\n```\n\n#### Dashboard groups\n\nThe following options are available when working with dashboard groups:\n\n```shell\n$ poetry run kenna dashboard-groups --help\nUsage: kenna dashboard-groups [OPTIONS] COMMAND [ARGS]...\n\nOptions:\n  --help  Show this message and exit.\n\nCommands:\n  get-dashboard-groups\n  count-dashboard-groups\n```\n\n##### List dashboard groups\n\nThe following options are available when listing dashboard groups:\n\n```shell\n$ poetry run kenna dashboard-groups get-dashboard-groups --help\nUsage: kenna dashboard-groups get-dashboard-groups [OPTIONS]\n\nOptions:\n  --dashboard-group-ids TEXT\n  --dashboard-group-names TEXT\n  --role-ids TEXT\n  --role-names TEXT\n  --min-dashboard-group-create-time TEXT\n  --max-dashboard-group-create-time TEXT\n  --min-dashboard-group-last-update-time TEXT\n  --max-dashboard-group-last-update-time TEXT\n  --limit INTEGER\n  --help                          Show this message and exit.\n```\n\n#### Users\n\nThe following options are available when working with users:\n\n```shell\n$ poetry run kenna users --help\nUsage: kenna users [OPTIONS] COMMAND [ARGS]...\n\nOptions:\n  --help  Show this message and exit.\n\nCommands:\n  get-users\n  count-users\n```\n\n##### List users\n\nThe following options are available when listing users:\n\n```shell\n$ poetry run kenna users get-users --help\npoetry run kenna users get-users --help\nUsage: kenna users get-users [OPTIONS]\n\nOptions:\n  --user-ids TEXT\n  --user-names TEXT\n  --user-email-addresses TEXT\n  --min-user-create-time TEXT\n  --max-user-create-time TEXT\n  --min-user-last-sign-in-time TEXT\n  --max-user-last-sign-in-time TEXT\n  --min-user-last-update-time TEXT\n  --max-user-last-update-time TEXT\n  --limit INTEGER\n  --help                          Show this message and exit.\n```\n\n#### Roles\n\nThe following options are available when working with roles:\n\n```shell\n$ poetry run kenna roles --help\nUsage: kenna roles [OPTIONS] COMMAND [ARGS]...\n\nOptions:\n  --help  Show this message and exit.\n\nCommands:\n  get-roles\n  count-roles\n```\n\n##### List roles\n\nThe following options are available when listing roles:\n\n```shell\n$ poetry run kenna roles get-roles --help\nUsage: kenna roles get-roles [OPTIONS]\n\nOptions:\n  --role-ids TEXT\n  --role-names TEXT\n  --role-types TEXT\n  --role-access-levels TEXT\n  --role-custom-permissions TEXT\n  --user-ids TEXT\n  --user-email-addresses TEXT\n  --user-names TEXT\n  --min-role-create-time TEXT\n  --max-role-create-time TEXT\n  --min-role-last-update-time TEXT\n  --max-role-last-update-time TEXT\n  --limit INTEGER\n  --help                          Show this message and exit.\n```\n\n#### Vulnerabilities\n\nThe following options are available when working with vulnerabilities:\n\n```shell\n$ poetry run kenna vulnerabilities --help\nUsage: kenna vulnerabilities [OPTIONS] COMMAND [ARGS]...\n\nOptions:\n  --help  Show this message and exit.\n\nCommands:\n  get-vulnerabilities\n  count-vulnerabilities\n```\n\n##### List vulnerabilities\n\nThe following options are available when listing vulnerabilities:\n\n```shell\n$ poetry run kenna vulnerabilities get-vulnerabilities --help\nUsage: kenna vulnerabilities get-vulnerabilities [OPTIONS]\n\nOptions:\n  --vulnerability-ids TEXT\n  --cve-ids TEXT\n  --fix-ids TEXT\n  --fix-names TEXT\n  --fix-vendors TEXT\n  --asset-ids TEXT\n  --asset-hostnames TEXT\n  --asset-ip-addresses TEXT\n  --asset-mac-addresses TEXT\n  --asset-group-ids TEXT\n  --asset-group-names TEXT\n  --asset-tags TEXT\n  --min-vulnerability-risk-meter-score INTEGER\n  --max-vulnerability-risk-meter-score INTEGER\n  --min-vulnerability-first-seen-time TEXT\n  --max-vulnerability-first-seen-time TEXT\n  --min-vulnerability-last-seen-time TEXT\n  --max-vulnerability-last-seen-time TEXT\n  --min-cve-publish-time TEXT\n  --max-cve-publish-time TEXT\n  --min-patch-publish-time TEXT\n  --max-patch-publish-time TEXT\n  --min-patch-due-date TEXT\n  --max-patch-due-date TEXT\n  --limit INTEGER\n  --help                          Show this message and exit.\n```\n\n#### Fixes\n\nThe following options are available when working with fixes:\n\n```shell\n$ poetry run kenna fixes --help\nUsage: kenna fixes [OPTIONS] COMMAND [ARGS]...\n\nOptions:\n  --help  Show this message and exit.\n\nCommands:\n  get-fixes\n  count-fixes\n```\n\n##### List fixes\n\nThe following options are available when listing fixes:\n\n```shell\n$ poetry run kenna fixes get-fixes --help\nUsage: kenna fixes get-fixes [OPTIONS]\n\nOptions:\n  --fix-ids TEXT\n  --fix-names TEXT\n  --fix-vendors TEXT\n  --cve-ids TEXT\n  --asset-ids TEXT\n  --asset-hostnames TEXT\n  --asset-ip-addresses TEXT\n  --asset-mac-addresses TEXT\n  --asset-ip-addresses TEXT\n  --asset-mac-addresses TEXT\n  --asset-group-ids TEXT\n  --asset-group-names TEXT\n  --asset-tags TEXT\n  --min-fix-create-time TEXT\n  --max-fix-create-time TEXT\n  --min-fix-last-update-time TEXT\n  --max-fix-last-update-time TEXT\n  --limit INTEGER\n  --help                          Show this message and exit.\n```\n',
    'author': 'Tyler Fisher',
    'author_email': 'tylerfisher@tylerfisher.ca',
    'maintainer': None,
    'maintainer_email': None,
    'url': None,
    'packages': packages,
    'package_data': package_data,
    'install_requires': install_requires,
    'entry_points': entry_points,
    'python_requires': '>=3.7.1,<4',
}


setup(**setup_kwargs)
