pyxllib 0.3.200__tar.gz → 3.201.1__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.
Files changed (430) hide show
  1. pyxllib-3.201.1/PKG-INFO +296 -0
  2. pyxllib-3.201.1/pyproject.toml +162 -0
  3. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/__init__.py +0 -7
  4. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/algo/geo.py +0 -4
  5. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/algo/treelib.py +0 -4
  6. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/algo/unitlib.py +0 -4
  7. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/autogui/autogui.py +1 -7
  8. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/data/echarts.py +0 -4
  9. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/data/jsonlib.py +0 -4
  10. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/data/pglib.py +1 -17
  11. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/ext/demolib.py +6 -1
  12. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/ext/robustprocfile.py +0 -4
  13. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/ext/unixlib.py +1 -7
  14. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/ext/utools.py +0 -6
  15. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/ext/wjxlib.py +10 -7
  16. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/ext/yuquelib.py +9 -4
  17. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/file/docxlib.py +0 -4
  18. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/file/movielib.py +0 -4
  19. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/file/pdflib.py +0 -4
  20. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/file/specialist/__init__.py +0 -4
  21. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/file/specialist/filelib.py +0 -4
  22. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/file/xlsxlib.py +2 -11
  23. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/prog/cachetools.py +1 -7
  24. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/prog/pupil.py +11 -0
  25. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/prog/specialist/__init__.py +0 -43
  26. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/prog/xlosenv.py +2 -0
  27. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/text/ahocorasick.py +0 -3
  28. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/text/airscript.js +10 -0
  29. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/text/jinjalib.py +0 -5
  30. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/text/levenshtein.py +2 -2
  31. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/text/xmllib.py +0 -6
  32. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ai/clientlib.py +1 -2
  33. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ai/xlpaddle.py +0 -2
  34. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/data/gptlib.py +0 -4
  35. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/data/tiktokenlib.py +0 -4
  36. pyxllib-0.3.200/PKG-INFO +0 -48
  37. pyxllib-0.3.200/pyproject.toml +0 -58
  38. pyxllib-0.3.200/pyxllib/ext/old.py +0 -663
  39. {pyxllib-0.3.200 → pyxllib-3.201.1}/.gitignore +0 -0
  40. {pyxllib-0.3.200 → pyxllib-3.201.1}/LICENSE +0 -0
  41. {pyxllib-0.3.200 → pyxllib-3.201.1}/README.md +0 -0
  42. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/algo/__init__.py +0 -0
  43. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/algo/disjoint.py +0 -0
  44. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/algo/intervals.py +0 -0
  45. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/algo/matcher.py +0 -0
  46. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/algo/newbie.py +0 -0
  47. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/algo/pupil.py +0 -0
  48. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/algo/shapelylib.py +0 -0
  49. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/algo/specialist.py +0 -0
  50. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/algo/stat.py +0 -0
  51. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/autogui/__init__.py +0 -0
  52. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/autogui/activewin.py +0 -0
  53. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/autogui/all.py +0 -0
  54. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/autogui/uiautolib.py +0 -0
  55. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/autogui/virtualkey.py +0 -0
  56. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/autogui/wechat.py +0 -0
  57. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/autogui/wechat_msg.py +0 -0
  58. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/autogui/wxautolib.py +0 -0
  59. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/cv/__init__.py +0 -0
  60. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/cv/expert.py +0 -0
  61. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/cv/imfile.py +0 -0
  62. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/cv/imhash.py +0 -0
  63. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/cv/pupil.py +0 -0
  64. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/cv/rgbfmt.py +0 -0
  65. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/cv/slidercaptcha.py +0 -0
  66. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/cv/trackbartools.py +0 -0
  67. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/cv/xlcvlib.py +0 -0
  68. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/cv/xlpillib.py +0 -0
  69. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/data/__init__.py +0 -0
  70. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/data/oss.py +0 -0
  71. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/data/sqlite.py +0 -0
  72. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/data/sqllib.py +0 -0
  73. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/ext/JLineViewer.py +0 -0
  74. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/ext/__init__.py +0 -0
  75. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/ext/drissionlib.py +0 -0
  76. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/ext/kq5034lib.py +0 -0
  77. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/ext/qt.py +0 -0
  78. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/ext/seleniumlib.py +0 -0
  79. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/ext/tk.py +0 -0
  80. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/ext/webhook.py +0 -0
  81. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/ext/win32lib.py +0 -0
  82. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/ext/wpsapi.py +0 -0
  83. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/ext/xlwork.py +0 -0
  84. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/file/__init__.py +0 -0
  85. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/file/gitlib.py +0 -0
  86. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/file/libreoffice.py +0 -0
  87. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/file/newbie.py +0 -0
  88. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/file/onenotelib.py +0 -0
  89. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/file/packlib/__init__.py +0 -0
  90. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/file/packlib/zipfile.py +0 -0
  91. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/file/pupil.py +0 -0
  92. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/file/specialist/dirlib.py +0 -0
  93. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/file/specialist/download.py +0 -0
  94. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/file/xlsyncfile.py +0 -0
  95. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/prog/__init__.py +0 -0
  96. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/prog/deprecatedlib.py +0 -0
  97. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/prog/filelock.py +0 -0
  98. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/prog/ipyexec.py +0 -0
  99. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/prog/multiprogs.py +0 -0
  100. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/prog/newbie.py +0 -0
  101. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/prog/sitepackages.py +0 -0
  102. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/prog/specialist/bc.py +0 -0
  103. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/prog/specialist/browser.py +0 -0
  104. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/prog/specialist/common.py +0 -0
  105. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/prog/specialist/datetime.py +0 -0
  106. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/prog/specialist/tictoc.py +0 -0
  107. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/prog/specialist/xllog.py +0 -0
  108. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/stdlib/__init__.py +0 -0
  109. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/stdlib/tablepyxl/__init__.py +0 -0
  110. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/stdlib/tablepyxl/style.py +0 -0
  111. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/stdlib/tablepyxl/tablepyxl.py +0 -0
  112. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/text/__init__.py +0 -0
  113. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/text/charclasslib.py +0 -0
  114. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/text/jiebalib.py +0 -0
  115. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/text/jsa_ai_prompt.md +0 -0
  116. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/text/jscode.py +0 -0
  117. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/text/latex/__init__.py +0 -0
  118. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/text/nestenv.py +0 -0
  119. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/text/newbie.py +0 -0
  120. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/text/pupil/__init__.py +0 -0
  121. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/text/pupil/common.py +0 -0
  122. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/text/pupil/xlalign.py +0 -0
  123. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/text/pycode.py +0 -0
  124. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/text/specialist/__init__.py +0 -0
  125. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/text/specialist/common.py +0 -0
  126. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/text/specialist/ptag.py +0 -0
  127. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/text/spellchecker.py +0 -0
  128. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/text/templates/echart_base.html +0 -0
  129. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/text/templates/highlight_code.html +0 -0
  130. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/text/templates/latex_editor.html +0 -0
  131. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/text/vbacode.py +0 -0
  132. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/xl.py +0 -0
  133. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxllib/xlcv.py +0 -0
  134. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/__init__.py +0 -0
  135. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ai/__init__.py +0 -0
  136. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ai/specialist.py +0 -0
  137. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ai/torch_app.py +0 -0
  138. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ai/xltorch.py +0 -0
  139. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/data/__init__.py +0 -0
  140. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/data/coco.py +0 -0
  141. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/data/datacls.py +0 -0
  142. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/data/datasets.py +0 -0
  143. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/data/icdar/__init__.py +0 -0
  144. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/data/icdar/deteval.py +0 -0
  145. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/data/icdar/icdar2013.py +0 -0
  146. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/data/icdar/iou.py +0 -0
  147. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/data/icdar/rrc_evaluation_funcs_1_1.py +0 -0
  148. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/data/imtextline.py +0 -0
  149. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/data/labelme.py +0 -0
  150. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/data/removeline.py +0 -0
  151. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/data/specialist.py +0 -0
  152. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/eval/__init__.py +0 -0
  153. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/openai2/LICENSE +0 -0
  154. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/openai2/README.md +0 -0
  155. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/openai2/__init__.py +0 -0
  156. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/openai2/_core/chat.py +0 -0
  157. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/openai2/_core/chat_in_cmd.py +0 -0
  158. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/openai2/_core/group_chat.py +0 -0
  159. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/openai2/art.json +0 -0
  160. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/openai2/licenses/README.md +0 -0
  161. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/openai2/licenses/openai/LICENSE +0 -0
  162. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/openai2/openai2.py +0 -0
  163. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/openai2/pyproject.toml +0 -0
  164. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/paddleocr.py +0 -0
  165. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/__init__.py +0 -0
  166. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/cls/cls_mv3.yml +0 -0
  167. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/det/ch_PP-OCRv2/ch_PP-OCRv2_det_cml.yml +0 -0
  168. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/det/ch_PP-OCRv2/ch_PP-OCRv2_det_distill.yml +0 -0
  169. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/det/ch_PP-OCRv2/ch_PP-OCRv2_det_dml.yml +0 -0
  170. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/det/ch_PP-OCRv2/ch_PP-OCRv2_det_student.yml +0 -0
  171. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/det/ch_ppocr_v2.0/ch_det_mv3_db_v2.0.yml +0 -0
  172. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/det/ch_ppocr_v2.0/ch_det_res18_db_v2.0.yml +0 -0
  173. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/det/ch_ppocr_v2.0/ch_det_res18_db_v2.0_2.yml +0 -0
  174. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/det/det_mv3_db.yml +0 -0
  175. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/det/det_mv3_db2.yml +0 -0
  176. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/det/det_mv3_east.yml +0 -0
  177. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/det/det_mv3_pse.yml +0 -0
  178. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/det/det_r50_vd_db.yml +0 -0
  179. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/det/det_r50_vd_east.yml +0 -0
  180. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/det/det_r50_vd_pse.yml +0 -0
  181. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/det/det_r50_vd_sast_icdar15.yml +0 -0
  182. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/det/det_r50_vd_sast_totaltext.yml +0 -0
  183. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/det/det_res18_db_v2.0.yml +0 -0
  184. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/e2e/e2e_r50_vd_pg.yml +0 -0
  185. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/kie/kie_unet_sdmgr.yml +0 -0
  186. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/rec/ch_PP-OCRv2/ch_PP-OCRv2_rec.yml +0 -0
  187. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/rec/ch_PP-OCRv2/ch_PP-OCRv2_rec_distillation.yml +0 -0
  188. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/rec/ch_PP-OCRv2/ch_PP-OCRv2_rec_enhanced_ctc_loss.yml +0 -0
  189. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/rec/ch_ppocr_v2.0/rec_chinese_common_train_v2.0.yml +0 -0
  190. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/rec/ch_ppocr_v2.0/rec_chinese_lite_train_v2.0.yml +0 -0
  191. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/rec/multi_language/generate_multi_language_configs.py +0 -0
  192. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/rec/multi_language/rec_arabic_lite_train.yml +0 -0
  193. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/rec/multi_language/rec_cyrillic_lite_train.yml +0 -0
  194. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/rec/multi_language/rec_devanagari_lite_train.yml +0 -0
  195. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/rec/multi_language/rec_en_number_lite_train.yml +0 -0
  196. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/rec/multi_language/rec_french_lite_train.yml +0 -0
  197. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/rec/multi_language/rec_german_lite_train.yml +0 -0
  198. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/rec/multi_language/rec_japan_lite_train.yml +0 -0
  199. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/rec/multi_language/rec_korean_lite_train.yml +0 -0
  200. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/rec/multi_language/rec_latin_lite_train.yml +0 -0
  201. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/rec/multi_language/rec_multi_language_lite_train.yml +0 -0
  202. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/rec/rec_icdar15_train.yml +0 -0
  203. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/rec/rec_mtb_nrtr.yml +0 -0
  204. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/rec/rec_mv3_none_bilstm_ctc.yml +0 -0
  205. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/rec/rec_mv3_none_none_ctc.yml +0 -0
  206. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/rec/rec_mv3_tps_bilstm_att.yml +0 -0
  207. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/rec/rec_mv3_tps_bilstm_ctc.yml +0 -0
  208. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/rec/rec_r31_sar.yml +0 -0
  209. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/rec/rec_r34_vd_none_bilstm_ctc.yml +0 -0
  210. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/rec/rec_r34_vd_none_none_ctc.yml +0 -0
  211. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/rec/rec_r34_vd_tps_bilstm_att.yml +0 -0
  212. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/rec/rec_r34_vd_tps_bilstm_ctc.yml +0 -0
  213. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/rec/rec_r50_fpn_srn.yml +0 -0
  214. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/rec/rec_resnet_stn_bilstm_att.yml +0 -0
  215. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/configs/table/table_mv3.yml +0 -0
  216. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/data/__init__.py +0 -0
  217. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/data/imaug/ColorJitter.py +0 -0
  218. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/data/imaug/__init__.py +0 -0
  219. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/data/imaug/copy_paste.py +0 -0
  220. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/data/imaug/east_process.py +0 -0
  221. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/data/imaug/gen_table_mask.py +0 -0
  222. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/data/imaug/iaa_augment.py +0 -0
  223. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/data/imaug/label_ops.py +0 -0
  224. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/data/imaug/make_border_map.py +0 -0
  225. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/data/imaug/make_pse_gt.py +0 -0
  226. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/data/imaug/make_shrink_map.py +0 -0
  227. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/data/imaug/operators.py +0 -0
  228. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/data/imaug/pg_process.py +0 -0
  229. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/data/imaug/randaugment.py +0 -0
  230. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/data/imaug/random_crop_data.py +0 -0
  231. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/data/imaug/rec_img_aug.py +0 -0
  232. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/data/imaug/sast_process.py +0 -0
  233. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/data/imaug/text_image_aug/__init__.py +0 -0
  234. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/data/imaug/text_image_aug/augment.py +0 -0
  235. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/data/imaug/text_image_aug/warp_mls.py +0 -0
  236. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/data/lmdb_dataset.py +0 -0
  237. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/data/pgnet_dataset.py +0 -0
  238. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/data/pubtab_dataset.py +0 -0
  239. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/data/simple_dataset.py +0 -0
  240. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/losses/__init__.py +0 -0
  241. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/losses/ace_loss.py +0 -0
  242. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/losses/basic_loss.py +0 -0
  243. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/losses/center_loss.py +0 -0
  244. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/losses/cls_loss.py +0 -0
  245. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/losses/combined_loss.py +0 -0
  246. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/losses/det_basic_loss.py +0 -0
  247. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/losses/det_db_loss.py +0 -0
  248. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/losses/det_east_loss.py +0 -0
  249. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/losses/det_pse_loss.py +0 -0
  250. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/losses/det_sast_loss.py +0 -0
  251. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/losses/distillation_loss.py +0 -0
  252. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/losses/e2e_pg_loss.py +0 -0
  253. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/losses/kie_sdmgr_loss.py +0 -0
  254. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/losses/rec_aster_loss.py +0 -0
  255. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/losses/rec_att_loss.py +0 -0
  256. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/losses/rec_ctc_loss.py +0 -0
  257. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/losses/rec_enhanced_ctc_loss.py +0 -0
  258. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/losses/rec_nrtr_loss.py +0 -0
  259. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/losses/rec_sar_loss.py +0 -0
  260. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/losses/rec_srn_loss.py +0 -0
  261. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/losses/table_att_loss.py +0 -0
  262. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/metrics/__init__.py +0 -0
  263. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/metrics/cls_metric.py +0 -0
  264. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/metrics/det_metric.py +0 -0
  265. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/metrics/distillation_metric.py +0 -0
  266. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/metrics/e2e_metric.py +0 -0
  267. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/metrics/eval_det_iou.py +0 -0
  268. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/metrics/kie_metric.py +0 -0
  269. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/metrics/rec_metric.py +0 -0
  270. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/metrics/table_metric.py +0 -0
  271. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/modeling/architectures/__init__.py +0 -0
  272. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/modeling/architectures/base_model.py +0 -0
  273. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/modeling/architectures/distillation_model.py +0 -0
  274. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/modeling/backbones/__init__.py +0 -0
  275. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/modeling/backbones/det_mobilenet_v3.py +0 -0
  276. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/modeling/backbones/det_resnet_vd.py +0 -0
  277. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/modeling/backbones/det_resnet_vd_sast.py +0 -0
  278. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/modeling/backbones/e2e_resnet_vd_pg.py +0 -0
  279. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/modeling/backbones/kie_unet_sdmgr.py +0 -0
  280. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/modeling/backbones/rec_mobilenet_v3.py +0 -0
  281. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/modeling/backbones/rec_mv1_enhance.py +0 -0
  282. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/modeling/backbones/rec_nrtr_mtb.py +0 -0
  283. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/modeling/backbones/rec_resnet_31.py +0 -0
  284. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/modeling/backbones/rec_resnet_aster.py +0 -0
  285. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/modeling/backbones/rec_resnet_fpn.py +0 -0
  286. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/modeling/backbones/rec_resnet_vd.py +0 -0
  287. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/modeling/heads/__init__.py +0 -0
  288. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/modeling/heads/cls_head.py +0 -0
  289. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/modeling/heads/det_db_head.py +0 -0
  290. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/modeling/heads/det_east_head.py +0 -0
  291. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/modeling/heads/det_pse_head.py +0 -0
  292. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/modeling/heads/det_sast_head.py +0 -0
  293. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/modeling/heads/e2e_pg_head.py +0 -0
  294. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/modeling/heads/kie_sdmgr_head.py +0 -0
  295. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/modeling/heads/multiheadAttention.py +0 -0
  296. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/modeling/heads/rec_aster_head.py +0 -0
  297. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/modeling/heads/rec_att_head.py +0 -0
  298. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/modeling/heads/rec_ctc_head.py +0 -0
  299. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/modeling/heads/rec_nrtr_head.py +0 -0
  300. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/modeling/heads/rec_sar_head.py +0 -0
  301. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/modeling/heads/rec_srn_head.py +0 -0
  302. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/modeling/heads/self_attention.py +0 -0
  303. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/modeling/heads/table_att_head.py +0 -0
  304. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/modeling/necks/__init__.py +0 -0
  305. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/modeling/necks/db_fpn.py +0 -0
  306. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/modeling/necks/east_fpn.py +0 -0
  307. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/modeling/necks/fpn.py +0 -0
  308. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/modeling/necks/pg_fpn.py +0 -0
  309. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/modeling/necks/rnn.py +0 -0
  310. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/modeling/necks/sast_fpn.py +0 -0
  311. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/modeling/necks/table_fpn.py +0 -0
  312. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/modeling/transforms/__init__.py +0 -0
  313. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/modeling/transforms/stn.py +0 -0
  314. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/modeling/transforms/tps.py +0 -0
  315. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/modeling/transforms/tps_spatial_transformer.py +0 -0
  316. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/optimizer/__init__.py +0 -0
  317. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/optimizer/learning_rate.py +0 -0
  318. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/optimizer/lr_scheduler.py +0 -0
  319. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/optimizer/optimizer.py +0 -0
  320. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/optimizer/regularizer.py +0 -0
  321. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/postprocess/__init__.py +0 -0
  322. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/postprocess/cls_postprocess.py +0 -0
  323. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/postprocess/db_postprocess.py +0 -0
  324. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/postprocess/east_postprocess.py +0 -0
  325. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/postprocess/locality_aware_nms.py +0 -0
  326. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/postprocess/pg_postprocess.py +0 -0
  327. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/postprocess/pse_postprocess/__init__.py +0 -0
  328. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/postprocess/pse_postprocess/pse/README.md +0 -0
  329. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/postprocess/pse_postprocess/pse/__init__.py +0 -0
  330. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/postprocess/pse_postprocess/pse/pse.pyx +0 -0
  331. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/postprocess/pse_postprocess/pse/setup.py +0 -0
  332. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/postprocess/pse_postprocess/pse_postprocess.py +0 -0
  333. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/postprocess/rec_postprocess.py +0 -0
  334. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/postprocess/sast_postprocess.py +0 -0
  335. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/tools/__init__.py +0 -0
  336. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/tools/eval.py +0 -0
  337. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/tools/export_center.py +0 -0
  338. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/tools/export_model.py +0 -0
  339. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/tools/infer/predict_cls.py +0 -0
  340. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/tools/infer/predict_det.py +0 -0
  341. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/tools/infer/predict_e2e.py +0 -0
  342. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/tools/infer/predict_rec.py +0 -0
  343. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/tools/infer/predict_system.py +0 -0
  344. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/tools/infer/utility.py +0 -0
  345. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/tools/infer_cls.py +0 -0
  346. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/tools/infer_det.py +0 -0
  347. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/tools/infer_e2e.py +0 -0
  348. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/tools/infer_kie.py +0 -0
  349. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/tools/infer_rec.py +0 -0
  350. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/tools/infer_table.py +0 -0
  351. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/tools/program.py +0 -0
  352. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/tools/test_hubserving.py +0 -0
  353. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/tools/train.py +0 -0
  354. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/tools/xlprog.py +0 -0
  355. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/EN_symbol_dict.txt +0 -0
  356. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/__init__.py +0 -0
  357. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/dict/ar_dict.txt +0 -0
  358. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/dict/arabic_dict.txt +0 -0
  359. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/dict/be_dict.txt +0 -0
  360. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/dict/bg_dict.txt +0 -0
  361. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/dict/chinese_cht_dict.txt +0 -0
  362. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/dict/cyrillic_dict.txt +0 -0
  363. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/dict/devanagari_dict.txt +0 -0
  364. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/dict/en_dict.txt +0 -0
  365. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/dict/fa_dict.txt +0 -0
  366. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/dict/french_dict.txt +0 -0
  367. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/dict/german_dict.txt +0 -0
  368. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/dict/hi_dict.txt +0 -0
  369. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/dict/it_dict.txt +0 -0
  370. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/dict/japan_dict.txt +0 -0
  371. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/dict/ka_dict.txt +0 -0
  372. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/dict/korean_dict.txt +0 -0
  373. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/dict/latin_dict.txt +0 -0
  374. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/dict/mr_dict.txt +0 -0
  375. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/dict/ne_dict.txt +0 -0
  376. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/dict/oc_dict.txt +0 -0
  377. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/dict/pu_dict.txt +0 -0
  378. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/dict/rs_dict.txt +0 -0
  379. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/dict/rsc_dict.txt +0 -0
  380. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/dict/ru_dict.txt +0 -0
  381. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/dict/ta_dict.txt +0 -0
  382. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/dict/table_dict.txt +0 -0
  383. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/dict/table_structure_dict.txt +0 -0
  384. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/dict/te_dict.txt +0 -0
  385. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/dict/ug_dict.txt +0 -0
  386. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/dict/uk_dict.txt +0 -0
  387. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/dict/ur_dict.txt +0 -0
  388. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/dict/xi_dict.txt +0 -0
  389. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/dict90.txt +0 -0
  390. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/e2e_metric/Deteval.py +0 -0
  391. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/e2e_metric/polygon_fast.py +0 -0
  392. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/e2e_utils/extract_batchsize.py +0 -0
  393. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/e2e_utils/extract_textpoint_fast.py +0 -0
  394. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/e2e_utils/extract_textpoint_slow.py +0 -0
  395. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/e2e_utils/pgnet_pp_utils.py +0 -0
  396. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/e2e_utils/visual.py +0 -0
  397. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/en_dict.txt +0 -0
  398. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/gen_label.py +0 -0
  399. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/ic15_dict.txt +0 -0
  400. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/iou.py +0 -0
  401. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/logging.py +0 -0
  402. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/network.py +0 -0
  403. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/ppocr_keys_v1.txt +0 -0
  404. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/profiler.py +0 -0
  405. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/save_load.py +0 -0
  406. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/stats.py +0 -0
  407. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppocr/utils/utility.py +0 -0
  408. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppstructure/README.md +0 -0
  409. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppstructure/README_ch.md +0 -0
  410. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppstructure/__init__.py +0 -0
  411. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppstructure/layout/README.md +0 -0
  412. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppstructure/layout/README_ch.md +0 -0
  413. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppstructure/layout/train_layoutparser_model.md +0 -0
  414. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppstructure/layout/train_layoutparser_model_ch.md +0 -0
  415. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppstructure/predict_system.py +0 -0
  416. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppstructure/table/README.md +0 -0
  417. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppstructure/table/README_ch.md +0 -0
  418. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppstructure/table/__init__.py +0 -0
  419. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppstructure/table/eval_table.py +0 -0
  420. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppstructure/table/matcher.py +0 -0
  421. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppstructure/table/predict_structure.py +0 -0
  422. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppstructure/table/predict_table.py +0 -0
  423. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppstructure/table/table_metric/__init__.py +0 -0
  424. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppstructure/table/table_metric/parallel.py +0 -0
  425. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppstructure/table/table_metric/table_metric.py +0 -0
  426. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppstructure/table/tablepyxl/__init__.py +0 -0
  427. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppstructure/table/tablepyxl/style.py +0 -0
  428. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppstructure/table/tablepyxl/tablepyxl.py +0 -0
  429. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/ppstructure/utility.py +0 -0
  430. {pyxllib-0.3.200 → pyxllib-3.201.1}/pyxlpr/xlai.py +0 -0
