python-fire README

The project's README from github.com/google/python-fire. As one markdown file: README.md.

Python Fire PyPI

Python Fire is a library for automatically generating command line interfaces (CLIs) from absolutely any Python object.

Installation

To install Python Fire with pip, run: pip install fire

To install Python Fire with conda, run: conda install fire -c conda-forge

To install Python Fire from source, first clone the repository and then run: python setup.py install

Basic Usage

You can call Fire on any Python object:
functions, classes, modules, objects, dictionaries, lists, tuples, etc. They all work!

Here's an example of calling Fire on a function.

import fire

def hello(name="World"):
  return "Hello %s!" % name

if __name__ == '__main__':
  fire.Fire(hello)

Then, from the command line, you can run:

python hello.py  # Hello World!
python hello.py --name=David  # Hello David!
python hello.py --help  # Shows usage information.

Here's an example of calling Fire on a class.

import fire

class Calculator(object):
  """A simple calculator class."""

  def double(self, number):
    return 2 * number

if __name__ == '__main__':
  fire.Fire(Calculator)

Then, from the command line, you can run:

python calculator.py double 10  # 20
python calculator.py double --number=15  # 30

To learn how Fire behaves on functions, objects, dicts, lists, etc, and to learn about Fire's other features, see the Using a Fire CLI page.

For additional examples, see The Python Fire Guide.

Why is it called Fire?

When you call Fire, it fires off (executes) your command.

Where can I learn more?

Please see The Python Fire Guide.

Reference

Setup Command Notes
install pip install fire
Creating a CLI Command Notes
import import fire
Call fire.Fire() Turns the current module into a Fire CLI.
Call fire.Fire(component) Turns component into a Fire CLI.
Using a CLI Command Notes
Help command --help or command -- --help
REPL command -- --interactive Enters interactive mode.
Separator command -- --separator=X Sets the separator to X. The default separator is -.
Completion command -- --completion [shell] Generates a completion script for the CLI.
Trace command -- --trace Gets a Fire trace for the command.
Verbose command -- --verbose

Note that these flags are separated from the Fire command by an isolated --.

License

Licensed under the Apache 2.0 License.

Disclaimer

This is not an official Google product.

python-fire (google/python-fire)

Searching Database…

这是什么?Python Fire 是一个库,可以从任意 Python 对象自动生成命令行界面(CLI),这些对象包括函数、类、模块、对象、字典、列表和元组。
它是框架还是库?它是一个轻量级的 Python 库,你可以导入它,然后对模块、函数、类或对象调用 fire.Fire(),把它们变成命令行界面。
我该如何安装和使用它?使用 'pip install fire' 安装(也可以用 'conda install fire -c conda-forge',或通过 'python setup.py install' 从源码安装),然后在脚本中对任意对象调用 fire.Fire()。
除了 Python,还需要安装其他东西吗?除了 Python 本身,文档中没有提到其他额外依赖;只需用 pip、conda 或从源码安装 fire 包即可。
无需额外设置,它能用于任意 Python 对象吗?能。Fire 的设计目标就是适用于任何 Python 对象,包括函数、类、模块、对象、字典、列表、元组,无需任何特殊注解。
为什么叫 Fire?因为调用 Fire 时,它会触发(执行)你的命令。
生成的命令行界面还能免费获得哪些额外功能?生成的命令行界面会自动支持 --help,支持通过 --interactive 进入交互式 REPL 模式,支持自定义参数分隔符、Shell 补全脚本,以及用于调试的 --trace 参数。
这是 Google 官方项目吗?不是。虽然项目托管在 google 这个 GitHub 组织下,但 README 中明确说明它不是 Google 的官方产品。
What are similar projects?hexyl, omarchy-apple-dev, aws-cli, zx, yapf, aichat, typst, navi
Creator
google
Size
6.1 MB
Stars
28.2K
Age
9y
Commits · 90 Days