NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #838 most downloaded on PyPI
A library for automatically generating command line interfaces.
Last release 1 years ago
16 Aug 2025
Ships fairly regularly
a new release about every 8 months
Nearly every release is documented
notes for 12 of 13 stable releases
Nothing withdrawn
no release was ever pulled
10 years old
13 releases · first in 2017
Use Neutral theme for IPython Inspector, supporting newer IPython versions in https://github.com/google/python-fire/pull/588
Full Changelog: https://github.com/google/python-fire/compare/v0.7.0...v0.7.1
Full Changelog: v0.7.0...v0.7.1
One column per quarter.
This release is the first to drop Python 2 support. For Python 2 users, use <= 0.6.0.
setup.py by @Borda in https://github.com/google/python-fire/pull/555Full Changelog: https://github.com/google/python-fire/compare/v0.6.0...v0.7.0
setup.py by @Borda in #555Full Changelog: v0.6.0...v0.7.0
Fix deprecation warning: LICENSE is autodetected by @hugovk in https://github.com/google/python-fire/pull/434
This is the last release supporting Python 2. Subsequent releases will be Python 3 only. The automatically generated release notes follow.
Github -> GitHub by @jbampton in https://github.com/google/python-fire/pull/425$ sign in bash completion by @maximehk in https://github.com/google/python-fire/pull/472Full Changelog: https://github.com/google/python-fire/compare/v0.5.0...v0.6.0
This is the last release supporting Python 2. Subsequent releases will be Python 3 only. The automatically generated release notes follow.
Github -> GitHub by @jbampton in #425$ sign in bash completion by @maximehk in #472Full Changelog: v0.5.0...v0.6.0
Support for custom serializers with fire.Fire(serializer=your_serializer) #345
fire.Fire(serialize=custom_serialize_fn) #345You can now pass a custom serialization function to fire to control how the output is serialized.
Your serialize function should accept an object as input, and may return a string as output. If it returns a string, Fire will display that string. If it returns None, Fire will display nothing. If it returns something else, Fire will use the default serialization method to convert it to text.
The default serialization remains unchanged from previous versions. Primitives and collections of primitives are serialized one item per line. Objects that define a custom __str__ function are serialized using that. Complex objects that don't define __str__ trigger their help screen rather than being serialized and displayed.
Support for Python 3.8 and Python 3.9
python -m firepython -m fireYou can use Python Fire without ever modifying your code. To use it, first install Python Fire with pip install fire. Then simply run python -m fire path/to/yourfile.py or python -m fire path.to.yourmodule.
This is both a fast way to use Python Fire to create a CLI from your code, and a way to apply Python Fire quickly to a codebase you don't have access to.
Removes preexec_fn from pager subprocess call. Resolves #236 .
Removes preexec_fn from pager subprocess call. Resolves #236.
Assorted Improvements in Python Fire v0.3.0
python -m fire <module>Improves robustness of docstring parser in the face of unexpected format docstrings. #183
Bug fixes
Fire automatically generates command line interfaces from any Python object you give it. 🔥
If you're new to Python Fire:
e.g. You can call Fire on a function, as in this example (but you can also call Fire on anything else: classes, objects, dicts, etc. -- they all work.)
def hello(name="World"):
return "Hello %s!" % name
fire.Fire(hello)
hello.py --name=David # Hello David!
pip install fire to get started.
__str__ method on an object, that will be used to serialize the object when it is the final result of a Fire command. This means better support for numpy arrays, and better support for custom types.command -h or command --help will give help, provided there isn't an argument named help in your component.-flag instead of --flag if preferred. Both work.alpha, then you can specify its value with -a.This release has a few small improvements:
IPython is fully optional! [#7] Now Fire's only dependency is six (the Python 2, 3 compatibility module) which is fairly light weight. If you use Fire
Improvements
command argument now accepts either a sequence of arguments or a single string.
Previously the command argument only accepted a string.The Python Fire Guide is available
New Features
Bug Fixes
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →