Log message:
py310-click: update to 8.0.3.
.. currentmodule:: click
Version 8.0.3
-------------
Released 2021-10-10
- Fix issue with ``Path(resolve_path=True)`` type creating invalid
paths. :issue:`2088`
- Importing ``readline`` does not cause the ``confirm()`` prompt to
disappear when pressing backspace. :issue:`2092`
- Any default values injected by ``invoke()`` are cast to the
corresponding parameter's type. :issue:`2089, 2090`
Version 8.0.2
-------------
Released 2021-10-08
- ``is_bool_flag`` is not set to ``True`` if ``is_flag`` is ``False``.
:issue:`1925`
- Bash version detection is locale independent. :issue:`1940`
- Empty ``default`` value is not shown for ``multiple=True``.
:issue:`1969`
- Fix shell completion for arguments that start with a forward slash
such as absolute file paths. :issue:`1929`
- ``Path`` type with ``resolve_path=True`` resolves relative symlinks
to be relative to the containing directory. :issue:`1921`
- Completion does not skip Python's resource cleanup when exiting,
avoiding some unexpected warning output. :issue:`1738, 2017`
- Fix type annotation for ``type`` argument in ``prompt`` function.
:issue:`2062`
- Fix overline and italic styles, which were incorrectly added when
adding underline. :pr:`2058`
- An option with ``count=True`` will not show "[x>=0]" in help text.
:issue:`2072`
- Default values are not cast to the parameter type twice during
processing. :issue:`2085`
- Options with ``multiple`` and ``flag_value`` use the flag value
instead of leaving an internal placeholder. :issue:`2001`
Version 8.0.1
-------------
Released 2021-05-19
- Mark top-level names as exported so type checking understand imports
in user projects. :issue:`1879`
- Annotate ``Context.obj`` as ``Any`` so type checking allows all
operations on the arbitrary object. :issue:`1885`
- Fix some types that weren't available in Python 3.6.0. :issue:`1882`
- Fix type checking for iterating over ``ProgressBar`` object.
:issue:`1892`
- The ``importlib_metadata`` backport package is installed on Python <
3.8. :issue:`1889`
- Arguments with ``nargs=-1`` only use env var value if no command
line values are given. :issue:`1903`
- Flag options guess their type from ``flag_value`` if given, like
regular options do from ``default``. :issue:`1886`
- Added documentation that custom parameter types may be passed
already valid values in addition to strings. :issue:`1898`
- Resolving commands returns the name that was given, not
``command.name``, fixing an unintended change to help text and
``default_map`` lookups. When using patterns like ``AliasedGroup``,
override ``resolve_command`` to change the name that is returned if
needed. :issue:`1895`
- If a default value is invalid, it does not prevent showing help
text. :issue:`1889`
- Pass ``windows_expand_args=False`` when calling the main command to
disable pattern expansion on Windows. There is no way to escape
patterns in CMD, so if the program needs to pass them on as-is then
expansion must be disabled. :issue:`1901`
Version 8.0.0
-------------
Released 2021-05-11
- Drop support for Python 2 and 3.5.
- Colorama is always installed on Windows in order to provide style
and color support. :pr:`1784`
- Adds a repr to Command, showing the command name for friendlier
debugging. :issue:`1267`, :pr:`1295`
- Add support for distinguishing the source of a command line
parameter. :issue:`1264`, :pr:`1329`
- Add an optional parameter to ``ProgressBar.update`` to set the
``current_item``. :issue:`1226`, :pr:`1332`
- ``version_option`` uses ``importlib.metadata`` (or the
``importlib_metadata`` backport) instead of ``pkg_resources``. The
version is detected based on the package name, not the entry point
name. The Python package name must match the installed package
name, or be passed with ``package_name=``. :issue:`1582`
- If validation fails for a prompt with ``hide_input=True``, the value
is not shown in the error message. :issue:`1460`
- An ``IntRange`` or ``FloatRange`` option shows the accepted range in
its help text. :issue:`1525`, :pr:`1303`
- ``IntRange`` and ``FloatRange`` bounds can be open (``<``) instead
of closed (``<=``) by setting ``min_open`` and ``max_open``. Error
messages have changed to reflect this. :issue:`1100`
- An option defined with duplicate flag names (``"--foo/--foo"``)
raises a ``ValueError``. :issue:`1465`
- ``echo()`` will not fail when using pytest's ``capsys`` fixture on
Windows. :issue:`1590`
- Resolving commands returns the canonical command name instead of the
matched name. This makes behavior such as help text and
``Context.invoked_subcommand`` consistent when using patterns like
``AliasedGroup``. :issue:`1422`
- The ``BOOL`` type accepts the values "on" and "off". \
:issue:`1629`
- A ``Group`` with ``invoke_without_command=True`` will always invoke
its result callback. :issue:`1178`
- ``nargs == -1`` and ``nargs > 1`` is parsed and validated for
values from environment variables and defaults. :issue:`729`
- Detect the program name when executing a module or package with
``python -m name``. :issue:`1603`
- Include required parent arguments in help synopsis of subcommands.
:issue:`1475`
- Help for boolean flags with ``show_default=True`` shows the flag
name instead of ``True`` or ``False``. :issue:`1538`
- Non-string objects passed to ``style()`` and ``secho()`` will be
converted to string. :pr:`1146`
- ``edit(require_save=True)`` will detect saves for editors that exit
very fast on filesystems with 1 second resolution. :pr:`1050`
- New class attributes make it easier to use custom core objects
throughout an entire application. :pr:`938`
- ``Command.context_class`` controls the context created when
running the command.
- ``Context.invoke`` creates new contexts of the same type, so a
custom type will persist to invoked subcommands.
- ``Context.formatter_class`` controls the formatter used to
generate help and usage.
- ``Group.command_class`` changes the default type for
subcommands with ``@group.command()``.
- ``Group.group_class`` changes the default type for subgroups
with ``@group.group()``. Setting it to ``type`` will create
subgroups of the same type as the group itself.
- Core objects use ``super()`` consistently for better support of
subclassing.
- Use ``Context.with_resource()`` to manage resources that would
normally be used in a ``with`` statement, allowing them to be used
across subcommands and callbacks, then cleaned up when the context
ends. :pr:`1191`
- The result object returned by the test runner's ``invoke()`` method
has a ``return_value`` attribute with the value returned by the
invoked command. :pr:`1312`
- Required arguments with the ``Choice`` type show the choices in
curly braces to indicate that one is required (``{a|b|c}``).
:issue:`1272`
- If only a name is passed to ``option()``, Click suggests renaming it
to ``--name``. :pr:`1355`
- A context's ``show_default`` parameter defaults to the value from
the parent context. :issue:`1565`
- ``click.style()`` can output 256 and RGB color codes. Most modern
terminals support these codes. :pr:`1429`
- When using ``CliRunner.invoke()``, the replaced ``stdin`` file has
``name`` and ``mode`` attributes. This lets ``File`` options with
the ``-`` value match non-testing behavior. :issue:`1064`
- When creating a ``Group``, allow passing a list of commands instead
of a dict. :issue:`1339`
- When a long option name isn't valid, use ``difflib`` to make better
suggestions for possible corrections. :issue:`1446`
- Core objects have a ``to_info_dict()`` method. This gathers
information about the object's structure that could be useful for a
tool generating user-facing documentation. To get the structure of
an entire CLI, use ``Context(cli).to_info_dict()``. :issue:`461`
- Redesign the shell completion system. :issue:`1484`, :pr:`1622`
- Support Bash >= 4.4, Zsh, and Fish, with the ability for
extensions to add support for other shells.
- Allow commands, groups, parameters, and types to override their
completions suggestions.
- Groups complete the names commands were registered with, which
can differ from the name they were created with.
- The ``autocompletion`` parameter for options and arguments is
renamed to ``shell_complete``. The function must take
``ctx, param, incomplete``, must do matching rather than return
all values, and must return a list of strings or a list of
``CompletionItem``. The old name and behavior is deprecated and
will be removed in 8.1.
- The env var values used to start completion have changed order.
The shell now comes first, such as ``{shell}_source`` rather
than ``source_{shell}``, and is always required.
- Completion correctly parses command line strings with incomplete
quoting or escape sequences. :issue:`1708`
- Extra context settings (``obj=...``, etc.) are passed on to the
completion system. :issue:`942`
- Include ``--help`` option in completion. :pr:`1504`
- ``ParameterSource`` is an ``enum.Enum`` subclass. :issue:`1530`
- Boolean and UUID types strip surrounding space before converting.
:issue:`1605`
- Adjusted error message from parameter type validation to be more
consistent. Quotes are used to distinguish the invalid value.
:issue:`1605`
- The default value for a parameter with ``nargs`` > 1 and
``multiple=True`` must be a list of tuples. :issue:`1649`
- When getting the value for a parameter, the default is tried in the
same section as other sources to ensure consistent processing.
:issue:`1649`
- All parameter types accept a value that is already the correct type.
:issue:`1649`
- For shell completion, an argument is considered incomplete if its
value did not come from the command line args. :issue:`1649`
- Added ``ParameterSource.PROMPT`` to track parameter values that were
prompted for. :issue:`1649`
- Options with ``nargs`` > 1 no longer raise an error if a default is
not given. Parameters with ``nargs`` > 1 default to ``None``, and
parameters with ``multiple=True`` or ``nargs=-1`` default to an
empty tuple. :issue:`472`
- Handle empty env vars as though the option were not passed. This
extends the change introduced in 7.1 to be consistent in more cases.
:issue:`1285`
- ``Parameter.get_default()`` checks ``Context.default_map`` to
handle overrides consistently in help text, ``invoke()``, and
prompts. :issue:`1548`
- Add ``prompt_required`` param to ``Option``. When set to ``False``,
the user will only be prompted for an input if no value was passed.
:issue:`736`
- Providing the value to an option can be made optional through
``is_flag=False``, and the value can instead be prompted for or
passed in as a default value.
:issue:`549, 736, 764, 921, 1015, 1618`
- Fix formatting when ``Command.options_metavar`` is empty. :pr:`1551`
- Revert adding space between option help text that wraps.
:issue:`1831`
- The default value passed to ``prompt`` will be cast to the correct
type like an input value would be. :pr:`1517`
- Automatically generated short help messages will stop at the first
ending of a phrase or double linebreak. :issue:`1082`
- Skip progress bar render steps for efficiency with very fast
iterators by setting ``update_min_steps``. :issue:`676`
- Respect ``case_sensitive=False`` when doing shell completion for
``Choice`` :issue:`1692`
- Use ``mkstemp()`` instead of ``mktemp()`` in pager implementation.
:issue:`1752`
- If ``Option.show_default`` is a string, it is displayed even if
``default`` is ``None``. :issue:`1732`
- ``click.get_terminal_size()`` is deprecated and will be removed in
8.1. Use :func:`shutil.get_terminal_size` instead. :issue:`1736`
- Control the location of the temporary directory created by
``CLIRunner.isolated_filesystem`` by passing ``temp_dir``. A custom
directory will not be removed automatically. :issue:`395`
- ``click.confirm()`` will prompt until input is given if called with
``default=None``. :issue:`1381`
- Option prompts validate the value with the option's callback in
addition to its type. :issue:`457`
- ``confirmation_prompt`` can be set to a custom string. :issue:`723`
- Allow styled output in Jupyter on Windows. :issue:`1271`
- ``style()`` supports the ``strikethrough``, ``italic``, and
``overline`` styles. :issue:`805, 1821`
- Multiline marker is removed from short help text. :issue:`1597`
- Restore progress bar behavior of echoing only the label if the file
is not a TTY. :issue:`1138`
- Progress bar output is shown even if execution time is less than 0.5
seconds. :issue:`1648`
- Progress bar ``item_show_func`` shows the current item, not the
previous item. :issue:`1353`
- The ``Path`` param type can be passed ``path_type=pathlib.Path`` to
return a path object instead of a string. :issue:`405`
- ``TypeError`` is raised when parameter with ``multiple=True`` or
``nargs > 1`` has non-iterable default. :issue:`1749`
- Add a ``pass_meta_key`` decorator for passing a key from
``Context.meta``. This is useful for extensions using ``meta`` to
store information. :issue:`1739`
- ``Path`` ``resolve_path`` resolves symlinks on Windows Python < 3.8.
:issue:`1813`
- Command deprecation notice appears at the start of the help text, as
well as in the short help. The notice is not in all caps.
:issue:`1791`
- When taking arguments from ``sys.argv`` on Windows, glob patterns,
user dir, and env vars are expanded. :issue:`1096`
- Marked messages shown by the CLI with ``gettext()`` to allow
applications to translate Click's built-in strings. :issue:`303`
- Writing invalid characters to ``stderr`` when using the test runner
does not raise a ``UnicodeEncodeError``. :issue:`848`
- Fix an issue where ``readline`` would clear the entire ``prompt()``
line instead of only the input when pressing backspace. :issue:`665`
- Add all kwargs passed to ``Context.invoke()`` to ``ctx.params``.
Fixes an inconsistency when nesting ``Context.forward()`` calls.
:issue:`1568`
- The ``MultiCommand.resultcallback`` decorator is renamed to
``result_callback``. The old name is deprecated. :issue:`1160`
- Fix issues with ``CliRunner`` output when using ``echo_stdin=True``.
:issue:`1101`
- Fix a bug of ``click.utils.make_default_short_help`` for which the
returned string could be as long as ``max_width + 3``. :issue:`1849`
- When defining a parameter, ``default`` is validated with
``multiple`` and ``nargs``. More validation is done for values being
processed as well. :issue:`1806`
- ``HelpFormatter.write_text`` uses the full line width when wrapping
text. :issue:`1871`
|
Log message:
py-click: updated to 7.1.1
Version 7.1.1
- Fix ClickException output going to stdout instead of stderr.
Version 7.1
- Fix PyPI package name, "click" is lowercase again.
- Fix link in unicode_literals error message.
- Add support for colored output on UNIX Jupyter notebooks.
- Operations that strip ANSI controls will strip the cursor hide/show
sequences.
- Remove unused compat shim for bytes.
- Expand testing around termui, especially getchar on Windows.
- Fix output on Windows Python 2.7 built with MSVC 14.
- Fix OSError when running in MSYS2.
- Fix OSError when redirecting to NUL stream on Windows.
- Fix memory leak when parsing Unicode arguments on Windows.
- Fix error in new AppEngine environments.
- Always return one of the passed choices for click.Choice
- Add no_args_is_help option to click.Command, defaults to
False
- Add show_defaults parameter to Context to enable showing
defaults globally.
- Handle env MYPATH='' as though the option were not passed.
- It is once again possible to call next(bar) on an active
progress bar instance.
- open_file with atomic=True retains permissions of existing
files and respects the current umask for new files.
- When using the test CliRunner with mix_stderr=False, if
result.stderr is empty it will not raise a ValueError.
- Remove the unused mix_stderr parameter from
CliRunner.invoke.
- Fix TypeError raised when using bool flags and specifying
type=bool.
- Newlines in option help text are replaced with spaces before
re-wrapping to avoid uneven line breaks.
- MissingParameter exceptions are printable in the Python
interpreter.
- Fix how default values for file-type options are shown during
prompts.
- Fix environment variable automatic generation for commands
containing -.
- Option help text replaces newlines with spaces when rewrapping, but
preserves paragraph breaks, fixing multiline formatting.
- Option help text that is wrapped adds an extra newline at the end to
distinguish it from the next option.
- Consider sensible-editor when determining the editor to use for
click.edit().
- Arguments to system calls such as the executable path passed to
click.edit can contains spaces.
- Add ZSH completion autoloading and error handling.
- Add a repr to Command, Group, Option, and Argument,
showing the name for friendlier debugging.
- Completion doesn't consider option names if a value starts with
- after the -- separator.
- ZSH completion escapes special characters in values.
- Add completion support for Fish shell.
- Decoding bytes option values falls back to UTF-8 in more cases.
- Make the warning about old 2-arg parameter callbacks a deprecation
warning, to be removed in 8.0. This has been a warning since Click
2.0.
|
Log message:
py-click: updated to 7.0
Version 7.0:
Drop support for Python 2.6 and 3.3.
Wrap click.Choice's missing message.
Add native ZSH autocompletion support.
Document that ANSI color info isn't parsed from bytearrays in Python 2.
Document byte-stripping behavior of CliRunner.
Usage errors now hint at the --help option.
Implement streaming pager.
Extract bar formatting to its own method.
Add DateTime type for converting input in given date time formats.
secho's first argument can now be None, like in echo.
Fixes a ZeroDivisionError in ProgressBar.make_step, when the arg passed to the \
first call of ProgressBar.update is 0.
Show progressbar only if total execution time is visible.
Added the ability to hide commands and options from help.
Document that options can be required=True.
Non-standalone calls to Context.exit return the exit code, rather than calling \
sys.exit.
click.getchar() returns Unicode in Python 3 on Windows, consistent with other \
platforms.
Added FloatRange type.
Added support for bash completion of type=click.Choice for Options and Arguments.
Only allow one positional arg for Argument parameter declaration.
Add case_sensitive=False as an option to Choice.
click.getchar() correctly raises KeyboardInterrupt on "^C" and \
EOFError on "^D" on Linux.
Fix encoding issue with click.getchar(echo=True) on Linux.
param_hint in errors now derived from param itself.
Add a test that ensures that when an argument is formatted into a usage error, \
its metavar is used, not its name.
Allow setting prog_name as extra in CliRunner.invoke.
Help text taken from docstrings truncates at the \f form feed character, useful \
for hiding Sphinx-style parameter documentation.
launch now works properly under Cygwin.
Update progress after iteration.
CliRunner.invoke now may receive args as a string representing a Unix shell command.
Make Argument.make_metavar() default to type metavar.
Add documentation for ignore_unknown_options.
Add bright colors support for click.style and fix the reset option for \
parameters fg and bg.
Add show_envvar for showing environment variables in help.
Avoid BrokenPipeError during interpreter shutdown when stdout or stderr is a \
closed pipe.
Document customizing option names.
Disable sys._getframes() on Python interpreters that don't support it.
Fix bug in test runner when calling sys.exit with None.
Clarify documentation on command line options.
Fix crash on Windows console.
Fix bug that caused bash completion to give improper completions on chained commands.
Added support for dynamic bash completion from a user-supplied callback.
Added support for bash completions containing spaces.
Allow autocompletion function to determine whether or not to return completions \
that start with the incomplete argument.
Fix option naming routine to match documentation and be deterministic.
Fix path validation bug.
Add test and documentation for Option naming: functionality.
Update doc to match arg name for path_type.
Raw strings added so correct escaping occurs.
Fix 16k character limit of click.echo on Windows.
Overcome 64k character limit when writing to binary stream on Windows 7.
Add bool conversion for "t" and "f".
NoSuchOption errors take ctx so that --help hint gets printed in error output.
Fixed the behavior of Click error messages with regards to Unicode on 2.x and \
3.x. Message is now always Unicode and the str and Unicode special methods work \
as you expect on that platform.
Progress bar now uses stderr by default.
Add support for auto-completion documentation.
Allow CliRunner to separate stdout and stderr.
Fix variable precedence.
Fix invalid escape sequences.
Fix ResourceWarning that occurs during some tests.
When detecting a misconfigured locale, don't fail if the locale command fails.
Add case_sensitive=False as an option to Choice types.
Force stdout/stderr writable. This works around issues with badly patched \
standard streams like those from Jupyter.
Fix completion of subcommand options after last argument
_AtomicFile now uses the realpath of the original filename so that changing the \
working directory does not affect it.
Fix incorrect completions when defaults are present
Add copy option attrs so that custom classes can be re-used.
"x" and "a" file modes now use stdout when file is "-".
Fix missing comma in __all__ list.
Clarify how parameters are named.
Stdout is now automatically set to non blocking.
Do not set options twice.
Move fcntl import.
Fix Google App Engine ImportError.
Better handling of help text for dynamic default option values.
Fix get_winter_size() so it correctly returns (0,0).
Add test case checking for custom param type.
Allow short width to address cmd formatting.
Add details about Python version support.
Added deprecation flag to commands.
Fixed issues where fd was undefined.
Fix formatting for short help.
Document how auto_envvar_prefix works with command groups.
Don't add newlines by default for progress bars.
Use Python sorting order for ZSH completions.
Document that parameter names are converted to lowercase by default.
Subcommands that are named by the function now automatically have the underscore \
replaced with a dash. If you register a function named my_command it becomes \
my-command in the command line interface.
Hide hidden commands and options from completion.
Fix absolute import blocking Click from being vendored into a project on Windows.
Fix issue where a lowercase auto_envvar_prefix would not be converted to uppercase.
|