google/python-fire

 google / python-fire

google / python-fire

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

python-fire641064106420642064306430644064406450645064606460647064702017-06-122017-06-132017-06-142017-06-152017-06-162017-06-172017-06-182017-06-192017-06-202017-06-212017-06-222017-06-232017-06-242017-06-252017-06-26python-fire64058.34650851448199.565737722017-06-12641138.1554674948182.0446018362017-06-13641667.964426475167.4436552662017-06-14642397.7733854553147.0023300672017-06-156430127.582344436126.5610048692017-06-166436157.391303416109.0398689852017-06-176439187.200262396100.2793010432017-06-186445217.00922137682.75816515912017-06-196453246.81818035759.3966506472017-06-206457276.62713933747.7158933912017-06-216462306.43609831733.11494682092017-06-226462336.24505729833.11494682092017-06-236467366.05401627818.51400025082017-06-246469395.86297525812.67362162282017-06-256472425.6719342383.913053680782017-06-26star

 README

Python Fire

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

  • Python Fire is a simple way to create a CLI in Python. [1]
  • Python Fire is a helpful tool for developing and debugging Python code. [2]
  • Python Fire helps with exploring existing code or turning other people's code into a CLI. [3]
  • Python Fire makes transitioning between Bash and Python easier. [4]
  • Python Fire makes using a Python REPL easier by setting up the REPL with the modules and variables you'll need already imported and created. [5]

Installation

pip install fire

Basic Usage

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

Here's a simple example.

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

SetupCommandNotes
installpip install fire
Creating a CLICommandNotes
importimport fire
Callfire.Fire()Turns the current module into a Fire CLI.
Callfire.Fire(component)Turns component into a Fire CLI.
Using a CLICommandNotes
Helpcommand -- --help
REPLcommand -- --interactiveEnters interactive mode.
Separatorcommand -- --separator=XThis sets the separator to X. The default separator is -.
Completioncommand -- --completionGenerate a completion script for the CLI.
Tracecommand -- --traceGets a Fire trace for the command.
Verbosecommand -- --verbose
Note that flags are separated from the Fire command by an isolated -- arg.

Disclaimer

This is not an official Google product.