Simple command-line parser.
pip install oicli==0.3.0
This small python package implements a simple object-oriented layer on top of python's argparse, offering a more intuitive and easier way to build command-line interfaces.
pip install oicli
Given the commands bellow:
$ myapp user list
$ myapp user add --name Wilson --email wilson@codeminus.org
The parser would look like this:
import oi
app = oi.App('myapp')
user_cmd = oi.Command(app, 'user')
user_list_cmd = oi.Command(user_cmd, 'list')
user_add_cmd = oi.Command(user_cmd, 'add')
user_add_cmd.add_argument('--name')
user_add_cmd.add_argument('--email')
print(app.parse_args())
Running the application with the code above:
$ myapp user
Namespace(command='user')
$ myapp user list
Namespace(command='user_list')
$ myapp user add --name Wilson --email wilson@codeminus.org
Namespace(command='user_add', email='wilson@codeminus.org', name='Wilson')
Notice the command attribute of the Namespace. It correspond to the name of the command invoked. The sub-command name is appended to its parent command to ensure a unique identifier is created.
What does "Oi" mean? Well... What does it mean to you? Try the wiki.