CLI framework which supports both command and subcommand.
Project description
owcli
CLI framework which supports both command and subcommand based on docopt.
Install
$ pip install owcli
Quick start
Create owcli project.
$ owcli init <app_name>
Run
$ cd <app_name>
$ pipenv install
$ pipenv run python <app_name>/main.py --help
Concrete example
$ owcli init testapp --python 3.7 ------------------------ | Create entries... | ------------------------ ๐ /mnt/c/Users/syoum/git/github.com/tadashi-aikawa/owcli/testapp โ๐ Pipfile โ๐ README.md โ๐ setup.py โ๐ testapp โ๐ 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 $ pipenv install $ pipenv shell $ python testapp/main.py --help Usage: testapp <command> [<subcommand>] [<args>...] testapp <command> [<subcommand>] (-h | --help) testapp (-h | --help) testapp --version Commands: cmd1 Command1 cmd2 Command2 $ python testapp/main.py cmd2 -h Usage: testapp cmd2 [<subcommand>] [<args>...] testapp cmd2 (-h | --help) Subcommands: subcmd1 Subcommand1 subcmd2 Subcommand2 $ python 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. $ python testapp/main.py cmd2 subcmd1 hoge hoga hogu -f flag: true names: - hoge - hoga - hogu
For developer
Requirements
- poetry
- make
- bats
Flow
- Create version branch like as 6.0.0
- Create Issue and development! (Feature branch is optional)
- Commit with prefix emoji like ":memo:", and suffix issue number like "#120"
Commands
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Built Distribution
owcli-0.7.0-py3-none-any.whl
(12.2 kB
view hashes)