@@ -0,0 +1,296 @@
1
+ Metadata-Version: 2.4
2
+ Name: pyxllib
3
+ Version: 3.201.1
4
+ Summary: 厦门理工模式识别团队通用python代码工具库
5
+ Project-URL: Source, https://github.com/XLPRUtils/pyxllib
6
+ Project-URL: Documentation, https://www.yuque.com/xlpr/pyxllib
7
+ Author-email: code4101 <877362867@qq.com>
8
+ License-Expression: Apache-2.0
9
+ License-File: LICENSE
10
+ Classifier: License :: OSI Approved :: Apache Software License
11
+ Classifier: Operating System :: OS Independent
12
+ Classifier: Programming Language :: Python :: 3
13
+ Requires-Python: <3.13,>=3.6
14
+ Provides-Extra: advance
15
+ Requires-Dist: anytree; extra == 'advance'
16
+ Requires-Dist: beautifulsoup4; extra == 'advance'
17
+ Requires-Dist: cached-property; extra == 'advance'
18
+ Requires-Dist: cachetools; extra == 'advance'
19
+ Requires-Dist: charset-normalizer; extra == 'advance'
20
+ Requires-Dist: deprecated; extra == 'advance'
21
+ Requires-Dist: disjoint-set; extra == 'advance'
22
+ Requires-Dist: drissionpage>=4.1.0.17; extra == 'advance'
23
+ Requires-Dist: fastcore>=1.8.1; extra == 'advance'
24
+ Requires-Dist: filetype; extra == 'advance'
25
+ Requires-Dist: fire; extra == 'advance'
26
+ Requires-Dist: humanfriendly; extra == 'advance'
27
+ Requires-Dist: imagehash; extra == 'advance'
28
+ Requires-Dist: jinja2; extra == 'advance'
29
+ Requires-Dist: jmespath; extra == 'advance'
30
+ Requires-Dist: joblib>=1.3.2; extra == 'advance'
31
+ Requires-Dist: jsonpickle; extra == 'advance'
32
+ Requires-Dist: keyboard; extra == 'advance'
33
+ Requires-Dist: klembord; extra == 'advance'
34
+ Requires-Dist: loguru; extra == 'advance'
35
+ Requires-Dist: lxml; extra == 'advance'
36
+ Requires-Dist: more-itertools; extra == 'advance'
37
+ Requires-Dist: mss; extra == 'advance'
38
+ Requires-Dist: numpy; extra == 'advance'
39
+ Requires-Dist: opencv-python; extra == 'advance'
40
+ Requires-Dist: openpyxl==3.1.5; extra == 'advance'
41
+ Requires-Dist: pandas>=0.23.4; extra == 'advance'
42
+ Requires-Dist: pillow; extra == 'advance'
43
+ Requires-Dist: premailer; extra == 'advance'
44
+ Requires-Dist: psutil; extra == 'advance'
45
+ Requires-Dist: psycopg[binary]; extra == 'advance'
46
+ Requires-Dist: pyautogui; extra == 'advance'
47
+ Requires-Dist: pyecharts; extra == 'advance'
48
+ Requires-Dist: pympler; extra == 'advance'
49
+ Requires-Dist: pynput; extra == 'advance'
50
+ Requires-Dist: pyperclip; extra == 'advance'
51
+ Requires-Dist: python-dotenv; extra == 'advance'
52
+ Requires-Dist: python-levenshtein; extra == 'advance'
53
+ Requires-Dist: pywin32; (sys_platform == 'win32') and extra == 'advance'
54
+ Requires-Dist: pyyaml; extra == 'advance'
55
+ Requires-Dist: qiniu; extra == 'advance'
56
+ Requires-Dist: requests; extra == 'advance'
57
+ Requires-Dist: shapely; extra == 'advance'
58
+ Requires-Dist: tqdm; extra == 'advance'
59
+ Requires-Dist: uiautomation; (sys_platform == 'win32') and extra == 'advance'
60
+ Requires-Dist: ujson; extra == 'advance'
61
+ Requires-Dist: wxauto; (sys_platform == 'win32') and extra == 'advance'
62
+ Requires-Dist: xlrd; extra == 'advance'
63
+ Requires-Dist: xlsxwriter; extra == 'advance'
64
+ Requires-Dist: xpath-parser; extra == 'advance'
65
+ Requires-Dist: yattag; extra == 'advance'
66
+ Provides-Extra: algo
67
+ Requires-Dist: anytree; extra == 'algo'
68
+ Requires-Dist: disjoint-set; extra == 'algo'
69
+ Requires-Dist: shapely; extra == 'algo'
70
+ Requires-Dist: xlsxwriter; extra == 'algo'
71
+ Provides-Extra: autogui
72
+ Requires-Dist: keyboard; extra == 'autogui'
73
+ Requires-Dist: klembord; extra == 'autogui'
74
+ Requires-Dist: mss; extra == 'autogui'
75
+ Requires-Dist: psutil; extra == 'autogui'
76
+ Requires-Dist: pyautogui; extra == 'autogui'
77
+ Requires-Dist: pynput; extra == 'autogui'
78
+ Requires-Dist: pyperclip; extra == 'autogui'
79
+ Requires-Dist: pywin32; (sys_platform == 'win32') and extra == 'autogui'
80
+ Requires-Dist: uiautomation; (sys_platform == 'win32') and extra == 'autogui'
81
+ Requires-Dist: wxauto; (sys_platform == 'win32') and extra == 'autogui'
82
+ Provides-Extra: basic
83
+ Requires-Dist: anytree; extra == 'basic'
84
+ Requires-Dist: beautifulsoup4; extra == 'basic'
85
+ Requires-Dist: cached-property; extra == 'basic'
86
+ Requires-Dist: cachetools; extra == 'basic'
87
+ Requires-Dist: charset-normalizer; extra == 'basic'
88
+ Requires-Dist: deprecated; extra == 'basic'
89
+ Requires-Dist: disjoint-set; extra == 'basic'
90
+ Requires-Dist: drissionpage>=4.1.0.17; extra == 'basic'
91
+ Requires-Dist: fastcore>=1.8.1; extra == 'basic'
92
+ Requires-Dist: filetype; extra == 'basic'
93
+ Requires-Dist: fire; extra == 'basic'
94
+ Requires-Dist: humanfriendly; extra == 'basic'
95
+ Requires-Dist: imagehash; extra == 'basic'
96
+ Requires-Dist: jinja2; extra == 'basic'
97
+ Requires-Dist: jmespath; extra == 'basic'
98
+ Requires-Dist: joblib>=1.3.2; extra == 'basic'
99
+ Requires-Dist: loguru; extra == 'basic'
100
+ Requires-Dist: lxml; extra == 'basic'
101
+ Requires-Dist: more-itertools; extra == 'basic'
102
+ Requires-Dist: numpy; extra == 'basic'
103
+ Requires-Dist: opencv-python; extra == 'basic'
104
+ Requires-Dist: pandas>=0.23.4; extra == 'basic'
105
+ Requires-Dist: pillow; extra == 'basic'
106
+ Requires-Dist: psycopg[binary]; extra == 'basic'
107
+ Requires-Dist: pyecharts; extra == 'basic'
108
+ Requires-Dist: pympler; extra == 'basic'
109
+ Requires-Dist: python-dotenv; extra == 'basic'
110
+ Requires-Dist: python-levenshtein; extra == 'basic'
111
+ Requires-Dist: pyyaml; extra == 'basic'
112
+ Requires-Dist: qiniu; extra == 'basic'
113
+ Requires-Dist: requests; extra == 'basic'
114
+ Requires-Dist: shapely; extra == 'basic'
115
+ Requires-Dist: tqdm; extra == 'basic'
116
+ Requires-Dist: ujson; extra == 'basic'
117
+ Requires-Dist: xlsxwriter; extra == 'basic'
118
+ Requires-Dist: xpath-parser; extra == 'basic'
119
+ Provides-Extra: data
120
+ Requires-Dist: jmespath; extra == 'data'
121
+ Requires-Dist: numpy; extra == 'data'
122
+ Requires-Dist: pandas>=0.23.4; extra == 'data'
123
+ Requires-Dist: psycopg[binary]; extra == 'data'
124
+ Requires-Dist: pyecharts; extra == 'data'
125
+ Provides-Extra: ext-algo
126
+ Requires-Dist: pint; extra == 'ext-algo'
127
+ Provides-Extra: ext-file
128
+ Requires-Dist: gitpython; extra == 'ext-file'
129
+ Requires-Dist: moviepy; extra == 'ext-file'
130
+ Requires-Dist: pdf2docx; extra == 'ext-file'
131
+ Requires-Dist: pymupdf>=1.18.17; extra == 'ext-file'
132
+ Requires-Dist: python-docx; extra == 'ext-file'
133
+ Provides-Extra: ext-text
134
+ Requires-Dist: pyahocorasick; extra == 'ext-text'
135
+ Requires-Dist: pyspellchecker; extra == 'ext-text'
136
+ Provides-Extra: file
137
+ Requires-Dist: charset-normalizer; extra == 'file'
138
+ Requires-Dist: filetype; extra == 'file'
139
+ Requires-Dist: pyyaml; extra == 'file'
140
+ Requires-Dist: qiniu; extra == 'file'
141
+ Requires-Dist: ujson; extra == 'file'
142
+ Provides-Extra: flask
143
+ Requires-Dist: flask; extra == 'flask'
144
+ Requires-Dist: flask-cors; extra == 'flask'
145
+ Requires-Dist: flask-jwt-extended; extra == 'flask'
146
+ Requires-Dist: flask-restful; extra == 'flask'
147
+ Requires-Dist: flask-wtf; extra == 'flask'
148
+ Provides-Extra: full
149
+ Requires-Dist: anytree; extra == 'full'
150
+ Requires-Dist: apscheduler; extra == 'full'
151
+ Requires-Dist: arts==2024.9.14; extra == 'full'
152
+ Requires-Dist: baidu-aip; extra == 'full'
153
+ Requires-Dist: beautifulsoup4; extra == 'full'
154
+ Requires-Dist: cached-property; extra == 'full'
155
+ Requires-Dist: cachetools; extra == 'full'
156
+ Requires-Dist: charset-normalizer; extra == 'full'
157
+ Requires-Dist: croniter; extra == 'full'
158
+ Requires-Dist: deprecated; extra == 'full'
159
+ Requires-Dist: disjoint-set; extra == 'full'
160
+ Requires-Dist: drissionpage>=4.1.0.17; extra == 'full'
161
+ Requires-Dist: fabric; extra == 'full'
162
+ Requires-Dist: fastapi; extra == 'full'
163
+ Requires-Dist: fastcore>=1.8.1; extra == 'full'
164
+ Requires-Dist: filetype; extra == 'full'
165
+ Requires-Dist: fire; extra == 'full'
166
+ Requires-Dist: flask; extra == 'full'
167
+ Requires-Dist: flask-cors; extra == 'full'
168
+ Requires-Dist: flask-jwt-extended; extra == 'full'
169
+ Requires-Dist: flask-restful; extra == 'full'
170
+ Requires-Dist: flask-wtf; extra == 'full'
171
+ Requires-Dist: gitpython; extra == 'full'
172
+ Requires-Dist: humanfriendly; extra == 'full'
173
+ Requires-Dist: imagehash; extra == 'full'
174
+ Requires-Dist: jinja2; extra == 'full'
175
+ Requires-Dist: jmespath; extra == 'full'
176
+ Requires-Dist: joblib>=1.3.2; extra == 'full'
177
+ Requires-Dist: jsonpickle; extra == 'full'
178
+ Requires-Dist: keyboard; extra == 'full'
179
+ Requires-Dist: klembord; extra == 'full'
180
+ Requires-Dist: loguru; extra == 'full'
181
+ Requires-Dist: lxml; extra == 'full'
182
+ Requires-Dist: more-itertools; extra == 'full'
183
+ Requires-Dist: moviepy; extra == 'full'
184
+ Requires-Dist: mss; extra == 'full'
185
+ Requires-Dist: numpy; extra == 'full'
186
+ Requires-Dist: opencv-python; extra == 'full'
187
+ Requires-Dist: openpyxl==3.1.5; extra == 'full'
188
+ Requires-Dist: pandas>=0.23.4; extra == 'full'
189
+ Requires-Dist: paramiko; extra == 'full'
190
+ Requires-Dist: pdf2docx; extra == 'full'
191
+ Requires-Dist: pillow; extra == 'full'
192
+ Requires-Dist: pint; extra == 'full'
193
+ Requires-Dist: premailer; extra == 'full'
194
+ Requires-Dist: psutil; extra == 'full'
195
+ Requires-Dist: psycopg[binary]; extra == 'full'
196
+ Requires-Dist: pyahocorasick; extra == 'full'
197
+ Requires-Dist: pyautogui; extra == 'full'
198
+ Requires-Dist: pyecharts; extra == 'full'
199
+ Requires-Dist: pympler; extra == 'full'
200
+ Requires-Dist: pymupdf>=1.18.17; extra == 'full'
201
+ Requires-Dist: pynput; extra == 'full'
202
+ Requires-Dist: pynvml; extra == 'full'
203
+ Requires-Dist: pyperclip; extra == 'full'
204
+ Requires-Dist: pyqt6; (sys_platform == 'win32') and extra == 'full'
205
+ Requires-Dist: pyside6; (sys_platform == 'win32') and extra == 'full'
206
+ Requires-Dist: pyspellchecker; extra == 'full'
207
+ Requires-Dist: python-docx; extra == 'full'
208
+ Requires-Dist: python-dotenv; extra == 'full'
209
+ Requires-Dist: python-levenshtein; extra == 'full'
210
+ Requires-Dist: pywin32; (sys_platform == 'win32') and extra == 'full'
211
+ Requires-Dist: pyyaml; extra == 'full'
212
+ Requires-Dist: qiniu; extra == 'full'
213
+ Requires-Dist: requests; extra == 'full'
214
+ Requires-Dist: scikit-learn; extra == 'full'
215
+ Requires-Dist: scp; extra == 'full'
216
+ Requires-Dist: shapely; extra == 'full'
217
+ Requires-Dist: tiktoken; extra == 'full'
218
+ Requires-Dist: tqdm; extra == 'full'
219
+ Requires-Dist: uiautomation; (sys_platform == 'win32') and extra == 'full'
220
+ Requires-Dist: ujson; extra == 'full'
221
+ Requires-Dist: uvicorn; extra == 'full'
222
+ Requires-Dist: visdom; extra == 'full'
223
+ Requires-Dist: visualdl; extra == 'full'
224
+ Requires-Dist: wxauto; (sys_platform == 'win32') and extra == 'full'
225
+ Requires-Dist: xlrd; extra == 'full'
226
+ Requires-Dist: xlsxwriter; extra == 'full'
227
+ Requires-Dist: xpath-parser; extra == 'full'
228
+ Requires-Dist: yattag; extra == 'full'
229
+ Provides-Extra: net
230
+ Requires-Dist: drissionpage>=4.1.0.17; extra == 'net'
231
+ Requires-Dist: requests; extra == 'net'
232
+ Provides-Extra: prog
233
+ Requires-Dist: cached-property; extra == 'prog'
234
+ Requires-Dist: cachetools; extra == 'prog'
235
+ Requires-Dist: deprecated; extra == 'prog'
236
+ Requires-Dist: fastcore>=1.8.1; extra == 'prog'
237
+ Requires-Dist: fire; extra == 'prog'
238
+ Requires-Dist: humanfriendly; extra == 'prog'
239
+ Requires-Dist: joblib>=1.3.2; extra == 'prog'
240
+ Requires-Dist: loguru; extra == 'prog'
241
+ Requires-Dist: more-itertools; extra == 'prog'
242
+ Requires-Dist: pympler; extra == 'prog'
243
+ Requires-Dist: python-dotenv; extra == 'prog'
244
+ Requires-Dist: tqdm; extra == 'prog'
245
+ Provides-Extra: pyqt
246
+ Requires-Dist: pyqt6; (sys_platform == 'win32') and extra == 'pyqt'
247
+ Requires-Dist: pyside6; (sys_platform == 'win32') and extra == 'pyqt'
248
+ Provides-Extra: text
249
+ Requires-Dist: beautifulsoup4; extra == 'text'
250
+ Requires-Dist: jinja2; extra == 'text'
251
+ Requires-Dist: lxml; extra == 'text'
252
+ Requires-Dist: python-levenshtein; extra == 'text'
253
+ Requires-Dist: xpath-parser; extra == 'text'
254
+ Provides-Extra: unix
255
+ Requires-Dist: fabric; extra == 'unix'
256
+ Requires-Dist: paramiko; extra == 'unix'
257
+ Requires-Dist: scp; extra == 'unix'
258
+ Provides-Extra: xlai
259
+ Requires-Dist: pynvml; extra == 'xlai'
260
+ Requires-Dist: scikit-learn; extra == 'xlai'
261
+ Requires-Dist: visdom; extra == 'xlai'
262
+ Provides-Extra: xlapi
263
+ Requires-Dist: arts==2024.9.14; extra == 'xlapi'
264
+ Requires-Dist: baidu-aip; extra == 'xlapi'
265
+ Provides-Extra: xlcv
266
+ Requires-Dist: imagehash; extra == 'xlcv'
267
+ Requires-Dist: opencv-python; extra == 'xlcv'
268
+ Requires-Dist: pillow; extra == 'xlcv'
269
+ Provides-Extra: xlpr
270
+ Requires-Dist: tiktoken; extra == 'xlpr'
271
+ Requires-Dist: visualdl; extra == 'xlpr'
272
+ Provides-Extra: xlserver
273
+ Requires-Dist: apscheduler; extra == 'xlserver'
274
+ Requires-Dist: croniter; extra == 'xlserver'
275
+ Requires-Dist: fastapi; extra == 'xlserver'
276
+ Requires-Dist: uvicorn; extra == 'xlserver'
277
+ Provides-Extra: xlsx
278
+ Requires-Dist: jsonpickle; extra == 'xlsx'
279
+ Requires-Dist: openpyxl==3.1.5; extra == 'xlsx'
280
+ Requires-Dist: premailer; extra == 'xlsx'
281
+ Requires-Dist: xlrd; extra == 'xlsx'
282
+ Requires-Dist: yattag; extra == 'xlsx'
283
+ Description-Content-Type: text/markdown
284
+
285
+
286
+ # 1 安装
287
+
288
+ ```
289
+ pip install pyxllib
290
+ ```
291
+
292
+ 更多介绍: https://www.yuque.com/xlpr/pyxllib/install
293
+
294
+ # 2 文档
295
+
296
+ 文档都在语雀: https://www.yuque.com/xlpr/pyxllib
@@ -0,0 +1,162 @@
1
+ [project]
2
+ name = "pyxllib"
3
+ version = "3.201.1"
4
+ description = "厦门理工模式识别团队通用python代码工具库"
5
+ readme = "README.md"
6
+ license = "Apache-2.0"
7
+ authors = [{ name = "code4101", email = "877362867@qq.com" }]
8
+ requires-python = ">=3.6, <3.13" # 3.6可以兼容大部分功能,但并不保证所有功能都可用
9
+ classifiers = [
10
+ "Programming Language :: Python :: 3",
11
+ "Operating System :: OS Independent",
12
+ "License :: OSI Approved :: Apache Software License",
13
+ ]
14
+ dependencies = []
15
+
16
+ [project.optional-dependencies]
17
+ basic = [ # 基础依赖,一般情况都是要安装的,但是有些打包exe的特殊情景可能要纯净的pyxllib,则不用预先安装这些依赖
18
+ "pyxllib[prog,algo,text,file,data,net,xlcv]",
19
+ ]
20
+ prog = [ # 工程需要的一些特殊工具
21
+ "python-dotenv", # 读取环境变量
22
+ "loguru", # 日志工具
23
+ "humanfriendly", # 人性化的时间显示等
24
+ "tqdm", # 进度条
25
+ "Deprecated", # 弃用函数的标记
26
+ "more-itertools", # 更多的迭代器工具
27
+ "joblib>=1.3.2", # 并行处理工具,实际首次是在pyxllib.file中需要调用
28
+ "pympler", # 计算对象的内存占用
29
+ "fastcore>=1.8.1", # 有些好用的工程功能,比如from fastcore.utils import GetAttr,用于不实际继承的情况拥有类似继承的操作模式
30
+ "fire", # 制作命令行工具
31
+ "cachetools", # 通用缓存工具,适用范围更广
32
+ "cached_property", # 类属性特用工具,相对比较简洁些
33
+ ]
34
+ algo = [ # 算法库
35
+ "anytree", # 树形结构处理
36
+ "shapely", # 几何多边形计算
37
+ "disjoint-set", # 并查集
38
+ "xlsxwriter", # pyxllib.algo.stat有个小的数据处理模块,需要用到这个操作表格
39
+ ]
40
+ ext_algo = [
41
+ "pint", # 单位计算工具
42
+ ]
43
+ text = [ # 文本处理
44
+ "python-Levenshtein", # 计算编辑距离
45
+ # pip install安装包名,从pypi、git/vcs安装时不区分大小写,本地安装时若为linux则区分。一般建议按照官方推荐的大小写名称安装。
46
+ "Jinja2", # 模板渲染,pyxllib.text下的jinjalib、jscode有使用,from jinja2 import Template
47
+ "beautifulsoup4", # html等解析,from bs4 import BeautifulSoup
48
+ "lxml", # xml/html解析,bs4、表格均需要使用
49
+ "xpath-parser", # xpath解析
50
+ ]
51
+ ext_text = [
52
+ "pyahocorasick", # ac自动机
53
+ "pyspellchecker", # 拼写检查
54
+ ]
55
+ file = [ # 文件功能需要的一些特殊工具
56
+ "filetype", # 文件类型判断
57
+ "charset-normalizer", # import charset_normalizer,文件编码自动识别
58
+ "qiniu", # etag哈希值计算
59
+ "ujson", # json读取加速
60
+ "pyyaml", # yaml文件处理
61
+ ]
62
+ ext_file = [
63
+ "PyMuPdf>=1.18.17", # pdf处理工具,import fitz
64
+ "pdf2docx",
65
+ "python-docx", # docxlib的依赖,import docx
66
+ "moviepy", # 视频处理
67
+ "gitpython", # from git import Repo,git项目管理
68
+ ]
69
+ data = [
70
+ "numpy", # 科学计算
71
+ "pandas>=0.23.4", # 数据处理分析
72
+ "psycopg[binary]", # 对pg数据库的操作
73
+ "pyecharts", # 画echart图标
74
+ "jmespath", # json查询
75
+ ]
76
+ net = [
77
+ "requests", # 网络请求
78
+ "DrissionPage>=4.1.0.17", # 特别好用的爬虫工具
79
+ ]
80
+ xlcv = [ # 图像处理相关
81
+ "pillow",
82
+ "opencv-python",
83
+ "ImageHash", # 图像hash值计算
84
+ ]
85
+ xlsx = [ # 表格相关工具
86
+ "openpyxl==3.1.5", # 表格处理库,不要用3.1.2,有bug
87
+ "xlrd", # 比较轻量的读取excel工具
88
+ "premailer", # pyxllib.stdlib.tablepyxl的依赖
89
+ "jsonpickle", # 表格需要用到这个导出json结构化数据
90
+ "yattag", # 表格模块需要用这个转html表格
91
+ ]
92
+ autogui = [
93
+ "psutil", # 进程管理
94
+ "mss", # 获取屏幕窗口
95
+ "pyperclip", # 剪切板复制粘贴,我的qt、utools、docxlib等有使用
96
+ "klembord", # 富文本复制粘贴
97
+ "keyboard", # 键盘操作
98
+ "pynput",
99
+ "pyautogui", # 包含pygetwindow,这个库主要也就用来比较简单获得当前激活窗口,全部窗口等信息。更综合的能力不如pywinauto
100
+ "uiautomation; sys_platform == 'win32'", # ui窗口自动化操作
101
+ "wxauto; sys_platform == 'win32'", # wxauto官方另有付费vip用户可加设wxautox
102
+ "pywin32; sys_platform == 'win32'", # win32com、win32api等很多win32前缀的库
103
+ ]
104
+ pyqt = ["PyQt6; sys_platform == 'win32'", "PySide6; sys_platform == 'win32'"]
105
+ advance = [ # 比较全面的,高级的依赖
106
+ "pyxllib[basic]",
107
+ "pyxllib[xlsx,autogui]",
108
+ ]
109
+ flask = [
110
+ "flask", # 传统写后端的工具
111
+ "flask-cors", # 跨域问题
112
+ "flask-jwt-extended", # 身份验证
113
+ "flask-restful", # restful风格的api
114
+ "flask-wtf", # 表单验证
115
+ ]
116
+ xlai = [
117
+ "pynvml",
118
+ "visdom",
119
+ # "fvcore",
120
+ "scikit-learn", # import sklearn
121
+ ]
122
+ xlapi = [ # 各种api接口服务
123
+ "baidu-aip", # 百度云服务api
124
+ # "openai", # openai官方api
125
+ "arts==2024.9.14", # 这个库包含了作者写的openai2,但被我改版到pyxlpr.openai2
126
+ ]
127
+ xlserver = [ # 如果要开后端服务相关
128
+ "fastapi", # 现在最流行的写后端的库
129
+ "uvicorn", # 运行fastapi的库
130
+ # 后端服务需要用到pyxllib.prog.multiprogs,其中有些依赖
131
+ "croniter", # 支持cron表达式的定时处理
132
+ "APScheduler", # 调度能力
133
+ ]
134
+ unix = [ # pyxllib.ext.unixlib依赖的包
135
+ "paramiko",
136
+ "fabric", # 对 paramiko 进一步封装的库
137
+ "scp", # 文件传输
138
+ ]
139
+ xlpr = [
140
+ "tiktoken", # 计算大模型token数
141
+ "visualdl", # xlpaddle需要使用的可视化工具
142
+ ]
143
+ full = [ # full的依赖很重,如无必要一般用advance就足够了,有其他缺失的运行中有需要再临时补
144
+ "pyxllib[advance]",
145
+ "pyxllib[ext_text,ext_algo,ext_file]", # 几个大类其他一些特殊扩展库
146
+ "pyxllib[flask,xlapi,xlserver]", # api、后端服务
147
+ "pyxllib[pyqt,xlai,unix,xlpr]", # 其他散件
148
+ ]
149
+
150
+ [project.urls]
151
+ Source = "https://github.com/XLPRUtils/pyxllib"
152
+ Documentation = "https://www.yuque.com/xlpr/pyxllib"
153
+
154
+ [build-system]
155
+ requires = ["hatchling"]
156
+ build-backend = "hatchling.build"
157
+
158
+ [tool.hatch.build]
159
+ exclude = [".github", ".gitignore", ".gitattributes"]
160
+
161
+ [tool.uv]
162
+ index-url = "https://pypi.tuna.tsinghua.edu.cn/simple"
@@ -12,10 +12,3 @@
12
12
 
