SysArg


NameSysArg JSON
Version 1.1.34 PyPI version JSON
download
home_pagehttps://github.com/kagepark/SysArg
SummaryCLI Argument Parser
upload_time2023-02-01 04:14:28
maintainer
docs_urlNone
authorKage Park
requires_python
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # SysArg
CLI Argument Parser Functions

## Contents
1. Install
1. Initialize
1. Functions
   1. defind        : Setup option/command/group/help....
   1. Cmd           : Get Inputed Special Command (it need cmd_id=1 parameter at initialize)
   1. Get           : Get parameter's input values
   1. Version       : show version
   1. Check         : Check option 
   1. Help          : Dispaly Help


- Install
```javascript
pip3 install SysArg
```

- Initialize
   - program : Program Name
   - cmd_id  : command ID
   - desc    : Program Description
   - epilog  : Program Epilog (tail string of the help)
   - version : define Program version
   - help_desc: Customize description of Help

```javascript
import SysArg
arg=SysArg.SysArg(program='ArgTest',desc='ARG. Testing',version='1.0')
```

if you want make a special command in this application case: (ArgTest command ...)
```javascript
import SysArg
arg=SysArg.SysArg(program='ArgTest',desc='ARG. Testing',version='1.0',cmd_id=1)
```

- defind
  - name: (required) parameter name
  - short: short parameter(-XX)
  - long: long parameter(--XX)
  - params: 
     - default:0(found parameter then True), 
     - 0<n: how many required parameter input data(number)
     - \- : until next parameter or until finished inputs
  - params_name: --abc=<PARAMS_NAME(Explain String)> (this format)
  - required: required parameter (default False, need then True)
  - default: default value when no input
  - type: default str, wrong type then not taken (support: str,int,list,tuple,dict)
     - spliter: if you set list or tuple at type. but input is single string then using spliter (example: , : )
  - group: make a special group's prameters
  - group_desc: group desciption
  - command: If Command Group then True
  - arg: If this group is command and need input argument then True
  - select: If you want selectable input, this is list type format, if wrong input then Get() command will make an error


example format:  -n, --numbre=INT
```javascript
arg.define('number',short='-n',long='--number',params_name='INT',type=int,desc='Number Input')
```

it this option required value
```javascript
arg.define('number',short='-n',long='--number',params_name='INT',type=int,desc='Number Input',required=True)
```

Add some of GROUP(ex: INPUT)
```javascript
arg.define('number',short='-n',long='--number',params_name='INT',type=int,desc='Number Input',group='INPUT')
```

example format:  -n, --numbre INT
```javascript
arg.define('number',short='-n',long='--number',params=1,type=int,desc='Number Input')
```

example format:  -l, --list ['A','B']
```javascript
arg.define('List',short='-l',long='--list',params=1,type=list,desc='List Input')
```

example format:  -l, --list 'A,B,C'
```javascript
arg.define('List',short='-l',long='--list',params=1,type=list,spliter=',',desc='List Input')
```

example format:  -l, --list A B C
```javascript
arg.define('List',short='-l',long='--list',params=3,type=list,desc='List Input')
```

example default : if not input then default get 7
```javascript
arg.define('N',short='-n',long='--number',params=1,type=int,desc='Number Input',default=7)
```

example check parameter: if -n or --number parameter then True
```javascript
arg.define('N',short='-n',long='--number')
```

example command group:
```javascript
arg.define(group_desc='File list',group='ls',command=True)
arg.define('show_detail',short='-l',desc='show detail',group='ls')
arg.define('show_time',short='-t',desc='show time',group='ls')
arg.define('number',short='-n',long='--number',params_name='INT',type=int,desc='Number Input',group='INPUT')
arg.define(group_desc='Power command',group='power',command=True,arg=True,select=['on','off','reset'])
```

- Cmd
Get Input Command name
```javascript
cmd=arg.Cmd()
```

Check input 'command'
```javascript
   if arg.Cmd('command'):
       ~~~~
   else:
       ~~~~
```


- Get parameter's value
   - All data
```javascript
param=arg.Get()
```

   - Get group INPUT's All data
```javascript
param=arg.Get(group='INPUT')
```

   - Get value of COMMAND power's data
```javascript
# ./APP power -i x.x.x.x on
```

```javascript
if arg.Cmd('power'):
    pw_cmd=arg.Get(group='power')
    if pw_cmd == 'on':
        ...
    elif pw_cmd == 'off':
        ...
    ....
```

   - Get Parameter number's data
