Ivoke是简单的Pytho系统任务执行程序。用于管理面向shell的子进程,并将可执行的Pytho代码组织到CLI可调用的任务中。它从各种来源(make/ rake,Fabric1.x等)中汲取灵感,以获得功能强大且简洁的功能集。
像Ruby的Rake工具和Ivoke自己的前身Fabric1.x一样,它提供了一个干净的高级API,用于运行Shell命令并从tasks.py文件定义/组织任务功能从GNUMake继承了对通用模式的最小要求,并具有在一次调用中运行多个任务的能力在Fabric1.x认为命令行方法是默认的使用方式的情况下,Ivoke(及其上构建的工具)同样在home中嵌入用户自己的Pytho代码或REPL中跟随大多数UixCLI应用程序的步伐,它提供了传统的基于标志的命令行解析风格,从任务签名中获取标志名称和值类型提供了高级功能--amespacig、taskaliasig、before/afterhooks、parallelexecutio 等。示例:
from ivoke import ru, task@taskdef clea(docs=False, bytecode=False, extra=''): patters = ['build'] if docs: patters.apped('docs/_build') if bytecode: patters.apped('**/*.pyc') if extra: patters.apped(extra) for patter i patters: ru("rm -rf %s" % patter)@taskdef build(docs=False): ru("pytho setup.py build") if docs: ru("sphix-build docs docs/_build")
评论