pyxllib 0.3.112__tar.gz → 0.3.113__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.112/pyxllib.egg-info → pyxllib-0.3.113}/PKG-INFO +1 -1
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/algo/pupil.py +7 -2
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/algo/stat.py +2 -0
- pyxllib-0.3.113/pyxllib/prog/cachetools.py +54 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113/pyxllib.egg-info}/PKG-INFO +1 -1
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib.egg-info/SOURCES.txt +1 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/setup.py +1 -1
- {pyxllib-0.3.112 → pyxllib-0.3.113}/LICENSE +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/MANIFEST.in +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/README.md +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/__init__.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/algo/__init__.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/algo/disjoint.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/algo/geo.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/algo/intervals.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/algo/matcher.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/algo/newbie.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/algo/shapelylib.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/algo/specialist.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/algo/treelib.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/algo/unitlib.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/cv/__init__.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/cv/expert.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/cv/imfile.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/cv/imhash.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/cv/pupil.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/cv/rgbfmt.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/cv/trackbartools.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/cv/xlcvlib.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/cv/xlpillib.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/data/__init__.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/data/echarts.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/data/jsonlib.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/data/oss.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/data/pglib.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/data/sqlite.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/data/sqllib.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/ext/JLineViewer.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/ext/__init__.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/ext/autogui/__init__.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/ext/autogui/autogui.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/ext/autogui/virtualkey.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/ext/demolib.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/ext/drissionlib.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/ext/kq5034lib.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/ext/old.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/ext/qt.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/ext/robustprocfile.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/ext/seleniumlib.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/ext/tk.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/ext/unixlib.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/ext/utools.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/ext/webhook.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/ext/win32lib.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/ext/yuquelib.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/file/__init__.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/file/docxlib.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/file/gitlib.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/file/libreoffice.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/file/movielib.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/file/newbie.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/file/onenotelib.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/file/packlib/__init__.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/file/packlib/zipfile.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/file/pdflib.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/file/pupil.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/file/specialist/__init__.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/file/specialist/dirlib.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/file/specialist/download.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/file/specialist/filelib.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/file/xlsxlib.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/prog/__init__.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/prog/deprecatedlib.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/prog/ipyexec.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/prog/multiprocs.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/prog/newbie.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/prog/pupil.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/prog/sitepackages.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/prog/specialist/__init__.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/prog/specialist/bc.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/prog/specialist/browser.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/prog/specialist/common.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/prog/specialist/datetime.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/prog/specialist/tictoc.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/prog/specialist/xllog.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/prog/xlosenv.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/stdlib/__init__.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/stdlib/tablepyxl/__init__.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/stdlib/tablepyxl/style.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/stdlib/tablepyxl/tablepyxl.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/text/__init__.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/text/ahocorasick.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/text/charclasslib.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/text/jiebalib.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/text/jinjalib.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/text/jscode.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/text/latex/__init__.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/text/levenshtein.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/text/nestenv.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/text/newbie.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/text/pupil/__init__.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/text/pupil/common.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/text/pupil/xlalign.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/text/pycode.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/text/specialist/__init__.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/text/specialist/common.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/text/specialist/ptag.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/text/spellchecker.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/text/vbacode.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/text/xmllib.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/xl.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib/xlcv.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib.egg-info/dependency_links.txt +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib.egg-info/requires.txt +2 -2
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxllib.egg-info/top_level.txt +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/__init__.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ai/__init__.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ai/clientlib.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ai/specialist.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ai/torch_app.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ai/xlpaddle.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ai/xltorch.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/data/__init__.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/data/coco.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/data/datacls.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/data/datasets.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/data/gptlib.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/data/icdar/__init__.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/data/icdar/deteval.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/data/icdar/icdar2013.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/data/icdar/iou.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/data/icdar/rrc_evaluation_funcs_1_1.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/data/imtextline.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/data/labelme.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/data/removeline.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/data/specialist.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/data/tiktokenlib.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/eval/__init__.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/paddleocr.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/__init__.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/configs/rec/multi_language/generate_multi_language_configs.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/data/__init__.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/data/imaug/ColorJitter.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/data/imaug/__init__.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/data/imaug/copy_paste.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/data/imaug/east_process.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/data/imaug/gen_table_mask.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/data/imaug/iaa_augment.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/data/imaug/label_ops.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/data/imaug/make_border_map.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/data/imaug/make_pse_gt.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/data/imaug/make_shrink_map.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/data/imaug/operators.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/data/imaug/pg_process.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/data/imaug/randaugment.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/data/imaug/random_crop_data.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/data/imaug/rec_img_aug.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/data/imaug/sast_process.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/data/imaug/text_image_aug/__init__.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/data/imaug/text_image_aug/augment.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/data/imaug/text_image_aug/warp_mls.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/data/lmdb_dataset.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/data/pgnet_dataset.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/data/pubtab_dataset.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/data/simple_dataset.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/losses/__init__.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/losses/ace_loss.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/losses/basic_loss.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/losses/center_loss.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/losses/cls_loss.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/losses/combined_loss.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/losses/det_basic_loss.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/losses/det_db_loss.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/losses/det_east_loss.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/losses/det_pse_loss.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/losses/det_sast_loss.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/losses/distillation_loss.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/losses/e2e_pg_loss.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/losses/kie_sdmgr_loss.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/losses/rec_aster_loss.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/losses/rec_att_loss.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/losses/rec_ctc_loss.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/losses/rec_enhanced_ctc_loss.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/losses/rec_nrtr_loss.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/losses/rec_sar_loss.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/losses/rec_srn_loss.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/losses/table_att_loss.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/metrics/__init__.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/metrics/cls_metric.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/metrics/det_metric.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/metrics/distillation_metric.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/metrics/e2e_metric.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/metrics/eval_det_iou.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/metrics/kie_metric.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/metrics/rec_metric.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/metrics/table_metric.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/modeling/architectures/__init__.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/modeling/architectures/base_model.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/modeling/architectures/distillation_model.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/modeling/backbones/__init__.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/modeling/backbones/det_mobilenet_v3.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/modeling/backbones/det_resnet_vd.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/modeling/backbones/det_resnet_vd_sast.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/modeling/backbones/e2e_resnet_vd_pg.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/modeling/backbones/kie_unet_sdmgr.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/modeling/backbones/rec_mobilenet_v3.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/modeling/backbones/rec_mv1_enhance.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/modeling/backbones/rec_nrtr_mtb.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/modeling/backbones/rec_resnet_31.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/modeling/backbones/rec_resnet_aster.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/modeling/backbones/rec_resnet_fpn.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/modeling/backbones/rec_resnet_vd.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/modeling/heads/__init__.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/modeling/heads/cls_head.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/modeling/heads/det_db_head.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/modeling/heads/det_east_head.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/modeling/heads/det_pse_head.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/modeling/heads/det_sast_head.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/modeling/heads/e2e_pg_head.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/modeling/heads/kie_sdmgr_head.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/modeling/heads/multiheadAttention.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/modeling/heads/rec_aster_head.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/modeling/heads/rec_att_head.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/modeling/heads/rec_ctc_head.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/modeling/heads/rec_nrtr_head.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/modeling/heads/rec_sar_head.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/modeling/heads/rec_srn_head.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/modeling/heads/self_attention.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/modeling/heads/table_att_head.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/modeling/necks/__init__.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/modeling/necks/db_fpn.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/modeling/necks/east_fpn.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/modeling/necks/fpn.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/modeling/necks/pg_fpn.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/modeling/necks/rnn.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/modeling/necks/sast_fpn.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/modeling/necks/table_fpn.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/modeling/transforms/__init__.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/modeling/transforms/stn.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/modeling/transforms/tps.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/modeling/transforms/tps_spatial_transformer.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/optimizer/__init__.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/optimizer/learning_rate.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/optimizer/lr_scheduler.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/optimizer/optimizer.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/optimizer/regularizer.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/postprocess/__init__.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/postprocess/cls_postprocess.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/postprocess/db_postprocess.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/postprocess/east_postprocess.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/postprocess/locality_aware_nms.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/postprocess/pg_postprocess.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/postprocess/pse_postprocess/__init__.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/postprocess/pse_postprocess/pse/__init__.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/postprocess/pse_postprocess/pse/setup.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/postprocess/pse_postprocess/pse_postprocess.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/postprocess/rec_postprocess.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/postprocess/sast_postprocess.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/tools/__init__.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/tools/eval.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/tools/export_center.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/tools/export_model.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/tools/infer/predict_cls.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/tools/infer/predict_det.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/tools/infer/predict_e2e.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/tools/infer/predict_rec.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/tools/infer/predict_system.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/tools/infer/utility.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/tools/infer_cls.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/tools/infer_det.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/tools/infer_e2e.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/tools/infer_kie.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/tools/infer_rec.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/tools/infer_table.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/tools/program.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/tools/test_hubserving.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/tools/train.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/tools/xlprog.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/EN_symbol_dict.txt +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/__init__.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/dict/ar_dict.txt +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/dict/arabic_dict.txt +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/dict/be_dict.txt +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/dict/bg_dict.txt +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/dict/chinese_cht_dict.txt +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/dict/cyrillic_dict.txt +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/dict/devanagari_dict.txt +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/dict/en_dict.txt +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/dict/fa_dict.txt +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/dict/french_dict.txt +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/dict/german_dict.txt +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/dict/hi_dict.txt +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/dict/it_dict.txt +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/dict/japan_dict.txt +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/dict/ka_dict.txt +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/dict/korean_dict.txt +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/dict/latin_dict.txt +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/dict/mr_dict.txt +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/dict/ne_dict.txt +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/dict/oc_dict.txt +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/dict/pu_dict.txt +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/dict/rs_dict.txt +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/dict/rsc_dict.txt +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/dict/ru_dict.txt +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/dict/ta_dict.txt +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/dict/table_dict.txt +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/dict/table_structure_dict.txt +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/dict/te_dict.txt +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/dict/ug_dict.txt +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/dict/uk_dict.txt +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/dict/ur_dict.txt +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/dict/xi_dict.txt +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/dict90.txt +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/e2e_metric/Deteval.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/e2e_metric/polygon_fast.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/e2e_utils/extract_batchsize.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/e2e_utils/extract_textpoint_fast.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/e2e_utils/extract_textpoint_slow.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/e2e_utils/pgnet_pp_utils.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/e2e_utils/visual.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/en_dict.txt +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/gen_label.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/ic15_dict.txt +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/iou.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/logging.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/network.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/ppocr_keys_v1.txt +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/profiler.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/save_load.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/stats.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppocr/utils/utility.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppstructure/__init__.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppstructure/predict_system.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppstructure/table/__init__.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppstructure/table/eval_table.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppstructure/table/matcher.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppstructure/table/predict_structure.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppstructure/table/predict_table.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppstructure/table/table_metric/__init__.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppstructure/table/table_metric/parallel.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppstructure/table/table_metric/table_metric.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppstructure/table/tablepyxl/__init__.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppstructure/table/tablepyxl/style.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppstructure/table/tablepyxl/tablepyxl.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/ppstructure/utility.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/pyxlpr/xlai.py +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/requirements.txt +0 -0
- {pyxllib-0.3.112 → pyxllib-0.3.113}/setup.cfg +0 -0
@@ -281,7 +281,7 @@ class ValuesStat2:
|
|
281
281
|
desc = self._summary(unit, precision, percentile_count)
|
282
282
|
return '\t'.join([f"{key}: {value}" for key, value in desc.items()])
|
283
283
|
|
284
|
-
def calculate_ratios(self, x_values, fmt=False):
|
284
|
+
def calculate_ratios(self, x_values, fmt=False, unit=False):
|
285
285
|
""" 计算并返回一个字典,其中包含每个 x_values 中的值与其小于等于该值的元素的比例
|
286
286
|
|
287
287
|
:param x_values: 一个数值列表,用来计算每个数值小于等于它的元素的比例
|
@@ -297,8 +297,13 @@ class ValuesStat2:
|
|
297
297
|
ratio = 0
|
298
298
|
ratio_dict[x] = ratio
|
299
299
|
|
300
|
+
def unit_func(x):
|
301
|
+
if unit:
|
302
|
+
return human_readable_number(x, unit, 4)
|
303
|
+
return x
|
304
|
+
|
300
305
|
if fmt:
|
301
|
-
ratio_dict = {x: f'{ratio:.2%}' for x, ratio in ratio_dict.items()}
|
306
|
+
ratio_dict = {unit_func(x): f'{ratio:.2%}' for x, ratio in ratio_dict.items()}
|
302
307
|
|
303
308
|
return ratio_dict
|
304
309
|
|
@@ -0,0 +1,54 @@
|
|
1
|
+
#!/usr/bin/env python3
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
# @Author : 陈坤泽
|
4
|
+
# @Email : 877362867@qq.com
|
5
|
+
# @Date : 2024/05/29
|
6
|
+
|
7
|
+
from pyxllib.prog.pupil import check_install_package
|
8
|
+
|
9
|
+
# cachetools,通用缓存工具,适用范围更广
|
10
|
+
check_install_package('cachetools')
|
11
|
+
# cached-property,类属性特用工具,相对比较简洁些
|
12
|
+
check_install_package('cached-property')
|
13
|
+
|
14
|
+
# 对于普通函数,一般用lru_cache即可
|
15
|
+
from functools import lru_cache
|
16
|
+
import threading
|
17
|
+
|
18
|
+
from cachetools import cached, LRUCache, TTLCache
|
19
|
+
|
20
|
+
# 官方文档:https://pypi.org/project/cached-property/
|
21
|
+
from cached_property import cached_property
|
22
|
+
from cached_property import threaded_cached_property # 线程安全
|
23
|
+
from cached_property import cached_property_with_ttl # 限时缓存,单位秒
|
24
|
+
from cached_property import threaded_cached_property_with_ttl # 线程 + 限时
|
25
|
+
|
26
|
+
|
27
|
+
# 进一步封装的更通用、自己常用的装饰器
|
28
|
+
|
29
|
+
def xlcache(maxsize=128, *, ttl=None, lock=None, property=False):
|
30
|
+
def decorator(func):
|
31
|
+
if property:
|
32
|
+
if ttl is not None:
|
33
|
+
if lock:
|
34
|
+
# 使用带有时间限制和线程安全的缓存属性
|
35
|
+
return threaded_cached_property_with_ttl(ttl)(func)
|
36
|
+
else:
|
37
|
+
# 使用带有时间限制但非线程安全的缓存属性
|
38
|
+
return cached_property_with_ttl(ttl)(func)
|
39
|
+
else:
|
40
|
+
if lock:
|
41
|
+
# 使用线程安全的缓存属性
|
42
|
+
return threaded_cached_property(func)
|
43
|
+
else:
|
44
|
+
# 使用普通的缓存属性
|
45
|
+
return cached_property(func)
|
46
|
+
else:
|
47
|
+
lock2 = threading.RLock() if lock is True else lock
|
48
|
+
if ttl is None:
|
49
|
+
return cached(LRUCache(maxsize), lock=lock2)(func)
|
50
|
+
else:
|
51
|
+
cache = TTLCache(maxsize=maxsize, ttl=ttl)
|
52
|
+
return cached(cache, lock=lock2)(func)
|
53
|
+
|
54
|
+
return decorator
|
@@ -30,7 +30,7 @@ _dir = Path(__file__).parent
|
|
30
30
|
|
31
31
|
setup(
|
32
32
|
name='pyxllib', # pip 安装时用的名字
|
33
|
-
version='0.3.
|
33
|
+
version='0.3.113', # 当前版本,每次更新上传到pypi都需要修改; 第4位版本号一般是修紧急bug
|
34
34
|
author='code4101',
|
35
35
|
author_email='877362867@qq.com',
|
36
36
|
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
|
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
|