14
0
forked from pool/python-typer
Matthias Bach
2025-09-20 19:34:38 +00:00
committed by Git OBS Bridge
commit 4ac9e1d893
8 changed files with 432 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
.osc

5
python-typer-rpmlintrc Normal file
View File

@@ -0,0 +1,5 @@
# Upstream does not declare a dependency as it ships all files in both packages,
# which scarily works with pip unless you start uninstalling one of the two packages.
# We use files from python-typer-slim where they exist in both. Thus, we require
# the dependency although it is not there upstream.
addFilter("python\d+-typer.noarch: W: python-leftover-require python\d+-typer-slim")

281
python-typer.changes Normal file
View File

@@ -0,0 +1,281 @@
-------------------------------------------------------------------
Sat Sep 20 18:42:14 UTC 2025 - Matthias Bach <marix@marix.org> - 0.19.1
- Update to 0.19.1
* Ensure that Optional[list] values work correctly with callbacks.
* Support typing.Literal to define a set of predefined choices.
* Allow setting an environment variable to None in CliRunner.invoke.
-------------------------------------------------------------------
Fri Sep 19 22:53:12 UTC 2025 - Matthias Bach <marix@marix.org> - 0.18.0
- Update to 0.18.0
* Ensure compatibility with Click 8.3.0 by restoring the original
value_is_missing function.
-------------------------------------------------------------------
Sat Sep 6 09:01:49 UTC 2025 - Matthias Bach <marix@marix.org> - 0.17.4
- Update to 0.17.4
* Make sure rich.markup is imported when rendering help text.
-------------------------------------------------------------------
Sat Aug 30 14:32:00 UTC 2025 - Matthias Bach <marix@marix.org> - 0.17.3
- Update to 0.17.3
* Allow annotated parsing with a subclass of Path.
* Avoid printing default: None in the help section when using
Rich.
* Fix markdown formatting in --help output.
* Lazy-load rich_utils to reduce startup time.
-------------------------------------------------------------------
Mon Aug 25 14:25:37 UTC 2025 - Markéta Machová <mmachova@suse.com>
- Convert to libalternatives on SLE-16-based and newer systems
-------------------------------------------------------------------
Tue Aug 19 20:15:13 UTC 2025 - Matthias Bach <marix@marix.org>
- Update to 0.16.1
* Avoid printing additional output with no_args_is_help=True and
Click 8.2.
-------------------------------------------------------------------
Tue May 27 20:52:25 UTC 2025 - Matthias Bach <marix@marix.org> - 0.16.0
- Update to 0.16.0
* Add compatibility with Click 8.2.
- Remove support-click-8.2.patch as it is no longer needed.
-------------------------------------------------------------------
Fri May 16 05:00:12 UTC 2025 - Steve Kowalik <steven.kowalik@suse.com>
- Add patch support-click-8.2.patch:
* Support both click 8.1 and 8.2.
- Switch to autosetup macro.
-------------------------------------------------------------------
Tue Apr 29 17:58:31 UTC 2025 - Matthias Bach <marix@marix.org> - 0.15.3
- Update to 0.15.3
* Ensure that autocompletion works for Path arguments/options.
* Fix newline after header in help text.
-------------------------------------------------------------------
Fri Feb 28 16:41:20 UTC 2025 - Matthias Bach <marix@marix.org> - 0.15.2
- Update to 0.15.2
* Allow custom styles for commands in help output.
* Avoid the unnecessary import of typing_extensions in newer
Python versions.
* Fix shell completions for the fish shell.
-------------------------------------------------------------------
Wed Dec 4 20:49:15 UTC 2024 - Matthias Bach <marix@marix.org> - 0.15.1
- Update to 0.15.1
* Deprecate shell_complete and continue to use autocompletion for
CLI parameters.
-------------------------------------------------------------------
Tue Dec 3 20:36:00 UTC 2024 - Matthias Bach <marix@marix.org> - 0.15.0
- Update to 0.15.0
* Add support for extending typer apps without passing a name,
add commands to the top level.
* Breaking change: Remove auto naming of groups added via
add_typer based on the group's callback function name.
-------------------------------------------------------------------
Wed Nov 20 17:25:27 UTC 2024 - Dirk Müller <dmueller@suse.com>
- update to 0.13.1:
* Remove Rich tags when showing completion text.
* Render Rich markup as HTML in Markdown docs.
* Support cp850 encoding for auto-completion in PowerShell.
* Allow gettext translation of help message.
* Fix printing HTML from Rich output. PR #1055 by @tiangolo.
* Update markdown includes to use the new simpler format. PR
- update to 0.13.0:
* Handle `KeyboardInterrupt` separately from other
exceptions.
* Update `launch` to not print anything when opening urls.
* Show help items in order of definition.
* Fix equality check for custom classes.
* Allow colon in zsh autocomplete values and descriptions.
* Deprecate support for `is_flag` and `flag_value`
parameters.
* Remove unused functionality from `_typing.py` file.
* Fix typo in function name `_make_rich_text`.
-------------------------------------------------------------------
Fri Sep 27 15:41:42 UTC 2024 - Matthias Bach <marix@marix.org> - 0.12.5
- Switch PDM dependency from python3-pdm to python3-pdm-backend to
account for changes in that package's structure.
-------------------------------------------------------------------
Thu Aug 29 17:42:57 UTC 2024 - Matthias Bach <marix@marix.org> - 0.12.5
- Update to upstream version 0.12.5
* Unify the width of the Rich console for help and errors.
* Improve assertion error message if a group is not a valid subclass.
* Ensure rich_markup_mode=None disables Rich formatting.
-------------------------------------------------------------------
Sat Aug 17 08:05:30 UTC 2024 - Matthias Bach <marix@marix.org> - 0.12.4
- Update to upstream version 0.12.4
* Fix support for UnionType (e.g. str | None) with Python 3.11.
* Fix zsh autocompletion installation.
* Fix usage of Annotated with future annotations in Python 3.7+.
* Fix shell_complete not working for Arguments.
-------------------------------------------------------------------
Fri Apr 12 15:28:57 UTC 2024 - Matthias Bach <marix@marix.org>
- Add conflict declaration with Erlang as both packages provide
/usr/bin/typer
-------------------------------------------------------------------
Tue Apr 9 20:28:42 UTC 2024 - Matthias Bach <marix@marix.org> - 0.12.3
- Update to upstream version 0.12.3
* Fix Rich formatting with no commands.
* Improve column help display, ensure commands column width is
the same on all panels.
* Add support for an argument of type Optional[Tuple] and default
-------------------------------------------------------------------
Sat Apr 6 13:05:09 UTC 2024 - Matthias Bach <marix@marix.org> - 0.12.1
- Update to upstream version 0.12.1
* The core functionality has been extracted into
python-typer-slim.
* The typer command is now provided as part of the main typer
package.
* Formerly optional dependencies required for full
functionality are now automatically installed. If they are not
required, the slim package can be used.
- Drop set-proper-pythonpath-for-tutorial-script-tests.patch as it
is now applied in python-typer-slim.
-------------------------------------------------------------------
Fri Mar 29 09:29:31 UTC 2024 - Matthias Bach <marix@marix.org> - 0.11.1
- Update to upstream version 0.10.1
* Internal and dependency changes
- Fix missing requirement specification on
python-typing_extensions.
-------------------------------------------------------------------
Mon Mar 25 21:08:07 UTC 2024 - Matthias Bach <marix@marix.org> - 0.10.0
- Update to upstream version 0.10.0
* Fix default value of None for CLI Parameters when the type is
list | None and the default value is None.
* Improve support for CLI translations using gettext.
* Fix evaluating stringified annotations in Python 3.10.
* Fix display of default value for Enum parameters inside of a
list, include docs and tests.
* Update type annotations for show_default parameter and update
docs for setting a "Custom default string".
* Add missing default_factory in Argument overloads.
* Fix preserving case in enum values.
-------------------------------------------------------------------
Tue Oct 17 19:08:42 UTC 2023 - Matthias Bach <marix@marix.org> - 0.9.0
- Fix sle15_python_module_python being on wrong line post spec
auto-format.
-------------------------------------------------------------------
Tue Oct 17 06:59:59 UTC 2023 - Matthias Bach <marix@marix.org> - 0.9.0
- add sle15_python_module_python
-------------------------------------------------------------------
Sun May 7 14:47:17 UTC 2023 - Matthias Bach <marix@marix.org> - 0.9.0
- Update to upstream version 0.9.0
* Add support for PEP-593 Annotated for specifying options and
arguments.
* Add support for custom types and parsers.
- Drop patch run-subprocesses-with-correct-python.patch that got
included upstream.
-------------------------------------------------------------------
Thu Jan 5 15:07:01 UTC 2023 - Matthias Bach <marix@marix.org> - 0.7.0
- Adapt set-proper-pythonpath-for-tutorial-script-tests.patch to
also work for Python 3.11.
-------------------------------------------------------------------
Sun Nov 6 19:35:15 UTC 2022 - Matthias Bach <marix@marix.org> - 0.7.0
- Update to upstream version 0.7.0
* Make typer.run() not add completion scripts by default, it only
makes sense in installed apps.
* Add support for Python 3.11.
-------------------------------------------------------------------
Mon Jul 18 10:22:12 UTC 2022 - Matthias Bach <marix@marix.org> - 0.6.1
- Update to upstream version 0.6.1
* Adds deep integrations with Rich. If Rich is available, it will
be used to show the content from --help options, validation
errors, and even errors in apps.
* Support for Rich Markup and Markdown in docstrings, CLI
parameters, help, and epilog.
* Fix type conversion for List and Tuple.
* Fix context_settings for a Typer apps with a single command.
* Fix setting FORCE_TERMINAL with colors.
- Refreshed patches
-------------------------------------------------------------------
Fri Jun 24 18:20:30 UTC 2022 - Matthias Bach <marix@marix.org> - 0.4.1
- Add run-subprocesses-with-correct-python.patch to ensure tests
aren't accidentally running subprocesses using the wrong Python
version.
- Add set-proper-pythonpath-for-tutorial-script-tests.patch to fix
issue with build failing due to import failures.
-------------------------------------------------------------------
Tue Jun 14 14:37:26 UTC 2022 - Matthias Bach <marix@marix.org> - 0.4.1
- Update to upstream version 0.4.1
* Fix import of get_terminal_size for Click 8.1.0 support.
- Switch from traditional setup.py installation to pyproject macros
as upstream no longer ships its setup.py compability wrapper.
-------------------------------------------------------------------
Mon Aug 30 19:31:17 UTC 2021 - Matthias Bach <marix@marix.org> - 0.4.0
- Update to upstream version 0.4.0
* Add support for Click 8 while keeping compatibility with
Click 7.
- Remove basic-click8-compat.patch as Click 8 compatibility is now
provided upstream.
-------------------------------------------------------------------
Fri Jul 23 18:56:14 UTC 2021 - Matthias Bach <marix@marix.org>
- Resolve Typer no longer working since Click got bumped to version
8.
* This removes support for autocompletion.
- Add basic-click8-compat.patch
-------------------------------------------------------------------
Wed Apr 14 16:06:14 UTC 2021 - Matthias Bach <marix@marix.org>
- Properly specify package group.
- Suppress false-positive detection of empty file in rpmlint.
- Properly declare minimum version requirement vs. python-click to
avoid broken installation on Leap.
-------------------------------------------------------------------
Tue Apr 13 19:30:11 UTC 2021 - Matthias Bach <marix@marix.org> - 0.3.2
- Initial package release

113
python-typer.spec Normal file
View File

@@ -0,0 +1,113 @@
#
# spec file for package python-typer
#
# Copyright (c) 2025 SUSE LLC
# Copyright (c) 2025 SUSE LLC and contributors
# Copyright (c) 2021 Matthias Bach <marix@marix.org>
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define plainpython python
%if 0%{?suse_version} > 1500
%bcond_without libalternatives
%else
%bcond_with libalternatives
%endif
%{?sle15_python_module_pythons}
Name: python-typer
Version: 0.19.1
Release: 0
Summary: Typer, build great CLIs. Easy to code. Based on Python type hints
License: MIT
URL: https://github.com/tiangolo/typer
Source: https://files.pythonhosted.org/packages/source/t/typer/typer-%{version}.tar.gz
Source2: %{name}-rpmlintrc
BuildRequires: %{python_module coverage}
BuildRequires: %{python_module pdm-backend}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module rich}
BuildRequires: %{python_module shellingham}
BuildRequires: %{python_module typer-slim >= %{version}}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
# Work around Python dependency not being auto-added as there are no modules provided
Requires: %{plainpython}(abi) = %{python_version}
Requires: python-click
Requires: python-rich
Requires: python-shellingham
Requires: python-typer-slim >= %{version}
Requires: python-typing_extensions
# both packages provide /usr/bin/typer
Conflicts: erlang
BuildArch: noarch
%if %{with libalternatives}
BuildRequires: alts
Requires: alts
%else
Requires(post): update-alternatives
Requires(postun): update-alternatives
%endif
%python_subpackages
%description
Typer is a library for building CLI applications based on Python 3.6+ type hints.
Based on type hints, Typer enables great editor support and completion for developers.
With automatic help and completion, Typer makes CLIs easy to use for users.
This package provides the Typer Python package and ensures all dependencies required
for full functionality are provided. In addition, it provides the command "typer"
which allows users to run scripts not using typer with the same command line comfort
as those that do.
%prep
%autosetup -p1 -n typer-%{version}
%build
%pyproject_wheel
%install
%pyproject_install
# Remove files that were already installed by typer-slim
%python_expand rm -r %{buildroot}%{$python_sitelib}/typer
%python_clone -a %{buildroot}/%{_bindir}/typer
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
# Broken with click 8.2.0:
# - test_enum/test_tutorial003
# - test_script_completion_run and test_completion_show_invalid_shell
# - test_invalid_score stumbles over linebreaks in the output
%pytest -k 'not ((test_enum and test_tutorial003) or test_script_completion_run or test_completion_show_invalid_shell or test_invalid_score)'
%post
%python_install_alternative typer
%postun
%python_uninstall_alternative typer
%pre
%python_libalternatives_reset_alternative typer
%files %{python_files}
%doc README.md
%license LICENSE
%python_alternative %{_bindir}/typer
%{python_sitelib}/typer-%{version}.dist-info
%changelog

3
typer-0.17.3.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0c600503d472bcf98d29914d4dcd67f80c24cc245395e2e00ba3603c9332e8ba
size 103517

3
typer-0.17.4.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b77dc07d849312fd2bb5e7f20a7af8985c7ec360c45b051ed5412f64d8dc1580
size 103734

3
typer-0.19.1.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cb881433a4b15dacc875bb0583d1a61e78497806741f9aba792abcab390c03e6
size 104802