SHA256
1
0
forked from pool/python-click

10 Commits

Author SHA256 Message Date
9dfb63ce15 Accepting request 1291432 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1291432
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-click?expand=0&rev=25
2025-07-10 21:14:49 +00:00
da5df39830 Accepting request 1291320 from home:hsk17:branches:devel:languages:python
add click-8.2.1-clirunner.patch to fix clirunner breaking other modules' tests, cf. github.com/pallets/click/issues/2939.  e.g. python-mercantile fails tests since click-8.2.1.

OBS-URL: https://build.opensuse.org/request/show/1291320
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-click?expand=0&rev=58
2025-07-09 08:31:43 +00:00
5fce70d45f Accepting request 1278968 from devel:languages:python
- 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
2025-05-31 17:14:09 +00:00
0c0c4c0a4d - 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.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-click?expand=0&rev=56
2025-05-21 07:16:56 +00:00
f0145b331e re-format changelog as requested in request#1276563
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-click?expand=0&rev=55
2025-05-13 06:23:34 +00:00
768aeeb63b - Update to version 8.2.0:
-   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
2025-05-12 06:35:29 +00:00
ad1dcc2cb6 Accepting request 1244737 from devel:languages:python
Revert to rev 51

OBS-URL: https://build.opensuse.org/request/show/1244737
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-click?expand=0&rev=53
2025-02-10 12:08:16 +00:00
62ff4bdfc3 Accepting request 1243308 from home:mcalabkova:branches:devel:languages:python
- 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
2025-02-05 15:41:13 +00:00
0058dc70a6 Accepting request 1236135 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1236135
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-click?expand=0&rev=23
2025-01-12 10:10:10 +00:00
841eec754e - Update to 8.1.8
* 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
2025-01-09 10:00:31 +00:00
5 changed files with 405 additions and 162 deletions

BIN
click-8.1.7.tar.gz (Stored with Git LFS)

Binary file not shown.

106
click-8.2.1-clirunner.patch Normal file
View File

