pyxllib 0.3.128__tar.gz → 0.3.130__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 (360) hide show
  1. pyxllib-0.3.130/PKG-INFO +86 -0
  2. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/algo/intervals.py +1 -1
  3. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/algo/newbie.py +54 -0
  4. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/data/pglib.py +49 -46
  5. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/ext/yuquelib.py +2 -2
  6. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/file/pupil.py +1 -1
  7. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/file/specialist/filelib.py +1 -1
  8. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/file/xlsxlib.py +1 -1
  9. pyxllib-0.3.130/pyxllib/file/xlsyncfile.py +316 -0
  10. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/prog/specialist/__init__.py +2 -1
  11. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/text/nestenv.py +1 -1
  12. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/text/specialist/ptag.py +2 -2
  13. pyxllib-0.3.130/pyxllib.egg-info/PKG-INFO +86 -0
  14. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib.egg-info/SOURCES.txt +1 -0
  15. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib.egg-info/requires.txt +15 -14
  16. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/openai2/_core/chat.py +45 -6
  17. {pyxllib-0.3.128 → pyxllib-0.3.130}/setup.py +3 -1
  18. pyxllib-0.3.128/PKG-INFO +0 -38
  19. pyxllib-0.3.128/pyxllib.egg-info/PKG-INFO +0 -38
  20. {pyxllib-0.3.128 → pyxllib-0.3.130}/LICENSE +0 -0
  21. {pyxllib-0.3.128 → pyxllib-0.3.130}/MANIFEST.in +0 -0
  22. {pyxllib-0.3.128 → pyxllib-0.3.130}/README.md +0 -0
  23. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/__init__.py +0 -0
  24. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/algo/__init__.py +0 -0
  25. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/algo/disjoint.py +0 -0
  26. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/algo/geo.py +0 -0
  27. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/algo/matcher.py +0 -0
  28. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/algo/pupil.py +0 -0
  29. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/algo/shapelylib.py +0 -0
  30. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/algo/specialist.py +0 -0
  31. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/algo/stat.py +0 -0
  32. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/algo/treelib.py +0 -0
  33. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/algo/unitlib.py +0 -0
  34. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/cv/__init__.py +0 -0
  35. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/cv/expert.py +0 -0
  36. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/cv/imfile.py +0 -0
  37. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/cv/imhash.py +0 -0
  38. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/cv/pupil.py +0 -0
  39. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/cv/rgbfmt.py +0 -0
  40. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/cv/trackbartools.py +0 -0
  41. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/cv/xlcvlib.py +0 -0
  42. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/cv/xlpillib.py +0 -0
  43. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/data/__init__.py +0 -0
  44. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/data/echarts.py +0 -0
  45. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/data/jsonlib.py +0 -0
  46. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/data/oss.py +0 -0
  47. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/data/sqlite.py +0 -0
  48. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/data/sqllib.py +0 -0
  49. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/ext/JLineViewer.py +0 -0
  50. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/ext/__init__.py +0 -0
  51. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/ext/autogui/__init__.py +0 -0
  52. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/ext/autogui/autogui.py +0 -0
  53. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/ext/autogui/virtualkey.py +0 -0
  54. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/ext/demolib.py +0 -0
  55. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/ext/drissionlib.py +0 -0
  56. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/ext/kq5034lib.py +0 -0
  57. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/ext/old.py +0 -0
  58. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/ext/qt.py +0 -0
  59. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/ext/robustprocfile.py +0 -0
  60. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/ext/seleniumlib.py +0 -0
  61. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/ext/tk.py +0 -0
  62. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/ext/unixlib.py +0 -0
  63. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/ext/utools.py +0 -0
  64. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/ext/webhook.py +0 -0
  65. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/ext/win32lib.py +0 -0
  66. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/file/__init__.py +0 -0
  67. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/file/docxlib.py +0 -0
  68. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/file/gitlib.py +0 -0
  69. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/file/libreoffice.py +0 -0
  70. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/file/movielib.py +0 -0
  71. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/file/newbie.py +0 -0
  72. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/file/onenotelib.py +0 -0
  73. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/file/packlib/__init__.py +0 -0
  74. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/file/packlib/zipfile.py +0 -0
  75. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/file/pdflib.py +0 -0
  76. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/file/specialist/__init__.py +0 -0
  77. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/file/specialist/dirlib.py +0 -0
  78. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/file/specialist/download.py +0 -0
  79. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/prog/__init__.py +0 -0
  80. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/prog/cachetools.py +0 -0
  81. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/prog/deprecatedlib.py +0 -0
  82. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/prog/ipyexec.py +0 -0
  83. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/prog/multiprocs.py +0 -0
  84. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/prog/newbie.py +0 -0
  85. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/prog/pupil.py +0 -0
  86. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/prog/scheduler.py +0 -0
  87. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/prog/sitepackages.py +0 -0
  88. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/prog/specialist/bc.py +0 -0
  89. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/prog/specialist/browser.py +0 -0
  90. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/prog/specialist/common.py +0 -0
  91. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/prog/specialist/datetime.py +0 -0
  92. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/prog/specialist/tictoc.py +0 -0
  93. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/prog/specialist/xllog.py +0 -0
  94. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/prog/xlosenv.py +0 -0
  95. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/stdlib/__init__.py +0 -0
  96. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/stdlib/tablepyxl/__init__.py +0 -0
  97. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/stdlib/tablepyxl/style.py +0 -0
  98. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/stdlib/tablepyxl/tablepyxl.py +0 -0
  99. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/text/__init__.py +0 -0
  100. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/text/ahocorasick.py +0 -0
  101. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/text/charclasslib.py +0 -0
  102. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/text/jiebalib.py +0 -0
  103. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/text/jinjalib.py +0 -0
  104. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/text/jscode.py +0 -0
  105. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/text/latex/__init__.py +0 -0
  106. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/text/levenshtein.py +0 -0
  107. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/text/newbie.py +0 -0
  108. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/text/pupil/__init__.py +0 -0
  109. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/text/pupil/common.py +0 -0
  110. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/text/pupil/xlalign.py +0 -0
  111. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/text/pycode.py +0 -0
  112. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/text/specialist/__init__.py +0 -0
  113. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/text/specialist/common.py +0 -0
  114. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/text/spellchecker.py +0 -0
  115. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/text/templates/echart_base.html +0 -0
  116. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/text/templates/highlight_code.html +0 -0
  117. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/text/templates/latex_editor.html +0 -0
  118. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/text/vbacode.py +0 -0
  119. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/text/xmllib.py +0 -0
  120. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/xl.py +0 -0
  121. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib/xlcv.py +0 -0
  122. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib.egg-info/dependency_links.txt +0 -0
  123. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxllib.egg-info/top_level.txt +0 -0
  124. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/__init__.py +0 -0
  125. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ai/__init__.py +0 -0
  126. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ai/clientlib.py +0 -0
  127. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ai/specialist.py +0 -0
  128. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ai/torch_app.py +0 -0
  129. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ai/xlpaddle.py +0 -0
  130. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ai/xltorch.py +0 -0
  131. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/data/__init__.py +0 -0
  132. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/data/coco.py +0 -0
  133. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/data/datacls.py +0 -0
  134. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/data/datasets.py +0 -0
  135. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/data/gptlib.py +0 -0
  136. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/data/icdar/__init__.py +0 -0
  137. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/data/icdar/deteval.py +0 -0
  138. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/data/icdar/icdar2013.py +0 -0
  139. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/data/icdar/iou.py +0 -0
  140. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/data/icdar/rrc_evaluation_funcs_1_1.py +0 -0
  141. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/data/imtextline.py +0 -0
  142. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/data/labelme.py +0 -0
  143. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/data/removeline.py +0 -0
  144. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/data/specialist.py +0 -0
  145. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/data/tiktokenlib.py +0 -0
  146. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/eval/__init__.py +0 -0
  147. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/openai2/__init__.py +0 -0
  148. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/openai2/_core/chat_in_cmd.py +0 -0
  149. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/openai2/_core/group_chat.py +0 -0
  150. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/openai2/openai2.py +0 -0
  151. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/paddleocr.py +0 -0
  152. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/__init__.py +0 -0
  153. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/configs/rec/multi_language/generate_multi_language_configs.py +0 -0
  154. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/data/__init__.py +0 -0
  155. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/data/imaug/ColorJitter.py +0 -0
  156. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/data/imaug/__init__.py +0 -0
  157. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/data/imaug/copy_paste.py +0 -0
  158. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/data/imaug/east_process.py +0 -0
  159. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/data/imaug/gen_table_mask.py +0 -0
  160. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/data/imaug/iaa_augment.py +0 -0
  161. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/data/imaug/label_ops.py +0 -0
  162. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/data/imaug/make_border_map.py +0 -0
  163. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/data/imaug/make_pse_gt.py +0 -0
  164. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/data/imaug/make_shrink_map.py +0 -0
  165. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/data/imaug/operators.py +0 -0
  166. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/data/imaug/pg_process.py +0 -0
  167. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/data/imaug/randaugment.py +0 -0
  168. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/data/imaug/random_crop_data.py +0 -0
  169. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/data/imaug/rec_img_aug.py +0 -0
  170. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/data/imaug/sast_process.py +0 -0
  171. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/data/imaug/text_image_aug/__init__.py +0 -0
  172. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/data/imaug/text_image_aug/augment.py +0 -0
  173. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/data/imaug/text_image_aug/warp_mls.py +0 -0
  174. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/data/lmdb_dataset.py +0 -0
  175. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/data/pgnet_dataset.py +0 -0
  176. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/data/pubtab_dataset.py +0 -0
  177. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/data/simple_dataset.py +0 -0
  178. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/losses/__init__.py +0 -0
  179. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/losses/ace_loss.py +0 -0
  180. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/losses/basic_loss.py +0 -0
  181. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/losses/center_loss.py +0 -0
  182. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/losses/cls_loss.py +0 -0
  183. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/losses/combined_loss.py +0 -0
  184. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/losses/det_basic_loss.py +0 -0
  185. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/losses/det_db_loss.py +0 -0
  186. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/losses/det_east_loss.py +0 -0
  187. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/losses/det_pse_loss.py +0 -0
  188. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/losses/det_sast_loss.py +0 -0
  189. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/losses/distillation_loss.py +0 -0
  190. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/losses/e2e_pg_loss.py +0 -0
  191. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/losses/kie_sdmgr_loss.py +0 -0
  192. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/losses/rec_aster_loss.py +0 -0
  193. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/losses/rec_att_loss.py +0 -0
  194. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/losses/rec_ctc_loss.py +0 -0
  195. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/losses/rec_enhanced_ctc_loss.py +0 -0
  196. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/losses/rec_nrtr_loss.py +0 -0
  197. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/losses/rec_sar_loss.py +0 -0
  198. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/losses/rec_srn_loss.py +0 -0
  199. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/losses/table_att_loss.py +0 -0
  200. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/metrics/__init__.py +0 -0
  201. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/metrics/cls_metric.py +0 -0
  202. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/metrics/det_metric.py +0 -0
  203. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/metrics/distillation_metric.py +0 -0
  204. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/metrics/e2e_metric.py +0 -0
  205. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/metrics/eval_det_iou.py +0 -0
  206. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/metrics/kie_metric.py +0 -0
  207. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/metrics/rec_metric.py +0 -0
  208. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/metrics/table_metric.py +0 -0
  209. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/modeling/architectures/__init__.py +0 -0
  210. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/modeling/architectures/base_model.py +0 -0
  211. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/modeling/architectures/distillation_model.py +0 -0
  212. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/modeling/backbones/__init__.py +0 -0
  213. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/modeling/backbones/det_mobilenet_v3.py +0 -0
  214. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/modeling/backbones/det_resnet_vd.py +0 -0
  215. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/modeling/backbones/det_resnet_vd_sast.py +0 -0
  216. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/modeling/backbones/e2e_resnet_vd_pg.py +0 -0
  217. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/modeling/backbones/kie_unet_sdmgr.py +0 -0
  218. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/modeling/backbones/rec_mobilenet_v3.py +0 -0
  219. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/modeling/backbones/rec_mv1_enhance.py +0 -0
  220. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/modeling/backbones/rec_nrtr_mtb.py +0 -0
  221. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/modeling/backbones/rec_resnet_31.py +0 -0
  222. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/modeling/backbones/rec_resnet_aster.py +0 -0
  223. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/modeling/backbones/rec_resnet_fpn.py +0 -0
  224. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/modeling/backbones/rec_resnet_vd.py +0 -0
  225. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/modeling/heads/__init__.py +0 -0
  226. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/modeling/heads/cls_head.py +0 -0
  227. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/modeling/heads/det_db_head.py +0 -0
  228. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/modeling/heads/det_east_head.py +0 -0
  229. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/modeling/heads/det_pse_head.py +0 -0
  230. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/modeling/heads/det_sast_head.py +0 -0
  231. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/modeling/heads/e2e_pg_head.py +0 -0
  232. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/modeling/heads/kie_sdmgr_head.py +0 -0
  233. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/modeling/heads/multiheadAttention.py +0 -0
  234. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/modeling/heads/rec_aster_head.py +0 -0
  235. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/modeling/heads/rec_att_head.py +0 -0
  236. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/modeling/heads/rec_ctc_head.py +0 -0
  237. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/modeling/heads/rec_nrtr_head.py +0 -0
  238. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/modeling/heads/rec_sar_head.py +0 -0
  239. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/modeling/heads/rec_srn_head.py +0 -0
  240. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/modeling/heads/self_attention.py +0 -0
  241. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/modeling/heads/table_att_head.py +0 -0
  242. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/modeling/necks/__init__.py +0 -0
  243. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/modeling/necks/db_fpn.py +0 -0
  244. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/modeling/necks/east_fpn.py +0 -0
  245. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/modeling/necks/fpn.py +0 -0
  246. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/modeling/necks/pg_fpn.py +0 -0
  247. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/modeling/necks/rnn.py +0 -0
  248. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/modeling/necks/sast_fpn.py +0 -0
  249. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/modeling/necks/table_fpn.py +0 -0
  250. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/modeling/transforms/__init__.py +0 -0
  251. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/modeling/transforms/stn.py +0 -0
  252. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/modeling/transforms/tps.py +0 -0
  253. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/modeling/transforms/tps_spatial_transformer.py +0 -0
  254. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/optimizer/__init__.py +0 -0
  255. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/optimizer/learning_rate.py +0 -0
  256. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/optimizer/lr_scheduler.py +0 -0
  257. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/optimizer/optimizer.py +0 -0
  258. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/optimizer/regularizer.py +0 -0
  259. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/postprocess/__init__.py +0 -0
  260. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/postprocess/cls_postprocess.py +0 -0
  261. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/postprocess/db_postprocess.py +0 -0
  262. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/postprocess/east_postprocess.py +0 -0
  263. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/postprocess/locality_aware_nms.py +0 -0
  264. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/postprocess/pg_postprocess.py +0 -0
  265. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/postprocess/pse_postprocess/__init__.py +0 -0
  266. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/postprocess/pse_postprocess/pse/__init__.py +0 -0
  267. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/postprocess/pse_postprocess/pse/setup.py +0 -0
  268. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/postprocess/pse_postprocess/pse_postprocess.py +0 -0
  269. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/postprocess/rec_postprocess.py +0 -0
  270. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/postprocess/sast_postprocess.py +0 -0
  271. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/tools/__init__.py +0 -0
  272. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/tools/eval.py +0 -0
  273. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/tools/export_center.py +0 -0
  274. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/tools/export_model.py +0 -0
  275. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/tools/infer/predict_cls.py +0 -0
  276. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/tools/infer/predict_det.py +0 -0
  277. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/tools/infer/predict_e2e.py +0 -0
  278. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/tools/infer/predict_rec.py +0 -0
  279. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/tools/infer/predict_system.py +0 -0
  280. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/tools/infer/utility.py +0 -0
  281. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/tools/infer_cls.py +0 -0
  282. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/tools/infer_det.py +0 -0
  283. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/tools/infer_e2e.py +0 -0
  284. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/tools/infer_kie.py +0 -0
  285. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/tools/infer_rec.py +0 -0
  286. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/tools/infer_table.py +0 -0
  287. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/tools/program.py +0 -0
  288. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/tools/test_hubserving.py +0 -0
  289. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/tools/train.py +0 -0
  290. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/tools/xlprog.py +0 -0
  291. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/EN_symbol_dict.txt +0 -0
  292. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/__init__.py +0 -0
  293. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/dict/ar_dict.txt +0 -0
  294. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/dict/arabic_dict.txt +0 -0
  295. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/dict/be_dict.txt +0 -0
  296. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/dict/bg_dict.txt +0 -0
  297. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/dict/chinese_cht_dict.txt +0 -0
  298. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/dict/cyrillic_dict.txt +0 -0
  299. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/dict/devanagari_dict.txt +0 -0
  300. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/dict/en_dict.txt +0 -0
  301. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/dict/fa_dict.txt +0 -0
  302. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/dict/french_dict.txt +0 -0
  303. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/dict/german_dict.txt +0 -0
  304. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/dict/hi_dict.txt +0 -0
  305. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/dict/it_dict.txt +0 -0
  306. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/dict/japan_dict.txt +0 -0
  307. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/dict/ka_dict.txt +0 -0
  308. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/dict/korean_dict.txt +0 -0
  309. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/dict/latin_dict.txt +0 -0
  310. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/dict/mr_dict.txt +0 -0
  311. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/dict/ne_dict.txt +0 -0
  312. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/dict/oc_dict.txt +0 -0
  313. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/dict/pu_dict.txt +0 -0
  314. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/dict/rs_dict.txt +0 -0
  315. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/dict/rsc_dict.txt +0 -0
  316. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/dict/ru_dict.txt +0 -0
  317. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/dict/ta_dict.txt +0 -0
  318. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/dict/table_dict.txt +0 -0
  319. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/dict/table_structure_dict.txt +0 -0
  320. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/dict/te_dict.txt +0 -0
  321. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/dict/ug_dict.txt +0 -0
  322. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/dict/uk_dict.txt +0 -0
  323. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/dict/ur_dict.txt +0 -0
  324. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/dict/xi_dict.txt +0 -0
  325. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/dict90.txt +0 -0
  326. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/e2e_metric/Deteval.py +0 -0
  327. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/e2e_metric/polygon_fast.py +0 -0
  328. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/e2e_utils/extract_batchsize.py +0 -0
  329. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/e2e_utils/extract_textpoint_fast.py +0 -0
  330. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/e2e_utils/extract_textpoint_slow.py +0 -0
  331. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/e2e_utils/pgnet_pp_utils.py +0 -0
  332. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/e2e_utils/visual.py +0 -0
  333. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/en_dict.txt +0 -0
  334. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/gen_label.py +0 -0
  335. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/ic15_dict.txt +0 -0
  336. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/iou.py +0 -0
  337. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/logging.py +0 -0
  338. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/network.py +0 -0
  339. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/ppocr_keys_v1.txt +0 -0
  340. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/profiler.py +0 -0
  341. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/save_load.py +0 -0
  342. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/stats.py +0 -0
  343. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppocr/utils/utility.py +0 -0
  344. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppstructure/__init__.py +0 -0
  345. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppstructure/predict_system.py +0 -0
  346. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppstructure/table/__init__.py +0 -0
  347. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppstructure/table/eval_table.py +0 -0
  348. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppstructure/table/matcher.py +0 -0
  349. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppstructure/table/predict_structure.py +0 -0
  350. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppstructure/table/predict_table.py +0 -0
  351. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppstructure/table/table_metric/__init__.py +0 -0
  352. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppstructure/table/table_metric/parallel.py +0 -0
  353. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppstructure/table/table_metric/table_metric.py +0 -0
  354. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppstructure/table/tablepyxl/__init__.py +0 -0
  355. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppstructure/table/tablepyxl/style.py +0 -0
  356. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppstructure/table/tablepyxl/tablepyxl.py +0 -0
  357. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/ppstructure/utility.py +0 -0
  358. {pyxllib-0.3.128 → pyxllib-0.3.130}/pyxlpr/xlai.py +0 -0
  359. {pyxllib-0.3.128 → pyxllib-0.3.130}/requirements.txt +0 -0
  360. {pyxllib-0.3.128 → pyxllib-0.3.130}/setup.cfg +0 -0
@@ -0,0 +1,86 @@
1
+ Metadata-Version: 2.1
2
+ Name: pyxllib
3
+ Version: 0.3.130
4
+ Summary: 厦门理工模式识别团队通用python代码工具库
5
+ Home-page: https://github.com/XLPRUtils/pyxllib
6
+ Author: code4101
7
+ Author-email: 877362867@qq.com
8
+ License: Apache License 2.0
9
+ Keywords: pyxllib,pyxlpr
10
+ Classifier: Development Status :: 3 - Alpha
11
+ Classifier: Intended Audience :: Developers
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Operating System :: OS Independent
14
+ Requires-Python: >=3.6
15
+ Description-Content-Type: text/markdown
16
+ License-File: LICENSE
17
+ Requires-Dist: arrow
18
+ Requires-Dist: charset-normalizer
19
+ Requires-Dist: requests
20
+ Requires-Dist: qiniu
21
+ Requires-Dist: pyyaml
22
+ Requires-Dist: loguru
23
+ Requires-Dist: humanfriendly
24
+ Requires-Dist: tqdm
25
+ Requires-Dist: ujson
26
+ Requires-Dist: Deprecated
27
+ Requires-Dist: pyperclip
28
+ Requires-Dist: envariable
29
+ Requires-Dist: decorator
30
+ Requires-Dist: more-itertools
31
+ Requires-Dist: fire
32
+ Requires-Dist: xlrd
33
+ Requires-Dist: pympler
34
+ Requires-Dist: lxml
35
+ Requires-Dist: beautifulsoup4
36
+ Requires-Dist: numpy
37
+ Requires-Dist: Jinja2
38
+ Requires-Dist: pandas>=0.23.4
39
+ Requires-Dist: pillow
40
+ Provides-Extra: xlcv
41
+ Requires-Dist: opencv-python; extra == "xlcv"
42
+ Requires-Dist: pillow; extra == "xlcv"
43
+ Requires-Dist: opsdroid-get-image-size; extra == "xlcv"
44
+ Provides-Extra: xlai
45
+ Requires-Dist: opsdroid-get-image-size; extra == "xlai"
46
+ Requires-Dist: pynvml; extra == "xlai"
47
+ Requires-Dist: opencv-python; extra == "xlai"
48
+ Requires-Dist: visdom; extra == "xlai"
49
+ Requires-Dist: pillow; extra == "xlai"
50
+ Provides-Extra: xlall
51
+ Requires-Dist: xlrd; extra == "xlall"
52
+ Requires-Dist: html2text; extra == "xlall"
53
+ Requires-Dist: flask-restful; extra == "xlall"
54
+ Requires-Dist: opsdroid-get-image-size; extra == "xlall"
55
+ Requires-Dist: flask-jwt-extended; extra == "xlall"
56
+ Requires-Dist: flask; extra == "xlall"
57
+ Requires-Dist: ujson; extra == "xlall"
58
+ Requires-Dist: arts; extra == "xlall"
59
+ Requires-Dist: flask-wtf; extra == "xlall"
60
+ Requires-Dist: opencv-python; extra == "xlall"
61
+ Requires-Dist: sentencepiece; extra == "xlall"
62
+ Requires-Dist: openai2; extra == "xlall"
63
+ Requires-Dist: fastapi; extra == "xlall"
64
+ Requires-Dist: zhconv; extra == "xlall"
65
+ Requires-Dist: pillow; extra == "xlall"
66
+ Requires-Dist: uvicorn; extra == "xlall"
67
+ Requires-Dist: flask-cors; extra == "xlall"
68
+
69
+ # 1 install
70
+
71
+ ```
72
+ pip install pyxllib
73
+ ```
74
+
75
+ more details: https://www.yuque.com/xlpr/pyxllib/install
76
+
77
+ # 2 document
78
+
79
+ document: https://www.yuque.com/xlpr/pyxllib.
80
+ Work hard to improve, welcome more assistant partners.
81
+
82
+ # 3 Acknowledge
83
+
84
+ This project uses PyCharm to develop.
85
+ Thanks to [JetBrains'](https://www.jetbrains.com/?from=pyxllib) support
86
+ of [free license for open sourse project development](https://pycharm.iswbm.com/c01/c01_05.html).
@@ -883,7 +883,7 @@ class StrIdxBack:
883
883
  self.keystr = s
884
884
 
885
885
  def delchars(self, pattern, flags=0):
886
- """模仿正则的替换语法
886
+ r""" 模仿正则的替换语法
887
887
  但是不用输入替换目标s,以及目标格式,因为都是删除操作
888
888
 
889
889
  利用正则可以知道被删除的是哪个区间范围
@@ -164,3 +164,57 @@ def cvsecs(time):
164
164
  return time
165
165
 
166
166
  return sum(mult * part for mult, part in zip(factors, reversed(time)))
167
+
168
+
169
+ def find_optimal_page_size(total_items, page_sizes, seen_items=0):
170
+ """
171
+ 找到最优的分页大小,使得最后一页的新样本数尽可能多,已见样本数尽可能少。
172
+ 本函数由gpt-o1生成。
173
+
174
+ :param int total_items: 总的条目数(样本数)。
175
+ :param List[int] page_sizes: 可供选择的分页大小列表。
176
+ :param int seen_items: 已经看过的样本数,默认为0。
177
+ :return: Tuple[int, int, int], 包含最优的分页大小、最后一页的新样本数、最后一页的已见样本数。
178
+
179
+ >>> find_optimal_page_size(64, [2, 5, 10, 14, 20, 50, 100])
180
+ (100, 64, 0)
181
+ >>> find_optimal_page_size(64, [2, 5, 10, 14, 20, 50, 100], seen_items=55)
182
+ (50, 9, 5)
183
+ """
184
+ page_sizes = sorted(set(page_sizes), reverse=True) # 去重并从大到小排序
185
+ max_new_items = -1
186
+ min_seen_items_in_page = total_items + 1 # 初始化为一个大于可能的最大值
187
+ optimal_page_size = None
188
+ total_new_items = total_items - seen_items # 总的新样本数
189
+
190
+ for page_size in page_sizes:
191
+ if page_size <= 0:
192
+ continue # 跳过非正整数的分页大小
193
+
194
+ total_pages = -(-total_items // page_size) # 等价于 math.ceil(total_items / page_size)
195
+ start_index = (total_pages - 1) * page_size + 1
196
+ end_index = min(total_pages * page_size, total_items)
197
+ last_page_indices = range(start_index, end_index + 1)
198
+
199
+ # 计算新样本数和已见样本数
200
+ new_items_in_page = len([i for i in last_page_indices if i > seen_items])
201
+ seen_items_in_page = len([i for i in last_page_indices if i <= seen_items])
202
+
203
+ # 更新最优分页大小
204
+ if new_items_in_page > max_new_items:
205
+ max_new_items = new_items_in_page
206
+ min_seen_items_in_page = seen_items_in_page
207
+ optimal_page_size = page_size
208
+ # 如果已达到最大可能的新样本数且已见样本数为 0,提前退出
209
+ if max_new_items == total_new_items and min_seen_items_in_page == 0:
210
+ break
211
+ elif new_items_in_page == max_new_items and seen_items_in_page < min_seen_items_in_page:
212
+ min_seen_items_in_page = seen_items_in_page
213
+ optimal_page_size = page_size
214
+ if min_seen_items_in_page == 0:
215
+ break
216
+ # 如果当前的 page_size 已经小于或等于最大新样本数,后续的 page_size 不会有更好的结果,可以退出循环
217
+ elif page_size <= max_new_items:
218
+ break
219
+
220
+ return optimal_page_size, max_new_items, min_seen_items_in_page
@@ -781,27 +781,30 @@ class XlprDb(Connection):
781
781
  def pretty_val(v):
782
782
  return round_int(v) if v > 100 else round(v, 2)
783
783
 
784
- chart = Line()
785
- chart.set_title(title)
786
- chart.options['xAxis'][0].update({'min': ls[0][0], 'type': 'time',
787
- # 'minInterval': 3600 * 1000 * 24,
788
- 'name': '时间', 'nameGap': 50, 'nameLocation': 'middle'})
789
- chart.options['yAxis'][0].update({'name': yaxis_name, 'nameGap': 50, 'nameLocation': 'middle'})
790
- # 目前是比较暴力的方法调整排版,后续要研究是不是能更自动灵活些
791
- chart.options['legend'][0].update({'top': '6%', 'icon': 'pin'})
792
- chart.options['grid'] = [{'top': 55 + len(all_users_usaged) * 4, 'containLabel': True}]
793
- chart.options['tooltip'].opts.update({'axisPointer': {'type': 'cross'}, 'trigger': 'item'})
794
-
795
- chart.add_series(f'total{pretty_val(ls[0][1]):g}', to_list([x[1] for x in ls]), areaStyle={})
796
- for user, usaged in all_users_usaged.most_common():
797
- usaged = usaged / ((ls[-1][0] - ls[0][0]).total_seconds() / 3600 + 1e-9)
798
- chart.add_series(f'{user}{pretty_val(usaged):g}',
799
- to_list([x[2].get(user, 0) for x in ls]),
800
- areaStyle={}, stack='Total', emphasis={'focus': 'series'})
801
-
802
- return '<body>' + chart.render_embed() + '</body>', sum(all_users_usaged.values())
803
-
804
- # cdx_edit
784
+ try:
785
+ chart = Line()
786
+ chart.set_title(title)
787
+ chart.options['xAxis'][0].update({'min': ls[0][0], 'type': 'time',
788
+ # 'minInterval': 3600 * 1000 * 24,
789
+ 'name': '时间', 'nameGap': 50, 'nameLocation': 'middle'})
790
+ chart.options['yAxis'][0].update({'name': yaxis_name, 'nameGap': 50, 'nameLocation': 'middle'})
791
+ # 目前是比较暴力的方法调整排版,后续要研究是不是能更自动灵活些
792
+ chart.options['legend'][0].update({'top': '6%', 'icon': 'pin'})
793
+ chart.options['grid'] = [{'top': 55 + len(all_users_usaged) * 4, 'containLabel': True}]
794
+ chart.options['tooltip'].opts.update({'axisPointer': {'type': 'cross'}, 'trigger': 'item'})
795
+
796
+ chart.add_series(f'total{pretty_val(ls[0][1]):g}', to_list([x[1] for x in ls]), areaStyle={})
797
+ for user, usaged in all_users_usaged.most_common():
798
+ usaged = usaged / ((ls[-1][0] - ls[0][0]).total_seconds() / 3600 + 1e-9)
799
+ chart.add_series(f'{user}{pretty_val(usaged):g}',
800
+ to_list([x[2].get(user, 0) for x in ls]),
801
+ areaStyle={}, stack='Total', emphasis={'focus': 'series'})
802
+
803
+ return '<body>' + chart.render_embed() + '</body>', sum(all_users_usaged.values())
804
+ except Exception as e:
805
+ return str(e), 0
806
+
807
+ # cdx_edit
805
808
  def _get_database_trace_total(self, title, yaxis_name, date_trunc, recent, link_name):
806
809
  ls = self.execute(textwrap.dedent(f"""\
807
810
  WITH cte1 AS(
@@ -817,7 +820,6 @@ class XlprDb(Connection):
817
820
  ORDER BY ttime"""), ((utc_now(8) - recent).isoformat(timespec='seconds'),)).fetchall()
818
821
  return self.database_create_stack_chart(title, ls, yaxis_name=yaxis_name)
819
822
 
820
-
821
823
  def _get_database_trace_per_host(self, db, title, yaxis_name, date_trunc, recent, link_name):
822
824
  ls = self.execute(textwrap.dedent(f"""\
823
825
  WITH cte1 AS (
@@ -860,20 +862,20 @@ class XlprDb(Connection):
860
862
  if k == '_total':
861
863
  continue
862
864
  all_database_usaged[k] += v * hours
863
-
865
+
864
866
  for i, x in enumerate(ls):
865
867
  ct = Counter()
866
868
  for k, v in x[1].items():
867
869
  ct[k] += v
868
870
  ls[i] = (x[0], ct, int(x[2]))
869
-
871
+
870
872
  # 2 转图表可视化
871
873
  def to_list(values):
872
874
  return [(x[0], v) for x, v in zip(ls, values)]
873
-
875
+
874
876
  def pretty_val(v):
875
877
  return round_int(v) if v > 100 else round(v, 2)
876
-
878
+
877
879
  chart = Line()
878
880
  chart.set_title(title)
879
881
  chart.options['xAxis'][0].update({'min': ls[0][0], 'type': 'time',
@@ -882,51 +884,52 @@ class XlprDb(Connection):
882
884
  chart.options['yAxis'][0].update({'name': yaxis_name, 'nameGap': 50, 'nameLocation': 'middle'})
883
885
  # 目前是比较暴力的方法调整排版,后续要研究是不是能更自动灵活些
884
886
  chart.options['legend'][0].update({'top': '6%', 'icon': 'pin'})
885
- chart.options['grid'] = [{'top': 55 + len(all_database_usaged) * 4 , 'containLabel': True}]
887
+ chart.options['grid'] = [{'top': 55 + len(all_database_usaged) * 4, 'containLabel': True}]
886
888
  chart.options['tooltip'].opts.update({'axisPointer': {'type': 'cross'}, 'trigger': 'item'})
887
-
888
- chart.add_series(f'total {pretty_val(ls[0][2]/1024/1024/1024):g}', to_list([x[2]/1024/1024/1024 for x in ls]), areaStyle={})
889
+
890
+ #chart.add_series(f'total {pretty_val(ls[0][2] / 1024 / 1024 / 1024):g}',
891
+ # to_list([x[2] / 1024 / 1024 / 1024 for x in ls]), areaStyle={})
889
892
  for database, usaged in all_database_usaged.most_common():
890
893
  usaged = usaged / ((ls[-1][0] - ls[0][0]).total_seconds() / 3600 + 1e-9)
891
- chart.add_series(f'{database} {pretty_val(usaged/1024/1024/1024):g}',
892
- to_list([x[1].get(database, 0)/1024/1024/1024 for x in ls]),
894
+ chart.add_series(f'{database} {pretty_val(usaged / 1024 / 1024 / 1024):g}',
895
+ to_list([x[1].get(database, 0) / 1024 / 1024 / 1024 for x in ls]),
893
896
  areaStyle={}, stack='Total', emphasis={'focus': 'series'})
894
897
  return '<body>' + chart.render_embed() + '</body>'
895
898
 
896
- def dbview_xldb1_memory(self,recent=datetime.timedelta(days=30), date_trunc='hour'):
899
+ def dbview_xldb1_memory(self, recent=datetime.timedelta(days=180), date_trunc='day'):
897
900
  from pyxllib.data.echarts import render_echart_html
898
-
899
- db_list = ['st', 'xlpr', 'stdata', 'kq5034', 'ckz']
901
+
902
+ db_list = ['stdata', 'xlpr', 'st', 'ckz']
900
903
  args = ['数据库大小(GB)', date_trunc, recent, 'xldb1']
901
904
  htmltexts = []
902
905
 
903
- res = self._get_database_trace_total('XLDB1数据库使用近况', *args)
906
+ res = self._get_database_trace_total('xldb1数据库使用近况', *args)
904
907
  htmltexts.append(res)
905
908
 
906
909
  data_stats = []
907
- for idx,db in enumerate(db_list,start=1):
908
- data_stats.append(self._get_database_trace_per_host(db,f'{db}', *args))
910
+ for idx, db in enumerate(db_list, start=1):
911
+ data_stats.append(self._get_database_trace_per_host(db, f'{db}', *args))
909
912
  htmltexts += data_stats
910
913
 
911
914
  self.commit()
912
915
  h = render_echart_html('database_cdx', body='<br/>'.join(htmltexts))
913
916
  return h
914
-
915
- def dbview_xldb2_memory(self, recent=datetime.timedelta(days=30), date_trunc='hour'):
917
+
918
+ def dbview_xldb2_memory(self, recent=datetime.timedelta(days=180), date_trunc='day'):
916
919
  from pyxllib.data.echarts import render_echart_html
917
-
918
- db_list = ['st', 'ragdata']
920
+
921
+ db_list = ['ragdata', 'kq5034']
919
922
  args = ['数据库大小(GB)', date_trunc, recent, 'xldb2']
920
923
  htmltexts = []
921
-
922
- res = self._get_database_trace_total('XLDB2数据库使用近况', *args)
924
+
925
+ res = self._get_database_trace_total('xldb2数据库使用近况', *args)
923
926
  htmltexts.append(res)
924
-
927
+
925
928
  data_stats = []
926
929
  for idx, db in enumerate(db_list, start=1):
927
930
  data_stats.append(self._get_database_trace_per_host(db, f'{db}', *args))
928
931
  htmltexts += data_stats
929
-
932
+
930
933
  self.commit()
931
934
  h = render_echart_html('database_cdx', body='<br/>'.join(htmltexts))
932
935
  return h
@@ -977,7 +980,7 @@ class XlprDb(Connection):
977
980
  h = render_echart_html('cpu_memory', body='<br/>'.join(htmltexts))
978
981
  return h
979
982
 
980
- def dbview_disk_memory(self, recent=datetime.timedelta(days=30), date_trunc='day'):
983
+ def dbview_disk_memory(self, recent=datetime.timedelta(days=360), date_trunc='day'):
981
984
  """ 查看disk硬盘使用近况
982
985
  """
983
986
  from pyxllib.data.echarts import render_echart_html
@@ -20,10 +20,10 @@ class Yuque:
20
20
  语雀请求限制:每小时最多 5000 次请求,每秒最多 100 次请求
21
21
  """
22
22
 
23
- def __init__(self, token, user_id=None):
23
+ def __init__(self, token=None, user_id=None):
24
24
  self.base_url = "https://www.yuque.com/api/v2"
25
25
  self.headers = {
26
- "X-Auth-Token": token,
26
+ "X-Auth-Token": token or os.environ.get('YUQUE_TOKEN'),
27
27
  "Content-Type": "application/json"
28
28
  }
29
29
  self._user_id = user_id
@@ -140,7 +140,7 @@ def gen_file_filter(s):
140
140
 
141
141
 
142
142
  def getfiles(root, filter_rule=None):
143
- """对os.walk进一步封装,返回所有匹配的文件
143
+ r""" 对os.walk进一步封装,返回所有匹配的文件
144
144
 
145
145
  可以这样遍历一个目录下的所有文件:
146
146
  for f in getfiles(r'C:\pycode\code4101py', r'.py'):
@@ -923,7 +923,7 @@ class XlPath(type(pathlib.Path())):
923
923
  res.add(p.relative_to(self).as_posix())
924
924
  return res
925
925
 
926
- def relpath(self, ref_dir) -> str:
926
+ def relpath(self, ref_dir) -> 'XlPath':
927
927
  r""" 当前路径,相对于ref_dir的路径位置
928
928
 
929
929
  >>> File('C:/a/b/c.txt').relpath('C:/a/')
@@ -766,7 +766,7 @@ class XlCell(openpyxl.cell.cell.Cell): # 适用于 openpyxl.cell.cell.MergedCel
766
766
  # openpyxl的机制,如果没有配置日期格式,读取到的是默认的'mm-dd-yy',其实在中文场景,默认格式应该是后者
767
767
  if fmt == 'mm-dd-yy':
768
768
  return 'yyyy/m/d' # 中文的默认日期格式
769
- elif fmt == 'yyyy\-mm\-dd': # 不知道为什么会有提取到这种\的情况,先暴力替换了
769
+ elif fmt == r'yyyy\-mm\-dd': # 不知道为什么会有提取到这种\的情况,先暴力替换了
770
770
  fmt = 'yyyy-mm-dd'
771
771
  return fmt
772
772