text2config

text to config or command


License
MIT
Install
pip install text2config==0.0.1

Documentation

text to config or command (t2c)

Convert natural language text to configuration files(yaml/ini/conf/json) or command of various projects(docker/kubernetes/vim/nginx/postgres/terraform) with the power of Pre-Trained models. Relieve you from the burden of remembering configuration and commands.

Install

from pypi

not supported yet,due to pypi server closed package uploading

# pip install text2config

from github

git clone https://github.com/FingerLiu/text2config.git
cd text2config
pip install -e .

config and run

export OPENAI_API_KEY="YOUR-KEY"

# default to 0
export OPENAI_TEMPERATURE="0"

t2c k8s "get all pod in namespace kube-system and sort by create time"

t2c docker "run image nginx:latest and mount ~/nginx.conf to /etc/nginx.conf, and also expose 80 to local 8080, remove it after stop"

Tips for Chinese users

Due to network issues, you need to config proxy for openai api in your terminal like this.

export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:7890

Usage

usage: t2c [-h] [-m {cmd,config}] [-c CONFIG] [-d] {docker,k8s,kubernetes,kubectl,nginx} goal

Convert natural language text to configuration files(yaml/ini/conf/json) 
or command of various projects(docker/kubernetes/vim/nginx/postgres/terraform).

Example: t2c k8s "get all pod in namespace kube-system and sort by create time"

positional arguments:
  {docker,k8s,kubernetes,kubectl,nginx}
                        command name
  goal                  goal of the command or config that you want to generate

options:
  -h, --help            show this help message and exit
  -m {cmd,config}, --mode {cmd,config}
                        generate command or config
  -c CONFIG, --config CONFIG
  -d, --debug           show debug log

Features

  • [*] text to docker command
  • [*] text to k8s command
  • [] text to k8s yaml
  • [] text to nginx conf
  • [] text to any command/config with predefined prompt template.
  • [] text to custom command/config with user provide prompt template

text to docker command

t2c docker "run image nginx and export port 80 to local port 8080"

## text to k8s cmd
```bash
t2c k8s "scale deploy nginx to 3"
t2c k8s -m cmd "get svc in ns which expose domain t2c.io"

text to k8s yaml

t2c k8s --mode config "run nginx deploy and export a ingress with domain t2c.github.io"
t2c k8s -m config "mount a nas pvc to deploy mysql in namespace test"

text to nginx conf

t2c nginx -c /path/to/nginx.conf add location /docs/ to vhost t2c.io redirect to t2c.github.io

Thanks