@@ -0,0 +1,106 @@
github.com/pallets/click/issues/2939
github.com/pallets/click/pull/2940
From 93c6966eb3a575c2b600434d1cc9f4b3aee505ac Mon Sep 17 00:00:00 2001
From: Antoine Lambert <anlambert@softwareheritage.org>
Date: Thu, 22 May 2025 22:14:23 +0200
Subject: [PATCH] testing/CliRunner: Fix regression related to EOF introduced
in 262bdf0
Commit 262bdf0 ensured to raise an EOFError exception on end of input
to simulate tty behavior and avoid blocking prompt during tests when
no more input is available.
However the introduced implementation has a side effect when testing a
click command having a File type option or argument and when it is set
to stdin: the command ends up with error due to the Abort exception
being raised when the stdin EOFError exception is caught.
To prevent this undesirable side effect, prefer to raise the EOFError
exceptions directly from the prompts functions inside the CliRunner
class instead of doing it in the method overriding the iterator protcol
for the _NamedTextIOWrapper class.
Restore previous implementation of a test broken by changes of 262bdf0.
Fixes #2939.
---
CHANGES.rst | 5 +++++
src/click/testing.py | 17 ++++++++---------
tests/test_chain.py | 4 ++--
3 files changed, 15 insertions(+), 11 deletions(-)
diff --git a/CHANGES.rst b/CHANGES.rst
index 1b8af9a5f..decdc2d91 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -1,5 +1,10 @@
.. currentmodule:: click
+Version 8.2.2
+-------------
+
+- Fix regression related to EOF handling in CliRunner. :issue:`2939`
+
Version 8.2.1
-------------
diff --git a/src/click/testing.py b/src/click/testing.py
index 7c0e8741e..e57eacc5d 100644
--- a/src/click/testing.py
+++ b/src/click/testing.py
@@ -116,13 +116,6 @@ def name(self) -> str:
def mode(self) -> str:
return self._mode
- def __next__(self) -> str: # type: ignore
- try:
- line = super().__next__()
- except StopIteration as e:
- raise EOFError() from e
- return line
-
def make_input_stream(
input: str | bytes | t.IO[t.Any] | None, charset: str
@@ -348,7 +341,10 @@ def isolation(
@_pause_echo(echo_input) # type: ignore
def visible_input(prompt: str | None = None) -> str:
sys.stdout.write(prompt or "")
- val = next(text_input).rstrip("\r\n")
+ try:
+ val = next(text_input).rstrip("\r\n")
+ except StopIteration as e:
+ raise EOFError() from e
sys.stdout.write(f"{val}\n")
sys.stdout.flush()
return val
@@ -357,7 +353,10 @@ def visible_input(prompt: str | None = None) -> str:
def hidden_input(prompt: str | None = None) -> str:
sys.stdout.write(f"{prompt or ''}\n")
sys.stdout.flush()
- return next(text_input).rstrip("\r\n")
+ try:
+ return next(text_input).rstrip("\r\n")
+ except StopIteration as e:
+ raise EOFError() from e
@_pause_echo(echo_input) # type: ignore
def _getchar(echo: bool) -> str:
diff --git a/tests/test_chain.py b/tests/test_chain.py
index ba11b7e2a..702eaaa3e 100644
--- a/tests/test_chain.py
+++ b/tests/test_chain.py
@@ -163,8 +163,8 @@ def processor(iterator):
return processor
result = runner.invoke(cli, args, input=input)
- # last two lines are '' and 'Aborted!'
- assert result.output.splitlines()[:-2] == expect
+ assert not result.exception
+ assert result.output.splitlines() == expect
def test_args_and_chain(runner):

BIN
click-8.2.1.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -1,3 +1,136 @@
-------------------------------------------------------------------
Tue Jun 8 15:09:58 UTC 2025 - Friedrich Haubensak <hsk17@mail.de>
- Add click-8.2.1-clirunner.patch to fix clirunner breaking other
modules' tests, cf. github.com/pallets/click/issues/2939
-------------------------------------------------------------------
Wed May 21 07:16:31 UTC 2025 - Steve Kowalik <steven.kowalik@suse.com>
- 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.
-------------------------------------------------------------------
Sun May 11 06:30:48 UTC 2025 - Sebastian Wagner <sebix@sebix.at>
- 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
* When generating a command's name from a decorated function's name, the
suffixes _command, _cmd, _group, and _grp are removed.
#2322
* Show the types.ParamType.name for types.Choice options within
--help message if show_choices=False is specified.
#2356
* Do not display default values in prompts when Option.show_default is
False. #2509
* Add get_help_extra method on Option to fetch the generated extra
items used in get_help_record to render help text. #2516
#2517
* Keep stdout and stderr streams independent in CliRunner. Always
collect stderr output and never raise an exception. Add a new
output stream to simulate what the user sees in its terminal. Removes
the mix_stderr parameter in CliRunner. #2522 #2523
* Option.show_envvar now also shows environment variable in error messages.
#2695 #2696
* Context.close will be called on exit. This results in all
Context.call_on_close callbacks and context managers added via
Context.with_resource to be closed on exit as well. #2680
* Add ProgressBar(hidden: bool) to allow hiding the progressbar. #2609
* A UserWarning will be shown when multiple parameters attempt to use the
same name. #2396
* When using Option.envvar with Option.flag_value, the flag_value
will always be used instead of the value of the environment variable.
#2746 #2788
* Add Choice.get_invalid_choice_message method for customizing the
invalid choice message. #2621 #2622
* If help is shown because no_args_is_help is enabled (defaults to True
for groups, False for commands), the exit code is 2 instead of 0.
#1489 #1489
* Contexts created during shell completion are closed properly, fixing
a ResourceWarning when using click.File. #2644 #2800
#2767
* click.edit(filename) now supports passing an iterable of filenames in
case the editor supports editing multiple files at once. Its return type
is now also typed: AnyStr if text is passed, otherwise None.
#2067 #2068
* Specialized typing of progressbar(length=...) as ProgressBar[int].
#2630
* Improve echo_via_pager behaviour in face of errors.
#2674
- Terminate the pager in case a generator passed to echo_via_pager
raises an exception.
- Ensure to always close the pipe to the pager process and wait for it
to terminate.
- echo_via_pager will not ignore KeyboardInterrupt anymore. This
allows the user to search for future output of the generator when
using less and then aborting the program using ctrl-c.
* deprecated: bool | str can now be used on options and arguments. This
previously was only available for Command. The message can now also be
customised by using a str instead of a bool. #2263 #2271
- Command.deprecated formatting in --help changed from
(Deprecated) help to help (DEPRECATED).
- Parameters cannot be required nor prompted or an error is raised.
- A warning will be printed when something deprecated is used.
* Add a catch_exceptions parameter to CliRunner. If
catch_exceptions is not passed to CliRunner.invoke, the value
from CliRunner is used. #2817 #2818
* Option.flag_value will no longer have a default value set based on
Option.default if Option.is_flag is False. This results in
Option.default not needing to implement __bool__. #2829
* Incorrect click.edit typing has been corrected. #2804
* Choice is now generic and supports any iterable value.
This allows you to use enums and other non-str values. #2796
#605
* Fix setup of help option's defaults when using a custom class on its
decorator. Removes HelpOption. #2832 #2840
-------------------------------------------------------------------
Thu Jan 9 08:39:31 UTC 2025 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
- Update to 8.1.8
* 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
-------------------------------------------------------------------
Thu Sep 7 10:58:54 UTC 2023 - Dirk Müller <dmueller@suse.com>
@@ -71,116 +204,116 @@ Sun Jun 5 14:19:36 UTC 2022 - Arun Persaud <arun@gmx.de>
- update to version 8.1.3:
* Use verbose form of "typing.Callable" for "@command" and
"@group". :issue:`2255`
"@group". :issue:2255
* Show error when attempting to create an option with
"multiple=True, is_flag=True". Use "count" instead.
:issue:`2246`
:issue:2246
- changes from version 8.1.2:
* Fix error message for readable path check that was mixed up with
the executable check. :pr:`2236`
the executable check. #2236
* Restore parameter order for "Path", placing the "executable"
parameter at the end. It is recommended to use keyword arguments
instead of positional arguments. :issue:`2235`
instead of positional arguments. :issue:2235
- changes from version 8.1.1:
* Fix an issue with decorator typing that caused type checking to
report that a command was not callable. :issue:`2227`
report that a command was not callable. :issue:2227
- changes from version 8.1.0:
* Drop support for Python 3.6. :pr:`2129`
* Remove previously deprecated code. :pr:`2130`
* Drop support for Python 3.6. #2129
* Remove previously deprecated code. #2130
+ "Group.resultcallback" is renamed to "result_callback".
+ "autocompletion" parameter to "Command" is renamed to
"shell_complete".
+ "get_terminal_size" is removed, use "shutil.get_terminal_size"
instead.
+ "get_os_args" is removed, use "sys.argv[1:]" instead.
* Rely on :pep:`538` and :pep:`540` to handle selecting UTF-8
* Rely on :pep:538 and :pep:540 to handle selecting UTF-8
encoding instead of ASCII. Click's locale encoding detection is
removed. :issue:`2198`
removed. :issue:2198
* Single options boolean flags with "show_default=True" only show
the default if it is "True". :issue:`1971`
the default if it is "True". :issue:1971
* The "command" and "group" decorators can be applied with or
without parentheses. :issue:`1359`
without parentheses. :issue:1359
* The "Path" type can check whether the target is executable.
:issue:`1961`
:issue:1961
* "Command.show_default" overrides "Context.show_default", instead
of the other way around. :issue:`1963`
of the other way around. :issue:1963
* Parameter decorators and "@group" handles "cls=None" the same as
not passing "cls". "@option" handles "help=None" the same as not
passing "help". :issue:`#1959`
passing "help". :issue:#1959
* A flag option with "required=True" requires that the flag is
passed instead of choosing the implicit default
value. :issue:`1978`
value. :issue:1978
* Indentation in help text passed to "Option" and "Command" is
cleaned the same as using the "@option" and "@command"
decorators does. A command's "epilog" and "short_help" are also
processed. :issue:`1985`
processed. :issue:1985
* Store unprocessed "Command.help", "epilog" and "short_help"
strings. Processing is only done when formatting help text for
output. :issue:`2149`
output. :issue:2149
* Allow empty str input for "prompt()" when
"confirmation_prompt=True" and "default=""". :issue:`2157`
"confirmation_prompt=True" and "default=""". :issue:2157
* Windows glob pattern expansion doesn't fail if a value is an
invalid pattern. :issue:`2195`
invalid pattern. :issue:2195
* It's possible to pass a list of "params" to "@command". Any params
defined with decorators are appended to the passed params.
:issue:`2131`.
:issue:2131.
* "@command" decorator is annotated as returning the correct type if
a "cls" argument is used. :issue:`2211`
a "cls" argument is used. :issue:2211
* A "Group" with "invoke_without_command=True" and "chain=False"
will invoke its result callback with the group function's return
value. :issue:`2124`
value. :issue:2124
* "to_info_dict" will not fail if a "ParamType" doesn't define a
"name". :issue:`2168`
"name". :issue:2168
* Shell completion prioritizes option values with option prefixes
over new options. :issue:`2040`
over new options. :issue:2040
* Options that get an environment variable value using
"autoenvvar_prefix" treat an empty value as "None", consistent
with a direct "envvar". :issue:`2146`
with a direct "envvar". :issue:2146
-------------------------------------------------------------------
Sun Mar 27 11:02:05 UTC 2022 - Dirk Müller <dmueller@suse.com>
- update to 8.0.4:
* ``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`
* 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. #2155
* A callable default value can customize its help text by overriding
``__str__`` instead of always showing ``(dynamic)``. :issue:`2099`
__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.
version, it should be regenerated. :issue:2163
* Fix typing for echo and secho file argument.
-------------------------------------------------------------------
Sat Oct 16 21:18:48 UTC 2021 - Dirk Müller <dmueller@suse.com>
- 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 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`
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.
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.
adding underline. #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
* Options with multiple and flag_value use the flag value
instead of leaving an internal placeholder.
-------------------------------------------------------------------
@@ -204,52 +337,52 @@ Thu Aug 20 23:45:47 UTC 2020 - John Vandenberg <jayvdb@gmail.com>
Wed Jun 3 11:15:12 UTC 2020 - Dirk Mueller <dmueller@suse.com>
- update to 7.1.2:
Revert applying shell quoting to commands for ``echo_with_pager``
and ``edit``. This was intended to allows spaces in commands, but
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`
appear on the command line. :issue:1514
-------------------------------------------------------------------
Tue Mar 31 11:57:08 UTC 2020 - Marketa Calabkova <mcalabkova@suse.com>
- Update to 7.1.1
* Fix ``ClickException`` output going to stdout instead of stderr.
* 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`
* Fix link in unicode_literals error message. #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`
sequences. :issue:1216
* Remove unused compat shim for bytes. #1195
* Always return one of the passed choices for click.Choice
:issue:1277, #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`
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`
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`
distinguish it from the next option. :issue:1075
* Consider sensible-editor when determining the editor to use for
click.edit(). #1469
* Arguments to system calls such as the executable path passed to
``click.edit`` can contains spaces. :pr:`1470`
* Add ZSH completion autoloading and error handling. :issue:`1348`
* ZSH completion escapes special characters in values. :pr:`1418`
* Add completion support for Fish shell. :pr:`1423`
click.edit can contains spaces. #1470
* Add ZSH completion autoloading and error handling. :issue:1348
* ZSH completion escapes special characters in values. #1418
* Add completion support for Fish shell. #1423
* 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. :pr:`1492`
2.0. #1492
-------------------------------------------------------------------
Mon Oct 14 11:43:49 UTC 2019 - Matej Cepl <mcepl@suse.com>
@@ -261,62 +394,62 @@ Sat Dec 22 16:12:12 UTC 2018 - marec@detebe.org
- update to version 7.0:
* Drop support for Python 2.6 and 3.3.
* Wrap ``click.Choice``'s missing message.
* 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.
* 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
* Add DateTime type for converting input in given date time
formats.
* ``secho``'s first argument can now be ``None``, like in ``echo``.
* 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.
* 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,
* 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
* 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.
* 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.
* 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``.
* Allow setting prog_name as extra in CliRunner.invoke.
* Help text taken from docstrings truncates at the ``\f`` form feed
* 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.
* launch now works properly under Cygwin.
* Update progress after iteration.
* ``CliRunner.invoke`` now may receive ``args`` as a string
* 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.
* 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
* 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
* Disable sys._getframes() on Python interpreters that don't
support it.
* Fix bug in test runner when calling ``sys.exit`` with ``None``.
* Fix bug in test runner when calling sys.exit with None.
* Clarify documentation on command line options.
* Fix crash on Windows console.
@@ -330,15 +463,15 @@ Sat Dec 22 16:12:12 UTC 2018 - marec@detebe.org
* Fix option naming routine to match documentation and be
deterministic.
* Fix path validation bug.
* Add test and documentation for ``Option`` naming: functionality.
* Add test and documentation for Option naming: functionality.
* Update doc to match arg name for ``path_type``.
* 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.
* 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
* 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
@@ -346,42 +479,42 @@ Sat Dec 22 16:12:12 UTC 2018 - marec@detebe.org
* Progress bar now uses stderr by default.
* Add support for auto-completion documentation.
* Allow ``CliRunner`` to separate stdout and stderr.
* 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``
* 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.
* 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
* _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 ``"-"``.
* "x" and "a" file modes now use stdout when file is "-".
* Fix missing comma in ``__all__`` list.
* 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``.
* 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)``.
* 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.
* Fixed issues where fd was undefined.
* Fix formatting for short help.
* Document how ``auto_envvar_prefix`` works with command groups.
* 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.
@@ -389,12 +522,12 @@ Sat Dec 22 16:12:12 UTC 2018 - marec@detebe.org
* 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
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
* Fix issue where a lowercase auto_envvar_prefix would not be
converted to uppercase.
- Drop patch merged upstream python-click-test_compat.py.patch
@@ -430,7 +563,7 @@ Wed Mar 22 15:44:17 UTC 2017 - aloisio@gmx.com
Thu Mar 16 12:41:06 UTC 2017 - michael@stroeder.com
- update to version 6.7:
* Make `click.progressbar` work with `codecs.open` files. See #637.
* Make click.progressbar work with codecs.open files. See #637.
* Fix bug in bash completion with nested subcommands. See #639.
* Fix test runner not saving caller env correctly. See #644.
* Fix handling of SIGPIPE. See #626
@@ -446,13 +579,13 @@ Thu Nov 17 13:49:50 UTC 2016 - rjschwei@suse.com
Thu Sep 15 22:54:59 UTC 2016 - toddrme2178@gmail.com
- update to version 6.6:
* Fix bug in `click.Path` where it would crash when passed a
`-`. See #551.
* Fix bug in click.Path where it would crash when passed a
-. See #551.
- update to version 6.4:
* Fix bug in bash completion where click would discard one or more
trailing arguments. See #471.
- update to version 6.3:
* Fix argument checks for interpreter invoke with `-m` and `-c` on
* Fix argument checks for interpreter invoke with -m and -c on
Windows.
* Fixed a bug that cased locale detection to error out on Python 3.
@@ -466,7 +599,7 @@ Thu Dec 3 13:21:05 UTC 2015 - ronisbr@gmail.com
rendering.
* Disable chain commands with subcommands as they were
inherently broken.
* Fix `MissingParameter` not working without parameters passed.
* Fix MissingParameter not working without parameters passed.
- Changes from version 6.0
* Optimized the progressbar rendering to not render when it did
not actually change.
@@ -483,19 +616,19 @@ Thu Dec 3 13:21:05 UTC 2015 - ronisbr@gmail.com
* For Windows users on Python 2, Click will now handle Unicode
more correctly handle Unicode coming in from the system.
This also has the disappointing side effect that filenames
will now be always unicode by default in the `Path` type
will now be always unicode by default in the Path type
which means that this can introduce small bugs for code not
aware of this.
* Added a `type` parameter to `Path` to force a specific string
* Added a type parameter to Path to force a specific string
type on the value.
* For users running Python on Windows the `echo`) and `prompt`
* For users running Python on Windows the echo) and prompt
functions now work with full unicode functionality in the
Python windows console by emulating an output stream. This
also applies to getting the virtual output and input streams
via `click.get_text_stream(...)`.
via click.get_text_stream(...).
* Unittests now always force a certain virtual terminal width.
* Added support for allowing dashes to indicate standard
streams to the `Path` type.
streams to the Path type.
* Multi commands in chain mode no longer propagate arguments
left over from parsing to the callbacks. It's also now
disallowed through an exception when optional arguments are
@@ -506,28 +639,28 @@ Thu Dec 3 13:21:05 UTC 2015 - ronisbr@gmail.com
implemented. Previously this configuration would often
result in slightly unexpected values be returned.
- Changes from version 5.1
* Fix a bug in `pass_obj` that would accidentally pass the
* Fix a bug in pass_obj that would accidentally pass the
context too.
- Changes from version 5.0
* Removed various deprecated functionality.
* Atomic files now only accept the `w` mode.
* Atomic files now only accept the w mode.
* Change the usage part of help output for very long commands
to wrap their arguments onto the next line, indented by 4
spaces.
* Fix a bug where return code and error messages were incorrect
when using ``CliRunner``.
* added `get_current_context`.
* added a `meta` dictionary to the context which is shared
when using CliRunner.
* added get_current_context.
* added a meta dictionary to the context which is shared
across the linked list of contexts to allow click utilities
to place state there.
* introduced `Context.scope`.
* The `echo` function is now threadsafe: It calls the `write`
* introduced Context.scope.
* The echo function is now threadsafe: It calls the write
method of the underlying object only once.
* `prompt(hide_input=True)` now prints a newline on `^C`.
* Click will now warn if users are using ``unicode_literals``.
* Click will now ignore the ``PAGER`` environment variable if
* prompt(hide_input=True) now prints a newline on ^C.
* Click will now warn if users are using unicode_literals.
* Click will now ignore the PAGER environment variable if
it is empty or contains only whitespace.
* The `click-contrib` GitHub organization was created.
* The click-contrib GitHub organization was created.
-------------------------------------------------------------------
Sat Jul 18 17:17:10 UTC 2015 - aloisio@gmx.com

View File

@@ -1,7 +1,7 @@
#
# spec file for package python-click
#
# Copyright (c) 2023 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,16 +18,20 @@
%{?sle15_python_module_pythons}
Name: python-click
Version: 8.1.7
Version: 8.2.1
Release: 0
Summary: A wrapper around optparse for command line utilities
License: BSD-3-Clause
Group: Development/Languages/Python
URL: https://github.com/mitsuhiko/click
URL: https://github.com/pallets/click
Source: https://files.pythonhosted.org/packages/source/c/click/click-%{version}.tar.gz
BuildRequires: %{python_module base >= 3.7}
## see github.com/pallets/click/issues/2939, github.com/pallets/click/pull/2940
Patch0: click-8.2.1-clirunner.patch
BuildRequires: %{python_module base >= 3.10}
BuildRequires: %{python_module flit-core}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
BuildArch: noarch
@@ -43,10 +47,10 @@ defaults out of the box.
%autosetup -p1 -n click-%{version}
%build
%python_build
%pyproject_wheel
%install
%python_install
%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
@@ -54,9 +58,9 @@ export LANG=en_US.UTF-8
%pytest -rs --tb=short
%files %{python_files}
%license LICENSE.rst
%doc CHANGES.rst README.rst
%license LICENSE.txt
%doc CHANGES.rst README.md
%{python_sitelib}/click
%{python_sitelib}/click-%{version}-py%{python_version}.egg-info
%{python_sitelib}/click-%{version}.dist-info
%changelog