KL-Py 0.4.3__tar.gz → 0.4.5__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.
- {kl_py-0.4.3 → kl_py-0.4.5}/PKG-INFO +2 -1
- {kl_py-0.4.3 → kl_py-0.4.5}/pyproject.toml +3 -2
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/KL_Py.py +114 -16
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/_custom_sqlite.py +3 -1
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/_translate.py +4 -2
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/_web_translate.py +1 -0
- kl_py-0.4.5/src/KL_Py/requests/backports/zstd/__init__.py +262 -0
- kl_py-0.4.5/src/KL_Py/requests/backports/zstd/__init__.pyi +297 -0
- kl_py-0.4.5/src/KL_Py/requests/backports/zstd/_cffi/__init__.py +245 -0
- kl_py-0.4.5/src/KL_Py/requests/backports/zstd/_cffi/_blocks_output_buffer.py +131 -0
- kl_py-0.4.5/src/KL_Py/requests/backports/zstd/_cffi/_common.py +148 -0
- kl_py-0.4.5/src/KL_Py/requests/backports/zstd/_cffi/buffer.py +33 -0
- kl_py-0.4.5/src/KL_Py/requests/backports/zstd/_cffi/compressor.py +382 -0
- kl_py-0.4.5/src/KL_Py/requests/backports/zstd/_cffi/decompressor.py +368 -0
- kl_py-0.4.5/src/KL_Py/requests/backports/zstd/_cffi/zstddict.py +181 -0
- kl_py-0.4.5/src/KL_Py/requests/backports/zstd/_compat.py +78 -0
- kl_py-0.4.5/src/KL_Py/requests/backports/zstd/_shutil.py +167 -0
- kl_py-0.4.5/src/KL_Py/requests/backports/zstd/_streams.py +162 -0
- kl_py-0.4.5/src/KL_Py/requests/backports/zstd/_zstd.py +49 -0
- kl_py-0.4.5/src/KL_Py/requests/backports/zstd/_zstdfile.py +347 -0
- kl_py-0.4.5/src/KL_Py/requests/backports/zstd/tarfile.py +3205 -0
- kl_py-0.4.5/src/KL_Py/requests/backports/zstd/tarfile.pyi +817 -0
- kl_py-0.4.5/src/KL_Py/requests/backports/zstd/zipfile/__init__.py +2455 -0
- kl_py-0.4.5/src/KL_Py/requests/backports/zstd/zipfile/__init__.pyi +295 -0
- kl_py-0.4.5/src/KL_Py/requests/backports/zstd/zipfile/__main__.py +4 -0
- kl_py-0.4.5/src/KL_Py/requests/backports/zstd/zipfile/_path/__init__.py +452 -0
- kl_py-0.4.5/src/KL_Py/requests/backports/zstd/zipfile/_path/__init__.pyi +84 -0
- kl_py-0.4.5/src/KL_Py/requests/backports/zstd/zipfile/_path/glob.py +113 -0
- kl_py-0.4.5/src/KL_Py/requests/backports/zstd/zipfile/_path/glob.pyi +19 -0
- kl_py-0.4.5/src/KL_Py/requests/simplejson/__init__.py +570 -0
- kl_py-0.4.5/src/KL_Py/requests/simplejson/compat.py +32 -0
- kl_py-0.4.5/src/KL_Py/requests/simplejson/decoder.py +428 -0
- kl_py-0.4.5/src/KL_Py/requests/simplejson/encoder.py +806 -0
- kl_py-0.4.5/src/KL_Py/requests/simplejson/errors.py +53 -0
- kl_py-0.4.5/src/KL_Py/requests/simplejson/ordered_dict.py +103 -0
- kl_py-0.4.5/src/KL_Py/requests/simplejson/raw_json.py +9 -0
- kl_py-0.4.5/src/KL_Py/requests/simplejson/scanner.py +87 -0
- kl_py-0.4.5/src/KL_Py/requests/simplejson/tests/__init__.py +97 -0
- kl_py-0.4.5/src/KL_Py/requests/simplejson/tests/_cibw_runner.py +7 -0
- kl_py-0.4.5/src/KL_Py/requests/simplejson/tests/_helpers.py +17 -0
- kl_py-0.4.5/src/KL_Py/requests/simplejson/tests/test_bigint_as_string.py +67 -0
- kl_py-0.4.5/src/KL_Py/requests/simplejson/tests/test_bitsize_int_as_string.py +120 -0
- kl_py-0.4.5/src/KL_Py/requests/simplejson/tests/test_check_circular.py +50 -0
- kl_py-0.4.5/src/KL_Py/requests/simplejson/tests/test_decimal.py +133 -0
- kl_py-0.4.5/src/KL_Py/requests/simplejson/tests/test_decode.py +206 -0
- kl_py-0.4.5/src/KL_Py/requests/simplejson/tests/test_default.py +9 -0
- kl_py-0.4.5/src/KL_Py/requests/simplejson/tests/test_dump.py +453 -0
- kl_py-0.4.5/src/KL_Py/requests/simplejson/tests/test_encode_basestring_ascii.py +47 -0
- kl_py-0.4.5/src/KL_Py/requests/simplejson/tests/test_encode_for_html.py +38 -0
- kl_py-0.4.5/src/KL_Py/requests/simplejson/tests/test_errors.py +108 -0
- kl_py-0.4.5/src/KL_Py/requests/simplejson/tests/test_fail.py +180 -0
- kl_py-0.4.5/src/KL_Py/requests/simplejson/tests/test_float.py +46 -0
- kl_py-0.4.5/src/KL_Py/requests/simplejson/tests/test_for_json.py +128 -0
- kl_py-0.4.5/src/KL_Py/requests/simplejson/tests/test_free_threading.py +100 -0
- kl_py-0.4.5/src/KL_Py/requests/simplejson/tests/test_indent.py +86 -0
- kl_py-0.4.5/src/KL_Py/requests/simplejson/tests/test_item_sort_key.py +27 -0
- kl_py-0.4.5/src/KL_Py/requests/simplejson/tests/test_iterable.py +61 -0
- kl_py-0.4.5/src/KL_Py/requests/simplejson/tests/test_namedtuple.py +206 -0
- kl_py-0.4.5/src/KL_Py/requests/simplejson/tests/test_pass1.py +71 -0
- kl_py-0.4.5/src/KL_Py/requests/simplejson/tests/test_pass2.py +14 -0
- kl_py-0.4.5/src/KL_Py/requests/simplejson/tests/test_pass3.py +20 -0
- kl_py-0.4.5/src/KL_Py/requests/simplejson/tests/test_raw_json.py +47 -0
- kl_py-0.4.5/src/KL_Py/requests/simplejson/tests/test_recursion.py +67 -0
- kl_py-0.4.5/src/KL_Py/requests/simplejson/tests/test_scanstring.py +338 -0
- kl_py-0.4.5/src/KL_Py/requests/simplejson/tests/test_separators.py +42 -0
- kl_py-0.4.5/src/KL_Py/requests/simplejson/tests/test_speedups.py +329 -0
- kl_py-0.4.5/src/KL_Py/requests/simplejson/tests/test_str_subclass.py +21 -0
- kl_py-0.4.5/src/KL_Py/requests/simplejson/tests/test_subclass.py +37 -0
- kl_py-0.4.5/src/KL_Py/requests/simplejson/tests/test_subinterpreters.py +125 -0
- kl_py-0.4.5/src/KL_Py/requests/simplejson/tests/test_tool.py +101 -0
- kl_py-0.4.5/src/KL_Py/requests/simplejson/tests/test_tuple.py +47 -0
- kl_py-0.4.5/src/KL_Py/requests/simplejson/tests/test_unicode.py +154 -0
- kl_py-0.4.5/src/KL_Py/requests/simplejson/tool.py +41 -0
- kl_py-0.4.5/src/KL_Py/requests/urllib3/contrib/__init__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py.egg-info/PKG-INFO +2 -1
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py.egg-info/SOURCES.txt +68 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py.egg-info/requires.txt +1 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/LICENSE +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/README.md +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/setup.cfg +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/FreeSimpleGUI/__init__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/FreeSimpleGUI/_utils.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/FreeSimpleGUI/elements/__init__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/FreeSimpleGUI/elements/base.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/FreeSimpleGUI/elements/button.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/FreeSimpleGUI/elements/calendar.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/FreeSimpleGUI/elements/canvas.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/FreeSimpleGUI/elements/checkbox.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/FreeSimpleGUI/elements/column.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/FreeSimpleGUI/elements/combo.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/FreeSimpleGUI/elements/error.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/FreeSimpleGUI/elements/frame.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/FreeSimpleGUI/elements/graph.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/FreeSimpleGUI/elements/helpers.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/FreeSimpleGUI/elements/image.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/FreeSimpleGUI/elements/input.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/FreeSimpleGUI/elements/list_box.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/FreeSimpleGUI/elements/menu.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/FreeSimpleGUI/elements/multiline.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/FreeSimpleGUI/elements/option_menu.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/FreeSimpleGUI/elements/pane.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/FreeSimpleGUI/elements/progress_bar.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/FreeSimpleGUI/elements/radio.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/FreeSimpleGUI/elements/separator.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/FreeSimpleGUI/elements/sizegrip.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/FreeSimpleGUI/elements/slider.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/FreeSimpleGUI/elements/spin.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/FreeSimpleGUI/elements/status_bar.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/FreeSimpleGUI/elements/stretch.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/FreeSimpleGUI/elements/tab.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/FreeSimpleGUI/elements/table.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/FreeSimpleGUI/elements/text.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/FreeSimpleGUI/elements/tree.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/FreeSimpleGUI/themes.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/FreeSimpleGUI/tray.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/FreeSimpleGUI/window.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/__init__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/_custom_pandas.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/_custom_turtle.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/_error_classes.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/_filepaths.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/_klang_builtins.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/automl.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/dnd/__init__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/drag_and_drop/__init__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/export/__init__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/export/__main__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/export/config.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/export/dialogs.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/export/packaging.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/export/shims.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/export/ui.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/export/utils.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/export/validation.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/fsgdnd/__init__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/fsgui/__init__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/hindGui/__init__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/hindGui/_utils.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/hindGui/elements/base.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/hindGui/elements/button.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/hindGui/elements/calendar.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/hindGui/elements/canvas.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/hindGui/elements/center.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/hindGui/elements/checkbox.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/hindGui/elements/column.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/hindGui/elements/combo.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/hindGui/elements/error.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/hindGui/elements/frame.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/hindGui/elements/graph.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/hindGui/elements/helpers.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/hindGui/elements/image.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/hindGui/elements/input.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/hindGui/elements/list_box.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/hindGui/elements/menu.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/hindGui/elements/multiline.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/hindGui/elements/option_menu.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/hindGui/elements/pane.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/hindGui/elements/progress_bar.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/hindGui/elements/radio.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/hindGui/elements/separator.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/hindGui/elements/sizegrip.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/hindGui/elements/slider.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/hindGui/elements/spin.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/hindGui/elements/status_bar.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/hindGui/elements/stretch.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/hindGui/elements/tab.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/hindGui/elements/table.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/hindGui/elements/text.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/hindGui/elements/tree.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/hindGui/replace.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/hindGui/tray.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/hindGui/window.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/k2exe/__init__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/k2exe/__main__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/k2exe/config.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/k2exe/dialogs.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/k2exe/packaging.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/k2exe/shims.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/k2exe/ui.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/k2exe/utils.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/k2exe/validation.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/kexe/__init__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/kexe/__main__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/kexe/config.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/kexe/dialogs.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/kexe/packaging.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/kexe/shims.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/kexe/ui.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/kexe/utils.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/kexe/validation.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/kl2exe/__init__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/kl2exe/__main__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/kl2exe/config.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/kl2exe/dialogs.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/kl2exe/packaging.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/kl2exe/shims.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/kl2exe/ui.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/kl2exe/utils.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/kl2exe/validation.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/klang2exe/__init__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/klang2exe/__main__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/klang2exe/config.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/klang2exe/dialogs.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/klang2exe/packaging.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/klang2exe/shims.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/klang2exe/ui.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/klang2exe/utils.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/klang2exe/validation.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/klangexe/__init__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/klangexe/__main__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/klangexe/config.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/klangexe/dialogs.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/klangexe/packaging.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/klangexe/shims.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/klangexe/ui.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/klangexe/utils.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/klangexe/validation.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/klexe/__init__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/klexe/__main__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/klexe/config.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/klexe/dialogs.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/klexe/packaging.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/klexe/shims.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/klexe/ui.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/klexe/utils.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/klexe/validation.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/ml.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/np/__init__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/pd/__init__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/plt/__init__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/psgui/__init__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/px/__init__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/pyexe/__init__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/pyexe/__main__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/pyexe/config.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/pyexe/dialogs.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/pyexe/packaging.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/pyexe/shims.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/pyexe/ui.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/pyexe/utils.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/pyexe/validation.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/pysgdnd/__init__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/__init__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/__version__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/_internal_utils.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/adapters.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/api.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/auth.py +0 -0
- {kl_py-0.4.3/src/KL_Py/requests/certifi → kl_py-0.4.5/src/KL_Py/requests/backports/zstd}/py.typed +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/certifi/__init__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/certifi/__main__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/certifi/core.py +0 -0
- {kl_py-0.4.3/src/KL_Py/requests/charset_normalizer → kl_py-0.4.5/src/KL_Py/requests/certifi}/py.typed +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/certs.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/charset_normalizer/__init__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/charset_normalizer/__main__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/charset_normalizer/api.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/charset_normalizer/cd.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/charset_normalizer/cli/__init__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/charset_normalizer/cli/__main__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/charset_normalizer/constant.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/charset_normalizer/legacy.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/charset_normalizer/md.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/charset_normalizer/models.py +0 -0
- {kl_py-0.4.3/src/KL_Py/requests/idna → kl_py-0.4.5/src/KL_Py/requests/charset_normalizer}/py.typed +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/charset_normalizer/utils.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/charset_normalizer/version.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/compat.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/cookies.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/exceptions.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/help.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/hooks.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/idna/__init__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/idna/codec.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/idna/compat.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/idna/core.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/idna/idnadata.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/idna/intranges.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/idna/package_data.py +0 -0
- /kl_py-0.4.3/src/KL_Py/requests/urllib3/contrib/__init__.py → /kl_py-0.4.5/src/KL_Py/requests/idna/py.typed +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/idna/uts46data.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/models.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/packages.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/sessions.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/status_codes.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/structures.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/urllib3/__init__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/urllib3/_base_connection.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/urllib3/_collections.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/urllib3/_request_methods.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/urllib3/_version.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/urllib3/connection.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/urllib3/connectionpool.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/urllib3/contrib/emscripten/__init__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/urllib3/contrib/emscripten/connection.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/urllib3/contrib/emscripten/fetch.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/urllib3/contrib/emscripten/request.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/urllib3/contrib/emscripten/response.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/urllib3/contrib/pyopenssl.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/urllib3/contrib/socks.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/urllib3/exceptions.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/urllib3/fields.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/urllib3/filepost.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/urllib3/http2/__init__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/urllib3/http2/connection.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/urllib3/http2/probe.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/urllib3/poolmanager.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/urllib3/py.typed +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/urllib3/response.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/urllib3/util/__init__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/urllib3/util/connection.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/urllib3/util/proxy.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/urllib3/util/request.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/urllib3/util/response.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/urllib3/util/retry.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/urllib3/util/ssl_.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/urllib3/util/ssl_match_hostname.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/urllib3/util/ssltransport.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/urllib3/util/timeout.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/urllib3/util/url.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/urllib3/util/util.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/urllib3/util/wait.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/requests/utils.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/sb/__init__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/sk/__init__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/sns/__init__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/toexe/__init__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/toexe/__main__.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/toexe/config.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/toexe/dialogs.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/toexe/packaging.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/toexe/shims.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/toexe/ui.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/toexe/utils.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/toexe/validation.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py/when.py +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py.egg-info/dependency_links.txt +0 -0
- {kl_py-0.4.3 → kl_py-0.4.5}/src/KL_Py.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: KL_Py
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.5
|
|
4
4
|
Summary: A Python simplification module
|
|
5
5
|
Author-email: Abbaskhurram255 <abbaskhurram255@gmail.com>
|
|
6
6
|
Classifier: Programming Language :: Python :: 3
|
|
@@ -20,6 +20,7 @@ Requires-Dist: psgdnd
|
|
|
20
20
|
Requires-Dist: PySimpleGUI
|
|
21
21
|
Requires-Dist: FreeSimpleGUI
|
|
22
22
|
Requires-Dist: joblib
|
|
23
|
+
Requires-Dist: requests
|
|
23
24
|
Dynamic: license-file
|
|
24
25
|
|
|
25
26
|
# KL_Py
|
|
@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
|
|
|
5
5
|
|
|
6
6
|
[project]
|
|
7
7
|
name = "KL_Py"
|
|
8
|
-
version = "0.4.
|
|
8
|
+
version = "0.4.5"
|
|
9
9
|
authors = [
|
|
10
10
|
{ name = "Abbaskhurram255", email = "abbaskhurram255@gmail.com" }
|
|
11
11
|
]
|
|
@@ -28,5 +28,6 @@ dependencies = [
|
|
|
28
28
|
"psgdnd",
|
|
29
29
|
"PySimpleGUI",
|
|
30
30
|
"FreeSimpleGUI",
|
|
31
|
-
"joblib"
|
|
31
|
+
"joblib",
|
|
32
|
+
"requests"
|
|
32
33
|
]
|
|
@@ -496,37 +496,135 @@ def rand_range(start: int = 9, stop: int|None = None) -> list[int]:
|
|
|
496
496
|
if start == 0:
|
|
497
497
|
return []
|
|
498
498
|
length = abs(start)
|
|
499
|
-
return [
|
|
499
|
+
return [
|
|
500
|
+
rand_int(
|
|
501
|
+
0,
|
|
502
|
+
start+1\
|
|
503
|
+
if start > 0\
|
|
504
|
+
else start-1
|
|
505
|
+
)\
|
|
506
|
+
for _ in range(
|
|
507
|
+
length
|
|
508
|
+
)
|
|
509
|
+
]
|
|
500
510
|
else:
|
|
501
511
|
if not isinstance(stop, int):
|
|
502
512
|
stop = 9
|
|
503
513
|
if stop < start:
|
|
504
514
|
start, stop = stop, start
|
|
505
|
-
length = abs(
|
|
515
|
+
length = abs(start)
|
|
506
516
|
if start == stop:
|
|
507
517
|
return [start] * length # or handle this case differently
|
|
508
|
-
return [
|
|
518
|
+
return [
|
|
519
|
+
rand_int(start, stop)\
|
|
520
|
+
for _ in range(length)
|
|
521
|
+
]
|
|
509
522
|
randrange = rand_range
|
|
523
|
+
def randphone(cc: str = "92", n=1) -> str:
|
|
524
|
+
if not isinstance(
|
|
525
|
+
n,
|
|
526
|
+
int
|
|
527
|
+
):
|
|
528
|
+
n = 1
|
|
529
|
+
n = abs(
|
|
530
|
+
n
|
|
531
|
+
)
|
|
532
|
+
DEFAULT_CC: Final[str] = "92"
|
|
533
|
+
if isinstance(cc, int):
|
|
534
|
+
cc = str(
|
|
535
|
+
abs(
|
|
536
|
+
cc
|
|
537
|
+
)
|
|
538
|
+
)
|
|
539
|
+
if not isinstance(
|
|
540
|
+
cc,
|
|
541
|
+
str
|
|
542
|
+
):
|
|
543
|
+
cc = DEFAULT_CC
|
|
544
|
+
cc = cc\
|
|
545
|
+
.strip()\
|
|
546
|
+
.strip("+ ")
|
|
547
|
+
if cc == "0":
|
|
548
|
+
cc = DEFAULT_CC
|
|
549
|
+
results: list[
|
|
550
|
+
str
|
|
551
|
+
] = []
|
|
552
|
+
for _ in range(n):
|
|
553
|
+
num: str = f"+{cc}"
|
|
554
|
+
if cc == "92":
|
|
555
|
+
num += "3"
|
|
556
|
+
else:
|
|
557
|
+
num += str(
|
|
558
|
+
random\
|
|
559
|
+
.randint(
|
|
560
|
+
0,
|
|
561
|
+
9
|
|
562
|
+
)
|
|
563
|
+
)
|
|
564
|
+
num += "".join(
|
|
565
|
+
[
|
|
566
|
+
str(n)\
|
|
567
|
+
for n in [
|
|
568
|
+
random.randint(
|
|
569
|
+
0,
|
|
570
|
+
9
|
|
571
|
+
)\
|
|
572
|
+
for _\
|
|
573
|
+
in range(9)
|
|
574
|
+
]
|
|
575
|
+
]
|
|
576
|
+
)
|
|
577
|
+
results.append(
|
|
578
|
+
num
|
|
579
|
+
)
|
|
580
|
+
if len(results) == 1:
|
|
581
|
+
return results[0]
|
|
582
|
+
return results
|
|
583
|
+
random_phone_number =\
|
|
584
|
+
random_phone =\
|
|
585
|
+
randomphone =\
|
|
586
|
+
rand_phone =\
|
|
587
|
+
randphone
|
|
510
588
|
def rand_str(length: int = 16) -> str:
|
|
511
|
-
if not isinstance(
|
|
512
|
-
length
|
|
513
|
-
|
|
514
|
-
|
|
589
|
+
if not isinstance(
|
|
590
|
+
length,
|
|
591
|
+
int
|
|
592
|
+
):
|
|
593
|
+
length = 16
|
|
594
|
+
if length < 1:
|
|
595
|
+
length = 1
|
|
515
596
|
chars: str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+=_"
|
|
516
597
|
return_value: str = ""
|
|
517
|
-
for
|
|
518
|
-
return_value += chars[
|
|
598
|
+
for _ in range(length):
|
|
599
|
+
return_value += chars[
|
|
600
|
+
randint(
|
|
601
|
+
0,
|
|
602
|
+
len(
|
|
603
|
+
chars
|
|
604
|
+
) - 1
|
|
605
|
+
)
|
|
606
|
+
]
|
|
519
607
|
return return_value
|
|
520
608
|
randstr = rand_str
|
|
521
609
|
def rand_hex(length: int = 16) -> str:
|
|
522
|
-
if not isinstance(
|
|
523
|
-
length
|
|
524
|
-
|
|
525
|
-
|
|
610
|
+
if not isinstance(
|
|
611
|
+
length,
|
|
612
|
+
int
|
|
613
|
+
):
|
|
614
|
+
length = 16
|
|
615
|
+
if length < 1:
|
|
616
|
+
length = 1
|
|
526
617
|
chars: str = "0123456789abcdef"
|
|
527
618
|
return_value: str = ""
|
|
528
|
-
|
|
529
|
-
return_value += chars[
|
|
619
|
+
for _ in range(length):
|
|
620
|
+
return_value += chars[
|
|
621
|
+
randint(
|
|
622
|
+
0,
|
|
623
|
+
len(
|
|
624
|
+
chars
|
|
625
|
+
) - 1
|
|
626
|
+
)
|
|
627
|
+
]
|
|
530
628
|
return return_value
|
|
531
629
|
randhex = rand_hex
|
|
532
630
|
def rand_uuid() -> str:
|
|
@@ -7104,5 +7202,5 @@ if __name__ == "__main__":
|
|
|
7104
7202
|
print(Flt(" 4.3e5 t hee e "))
|
|
7105
7203
|
print(countries)
|
|
7106
7204
|
print(Int("400.5e-1"))
|
|
7107
|
-
|
|
7205
|
+
|
|
7108
7206
|
|
|
@@ -41,7 +41,7 @@ class SQL:
|
|
|
41
41
|
if filename is not None\
|
|
42
42
|
else "test"
|
|
43
43
|
if re.search(
|
|
44
|
-
"\:(?:[Rr]am|[Mm]emory)\:",
|
|
44
|
+
r"\:(?:[Rr]am|[Mm]emory)\:",
|
|
45
45
|
filename,
|
|
46
46
|
flags=re.IGNORECASE
|
|
47
47
|
):
|
|
@@ -107,6 +107,7 @@ class SQL:
|
|
|
107
107
|
max_=None,
|
|
108
108
|
only=None,
|
|
109
109
|
sirf=None,
|
|
110
|
+
bas=None,
|
|
110
111
|
chuno=None,
|
|
111
112
|
limit=None,
|
|
112
113
|
n=None,
|
|
@@ -128,6 +129,7 @@ class SQL:
|
|
|
128
129
|
or max_\
|
|
129
130
|
or only\
|
|
130
131
|
or sirf\
|
|
132
|
+
or bas\
|
|
131
133
|
or chuno\
|
|
132
134
|
or limit\
|
|
133
135
|
or n\
|
|
@@ -1576,7 +1576,7 @@ def translate_for_sql(text: str) -> str:
|
|
|
1576
1576
|
r"darmya{1,2}n|b(?:i|ee)ch": "into",
|
|
1577
1577
|
r"sab(?:[_ ]?kuch)?": "*",
|
|
1578
1578
|
r"jaha{1,2}n?": "where",
|
|
1579
|
-
r"sirf(?= \d)": "limit",
|
|
1579
|
+
r"(?:sirf|bas)(?= \d)": "limit",
|
|
1580
1580
|
r'bar[ai](?: he)?[_ ]ya[_ ]ba?ra{0,2}ba?r(?: he)?': '>=',
|
|
1581
1581
|
r'chot[ai](?: he)?[_ ]ya[_ ]ba?ra{0,2}ba?r(?: he)?': '<=',
|
|
1582
1582
|
r'bar[ai](?: he)?': '>',
|
|
@@ -1619,7 +1619,7 @@ def translate_for_sql(text: str) -> str:
|
|
|
1619
1619
|
r"bint(?: not null)?": "bigint not null",
|
|
1620
1620
|
r"int(?: not null)?": "integer not null",
|
|
1621
1621
|
r"(?:fl(?:oa)?t|nr)(?: not null)?": "real not null",
|
|
1622
|
-
r"(?:bool
|
|
1622
|
+
r"(?:bool(?:ean)?|ha{1,2}l)(?: not null)?": "integer default 0 not null",
|
|
1623
1623
|
r"[Ss]ach|[Hh]an|True": "true",
|
|
1624
1624
|
r"[Jj]hoot|Nah?|False|nahi(?= *[,\)])": "false",
|
|
1625
1625
|
# keep unchanged
|
|
@@ -2254,6 +2254,8 @@ x dafa= 4
|
|
|
2254
2254
|
"""
|
|
2255
2255
|
)
|
|
2256
2256
|
)
|
|
2257
|
+
print(translate_for_react)
|
|
2258
|
+
|
|
2257
2259
|
|
|
2258
2260
|
|
|
2259
2261
|
if __name__ == "__main__":
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
"""Python bindings to the Zstandard (zstd) compression library (RFC-8878)."""
|
|
2
|
+
|
|
3
|
+
import sys
|
|
4
|
+
if not ((3, 10) <= sys.version_info < (3, 14)):
|
|
5
|
+
raise RuntimeError(f"Unsupported Python version: {sys.version}")
|
|
6
|
+
|
|
7
|
+
__all__ = (
|
|
8
|
+
# backports.zstd
|
|
9
|
+
'COMPRESSION_LEVEL_DEFAULT',
|
|
10
|
+
'compress',
|
|
11
|
+
'CompressionParameter',
|
|
12
|
+
'decompress',
|
|
13
|
+
'DecompressionParameter',
|
|
14
|
+
'finalize_dict',
|
|
15
|
+
'get_frame_info',
|
|
16
|
+
'Strategy',
|
|
17
|
+
'train_dict',
|
|
18
|
+
|
|
19
|
+
# backports.zstd._shutil
|
|
20
|
+
'register_shutil',
|
|
21
|
+
|
|
22
|
+
# backports.zstd._zstdfile
|
|
23
|
+
'open',
|
|
24
|
+
'ZstdFile',
|
|
25
|
+
|
|
26
|
+
# backports.zstd._zstd
|
|
27
|
+
'get_frame_size',
|
|
28
|
+
'zstd_version',
|
|
29
|
+
'zstd_version_info',
|
|
30
|
+
'ZstdCompressor',
|
|
31
|
+
'ZstdDecompressor',
|
|
32
|
+
'ZstdDict',
|
|
33
|
+
'ZstdError',
|
|
34
|
+
)
|
|
35
|
+
|
|
36
|
+
import backports.zstd._zstd as _zstd
|
|
37
|
+
import enum
|
|
38
|
+
from backports.zstd._zstd import (ZstdCompressor, ZstdDecompressor, ZstdDict, ZstdError,
|
|
39
|
+
get_frame_size, zstd_version)
|
|
40
|
+
from backports.zstd._zstdfile import ZstdFile, open, _nbytes
|
|
41
|
+
|
|
42
|
+
# zstd_version_number is (MAJOR * 100 * 100 + MINOR * 100 + RELEASE)
|
|
43
|
+
zstd_version_info = (*divmod(_zstd.zstd_version_number // 100, 100),
|
|
44
|
+
_zstd.zstd_version_number % 100)
|
|
45
|
+
"""Version number of the runtime zstd library as a tuple of integers."""
|
|
46
|
+
|
|
47
|
+
if zstd_version_info < (1, 4, 5):
|
|
48
|
+
raise RuntimeError("zstd version is too old")
|
|
49
|
+
|
|
50
|
+
COMPRESSION_LEVEL_DEFAULT = _zstd.ZSTD_CLEVEL_DEFAULT
|
|
51
|
+
"""The default compression level for Zstandard, currently '3'."""
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
class FrameInfo:
|
|
55
|
+
"""Information about a Zstandard frame."""
|
|
56
|
+
|
|
57
|
+
__slots__ = 'decompressed_size', 'dictionary_id'
|
|
58
|
+
|
|
59
|
+
def __init__(self, decompressed_size, dictionary_id):
|
|
60
|
+
super().__setattr__('decompressed_size', decompressed_size)
|
|
61
|
+
super().__setattr__('dictionary_id', dictionary_id)
|
|
62
|
+
|
|
63
|
+
def __repr__(self):
|
|
64
|
+
return (f'FrameInfo(decompressed_size={self.decompressed_size}, '
|
|
65
|
+
f'dictionary_id={self.dictionary_id})')
|
|
66
|
+
|
|
67
|
+
def __setattr__(self, name, _):
|
|
68
|
+
raise AttributeError(f"can't set attribute {name!r}")
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
def get_frame_info(frame_buffer):
|
|
72
|
+
"""Get Zstandard frame information from a frame header.
|
|
73
|
+
|
|
74
|
+
*frame_buffer* is a bytes-like object. It should start from the
|
|
75
|
+
beginning of a frame, and needs to include at least the frame header
|
|
76
|
+
(6 to 18 bytes).
|
|
77
|
+
|
|
78
|
+
The returned FrameInfo object has two attributes.
|
|
79
|
+
'decompressed_size' is the size in bytes of the data in the frame when
|
|
80
|
+
decompressed, or None when the decompressed size is unknown.
|
|
81
|
+
'dictionary_id' is an int in the range (0, 2**32). The special value 0
|
|
82
|
+
means that the dictionary ID was not recorded in the frame header,
|
|
83
|
+
the frame may or may not need a dictionary to be decoded,
|
|
84
|
+
and the ID of such a dictionary is not specified.
|
|
85
|
+
"""
|
|
86
|
+
return FrameInfo(*_zstd.get_frame_info(frame_buffer))
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
def train_dict(samples, dict_size):
|
|
90
|
+
"""Return a ZstdDict representing a trained Zstandard dictionary.
|
|
91
|
+
|
|
92
|
+
*samples* is an iterable of samples, where a sample is a bytes-like
|
|
93
|
+
object representing a file.
|
|
94
|
+
|
|
95
|
+
*dict_size* is the dictionary's maximum size, in bytes.
|
|
96
|
+
"""
|
|
97
|
+
if not isinstance(dict_size, int):
|
|
98
|
+
ds_cls = type(dict_size).__qualname__
|
|
99
|
+
raise TypeError(f'dict_size must be an int object, not {ds_cls!r}.')
|
|
100
|
+
|
|
101
|
+
samples = tuple(samples)
|
|
102
|
+
chunks = b''.join(samples)
|
|
103
|
+
chunk_sizes = tuple(_nbytes(sample) for sample in samples)
|
|
104
|
+
if not chunks:
|
|
105
|
+
raise ValueError("samples contained no data; can't train dictionary.")
|
|
106
|
+
dict_content = _zstd.train_dict(chunks, chunk_sizes, dict_size)
|
|
107
|
+
return ZstdDict(dict_content)
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
def finalize_dict(zstd_dict, /, samples, dict_size, level):
|
|
111
|
+
"""Return a ZstdDict representing a finalized Zstandard dictionary.
|
|
112
|
+
|
|
113
|
+
Given a custom content as a basis for dictionary, and a set of samples,
|
|
114
|
+
finalize *zstd_dict* by adding headers and statistics according to the
|
|
115
|
+
Zstandard dictionary format.
|
|
116
|
+
|
|
117
|
+
You may compose an effective dictionary content by hand, which is used
|
|
118
|
+
as basis dictionary, and use some samples to finalize a dictionary. The
|
|
119
|
+
basis dictionary may be a "raw content" dictionary. See *is_raw* in
|
|
120
|
+
ZstdDict.
|
|
121
|
+
|
|
122
|
+
*samples* is an iterable of samples, where a sample is a bytes-like
|
|
123
|
+
object representing a file.
|
|
124
|
+
*dict_size* is the dictionary's maximum size, in bytes.
|
|
125
|
+
*level* is the expected compression level. The statistics for each
|
|
126
|
+
compression level differ, so tuning the dictionary to the compression
|
|
127
|
+
level can provide improvements.
|
|
128
|
+
"""
|
|
129
|
+
|
|
130
|
+
if not isinstance(zstd_dict, ZstdDict):
|
|
131
|
+
raise TypeError('zstd_dict argument should be a ZstdDict object.')
|
|
132
|
+
if not isinstance(dict_size, int):
|
|
133
|
+
raise TypeError('dict_size argument should be an int object.')
|
|
134
|
+
if not isinstance(level, int):
|
|
135
|
+
raise TypeError('level argument should be an int object.')
|
|
136
|
+
|
|
137
|
+
samples = tuple(samples)
|
|
138
|
+
chunks = b''.join(samples)
|
|
139
|
+
chunk_sizes = tuple(_nbytes(sample) for sample in samples)
|
|
140
|
+
if not chunks:
|
|
141
|
+
raise ValueError("The samples are empty content, can't finalize the "
|
|
142
|
+
"dictionary.")
|
|
143
|
+
dict_content = _zstd.finalize_dict(zstd_dict.dict_content, chunks,
|
|
144
|
+
chunk_sizes, dict_size, level)
|
|
145
|
+
return ZstdDict(dict_content)
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
def compress(data, level=None, options=None, zstd_dict=None):
|
|
149
|
+
"""Return Zstandard compressed *data* as bytes.
|
|
150
|
+
|
|
151
|
+
*level* is an int specifying the compression level to use, defaulting to
|
|
152
|
+
COMPRESSION_LEVEL_DEFAULT ('3').
|
|
153
|
+
*options* is a dict object that contains advanced compression
|
|
154
|
+
parameters. See CompressionParameter for more on options.
|
|
155
|
+
*zstd_dict* is a ZstdDict object, a pre-trained Zstandard dictionary.
|
|
156
|
+
See the function train_dict for how to train a ZstdDict on sample data.
|
|
157
|
+
|
|
158
|
+
For incremental compression, use a ZstdCompressor instead.
|
|
159
|
+
"""
|
|
160
|
+
comp = ZstdCompressor(level=level, options=options, zstd_dict=zstd_dict)
|
|
161
|
+
return comp.compress(data, mode=ZstdCompressor.FLUSH_FRAME)
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
def decompress(data, zstd_dict=None, options=None):
|
|
165
|
+
"""Decompress one or more frames of Zstandard compressed *data*.
|
|
166
|
+
|
|
167
|
+
*zstd_dict* is a ZstdDict object, a pre-trained Zstandard dictionary.
|
|
168
|
+
See the function train_dict for how to train a ZstdDict on sample data.
|
|
169
|
+
*options* is a dict object that contains advanced compression
|
|
170
|
+
parameters. See DecompressionParameter for more on options.
|
|
171
|
+
|
|
172
|
+
For incremental decompression, use a ZstdDecompressor instead.
|
|
173
|
+
"""
|
|
174
|
+
results = []
|
|
175
|
+
while True:
|
|
176
|
+
decomp = ZstdDecompressor(options=options, zstd_dict=zstd_dict)
|
|
177
|
+
results.append(decomp.decompress(data))
|
|
178
|
+
if not decomp.eof:
|
|
179
|
+
raise ZstdError('Compressed data ended before the '
|
|
180
|
+
'end-of-stream marker was reached')
|
|
181
|
+
data = decomp.unused_data
|
|
182
|
+
if not data:
|
|
183
|
+
break
|
|
184
|
+
return b''.join(results)
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
class CompressionParameter(enum.IntEnum):
|
|
188
|
+
"""Compression parameters."""
|
|
189
|
+
|
|
190
|
+
compression_level = _zstd.ZSTD_c_compressionLevel
|
|
191
|
+
window_log = _zstd.ZSTD_c_windowLog
|
|
192
|
+
hash_log = _zstd.ZSTD_c_hashLog
|
|
193
|
+
chain_log = _zstd.ZSTD_c_chainLog
|
|
194
|
+
search_log = _zstd.ZSTD_c_searchLog
|
|
195
|
+
min_match = _zstd.ZSTD_c_minMatch
|
|
196
|
+
target_length = _zstd.ZSTD_c_targetLength
|
|
197
|
+
strategy = _zstd.ZSTD_c_strategy
|
|
198
|
+
|
|
199
|
+
enable_long_distance_matching = _zstd.ZSTD_c_enableLongDistanceMatching
|
|
200
|
+
ldm_hash_log = _zstd.ZSTD_c_ldmHashLog
|
|
201
|
+
ldm_min_match = _zstd.ZSTD_c_ldmMinMatch
|
|
202
|
+
ldm_bucket_size_log = _zstd.ZSTD_c_ldmBucketSizeLog
|
|
203
|
+
ldm_hash_rate_log = _zstd.ZSTD_c_ldmHashRateLog
|
|
204
|
+
|
|
205
|
+
content_size_flag = _zstd.ZSTD_c_contentSizeFlag
|
|
206
|
+
checksum_flag = _zstd.ZSTD_c_checksumFlag
|
|
207
|
+
dict_id_flag = _zstd.ZSTD_c_dictIDFlag
|
|
208
|
+
|
|
209
|
+
nb_workers = _zstd.ZSTD_c_nbWorkers
|
|
210
|
+
job_size = _zstd.ZSTD_c_jobSize
|
|
211
|
+
overlap_log = _zstd.ZSTD_c_overlapLog
|
|
212
|
+
|
|
213
|
+
def bounds(self):
|
|
214
|
+
"""Return the (lower, upper) int bounds of a compression parameter.
|
|
215
|
+
|
|
216
|
+
Both the lower and upper bounds are inclusive.
|
|
217
|
+
"""
|
|
218
|
+
return _zstd.get_param_bounds(self.value, is_compress=True)
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
class DecompressionParameter(enum.IntEnum):
|
|
222
|
+
"""Decompression parameters."""
|
|
223
|
+
|
|
224
|
+
window_log_max = _zstd.ZSTD_d_windowLogMax
|
|
225
|
+
|
|
226
|
+
def bounds(self):
|
|
227
|
+
"""Return the (lower, upper) int bounds of a decompression parameter.
|
|
228
|
+
|
|
229
|
+
Both the lower and upper bounds are inclusive.
|
|
230
|
+
"""
|
|
231
|
+
return _zstd.get_param_bounds(self.value, is_compress=False)
|
|
232
|
+
|
|
233
|
+
|
|
234
|
+
class Strategy(enum.IntEnum):
|
|
235
|
+
"""Compression strategies, listed from fastest to strongest.
|
|
236
|
+
|
|
237
|
+
Note that new strategies might be added in the future.
|
|
238
|
+
Only the order (from fast to strong) is guaranteed,
|
|
239
|
+
the numeric value might change.
|
|
240
|
+
"""
|
|
241
|
+
|
|
242
|
+
fast = _zstd.ZSTD_fast
|
|
243
|
+
dfast = _zstd.ZSTD_dfast
|
|
244
|
+
greedy = _zstd.ZSTD_greedy
|
|
245
|
+
lazy = _zstd.ZSTD_lazy
|
|
246
|
+
lazy2 = _zstd.ZSTD_lazy2
|
|
247
|
+
btlazy2 = _zstd.ZSTD_btlazy2
|
|
248
|
+
btopt = _zstd.ZSTD_btopt
|
|
249
|
+
btultra = _zstd.ZSTD_btultra
|
|
250
|
+
btultra2 = _zstd.ZSTD_btultra2
|
|
251
|
+
|
|
252
|
+
|
|
253
|
+
# Check validity of the CompressionParameter & DecompressionParameter types
|
|
254
|
+
_zstd.set_parameter_types(CompressionParameter, DecompressionParameter)
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
# Lazy loading
|
|
258
|
+
def __getattr__(name):
|
|
259
|
+
if name == "register_shutil":
|
|
260
|
+
from backports.zstd._shutil import register_shutil
|
|
261
|
+
return register_shutil
|
|
262
|
+
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
|