funcguard 0.1.5__tar.gz → 0.1.7__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of funcguard might be problematic. Click here for more details.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: funcguard
3
- Version: 0.1.5
3
+ Version: 0.1.7
4
4
  Summary: FuncGuard是一个Python库,提供函数执行超时控制、重试机制、HTTP请求封装和格式化打印工具。
5
5
  Home-page: https://github.com/tinycen/funcguard
6
6
  Author: tinycen
@@ -110,10 +110,14 @@ print(response)
110
110
 
111
111
  ### 格式化打印
112
112
 
113
- 使用`print_line`和`print_block`函数进行格式化打印,便于查看和调试:
113
+ 使用`print_line`、`print_block`和`print_title`函数进行格式化打印,便于查看和调试:
114
114
 
115
115
  ```python
116
- from funcguard import print_line, print_block
116
+ from funcguard import print_line, print_block, print_title
117
+
118
+ # 打印带等号的标题
119
+ print_title("初始化分类器") # 输出:=== 初始化分类器 ===
120
+ print_title("训练完成", separator_char="*", padding_length=2) # 输出:** 训练完成 **
117
121
 
118
122
  # 打印分隔线
119
123
  print_line() # 默认使用40个'-'字符
@@ -145,41 +149,33 @@ from funcguard import time_log, time_diff
145
149
  start_time = time_diff()
146
150
 
147
151
  # 记录任务开始(i从0开始)
148
- time_log("开始处理数据", 0, 100, 0, start_time)
152
+ time_log("开始处理数据", 0, 100, start_time, 0)
149
153
 
150
154
  # 模拟处理过程
151
155
  import time
152
156
  for i in range(1, 101):
153
157
  time.sleep(0.1) # 模拟处理时间
154
158
  if i % 20 == 0:
155
- time_log(f"处理进度", i, 100, 0, start_time) # 显示进度和预计完成时间
159
+ time_log(f"处理进度", i, 100, start_time, 0) # 显示进度和预计完成时间
156
160
 
157
161
  # 记录任务完成并打印统计信息
158
- time_log("数据处理完成", 100, 100, 0, start_time)
159
162
  time_diff(start_time, 100, "cn") # 中文显示统计信息
160
163
  ```
161
164
 
162
165
  或者当i从1开始时:
163
166
 
164
167
  ```python
165
- from funcguard import time_log, time_diff
166
-
167
- # 获取开始时间
168
- start_time = time_diff()
169
168
 
170
169
  # 记录任务开始(i从1开始)
171
- time_log("开始处理数据", 1, 100, 1, start_time)
170
+ time_log("开始处理数据", 1, 100, start_time, 1)
172
171
 
173
172
  # 模拟处理过程
174
173
  import time
175
174
  for i in range(1, 101):
176
175
  time.sleep(0.1) # 模拟处理时间
177
176
  if i % 20 == 0:
178
- time_log(f"处理进度", i, 100, 1, start_time) # 显示进度和预计完成时间
177
+ time_log(f"处理进度", i, 100, start_time, 1) # 显示进度和预计完成时间
179
178
 
180
- # 记录任务完成并打印统计信息
181
- time_log("数据处理完成", 100, 100, 1, start_time)
182
- time_diff(start_time, 100, "cn") # 中文显示统计信息
183
179
  ```
184
180
 
185
181
  时间日志功能特点:
@@ -230,14 +226,14 @@ time_diff(start_time, 100, "cn") # 中文显示统计信息
230
226
  - **返回值**: 根据return_type参数返回不同格式的响应数据
231
227
  - **异常**: 当请求失败且重试次数用尽后,抛出相应的异常
232
228
 
233
- #### time_log(message, i=0, max_num=0, start_from=0, s_time=None)
229
+ #### time_log(message, i=0, max_num=0, s_time=None, start_from=0)
234
230
 
235
231
  - **参数**:
236
232
  - `message`: 日志消息
237
233
  - `i`: 当前进度,默认为0
238
234
  - `max_num`: 总进度数量,默认为0
239
- - `start_from`: i是否从0开始,0表示从0开始,1表示从1开始,默认为0
240
235
  - `s_time`: 开始时间,用于计算预计完成时间,默认为None
236
+ - `start_from`: i是否从0开始,0表示从0开始,1表示从1开始,默认为0
241
237
  - **返回值**: 无
242
238
  - **功能**: 打印带时间戳的日志信息,支持进度显示和预计完成时间计算
243
239
 