13
13
  文档:https://www.yuque.com/xlpr/pyxllib/home/edit
14
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')
@@ -9,10 +9,6 @@
9
9
  specialist级别
10
10
  """
11
11
 
12
- from pyxllib.prog.pupil import check_install_package
13
-
14
- check_install_package('cv2', 'opencv-python')
15
-
16
12
  import copy
17
13
 
18
14
  import numpy as np
@@ -8,10 +8,6 @@
8
8
  树形结构相关的处理
9
9
  """
10
10
 
11
- from pyxllib.prog.pupil import check_install_package
12
-
13
- check_install_package('anytree')
14
-
15
11
  import re
16
12
 
17
13
  from anytree import Node
@@ -6,10 +6,6 @@
6
6
 
7
7
  """ 单位功能库 """
8
8
 
9
- from pyxllib.prog.pupil import check_install_package
10
-
11
- check_install_package('pint')
12
-
13
9
  import pint
14
10
 
15
11
  import pandas as pd
@@ -19,13 +19,8 @@ if sys.platform == 'win32':
19
19
  import pyautogui
20
20
  import win32gui
21
21
 
22
- try:
23
- import pyscreeze # NOQA pyautogui安装的时候会自动安装依赖的pyscreeze
24
- except ModuleNotFoundError:
25
- pass
26
-
27
22
  from pyxllib.prog.newbie import first_nonnone, round_int
28
- from pyxllib.prog.pupil import xlwait, DictTool, check_install_package
23
+ from pyxllib.prog.pupil import xlwait, DictTool
29
24
  from pyxllib.prog.specialist import TicToc
30
25
  from pyxllib.algo.geo import ComputeIou, ltrb2xywh, xywh2ltrb, ltrb2polygon
31
26
  from pyxllib.algo.shapelylib import ShapelyPolygon
@@ -646,7 +641,6 @@ def type_text(text):
646
641
 
647
642
  这种需求一般也可以用剪切板实现,但是剪切板不够独立轻量,可能会有意想不到的副作用
648
643
  """
649
- check_install_package('pynput')
650
644
  from pynput.keyboard import Controller
651
645
 
652
646
  keyboard = Controller()
@@ -10,10 +10,6 @@ Apache ECharts: https://echarts.apache.org/zh/index.html
10
10
  python版:pyechats的封装
11
11
  """
12
12
 
13
- from pyxllib.prog.pupil import check_install_package
14
-
15
- check_install_package('pyecharts')
16
-
17
13
  # import types
18
14
 
19
15
  import pyecharts
@@ -6,10 +6,6 @@
6
6
 
7
7
  from collections import Counter
8
8
 
9
- from pyxllib.prog.pupil import check_install_package
10
-
11
- check_install_package('jmespath')
12
-
13
9
  import jmespath
