pyxllib 0.3.128__tar.gz → 0.3.129__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.
- {pyxllib-0.3.128/pyxllib.egg-info → pyxllib-0.3.129}/PKG-INFO +1 -1
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/data/pglib.py +49 -46
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/ext/yuquelib.py +2 -2
- {pyxllib-0.3.128 → pyxllib-0.3.129/pyxllib.egg-info}/PKG-INFO +1 -1
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib.egg-info/requires.txt +14 -13
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/openai2/_core/chat.py +45 -6
- {pyxllib-0.3.128 → pyxllib-0.3.129}/setup.py +3 -1
- {pyxllib-0.3.128 → pyxllib-0.3.129}/LICENSE +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/MANIFEST.in +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/README.md +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/__init__.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/algo/__init__.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/algo/disjoint.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/algo/geo.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/algo/intervals.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/algo/matcher.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/algo/newbie.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/algo/pupil.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/algo/shapelylib.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/algo/specialist.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/algo/stat.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/algo/treelib.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/algo/unitlib.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/cv/__init__.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/cv/expert.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/cv/imfile.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/cv/imhash.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/cv/pupil.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/cv/rgbfmt.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/cv/trackbartools.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/cv/xlcvlib.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/cv/xlpillib.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/data/__init__.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/data/echarts.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/data/jsonlib.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/data/oss.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/data/sqlite.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/data/sqllib.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/ext/JLineViewer.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/ext/__init__.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/ext/autogui/__init__.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/ext/autogui/autogui.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/ext/autogui/virtualkey.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/ext/demolib.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/ext/drissionlib.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/ext/kq5034lib.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/ext/old.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/ext/qt.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/ext/robustprocfile.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/ext/seleniumlib.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/ext/tk.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/ext/unixlib.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/ext/utools.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/ext/webhook.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/ext/win32lib.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/file/__init__.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/file/docxlib.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/file/gitlib.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/file/libreoffice.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/file/movielib.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/file/newbie.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/file/onenotelib.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/file/packlib/__init__.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/file/packlib/zipfile.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/file/pdflib.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/file/pupil.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/file/specialist/__init__.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/file/specialist/dirlib.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/file/specialist/download.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/file/specialist/filelib.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/file/xlsxlib.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/prog/__init__.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/prog/cachetools.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/prog/deprecatedlib.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/prog/ipyexec.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/prog/multiprocs.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/prog/newbie.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/prog/pupil.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/prog/scheduler.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/prog/sitepackages.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/prog/specialist/__init__.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/prog/specialist/bc.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/prog/specialist/browser.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/prog/specialist/common.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/prog/specialist/datetime.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/prog/specialist/tictoc.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/prog/specialist/xllog.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/prog/xlosenv.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/stdlib/__init__.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/stdlib/tablepyxl/__init__.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/stdlib/tablepyxl/style.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/stdlib/tablepyxl/tablepyxl.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/text/__init__.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/text/ahocorasick.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/text/charclasslib.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/text/jiebalib.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/text/jinjalib.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/text/jscode.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/text/latex/__init__.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/text/levenshtein.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/text/nestenv.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/text/newbie.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/text/pupil/__init__.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/text/pupil/common.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/text/pupil/xlalign.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/text/pycode.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/text/specialist/__init__.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/text/specialist/common.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/text/specialist/ptag.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/text/spellchecker.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/text/templates/echart_base.html +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/text/templates/highlight_code.html +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/text/templates/latex_editor.html +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/text/vbacode.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/text/xmllib.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/xl.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib/xlcv.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib.egg-info/SOURCES.txt +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib.egg-info/dependency_links.txt +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxllib.egg-info/top_level.txt +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/__init__.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ai/__init__.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ai/clientlib.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ai/specialist.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ai/torch_app.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ai/xlpaddle.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ai/xltorch.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/data/__init__.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/data/coco.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/data/datacls.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/data/datasets.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/data/gptlib.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/data/icdar/__init__.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/data/icdar/deteval.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/data/icdar/icdar2013.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/data/icdar/iou.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/data/icdar/rrc_evaluation_funcs_1_1.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/data/imtextline.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/data/labelme.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/data/removeline.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/data/specialist.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/data/tiktokenlib.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/eval/__init__.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/openai2/__init__.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/openai2/_core/chat_in_cmd.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/openai2/_core/group_chat.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/openai2/openai2.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/paddleocr.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/__init__.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/configs/rec/multi_language/generate_multi_language_configs.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/data/__init__.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/data/imaug/ColorJitter.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/data/imaug/__init__.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/data/imaug/copy_paste.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/data/imaug/east_process.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/data/imaug/gen_table_mask.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/data/imaug/iaa_augment.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/data/imaug/label_ops.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/data/imaug/make_border_map.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/data/imaug/make_pse_gt.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/data/imaug/make_shrink_map.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/data/imaug/operators.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/data/imaug/pg_process.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/data/imaug/randaugment.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/data/imaug/random_crop_data.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/data/imaug/rec_img_aug.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/data/imaug/sast_process.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/data/imaug/text_image_aug/__init__.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/data/imaug/text_image_aug/augment.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/data/imaug/text_image_aug/warp_mls.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/data/lmdb_dataset.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/data/pgnet_dataset.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/data/pubtab_dataset.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/data/simple_dataset.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/losses/__init__.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/losses/ace_loss.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/losses/basic_loss.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/losses/center_loss.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/losses/cls_loss.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/losses/combined_loss.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/losses/det_basic_loss.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/losses/det_db_loss.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/losses/det_east_loss.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/losses/det_pse_loss.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/losses/det_sast_loss.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/losses/distillation_loss.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/losses/e2e_pg_loss.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/losses/kie_sdmgr_loss.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/losses/rec_aster_loss.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/losses/rec_att_loss.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/losses/rec_ctc_loss.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/losses/rec_enhanced_ctc_loss.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/losses/rec_nrtr_loss.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/losses/rec_sar_loss.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/losses/rec_srn_loss.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/losses/table_att_loss.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/metrics/__init__.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/metrics/cls_metric.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/metrics/det_metric.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/metrics/distillation_metric.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/metrics/e2e_metric.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/metrics/eval_det_iou.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/metrics/kie_metric.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/metrics/rec_metric.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/metrics/table_metric.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/modeling/architectures/__init__.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/modeling/architectures/base_model.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/modeling/architectures/distillation_model.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/modeling/backbones/__init__.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/modeling/backbones/det_mobilenet_v3.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/modeling/backbones/det_resnet_vd.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/modeling/backbones/det_resnet_vd_sast.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/modeling/backbones/e2e_resnet_vd_pg.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/modeling/backbones/kie_unet_sdmgr.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/modeling/backbones/rec_mobilenet_v3.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/modeling/backbones/rec_mv1_enhance.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/modeling/backbones/rec_nrtr_mtb.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/modeling/backbones/rec_resnet_31.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/modeling/backbones/rec_resnet_aster.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/modeling/backbones/rec_resnet_fpn.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/modeling/backbones/rec_resnet_vd.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/modeling/heads/__init__.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/modeling/heads/cls_head.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/modeling/heads/det_db_head.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/modeling/heads/det_east_head.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/modeling/heads/det_pse_head.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/modeling/heads/det_sast_head.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/modeling/heads/e2e_pg_head.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/modeling/heads/kie_sdmgr_head.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/modeling/heads/multiheadAttention.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/modeling/heads/rec_aster_head.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/modeling/heads/rec_att_head.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/modeling/heads/rec_ctc_head.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/modeling/heads/rec_nrtr_head.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/modeling/heads/rec_sar_head.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/modeling/heads/rec_srn_head.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/modeling/heads/self_attention.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/modeling/heads/table_att_head.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/modeling/necks/__init__.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/modeling/necks/db_fpn.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/modeling/necks/east_fpn.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/modeling/necks/fpn.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/modeling/necks/pg_fpn.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/modeling/necks/rnn.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/modeling/necks/sast_fpn.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/modeling/necks/table_fpn.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/modeling/transforms/__init__.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/modeling/transforms/stn.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/modeling/transforms/tps.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/modeling/transforms/tps_spatial_transformer.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/optimizer/__init__.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/optimizer/learning_rate.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/optimizer/lr_scheduler.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/optimizer/optimizer.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/optimizer/regularizer.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/postprocess/__init__.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/postprocess/cls_postprocess.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/postprocess/db_postprocess.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/postprocess/east_postprocess.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/postprocess/locality_aware_nms.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/postprocess/pg_postprocess.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/postprocess/pse_postprocess/__init__.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/postprocess/pse_postprocess/pse/__init__.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/postprocess/pse_postprocess/pse/setup.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/postprocess/pse_postprocess/pse_postprocess.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/postprocess/rec_postprocess.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/postprocess/sast_postprocess.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/tools/__init__.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/tools/eval.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/tools/export_center.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/tools/export_model.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/tools/infer/predict_cls.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/tools/infer/predict_det.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/tools/infer/predict_e2e.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/tools/infer/predict_rec.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/tools/infer/predict_system.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/tools/infer/utility.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/tools/infer_cls.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/tools/infer_det.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/tools/infer_e2e.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/tools/infer_kie.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/tools/infer_rec.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/tools/infer_table.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/tools/program.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/tools/test_hubserving.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/tools/train.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/tools/xlprog.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/EN_symbol_dict.txt +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/__init__.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/dict/ar_dict.txt +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/dict/arabic_dict.txt +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/dict/be_dict.txt +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/dict/bg_dict.txt +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/dict/chinese_cht_dict.txt +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/dict/cyrillic_dict.txt +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/dict/devanagari_dict.txt +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/dict/en_dict.txt +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/dict/fa_dict.txt +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/dict/french_dict.txt +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/dict/german_dict.txt +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/dict/hi_dict.txt +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/dict/it_dict.txt +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/dict/japan_dict.txt +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/dict/ka_dict.txt +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/dict/korean_dict.txt +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/dict/latin_dict.txt +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/dict/mr_dict.txt +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/dict/ne_dict.txt +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/dict/oc_dict.txt +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/dict/pu_dict.txt +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/dict/rs_dict.txt +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/dict/rsc_dict.txt +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/dict/ru_dict.txt +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/dict/ta_dict.txt +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/dict/table_dict.txt +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/dict/table_structure_dict.txt +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/dict/te_dict.txt +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/dict/ug_dict.txt +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/dict/uk_dict.txt +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/dict/ur_dict.txt +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/dict/xi_dict.txt +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/dict90.txt +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/e2e_metric/Deteval.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/e2e_metric/polygon_fast.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/e2e_utils/extract_batchsize.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/e2e_utils/extract_textpoint_fast.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/e2e_utils/extract_textpoint_slow.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/e2e_utils/pgnet_pp_utils.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/e2e_utils/visual.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/en_dict.txt +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/gen_label.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/ic15_dict.txt +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/iou.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/logging.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/network.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/ppocr_keys_v1.txt +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/profiler.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/save_load.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/stats.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppocr/utils/utility.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppstructure/__init__.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppstructure/predict_system.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppstructure/table/__init__.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppstructure/table/eval_table.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppstructure/table/matcher.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppstructure/table/predict_structure.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppstructure/table/predict_table.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppstructure/table/table_metric/__init__.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppstructure/table/table_metric/parallel.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppstructure/table/table_metric/table_metric.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppstructure/table/tablepyxl/__init__.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppstructure/table/tablepyxl/style.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppstructure/table/tablepyxl/tablepyxl.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/ppstructure/utility.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/pyxlpr/xlai.py +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/requirements.txt +0 -0
- {pyxllib-0.3.128 → pyxllib-0.3.129}/setup.cfg +0 -0
@@ -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
|
-
|
785
|
-
|
786
|
-
|
787
|
-
|
788
|
-
|
789
|
-
|
790
|
-
|
791
|
-
|
792
|
-
|
793
|
-
|
794
|
-
|
795
|
-
|
796
|
-
|
797
|
-
|
798
|
-
|
799
|
-
|
800
|
-
|
801
|
-
|
802
|
-
|
803
|
-
|
804
|
-
|
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
|
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}',
|
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=
|
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 = ['
|
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('
|
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=
|
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 = ['
|
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('
|
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=
|
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
|
@@ -23,31 +23,32 @@ pandas>=0.23.4
|
|
23
23
|
pillow
|
24
24
|
|
25
25
|
[xlai]
|
26
|
-
pillow
|
27
26
|
visdom
|
28
27
|
opsdroid-get-image-size
|
29
|
-
opencv-python
|
30
28
|
pynvml
|
29
|
+
pillow
|
30
|
+
opencv-python
|
31
31
|
|
32
32
|
[xlall]
|
33
|
-
pillow
|
34
|
-
fastapi
|
35
|
-
xlrd
|
36
|
-
flask-wtf
|
37
|
-
sentencepiece
|
38
|
-
flask
|
39
33
|
zhconv
|
40
|
-
ujson
|
41
|
-
flask-jwt-extended
|
42
34
|
arts
|
43
35
|
uvicorn
|
44
|
-
|
36
|
+
html2text
|
37
|
+
openai2
|
45
38
|
opsdroid-get-image-size
|
39
|
+
fastapi
|
40
|
+
flask-restful
|
41
|
+
flask-jwt-extended
|
42
|
+
sentencepiece
|
43
|
+
ujson
|
44
|
+
pillow
|
45
|
+
flask
|
46
|
+
xlrd
|
47
|
+
flask-wtf
|
46
48
|
flask-cors
|
47
49
|
opencv-python
|
48
|
-
html2text
|
49
50
|
|
50
51
|
[xlcv]
|
52
|
+
opsdroid-get-image-size
|
51
53
|
pillow
|
52
54
|
opencv-python
|
53
|
-
opsdroid-get-image-size
|
@@ -15,6 +15,7 @@ import logging
|
|
15
15
|
from unittest.mock import MagicMock
|
16
16
|
import math
|
17
17
|
from types import SimpleNamespace
|
18
|
+
from typing import Union
|
18
19
|
|
19
20
|
import requests
|
20
21
|
from loguru import logger as loguru_logger
|
@@ -132,11 +133,11 @@ class Chat:
|
|
132
133
|
|
133
134
|
recently_request_data: dict # 最近一次请求所用的参数
|
134
135
|
default_api_key = None
|
135
|
-
default_base_url = "https://
|
136
|
+
default_base_url = "https://platform.llmprovider.ai/v1"
|
136
137
|
|
137
138
|
def __init__(self,
|
138
139
|
# kwargs
|
139
|
-
api_key: str
|
140
|
+
api_key: Union[str, AKPool] = None,
|
140
141
|
base_url: str = None, # base_url 参数用于修改基础URL
|
141
142
|
timeout=None,
|
142
143
|
max_retries=None,
|
@@ -176,7 +177,7 @@ class Chat:
|
|
176
177
|
def __1_原作者提供功能(self):
|
177
178
|
pass
|
178
179
|
|
179
|
-
def reset_api_key(self, api_key: str
|
180
|
+
def reset_api_key(self, api_key: Union[str, AKPool]):
|
180
181
|
if isinstance(api_key, AKPool):
|
181
182
|
self._akpool = api_key
|
182
183
|
else:
|
@@ -283,7 +284,7 @@ class Chat:
|
|
283
284
|
def fetch_messages(self):
|
284
285
|
return list(self._messages)
|
285
286
|
|
286
|
-
def add_dialogs(self, *ms: dict
|
287
|
+
def add_dialogs(self, *ms: Union[dict, system_msg, user_msg, assistant_msg]):
|
287
288
|
'''
|
288
289
|
添加历史对话
|
289
290
|
'''
|
@@ -563,7 +564,7 @@ class Chat2:
|
|
563
564
|
url = f"{self.base_url}/chat/all-tools"
|
564
565
|
|
565
566
|
headers = self.headers.copy()
|
566
|
-
headers['Content-Type'] = 'application/json'
|
567
|
+
# headers['Content-Type'] = 'application/json'
|
567
568
|
|
568
569
|
# 2 api初步配置
|
569
570
|
payload = self.session_state.copy()
|
@@ -586,7 +587,8 @@ class Chat2:
|
|
586
587
|
self._upload_image(image, parent_payload=payload)
|
587
588
|
|
588
589
|
# 5 请求
|
589
|
-
resp = requests.post(url, headers=headers, data=json.dumps(payload))
|
590
|
+
# resp = requests.post(url, headers=headers, data=json.dumps(payload))
|
591
|
+
resp = requests.post(url, headers=headers, json=payload) # 我觉得应该可以改这样调用,但还没测试
|
590
592
|
resp_json = resp.json()
|
591
593
|
|
592
594
|
# 6 保存状态
|
@@ -597,6 +599,43 @@ class Chat2:
|
|
597
599
|
return '\n\n'.join(resp_json['contents'][-1]['message']['content']['parts'])
|
598
600
|
|
599
601
|
|
602
|
+
class DifyChat:
|
603
|
+
default_base_url = 'http://localhost'
|
604
|
+
|
605
|
+
def __init__(self, app_key, *,
|
606
|
+
conversation_id=None,
|
607
|
+
user=None,
|
608
|
+
base_url=None):
|
609
|
+
self.app_key = app_key
|
610
|
+
self.base_url = base_url or self.default_base_url
|
611
|
+
|
612
|
+
self.headers = {
|
613
|
+
'Authorization': f'Bearer {self.app_key}',
|
614
|
+
}
|
615
|
+
|
616
|
+
self.conversation_state = {
|
617
|
+
'inputs': {},
|
618
|
+
# 'response_mode': 'streaming',
|
619
|
+
'conversation_id': conversation_id or '',
|
620
|
+
'user': user or 'code4101',
|
621
|
+
}
|
622
|
+
|
623
|
+
def query(self, query, *, files=None, images=None):
|
624
|
+
""" files、images等后期再加
|
625
|
+
"""
|
626
|
+
# 1 请求
|
627
|
+
payload = self.conversation_state.copy()
|
628
|
+
payload['query'] = query
|
629
|
+
resp = requests.post(f'{self.base_url}/v1/chat-messages',
|
630
|
+
headers=self.headers, json=payload)
|
631
|
+
resp_json = resp.json() # 如果需要可以打印这个字典看结构
|
632
|
+
|
633
|
+
# 2 保存状态
|
634
|
+
self.conversation_state['conversation_id'] = resp_json.get('conversation_id', '')
|
635
|
+
|
636
|
+
return resp_json['answer']
|
637
|
+
|
638
|
+
|
600
639
|
def __2_信息摘要():
|
601
640
|
pass
|
602
641
|
|
@@ -41,14 +41,16 @@ flask-jwt-extended
|
|
41
41
|
fastapi
|
42
42
|
arts
|
43
43
|
uvicorn
|
44
|
+
openai2
|
44
45
|
"""
|
45
46
|
# pywin32
|
47
|
+
# openai2里有个import arts的东西,这个arts才是作者原本的库
|
46
48
|
|
47
49
|
_dir = Path(__file__).parent
|
48
50
|
|
49
51
|
setup(
|
50
52
|
name='pyxllib', # pip 安装时用的名字
|
51
|
-
version='0.3.
|
53
|
+
version='0.3.129', # 当前版本,每次更新上传到pypi都需要修改; 第4位版本号一般是修紧急bug
|
52
54
|
author='code4101',
|
53
55
|
author_email='877362867@qq.com',
|
54
56
|
url='https://github.com/XLPRUtils/pyxllib',
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|