jit-utils-backend 0.0.1__py3-none-any.whl → 0.0.2__py3-none-any.whl

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.
jit_utils/__init__.py CHANGED
@@ -12,141 +12,13 @@ A comprehensive utility package for backend development with JIT.
12
12
  - 网络工具
13
13
  - 签名工具
14
14
  等等...
15
+
16
+ 使用方法:
17
+ from jit_utils.string import randomString
18
+ from jit_utils.time import now
19
+ from jit_utils.qrcode import Qrcode
20
+ ...
15
21
  """
16
22
 
17
- __version__ = '0.0.1'
23
+ __version__ = '0.0.2'
18
24
  __author__ = 'zangtao'
19
-
20
- # 导入主要的工具类和函数
21
- try:
22
- from .decorator import forward
23
- except ImportError:
24
- pass
25
-
26
- # 时间工具
27
- try:
28
- from . import time as time_utils
29
- # 导出一些常用的时间函数
30
- from .time import (
31
- now, today, get, dayShift,
32
- monday, weekShift, monthStart, monthShift,
33
- quarterStart, quarterShift, yearStart, yearShift,
34
- getTimestamp, timeStampToDateTime, strToTimestamp,
35
- formatNow, datetime2string, string2datetime
36
- )
37
- except ImportError:
38
- pass
39
-
40
- # 字符串工具
41
- try:
42
- from . import string as string_utils
43
- from .string import (
44
- randomString, randomNum, getUuidStr,
45
- md5Bytes, md5Str, getFileMd5,
46
- renderTemplateString
47
- )
48
- except ImportError:
49
- pass
50
-
51
- # 二维码工具
52
- try:
53
- from .qrcode import Qrcode
54
- except ImportError:
55
- Qrcode = None
56
-
57
- # 条形码工具
58
- try:
59
- from .barcode import Barcode
60
- except ImportError:
61
- Barcode = None
62
-
63
- # 验证工具
64
- try:
65
- from .validator import ParamsValidator
66
- except ImportError:
67
- ParamsValidator = None
68
-
69
- # 网络工具
70
- try:
71
- from . import network
72
- except ImportError:
73
- pass
74
-
75
- # 签名工具
76
- try:
77
- from . import signature
78
- except ImportError:
79
- pass
80
-
81
- # 匹配工具
82
- try:
83
- from . import matchTool
84
- except ImportError:
85
- pass
86
-
87
- # 类工具
88
- try:
89
- from . import clsTool
90
- except ImportError:
91
- pass
92
-
93
- # 转换工具
94
- try:
95
- from .convert import Converter, MemoryCompiler
96
- except ImportError:
97
- # 如果导入失败,创建占位符避免 __all__ 报错
98
- Converter = None
99
- MemoryCompiler = None
100
-
101
- # 异常处理
102
- try:
103
- from . import exceptions
104
- except ImportError:
105
- pass
106
-
107
- # 工作日常量
108
- try:
109
- from . import workday_constants
110
- except ImportError:
111
- pass
112
-
113
- # 配置相关
114
- try:
115
- from . import config
116
- except ImportError:
117
- pass
118
-
119
- # 定义 __all__ 列表,控制 from jit_utils import * 的行为
120
- __all__ = [
121
- # 版本信息
122
- '__version__',
123
- '__author__',
124
-
125
- # 装饰器
126
- 'forward',
127
-
128
- # 时间工具
129
- 'time_utils',
130
- 'now', 'today', 'get', 'dayShift',
131
- 'monday', 'weekShift', 'monthStart', 'monthShift',
132
- 'quarterStart', 'quarterShift', 'yearStart', 'yearShift',
133
- 'getTimestamp', 'timeStampToDateTime', 'strToTimestamp',
134
- 'formatNow', 'datetime2string', 'string2datetime',
135
-
136
- # 字符串工具
137
- 'string_utils',
138
- 'randomString', 'randomNum', 'getUuidStr',
139
- 'md5Bytes', 'md5Str', 'getFileMd5',
140
- 'renderTemplateString',
141
-
142
- # 二维码和条形码
143
- 'Qrcode', 'Barcode',
144
-
145
- # 验证工具
146
- 'ParamsValidator',
147
-
148
- # 其他模块
149
- 'network', 'signature', 'matchTool',
150
- 'clsTool', 'exceptions', 'workday_constants',
151
- 'config', 'Converter', 'MemoryCompiler'
152
- ]
@@ -1,12 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: jit-utils-backend
3
- Version: 0.0.1
3
+ Version: 0.0.2
4
4
  Summary: 极态后端工具包
5
- Author: zangtao
6
- Author-email: noguchisyou123456@gmail.com
7
- Project-URL: Documentation, https://github.com/zangtao/jit-utils-backend
8
- Project-URL: Source, https://github.com/zangtao/jit-utils-backend
9
- Project-URL: Tracker, https://github.com/zangtao/jit-utils-backend/issues
5
+ Author: JitAi
6
+ Author-email: develop@wanyunapp.com
10
7
  Keywords: python,jit,sdk,apiAuth,utils,backend
11
8
  Classifier: Development Status :: 3 - Alpha
12
9
  Classifier: Intended Audience :: Developers
@@ -36,7 +33,7 @@ Requires-Dist: Pillow
36
33
  ## 安装
37
34
 
38
35
  ```bash
39
- pip install jit-utils-backend
36
+ pip install jit_utils_backend
40
37
  ```
41
38
 
42
39
  ## 使用方法
@@ -47,11 +44,15 @@ pip install jit-utils-backend
47
44
  # 导入整个包
48
45
  import jit_utils
49
46
 
50
- # 导入特定功能
51
- from jit_utils import now, randomString, Qrcode, Barcode
47
+ # 导入特定功能(从具体的子模块)
48
+ from jit_utils.time import now
49
+ from jit_utils.string import randomString
50
+ from jit_utils.qrcode import Qrcode
51
+ from jit_utils.barcode import Barcode
52
52
 
53
53
  # 导入特定模块
54
- from jit_utils import time_utils, string_utils
54
+ import jit_utils.time
55
+ import jit_utils.string
55
56
  ```
56
57
 
57
58
  ## 主要功能
@@ -59,7 +60,7 @@ from jit_utils import time_utils, string_utils
59
60
  ### 1. 时间处理工具
60
61
 
61
62
  ```python
62
- from jit_utils import now, today, dayShift, formatNow
63
+ from jit_utils.time import now, today, dayShift, formatNow
63
64
 
64
65
  # 获取当前时间
65
66
  current_time = now()
@@ -77,7 +78,7 @@ formatted_time = formatNow("%Y-%m-%d %H:%M:%S")
77
78
  ### 2. 字符串处理工具
78
79
 
79
80
  ```python
80
- from jit_utils import randomString, md5Str, getUuidStr
81
+ from jit_utils.string import randomString, md5Str, getUuidStr
81
82
 
82
83
  # 生成随机字符串
83
84
  random_str = randomString(8)
@@ -92,7 +93,7 @@ uuid_str = getUuidStr()
92
93
  ### 3. 二维码生成
93
94
 
94
95
  ```python
95
- from jit_utils import Qrcode
96
+ from jit_utils.qrcode import Qrcode
96
97
 
97
98
  # 创建二维码
98
99
  qr = Qrcode("https://example.com")
@@ -107,7 +108,7 @@ qr_str = qr.toStr()
107
108
  ### 4. 条形码生成
108
109
 
109
110
  ```python
110
- from jit_utils import Barcode
111
+ from jit_utils.barcode import Barcode
111
112
 
112
113
  # 创建条形码
113
114
  barcode = Barcode("123456789")
@@ -122,7 +123,7 @@ barcode_str = barcode.toStr()
122
123
  ### 5. 数据验证
123
124
 
124
125
  ```python
125
- from jit_utils import ParamsValidator
126
+ from jit_utils.validator import ParamsValidator
126
127
  from dataclasses import dataclass
127
128
 
128
129
  @dataclass
@@ -138,7 +139,7 @@ params = UserParams("test_function", name="John", age=25)
138
139
  ### 6. 装饰器
139
140
 
140
141
  ```python
141
- from jit_utils import forward
142
+ from jit_utils.decorator import forward
142
143
 
143
144
  @forward("module.submodule")
144
145
  def my_function():
@@ -179,4 +180,4 @@ zangtao (noguchisyou123456@gmail.com)
179
180
 
180
181
  ## 版本
181
182
 
182
- 0.0.1
183
+ 0.0.2
@@ -1,4 +1,4 @@
1
- jit_utils/__init__.py,sha256=l1RBpnIRE1iEATvcgT6Trpbb6qG-3g6E87sK41i6nro,3050
1
+ jit_utils/__init__.py,sha256=jAB2jCgY7I9OSPIRBWmMIuxsWoVAqRFALnZxm73_EsY,473
2
2
  jit_utils/apiAuthSign.py,sha256=TzYe3tDVQw0LYcE82IPcibtt_qyGTJ3XbWVjti5lGx0,2323
3
3
  jit_utils/barcode.py,sha256=PuSHqxttr4rOGMAfojK7Ii72z4CoqxUQR_hmMOaElN8,1102
4
4
  jit_utils/clsTool.py,sha256=tfMy3ITwfbfBLE6cjTrrRwMWB0aFh4fAYGJBZJ3vmCE,2316
@@ -22,11 +22,11 @@ jit_utils/config/exception.py,sha256=wrok-q14bTl8afClYgX649F2Qk0vrwl6LiWGgpkKDY0
22
22
  jit_utils/config/field.py,sha256=5cq0M7zAtJrFkEHQ2H-1x95ypQxMyg07JjHnIAzSPQg,4759
23
23
  tests/__init__.py,sha256=Feh5oxeLX-QAsWdK7XteVUZkQR1uZMfByvrB-Em0FEk,60
24
24
  tests/run_tests.py,sha256=_0YG9MQCLkl18U-y-3BoI_KVbCZyGhMyPtLrOygAwVw,2959
25
- tests/test_package_imports.py,sha256=gOn0H5LqxZ8B5jiNV23i9r2tZB4dJBEQf84V7LjVsq4,7704
25
+ tests/test_package_imports.py,sha256=av8vhbx_VZUdWFMffWE5XKlu5glXE8LtzgmQvNsp0wo,6994
26
26
  tests/test_qrcode_barcode.py,sha256=RD08MCLHap0tb8hiXyrlkkdnK6t1Ij0p6gdCrJWqCIg,6598
27
27
  tests/test_string_utils.py,sha256=i1Q98PwMrPbjc4nkb1O3Z4pwvu0SMZrSOYbgDdeU4D4,5845
28
28
  tests/test_time_utils.py,sha256=nl9k_g0HmILHYTANMMRQgOF_vO4qGkfMzs6XiEJEnYA,6944
29
- jit_utils_backend-0.0.1.dist-info/METADATA,sha256=IxlSo4XAQFTsE_yUsITSozIWWFqmSwLHTfqH1eDLpAE,3768
30
- jit_utils_backend-0.0.1.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
31
- jit_utils_backend-0.0.1.dist-info/top_level.txt,sha256=SvmeRMPwBF2UwUtkhHAzXWSPhwVATqN2FFmZp2pJHjA,16
32
- jit_utils_backend-0.0.1.dist-info/RECORD,,
29
+ jit_utils_backend-0.0.2.dist-info/METADATA,sha256=3m1frtfoG_EKKM0EaUcaIsRbbs6GFA8gjn1y61NY6Ow,3710
30
+ jit_utils_backend-0.0.2.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
31
+ jit_utils_backend-0.0.2.dist-info/top_level.txt,sha256=SvmeRMPwBF2UwUtkhHAzXWSPhwVATqN2FFmZp2pJHjA,16
32
+ jit_utils_backend-0.0.2.dist-info/RECORD,,
@@ -1,6 +1,6 @@
1
1
  # -*-coding:utf-8-*-
2
2
  """
