Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-typer for openSUSE:Factory 
checked in at 2026-09-10 11:46:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-typer (Old)
 and      /work/SRC/openSUSE:Factory/.python-typer.new.1265 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-typer"

Thu Sep 10 11:46:33 2026 rev:39 rq:1376491 version:0.27.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-typer/python-typer.changes        
2026-08-09 21:33:36.734647343 +0200
+++ /work/SRC/openSUSE:Factory/.python-typer.new.1265/python-typer.changes      
2026-09-10 11:47:02.368622891 +0200
@@ -1,0 +2,6 @@
+Tue Sep  8 18:45:55 UTC 2026 - Matthias Bach <[email protected]>
+
+- Update to 0.27.2
+  * Add exceptions module and TyperException base class.
+
+-------------------------------------------------------------------

Old:
----
  typer-0.27.1.tar.gz

New:
----
  typer-0.27.2.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-typer.spec ++++++
--- /var/tmp/diff_new_pack.tuJT5v/_old  2026-09-10 11:47:04.118696258 +0200
+++ /var/tmp/diff_new_pack.tuJT5v/_new  2026-09-10 11:47:04.120696342 +0200
@@ -25,7 +25,7 @@
 %endif
 %{?sle15_python_module_pythons}
 Name:           python-typer
-Version:        0.27.1
+Version:        0.27.2
 Release:        0
 Summary:        Typer, build great CLIs. Easy to code. Based on Python type 
hints
 License:        MIT

++++++ typer-0.27.1.tar.gz -> typer-0.27.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/typer-0.27.1/PKG-INFO new/typer-0.27.2/PKG-INFO
--- old/typer-0.27.1/PKG-INFO   1970-01-01 01:00:00.000000000 +0100
+++ new/typer-0.27.2/PKG-INFO   1970-01-01 01:00:00.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.4
 Name: typer
-Version: 0.27.1
+Version: 0.27.2
 Summary: Typer, build great CLIs. Easy to code. Based on Python type hints.
 Author-Email: =?utf-8?q?Sebasti=C3=A1n_Ram=C3=ADrez?= <[email protected]>
 License-Expression: MIT
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/typer-0.27.1/pyproject.toml 
new/typer-0.27.2/pyproject.toml
--- old/typer-0.27.1/pyproject.toml     2026-08-03 16:41:01.968499000 +0200
+++ new/typer-0.27.2/pyproject.toml     2026-08-28 12:26:52.310655600 +0200
@@ -43,7 +43,7 @@
     "colorama; platform_system == 'Windows'",
 ]
 readme = "README.md"
-version = "0.27.1"
+version = "0.27.2"
 
 [project.urls]
 Homepage = "https://github.com/fastapi/typer";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/typer-0.27.1/typer/__init__.py 
new/typer-0.27.2/typer/__init__.py
--- old/typer-0.27.1/typer/__init__.py  2026-08-03 16:40:58.755499000 +0200
+++ new/typer-0.27.2/typer/__init__.py  2026-08-28 12:26:49.032167700 +0200
@@ -1,13 +1,11 @@
 """Typer, build great CLIs. Easy to code. Based on Python type hints."""
 
-__version__ = "0.27.1"
+__version__ = "0.27.2"
 
 from shutil import get_terminal_size as get_terminal_size
 
 from . import colors as colors
-from ._click.exceptions import Abort as Abort
 from ._click.exceptions import BadParameter as BadParameter
-from ._click.exceptions import Exit as Exit
 from ._click.termui import confirm as confirm
 from ._click.termui import getchar as getchar
 from ._click.termui import progressbar as progressbar
@@ -19,6 +17,9 @@
 from ._click.utils import get_app_dir as get_app_dir
 from ._click.utils import get_binary_stream as get_binary_stream
 from ._click.utils import get_text_stream as get_text_stream
+from .exceptions import Abort as Abort
+from .exceptions import Exit as Exit
+from .exceptions import TyperException as TyperException
 from .main import Typer as Typer
 from .main import launch as launch
 from .main import run as run
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/typer-0.27.1/typer/_click/core.py 
new/typer-0.27.2/typer/_click/core.py
--- old/typer-0.27.1/typer/_click/core.py       2026-08-03 16:40:58.755745200 
+0200
+++ new/typer-0.27.2/typer/_click/core.py       2026-08-28 12:26:49.032277300 
+0200
@@ -16,15 +16,9 @@
     overload,
 )
 
+from ..exceptions import Abort, Exit
 from . import types
-from .exceptions import (
-    Abort,
-    BadParameter,
-    Exit,
-    MissingParameter,
-    NoArgsIsHelpError,
-    UsageError,
-)
+from .exceptions import BadParameter, MissingParameter, NoArgsIsHelpError, 
UsageError
 from .formatting import HelpFormatter
 from .globals import pop_context, push_context
 from .parser import _OptionParser
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/typer-0.27.1/typer/_click/exceptions.py 
new/typer-0.27.2/typer/_click/exceptions.py
--- old/typer-0.27.1/typer/_click/exceptions.py 2026-08-03 16:40:58.755745200 
+0200
+++ new/typer-0.27.2/typer/_click/exceptions.py 2026-08-28 12:26:49.032277300 
+0200
@@ -1,6 +1,7 @@
 from collections.abc import Sequence
 from typing import IO, TYPE_CHECKING, Any, Union
 
+from ..exceptions import TyperException
 from ._compat import get_text_stderr
 from .globals import resolve_color_default
 from .utils import echo, format_filename
@@ -16,23 +17,14 @@
     return param_hint
 
 
-class ClickException(Exception):
+class ClickException(TyperException):
     """An exception that Click can handle and show to the user."""
 
-    exit_code = 1
-
     def __init__(self, message: str) -> None:
         super().__init__(message)
         # The context will be removed by the time we print the message, so 
cache
         # the color settings here to be used later on (in `show`)
         self.show_color: bool | None = resolve_color_default()
-        self.message = message
-
-    def format_message(self) -> str:
-        return self.message
-
-    def __str__(self) -> str:
-        return self.message
 
     def show(self, file: IO[Any] | None = None) -> None:
         if file is None:
@@ -243,18 +235,3 @@
 
     def format_message(self) -> str:
         return f"Could not open file {self.ui_filename!r}: {self.message}"
-
-
-class Abort(RuntimeError):
-    """An internal signalling exception that signals Click to abort."""
-
-
-class Exit(RuntimeError):
-    """An exception that indicates that the application should exit with some
-    status code.
-    """
-
-    __slots__ = ("exit_code",)
-
-    def __init__(self, code: int = 0) -> None:
-        self.exit_code: int = code
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/typer-0.27.1/typer/_click/termui.py 
new/typer-0.27.2/typer/_click/termui.py
--- old/typer-0.27.1/typer/_click/termui.py     2026-08-03 16:40:58.756045300 
+0200
+++ new/typer-0.27.2/typer/_click/termui.py     2026-08-28 12:26:49.032277300 
+0200
@@ -3,7 +3,8 @@
 from contextlib import AbstractContextManager
 from typing import IO, TYPE_CHECKING, Any, AnyStr, TextIO, TypeVar, overload
 
-from .exceptions import Abort, UsageError
+from ..exceptions import Abort
+from .exceptions import UsageError
 from .globals import resolve_color_default
 from .types import ParamType, convert_type
 from .utils import LazyFile, echo
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/typer-0.27.1/typer/_completion_shared.py 
new/typer-0.27.2/typer/_completion_shared.py
--- old/typer-0.27.1/typer/_completion_shared.py        2026-08-03 
16:40:58.756045300 +0200
+++ new/typer-0.27.2/typer/_completion_shared.py        2026-08-28 
12:26:49.032450000 +0200
@@ -8,6 +8,7 @@
 
 from . import _click
 from ._click.globals import get_current_context
+from .exceptions import Exit
 
 
 class Shells(str, Enum):
@@ -81,7 +82,7 @@
     script = _completion_scripts.get(shell)
     if script is None:
         _click.echo(f"Shell {shell} not supported.", err=True)
-        raise _click.exceptions.Exit(1)
+        raise Exit(1)
     return (
         script
         % {
@@ -175,7 +176,7 @@
     )
     if result.returncode != 0:  # pragma: no cover
         _click.echo("Couldn't get PowerShell user profile", err=True)
-        raise _click.exceptions.Exit(result.returncode)
+        raise Exit(result.returncode)
     path_str = ""
     if isinstance(result.stdout, str):  # pragma: no cover
         path_str = result.stdout
@@ -188,7 +189,7 @@
                 pass
         if not path_str:  # pragma: no cover
             _click.echo("Couldn't decode the path automatically", err=True)
-            raise _click.exceptions.Exit(1)
+            raise Exit(1)
     path_obj = Path(path_str.strip())
     parent_dir: Path = path_obj.parent
     parent_dir.mkdir(parents=True, exist_ok=True)
@@ -234,7 +235,7 @@
         return shell, installed_path
     else:
         _click.echo(f"Shell {shell} is not supported.")
-        raise _click.exceptions.Exit(1)
+        raise Exit(1)
 
 
 def _get_shell_name() -> str | None:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/typer-0.27.1/typer/core.py 
new/typer-0.27.2/typer/core.py
--- old/typer-0.27.1/typer/core.py      2026-08-03 16:40:58.756045300 +0200
+++ new/typer-0.27.2/typer/core.py      2026-08-28 12:26:49.032450000 +0200
@@ -18,6 +18,7 @@
 from ._click.parser import _OptionParser
 from ._click.shell_completion import CompletionItem
 from ._typing import Literal
+from .exceptions import Abort, Exit
 from .utils import parse_boolean_env_var
 
 MarkupMode = Literal["markdown", "rich", None]
@@ -165,13 +166,10 @@
     rich_markup_mode: MarkupMode = DEFAULT_MARKUP_MODE,
     **extra: Any,
 ) -> Any:
-    # Typer override, duplicated from _click.main() to handle custom rich 
exceptions
-    # Verify that the environment is configured correctly, or reject
-    # further execution to avoid a broken script.
+    # Originally copied from _click.main(), adopted to handle custom rich 
exceptions etc
     if args is None:
         args = sys.argv[1:]
 
-        # Covered in Click tests
         if os.name == "nt" and windows_expand_args:  # pragma: no cover
             args = _click.utils._expand_args(args)
     else:
@@ -199,20 +197,18 @@
                 ctx.exit()
         except EOFError as e:
             _click.echo(file=sys.stderr)
-            raise _click.exceptions.Abort() from e
+            raise Abort() from e
         except KeyboardInterrupt as e:
-            raise _click.exceptions.Exit(130) from e
+            raise Exit(130) from e
         except _click.exceptions.ClickException as e:
             if not standalone_mode:
                 raise
-            # Typer override
             if HAS_RICH and rich_markup_mode is not None:
                 from . import rich_utils
 
                 rich_utils.rich_format_error(e)
             else:
                 e.show()
-            # Typer override end
             sys.exit(e.exit_code)
         except OSError as e:
             if e.errno == errno.EPIPE:
@@ -221,7 +217,7 @@
                 sys.exit(1)
             else:
                 raise
-    except _click.exceptions.Exit as e:
+    except Exit as e:
         if standalone_mode:
             sys.exit(e.exit_code)
         else:
@@ -234,17 +230,15 @@
             # `ctx.exit(1)` and to `return 1`, the caller won't be able to
             # tell the difference between the two
             return e.exit_code
-    except _click.exceptions.Abort:
+    except Abort:
         if not standalone_mode:
             raise
-        # Typer override
         if HAS_RICH and rich_markup_mode is not None:
             from . import rich_utils
 
             rich_utils.rich_abort_error()
         else:
             _click.echo(_("Aborted!"), file=sys.stderr)
-        # Typer override end
         sys.exit(1)
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/typer-0.27.1/typer/exceptions.py 
new/typer-0.27.2/typer/exceptions.py
--- old/typer-0.27.1/typer/exceptions.py        1970-01-01 01:00:00.000000000 
+0100
+++ new/typer-0.27.2/typer/exceptions.py        2026-08-28 12:26:49.032450000 
+0200
@@ -0,0 +1,29 @@
+class TyperException(Exception):
+    """A Typer-specific exception"""
+
+    exit_code = 1
+
+    def __init__(self, message: str) -> None:
+        super().__init__(message)
+        self.message = message
+
+    def __str__(self) -> str:
+        return self.message
+
+    def format_message(self) -> str:
+        return self.message
+
+
+class Abort(RuntimeError):
+    """An internal signalling exception that signals Typer to abort."""
+
+
+class Exit(RuntimeError):
+    """An exception that indicates that the application should exit with some
+    status code.
+    """
+
+    __slots__ = ("exit_code",)
+
+    def __init__(self, code: int = 0) -> None:
+        self.exit_code: int = code

Reply via email to