Skip to main content

Smart CLI tool for shell template

Project description

glow

The glow command line interface.

PyPI version 📦 pypi

   ________    ____ _       __
  / ____/ /   / __ \ |     / /
 / / __/ /   / / / / | /| / /
/ /_/ / /___/ /_/ /| |/ |/ /
\____/_____/\____/ |__/|__/
____________________________
__________________________________
________________________________________

📦 Installation

pip install glow-cli

You can set up configuration in ~/.glow/commands/<task>.yml

🚀 Usage

g list

🦋 Templating

Say you set up a config at "./commands/pod-shell.yml"

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:

g ./commands/pod-shell.yml --kw "app1"

Or you can store the configuration by

g install ./commands/pod-shell.yml

Then you can run the command with:

g pod-shell --kw "app1"

Setup Configs and Secrets

Setup(CRUD) secrets

# 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

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:

g llm "redub a.mp4 file with b.mp3, save to c.mp4 with fps 12"

Or you can ask other things in general:

g llm "explain btree to me"

Or with certain flavor to the robot role

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

g llm "shell into one of the pods: $(kubectl get pods) with keyword app1"
g llm "please summarize the commit message for $(git diff)"
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

g secrets add GH_PATH
g configs add GLOW_HUB_OWNER repo_owner
g configs add GLOW_HUB_REPO hub

Install script

g glowhub script-1.yml

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

glow_cli-0.3.3.tar.gz (19.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

glow_cli-0.3.3-py3-none-any.whl (22.5 kB view details)

Uploaded Python 3

File details

Details for the file glow_cli-0.3.3.tar.gz.

File metadata

  • Download URL: glow_cli-0.3.3.tar.gz
  • Upload date:
  • Size: 19.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.23

File hashes

Hashes for glow_cli-0.3.3.tar.gz
Algorithm Hash digest
SHA256 78a04371ac9c09374c8fca384300580fe84d704b6f3efefe9f47f51adcd74f3b
MD5 33732213ebb01a6a03d712b581f0e61c
BLAKE2b-256 0fd83200ec57f14f84c7a871ce482ee266e7d711b73ee220161b5fcaa3217737

See more details on using hashes here.

File details

Details for the file glow_cli-0.3.3-py3-none-any.whl.

File metadata

  • Download URL: glow_cli-0.3.3-py3-none-any.whl
  • Upload date:
  • Size: 22.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.23

File hashes

Hashes for glow_cli-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 72aa8f5ea5f000bf35082af00c6946438c98d57525064b75ae464996ada56e05
MD5 dc512b9ca4c9e94c0fdf738d0c924557
BLAKE2b-256 376f79e8dce9a920d06988b563790c7b6cc410869d67c05049f748b07535b825

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page