pyxllib 0.3.197__py3-none-any.whl → 3.201.1__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.
- pyxllib/__init__.py +14 -21
- pyxllib/algo/__init__.py +8 -8
- pyxllib/algo/disjoint.py +54 -54
- pyxllib/algo/geo.py +537 -541
- pyxllib/algo/intervals.py +964 -964
- pyxllib/algo/matcher.py +389 -389
- pyxllib/algo/newbie.py +166 -166
- pyxllib/algo/pupil.py +629 -629
- pyxllib/algo/shapelylib.py +67 -67
- pyxllib/algo/specialist.py +241 -241
- pyxllib/algo/stat.py +494 -494
- pyxllib/algo/treelib.py +145 -149
- pyxllib/algo/unitlib.py +62 -66
- pyxllib/autogui/__init__.py +5 -5
- pyxllib/autogui/activewin.py +246 -246
- pyxllib/autogui/all.py +9 -9
- pyxllib/autogui/autogui.py +846 -852
- pyxllib/autogui/uiautolib.py +362 -362
- pyxllib/autogui/virtualkey.py +102 -102
- pyxllib/autogui/wechat.py +827 -827
- pyxllib/autogui/wechat_msg.py +421 -421
- pyxllib/autogui/wxautolib.py +84 -84
- pyxllib/cv/__init__.py +5 -5
- pyxllib/cv/expert.py +267 -267
- pyxllib/cv/imfile.py +159 -159
- pyxllib/cv/imhash.py +39 -39
- pyxllib/cv/pupil.py +9 -9
- pyxllib/cv/rgbfmt.py +1525 -1525
- pyxllib/cv/slidercaptcha.py +137 -137
- pyxllib/cv/trackbartools.py +251 -251
- pyxllib/cv/xlcvlib.py +1040 -1040
- pyxllib/cv/xlpillib.py +423 -423
- pyxllib/data/echarts.py +236 -240
- pyxllib/data/jsonlib.py +85 -89
- pyxllib/data/oss.py +72 -72
- pyxllib/data/pglib.py +1111 -1127
- pyxllib/data/sqlite.py +568 -568
- pyxllib/data/sqllib.py +297 -297
- pyxllib/ext/JLineViewer.py +505 -505
- pyxllib/ext/__init__.py +6 -6
- pyxllib/ext/demolib.py +251 -246
- pyxllib/ext/drissionlib.py +277 -277
- pyxllib/ext/kq5034lib.py +12 -12
- pyxllib/ext/qt.py +449 -449
- pyxllib/ext/robustprocfile.py +493 -497
- pyxllib/ext/seleniumlib.py +76 -76
- pyxllib/ext/tk.py +173 -173
- pyxllib/ext/unixlib.py +821 -827
- pyxllib/ext/utools.py +345 -351
- pyxllib/ext/webhook.py +124 -119
- pyxllib/ext/win32lib.py +40 -40
- pyxllib/ext/wjxlib.py +91 -88
- pyxllib/ext/wpsapi.py +124 -124
- pyxllib/ext/xlwork.py +9 -9
- pyxllib/ext/yuquelib.py +1110 -1105
- pyxllib/file/__init__.py +17 -17
- pyxllib/file/docxlib.py +757 -761
- pyxllib/file/gitlib.py +309 -309
- pyxllib/file/libreoffice.py +165 -165
- pyxllib/file/movielib.py +144 -148
- pyxllib/file/newbie.py +10 -10
- pyxllib/file/onenotelib.py +1469 -1469
- pyxllib/file/packlib/__init__.py +330 -330
- pyxllib/file/packlib/zipfile.py +2441 -2441
- pyxllib/file/pdflib.py +422 -426
- pyxllib/file/pupil.py +185 -185
- pyxllib/file/specialist/__init__.py +681 -685
- pyxllib/file/specialist/dirlib.py +799 -799
- pyxllib/file/specialist/download.py +193 -193
- pyxllib/file/specialist/filelib.py +2825 -2829
- pyxllib/file/xlsxlib.py +3122 -3131
- pyxllib/file/xlsyncfile.py +341 -341
- pyxllib/prog/__init__.py +5 -5
- pyxllib/prog/cachetools.py +58 -64
- pyxllib/prog/deprecatedlib.py +233 -233
- pyxllib/prog/filelock.py +42 -42
- pyxllib/prog/ipyexec.py +253 -253
- pyxllib/prog/multiprogs.py +940 -940
- pyxllib/prog/newbie.py +451 -451
- pyxllib/prog/pupil.py +1208 -1197
- pyxllib/prog/sitepackages.py +33 -33
- pyxllib/prog/specialist/__init__.py +348 -391
- pyxllib/prog/specialist/bc.py +203 -203
- pyxllib/prog/specialist/browser.py +497 -497
- pyxllib/prog/specialist/common.py +347 -347
- pyxllib/prog/specialist/datetime.py +198 -198
- pyxllib/prog/specialist/tictoc.py +240 -240
- pyxllib/prog/specialist/xllog.py +180 -180
- pyxllib/prog/xlosenv.py +110 -108
- pyxllib/stdlib/__init__.py +17 -17
- pyxllib/stdlib/tablepyxl/__init__.py +10 -10
- pyxllib/stdlib/tablepyxl/style.py +303 -303
- pyxllib/stdlib/tablepyxl/tablepyxl.py +130 -130
- pyxllib/text/__init__.py +8 -8
- pyxllib/text/ahocorasick.py +36 -39
- pyxllib/text/airscript.js +754 -744
- pyxllib/text/charclasslib.py +121 -121
- pyxllib/text/jiebalib.py +267 -267
- pyxllib/text/jinjalib.py +27 -32
- pyxllib/text/jsa_ai_prompt.md +271 -271
- pyxllib/text/jscode.py +922 -922
- pyxllib/text/latex/__init__.py +158 -158
- pyxllib/text/levenshtein.py +303 -303
- pyxllib/text/nestenv.py +1215 -1215
- pyxllib/text/newbie.py +300 -300
- pyxllib/text/pupil/__init__.py +8 -8
- pyxllib/text/pupil/common.py +1121 -1121
- pyxllib/text/pupil/xlalign.py +326 -326
- pyxllib/text/pycode.py +47 -47
- pyxllib/text/specialist/__init__.py +8 -8
- pyxllib/text/specialist/common.py +112 -112
- pyxllib/text/specialist/ptag.py +186 -186
- pyxllib/text/spellchecker.py +172 -172
- pyxllib/text/templates/echart_base.html +10 -10
- pyxllib/text/templates/highlight_code.html +16 -16
- pyxllib/text/templates/latex_editor.html +102 -102
- pyxllib/text/vbacode.py +17 -17
- pyxllib/text/xmllib.py +741 -747
- pyxllib/xl.py +42 -39
- pyxllib/xlcv.py +17 -17
- pyxllib-3.201.1.dist-info/METADATA +296 -0
- pyxllib-3.201.1.dist-info/RECORD +125 -0
- {pyxllib-0.3.197.dist-info → pyxllib-3.201.1.dist-info}/licenses/LICENSE +190 -190
- pyxllib/ext/old.py +0 -663
- pyxllib-0.3.197.dist-info/METADATA +0 -48
- pyxllib-0.3.197.dist-info/RECORD +0 -126
- {pyxllib-0.3.197.dist-info → pyxllib-3.201.1.dist-info}/WHEEL +0 -0
pyxllib/__init__.py
CHANGED
@@ -1,21 +1,14 @@
|
|
1
|
-
#!/usr/bin/env python3
|
2
|
-
# -*- coding: utf-8 -*-
|
3
|
-
# @Author : 陈坤泽
|
4
|
-
# @Email : 877362867@qq.com
|
5
|
-
# @Date : 2020/05/30 10:00
|
6
|
-
|
7
|
-
|
8
|
-
"""
|
9
|
-
厦门理工模式识别团队通用python代码工具库
|
10
|
-
|
11
|
-
注意为了避免循环嵌套引用,代码逻辑清晰,请尽量不要在此文件写代码
|
12
|
-
|
13
|
-
文档:https://www.yuque.com/xlpr/pyxllib/home/edit
|
14
|
-
"""
|
15
|
-
|
16
|
-
import sys
|
17
|
-
|
18
|
-
if sys.version_info.major == 3 and sys.version_info.minor >= 8:
|
19
|
-
import importlib.metadata
|
20
|
-
|
21
|
-
version = importlib.metadata.version('pyxllib')
|
1
|
+
#!/usr/bin/env python3
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
# @Author : 陈坤泽
|
4
|
+
# @Email : 877362867@qq.com
|
5
|
+
# @Date : 2020/05/30 10:00
|
6
|
+
|
7
|
+
|
8
|
+
"""
|
9
|
+
厦门理工模式识别团队通用python代码工具库
|
10
|
+
|
11
|
+
注意为了避免循环嵌套引用,代码逻辑清晰,请尽量不要在此文件写代码
|
12
|
+
|
13
|
+
文档:https://www.yuque.com/xlpr/pyxllib/home/edit
|
14
|
+
"""
|
pyxllib/algo/__init__.py
CHANGED
@@ -1,8 +1,8 @@
|
|
1
|
-
#!/usr/bin/env python3
|
2
|
-
# -*- coding: utf-8 -*-
|
3
|
-
# @Author : 陈坤泽
|
4
|
-
# @Email : 877362867@qq.com
|
5
|
-
# @Date : 2021/06/03 14:21
|
6
|
-
|
7
|
-
""" 算法功能库 """
|
8
|
-
|
1
|
+
#!/usr/bin/env python3
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
# @Author : 陈坤泽
|
4
|
+
# @Email : 877362867@qq.com
|
5
|
+
# @Date : 2021/06/03 14:21
|
6
|
+
|
7
|
+
""" 算法功能库 """
|
8
|
+
|
pyxllib/algo/disjoint.py
CHANGED
@@ -1,54 +1,54 @@
|
|
1
|
-
#!/usr/bin/env python3
|
2
|
-
# -*- coding: utf-8 -*-
|
3
|
-
# @Author : 陈坤泽
|
4
|
-
# @Email : 877362867@qq.com
|
5
|
-
# @Date : 2021/06/03 14:26
|
6
|
-
|
7
|
-
"""
|
8
|
-
并查集相关功能
|
9
|
-
"""
|
10
|
-
|
11
|
-
from tqdm import tqdm
|
12
|
-
|
13
|
-
from pyxllib.prog.pupil import check_install_package
|
14
|
-
|
15
|
-
check_install_package('disjoint_set', 'disjoint-set==0.6.3')
|
16
|
-
|
17
|
-
from itertools import combinations
|
18
|
-
|
19
|
-
from disjoint_set import DisjointSet
|
20
|
-
|
21
|
-
|
22
|
-
def disjoint_set(items, join_checker, print_mode=False):
|
23
|
-
""" 按照一定的相连规则分组
|
24
|
-
|
25
|
-
:param items: 项目清单
|
26
|
-
:param join_checker: 检查任意两个对象是否相连,进行分组
|
27
|
-
:return:
|
28
|
-
|
29
|
-
算法:因为会转成下标,按照下标进行分组合并,所以支持items里有重复值,或者unhashable对象
|
30
|
-
|
31
|
-
>>> disjoint_set([-1, -2, 2, 0, 0, 1], lambda x, y: x*y>0)
|
32
|
-
[[-1, -2], [2, 1], [0], [0]]
|
33
|
-
|
34
|
-
注意:因为会两两进行运算,所以数据量大的时候计算会特别慢。
|
35
|
-
"""
|
36
|
-
|
37
|
-
# 1 添加元素
|
38
|
-
ds = DisjointSet()
|
39
|
-
items = tuple(items)
|
40
|
-
n = len(items)
|
41
|
-
for i in range(n):
|
42
|
-
ds.find(i)
|
43
|
-
|
44
|
-
# 2 连接、分组
|
45
|
-
for i, j in tqdm(combinations(range(n), 2), disable=not print_mode):
|
46
|
-
if join_checker(items[i], items[j]):
|
47
|
-
ds.union(i, j)
|
48
|
-
|
49
|
-
# 3 返回分组信息
|
50
|
-
res = []
|
51
|
-
for group in ds.itersets():
|
52
|
-
group_elements = [items[g] for g in group]
|
53
|
-
res.append(group_elements)
|
54
|
-
return res
|
1
|
+
#!/usr/bin/env python3
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
# @Author : 陈坤泽
|
4
|
+
# @Email : 877362867@qq.com
|
5
|
+
# @Date : 2021/06/03 14:26
|
6
|
+
|
7
|
+
"""
|
8
|
+
并查集相关功能
|
9
|
+
"""
|
10
|
+
|
11
|
+
from tqdm import tqdm
|
12
|
+
|
13
|
+
from pyxllib.prog.pupil import check_install_package
|
14
|
+
|
15
|
+
check_install_package('disjoint_set', 'disjoint-set==0.6.3')
|
16
|
+
|
17
|
+
from itertools import combinations
|
18
|
+
|
19
|
+
from disjoint_set import DisjointSet
|
20
|
+
|
21
|
+
|
22
|
+
def disjoint_set(items, join_checker, print_mode=False):
|
23
|
+
""" 按照一定的相连规则分组
|
24
|
+
|
25
|
+
:param items: 项目清单
|
26
|
+
:param join_checker: 检查任意两个对象是否相连,进行分组
|
27
|
+
:return:
|
28
|
+
|
29
|
+
算法:因为会转成下标,按照下标进行分组合并,所以支持items里有重复值,或者unhashable对象
|
30
|
+
|
31
|
+
>>> disjoint_set([-1, -2, 2, 0, 0, 1], lambda x, y: x*y>0)
|
32
|
+
[[-1, -2], [2, 1], [0], [0]]
|
33
|
+
|
34
|
+
注意:因为会两两进行运算,所以数据量大的时候计算会特别慢。
|
35
|
+
"""
|
36
|
+
|
37
|
+
# 1 添加元素
|
38
|
+
ds = DisjointSet()
|
39
|
+
items = tuple(items)
|
40
|
+
n = len(items)
|
41
|
+
for i in range(n):
|
42
|
+
ds.find(i)
|
43
|
+
|
44
|
+
# 2 连接、分组
|
45
|
+
for i, j in tqdm(combinations(range(n), 2), disable=not print_mode):
|
46
|
+
if join_checker(items[i], items[j]):
|
47
|
+
ds.union(i, j)
|
48
|
+
|
49
|
+
# 3 返回分组信息
|
50
|
+
res = []
|
51
|
+
for group in ds.itersets():
|
52
|
+
group_elements = [items[g] for g in group]
|
53
|
+
res.append(group_elements)
|
54
|
+
return res
|