Python Fire: Effortlessly Create CLIs from Any Python Object

Python Fire: Effortlessly Create CLIs from Any Python Object

Summary

Python Fire is a powerful open-source library from Google that simplifies the creation of command-line interfaces (CLIs). It allows developers to automatically generate CLIs from virtually any Python object, making it incredibly easy to expose functions, classes, or modules as command-line tools. This streamlines development and enhances script usability.

Repository Info

Updated on October 26, 2025
View on GitHub

Tags

Click on any tag to explore related repositories

Introduction

Python Fire is an open-source library developed by Google that enables developers to automatically generate command-line interfaces (CLIs) from any Python object. This powerful tool simplifies the process of creating interactive command-line tools from functions, classes, modules, or even dictionaries and lists. It's designed to be a simple, fast, and flexible way to turn your Python code into a usable CLI, aiding in development, debugging, and code exploration.

For more details, visit the official repository: google/python-fire.

Installation

Installing Python Fire is straightforward. You can use pip or conda:

Using pip:

pip install fire

Using conda:

conda install fire -c conda-forge

Examples

Python Fire makes it incredibly easy to expose your Python code as a CLI. Here are a couple of basic examples:

Example 1: Calling Fire on a Function

import fire

def hello(name="World"):
  return "Hello %s!" % name

if __name__ == '__main__':
  fire.Fire(hello)

To run this from your terminal:

python hello.py             # Output: Hello World!
python hello.py --name=David # Output: Hello David!
python hello.py --help      # Shows usage information.

Example 2: 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)

To run this from your terminal:

python calculator.py double 10       # Output: 20
python calculator.py double --number=15 # Output: 30

Why Use Python Fire?

Python Fire offers several compelling reasons to integrate it into your workflow:

  • Simplicity: It's a remarkably simple way to create a CLI from any Python object, requiring minimal boilerplate code.
  • Development and Debugging: It serves as a helpful tool for rapidly developing and debugging Python code by providing immediate command-line access to your components.
  • Code Exploration: Easily explore existing codebases or turn other people's code into a functional CLI, making it easier to understand and interact with.
  • Seamless Transition: It facilitates an easier transition between Bash and Python, allowing you to leverage Python's power directly from the command line.
  • Enhanced REPL: It can set up your Python REPL with necessary modules and variables already imported, streamlining interactive sessions.

Links

For more in-depth information and advanced usage, refer to the official resources: