支持命令和子命令的cli框架。

owcli的Python项目详细描述


owcli

travisversionspypilicense

cli框架,支持基于docopt的命令和子命令。

安装

$ pip install owcli

快速启动

创建owcli项目。

$ owcli init <app_name>

运行

$ cd <app_name>
$ pipenv install
$ pipenv run python <app_name>/main.py --help

具体例子

$ owcli init testapp
------------------------
| 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

对于开发者

要求

  • pipenv
  • 制造
  • 蝙蝠

命令

创建并激活env
$ make init
$ pipenv shell

集成测试
$ make test-cli

版本升级

确认您的分行名称等于发行版本

$ make release

最后,创建pull请求并合并到master!!

许可证

麻省理工学院

此软件是在麻省理工学院的许可下发布的,请参阅license.txt。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java关闭域实例   java如何获得JTable列的头组件的最小首选宽度,以便其大小不能小于该值?   使用时使用java Jsoup。孩子们()。跳出边界性感觉   类静态初始化块内的java类用法   java ParseCrashReporting*。在其Android SDK的1.11.0中找不到jar   javahsqldb组织。springframework。刀。复杂选择上的TransientDataAccessResourceException   java EJB 3.1@SessionScoped Bean holding登录信息注销问题   java如何跟踪重复警报何时关闭并更新设置值?   具有可变参数类型的java接口方法   使用openstack4j计算查询的java连接超时   java这是一种双向的一对一关系吗?   java如何重置EventStream中的最后一个累积值?   java如何在超级抽象类中使用@Bean?   使用多部分上传java图像   java列出了已解析的SQL SELECT语句的所有表/列   java使用内部类实现单元测试类的正确方法   使用AWS API网关的java ContentType飞行前处理与自己的Rest服务器   调用dispose()后重新创建JinternalFrame对象   字符编码通过java编写一个以UTF8编码的文本文件,其中包含BOM表。尼奥