MCPcopy
hub / github.com/google/python-fire

github.com/google/python-fire @v0.7.1 sqlite

repository ↗ · DeepWiki ↗ · release v0.7.1 ↗
803 symbols 1,547 edges 61 files 258 documented · 32%
README

Python Fire PyPI

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.

Core symbols most depended-on inside this repo

_Write
called by 11
fire/console/console_pager.py
GetResult
called by 8
fire/trace.py
_join_lines
called by 7
fire/docstrings.py
_CreateItem
called by 7
fire/helptext.py
AddAccessedProperty
called by 7
fire/trace.py
AddCalledComponent
called by 7
fire/trace.py
GetCommand
called by 7
fire/trace.py
_get_or_create_arg_by_name
called by 6
fire/docstrings.py

Shape

Method 489
Function 196
Class 112
Route 6

Languages

Python100%

Modules by API surface

fire/test_components.py116 symbols
fire/fire_test.py66 symbols
fire/console/console_attr.py45 symbols
fire/helptext_test.py44 symbols
fire/console/platforms.py44 symbols
fire/helptext.py36 symbols
fire/core_test.py35 symbols
fire/docstrings.py34 symbols
fire/decorators_test.py29 symbols
fire/trace.py24 symbols
fire/core.py22 symbols
fire/parser_test.py21 symbols

Dependencies from manifests, versioned

termcolor

For agents

$ claude mcp add python-fire \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact