Python Fire: 一个自动生成命令界面的库

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

翻译:胡丁凡