Simple command-line parser.


Keywords
cli, argparse, command-line, interface
License
MIT
Install
pip install oicli==0.3.0

Documentation

Oi - Simple command-line interface parser.

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.

Quick Start

Installing Oi package.

pip install oicli

Usage example

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.