14
10
 
15
11
 
@@ -8,25 +8,9 @@
8
8
  针对PostgreSQL封装的工具
9
9
  """
10
10
 
11
- import os
12
11
  import sys
13
12
 
14
- from pyxllib.prog.pupil import check_install_package
15
- from pyxllib.file.specialist import XlPath, ensure_localdir
16
-
17
- # 使用binary安装,好像就不需要自己配置依赖了
18
- # if sys.platform == 'win32':
19
- # # windows系统中pg的默认安装位置
20
- # # https://www.yuque.com/xlpr/pyxllib/install_psycopg
21
- # pgdll_dir = XlPath('C:/Program Files/PostgreSQL/14/bin')
22
- # if not pgdll_dir.is_dir(): # 换一个自定义目录继续检查
23
- # pgdll_dir = XlPath.userdir() / '.xlpr/pgdll'
24
- # if not pgdll_dir.is_dir():
25
- # print('没有PostgreSQL对应的dll文件,自动下载:')
26
- # ensure_localdir(pgdll_dir, 'https://xmutpriu.com/download/pgdll_v14.zip')
27
- # os.environ['PATH'] += ';' + pgdll_dir.as_posix()
28
-
29
- check_install_package('psycopg', 'psycopg[binary]')
13
+ from pyxllib.file.specialist import XlPath
30
14
 
31
15
  import io
32
16
  from collections import Counter
@@ -15,7 +15,12 @@ test:测试代码,注重分析功能稳定性
15
15
  perf:性能测试,注重分析代码的运行效率
16
16
  """
