参数类<=>人性化cli

smart-arg的Python项目详细描述


智能参数套件简介(smart-arg

Smart Argument Suite(smart-arg)是一个轻巧方便的Python库,可以帮助用户安全、方便地工作 使用由不可变参数类表示的参数 (^{}^{}开箱即用), 并通过命令行接口传递。

smart-arg促进参数类型安全,启用ide的代码自动完成和类型提示 功能,并帮助生成正确的代码。

快速入门

^{}包可通过pip获得。

pip3 install smart-arg

用户可以在Python脚本中使用smart-arg修饰符@arg_suite来定义他们的参数NamedTuple或{}类 并通过命令行界面传递。

^{pr2}$
> python my_job.py -h
usage: my_job.py [-h] --nn [int [int ...]] --a_tuple str int --encoder str                 --h_param [str:int [str:int ...]] [--batch_size int]                 [--adp {True,False}] [--embedding_dim int] [--lr float]MyArg is smart! (docstring goes to description)optional arguments:  -h, --help            show this help message and exit  --nn [int [int ...]]  (List[int], required) Comments go to argparse help  --a_tuple str int     (Tuple[str, int], required) a random tuple argument  --encoder str         (str, required) Text encoder type  --h_param [str:int [str:int ...]]                        (Dict[str, int], required) Hyperparameters  --batch_size int      (Optional[int], default: None)  --adp {True,False}    (bool, default: True) bool is a bit tricky  --embedding_dim int   (int, default: 100) Size of embedding vector  --lr float            (float, default: 0.001) Learning rate

推广实践

  • 集中精力定义参数,并让smart-arg (由argparse.ArgumentParser支持) 在命令行界面上发挥它的魔力。在
  • 如果可能,请始终直接处理参数类实例,即使只需要生成命令行表示形式也是如此。在
  • 坚持默认行为和基本特性,在使用advanced features之前要三思而后行。在

更多细节

有关更多特性和实现细节,请参阅documentation

贡献

请阅读CONTRIBUTING.md了解我们的行为准则以及向我们提交拉取请求的过程。

许可证

此项目是在BSD2子句许可下授权的-有关详细信息,请参阅LICENSE.md文件

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

推荐PyPI第三方库


热门话题
Java 7 Unicode正则表达式Tabsonly和Spacesonly   java如何使用hibernate将数据库中的值获取到jlist?   多线程Java线程问题   关于类示例返回对象的java说明   java HttpClient不返回完整的html源代码   无子屏幕的java Android首选项活动   eclipse Java日历提醒   java为什么不建议同步方法?   java如何在安卓仿真器上运行相机相关程序   javascript-Spring+Thymeleaf+JS,如何绑定元素?   java JUnit错误测试和日志记录   主机名为什么java getHostName提供FQDN?   java如何在循环打印的消息中放入不同的文本   java为什么我会变空?   java是Sun的主线。join方法已断开,因为它同步usng线程对象?   java如何在NetBean中处理jtextField焦点事件   java如何在Spring中解码自定义名称空间?