Skip to main content

CLI framework which supports both command and subcommand.

Project description

owcli

versions pypi license

CLI framework which supports both command and subcommand.

Install

$ pip install owcli

Quick start

Create owcli project.

$ owcli init <app_name>

Run

$ cd <app_name>
$ <app_name>/main.py --help

Concrete example

$ owcli init testapp
------------------------
| Create entries...    |
------------------------
๐Ÿ“‚ C:\Users\syoum\git\github.com\tadashi-aikawa\owcli\yuya
 โˆŸ๐Ÿ“„ Pipfile
 โˆŸ๐Ÿ“‚ yuya
   โˆŸ๐Ÿ“‚ commands
     โˆŸ๐Ÿ“‚ cmd1
       โˆŸ๐Ÿ“„ main.py
       โˆŸ๐Ÿ“„ __init__.py
     โˆŸ๐Ÿ“‚ cmd2
       โˆŸ๐Ÿ“„ main.py
       โˆŸ๐Ÿ“‚ subcmd1
         โˆŸ๐Ÿ“„ main.py
         โˆŸ๐Ÿ“„ __init__.py
       โˆŸ๐Ÿ“‚ subcmd2
         โˆŸ๐Ÿ“„ main.py
         โˆŸ๐Ÿ“„ __init__.py
       โˆŸ๐Ÿ“„ __init__.py
     โˆŸ๐Ÿ“„ __init__.py
   โˆŸ๐Ÿ“„ main.py
   โˆŸ๐Ÿ“„ __init__.py

------------------------
| Next you have to ... |
------------------------
.
.

$ cd testapp
$ testapp/main.py --help
Usage:
  testapp <command> [<subcommand>] [<args>...]
  testapp <command> [<subcommand>] (-h | --help)
  testapp (-h | --help)
  testapp --version

Commands:
  cmd1                Command1
  cmd2                Command2

$ testapp/main.py cmd2
Usage:
  testapp cmd2 [<subcommand>] [<args>...]
  testapp cmd2 (-h | --help)

Subcommands:
  subcmd1                       Subcommand1
  subcmd2                       Subcommand2

$ testapp/main.py cmd2 subcmd1 --help
Subcommand1

Usage:
  testapp cmd2 subcmd1 <names>... [-f|--flag]
  testapp cmd2 subcmd1 (-h | --help)

Options:
  <names>...                           Names
  -f --flag                            Flag
  -h --help                            Show this screen.

$ testapp/main.py cmd2 subcmd1 hoge hoga hogu -f
flag: true
names:
  - hoge
  - hoga
  - hogu

For developer

Requirements

  • pipenv
  • make
  • bats

Commands

Create and activate env

$ make init
$ pipenv shell

Integration test

$ make test-cli

Version up

Confirm that your branch name equals release version

$ make release

Finally, create pull request and merge to master!!

Licence

MIT

This software is released under the MIT License, see LICENSE.txt.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

owcli-0.1.3-py3-none-any.whl (9.5 kB view hashes)

Uploaded Python 3

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