summaryrefslogtreecommitdiff
path: root/python-hagworm.spec
blob: 9e99b30a03ee1d79374077d50d8fcd56eb56ff95 (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
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
%global _empty_manifest_terminate_build 0
Name:		python-hagworm
Version:	5.4.7
Release:	1
Summary:	Network Development Suite
License:	Apache License Version 2.0
URL:		https://gitee.com/wsb310/hagworm
Source0:	https://mirrors.nju.edu.cn/pypi/web/packages/b5/48/25ce68e2a3d06c4cd2e03960d781f8412c82a323a1ae1dadf51ef3f6ef5a/hagworm-5.4.7.tar.gz
BuildArch:	noarch


%description
# Hagworm

![](https://img.shields.io/pypi/v/hagworm.svg)
![](https://img.shields.io/pypi/format/hagworm.svg)
![](https://img.shields.io/pypi/implementation/hagworm.svg)
![](https://img.shields.io/pypi/pyversions/hagworm.svg)



## 快速开始



### 1. 下载

```bash
git clone git@gitee.com:wsb310/hagworm.git
```



### 2. 安装

```bash
pip install hagworm
```



### 3. 设计定位

* Hagworm是原生框架、原生库的中间层,对它们进行了更高层次的抽象,用来屏蔽直接的调用,达到不改变使用习惯的情况下可以随意更换框架或库。
* Hagworm整合了它支持的各种框架和库,使它们成为一个整体,屏蔽了底层细节,简化了使用方式。
* Hagworm提供了一个打包的环境,建立了工程质量的底线,开发者只需要关注业务逻辑本身,不需要再关注底层的性能和安全等问题。

```mermaid
graph LR
原生框架-->Hagworm
原生库-->Hagworm
Hagworm-->业务代码
```



### 5. 代码树结构

```text
├── extend                                      基础扩展
│    ├── asyncio                                asyncio扩展
│    │    ├── base.py                           异步工具库
│    │    ├── buffer.py                         缓冲相关
│    │    ├── command.py                        命令行相关
│    │    ├── event.py                          分布式事件总线
│    │    ├── file.py                           文件读写相关
│    │    ├── future.py                         协程相关
│    │    ├── mail.py                           邮件工具
│    │    ├── mongo.py                          MongoDB工具
│    │    ├── mysql.py                          MySQL工具
│    │    ├── net.py                            网络工具
│    │    ├── ntp.py                            时间同步
│    │    ├── pool.py                           对象池抽象
│    │    ├── redis.py                          Redis工具
│    │    ├── socket.py                         Socket封装
│    │    ├── task.py                           任务相关
│    │    ├── transaction.py                    事务抽象
│    │    └── zmq.py                            ZMQ扩展
│    ├── base.py                                基础工具
│    ├── cache.py                               缓存相关
│    ├── compile.py                             pyc编译
│    ├── config.py                              配置相关
│    ├── crypto.py                              加解密相关
│    ├── error.py                               错误定义
│    ├── event.py                               事件总线
│    ├── igraph.py                              内存图引擎
│    ├── interface.py                           接口定义
│    ├── logging.py                             日志相关
│    ├── media.py                               媒体相关
│    ├── metaclass.py                           元类相关
│    ├── process.py                             多进程工具
│    ├── qrcode.py                              二维码工具
│    ├── struct.py                              数据结构
│    ├── text.py                                文本相关
│    ├── trace.py                               调试及跟踪
│    ├── transaction.py                         事务抽象
│    └── validator.py                           通用验证器
├── frame                                       三方框架扩展
│    └── fastapi                                fastapi扩展
│    │    ├── base.py                           基础工具
│    │    ├── field.py                          表单验证器
│    │    ├── model.py                          表单相关
│    │    └── response.py                       响应数据结构
│    └── gunicorn.py                            gunicorn相关
│    └── stress_tests.py                        压力测试工具
├── static                                      静态资源
│    └── cacert.pem                             SSL根证书
└── third                                       三方库扩展
     ├── aliyun                                 阿里云相关
     │    └── rocketmq.py                       消息总线
     └── consul                                 consul相关
     │    └── config.py                         配置中心
     └── rabbitmq                               rabbitmq相关
          ├── consume.py                        消费者封装
          ├── publish.py                        生产者封装
          └── rpc.py                            远程调用封装
```



### 6. 重要提示

* 不要在非异步魔术方法中调用异步函数,例如在__del__中调用异步函数,在该函数结束前,对象一直处于析构中的状态,此时弱引用是有效的,但如果此时另外一个线程或者协程通过弱引用去使用它,然后意外就可能发生了
* 使用contextvars库时,要注意使用asyncio的call_soon、call_soon_threadsafe、call_later和call_at函数时(建议使用hagworm.extend.asyncio.base.Utils提供的函数),其中的context参数,必须给出独立的contextvars.Context对象,使其上下文环境独立,否则会出现伪内存泄漏现象



### 7. 关于本项目

* 请遵守开源协议,并保留作者信息
* 本项目任何版本不保证没有BUG,商业使用请自行承担风险
* 如果有任何问题,欢迎与我联系,邮箱wsb310@gmail.com,微信号wsb310

%package -n python3-hagworm
Summary:	Network Development Suite
Provides:	python-hagworm
BuildRequires:	python3-devel
BuildRequires:	python3-setuptools
BuildRequires:	python3-pip
%description -n python3-hagworm
# Hagworm

![](https://img.shields.io/pypi/v/hagworm.svg)
![](https://img.shields.io/pypi/format/hagworm.svg)
![](https://img.shields.io/pypi/implementation/hagworm.svg)
![](https://img.shields.io/pypi/pyversions/hagworm.svg)



## 快速开始



### 1. 下载

```bash
git clone git@gitee.com:wsb310/hagworm.git
```



### 2. 安装

```bash
pip install hagworm
```



### 3. 设计定位

* Hagworm是原生框架、原生库的中间层,对它们进行了更高层次的抽象,用来屏蔽直接的调用,达到不改变使用习惯的情况下可以随意更换框架或库。
* Hagworm整合了它支持的各种框架和库,使它们成为一个整体,屏蔽了底层细节,简化了使用方式。
* Hagworm提供了一个打包的环境,建立了工程质量的底线,开发者只需要关注业务逻辑本身,不需要再关注底层的性能和安全等问题。

```mermaid
graph LR
原生框架-->Hagworm
原生库-->Hagworm
Hagworm-->业务代码
```



### 5. 代码树结构

```text
├── extend                                      基础扩展
│    ├── asyncio                                asyncio扩展
│    │    ├── base.py                           异步工具库
│    │    ├── buffer.py                         缓冲相关
│    │    ├── command.py                        命令行相关
│    │    ├── event.py                          分布式事件总线
│    │    ├── file.py                           文件读写相关
│    │    ├── future.py                         协程相关
│    │    ├── mail.py                           邮件工具
│    │    ├── mongo.py                          MongoDB工具
│    │    ├── mysql.py                          MySQL工具
│    │    ├── net.py                            网络工具
│    │    ├── ntp.py                            时间同步
│    │    ├── pool.py                           对象池抽象
│    │    ├── redis.py                          Redis工具
│    │    ├── socket.py                         Socket封装
│    │    ├── task.py                           任务相关
│    │    ├── transaction.py                    事务抽象
│    │    └── zmq.py                            ZMQ扩展
│    ├── base.py                                基础工具
│    ├── cache.py                               缓存相关
│    ├── compile.py                             pyc编译
│    ├── config.py                              配置相关
│    ├── crypto.py                              加解密相关
│    ├── error.py                               错误定义
│    ├── event.py                               事件总线
│    ├── igraph.py                              内存图引擎
│    ├── interface.py                           接口定义
│    ├── logging.py                             日志相关
│    ├── media.py                               媒体相关
│    ├── metaclass.py                           元类相关
│    ├── process.py                             多进程工具
│    ├── qrcode.py                              二维码工具
│    ├── struct.py                              数据结构
│    ├── text.py                                文本相关
│    ├── trace.py                               调试及跟踪
│    ├── transaction.py                         事务抽象
│    └── validator.py                           通用验证器
├── frame                                       三方框架扩展
│    └── fastapi                                fastapi扩展
│    │    ├── base.py                           基础工具
│    │    ├── field.py                          表单验证器
│    │    ├── model.py                          表单相关
│    │    └── response.py                       响应数据结构
│    └── gunicorn.py                            gunicorn相关
│    └── stress_tests.py                        压力测试工具
├── static                                      静态资源
│    └── cacert.pem                             SSL根证书
└── third                                       三方库扩展
     ├── aliyun                                 阿里云相关
     │    └── rocketmq.py                       消息总线
     └── consul                                 consul相关
     │    └── config.py                         配置中心
     └── rabbitmq                               rabbitmq相关
          ├── consume.py                        消费者封装
          ├── publish.py                        生产者封装
          └── rpc.py                            远程调用封装
```



### 6. 重要提示

* 不要在非异步魔术方法中调用异步函数,例如在__del__中调用异步函数,在该函数结束前,对象一直处于析构中的状态,此时弱引用是有效的,但如果此时另外一个线程或者协程通过弱引用去使用它,然后意外就可能发生了
* 使用contextvars库时,要注意使用asyncio的call_soon、call_soon_threadsafe、call_later和call_at函数时(建议使用hagworm.extend.asyncio.base.Utils提供的函数),其中的context参数,必须给出独立的contextvars.Context对象,使其上下文环境独立,否则会出现伪内存泄漏现象



### 7. 关于本项目

* 请遵守开源协议,并保留作者信息
* 本项目任何版本不保证没有BUG,商业使用请自行承担风险
* 如果有任何问题,欢迎与我联系,邮箱wsb310@gmail.com,微信号wsb310

%package help
Summary:	Development documents and examples for hagworm
Provides:	python3-hagworm-doc
%description help
# Hagworm

![](https://img.shields.io/pypi/v/hagworm.svg)
![](https://img.shields.io/pypi/format/hagworm.svg)
![](https://img.shields.io/pypi/implementation/hagworm.svg)
![](https://img.shields.io/pypi/pyversions/hagworm.svg)



## 快速开始



### 1. 下载

```bash
git clone git@gitee.com:wsb310/hagworm.git
```



### 2. 安装

```bash
pip install hagworm
```



### 3. 设计定位

* Hagworm是原生框架、原生库的中间层,对它们进行了更高层次的抽象,用来屏蔽直接的调用,达到不改变使用习惯的情况下可以随意更换框架或库。
* Hagworm整合了它支持的各种框架和库,使它们成为一个整体,屏蔽了底层细节,简化了使用方式。
* Hagworm提供了一个打包的环境,建立了工程质量的底线,开发者只需要关注业务逻辑本身,不需要再关注底层的性能和安全等问题。

```mermaid
graph LR
原生框架-->Hagworm
原生库-->Hagworm
Hagworm-->业务代码
```



### 5. 代码树结构

```text
├── extend                                      基础扩展
│    ├── asyncio                                asyncio扩展
│    │    ├── base.py                           异步工具库
│    │    ├── buffer.py                         缓冲相关
│    │    ├── command.py                        命令行相关
│    │    ├── event.py                          分布式事件总线
│    │    ├── file.py                           文件读写相关
│    │    ├── future.py                         协程相关
│    │    ├── mail.py                           邮件工具
│    │    ├── mongo.py                          MongoDB工具
│    │    ├── mysql.py                          MySQL工具
│    │    ├── net.py                            网络工具
│    │    ├── ntp.py                            时间同步
│    │    ├── pool.py                           对象池抽象
│    │    ├── redis.py                          Redis工具
│    │    ├── socket.py                         Socket封装
│    │    ├── task.py                           任务相关
│    │    ├── transaction.py                    事务抽象
│    │    └── zmq.py                            ZMQ扩展
│    ├── base.py                                基础工具
│    ├── cache.py                               缓存相关
│    ├── compile.py                             pyc编译
│    ├── config.py                              配置相关
│    ├── crypto.py                              加解密相关
│    ├── error.py                               错误定义
│    ├── event.py                               事件总线
│    ├── igraph.py                              内存图引擎
│    ├── interface.py                           接口定义
│    ├── logging.py                             日志相关
│    ├── media.py                               媒体相关
│    ├── metaclass.py                           元类相关
│    ├── process.py                             多进程工具
│    ├── qrcode.py                              二维码工具
│    ├── struct.py                              数据结构
│    ├── text.py                                文本相关
│    ├── trace.py                               调试及跟踪
│    ├── transaction.py                         事务抽象
│    └── validator.py                           通用验证器
├── frame                                       三方框架扩展
│    └── fastapi                                fastapi扩展
│    │    ├── base.py                           基础工具
│    │    ├── field.py                          表单验证器
│    │    ├── model.py                          表单相关
│    │    └── response.py                       响应数据结构
│    └── gunicorn.py                            gunicorn相关
│    └── stress_tests.py                        压力测试工具
├── static                                      静态资源
│    └── cacert.pem                             SSL根证书
└── third                                       三方库扩展
     ├── aliyun                                 阿里云相关
     │    └── rocketmq.py                       消息总线
     └── consul                                 consul相关
     │    └── config.py                         配置中心
     └── rabbitmq                               rabbitmq相关
          ├── consume.py                        消费者封装
          ├── publish.py                        生产者封装
          └── rpc.py                            远程调用封装
```



### 6. 重要提示

* 不要在非异步魔术方法中调用异步函数,例如在__del__中调用异步函数,在该函数结束前,对象一直处于析构中的状态,此时弱引用是有效的,但如果此时另外一个线程或者协程通过弱引用去使用它,然后意外就可能发生了
* 使用contextvars库时,要注意使用asyncio的call_soon、call_soon_threadsafe、call_later和call_at函数时(建议使用hagworm.extend.asyncio.base.Utils提供的函数),其中的context参数,必须给出独立的contextvars.Context对象,使其上下文环境独立,否则会出现伪内存泄漏现象



### 7. 关于本项目

* 请遵守开源协议,并保留作者信息
* 本项目任何版本不保证没有BUG,商业使用请自行承担风险
* 如果有任何问题,欢迎与我联系,邮箱wsb310@gmail.com,微信号wsb310

%prep
%autosetup -n hagworm-5.4.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-hagworm -f filelist.lst
%dir %{python3_sitelib}/*

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

%changelog
* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 5.4.7-1
- Package Spec generated