forked from pool/python-argcomplete
* Revert “zsh: skip repeat Python runs in the same completion
run” This reverts a regression introduced in zsh tab
completion configurations utilizing multiple matchers.
* zsh: add global completion system install dir to user fpath
if not present
* Update shell_integration.py to support spaces in script file
path.
* Fix completion when wordbreak is first character
* Support namespace package traversal when completing Python
entry points
* zsh: skip repeat Python runs in the same completion run
* Make _parse_known_args signature more general for future API
changes
* Use interactive shells and bind to make environment variable
name completions work in older Bash versions
* Fix _parse_known_args monkeypatching Note: This fix is
required to restore compatibility with Python 3.12.8 and
3.13.1.
* Note: This fix is required to restore compatibility with
Python 3.12.8 and 3.13.1.
* CI improvements
* Restore compatibility with argparse in Python 3.12.7+
* Use project.scripts instead of setuptools scripts
* Test infrastructure improvements
* No stdin for python calls from bash completion functions
(#488) Prevents usage of stdin by (python) executables that
are called during completion generation. This prevents the
completion locking up the entire shell when the python script
is broken i.e. it enters an interactive mode (REPL) instead
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-argcomplete?expand=0&rev=94
119 lines
3.8 KiB
RPMSpec
119 lines
3.8 KiB
RPMSpec
#
|
|
# spec file for package python-argcomplete
|
|
#
|
|
# Copyright (c) 2025 SUSE LLC
|
|
# Copyright (c) 2013 Darin Perusich.
|
|
#
|
|
# 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/
|
|
#
|
|
|
|
|
|
%global flavor @BUILD_FLAVOR@%{nil}
|
|
%if "%{flavor}" == "test"
|
|
%define psuffix -test
|
|
%bcond_without test
|
|
%else
|
|
%define psuffix %{nil}
|
|
%bcond_with test
|
|
%endif
|
|
%bcond_without libalternatives
|
|
%{?sle15_python_module_pythons}
|
|
Name: python-argcomplete%{psuffix}
|
|
Version: 3.6.2
|
|
Release: 0
|
|
Summary: Bash tab completion for argparse
|
|
License: Apache-2.0
|
|
URL: https://github.com/kislyuk/argcomplete
|
|
Source: https://files.pythonhosted.org/packages/source/a/argcomplete/argcomplete-%{version}.tar.gz
|
|
BuildRequires: %{python_module base >= 3.8}
|
|
BuildRequires: %{python_module hatchling}
|
|
BuildRequires: %{python_module pip}
|
|
BuildRequires: %{python_module setuptools >= 67.2}
|
|
BuildRequires: %{python_module setuptools_scm >= 6.2}
|
|
BuildRequires: %{python_module wheel}
|
|
BuildRequires: alts
|
|
BuildRequires: fdupes
|
|
BuildRequires: python-rpm-macros
|
|
Requires: alts
|
|
BuildArch: noarch
|
|
%if %{with test}
|
|
BuildRequires: %{python_module argcomplete == %{version}}
|
|
BuildRequires: %{python_module pexpect}
|
|
BuildRequires: ca-certificates-mozilla
|
|
BuildRequires: fish
|
|
BuildRequires: zsh
|
|
%endif
|
|
%python_subpackages
|
|
|
|
%description
|
|
Argcomplete provides easy, extensible command line tab completion of
|
|
arguments for your Python script.
|
|
|
|
It makes two assumptions:
|
|
|
|
* You're using bash as your shell
|
|
* You're using argparse to manage your command line arguments/options
|
|
|
|
Argcomplete is particularly useful if your program has lots of options
|
|
or subparsers, and if your program can dynamically suggest completions
|
|
for your argument/option values (for example, if the user is browsing
|
|
resources over the network).
|
|
|
|
%prep
|
|
%autosetup -p1 -n argcomplete-%{version}
|
|
|
|
%build
|
|
%if %{without test}
|
|
%pyproject_wheel
|
|
%endif
|
|
|
|
%install
|
|
%if %{without test}
|
|
%pyproject_install
|
|
%python_clone -a %{buildroot}%{_bindir}/activate-global-python-argcomplete
|
|
%python_clone -a %{buildroot}%{_bindir}/register-python-argcomplete
|
|
%python_clone -a %{buildroot}%{_bindir}/python-argcomplete-check-easy-install-script
|
|
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
|
%python_expand chmod -x %{buildroot}%{$python_sitelib}/argcomplete/scripts/*.py
|
|
%endif
|
|
|
|
%check
|
|
%if %{with test}
|
|
export LANG=en_US.UTF-8
|
|
export TERM=xterm-mono
|
|
%{python_expand \
|
|
# https://github.com/kislyuk/argcomplete/issues/255
|
|
# https://github.com/kislyuk/argcomplete/issues/299
|
|
sed -i -e "1s|#!.*python.*|#!%{__$python}|" test/prog test/*.py
|
|
sed -i -e "s|python3 |$python |g" test/test.py
|
|
$python ./test/test.py -v
|
|
}
|
|
%endif
|
|
|
|
%if %{without test}
|
|
%pre
|
|
%python_libalternatives_reset_alternative activate-global-python-argcomplete
|
|
%python_libalternatives_reset_alternative register-python-argcomplete
|
|
%python_libalternatives_reset_alternative python-argcomplete-check-easy-install-script
|
|
|
|
%files %{python_files}
|
|
%doc README.rst
|
|
%license LICENSE.rst
|
|
%{python_sitelib}/argcomplete-%{version}.dist-info
|
|
%{python_sitelib}/argcomplete
|
|
%python_alternative %{_bindir}/activate-global-python-argcomplete
|
|
%python_alternative %{_bindir}/python-argcomplete-check-easy-install-script
|
|
%python_alternative %{_bindir}/register-python-argcomplete
|
|
%endif
|
|
|
|
%changelog
|