17
17
 
18
- from pyxllib.xl import *
18
+ import re
19
+
20
+ from pyxllib.prog.pupil import dprint, dformat
21
+ from pyxllib.prog.specialist import Timer, TicToc
22
+ from pyxllib.file.pupil import getfiles
23
+ from pyxllib.file.specialist import mygetfiles
19
24
 
20
25
  ____stdlib = """
21
26
  标准库相关
@@ -10,10 +10,6 @@
10
10
  半定制化的功能组件
11
11
  """
12
12
 
13
- from pyxllib.prog.pupil import check_install_package
14
-
15
- check_install_package('joblib')
16
-
17
13
  from collections import defaultdict, Counter
18
14
  import datetime
19
15
  import re
@@ -3,14 +3,8 @@
3
3
  # @Author : 陈坤泽
4
4
  # @Email : 877362867@qq.com
5
5
  # @Date : 2021/06/03 20:41
6
- import time
7
-
8
- from pyxllib.prog.pupil import check_install_package
9
6
 
10
- check_install_package('paramiko')
11
- check_install_package('scp')
12
- # 对 paramiko 进一步封装的库
13
- # check_install_package('fabric')
7
+ import time
14
8
 
15
9
  import warnings
16
10
  from cryptography.utils import CryptographyDeprecationWarning
