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

packages = \
['kaskade',
 'kaskade.kafka',
 'kaskade.renderables',
 'kaskade.utils',
 'kaskade.widgets']

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

install_requires = \
['PyYAML>=5.4.1,<6.0.0',
 'click>=8.0.1,<9.0.0',
 'confluent-kafka[json,protobuf,avro]>=1.9.0,<2.0.0',
 'pyfiglet>=0.8.post1,<0.9',
 'requests>=2.28.1,<3.0.0',
 'rich>=12.4.4,<13.0.0',
 'textual>=0.1.12,<0.2.0',
 'typing-extensions>=4.3.0,<5.0.0']

entry_points = \
{'console_scripts': ['kaskade = kaskade.app:main', 'kskd = kaskade.app:main']}

setup_kwargs = {
    'name': 'kaskade',
    'version': '1.1.8',
    'description': 'kaskade is a terminal user interface for kafka',
    'long_description': '<p align="center">\n<a href="https://github.com/sauljabin/kaskade"><img alt="kaskade" src="https://raw.githubusercontent.com/sauljabin/kaskade/main/screenshots/banner.png"></a>\n</p>\n<a href="https://www.python.org/"><img alt="Python" width="60" height="20" src="https://img.shields.io/badge/-python-brightgreen?logo=python&logoColor=white"></a>\n<a href="https://pypi.org/project/kaskade"><img alt="Version" src="https://img.shields.io/pypi/v/kaskade"></a>\n<a href="https://pypi.org/project/kaskade"><img alt="Python Versions" src="https://img.shields.io/pypi/pyversions/kaskade"></a>\n<a href="https://libraries.io/pypi/kaskade"><img alt="Dependencies" src="https://img.shields.io/librariesio/release/pypi/kaskade"></a>\n<a href="https://pypi.org/project/kaskade"><img alt="Platform" src="https://img.shields.io/badge/platform-linux%20%7C%20osx-0da5e0"></a>\n<br>\n<a href="https://kafka.apache.org/"><img alt="Kafka" width="60" height="20" src="https://img.shields.io/badge/-kafka-e3e3e3?logo=apache-kafka&logoColor=202020"></a>\n<a href="https://kafka.apache.org/"><img alt="Kafka" src="https://img.shields.io/badge/kafka-2.8%20%7C%203.0%20%7C%203.1%20%7C%203.2-blue"/></a>\n<a href="https://pypi.org/project/confluent-kafka/"><img alt="Kafka Client" src="https://img.shields.io/pypi/v/confluent-kafka?label=kafka%20client"></a>\n<br>\n<a href="https://github.com"><img alt="GitHub" width="60" height="20" src="https://img.shields.io/badge/-github-blueviolet?logo=github&logoColor=white"></a>\n<a href="https://github.com/sauljabin/kaskade/blob/main/LICENSE"><img alt="MIT License" src="https://img.shields.io/github/license/sauljabin/kaskade"></a>\n<a href="https://github.com/sauljabin/kaskade/actions"><img alt="GitHub Workflow Status" src="https://img.shields.io/github/workflow/status/sauljabin/kaskade/CI?label=tests"></a>\n<a href="https://app.codecov.io/gh/sauljabin/kaskade"><img alt="Codecov" src="https://img.shields.io/codecov/c/github/sauljabin/kaskade"></a>\n<br>\n<a href="https://www.docker.com/"><img alt="Docker" width="60" height="20" src="https://img.shields.io/badge/-docker-blue?logo=docker&logoColor=white"></a>\n<a href="https://hub.docker.com/r/sauljabin/kaskade"><img alt="Docker Image Version (latest by date)" src="https://img.shields.io/docker/v/sauljabin/kaskade?label=tag"></a>\n<a href="https://hub.docker.com/r/sauljabin/kaskade"><img alt="Docker Image Size (latest by date)" src="https://img.shields.io/docker/image-size/sauljabin/kaskade"></a>\n\n**kaskade** is a read-only tui (text user interface) for [kafka](https://kafka.apache.org/).\n\n:rocket: This project is powered by [textual](https://github.com/willmcgugan/textual)\nand [rich](https://github.com/willmcgugan/rich)!.\n\nFor a local kafka environment go to https://github.com/sauljabin/kafka-docker.\n\n# Table of Contents\n\n- [Table of Contents](#table-of-contents)\n- [Installation and Usage](#installation-and-usage)\n- [Running with Docker](#running-with-docker)\n- [Configuration](#configuration)\n    - [Kafka](#kafka)\n    - [Schema Registry](#schema-registry)\n    - [Kaskade](#kaskade)\n    - [Other Examples](#other-examples)\n- [Screenshots](#screenshots)\n- [Alternatives](#alternatives)\n- [Development](#development)\n    - [Scripts](#scripts)\n    - [Docker](#docker)\n    - [Bumping Version](#bumping-version)\n\n# Installation and Usage\n\nInstall with pip:\n\n```shell\npip install kaskade\n```\n\n> `pip` will install `kaskade` and `kskd` aliases.\n\nUpgrade with pip:\n\n```shell\npip install --upgrade kaskade\n```\n\nHelp:\n\n```shell\nkaskade --help\n```\n\nVersion:\n\n```shell\nkaskade --version\n```\n\nInformation, it shows app information:\n\n```shell\nkaskade --info\n```\n\nConfigurations, it shows config examples:\n\n```shell\nkaskade --configs\n```\n\nGenerating a default config yml file:\n\n```shell\nkaskade --yml\n```\n\nRun without config file (it\'ll take any of `kaskade.yml`, `kaskade.yaml`, `config.yml` or `config.yaml`):\n\n```shell\nkaskade\n```\n\nRun with config file:\n\n```shell\nkaskade my-config.yml\n```\n\n# Running with Docker\n\nUsing docker (remember to set a `network` and `volume`):\n\n```shell\ndocker run --rm -it --network kafka \\\n--volume $(pwd):/kaskade \\\nsauljabin/kaskade:latest\n```\n\nAliases:\n\n```shell\nalias kaskade=\'docker run --rm -it --network kafka \\\n--volume $(pwd):/kaskade \\\nsauljabin/kaskade:latest\'\nalias kskd=kaskade\n```\n\n> These aliases will mount the current directory as a volume.\n\n# Configuration\n\nA [yaml](https://yaml.org/spec/1.2/spec.html) configuration file\n(check [Installation and Usage](#installation-and-usage) section for more information).\n\n### Kafka\n\nSimple connection example:\n\n```yaml\nkafka:\n  bootstrap.servers: localhost:9092\n```\n\nSSL encryption example:\n\n```yaml\nkafka:\n  bootstrap.servers: localhost:9092\n  security.protocol: SSL\n```\n\n> For more information about SSL encryption and SSL authentication go\n> to [confluent-kafka](https://github.com/confluentinc/confluent-kafka-python#ssl-certificates)\n> and [librdkafka](https://github.com/edenhill/librdkafka/wiki/Using-SSL-with-librdkafka#configure-librdkafka-client).\n\nSupport for env variables:\n\n```yaml\nkafka:\n  bootstrap.servers: ${BOOTSTRAP_SERVERS}\n```\n\n### Schema Registry\n\nSimple connection example:\n\n```yaml\nschema.registry:\n  url: http://localhost:8081\n```\n\n### Kaskade\n\nNext settings are optional:\n\n```yaml\nkaskade:\n  debug: off # enable debug mode, default off\n  refresh: on # enable auto-refresh, default on\n  refresh.rate: 5 # auto-refresh rate, default 5 secs\n  show.internals: off # show internal topics, default off\n```\n\n> `debug` enabled will generate logs into a specific log file, execute `kaskade --info` to get the log path.\n\n### Other Examples\n\nConfluent Cloud:\n\n```yaml\nkafka:\n  bootstrap.servers: ${BOOTSTRAP_SERVERS}\n  security.protocol: SASL_SSL\n  sasl.mechanism: PLAIN\n  sasl.username: ${CLUSTER_API_KEY}\n  sasl.password: ${CLUSTER_API_SECRET}\n\nschema.registry:\n  url: ${SCHEMA_REGISTRY_URL}\n  basic.auth.user.info: ${SR_API_KEY}:${SR_API_SECRET}\n```\n\n# Screenshots\n\n<p align="center">\n<img alt="kaskade" src="https://raw.githubusercontent.com/sauljabin/kaskade/main/screenshots/dashboard.png">\n</p>\n\n<p align="center">\n<img alt="kaskade" src="https://raw.githubusercontent.com/sauljabin/kaskade/main/screenshots/consumer.png">\n</p>\n\n# Alternatives\n\n- cli: [[kcat](https://github.com/edenhill/kcat), [zoe](https://github.com/adevinta/zoe), [kaf](https://github.com/birdayz/kaf)]\n- wui: [[akhq](https://github.com/tchiotludo/akhq)]\n- tui: [[kcli](https://github.com/cswank/kcli)]\n\n# Development\n\nPython supported versions:\n\n<a href="https://pypi.org/project/kaskade"><img alt="Python Versions" src="https://img.shields.io/pypi/pyversions/kaskade?label="></a>\n\nInstalling poetry:\n\n```shell\npip install poetry\n```\n\nInstalling development dependencies:\n\n```shell\npoetry install\n```\n\nInstalling pre-commit hooks:\n\n```shell\npoetry run pre-commit install\n```\n\nRunning kaskade:\n\n```shell\npoetry run kaskade\n```\n\n### Scripts\n\nRunning unit tests:\n\n```shell\npoetry run python -m scripts.tests\n```\n\nApplying code styles:\n\n```shell\npoetry run python -m scripts.styles\n```\n\nRunning code analysis:\n\n```shell\npoetry run python -m scripts.analyze\n```\n\nRunning code coverage:\n\n```shell\npoetry run python -m scripts.tests-coverage\n```\n\nRunning pre-commit hooks:\n\n```shell\npoetry run python -m scripts.pre-commit\n```\n\nGenerate readme banner:\n\n```shell\npoetry run python -m scripts.banner\n```\n\n### Docker\n\nBuild docker:\n\n```shell\npoetry run python -m scripts.docker-build\n```\n\n> Image tag `sauljabin/kaskade:latest`.\n\nRun with docker (create a `config.yml` file):\n\n```shell\ndocker run --rm -it --network kafka \\\n--volume $(pwd):/kaskade \\\nsauljabin/kaskade:latest\n```\n\n### Bumping Version\n\nHelp:\n\n```shell\npoetry run python -m scripts.release --help\n```\n\n> More info at https://python-poetry.org/docs/cli/#version and https://semver.org/.\n\nUpgrade (`major.minor.patch`):\n\n```shell\npoetry run python -m scripts.release patch\n```\n',
    'author': 'Saúl Piña',
    'author_email': 'sauljabin@gmail.com',
    'maintainer': None,
    'maintainer_email': None,
    'url': 'https://github.com/sauljabin/kaskade',
    'packages': packages,
    'package_data': package_data,
    'install_requires': install_requires,
    'entry_points': entry_points,
    'python_requires': '>=3.9,<4.0',
}


setup(**setup_kwargs)