3
- 测试包的导入功能
3
+ 测试包的子模块导入功能
4
4
  """
5
5
  import unittest
6
6
 
@@ -14,15 +14,15 @@ class TestPackageImports(unittest.TestCase):
14
14
  import jit_utils
15
15
  self.assertTrue(hasattr(jit_utils, '__version__'))
16
16
  self.assertTrue(hasattr(jit_utils, '__author__'))
17
- self.assertEqual(jit_utils.__version__, '0.0.1')
17
+ self.assertEqual(jit_utils.__version__, '0.0.2')
18
18
  self.assertEqual(jit_utils.__author__, 'zangtao')
19
19
  except ImportError as e:
20
20
  self.fail(f"主包导入失败: {e}")
21
21
 
22
- def test_string_functions_import(self):
23
- """测试字符串函数导入"""
22
+ def test_string_module_import(self):
23
+ """测试字符串模块导入"""
24
24
  try:
25
- from jit_utils import randomString, getUuidStr, md5Str
25
+ from jit_utils.string import randomString, getUuidStr, md5Str
26
26
 
27
27
  # 测试函数是否可调用
28
28
  self.assertTrue(callable(randomString))
@@ -40,159 +40,150 @@ class TestPackageImports(unittest.TestCase):
40
40
  self.assertEqual(len(md5_hash), 32)
41
41
 
42
42
  except ImportError as e:
43
- self.fail(f"字符串函数导入失败: {e}")
43
+ self.skipTest(f"字符串模块导入失败: {e}")
44
44
 
45
- def test_qrcode_barcode_import(self):
46
- """测试二维码和条形码类导入"""
45
+ def test_time_module_import(self):
46
+ """测试时间模块导入"""
47
47
  try:
48
- from jit_utils import Qrcode, Barcode
48
+ from jit_utils.time import now, getTimestamp, formatNow
49
49
 
50
- # 如果因为依赖问题导入为 None,跳过测试
51
- if Qrcode is None or Barcode is None:
52
- self.skipTest("二维码/条形码类因依赖问题不可用")
50
+ # 测试函数是否可调用
51
+ self.assertTrue(callable(now))
52
+ self.assertTrue(callable(getTimestamp))
53
+ self.assertTrue(callable(formatNow))
54
+
55
+ # 简单功能测试
56
+ current_time = now()
57
+ self.assertIsNotNone(current_time)
58
+
59
+ timestamp = getTimestamp()
60
+ self.assertIsInstance(timestamp, (int, float))
61
+
62
+ formatted_time = formatNow()
63
+ self.assertIsInstance(formatted_time, str)
64
+
65
+ except ImportError as e:
66
+ self.skipTest(f"时间模块导入失败(可能缺少依赖): {e}")
67
+
68
+ def test_qrcode_module_import(self):
69
+ """测试二维码模块导入"""
70
+ try:
71
+ from jit_utils.qrcode import Qrcode
53
72
 
54
73
  # 测试类是否可实例化
55
74
  self.assertTrue(callable(Qrcode))
56
- self.assertTrue(callable(Barcode))
57
75
 
58
76
  # 创建实例
59
77
  qr = Qrcode("test")
60
- bc = Barcode("123456789")
61
-
62
78
  self.assertEqual(qr.value, "test")
63
- self.assertEqual(bc.value, "123456789")
64
79
 
65
80
  except ImportError as e:
66
- self.skipTest(f"二维码/条形码类导入失败(可能缺少依赖): {e}")
81
+ self.skipTest(f"二维码模块导入失败(可能缺少依赖): {e}")
67
82
 
68
- def test_module_imports(self):
69
- """测试模块级导入"""
83
+ def test_barcode_module_import(self):
84
+ """测试条形码模块导入"""
70
85
  try:
71
- from jit_utils import string_utils
72
- self.assertTrue(hasattr(string_utils, 'randomString'))
73
- self.assertTrue(hasattr(string_utils, 'md5Str'))
86
+ from jit_utils.barcode import Barcode
87
+
88
+ # 测试类是否可实例化
89
+ self.assertTrue(callable(Barcode))
90
+
91
+ # 创建实例
92
+ bc = Barcode("123456789")
93
+ self.assertEqual(bc.value, "123456789")
94
+
74
95
  except ImportError as e:
75
- self.fail(f"string_utils 模块导入失败: {e}")
76
-
77
- # 时间模块可能有依赖问题
96
+ self.skipTest(f"条形码模块导入失败(可能缺少依赖): {e}")
97
+
98
+ def test_validator_module_import(self):
99
+ """测试验证器模块导入"""
78
100
  try:
79
- from jit_utils import time_utils
80
- # 如果导入成功,测试一些基本属性
81
- self.assertTrue(hasattr(time_utils, 'getTimestamp'))
101
+ from jit_utils.validator import ParamsValidator
102
+ self.assertTrue(callable(ParamsValidator))
82
103
  except ImportError as e:
83
- self.skipTest(f"time_utils 模块导入失败(可能缺少依赖): {e}")
104
+ self.skipTest(f"验证器模块导入失败(可能缺少依赖): {e}")
84
105
 
85
106
  def test_network_module_import(self):
86
107
  """测试网络模块导入"""
87
108
  try:
88
- from jit_utils import network
109
+ import jit_utils.network
89
110
  # 网络模块应该可以导入
90
- self.assertIsNotNone(network)
111
+ self.assertIsNotNone(jit_utils.network)
91
112
  except ImportError as e:
92
- self.skipTest(f"network 模块导入失败: {e}")
113
+ self.skipTest(f"网络模块导入失败: {e}")
93
114
 
94
115
  def test_signature_module_import(self):
95
116
  """测试签名模块导入"""
96
117
  try:
97
- from jit_utils import signature
98
- self.assertIsNotNone(signature)
99
- except ImportError as e:
100
- self.skipTest(f"signature 模块导入失败: {e}")
101
-
102
- def test_validator_import(self):
103
- """测试验证器导入"""
104
- try:
105
- from jit_utils import ParamsValidator
106
- if ParamsValidator is None:
107
- self.skipTest("ParamsValidator 因依赖问题不可用")
108
- self.assertTrue(callable(ParamsValidator))
118
+ import jit_utils.signature
119
+ self.assertIsNotNone(jit_utils.signature)
109
120
  except ImportError as e:
110
- self.skipTest(f"ParamsValidator 导入失败(可能缺少依赖): {e}")
121
+ self.skipTest(f"签名模块导入失败: {e}")
111
122
 
112
123
  def test_exceptions_module_import(self):
113
124
  """测试异常模块导入"""
114
125
  try:
115
- from jit_utils import exceptions
116
- self.assertIsNotNone(exceptions)
126
+ import jit_utils.exceptions
127
+ self.assertIsNotNone(jit_utils.exceptions)
117
128
  except ImportError as e:
118
- self.skipTest(f"exceptions 模块导入失败(可能缺少依赖): {e}")
129
+ self.skipTest(f"异常模块导入失败(可能缺少依赖): {e}")
119
130
 
120
131
  def test_config_module_import(self):
121
132
  """测试配置模块导入"""
122
133
  try:
123
- from jit_utils import config
124
- self.assertIsNotNone(config)
134
+ import jit_utils.config
135
+ self.assertIsNotNone(jit_utils.config)
125
136
  except ImportError as e:
126
- self.skipTest(f"config 模块导入失败(可能缺少依赖): {e}")
137
+ self.skipTest(f"配置模块导入失败(可能缺少依赖): {e}")
127
138
 
128
139
  def test_workday_constants_import(self):
129
140
  """测试工作日常量导入"""
130
141
  try:
131
- from jit_utils import workday_constants
132
- self.assertIsNotNone(workday_constants)
142
+ import jit_utils.workday_constants
143
+ self.assertIsNotNone(jit_utils.workday_constants)
133
144
  # 检查是否有工作日相关的常量
134
- self.assertTrue(hasattr(workday_constants, 'holidayDict') or
135
- hasattr(workday_constants, 'workdayDict'))
145
+ self.assertTrue(hasattr(jit_utils.workday_constants, 'holidayDict') or
146
+ hasattr(jit_utils.workday_constants, 'workdayDict'))
136
147
  except ImportError as e:
137
- self.skipTest(f"workday_constants 模块导入失败: {e}")
148
+ self.skipTest(f"工作日常量模块导入失败: {e}")
138
149
 
139
150
  def test_decorator_import(self):
140
151
  """测试装饰器导入"""
141
152
  try:
142
- from jit_utils import forward
153
+ from jit_utils.decorator import forward
143
154
  self.assertTrue(callable(forward))
144
155
  except ImportError as e:
145
- self.skipTest(f"forward 装饰器导入失败(可能缺少依赖): {e}")
156
+ self.skipTest(f"装饰器模块导入失败(可能缺少依赖): {e}")
146
157
 
147
- def test_convert_classes_import(self):
148
- """测试转换器类导入"""
158
+ def test_convert_module_import(self):
159
+ """测试转换器模块导入"""
149
160
  try:
150
- from jit_utils import Converter, MemoryCompiler
151
- if Converter is None or MemoryCompiler is None:
152
- self.skipTest("转换器类因依赖问题不可用")
161
+ from jit_utils.convert import Converter, MemoryCompiler
153
162
  self.assertTrue(callable(Converter))
154
163
  self.assertTrue(callable(MemoryCompiler))
155
164
  except ImportError as e:
156
- self.skipTest(f"转换器类导入失败(可能缺少依赖): {e}")
165
+ self.skipTest(f"转换器模块导入失败(可能缺少依赖): {e}")
157
166
 
158
- def test_all_exports(self):
159
- """测试 __all__ 导出列表"""
167
+ def test_package_structure(self):
168
+ """测试包结构"""
160
169
  import jit_utils
161
170
 
162
- # 检查 __all__ 是否存在
163
- self.assertTrue(hasattr(jit_utils, '__all__'))
164
- all_exports = jit_utils.__all__
165
- self.assertIsInstance(all_exports, list)
166
- self.assertGreater(len(all_exports), 0)
167
-
168
- # 检查一些关键导出
169
- expected_exports = [
170
- '__version__', '__author__', 'randomString', 'md5Str',
171
- 'getUuidStr'
171
+ # 检查主要模块是否存在
172
+ modules_to_check = [
173
+ 'string', 'time', 'qrcode', 'barcode', 'validator',
174
+ 'network', 'signature', 'exceptions', 'config',
175
+ 'workday_constants', 'decorator', 'convert'
172
176
  ]
173
177
 
174
- for export in expected_exports:
175
- if export in all_exports:
176
- self.assertTrue(hasattr(jit_utils, export), f"包中缺少导出: {export}")
177
-
178
- # 检查可能为 None 的导出(因为依赖问题)
179
- optional_exports = ['Qrcode', 'Barcode', 'ParamsValidator', 'Converter', 'MemoryCompiler']
180
- for export in optional_exports:
181
- if export in all_exports:
182
- # 这些可能因为依赖问题为 None,只要存在就行
183
- self.assertTrue(hasattr(jit_utils, export), f"包中缺少可选导出: {export}")
184
-
185
- def test_star_import(self):
186
- """测试 from jit_utils import * 是否正常工作"""
187
- # 由于 * 导入会污染命名空间,我们在这里只测试是否会出错
188
- try:
189
- exec("from jit_utils import *")
190
- # 如果执行到这里说明没有导入错误
191
- self.assertTrue(True)
192
- except ImportError as e:
193
- self.skipTest(f"星号导入失败(可能缺少依赖): {e}")
194
- except Exception as e:
195
- self.fail(f"星号导入出现意外错误: {e}")
178
+ for module_name in modules_to_check:
179
+ try:
180
+ # 尝试导入模块
181
+ __import__(f'jit_utils.{module_name}')
182
+ # 如果导入成功,则通过测试
183
+ self.assertTrue(True, f"模块 {module_name} 可以导入")
184
+ except ImportError:
185
+ # 如果导入失败,跳过(可能是依赖问题)
186
+ self.skipTest(f"模块 {module_name} 导入失败(可能缺少依赖)")
196
187
 
197
188
 
198
189
  if __name__ == '__main__':