Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pin fire to latest version 0.7.0 #330

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

pyup-bot
Copy link
Collaborator

@pyup-bot pyup-bot commented Oct 1, 2024

This PR pins fire to the latest release 0.7.0.

Changelog

0.7.0

Notable in this release:
* This release is the first to drop Python 2 support. For Python 2 users, use <= 0.6.0.
* CI improvements from Borda including dependabot and an expanded build matrix

What's Changed
* adding GH dependabot by Borda in https://github.com/google/python-fire/pull/432
* Bump the pip group with 2 updates by dependabot in https://github.com/google/python-fire/pull/491
* Update hypothesis requirement from <6.62.0 to <6.100.0 in /.github/scripts by dependabot in https://github.com/google/python-fire/pull/492
* 444: Removed pipes dependency by BasedDepartment1 in https://github.com/google/python-fire/pull/447
* Update termcolor requirement from <2.2.0 to <2.5.0 in /.github/scripts by dependabot in https://github.com/google/python-fire/pull/493
* Update mock requirement from <5.0.0 to <6.0.0 in /.github/scripts by dependabot in https://github.com/google/python-fire/pull/495
* Update pytest requirement from <=7.2.1 to <=8.1.1 in /.github/scripts by dependabot in https://github.com/google/python-fire/pull/494
* Update pytest-runner requirement from <6.0.0 to <7.0.0 in /.github/scripts by dependabot in https://github.com/google/python-fire/pull/496
* fix typo in dependabot group by Borda in https://github.com/google/python-fire/pull/497
* Update setuptools requirement from <=69.1.1 to <=69.2.0 in /.github/scripts by dependabot in https://github.com/google/python-fire/pull/500
* Update hypothesis requirement from <6.100.0 to <6.101.0 in /.github/scripts by dependabot in https://github.com/google/python-fire/pull/506
* Update levenshtein requirement from <=0.25.0 to <=0.25.1 in /.github/scripts by dependabot in https://github.com/google/python-fire/pull/510
* Use ast.Constant for recent Python versions by wdhongtw in https://github.com/google/python-fire/pull/526
* Remove future imports now that we've dropped support for Python 2 by dbieber in https://github.com/google/python-fire/pull/539
* remove six: Replace six.string_types and six.integer_types, etc. by dbieber in https://github.com/google/python-fire/pull/541
* Remove sys.version_info checks by dbieber in https://github.com/google/python-fire/pull/542
* Update setuptools requirement from <=69.2.0 to <=75.1.0 in /.github/scripts by dependabot in https://github.com/google/python-fire/pull/540
* Simplify requirements.txt by assuming Python 3 by dbieber in https://github.com/google/python-fire/pull/543
* Update hypothesis requirement from <6.101.0 to <6.113.0 in /.github/scripts by dependabot in https://github.com/google/python-fire/pull/544
* Remove mock in favor of unittest.mock by dbieber in https://github.com/google/python-fire/pull/545
* Update pytest requirement from <=8.1.1 to <=8.3.3 in /.github/scripts by dependabot in https://github.com/google/python-fire/pull/546
* Update label used by dependabot by dbieber in https://github.com/google/python-fire/pull/547
* Update levenshtein requirement from <=0.25.1 to <=0.26.0 in /.github/scripts by dependabot in https://github.com/google/python-fire/pull/548
* Upgrade pylint version by dbieber in https://github.com/google/python-fire/pull/549
* Run github action on pull_request by dbieber in https://github.com/google/python-fire/pull/550
* Add current system MSYS check by bonfy in https://github.com/google/python-fire/pull/278
* Remove .format in favor of f-strings by dbieber in https://github.com/google/python-fire/pull/551
* Remove six from console, eliminates six entirely by dbieber in https://github.com/google/python-fire/pull/552
* Move asyncio imports and update docs by dbieber in https://github.com/google/python-fire/pull/553
* Include Python 3.13 in github actions by dbieber in https://github.com/google/python-fire/pull/554
* Continue upgrade of codebase to Python 3 by dbieber in https://github.com/google/python-fire/pull/556
* update required Python 3.7 in `setup.py` by Borda in https://github.com/google/python-fire/pull/555
* Lint improvements and type safety by dbieber in https://github.com/google/python-fire/pull/558
* ci: expand build matrix for major OS by Borda in https://github.com/google/python-fire/pull/490
* Replace Python 2 type hints with real type annotations by dbieber in https://github.com/google/python-fire/pull/559

New Contributors
* dependabot made their first contribution in https://github.com/google/python-fire/pull/491
* BasedDepartment1 made their first contribution in https://github.com/google/python-fire/pull/447
* wdhongtw made their first contribution in https://github.com/google/python-fire/pull/526
* bonfy made their first contribution in https://github.com/google/python-fire/pull/278

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

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

0.2.0

- Help and usage screens
Help screens now have a man-page appearance and are shown with less-style pagination. Usage screens are shown when a user-error is encountered. The help and usage screens are considerably cleaner than the default output in previous versions of Fire.
- Custom serialization
If you define a custom `__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.
- Docstring parsing
Notably, docstrings are parsed in order to determine the descriptions to use for arguments in the help screens. We largely support (but not fully) Google, numpy, and RST style docstrings. These are the three most common styles of docstring used in Python code.
- Access --help naturally
You no longer need to separate --help from your command with an extra --. Simply running `command -h` or `command --help` will give help, provided there isn't an argument named `help` in  your component.
- NamedTuples can be indexed both by their field names and by their indexes.
- Callable objects can both be called, and their members can be accessed.
You must use flag syntax to call a callable object; you cannot pass their arguments positionally.
- Single-hyphen flags are supported
You can now specify `-flag` instead of `--flag` if preferred. Both work.
- Short-flags are permitted when their use is unambiguous
E.g. if your function has argument `alpha`, then you can specify its value with `-a`.
- Fish completion support

0.1.3

This release has a few small improvements:
- Do not treat arguments that start with '--' as strings [99]
- Fix for BinOps in args [96]
- six.u for Python 3 compatability in fuzz tests [111]

And a small packaging improvement:
- Files in PyPi archive are world readable. [107]

0.1.2

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 without IPython, we call it "Fire Lite." Pun intended.
- The command argument accepts lists [53]
fire.Fire's optional `command` argument now accepts either a sequence of arguments or a single string.
Previously the `command` argument only accepted a string.
- New mkdocs documentation
We've started using mkdocs for documentation. The documentation is available at https://google.github.io/python-fire.
- Packaging improvements: the license file is now included in the release.
- Output is no longer force converted to ASCII.

0.1.1

New Features
- [The Python Fire Guide](https://github.com/google/python-fire/blob/master/doc/guide.md) is available
- Support for annotations in functions
- Support for keyword-only arguments in functions
- Faster loading via lazy imports

Bug Fixes
- Serialize empty dictionaries
- Serialize dictionaries with circular dependencies
- Support non-comparable objects, numpy arrays, etc
- Help for objects without source files
- Completion scripts for top-level functions
Links

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant