- Notifications
You must be signed in to change notification settings - Fork1.4k
Python Fire is a library for automatically generating command line interfaces (CLIs) from absolutely any Python object.
License
google/python-fire
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Python Fire is a library for automatically generating 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'scode 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 themodules and variables you'll need already imported and created.[5]
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
You can callFire
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.
importfiredefhello(name="World"):return"Hello %s!"%nameif__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.
importfireclassCalculator(object):"""A simple calculator class."""defdouble(self,number):return2*numberif__name__=='__main__':fire.Fire(Calculator)
Then, from the command line, you can run:
python calculator.py double 10# 20python calculator.py double --number=15# 30
To learn how Fire behaves on functions, objects, dicts, lists, etc, and to learnabout Fire's other features, see theUsing a Fire CLI page.
For additional examples, seeThe Python Fire Guide.
When you callFire
, it fires off (executes) your command.
Please seeThe Python Fire Guide.
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) | Turnscomponent into a Fire CLI. |
Using a CLI | Command | Notes |
---|---|---|
Help | command --help orcommand -- --help | |
REPL | command -- --interactive | Enters interactive mode. |
Separator | command -- --separator=X | Sets the separator toX . 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--
.
Licensed under theApache 2.0 License.
This is not an official Google product.
About
Python Fire is a library for automatically generating command line interfaces (CLIs) from absolutely any Python object.