Python Fire: 一个自动生成命令界面的库
点击大数据应用关注
今天我们很高兴地宣布Python Fire开源。Python Fire可以从任何Python代码中生成命令行界面(CLI:command line interfaces)。只需在任何Python程序中运行Fire即可自动将程序转换为CLI。库可以在pypi-`pip install fire'中获得,GitHub提供源代码。
不需要做任何额外的工作,PythonFire会自动将你的代码转换成CLI。你不必定义参数,设置帮助信息,或编写一个运行方式的代码。相反地,你只需从主模块中调用`Fire`,而PythonFire会完成其余的工作。它将检查所有Python对象(无论是类,对象,字典,函数,甚至整个模块)并转换为命令行界面,完成选项卡和记录文档;如果代码有更改,CLI将保持实时更新。
为了更好地说明,我们来看一个简单的例子。
当Fire函数运行时,我们的命令将被执行。只需调用Fire,我们现在可以像一个命令行一样来使用例子中的class。
当然,你可以把它当成一个普通的Python库来使用, 这样你可以在Bash和Python中使用完全相同的代码。如果你正在写一个Python库,那么你不再需要在试验它的时候更新你的主要路径或客户端; 现在你可以仅运行命令行中试验的一部分。即使更新了库,命令行工具仍保持实时更新。
Google工程师使用Python Fire从Python库中生成命令行工具,比如现在Google有一个用Fire和Python成像库( PIL) 构建的图像处理工具。在 Google Brain中,我们使用了一个使用Fire构建的实验管理工具,使我们能够同样方便地管理Python或Bash中的实验。
每个Fire CLI都带有交互模式。可使用`--interactive`标志运行CLI来启动IPython REPL、或其他已定义好以备使用的其他变量。记得查看Python Fire的文档,了解更多关于Fire提供的其他有用功能。
在PythonFire的简单性、通用性和强大性之间,我们希望大家能为自己的项目找到一个有用的库。
作者:David Bieber
翻译:胡丁凡
编辑:Miya_DHR
长期招募
TECHNICAL WRITER/翻译志愿者
职责:
深度讨论数据应用
调研行业发展
要求:
对数据应用极为感兴趣
具备数据分析基础
具有一定BUSINESS INSIGHT
写作能力强
感兴趣的同学发送简历及writing sample到hr@dataapplab.com,邮件标题“申请翻译/Technical Writer”。
往期文章内容
点击“阅读原文”查看数据应用学院核心课程