%global _empty_manifest_terminate_build 0 Name: python-exec-helpers Version: 7.3.6 Release: 1 Summary: Execution helpers for simplified usage of subprocess and ssh. License: Apache License, Version 2.0 URL: https://pypi.org/project/exec-helpers/ Source0: https://mirrors.nju.edu.cn/pypi/web/packages/58/be/9837f19c87720e707fed2db3534d8a73d97ae3ffaadc7c2bf7de7c8c6dc1/exec-helpers-7.3.6.tar.gz BuildArch: noarch Requires: python3-paramiko Requires: python3-tenacity Requires: python3-psutil Requires: python3-defusedxml Requires: python3-lxml Requires: python3-PyYAML Requires: python3-defusedxml Requires: python3-lxml Requires: python3-PyYAML Requires: python3-lxml Requires: python3-defusedxml Requires: python3-PyYAML %description Execution helpers for simplified usage of subprocess and ssh. Why another subprocess wrapper and why no clear `paramiko`? Historically `paramiko` offers good ssh client, but with specific limitations: you can call command with timeout, but without receiving return code, or call command and wait for return code, but without timeout processing. In the most cases, we are need just simple SSH client with comfortable API for calls, calls via SSH proxy and checking return code/stderr. This library offers this functionality with deadlock free polling and friendly result objects (with inline decoding of XML Element tree, YAML, JSON, binary or just strings). In addition this library offers the same API for subprocess calls, but with specific limitation: no parallel calls (for protection from race conditions). Pros: * STDOUT and STDERR polling during command execution - no deadlocks. * The same API for subprocess and ssh. * Free software: Apache license * Open Source: https://github.com/python-useful-helpers/exec-helpers * PyPI packaged: https://pypi.python.org/pypi/exec-helpers * Self-documented code: docstrings with types in comments * Tested: see badges on top * Support multiple Python versions: Python 3.7 Python 3.8 Python 3.9 Python 3.10 Python 3.11 This package includes: * `SSHClient` - historically the first one helper, which used for SSH connections. Several API calls for sFTP also presents. * `SSHAuth` - class for credentials storage. `SSHClient` does not store credentials as-is, but uses `SSHAuth` for it. Objects of this class can be copied between ssh connection objects, also it used for `execute_through_host`. * `Subprocess` - `subprocess.Popen` wrapper with timeouts, polling and almost the same API, as `SSHClient` (except specific flags, like `cwd` for subprocess and `get_tty` for ssh). * `async_api.Subprocess` - the same, as `Subprocess` helper, but works with asyncio. * `ExecResult` - class for execution results storage. Contains exit code, stdout, stderr and getters for decoding as JSON, YAML, XML (and LXML) element tree, string, bytearray and brief strings (up to 7 lines). * `ExitCodes` - enumerator for standard Linux exit codes. BASH return codes (produced from signal codes) also available. %package -n python3-exec-helpers Summary: Execution helpers for simplified usage of subprocess and ssh. Provides: python-exec-helpers BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-exec-helpers Execution helpers for simplified usage of subprocess and ssh. Why another subprocess wrapper and why no clear `paramiko`? Historically `paramiko` offers good ssh client, but with specific limitations: you can call command with timeout, but without receiving return code, or call command and wait for return code, but without timeout processing. In the most cases, we are need just simple SSH client with comfortable API for calls, calls via SSH proxy and checking return code/stderr. This library offers this functionality with deadlock free polling and friendly result objects (with inline decoding of XML Element tree, YAML, JSON, binary or just strings). In addition this library offers the same API for subprocess calls, but with specific limitation: no parallel calls (for protection from race conditions). Pros: * STDOUT and STDERR polling during command execution - no deadlocks. * The same API for subprocess and ssh. * Free software: Apache license * Open Source: https://github.com/python-useful-helpers/exec-helpers * PyPI packaged: https://pypi.python.org/pypi/exec-helpers * Self-documented code: docstrings with types in comments * Tested: see badges on top * Support multiple Python versions: Python 3.7 Python 3.8 Python 3.9 Python 3.10 Python 3.11 This package includes: * `SSHClient` - historically the first one helper, which used for SSH connections. Several API calls for sFTP also presents. * `SSHAuth` - class for credentials storage. `SSHClient` does not store credentials as-is, but uses `SSHAuth` for it. Objects of this class can be copied between ssh connection objects, also it used for `execute_through_host`. * `Subprocess` - `subprocess.Popen` wrapper with timeouts, polling and almost the same API, as `SSHClient` (except specific flags, like `cwd` for subprocess and `get_tty` for ssh). * `async_api.Subprocess` - the same, as `Subprocess` helper, but works with asyncio. * `ExecResult` - class for execution results storage. Contains exit code, stdout, stderr and getters for decoding as JSON, YAML, XML (and LXML) element tree, string, bytearray and brief strings (up to 7 lines). * `ExitCodes` - enumerator for standard Linux exit codes. BASH return codes (produced from signal codes) also available. %package help Summary: Development documents and examples for exec-helpers Provides: python3-exec-helpers-doc %description help Execution helpers for simplified usage of subprocess and ssh. Why another subprocess wrapper and why no clear `paramiko`? Historically `paramiko` offers good ssh client, but with specific limitations: you can call command with timeout, but without receiving return code, or call command and wait for return code, but without timeout processing. In the most cases, we are need just simple SSH client with comfortable API for calls, calls via SSH proxy and checking return code/stderr. This library offers this functionality with deadlock free polling and friendly result objects (with inline decoding of XML Element tree, YAML, JSON, binary or just strings). In addition this library offers the same API for subprocess calls, but with specific limitation: no parallel calls (for protection from race conditions). Pros: * STDOUT and STDERR polling during command execution - no deadlocks. * The same API for subprocess and ssh. * Free software: Apache license * Open Source: https://github.com/python-useful-helpers/exec-helpers * PyPI packaged: https://pypi.python.org/pypi/exec-helpers * Self-documented code: docstrings with types in comments * Tested: see badges on top * Support multiple Python versions: Python 3.7 Python 3.8 Python 3.9 Python 3.10 Python 3.11 This package includes: * `SSHClient` - historically the first one helper, which used for SSH connections. Several API calls for sFTP also presents. * `SSHAuth` - class for credentials storage. `SSHClient` does not store credentials as-is, but uses `SSHAuth` for it. Objects of this class can be copied between ssh connection objects, also it used for `execute_through_host`. * `Subprocess` - `subprocess.Popen` wrapper with timeouts, polling and almost the same API, as `SSHClient` (except specific flags, like `cwd` for subprocess and `get_tty` for ssh). * `async_api.Subprocess` - the same, as `Subprocess` helper, but works with asyncio. * `ExecResult` - class for execution results storage. Contains exit code, stdout, stderr and getters for decoding as JSON, YAML, XML (and LXML) element tree, string, bytearray and brief strings (up to 7 lines). * `ExitCodes` - enumerator for standard Linux exit codes. BASH return codes (produced from signal codes) also available. %prep %autosetup -n exec-helpers-7.3.6 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-exec-helpers -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Sun Apr 23 2023 Python_Bot - 7.3.6-1 - Package Spec generated