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.1.tar.gz (15.5 kB view details)

Uploaded Source

Built Distribution

glow_cli-0.3.1-py3-none-any.whl (17.8 kB view details)

Uploaded Python 3

File details

Details for the file glow-cli-0.3.1.tar.gz.

File metadata

  • Download URL: glow-cli-0.3.1.tar.gz
  • Upload date:
  • Size: 15.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for glow-cli-0.3.1.tar.gz
Algorithm Hash digest
SHA256 828739df06343223262aa677b9d4b912924445e49269dbb466d1bed09fa30d59
MD5 9b785418ce92034d51b7645ae69a2b87
BLAKE2b-256 0fa7f930542223a17ec36f3815f159e78c176924cf7ea894f984a52cd54073ea

See more details on using hashes here.

File details

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

File metadata

  • Download URL: glow_cli-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 17.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for glow_cli-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 20902828c7a726aaf4aaac21e6691d36bb739a32fb0bb522c2c0613f45ba18d1
MD5 695d6b32b287f74d17932ddd79e9c4f2
BLAKE2b-256 863b46977a57f48b211c0a9bd6fd63800d15a67d01319c3c5c031e3f80e27b42

See more details on using hashes here.

Supported by

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