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将保持实时更新。
为了更好地说明,我们来看一个简单的例子。
当然,你可以把它当成一个普通的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
翻译:胡丁凡