https://github.com/eshepelyuk/pykli
Interactive ksqlDB command line client with autocompletion and syntax highlighting written in Python
https://github.com/eshepelyuk/pykli
cli confluent console-application kafka ksql ksqldb ksqldb-cli tui
Last synced: 7 months ago
JSON representation
Interactive ksqlDB command line client with autocompletion and syntax highlighting written in Python
- Host: GitHub
- URL: https://github.com/eshepelyuk/pykli
- Owner: eshepelyuk
- License: mit
- Archived: true
- Created: 2023-05-26T19:46:32.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-08-08T19:12:03.000Z (almost 3 years ago)
- Last Synced: 2024-04-20T15:55:39.012Z (about 2 years ago)
- Topics: cli, confluent, console-application, kafka, ksql, ksqldb, ksqldb-cli, tui
- Language: Python
- Homepage:
- Size: 104 KB
- Stars: 7
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-cli-apps-in-a-csv - pykli - Interactive ksqlDB command line client with autocompletion and syntax highlighting written in Python. (<a name="data-management-tabular"></a>Data management - Tabular data)
- awesome-cli-apps - pykli - Interactive ksqlDB command line client with autocompletion and syntax highlighting written in Python. (<a name="data-management-tabular"></a>Data management - Tabular data)
README
# pyKLI
[](https://github.com/astral-sh/ruff)
[](https://python-poetry.org/)



Interactive command line client for [ksqlDB](https://ksqldb.io/)
with autocompletion and syntax highlighting written in Python.
Inspired by and also borrowed some code from the great family of CLI tools https://www.dbcli.com/.
The project is in early stage, but usable for supported functionality.
All your PRs and suggestions are welcome.
## Installation
* Latest released version
```sh
pip install pykli
```
* From latest source code
```sh
pip install -U git+https://github.com/eshepelyuk/pykli@main
```
## Features
* Command history and search, history based autosuggestion.
* KSQL command keywords autocompletion.
* Run multiple commands from local file.
* Partial KSQL syntax highlighting based on `Pygments` SQL.
* Pretty tabular output with highlighting based on `Pygments` themes.
* Supported KSQL commands.
* `SHOW`, `LIST`
* `DESCRIBE`, without `EXTENDED`
* `DROP`
* `CREATE`
* `RUN SCRIPT`
* `TERMINATE`
* `SELECT` for Pull queries
* `INSERT`
* `DEFINE`, `UNDEFINE`
## TODO (prioritized)
* Push queries, i.e. with `EMIT CHANGES` for `SELECT` statement
* `PAUSE` / `RESUME`
* KSQL syntax support with Pygments
* `DESCRIBE ... EXTENDED`
* `EXPLAIN`
* Auto detect when needed output via pager
* Metadata autocompletion
* table ans stream names
* column names and functions in queries
* topic and connector names
* session variables
* attributes of `WITH` blocks
* In-place KSQL editing with default editor
* Internal help
* More configuration options and configuration file
* pygments theme
* server profiles
* etc etc