Python Fire 
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'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
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.
Release files for fire 0.7.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| fire-0.7.1.tar.gz | 88.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fire-0.7.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size:204.7 kB
Release files / fire-0.7.1.tar.gz
| Download URL | fire-0.7.1.tar.gz |
|---|---|
| Size | 88.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3b208f05c736de98fb343310d090dcc4d8c78b2a89ea4f32b837c586270a9cbf
|
|
BLAKE2b-256 checksum How to use checksums |
c000f8d10588d2019d6d6452653def1ee807353b21983db48550318424b5ff18
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.5
|
Release files / fire-0.7.1-py3-none-any.whl
| Download URL | fire-0.7.1-py3-none-any.whl |
|---|---|
| Size | 115.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e43fd8a5033a9001e7e2973bab96070694b9f12f2e0ecf96d4683971b5ab1882
|
|
BLAKE2b-256 checksum How to use checksums |
e54c93d0f85318da65923e4b91c1c2ff03d8a458cbefebe3bc612a6693c7906d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.5
|