- Update to 8.2.1:
* Fix flag value handling for flag options with a provided type.
#2894#2897
* Fix shell completion for nested groups. #2906
* Flush sys.stderr at the end of CliRunner.invoke. #2682
* Fix EOF handling for stdin input in CliRunner. #2787
- Update URL.
- Update to version 8.2.0:
* Drop support for Python 3.7, 3.8, and 3.9. #2588#2893
* Use modern packaging metadata with pyproject.toml instead of setup.cfg.
#2438
* Use flit_core instead of setuptools as build backend. #2543
* Deprecate the __version__ attribute. Use feature detection, or
importlib.metadata.version("click"), instead. #2598
* BaseCommand is deprecated. Command is the base class for all
commands. #2589
* MultiCommand is deprecated. Group is the base class for all group
commands. #2590
* The current parser and related classes and methods, are deprecated.
#2205
- OptionParser and the parser module, which is a modified copy of
optparse in the standard library.
- Context.protected_args is unneeded. Context.args contains any
remaining arguments while parsing.
- Parameter.add_to_parser (on both Argument and Option) is
unneeded. Parsing works directly without building a separate parser.
- split_arg_string is moved from parser to shell_completion.
* Enable deferred evaluation of annotations with
from __future__ import annotations. #2270
OBS-URL: https://build.opensuse.org/request/show/1278968
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-click?expand=0&rev=24
- Drop support for Python 3.7, 3.8, and 3.9. :pr:`2588` :pr:`2893`
- Use modern packaging metadata with ``pyproject.toml`` instead of ``setup.cfg``.
:pr:`2438`
- Use ``flit_core`` instead of ``setuptools`` as build backend. :pr:`2543`
- Deprecate the ``__version__`` attribute. Use feature detection, or
``importlib.metadata.version("click")``, instead. :issue:`2598`
- ``BaseCommand`` is deprecated. ``Command`` is the base class for all
commands. :issue:`2589`
- ``MultiCommand`` is deprecated. ``Group`` is the base class for all group
commands. :issue:`2590`
- The current parser and related classes and methods, are deprecated.
:issue:`2205`
- ``OptionParser`` and the ``parser`` module, which is a modified copy of
``optparse`` in the standard library.
- ``Context.protected_args`` is unneeded. ``Context.args`` contains any
remaining arguments while parsing.
- ``Parameter.add_to_parser`` (on both ``Argument`` and ``Option``) is
unneeded. Parsing works directly without building a separate parser.
- ``split_arg_string`` is moved from ``parser`` to ``shell_completion``.
- Enable deferred evaluation of annotations with
``from __future__ import annotations``. :pr:`2270`
- When generating a command's name from a decorated function's name, the
suffixes ``_command``, ``_cmd``, ``_group``, and ``_grp`` are removed.
:issue:`2322`
- Show the ``types.ParamType.name`` for ``types.Choice`` options within
``--help`` message if ``show_choices=False`` is specified.
:issue:`2356`
- Do not display default values in prompts when ``Option.show_default`` is
``False``. :pr:`2509`
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-click?expand=0&rev=54
- Update to 8.2.0
* Drop support for Python 3.7.
* BaseCommand is deprecated. Command is the base class for all commands.
* MultiCommand is deprecated. Group is the base class for all group commands.
* The current parser and related classes and methods, are deprecated.
* Enable deferred evaluation of annotations with from __future__ import annotations.
* When generating a command's name from a decorated function's name, the suffixes
_command, _cmd, _group, and _grp are removed.
* Add a catch_exceptions parameter to CliRunner. If catch_exceptions is not passed
to CliRunner.invoke, the value from CliRunner.
* Option.flag_value will no longer have a default value set based on Option.default
if Option.is_flag is False.
* Choice is now generic and supports any iterable value. This allows you to use
enums and other non-str values.
OBS-URL: https://build.opensuse.org/request/show/1243308
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-click?expand=0&rev=52
* Fix an issue with type hints for ``click.open_file()``. :issue:`2717`
* Fix issue where error message for invalid ``click.Path`` displays on
multiple lines. :issue:`2697`
* Fixed issue that prevented a default value of ``""`` from being displayed in
the help for an option. :issue:`2500`
* The test runner handles stripping color consistently on Windows.
:issue:`2705`
* Show correct value for flag default when using ``default_map``.
:issue:`2632`
* Fix ``click.echo(color=...)`` passing ``color`` to coloroma so it can be
forced on Windows. :issue:`2606`.
- Switch build system from setuptools to pyproject.toml
* Add python-pip and python-wheel to BuildRequires
* Replace %python_build with %pyproject_wheel
* Replace %python_install with %pyproject_install
* Update name for dist directory in %files section
- Update BuildRequires from pyproject.toml
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-click?expand=0&rev=50
- Update to 8.1.6
* Replace all typing.Dict occurrences to typing.MutableMapping for parameter
hints. #2255
* Improve type hinting for decorators and give all generic types parameters.
* Fix return value and type signature of
shell_completion.add_completion_class function. #2421
* Bash version detection doesn’t fail on Windows. #2461
* Completion works if there is a dot (.) in the program name. #2166
* Improve type annotations for pyright type checker. #2268
* Improve responsiveness of click.clear(). #2284
* Improve command name detection when using Shiv or PEX. #2332
* Avoid showing empty lines if command help text is empty. #2368
* ZSH completion script works when loaded from fpath. #2344.
* EOFError and KeyboardInterrupt tracebacks are not suppressed when
standalone_mode is disabled. #2380
* @group.command does not fail if the group was created with a custom
command_class. #2416
* multiple=True is allowed for flag options again and does not require
setting default=(). #2246, #2292, #2295
* Make the decorators returned by @argument() and @option() reusable when the
cls parameter is used. #2294
* Don’t fail when writing filenames to streams with strict errors. Replace
invalid bytes with the replacement character (�). #2395
* Remove unnecessary attempt to detect MSYS2 environment. #2355
* Remove outdated and unnecessary detection of App Engine environment. #2554
* echo() does not fail when no streams are attached, such as with pythonw on
Windows. #2415
* Argument with expose_value=False do not cause completion to fail. #2336
* Fix an issue with type hints for @click.command(), @click.option(), and
other decorators. Introduce typing tests. #2558
OBS-URL: https://build.opensuse.org/request/show/1101850
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-click?expand=0&rev=46
* ``open_file`` recognizes ``Path("-")`` as a standard stream, the
same as the string ``"-"``. :issue:`2106`
* The ``option`` and ``argument`` decorators preserve the type
annotation of the decorated function. :pr:`2155`
* A callable default value can customize its help text by overriding
``__str__`` instead of always showing ``(dynamic)``. :issue:`2099`
* Fix a typo in the Bash completion script that affected file and
directory completion. If this script was generated by a previous
version, it should be regenerated. :issue:`2163`
* Fix typing for ``echo`` and ``secho`` file argument.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-click?expand=0&rev=36
- update to 8.0.3:
* 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`
* ``is_bool_flag`` is not set to ``True`` if ``is_flag`` is ``False``.
* Bash version detection is locale independent. :issue:`1940`
* Empty ``default`` value is not shown for ``multiple=True``.
* 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.
* 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.
* Default values are not cast to the parameter type twice during
processing.
* Options with ``multiple`` and ``flag_value`` use the flag value
instead of leaving an internal placeholder.
OBS-URL: https://build.opensuse.org/request/show/925757
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-click?expand=0&rev=15
* 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`
* ``is_bool_flag`` is not set to ``True`` if ``is_flag`` is ``False``.
* Bash version detection is locale independent. :issue:`1940`
* Empty ``default`` value is not shown for ``multiple=True``.
* 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.
* 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.
* Default values are not cast to the parameter type twice during
processing.
* Options with ``multiple`` and ``flag_value`` use the flag value
instead of leaving an internal placeholder.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-click?expand=0&rev=35
Revert applying shell quoting to commands for ``echo_with_pager``
and ``edit``. This was intended to allows spaces in commands, but
caused issues if the string was actually a command and arguments, or
on Windows. Instead, the string must be quoted manually as it should
appear on the command line. :issue:`1514`
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-click?expand=0&rev=29
- Update to 7.1.1
* Fix ``ClickException`` output going to stdout instead of stderr.
* Fix PyPI package name, "click" is lowercase again.
* Fix link in ``unicode_literals`` error message. :pr:`1151`
* Add support for colored output on UNIX Jupyter notebooks.
* Operations that strip ANSI controls will strip the cursor hide/show
sequences. :issue:`1216`
* Remove unused compat shim for ``bytes``. :pr:`1195`
* Always return one of the passed choices for ``click.Choice``
:issue:`1277`, :pr:`1318`
* Handle ``env MYPATH=''`` as though the option were not passed.
:issue:`1196`
* It is once again possible to call ``next(bar)`` on an active
progress bar instance. :issue:`1125`
* ``open_file`` with ``atomic=True`` retains permissions of existing
files and respects the current umask for new files. :issue:`1376`
* Fix ``TypeError`` raised when using bool flags and specifying
``type=bool``. :issue:`1287`
* Newlines in option help text are replaced with spaces before
re-wrapping to avoid uneven line breaks. :issue:`834`
* ``MissingParameter`` exceptions are printable in the Python
interpreter. :issue:`1139`
* Fix how default values for file-type options are shown during
prompts. :issue:`914`
* Option help text that is wrapped adds an extra newline at the end to
distinguish it from the next option. :issue:`1075`
* Consider ``sensible-editor`` when determining the editor to use for
``click.edit()``. :pr:`1469`
* Arguments to system calls such as the executable path passed to
``click.edit`` can contains spaces. :pr:`1470`
OBS-URL: https://build.opensuse.org/request/show/790129
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-click?expand=0&rev=27
- update to 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.
OBS-URL: https://build.opensuse.org/request/show/662313
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-click?expand=0&rev=8
- update to 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.
OBS-URL: https://build.opensuse.org/request/show/661486
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-click?expand=0&rev=21
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.