summaryrefslogtreecommitdiff
path: root/python-charmonium-async-subprocess.spec
blob: 670955d09b616f7633984f4be4322c5eed25cd16 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
%global _empty_manifest_terminate_build 0
Name:		python-charmonium.async-subprocess
Version:	0.1.7
Release:	1
Summary:	async clone of subprocess.run
License:	MIT
URL:		https://github.com/charmoniumQ/charmonium.async_subprocess.git
Source0:	https://mirrors.nju.edu.cn/pypi/web/packages/9d/59/071c6aa5f44b4f8adc1e75dd61db41bcc8c31ffadf9ed8f39e873f9113e3/charmonium.async_subprocess-0.1.7.tar.gz
BuildArch:	noarch


%description
See the documentation of the main function::
   async def run(
       args: Sequence[StrBytes],
       cwd: Optional[Path] = None,
       env: Optional[Union[Mapping[StrBytes, StrBytes]]] = None,
       env_override: Optional[Mapping[StrBytes, StrBytes]] = None,
       capture_output: bool = False,
       check: bool = False,
       text: Optional[bool] = None,
   ) -> subprocess.CompletedProcess:
       """An async clone of `subprocess.run`.
       Suppose you have Python script that orchestrates shell commands,
       but it's too slow, and you've identified commands which can run in
       parallel. You could use `threading`, but that has GIL problems, or
       `multiprocess`, which has a high startup-cost per worker. You are
       already spinning off subprocesses, which the OS will run
       concurrently, so why not use async/await programming to express
       concurrency in a single thread?
       Note this function does not permit you to communicate
       asynchronously, just to run commands asynchronously.
       This function supports a subset of the signature of
       `subprocess.run`, that I will expand based on need. If you need
       some functionality, submit an issue or PR.
       """

%package -n python3-charmonium.async-subprocess
Summary:	async clone of subprocess.run
Provides:	python-charmonium.async-subprocess
BuildRequires:	python3-devel
BuildRequires:	python3-setuptools
BuildRequires:	python3-pip
%description -n python3-charmonium.async-subprocess
See the documentation of the main function::
   async def run(
       args: Sequence[StrBytes],
       cwd: Optional[Path] = None,
       env: Optional[Union[Mapping[StrBytes, StrBytes]]] = None,
       env_override: Optional[Mapping[StrBytes, StrBytes]] = None,
       capture_output: bool = False,
       check: bool = False,
       text: Optional[bool] = None,
   ) -> subprocess.CompletedProcess:
       """An async clone of `subprocess.run`.
       Suppose you have Python script that orchestrates shell commands,
       but it's too slow, and you've identified commands which can run in
       parallel. You could use `threading`, but that has GIL problems, or
       `multiprocess`, which has a high startup-cost per worker. You are
       already spinning off subprocesses, which the OS will run
       concurrently, so why not use async/await programming to express
       concurrency in a single thread?
       Note this function does not permit you to communicate
       asynchronously, just to run commands asynchronously.
       This function supports a subset of the signature of
       `subprocess.run`, that I will expand based on need. If you need
       some functionality, submit an issue or PR.
       """

%package help
Summary:	Development documents and examples for charmonium.async-subprocess
Provides:	python3-charmonium.async-subprocess-doc
%description help
See the documentation of the main function::
   async def run(
       args: Sequence[StrBytes],
       cwd: Optional[Path] = None,
       env: Optional[Union[Mapping[StrBytes, StrBytes]]] = None,
       env_override: Optional[Mapping[StrBytes, StrBytes]] = None,
       capture_output: bool = False,
       check: bool = False,
       text: Optional[bool] = None,
   ) -> subprocess.CompletedProcess:
       """An async clone of `subprocess.run`.
       Suppose you have Python script that orchestrates shell commands,
       but it's too slow, and you've identified commands which can run in
       parallel. You could use `threading`, but that has GIL problems, or
       `multiprocess`, which has a high startup-cost per worker. You are
       already spinning off subprocesses, which the OS will run
       concurrently, so why not use async/await programming to express
       concurrency in a single thread?
       Note this function does not permit you to communicate
       asynchronously, just to run commands asynchronously.
       This function supports a subset of the signature of
       `subprocess.run`, that I will expand based on need. If you need
       some functionality, submit an issue or PR.
       """

%prep
%autosetup -n charmonium.async-subprocess-0.1.7

%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-charmonium.async-subprocess -f filelist.lst
%dir %{python3_sitelib}/*

%files help -f doclist.lst
%{_docdir}/*

%changelog
* Tue May 30 2023 Python_Bot <Python_Bot@openeuler.org> - 0.1.7-1
- Package Spec generated