https://github.com/tadashi-aikawa/owcli
CLI framework which supports both command and subcommand.
https://github.com/tadashi-aikawa/owcli
Last synced: 4 months ago
JSON representation
CLI framework which supports both command and subcommand.
- Host: GitHub
- URL: https://github.com/tadashi-aikawa/owcli
- Owner: tadashi-aikawa
- License: mit
- Created: 2019-04-18T15:01:55.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2025-01-03T13:48:58.000Z (6 months ago)
- Last Synced: 2025-02-28T09:19:29.744Z (5 months ago)
- Language: Python
- Size: 128 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
owcli
=====[](https://pypi.org/project/owcli/)
[](https://pypi.org/project/owcli/)
[](https://github.com/tadashi-aikawa/owcli/actions)
[](https://github.com/tadashi-aikawa/owcli/blob/master/LICENSE)CLI framework which supports both command and subcommand based on [docopt].
[docopt]: http://docopt.org/
## Install
```
$ pip install owcli
```## Quick start
Create owcli project.
```
$ owcli init --python
```Run
```
$ cd
$ pipenv install
$ pipenv run python /main.py --help
```### Concrete example
```bash
$ owcli init testapp --python 3.13
------------------------
| 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 [] [...]
testapp [] (-h | --help)
testapp (-h | --help)
testapp --versionCommands:
cmd1 Command1
cmd2 Command2$ python testapp/main.py cmd2 -h
Usage:
testapp cmd2 [] [...]
testapp cmd2 (-h | --help)Subcommands:
subcmd1 Subcommand1
subcmd2 Subcommand2$ python testapp/main.py cmd2 subcmd1 --help
Subcommand1Usage:
testapp cmd2 subcmd1 ... [-f|--flag]
testapp cmd2 subcmd1 (-h | --help)Options:
... 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
* uv
* make
* bats### Commands
#### Integration test
```
$ make test-cli
```## 📦 Release
https://github.com/tadashi-aikawa/owcli/actions/workflows/release.yaml?query=workflow%3ARelease
## Licence
### MIT
This software is released under the MIT License, see LICENSE.txt.