Name | glow-cli JSON |
Version |
0.3.5
JSON |
| download |
home_page | None |
Summary | Smart CLI tool for shell template |
upload_time | 2025-07-22 19:48:09 |
maintainer | None |
docs_url | None |
author | None |
requires_python | None |
license | None |
keywords |
smart cli
shell template
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# glow
The glow command line interface.
[](https://pypi.org/project/glow-cli/)
[](https://github.com/loopsocial/glow/actions/workflows/publish.yml)
```
________ ____ _ __
/ ____/ / / __ \ | / /
/ / __/ / / / / / | /| / /
/ /_/ / /___/ /_/ /| |/ |/ /
\____/_____/\____/ |__/|__/
____________________________
__________________________________
________________________________________
```
## 📦 Installation
```shell
pip install glow-cli
```
You can set up configuration in `~/.glow/commands/<task>.yml`
## 🚀 Usage
```shell
g list
```
## 🦋 Templating
Say you set up a config at "./commands/pod-shell.yml"
```yaml
description: |
Entering the shell of the 1st pod that matches the keyword
command: |
kubectl exec -it $(kubectl get pods | grep { kw } | head -n 1 | awk '{print $1}') -- /bin/bash
inputs:
kw:
description: keyword to match
type: str
```
you can run the command with:
```shell
g ./commands/pod-shell.yml --kw "app1"
```
Or you can store the configuration by
```shell
g install ./commands/pod-shell.yml
```
Then you can run the command with:
```shell
g pod-shell --kw "app1"
```
## Setup Configs and Secrets
### Setup(CRUD) secrets
```shell
# to make secret token accessible to g command line
g secrets add SOME_TOKEN
g secrets list
g secrets remove SOME_TOKEN
```
### Setup(CRUD) configs
```shell
g config add SOME_CONFIG "us-east-1"
g config list
g config remove SOME_CONFIG
```
## 🦙 LLM in CLI 💻
> Why memorize commands when you can just ask?
Then you can try:
```shell
g llm "redub a.mp4 file with b.mp3, save to c.mp4 with fps 12"
```
Or you can ask other things in general:
```shell
g llm "explain btree to me"
```
Or with certain flavor to the robot role
```shell
g llm "explain btree to me" "you are a poet return everything in homer style"
```
### ✨ combine with other commands
Here's some good use cases to combine with other commands
```shell
g llm "shell into one of the pods: $(kubectl get pods) with keyword app1"
```
```shell
g llm "please summarize the commit message for $(git diff)"
```
```shell
g llm "can you explain the structure of this folder: $(ls -l)"
```
### Choose other model
Use the following to choose other model
```
g configs add GLOW_LLM
```
## Glow hub
Setup a hub on github to manage your glow commands. Say if the hub is at `https://github.com/repo_owner/hub`
Example structure of a hub:
```
./
├── README.md
├── glow
│ ├── README.md
│ ├── script-1.yml
│ ├── build-image.yml
│ ├── deploy-abc.yml
```
### Setup
```shell
g secrets add GH_PATH
g configs add GLOW_HUB_OWNER repo_owner
g configs add GLOW_HUB_REPO hub
```
### Install script
```shell
g glowhub script-1.yml
```
Raw data
{
"_id": null,
"home_page": null,
"name": "glow-cli",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "smart cli, shell template",
"author": null,
"author_email": "\"Xiaochen Zhang (Ray)\" <ray@fireworkhq.com>",
"download_url": "https://files.pythonhosted.org/packages/f8/01/cc14884b1cefb7cb3f42b03f1d3927f537749256681b72a1c269a85812cc/glow_cli-0.3.5.tar.gz",
"platform": null,
"description": "# glow\nThe glow command line interface.\n\n[](https://pypi.org/project/glow-cli/)\n[](https://github.com/loopsocial/glow/actions/workflows/publish.yml) \n\n```\n ________ ____ _ __\n / ____/ / / __ \\ | / /\n / / __/ / / / / / | /| / /\n/ /_/ / /___/ /_/ /| |/ |/ /\n\\____/_____/\\____/ |__/|__/\n____________________________\n__________________________________\n________________________________________\n```\n\n## \ud83d\udce6 Installation\n```shell\npip install glow-cli\n```\n\nYou can set up configuration in `~/.glow/commands/<task>.yml`\n\n## \ud83d\ude80 Usage\n\n```shell\ng list\n```\n\n## \ud83e\udd8b Templating\nSay you set up a config at \"./commands/pod-shell.yml\"\n```yaml\ndescription: |\n Entering the shell of the 1st pod that matches the keyword\ncommand: |\n kubectl exec -it $(kubectl get pods | grep { kw } | head -n 1 | awk '{print $1}') -- /bin/bash\ninputs:\n kw:\n description: keyword to match\n type: str\n```\n\nyou can run the command with:\n```shell\ng ./commands/pod-shell.yml --kw \"app1\"\n```\n\nOr you can store the configuration by\n```shell\ng install ./commands/pod-shell.yml\n```\n\nThen you can run the command with:\n```shell\ng pod-shell --kw \"app1\"\n```\n\n## Setup Configs and Secrets\n### Setup(CRUD) secrets\n```shell\n# to make secret token accessible to g command line\ng secrets add SOME_TOKEN\n\ng secrets list\ng secrets remove SOME_TOKEN\n```\n### Setup(CRUD) configs\n```shell\ng config add SOME_CONFIG \"us-east-1\"\ng config list\ng config remove SOME_CONFIG\n```\n\n## \ud83e\udd99 LLM in CLI \ud83d\udcbb\n> Why memorize commands when you can just ask?\n\n\nThen you can try:\n```shell\ng llm \"redub a.mp4 file with b.mp3, save to c.mp4 with fps 12\"\n```\n\nOr you can ask other things in general:\n```shell\ng llm \"explain btree to me\"\n```\n\nOr with certain flavor to the robot role\n```shell\ng llm \"explain btree to me\" \"you are a poet return everything in homer style\"\n```\n\n### \u2728 combine with other commands\nHere's some good use cases to combine with other commands\n```shell\ng llm \"shell into one of the pods: $(kubectl get pods) with keyword app1\"\n```\n\n```shell\ng llm \"please summarize the commit message for $(git diff)\"\n```\n\n```shell\ng llm \"can you explain the structure of this folder: $(ls -l)\"\n```\n\n### Choose other model\nUse the following to choose other model\n```\ng configs add GLOW_LLM\n```\n\n## Glow hub\nSetup a hub on github to manage your glow commands. Say if the hub is at `https://github.com/repo_owner/hub`\n\nExample structure of a hub:\n\n```\n./\n\u251c\u2500\u2500 README.md\n\u251c\u2500\u2500 glow\n\u2502 \u251c\u2500\u2500 README.md\n\u2502 \u251c\u2500\u2500 script-1.yml\n\u2502 \u251c\u2500\u2500 build-image.yml\n\u2502 \u251c\u2500\u2500 deploy-abc.yml\n```\n\n### Setup\n```shell\ng secrets add GH_PATH\ng configs add GLOW_HUB_OWNER repo_owner\ng configs add GLOW_HUB_REPO hub\n```\n\n### Install script\n```shell\ng glowhub script-1.yml\n```\n",
"bugtrack_url": null,
"license": null,
"summary": "Smart CLI tool for shell template",
"version": "0.3.5",
"project_urls": {
"homepage": "https://github.com/loopsocial/glow",
"repository": "https://github.com/loopsocial/glow"
},
"split_keywords": [
"smart cli",
" shell template"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "28db3333aa0cfa031a28c339c8cc29642024e955d59e83763b3143fcd8c84f8c",
"md5": "0f50da6f2393c90454b503ed8089b034",
"sha256": "f7a39bd513bc49b4c7576fe108baef5c210a902476b7fde59a18203fe63a7935"
},
"downloads": -1,
"filename": "glow_cli-0.3.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0f50da6f2393c90454b503ed8089b034",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 22582,
"upload_time": "2025-07-22T19:48:08",
"upload_time_iso_8601": "2025-07-22T19:48:08.617183Z",
"url": "https://files.pythonhosted.org/packages/28/db/3333aa0cfa031a28c339c8cc29642024e955d59e83763b3143fcd8c84f8c/glow_cli-0.3.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f801cc14884b1cefb7cb3f42b03f1d3927f537749256681b72a1c269a85812cc",
"md5": "233393777989961818858266be3bfa87",
"sha256": "d9b9f45afc66ba5029844ae7757fb2d894ebb8926036b19ab24105da8c0dfbf4"
},
"downloads": -1,
"filename": "glow_cli-0.3.5.tar.gz",
"has_sig": false,
"md5_digest": "233393777989961818858266be3bfa87",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 19206,
"upload_time": "2025-07-22T19:48:09",
"upload_time_iso_8601": "2025-07-22T19:48:09.662074Z",
"url": "https://files.pythonhosted.org/packages/f8/01/cc14884b1cefb7cb3f42b03f1d3927f537749256681b72a1c269a85812cc/glow_cli-0.3.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-22 19:48:09",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "loopsocial",
"github_project": "glow",
"github_not_found": true,
"lcname": "glow-cli"
}