```javascript
param=arg.Get('number')
```

   - Get Parameter List's data in the INPUT group
```javascript
param=arg.Get('List',group='INPUT')
```


Simple Example)
```javascript
import SysArg
arg=SysArg.SysArg(program='ArgTest',desc='ARG. Testing',version='1.0',cmd_id=1)
arg.define('a',short='-a',long='--abc',desc='test input',params=1)
arg.define(group_desc='test command',group='ls',command=True)
arg.define('detail',short='-l',desc='show detail',group='ls')
arg.define('find_time',short='-t',desc='find time',group='ls',params=1)
arg.Version()
arg.Help()

cmd=arg.Cmd()
a=arg.Get('a')
```
Output:
```
$ python3 a.py --help
Usage: ArgTest <command> [OPTION] [<args>]
Version: 1.0
ARG. Testing

Supported <command>s are:
  ls                                 test command

[OPTION]
   -h, --help                        Help
   -a, --abc                         test input(input(1):S)

* ls                                 test command
   -l                                show detail
   -t                                find time(input(1):S)
```



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/kagepark/SysArg",
    "name": "SysArg",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "",
    "author": "Kage Park",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/75/b5/c7e5b3ff7e0c15f97ffdf5d44ebfaceb74d6435b61a72f95706f68f85754/SysArg-1.1.34.tar.gz",
    "platform": null,
    "description": "# SysArg\nCLI Argument Parser Functions\n\n## Contents\n1. Install\n1. Initialize\n1. Functions\n   1. defind        : Setup option/command/group/help....\n   1. Cmd           : Get Inputed Special Command (it need cmd_id=1 parameter at initialize)\n   1. Get           : Get parameter's input values\n   1. Version       : show version\n   1. Check         : Check option \n   1. Help          : Dispaly Help\n\n\n- Install\n```javascript\npip3 install SysArg\n```\n\n- Initialize\n   - program : Program Name\n   - cmd_id  : command ID\n   - desc    : Program Description\n   - epilog  : Program Epilog (tail string of the help)\n   - version : define Program version\n   - help_desc: Customize description of Help\n\n```javascript\nimport SysArg\narg=SysArg.SysArg(program='ArgTest',desc='ARG. Testing',version='1.0')\n```\n\nif you want make a special command in this application case: (ArgTest command ...)\n```javascript\nimport SysArg\narg=SysArg.SysArg(program='ArgTest',desc='ARG. Testing',version='1.0',cmd_id=1)\n```\n\n- defind\n  - name: (required) parameter name\n  - short: short parameter(-XX)\n  - long: long parameter(--XX)\n  - params: \n     - default:0(found parameter then True), \n     - 0<n: how many required parameter input data(number)\n     - \\- : until next parameter or until finished inputs\n  - params_name: --abc=<PARAMS_NAME(Explain String)> (this format)\n  - required: required parameter (default False, need then True)\n  - default: default value when no input\n  - type: default str, wrong type then not taken (support: str,int,list,tuple,dict)\n     - spliter: if you set list or tuple at type. but input is single string then using spliter (example: , : )\n  - group: make a special group's prameters\n  - group_desc: group desciption\n  - command: If Command Group then True\n  - arg: If this group is command and need input argument then True\n  - select: If you want selectable input, this is list type format, if wrong input then Get() command will make an error\n\n\nexample format:  -n, --numbre=INT\n```javascript\narg.define('number',short='-n',long='--number',params_name='INT',type=int,desc='Number Input')\n```\n\nit this option required value\n```javascript\narg.define('number',short='-n',long='--number',params_name='INT',type=int,desc='Number Input',required=True)\n```\n\nAdd some of GROUP(ex: INPUT)\n```javascript\narg.define('number',short='-n',long='--number',params_name='INT',type=int,desc='Number Input',group='INPUT')\n```\n\nexample format:  -n, --numbre INT\n```javascript\narg.define('number',short='-n',long='--number',params=1,type=int,desc='Number Input')\n```\n\nexample format:  -l, --list ['A','B']\n```javascript\narg.define('List',short='-l',long='--list',params=1,type=list,desc='List Input')\n```\n\nexample format:  -l, --list 'A,B,C'\n```javascript\narg.define('List',short='-l',long='--list',params=1,type=list,spliter=',',desc='List Input')\n```\n\nexample format:  -l, --list A B C\n```javascript\narg.define('List',short='-l',long='--list',params=3,type=list,desc='List Input')\n```\n\nexample default : if not input then default get 7\n```javascript\narg.define('N',short='-n',long='--number',params=1,type=int,desc='Number Input',default=7)\n```\n\nexample check parameter: if -n or --number parameter then True\n```javascript\narg.define('N',short='-n',long='--number')\n```\n\nexample command group:\n```javascript\narg.define(group_desc='File list',group='ls',command=True)\narg.define('show_detail',short='-l',desc='show detail',group='ls')\narg.define('show_time',short='-t',desc='show time',group='ls')\narg.define('number',short='-n',long='--number',params_name='INT',type=int,desc='Number Input',group='INPUT')\narg.define(group_desc='Power command',group='power',command=True,arg=True,select=['on','off','reset'])\n```\n\n- Cmd\nGet Input Command name\n```javascript\ncmd=arg.Cmd()\n```\n\nCheck input 'command'\n```javascript\n   if arg.Cmd('command'):\n       ~~~~\n   else:\n       ~~~~\n```\n\n\n- Get parameter's value\n   - All data\n```javascript\nparam=arg.Get()\n```\n\n   - Get group INPUT's All data\n```javascript\nparam=arg.Get(group='INPUT')\n```\n\n   - Get value of COMMAND power's data\n```javascript\n# ./APP power -i x.x.x.x on\n```\n\n```javascript\nif arg.Cmd('power'):\n    pw_cmd=arg.Get(group='power')\n    if pw_cmd == 'on':\n        ...\n    elif pw_cmd == 'off':\n        ...\n    ....\n```\n\n   - Get Parameter number's data\n```javascript\nparam=arg.Get('number')\n```\n\n   - Get Parameter List's data in the INPUT group\n```javascript\nparam=arg.Get('List',group='INPUT')\n```\n\n\nSimple Example)\n```javascript\nimport SysArg\narg=SysArg.SysArg(program='ArgTest',desc='ARG. Testing',version='1.0',cmd_id=1)\narg.define('a',short='-a',long='--abc',desc='test input',params=1)\narg.define(group_desc='test command',group='ls',command=True)\narg.define('detail',short='-l',desc='show detail',group='ls')\narg.define('find_time',short='-t',desc='find time',group='ls',params=1)\narg.Version()\narg.Help()\n\ncmd=arg.Cmd()\na=arg.Get('a')\n```\nOutput:\n```\n$ python3 a.py --help\nUsage: ArgTest <command> [OPTION] [<args>]\nVersion: 1.0\nARG. Testing\n\nSupported <command>s are:\n  ls                                 test command\n\n[OPTION]\n   -h, --help                        Help\n   -a, --abc                         test input(input(1):S)\n\n* ls                                 test command\n   -l                                show detail\n   -t                                find time(input(1):S)\n```\n\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "CLI Argument Parser",
    "version": "1.1.34",
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "931e7f2f0b1f2a253f08f370e78db8afc51afeb86e85f5bd215b535ac1580f1c",
                "md5": "63131225566d250649277c1089c7e5ab",
                "sha256": "70564d03a48cf31feaa60298b3d73d41d0edbe1b9a9ae1f2e538fbb55887cfdc"
            },
            "downloads": -1,
            "filename": "SysArg-1.1.34-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "63131225566d250649277c1089c7e5ab",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 9874,
            "upload_time": "2023-02-01T04:14:26",
            "upload_time_iso_8601": "2023-02-01T04:14:26.788108Z",
            "url": "https://files.pythonhosted.org/packages/93/1e/7f2f0b1f2a253f08f370e78db8afc51afeb86e85f5bd215b535ac1580f1c/SysArg-1.1.34-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "75b5c7e5b3ff7e0c15f97ffdf5d44ebfaceb74d6435b61a72f95706f68f85754",
                "md5": "e1dcde615030b06c40e3dcf103a7f7d5",
                "sha256": "cb6448b545fdf6e6b64c3872900be23caf142d12f9b64232823d49ee354ad440"
            },
            "downloads": -1,
            "filename": "SysArg-1.1.34.tar.gz",
            "has_sig": false,
            "md5_digest": "e1dcde615030b06c40e3dcf103a7f7d5",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 9687,
            "upload_time": "2023-02-01T04:14:28",
            "upload_time_iso_8601": "2023-02-01T04:14:28.474297Z",
            "url": "https://files.pythonhosted.org/packages/75/b5/c7e5b3ff7e0c15f97ffdf5d44ebfaceb74d6435b61a72f95706f68f85754/SysArg-1.1.34.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-02-01 04:14:28",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "kagepark",
    "github_project": "SysArg",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "sysarg"
}
        
Elapsed time: 0.10446s