@@ -260,6 +256,15 @@ time_diff(start_time, 100, "cn") # 中文显示统计信息
260
256
  - **返回值**: 无
261
257
  - **功能**: 打印分隔线,用于分隔不同的打印块
262
258
 
259
+ #### print_title(title: str, separator_char: str = "=", padding_length: int = 3) -> None
260
+
261
+ - **参数**:
262
+ - `title`: 标题内容
263
+ - `separator_char`: 分隔符字符,默认为'='
264
+ - `padding_length`: 标题两侧的分隔符数量,默认为3
265
+ - **返回值**: 无
266
+ - **功能**: 打印带分隔符的标题,格式如:=== 初始化分类器 ===
267
+
263
268
  #### print_block(title: str, content: Any, separator_char: str = "-", separator_length: int = 40) -> None
264
269
 
265
270
  - **参数**:
@@ -96,10 +96,14 @@ print(response)
96
96
 
97
97
  ### 格式化打印
98
98
 
99
- 使用`print_line`和`print_block`函数进行格式化打印,便于查看和调试:
99
+ 使用`print_line`、`print_block`和`print_title`函数进行格式化打印,便于查看和调试:
100
100
 
101
101
  ```python
102
- from funcguard import print_line, print_block
102
+ from funcguard import print_line, print_block, print_title
103
+
104
+ # 打印带等号的标题
105
+ print_title("初始化分类器") # 输出:=== 初始化分类器 ===
106
+ print_title("训练完成", separator_char="*", padding_length=2) # 输出:** 训练完成 **
103
107
 
104
108
  # 打印分隔线
105
109
  print_line() # 默认使用40个'-'字符
@@ -131,41 +135,33 @@ from funcguard import time_log, time_diff
131
135
  start_time = time_diff()
132
136
 
133
137
  # 记录任务开始(i从0开始)
134
- time_log("开始处理数据", 0, 100, 0, start_time)
138
+ time_log("开始处理数据", 0, 100, start_time, 0)
135
139
 
136
140
  # 模拟处理过程
137
141
  import time
138
142
  for i in range(1, 101):
139
143
  time.sleep(0.1) # 模拟处理时间
140
144
  if i % 20 == 0:
141
- time_log(f"处理进度", i, 100, 0, start_time) # 显示进度和预计完成时间
145
+ time_log(f"处理进度", i, 100, start_time, 0) # 显示进度和预计完成时间
142
146
 
143
147
  # 记录任务完成并打印统计信息
144
- time_log("数据处理完成", 100, 100, 0, start_time)
145
148
  time_diff(start_time, 100, "cn") # 中文显示统计信息
146
149
  ```
147
150
 
148
151
  或者当i从1开始时:
149
152
 
150
153
  ```python
151
- from funcguard import time_log, time_diff
152
-
153
- # 获取开始时间
154
- start_time = time_diff()
155
154
 
156
155
  # 记录任务开始(i从1开始)
157
- time_log("开始处理数据", 1, 100, 1, start_time)
156
+ time_log("开始处理数据", 1, 100, start_time, 1)
158
157
 
159
158
  # 模拟处理过程
160
159
  import time
161
160
  for i in range(1, 101):
162
161
  time.sleep(0.1) # 模拟处理时间
163
162
  if i % 20 == 0:
164
- time_log(f"处理进度", i, 100, 1, start_time) # 显示进度和预计完成时间
163
+ time_log(f"处理进度", i, 100, start_time, 1) # 显示进度和预计完成时间
165
164
 
166
- # 记录任务完成并打印统计信息
167
- time_log("数据处理完成", 100, 100, 1, start_time)
168
- time_diff(start_time, 100, "cn") # 中文显示统计信息
169
165
  ```
170
166
 
171
167
  时间日志功能特点:
@@ -216,14 +212,14 @@ time_diff(start_time, 100, "cn") # 中文显示统计信息
216
212
  - **返回值**: 根据return_type参数返回不同格式的响应数据
217
213
  - **异常**: 当请求失败且重试次数用尽后,抛出相应的异常
218
214
 
219
- #### time_log(message, i=0, max_num=0, start_from=0, s_time=None)
215
+ #### time_log(message, i=0, max_num=0, s_time=None, start_from=0)
220
216
 
221
217
  - **参数**:
222
218
  - `message`: 日志消息
223
219
  - `i`: 当前进度,默认为0
224
220
  - `max_num`: 总进度数量,默认为0
