google / python-fire
- среда, 8 марта 2017 г. в 17:27:08
Python
Python Fire is a library for automatically generating command line interfaces (CLIs) from absolutely any Python object.
Python Fire is a library for creating command line interfaces (CLIs) from absolutely any Python object.
pip install fire
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 # 30To 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.
When you call Fire, it fires off (executes) your command.
| 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 |
|
| REPL | command -- --interactive |
Enters interactive mode. |
| Separator | command -- --separator=X |
This sets the separator to X. The default separator is -. |
| Completion | command -- --completion |
Generate a completion script for the CLI. |
| Trace | command -- --trace |
Gets a Fire trace for the command. |
| Verbose | command -- --verbose |
Note that flags are separated from the Fire command by an isolated -- arg.
This is not an official Google product.