@@ -6,12 +6,6 @@
6
6
 
7
7
  """ 专门给utools的快捷命令扩展的一系列python工具库
8
8
  """
9
- from pyxllib.prog.pupil import check_install_package
10
-
11
- check_install_package('fire')
12
- check_install_package('humanfriendly')
13
- check_install_package('pandas')
14
- check_install_package('pyautogui', 'PyAutoGui') # 其实pip install不区分大小写,不过官方这里安装是驼峰名
15
9
 
16
10
  import datetime
17
11
  import json
@@ -21,19 +21,22 @@ class WjxWeb(DpWebBase):
21
21
  """ 问卷星网页的爬虫 """
22
22
 
23
23
  def __init__(self, url=None):
24
- super().__init__(url or 'https://www.wjx.cn')
24
+ super().__init__('https://www.wjx.cn/login.aspx')
25
25
  self.login()
26
+ self.tab.get(url)
26
27
 
27
28
  def login(self):
28
29
  tab = self.tab
29
30
 
30
31
  if tab.url.startswith('https://www.wjx.cn/wjx/activitystat/resultlimit.aspx'):
31
- tab('tag:a@@text():登录').click()
32
-
33
- if tab.url.lower().startswith('https://www.wjx.cn/login.aspx'):
34
- tab('tag:input@@name=UserName').input(os.getenv('WJX_USERNAME'), clear=True)
35
- tab('tag:input@@name=Password').input(os.getenv('WJX_PASSWORD'), clear=True)
36
- tab('tag:input@@type=submit').click()
32
+ tab('t:a@@text():登录').click()
33
+
34
+ if tab.url.startswith('https://www.wjx.cn/login.aspx'):
35
+ tab('t:input@@name=UserName').input(os.getenv('WJX_USERNAME'), clear=True)
36
+ tab('t:input@@name=Password').input(os.getenv('WJX_PASSWORD'), clear=True)
37
+ tab('t:label@@for=RememberMe').click()
38
+ time.sleep(2)
39
+ tab('t:input@@type=submit').click()
37
40
 
38
41
  def get_page_num(self):
39
42
  """