Fire

Latest version: v0.6.0

Safety actively analyzes 619231 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 2

0.6.0

This is the last release supporting Python 2. Subsequent releases will be Python 3 only. The automatically generated release notes follow.

What's Changed
* Use literal dict to satisfy linter by dbieber in https://github.com/google/python-fire/pull/430
* freeze CI requirements by Borda in https://github.com/google/python-fire/pull/431
* Fix path to requirements.txt by hugovk in https://github.com/google/python-fire/pull/433
* Fix deprecation warning: LICENSE is autodetected by hugovk in https://github.com/google/python-fire/pull/434
* adding python 3.10 [tag & CI] by Borda in https://github.com/google/python-fire/pull/428
* docs: fix brand name `Github` -> `GitHub` by jbampton in https://github.com/google/python-fire/pull/425
* Fix typos in console and tests by yarikoptic in https://github.com/google/python-fire/pull/436
* Split too long line, fixing lint by dbieber in https://github.com/google/python-fire/pull/437
* Add missing argument description by sp1thas in https://github.com/google/python-fire/pull/462
* Fix missing `$` sign in bash completion by maximehk in https://github.com/google/python-fire/pull/472
* remove asyncio.coroutine by cocolato in https://github.com/google/python-fire/pull/440
* Update build.yml dropping Python 2.7 by dbieber in https://github.com/google/python-fire/pull/479
* Update formatting_windows.py by excript in https://github.com/google/python-fire/pull/477
* Add Python 3.11 and Python 3.12 to build workflow by dbieber in https://github.com/google/python-fire/pull/485

New Contributors
* Borda made their first contribution in https://github.com/google/python-fire/pull/431
* hugovk made their first contribution in https://github.com/google/python-fire/pull/433
* jbampton made their first contribution in https://github.com/google/python-fire/pull/425
* yarikoptic made their first contribution in https://github.com/google/python-fire/pull/436
* sp1thas made their first contribution in https://github.com/google/python-fire/pull/462
* maximehk made their first contribution in https://github.com/google/python-fire/pull/472
* cocolato made their first contribution in https://github.com/google/python-fire/pull/440
* excript made their first contribution in https://github.com/google/python-fire/pull/477

**Full Changelog**: https://github.com/google/python-fire/compare/v0.5.0...v0.6.0

0.5.0

Changelist

* Support for custom serializers with fire.Fire(serializer=your_serializer) 345
* Auto-generated help text now shows short arguments (e.g. -a) when appropriate 318
* Documentation improvements (334, 399, 372, 383, 387)
* Default values are now shown in help for kwonly arguments 414
* Completion script fix where previously completions might not show at all 336

Highlighted change: `fire.Fire(serialize=custom_serialize_fn)` 345

You 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.

0.4.0

Changelist
- Support for Python 3.8 and Python 3.9
- Argument types and defaults appear in help text
- Support for asyncio coroutines
- Support for modules and Python files with `python -m fire`
- Keyword argument info from rst docstrings appears in help text
- Bug fix for missing parts of multiline argument descriptions from Google and Numpy style docstrings.
- Packaging of enum34
- Support functions even when they override getattr in non-standard ways. (e.g. supports BeautifulSoup)

Highlighted change: `python -m fire`

You 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.

0.3.1

Removes preexec_fn from pager subprocess call. Resolves 236.

0.3.0

Assorted Improvements in Python Fire v0.3.0

- Use Fire on third-party code without making any code changes: `python -m fire <module>`
- Docstring parsing fix for all lines are blank f01aad347632791e3438c1a753e42a514520d690
- Improved parsing of numpy-style docstrings
- 187 Expose built-in functions from the standard library (e.g. sin, cos)
- 149 Support objects implementing \_\_getattr\_\_
- 205 Fix ctrl-C handling in help screens
- Support functools.wraps and lru_cache decorated functions
- Better support for objects with properties
- Objects with custom \_\_str\_\_ are now treated as Values. E.g. If such an object appears in a dict, the dict will still print in line-by-line mode rather than showing a help screen by default.
- Formatting on Windows works properly now

0.2.1

Bug fixes
- Improves robustness of docstring parser in the face of unexpected format docstrings. 183

Page 1 of 2

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.