225
- - `start_from`: i是否从0开始,0表示从0开始,1表示从1开始,默认为0
226
221
  - `s_time`: 开始时间,用于计算预计完成时间,默认为None
222
+ - `start_from`: i是否从0开始,0表示从0开始,1表示从1开始,默认为0
227
223
  - **返回值**: 无
228
224
  - **功能**: 打印带时间戳的日志信息,支持进度显示和预计完成时间计算
229
225
 
@@ -246,6 +242,15 @@ time_diff(start_time, 100, "cn") # 中文显示统计信息
246
242
  - **返回值**: 无
247
243
  - **功能**: 打印分隔线,用于分隔不同的打印块
248
244
 
245
+ #### print_title(title: str, separator_char: str = "=", padding_length: int = 3) -> None
246
+
247
+ - **参数**:
248
+ - `title`: 标题内容
249
+ - `separator_char`: 分隔符字符,默认为'='
250
+ - `padding_length`: 标题两侧的分隔符数量,默认为3
251
+ - **返回值**: 无
252
+ - **功能**: 打印带分隔符的标题,格式如:=== 初始化分类器 ===
253
+
249
254
  #### print_block(title: str, content: Any, separator_char: str = "-", separator_length: int = 40) -> None
250
255
 
251
256
  - **参数**:
@@ -1,6 +1,6 @@
1
1
  from .core import timeout_handler, retry_function
2
2
  from .tools import send_request, time_log, time_diff
3
- from .printer import print_block, print_line
3
+ from .printer import print_block, print_line, print_title
4
4
 
5
5
  __author__ = "ruocen"
6
6
 
@@ -13,4 +13,5 @@ __all__ = [
13
13
  "time_diff",
14
14
  "print_block",
15
15
  "print_line",
16
+ "print_title",
16
17
  ]
@@ -1,5 +1,18 @@
1
1
  from typing import Any
2
2
 
3
+ # 打印带等号的标题(如:=== 初始化分类器 ===)
4
+ def print_title(title: str, separator_char: str = "=", padding_length: int = 3) -> None:
5
+ """
6
+ 打印带分隔符的标题,格式如:=== 初始化分类器 ===
7
+
8
+ :param title: 标题内容
9
+ :param separator_char: 分隔符字符,默认为'='
10
+ :param padding_length: 标题两侧的分隔符数量,默认为3
11
+ """
12
+ separator = separator_char * padding_length
13
+ print(f"{separator} {title} {separator}")
14
+
15
+
3
16
  # 打印分隔线
4
17
  def print_line(separator_char: str = "-", separator_length: int = 40) -> None:
5
18
  """
@@ -68,15 +68,15 @@ def send_request(
68
68
 
69
69
 
70
70
  # 打印时间
71
- def time_log(message, i = 0, max_num = 0, start_from = 0, s_time = None,) :
71
+ def time_log(message, i = 0, max_num = 0, s_time = None, start_from = 0 ) :
72
72
  """
73
73
  打印带时间戳的日志信息,支持进度显示和预计完成时间
74
74
 
75
75
  :param message: 日志消息
76
76
  :param i: 当前进度
77
77
  :param max_num: 总进度数量
78
- :param start_from: i是否从0开始,0表示从0开始,1表示从1开始
79
78
  :param s_time: 开始时间,用于计算预计完成时间
79
+ :param start_from: i是否从0开始,0表示从0开始,1表示从1开始
80
80
  :return: None
