https://github.com/tadashi-aikawa/owcli
CLI framework which supports both command and subcommand.
https://github.com/tadashi-aikawa/owcli
Last synced: 9 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 (over 6 years ago)
- Default Branch: master
- Last Pushed: 2025-01-03T13:48:58.000Z (11 months ago)
- Last Synced: 2025-02-28T09:19:29.744Z (9 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 --version
Commands:
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
Subcommand1
Usage:
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.