81
81
  """
82
82
  now = datetime.now( timezone( timedelta( hours = 8 ) ) )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: funcguard
3
- Version: 0.1.5
3
+ Version: 0.1.7
4
4
  Summary: FuncGuard是一个Python库,提供函数执行超时控制、重试机制、HTTP请求封装和格式化打印工具。
5
5
  Home-page: https://github.com/tinycen/funcguard
6
6
  Author: tinycen
@@ -110,10 +110,14 @@ print(response)
110
110
 
111
111
  ### 格式化打印
112
112
 
113
- 使用`print_line`和`print_block`函数进行格式化打印,便于查看和调试:
113
+ 使用`print_line`、`print_block`和`print_title`函数进行格式化打印,便于查看和调试:
114
114
 
115
115
  ```python
116
- from funcguard import print_line, print_block
116
+ from funcguard import print_line, print_block, print_title
117
+
118
+ # 打印带等号的标题
119
+ print_title("初始化分类器") # 输出:=== 初始化分类器 ===
120
+ print_title("训练完成", separator_char="*", padding_length=2) # 输出:** 训练完成 **
117
121
 
118
122
  # 打印分隔线
119
123
  print_line() # 默认使用40个'-'字符
@@ -145,41 +149,33 @@ from funcguard import time_log, time_diff
145
149
  start_time = time_diff()
146
150
 
147
151
  # 记录任务开始(i从0开始)
148
- time_log("开始处理数据", 0, 100, 0, start_time)
152
+ time_log("开始处理数据", 0, 100, start_time, 0)
149
153
 
150
154
  # 模拟处理过程
151
155
  import time
152
156
  for i in range(1, 101):
153
157
  time.sleep(0.1) # 模拟处理时间
154
158
  if i % 20 == 0:
155
- time_log(f"处理进度", i, 100, 0, start_time) # 显示进度和预计完成时间
159
+ time_log(f"处理进度", i, 100, start_time, 0) # 显示进度和预计完成时间
156
160
 
157
161
  # 记录任务完成并打印统计信息
158
- time_log("数据处理完成", 100, 100, 0, start_time)
159
162
  time_diff(start_time, 100, "cn") # 中文显示统计信息
160
163
  ```
161
164
 
162
165
  或者当i从1开始时:
163
166
 
164
167
  ```python
165
- from funcguard import time_log, time_diff
166
-
167
- # 获取开始时间
168
- start_time = time_diff()
169
168
 
170
169
  # 记录任务开始(i从1开始)
171
- time_log("开始处理数据", 1, 100, 1, start_time)
170
+ time_log("开始处理数据", 1, 100, start_time, 1)
172
171
 
173
172
  # 模拟处理过程
174
173
  import time
175
174
  for i in range(1, 101):
176
175
  time.sleep(0.1) # 模拟处理时间
177
176
  if i % 20 == 0:
178
- time_log(f"处理进度", i, 100, 1, start_time) # 显示进度和预计完成时间
177
+ time_log(f"处理进度", i, 100, start_time, 1) # 显示进度和预计完成时间
179
178
 
180
- # 记录任务完成并打印统计信息
181
- time_log("数据处理完成", 100, 100, 1, start_time)
182
- time_diff(start_time, 100, "cn") # 中文显示统计信息
183
179
  ```
184
180
 
185
181
  时间日志功能特点:
@@ -230,14 +226,14 @@ time_diff(start_time, 100, "cn") # 中文显示统计信息
230
226
  - **返回值**: 根据return_type参数返回不同格式的响应数据
231
227
  - **异常**: 当请求失败且重试次数用尽后,抛出相应的异常
232
228
 
233
- #### time_log(message, i=0, max_num=0, start_from=0, s_time=None)
229
+ #### time_log(message, i=0, max_num=0, s_time=None, start_from=0)
234
230
 
235
231
  - **参数**:
236
232
  - `message`: 日志消息
237
233
  - `i`: 当前进度,默认为0
238
234
  - `max_num`: 总进度数量,默认为0
239
- - `start_from`: i是否从0开始,0表示从0开始,1表示从1开始,默认为0
240
235
  - `s_time`: 开始时间,用于计算预计完成时间,默认为None
236
+ - `start_from`: i是否从0开始,0表示从0开始,1表示从1开始,默认为0
241
237
  - **返回值**: 无
242
238
  - **功能**: 打印带时间戳的日志信息,支持进度显示和预计完成时间计算
243
239
 
@@ -260,6 +256,15 @@ time_diff(start_time, 100, "cn") # 中文显示统计信息
260
256
  - **返回值**: 无
261
257
  - **功能**: 打印分隔线,用于分隔不同的打印块
262
258
 
259
+ #### print_title(title: str, separator_char: str = "=", padding_length: int = 3) -> None
260
+
261
+ - **参数**:
262
+ - `title`: 标题内容
263
+ - `separator_char`: 分隔符字符,默认为'='
264
+ - `padding_length`: 标题两侧的分隔符数量,默认为3
265
+ - **返回值**: 无
266
+ - **功能**: 打印带分隔符的标题,格式如:=== 初始化分类器 ===
267
+
263
268
  #### print_block(title: str, content: Any, separator_char: str = "-", separator_length: int = 40) -> None
264
269
 
265
270
  - **参数**:
@@ -9,7 +9,7 @@ except FileNotFoundError:
9
9
 
10
10
  setup(
11
11
  name='funcguard',
12
- version='0.1.5',
12
+ version='0.1.7',
13
13
  packages=find_packages(),
14
14
  install_requires=[
15
15
  'requests',
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes