From 5d7c6cf4d3ff8347d6a1301dfbb1e6020316d865 Mon Sep 17 00:00:00 2001 From: Torsten Kilias Date: Tue, 18 Jul 2023 10:17:23 +0200 Subject: [PATCH 1/6] #819: Fixed CI and adapted project to Exasol 8 (#367) * Updates SLCT, SLC-CI and SLC-CI-Setup * Adapted the aws-code-build/build_config.json to the new format * Rename TIMESTAMP data type to TIMESTAMP(3) to be compatible with Exasol 8.0 naming * Removed UDFDebugger from pandas dataframe tests, because it can be flaky and is only needed during debugging * Updated python apt packages * Updated binutils apt package * Ignored CVE-2023-3090, because it is a Kernel issue and not a container issue. * Removed or moved Python2 tests * Remove or fixed tests which used an unencrypted exasol connection, because this isn't possible anymore with Exasol 8 * Disabled certificate validation for row_level_security_adapter_script.txt * Ignored CVE-2023-3389 and CVE-2023-3390, because they belong to the kernel * Removed python2 from test_package_management_scripts.yaml * Removed python2 from list_installed_scripts/run_tests.sh Co-authored-by: Christoph Pirkl --- .../test_package_management_scripts.yaml | 5 +- aws-code-build/build_config.json | 34 +- exaslct_scripts/exaslct.sh | 2 +- .../tests/list_installed_scripts/run_tests.sh | 4 - .../packages/apt_get_packages_python | 4 +- .../base_test_deps/packages/apt_get_packages | 2 +- .../language_deps/packages/apt_get_packages | 2 +- .../flavor_base/security_scan/.trivyignore | 3 + poetry.lock | 1270 ++++++++++++++--- pyproject.toml | 6 +- test_container/tests/lang/python/basic.sql | 102 -- .../tests/lang/python/cologne_phonetic.sql | 124 -- .../tests/lang/python/combinations.sql | 41 - .../tests/lang/python/dynamic_input.sql | 110 -- .../tests/lang/python/dynamic_output.sql | 179 --- test_container/tests/lang/python/emit.sql | 26 - .../tests/lang/python/export_alias.sql | 141 -- .../tests/lang/python/get_connection.sql | 16 - .../tests/lang/python/import_alias.sql | 48 - test_container/tests/lang/python/metadata.sql | 195 --- .../tests/lang/python/numeric_functions.sql | 51 - .../lang/python/pathological_functions.sql | 44 - .../tests/lang/python/performance.sql | 70 - test_container/tests/lang/python/types.sql | 106 -- test_container/tests/lang/python/unicode.sql | 48 - .../tests/lang/python/vectorsize.sql | 66 - test_container/tests/test/generic/emit.py | 4 +- .../tests/test/pandas/all/emit_dtypes.py | 15 +- .../tests/test/pandas/pandas2/pandas.py | 15 +- test_container/tests/test/python/bugs.py | 89 -- .../tests/test/python/env_directive.py | 92 -- test_container/tests/test/python/general.py | 392 ----- test_container/tests/test/python/getpass.py | 31 - .../tests/test/python/script_import.py | 287 ---- .../tests/test/python/specific_types.py | 35 - test_container/tests/test/python/unicode.py | 50 - .../{python => python3}/external_modules.py | 0 .../{python => python3}/installed_packages.py | 0 .../tests/test/{python => python3}/network.py | 0 .../standard-flavor/7.0/available-packages.py | 51 - .../connect_to_exasol_with_websocket_api.py | 25 - .../all/paramiko_connection_test.py | 4 - .../all/pysftp_connection_test.py | 4 - .../all/row_level_security_adapter_script.txt | 7 +- .../row_level_security_with_websocket_api.py | 2 +- 45 files changed, 1158 insertions(+), 2644 deletions(-) delete mode 100644 test_container/tests/lang/python/basic.sql delete mode 100644 test_container/tests/lang/python/cologne_phonetic.sql delete mode 100644 test_container/tests/lang/python/combinations.sql delete mode 100644 test_container/tests/lang/python/dynamic_input.sql delete mode 100644 test_container/tests/lang/python/dynamic_output.sql delete mode 100644 test_container/tests/lang/python/emit.sql delete mode 100644 test_container/tests/lang/python/export_alias.sql delete mode 100644 test_container/tests/lang/python/get_connection.sql delete mode 100644 test_container/tests/lang/python/import_alias.sql delete mode 100644 test_container/tests/lang/python/metadata.sql delete mode 100644 test_container/tests/lang/python/numeric_functions.sql delete mode 100644 test_container/tests/lang/python/pathological_functions.sql delete mode 100644 test_container/tests/lang/python/performance.sql delete mode 100644 test_container/tests/lang/python/types.sql delete mode 100644 test_container/tests/lang/python/unicode.sql delete mode 100644 test_container/tests/lang/python/vectorsize.sql delete mode 100644 test_container/tests/test/python/bugs.py delete mode 100644 test_container/tests/test/python/env_directive.py delete mode 100755 test_container/tests/test/python/general.py delete mode 100755 test_container/tests/test/python/getpass.py delete mode 100755 test_container/tests/test/python/script_import.py delete mode 100755 test_container/tests/test/python/specific_types.py delete mode 100755 test_container/tests/test/python/unicode.py rename test_container/tests/test/{python => python3}/external_modules.py (100%) rename test_container/tests/test/{python => python3}/installed_packages.py (100%) rename test_container/tests/test/{python => python3}/network.py (100%) diff --git a/.github/workflows/test_package_management_scripts.yaml b/.github/workflows/test_package_management_scripts.yaml index 0d0cce9e7..c5bf6089b 100644 --- a/.github/workflows/test_package_management_scripts.yaml +++ b/.github/workflows/test_package_management_scripts.yaml @@ -12,12 +12,11 @@ jobs: steps: - uses: actions/checkout@v3 + - uses: actions/setup-python@v2 with: python-version: 3.8 - - uses: actions/setup-python@v2 - with: - python-version: 2.7 + - name: Init submodules run: git submodule update --init --recursive diff --git a/aws-code-build/build_config.json b/aws-code-build/build_config.json index cdd934297..4a06e104c 100644 --- a/aws-code-build/build_config.json +++ b/aws-code-build/build_config.json @@ -1,10 +1,28 @@ -{"build_ignore": - {"ignored_paths": - ["python_client", ".gitignore", ".dockerignore", "LICENSE", - "README.md", "find_duplicate_error_codes.sh", "find_error_codes.sh", - "find_highest_error_codes_per_module.sh", "find_incomplete_error_codes.sh", "find_next_error_code_per_module.sh", - "show_code_arround_error_codes.sh", "visualize_task_dependencies.sh", "udf-script-signature-generator", - ".github", "cpp_client", "emulator", "exaslct_scripts", "githooks"] +{ + "build": { + "base_branch": "master", + "ignore": { + "paths": [ + "python_client", + ".gitignore", + ".dockerignore", + "LICENSE", + "README.md", + "find_duplicate_error_codes.sh", + "find_error_codes.sh", + "find_highest_error_codes_per_module.sh", + "find_incomplete_error_codes.sh", + "find_next_error_code_per_module.sh", + "show_code_arround_error_codes.sh", + "visualize_task_dependencies.sh", + "udf-script-signature-generator", + ".github", + "cpp_client", + "emulator", + "exaslct_scripts", + "githooks" + ] + } }, - "base_branch": "master" + "release": {"timeout_in_minutes": 240} } diff --git a/exaslct_scripts/exaslct.sh b/exaslct_scripts/exaslct.sh index e4729b710..4d4081c7e 100755 --- a/exaslct_scripts/exaslct.sh +++ b/exaslct_scripts/exaslct.sh @@ -23,7 +23,7 @@ fi SCRIPT_DIR="$(dirname "$($rl -f "${BASH_SOURCE[0]}")")" -EXASLCT_GIT_REF="0.17.0" +EXASLCT_GIT_REF="0.18.0" RUNNER_IMAGE_NAME="$(bash "$SCRIPT_DIR/construct_docker_runner_image_name.sh" "$EXASLCT_GIT_REF")" bash "$SCRIPT_DIR/exaslct_within_docker_container_without_container_build.sh" "$RUNNER_IMAGE_NAME" "${@}" diff --git a/ext/scripts/tests/list_installed_scripts/run_tests.sh b/ext/scripts/tests/list_installed_scripts/run_tests.sh index a22faf5cb..fdde0490d 100644 --- a/ext/scripts/tests/list_installed_scripts/run_tests.sh +++ b/ext/scripts/tests/list_installed_scripts/run_tests.sh @@ -10,10 +10,6 @@ echo list_installed_apt.sh $PATH_TO_INSTALL_SCRIPTS/list_installed_apt.sh echo -echo list_installed_pip.sh python2 -$PATH_TO_INSTALL_SCRIPTS/list_installed_pip.sh python2 -echo - echo list_installed_pip.sh python3 $PATH_TO_INSTALL_SCRIPTS/list_installed_pip.sh python3 echo diff --git a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/language_deps/packages/apt_get_packages_python b/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/language_deps/packages/apt_get_packages_python index 757ce5104..63faa558b 100644 --- a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/language_deps/packages/apt_get_packages_python +++ b/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/language_deps/packages/apt_get_packages_python @@ -1,3 +1,3 @@ -python3.7-dev|3.7.16-1+bionic1 -python3.7|3.7.16-1+bionic1 +python3.7-dev|3.7.5-2ubuntu1~18.04.2 +python3.7|3.7.5-2ubuntu1~18.04.2 python3-distutils|3.6.9-1~18.04 # Note: required by install_python3.7_pip.sh diff --git a/flavors/python-3.8-minimal-EXASOL-6.2.0/flavor_base/base_test_deps/packages/apt_get_packages b/flavors/python-3.8-minimal-EXASOL-6.2.0/flavor_base/base_test_deps/packages/apt_get_packages index 37ad21f9e..41cd2c77d 100644 --- a/flavors/python-3.8-minimal-EXASOL-6.2.0/flavor_base/base_test_deps/packages/apt_get_packages +++ b/flavors/python-3.8-minimal-EXASOL-6.2.0/flavor_base/base_test_deps/packages/apt_get_packages @@ -1,6 +1,6 @@ gdb|9.2-0ubuntu1~20.04.1 valgrind|1:3.15.0-1ubuntu9.1 gdbserver|9.2-0ubuntu1~20.04.1 -binutils|2.34-6ubuntu1.5 +binutils|2.34-6ubuntu1.6 patchelf|0.10-2build1 strace|5.5-3ubuntu1 diff --git a/flavors/python-3.8-minimal-EXASOL-6.2.0/flavor_base/language_deps/packages/apt_get_packages b/flavors/python-3.8-minimal-EXASOL-6.2.0/flavor_base/language_deps/packages/apt_get_packages index 9ed70ac04..c902922ac 100644 --- a/flavors/python-3.8-minimal-EXASOL-6.2.0/flavor_base/language_deps/packages/apt_get_packages +++ b/flavors/python-3.8-minimal-EXASOL-6.2.0/flavor_base/language_deps/packages/apt_get_packages @@ -1,5 +1,5 @@ ca-certificates|20230311ubuntu0.20.04.1 -python3.8-dev|3.8.10-0ubuntu1~20.04.7 +python3.8-dev|3.8.10-0ubuntu1~20.04.8 python3-distutils|3.8.10-0ubuntu1~20.04 curl|7.68.0-1ubuntu2.18 diff --git a/flavors/python-3.8-minimal-EXASOL-6.2.0/flavor_base/security_scan/.trivyignore b/flavors/python-3.8-minimal-EXASOL-6.2.0/flavor_base/security_scan/.trivyignore index f71660988..6c457c7a8 100644 --- a/flavors/python-3.8-minimal-EXASOL-6.2.0/flavor_base/security_scan/.trivyignore +++ b/flavors/python-3.8-minimal-EXASOL-6.2.0/flavor_base/security_scan/.trivyignore @@ -9,6 +9,9 @@ CVE-2022-1116 CVE-2022-29581 CVE-2022-21499 CVE-2022-43945 +CVE-2023-3090 +CVE-2023-3389 +CVE-2023-3390 #CVE-2022-23648 is a bug in containerd, not issue for containers CVE-2022-23648 #issue in cgroups, but no threat for ScriptLanguageContainer diff --git a/poetry.lock b/poetry.lock index 1ec9a436b..8ed1144b6 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,5 +1,35 @@ # This file is automatically @generated by Poetry 1.4.2 and should not be changed by hand. +[[package]] +name = "annotated-types" +version = "0.5.0" +description = "Reusable constraint types to use with typing.Annotated" +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "annotated_types-0.5.0-py3-none-any.whl", hash = "sha256:58da39888f92c276ad970249761ebea80ba544b77acddaa1a4d6cf78287d45fd"}, + {file = "annotated_types-0.5.0.tar.gz", hash = "sha256:47cdc3490d9ac1506ce92c7aaa76c579dc3509ff11e098fc867e5130ab7be802"}, +] + +[package.dependencies] +typing-extensions = {version = ">=4.0.0", markers = "python_version < \"3.9\""} + +[[package]] +name = "argcomplete" +version = "3.1.1" +description = "Bash tab completion for argparse" +category = "main" +optional = false +python-versions = ">=3.6" +files = [ + {file = "argcomplete-3.1.1-py3-none-any.whl", hash = "sha256:35fa893a88deea85ea7b20d241100e64516d6af6d7b0ae2bed1d263d26f70948"}, + {file = "argcomplete-3.1.1.tar.gz", hash = "sha256:6c4c563f14f01440aaffa3eae13441c5db2357b5eec639abe7c0b15334627dff"}, +] + +[package.extras] +test = ["coverage", "mypy", "pexpect", "ruff", "wheel"] + [[package]] name = "attrs" version = "23.1.0" @@ -19,20 +49,105 @@ docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib- tests = ["attrs[tests-no-zope]", "zope-interface"] tests-no-zope = ["cloudpickle", "hypothesis", "mypy (>=1.1.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +[[package]] +name = "bcrypt" +version = "4.0.1" +description = "Modern password hashing for your software and your servers" +category = "main" +optional = false +python-versions = ">=3.6" +files = [ + {file = "bcrypt-4.0.1-cp36-abi3-macosx_10_10_universal2.whl", hash = "sha256:b1023030aec778185a6c16cf70f359cbb6e0c289fd564a7cfa29e727a1c38f8f"}, + {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:08d2947c490093a11416df18043c27abe3921558d2c03e2076ccb28a116cb6d0"}, + {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0eaa47d4661c326bfc9d08d16debbc4edf78778e6aaba29c1bc7ce67214d4410"}, + {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae88eca3024bb34bb3430f964beab71226e761f51b912de5133470b649d82344"}, + {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_24_x86_64.whl", hash = "sha256:a522427293d77e1c29e303fc282e2d71864579527a04ddcfda6d4f8396c6c36a"}, + {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:fbdaec13c5105f0c4e5c52614d04f0bca5f5af007910daa8b6b12095edaa67b3"}, + {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:ca3204d00d3cb2dfed07f2d74a25f12fc12f73e606fcaa6975d1f7ae69cacbb2"}, + {file = "bcrypt-4.0.1-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:089098effa1bc35dc055366740a067a2fc76987e8ec75349eb9484061c54f535"}, + {file = "bcrypt-4.0.1-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:e9a51bbfe7e9802b5f3508687758b564069ba937748ad7b9e890086290d2f79e"}, + {file = "bcrypt-4.0.1-cp36-abi3-win32.whl", hash = "sha256:2caffdae059e06ac23fce178d31b4a702f2a3264c20bfb5ff541b338194d8fab"}, + {file = "bcrypt-4.0.1-cp36-abi3-win_amd64.whl", hash = "sha256:8a68f4341daf7522fe8d73874de8906f3a339048ba406be6ddc1b3ccb16fc0d9"}, + {file = "bcrypt-4.0.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf4fa8b2ca74381bb5442c089350f09a3f17797829d958fad058d6e44d9eb83c"}, + {file = "bcrypt-4.0.1-pp37-pypy37_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:67a97e1c405b24f19d08890e7ae0c4f7ce1e56a712a016746c8b2d7732d65d4b"}, + {file = "bcrypt-4.0.1-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:b3b85202d95dd568efcb35b53936c5e3b3600c7cdcc6115ba461df3a8e89f38d"}, + {file = "bcrypt-4.0.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cbb03eec97496166b704ed663a53680ab57c5084b2fc98ef23291987b525cb7d"}, + {file = "bcrypt-4.0.1-pp38-pypy38_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:5ad4d32a28b80c5fa6671ccfb43676e8c1cc232887759d1cd7b6f56ea4355215"}, + {file = "bcrypt-4.0.1-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:b57adba8a1444faf784394de3436233728a1ecaeb6e07e8c22c8848f179b893c"}, + {file = "bcrypt-4.0.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:705b2cea8a9ed3d55b4491887ceadb0106acf7c6387699fca771af56b1cdeeda"}, + {file = "bcrypt-4.0.1-pp39-pypy39_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:2b3ac11cf45161628f1f3733263e63194f22664bf4d0c0f3ab34099c02134665"}, + {file = "bcrypt-4.0.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:3100851841186c25f127731b9fa11909ab7b1df6fc4b9f8353f4f1fd952fbf71"}, + {file = "bcrypt-4.0.1.tar.gz", hash = "sha256:27d375903ac8261cfe4047f6709d16f7d18d39b1ec92aaf72af989552a650ebd"}, +] + +[package.extras] +tests = ["pytest (>=3.2.1,!=3.3.0)"] +typecheck = ["mypy"] + +[[package]] +name = "black" +version = "23.3.0" +description = "The uncompromising code formatter." +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "black-23.3.0-cp310-cp310-macosx_10_16_arm64.whl", hash = "sha256:0945e13506be58bf7db93ee5853243eb368ace1c08a24c65ce108986eac65915"}, + {file = "black-23.3.0-cp310-cp310-macosx_10_16_universal2.whl", hash = "sha256:67de8d0c209eb5b330cce2469503de11bca4085880d62f1628bd9972cc3366b9"}, + {file = "black-23.3.0-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:7c3eb7cea23904399866c55826b31c1f55bbcd3890ce22ff70466b907b6775c2"}, + {file = "black-23.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:32daa9783106c28815d05b724238e30718f34155653d4d6e125dc7daec8e260c"}, + {file = "black-23.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:35d1381d7a22cc5b2be2f72c7dfdae4072a3336060635718cc7e1ede24221d6c"}, + {file = "black-23.3.0-cp311-cp311-macosx_10_16_arm64.whl", hash = "sha256:a8a968125d0a6a404842fa1bf0b349a568634f856aa08ffaff40ae0dfa52e7c6"}, + {file = "black-23.3.0-cp311-cp311-macosx_10_16_universal2.whl", hash = "sha256:c7ab5790333c448903c4b721b59c0d80b11fe5e9803d8703e84dcb8da56fec1b"}, + {file = "black-23.3.0-cp311-cp311-macosx_10_16_x86_64.whl", hash = "sha256:a6f6886c9869d4daae2d1715ce34a19bbc4b95006d20ed785ca00fa03cba312d"}, + {file = "black-23.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6f3c333ea1dd6771b2d3777482429864f8e258899f6ff05826c3a4fcc5ce3f70"}, + {file = "black-23.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:11c410f71b876f961d1de77b9699ad19f939094c3a677323f43d7a29855fe326"}, + {file = "black-23.3.0-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:1d06691f1eb8de91cd1b322f21e3bfc9efe0c7ca1f0e1eb1db44ea367dff656b"}, + {file = "black-23.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50cb33cac881766a5cd9913e10ff75b1e8eb71babf4c7104f2e9c52da1fb7de2"}, + {file = "black-23.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:e114420bf26b90d4b9daa597351337762b63039752bdf72bf361364c1aa05925"}, + {file = "black-23.3.0-cp38-cp38-macosx_10_16_arm64.whl", hash = "sha256:48f9d345675bb7fbc3dd85821b12487e1b9a75242028adad0333ce36ed2a6d27"}, + {file = "black-23.3.0-cp38-cp38-macosx_10_16_universal2.whl", hash = "sha256:714290490c18fb0126baa0fca0a54ee795f7502b44177e1ce7624ba1c00f2331"}, + {file = "black-23.3.0-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:064101748afa12ad2291c2b91c960be28b817c0c7eaa35bec09cc63aa56493c5"}, + {file = "black-23.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:562bd3a70495facf56814293149e51aa1be9931567474993c7942ff7d3533961"}, + {file = "black-23.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:e198cf27888ad6f4ff331ca1c48ffc038848ea9f031a3b40ba36aced7e22f2c8"}, + {file = "black-23.3.0-cp39-cp39-macosx_10_16_arm64.whl", hash = "sha256:3238f2aacf827d18d26db07524e44741233ae09a584273aa059066d644ca7b30"}, + {file = "black-23.3.0-cp39-cp39-macosx_10_16_universal2.whl", hash = "sha256:f0bd2f4a58d6666500542b26354978218a9babcdc972722f4bf90779524515f3"}, + {file = "black-23.3.0-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:92c543f6854c28a3c7f39f4d9b7694f9a6eb9d3c5e2ece488c327b6e7ea9b266"}, + {file = "black-23.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a150542a204124ed00683f0db1f5cf1c2aaaa9cc3495b7a3b5976fb136090ab"}, + {file = "black-23.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:6b39abdfb402002b8a7d030ccc85cf5afff64ee90fa4c5aebc531e3ad0175ddb"}, + {file = "black-23.3.0-py3-none-any.whl", hash = "sha256:ec751418022185b0c1bb7d7736e6933d40bbb14c14a0abcf9123d1b159f98dd4"}, + {file = "black-23.3.0.tar.gz", hash = "sha256:1c7b8d606e728a41ea1ccbd7264677e494e87cf630e399262ced92d4a8dac940"}, +] + +[package.dependencies] +click = ">=8.0.0" +mypy-extensions = ">=0.4.3" +packaging = ">=22.0" +pathspec = ">=0.9.0" +platformdirs = ">=2" +tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} +typing-extensions = {version = ">=3.10.0.0", markers = "python_version < \"3.10\""} + +[package.extras] +colorama = ["colorama (>=0.4.3)"] +d = ["aiohttp (>=3.7.4)"] +jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] +uvloop = ["uvloop (>=0.15.2)"] + [[package]] name = "boto3" -version = "1.26.143" +version = "1.26.163" description = "The AWS SDK for Python" category = "main" optional = false python-versions = ">= 3.7" files = [ - {file = "boto3-1.26.143-py3-none-any.whl", hash = "sha256:65e91de5c0ee2e4786ab3b144410312344827154aa5bfb4e7b455e5e107cdbf8"}, - {file = "boto3-1.26.143.tar.gz", hash = "sha256:d973751c5ea2db7743f80ee8552043cace8f18a2472cae1ab93ffbfb6889b825"}, + {file = "boto3-1.26.163-py3-none-any.whl", hash = "sha256:61b66b9ab03bf59c26f546c9dca053a888dd3e7e85d49a5de6112232b5e5f6c5"}, + {file = "boto3-1.26.163.tar.gz", hash = "sha256:341ad62c53f9717cfe5fb2ae33e34f2dd3ee930abaa0fc864a10c018c0c78783"}, ] [package.dependencies] -botocore = ">=1.29.143,<1.30.0" +botocore = ">=1.29.163,<1.30.0" jmespath = ">=0.7.1,<2.0.0" s3transfer = ">=0.6.0,<0.7.0" @@ -41,14 +156,14 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"] [[package]] name = "botocore" -version = "1.29.143" +version = "1.29.163" description = "Low-level, data-driven core of boto 3." category = "main" optional = false python-versions = ">= 3.7" files = [ - {file = "botocore-1.29.143-py3-none-any.whl", hash = "sha256:fcb424c750a78a9f86b5ee8319bfa20de8528a80aadcdd171910bcb8d45c3055"}, - {file = "botocore-1.29.143.tar.gz", hash = "sha256:e5b8dd2fa750f0476667753dc018c2b14a542fec7e20edd3a7613b6d2df2c32a"}, + {file = "botocore-1.29.163-py3-none-any.whl", hash = "sha256:dd0af0de58c12df39e043be3ad864a47d8b8ef10eedde15a73504ff75dcc261b"}, + {file = "botocore-1.29.163.tar.gz", hash = "sha256:f374bea656bf9025ad685f47e7b8ff9e20b1a2584823855ba1c4c58957768612"}, ] [package.dependencies] @@ -148,6 +263,18 @@ files = [ [package.dependencies] pycparser = "*" +[[package]] +name = "chardet" +version = "5.1.0" +description = "Universal encoding detector for Python 3" +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "chardet-5.1.0-py3-none-any.whl", hash = "sha256:362777fb014af596ad31334fde1e8c327dfdb076e1960d1694662d46a6917ab9"}, + {file = "chardet-5.1.0.tar.gz", hash = "sha256:0d62712b956bc154f85fb0a266e2a3c5913c2967e00348701b32411d6def31e5"}, +] + [[package]] name = "charset-normalizer" version = "3.1.0" @@ -235,14 +362,14 @@ files = [ [[package]] name = "click" -version = "8.1.3" +version = "8.1.4" description = "Composable command line interface toolkit" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "click-8.1.3-py3-none-any.whl", hash = "sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48"}, - {file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"}, + {file = "click-8.1.4-py3-none-any.whl", hash = "sha256:2739815aaa5d2c986a88f1e9230c55e17f0caad3d958a5e13ad0797c166db9e3"}, + {file = "click-8.1.4.tar.gz", hash = "sha256:b97d0c74955da062a7d4ef92fadb583806a585b2ea81958a81bd72726cbb8e37"}, ] [package.dependencies] @@ -260,33 +387,48 @@ files = [ {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, ] +[[package]] +name = "configobj" +version = "5.0.8" +description = "Config file reading, writing and validation." +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "configobj-5.0.8-py2.py3-none-any.whl", hash = "sha256:a7a8c6ab7daade85c3f329931a807c8aee750a2494363934f8ea84d8a54c87ea"}, + {file = "configobj-5.0.8.tar.gz", hash = "sha256:6f704434a07dc4f4dc7c9a745172c1cad449feb548febd9f7fe362629c627a97"}, +] + +[package.dependencies] +six = "*" + [[package]] name = "cryptography" -version = "41.0.0" +version = "41.0.1" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "cryptography-41.0.0-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:3c5ef25d060c80d6d9f7f9892e1d41bb1c79b78ce74805b8cb4aa373cb7d5ec8"}, - {file = "cryptography-41.0.0-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:8362565b3835ceacf4dc8f3b56471a2289cf51ac80946f9087e66dc283a810e0"}, - {file = "cryptography-41.0.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3680248309d340fda9611498a5319b0193a8dbdb73586a1acf8109d06f25b92d"}, - {file = "cryptography-41.0.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:84a165379cb9d411d58ed739e4af3396e544eac190805a54ba2e0322feb55c46"}, - {file = "cryptography-41.0.0-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:4ab14d567f7bbe7f1cdff1c53d5324ed4d3fc8bd17c481b395db224fb405c237"}, - {file = "cryptography-41.0.0-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:9f65e842cb02550fac96536edb1d17f24c0a338fd84eaf582be25926e993dde4"}, - {file = "cryptography-41.0.0-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:b7f2f5c525a642cecad24ee8670443ba27ac1fab81bba4cc24c7b6b41f2d0c75"}, - {file = "cryptography-41.0.0-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:7d92f0248d38faa411d17f4107fc0bce0c42cae0b0ba5415505df72d751bf62d"}, - {file = "cryptography-41.0.0-cp37-abi3-win32.whl", hash = "sha256:34d405ea69a8b34566ba3dfb0521379b210ea5d560fafedf9f800a9a94a41928"}, - {file = "cryptography-41.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:344c6de9f8bda3c425b3a41b319522ba3208551b70c2ae00099c205f0d9fd3be"}, - {file = "cryptography-41.0.0-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:88ff107f211ea696455ea8d911389f6d2b276aabf3231bf72c8853d22db755c5"}, - {file = "cryptography-41.0.0-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:b846d59a8d5a9ba87e2c3d757ca019fa576793e8758174d3868aecb88d6fc8eb"}, - {file = "cryptography-41.0.0-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f5d0bf9b252f30a31664b6f64432b4730bb7038339bd18b1fafe129cfc2be9be"}, - {file = "cryptography-41.0.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:5c1f7293c31ebc72163a9a0df246f890d65f66b4a40d9ec80081969ba8c78cc9"}, - {file = "cryptography-41.0.0-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:bf8fc66012ca857d62f6a347007e166ed59c0bc150cefa49f28376ebe7d992a2"}, - {file = "cryptography-41.0.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:a4fc68d1c5b951cfb72dfd54702afdbbf0fb7acdc9b7dc4301bbf2225a27714d"}, - {file = "cryptography-41.0.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:14754bcdae909d66ff24b7b5f166d69340ccc6cb15731670435efd5719294895"}, - {file = "cryptography-41.0.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:0ddaee209d1cf1f180f1efa338a68c4621154de0afaef92b89486f5f96047c55"}, - {file = "cryptography-41.0.0.tar.gz", hash = "sha256:6b71f64beeea341c9b4f963b48ee3b62d62d57ba93eb120e1196b31dc1025e78"}, + {file = "cryptography-41.0.1-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:f73bff05db2a3e5974a6fd248af2566134d8981fd7ab012e5dd4ddb1d9a70699"}, + {file = "cryptography-41.0.1-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:1a5472d40c8f8e91ff7a3d8ac6dfa363d8e3138b961529c996f3e2df0c7a411a"}, + {file = "cryptography-41.0.1-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7fa01527046ca5facdf973eef2535a27fec4cb651e4daec4d043ef63f6ecd4ca"}, + {file = "cryptography-41.0.1-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b46e37db3cc267b4dea1f56da7346c9727e1209aa98487179ee8ebed09d21e43"}, + {file = "cryptography-41.0.1-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:d198820aba55660b4d74f7b5fd1f17db3aa5eb3e6893b0a41b75e84e4f9e0e4b"}, + {file = "cryptography-41.0.1-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:948224d76c4b6457349d47c0c98657557f429b4e93057cf5a2f71d603e2fc3a3"}, + {file = "cryptography-41.0.1-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:059e348f9a3c1950937e1b5d7ba1f8e968508ab181e75fc32b879452f08356db"}, + {file = "cryptography-41.0.1-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:b4ceb5324b998ce2003bc17d519080b4ec8d5b7b70794cbd2836101406a9be31"}, + {file = "cryptography-41.0.1-cp37-abi3-win32.whl", hash = "sha256:8f4ab7021127a9b4323537300a2acfb450124b2def3756f64dc3a3d2160ee4b5"}, + {file = "cryptography-41.0.1-cp37-abi3-win_amd64.whl", hash = "sha256:1fee5aacc7367487b4e22484d3c7e547992ed726d14864ee33c0176ae43b0d7c"}, + {file = "cryptography-41.0.1-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:9a6c7a3c87d595608a39980ebaa04d5a37f94024c9f24eb7d10262b92f739ddb"}, + {file = "cryptography-41.0.1-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:5d092fdfedaec4cbbffbf98cddc915ba145313a6fdaab83c6e67f4e6c218e6f3"}, + {file = "cryptography-41.0.1-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:1a8e6c2de6fbbcc5e14fd27fb24414507cb3333198ea9ab1258d916f00bc3039"}, + {file = "cryptography-41.0.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:cb33ccf15e89f7ed89b235cff9d49e2e62c6c981a6061c9c8bb47ed7951190bc"}, + {file = "cryptography-41.0.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5f0ff6e18d13a3de56f609dd1fd11470918f770c6bd5d00d632076c727d35485"}, + {file = "cryptography-41.0.1-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:7bfc55a5eae8b86a287747053140ba221afc65eb06207bedf6e019b8934b477c"}, + {file = "cryptography-41.0.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:eb8163f5e549a22888c18b0d53d6bb62a20510060a22fd5a995ec8a05268df8a"}, + {file = "cryptography-41.0.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:8dde71c4169ec5ccc1087bb7521d54251c016f126f922ab2dfe6649170a3b8c5"}, + {file = "cryptography-41.0.1.tar.gz", hash = "sha256:d34579085401d3f49762d2f7d6634d6b6c2ae1242202e860f4d26b046e3a1006"}, ] [package.dependencies] @@ -302,6 +444,51 @@ ssh = ["bcrypt (>=3.1.5)"] test = ["pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-xdist"] test-randomorder = ["pytest-randomly"] +[[package]] +name = "datamodel-code-generator" +version = "0.21.1" +description = "Datamodel Code Generator" +category = "main" +optional = false +python-versions = ">=3.7,<4.0" +files = [ + {file = "datamodel_code_generator-0.21.1-py3-none-any.whl", hash = "sha256:9898d4a39a54638022850b0df85fab0ef20394382e88482b8bf8925d4817c493"}, + {file = "datamodel_code_generator-0.21.1.tar.gz", hash = "sha256:feab1c222c5bc3b7c53e1dc8b299bbc261bb17e9dbc22fdd60fc3a2806694ecc"}, +] + +[package.dependencies] +argcomplete = ">=1.10,<4.0" +black = ">=19.10b0" +genson = ">=1.2.1,<2.0" +inflect = ">=4.1.0,<6.0" +isort = ">=4.3.21,<6.0" +jinja2 = ">=2.10.1,<4.0" +openapi-spec-validator = ">=0.2.8,<=0.5.2" +packaging = "*" +prance = ">=0.18.2" +pydantic = [ + {version = ">=1.10.0,<3.0", extras = ["email"], markers = "python_version >= \"3.11\" and python_version < \"4.0\""}, + {version = ">=1.5.1,<3.0", extras = ["email"], markers = "python_version < \"3.10\""}, + {version = ">=1.9.0,<3.0", extras = ["email"], markers = "python_version >= \"3.10\" and python_version < \"3.11\""}, +] +PySnooper = ">=0.4.1,<2.0.0" +toml = ">=0.10.0,<1.0.0" + +[package.extras] +http = ["httpx"] + +[[package]] +name = "decorator" +version = "5.1.1" +description = "Decorators for Humans" +category = "main" +optional = false +python-versions = ">=3.5" +files = [ + {file = "decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"}, + {file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"}, +] + [[package]] name = "deprecated" version = "1.2.14" @@ -320,16 +507,37 @@ wrapt = ">=1.10,<2" [package.extras] dev = ["PyTest", "PyTest-Cov", "bump2version (<1)", "sphinx (<2)", "tox"] +[[package]] +name = "dnspython" +version = "2.3.0" +description = "DNS toolkit" +category = "main" +optional = false +python-versions = ">=3.7,<4.0" +files = [ + {file = "dnspython-2.3.0-py3-none-any.whl", hash = "sha256:89141536394f909066cabd112e3e1a37e4e654db00a25308b0f130bc3152eb46"}, + {file = "dnspython-2.3.0.tar.gz", hash = "sha256:224e32b03eb46be70e12ef6d64e0be123a64e621ab4c0822ff6d450d52a540b9"}, +] + +[package.extras] +curio = ["curio (>=1.2,<2.0)", "sniffio (>=1.1,<2.0)"] +dnssec = ["cryptography (>=2.6,<40.0)"] +doh = ["h2 (>=4.1.0)", "httpx (>=0.21.1)", "requests (>=2.23.0,<3.0.0)", "requests-toolbelt (>=0.9.1,<0.11.0)"] +doq = ["aioquic (>=0.9.20)"] +idna = ["idna (>=2.1,<4.0)"] +trio = ["trio (>=0.14,<0.23)"] +wmi = ["wmi (>=1.5.1,<2.0.0)"] + [[package]] name = "docker" -version = "6.1.2" +version = "6.1.3" description = "A Python library for the Docker Engine API." category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "docker-6.1.2-py3-none-any.whl", hash = "sha256:134cd828f84543cbf8e594ff81ca90c38288df3c0a559794c12f2e4b634ea19e"}, - {file = "docker-6.1.2.tar.gz", hash = "sha256:dcc088adc2ec4e7cfc594e275d8bd2c9738c56c808de97476939ef67db5af8c2"}, + {file = "docker-6.1.3-py3-none-any.whl", hash = "sha256:aecd2277b8bf8e506e484f6ab7aec39abe0038e29fa4a6d3ba86c3fe01844ed9"}, + {file = "docker-6.1.3.tar.gz", hash = "sha256:aa6d17830045ba5ef0168d5eaa34d37beeb113948c413affe1d5991fc11f9a20"}, ] [package.dependencies] @@ -353,6 +561,22 @@ files = [ {file = "docutils-0.20.1.tar.gz", hash = "sha256:f08a4e276c3a1583a86dce3e34aba3fe04d02bba2dd51ed16106244e8a923e3b"}, ] +[[package]] +name = "email-validator" +version = "2.0.0.post2" +description = "A robust email address syntax and deliverability validation library." +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "email_validator-2.0.0.post2-py3-none-any.whl", hash = "sha256:2466ba57cda361fb7309fd3d5a225723c788ca4bbad32a0ebd5373b99730285c"}, + {file = "email_validator-2.0.0.post2.tar.gz", hash = "sha256:1ff6e86044200c56ae23595695c54e9614f4a9551e0e393614f764860b3d7900"}, +] + +[package.dependencies] +dnspython = ">=2.0.0" +idna = ">=2.0.0" + [[package]] name = "exasol-bucketfs" version = "0.8.0" @@ -384,20 +608,21 @@ files = [ [[package]] name = "exasol-integration-test-docker-environment" -version = "1.6.0" +version = "1.7.1" description = "Integration Test Docker Environment for Exasol" category = "main" optional = false python-versions = ">=3.8,<4" files = [ - {file = "exasol_integration_test_docker_environment-1.6.0-py3-none-any.whl", hash = "sha256:81f9c10eb5f62c7fabf77adaf72582ff7b238a94aaf00df39c859f096b9e5297"}, - {file = "exasol_integration_test_docker_environment-1.6.0.tar.gz", hash = "sha256:aa0208bb6e753c3c359723d5b260e29816565b249cbed8bdc81581759594fb56"}, + {file = "exasol_integration_test_docker_environment-1.7.1-py3-none-any.whl", hash = "sha256:531bf53a5c60c422850472710d3ad11983d8636cb5edfbb705c86f0a4a69a125"}, + {file = "exasol_integration_test_docker_environment-1.7.1.tar.gz", hash = "sha256:7fb6b2e225673c124e1ebecd1bbc03d313bf56d3915d526496f21ba0ca9fa816"}, ] [package.dependencies] click = ">=7.0" docker = {version = ">=4.0.0", markers = "sys_platform != \"win32\""} exasol-bucketfs = ">=0.6.0,<2.0.0" +fabric = ">=3.0.1,<4.0.0" gitpython = ">=2.1.0" humanfriendly = ">=4.18" importlib_resources = ">=5.4.0" @@ -406,6 +631,7 @@ jsonpickle = ">=1.1" luigi = ">=2.8.4" netaddr = ">=0.7.19" networkx = ">=2.3" +portalocker = ">=2.7.0,<3.0.0" pydot = ">=1.4.0" pyexasol = ">=0.25.2,<0.26.0" pytest = ">=7.2.2,<8.0.0" @@ -415,59 +641,62 @@ simplejson = ">=3.16.0" [[package]] name = "exasol-script-languages-container-ci" -version = "1.1.0" +version = "1.3.2" description = "Implements CI builds for script-language-container." category = "main" optional = false python-versions = ">=3.8.0,<4.0" files = [ - {file = "exasol_script_languages_container_ci-1.1.0-py3-none-any.whl", hash = "sha256:1034fc0d93accf18a04df002f50bdc6bf514a0dbdee746c5aaeedb176ca5bbd0"}, - {file = "exasol_script_languages_container_ci-1.1.0.tar.gz", hash = "sha256:7e970733273d6873318f74193e5a2e1e478081d3ed32a0af3f180b036e130106"}, + {file = "exasol_script_languages_container_ci-1.3.2-py3-none-any.whl", hash = "sha256:3e755f5f35b96455b71a15926fb5c913da9a787bf739e1ea51634339592565a1"}, + {file = "exasol_script_languages_container_ci-1.3.2.tar.gz", hash = "sha256:22be54ef98188119206c57081d946dfbe64aa10fd0a80a4c4a6ce3e5c3859126"}, ] [package.dependencies] click = ">=8.0.3,<9.0.0" -exasol-integration-test-docker-environment = ">=1.4.0,<2.0.0" -exasol-script-languages-container-tool = ">=0.17.0,<0.18.0" +datamodel-code-generator = ">=0.21.0,<0.22.0" +exasol-integration-test-docker-environment = ">=1.7.1,<2.0.0" +exasol-script-languages-container-tool = ">=0.18.0,<0.19.0" GitPython = ">=3.1.0" PyGithub = ">=1.55.0,<2.0.0" -setuptools = ">=67.6.0,<68.0.0" +setuptools = ">=68.0.0,<69.0.0" [[package]] name = "exasol-script-languages-container-ci-setup" -version = "1.0.0" +version = "1.2.0" description = "Manages AWS cloud CI build infrastructure." category = "main" optional = false python-versions = ">=3.8.0,<4.0" files = [ - {file = "exasol-script-languages-container-ci-setup-1.0.0.tar.gz", hash = "sha256:0145f5db346e129ac30f1a0490c4acda84a5ffbfff948bc36b6b72b5ac75295a"}, - {file = "exasol_script_languages_container_ci_setup-1.0.0-py3-none-any.whl", hash = "sha256:37e3595e30880257cfa22d841d89ecbf09447fd06240e58d8eb386d317a38c85"}, + {file = "exasol_script_languages_container_ci_setup-1.2.0-py3-none-any.whl", hash = "sha256:e45033e64920e4166f49c7cb0c21edbf119ddc66672c8925cec03ee4d5240c3c"}, + {file = "exasol_script_languages_container_ci_setup-1.2.0.tar.gz", hash = "sha256:f914266baed0646dcd2e9f4af4e7875b21fc40e9e263cc62432f2cb7885e18c2"}, ] [package.dependencies] -boto3 = ">=1.22.0,<2.0.0" +boto3 = "1.26.163" +botocore = "1.29.163" click = ">=8.1.3,<9.0.0" exasol_error_reporting_python = ">=0.3.0,<0.4.0" -exasol-script-languages-container-ci = ">=1.0.0,<2.0.0" +exasol-script-languages-container-ci = ">=1.3.0,<2.0.0" jinja2 = ">=3.1.0" jsonschema = ">=4.17.3,<5.0.0" PyGithub = ">=1.55.0,<2.0.0" [[package]] name = "exasol-script-languages-container-tool" -version = "0.17.0" +version = "0.18.0" description = "Script Languages Container Tool" category = "main" optional = false python-versions = ">=3.8,<4" files = [ - {file = "exasol_script_languages_container_tool-0.17.0-py3-none-any.whl", hash = "sha256:53d6b1c93d256c9b2d0ce24895094db0a80891d2b649bc5acf4705727b670646"}, - {file = "exasol_script_languages_container_tool-0.17.0.tar.gz", hash = "sha256:bf04a2881e4baf4beb454c02e8a506698b0e52fa2cdd30a8f879d62ac28b716f"}, + {file = "exasol_script_languages_container_tool-0.18.0-py3-none-any.whl", hash = "sha256:ba111aa79476872255e70be6470a58b842866bfc8a00409011ce5cc30ceb477d"}, + {file = "exasol_script_languages_container_tool-0.18.0.tar.gz", hash = "sha256:12052d6c6db95bad256e375af4cbbdc96c49f4ade24d869395cf8d4df7e32d02"}, ] [package.dependencies] -exasol-integration-test-docker-environment = ">=1.6.0,<2.0.0" +configobj = ">=5.0.8,<6.0.0" +exasol-integration-test-docker-environment = ">=1.7.1,<2.0.0" importlib_metadata = ">=4.6.0" importlib-resources = ">=5.4.0" networkx = "2.8.2" @@ -475,19 +704,50 @@ typeguard = "<3.0.0" [[package]] name = "exceptiongroup" -version = "1.1.1" +version = "1.1.2" description = "Backport of PEP 654 (exception groups)" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "exceptiongroup-1.1.1-py3-none-any.whl", hash = "sha256:232c37c63e4f682982c8b6459f33a8981039e5fb8756b2074364e5055c498c9e"}, - {file = "exceptiongroup-1.1.1.tar.gz", hash = "sha256:d484c3090ba2889ae2928419117447a14daf3c1231d5e30d0aae34f354f01785"}, + {file = "exceptiongroup-1.1.2-py3-none-any.whl", hash = "sha256:e346e69d186172ca7cf029c8c1d16235aa0e04035e5750b4b95039e65204328f"}, + {file = "exceptiongroup-1.1.2.tar.gz", hash = "sha256:12c3e887d6485d16943a309616de20ae5582633e0a2eda17f4e10fd61c1e8af5"}, ] [package.extras] test = ["pytest (>=6)"] +[[package]] +name = "fabric" +version = "3.1.0" +description = "High level SSH command execution" +category = "main" +optional = false +python-versions = "*" +files = [ + {file = "fabric-3.1.0-py3-none-any.whl", hash = "sha256:0a13217db1aa203167376119b0e165081c5906c31e2b2104410685d1310ef8fb"}, + {file = "fabric-3.1.0.tar.gz", hash = "sha256:ea1c5ea3956d196b5990ba720cc8ee457fa1b9c6f265ab3b643ff63b05e8970a"}, +] + +[package.dependencies] +decorator = ">=5" +invoke = ">=2.0" +paramiko = ">=2.4" + +[package.extras] +pytest = ["pytest (>=7)"] + +[[package]] +name = "genson" +version = "1.2.2" +description = "GenSON is a powerful, user-friendly JSON Schema generator." +category = "main" +optional = false +python-versions = "*" +files = [ + {file = "genson-1.2.2.tar.gz", hash = "sha256:8caf69aa10af7aee0e1a1351d1d06801f4696e005f06cedef438635384346a16"}, +] + [[package]] name = "gitdb" version = "4.0.10" @@ -547,14 +807,14 @@ files = [ [[package]] name = "importlib-metadata" -version = "6.6.0" +version = "6.7.0" description = "Read metadata from Python packages" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "importlib_metadata-6.6.0-py3-none-any.whl", hash = "sha256:43dd286a2cd8995d5eaef7fee2066340423b818ed3fd70adf0bad5f1fac53fed"}, - {file = "importlib_metadata-6.6.0.tar.gz", hash = "sha256:92501cdf9cc66ebd3e612f1b4f0c0765dfa42f0fa38ffb319b6bd84dd675d705"}, + {file = "importlib_metadata-6.7.0-py3-none-any.whl", hash = "sha256:cb52082e659e97afc5dac71e79de97d8681de3aa07ff18578330904a9d18e5b5"}, + {file = "importlib_metadata-6.7.0.tar.gz", hash = "sha256:1aaf550d4f73e5d6783e7acb77aec43d49da8017410afae93822cc9cca98c4d4"}, ] [package.dependencies] @@ -563,7 +823,7 @@ zipp = ">=0.5" [package.extras] docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] perf = ["ipython"] -testing = ["flake8 (<5)", "flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)"] +testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)", "pytest-ruff"] [[package]] name = "importlib-resources" @@ -584,6 +844,22 @@ zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] testing = ["flake8 (<5)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] +[[package]] +name = "inflect" +version = "5.6.2" +description = "Correctly generate plurals, singular nouns, ordinals, indefinite articles; convert numbers to words" +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "inflect-5.6.2-py3-none-any.whl", hash = "sha256:b45d91a4a28a4e617ff1821117439b06eaa86e2a4573154af0149e9be6687238"}, + {file = "inflect-5.6.2.tar.gz", hash = "sha256:aadc7ed73928f5e014129794bbac03058cca35d0a973a5fc4eb45c7fa26005f9"}, +] + +[package.extras] +docs = ["jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx"] +testing = ["pygments", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] + [[package]] name = "iniconfig" version = "2.0.0" @@ -596,6 +872,36 @@ files = [ {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, ] +[[package]] +name = "invoke" +version = "2.1.3" +description = "Pythonic task execution" +category = "main" +optional = false +python-versions = ">=3.6" +files = [ + {file = "invoke-2.1.3-py3-none-any.whl", hash = "sha256:51e86a08d964160e01c44eccd22f50b25842bd96a9c63c11177032594cb86740"}, + {file = "invoke-2.1.3.tar.gz", hash = "sha256:a3b15d52d50bbabd851b8a39582c772180b614000fa1612b4d92484d54d38c6b"}, +] + +[[package]] +name = "isort" +version = "5.12.0" +description = "A Python utility / library to sort Python imports." +category = "main" +optional = false +python-versions = ">=3.8.0" +files = [ + {file = "isort-5.12.0-py3-none-any.whl", hash = "sha256:f84c2818376e66cf843d497486ea8fed8700b340f308f076c6fb1229dff318b6"}, + {file = "isort-5.12.0.tar.gz", hash = "sha256:8bef7dde241278824a6d83f44a544709b065191b95b6e50894bdc722fcba0504"}, +] + +[package.extras] +colors = ["colorama (>=0.4.3)"] +pipfile-deprecated-finder = ["pip-shims (>=0.5.2)", "pipreqs", "requirementslib"] +plugins = ["setuptools"] +requirements-deprecated-finder = ["pip-api", "pipreqs"] + [[package]] name = "jinja2" version = "3.1.2" @@ -628,14 +934,14 @@ files = [ [[package]] name = "joblib" -version = "1.2.0" +version = "1.3.1" description = "Lightweight pipelining with Python functions" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "joblib-1.2.0-py3-none-any.whl", hash = "sha256:091138ed78f800342968c523bdde947e7a305b8594b910a0fea2ab83c3c6d385"}, - {file = "joblib-1.2.0.tar.gz", hash = "sha256:e1cee4a79e4af22881164f218d4311f60074197fb707e082e803b61f6d137018"}, + {file = "joblib-1.3.1-py3-none-any.whl", hash = "sha256:89cf0529520e01b3de7ac7b74a8102c90d16d54c64b5dd98cafcd14307fdf915"}, + {file = "joblib-1.3.1.tar.gz", hash = "sha256:1f937906df65329ba98013dc9692fe22a4c5e4a648112de500508b18a21b41e3"}, ] [[package]] @@ -657,26 +963,108 @@ testing-libs = ["simplejson", "ujson"] [[package]] name = "jsonschema" -version = "4.17.3" +version = "4.18.0" description = "An implementation of JSON Schema validation for Python" category = "main" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "jsonschema-4.17.3-py3-none-any.whl", hash = "sha256:a870ad254da1a8ca84b6a2905cac29d265f805acc57af304784962a2aa6508f6"}, - {file = "jsonschema-4.17.3.tar.gz", hash = "sha256:0f864437ab8b6076ba6707453ef8f98a6a0d512a80e93f8abdb676f737ecb60d"}, + {file = "jsonschema-4.18.0-py3-none-any.whl", hash = "sha256:b508dd6142bd03f4c3670534c80af68cd7bbff9ea830b9cf2625d4a3c49ddf60"}, + {file = "jsonschema-4.18.0.tar.gz", hash = "sha256:8caf5b57a990a98e9b39832ef3cb35c176fe331414252b6e1b26fd5866f891a4"}, ] [package.dependencies] -attrs = ">=17.4.0" +attrs = ">=22.2.0" importlib-resources = {version = ">=1.4.0", markers = "python_version < \"3.9\""} +jsonschema-specifications = ">=2023.03.6" pkgutil-resolve-name = {version = ">=1.3.10", markers = "python_version < \"3.9\""} -pyrsistent = ">=0.14.0,<0.17.0 || >0.17.0,<0.17.1 || >0.17.1,<0.17.2 || >0.17.2" +referencing = ">=0.28.4" +rpds-py = ">=0.7.1" [package.extras] format = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3987", "uri-template", "webcolors (>=1.11)"] format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3986-validator (>0.1.0)", "uri-template", "webcolors (>=1.11)"] +[[package]] +name = "jsonschema-spec" +version = "0.1.3" +description = "JSONSchema Spec with object-oriented paths" +category = "main" +optional = false +python-versions = ">=3.7.0,<4.0.0" +files = [ + {file = "jsonschema_spec-0.1.3-py3-none-any.whl", hash = "sha256:b3cde007ad65c2e631e2f8653cf187124a2c714d02d9fafbab68ad64bf5745d6"}, + {file = "jsonschema_spec-0.1.3.tar.gz", hash = "sha256:8d8db7c255e524fab1016a952a9143e5b6e3c074f4ed25d1878f8e97806caec0"}, +] + +[package.dependencies] +jsonschema = ">=4.0.0,<5.0.0" +pathable = ">=0.4.1,<0.5.0" +PyYAML = ">=5.1" +typing-extensions = ">=4.3.0,<5.0.0" + +[[package]] +name = "jsonschema-specifications" +version = "2023.6.1" +description = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry" +category = "main" +optional = false +python-versions = ">=3.8" +files = [ + {file = "jsonschema_specifications-2023.6.1-py3-none-any.whl", hash = "sha256:3d2b82663aff01815f744bb5c7887e2121a63399b49b104a3c96145474d091d7"}, + {file = "jsonschema_specifications-2023.6.1.tar.gz", hash = "sha256:ca1c4dd059a9e7b34101cf5b3ab7ff1d18b139f35950d598d629837ef66e8f28"}, +] + +[package.dependencies] +importlib-resources = {version = ">=1.4.0", markers = "python_version < \"3.9\""} +referencing = ">=0.28.0" + +[[package]] +name = "lazy-object-proxy" +version = "1.9.0" +description = "A fast and thorough lazy object proxy." +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "lazy-object-proxy-1.9.0.tar.gz", hash = "sha256:659fb5809fa4629b8a1ac5106f669cfc7bef26fbb389dda53b3e010d1ac4ebae"}, + {file = "lazy_object_proxy-1.9.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b40387277b0ed2d0602b8293b94d7257e17d1479e257b4de114ea11a8cb7f2d7"}, + {file = "lazy_object_proxy-1.9.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8c6cfb338b133fbdbc5cfaa10fe3c6aeea827db80c978dbd13bc9dd8526b7d4"}, + {file = "lazy_object_proxy-1.9.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:721532711daa7db0d8b779b0bb0318fa87af1c10d7fe5e52ef30f8eff254d0cd"}, + {file = "lazy_object_proxy-1.9.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:66a3de4a3ec06cd8af3f61b8e1ec67614fbb7c995d02fa224813cb7afefee701"}, + {file = "lazy_object_proxy-1.9.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1aa3de4088c89a1b69f8ec0dcc169aa725b0ff017899ac568fe44ddc1396df46"}, + {file = "lazy_object_proxy-1.9.0-cp310-cp310-win32.whl", hash = "sha256:f0705c376533ed2a9e5e97aacdbfe04cecd71e0aa84c7c0595d02ef93b6e4455"}, + {file = "lazy_object_proxy-1.9.0-cp310-cp310-win_amd64.whl", hash = "sha256:ea806fd4c37bf7e7ad82537b0757999264d5f70c45468447bb2b91afdbe73a6e"}, + {file = "lazy_object_proxy-1.9.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:946d27deaff6cf8452ed0dba83ba38839a87f4f7a9732e8f9fd4107b21e6ff07"}, + {file = "lazy_object_proxy-1.9.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79a31b086e7e68b24b99b23d57723ef7e2c6d81ed21007b6281ebcd1688acb0a"}, + {file = "lazy_object_proxy-1.9.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f699ac1c768270c9e384e4cbd268d6e67aebcfae6cd623b4d7c3bfde5a35db59"}, + {file = "lazy_object_proxy-1.9.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:bfb38f9ffb53b942f2b5954e0f610f1e721ccebe9cce9025a38c8ccf4a5183a4"}, + {file = "lazy_object_proxy-1.9.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:189bbd5d41ae7a498397287c408617fe5c48633e7755287b21d741f7db2706a9"}, + {file = "lazy_object_proxy-1.9.0-cp311-cp311-win32.whl", hash = "sha256:81fc4d08b062b535d95c9ea70dbe8a335c45c04029878e62d744bdced5141586"}, + {file = "lazy_object_proxy-1.9.0-cp311-cp311-win_amd64.whl", hash = "sha256:f2457189d8257dd41ae9b434ba33298aec198e30adf2dcdaaa3a28b9994f6adb"}, + {file = "lazy_object_proxy-1.9.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:d9e25ef10a39e8afe59a5c348a4dbf29b4868ab76269f81ce1674494e2565a6e"}, + {file = "lazy_object_proxy-1.9.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cbf9b082426036e19c6924a9ce90c740a9861e2bdc27a4834fd0a910742ac1e8"}, + {file = "lazy_object_proxy-1.9.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f5fa4a61ce2438267163891961cfd5e32ec97a2c444e5b842d574251ade27d2"}, + {file = "lazy_object_proxy-1.9.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:8fa02eaab317b1e9e03f69aab1f91e120e7899b392c4fc19807a8278a07a97e8"}, + {file = "lazy_object_proxy-1.9.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:e7c21c95cae3c05c14aafffe2865bbd5e377cfc1348c4f7751d9dc9a48ca4bda"}, + {file = "lazy_object_proxy-1.9.0-cp37-cp37m-win32.whl", hash = "sha256:f12ad7126ae0c98d601a7ee504c1122bcef553d1d5e0c3bfa77b16b3968d2734"}, + {file = "lazy_object_proxy-1.9.0-cp37-cp37m-win_amd64.whl", hash = "sha256:edd20c5a55acb67c7ed471fa2b5fb66cb17f61430b7a6b9c3b4a1e40293b1671"}, + {file = "lazy_object_proxy-1.9.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2d0daa332786cf3bb49e10dc6a17a52f6a8f9601b4cf5c295a4f85854d61de63"}, + {file = "lazy_object_proxy-1.9.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cd077f3d04a58e83d04b20e334f678c2b0ff9879b9375ed107d5d07ff160171"}, + {file = "lazy_object_proxy-1.9.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:660c94ea760b3ce47d1855a30984c78327500493d396eac4dfd8bd82041b22be"}, + {file = "lazy_object_proxy-1.9.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:212774e4dfa851e74d393a2370871e174d7ff0ebc980907723bb67d25c8a7c30"}, + {file = "lazy_object_proxy-1.9.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:f0117049dd1d5635bbff65444496c90e0baa48ea405125c088e93d9cf4525b11"}, + {file = "lazy_object_proxy-1.9.0-cp38-cp38-win32.whl", hash = "sha256:0a891e4e41b54fd5b8313b96399f8b0e173bbbfc03c7631f01efbe29bb0bcf82"}, + {file = "lazy_object_proxy-1.9.0-cp38-cp38-win_amd64.whl", hash = "sha256:9990d8e71b9f6488e91ad25f322898c136b008d87bf852ff65391b004da5e17b"}, + {file = "lazy_object_proxy-1.9.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9e7551208b2aded9c1447453ee366f1c4070602b3d932ace044715d89666899b"}, + {file = "lazy_object_proxy-1.9.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f83ac4d83ef0ab017683d715ed356e30dd48a93746309c8f3517e1287523ef4"}, + {file = "lazy_object_proxy-1.9.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7322c3d6f1766d4ef1e51a465f47955f1e8123caee67dd641e67d539a534d006"}, + {file = "lazy_object_proxy-1.9.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:18b78ec83edbbeb69efdc0e9c1cb41a3b1b1ed11ddd8ded602464c3fc6020494"}, + {file = "lazy_object_proxy-1.9.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:09763491ce220c0299688940f8dc2c5d05fd1f45af1e42e636b2e8b2303e4382"}, + {file = "lazy_object_proxy-1.9.0-cp39-cp39-win32.whl", hash = "sha256:9090d8e53235aa280fc9239a86ae3ea8ac58eff66a705fa6aa2ec4968b95c821"}, + {file = "lazy_object_proxy-1.9.0-cp39-cp39-win_amd64.whl", hash = "sha256:db1c1722726f47e10e0b5fdbf15ac3b8adb58c091d12b3ab713965795036985f"}, +] + [[package]] name = "lockfile" version = "0.12.2" @@ -713,62 +1101,74 @@ toml = ["toml (<2.0.0)"] [[package]] name = "markupsafe" -version = "2.1.2" +version = "2.1.3" description = "Safely add untrusted strings to HTML/XML markup." category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "MarkupSafe-2.1.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:665a36ae6f8f20a4676b53224e33d456a6f5a72657d9c83c2aa00765072f31f7"}, - {file = "MarkupSafe-2.1.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:340bea174e9761308703ae988e982005aedf427de816d1afe98147668cc03036"}, - {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22152d00bf4a9c7c83960521fc558f55a1adbc0631fbb00a9471e097b19d72e1"}, - {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28057e985dace2f478e042eaa15606c7efccb700797660629da387eb289b9323"}, - {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca244fa73f50a800cf8c3ebf7fd93149ec37f5cb9596aa8873ae2c1d23498601"}, - {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d9d971ec1e79906046aa3ca266de79eac42f1dbf3612a05dc9368125952bd1a1"}, - {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7e007132af78ea9df29495dbf7b5824cb71648d7133cf7848a2a5dd00d36f9ff"}, - {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7313ce6a199651c4ed9d7e4cfb4aa56fe923b1adf9af3b420ee14e6d9a73df65"}, - {file = "MarkupSafe-2.1.2-cp310-cp310-win32.whl", hash = "sha256:c4a549890a45f57f1ebf99c067a4ad0cb423a05544accaf2b065246827ed9603"}, - {file = "MarkupSafe-2.1.2-cp310-cp310-win_amd64.whl", hash = "sha256:835fb5e38fd89328e9c81067fd642b3593c33e1e17e2fdbf77f5676abb14a156"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2ec4f2d48ae59bbb9d1f9d7efb9236ab81429a764dedca114f5fdabbc3788013"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:608e7073dfa9e38a85d38474c082d4281f4ce276ac0010224eaba11e929dd53a"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:65608c35bfb8a76763f37036547f7adfd09270fbdbf96608be2bead319728fcd"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2bfb563d0211ce16b63c7cb9395d2c682a23187f54c3d79bfec33e6705473c6"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:da25303d91526aac3672ee6d49a2f3db2d9502a4a60b55519feb1a4c7714e07d"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:9cad97ab29dfc3f0249b483412c85c8ef4766d96cdf9dcf5a1e3caa3f3661cf1"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:085fd3201e7b12809f9e6e9bc1e5c96a368c8523fad5afb02afe3c051ae4afcc"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1bea30e9bf331f3fef67e0a3877b2288593c98a21ccb2cf29b74c581a4eb3af0"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-win32.whl", hash = "sha256:7df70907e00c970c60b9ef2938d894a9381f38e6b9db73c5be35e59d92e06625"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-win_amd64.whl", hash = "sha256:e55e40ff0cc8cc5c07996915ad367fa47da6b3fc091fdadca7f5403239c5fec3"}, - {file = "MarkupSafe-2.1.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a6e40afa7f45939ca356f348c8e23048e02cb109ced1eb8420961b2f40fb373a"}, - {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf877ab4ed6e302ec1d04952ca358b381a882fbd9d1b07cccbfd61783561f98a"}, - {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:63ba06c9941e46fa389d389644e2d8225e0e3e5ebcc4ff1ea8506dce646f8c8a"}, - {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f1cd098434e83e656abf198f103a8207a8187c0fc110306691a2e94a78d0abb2"}, - {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:55f44b440d491028addb3b88f72207d71eeebfb7b5dbf0643f7c023ae1fba619"}, - {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:a6f2fcca746e8d5910e18782f976489939d54a91f9411c32051b4aab2bd7c513"}, - {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:0b462104ba25f1ac006fdab8b6a01ebbfbce9ed37fd37fd4acd70c67c973e460"}, - {file = "MarkupSafe-2.1.2-cp37-cp37m-win32.whl", hash = "sha256:7668b52e102d0ed87cb082380a7e2e1e78737ddecdde129acadb0eccc5423859"}, - {file = "MarkupSafe-2.1.2-cp37-cp37m-win_amd64.whl", hash = "sha256:6d6607f98fcf17e534162f0709aaad3ab7a96032723d8ac8750ffe17ae5a0666"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a806db027852538d2ad7555b203300173dd1b77ba116de92da9afbc3a3be3eed"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a4abaec6ca3ad8660690236d11bfe28dfd707778e2442b45addd2f086d6ef094"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f03a532d7dee1bed20bc4884194a16160a2de9ffc6354b3878ec9682bb623c54"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4cf06cdc1dda95223e9d2d3c58d3b178aa5dacb35ee7e3bbac10e4e1faacb419"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:22731d79ed2eb25059ae3df1dfc9cb1546691cc41f4e3130fe6bfbc3ecbbecfa"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f8ffb705ffcf5ddd0e80b65ddf7bed7ee4f5a441ea7d3419e861a12eaf41af58"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:8db032bf0ce9022a8e41a22598eefc802314e81b879ae093f36ce9ddf39ab1ba"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:2298c859cfc5463f1b64bd55cb3e602528db6fa0f3cfd568d3605c50678f8f03"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-win32.whl", hash = "sha256:50c42830a633fa0cf9e7d27664637532791bfc31c731a87b202d2d8ac40c3ea2"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-win_amd64.whl", hash = "sha256:bb06feb762bade6bf3c8b844462274db0c76acc95c52abe8dbed28ae3d44a147"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:99625a92da8229df6d44335e6fcc558a5037dd0a760e11d84be2260e6f37002f"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8bca7e26c1dd751236cfb0c6c72d4ad61d986e9a41bbf76cb445f69488b2a2bd"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40627dcf047dadb22cd25ea7ecfe9cbf3bbbad0482ee5920b582f3809c97654f"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40dfd3fefbef579ee058f139733ac336312663c6706d1163b82b3003fb1925c4"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:090376d812fb6ac5f171e5938e82e7f2d7adc2b629101cec0db8b267815c85e2"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:2e7821bffe00aa6bd07a23913b7f4e01328c3d5cc0b40b36c0bd81d362faeb65"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:c0a33bc9f02c2b17c3ea382f91b4db0e6cde90b63b296422a939886a7a80de1c"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:b8526c6d437855442cdd3d87eede9c425c4445ea011ca38d937db299382e6fa3"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-win32.whl", hash = "sha256:137678c63c977754abe9086a3ec011e8fd985ab90631145dfb9294ad09c102a7"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-win_amd64.whl", hash = "sha256:0576fe974b40a400449768941d5d0858cc624e3249dfd1e0c33674e5c7ca7aed"}, - {file = "MarkupSafe-2.1.2.tar.gz", hash = "sha256:abcabc8c2b26036d62d4c746381a6f7cf60aafcc653198ad678306986b09450d"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cd0f502fe016460680cd20aaa5a76d241d6f35a1c3350c474bac1273803893fa"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e09031c87a1e51556fdcb46e5bd4f59dfb743061cf93c4d6831bf894f125eb57"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68e78619a61ecf91e76aa3e6e8e33fc4894a2bebe93410754bd28fce0a8a4f9f"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65c1a9bcdadc6c28eecee2c119465aebff8f7a584dd719facdd9e825ec61ab52"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:525808b8019e36eb524b8c68acdd63a37e75714eac50e988180b169d64480a00"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:962f82a3086483f5e5f64dbad880d31038b698494799b097bc59c2edf392fce6"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:aa7bd130efab1c280bed0f45501b7c8795f9fdbeb02e965371bbef3523627779"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c9c804664ebe8f83a211cace637506669e7890fec1b4195b505c214e50dd4eb7"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-win32.whl", hash = "sha256:10bbfe99883db80bdbaff2dcf681dfc6533a614f700da1287707e8a5d78a8431"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-win_amd64.whl", hash = "sha256:1577735524cdad32f9f694208aa75e422adba74f1baee7551620e43a3141f559"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ad9e82fb8f09ade1c3e1b996a6337afac2b8b9e365f926f5a61aacc71adc5b3c"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3c0fae6c3be832a0a0473ac912810b2877c8cb9d76ca48de1ed31e1c68386575"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b076b6226fb84157e3f7c971a47ff3a679d837cf338547532ab866c57930dbee"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfce63a9e7834b12b87c64d6b155fdd9b3b96191b6bd334bf37db7ff1fe457f2"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:338ae27d6b8745585f87218a3f23f1512dbf52c26c28e322dbe54bcede54ccb9"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e4dd52d80b8c83fdce44e12478ad2e85c64ea965e75d66dbeafb0a3e77308fcc"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:df0be2b576a7abbf737b1575f048c23fb1d769f267ec4358296f31c2479db8f9"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-win32.whl", hash = "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca379055a47383d02a5400cb0d110cef0a776fc644cda797db0c5696cfd7e18e"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b7ff0f54cb4ff66dd38bebd335a38e2c22c41a8ee45aa608efc890ac3e3931bc"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c011a4149cfbcf9f03994ec2edffcb8b1dc2d2aede7ca243746df97a5d41ce48"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:56d9f2ecac662ca1611d183feb03a3fa4406469dafe241673d521dd5ae92a155"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-win32.whl", hash = "sha256:8758846a7e80910096950b67071243da3e5a20ed2546e6392603c096778d48e0"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-win_amd64.whl", hash = "sha256:787003c0ddb00500e49a10f2844fac87aa6ce977b90b0feaaf9de23c22508b24"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:2ef12179d3a291be237280175b542c07a36e7f60718296278d8593d21ca937d4"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2c1b19b3aaacc6e57b7e25710ff571c24d6c3613a45e905b1fde04d691b98ee0"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8afafd99945ead6e075b973fefa56379c5b5c53fd8937dad92c662da5d8fd5ee"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c41976a29d078bb235fea9b2ecd3da465df42a562910f9022f1a03107bd02be"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d080e0a5eb2529460b30190fcfcc4199bd7f827663f858a226a81bc27beaa97e"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:69c0f17e9f5a7afdf2cc9fb2d1ce6aabdb3bafb7f38017c0b77862bcec2bbad8"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:504b320cd4b7eff6f968eddf81127112db685e81f7e36e75f9f84f0df46041c3"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:42de32b22b6b804f42c5d98be4f7e5e977ecdd9ee9b660fda1a3edf03b11792d"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-win32.whl", hash = "sha256:ceb01949af7121f9fc39f7d27f91be8546f3fb112c608bc4029aef0bab86a2a5"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-win_amd64.whl", hash = "sha256:1b40069d487e7edb2676d3fbdb2b0829ffa2cd63a2ec26c4938b2d34391b4ecc"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:8023faf4e01efadfa183e863fefde0046de576c6f14659e8782065bcece22198"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6b2b56950d93e41f33b4223ead100ea0fe11f8e6ee5f641eb753ce4b77a7042b"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9dcdfd0eaf283af041973bff14a2e143b8bd64e069f4c383416ecd79a81aab58"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05fb21170423db021895e1ea1e1f3ab3adb85d1c2333cbc2310f2a26bc77272e"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:282c2cb35b5b673bbcadb33a585408104df04f14b2d9b01d4c345a3b92861c2c"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ab4a0df41e7c16a1392727727e7998a467472d0ad65f3ad5e6e765015df08636"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7ef3cb2ebbf91e330e3bb937efada0edd9003683db6b57bb108c4001f37a02ea"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:0a4e4a1aff6c7ac4cd55792abf96c915634c2b97e3cc1c7129578aa68ebd754e"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-win32.whl", hash = "sha256:fec21693218efe39aa7f8599346e90c705afa52c5b31ae019b2e57e8f6542bb2"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-win_amd64.whl", hash = "sha256:3fd4abcb888d15a94f32b75d8fd18ee162ca0c064f35b11134be77050296d6ba"}, + {file = "MarkupSafe-2.1.3.tar.gz", hash = "sha256:af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad"}, +] + +[[package]] +name = "mypy-extensions" +version = "1.0.0" +description = "Type system extensions for programs checked with the mypy type checker." +category = "main" +optional = false +python-versions = ">=3.5" +files = [ + {file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"}, + {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, ] [[package]] @@ -802,6 +1202,44 @@ doc = ["nb2plots (>=0.6)", "numpydoc (>=1.3)", "pillow (>=9.1)", "pydata-sphinx- extra = ["lxml (>=4.6)", "pydot (>=1.4.2)", "pygraphviz (>=1.9)", "sympy (>=1.10)"] test = ["codecov (>=2.1)", "pytest (>=7.1)", "pytest-cov (>=3.0)"] +[[package]] +name = "openapi-schema-validator" +version = "0.4.3" +description = "OpenAPI schema validation for Python" +category = "main" +optional = false +python-versions = ">=3.7.0,<4.0.0" +files = [ + {file = "openapi_schema_validator-0.4.3-py3-none-any.whl", hash = "sha256:f1eff2a7936546a3ce62b88a17d09de93c9bd229cbc43cb696c988a61a382548"}, + {file = "openapi_schema_validator-0.4.3.tar.gz", hash = "sha256:6940dba9f4906c97078fea6fd9d5a3a3384207db368c4e32f6af6abd7c5c560b"}, +] + +[package.dependencies] +jsonschema = ">=4.0.0,<5.0.0" +rfc3339-validator = "*" + +[[package]] +name = "openapi-spec-validator" +version = "0.5.2" +description = "OpenAPI 2.0 (aka Swagger) and OpenAPI 3 spec validator" +category = "main" +optional = false +python-versions = ">=3.7.0,<4.0.0" +files = [ + {file = "openapi_spec_validator-0.5.2-py3-none-any.whl", hash = "sha256:1f8db08ecbcf4ec8c558d65b65b3b7b428f81da6642f2f163e992ae3e17b229c"}, + {file = "openapi_spec_validator-0.5.2.tar.gz", hash = "sha256:ebed7f1c567780859402ad64b128e17f519d15f605f1b41d1e9a4a7a1690be07"}, +] + +[package.dependencies] +importlib-resources = {version = ">=5.8.0,<6.0.0", markers = "python_version < \"3.9\""} +jsonschema = ">=4.0.0,<5.0.0" +jsonschema-spec = ">=0.1.1,<0.2.0" +lazy-object-proxy = ">=1.7.1,<2.0.0" +openapi-schema-validator = ">=0.3.2,<0.5" + +[package.extras] +requests = ["requests"] + [[package]] name = "packaging" version = "23.1" @@ -814,6 +1252,52 @@ files = [ {file = "packaging-23.1.tar.gz", hash = "sha256:a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f"}, ] +[[package]] +name = "paramiko" +version = "3.2.0" +description = "SSH2 protocol library" +category = "main" +optional = false +python-versions = ">=3.6" +files = [ + {file = "paramiko-3.2.0-py3-none-any.whl", hash = "sha256:df0f9dd8903bc50f2e10580af687f3015bf592a377cd438d2ec9546467a14eb8"}, + {file = "paramiko-3.2.0.tar.gz", hash = "sha256:93cdce625a8a1dc12204439d45033f3261bdb2c201648cfcdc06f9fd0f94ec29"}, +] + +[package.dependencies] +bcrypt = ">=3.2" +cryptography = ">=3.3" +pynacl = ">=1.5" + +[package.extras] +all = ["gssapi (>=1.4.1)", "invoke (>=2.0)", "pyasn1 (>=0.1.7)", "pywin32 (>=2.1.8)"] +gssapi = ["gssapi (>=1.4.1)", "pyasn1 (>=0.1.7)", "pywin32 (>=2.1.8)"] +invoke = ["invoke (>=2.0)"] + +[[package]] +name = "pathable" +version = "0.4.3" +description = "Object-oriented paths" +category = "main" +optional = false +python-versions = ">=3.7.0,<4.0.0" +files = [ + {file = "pathable-0.4.3-py3-none-any.whl", hash = "sha256:cdd7b1f9d7d5c8b8d3315dbf5a86b2596053ae845f056f57d97c0eefff84da14"}, + {file = "pathable-0.4.3.tar.gz", hash = "sha256:5c869d315be50776cc8a993f3af43e0c60dc01506b399643f919034ebf4cdcab"}, +] + +[[package]] +name = "pathspec" +version = "0.11.1" +description = "Utility library for gitignore style pattern matching of file paths." +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pathspec-0.11.1-py3-none-any.whl", hash = "sha256:d8af70af76652554bd134c22b3e8a1cc46ed7d91edcdd721ef1a0c51a84a5293"}, + {file = "pathspec-0.11.1.tar.gz", hash = "sha256:2798de800fa92780e33acca925945e9a19a133b715067cf165b8866c15a31687"}, +] + [[package]] name = "pkgutil-resolve-name" version = "1.3.10" @@ -826,22 +1310,85 @@ files = [ {file = "pkgutil_resolve_name-1.3.10.tar.gz", hash = "sha256:357d6c9e6a755653cfd78893817c0853af365dd51ec97f3d358a819373bbd174"}, ] +[[package]] +name = "platformdirs" +version = "3.8.1" +description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "platformdirs-3.8.1-py3-none-any.whl", hash = "sha256:cec7b889196b9144d088e4c57d9ceef7374f6c39694ad1577a0aab50d27ea28c"}, + {file = "platformdirs-3.8.1.tar.gz", hash = "sha256:f87ca4fcff7d2b0f81c6a748a77973d7af0f4d526f98f308477c3c436c74d528"}, +] + +[package.extras] +docs = ["furo (>=2023.5.20)", "proselint (>=0.13)", "sphinx (>=7.0.1)", "sphinx-autodoc-typehints (>=1.23,!=1.23.4)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.3.1)", "pytest-cov (>=4.1)", "pytest-mock (>=3.10)"] + [[package]] name = "pluggy" -version = "1.0.0" +version = "1.2.0" description = "plugin and hook calling mechanisms for python" category = "main" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "pluggy-1.0.0-py2.py3-none-any.whl", hash = "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3"}, - {file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"}, + {file = "pluggy-1.2.0-py3-none-any.whl", hash = "sha256:c2fd55a7d7a3863cba1a013e4e2414658b1d07b6bc57b3919e0c63c9abb99849"}, + {file = "pluggy-1.2.0.tar.gz", hash = "sha256:d12f0c4b579b15f5e054301bb226ee85eeeba08ffec228092f8defbaa3a4c4b3"}, ] [package.extras] dev = ["pre-commit", "tox"] testing = ["pytest", "pytest-benchmark"] +[[package]] +name = "portalocker" +version = "2.7.0" +description = "Wraps the portalocker recipe for easy usage" +category = "main" +optional = false +python-versions = ">=3.5" +files = [ + {file = "portalocker-2.7.0-py2.py3-none-any.whl", hash = "sha256:a07c5b4f3985c3cf4798369631fb7011adb498e2a46d8440efc75a8f29a0f983"}, + {file = "portalocker-2.7.0.tar.gz", hash = "sha256:032e81d534a88ec1736d03f780ba073f047a06c478b06e2937486f334e955c51"}, +] + +[package.dependencies] +pywin32 = {version = ">=226", markers = "platform_system == \"Windows\""} + +[package.extras] +docs = ["sphinx (>=1.7.1)"] +redis = ["redis"] +tests = ["pytest (>=5.4.1)", "pytest-cov (>=2.8.1)", "pytest-mypy (>=0.8.0)", "pytest-timeout (>=2.1.0)", "redis", "sphinx (>=6.0.0)"] + +[[package]] +name = "prance" +version = "23.6.21.0" +description = "Resolving Swagger/OpenAPI 2.0 and 3.0.0 Parser" +category = "main" +optional = false +python-versions = ">=3.8" +files = [ + {file = "prance-23.6.21.0-py3-none-any.whl", hash = "sha256:6a4276fa07ed9f22feda4331097d7503c4adc3097e46ffae97425f2c1026bd9f"}, + {file = "prance-23.6.21.0.tar.gz", hash = "sha256:d8c15f8ac34019751cc4945f866d8d964d7888016d10de3592e339567177cabe"}, +] + +[package.dependencies] +chardet = ">=3.0" +packaging = ">=21.3" +requests = ">=2.25" +"ruamel.yaml" = ">=0.17.10" +six = ">=1.15,<2.0" + +[package.extras] +cli = ["click (>=7.0)"] +dev = ["bumpversion (>=0.6)", "pytest (>=6.1)", "pytest-cov (>=2.11)", "sphinx (>=3.4)", "towncrier (>=19.2)", "tox (>=3.4)"] +flex = ["flex (>=6.13,<7.0)"] +icu = ["PyICU (>=2.4,<3.0)"] +osv = ["openapi-spec-validator (>=0.5.1,<0.6.0)"] +ssv = ["swagger-spec-validator (>=2.4,<3.0)"] + [[package]] name = "pyasn1" version = "0.5.0" @@ -866,6 +1413,141 @@ files = [ {file = "pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"}, ] +[[package]] +name = "pydantic" +version = "2.0.2" +description = "Data validation using Python type hints" +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pydantic-2.0.2-py3-none-any.whl", hash = "sha256:f5581e0c79b2ec2fa25a9d30d766629811cdda022107fa73d022ab5578873ae3"}, + {file = "pydantic-2.0.2.tar.gz", hash = "sha256:b802f5245b8576315fe619e5989fd083448fa1258638ef9dac301ca60878396d"}, +] + +[package.dependencies] +annotated-types = ">=0.4.0" +email-validator = {version = ">=2.0.0", optional = true, markers = "extra == \"email\""} +pydantic-core = "2.1.2" +typing-extensions = ">=4.6.1" + +[package.extras] +email = ["email-validator (>=2.0.0)"] + +[[package]] +name = "pydantic-core" +version = "2.1.2" +description = "" +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pydantic_core-2.1.2-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:b4815720c266e832b20e27a7a5f3772bb09fdedb31a9a34bab7b49d98967ef5a"}, + {file = "pydantic_core-2.1.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8884a1dbfc5cb8c54b48446ca916d4577c1f4d901126091e4ab25d00194e065f"}, + {file = "pydantic_core-2.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:74a33aa69d476773230396396afb8e11908f8dafdcfd422e746770599a3f889d"}, + {file = "pydantic_core-2.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:af832edd384755826e494ffdcf1fdda86e4babc42a0b18d342943fb18181040e"}, + {file = "pydantic_core-2.1.2-cp310-cp310-manylinux_2_24_armv7l.whl", hash = "sha256:017700236ea2e7afbef5d3803559c80bd8720306778ebd49268de7ce9972e83e"}, + {file = "pydantic_core-2.1.2-cp310-cp310-manylinux_2_24_ppc64le.whl", hash = "sha256:c2d00a96fdf26295c6f25eaf9e4a233f353146a73713cd97a5f5dc6090c3aef2"}, + {file = "pydantic_core-2.1.2-cp310-cp310-manylinux_2_24_s390x.whl", hash = "sha256:2575664f0a559a7b951a518f6f34c23cab7190f34f8220b8c8218c4f403147ee"}, + {file = "pydantic_core-2.1.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:24c3c9180a2d19d640bacc2d00f497a9a1f2abadb2a9ee201b56bb03bc5343bd"}, + {file = "pydantic_core-2.1.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:88a56f0f6d020b4d17641f4b4d1f9540a536d4146768d059c430e97bdb485fc1"}, + {file = "pydantic_core-2.1.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fa38a76e832743866aed6b715869757074b06357d1a260163ec26d84974245fe"}, + {file = "pydantic_core-2.1.2-cp310-none-win32.whl", hash = "sha256:a772c652603855d7180015849d483a1f539351a263bb9b81bfe85193a33ce124"}, + {file = "pydantic_core-2.1.2-cp310-none-win_amd64.whl", hash = "sha256:b4673d1f29487608d613ebcc5caa99ba15eb58450a7449fb6d800f29d90bebc1"}, + {file = "pydantic_core-2.1.2-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:76c9c55462740d728b344e3a087775846516c3fee31ec56e2075faa7cfcafcbf"}, + {file = "pydantic_core-2.1.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:cb854ec52e6e2e05b83d647695f4d913452fdd45a3dfa8233d7dab5967b3908f"}, + {file = "pydantic_core-2.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ac140d54da366672f6b91f9a1e8e2d4e7e72720143353501ae886d3fca03272"}, + {file = "pydantic_core-2.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:818f5cb1b209ab1295087c45717178f4bbbd2bd7eda421f7a119e7b9b736a3cb"}, + {file = "pydantic_core-2.1.2-cp311-cp311-manylinux_2_24_armv7l.whl", hash = "sha256:db4564aea8b3cb6cf1e5f3fd80f1ced73a255d492396d1bd8abd688795b34d63"}, + {file = "pydantic_core-2.1.2-cp311-cp311-manylinux_2_24_ppc64le.whl", hash = "sha256:2ca2d2d5ab65fb40dd05259965006edcc62a9d9b30102737c0a6f45bcbd254e8"}, + {file = "pydantic_core-2.1.2-cp311-cp311-manylinux_2_24_s390x.whl", hash = "sha256:7c7ad8958aadfbcd664078002246796ecd5566b64b22f6af4fd1bbcec6bf8f60"}, + {file = "pydantic_core-2.1.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:080a7af828388284a68ad7d3d3eac3bcfff6a580292849aff087e7d556ec42d4"}, + {file = "pydantic_core-2.1.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:bad7029fb2251c1ac7d3acdd607e540d40d137a7d43a5e5acdcfdbd38db3fc0a"}, + {file = "pydantic_core-2.1.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1635a37137fafbc6ee0a8c879857e05b30b1aabaa927e653872b71f1501b1502"}, + {file = "pydantic_core-2.1.2-cp311-none-win32.whl", hash = "sha256:eb4301f009a44bb5db5edfe4e51a8175a4112b566baec07f4af8b1f8cb4649a2"}, + {file = "pydantic_core-2.1.2-cp311-none-win_amd64.whl", hash = "sha256:ebf583f4d9b52abd15cc59e5f6eeca7e3e9741c6ea62d8711c00ac3acb067875"}, + {file = "pydantic_core-2.1.2-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:90b06bb47e60173d24c7cb79670aa8dd6081797290353b9d3c66d3a23e88eb34"}, + {file = "pydantic_core-2.1.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0e5761ce986ec709897b1b965fad9743f301500434bea3cbab2b6e662571580f"}, + {file = "pydantic_core-2.1.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b9f8bf1d7008a58fbb6eb334dc6e2f2905400cced8dadb46c4ca28f005a8562"}, + {file = "pydantic_core-2.1.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5a014ee88980013d192a718cbb88e8cea20acd3afad69bc6d15672d05a49cdb6"}, + {file = "pydantic_core-2.1.2-cp312-cp312-manylinux_2_24_armv7l.whl", hash = "sha256:8125152b03dd91deca5afe5b933a1994b39405adf6be2fe8dce3632319283f85"}, + {file = "pydantic_core-2.1.2-cp312-cp312-manylinux_2_24_ppc64le.whl", hash = "sha256:dc737506b4a0ba2922a2626fc6d620ce50a46aebd0fe2fbcad1b93bbdd8c7e78"}, + {file = "pydantic_core-2.1.2-cp312-cp312-manylinux_2_24_s390x.whl", hash = "sha256:bb471ea8650796060afc99909d9b75da583d317e52f660faf64c45f70b3bf1e2"}, + {file = "pydantic_core-2.1.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b1fad38db1744d27061df516e59c5025b09b0a50a337c04e6eebdbddc18951bc"}, + {file = "pydantic_core-2.1.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:94d368af9e6563de6e7170a74710a2cbace7a1e9c8e507d9e3ac34c7065d7ae3"}, + {file = "pydantic_core-2.1.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:bd95d223de5162811a7b36c73d48eac4fee03b075132f3a1b73c132ce157a60c"}, + {file = "pydantic_core-2.1.2-cp312-none-win32.whl", hash = "sha256:cd62f73830d4715bc643ae39de0bd4fb9c81d6d743530074da91e77a2cccfe67"}, + {file = "pydantic_core-2.1.2-cp312-none-win_amd64.whl", hash = "sha256:51968887d6bd1eaa7fc7759701ea8ccb470c04654beaa8ede6835b0533f206a9"}, + {file = "pydantic_core-2.1.2-cp37-cp37m-macosx_10_7_x86_64.whl", hash = "sha256:7ff6bfe63f447a509ed4d368a7f4ba6a7abc03bc4744fc3fb30f2ffab73f3821"}, + {file = "pydantic_core-2.1.2-cp37-cp37m-macosx_11_0_arm64.whl", hash = "sha256:4e67f9b9dfda2e42b39459cbf99d319ccb90da151e35cead3521975b2afbf673"}, + {file = "pydantic_core-2.1.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b815a769b019dd96be6571096f246b74f63330547e9b30244c51b4a2eb0277fc"}, + {file = "pydantic_core-2.1.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4aff436c23c68449601b3fba7075b4f37ef8fbb893c8c1ed3ef898f090332b1e"}, + {file = "pydantic_core-2.1.2-cp37-cp37m-manylinux_2_24_armv7l.whl", hash = "sha256:2ee3ae58f271851362f6c9b33e4c9f9e866557ec7d8c03dc091e9b5aa5566cec"}, + {file = "pydantic_core-2.1.2-cp37-cp37m-manylinux_2_24_ppc64le.whl", hash = "sha256:cf92dccca8f66e987f6c4378700447f82b79e86407912ab1ee06b16b82f05120"}, + {file = "pydantic_core-2.1.2-cp37-cp37m-manylinux_2_24_s390x.whl", hash = "sha256:4663293a36a851a860b1299c50837914269fca127434911297dd39fea9667a01"}, + {file = "pydantic_core-2.1.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1c917f7a41d9d09b8b024a5d65cf37e5588ccdb6e610d2df565fb7186b1f3b1c"}, + {file = "pydantic_core-2.1.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:06ae67547251135a1b3f8dd465797b13146295a3866bc12ddd73f7512787bb7c"}, + {file = "pydantic_core-2.1.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:4938b32c09dbcecbeb652327cb4a449b1ef1a1bf6c8fc2c8241aa6b8f6d63b54"}, + {file = "pydantic_core-2.1.2-cp37-none-win32.whl", hash = "sha256:682ff9228c838018c47dfa89b3d84cca45f88cacde28807ab8296ec221862af4"}, + {file = "pydantic_core-2.1.2-cp37-none-win_amd64.whl", hash = "sha256:6e3bcb4a9bc209a61ea2aceb7433ce2ece32c7e670b0c06848bf870c9b3e7d87"}, + {file = "pydantic_core-2.1.2-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:2278ca0b0dfbcfb1e12fa58570916dc260dc72bee5e6e342debf5329d8204688"}, + {file = "pydantic_core-2.1.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:87cff210af3258ca0c829e3ebc849d7981bfde23a99d6cb7a3c17a163b3dbad2"}, + {file = "pydantic_core-2.1.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7684b5fb906b37e940c5df3f57118f32e033af5e4770e5ae2ae56fbd2fe1a30a"}, + {file = "pydantic_core-2.1.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3747a4178139ebf3f19541285b2eb7c886890ca4eb7eec851578c02a13cc1385"}, + {file = "pydantic_core-2.1.2-cp38-cp38-manylinux_2_24_armv7l.whl", hash = "sha256:e17056390068afd4583d88dcf4d4495764e4e2c7d756464468e0d21abcb8931e"}, + {file = "pydantic_core-2.1.2-cp38-cp38-manylinux_2_24_ppc64le.whl", hash = "sha256:c720e55cef609d50418bdfdfb5c44a76efc020ae7455505788d0113c54c7df55"}, + {file = "pydantic_core-2.1.2-cp38-cp38-manylinux_2_24_s390x.whl", hash = "sha256:b59a64c367f350873c40a126ffe9184d903d2126c701380b4b55753484df5948"}, + {file = "pydantic_core-2.1.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:68a2a767953c707d9575dcf14d8edee7930527ee0141a8bb612c22d1f1059f9a"}, + {file = "pydantic_core-2.1.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:a4ae46769d9a7138d58cd190441cac14ce954010a0081f28462ed916c8e55a4f"}, + {file = "pydantic_core-2.1.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fc909f62325a631e1401dd07dfc386986dbcac15f98c9ff2145d930678a9d25a"}, + {file = "pydantic_core-2.1.2-cp38-none-win32.whl", hash = "sha256:b4038869ba1d8fa33863b4b1286ab07e6075a641ae269b865f94d7e10b3e800e"}, + {file = "pydantic_core-2.1.2-cp38-none-win_amd64.whl", hash = "sha256:5948af62f323252d56acaec8ebfca5f15933f6b72f8dbe3bf21ee97b2d10e3f0"}, + {file = "pydantic_core-2.1.2-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:8e6ce261ccb9a986953c4dce070327e4954f9dd4cd214746dfc70efbc713b6a1"}, + {file = "pydantic_core-2.1.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d35d634d9d1ed280c87bc2a7a6217b8787eedc86f368fc2fa1c0c8c78f7d3c93"}, + {file = "pydantic_core-2.1.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0be2e2812a43205728a06c9d0fd090432cd76a9bb5bff2bfcfdf8b0e27d51851"}, + {file = "pydantic_core-2.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0eb54b11cd4fe0c6404611eef77086ade03eb1457e92910bbb4f3479efa3f79"}, + {file = "pydantic_core-2.1.2-cp39-cp39-manylinux_2_24_armv7l.whl", hash = "sha256:087ddbb754575618a8832ee4ab52fe7eb332f502e2a56088b53dbeb5c4efdf9f"}, + {file = "pydantic_core-2.1.2-cp39-cp39-manylinux_2_24_ppc64le.whl", hash = "sha256:b74906e01c7fc938ac889588ef438de812989817095c3c4904721f647d64a4d1"}, + {file = "pydantic_core-2.1.2-cp39-cp39-manylinux_2_24_s390x.whl", hash = "sha256:60b7239206a2f61ad89c7518adfacb3ccd6662eaa07c5e437317aea2615a1f18"}, + {file = "pydantic_core-2.1.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:be3419204952bbe9b72b90008977379c52f99ae1c6e640488de4be783c345d71"}, + {file = "pydantic_core-2.1.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:804cf8f6a859620f8eb754c02f7770f61c3e9c519f8338c331d555b3d6976e3c"}, + {file = "pydantic_core-2.1.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:cbba32fb14e199d0493c6b9c44870dab0a9c37af9f0f729068459d1849279ffd"}, + {file = "pydantic_core-2.1.2-cp39-none-win32.whl", hash = "sha256:6bf00f56a4468f5b03dadb672a5f1d24aea303d4ccffe8a0f548c9e36017edd3"}, + {file = "pydantic_core-2.1.2-cp39-none-win_amd64.whl", hash = "sha256:ac462a28218ea7d592c7ad51b517558f4ac6565a4e53db7a4811eeaf9c9660b0"}, + {file = "pydantic_core-2.1.2-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:047e782b9918f35ef534ced36f1fd2064f5581229b7a15e4d3177387a6b53134"}, + {file = "pydantic_core-2.1.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c0213891898fa5b404cf3edf4797e3ac7819a0708ea5473fc6432a2aa27c189"}, + {file = "pydantic_core-2.1.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0f481aaf0119f77b200e5a5e2799b3e14c015a317eaa948f42263908735cc9f"}, + {file = "pydantic_core-2.1.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:15eb4cb543ed36f6a4f16e3bee7aa7ed1c3757be95a3f3bbb2b82b9887131e0f"}, + {file = "pydantic_core-2.1.2-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:ef71e73a81a4cd7e87c93e8ff0170140fd93ba33b0f61e83da3f55f6e0a84fb4"}, + {file = "pydantic_core-2.1.2-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:840238c845b0f80777151fef0003088ab91c6f7b3467edaff4932b425c4e3c3f"}, + {file = "pydantic_core-2.1.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:7648e48ba263ca0a8a2dc55a60a219c9133fb101ba52c89a14a29fb3d4322ca3"}, + {file = "pydantic_core-2.1.2-pp37-pypy37_pp73-macosx_10_7_x86_64.whl", hash = "sha256:8eb4e2b71562375609c66a79f89acd4fe95c5cba23473d04952c8b14b6f908f5"}, + {file = "pydantic_core-2.1.2-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5056afea59651c4e47ec6dadbb77ccae4742c059a3d12bc1c0e393d189d2970d"}, + {file = "pydantic_core-2.1.2-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:46cd323371aa7e4053010ccdb94063a4273aa9e5dbe97f8a1147faa769de8d8d"}, + {file = "pydantic_core-2.1.2-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:aa39499625239da4ec960cf4fc66b023929b24cc77fb8520289cfdb3c1986428"}, + {file = "pydantic_core-2.1.2-pp37-pypy37_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:f5de2d4167fd4bc5ad205fb7297e25867b8e335ca08d64ed7a561d2955a2c32d"}, + {file = "pydantic_core-2.1.2-pp37-pypy37_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:9a5fba9168fc27805553760fa8198db46eef83bf52b4e87ebbe1333b823d0e70"}, + {file = "pydantic_core-2.1.2-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:e68a404fad8493989d6f07b7b9e066f1d2524d7cb64db2d4e9a84c920032c67f"}, + {file = "pydantic_core-2.1.2-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:1a5c4475510d1a9cc1458a26cfc21442223e52ce9adb640775c38739315d03c7"}, + {file = "pydantic_core-2.1.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0681472245ef182554208a25d16884c84f1c5a69f14e6169b88932e5da739a1c"}, + {file = "pydantic_core-2.1.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e7fd334b40c5e13a97becfcaba314de0dcc6f7fe21ec8f992139bcc64700e9dc"}, + {file = "pydantic_core-2.1.2-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:7345b1741bf66a9d8ed0ec291c3eabd534444e139e1ea6db5742ac9fd3be2530"}, + {file = "pydantic_core-2.1.2-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:0855cf8b760fb40f97f0226cb527c8a94a2ab9d8179628beae20d6939aaeacb0"}, + {file = "pydantic_core-2.1.2-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:d281a10837d98db997c0247f45d138522c91ce30cf3ae7a6afdb5e709707d360"}, + {file = "pydantic_core-2.1.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:82e09f27edab289187dd924d4d93f2a35f21aa969699b2504aa643da7fbfeff9"}, + {file = "pydantic_core-2.1.2-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:aa54902fa51f7d921ba80923cf1c7ff3dce796a7903300bd8824deb90e357744"}, + {file = "pydantic_core-2.1.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b9a5fc4058d64c9c826684dcdb43891c1b474a4a88dcf8dfc3e1fb5889496f8"}, + {file = "pydantic_core-2.1.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:817681d111cb65f07d46496eafec815f48e1aff37713b73135a0a9eb4d3610ab"}, + {file = "pydantic_core-2.1.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0b5d37aedea5963f2097bddbcdb255483191646a52d40d8bb66d61c190fcac91"}, + {file = "pydantic_core-2.1.2-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:f2de65752fff248319bcd3b29da24e205fa505607539fcd4acc4037355175b63"}, + {file = "pydantic_core-2.1.2-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:a8b9c2cc4c5f8169b943d24be4bd1548fe81c016d704126e3a3124a2fc164885"}, + {file = "pydantic_core-2.1.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:f7bcdf70c8b6e70be11c78d3c00b80a24cccfb408128f23e91ec3019bed1ecc1"}, + {file = "pydantic_core-2.1.2.tar.gz", hash = "sha256:d2c790f0d928b672484eac4f5696dd0b78f3d6d148a641ea196eb49c0875e30a"}, +] + +[package.dependencies] +typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0" + [[package]] name = "pydot" version = "1.4.2" @@ -908,14 +1590,14 @@ ujson = ["ujson"] [[package]] name = "pygithub" -version = "1.58.2" +version = "1.59.0" description = "Use the full Github API v3" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "PyGithub-1.58.2-py3-none-any.whl", hash = "sha256:f435884af617c6debaa76cbc355372d1027445a56fbc39972a3b9ed4968badc8"}, - {file = "PyGithub-1.58.2.tar.gz", hash = "sha256:1e6b1b7afe31f75151fb81f7ab6b984a7188a852bdb123dbb9ae90023c3ce60f"}, + {file = "PyGithub-1.59.0-py3-none-any.whl", hash = "sha256:126bdbae72087d8d038b113aab6b059b4553cb59348e3024bb1a1cae406ace9e"}, + {file = "PyGithub-1.59.0.tar.gz", hash = "sha256:6e05ff49bac3caa7d1d6177a10c6e55a3e20c85b92424cc198571fd0cf786690"}, ] [package.dependencies] @@ -993,14 +1675,14 @@ test = ["flaky", "pretend", "pytest (>=3.0.1)"] [[package]] name = "pyparsing" -version = "3.0.9" +version = "3.1.0" description = "pyparsing module - Classes and methods to define and execute parsing grammars" category = "main" optional = false python-versions = ">=3.6.8" files = [ - {file = "pyparsing-3.0.9-py3-none-any.whl", hash = "sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc"}, - {file = "pyparsing-3.0.9.tar.gz", hash = "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb"}, + {file = "pyparsing-3.1.0-py3-none-any.whl", hash = "sha256:d554a96d1a7d3ddaf7183104485bc19fd80543ad6ac5bdb6426719d766fb06c1"}, + {file = "pyparsing-3.1.0.tar.gz", hash = "sha256:edb662d6fe322d6e990b1594b5feaeadf806803359e3d4d42f11e295e588f0ea"}, ] [package.extras] @@ -1019,52 +1701,30 @@ files = [ ] [[package]] -name = "pyrsistent" -version = "0.19.3" -description = "Persistent/Functional/Immutable data structures" +name = "pysnooper" +version = "1.1.1" +description = "A poor man's debugger for Python." category = "main" optional = false -python-versions = ">=3.7" +python-versions = "*" files = [ - {file = "pyrsistent-0.19.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:20460ac0ea439a3e79caa1dbd560344b64ed75e85d8703943e0b66c2a6150e4a"}, - {file = "pyrsistent-0.19.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4c18264cb84b5e68e7085a43723f9e4c1fd1d935ab240ce02c0324a8e01ccb64"}, - {file = "pyrsistent-0.19.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4b774f9288dda8d425adb6544e5903f1fb6c273ab3128a355c6b972b7df39dcf"}, - {file = "pyrsistent-0.19.3-cp310-cp310-win32.whl", hash = "sha256:5a474fb80f5e0d6c9394d8db0fc19e90fa540b82ee52dba7d246a7791712f74a"}, - {file = "pyrsistent-0.19.3-cp310-cp310-win_amd64.whl", hash = "sha256:49c32f216c17148695ca0e02a5c521e28a4ee6c5089f97e34fe24163113722da"}, - {file = "pyrsistent-0.19.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f0774bf48631f3a20471dd7c5989657b639fd2d285b861237ea9e82c36a415a9"}, - {file = "pyrsistent-0.19.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ab2204234c0ecd8b9368dbd6a53e83c3d4f3cab10ecaf6d0e772f456c442393"}, - {file = "pyrsistent-0.19.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e42296a09e83028b3476f7073fcb69ffebac0e66dbbfd1bd847d61f74db30f19"}, - {file = "pyrsistent-0.19.3-cp311-cp311-win32.whl", hash = "sha256:64220c429e42a7150f4bfd280f6f4bb2850f95956bde93c6fda1b70507af6ef3"}, - {file = "pyrsistent-0.19.3-cp311-cp311-win_amd64.whl", hash = "sha256:016ad1afadf318eb7911baa24b049909f7f3bb2c5b1ed7b6a8f21db21ea3faa8"}, - {file = "pyrsistent-0.19.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c4db1bd596fefd66b296a3d5d943c94f4fac5bcd13e99bffe2ba6a759d959a28"}, - {file = "pyrsistent-0.19.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aeda827381f5e5d65cced3024126529ddc4289d944f75e090572c77ceb19adbf"}, - {file = "pyrsistent-0.19.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:42ac0b2f44607eb92ae88609eda931a4f0dfa03038c44c772e07f43e738bcac9"}, - {file = "pyrsistent-0.19.3-cp37-cp37m-win32.whl", hash = "sha256:e8f2b814a3dc6225964fa03d8582c6e0b6650d68a232df41e3cc1b66a5d2f8d1"}, - {file = "pyrsistent-0.19.3-cp37-cp37m-win_amd64.whl", hash = "sha256:c9bb60a40a0ab9aba40a59f68214eed5a29c6274c83b2cc206a359c4a89fa41b"}, - {file = "pyrsistent-0.19.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a2471f3f8693101975b1ff85ffd19bb7ca7dd7c38f8a81701f67d6b4f97b87d8"}, - {file = "pyrsistent-0.19.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc5d149f31706762c1f8bda2e8c4f8fead6e80312e3692619a75301d3dbb819a"}, - {file = "pyrsistent-0.19.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3311cb4237a341aa52ab8448c27e3a9931e2ee09561ad150ba94e4cfd3fc888c"}, - {file = "pyrsistent-0.19.3-cp38-cp38-win32.whl", hash = "sha256:f0e7c4b2f77593871e918be000b96c8107da48444d57005b6a6bc61fb4331b2c"}, - {file = "pyrsistent-0.19.3-cp38-cp38-win_amd64.whl", hash = "sha256:c147257a92374fde8498491f53ffa8f4822cd70c0d85037e09028e478cababb7"}, - {file = "pyrsistent-0.19.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:b735e538f74ec31378f5a1e3886a26d2ca6351106b4dfde376a26fc32a044edc"}, - {file = "pyrsistent-0.19.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:99abb85579e2165bd8522f0c0138864da97847875ecbd45f3e7e2af569bfc6f2"}, - {file = "pyrsistent-0.19.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3a8cb235fa6d3fd7aae6a4f1429bbb1fec1577d978098da1252f0489937786f3"}, - {file = "pyrsistent-0.19.3-cp39-cp39-win32.whl", hash = "sha256:c74bed51f9b41c48366a286395c67f4e894374306b197e62810e0fdaf2364da2"}, - {file = "pyrsistent-0.19.3-cp39-cp39-win_amd64.whl", hash = "sha256:878433581fc23e906d947a6814336eee031a00e6defba224234169ae3d3d6a98"}, - {file = "pyrsistent-0.19.3-py3-none-any.whl", hash = "sha256:ccf0d6bd208f8111179f0c26fdf84ed7c3891982f2edaeae7422575f47e66b64"}, - {file = "pyrsistent-0.19.3.tar.gz", hash = "sha256:1a2994773706bbb4995c31a97bc94f1418314923bd1048c6d964837040376440"}, + {file = "PySnooper-1.1.1-py2.py3-none-any.whl", hash = "sha256:378f13d731a3e04d3d0350e5f295bdd0f1b49fc8a8b8bf2067fe1e5290bd20be"}, + {file = "PySnooper-1.1.1.tar.gz", hash = "sha256:d17dc91cca1593c10230dce45e46b1d3ff0f8910f0c38e941edf6ba1260b3820"}, ] +[package.extras] +tests = ["pytest"] + [[package]] name = "pytest" -version = "7.3.1" +version = "7.4.0" description = "pytest: simple powerful testing with Python" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "pytest-7.3.1-py3-none-any.whl", hash = "sha256:3799fa815351fea3a5e96ac7e503a96fa51cc9942c3753cda7651b93c1cfa362"}, - {file = "pytest-7.3.1.tar.gz", hash = "sha256:434afafd78b1d78ed0addf160ad2b77a30d35d4bdf8af234fe621919d9ed15e3"}, + {file = "pytest-7.4.0-py3-none-any.whl", hash = "sha256:78bf16451a2eb8c7a2ea98e32dc119fd2aa758f1d5d66dbf0a59d69a3969df32"}, + {file = "pytest-7.4.0.tar.gz", hash = "sha256:b4bf8c45bd59934ed84001ad51e11b4ee40d40a1229d2c79f9c592b0a3f6bd8a"}, ] [package.dependencies] @@ -1076,7 +1736,7 @@ pluggy = ">=0.12,<2.0" tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""} [package.extras] -testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "xmlschema"] +testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] [[package]] name = "python-daemon" @@ -1114,6 +1774,96 @@ files = [ [package.dependencies] six = ">=1.5" +[[package]] +name = "pywin32" +version = "306" +description = "Python for Window Extensions" +category = "main" +optional = false +python-versions = "*" +files = [ + {file = "pywin32-306-cp310-cp310-win32.whl", hash = "sha256:06d3420a5155ba65f0b72f2699b5bacf3109f36acbe8923765c22938a69dfc8d"}, + {file = "pywin32-306-cp310-cp310-win_amd64.whl", hash = "sha256:84f4471dbca1887ea3803d8848a1616429ac94a4a8d05f4bc9c5dcfd42ca99c8"}, + {file = "pywin32-306-cp311-cp311-win32.whl", hash = "sha256:e65028133d15b64d2ed8f06dd9fbc268352478d4f9289e69c190ecd6818b6407"}, + {file = "pywin32-306-cp311-cp311-win_amd64.whl", hash = "sha256:a7639f51c184c0272e93f244eb24dafca9b1855707d94c192d4a0b4c01e1100e"}, + {file = "pywin32-306-cp311-cp311-win_arm64.whl", hash = "sha256:70dba0c913d19f942a2db25217d9a1b726c278f483a919f1abfed79c9cf64d3a"}, + {file = "pywin32-306-cp312-cp312-win32.whl", hash = "sha256:383229d515657f4e3ed1343da8be101000562bf514591ff383ae940cad65458b"}, + {file = "pywin32-306-cp312-cp312-win_amd64.whl", hash = "sha256:37257794c1ad39ee9be652da0462dc2e394c8159dfd913a8a4e8eb6fd346da0e"}, + {file = "pywin32-306-cp312-cp312-win_arm64.whl", hash = "sha256:5821ec52f6d321aa59e2db7e0a35b997de60c201943557d108af9d4ae1ec7040"}, + {file = "pywin32-306-cp37-cp37m-win32.whl", hash = "sha256:1c73ea9a0d2283d889001998059f5eaaba3b6238f767c9cf2833b13e6a685f65"}, + {file = "pywin32-306-cp37-cp37m-win_amd64.whl", hash = "sha256:72c5f621542d7bdd4fdb716227be0dd3f8565c11b280be6315b06ace35487d36"}, + {file = "pywin32-306-cp38-cp38-win32.whl", hash = "sha256:e4c092e2589b5cf0d365849e73e02c391c1349958c5ac3e9d5ccb9a28e017b3a"}, + {file = "pywin32-306-cp38-cp38-win_amd64.whl", hash = "sha256:e8ac1ae3601bee6ca9f7cb4b5363bf1c0badb935ef243c4733ff9a393b1690c0"}, + {file = "pywin32-306-cp39-cp39-win32.whl", hash = "sha256:e25fd5b485b55ac9c057f67d94bc203f3f6595078d1fb3b458c9c28b7153a802"}, + {file = "pywin32-306-cp39-cp39-win_amd64.whl", hash = "sha256:39b61c15272833b5c329a2989999dcae836b1eed650252ab1b7bfbe1d59f30f4"}, +] + +[[package]] +name = "pyyaml" +version = "6.0" +description = "YAML parser and emitter for Python" +category = "main" +optional = false +python-versions = ">=3.6" +files = [ + {file = "PyYAML-6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53"}, + {file = "PyYAML-6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c"}, + {file = "PyYAML-6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77f396e6ef4c73fdc33a9157446466f1cff553d979bd00ecb64385760c6babdc"}, + {file = "PyYAML-6.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a80a78046a72361de73f8f395f1f1e49f956c6be882eed58505a15f3e430962b"}, + {file = "PyYAML-6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5"}, + {file = "PyYAML-6.0-cp310-cp310-win32.whl", hash = "sha256:2cd5df3de48857ed0544b34e2d40e9fac445930039f3cfe4bcc592a1f836d513"}, + {file = "PyYAML-6.0-cp310-cp310-win_amd64.whl", hash = "sha256:daf496c58a8c52083df09b80c860005194014c3698698d1a57cbcfa182142a3a"}, + {file = "PyYAML-6.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d4b0ba9512519522b118090257be113b9468d804b19d63c71dbcf4a48fa32358"}, + {file = "PyYAML-6.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:81957921f441d50af23654aa6c5e5eaf9b06aba7f0a19c18a538dc7ef291c5a1"}, + {file = "PyYAML-6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:afa17f5bc4d1b10afd4466fd3a44dc0e245382deca5b3c353d8b757f9e3ecb8d"}, + {file = "PyYAML-6.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dbad0e9d368bb989f4515da330b88a057617d16b6a8245084f1b05400f24609f"}, + {file = "PyYAML-6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:432557aa2c09802be39460360ddffd48156e30721f5e8d917f01d31694216782"}, + {file = "PyYAML-6.0-cp311-cp311-win32.whl", hash = "sha256:bfaef573a63ba8923503d27530362590ff4f576c626d86a9fed95822a8255fd7"}, + {file = "PyYAML-6.0-cp311-cp311-win_amd64.whl", hash = "sha256:01b45c0191e6d66c470b6cf1b9531a771a83c1c4208272ead47a3ae4f2f603bf"}, + {file = "PyYAML-6.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:897b80890765f037df3403d22bab41627ca8811ae55e9a722fd0392850ec4d86"}, + {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50602afada6d6cbfad699b0c7bb50d5ccffa7e46a3d738092afddc1f9758427f"}, + {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:48c346915c114f5fdb3ead70312bd042a953a8ce5c7106d5bfb1a5254e47da92"}, + {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:98c4d36e99714e55cfbaaee6dd5badbc9a1ec339ebfc3b1f52e293aee6bb71a4"}, + {file = "PyYAML-6.0-cp36-cp36m-win32.whl", hash = "sha256:0283c35a6a9fbf047493e3a0ce8d79ef5030852c51e9d911a27badfde0605293"}, + {file = "PyYAML-6.0-cp36-cp36m-win_amd64.whl", hash = "sha256:07751360502caac1c067a8132d150cf3d61339af5691fe9e87803040dbc5db57"}, + {file = "PyYAML-6.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:819b3830a1543db06c4d4b865e70ded25be52a2e0631ccd2f6a47a2822f2fd7c"}, + {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:473f9edb243cb1935ab5a084eb238d842fb8f404ed2193a915d1784b5a6b5fc0"}, + {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0ce82d761c532fe4ec3f87fc45688bdd3a4c1dc5e0b4a19814b9009a29baefd4"}, + {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:231710d57adfd809ef5d34183b8ed1eeae3f76459c18fb4a0b373ad56bedcdd9"}, + {file = "PyYAML-6.0-cp37-cp37m-win32.whl", hash = "sha256:c5687b8d43cf58545ade1fe3e055f70eac7a5a1a0bf42824308d868289a95737"}, + {file = "PyYAML-6.0-cp37-cp37m-win_amd64.whl", hash = "sha256:d15a181d1ecd0d4270dc32edb46f7cb7733c7c508857278d3d378d14d606db2d"}, + {file = "PyYAML-6.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0b4624f379dab24d3725ffde76559cff63d9ec94e1736b556dacdfebe5ab6d4b"}, + {file = "PyYAML-6.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:213c60cd50106436cc818accf5baa1aba61c0189ff610f64f4a3e8c6726218ba"}, + {file = "PyYAML-6.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9fa600030013c4de8165339db93d182b9431076eb98eb40ee068700c9c813e34"}, + {file = "PyYAML-6.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:277a0ef2981ca40581a47093e9e2d13b3f1fbbeffae064c1d21bfceba2030287"}, + {file = "PyYAML-6.0-cp38-cp38-win32.whl", hash = "sha256:d4eccecf9adf6fbcc6861a38015c2a64f38b9d94838ac1810a9023a0609e1b78"}, + {file = "PyYAML-6.0-cp38-cp38-win_amd64.whl", hash = "sha256:1e4747bc279b4f613a09eb64bba2ba602d8a6664c6ce6396a4d0cd413a50ce07"}, + {file = "PyYAML-6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:055d937d65826939cb044fc8c9b08889e8c743fdc6a32b33e2390f66013e449b"}, + {file = "PyYAML-6.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e61ceaab6f49fb8bdfaa0f92c4b57bcfbea54c09277b1b4f7ac376bfb7a7c174"}, + {file = "PyYAML-6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d67d839ede4ed1b28a4e8909735fc992a923cdb84e618544973d7dfc71540803"}, + {file = "PyYAML-6.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cba8c411ef271aa037d7357a2bc8f9ee8b58b9965831d9e51baf703280dc73d3"}, + {file = "PyYAML-6.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0"}, + {file = "PyYAML-6.0-cp39-cp39-win32.whl", hash = "sha256:b5b9eccad747aabaaffbc6064800670f0c297e52c12754eb1d976c57e4f74dcb"}, + {file = "PyYAML-6.0-cp39-cp39-win_amd64.whl", hash = "sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c"}, + {file = "PyYAML-6.0.tar.gz", hash = "sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2"}, +] + +[[package]] +name = "referencing" +version = "0.29.1" +description = "JSON Referencing + Python" +category = "main" +optional = false +python-versions = ">=3.8" +files = [ + {file = "referencing-0.29.1-py3-none-any.whl", hash = "sha256:d3c8f323ee1480095da44d55917cfb8278d73d6b4d5f677e3e40eb21314ac67f"}, + {file = "referencing-0.29.1.tar.gz", hash = "sha256:90cb53782d550ba28d2166ef3f55731f38397def8832baac5d45235f1995e35e"}, +] + +[package.dependencies] +attrs = ">=22.2.0" +rpds-py = ">=0.7.0" + [[package]] name = "requests" version = "2.31.0" @@ -1136,6 +1886,106 @@ urllib3 = ">=1.21.1,<3" socks = ["PySocks (>=1.5.6,!=1.5.7)"] use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] +[[package]] +name = "rfc3339-validator" +version = "0.1.4" +description = "A pure python RFC3339 validator" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "rfc3339_validator-0.1.4-py2.py3-none-any.whl", hash = "sha256:24f6ec1eda14ef823da9e36ec7113124b39c04d50a4d3d3a3c2859577e7791fa"}, + {file = "rfc3339_validator-0.1.4.tar.gz", hash = "sha256:138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b"}, +] + +[package.dependencies] +six = "*" + +[[package]] +name = "rpds-py" +version = "0.8.8" +description = "Python bindings to Rust's persistent data structures (rpds)" +category = "main" +optional = false +python-versions = ">=3.8" +files = [ + {file = "rpds_py-0.8.8-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:cea42c2f52e37877e6b877bce64d109a6b0213e32545ecc70d4492d2a4641b8f"}, + {file = "rpds_py-0.8.8-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b189640d59afa8aeff59865fa9d314bca97987c378950f215297e15d64ae1124"}, + {file = "rpds_py-0.8.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:87d74c2526115daa9d805a66377997602185a837ff7ecceed9d27e625c383572"}, + {file = "rpds_py-0.8.8-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:db71c665fc7ddb9ac53d7b69dc588493c0b71635b28fc8ff64b31eb9db5b3461"}, + {file = "rpds_py-0.8.8-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2d6a26953d3b291dd7e79e43bb203ed134ca889e63c8ebbc65e3ff98154303ef"}, + {file = "rpds_py-0.8.8-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3660bd2afb23e1ca685df0d3092208fe6c7b2cae8c0be199b3da6d1a4bc91dc5"}, + {file = "rpds_py-0.8.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b5164fdad37847e90683d3748dca7c4604f47ecd21e2d651dafc80393d1d314"}, + {file = "rpds_py-0.8.8-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0dfec14a64759186153115d987f9e60b1fa7e8e14a00004a02482e696199e554"}, + {file = "rpds_py-0.8.8-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d6696c2a002e982e89975063939a2579623d6d6b24634b147848ec9f35dad7d6"}, + {file = "rpds_py-0.8.8-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:13aed64f2e0bef04a0eae6d1d1295f901f6c1640d1e20264dc3b19d62ef1721d"}, + {file = "rpds_py-0.8.8-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:316a66b0379a9e954872593aa2eb6d61949da2ecc8f572b4dafb07aa0e247171"}, + {file = "rpds_py-0.8.8-cp310-none-win32.whl", hash = "sha256:e4e11f71673905d9e8735b8dd4ef8fa85a82e6003851fe46f9bdc51aebc2cd5d"}, + {file = "rpds_py-0.8.8-cp310-none-win_amd64.whl", hash = "sha256:6b1b235b890373f785507f8f6a644a4f191b7195939e7f6108dc0e5e4fab57fd"}, + {file = "rpds_py-0.8.8-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:d4334405f6c73c29ff94521f78ad53ebb76a9c1b8dafea75852f9f64c3679cf7"}, + {file = "rpds_py-0.8.8-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0df2ae878fd99342415a42659f3bcee34b12441a509033e0ab04c6e301895607"}, + {file = "rpds_py-0.8.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d2f8666fde7cfd9cdbc6c223876b39697d387f0215d12ed25147e9efec2dff5a"}, + {file = "rpds_py-0.8.8-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ea8c4a1232c7bacf73366b0490dda7f67d25958aec1c2f099b6753c8bfe84427"}, + {file = "rpds_py-0.8.8-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b5cbcbd6451a4af2048fc0b21c15981462f6a378cb039aa53612c6e39958064e"}, + {file = "rpds_py-0.8.8-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d418d2fd8c0fffe2897bc3e15a2e2ec87abf29076f0c36898cc33fb7881c2cbe"}, + {file = "rpds_py-0.8.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c97e4cbe722474d17c309ee49e09331ceffe345bb72e2b10c6c740788871b122"}, + {file = "rpds_py-0.8.8-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1f60a7eb96fedcc5bf59761d33ac0f2f127d75f8c4b99ed0f138fc0f3601c537"}, + {file = "rpds_py-0.8.8-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:b3ed0d3498b69159db0d5db1393c8bae4df51cf936b2ef5cda53d800acab0019"}, + {file = "rpds_py-0.8.8-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:22afed13c6ad4ccdc650ad44cbc06f835f4f30de201bd4ee2afc09bde06a357a"}, + {file = "rpds_py-0.8.8-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:78c5577f99d2edc9eed9ec39fae27b73d04d1b2462aff6f6b11207e0364fc40d"}, + {file = "rpds_py-0.8.8-cp311-none-win32.whl", hash = "sha256:42eb3030665ee7a5c03fd4db6b8db1983aa91bcdffbed0f4687751deb2a94a7c"}, + {file = "rpds_py-0.8.8-cp311-none-win_amd64.whl", hash = "sha256:7110854662ccf8db84b90e4624301ef5311cafff7e5f2a63f2d7cc0fc1a75b60"}, + {file = "rpds_py-0.8.8-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:d7e46f52272ceecc42c05ad869b068b2dbfb6eb5643bcccecd2327d3cded5a2e"}, + {file = "rpds_py-0.8.8-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7628b2080538faa4a1243b0002678cae7111af68ae7b5aa6cd8526762cace868"}, + {file = "rpds_py-0.8.8-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:657348b35a4c2e7c2340bf0bc37597900037bd87e9db7e6282711aaa77256e16"}, + {file = "rpds_py-0.8.8-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8ac1e47ee4cb2dbd714537e63c67086eec63f56b13208fe450ae5be4f3d65671"}, + {file = "rpds_py-0.8.8-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cafbfa8f3a27e592bdcc420497e0c9a957c9f812b6c6ebfb7f961409215ba82d"}, + {file = "rpds_py-0.8.8-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9af40bb89e40932e04c0cc1fb516249d6b3ae68ceebd984fdc592a6673244e50"}, + {file = "rpds_py-0.8.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5b7c87503843a036f898d44c47326a117d23b6269a9f1574adf83d7bb051b839"}, + {file = "rpds_py-0.8.8-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c0fe018430e5e8e1d8b513bcbccdb0ea34b9fd81c32b3a49c41a109fade17cfb"}, + {file = "rpds_py-0.8.8-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:c7019b2522af6b835118177b6b53f7ed08da28061aa5d44e06286be09799e7a4"}, + {file = "rpds_py-0.8.8-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:ac596301c7723809ecb6ec4cb2564b2cadc06f8c07b6348a56fcbf1ae043d751"}, + {file = "rpds_py-0.8.8-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:f8a1cc37e2395002381510a6862c29634acd67edfe5774661a6c48d8617acae7"}, + {file = "rpds_py-0.8.8-cp38-none-win32.whl", hash = "sha256:e261fa453ad50fe1d9287fa21d962cdbcd3d495cf1160dd0f893883040c455b6"}, + {file = "rpds_py-0.8.8-cp38-none-win_amd64.whl", hash = "sha256:e1700fba17dd63c9c7d5cb03cf838db23cf938dd5cdb1eecb6ba8b8da62c3e73"}, + {file = "rpds_py-0.8.8-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:25a4b357ba7540d7cc709915699d67d505c8177cdb30824127092e1b4886b504"}, + {file = "rpds_py-0.8.8-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f81a570a20f9fce617d728f4e3bdc05bfbb68afa2e795ec0c52544a7923de517"}, + {file = "rpds_py-0.8.8-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:246a410e540ce7f635c6ad1b7aa00b7dcfc966c5f97217e41092c3f764dac4bf"}, + {file = "rpds_py-0.8.8-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bfe98ad05400e7ac7a1df791645db08c66adc92d7a6449a406111303a265b71a"}, + {file = "rpds_py-0.8.8-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ddb5226b11f4fce98c6e47c07819fbbfdda6d3fd529cd176ad8a1e0b98a70b05"}, + {file = "rpds_py-0.8.8-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6ee396f63a1f540fb3aecb8cc698180d30573a661be47fb3fff45cbd2b5d4686"}, + {file = "rpds_py-0.8.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e85ea159f2d2132d4fcb71abb7df9683314f6073bf8ee9f9bd576440245e59c"}, + {file = "rpds_py-0.8.8-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ed823997c3300b541da0fcc9eee8fbe6740e07939ffa432824cfca287472d652"}, + {file = "rpds_py-0.8.8-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:4333b5c2801e44bf342207a7700378a1013f300116c9553ce1ffbc73047d2a02"}, + {file = "rpds_py-0.8.8-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:681ef7a21e6990583533c3a3038b7176f5e51e5d345fe2d9109b54f6bffcabcd"}, + {file = "rpds_py-0.8.8-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1891903e567d728175c0475a1f0ffc1d1580013b0b265b9e2f1b8c93d58b2d05"}, + {file = "rpds_py-0.8.8-cp39-none-win32.whl", hash = "sha256:ee42ce4ef46ea334ce8ab63d5a57c7fd78238c9c7293b3caa6dfedf11bd28773"}, + {file = "rpds_py-0.8.8-cp39-none-win_amd64.whl", hash = "sha256:0e8da63b9baa154ec9ddd6dd397893830d17e5812ceb50edbae8122d8ecb9f2e"}, + {file = "rpds_py-0.8.8-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:f1c84912d77b01651488bbe392df593b4c5852e213477e268ebbb7c799059d78"}, + {file = "rpds_py-0.8.8-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:180963bb3e1fcc6ed6313ece5e065f0df4021a7eb7016084d3cbc90cd2a8af3e"}, + {file = "rpds_py-0.8.8-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e1251d6690f356a305192089017da83999cded1d7e2405660d14c1dff976af7"}, + {file = "rpds_py-0.8.8-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:36266e2e49b36ec6cc148e36667030d8e7f1c009edd2ca978ab09ed9c5a7589a"}, + {file = "rpds_py-0.8.8-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7bd8dbc1c63668124e5e48e601d32f1053cfd5a86004ae0e55dc9ba8b1e7de29"}, + {file = "rpds_py-0.8.8-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0c62fdb01111da948e8446caaefebf2ca4307a58fcbc10039b48d0db7205397c"}, + {file = "rpds_py-0.8.8-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:79ac819182795a2168ed11075c7362de368f360244fb7cea8274c222b2d55365"}, + {file = "rpds_py-0.8.8-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b949e86affe17c8828d82936c51d7aa9b686511f9ac99a4b1de596d7140c8083"}, + {file = "rpds_py-0.8.8-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:fffd98c1fd6b38df35e471549c2486d826af0fda6ca55c0bbbb956b291e7f2ae"}, + {file = "rpds_py-0.8.8-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:9b331fa451d725258c1ad0ae6816cf36d55294e5cb68338cf91550b9a448a48f"}, + {file = "rpds_py-0.8.8-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:18a97bb7f211b247346983092186927c517153ac155c611f43ca83d5ee93a3e2"}, + {file = "rpds_py-0.8.8-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:df3097abf5fd09bfcd8f6fd02d052b25cc3e160b3ee71b6fbd831b2cd516c958"}, + {file = "rpds_py-0.8.8-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:961828c668140796c4963edb14cd968666d5414b9b5829997a4f475fd917906e"}, + {file = "rpds_py-0.8.8-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b5a55fd01f61df19e4f53fd67b63ca9bf47559632c3f7d4037faa06d3a6fed54"}, + {file = "rpds_py-0.8.8-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8f64ef5700ff8fded62b12d1ea55463031cc5a353b670ed7146126c6cbf28788"}, + {file = "rpds_py-0.8.8-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a747477838a90b9264f434b5399309f9badb32c80ff3e9c4f6d5b87fddcbaa09"}, + {file = "rpds_py-0.8.8-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:358c7a976482537d26fcbdc7808e7cc25f64816fe89681f9aa8bef13e16c7370"}, + {file = "rpds_py-0.8.8-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e086610118163400a1822af0ee857581c0e047aa50a9c3543d17fbe65183a339"}, + {file = "rpds_py-0.8.8-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:755a837fb7053dbf511fba26343423bd80d3b75a5d7f57f6e407c2fe5ae46682"}, + {file = "rpds_py-0.8.8-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:247a1fd9bcdb373380cb8c0041417c9995fc163c9d88a39f5ec3d960114aca22"}, + {file = "rpds_py-0.8.8-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:c26b1a0425c038cc23cf5770a47d7a7382fe68d6d10fb2a52c2896ca94e72550"}, + {file = "rpds_py-0.8.8-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:4c66a5f9ca9c5fcb2527ad969541521f7216db713a7bd63aee52c3f5efa5924a"}, + {file = "rpds_py-0.8.8.tar.gz", hash = "sha256:300b8579740b06e246238b730e636f314a7d8dc475be1868650f5d3ddc29a0d8"}, +] + [[package]] name = "rsa" version = "4.9" @@ -1151,6 +2001,72 @@ files = [ [package.dependencies] pyasn1 = ">=0.1.3" +[[package]] +name = "ruamel-yaml" +version = "0.17.32" +description = "ruamel.yaml is a YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order" +category = "main" +optional = false +python-versions = ">=3" +files = [ + {file = "ruamel.yaml-0.17.32-py3-none-any.whl", hash = "sha256:23cd2ed620231677564646b0c6a89d138b6822a0d78656df7abda5879ec4f447"}, + {file = "ruamel.yaml-0.17.32.tar.gz", hash = "sha256:ec939063761914e14542972a5cba6d33c23b0859ab6342f61cf070cfc600efc2"}, +] + +[package.dependencies] +"ruamel.yaml.clib" = {version = ">=0.2.7", markers = "platform_python_implementation == \"CPython\" and python_version < \"3.12\""} + +[package.extras] +docs = ["ryd"] +jinja2 = ["ruamel.yaml.jinja2 (>=0.2)"] + +[[package]] +name = "ruamel-yaml-clib" +version = "0.2.7" +description = "C version of reader, parser and emitter for ruamel.yaml derived from libyaml" +category = "main" +optional = false +python-versions = ">=3.5" +files = [ + {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d5859983f26d8cd7bb5c287ef452e8aacc86501487634573d260968f753e1d71"}, + {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:debc87a9516b237d0466a711b18b6ebeb17ba9f391eb7f91c649c5c4ec5006c7"}, + {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:df5828871e6648db72d1c19b4bd24819b80a755c4541d3409f0f7acd0f335c80"}, + {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:efa08d63ef03d079dcae1dfe334f6c8847ba8b645d08df286358b1f5293d24ab"}, + {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-win32.whl", hash = "sha256:763d65baa3b952479c4e972669f679fe490eee058d5aa85da483ebae2009d231"}, + {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-win_amd64.whl", hash = "sha256:d000f258cf42fec2b1bbf2863c61d7b8918d31ffee905da62dede869254d3b8a"}, + {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:045e0626baf1c52e5527bd5db361bc83180faaba2ff586e763d3d5982a876a9e"}, + {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-macosx_13_0_arm64.whl", hash = "sha256:1a6391a7cabb7641c32517539ca42cf84b87b667bad38b78d4d42dd23e957c81"}, + {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:9c7617df90c1365638916b98cdd9be833d31d337dbcd722485597b43c4a215bf"}, + {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:41d0f1fa4c6830176eef5b276af04c89320ea616655d01327d5ce65e50575c94"}, + {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-win32.whl", hash = "sha256:f6d3d39611ac2e4f62c3128a9eed45f19a6608670c5a2f4f07f24e8de3441d38"}, + {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-win_amd64.whl", hash = "sha256:da538167284de58a52109a9b89b8f6a53ff8437dd6dc26d33b57bf6699153122"}, + {file = "ruamel.yaml.clib-0.2.7-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:4b3a93bb9bc662fc1f99c5c3ea8e623d8b23ad22f861eb6fce9377ac07ad6072"}, + {file = "ruamel.yaml.clib-0.2.7-cp36-cp36m-macosx_12_0_arm64.whl", hash = "sha256:a234a20ae07e8469da311e182e70ef6b199d0fbeb6c6cc2901204dd87fb867e8"}, + {file = "ruamel.yaml.clib-0.2.7-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:15910ef4f3e537eea7fe45f8a5d19997479940d9196f357152a09031c5be59f3"}, + {file = "ruamel.yaml.clib-0.2.7-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:370445fd795706fd291ab00c9df38a0caed0f17a6fb46b0f607668ecb16ce763"}, + {file = "ruamel.yaml.clib-0.2.7-cp36-cp36m-win32.whl", hash = "sha256:ecdf1a604009bd35c674b9225a8fa609e0282d9b896c03dd441a91e5f53b534e"}, + {file = "ruamel.yaml.clib-0.2.7-cp36-cp36m-win_amd64.whl", hash = "sha256:f34019dced51047d6f70cb9383b2ae2853b7fc4dce65129a5acd49f4f9256646"}, + {file = "ruamel.yaml.clib-0.2.7-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2aa261c29a5545adfef9296b7e33941f46aa5bbd21164228e833412af4c9c75f"}, + {file = "ruamel.yaml.clib-0.2.7-cp37-cp37m-macosx_12_0_arm64.whl", hash = "sha256:f01da5790e95815eb5a8a138508c01c758e5f5bc0ce4286c4f7028b8dd7ac3d0"}, + {file = "ruamel.yaml.clib-0.2.7-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:40d030e2329ce5286d6b231b8726959ebbe0404c92f0a578c0e2482182e38282"}, + {file = "ruamel.yaml.clib-0.2.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:c3ca1fbba4ae962521e5eb66d72998b51f0f4d0f608d3c0347a48e1af262efa7"}, + {file = "ruamel.yaml.clib-0.2.7-cp37-cp37m-win32.whl", hash = "sha256:7bdb4c06b063f6fd55e472e201317a3bb6cdeeee5d5a38512ea5c01e1acbdd93"}, + {file = "ruamel.yaml.clib-0.2.7-cp37-cp37m-win_amd64.whl", hash = "sha256:be2a7ad8fd8f7442b24323d24ba0b56c51219513cfa45b9ada3b87b76c374d4b"}, + {file = "ruamel.yaml.clib-0.2.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:91a789b4aa0097b78c93e3dc4b40040ba55bef518f84a40d4442f713b4094acb"}, + {file = "ruamel.yaml.clib-0.2.7-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:99e77daab5d13a48a4054803d052ff40780278240a902b880dd37a51ba01a307"}, + {file = "ruamel.yaml.clib-0.2.7-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:3243f48ecd450eddadc2d11b5feb08aca941b5cd98c9b1db14b2fd128be8c697"}, + {file = "ruamel.yaml.clib-0.2.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:8831a2cedcd0f0927f788c5bdf6567d9dc9cc235646a434986a852af1cb54b4b"}, + {file = "ruamel.yaml.clib-0.2.7-cp38-cp38-win32.whl", hash = "sha256:3110a99e0f94a4a3470ff67fc20d3f96c25b13d24c6980ff841e82bafe827cac"}, + {file = "ruamel.yaml.clib-0.2.7-cp38-cp38-win_amd64.whl", hash = "sha256:92460ce908546ab69770b2e576e4f99fbb4ce6ab4b245345a3869a0a0410488f"}, + {file = "ruamel.yaml.clib-0.2.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5bc0667c1eb8f83a3752b71b9c4ba55ef7c7058ae57022dd9b29065186a113d9"}, + {file = "ruamel.yaml.clib-0.2.7-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:4a4d8d417868d68b979076a9be6a38c676eca060785abaa6709c7b31593c35d1"}, + {file = "ruamel.yaml.clib-0.2.7-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:bf9a6bc4a0221538b1a7de3ed7bca4c93c02346853f44e1cd764be0023cd3640"}, + {file = "ruamel.yaml.clib-0.2.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:a7b301ff08055d73223058b5c46c55638917f04d21577c95e00e0c4d79201a6b"}, + {file = "ruamel.yaml.clib-0.2.7-cp39-cp39-win32.whl", hash = "sha256:d5e51e2901ec2366b79f16c2299a03e74ba4531ddcfacc1416639c557aef0ad8"}, + {file = "ruamel.yaml.clib-0.2.7-cp39-cp39-win_amd64.whl", hash = "sha256:184faeaec61dbaa3cace407cffc5819f7b977e75360e8d5ca19461cd851a5fc5"}, + {file = "ruamel.yaml.clib-0.2.7.tar.gz", hash = "sha256:1f08fd5a2bea9c4180db71678e850b995d2a5f4537be0e94557668cf0f5f9497"}, +] + [[package]] name = "s3transfer" version = "0.6.1" @@ -1171,14 +2087,14 @@ crt = ["botocore[crt] (>=1.20.29,<2.0a.0)"] [[package]] name = "setuptools" -version = "67.8.0" +version = "68.0.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "setuptools-67.8.0-py3-none-any.whl", hash = "sha256:5df61bf30bb10c6f756eb19e7c9f3b473051f48db77fddbe06ff2ca307df9a6f"}, - {file = "setuptools-67.8.0.tar.gz", hash = "sha256:62642358adc77ffa87233bc4d2354c4b2682d214048f500964dbe760ccedf102"}, + {file = "setuptools-68.0.0-py3-none-any.whl", hash = "sha256:11e52c67415a381d10d6b462ced9cfb97066179f0e871399e006c4ab101fc85f"}, + {file = "setuptools-68.0.0.tar.gz", hash = "sha256:baf1fdb41c6da4cd2eae722e135500da913332ab3f2f5c7d33af9b492acb5235"}, ] [package.extras] @@ -1336,7 +2252,7 @@ doc = ["reno", "sphinx", "tornado (>=4.5)"] name = "toml" version = "0.10.2" description = "Python Library for Tom's Obvious, Minimal Language" -category = "dev" +category = "main" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" files = [ @@ -1393,6 +2309,18 @@ files = [ doc = ["sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme"] test = ["mypy", "pytest", "typing-extensions"] +[[package]] +name = "typing-extensions" +version = "4.7.1" +description = "Backported and Experimental Type Hints for Python 3.7+" +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "typing_extensions-4.7.1-py3-none-any.whl", hash = "sha256:440d5dd3af93b060174bf433bccd69b0babc3b15b1a8dca43789fd7f61514b36"}, + {file = "typing_extensions-4.7.1.tar.gz", hash = "sha256:b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2"}, +] + [[package]] name = "urllib3" version = "1.26.16" @@ -1412,14 +2340,14 @@ socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] [[package]] name = "websocket-client" -version = "1.5.2" +version = "1.6.1" description = "WebSocket client for Python with low level API options" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "websocket-client-1.5.2.tar.gz", hash = "sha256:c7d67c13b928645f259d9b847ab5b57fd2d127213ca41ebd880de1f553b7c23b"}, - {file = "websocket_client-1.5.2-py3-none-any.whl", hash = "sha256:f8c64e28cd700e7ba1f04350d66422b6833b82a796b525a51e740b8cc8dab4b1"}, + {file = "websocket-client-1.6.1.tar.gz", hash = "sha256:c951af98631d24f8df89ab1019fc365f2227c0892f12fd150e935607c79dd0dd"}, + {file = "websocket_client-1.6.1-py3-none-any.whl", hash = "sha256:f1f9f2ad5291f0225a49efad77abf9e700b6fef553900623060dad6e26503b9d"}, ] [package.extras] @@ -1531,4 +2459,4 @@ testing = ["big-O", "flake8 (<5)", "jaraco.functools", "jaraco.itertools", "more [metadata] lock-version = "2.0" python-versions = ">=3.8,<4" -content-hash = "bd041a2e78cdf27f5fe1543e8f6c9a7d08df15a0472fbfc37395e0cac185fea1" +content-hash = "6cf4070a0a8c1c575c244949c8a65becb5e678e9d17568f389c7b4a9e8b36cb5" diff --git a/pyproject.toml b/pyproject.toml index 43919deb0..2c3a9618f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -18,9 +18,9 @@ keywords = ['exasol', 'udf', 'script-languages'] [tool.poetry.dependencies] python = ">=3.8,<4" -exasol-script-languages-container-tool = "^0.17.0" -exasol-script-languages-container-ci = "^1.1.0" -exasol-script-languages-container-ci-setup = "^1.0.0" +exasol-script-languages-container-tool = "^0.18.0" +exasol-script-languages-container-ci = "^1.3.0" +exasol-script-languages-container-ci-setup = "^1.2.0" [tool.poetry.dev-dependencies] toml = ">=0.10.2" diff --git a/test_container/tests/lang/python/basic.sql b/test_container/tests/lang/python/basic.sql deleted file mode 100644 index ca4511681..000000000 --- a/test_container/tests/lang/python/basic.sql +++ /dev/null @@ -1,102 +0,0 @@ ---CREATE SCALAR SCRIPT ---base_pi() ---RETURNS DOUBLE AS - --- pi - -CREATE python SCALAR SCRIPT -basic_emit_several_groups(a INTEGER, b INTEGER) -EMITS (i INTEGER, j VARCHAR(40)) AS -def run(ctx): - for n in range(ctx.a): - for i in range(ctx.b): - ctx.emit(i, repr((exa.meta.vm_id, exa.meta.node_count, exa.meta.node_id))) -/ - -CREATE python SET SCRIPT -basic_test_reset(i INTEGER, j VARCHAR(40)) -EMITS (k INTEGER) AS -def run(ctx): - ctx.emit(ctx.i) - ctx.next() - ctx.emit(ctx.i) - ctx.reset() - ctx.emit(ctx.i) - ctx.next() - ctx.emit(ctx.i) -/ - -CREATE python SCALAR SCRIPT -basic_emit_two_ints() -EMITS (i INTEGER, j INTEGER) AS -def run(ctx): - ctx.emit(1,2) -/ - -CREATE python SCALAR SCRIPT -basic_nth_partial_sum(n INTEGER) -RETURNS INTEGER as - -def run(ctx): - if ctx.n is not None: - return ctx.n * (ctx.n + 1) / 2 - return 0 -/ - - -CREATE python SCALAR SCRIPT -basic_range(n INTEGER) -EMITS (n INTEGER) AS - -def run(ctx): - if ctx.n is not None: - for i in range(ctx.n): - ctx.emit(i) -/ - -CREATE python SET SCRIPT -basic_sum(x INTEGER) -RETURNS INTEGER AS - -def run(ctx): - s = 0 - while True: - if ctx.x is not None: - s += ctx.x - if not ctx.next(): - break - return s -/ - -CREATE python SET SCRIPT -basic_sum_grp(x INTEGER) -EMITS (s INTEGER) AS - -def run(ctx): - s = 0 - while True: - if ctx.x is not None: - s += ctx.x - if not ctx.next(): - break - ctx.emit(s) -/ - - -CREATE python SET SCRIPT -set_returns_has_empty_input(a double) RETURNS boolean AS - -def run(ctx): - return bool(ctx.x is None) -/ - -CREATE python SET SCRIPT -set_emits_has_empty_input(a double) EMITS (x double, y varchar(10)) AS -def run(ctx): - if ctx.x is None: - ctx.emit(1,'1') - else: - ctx.emit(2,'2') -/ - --- vim: ts=4:sts=4:sw=4 diff --git a/test_container/tests/lang/python/cologne_phonetic.sql b/test_container/tests/lang/python/cologne_phonetic.sql deleted file mode 100644 index b88e55ea1..000000000 --- a/test_container/tests/lang/python/cologne_phonetic.sql +++ /dev/null @@ -1,124 +0,0 @@ -CREATE python SCALAR SCRIPT -cologne_phonetic(word VARCHAR(200)) -RETURNS VARCHAR(200) AS - -import string - -def nicht_vor(x): - def context_handler(word, pos, length): - if pos == length-1: - return True - if pos < length-1: - if all([word[pos+1] != c for c in x]): - return True - return False - return context_handler - -def vor(x): - def context_handler(word, pos, length): - if pos < length-1: - if any([word[pos+1] == c for c in x]): - return True - return False - return context_handler - -def vor_ausser_nach(x,y): - def context_handler(word, pos, length): - if pos < length-1: - if any([word[pos+1] == c for c in x]): - if all([word[pos-1] != c for c in y]): - return True - return False - return context_handler - -def nicht_nach(x): - def context_handler(word, pos, length): - if pos > 0: - if all([word[pos-1] != c for c in x]): - return True - return False - return context_handler - -def nach(x): - def context_handler(word, pos, length): - if pos > 0: - if any([word[pos-1] == c for c in x]): - return True - return False - return context_handler - -def im_anlaut_vor(x): - def context_handler(word, pos, length): - if pos == 1: - if any([word[0] == c for c in x]): - return True - return False - return context_handler - -def im_anlaut_ausser_vor(x): - def context_handler(word, pos, length): - if pos == 1: - if all([word[0] != c for c in x]): - return True - return False - return context_handler - -RULES = [ - ('a', '0'), - ('e', '0'), - ('i', '0'), - ('j', '0'), - ('o', '0'), - ('u', '0'), - ('y', '0'), - (u'ö', '0'), - (u'ä', '0'), - (u'ü', '0'), - (u'ß', '0'), - ('h', '-'), - ('b', '1'), - ('p', '1', [nicht_vor('h')]), - ('d', '2', [nicht_vor('csz')]), - ('t', '2', [nicht_vor('csz')]), - ('f', '3'), - ('v', '3'), - ('w', '3'), - ('p', '3', [vor('h')]), - ('g', '4'), - ('k', '4'), - ('q', '4'), - ('c', '4', [im_anlaut_vor('ahkloqrux'), vor_ausser_nach('ahkoqux','sz')]), - ('x', '48', [nicht_nach('ckq')]), - ('l', '5'), - ('m' '6'), - ('n' '6'), - ('r', '7'), - ('s' '8'), - ('z' '8'), - ('c', '8', [nach('sz'), im_anlaut_ausser_vor('ahkloqrux'), nicht_vor('ahkoqux')]), - ('d', '8', [vor('csz')]), - ('t', '8', [vor('csz')]), - ('x', '8', [nach('ckq')])] - -def encode(word, pos, length): - for rule in RULES: - if word[pos] == rule[0]: - if len(rule) == 2: - return rule[1] - elif any([ctx(word,pos,length) for ctx in rule[2]]): - return rule[1] - raise Exception('no match for "%s" in "%s" at pos %d' % (word[pos], word, pos)) - -valid_characters = string.lowercase + u'äöüß' - -def run(ctx): - if ctx.word is not None: - word = filter(lambda c: c in valid_characters, ctx.word.lower()) - l = len(word) - code = [] - for i in range(l): - c = encode(word, i, l) - if (i == 0 and c != '-') or (len(code) > 0 and c not in ['0', '-'] and c != code[-1]): - code.append(c) - return ''.join(code) -/ diff --git a/test_container/tests/lang/python/combinations.sql b/test_container/tests/lang/python/combinations.sql deleted file mode 100644 index 703ce4208..000000000 --- a/test_container/tests/lang/python/combinations.sql +++ /dev/null @@ -1,41 +0,0 @@ -create python set script -SET_RETURNS(x double, y double) -returns double as - -def run(ctx): - acc = 0.0 - while True: - acc = acc + ctx.x + ctx.y - if not ctx.next(): break - return acc -/ - - -create python set script -SET_EMITS(x double, y double) -emits (x double, y double) as - -def run(ctx): - while True: - ctx.emit(ctx.y, ctx.x) - if not ctx.next(): break -/ - - -create python scalar script -SCALAR_RETURNS(x double, y double) -returns double as - -def run(ctx): - return ctx.x + ctx.y -/ - - -create python scalar script -SCALAR_EMITS(x double, y double) -emits (x double, y double) as - -def run(ctx): - for i in range(int(ctx.x), int(ctx.y+1)): - ctx.emit(float(i), float(i * i)) -/ diff --git a/test_container/tests/lang/python/dynamic_input.sql b/test_container/tests/lang/python/dynamic_input.sql deleted file mode 100644 index 224dc7937..000000000 --- a/test_container/tests/lang/python/dynamic_input.sql +++ /dev/null @@ -1,110 +0,0 @@ -CREATE PYTHON SCALAR SCRIPT -metadata_scalar_emit (...) -EMITS("v" VARCHAR(2000)) AS -def run(ctx): - ctx.emit(repr(exa.meta.input_column_count)) - for i in range (0,exa.meta.input_column_count): - ctx.emit(exa.meta.input_columns[i].name) - ctx.emit(repr(exa.meta.input_columns[i].type)) - ctx.emit(exa.meta.input_columns[i].sql_type) - ctx.emit(repr(exa.meta.input_columns[i].precision)) - ctx.emit(repr(exa.meta.input_columns[i].scale)) - ctx.emit(repr(exa.meta.input_columns[i].length)) -/ - -CREATE PYTHON SCALAR SCRIPT -metadata_scalar_return (...) -RETURNS VARCHAR(2000) AS -def run(ctx): - return repr(exa.meta.input_column_count) -/ - -CREATE PYTHON SCALAR SCRIPT -basic_scalar_emit( ... ) -EMITS ("v" VARCHAR(2000)) as -def run(ctx): - i = 0 - while i < exa.meta.input_column_count: - ctx.emit(repr(ctx[i])) - i = i + 1 -/ - -CREATE PYTHON SCALAR SCRIPT -basic_scalar_return( ... ) -RETURNS VARCHAR(2000) as -def run(ctx): - return repr(ctx[exa.meta.input_column_count-1]) -/ - -CREATE PYTHON SET SCRIPT -basic_set_emit( ... ) -EMITS ("v" VARCHAR(2000)) as -def run(ctx): - var = 'result: ' - while True: - for i in range (0,exa.meta.input_column_count): - ctx.emit(repr(ctx[i])) - var = var + repr(ctx[i]) + ' , ' - if not ctx.next(): break - ctx.emit(var) -/ - -CREATE PYTHON SET SCRIPT -basic_set_return( ... ) -RETURNS VARCHAR(2000) as -def run(ctx): - var = 'result: ' - while True: - for i in range (0,exa.meta.input_column_count): - var = var + repr(ctx[i]) + ' , ' - if not ctx.next(): break - return var -/ - -CREATE PYTHON SET SCRIPT -type_specific_add(...) -RETURNS VARCHAR(2000) as -def run(ctx): - var = 'result: ' - if repr(exa.meta.input_columns[0].type) == "" or repr(exa.meta.input_columns[0].type) == "": - while True: - for i in range (0,exa.meta.input_column_count): - var = var + ctx[i] + ' , ' - if not ctx.next(): break - else: - sum = 0 - while True: - for i in range (0,exa.meta.input_column_count): - sum = sum + ctx[i] - if not ctx.next(): break - var = var + repr(sum) - return var -/ - -CREATE PYTHON SCALAR SCRIPT -wrong_arg(...) -returns varchar(2000) as -def run(ctx): - return ctx[1] -/ - -CREATE PYTHON SCALAR SCRIPT -wrong_operation(...) -returns varchar(2000) as -def run(ctx): - return ctx[0] * ctx[1] -/ - -CREATE PYTHON SET SCRIPT -empty_set_returns( ... ) -returns varchar(2000) as -def run(ctx): - return 1 -/ - -CREATE PYTHON SET SCRIPT -empty_set_emits( ... ) -emits (x varchar(2000)) as -def run(ctx): - return 1 -/ diff --git a/test_container/tests/lang/python/dynamic_output.sql b/test_container/tests/lang/python/dynamic_output.sql deleted file mode 100644 index d76263f47..000000000 --- a/test_container/tests/lang/python/dynamic_output.sql +++ /dev/null @@ -1,179 +0,0 @@ --- -CREATE PYTHON SET SCRIPT VAREMIT_SIMPLE_SET (a double) EMITS (...) AS -def run(ctx): - ctx.emit(1) -/ -CREATE PYTHON SET SCRIPT DEFAULT_VAREMIT_SIMPLE_SET (a double) EMITS (...) AS -def run(ctx): - ctx.emit(1) -def default_output_columns(): - return "x double" -/ --- -CREATE PYTHON SCALAR SCRIPT VAREMIT_SIMPLE_SCALAR (a double) EMITS (...) AS -def run(ctx): - ctx.emit(1) -/ -CREATE PYTHON SCALAR SCRIPT DEFAULT_VAREMIT_SIMPLE_SCALAR (a double) EMITS (...) AS -def run(ctx): - ctx.emit(1) -def default_output_columns(): - return "x double" -/ --- -CREATE PYTHON SCALAR SCRIPT VAREMIT_SIMPLE_ALL_DYN (...) EMITS (...) AS -def run(ctx): - ctx.emit(1) -/ -CREATE PYTHON SCALAR SCRIPT DEFAULT_VAREMIT_SIMPLE_ALL_DYN (...) EMITS (...) AS -def run(ctx): - ctx.emit(1) -def default_output_columns(): - return "x double" -/ --- -CREATE PYTHON SET SCRIPT VAREMIT_SIMPLE_SYNTAX_VAR (...) EMITS ( ... ) AS -def run(ctx): - ctx.emit(1) -/ -CREATE PYTHON SET SCRIPT DEFAULT_VAREMIT_SIMPLE_SYNTAX_VAR (...) EMITS ( ... ) AS -def run(ctx): - ctx.emit(1) -def default_output_columns(): - return "x double" -/ --- -CREATE PYTHON SET SCRIPT VAREMIT_GENERIC_EMIT (a varchar(100)) EMITS (...) AS -def run(ctx): - ctx.emit(*([ctx[0]]*exa.meta.output_column_count)) -/ -CREATE PYTHON SET SCRIPT DEFAULT_VAREMIT_GENERIC_EMIT (a varchar(100)) EMITS (...) AS -def run(ctx): - ctx.emit(*([ctx[0]]*exa.meta.output_column_count)) -def default_output_columns(): - return "a varchar(100)" -/ --- -CREATE PYTHON SET SCRIPT VAREMIT_ALL_GENERIC (...) EMITS (...) AS -def run(ctx): - ctx.emit(*([ctx[0]]*exa.meta.output_column_count)) -/ -CREATE PYTHON SET SCRIPT DEFAULT_VAREMIT_ALL_GENERIC (...) EMITS (...) AS -def run(ctx): - ctx.emit(*([ctx[0]]*exa.meta.output_column_count)) -def default_output_columns(): - return "a varchar(100)" -/ --- -CREATE PYTHON SET SCRIPT VAREMIT_METADATA_SET_EMIT (...) EMITS(...) AS -def run(ctx): - ctx.emit(repr(exa.meta.output_column_count), 1) - for i in range (0,exa.meta.output_column_count): - ctx.emit(exa.meta.output_columns[i].name, 1) - ctx.emit(repr(exa.meta.output_columns[i].type), 1) - ctx.emit(exa.meta.output_columns[i].sql_type, 1) - ctx.emit(repr(exa.meta.output_columns[i].precision), 1) - ctx.emit(repr(exa.meta.output_columns[i].scale), 1) - ctx.emit(repr(exa.meta.output_columns[i].length), 1) -/ -CREATE PYTHON SET SCRIPT DEFAULT_VAREMIT_METADATA_SET_EMIT (...) EMITS(...) AS -def run(ctx): - ctx.emit(repr(exa.meta.output_column_count), 1) - for i in range (0,exa.meta.output_column_count): - ctx.emit(exa.meta.output_columns[i].name, 1) - ctx.emit(repr(exa.meta.output_columns[i].type), 1) - ctx.emit(exa.meta.output_columns[i].sql_type, 1) - ctx.emit(repr(exa.meta.output_columns[i].precision), 1) - ctx.emit(repr(exa.meta.output_columns[i].scale), 1) - ctx.emit(repr(exa.meta.output_columns[i].length), 1) -def default_output_columns(): - return "a varchar(123), b double" -/ --- -CREATE PYTHON SET SCRIPT VAREMIT_NON_VAR_EMIT (...) EMITS (a double) AS -def run(ctx): - ctx.emit(1) -/ -CREATE PYTHON SET SCRIPT DEFAULT_VAREMIT_NON_VAR_EMIT (...) EMITS (a double) AS -def run(ctx): - ctx.emit(1) -def default_output_columns(): - return "a int" -/ --- -CREATE PYTHON SET SCRIPT VAREMIT_SIMPLE_RETURNS (a int) RETURNS int AS -def run(ctx): - return 1 -def default_output_columns(): - return "x double" -/ -CREATE PYTHON SET SCRIPT DEFAULT_VAREMIT_SIMPLE_RETURNS (a int) RETURNS int AS -def run(ctx): - return 1 -def default_output_columns(): - return "a int" -/ --- -CREATE PYTHON SET SCRIPT VAREMIT_EMIT_INPUT (...) EMITS (...) AS -def run(ctx): - record = list() - for col in range(0,exa.meta.input_column_count): - record.append(ctx[col]) - ctx.emit(*record) -/ -CREATE PYTHON SET SCRIPT DEFAULT_VAREMIT_EMIT_INPUT (...) EMITS (...) AS -def run(ctx): - record = list() - for col in range(0,exa.meta.input_column_count): - record.append(ctx[col]) - ctx.emit(*record) -def default_output_columns(): - return "a int" -/ --- -CREATE PYTHON SET SCRIPT VAREMIT_EMIT_INPUT_WITH_META_CHECK (...) EMITS (...) AS -def run(ctx): - record = list() - for col in range(0,exa.meta.input_column_count): - assert exa.meta.input_columns[col].sql_type == exa.meta.output_columns[col].sql_type - record.append(ctx[col]) - ctx.emit(*record) -/ -CREATE PYTHON SET SCRIPT DEFAULT_VAREMIT_EMIT_INPUT_WITH_META_CHECK (...) EMITS (...) AS -def run(ctx): - record = list() - for col in range(0,exa.meta.input_column_count): - assert exa.meta.input_columns[col].sql_type == exa.meta.output_columns[col].sql_type - record.append(ctx[col]) - ctx.emit(*record) -def default_output_columns(): - return "a varchar(123), b double" -/ -CREATE PYTHON SET SCRIPT DEFAULT_VAREMIT_EMPTY_DEF(X DOUBLE) EMITS (...) AS -def run(ctx): - ctx.emit(1.4) - -def default_output_columns(): - return '' -/ - -CREATE PYTHON SET SCRIPT COPY_RELATION (...) EMITS (...) AS -def run(ctx): - record = list() - for col in range(0,exa.meta.input_column_count): - assert exa.meta.input_columns[col].sql_type == exa.meta.output_columns[col].sql_type - record.append(ctx[col]) - ctx.emit(*record) - -def default_output_columns(): - res = list() - for col in range(0,exa.meta.input_column_count): - col_name = exa.meta.input_columns[col].name - try: - col_name = "col_%s" % (int(col_name)) - except ValueError: pass - res.append("%s %s" % (col_name, exa.meta.input_columns[col].sql_type)) - return ",".join(res) -/ - - diff --git a/test_container/tests/lang/python/emit.sql b/test_container/tests/lang/python/emit.sql deleted file mode 100644 index ef3a56b66..000000000 --- a/test_container/tests/lang/python/emit.sql +++ /dev/null @@ -1,26 +0,0 @@ -create python scalar script dob_1i_1o(x double) emits(y double) -as - def run(ctx): - ctx.emit(ctx.x) - ctx.emit(ctx.x) -/ -create python scalar script line_1i_1o(x double) emits(y double) -as - def run(ctx): - ctx.emit(ctx.x) -/ -create python scalar script line_1i_2o(x double) emits(y double, z double) -as - def run(ctx): - ctx.emit(ctx.x, ctx.x) -/ -create python scalar script line_2i_1o(x double, y double) emits(z double) -as - def run(ctx): - ctx.emit(ctx.x + ctx.y) -/ -create python scalar script line_3i_2o(x double, y double, z double) emits(z1 double, z2 double) -as - def run(ctx): - ctx.emit(ctx.x + ctx.y, 3000) -/ diff --git a/test_container/tests/lang/python/export_alias.sql b/test_container/tests/lang/python/export_alias.sql deleted file mode 100644 index e46e5b473..000000000 --- a/test_container/tests/lang/python/export_alias.sql +++ /dev/null @@ -1,141 +0,0 @@ -create or replace python scalar script expal_test_pass_fail(res varchar(100)) emits (x int) as -def run(ctx): - result = ctx.res - if result == "ok": - ctx.emit(1) - elif result == "failed": - ctx.emit(2) - else: - ctx.emit(3) -/ - -create or replace python scalar script expal_use_param_foo_bar(...) returns int as -def generate_sql_for_export_spec(export_spec): - if (export_spec.parameters['FOO'] == 'bar' and - export_spec.parameters['BAR'] == 'foo' and - export_spec.connection_name is None and - export_spec.connection is None and - export_spec.has_truncate is False and - export_spec.has_replace is False and - export_spec.created_by is None and - export_spec.source_column_names[0] == '"T"."A"' and - export_spec.source_column_names[1] == '"T"."Z"'): - return "select " + exa.meta.script_schema + ".expal_test_pass_fail('ok')" - else: - return "select " + exa.meta.script_schema + ".expal_test_pass_fail('failed')" -/ - -create or replace python scalar script expal_use_connection_name(...) returns int as -def generate_sql_for_export_spec(export_spec): - if (export_spec.parameters['FOO'] == 'bar' and - export_spec.parameters['BAR'] == 'foo' and - export_spec.connection_name == 'FOOCONN' and - export_spec.connection is None and - export_spec.has_truncate is False and - export_spec.has_replace is False and - export_spec.created_by is None and - export_spec.source_column_names[0] == '"T"."A"' and - export_spec.source_column_names[1] == '"T"."Z"'): - return "select " + exa.meta.script_schema + ".expal_test_pass_fail('ok')" - else: - return "select " + exa.meta.script_schema + ".expal_test_pass_fail('failed')" -/ - -create or replace python scalar script expal_use_connection_info(...) returns int as -def generate_sql_for_export_spec(export_spec): - if (export_spec.parameters['FOO'] == 'bar' and - export_spec.parameters['BAR'] == 'foo' and - export_spec.connection_name is None and - export_spec.connection.type == 'password'and - export_spec.connection.address == 'a' and - export_spec.connection.user == 'b' and - export_spec.connection.password == 'c' and - export_spec.has_truncate is False and - export_spec.has_replace is False and - export_spec.created_by is None and - export_spec.source_column_names[0] == '"T"."A"' and - export_spec.source_column_names[1] == '"T"."Z"'): - return "select " + exa.meta.script_schema + ".expal_test_pass_fail('ok')" - else: - return "select " + exa.meta.script_schema + ".expal_test_pass_fail('failed')" -/ - -create or replace python scalar script expal_use_has_truncate(...) returns int as -def generate_sql_for_export_spec(export_spec): - if (export_spec.parameters['FOO'] == 'bar' and - export_spec.parameters['BAR'] == 'foo' and - export_spec.connection_name is None and - export_spec.connection is None and - export_spec.has_truncate is True and - export_spec.has_replace is False and - export_spec.created_by is None and - export_spec.source_column_names[0] == '"T"."A"' and - export_spec.source_column_names[1] == '"T"."Z"'): - return "select " + exa.meta.script_schema + ".expal_test_pass_fail('ok')" - else: - return "select " + exa.meta.script_schema + ".expal_test_pass_fail('failed')" -/ - -create or replace python scalar script expal_use_replace_created_by(...) returns int as -def generate_sql_for_export_spec(export_spec): - if (export_spec.parameters['FOO'] == 'bar' and - export_spec.parameters['BAR'] == 'foo' and - export_spec.connection_name is None and - export_spec.connection is None and - export_spec.has_truncate is False and - export_spec.has_replace is True and - export_spec.created_by == 'create table t(a int, z varchar(3000))' and - export_spec.source_column_names[0] == '"T"."A"' and - export_spec.source_column_names[1] == '"T"."Z"'): - return "select " + exa.meta.script_schema + ".expal_test_pass_fail('ok')" - else: - return "select " + exa.meta.script_schema + ".expal_test_pass_fail('failed')" -/ - -create or replace python scalar script expal_use_column_name_lower_case(...) returns int as -def generate_sql_for_export_spec(export_spec): - if (export_spec.parameters['FOO'] == 'bar' and - export_spec.parameters['BAR'] == 'foo' and - export_spec.connection_name is None and - export_spec.connection is None and - export_spec.has_truncate is False and - export_spec.has_replace is False and - export_spec.created_by is None and - export_spec.source_column_names[0] == '"tl"."A"' and - export_spec.source_column_names[1] == '"tl"."z"'): - return "select " + exa.meta.script_schema + ".expal_test_pass_fail('ok')" - else: - return "select " + exa.meta.script_schema + ".expal_test_pass_fail('failed')" -/ - -create or replace python scalar script expal_use_column_selection(...) returns int as -def generate_sql_for_export_spec(export_spec): - if (export_spec.parameters['FOO'] == 'bar' and - export_spec.parameters['BAR'] == 'foo' and - export_spec.connection_name is None and - export_spec.connection is None and - export_spec.has_truncate is False and - export_spec.has_replace is False and - export_spec.created_by is None and - export_spec.source_column_names[0] == '"tl"."A"' and - export_spec.source_column_names[1] == '"tl"."z"'): - return "select " + exa.meta.script_schema + ".expal_test_pass_fail('ok')" - else: - return "select " + exa.meta.script_schema + ".expal_test_pass_fail('failed')" -/ - -create or replace python scalar script expal_use_query(...) returns int as -def generate_sql_for_export_spec(export_spec): - if (export_spec.parameters['FOO'] == 'bar' and - export_spec.parameters['BAR'] == 'foo' and - export_spec.connection_name is None and - export_spec.connection is None and - export_spec.has_truncate is False and - export_spec.has_replace is False and - export_spec.created_by is None and - export_spec.source_column_names[0] == '"col1"' and - export_spec.source_column_names[1] == '"col2"'): - return "select " + exa.meta.script_schema + ".expal_test_pass_fail('ok')" - else: - return "select " + exa.meta.script_schema + ".expal_test_pass_fail('failed')" -/ diff --git a/test_container/tests/lang/python/get_connection.sql b/test_container/tests/lang/python/get_connection.sql deleted file mode 100644 index 9583e1ba1..000000000 --- a/test_container/tests/lang/python/get_connection.sql +++ /dev/null @@ -1,16 +0,0 @@ -create or replace python scalar script print_connection(conn varchar (1000)) -emits(type varchar(200), addr varchar(2000000), usr varchar(2000000), pwd varchar(2000000)) -as -def run(ctx): - c = exa.get_connection(ctx.conn) - ctx.emit( c.type, c.address, c.user, c.password ) -/ - - -create or replace python set script print_connection_set_emits(conn varchar (1000)) -emits(type varchar(200), addr varchar(2000000), usr varchar(2000000), pwd varchar(2000000)) -as -def run(ctx): - c = exa.get_connection(ctx.conn) - ctx.emit( c.type, c.address, c.user, c.password ) -/ diff --git a/test_container/tests/lang/python/import_alias.sql b/test_container/tests/lang/python/import_alias.sql deleted file mode 100644 index 0d3e6e3b0..000000000 --- a/test_container/tests/lang/python/import_alias.sql +++ /dev/null @@ -1,48 +0,0 @@ -create or replace python set script impal_use_is_subselect(...) emits (x varchar(2000)) as -def generate_sql_for_import_spec(import_spec): - return "select " + str(import_spec.is_subselect) -/ - -create or replace python scalar script impal_use_param_foo_bar(...) returns varchar(2000) as -def generate_sql_for_import_spec(import_spec): - return "select '" + import_spec.parameters['FOO'] + "', '" + import_spec.parameters['BAR'] + "'" -/ - -create or replace python set script impal_use_connection_name(...) emits (x varchar(2000)) as -def generate_sql_for_import_spec(import_spec): - return "select '" + import_spec.connection_name + "'" -/ - - -create or replace python set script impal_use_connection(...) emits (x varchar(2000)) as -def generate_sql_for_import_spec(import_spec): - return "select '" + import_spec.connection.user + import_spec.connection.password + import_spec.connection.address + import_spec.connection.type + "'" -/ - --- create or replace python set script impal_use_connection_fooconn(...) emits (x varchar(2000)) as --- def generate_sql_for_import_spec(import_spec): --- c = exa.get_connection('FOOCONN') --- return "select '" + str(c.address) + str(c.user) + str(c.password) + "'" --- / - - -create or replace python set script impal_use_all(...) emits (x varchar(2000)) as -def generate_sql_for_import_spec(import_spec): - is_sub = str(import_spec.is_subselect).upper() - connection_string = 'X' - connection_name = 'Y' - foo = 'Z' - types = 'T' - names = 'N' - if import_spec.connection is not None: - connection_string = import_spec.connection.user + import_spec.connection.password + import_spec.connection.address + import_spec.connection.type - if import_spec.connection_name is not None: - connection_name = import_spec.connection_name - if import_spec.parameters['FOO'] is not None: - foo = import_spec.parameters['FOO'] - if import_spec.subselect_column_types is not None: - for i in range(0, len(import_spec.subselect_column_types)): - types = types + import_spec.subselect_column_types[i] - names = names + import_spec.subselect_column_names[i] - return "select 1, '" + is_sub + '_' + connection_name + '_' + connection_string + '_' + foo + '_' + types + '_' + names + "'" -/ diff --git a/test_container/tests/lang/python/metadata.sql b/test_container/tests/lang/python/metadata.sql deleted file mode 100644 index 562cb6196..000000000 --- a/test_container/tests/lang/python/metadata.sql +++ /dev/null @@ -1,195 +0,0 @@ -CREATE PYTHON SCALAR SCRIPT -get_database_name() returns varchar(300) AS -def run(ctx): - return exa.meta.database_name -/ -create python scalar script -get_database_version() returns varchar(20) as -def run(ctx): - return exa.meta.database_version -/ -create python scalar script -get_script_language() emits (s1 varchar(300), s2 varchar(300)) as -def run(ctx): - ctx.emit(exa.meta.script_language, "Python") -/ -create python scalar script -get_script_name() returns varchar(200) as -def run(ctx): - return exa.meta.script_name -/ -create python scalar script -get_script_schema() returns varchar(200) as -def run(ctx): - return exa.meta.script_schema -/ -create python scalar script -get_current_user() returns varchar(200) as -def run(ctx): - return exa.meta.current_user -/ -create python scalar script -get_scope_user() returns varchar(200) as -def run(ctx): - return exa.meta.scope_user -/ -create python scalar script -get_current_schema() returns varchar(200) as -def run(ctx): - return exa.meta.current_schema -/ -create python scalar script -get_script_code() returns varchar(2000) as -def run(ctx): - return exa.meta.script_code -/ -create python scalar script -get_session_id() returns varchar(200) as -def run(ctx): - return exa.meta.session_id -/ -create python scalar script -get_statement_id() returns number as -def run(ctx): - return exa.meta.statement_id -/ -create python scalar script -get_node_count() returns number as -def run(ctx): - return exa.meta.node_count -/ -create python scalar script -get_node_id() returns number as -def run(ctx): - return exa.meta.node_id -/ -create python scalar script -get_vm_id() returns varchar(200) as -def run(ctx): - return exa.meta.vm_id -/ -create python scalar script -get_input_type_scalar() returns varchar(200) as -def run(ctx): - return exa.meta.input_type -/ -create python set script -get_input_type_set(a double) returns varchar(200) as -def run(ctx): - return exa.meta.input_type -/ -create python scalar script -get_input_column_count_scalar(c1 double, c2 varchar(100)) -returns number as -def run(ctx): - return exa.meta.input_column_count -/ -create python set script -get_input_column_count_set(c1 double, c2 varchar(100)) -returns number as -def run(ctx): - return exa.meta.input_column_count -/ -create python scalar script -get_input_columns(c1 double, c2 varchar(200)) -emits (column_id number, column_name varchar(200), column_type varchar(20), - column_sql_type varchar(20), column_precision number, column_scale number, - column_length number) as -def run(ctx): - cols = exa.meta.input_columns - for i in range(0, len(cols)): - name = cols[i].name - precision = cols[i].precision - thetype = repr(cols[i].type) - sql_type = cols[i].sql_type - scale = cols[i].scale - length = cols[i].length - if name == None: name = 'no-name' - if thetype == None: thetype = 'no-type' - if sql_type == None: sql_type = 'no-sql-type' - if precision == None: precision = 0 - if scale == None: scale = 0 - if length == None: length = 0 - ctx.emit(i+1, name, thetype, sql_type, precision, scale, length) -/ -create python scalar script -get_output_type_return() -returns varchar(200) as -def run(ctx): - return exa.meta.output_type -/ -create python scalar script -get_output_type_emit() -emits (t varchar(200)) as -def run(ctx): - ctx.emit(exa.meta.output_type) -/ -create python scalar script -get_output_column_count_return() -returns number as -def run(ctx): - return exa.meta.output_column_count -/ -create python scalar script -get_output_column_count_emit() -emits (x number, y number, z number) as -def run(ctx): - ctx.emit(exa.meta.output_column_count,exa.meta.output_column_count,exa.meta.output_column_count) -/ -create python scalar script -get_output_columns() -emits (column_id number, column_name varchar(200), column_type varchar(20), - column_sql_type varchar(20), column_precision number, column_scale number, - column_length number) as -def run(ctx): - cols = exa.meta.output_columns - for i in range(0, len(cols)): - name = cols[i].name - thetype = repr(cols[i].type) - sql_type = cols[i].sql_type - precision = cols[i].precision - scale = cols[i].scale - length = cols[i].length - if name == None: name = 'no-name' - if thetype == None: thetype = 'no-type' - if sql_type == None: sql_type = 'no-sql-type' - if precision == None: precision = 0 - if scale == None: scale = 0 - if length == None: length = 0 - ctx.emit(i+1, name, thetype, sql_type, precision, scale, length) -/ - --- select get_output_columns() from dual; --- (1, ...) - -create python scalar script -get_precision_scale_length(n decimal(6,3), v varchar(10)) -emits (precision1 number, scale1 number, length1 number, precision2 number, scale2 number, length2 number) as -def run(ctx): - v = exa.meta.input_columns[0] - precision1 = v.precision - scale1 = v.scale - length1 = v.length - w = exa.meta.input_columns[1] - precision2 = w.precision - scale2 = w.scale - length2 = w.length - if precision1== None: precision1= 0 - if scale1== None: scale1= 0 - if length1== None: length1= 0 - if precision2== None: precision2= 0 - if scale2== None: scale2= 0 - if length2== None: length2= 0 - ctx.emit(precision1, scale1, length1, precision2, scale2, length2) -/ - -create python scalar script -get_char_length(text char(10)) -emits(len1 number, len2 number, dummy char(20)) -as -def run(ctx): - v = exa.meta.input_columns[0] - w = exa.meta.output_columns[2] - ctx.emit(v.length,w.length,'9876543210') -/ - diff --git a/test_container/tests/lang/python/numeric_functions.sql b/test_container/tests/lang/python/numeric_functions.sql deleted file mode 100644 index 703bdf796..000000000 --- a/test_container/tests/lang/python/numeric_functions.sql +++ /dev/null @@ -1,51 +0,0 @@ -CREATE python SCALAR SCRIPT -pi() -RETURNS double AS - -import math - -def run(ctx): - return math.pi -/ - -CREATE python SCALAR SCRIPT -double_mult("x" double, "y" double) -RETURNS double AS - -def run(ctx): - if ctx.x is None or ctx.y is None: - return None - else: - return ctx.x * ctx.y -/ - -CREATE python SCALAR SCRIPT add_two_doubles(x DOUBLE, y DOUBLE) RETURNS DOUBLE AS -def run(ctx): - if ctx.x is not None and ctx.y is not None: - return ctx.x + ctx.y; - return None -/ - -CREATE python SCALAR SCRIPT -add_three_doubles(x DOUBLE, y DOUBLE, z DOUBLE) -RETURNS DOUBLE AS -def run(ctx): - if ctx.x is not None and ctx.y is not None and ctx.z is not None: - return ctx.x + ctx.y + ctx.z; - return None -/ - -CREATE python SCALAR SCRIPT -split_integer_into_digits("x" INTEGER) -EMITS (y INTEGER) AS -import math -def run(ctx): - if ctx.x is not None: - y = abs(ctx.x) - while y > 0: - ctx.emit(y % 10) - y //= 10 -/ - - --- vim: ts=2:sts=2:sw=2:et diff --git a/test_container/tests/lang/python/pathological_functions.sql b/test_container/tests/lang/python/pathological_functions.sql deleted file mode 100644 index 8fa5a5d66..000000000 --- a/test_container/tests/lang/python/pathological_functions.sql +++ /dev/null @@ -1,44 +0,0 @@ -CREATE python SCALAR SCRIPT -sleep("sec" double) -RETURNS double AS - -import time - -def run(ctx): - time.sleep(ctx.sec) - return ctx.sec -/ - -CREATE python SCALAR SCRIPT -mem_hog("mb" int) -RETURNS int AS - -def run(ctx): - a = 'x' * 1024 * 1024 - b = {} - for i in range(ctx.mb): - b[i] = '%s%d' % (a+'y', i) - return len(b) -/ - -CREATE python SCALAR SCRIPT -cleanup_check("raise_exc" boolean, "sleep" int) -RETURNS int AS - -import time -sleep = 0 - -def run(ctx): - global sleep - sleep = ctx.sleep - if ctx.raise_exc: - raise ValueError() - return 42 - -def cleanup(): - time.sleep(sleep) - -/ - - --- vim: ts=4:sts=4:sw=4:et:fdm=indent diff --git a/test_container/tests/lang/python/performance.sql b/test_container/tests/lang/python/performance.sql deleted file mode 100644 index c0755d08c..000000000 --- a/test_container/tests/lang/python/performance.sql +++ /dev/null @@ -1,70 +0,0 @@ - -CREATE python SCALAR SCRIPT -performance_map_words(w VARCHAR(1000)) -EMITS (w VARCHAR(1000), c INTEGER) AS - -import re -import string - -pattern = re.compile(r'''([]\w!"#$%&\'()*+,./:;<=>?@[\\^_`{|}~-]+)''') - -def run(ctx): - if ctx.w is not None: - for w in re.findall(pattern, ctx.w): - ctx.emit(w, 1) -/ - -CREATE python SCALAR SCRIPT -performance_map_unicode_words(w VARCHAR(1000)) -EMITS (w VARCHAR(1000), c INTEGER) AS - -import re -import string - -pattern = re.compile(r'''([]\w!"#$%&\'()*+,./:;<=>?@[\\^_`{|}~-]+)''', re.UNICODE) - -def run(ctx): - if ctx.w is not None: - for w in re.findall(pattern, ctx.w): - ctx.emit(w, 1) -/ - -CREATE python SET SCRIPT -performance_reduce_counts(w VARCHAR(1000), c INTEGER) -EMITS (w VARCHAR(1000), c INTEGER) AS - -def run(ctx): - word = ctx.w - count = 0 - while True: - count += ctx.c - if not ctx.next(): break - ctx.emit(word, count) -/ - - -CREATE python SCALAR SCRIPT -performance_map_characters(text VARCHAR(1000)) -EMITS (w CHAR(1), c INTEGER) AS -def run(ctx): - if ctx.text is not None: - for c in ctx.text: - ctx.emit(c, 1) -/ - - -CREATE python SET SCRIPT -performance_reduce_characters(w CHAR(1), c INTEGER) -EMITS (w CHAR(1), c INTEGER) AS - -def run(ctx): - c = 0 - w = ctx.w - if w is not None: - while True: - c += 1 - if not ctx.next(): break - ctx.emit(w, c) -/ - --- vim: ts=2:sts=2:sw=2 diff --git a/test_container/tests/lang/python/types.sql b/test_container/tests/lang/python/types.sql deleted file mode 100644 index 34bb99b52..000000000 --- a/test_container/tests/lang/python/types.sql +++ /dev/null @@ -1,106 +0,0 @@ -CREATE python SCALAR SCRIPT echo_boolean(x BOOLEAN) RETURNS BOOLEAN AS -def run(ctx): - if ctx.x is not None: - return ctx.x - return None -/ - -CREATE python SCALAR SCRIPT echo_char1(x CHAR(1)) RETURNS CHAR(1) AS -def run(ctx): - if ctx.x is not None: - return ctx.x - return None -/ - -CREATE python SCALAR SCRIPT echo_char10(x CHAR(10)) RETURNS CHAR(10) AS -def run(ctx): - if ctx.x is not None: - if len(ctx.x) != 10: - return None - else: - return ctx.x - return None -/ - -CREATE python SCALAR SCRIPT echo_date(x DATE) RETURNS DATE AS -def run(ctx): - if ctx.x is not None: - return ctx.x - return None -/ - -CREATE python SCALAR SCRIPT echo_integer(x INTEGER) RETURNS INTEGER AS -def run(ctx): - if ctx.x is not None: - return ctx.x - return None -/ - -CREATE python SCALAR SCRIPT echo_double(x DOUBLE) RETURNS DOUBLE AS -def run(ctx): - if ctx.x is not None: - return ctx.x - return None -/ - -CREATE python SCALAR SCRIPT echo_decimal_36_0(x DECIMAL(36,0)) RETURNS DECIMAL(36,0) AS -def run(ctx): - if ctx.x is not None: - return ctx.x - return None -/ - -CREATE python SCALAR SCRIPT echo_decimal_36_36(x DECIMAL(36,36)) RETURNS DECIMAL(36,36) AS -def run(ctx): - if ctx.x is not None: - return ctx.x - return None -/ - - -CREATE python SCALAR SCRIPT echo_varchar10(x VARCHAR(10)) RETURNS VARCHAR(10) AS -def run(ctx): - if ctx.x is not None: - return ctx.x - return None -/ - -CREATE python SCALAR SCRIPT echo_timestamp(x TIMESTAMP) RETURNS TIMESTAMP AS -def run(ctx): - if ctx.x is not None: - return ctx.x - return None -/ - -CREATE python SCALAR SCRIPT run_func_is_empty() RETURNS DOUBLE AS -def run(ctx): - pass -/ - - -CREATE python SCALAR SCRIPT -bottleneck_varchar10(i VARCHAR(20)) -RETURNS VARCHAR(10) AS - -def run(ctx): - return ctx.i -/ - -CREATE python SCALAR SCRIPT -bottleneck_char10(i VARCHAR(20)) -RETURNS CHAR(10) AS - -def run(ctx): - return ctx.i -/ - -CREATE python SCALAR SCRIPT -bottleneck_decimal5(i DECIMAL(20, 0)) -RETURNS DECIMAL(5, 0) AS - -def run(ctx): - return ctx.i -/ - --- vim: ts=4:sts=4:sw=4:et:fdm=indent - diff --git a/test_container/tests/lang/python/unicode.sql b/test_container/tests/lang/python/unicode.sql deleted file mode 100644 index d67515436..000000000 --- a/test_container/tests/lang/python/unicode.sql +++ /dev/null @@ -1,48 +0,0 @@ -CREATE python SCALAR SCRIPT -unicode_len(word VARCHAR(1000)) -RETURNS INT AS - -def run(ctx): - if ctx.word is not None: - return len(ctx.word) -/ - -CREATE python SCALAR SCRIPT -unicode_upper(word VARCHAR(1000)) -RETURNS VARCHAR(1000) AS - -def run(ctx): - if ctx.word is not None: - return ctx.word.upper() -/ - -CREATE python SCALAR SCRIPT -unicode_lower(word VARCHAR(1000)) -RETURNS VARCHAR(1000) AS - -def run(ctx): - if ctx.word is not None: - return ctx.word.lower() -/ - - -CREATE python SCALAR SCRIPT -unicode_count(word VARCHAR(1000), convert_ INT) -EMITS (uchar VARCHAR(1), count INT) AS - -import collections - -def run(ctx): - if ctx.convert_ > 0: - word = ctx.word.upper() - elif ctx.convert_ < 0: - word = ctx.word.lower() - else: - word = ctx.word - - count = collections.Counter(word) - for k, v in count.items(): - ctx.emit(k, v) -/ - --- vim: ts=2:sts=2:sw=2 diff --git a/test_container/tests/lang/python/vectorsize.sql b/test_container/tests/lang/python/vectorsize.sql deleted file mode 100644 index f47707545..000000000 --- a/test_container/tests/lang/python/vectorsize.sql +++ /dev/null @@ -1,66 +0,0 @@ -CREATE python SCALAR SCRIPT -vectorsize5000(A DOUBLE) -RETURNS VARCHAR(2000000) AS - -retval = ''.join([str(i) for i in range(5000)]) - -def run(ctx): - return retval -/ - - -CREATE python SCALAR SCRIPT -vectorsize(length INT, dummy DOUBLE) -RETURNS VARCHAR(2000000) AS -import gc -import sys - -if sys.version_info[0] == 3: xrange = range - -cache = {} -cache_size = 0 -cache_max = 1024*1024*64 - -def run(ctx): - global cache_size, cache - if ctx.length not in cache: - curstr = ''.join([str(i) for i in xrange(ctx.length)]) - if cache_size + len(curstr) > cache_max: - cache = {} - cache_size = 0 - gc.collect() - cache[ctx.length] = curstr - cache_size += len(curstr) - return cache[ctx.length] -/ - - -CREATE python SCALAR SCRIPT -vectorsize_set(length INT, n INT, dummy DOUBLE) -EMITS (o VARCHAR(2000000)) AS -import gc -import sys - -if sys.version_info[0] == 3: xrange = range - -cache = {} -cache_size = 0 -cache_max = 1024*1024*64 - -def run(ctx): - global cache_size, cache - if ctx.length not in cache: - curstr = ''.join([str(i) for i in xrange(ctx.length)]) - if cache_size + len(curstr) > cache_max: - cache = {} - cache_size = 0 - gc.collect() - cache[ctx.length] = curstr - cache_size += len(curstr) - for i in xrange(ctx.n): - ctx.emit(cache[ctx.length]) -/ - - - --- vim: ts=4:sts=4:sw=4:et:fdm=indent diff --git a/test_container/tests/test/generic/emit.py b/test_container/tests/test/generic/emit.py index 628e88834..db9e5a78e 100644 --- a/test_container/tests/test/generic/emit.py +++ b/test_container/tests/test/generic/emit.py @@ -216,7 +216,7 @@ def test_timestamp(self): rows = self.query(''' describe fn2.foo ''') - self.assertEqual('TIMESTAMP', rows[0][1]) + self.assertEqual('TIMESTAMP(3)', rows[0][1]) @requires('LINE_1I_1O') def test_timestamp_with_timezone(self): @@ -233,7 +233,7 @@ def test_timestamp_with_timezone(self): rows = self.query(''' describe fn2.foo ''') - self.assertEqual('TIMESTAMP WITH LOCAL TIME ZONE', rows[0][1]) + self.assertEqual('TIMESTAMP(3) WITH LOCAL TIME ZONE', rows[0][1]) @requires('LINE_1I_1O') def test_date(self): diff --git a/test_container/tests/test/pandas/all/emit_dtypes.py b/test_container/tests/test/pandas/all/emit_dtypes.py index de30e3589..1c00dfae3 100755 --- a/test_container/tests/test/pandas/all/emit_dtypes.py +++ b/test_container/tests/test/pandas/all/emit_dtypes.py @@ -332,15 +332,14 @@ def run(ctx): ''') print(sql) self.query(sql) - with UdfDebugger(test_case=self): - rows = self.query('''SELECT test_dtype_emit(0)''') - if isinstance(expected_result,str): - self.assertRegex(rows[0][2], expected_result) + rows = self.query('''SELECT test_dtype_emit(0)''') + if isinstance(expected_result,str): + self.assertRegex(rows[0][2], expected_result) + else: + if use_almost_equal: + self.assertRowsAlmostEqual(expected_result, rows, places=1) else: - if use_almost_equal: - self.assertRowsAlmostEqual(expected_result, rows, places=1) - else: - self.assertRowsEqual(expected_result, rows) + self.assertRowsEqual(expected_result, rows) def isValueAlmostEqual(self, left, right, places): if isinstance(left, (float, Decimal)) and isinstance(right, (float, Decimal)): diff --git a/test_container/tests/test/pandas/pandas2/pandas.py b/test_container/tests/test/pandas/pandas2/pandas.py index 802edd422..a853f1652 100755 --- a/test_container/tests/test/pandas/pandas2/pandas.py +++ b/test_container/tests/test/pandas/pandas2/pandas.py @@ -328,15 +328,14 @@ def run(ctx): ''') print(sql) self.query(sql) - with UdfDebugger(test_case=self): - rows = self.query('''SELECT test_dtype_emit(0)''') - if isinstance(expected_result,str): - self.assertRegex(rows[0][2], expected_result) + rows = self.query('''SELECT test_dtype_emit(0)''') + if isinstance(expected_result,str): + self.assertRegex(rows[0][2], expected_result) + else: + if use_almost_equal: + self.assertRowsAlmostEqual(expected_result, rows, places=1) else: - if use_almost_equal: - self.assertRowsAlmostEqual(expected_result, rows, places=1) - else: - self.assertRowsEqual(expected_result, rows) + self.assertRowsEqual(expected_result, rows) def isValueAlmostEqual(self, left, right, places): if isinstance(left, (float, Decimal)) and isinstance(right, (float, Decimal)): diff --git a/test_container/tests/test/python/bugs.py b/test_container/tests/test/python/bugs.py deleted file mode 100644 index 2e8355573..000000000 --- a/test_container/tests/test/python/bugs.py +++ /dev/null @@ -1,89 +0,0 @@ -#!/usr/bin/env python3 - -from exasol_python_test_framework import udf - - -class GetConnectionMemoryBug(udf.TestCase): - def setUp(self): - self.query('create schema get_connection_bugs', ignore_errors=True) - self.query(udf.fixindent(''' - CREATE OR REPLACE PYTHON SET SCRIPT get_connection_bugs.python_conn ("str" VARCHAR(100)) - EMITS (con VARCHAR(500)) - AS - def run(ctx): - conn = exa.get_connection(ctx.str) - ctx.emit(str(conn)) - / - ''')) - self.query('''CREATE OR REPLACE CONNECTION test_get_connection_bug_connection TO '' USER 'ialjksdhfalskdjhflaskdjfhalskdjhflaksjdhflaksdjfhalksjdfhlaksjdhflaksjdhfalskjdfhalskdjhflaksjdhflaksjdfhlaksjsadajksdhfaksjdfhalksdjfhalksdjfhalksjdfhqwiueryqw;er;lkjqwe;rdhflaksjdfhlaksdjfhaabcdefghijklmnopqrstuvwxyz' IDENTIFIED BY 'abcdeoqsdfgsdjfglksjdfhglskjdfhglskdjfglskjdfghuietyewlrkjthertrewerlkjhqwelrkjhqwerlkjnwqerlkjhqwerkjlhqwerlkjhqwerlkhqwerkljhqwerlkjhqwerfghijklmnopqrstuvwxyz';''') - self.query('''CREATE OR REPLACE table ten as (values 0,1,2,3,4,5,6,7,8,9 as p(x));''') - - - def test_get_connection(self): - for x in range(10): - row = self.query('''select count(*) from (select get_connection_bugs.python_conn('test_get_connection_bug_connection') from (select a.x from ten a, ten, ten, ten, ten) v group by mod(v.rownum,4019))''')[0] - self.assertEqual(4019,row[0]) - - - -class SUP7256(udf.TestCase): - def setUp(self): - self.query('create schema sup7256', ignore_errors=True) - self.query(udf.fixindent(''' - CREATE OR REPLACE python scalar SCRIPT pandas_babies(x int) - returns int as - import pandas as pd - def run(ctx): - # This is just some stuff from the pandas tutorial - # The inital set of baby names and bith rates - names = ['Bob','Jessica','Mary','John','Mel'] - births = [968, 155, 77, 578, 973] - BabyDataSet = list(zip(names,births)) - df = pd.DataFrame(data = BabyDataSet, columns=['Names', 'Births']) - return len(df) - / - ''')) - def test_basic_pandas(self): - row = self.query("select pandas_babies(12)")[0] - self.assertEqual(5,row[0]) - - -class DWA19106(udf.TestCase): - def setUp(self): - self.query('CREATE SCHEMA DWA19106', ignore_errors=True) - self.query(udf.fixindent(''' - CREATE OR REPLACE python SET SCRIPT blow_up(x varchar(15000)) - EMITS (x varchar(15000)) AS - def run(ctx): - ctx.emit(str(len(ctx.x))) - / - ''')) - - def test_explode(self): - row = self.query('select blow_up(c) from (select "$RANDOM"(varchar(15000),0,0,15000,15000) as c), (select * from (values 202,202,203,203,205,206,208,207,206,204,205,206,206,207,208,208,203,203,203,203,204,204,204,204,209,209,208,207,207,206,205,205,200,203,205,206,206,205,206,207,203,204,205,205,206,206,207,207,206,205,204,204,203,203,204,204,204,203,203,202,201,200,199,199,201,201,201,201,201,201,201,201,200,199,198,198,198,74,74,75,75,74,73,71,70,71,71,72,72,72,73,73,73,75,76,77,76,74,72,73,74,76,78,79,78,76,75,76,77,82,81,81,81,81,81,81,81,77,78,78,77,77,78,80,81,77,78,79,81,83,84,84,84,84,84,83,82,80,79,78,76,75,75,76,79,80,79,77,71,67,162,159,159,164,168,173,176,181,182,185,189,192,195,195,197,208,209,212,211,212,211,210,209,207,208,209,209,208,207,205,203,206,206,206,207,209,211,213,213,207,205,205,206,206,207,207,207,204,204,204,204,205,205,205,205,206,205,205,204,202,201,201,200,199,201,203,204,203,203,204,206,203,203,204,204,205,205,206,207,206,205,204,204,203,203,204,204,200,200,200,201,201,201,201,201,201,201,201,201,201,201,201,201,198,198,197,197,197,69,70,72,74,75,74,73,73,72,72,72,72,73,73,73,74,74,75,77,77,75,74,74,75) as p(x))')[0] - self.assertEqual('15000',row[0]) - - - - -class SPOT_XYZ(udf.TestCase): - def setUp(self): - self.query('CREATE SCHEMA SPOT_XYZ', ignore_errors=True) - self.query(udf.fixindent(''' - create or replace python scalar script large_exception(n int) - returns int as - - def run(ctx): - x = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n' - raise Exception(x*ctx.n) - return ctx.n - / - ''')) - - def test_large_exception_msg(self): - with self.assertRaisesRegex(Exception, 'VM error:'): - self.query('SELECT SPOT_XYZ.large_exception(300000) FROM dual') - - -if __name__ == '__main__': - udf.main() diff --git a/test_container/tests/test/python/env_directive.py b/test_container/tests/test/python/env_directive.py deleted file mode 100644 index b4785d93b..000000000 --- a/test_container/tests/test/python/env_directive.py +++ /dev/null @@ -1,92 +0,0 @@ -#!/usr/bin/env python3 -# encoding: utf8 - - -from exasol_python_test_framework import udf - - -class EnvDirective(udf.TestCase): - ### Basic Functionality Test of %env directive in Python UDF Scripts - - def setUp(self): - self.query('DROP SCHEMA EnvDirectiveSchema CASCADE', ignore_errors=True) - self.query('CREATE SCHEMA EnvDirectiveSchema') - - # Set and Retrieve ENVIRONMENT_VARIABLE_VALUE. - def test_env_set_and_use_env_var(self): - self.query(udf.fixindent(''' - CREATE OR REPLACE PYTHON SCALAR SCRIPT env_var_test() returns varchar(1000) AS - %env ENV_VAR=ENVIRONMENT_VARIABLE_VALUE; - import os - def run(ctx): - return os.environ["ENV_VAR"] - / - ''')) - rows = self.query('''select EnvDirectiveSchema.env_var_test()''') - self.assertRowsEqual([('ENVIRONMENT_VARIABLE_VALUE',)],rows) - - # %env directive ends without semicolon. Parsing Error should occur. - def test_env_set_env_var_without_semicolon(self): - with self.assertRaisesRegex(Exception, r'Error while parsing %env option line'): - self.query(udf.fixindent(''' - CREATE OR REPLACE PYTHON SCALAR SCRIPT env_var_test() returns varchar(1000) AS - %env ENV_VAR="ENVIRONMENT_VARIABLE_VALUE" - import os - def run(ctx): - return os.environ["ENV_VAR"] - / - ''')) - - # %env directive is commented out in Python style. KeyError expected. - def test_env_set_env_var_python_comment(self): - self.query(udf.fixindent(''' - CREATE OR REPLACE PYTHON SCALAR SCRIPT env_var_test() returns varchar(1000) AS - # %env ENV_VAR=ENVIRONMENT_VARIABLE_VALUE; - import os - def run(ctx): - return os.environ["ENV_VAR"] - / - ''')) - with self.assertRaisesRegex(Exception, 'KeyError'): - rows = self.query('''select EnvDirectiveSchema.env_var_test()''') - - # %env directive is commented out NOT in Python style. Python SyntaxError expected. - def test_env_set_env_var_not_python_comment(self): - self.query(udf.fixindent(''' - CREATE OR REPLACE PYTHON SCALAR SCRIPT env_var_test() returns varchar(1000) AS - // %env ENV_VAR=ENVIRONMENT_VARIABLE_VALUE; - import os - def run(ctx): - return os.environ["ENV_VAR"] - / - ''')) - with self.assertRaisesRegex(Exception, 'SyntaxError'): - rows = self.query('''select EnvDirectiveSchema.env_var_test()''') - - # %env directive is appended after a source code line. Python SyntaxError expected. - def test_env_set_env_var_after_code(self): - self.query(udf.fixindent(''' - CREATE OR REPLACE PYTHON SCALAR SCRIPT env_var_test() returns varchar(1000) AS - import os %env ENV_VAR=ENVIRONMENT_VARIABLE_VALUE; - def run(ctx): - return os.environ["ENV_VAR"] - / - ''')) - with self.assertRaisesRegex(Exception, 'SyntaxError'): - rows = self.query('''select EnvDirectiveSchema.env_var_test()''') - - # %env directive is Python comment and appended after a source code line. KeyError expected. - def test_env_set_env_var_python_comment_after_code(self): - self.query(udf.fixindent(''' - CREATE OR REPLACE PYTHON SCALAR SCRIPT env_var_test() returns varchar(1000) AS - import os # %env ENV_VAR=ENVIRONMENT_VARIABLE_VALUE; - def run(ctx): - return os.environ["ENV_VAR"] - / - ''')) - with self.assertRaisesRegex(Exception, 'KeyError'): - rows = self.query('''select EnvDirectiveSchema.env_var_test()''') - - -if __name__ == '__main__': - udf.main() diff --git a/test_container/tests/test/python/general.py b/test_container/tests/test/python/general.py deleted file mode 100755 index e410b352e..000000000 --- a/test_container/tests/test/python/general.py +++ /dev/null @@ -1,392 +0,0 @@ -#!/usr/bin/env python3 - -from exasol_python_test_framework import udf -from exasol_python_test_framework.udf import useData - - -class PythonInterpreter(udf.TestCase): - def setUp(self): - self.query('CREATE SCHEMA FN2', ignore_errors=True) - self.query('OPEN SCHEMA FN2', ignore_errors=True) - - def test_body_is_not_executed_at_creation_time(self): - self.query(udf.fixindent(''' - CREATE OR REPLACE python SCALAR SCRIPT - sleep() - RETURNS int AS - - raise ValueError() - - def run(ctx): - ctx.emit(42) - / - ''')) - - def test_syntax_errors_not_caught_at_creation_time(self): - sql = udf.fixindent(''' - CREATE OR REPLACE python SCALAR SCRIPT - syntax_error() - RETURNS int AS - - def run(ctx) - ctx.emit(42) - / - ''') - self.query(sql) - - def test_methods_have_access_to_global_context(self): - self.query(udf.fixindent(''' - CREATE OR REPLACE python SCALAR SCRIPT - global_fn() - RETURNS int AS - - foo = 2 - - def bar(): - global foo - foo = 5 - - def run(ctx): - bar() - return foo - ''')) - row = self.query('SELECT global_fn() FROM DUAL')[0] - self.assertEqual(5, row[0]) - - def test_exception_in_cleanup_is_propagated(self): - self.query(udf.fixindent(''' - CREATE OR REPLACE python SCALAR SCRIPT - foo() - RETURNS INT AS - - def run(ctx): - return 42 - - def cleanup(): - raise ValueError('4711') - ''')) - with self.assertRaisesRegex(Exception, '4711'): - self.query('SELECT foo() FROM dual') - - def test_exception_in_run_and_cleanup_is_propagated(self): - self.query(udf.fixindent(''' - CREATE OR REPLACE python SCALAR SCRIPT - foo() - RETURNS INT AS - - def run(ctx): - raise ValueError('XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.') - - def cleanup(): - raise ValueError('YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY') - ''')) - with self.assertRaisesRegex(Exception, 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.*YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY'): - self.query('SELECT foo() FROM dual') - - def test_cleanup_has_global_context(self): - self.query(udf.fixindent(''' - CREATE OR REPLACE python SCALAR SCRIPT - foo() - RETURNS INT AS - - flag = 21 - - def run(ctx): - global flag - flag = 4711 - return 42 - - def cleanup(): - raise ValueError(flag) - ''')) - with self.assertRaisesRegex(Exception, '4711'): - rows = self.query('SELECT foo() FROM dual') - self.assertRowsEqual([(42,)], rows) - - -class PythonImport(udf.TestCase): - def setUp(self): - self.query('DROP SCHEMA FN2 CASCADE', ignore_errors=True) - self.query('CREATE SCHEMA FN2') - - modules = ''' - cStringIO - calendar - cmath - collections - contextlib - copy - csv - datetime - decimal - exceptions - functools - hashlib - hmac - itertools - locale - math - os - random - re - shlex - string - sys - textwrap - time - unicodedata - uuid - weakref - '''.split() - - @useData((x,) for x in modules) - def test_stdlib_modules_are_importable(self, module): - sql = udf.fixindent(''' - CREATE OR REPLACE python SCALAR SCRIPT - i() - RETURNS VARCHAR(1024) AS - - import %(module)s - - def run(ctx): - try: - return %(module)s.__file__ - except AttributeError: - return "(built-in)" - ''') - self.query(sql % {'module': module}) - self.query('SELECT i() FROM DUAL') - - modules = ''' - cjson - lxml - numpy - pytz - scipy - '''.split() - - @useData((x,) for x in modules) - def test_3rdparty_modules_are_importable(self, module): - sql = udf.fixindent(''' - CREATE OR REPLACE python SCALAR SCRIPT - i() - RETURNS VARCHAR(1024) AS - import %(module)s - def run(ctx): - try: - return %(module)s.__file__ - except AttributeError: - return "(built-in)" - ''') - self.query(sql % {'module': module}) - self.query('SELECT i() FROM DUAL') - - # modules = ''' - # '''.split() - # @useData((x,) for x in modules) - # @expectedFailure - # def test_3rdparty_modules_are_importable_negative_list(self, module): - # '''DWA-13850''' - # sql = udf.fixindent(''' - # CREATE OR REPLACE python SCALAR SCRIPT - # i() - # RETURNS VARCHAR(1024) AS - # import %(module)s - # def run(ctx): - # try: - # return %(module)s.__file__ - # except AttributeError: - # return "(built-in)" - # ''') - # self.query(sql % {'module': module}) - # self.query('SELECT i() FROM DUAL') - - def test_ImportError_is_catchable(self): - self.query(udf.fixindent(''' - CREATE OR REPLACE python SCALAR SCRIPT - catch_import_error() - RETURNS int AS - - try: - import unknown_module - except ImportError: - pass - - def run(ctx): - return 42 - ''')) - rows = self.query('SELECT catch_import_error() FROM dual') - self.assertRowsEqual([(42,)], rows) - - def test_import_error_message_is_case_sensitive(self): - sql = udf.fixindent(''' - CREATE OR REPLACE python SCALAR SCRIPT - import_error() - RETURNS int AS - - import Unknown_Module - def run(ctx): pass - ''') - with self.assertRaisesRegex(Exception, 'Unknown_Module'): - self.query(sql) - self.query('SELECT import_error() FROM dual') - - def test_import_is_case_sensitive(self): - scripts = [ - ('my_module', 4711), - ('My_Module', 42), - ('MY_MODULE', 1234), - ] - sql = udf.fixindent(''' - CREATE OR REPLACE python SCALAR SCRIPT - "%s"() - RETURNS int AS - - ID = %d - - def run(ctx): pass - ''') - for pair in scripts: - self.query(sql % pair) - - self.query(udf.fixindent(''' - CREATE OR REPLACE python SCALAR SCRIPT - import_case_sensitive() - RETURNS int AS - - My_Module = exa.import_script('"My_Module"') - - def run(ctx): - return My_Module.ID - ''')) - rows = self.query('SELECT import_case_sensitive() FROM DUAL') - self.assertRowsEqual([(42,)], rows) - - -class PythonSyntax(udf.TestCase): - def setUp(self): - self.query('DROP SCHEMA FN2 CASCADE', ignore_errors=True) - self.query('CREATE SCHEMA FN2') - - def test_sql_comments_are_ignored(self): - self.query(udf.fixindent(''' - CREATE python SCALAR SCRIPT - sql_comments() - RETURNS INT AS - - def run(ctx): - return ( - --3 - +4) - ''')) - rows = self.query('SELECT sql_comments() FROM dual') - self.assertEqual(7, rows[0][0]) - - def test_python_comments_are_ignored_in_functions(self): - self.query(udf.fixindent(''' - CREATE python SCALAR SCRIPT - python_comments() - RETURNS INT AS - - def run(ctx): - return ( 19 - #--3 - #+4 - ) - ''')) - rows = self.query('SELECT python_comments() FROM dual') - self.assertEqual(19, rows[0][0]) - - def test_python_comments_are_ignored_in_body(self): - self.query(udf.fixindent(''' - CREATE python SCALAR SCRIPT - python_comments() - RETURNS INT AS - - #import foo - - def run(ctx): - return 43 - ''')) - rows = self.query('SELECT python_comments() FROM dual') - self.assertEqual(43, rows[0][0]) - - -class PythonErrors(udf.TestCase): - def setUp(self): - self.query('DROP SCHEMA FN2 CASCADE', ignore_errors=True) - self.query('CREATE SCHEMA FN2') - - def create_and_execute(self, body): - self.query(udf.fixindent(''' - CREATE OR REPLACE python SCALAR SCRIPT - foo() - RETURNS INT AS - - def run(ctx): - %s - return 42 - ''' % body)) - self.query('SELECT foo() FROM dual') - - def test_ZeroDivisionError(self): - with self.assertRaisesRegex(Exception, 'ZeroDivisionError'): - self.create_and_execute('1/0') - - def test_AttributeError(self): - with self.assertRaisesRegex(Exception, 'AttributeError'): - self.create_and_execute('int(4).append(3)') - - def test_TypeError(self): - with self.assertRaisesRegex(Exception, 'TypeError'): - self.create_and_execute('sorted(5)') - - def test_ImportError(self): - with self.assertRaisesRegex(Exception, 'ImportError'): - self.create_and_execute('import unknown_module') - - def test_NameError(self): - with self.assertRaisesRegex(Exception, 'NameError'): - self.create_and_execute('unknown_thing') - - def test_IndexError(self): - with self.assertRaisesRegex(Exception, 'IndexError'): - self.create_and_execute('range(10)[14]') - - def test_KeyError(self): - with self.assertRaisesRegex(Exception, 'KeyError'): - self.create_and_execute('{}[5]') - - def test_SyntaxError(self): - with self.assertRaisesRegex(Exception, 'SyntaxError'): - self.create_and_execute('45 (;') - - -class Robustness(udf.TestCase): - def setUp(self): - self.query('DROP SCHEMA FN2 CASCADE', ignore_errors=True) - self.query('CREATE SCHEMA FN2') - - def test_repeated_failed_import(self): - """ - internal server error after failed imports (DWA-13377) - UDF: Python: no exception when importing unknown module + wrong result (DWA-13666) - """ - sql = udf.fixindent(''' - CREATE OR REPLACE python SET SCRIPT - foo(x double) - RETURNS int AS - - import completely_unknown_module - - def run(ctx): - return 42 - ''') - for _ in range(100): - with self.assertRaisesRegex(Exception, 'ImportError: No module named completely_unknown_module'): - self.query(sql) - self.query('SELECT foo(NULL) from DUAL') - - -if __name__ == '__main__': - udf.main() diff --git a/test_container/tests/test/python/getpass.py b/test_container/tests/test/python/getpass.py deleted file mode 100755 index b970c9917..000000000 --- a/test_container/tests/test/python/getpass.py +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/env python3 - -from exasol_python_test_framework import udf - - -class GetpassTest(udf.TestCase): - def setUp(self): - self.query('CREATE SCHEMA getpass', ignore_errors=True) - self.query('OPEN SCHEMA getpass', ignore_errors=True) - - def tearDown(self): - self.query('DROP SCHEMA getpass CASCADE', ignore_errors=True) - - def test_getuser(self): - self.query(udf.fixindent(''' - CREATE OR REPLACE python SCALAR SCRIPT - get_user_from_passwd() - RETURNS VARCHAR(10000) AS - - def run(ctx): - import getpass - return getpass.getuser() - / - ''')) - rows = self.query("select get_user_from_passwd()") - expected = "exadefusr" - self.assertEqual(expected, rows[0][0]) - - -if __name__ == '__main__': - udf.main() diff --git a/test_container/tests/test/python/script_import.py b/test_container/tests/test/python/script_import.py deleted file mode 100755 index c2dd454a4..000000000 --- a/test_container/tests/test/python/script_import.py +++ /dev/null @@ -1,287 +0,0 @@ -#!/usr/bin/env python3 - -from exasol_python_test_framework import udf -from exasol_python_test_framework.udf import useData, get_supported_languages -from exasol_python_test_framework.exatest.testcase import skipIf - - -class ScriptImport(udf.TestCase): - - def setUp(self): - self.query('DROP SCHEMA FN2 CASCADE', ignore_errors=True) - self.query('DROP SCHEMA FN3 CASCADE', ignore_errors=True) - self.query('CREATE SCHEMA FN2') - self.query('CREATE SCHEMA FN3') - self.query('OPEN SCHEMA FN2') - - self.query(udf.fixindent(''' - CREATE python SCALAR SCRIPT - bottom() - RETURNS INT AS - - def f(): - return 42 - / - ''')) - - def test_import_works(self): - self.query(udf.fixindent(''' - CREATE python SCALAR SCRIPT - foo() - RETURNS INT AS - - b = exa.import_script('bottom') - - def run(ctx): - return b.f() - / - ''')) - rows = self.query('SELECT foo() FROM DUAL') - self.assertRowsEqual([(42,)], rows) - - def test_import_is_semi_case_sensitive(self): - def check(script_name, n): - self.query(udf.fixindent(''' - CREATE OR REPLACE python SCALAR SCRIPT - foo() - RETURNS INT AS - - def run(ctx): - m = exa.import_script(%s) - return m.f() - /''' % script_name)) - self.assertRowsEqual([(n,)], self.query('SELECT foo() FROM DUAL')) - - for name in 'bar', 'Bar', 'BAR': - self.query(udf.fixindent(''' - CREATE python SCALAR SCRIPT - "%s"() - RETURNS INT AS - - def f(): - return %d - /''' % (name, sum(x.isupper() for x in name)) - )) - - check("'bar'", 3) - check("'Bar'", 3) - check("'Bar'", 3) - check("'\"Bar\"'", 1) - check("'\"bar\"'", 0) - - def test_import_error_is_catchable(self): - self.query(udf.fixindent(''' - CREATE python SCALAR SCRIPT - foo() - RETURNS INT AS - - def run(ctx): - try: - exa.import_script('unknown_module') - except ImportError: - return 4711 - / - ''')) - rows = self.query('SELECT foo() FROM DUAL') - self.assertRowsEqual([(4711,)], rows) - - def test_import_fails_for_lua_script(self): - self.query(udf.fixindent(''' - CREATE python SCALAR SCRIPT - foo() - RETURNS INT AS - - bar = exa.import_script('bar') - - def run(ctx): - return bar.f() - / - ''')) - self.query(udf.fixindent(''' - CREATE lua SCALAR SCRIPT - bar() - RETURNS DOUBLE AS - - function f() - return 32 - end - / - ''')) - with self.assertRaisesRegex(Exception, 'ImportError:.* wrong language LUA'): - self.query('SELECT foo() FROM DUAL') - - @skipIf('R' not in get_supported_languages(), "UDF does not support R") - def test_import_fails_for_r_script(self): - self.query(udf.fixindent(''' - CREATE python SCALAR SCRIPT - foo() - RETURNS INT AS - - bar = exa.import_script('bar') - - def run(ctx): - return bar.f() - / - ''')) - self.query(udf.fixindent(''' - CREATE r SCALAR SCRIPT - bar() - RETURNS DOUBLE AS - - f <- function() { - 32 - } - / - ''')) - with self.assertRaisesRegex(Exception, 'ImportError:.* wrong language R'): - self.query('SELECT foo() FROM DUAL') - - def test_imported_scripts_are_cached(self): - self.query(udf.fixindent(''' - CREATE python SCALAR SCRIPT - foo() - RETURNS BOOLEAN AS - - def run(ctx): - a = exa.import_script('bottom') - b = exa.import_script('bottom') - - return a is b - / - ''')) - rows = self.query('SELECT foo() FROM DUAL') - self.assertRowsEqual([(True,)], rows) - - @useData([ - ('fn2', 'bottom'), - ('fn2', 'fn2.bottom'), - ('fn2', 'exa_db.fn2.bottom'), - ('fn3', 'fn2.bottom'), - ('fn3', 'exa_db.fn2.bottom') - ]) - def test_import_works_with_qualified_names(self, schema, name): - self.query('OPEN SCHEMA %s' % schema) - self.query(udf.fixindent(''' - CREATE python SCALAR SCRIPT - foo() - RETURNS INT AS - - b = exa.import_script('%s') - - def run(ctx): - return b.f() - / - ''' % name)) - rows = self.query('SELECT foo() FROM DUAL') - self.assertRowsEqual([(42,)], rows) - - def test_chained_import_works_via_function_call(self): - self.query(udf.fixindent(''' - CREATE python SCALAR SCRIPT - foo() - RETURNS INT AS - - bar = exa.import_script('bar') - - def run(ctx): - return bar.b() - / - ''')) - self.query(udf.fixindent(''' - CREATE python SCALAR SCRIPT - bar() - RETURNS INT AS - - bottom = exa.import_script('bottom') - - def b(): - return bottom.f() - / - ''')) - rows = self.query('SELECT foo() FROM DUAL') - self.assertRowsEqual([(42,)], rows) - - def test_chained_import_works_via_chained_call(self): - self.query(udf.fixindent(''' - CREATE python SCALAR SCRIPT - foo() - RETURNS INT AS - - bar = exa.import_script('bar') - - def run(ctx): - return bar.bottom.f() - / - ''')) - self.query(udf.fixindent(''' - CREATE python SCALAR SCRIPT - bar() - RETURNS INT AS - - bottom = exa.import_script('bottom') - / - ''')) - rows = self.query('SELECT foo() FROM DUAL') - self.assertRowsEqual([(42,)], rows) - - def test_mutual_import_works(self): - self.query(udf.fixindent(''' - CREATE python SCALAR SCRIPT - ping() - RETURNS INT AS - - pong = exa.import_script('pong') - - def ping(n): - if n > 0: - return pong.pong(n-1) + 1 - else: - return 0 - - def run(ctx): - return ping(42) - / - ''')) - self.query(udf.fixindent(''' - CREATE python SCALAR SCRIPT - pong() - RETURNS INT AS - - ping = exa.import_script('ping') - - def pong(n): - if n > 0: - return ping.ping(n-1) + 1 - else: - return 0 - / - ''')) - rows = self.query('SELECT ping() FROM DUAL') - self.assertRowsEqual([(42,)], rows) - - def testImportWithView(self): - self.createUser("foo", "foo") - self.commit() - self.query(udf.fixindent(''' - CREATE python SCALAR SCRIPT - spot42542script() - RETURNS INT AS - - b = exa.import_script('bottom') - - def run(ctx): - return b.f() - / - ''')) - self.query("create or replace view FN2.spot42542_view as SELECT spot42542script() as col FROM DUAL") - self.query("grant select on FN2.spot42542_view to foo") - self.commit() - rows = self.query('''select * from FN2.spot42542_view''') - self.assertRowsEqual([(42,)], rows) - foo_conn = self.getConnection('foo', 'foo') - rows = foo_conn.query('''select * from FN2.spot42542_view''') - self.assertRowsEqual([(42,)], rows) - - -if __name__ == '__main__': - udf.main() diff --git a/test_container/tests/test/python/specific_types.py b/test_container/tests/test/python/specific_types.py deleted file mode 100755 index e5992850d..000000000 --- a/test_container/tests/test/python/specific_types.py +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/env python3 -# encoding: utf8 - - -from exasol_python_test_framework import udf - - -class PythonTypes(udf.TestCase): - def setUp(self): - self.query('DROP SCHEMA FN2 CASCADE', ignore_errors=True) - self.query('CREATE SCHEMA FN2') - - def test_not_convert_string_to_double(self): - self.query(udf.fixindent(''' - CREATE python SCALAR SCRIPT - wrong_type() RETURNS DOUBLE AS - def run(ctx): - return "one point five" - ''')) - with self.assertRaisesRegex(Exception, r'type float but data given have type'): - self.query('''SELECT wrong_type() FROM DUAL''') - - def test_raises_with_incompatible_type(self): - self.query(udf.fixindent(''' - CREATE python SCALAR SCRIPT - wrong_type() RETURNS DOUBLE AS - def run(ctx): - return "one point five" - ''')) - with self.assertRaisesRegex(Exception, r'type float but data given have type'): - self.query('''SELECT wrong_type() FROM DUAL''') - - -if __name__ == '__main__': - udf.main() diff --git a/test_container/tests/test/python/unicode.py b/test_container/tests/test/python/unicode.py deleted file mode 100755 index 14bf64951..000000000 --- a/test_container/tests/test/python/unicode.py +++ /dev/null @@ -1,50 +0,0 @@ -#!/usr/bin/env python3 -# encoding: utf8 - -import locale -import os -import string -import subprocess - -from exasol_python_test_framework import udf - -locale.setlocale(locale.LC_ALL, 'en_US.UTF-8') - - -class PythonUnicode(udf.TestCase): - def test_unicode_umlaute(self): - cmd = '''%(exaplus)s -c %(conn)s -u sys -P exasol - -no-config -autocommit ON -L -pipe''' % { - 'exaplus': os.environ.get('EXAPLUS', '/usr/opt/EXASuite-4/EXASolution-4.2.9/bin/Console/exaplus'), - 'conn': udf.opts.server - } - env = os.environ.copy() - env['PATH'] = '/usr/opt/jdk1.8.0_latest/bin:' + env['PATH'] - env['LC_ALL'] = 'en_US.UTF-8' - exaplus = subprocess.Popen(cmd.split(), env=env, stdin=subprocess.PIPE, stdout=subprocess.PIPE, - stderr=subprocess.STDOUT) - - u = 'äöüß' + chr(382) + chr(65279) + chr(63882) + chr(64432) - - sql = udf.fixindent(''' - DROP SCHEMA fn1 CASCADE; - CREATE SCHEMA fn1; - CREATE OR REPLACE python SCALAR SCRIPT - unicode_in_script_body() - RETURNS INTEGER AS - - import string - letters = string.ascii_letters + u'%s' - - - def run(ctx): - return len(letters) - / - SELECT 'x' || fn1.unicode_in_script_body() || 'x' FROM DUAL; - ''' % u) - out, _err = exaplus.communicate(sql.encode('utf8')) - expected = 'x%dx' % (len(string.ascii_letters) + len(u)) - self.assertIn(expected, out.decode('utf-8')) - -if __name__ == '__main__': - udf.main() diff --git a/test_container/tests/test/python/external_modules.py b/test_container/tests/test/python3/external_modules.py similarity index 100% rename from test_container/tests/test/python/external_modules.py rename to test_container/tests/test/python3/external_modules.py diff --git a/test_container/tests/test/python/installed_packages.py b/test_container/tests/test/python3/installed_packages.py similarity index 100% rename from test_container/tests/test/python/installed_packages.py rename to test_container/tests/test/python3/installed_packages.py diff --git a/test_container/tests/test/python/network.py b/test_container/tests/test/python3/network.py similarity index 100% rename from test_container/tests/test/python/network.py rename to test_container/tests/test/python3/network.py diff --git a/test_container/tests/test/standard-flavor/7.0/available-packages.py b/test_container/tests/test/standard-flavor/7.0/available-packages.py index 7e92d83bd..78e2a9393 100755 --- a/test_container/tests/test/standard-flavor/7.0/available-packages.py +++ b/test_container/tests/test/standard-flavor/7.0/available-packages.py @@ -7,57 +7,6 @@ AVAILABLE_PACKAGES_SCHEMA = "available_packages" -class AvailablePythonPackages(udf.TestCase): - def setUp(self): - self.query(f'create schema {AVAILABLE_PACKAGES_SCHEMA}', ignore_errors=True) - - data = [ - ("cffi",), - ("cryptography",), - ("docutils",), - ("enum",), - ("idna",), - ("ipaddress",), - ("jinja2",), - ("martian",), - ("google.protobuf",), - ("pyasn1",), - ("pyftpdlib",), - ("pyodbc",), - ("OpenSSL",), - ("ldap",), - ("ldb",), - ("roman",), - ("sklearn",), - ("cjson",), - ("lxml",), - ("numpy",), - ("setuptools",), - ("pandas",), - ("redis",), - ("scipy",), - ("boto3",), - ("boto",), - ("pycurl",), - ("requests",), - ("EXASOL",), - ("paramiko",), - ("pysftp",), - ("samba",), - ("simplejson",), - ("pycparser",), - ("pycryptopp",), - ("pygments",), - ("pykickstart",), - ("talloc",), - ("pyPdf",False,"PyPDF2"), - ] - - @useData(data) - def test_package_import(self, pkg, fail=False, alternative=None): - run_python_package_import_test(self, AVAILABLE_PACKAGES_SCHEMA, "PYTHON", pkg, fail, alternative) - - class AvailablePython3Packages(udf.TestCase): def setUp(self): self.query(f'create schema {AVAILABLE_PACKAGES_SCHEMA}', ignore_errors=True) diff --git a/test_container/tests/test/standard-flavor/all/connect_to_exasol_with_websocket_api.py b/test_container/tests/test/standard-flavor/all/connect_to_exasol_with_websocket_api.py index 15ea4ad91..ac6156e54 100644 --- a/test_container/tests/test/standard-flavor/all/connect_to_exasol_with_websocket_api.py +++ b/test_container/tests/test/standard-flavor/all/connect_to_exasol_with_websocket_api.py @@ -13,22 +13,6 @@ class WebsocketAPIConnectionTest(udf.TestCase): def setUp(self): self.query('create schema websocket_api', ignore_errors=True) - def run_unsecure_websocket_api_connection(self, python_version): - self.query(udf.fixindent(''' - CREATE OR REPLACE %s SCALAR SCRIPT websocket_api.connect_unsecure() returns int AS - import EXASOL - import os - def run(ctx): - os.environ["USER"]="exasolution" - with EXASOL.connect('ws://%s', '%s', '%s') as connection: - with connection.cursor() as cursor: - cursor.execute('SELECT 1 FROM dual') - for row in cursor: - pass - / - ''' % (python_version, self.connection, self.user, self.pwd))) - self.query('''SELECT websocket_api.connect_unsecure() FROM dual''') - def run_secure_websocket_api_connection(self, python_version): self.query(udf.fixindent(''' CREATE OR REPLACE %s SCALAR SCRIPT websocket_api.connect_secure() returns int AS @@ -46,15 +30,6 @@ def run(ctx): ''' % (python_version, self.connection, self.user, self.pwd))) self.query('''SELECT websocket_api.connect_secure() FROM dual''') - def test_unsecure_websocket_api_connection_python2(self): - self.run_unsecure_websocket_api_connection("PYTHON") - - def test_unsecure_websocket_api_connection_python3(self): - self.run_unsecure_websocket_api_connection("PYTHON3") - - def test_secure_websocket_api_connection_python2(self): - self.run_secure_websocket_api_connection("PYTHON") - def test_secure_websocket_api_connection_python3(self): self.run_secure_websocket_api_connection("PYTHON3") diff --git a/test_container/tests/test/standard-flavor/all/paramiko_connection_test.py b/test_container/tests/test/standard-flavor/all/paramiko_connection_test.py index 5db098f56..61c106c6e 100644 --- a/test_container/tests/test/standard-flavor/all/paramiko_connection_test.py +++ b/test_container/tests/test/standard-flavor/all/paramiko_connection_test.py @@ -12,10 +12,6 @@ class ParamikoConnectionTest(udf.TestCase): def test_connect_via_paramiko_to_ssh_python3(self): self.connect_via_paramiko_to_ssh("PYTHON3") - @udf.skipIfNot(docker_db_environment.is_available, reason="This test requires a docker-db environment") - def test_connect_via_paramiko_to_ssh_python2(self): - self.connect_via_paramiko_to_ssh("PYTHON") - def connect_via_paramiko_to_ssh(self, python_version): schema = "test_connect_via_paramiko_to_ssh_"+python_version env = docker_db_environment.DockerDBEnvironment(schema) diff --git a/test_container/tests/test/standard-flavor/all/pysftp_connection_test.py b/test_container/tests/test/standard-flavor/all/pysftp_connection_test.py index 9a05212d7..76bd75d33 100644 --- a/test_container/tests/test/standard-flavor/all/pysftp_connection_test.py +++ b/test_container/tests/test/standard-flavor/all/pysftp_connection_test.py @@ -12,10 +12,6 @@ class PysftpConnectionTest(udf.TestCase): def test_pysftp_connect_python3(self): self.pysftp_connect("PYTHON3") - @udf.skipIfNot(docker_db_environment.is_available, reason="This test requires a docker-db environment") - def test_pysftp_connect_python2(self): - self.pysftp_connect("PYTHON") - def pysftp_connect(self, python_version): schema = "test_pysftp_connect" + python_version env = docker_db_environment.DockerDBEnvironment(schema) diff --git a/test_container/tests/test/standard-flavor/all/row_level_security_adapter_script.txt b/test_container/tests/test/standard-flavor/all/row_level_security_adapter_script.txt index d55f03fd7..a71d22ced 100644 --- a/test_container/tests/test/standard-flavor/all/row_level_security_adapter_script.txt +++ b/test_container/tests/test/standard-flavor/all/row_level_security_adapter_script.txt @@ -2,6 +2,7 @@ CREATE OR REPLACE PYTHON3 ADAPTER SCRIPT ROW_LEVEL_SECURITY_ADAPTER.rls_adapter import json import string import os +import ssl os.environ["USER"] = "exasolution" @@ -23,10 +24,9 @@ def get_meta_for_schema(meta_connection, table_schema): c = exa.get_connection(meta_connection) tabs = [] - with EXASOL.connect(c.address, c.user, c.password) as connection: + with EXASOL.connect(c.address, c.user, c.password, sslopt={"cert_reqs": ssl.CERT_NONE}) as connection: with connection.cursor() as cursor: query = "select table_name from EXA_ALL_TABLES where table_schema='%s'" % table_schema - #print("get_meta_for_schema tables query", query) result = cursor.execute(query) #print("get_meta_for_schema table result", result) if result > 0: @@ -59,10 +59,9 @@ def user_wants_only_active(username, meta_connection, adapter_schema): import EXASOL c = exa.get_connection(meta_connection) - with EXASOL.connect(c.address, c.user, c.password) as connection: + with EXASOL.connect(c.address, c.user, c.password, sslopt={"cert_reqs": ssl.CERT_NONE}) as connection: with connection.cursor() as cursor: query = """select wants_only_active from "%s".user_pref where username='%s'""" % (adapter_schema, username) - #print("user_wants_only_active", query) cursor.execute(query) if cursor.rowcount == 0: raise ValueError( """Config error: no preference for user %s defined in %s.user_pref'""" % (username, adapter_schema)) diff --git a/test_container/tests/test/standard-flavor/all/row_level_security_with_websocket_api.py b/test_container/tests/test/standard-flavor/all/row_level_security_with_websocket_api.py index 8f4a249f2..54ee887e0 100644 --- a/test_container/tests/test/standard-flavor/all/row_level_security_with_websocket_api.py +++ b/test_container/tests/test/standard-flavor/all/row_level_security_with_websocket_api.py @@ -48,7 +48,7 @@ def setUp(self): ('k', 'l', 'U1', false); ''')) self.query(udf.fixindent(''' - create or replace connection sys_connection to 'ws://%s' user '%s' identified by '%s' + create or replace connection sys_connection to 'wss://%s' user '%s' identified by '%s' ''' % (self.connection, "sys", "exasol"))) self.query("commit") From eadbee9a5d976243229f492d92fe72547b7e72c1 Mon Sep 17 00:00:00 2001 From: Torsten Kilias Date: Mon, 24 Jul 2023 14:30:53 +0200 Subject: [PATCH 2/6] #822: Updated apt-packages (#369) --- .../flavor_base/build_deps/packages/apt_get_packages | 2 +- .../flavor_base/flavor_base_deps/packages/apt_get_packages | 2 +- .../flavor_base/language_deps/packages/apt_get_packages | 2 +- .../flavor_base/conda_deps/packages/apt_get_packages | 2 +- .../flavor_base/nvidia_driver_deps/packages/apt_get_packages | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/flavors/python-3.8-minimal-EXASOL-6.2.0/flavor_base/build_deps/packages/apt_get_packages b/flavors/python-3.8-minimal-EXASOL-6.2.0/flavor_base/build_deps/packages/apt_get_packages index a227f36d1..d5476824f 100644 --- a/flavors/python-3.8-minimal-EXASOL-6.2.0/flavor_base/build_deps/packages/apt_get_packages +++ b/flavors/python-3.8-minimal-EXASOL-6.2.0/flavor_base/build_deps/packages/apt_get_packages @@ -1,7 +1,7 @@ coreutils|8.28-1ubuntu1 locales|2.27-3ubuntu1.6 tar|1.29b-2ubuntu0.4 -curl|7.68.0-1ubuntu2.18 +curl|7.68.0-1ubuntu2.19 openjdk-11-jdk|11.0.19+7~us1-0ubuntu1~20.04.1 build-essential|12.4ubuntu1 libpcre3-dev|2:8.39-9ubuntu0.1 diff --git a/flavors/python-3.8-minimal-EXASOL-6.2.0/flavor_base/flavor_base_deps/packages/apt_get_packages b/flavors/python-3.8-minimal-EXASOL-6.2.0/flavor_base/flavor_base_deps/packages/apt_get_packages index 7f88f07e8..e43f73198 100644 --- a/flavors/python-3.8-minimal-EXASOL-6.2.0/flavor_base/flavor_base_deps/packages/apt_get_packages +++ b/flavors/python-3.8-minimal-EXASOL-6.2.0/flavor_base/flavor_base_deps/packages/apt_get_packages @@ -1,4 +1,4 @@ unzip|6.0-25ubuntu1.1 git|1:2.25.1-1ubuntu3.11 -libcurl4-openssl-dev|7.68.0-1ubuntu2.18 +libcurl4-openssl-dev|7.68.0-1ubuntu2.19 build-essential|12.8ubuntu1.1 diff --git a/flavors/python-3.8-minimal-EXASOL-6.2.0/flavor_base/language_deps/packages/apt_get_packages b/flavors/python-3.8-minimal-EXASOL-6.2.0/flavor_base/language_deps/packages/apt_get_packages index c902922ac..fb746b604 100644 --- a/flavors/python-3.8-minimal-EXASOL-6.2.0/flavor_base/language_deps/packages/apt_get_packages +++ b/flavors/python-3.8-minimal-EXASOL-6.2.0/flavor_base/language_deps/packages/apt_get_packages @@ -1,5 +1,5 @@ ca-certificates|20230311ubuntu0.20.04.1 python3.8-dev|3.8.10-0ubuntu1~20.04.8 python3-distutils|3.8.10-0ubuntu1~20.04 -curl|7.68.0-1ubuntu2.18 +curl|7.68.0-1ubuntu2.19 diff --git a/flavors/template-Exasol-all-python-3.8-conda/flavor_base/conda_deps/packages/apt_get_packages b/flavors/template-Exasol-all-python-3.8-conda/flavor_base/conda_deps/packages/apt_get_packages index 9f1bd8197..8f9fe71e4 100644 --- a/flavors/template-Exasol-all-python-3.8-conda/flavor_base/conda_deps/packages/apt_get_packages +++ b/flavors/template-Exasol-all-python-3.8-conda/flavor_base/conda_deps/packages/apt_get_packages @@ -1,4 +1,4 @@ coreutils|8.30-3ubuntu2 locales|2.31-0ubuntu9.9 -curl|7.68.0-1ubuntu2.18 +curl|7.68.0-1ubuntu2.19 ca-certificates|20230311ubuntu0.20.04.1 diff --git a/flavors/template-Exasol-all-python-3.8-cuda-conda/flavor_base/nvidia_driver_deps/packages/apt_get_packages b/flavors/template-Exasol-all-python-3.8-cuda-conda/flavor_base/nvidia_driver_deps/packages/apt_get_packages index 9f1bd8197..8f9fe71e4 100644 --- a/flavors/template-Exasol-all-python-3.8-cuda-conda/flavor_base/nvidia_driver_deps/packages/apt_get_packages +++ b/flavors/template-Exasol-all-python-3.8-cuda-conda/flavor_base/nvidia_driver_deps/packages/apt_get_packages @@ -1,4 +1,4 @@ coreutils|8.30-3ubuntu2 locales|2.31-0ubuntu9.9 -curl|7.68.0-1ubuntu2.18 +curl|7.68.0-1ubuntu2.19 ca-certificates|20230311ubuntu0.20.04.1 From 32a27a0a4a4f1f1811f2e2eba0e55ac256fc9763 Mon Sep 17 00:00:00 2001 From: Torsten Kilias Date: Sat, 29 Jul 2023 00:08:14 +0200 Subject: [PATCH 3/6] #805: Upgraded r-4-minimal flavor to R 4.3 and Ubuntu 22.04 (#363) * Fixed R network.py test for R 4.3 * After upgrading to R 4.3 putting a column from the UDFContext directly into the require function doesn't work. --- poetry.lock | 828 +++++++++++++------------ pyproject.toml | 2 +- test_container/tests/test/r/network.py | 3 +- 3 files changed, 428 insertions(+), 405 deletions(-) diff --git a/poetry.lock b/poetry.lock index 8ed1144b6..5926b8e5f 100644 --- a/poetry.lock +++ b/poetry.lock @@ -86,37 +86,34 @@ typecheck = ["mypy"] [[package]] name = "black" -version = "23.3.0" +version = "23.7.0" description = "The uncompromising code formatter." category = "main" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "black-23.3.0-cp310-cp310-macosx_10_16_arm64.whl", hash = "sha256:0945e13506be58bf7db93ee5853243eb368ace1c08a24c65ce108986eac65915"}, - {file = "black-23.3.0-cp310-cp310-macosx_10_16_universal2.whl", hash = "sha256:67de8d0c209eb5b330cce2469503de11bca4085880d62f1628bd9972cc3366b9"}, - {file = "black-23.3.0-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:7c3eb7cea23904399866c55826b31c1f55bbcd3890ce22ff70466b907b6775c2"}, - {file = "black-23.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:32daa9783106c28815d05b724238e30718f34155653d4d6e125dc7daec8e260c"}, - {file = "black-23.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:35d1381d7a22cc5b2be2f72c7dfdae4072a3336060635718cc7e1ede24221d6c"}, - {file = "black-23.3.0-cp311-cp311-macosx_10_16_arm64.whl", hash = "sha256:a8a968125d0a6a404842fa1bf0b349a568634f856aa08ffaff40ae0dfa52e7c6"}, - {file = "black-23.3.0-cp311-cp311-macosx_10_16_universal2.whl", hash = "sha256:c7ab5790333c448903c4b721b59c0d80b11fe5e9803d8703e84dcb8da56fec1b"}, - {file = "black-23.3.0-cp311-cp311-macosx_10_16_x86_64.whl", hash = "sha256:a6f6886c9869d4daae2d1715ce34a19bbc4b95006d20ed785ca00fa03cba312d"}, - {file = "black-23.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6f3c333ea1dd6771b2d3777482429864f8e258899f6ff05826c3a4fcc5ce3f70"}, - {file = "black-23.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:11c410f71b876f961d1de77b9699ad19f939094c3a677323f43d7a29855fe326"}, - {file = "black-23.3.0-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:1d06691f1eb8de91cd1b322f21e3bfc9efe0c7ca1f0e1eb1db44ea367dff656b"}, - {file = "black-23.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50cb33cac881766a5cd9913e10ff75b1e8eb71babf4c7104f2e9c52da1fb7de2"}, - {file = "black-23.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:e114420bf26b90d4b9daa597351337762b63039752bdf72bf361364c1aa05925"}, - {file = "black-23.3.0-cp38-cp38-macosx_10_16_arm64.whl", hash = "sha256:48f9d345675bb7fbc3dd85821b12487e1b9a75242028adad0333ce36ed2a6d27"}, - {file = "black-23.3.0-cp38-cp38-macosx_10_16_universal2.whl", hash = "sha256:714290490c18fb0126baa0fca0a54ee795f7502b44177e1ce7624ba1c00f2331"}, - {file = "black-23.3.0-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:064101748afa12ad2291c2b91c960be28b817c0c7eaa35bec09cc63aa56493c5"}, - {file = "black-23.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:562bd3a70495facf56814293149e51aa1be9931567474993c7942ff7d3533961"}, - {file = "black-23.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:e198cf27888ad6f4ff331ca1c48ffc038848ea9f031a3b40ba36aced7e22f2c8"}, - {file = "black-23.3.0-cp39-cp39-macosx_10_16_arm64.whl", hash = "sha256:3238f2aacf827d18d26db07524e44741233ae09a584273aa059066d644ca7b30"}, - {file = "black-23.3.0-cp39-cp39-macosx_10_16_universal2.whl", hash = "sha256:f0bd2f4a58d6666500542b26354978218a9babcdc972722f4bf90779524515f3"}, - {file = "black-23.3.0-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:92c543f6854c28a3c7f39f4d9b7694f9a6eb9d3c5e2ece488c327b6e7ea9b266"}, - {file = "black-23.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a150542a204124ed00683f0db1f5cf1c2aaaa9cc3495b7a3b5976fb136090ab"}, - {file = "black-23.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:6b39abdfb402002b8a7d030ccc85cf5afff64ee90fa4c5aebc531e3ad0175ddb"}, - {file = "black-23.3.0-py3-none-any.whl", hash = "sha256:ec751418022185b0c1bb7d7736e6933d40bbb14c14a0abcf9123d1b159f98dd4"}, - {file = "black-23.3.0.tar.gz", hash = "sha256:1c7b8d606e728a41ea1ccbd7264677e494e87cf630e399262ced92d4a8dac940"}, + {file = "black-23.7.0-cp310-cp310-macosx_10_16_arm64.whl", hash = "sha256:5c4bc552ab52f6c1c506ccae05681fab58c3f72d59ae6e6639e8885e94fe2587"}, + {file = "black-23.7.0-cp310-cp310-macosx_10_16_universal2.whl", hash = "sha256:552513d5cd5694590d7ef6f46e1767a4df9af168d449ff767b13b084c020e63f"}, + {file = "black-23.7.0-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:86cee259349b4448adb4ef9b204bb4467aae74a386bce85d56ba4f5dc0da27be"}, + {file = "black-23.7.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:501387a9edcb75d7ae8a4412bb8749900386eaef258f1aefab18adddea1936bc"}, + {file = "black-23.7.0-cp310-cp310-win_amd64.whl", hash = "sha256:fb074d8b213749fa1d077d630db0d5f8cc3b2ae63587ad4116e8a436e9bbe995"}, + {file = "black-23.7.0-cp311-cp311-macosx_10_16_arm64.whl", hash = "sha256:b5b0ee6d96b345a8b420100b7d71ebfdd19fab5e8301aff48ec270042cd40ac2"}, + {file = "black-23.7.0-cp311-cp311-macosx_10_16_universal2.whl", hash = "sha256:893695a76b140881531062d48476ebe4a48f5d1e9388177e175d76234ca247cd"}, + {file = "black-23.7.0-cp311-cp311-macosx_10_16_x86_64.whl", hash = "sha256:c333286dc3ddca6fdff74670b911cccedacb4ef0a60b34e491b8a67c833b343a"}, + {file = "black-23.7.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:831d8f54c3a8c8cf55f64d0422ee875eecac26f5f649fb6c1df65316b67c8926"}, + {file = "black-23.7.0-cp311-cp311-win_amd64.whl", hash = "sha256:7f3bf2dec7d541b4619b8ce526bda74a6b0bffc480a163fed32eb8b3c9aed8ad"}, + {file = "black-23.7.0-cp38-cp38-macosx_10_16_arm64.whl", hash = "sha256:f9062af71c59c004cd519e2fb8f5d25d39e46d3af011b41ab43b9c74e27e236f"}, + {file = "black-23.7.0-cp38-cp38-macosx_10_16_universal2.whl", hash = "sha256:01ede61aac8c154b55f35301fac3e730baf0c9cf8120f65a9cd61a81cfb4a0c3"}, + {file = "black-23.7.0-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:327a8c2550ddc573b51e2c352adb88143464bb9d92c10416feb86b0f5aee5ff6"}, + {file = "black-23.7.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d1c6022b86f83b632d06f2b02774134def5d4d4f1dac8bef16d90cda18ba28a"}, + {file = "black-23.7.0-cp38-cp38-win_amd64.whl", hash = "sha256:27eb7a0c71604d5de083757fbdb245b1a4fae60e9596514c6ec497eb63f95320"}, + {file = "black-23.7.0-cp39-cp39-macosx_10_16_arm64.whl", hash = "sha256:8417dbd2f57b5701492cd46edcecc4f9208dc75529bcf76c514864e48da867d9"}, + {file = "black-23.7.0-cp39-cp39-macosx_10_16_universal2.whl", hash = "sha256:47e56d83aad53ca140da0af87678fb38e44fd6bc0af71eebab2d1f59b1acf1d3"}, + {file = "black-23.7.0-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:25cc308838fe71f7065df53aedd20327969d05671bac95b38fdf37ebe70ac087"}, + {file = "black-23.7.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:642496b675095d423f9b8448243336f8ec71c9d4d57ec17bf795b67f08132a91"}, + {file = "black-23.7.0-cp39-cp39-win_amd64.whl", hash = "sha256:ad0014efc7acf0bd745792bd0d8857413652979200ab924fbf239062adc12491"}, + {file = "black-23.7.0-py3-none-any.whl", hash = "sha256:9fd59d418c60c0348505f2ddf9609c1e1de8e7493eab96198fc89d9f865e7a96"}, + {file = "black-23.7.0.tar.gz", hash = "sha256:022a582720b0d9480ed82576c920a8c1dde97cc38ff11d8d8859b3bd6ca9eedb"}, ] [package.dependencies] @@ -176,14 +173,14 @@ crt = ["awscrt (==0.16.9)"] [[package]] name = "certifi" -version = "2023.5.7" +version = "2023.7.22" description = "Python package for providing Mozilla's CA Bundle." category = "main" optional = false python-versions = ">=3.6" files = [ - {file = "certifi-2023.5.7-py3-none-any.whl", hash = "sha256:c6c2e98f5c7869efca1f8916fed228dd91539f9f1b444c314c06eef02980c716"}, - {file = "certifi-2023.5.7.tar.gz", hash = "sha256:0f0d56dc5a6ad56fd4ba36484d6cc34451e1c6548c61daad8c320169f91eddc7"}, + {file = "certifi-2023.7.22-py3-none-any.whl", hash = "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"}, + {file = "certifi-2023.7.22.tar.gz", hash = "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082"}, ] [[package]] @@ -277,99 +274,99 @@ files = [ [[package]] name = "charset-normalizer" -version = "3.1.0" +version = "3.2.0" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." category = "main" optional = false python-versions = ">=3.7.0" files = [ - {file = "charset-normalizer-3.1.0.tar.gz", hash = "sha256:34e0a2f9c370eb95597aae63bf85eb5e96826d81e3dcf88b8886012906f509b5"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e0ac8959c929593fee38da1c2b64ee9778733cdf03c482c9ff1d508b6b593b2b"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d7fc3fca01da18fbabe4625d64bb612b533533ed10045a2ac3dd194bfa656b60"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:04eefcee095f58eaabe6dc3cc2262f3bcd776d2c67005880894f447b3f2cb9c1"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20064ead0717cf9a73a6d1e779b23d149b53daf971169289ed2ed43a71e8d3b0"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1435ae15108b1cb6fffbcea2af3d468683b7afed0169ad718451f8db5d1aff6f"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c84132a54c750fda57729d1e2599bb598f5fa0344085dbde5003ba429a4798c0"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75f2568b4189dda1c567339b48cba4ac7384accb9c2a7ed655cd86b04055c795"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:11d3bcb7be35e7b1bba2c23beedac81ee893ac9871d0ba79effc7fc01167db6c"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:891cf9b48776b5c61c700b55a598621fdb7b1e301a550365571e9624f270c203"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:5f008525e02908b20e04707a4f704cd286d94718f48bb33edddc7d7b584dddc1"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:b06f0d3bf045158d2fb8837c5785fe9ff9b8c93358be64461a1089f5da983137"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:49919f8400b5e49e961f320c735388ee686a62327e773fa5b3ce6721f7e785ce"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:22908891a380d50738e1f978667536f6c6b526a2064156203d418f4856d6e86a"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-win32.whl", hash = "sha256:12d1a39aa6b8c6f6248bb54550efcc1c38ce0d8096a146638fd4738e42284448"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:65ed923f84a6844de5fd29726b888e58c62820e0769b76565480e1fdc3d062f8"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9a3267620866c9d17b959a84dd0bd2d45719b817245e49371ead79ed4f710d19"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6734e606355834f13445b6adc38b53c0fd45f1a56a9ba06c2058f86893ae8017"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f8303414c7b03f794347ad062c0516cee0e15f7a612abd0ce1e25caf6ceb47df"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aaf53a6cebad0eae578f062c7d462155eada9c172bd8c4d250b8c1d8eb7f916a"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3dc5b6a8ecfdc5748a7e429782598e4f17ef378e3e272eeb1340ea57c9109f41"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e1b25e3ad6c909f398df8921780d6a3d120d8c09466720226fc621605b6f92b1"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ca564606d2caafb0abe6d1b5311c2649e8071eb241b2d64e75a0d0065107e62"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b82fab78e0b1329e183a65260581de4375f619167478dddab510c6c6fb04d9b6"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:bd7163182133c0c7701b25e604cf1611c0d87712e56e88e7ee5d72deab3e76b5"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:11d117e6c63e8f495412d37e7dc2e2fff09c34b2d09dbe2bee3c6229577818be"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:cf6511efa4801b9b38dc5546d7547d5b5c6ef4b081c60b23e4d941d0eba9cbeb"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:abc1185d79f47c0a7aaf7e2412a0eb2c03b724581139193d2d82b3ad8cbb00ac"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cb7b2ab0188829593b9de646545175547a70d9a6e2b63bf2cd87a0a391599324"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-win32.whl", hash = "sha256:c36bcbc0d5174a80d6cccf43a0ecaca44e81d25be4b7f90f0ed7bcfbb5a00909"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:cca4def576f47a09a943666b8f829606bcb17e2bc2d5911a46c8f8da45f56755"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:0c95f12b74681e9ae127728f7e5409cbbef9cd914d5896ef238cc779b8152373"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fca62a8301b605b954ad2e9c3666f9d97f63872aa4efcae5492baca2056b74ab"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ac0aa6cd53ab9a31d397f8303f92c42f534693528fafbdb997c82bae6e477ad9"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c3af8e0f07399d3176b179f2e2634c3ce9c1301379a6b8c9c9aeecd481da494f"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a5fc78f9e3f501a1614a98f7c54d3969f3ad9bba8ba3d9b438c3bc5d047dd28"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:628c985afb2c7d27a4800bfb609e03985aaecb42f955049957814e0491d4006d"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:74db0052d985cf37fa111828d0dd230776ac99c740e1a758ad99094be4f1803d"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:1e8fcdd8f672a1c4fc8d0bd3a2b576b152d2a349782d1eb0f6b8e52e9954731d"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:04afa6387e2b282cf78ff3dbce20f0cc071c12dc8f685bd40960cc68644cfea6"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:dd5653e67b149503c68c4018bf07e42eeed6b4e956b24c00ccdf93ac79cdff84"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d2686f91611f9e17f4548dbf050e75b079bbc2a82be565832bc8ea9047b61c8c"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-win32.whl", hash = "sha256:4155b51ae05ed47199dc5b2a4e62abccb274cee6b01da5b895099b61b1982974"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:322102cdf1ab682ecc7d9b1c5eed4ec59657a65e1c146a0da342b78f4112db23"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e633940f28c1e913615fd624fcdd72fdba807bf53ea6925d6a588e84e1151531"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:3a06f32c9634a8705f4ca9946d667609f52cf130d5548881401f1eb2c39b1e2c"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7381c66e0561c5757ffe616af869b916c8b4e42b367ab29fedc98481d1e74e14"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3573d376454d956553c356df45bb824262c397c6e26ce43e8203c4c540ee0acb"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e89df2958e5159b811af9ff0f92614dabf4ff617c03a4c1c6ff53bf1c399e0e1"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:78cacd03e79d009d95635e7d6ff12c21eb89b894c354bd2b2ed0b4763373693b"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de5695a6f1d8340b12a5d6d4484290ee74d61e467c39ff03b39e30df62cf83a0"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1c60b9c202d00052183c9be85e5eaf18a4ada0a47d188a83c8f5c5b23252f649"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f645caaf0008bacf349875a974220f1f1da349c5dbe7c4ec93048cdc785a3326"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:ea9f9c6034ea2d93d9147818f17c2a0860d41b71c38b9ce4d55f21b6f9165a11"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:80d1543d58bd3d6c271b66abf454d437a438dff01c3e62fdbcd68f2a11310d4b"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:73dc03a6a7e30b7edc5b01b601e53e7fc924b04e1835e8e407c12c037e81adbd"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6f5c2e7bc8a4bf7c426599765b1bd33217ec84023033672c1e9a8b35eaeaaaf8"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-win32.whl", hash = "sha256:12a2b561af122e3d94cdb97fe6fb2bb2b82cef0cdca131646fdb940a1eda04f0"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:3160a0fd9754aab7d47f95a6b63ab355388d890163eb03b2d2b87ab0a30cfa59"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:38e812a197bf8e71a59fe55b757a84c1f946d0ac114acafaafaf21667a7e169e"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6baf0baf0d5d265fa7944feb9f7451cc316bfe30e8df1a61b1bb08577c554f31"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8f25e17ab3039b05f762b0a55ae0b3632b2e073d9c8fc88e89aca31a6198e88f"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3747443b6a904001473370d7810aa19c3a180ccd52a7157aacc264a5ac79265e"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b116502087ce8a6b7a5f1814568ccbd0e9f6cfd99948aa59b0e241dc57cf739f"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d16fd5252f883eb074ca55cb622bc0bee49b979ae4e8639fff6ca3ff44f9f854"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21fa558996782fc226b529fdd2ed7866c2c6ec91cee82735c98a197fae39f706"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6f6c7a8a57e9405cad7485f4c9d3172ae486cfef1344b5ddd8e5239582d7355e"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ac3775e3311661d4adace3697a52ac0bab17edd166087d493b52d4f4f553f9f0"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:10c93628d7497c81686e8e5e557aafa78f230cd9e77dd0c40032ef90c18f2230"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:6f4f4668e1831850ebcc2fd0b1cd11721947b6dc7c00bf1c6bd3c929ae14f2c7"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:0be65ccf618c1e7ac9b849c315cc2e8a8751d9cfdaa43027d4f6624bd587ab7e"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:53d0a3fa5f8af98a1e261de6a3943ca631c526635eb5817a87a59d9a57ebf48f"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-win32.whl", hash = "sha256:a04f86f41a8916fe45ac5024ec477f41f886b3c435da2d4e3d2709b22ab02af1"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:830d2948a5ec37c386d3170c483063798d7879037492540f10a475e3fd6f244b"}, - {file = "charset_normalizer-3.1.0-py3-none-any.whl", hash = "sha256:3d9098b479e78c85080c98e1e35ff40b4a31d8953102bb0fd7d1b6f8a2111a3d"}, + {file = "charset-normalizer-3.2.0.tar.gz", hash = "sha256:3bb3d25a8e6c0aedd251753a79ae98a093c7e7b471faa3aa9a93a81431987ace"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0b87549028f680ca955556e3bd57013ab47474c3124dc069faa0b6545b6c9710"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7c70087bfee18a42b4040bb9ec1ca15a08242cf5867c58726530bdf3945672ed"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a103b3a7069b62f5d4890ae1b8f0597618f628b286b03d4bc9195230b154bfa9"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94aea8eff76ee6d1cdacb07dd2123a68283cb5569e0250feab1240058f53b623"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:db901e2ac34c931d73054d9797383d0f8009991e723dab15109740a63e7f902a"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b0dac0ff919ba34d4df1b6131f59ce95b08b9065233446be7e459f95554c0dc8"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:193cbc708ea3aca45e7221ae58f0fd63f933753a9bfb498a3b474878f12caaad"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:09393e1b2a9461950b1c9a45d5fd251dc7c6f228acab64da1c9c0165d9c7765c"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:baacc6aee0b2ef6f3d308e197b5d7a81c0e70b06beae1f1fcacffdbd124fe0e3"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:bf420121d4c8dce6b889f0e8e4ec0ca34b7f40186203f06a946fa0276ba54029"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:c04a46716adde8d927adb9457bbe39cf473e1e2c2f5d0a16ceb837e5d841ad4f"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:aaf63899c94de41fe3cf934601b0f7ccb6b428c6e4eeb80da72c58eab077b19a"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d62e51710986674142526ab9f78663ca2b0726066ae26b78b22e0f5e571238dd"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-win32.whl", hash = "sha256:04e57ab9fbf9607b77f7d057974694b4f6b142da9ed4a199859d9d4d5c63fe96"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:48021783bdf96e3d6de03a6e39a1171ed5bd7e8bb93fc84cc649d11490f87cea"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:4957669ef390f0e6719db3613ab3a7631e68424604a7b448f079bee145da6e09"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:46fb8c61d794b78ec7134a715a3e564aafc8f6b5e338417cb19fe9f57a5a9bf2"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f779d3ad205f108d14e99bb3859aa7dd8e9c68874617c72354d7ecaec2a054ac"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f25c229a6ba38a35ae6e25ca1264621cc25d4d38dca2942a7fce0b67a4efe918"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2efb1bd13885392adfda4614c33d3b68dee4921fd0ac1d3988f8cbb7d589e72a"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f30b48dd7fa1474554b0b0f3fdfdd4c13b5c737a3c6284d3cdc424ec0ffff3a"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:246de67b99b6851627d945db38147d1b209a899311b1305dd84916f2b88526c6"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9bd9b3b31adcb054116447ea22caa61a285d92e94d710aa5ec97992ff5eb7cf3"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:8c2f5e83493748286002f9369f3e6607c565a6a90425a3a1fef5ae32a36d749d"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:3170c9399da12c9dc66366e9d14da8bf7147e1e9d9ea566067bbce7bb74bd9c2"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7a4826ad2bd6b07ca615c74ab91f32f6c96d08f6fcc3902ceeedaec8cdc3bcd6"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:3b1613dd5aee995ec6d4c69f00378bbd07614702a315a2cf6c1d21461fe17c23"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9e608aafdb55eb9f255034709e20d5a83b6d60c054df0802fa9c9883d0a937aa"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-win32.whl", hash = "sha256:f2a1d0fd4242bd8643ce6f98927cf9c04540af6efa92323e9d3124f57727bfc1"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:681eb3d7e02e3c3655d1b16059fbfb605ac464c834a0c629048a30fad2b27489"}, + {file = "charset_normalizer-3.2.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c57921cda3a80d0f2b8aec7e25c8aa14479ea92b5b51b6876d975d925a2ea346"}, + {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41b25eaa7d15909cf3ac4c96088c1f266a9a93ec44f87f1d13d4a0e86c81b982"}, + {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f058f6963fd82eb143c692cecdc89e075fa0828db2e5b291070485390b2f1c9c"}, + {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a7647ebdfb9682b7bb97e2a5e7cb6ae735b1c25008a70b906aecca294ee96cf4"}, + {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eef9df1eefada2c09a5e7a40991b9fc6ac6ef20b1372abd48d2794a316dc0449"}, + {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e03b8895a6990c9ab2cdcd0f2fe44088ca1c65ae592b8f795c3294af00a461c3"}, + {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:ee4006268ed33370957f55bf2e6f4d263eaf4dc3cfc473d1d90baff6ed36ce4a"}, + {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c4983bf937209c57240cff65906b18bb35e64ae872da6a0db937d7b4af845dd7"}, + {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:3bb7fda7260735efe66d5107fb7e6af6a7c04c7fce9b2514e04b7a74b06bf5dd"}, + {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:72814c01533f51d68702802d74f77ea026b5ec52793c791e2da806a3844a46c3"}, + {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:70c610f6cbe4b9fce272c407dd9d07e33e6bf7b4aa1b7ffb6f6ded8e634e3592"}, + {file = "charset_normalizer-3.2.0-cp37-cp37m-win32.whl", hash = "sha256:a401b4598e5d3f4a9a811f3daf42ee2291790c7f9d74b18d75d6e21dda98a1a1"}, + {file = "charset_normalizer-3.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:c0b21078a4b56965e2b12f247467b234734491897e99c1d51cee628da9786959"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:95eb302ff792e12aba9a8b8f8474ab229a83c103d74a750ec0bd1c1eea32e669"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1a100c6d595a7f316f1b6f01d20815d916e75ff98c27a01ae817439ea7726329"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6339d047dab2780cc6220f46306628e04d9750f02f983ddb37439ca47ced7149"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e4b749b9cc6ee664a3300bb3a273c1ca8068c46be705b6c31cf5d276f8628a94"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a38856a971c602f98472050165cea2cdc97709240373041b69030be15047691f"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f87f746ee241d30d6ed93969de31e5ffd09a2961a051e60ae6bddde9ec3583aa"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89f1b185a01fe560bc8ae5f619e924407efca2191b56ce749ec84982fc59a32a"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e1c8a2f4c69e08e89632defbfabec2feb8a8d99edc9f89ce33c4b9e36ab63037"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2f4ac36d8e2b4cc1aa71df3dd84ff8efbe3bfb97ac41242fbcfc053c67434f46"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a386ebe437176aab38c041de1260cd3ea459c6ce5263594399880bbc398225b2"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:ccd16eb18a849fd8dcb23e23380e2f0a354e8daa0c984b8a732d9cfaba3a776d"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:e6a5bf2cba5ae1bb80b154ed68a3cfa2fa00fde979a7f50d6598d3e17d9ac20c"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:45de3f87179c1823e6d9e32156fb14c1927fcc9aba21433f088fdfb555b77c10"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-win32.whl", hash = "sha256:1000fba1057b92a65daec275aec30586c3de2401ccdcd41f8a5c1e2c87078706"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:8b2c760cfc7042b27ebdb4a43a4453bd829a5742503599144d54a032c5dc7e9e"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:855eafa5d5a2034b4621c74925d89c5efef61418570e5ef9b37717d9c796419c"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:203f0c8871d5a7987be20c72442488a0b8cfd0f43b7973771640fc593f56321f"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e857a2232ba53ae940d3456f7533ce6ca98b81917d47adc3c7fd55dad8fab858"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5e86d77b090dbddbe78867a0275cb4df08ea195e660f1f7f13435a4649e954e5"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c4fb39a81950ec280984b3a44f5bd12819953dc5fa3a7e6fa7a80db5ee853952"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2dee8e57f052ef5353cf608e0b4c871aee320dd1b87d351c28764fc0ca55f9f4"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8700f06d0ce6f128de3ccdbc1acaea1ee264d2caa9ca05daaf492fde7c2a7200"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1920d4ff15ce893210c1f0c0e9d19bfbecb7983c76b33f046c13a8ffbd570252"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c1c76a1743432b4b60ab3358c937a3fe1341c828ae6194108a94c69028247f22"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f7560358a6811e52e9c4d142d497f1a6e10103d3a6881f18d04dbce3729c0e2c"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:c8063cf17b19661471ecbdb3df1c84f24ad2e389e326ccaf89e3fb2484d8dd7e"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:cd6dbe0238f7743d0efe563ab46294f54f9bc8f4b9bcf57c3c666cc5bc9d1299"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:1249cbbf3d3b04902ff081ffbb33ce3377fa6e4c7356f759f3cd076cc138d020"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-win32.whl", hash = "sha256:6c409c0deba34f147f77efaa67b8e4bb83d2f11c8806405f76397ae5b8c0d1c9"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:7095f6fbfaa55defb6b733cfeb14efaae7a29f0b59d8cf213be4e7ca0b857b80"}, + {file = "charset_normalizer-3.2.0-py3-none-any.whl", hash = "sha256:8e098148dd37b4ce3baca71fb394c81dc5d9c7728c95df695d2dca218edf40e6"}, ] [[package]] name = "click" -version = "8.1.4" +version = "8.1.6" description = "Composable command line interface toolkit" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "click-8.1.4-py3-none-any.whl", hash = "sha256:2739815aaa5d2c986a88f1e9230c55e17f0caad3d958a5e13ad0797c166db9e3"}, - {file = "click-8.1.4.tar.gz", hash = "sha256:b97d0c74955da062a7d4ef92fadb583806a585b2ea81958a81bd72726cbb8e37"}, + {file = "click-8.1.6-py3-none-any.whl", hash = "sha256:fa244bb30b3b5ee2cae3da8f55c9e5e0c0e86093306301fb418eb9dc40fbded5"}, + {file = "click-8.1.6.tar.gz", hash = "sha256:48ee849951919527a045bfe3bf7baa8a959c423134e1a5b98c05c20ba75a1cbd"}, ] [package.dependencies] @@ -404,31 +401,35 @@ six = "*" [[package]] name = "cryptography" -version = "41.0.1" +version = "41.0.2" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "cryptography-41.0.1-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:f73bff05db2a3e5974a6fd248af2566134d8981fd7ab012e5dd4ddb1d9a70699"}, - {file = "cryptography-41.0.1-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:1a5472d40c8f8e91ff7a3d8ac6dfa363d8e3138b961529c996f3e2df0c7a411a"}, - {file = "cryptography-41.0.1-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7fa01527046ca5facdf973eef2535a27fec4cb651e4daec4d043ef63f6ecd4ca"}, - {file = "cryptography-41.0.1-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b46e37db3cc267b4dea1f56da7346c9727e1209aa98487179ee8ebed09d21e43"}, - {file = "cryptography-41.0.1-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:d198820aba55660b4d74f7b5fd1f17db3aa5eb3e6893b0a41b75e84e4f9e0e4b"}, - {file = "cryptography-41.0.1-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:948224d76c4b6457349d47c0c98657557f429b4e93057cf5a2f71d603e2fc3a3"}, - {file = "cryptography-41.0.1-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:059e348f9a3c1950937e1b5d7ba1f8e968508ab181e75fc32b879452f08356db"}, - {file = "cryptography-41.0.1-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:b4ceb5324b998ce2003bc17d519080b4ec8d5b7b70794cbd2836101406a9be31"}, - {file = "cryptography-41.0.1-cp37-abi3-win32.whl", hash = "sha256:8f4ab7021127a9b4323537300a2acfb450124b2def3756f64dc3a3d2160ee4b5"}, - {file = "cryptography-41.0.1-cp37-abi3-win_amd64.whl", hash = "sha256:1fee5aacc7367487b4e22484d3c7e547992ed726d14864ee33c0176ae43b0d7c"}, - {file = "cryptography-41.0.1-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:9a6c7a3c87d595608a39980ebaa04d5a37f94024c9f24eb7d10262b92f739ddb"}, - {file = "cryptography-41.0.1-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:5d092fdfedaec4cbbffbf98cddc915ba145313a6fdaab83c6e67f4e6c218e6f3"}, - {file = "cryptography-41.0.1-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:1a8e6c2de6fbbcc5e14fd27fb24414507cb3333198ea9ab1258d916f00bc3039"}, - {file = "cryptography-41.0.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:cb33ccf15e89f7ed89b235cff9d49e2e62c6c981a6061c9c8bb47ed7951190bc"}, - {file = "cryptography-41.0.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5f0ff6e18d13a3de56f609dd1fd11470918f770c6bd5d00d632076c727d35485"}, - {file = "cryptography-41.0.1-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:7bfc55a5eae8b86a287747053140ba221afc65eb06207bedf6e019b8934b477c"}, - {file = "cryptography-41.0.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:eb8163f5e549a22888c18b0d53d6bb62a20510060a22fd5a995ec8a05268df8a"}, - {file = "cryptography-41.0.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:8dde71c4169ec5ccc1087bb7521d54251c016f126f922ab2dfe6649170a3b8c5"}, - {file = "cryptography-41.0.1.tar.gz", hash = "sha256:d34579085401d3f49762d2f7d6634d6b6c2ae1242202e860f4d26b046e3a1006"}, + {file = "cryptography-41.0.2-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:01f1d9e537f9a15b037d5d9ee442b8c22e3ae11ce65ea1f3316a41c78756b711"}, + {file = "cryptography-41.0.2-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:079347de771f9282fbfe0e0236c716686950c19dee1b76240ab09ce1624d76d7"}, + {file = "cryptography-41.0.2-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:439c3cc4c0d42fa999b83ded80a9a1fb54d53c58d6e59234cfe97f241e6c781d"}, + {file = "cryptography-41.0.2-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f14ad275364c8b4e525d018f6716537ae7b6d369c094805cae45300847e0894f"}, + {file = "cryptography-41.0.2-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:84609ade00a6ec59a89729e87a503c6e36af98ddcd566d5f3be52e29ba993182"}, + {file = "cryptography-41.0.2-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:49c3222bb8f8e800aead2e376cbef687bc9e3cb9b58b29a261210456a7783d83"}, + {file = "cryptography-41.0.2-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:d73f419a56d74fef257955f51b18d046f3506270a5fd2ac5febbfa259d6c0fa5"}, + {file = "cryptography-41.0.2-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:2a034bf7d9ca894720f2ec1d8b7b5832d7e363571828037f9e0c4f18c1b58a58"}, + {file = "cryptography-41.0.2-cp37-abi3-win32.whl", hash = "sha256:d124682c7a23c9764e54ca9ab5b308b14b18eba02722b8659fb238546de83a76"}, + {file = "cryptography-41.0.2-cp37-abi3-win_amd64.whl", hash = "sha256:9c3fe6534d59d071ee82081ca3d71eed3210f76ebd0361798c74abc2bcf347d4"}, + {file = "cryptography-41.0.2-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:a719399b99377b218dac6cf547b6ec54e6ef20207b6165126a280b0ce97e0d2a"}, + {file = "cryptography-41.0.2-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:182be4171f9332b6741ee818ec27daff9fb00349f706629f5cbf417bd50e66fd"}, + {file = "cryptography-41.0.2-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:7a9a3bced53b7f09da251685224d6a260c3cb291768f54954e28f03ef14e3766"}, + {file = "cryptography-41.0.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:f0dc40e6f7aa37af01aba07277d3d64d5a03dc66d682097541ec4da03cc140ee"}, + {file = "cryptography-41.0.2-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:674b669d5daa64206c38e507808aae49904c988fa0a71c935e7006a3e1e83831"}, + {file = "cryptography-41.0.2-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:7af244b012711a26196450d34f483357e42aeddb04128885d95a69bd8b14b69b"}, + {file = "cryptography-41.0.2-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:9b6d717393dbae53d4e52684ef4f022444fc1cce3c48c38cb74fca29e1f08eaa"}, + {file = "cryptography-41.0.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:192255f539d7a89f2102d07d7375b1e0a81f7478925b3bc2e0549ebf739dae0e"}, + {file = "cryptography-41.0.2-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:f772610fe364372de33d76edcd313636a25684edb94cee53fd790195f5989d14"}, + {file = "cryptography-41.0.2-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:b332cba64d99a70c1e0836902720887fb4529ea49ea7f5462cf6640e095e11d2"}, + {file = "cryptography-41.0.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:9a6673c1828db6270b76b22cc696f40cde9043eb90373da5c2f8f2158957f42f"}, + {file = "cryptography-41.0.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:342f3767e25876751e14f8459ad85e77e660537ca0a066e10e75df9c9e9099f0"}, + {file = "cryptography-41.0.2.tar.gz", hash = "sha256:7d230bf856164de164ecb615ccc14c7fc6de6906ddd5b491f3af90d3514c925c"}, ] [package.dependencies] @@ -446,14 +447,14 @@ test-randomorder = ["pytest-randomly"] [[package]] name = "datamodel-code-generator" -version = "0.21.1" +version = "0.21.2" description = "Datamodel Code Generator" category = "main" optional = false python-versions = ">=3.7,<4.0" files = [ - {file = "datamodel_code_generator-0.21.1-py3-none-any.whl", hash = "sha256:9898d4a39a54638022850b0df85fab0ef20394382e88482b8bf8925d4817c493"}, - {file = "datamodel_code_generator-0.21.1.tar.gz", hash = "sha256:feab1c222c5bc3b7c53e1dc8b299bbc261bb17e9dbc22fdd60fc3a2806694ecc"}, + {file = "datamodel_code_generator-0.21.2-py3-none-any.whl", hash = "sha256:99f07ddeb4b58dbbcd7822ee83f44e408b9a9550975ea64a483df1e101abf4c2"}, + {file = "datamodel_code_generator-0.21.2.tar.gz", hash = "sha256:824a11c4a0b2e5b23e102a55db0e4e9120d58cdf77e0cc35abd6efbcf7a46326"}, ] [package.dependencies] @@ -509,20 +510,19 @@ dev = ["PyTest", "PyTest-Cov", "bump2version (<1)", "sphinx (<2)", "tox"] [[package]] name = "dnspython" -version = "2.3.0" +version = "2.4.1" description = "DNS toolkit" category = "main" optional = false -python-versions = ">=3.7,<4.0" +python-versions = ">=3.8,<4.0" files = [ - {file = "dnspython-2.3.0-py3-none-any.whl", hash = "sha256:89141536394f909066cabd112e3e1a37e4e654db00a25308b0f130bc3152eb46"}, - {file = "dnspython-2.3.0.tar.gz", hash = "sha256:224e32b03eb46be70e12ef6d64e0be123a64e621ab4c0822ff6d450d52a540b9"}, + {file = "dnspython-2.4.1-py3-none-any.whl", hash = "sha256:5b7488477388b8c0b70a8ce93b227c5603bc7b77f1565afe8e729c36c51447d7"}, + {file = "dnspython-2.4.1.tar.gz", hash = "sha256:c33971c79af5be968bb897e95c2448e11a645ee84d93b265ce0b7aabe5dfdca8"}, ] [package.extras] -curio = ["curio (>=1.2,<2.0)", "sniffio (>=1.1,<2.0)"] -dnssec = ["cryptography (>=2.6,<40.0)"] -doh = ["h2 (>=4.1.0)", "httpx (>=0.21.1)", "requests (>=2.23.0,<3.0.0)", "requests-toolbelt (>=0.9.1,<0.11.0)"] +dnssec = ["cryptography (>=2.6,<42.0)"] +doh = ["h2 (>=4.1.0)", "httpcore (>=0.17.3)", "httpx (>=0.24.1)"] doq = ["aioquic (>=0.9.20)"] idna = ["idna (>=2.1,<4.0)"] trio = ["trio (>=0.14,<0.23)"] @@ -765,14 +765,14 @@ smmap = ">=3.0.1,<6" [[package]] name = "gitpython" -version = "3.1.31" +version = "3.1.32" description = "GitPython is a Python library used to interact with Git repositories" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "GitPython-3.1.31-py3-none-any.whl", hash = "sha256:f04893614f6aa713a60cbbe1e6a97403ef633103cdd0ef5eb6efe0deb98dbe8d"}, - {file = "GitPython-3.1.31.tar.gz", hash = "sha256:8ce3bcf69adfdf7c7d503e78fd3b1c492af782d58893b650adb2ac8912ddd573"}, + {file = "GitPython-3.1.32-py3-none-any.whl", hash = "sha256:e3d59b1c2c6ebb9dfa7a184daf3b6dd4914237e7488a1730a6d8f6f5d0b4187f"}, + {file = "GitPython-3.1.32.tar.gz", hash = "sha256:8d9b8cb1e80b9735e8717c9362079d3ce4c6e5ddeebedd0361b228c3a67a62f6"}, ] [package.dependencies] @@ -807,14 +807,14 @@ files = [ [[package]] name = "importlib-metadata" -version = "6.7.0" +version = "6.8.0" description = "Read metadata from Python packages" category = "main" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "importlib_metadata-6.7.0-py3-none-any.whl", hash = "sha256:cb52082e659e97afc5dac71e79de97d8681de3aa07ff18578330904a9d18e5b5"}, - {file = "importlib_metadata-6.7.0.tar.gz", hash = "sha256:1aaf550d4f73e5d6783e7acb77aec43d49da8017410afae93822cc9cca98c4d4"}, + {file = "importlib_metadata-6.8.0-py3-none-any.whl", hash = "sha256:3ebb78df84a805d7698245025b975d9d67053cd94c79245ba4b3eb694abe68bb"}, + {file = "importlib_metadata-6.8.0.tar.gz", hash = "sha256:dbace7892d8c0c4ac1ad096662232f831d4e64f4c4545bd53016a3e9d4654743"}, ] [package.dependencies] @@ -823,26 +823,26 @@ zipp = ">=0.5" [package.extras] docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] perf = ["ipython"] -testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)", "pytest-ruff"] +testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)", "pytest-ruff"] [[package]] name = "importlib-resources" -version = "5.12.0" +version = "5.13.0" description = "Read resources from Python packages" category = "main" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "importlib_resources-5.12.0-py3-none-any.whl", hash = "sha256:7b1deeebbf351c7578e09bf2f63fa2ce8b5ffec296e0d349139d43cca061a81a"}, - {file = "importlib_resources-5.12.0.tar.gz", hash = "sha256:4be82589bf5c1d7999aedf2a45159d10cb3ca4f19b2271f8792bc8e6da7b22f6"}, + {file = "importlib_resources-5.13.0-py3-none-any.whl", hash = "sha256:9f7bd0c97b79972a6cce36a366356d16d5e13b09679c11a58f1014bfdf8e64b2"}, + {file = "importlib_resources-5.13.0.tar.gz", hash = "sha256:82d5c6cca930697dbbd86c93333bb2c2e72861d4789a11c2662b933e5ad2b528"}, ] [package.dependencies] zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} [package.extras] -docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -testing = ["flake8 (<5)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +testing = ["pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-ruff"] [[package]] name = "inflect" @@ -874,14 +874,14 @@ files = [ [[package]] name = "invoke" -version = "2.1.3" +version = "2.2.0" description = "Pythonic task execution" category = "main" optional = false python-versions = ">=3.6" files = [ - {file = "invoke-2.1.3-py3-none-any.whl", hash = "sha256:51e86a08d964160e01c44eccd22f50b25842bd96a9c63c11177032594cb86740"}, - {file = "invoke-2.1.3.tar.gz", hash = "sha256:a3b15d52d50bbabd851b8a39582c772180b614000fa1612b4d92484d54d38c6b"}, + {file = "invoke-2.2.0-py3-none-any.whl", hash = "sha256:6ea924cc53d4f78e3d98bc436b08069a03077e6f85ad1ddaa8a116d7dad15820"}, + {file = "invoke-2.2.0.tar.gz", hash = "sha256:ee6cbb101af1a859c7fe84f2a264c059020b0cb7fe3535f9424300ab568f6bd5"}, ] [[package]] @@ -963,14 +963,14 @@ testing-libs = ["simplejson", "ujson"] [[package]] name = "jsonschema" -version = "4.18.0" +version = "4.18.4" description = "An implementation of JSON Schema validation for Python" category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "jsonschema-4.18.0-py3-none-any.whl", hash = "sha256:b508dd6142bd03f4c3670534c80af68cd7bbff9ea830b9cf2625d4a3c49ddf60"}, - {file = "jsonschema-4.18.0.tar.gz", hash = "sha256:8caf5b57a990a98e9b39832ef3cb35c176fe331414252b6e1b26fd5866f891a4"}, + {file = "jsonschema-4.18.4-py3-none-any.whl", hash = "sha256:971be834317c22daaa9132340a51c01b50910724082c2c1a2ac87eeec153a3fe"}, + {file = "jsonschema-4.18.4.tar.gz", hash = "sha256:fb3642735399fa958c0d2aad7057901554596c63349f4f6b283c493cf692a25d"}, ] [package.dependencies] @@ -1005,14 +1005,14 @@ typing-extensions = ">=4.3.0,<5.0.0" [[package]] name = "jsonschema-specifications" -version = "2023.6.1" +version = "2023.7.1" description = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry" category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "jsonschema_specifications-2023.6.1-py3-none-any.whl", hash = "sha256:3d2b82663aff01815f744bb5c7887e2121a63399b49b104a3c96145474d091d7"}, - {file = "jsonschema_specifications-2023.6.1.tar.gz", hash = "sha256:ca1c4dd059a9e7b34101cf5b3ab7ff1d18b139f35950d598d629837ef66e8f28"}, + {file = "jsonschema_specifications-2023.7.1-py3-none-any.whl", hash = "sha256:05adf340b659828a004220a9613be00fa3f223f2b82002e273dee62fd50524b1"}, + {file = "jsonschema_specifications-2023.7.1.tar.gz", hash = "sha256:c91a50404e88a1f6ba40636778e2ee08f6e24c5613fe4c53ac24578a5a7f72bb"}, ] [package.dependencies] @@ -1312,14 +1312,14 @@ files = [ [[package]] name = "platformdirs" -version = "3.8.1" +version = "3.9.1" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "platformdirs-3.8.1-py3-none-any.whl", hash = "sha256:cec7b889196b9144d088e4c57d9ceef7374f6c39694ad1577a0aab50d27ea28c"}, - {file = "platformdirs-3.8.1.tar.gz", hash = "sha256:f87ca4fcff7d2b0f81c6a748a77973d7af0f4d526f98f308477c3c436c74d528"}, + {file = "platformdirs-3.9.1-py3-none-any.whl", hash = "sha256:ad8291ae0ae5072f66c16945166cb11c63394c7a3ad1b1bc9828ca3162da8c2f"}, + {file = "platformdirs-3.9.1.tar.gz", hash = "sha256:1b42b450ad933e981d56e59f1b97495428c9bd60698baab9f3eb3d00d5822421"}, ] [package.extras] @@ -1415,20 +1415,20 @@ files = [ [[package]] name = "pydantic" -version = "2.0.2" +version = "2.1.1" description = "Data validation using Python type hints" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "pydantic-2.0.2-py3-none-any.whl", hash = "sha256:f5581e0c79b2ec2fa25a9d30d766629811cdda022107fa73d022ab5578873ae3"}, - {file = "pydantic-2.0.2.tar.gz", hash = "sha256:b802f5245b8576315fe619e5989fd083448fa1258638ef9dac301ca60878396d"}, + {file = "pydantic-2.1.1-py3-none-any.whl", hash = "sha256:43bdbf359d6304c57afda15c2b95797295b702948082d4c23851ce752f21da70"}, + {file = "pydantic-2.1.1.tar.gz", hash = "sha256:22d63db5ce4831afd16e7c58b3192d3faf8f79154980d9397d9867254310ba4b"}, ] [package.dependencies] annotated-types = ">=0.4.0" email-validator = {version = ">=2.0.0", optional = true, markers = "extra == \"email\""} -pydantic-core = "2.1.2" +pydantic-core = "2.4.0" typing-extensions = ">=4.6.1" [package.extras] @@ -1436,113 +1436,113 @@ email = ["email-validator (>=2.0.0)"] [[package]] name = "pydantic-core" -version = "2.1.2" +version = "2.4.0" description = "" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "pydantic_core-2.1.2-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:b4815720c266e832b20e27a7a5f3772bb09fdedb31a9a34bab7b49d98967ef5a"}, - {file = "pydantic_core-2.1.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8884a1dbfc5cb8c54b48446ca916d4577c1f4d901126091e4ab25d00194e065f"}, - {file = "pydantic_core-2.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:74a33aa69d476773230396396afb8e11908f8dafdcfd422e746770599a3f889d"}, - {file = "pydantic_core-2.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:af832edd384755826e494ffdcf1fdda86e4babc42a0b18d342943fb18181040e"}, - {file = "pydantic_core-2.1.2-cp310-cp310-manylinux_2_24_armv7l.whl", hash = "sha256:017700236ea2e7afbef5d3803559c80bd8720306778ebd49268de7ce9972e83e"}, - {file = "pydantic_core-2.1.2-cp310-cp310-manylinux_2_24_ppc64le.whl", hash = "sha256:c2d00a96fdf26295c6f25eaf9e4a233f353146a73713cd97a5f5dc6090c3aef2"}, - {file = "pydantic_core-2.1.2-cp310-cp310-manylinux_2_24_s390x.whl", hash = "sha256:2575664f0a559a7b951a518f6f34c23cab7190f34f8220b8c8218c4f403147ee"}, - {file = "pydantic_core-2.1.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:24c3c9180a2d19d640bacc2d00f497a9a1f2abadb2a9ee201b56bb03bc5343bd"}, - {file = "pydantic_core-2.1.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:88a56f0f6d020b4d17641f4b4d1f9540a536d4146768d059c430e97bdb485fc1"}, - {file = "pydantic_core-2.1.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fa38a76e832743866aed6b715869757074b06357d1a260163ec26d84974245fe"}, - {file = "pydantic_core-2.1.2-cp310-none-win32.whl", hash = "sha256:a772c652603855d7180015849d483a1f539351a263bb9b81bfe85193a33ce124"}, - {file = "pydantic_core-2.1.2-cp310-none-win_amd64.whl", hash = "sha256:b4673d1f29487608d613ebcc5caa99ba15eb58450a7449fb6d800f29d90bebc1"}, - {file = "pydantic_core-2.1.2-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:76c9c55462740d728b344e3a087775846516c3fee31ec56e2075faa7cfcafcbf"}, - {file = "pydantic_core-2.1.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:cb854ec52e6e2e05b83d647695f4d913452fdd45a3dfa8233d7dab5967b3908f"}, - {file = "pydantic_core-2.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ac140d54da366672f6b91f9a1e8e2d4e7e72720143353501ae886d3fca03272"}, - {file = "pydantic_core-2.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:818f5cb1b209ab1295087c45717178f4bbbd2bd7eda421f7a119e7b9b736a3cb"}, - {file = "pydantic_core-2.1.2-cp311-cp311-manylinux_2_24_armv7l.whl", hash = "sha256:db4564aea8b3cb6cf1e5f3fd80f1ced73a255d492396d1bd8abd688795b34d63"}, - {file = "pydantic_core-2.1.2-cp311-cp311-manylinux_2_24_ppc64le.whl", hash = "sha256:2ca2d2d5ab65fb40dd05259965006edcc62a9d9b30102737c0a6f45bcbd254e8"}, - {file = "pydantic_core-2.1.2-cp311-cp311-manylinux_2_24_s390x.whl", hash = "sha256:7c7ad8958aadfbcd664078002246796ecd5566b64b22f6af4fd1bbcec6bf8f60"}, - {file = "pydantic_core-2.1.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:080a7af828388284a68ad7d3d3eac3bcfff6a580292849aff087e7d556ec42d4"}, - {file = "pydantic_core-2.1.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:bad7029fb2251c1ac7d3acdd607e540d40d137a7d43a5e5acdcfdbd38db3fc0a"}, - {file = "pydantic_core-2.1.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1635a37137fafbc6ee0a8c879857e05b30b1aabaa927e653872b71f1501b1502"}, - {file = "pydantic_core-2.1.2-cp311-none-win32.whl", hash = "sha256:eb4301f009a44bb5db5edfe4e51a8175a4112b566baec07f4af8b1f8cb4649a2"}, - {file = "pydantic_core-2.1.2-cp311-none-win_amd64.whl", hash = "sha256:ebf583f4d9b52abd15cc59e5f6eeca7e3e9741c6ea62d8711c00ac3acb067875"}, - {file = "pydantic_core-2.1.2-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:90b06bb47e60173d24c7cb79670aa8dd6081797290353b9d3c66d3a23e88eb34"}, - {file = "pydantic_core-2.1.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0e5761ce986ec709897b1b965fad9743f301500434bea3cbab2b6e662571580f"}, - {file = "pydantic_core-2.1.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b9f8bf1d7008a58fbb6eb334dc6e2f2905400cced8dadb46c4ca28f005a8562"}, - {file = "pydantic_core-2.1.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5a014ee88980013d192a718cbb88e8cea20acd3afad69bc6d15672d05a49cdb6"}, - {file = "pydantic_core-2.1.2-cp312-cp312-manylinux_2_24_armv7l.whl", hash = "sha256:8125152b03dd91deca5afe5b933a1994b39405adf6be2fe8dce3632319283f85"}, - {file = "pydantic_core-2.1.2-cp312-cp312-manylinux_2_24_ppc64le.whl", hash = "sha256:dc737506b4a0ba2922a2626fc6d620ce50a46aebd0fe2fbcad1b93bbdd8c7e78"}, - {file = "pydantic_core-2.1.2-cp312-cp312-manylinux_2_24_s390x.whl", hash = "sha256:bb471ea8650796060afc99909d9b75da583d317e52f660faf64c45f70b3bf1e2"}, - {file = "pydantic_core-2.1.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b1fad38db1744d27061df516e59c5025b09b0a50a337c04e6eebdbddc18951bc"}, - {file = "pydantic_core-2.1.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:94d368af9e6563de6e7170a74710a2cbace7a1e9c8e507d9e3ac34c7065d7ae3"}, - {file = "pydantic_core-2.1.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:bd95d223de5162811a7b36c73d48eac4fee03b075132f3a1b73c132ce157a60c"}, - {file = "pydantic_core-2.1.2-cp312-none-win32.whl", hash = "sha256:cd62f73830d4715bc643ae39de0bd4fb9c81d6d743530074da91e77a2cccfe67"}, - {file = "pydantic_core-2.1.2-cp312-none-win_amd64.whl", hash = "sha256:51968887d6bd1eaa7fc7759701ea8ccb470c04654beaa8ede6835b0533f206a9"}, - {file = "pydantic_core-2.1.2-cp37-cp37m-macosx_10_7_x86_64.whl", hash = "sha256:7ff6bfe63f447a509ed4d368a7f4ba6a7abc03bc4744fc3fb30f2ffab73f3821"}, - {file = "pydantic_core-2.1.2-cp37-cp37m-macosx_11_0_arm64.whl", hash = "sha256:4e67f9b9dfda2e42b39459cbf99d319ccb90da151e35cead3521975b2afbf673"}, - {file = "pydantic_core-2.1.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b815a769b019dd96be6571096f246b74f63330547e9b30244c51b4a2eb0277fc"}, - {file = "pydantic_core-2.1.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4aff436c23c68449601b3fba7075b4f37ef8fbb893c8c1ed3ef898f090332b1e"}, - {file = "pydantic_core-2.1.2-cp37-cp37m-manylinux_2_24_armv7l.whl", hash = "sha256:2ee3ae58f271851362f6c9b33e4c9f9e866557ec7d8c03dc091e9b5aa5566cec"}, - {file = "pydantic_core-2.1.2-cp37-cp37m-manylinux_2_24_ppc64le.whl", hash = "sha256:cf92dccca8f66e987f6c4378700447f82b79e86407912ab1ee06b16b82f05120"}, - {file = "pydantic_core-2.1.2-cp37-cp37m-manylinux_2_24_s390x.whl", hash = "sha256:4663293a36a851a860b1299c50837914269fca127434911297dd39fea9667a01"}, - {file = "pydantic_core-2.1.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1c917f7a41d9d09b8b024a5d65cf37e5588ccdb6e610d2df565fb7186b1f3b1c"}, - {file = "pydantic_core-2.1.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:06ae67547251135a1b3f8dd465797b13146295a3866bc12ddd73f7512787bb7c"}, - {file = "pydantic_core-2.1.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:4938b32c09dbcecbeb652327cb4a449b1ef1a1bf6c8fc2c8241aa6b8f6d63b54"}, - {file = "pydantic_core-2.1.2-cp37-none-win32.whl", hash = "sha256:682ff9228c838018c47dfa89b3d84cca45f88cacde28807ab8296ec221862af4"}, - {file = "pydantic_core-2.1.2-cp37-none-win_amd64.whl", hash = "sha256:6e3bcb4a9bc209a61ea2aceb7433ce2ece32c7e670b0c06848bf870c9b3e7d87"}, - {file = "pydantic_core-2.1.2-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:2278ca0b0dfbcfb1e12fa58570916dc260dc72bee5e6e342debf5329d8204688"}, - {file = "pydantic_core-2.1.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:87cff210af3258ca0c829e3ebc849d7981bfde23a99d6cb7a3c17a163b3dbad2"}, - {file = "pydantic_core-2.1.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7684b5fb906b37e940c5df3f57118f32e033af5e4770e5ae2ae56fbd2fe1a30a"}, - {file = "pydantic_core-2.1.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3747a4178139ebf3f19541285b2eb7c886890ca4eb7eec851578c02a13cc1385"}, - {file = "pydantic_core-2.1.2-cp38-cp38-manylinux_2_24_armv7l.whl", hash = "sha256:e17056390068afd4583d88dcf4d4495764e4e2c7d756464468e0d21abcb8931e"}, - {file = "pydantic_core-2.1.2-cp38-cp38-manylinux_2_24_ppc64le.whl", hash = "sha256:c720e55cef609d50418bdfdfb5c44a76efc020ae7455505788d0113c54c7df55"}, - {file = "pydantic_core-2.1.2-cp38-cp38-manylinux_2_24_s390x.whl", hash = "sha256:b59a64c367f350873c40a126ffe9184d903d2126c701380b4b55753484df5948"}, - {file = "pydantic_core-2.1.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:68a2a767953c707d9575dcf14d8edee7930527ee0141a8bb612c22d1f1059f9a"}, - {file = "pydantic_core-2.1.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:a4ae46769d9a7138d58cd190441cac14ce954010a0081f28462ed916c8e55a4f"}, - {file = "pydantic_core-2.1.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fc909f62325a631e1401dd07dfc386986dbcac15f98c9ff2145d930678a9d25a"}, - {file = "pydantic_core-2.1.2-cp38-none-win32.whl", hash = "sha256:b4038869ba1d8fa33863b4b1286ab07e6075a641ae269b865f94d7e10b3e800e"}, - {file = "pydantic_core-2.1.2-cp38-none-win_amd64.whl", hash = "sha256:5948af62f323252d56acaec8ebfca5f15933f6b72f8dbe3bf21ee97b2d10e3f0"}, - {file = "pydantic_core-2.1.2-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:8e6ce261ccb9a986953c4dce070327e4954f9dd4cd214746dfc70efbc713b6a1"}, - {file = "pydantic_core-2.1.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d35d634d9d1ed280c87bc2a7a6217b8787eedc86f368fc2fa1c0c8c78f7d3c93"}, - {file = "pydantic_core-2.1.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0be2e2812a43205728a06c9d0fd090432cd76a9bb5bff2bfcfdf8b0e27d51851"}, - {file = "pydantic_core-2.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0eb54b11cd4fe0c6404611eef77086ade03eb1457e92910bbb4f3479efa3f79"}, - {file = "pydantic_core-2.1.2-cp39-cp39-manylinux_2_24_armv7l.whl", hash = "sha256:087ddbb754575618a8832ee4ab52fe7eb332f502e2a56088b53dbeb5c4efdf9f"}, - {file = "pydantic_core-2.1.2-cp39-cp39-manylinux_2_24_ppc64le.whl", hash = "sha256:b74906e01c7fc938ac889588ef438de812989817095c3c4904721f647d64a4d1"}, - {file = "pydantic_core-2.1.2-cp39-cp39-manylinux_2_24_s390x.whl", hash = "sha256:60b7239206a2f61ad89c7518adfacb3ccd6662eaa07c5e437317aea2615a1f18"}, - {file = "pydantic_core-2.1.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:be3419204952bbe9b72b90008977379c52f99ae1c6e640488de4be783c345d71"}, - {file = "pydantic_core-2.1.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:804cf8f6a859620f8eb754c02f7770f61c3e9c519f8338c331d555b3d6976e3c"}, - {file = "pydantic_core-2.1.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:cbba32fb14e199d0493c6b9c44870dab0a9c37af9f0f729068459d1849279ffd"}, - {file = "pydantic_core-2.1.2-cp39-none-win32.whl", hash = "sha256:6bf00f56a4468f5b03dadb672a5f1d24aea303d4ccffe8a0f548c9e36017edd3"}, - {file = "pydantic_core-2.1.2-cp39-none-win_amd64.whl", hash = "sha256:ac462a28218ea7d592c7ad51b517558f4ac6565a4e53db7a4811eeaf9c9660b0"}, - {file = "pydantic_core-2.1.2-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:047e782b9918f35ef534ced36f1fd2064f5581229b7a15e4d3177387a6b53134"}, - {file = "pydantic_core-2.1.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c0213891898fa5b404cf3edf4797e3ac7819a0708ea5473fc6432a2aa27c189"}, - {file = "pydantic_core-2.1.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0f481aaf0119f77b200e5a5e2799b3e14c015a317eaa948f42263908735cc9f"}, - {file = "pydantic_core-2.1.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:15eb4cb543ed36f6a4f16e3bee7aa7ed1c3757be95a3f3bbb2b82b9887131e0f"}, - {file = "pydantic_core-2.1.2-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:ef71e73a81a4cd7e87c93e8ff0170140fd93ba33b0f61e83da3f55f6e0a84fb4"}, - {file = "pydantic_core-2.1.2-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:840238c845b0f80777151fef0003088ab91c6f7b3467edaff4932b425c4e3c3f"}, - {file = "pydantic_core-2.1.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:7648e48ba263ca0a8a2dc55a60a219c9133fb101ba52c89a14a29fb3d4322ca3"}, - {file = "pydantic_core-2.1.2-pp37-pypy37_pp73-macosx_10_7_x86_64.whl", hash = "sha256:8eb4e2b71562375609c66a79f89acd4fe95c5cba23473d04952c8b14b6f908f5"}, - {file = "pydantic_core-2.1.2-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5056afea59651c4e47ec6dadbb77ccae4742c059a3d12bc1c0e393d189d2970d"}, - {file = "pydantic_core-2.1.2-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:46cd323371aa7e4053010ccdb94063a4273aa9e5dbe97f8a1147faa769de8d8d"}, - {file = "pydantic_core-2.1.2-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:aa39499625239da4ec960cf4fc66b023929b24cc77fb8520289cfdb3c1986428"}, - {file = "pydantic_core-2.1.2-pp37-pypy37_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:f5de2d4167fd4bc5ad205fb7297e25867b8e335ca08d64ed7a561d2955a2c32d"}, - {file = "pydantic_core-2.1.2-pp37-pypy37_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:9a5fba9168fc27805553760fa8198db46eef83bf52b4e87ebbe1333b823d0e70"}, - {file = "pydantic_core-2.1.2-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:e68a404fad8493989d6f07b7b9e066f1d2524d7cb64db2d4e9a84c920032c67f"}, - {file = "pydantic_core-2.1.2-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:1a5c4475510d1a9cc1458a26cfc21442223e52ce9adb640775c38739315d03c7"}, - {file = "pydantic_core-2.1.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0681472245ef182554208a25d16884c84f1c5a69f14e6169b88932e5da739a1c"}, - {file = "pydantic_core-2.1.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e7fd334b40c5e13a97becfcaba314de0dcc6f7fe21ec8f992139bcc64700e9dc"}, - {file = "pydantic_core-2.1.2-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:7345b1741bf66a9d8ed0ec291c3eabd534444e139e1ea6db5742ac9fd3be2530"}, - {file = "pydantic_core-2.1.2-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:0855cf8b760fb40f97f0226cb527c8a94a2ab9d8179628beae20d6939aaeacb0"}, - {file = "pydantic_core-2.1.2-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:d281a10837d98db997c0247f45d138522c91ce30cf3ae7a6afdb5e709707d360"}, - {file = "pydantic_core-2.1.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:82e09f27edab289187dd924d4d93f2a35f21aa969699b2504aa643da7fbfeff9"}, - {file = "pydantic_core-2.1.2-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:aa54902fa51f7d921ba80923cf1c7ff3dce796a7903300bd8824deb90e357744"}, - {file = "pydantic_core-2.1.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b9a5fc4058d64c9c826684dcdb43891c1b474a4a88dcf8dfc3e1fb5889496f8"}, - {file = "pydantic_core-2.1.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:817681d111cb65f07d46496eafec815f48e1aff37713b73135a0a9eb4d3610ab"}, - {file = "pydantic_core-2.1.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0b5d37aedea5963f2097bddbcdb255483191646a52d40d8bb66d61c190fcac91"}, - {file = "pydantic_core-2.1.2-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:f2de65752fff248319bcd3b29da24e205fa505607539fcd4acc4037355175b63"}, - {file = "pydantic_core-2.1.2-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:a8b9c2cc4c5f8169b943d24be4bd1548fe81c016d704126e3a3124a2fc164885"}, - {file = "pydantic_core-2.1.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:f7bcdf70c8b6e70be11c78d3c00b80a24cccfb408128f23e91ec3019bed1ecc1"}, - {file = "pydantic_core-2.1.2.tar.gz", hash = "sha256:d2c790f0d928b672484eac4f5696dd0b78f3d6d148a641ea196eb49c0875e30a"}, + {file = "pydantic_core-2.4.0-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:2ca4687dd996bde7f3c420def450797feeb20dcee2b9687023e3323c73fc14a2"}, + {file = "pydantic_core-2.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:782fced7d61469fd1231b184a80e4f2fa7ad54cd7173834651a453f96f29d673"}, + {file = "pydantic_core-2.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6213b471b68146af97b8551294e59e7392c2117e28ffad9c557c65087f4baee3"}, + {file = "pydantic_core-2.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:63797499a219d8e81eb4e0c42222d0a4c8ec896f5c76751d4258af95de41fdf1"}, + {file = "pydantic_core-2.4.0-cp310-cp310-manylinux_2_24_armv7l.whl", hash = "sha256:0455876d575a35defc4da7e0a199596d6c773e20d3d42fa1fc29f6aa640369ed"}, + {file = "pydantic_core-2.4.0-cp310-cp310-manylinux_2_24_ppc64le.whl", hash = "sha256:8c938c96294d983dcf419b54dba2d21056959c22911d41788efbf949a29ae30d"}, + {file = "pydantic_core-2.4.0-cp310-cp310-manylinux_2_24_s390x.whl", hash = "sha256:878a5017d93e776c379af4e7b20f173c82594d94fa073059bcc546789ad50bf8"}, + {file = "pydantic_core-2.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:69159afc2f2dc43285725f16143bc5df3c853bc1cb7df6021fce7ef1c69e8171"}, + {file = "pydantic_core-2.4.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:54df7df399b777c1fd144f541c95d351b3aa110535a6810a6a569905d106b6f3"}, + {file = "pydantic_core-2.4.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:e412607ca89a0ced10758dfb8f9adcc365ce4c1c377e637c01989a75e9a9ec8a"}, + {file = "pydantic_core-2.4.0-cp310-none-win32.whl", hash = "sha256:853f103e2b9a58832fdd08a587a51de8b552ae90e1a5d167f316b7eabf8d7dde"}, + {file = "pydantic_core-2.4.0-cp310-none-win_amd64.whl", hash = "sha256:3ba2c9c94a9176f6321a879c8b864d7c5b12d34f549a4c216c72ce213d7d953c"}, + {file = "pydantic_core-2.4.0-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:a8b7acd04896e8f161e1500dc5f218017db05c1d322f054e89cbd089ce5d0071"}, + {file = "pydantic_core-2.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:16468bd074fa4567592d3255bf25528ed41e6b616d69bf07096bdb5b66f947d1"}, + {file = "pydantic_core-2.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cba5ad5eef02c86a1f3da00544cbc59a510d596b27566479a7cd4d91c6187a11"}, + {file = "pydantic_core-2.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b7206e41e04b443016e930e01685bab7a308113c0b251b3f906942c8d4b48fcb"}, + {file = "pydantic_core-2.4.0-cp311-cp311-manylinux_2_24_armv7l.whl", hash = "sha256:c1375025f0bfc9155286ebae8eecc65e33e494c90025cda69e247c3ccd2bab00"}, + {file = "pydantic_core-2.4.0-cp311-cp311-manylinux_2_24_ppc64le.whl", hash = "sha256:3534118289e33130ed3f1cc487002e8d09b9f359be48b02e9cd3de58ce58fba9"}, + {file = "pydantic_core-2.4.0-cp311-cp311-manylinux_2_24_s390x.whl", hash = "sha256:94d2b36a74623caab262bf95f0e365c2c058396082bd9d6a9e825657d0c1e7fa"}, + {file = "pydantic_core-2.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:af24ad4fbaa5e4a2000beae0c3b7fd1c78d7819ab90f9370a1cfd8998e3f8a3c"}, + {file = "pydantic_core-2.4.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:bf10963d8aed8bbe0165b41797c9463d4c5c8788ae6a77c68427569be6bead41"}, + {file = "pydantic_core-2.4.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:68199ada7c310ddb8c76efbb606a0de656b40899388a7498954f423e03fc38be"}, + {file = "pydantic_core-2.4.0-cp311-none-win32.whl", hash = "sha256:6f855bcc96ed3dd56da7373cfcc9dcbabbc2073cac7f65c185772d08884790ce"}, + {file = "pydantic_core-2.4.0-cp311-none-win_amd64.whl", hash = "sha256:de39eb3bab93a99ddda1ac1b9aa331b944d8bcc4aa9141148f7fd8ee0299dafc"}, + {file = "pydantic_core-2.4.0-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:f773b39780323a0499b53ebd91a28ad11cde6705605d98d999dfa08624caf064"}, + {file = "pydantic_core-2.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a297c0d6c61963c5c3726840677b798ca5b7dfc71bc9c02b9a4af11d23236008"}, + {file = "pydantic_core-2.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:546064c55264156b973b5e65e5fafbe5e62390902ce3cf6b4005765505e8ff56"}, + {file = "pydantic_core-2.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:36ba9e728588588f0196deaf6751b9222492331b5552f865a8ff120869d372e0"}, + {file = "pydantic_core-2.4.0-cp312-cp312-manylinux_2_24_armv7l.whl", hash = "sha256:57a53a75010c635b3ad6499e7721eaa3b450e03f6862afe2dbef9c8f66e46ec8"}, + {file = "pydantic_core-2.4.0-cp312-cp312-manylinux_2_24_ppc64le.whl", hash = "sha256:4b262bbc13022f2097c48a21adcc360a81d83dc1d854c11b94953cd46d7d3c07"}, + {file = "pydantic_core-2.4.0-cp312-cp312-manylinux_2_24_s390x.whl", hash = "sha256:01947ad728f426fa07fcb26457ebf90ce29320259938414bc0edd1476e75addb"}, + {file = "pydantic_core-2.4.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b2799c2eaf182769889761d4fb4d78b82bc47dae833799fedbf69fc7de306faa"}, + {file = "pydantic_core-2.4.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:a08fd490ba36d1fbb2cd5dcdcfb9f3892deb93bd53456724389135712b5fc735"}, + {file = "pydantic_core-2.4.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:1e8a7c62d15a5c4b307271e4252d76ebb981d6251c6ecea4daf203ef0179ea4f"}, + {file = "pydantic_core-2.4.0-cp312-none-win32.whl", hash = "sha256:9206c14a67c38de7b916e486ae280017cf394fa4b1aa95cfe88621a4e1d79725"}, + {file = "pydantic_core-2.4.0-cp312-none-win_amd64.whl", hash = "sha256:884235507549a6b2d3c4113fb1877ae263109e787d9e0eb25c35982ab28d0399"}, + {file = "pydantic_core-2.4.0-cp37-cp37m-macosx_10_7_x86_64.whl", hash = "sha256:4cbe929efa77a806e8f1a97793f2dc3ea3475ae21a9ed0f37c21320fe93f6f50"}, + {file = "pydantic_core-2.4.0-cp37-cp37m-macosx_11_0_arm64.whl", hash = "sha256:9137289de8fe845c246a8c3482dd0cb40338846ba683756d8f489a4bd8fddcae"}, + {file = "pydantic_core-2.4.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5d8e764b5646623e57575f624f8ebb8f7a9f7fd1fae682ef87869ca5fec8dcf"}, + {file = "pydantic_core-2.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8fba0aff4c407d0274e43697e785bcac155ad962be57518d1c711f45e72da70f"}, + {file = "pydantic_core-2.4.0-cp37-cp37m-manylinux_2_24_armv7l.whl", hash = "sha256:30527d173e826f2f7651f91c821e337073df1555e3b5a0b7b1e2c39e26e50678"}, + {file = "pydantic_core-2.4.0-cp37-cp37m-manylinux_2_24_ppc64le.whl", hash = "sha256:bd7d1dde70ff3e09e4bc7a1cbb91a7a538add291bfd5b3e70ef1e7b45192440f"}, + {file = "pydantic_core-2.4.0-cp37-cp37m-manylinux_2_24_s390x.whl", hash = "sha256:72f1216ca8cef7b8adacd4c4c6b89c3b0c4f97503197f5284c80f36d6e4edd30"}, + {file = "pydantic_core-2.4.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b013c7861a7c7bfcec48fd709513fea6f9f31727e7a0a93ca0dd12e056740717"}, + {file = "pydantic_core-2.4.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:478f5f6d7e32bd4a04d102160efb2d389432ecf095fe87c555c0a6fc4adfc1a4"}, + {file = "pydantic_core-2.4.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d9610b47b5fe4aacbbba6a9cb5f12cbe864eec99dbfed5710bd32ef5dd8a5d5b"}, + {file = "pydantic_core-2.4.0-cp37-none-win32.whl", hash = "sha256:ff246c0111076c8022f9ba325c294f2cb5983403506989253e04dbae565e019b"}, + {file = "pydantic_core-2.4.0-cp37-none-win_amd64.whl", hash = "sha256:d0c2b713464a8e263a243ae7980d81ce2de5ac59a9f798a282e44350b42dc516"}, + {file = "pydantic_core-2.4.0-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:12ef6838245569fd60a179fade81ca4b90ae2fa0ef355d616f519f7bb27582db"}, + {file = "pydantic_core-2.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:49db206eb8fdc4b4f30e6e3e410584146d813c151928f94ec0db06c4f2595538"}, + {file = "pydantic_core-2.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a507d7fa44688bbac76af6521e488b3da93de155b9cba6f2c9b7833ce243d59"}, + {file = "pydantic_core-2.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ffe18407a4d000c568182ce5388bbbedeb099896904e43fc14eee76cfae6dec5"}, + {file = "pydantic_core-2.4.0-cp38-cp38-manylinux_2_24_armv7l.whl", hash = "sha256:fa8e48001b39d54d97d7b380a0669fa99fc0feeb972e35a2d677ba59164a9a22"}, + {file = "pydantic_core-2.4.0-cp38-cp38-manylinux_2_24_ppc64le.whl", hash = "sha256:394f12a2671ff8c4dfa2e85be6c08be0651ad85bc1e6aa9c77c21671baaf28cd"}, + {file = "pydantic_core-2.4.0-cp38-cp38-manylinux_2_24_s390x.whl", hash = "sha256:2f9ea0355f90db2a76af530245fa42f04d98f752a1236ed7c6809ec484560d5b"}, + {file = "pydantic_core-2.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:61d4e713f467abcdd59b47665d488bb898ad3dd47ce7446522a50e0cbd8e8279"}, + {file = "pydantic_core-2.4.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:453862ab268f6326b01f067ed89cb3a527d34dc46f6f4eeec46a15bbc706d0da"}, + {file = "pydantic_core-2.4.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:56a85fa0dab1567bd0cac10f0c3837b03e8a0d939e6a8061a3a420acd97e9421"}, + {file = "pydantic_core-2.4.0-cp38-none-win32.whl", hash = "sha256:0d726108c1c0380b88b6dd4db559f0280e0ceda9e077f46ff90bc85cd4d03e77"}, + {file = "pydantic_core-2.4.0-cp38-none-win_amd64.whl", hash = "sha256:047580388644c473b934d27849f8ed8dbe45df0adb72104e78b543e13bf69762"}, + {file = "pydantic_core-2.4.0-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:867d3eea954bea807cabba83cfc939c889a18576d66d197c60025b15269d7cc0"}, + {file = "pydantic_core-2.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:664402ef0c238a7f8a46efb101789d5f2275600fb18114446efec83cfadb5b66"}, + {file = "pydantic_core-2.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:64e8012ad60a5f0da09ed48725e6e923d1be25f2f091a640af6079f874663813"}, + {file = "pydantic_core-2.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac2b680de398f293b68183317432b3d67ab3faeba216aec18de0c395cb5e3060"}, + {file = "pydantic_core-2.4.0-cp39-cp39-manylinux_2_24_armv7l.whl", hash = "sha256:8efc1be43b036c2b6bcfb1451df24ee0ddcf69c31351003daf2699ed93f5687b"}, + {file = "pydantic_core-2.4.0-cp39-cp39-manylinux_2_24_ppc64le.whl", hash = "sha256:d93aedbc4614cc21b9ab0d0c4ccd7143354c1f7cffbbe96ae5216ad21d1b21b5"}, + {file = "pydantic_core-2.4.0-cp39-cp39-manylinux_2_24_s390x.whl", hash = "sha256:af788b64e13d52fc3600a68b16d31fa8d8573e3ff2fc9a38f8a60b8d94d1f012"}, + {file = "pydantic_core-2.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:97c6349c81cee2e69ef59eba6e6c08c5936e6b01c2d50b9e4ac152217845ae09"}, + {file = "pydantic_core-2.4.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:cc086ddb6dc654a15deeed1d1f2bcb1cb924ebd70df9dca738af19f64229b06c"}, + {file = "pydantic_core-2.4.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:e953353180bec330c3b830891d260b6f8e576e2d18db3c78d314e56bb2276066"}, + {file = "pydantic_core-2.4.0-cp39-none-win32.whl", hash = "sha256:6feb4b64d11d5420e517910d60a907d08d846cacaf4e029668725cd21d16743c"}, + {file = "pydantic_core-2.4.0-cp39-none-win_amd64.whl", hash = "sha256:153a61ac4030fa019b70b31fb7986461119230d3ba0ab661c757cfea652f4332"}, + {file = "pydantic_core-2.4.0-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:3fcf529382b282a30b466bd7af05be28e22aa620e016135ac414f14e1ee6b9e1"}, + {file = "pydantic_core-2.4.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2edef05b63d82568b877002dc4cb5cc18f8929b59077120192df1e03e0c633f8"}, + {file = "pydantic_core-2.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da055a1b0bfa8041bb2ff586b2cb0353ed03944a3472186a02cc44a557a0e661"}, + {file = "pydantic_core-2.4.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:77dadc764cf7c5405e04866181c5bd94a447372a9763e473abb63d1dfe9b7387"}, + {file = "pydantic_core-2.4.0-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:a4ea23b07f29487a7bef2a869f68c7ee0e05424d81375ce3d3de829314c6b5ec"}, + {file = "pydantic_core-2.4.0-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:382f0baa044d674ad59455a5eff83d7965572b745cc72df35c52c2ce8c731d37"}, + {file = "pydantic_core-2.4.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:08f89697625e453421401c7f661b9d1eb4c9e4c0a12fd256eeb55b06994ac6af"}, + {file = "pydantic_core-2.4.0-pp37-pypy37_pp73-macosx_10_7_x86_64.whl", hash = "sha256:43a405ce520b45941df9ff55d0cd09762017756a7b413bbad3a6e8178e64a2c2"}, + {file = "pydantic_core-2.4.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:584a7a818c84767af16ce8bda5d4f7fedb37d3d231fc89928a192f567e4ef685"}, + {file = "pydantic_core-2.4.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:04922fea7b13cd480586fa106345fe06e43220b8327358873c22d8dfa7a711c7"}, + {file = "pydantic_core-2.4.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:17156abac20a9feed10feec867fddd91a80819a485b0107fe61f09f2117fe5f3"}, + {file = "pydantic_core-2.4.0-pp37-pypy37_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:4e562cc63b04636cde361fd47569162f1daa94c759220ff202a8129902229114"}, + {file = "pydantic_core-2.4.0-pp37-pypy37_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:90f3785146f701e053bb6b9e8f53acce2c919aca91df88bd4975be0cb926eb41"}, + {file = "pydantic_core-2.4.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:e40b1e97edd3dc127aa53d8a5e539a3d0c227d71574d3f9ac1af02d58218a122"}, + {file = "pydantic_core-2.4.0-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:b27f3e67f6e031f6620655741b7d0d6bebea8b25d415924b3e8bfef2dd7bd841"}, + {file = "pydantic_core-2.4.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:be86c2eb12fb0f846262ace9d8f032dc6978b8cb26a058920ecb723dbcb87d05"}, + {file = "pydantic_core-2.4.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4665f7ed345012a8d2eddf4203ef145f5f56a291d010382d235b94e91813f88a"}, + {file = "pydantic_core-2.4.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:79262be5a292d1df060f29b9a7cdd66934801f987a817632d7552534a172709a"}, + {file = "pydantic_core-2.4.0-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:5fd905a69ac74eaba5041e21a1e8b1a479dab2b41c93bdcc4c1cede3c12a8d86"}, + {file = "pydantic_core-2.4.0-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:2ad538b7e07343001934417cdc8584623b4d8823c5b8b258e75ec8d327cec969"}, + {file = "pydantic_core-2.4.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:dd2429f7635ad4857b5881503f9c310be7761dc681c467a9d27787b674d1250a"}, + {file = "pydantic_core-2.4.0-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:efff8b6761a1f6e45cebd1b7a6406eb2723d2d5710ff0d1b624fe11313693989"}, + {file = "pydantic_core-2.4.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32a1e0352558cd7ccc014ffe818c7d87b15ec6145875e2cc5fa4bb7351a1033d"}, + {file = "pydantic_core-2.4.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a027f41c5008571314861744d83aff75a34cf3a07022e0be32b214a5bc93f7f1"}, + {file = "pydantic_core-2.4.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1927f0e15d190f11f0b8344373731e28fd774c6d676d8a6cfadc95c77214a48b"}, + {file = "pydantic_core-2.4.0-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:7aa82d483d5fb867d4fb10a138ffd57b0f1644e99f2f4f336e48790ada9ada5e"}, + {file = "pydantic_core-2.4.0-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:b85778308bf945e9b33ac604e6793df9b07933108d20bdf53811bc7c2798a4af"}, + {file = "pydantic_core-2.4.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:3ded19dcaefe2f6706d81e0db787b59095f4ad0fbadce1edffdf092294c8a23f"}, + {file = "pydantic_core-2.4.0.tar.gz", hash = "sha256:ec3473c9789cc00c7260d840c3db2c16dbfc816ca70ec87a00cddfa3e1a1cdd5"}, ] [package.dependencies] @@ -1608,14 +1608,14 @@ requests = ">=2.14.0" [[package]] name = "pyjwt" -version = "2.7.0" +version = "2.8.0" description = "JSON Web Token implementation in Python" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "PyJWT-2.7.0-py3-none-any.whl", hash = "sha256:ba2b425b15ad5ef12f200dc67dd56af4e26de2331f965c5439994dad075876e1"}, - {file = "PyJWT-2.7.0.tar.gz", hash = "sha256:bd6ca4a3c4285c1a2d4349e5a035fdf8fb94e04ccd0fcbe6ba289dae9cc3e074"}, + {file = "PyJWT-2.8.0-py3-none-any.whl", hash = "sha256:59127c392cc44c2da5bb3192169a91f429924e17aff6534d70fdc02ab3e04320"}, + {file = "PyJWT-2.8.0.tar.gz", hash = "sha256:57e28d156e3d5c10088e0c68abb90bfac3df82b40a71bd0daa20c65ccd5c23de"}, ] [package.dependencies] @@ -1702,14 +1702,14 @@ files = [ [[package]] name = "pysnooper" -version = "1.1.1" +version = "1.2.0" description = "A poor man's debugger for Python." category = "main" optional = false python-versions = "*" files = [ - {file = "PySnooper-1.1.1-py2.py3-none-any.whl", hash = "sha256:378f13d731a3e04d3d0350e5f295bdd0f1b49fc8a8b8bf2067fe1e5290bd20be"}, - {file = "PySnooper-1.1.1.tar.gz", hash = "sha256:d17dc91cca1593c10230dce45e46b1d3ff0f8910f0c38e941edf6ba1260b3820"}, + {file = "PySnooper-1.2.0-py2.py3-none-any.whl", hash = "sha256:aa859aa9a746cffc1f35e4ee469d49c3cc5185b5fc0c571feb3af3c94d2eb625"}, + {file = "PySnooper-1.2.0.tar.gz", hash = "sha256:810669e162a250a066d8662e573adbc5af770e937c5b5578f28bb7355d1c859b"}, ] [package.extras] @@ -1800,64 +1800,64 @@ files = [ [[package]] name = "pyyaml" -version = "6.0" +version = "6.0.1" description = "YAML parser and emitter for Python" category = "main" optional = false python-versions = ">=3.6" files = [ - {file = "PyYAML-6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53"}, - {file = "PyYAML-6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c"}, - {file = "PyYAML-6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77f396e6ef4c73fdc33a9157446466f1cff553d979bd00ecb64385760c6babdc"}, - {file = "PyYAML-6.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a80a78046a72361de73f8f395f1f1e49f956c6be882eed58505a15f3e430962b"}, - {file = "PyYAML-6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5"}, - {file = "PyYAML-6.0-cp310-cp310-win32.whl", hash = "sha256:2cd5df3de48857ed0544b34e2d40e9fac445930039f3cfe4bcc592a1f836d513"}, - {file = "PyYAML-6.0-cp310-cp310-win_amd64.whl", hash = "sha256:daf496c58a8c52083df09b80c860005194014c3698698d1a57cbcfa182142a3a"}, - {file = "PyYAML-6.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d4b0ba9512519522b118090257be113b9468d804b19d63c71dbcf4a48fa32358"}, - {file = "PyYAML-6.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:81957921f441d50af23654aa6c5e5eaf9b06aba7f0a19c18a538dc7ef291c5a1"}, - {file = "PyYAML-6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:afa17f5bc4d1b10afd4466fd3a44dc0e245382deca5b3c353d8b757f9e3ecb8d"}, - {file = "PyYAML-6.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dbad0e9d368bb989f4515da330b88a057617d16b6a8245084f1b05400f24609f"}, - {file = "PyYAML-6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:432557aa2c09802be39460360ddffd48156e30721f5e8d917f01d31694216782"}, - {file = "PyYAML-6.0-cp311-cp311-win32.whl", hash = "sha256:bfaef573a63ba8923503d27530362590ff4f576c626d86a9fed95822a8255fd7"}, - {file = "PyYAML-6.0-cp311-cp311-win_amd64.whl", hash = "sha256:01b45c0191e6d66c470b6cf1b9531a771a83c1c4208272ead47a3ae4f2f603bf"}, - {file = "PyYAML-6.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:897b80890765f037df3403d22bab41627ca8811ae55e9a722fd0392850ec4d86"}, - {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50602afada6d6cbfad699b0c7bb50d5ccffa7e46a3d738092afddc1f9758427f"}, - {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:48c346915c114f5fdb3ead70312bd042a953a8ce5c7106d5bfb1a5254e47da92"}, - {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:98c4d36e99714e55cfbaaee6dd5badbc9a1ec339ebfc3b1f52e293aee6bb71a4"}, - {file = "PyYAML-6.0-cp36-cp36m-win32.whl", hash = "sha256:0283c35a6a9fbf047493e3a0ce8d79ef5030852c51e9d911a27badfde0605293"}, - {file = "PyYAML-6.0-cp36-cp36m-win_amd64.whl", hash = "sha256:07751360502caac1c067a8132d150cf3d61339af5691fe9e87803040dbc5db57"}, - {file = "PyYAML-6.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:819b3830a1543db06c4d4b865e70ded25be52a2e0631ccd2f6a47a2822f2fd7c"}, - {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:473f9edb243cb1935ab5a084eb238d842fb8f404ed2193a915d1784b5a6b5fc0"}, - {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0ce82d761c532fe4ec3f87fc45688bdd3a4c1dc5e0b4a19814b9009a29baefd4"}, - {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:231710d57adfd809ef5d34183b8ed1eeae3f76459c18fb4a0b373ad56bedcdd9"}, - {file = "PyYAML-6.0-cp37-cp37m-win32.whl", hash = "sha256:c5687b8d43cf58545ade1fe3e055f70eac7a5a1a0bf42824308d868289a95737"}, - {file = "PyYAML-6.0-cp37-cp37m-win_amd64.whl", hash = "sha256:d15a181d1ecd0d4270dc32edb46f7cb7733c7c508857278d3d378d14d606db2d"}, - {file = "PyYAML-6.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0b4624f379dab24d3725ffde76559cff63d9ec94e1736b556dacdfebe5ab6d4b"}, - {file = "PyYAML-6.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:213c60cd50106436cc818accf5baa1aba61c0189ff610f64f4a3e8c6726218ba"}, - {file = "PyYAML-6.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9fa600030013c4de8165339db93d182b9431076eb98eb40ee068700c9c813e34"}, - {file = "PyYAML-6.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:277a0ef2981ca40581a47093e9e2d13b3f1fbbeffae064c1d21bfceba2030287"}, - {file = "PyYAML-6.0-cp38-cp38-win32.whl", hash = "sha256:d4eccecf9adf6fbcc6861a38015c2a64f38b9d94838ac1810a9023a0609e1b78"}, - {file = "PyYAML-6.0-cp38-cp38-win_amd64.whl", hash = "sha256:1e4747bc279b4f613a09eb64bba2ba602d8a6664c6ce6396a4d0cd413a50ce07"}, - {file = "PyYAML-6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:055d937d65826939cb044fc8c9b08889e8c743fdc6a32b33e2390f66013e449b"}, - {file = "PyYAML-6.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e61ceaab6f49fb8bdfaa0f92c4b57bcfbea54c09277b1b4f7ac376bfb7a7c174"}, - {file = "PyYAML-6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d67d839ede4ed1b28a4e8909735fc992a923cdb84e618544973d7dfc71540803"}, - {file = "PyYAML-6.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cba8c411ef271aa037d7357a2bc8f9ee8b58b9965831d9e51baf703280dc73d3"}, - {file = "PyYAML-6.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0"}, - {file = "PyYAML-6.0-cp39-cp39-win32.whl", hash = "sha256:b5b9eccad747aabaaffbc6064800670f0c297e52c12754eb1d976c57e4f74dcb"}, - {file = "PyYAML-6.0-cp39-cp39-win_amd64.whl", hash = "sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c"}, - {file = "PyYAML-6.0.tar.gz", hash = "sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2"}, + {file = "PyYAML-6.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a"}, + {file = "PyYAML-6.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f"}, + {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"}, + {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"}, + {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"}, + {file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"}, + {file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"}, + {file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"}, + {file = "PyYAML-6.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab"}, + {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"}, + {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"}, + {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"}, + {file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"}, + {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, + {file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"}, + {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"}, + {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"}, + {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd"}, + {file = "PyYAML-6.0.1-cp36-cp36m-win32.whl", hash = "sha256:fca0e3a251908a499833aa292323f32437106001d436eca0e6e7833256674585"}, + {file = "PyYAML-6.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa"}, + {file = "PyYAML-6.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3"}, + {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27"}, + {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3"}, + {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:baa90d3f661d43131ca170712d903e6295d1f7a0f595074f151c0aed377c9b9c"}, + {file = "PyYAML-6.0.1-cp37-cp37m-win32.whl", hash = "sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba"}, + {file = "PyYAML-6.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867"}, + {file = "PyYAML-6.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595"}, + {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"}, + {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"}, + {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"}, + {file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"}, + {file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"}, + {file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"}, + {file = "PyYAML-6.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859"}, + {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"}, + {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"}, + {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"}, + {file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"}, + {file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"}, + {file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"}, ] [[package]] name = "referencing" -version = "0.29.1" +version = "0.30.0" description = "JSON Referencing + Python" category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "referencing-0.29.1-py3-none-any.whl", hash = "sha256:d3c8f323ee1480095da44d55917cfb8278d73d6b4d5f677e3e40eb21314ac67f"}, - {file = "referencing-0.29.1.tar.gz", hash = "sha256:90cb53782d550ba28d2166ef3f55731f38397def8832baac5d45235f1995e35e"}, + {file = "referencing-0.30.0-py3-none-any.whl", hash = "sha256:c257b08a399b6c2f5a3510a50d28ab5dbc7bbde049bcaf954d43c446f83ab548"}, + {file = "referencing-0.30.0.tar.gz", hash = "sha256:47237742e990457f7512c7d27486394a9aadaf876cbfaa4be65b27b4f4d47c6b"}, ] [package.dependencies] @@ -1903,87 +1903,109 @@ six = "*" [[package]] name = "rpds-py" -version = "0.8.8" +version = "0.9.2" description = "Python bindings to Rust's persistent data structures (rpds)" category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "rpds_py-0.8.8-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:cea42c2f52e37877e6b877bce64d109a6b0213e32545ecc70d4492d2a4641b8f"}, - {file = "rpds_py-0.8.8-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b189640d59afa8aeff59865fa9d314bca97987c378950f215297e15d64ae1124"}, - {file = "rpds_py-0.8.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:87d74c2526115daa9d805a66377997602185a837ff7ecceed9d27e625c383572"}, - {file = "rpds_py-0.8.8-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:db71c665fc7ddb9ac53d7b69dc588493c0b71635b28fc8ff64b31eb9db5b3461"}, - {file = "rpds_py-0.8.8-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2d6a26953d3b291dd7e79e43bb203ed134ca889e63c8ebbc65e3ff98154303ef"}, - {file = "rpds_py-0.8.8-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3660bd2afb23e1ca685df0d3092208fe6c7b2cae8c0be199b3da6d1a4bc91dc5"}, - {file = "rpds_py-0.8.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b5164fdad37847e90683d3748dca7c4604f47ecd21e2d651dafc80393d1d314"}, - {file = "rpds_py-0.8.8-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0dfec14a64759186153115d987f9e60b1fa7e8e14a00004a02482e696199e554"}, - {file = "rpds_py-0.8.8-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d6696c2a002e982e89975063939a2579623d6d6b24634b147848ec9f35dad7d6"}, - {file = "rpds_py-0.8.8-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:13aed64f2e0bef04a0eae6d1d1295f901f6c1640d1e20264dc3b19d62ef1721d"}, - {file = "rpds_py-0.8.8-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:316a66b0379a9e954872593aa2eb6d61949da2ecc8f572b4dafb07aa0e247171"}, - {file = "rpds_py-0.8.8-cp310-none-win32.whl", hash = "sha256:e4e11f71673905d9e8735b8dd4ef8fa85a82e6003851fe46f9bdc51aebc2cd5d"}, - {file = "rpds_py-0.8.8-cp310-none-win_amd64.whl", hash = "sha256:6b1b235b890373f785507f8f6a644a4f191b7195939e7f6108dc0e5e4fab57fd"}, - {file = "rpds_py-0.8.8-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:d4334405f6c73c29ff94521f78ad53ebb76a9c1b8dafea75852f9f64c3679cf7"}, - {file = "rpds_py-0.8.8-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0df2ae878fd99342415a42659f3bcee34b12441a509033e0ab04c6e301895607"}, - {file = "rpds_py-0.8.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d2f8666fde7cfd9cdbc6c223876b39697d387f0215d12ed25147e9efec2dff5a"}, - {file = "rpds_py-0.8.8-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ea8c4a1232c7bacf73366b0490dda7f67d25958aec1c2f099b6753c8bfe84427"}, - {file = "rpds_py-0.8.8-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b5cbcbd6451a4af2048fc0b21c15981462f6a378cb039aa53612c6e39958064e"}, - {file = "rpds_py-0.8.8-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d418d2fd8c0fffe2897bc3e15a2e2ec87abf29076f0c36898cc33fb7881c2cbe"}, - {file = "rpds_py-0.8.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c97e4cbe722474d17c309ee49e09331ceffe345bb72e2b10c6c740788871b122"}, - {file = "rpds_py-0.8.8-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1f60a7eb96fedcc5bf59761d33ac0f2f127d75f8c4b99ed0f138fc0f3601c537"}, - {file = "rpds_py-0.8.8-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:b3ed0d3498b69159db0d5db1393c8bae4df51cf936b2ef5cda53d800acab0019"}, - {file = "rpds_py-0.8.8-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:22afed13c6ad4ccdc650ad44cbc06f835f4f30de201bd4ee2afc09bde06a357a"}, - {file = "rpds_py-0.8.8-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:78c5577f99d2edc9eed9ec39fae27b73d04d1b2462aff6f6b11207e0364fc40d"}, - {file = "rpds_py-0.8.8-cp311-none-win32.whl", hash = "sha256:42eb3030665ee7a5c03fd4db6b8db1983aa91bcdffbed0f4687751deb2a94a7c"}, - {file = "rpds_py-0.8.8-cp311-none-win_amd64.whl", hash = "sha256:7110854662ccf8db84b90e4624301ef5311cafff7e5f2a63f2d7cc0fc1a75b60"}, - {file = "rpds_py-0.8.8-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:d7e46f52272ceecc42c05ad869b068b2dbfb6eb5643bcccecd2327d3cded5a2e"}, - {file = "rpds_py-0.8.8-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7628b2080538faa4a1243b0002678cae7111af68ae7b5aa6cd8526762cace868"}, - {file = "rpds_py-0.8.8-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:657348b35a4c2e7c2340bf0bc37597900037bd87e9db7e6282711aaa77256e16"}, - {file = "rpds_py-0.8.8-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8ac1e47ee4cb2dbd714537e63c67086eec63f56b13208fe450ae5be4f3d65671"}, - {file = "rpds_py-0.8.8-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cafbfa8f3a27e592bdcc420497e0c9a957c9f812b6c6ebfb7f961409215ba82d"}, - {file = "rpds_py-0.8.8-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9af40bb89e40932e04c0cc1fb516249d6b3ae68ceebd984fdc592a6673244e50"}, - {file = "rpds_py-0.8.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5b7c87503843a036f898d44c47326a117d23b6269a9f1574adf83d7bb051b839"}, - {file = "rpds_py-0.8.8-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c0fe018430e5e8e1d8b513bcbccdb0ea34b9fd81c32b3a49c41a109fade17cfb"}, - {file = "rpds_py-0.8.8-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:c7019b2522af6b835118177b6b53f7ed08da28061aa5d44e06286be09799e7a4"}, - {file = "rpds_py-0.8.8-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:ac596301c7723809ecb6ec4cb2564b2cadc06f8c07b6348a56fcbf1ae043d751"}, - {file = "rpds_py-0.8.8-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:f8a1cc37e2395002381510a6862c29634acd67edfe5774661a6c48d8617acae7"}, - {file = "rpds_py-0.8.8-cp38-none-win32.whl", hash = "sha256:e261fa453ad50fe1d9287fa21d962cdbcd3d495cf1160dd0f893883040c455b6"}, - {file = "rpds_py-0.8.8-cp38-none-win_amd64.whl", hash = "sha256:e1700fba17dd63c9c7d5cb03cf838db23cf938dd5cdb1eecb6ba8b8da62c3e73"}, - {file = "rpds_py-0.8.8-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:25a4b357ba7540d7cc709915699d67d505c8177cdb30824127092e1b4886b504"}, - {file = "rpds_py-0.8.8-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f81a570a20f9fce617d728f4e3bdc05bfbb68afa2e795ec0c52544a7923de517"}, - {file = "rpds_py-0.8.8-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:246a410e540ce7f635c6ad1b7aa00b7dcfc966c5f97217e41092c3f764dac4bf"}, - {file = "rpds_py-0.8.8-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bfe98ad05400e7ac7a1df791645db08c66adc92d7a6449a406111303a265b71a"}, - {file = "rpds_py-0.8.8-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ddb5226b11f4fce98c6e47c07819fbbfdda6d3fd529cd176ad8a1e0b98a70b05"}, - {file = "rpds_py-0.8.8-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6ee396f63a1f540fb3aecb8cc698180d30573a661be47fb3fff45cbd2b5d4686"}, - {file = "rpds_py-0.8.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e85ea159f2d2132d4fcb71abb7df9683314f6073bf8ee9f9bd576440245e59c"}, - {file = "rpds_py-0.8.8-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ed823997c3300b541da0fcc9eee8fbe6740e07939ffa432824cfca287472d652"}, - {file = "rpds_py-0.8.8-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:4333b5c2801e44bf342207a7700378a1013f300116c9553ce1ffbc73047d2a02"}, - {file = "rpds_py-0.8.8-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:681ef7a21e6990583533c3a3038b7176f5e51e5d345fe2d9109b54f6bffcabcd"}, - {file = "rpds_py-0.8.8-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1891903e567d728175c0475a1f0ffc1d1580013b0b265b9e2f1b8c93d58b2d05"}, - {file = "rpds_py-0.8.8-cp39-none-win32.whl", hash = "sha256:ee42ce4ef46ea334ce8ab63d5a57c7fd78238c9c7293b3caa6dfedf11bd28773"}, - {file = "rpds_py-0.8.8-cp39-none-win_amd64.whl", hash = "sha256:0e8da63b9baa154ec9ddd6dd397893830d17e5812ceb50edbae8122d8ecb9f2e"}, - {file = "rpds_py-0.8.8-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:f1c84912d77b01651488bbe392df593b4c5852e213477e268ebbb7c799059d78"}, - {file = "rpds_py-0.8.8-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:180963bb3e1fcc6ed6313ece5e065f0df4021a7eb7016084d3cbc90cd2a8af3e"}, - {file = "rpds_py-0.8.8-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e1251d6690f356a305192089017da83999cded1d7e2405660d14c1dff976af7"}, - {file = "rpds_py-0.8.8-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:36266e2e49b36ec6cc148e36667030d8e7f1c009edd2ca978ab09ed9c5a7589a"}, - {file = "rpds_py-0.8.8-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7bd8dbc1c63668124e5e48e601d32f1053cfd5a86004ae0e55dc9ba8b1e7de29"}, - {file = "rpds_py-0.8.8-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0c62fdb01111da948e8446caaefebf2ca4307a58fcbc10039b48d0db7205397c"}, - {file = "rpds_py-0.8.8-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:79ac819182795a2168ed11075c7362de368f360244fb7cea8274c222b2d55365"}, - {file = "rpds_py-0.8.8-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b949e86affe17c8828d82936c51d7aa9b686511f9ac99a4b1de596d7140c8083"}, - {file = "rpds_py-0.8.8-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:fffd98c1fd6b38df35e471549c2486d826af0fda6ca55c0bbbb956b291e7f2ae"}, - {file = "rpds_py-0.8.8-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:9b331fa451d725258c1ad0ae6816cf36d55294e5cb68338cf91550b9a448a48f"}, - {file = "rpds_py-0.8.8-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:18a97bb7f211b247346983092186927c517153ac155c611f43ca83d5ee93a3e2"}, - {file = "rpds_py-0.8.8-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:df3097abf5fd09bfcd8f6fd02d052b25cc3e160b3ee71b6fbd831b2cd516c958"}, - {file = "rpds_py-0.8.8-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:961828c668140796c4963edb14cd968666d5414b9b5829997a4f475fd917906e"}, - {file = "rpds_py-0.8.8-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b5a55fd01f61df19e4f53fd67b63ca9bf47559632c3f7d4037faa06d3a6fed54"}, - {file = "rpds_py-0.8.8-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8f64ef5700ff8fded62b12d1ea55463031cc5a353b670ed7146126c6cbf28788"}, - {file = "rpds_py-0.8.8-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a747477838a90b9264f434b5399309f9badb32c80ff3e9c4f6d5b87fddcbaa09"}, - {file = "rpds_py-0.8.8-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:358c7a976482537d26fcbdc7808e7cc25f64816fe89681f9aa8bef13e16c7370"}, - {file = "rpds_py-0.8.8-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e086610118163400a1822af0ee857581c0e047aa50a9c3543d17fbe65183a339"}, - {file = "rpds_py-0.8.8-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:755a837fb7053dbf511fba26343423bd80d3b75a5d7f57f6e407c2fe5ae46682"}, - {file = "rpds_py-0.8.8-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:247a1fd9bcdb373380cb8c0041417c9995fc163c9d88a39f5ec3d960114aca22"}, - {file = "rpds_py-0.8.8-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:c26b1a0425c038cc23cf5770a47d7a7382fe68d6d10fb2a52c2896ca94e72550"}, - {file = "rpds_py-0.8.8-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:4c66a5f9ca9c5fcb2527ad969541521f7216db713a7bd63aee52c3f5efa5924a"}, - {file = "rpds_py-0.8.8.tar.gz", hash = "sha256:300b8579740b06e246238b730e636f314a7d8dc475be1868650f5d3ddc29a0d8"}, + {file = "rpds_py-0.9.2-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:ab6919a09c055c9b092798ce18c6c4adf49d24d4d9e43a92b257e3f2548231e7"}, + {file = "rpds_py-0.9.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d55777a80f78dd09410bd84ff8c95ee05519f41113b2df90a69622f5540c4f8b"}, + {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a216b26e5af0a8e265d4efd65d3bcec5fba6b26909014effe20cd302fd1138fa"}, + {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:29cd8bfb2d716366a035913ced99188a79b623a3512292963d84d3e06e63b496"}, + {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:44659b1f326214950a8204a248ca6199535e73a694be8d3e0e869f820767f12f"}, + {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:745f5a43fdd7d6d25a53ab1a99979e7f8ea419dfefebcab0a5a1e9095490ee5e"}, + {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a987578ac5214f18b99d1f2a3851cba5b09f4a689818a106c23dbad0dfeb760f"}, + {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:bf4151acb541b6e895354f6ff9ac06995ad9e4175cbc6d30aaed08856558201f"}, + {file = "rpds_py-0.9.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:03421628f0dc10a4119d714a17f646e2837126a25ac7a256bdf7c3943400f67f"}, + {file = "rpds_py-0.9.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:13b602dc3e8dff3063734f02dcf05111e887f301fdda74151a93dbbc249930fe"}, + {file = "rpds_py-0.9.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:fae5cb554b604b3f9e2c608241b5d8d303e410d7dfb6d397c335f983495ce7f6"}, + {file = "rpds_py-0.9.2-cp310-none-win32.whl", hash = "sha256:47c5f58a8e0c2c920cc7783113df2fc4ff12bf3a411d985012f145e9242a2764"}, + {file = "rpds_py-0.9.2-cp310-none-win_amd64.whl", hash = "sha256:4ea6b73c22d8182dff91155af018b11aac9ff7eca085750455c5990cb1cfae6e"}, + {file = "rpds_py-0.9.2-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:e564d2238512c5ef5e9d79338ab77f1cbbda6c2d541ad41b2af445fb200385e3"}, + {file = "rpds_py-0.9.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f411330a6376fb50e5b7a3e66894e4a39e60ca2e17dce258d53768fea06a37bd"}, + {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e7521f5af0233e89939ad626b15278c71b69dc1dfccaa7b97bd4cdf96536bb7"}, + {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8d3335c03100a073883857e91db9f2e0ef8a1cf42dc0369cbb9151c149dbbc1b"}, + {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d25b1c1096ef0447355f7293fbe9ad740f7c47ae032c2884113f8e87660d8f6e"}, + {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6a5d3fbd02efd9cf6a8ffc2f17b53a33542f6b154e88dd7b42ef4a4c0700fdad"}, + {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c5934e2833afeaf36bd1eadb57256239785f5af0220ed8d21c2896ec4d3a765f"}, + {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:095b460e117685867d45548fbd8598a8d9999227e9061ee7f012d9d264e6048d"}, + {file = "rpds_py-0.9.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:91378d9f4151adc223d584489591dbb79f78814c0734a7c3bfa9c9e09978121c"}, + {file = "rpds_py-0.9.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:24a81c177379300220e907e9b864107614b144f6c2a15ed5c3450e19cf536fae"}, + {file = "rpds_py-0.9.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:de0b6eceb46141984671802d412568d22c6bacc9b230174f9e55fc72ef4f57de"}, + {file = "rpds_py-0.9.2-cp311-none-win32.whl", hash = "sha256:700375326ed641f3d9d32060a91513ad668bcb7e2cffb18415c399acb25de2ab"}, + {file = "rpds_py-0.9.2-cp311-none-win_amd64.whl", hash = "sha256:0766babfcf941db8607bdaf82569ec38107dbb03c7f0b72604a0b346b6eb3298"}, + {file = "rpds_py-0.9.2-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:b1440c291db3f98a914e1afd9d6541e8fc60b4c3aab1a9008d03da4651e67386"}, + {file = "rpds_py-0.9.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0f2996fbac8e0b77fd67102becb9229986396e051f33dbceada3debaacc7033f"}, + {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f30d205755566a25f2ae0382944fcae2f350500ae4df4e795efa9e850821d82"}, + {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:159fba751a1e6b1c69244e23ba6c28f879a8758a3e992ed056d86d74a194a0f3"}, + {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a1f044792e1adcea82468a72310c66a7f08728d72a244730d14880cd1dabe36b"}, + {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9251eb8aa82e6cf88510530b29eef4fac825a2b709baf5b94a6094894f252387"}, + {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:01899794b654e616c8625b194ddd1e5b51ef5b60ed61baa7a2d9c2ad7b2a4238"}, + {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b0c43f8ae8f6be1d605b0465671124aa8d6a0e40f1fb81dcea28b7e3d87ca1e1"}, + {file = "rpds_py-0.9.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:207f57c402d1f8712618f737356e4b6f35253b6d20a324d9a47cb9f38ee43a6b"}, + {file = "rpds_py-0.9.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b52e7c5ae35b00566d244ffefba0f46bb6bec749a50412acf42b1c3f402e2c90"}, + {file = "rpds_py-0.9.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:978fa96dbb005d599ec4fd9ed301b1cc45f1a8f7982d4793faf20b404b56677d"}, + {file = "rpds_py-0.9.2-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:6aa8326a4a608e1c28da191edd7c924dff445251b94653988efb059b16577a4d"}, + {file = "rpds_py-0.9.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:aad51239bee6bff6823bbbdc8ad85136c6125542bbc609e035ab98ca1e32a192"}, + {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4bd4dc3602370679c2dfb818d9c97b1137d4dd412230cfecd3c66a1bf388a196"}, + {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:dd9da77c6ec1f258387957b754f0df60766ac23ed698b61941ba9acccd3284d1"}, + {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:190ca6f55042ea4649ed19c9093a9be9d63cd8a97880106747d7147f88a49d18"}, + {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:876bf9ed62323bc7dcfc261dbc5572c996ef26fe6406b0ff985cbcf460fc8a4c"}, + {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa2818759aba55df50592ecbc95ebcdc99917fa7b55cc6796235b04193eb3c55"}, + {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9ea4d00850ef1e917815e59b078ecb338f6a8efda23369677c54a5825dbebb55"}, + {file = "rpds_py-0.9.2-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:5855c85eb8b8a968a74dc7fb014c9166a05e7e7a8377fb91d78512900aadd13d"}, + {file = "rpds_py-0.9.2-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:14c408e9d1a80dcb45c05a5149e5961aadb912fff42ca1dd9b68c0044904eb32"}, + {file = "rpds_py-0.9.2-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:65a0583c43d9f22cb2130c7b110e695fff834fd5e832a776a107197e59a1898e"}, + {file = "rpds_py-0.9.2-cp38-none-win32.whl", hash = "sha256:71f2f7715935a61fa3e4ae91d91b67e571aeb5cb5d10331ab681256bda2ad920"}, + {file = "rpds_py-0.9.2-cp38-none-win_amd64.whl", hash = "sha256:674c704605092e3ebbbd13687b09c9f78c362a4bc710343efe37a91457123044"}, + {file = "rpds_py-0.9.2-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:07e2c54bef6838fa44c48dfbc8234e8e2466d851124b551fc4e07a1cfeb37260"}, + {file = "rpds_py-0.9.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f7fdf55283ad38c33e35e2855565361f4bf0abd02470b8ab28d499c663bc5d7c"}, + {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:890ba852c16ace6ed9f90e8670f2c1c178d96510a21b06d2fa12d8783a905193"}, + {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:50025635ba8b629a86d9d5474e650da304cb46bbb4d18690532dd79341467846"}, + {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:517cbf6e67ae3623c5127206489d69eb2bdb27239a3c3cc559350ef52a3bbf0b"}, + {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0836d71ca19071090d524739420a61580f3f894618d10b666cf3d9a1688355b1"}, + {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c439fd54b2b9053717cca3de9583be6584b384d88d045f97d409f0ca867d80f"}, + {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f68996a3b3dc9335037f82754f9cdbe3a95db42bde571d8c3be26cc6245f2324"}, + {file = "rpds_py-0.9.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:7d68dc8acded354c972116f59b5eb2e5864432948e098c19fe6994926d8e15c3"}, + {file = "rpds_py-0.9.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:f963c6b1218b96db85fc37a9f0851eaf8b9040aa46dec112611697a7023da535"}, + {file = "rpds_py-0.9.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5a46859d7f947061b4010e554ccd1791467d1b1759f2dc2ec9055fa239f1bc26"}, + {file = "rpds_py-0.9.2-cp39-none-win32.whl", hash = "sha256:e07e5dbf8a83c66783a9fe2d4566968ea8c161199680e8ad38d53e075df5f0d0"}, + {file = "rpds_py-0.9.2-cp39-none-win_amd64.whl", hash = "sha256:682726178138ea45a0766907957b60f3a1bf3acdf212436be9733f28b6c5af3c"}, + {file = "rpds_py-0.9.2-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:196cb208825a8b9c8fc360dc0f87993b8b260038615230242bf18ec84447c08d"}, + {file = "rpds_py-0.9.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:c7671d45530fcb6d5e22fd40c97e1e1e01965fc298cbda523bb640f3d923b387"}, + {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:83b32f0940adec65099f3b1c215ef7f1d025d13ff947975a055989cb7fd019a4"}, + {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7f67da97f5b9eac838b6980fc6da268622e91f8960e083a34533ca710bec8611"}, + {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:03975db5f103997904c37e804e5f340c8fdabbb5883f26ee50a255d664eed58c"}, + {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:987b06d1cdb28f88a42e4fb8a87f094e43f3c435ed8e486533aea0bf2e53d931"}, + {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c861a7e4aef15ff91233751619ce3a3d2b9e5877e0fcd76f9ea4f6847183aa16"}, + {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:02938432352359805b6da099c9c95c8a0547fe4b274ce8f1a91677401bb9a45f"}, + {file = "rpds_py-0.9.2-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:ef1f08f2a924837e112cba2953e15aacfccbbfcd773b4b9b4723f8f2ddded08e"}, + {file = "rpds_py-0.9.2-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:35da5cc5cb37c04c4ee03128ad59b8c3941a1e5cd398d78c37f716f32a9b7f67"}, + {file = "rpds_py-0.9.2-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:141acb9d4ccc04e704e5992d35472f78c35af047fa0cfae2923835d153f091be"}, + {file = "rpds_py-0.9.2-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:79f594919d2c1a0cc17d1988a6adaf9a2f000d2e1048f71f298b056b1018e872"}, + {file = "rpds_py-0.9.2-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:a06418fe1155e72e16dddc68bb3780ae44cebb2912fbd8bb6ff9161de56e1798"}, + {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b2eb034c94b0b96d5eddb290b7b5198460e2d5d0c421751713953a9c4e47d10"}, + {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8b08605d248b974eb02f40bdcd1a35d3924c83a2a5e8f5d0fa5af852c4d960af"}, + {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a0805911caedfe2736935250be5008b261f10a729a303f676d3d5fea6900c96a"}, + {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ab2299e3f92aa5417d5e16bb45bb4586171c1327568f638e8453c9f8d9e0f020"}, + {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c8d7594e38cf98d8a7df25b440f684b510cf4627fe038c297a87496d10a174f"}, + {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8b9ec12ad5f0a4625db34db7e0005be2632c1013b253a4a60e8302ad4d462afd"}, + {file = "rpds_py-0.9.2-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:1fcdee18fea97238ed17ab6478c66b2095e4ae7177e35fb71fbe561a27adf620"}, + {file = "rpds_py-0.9.2-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:933a7d5cd4b84f959aedeb84f2030f0a01d63ae6cf256629af3081cf3e3426e8"}, + {file = "rpds_py-0.9.2-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:686ba516e02db6d6f8c279d1641f7067ebb5dc58b1d0536c4aaebb7bf01cdc5d"}, + {file = "rpds_py-0.9.2-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:0173c0444bec0a3d7d848eaeca2d8bd32a1b43f3d3fde6617aac3731fa4be05f"}, + {file = "rpds_py-0.9.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:d576c3ef8c7b2d560e301eb33891d1944d965a4d7a2eacb6332eee8a71827db6"}, + {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ed89861ee8c8c47d6beb742a602f912b1bb64f598b1e2f3d758948721d44d468"}, + {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1054a08e818f8e18910f1bee731583fe8f899b0a0a5044c6e680ceea34f93876"}, + {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99e7c4bb27ff1aab90dcc3e9d37ee5af0231ed98d99cb6f5250de28889a3d502"}, + {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c545d9d14d47be716495076b659db179206e3fd997769bc01e2d550eeb685596"}, + {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9039a11bca3c41be5a58282ed81ae422fa680409022b996032a43badef2a3752"}, + {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fb39aca7a64ad0c9490adfa719dbeeb87d13be137ca189d2564e596f8ba32c07"}, + {file = "rpds_py-0.9.2-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:2d8b3b3a2ce0eaa00c5bbbb60b6713e94e7e0becab7b3db6c5c77f979e8ed1f1"}, + {file = "rpds_py-0.9.2-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:99b1c16f732b3a9971406fbfe18468592c5a3529585a45a35adbc1389a529a03"}, + {file = "rpds_py-0.9.2-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:c27ee01a6c3223025f4badd533bea5e87c988cb0ba2811b690395dfe16088cfe"}, + {file = "rpds_py-0.9.2.tar.gz", hash = "sha256:8d70e8f14900f2657c249ea4def963bed86a29b81f81f5b76b5a9215680de945"}, ] [[package]] @@ -2442,19 +2464,19 @@ files = [ [[package]] name = "zipp" -version = "3.15.0" +version = "3.16.2" description = "Backport of pathlib-compatible object wrapper for zip files" category = "main" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "zipp-3.15.0-py3-none-any.whl", hash = "sha256:48904fc76a60e542af151aded95726c1a5c34ed43ab4134b597665c86d7ad556"}, - {file = "zipp-3.15.0.tar.gz", hash = "sha256:112929ad649da941c23de50f356a2b5570c954b65150642bccdd66bf194d224b"}, + {file = "zipp-3.16.2-py3-none-any.whl", hash = "sha256:679e51dd4403591b2d6838a48de3d283f3d188412a9782faadf845f298736ba0"}, + {file = "zipp-3.16.2.tar.gz", hash = "sha256:ebc15946aa78bd63458992fc81ec3b6f7b1e92d51c35e6de1c3804e73b799147"}, ] [package.extras] -docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -testing = ["big-O", "flake8 (<5)", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy (>=0.9.1)", "pytest-ruff"] [metadata] lock-version = "2.0" diff --git a/pyproject.toml b/pyproject.toml index 2c3a9618f..0795b7056 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "exasol-script-languages" -version = "5.0.0" +version = "7.0.0" description = "Script Languages" license = "MIT" diff --git a/test_container/tests/test/r/network.py b/test_container/tests/test/r/network.py index f66577153..10d584f9a 100755 --- a/test_container/tests/test/r/network.py +++ b/test_container/tests/test/r/network.py @@ -20,7 +20,8 @@ def check_for_package(self, pkg_name): check_for_package(pkg_name VARCHAR(300)) RETURNS BOOL as run <- function(ctx) { - require(ctx$pkg_name) + package_name <- ctx$pkg_name + require(package_name) }; ''')) rows = self.query(udf.fixindent(f"SELECT check_for_package('{pkg_name}') FROM DUAL")) From d4e8c8e0c372d97d9a8f3bd28c690d7d3152f381 Mon Sep 17 00:00:00 2001 From: Torsten Kilias Date: Thu, 3 Aug 2023 14:39:32 +0200 Subject: [PATCH 4/6] #806: Removed python-3.7-minimal-EXASOL-6.2.0 (#372) --- aws-code-build/ci/buildspec.yaml | 7 - .../FLAVOR_DESCRIPTION.md | 16 -- .../base_test_build_run/Dockerfile | 39 ----- .../flavor_base/base_test_deps/Dockerfile | 6 - .../base_test_deps/packages/apt_get_packages | 7 - .../flavor_base/build_deps/Dockerfile | 37 ----- .../build_deps/packages/apt_get_packages | 9 -- .../flavor_base/build_run/Dockerfile | 41 ----- .../flavor_base/build_steps.py | 147 ------------------ .../flavor_base/flavor_base_deps/Dockerfile | 8 - .../packages/apt_get_packages | 5 - .../packages/python3_pip_packages | 0 .../flavor_test_build_run/Dockerfile | 25 --- .../flavor_base/language_definition | 1 - .../flavor_base/language_deps/Dockerfile | 20 --- .../language_deps/packages/apt_get_packages | 2 - .../packages/apt_get_packages_python | 3 - .../packages/python3_pip_packages | 2 - .../flavor_base/release/Dockerfile | 62 -------- .../flavor_base/security_scan/.trivyignore | 17 -- .../flavor_base/security_scan/Dockerfile | 14 -- .../security_scan/packages/apt_get_packages | 1 - .../packages/apt_get_packages_trivy_deps | 2 - .../flavor_base/testconfig | 2 - .../flavor_base/udfclient_deps/Dockerfile | 26 ---- .../udfclient_deps/packages/apt_get_packages | 6 - .../flavor_customization/Dockerfile | 78 ---------- .../packages/apt_get_packages | 9 -- .../packages/python3_pip_packages | 9 -- 29 files changed, 601 deletions(-) delete mode 100644 flavors/python-3.7-minimal-EXASOL-6.2.0/FLAVOR_DESCRIPTION.md delete mode 100644 flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/base_test_build_run/Dockerfile delete mode 100644 flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/base_test_deps/Dockerfile delete mode 100644 flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/base_test_deps/packages/apt_get_packages delete mode 100644 flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/build_deps/Dockerfile delete mode 100644 flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/build_deps/packages/apt_get_packages delete mode 100644 flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/build_run/Dockerfile delete mode 100644 flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/build_steps.py delete mode 100644 flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/flavor_base_deps/Dockerfile delete mode 100644 flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/flavor_base_deps/packages/apt_get_packages delete mode 100644 flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/flavor_base_deps/packages/python3_pip_packages delete mode 100644 flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/flavor_test_build_run/Dockerfile delete mode 100644 flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/language_definition delete mode 100644 flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/language_deps/Dockerfile delete mode 100644 flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/language_deps/packages/apt_get_packages delete mode 100644 flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/language_deps/packages/apt_get_packages_python delete mode 100644 flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/language_deps/packages/python3_pip_packages delete mode 100644 flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/release/Dockerfile delete mode 100644 flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/security_scan/.trivyignore delete mode 100644 flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/security_scan/Dockerfile delete mode 100644 flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/security_scan/packages/apt_get_packages delete mode 100644 flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/security_scan/packages/apt_get_packages_trivy_deps delete mode 100644 flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/testconfig delete mode 100644 flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/udfclient_deps/Dockerfile delete mode 100644 flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/udfclient_deps/packages/apt_get_packages delete mode 100644 flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_customization/Dockerfile delete mode 100644 flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_customization/packages/apt_get_packages delete mode 100644 flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_customization/packages/python3_pip_packages diff --git a/aws-code-build/ci/buildspec.yaml b/aws-code-build/ci/buildspec.yaml index a20fa055e..95a8697e4 100644 --- a/aws-code-build/ci/buildspec.yaml +++ b/aws-code-build/ci/buildspec.yaml @@ -6,13 +6,6 @@ version: 0.2 batch: fast-fail: false build-graph: - - identifier: build_python_37_minimal_EXASOL_620 - env: - variables: - FLAVOR: python-3.7-minimal-EXASOL-6.2.0 - compute-type: BUILD_GENERAL1_MEDIUM - privileged-mode: true - buildspec: ./aws-code-build/ci/build_buildspec.yaml - identifier: build_python_38_minimal_EXASOL_620 env: variables: diff --git a/flavors/python-3.7-minimal-EXASOL-6.2.0/FLAVOR_DESCRIPTION.md b/flavors/python-3.7-minimal-EXASOL-6.2.0/FLAVOR_DESCRIPTION.md deleted file mode 100644 index cc548674b..000000000 --- a/flavors/python-3.7-minimal-EXASOL-6.2.0/FLAVOR_DESCRIPTION.md +++ /dev/null @@ -1,16 +0,0 @@ -# Details for Python-3.7-minimal-EXASOL-6.2.0 flavor - -## Packages - -**Note: This package is not suitable for production, because we pull python 3.7 from a inofficial ubuntu repository which can't guarantee timely updates in case of security problems or other issues.** - -**Remarks:** The packages are grouped by their main usage and their type. - -- [UDFclient dependencies](flavor_base/udfclient_deps/packages/apt_get_packages) -- [Language dependencies](flavor_base/language_deps/packages/apt_get_packages) -- Flavor packages - - [Ubuntu packages](flavor_base/flavor_base_deps/packages/apt_get_packages) - - [Python3 pip packages](flavor_base/flavor_base_deps/packages/python3_pip_packages) -- Customization - - [Ubuntu packages](flavor_customization/packages/apt_get_packages) - - [Python3 pip packages](flavor_customization/packages/python3_pip_packages) diff --git a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/base_test_build_run/Dockerfile b/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/base_test_build_run/Dockerfile deleted file mode 100644 index 66ee9bdfd..000000000 --- a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/base_test_build_run/Dockerfile +++ /dev/null @@ -1,39 +0,0 @@ -FROM {{language_deps}} - -RUN mkdir /conf /buckets - -COPY --from={{base_test_deps}} /usr /usr -RUN true # workaround for https://github.com/moby/moby/issues/37965 - -COPY --from={{base_test_deps}} /lib /lib -RUN true # workaround for https://github.com/moby/moby/issues/37965 - -COPY --from={{base_test_deps}} /bin /bin -RUN true # workaround for https://github.com/moby/moby/issues/37965 - -COPY --from={{base_test_deps}} /opt /opt -RUN true # workaround for https://github.com/moby/moby/issues/37965 - -COPY --from={{base_test_deps}} /etc /etc -RUN true # workaround for https://github.com/moby/moby/issues/37965 - -COPY --from={{base_test_deps}} /env /env -RUN true # workaround for https://github.com/moby/moby/issues/37965 - - -RUN ldconfig - -RUN mkdir /exaudfclient /exaudf -COPY /exaudfclient/base /exaudfclient/base - -WORKDIR /exaudfclient/base -RUN ["/bin/bash", "-c", "source /env && bash build.sh --config no-tty -c dbg --config python --config test-binaries-py3"] -RUN cp -r -L bazel-bin/* /exaudf -RUN ./test_udfclient.sh /exaudf/exaudfclient_py3 -RUN ./test_udfclient.sh /exaudf/exaudfclient_py3_static - -WORKDIR / -RUN mkdir /exasol_emulator -COPY emulator/ /exasol_emulator -COPY /exaudfclient/base/exaudflib/zmqcontainer.proto /exasol_emulator -RUN cd /exasol_emulator && protoc zmqcontainer.proto --python_out=. diff --git a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/base_test_deps/Dockerfile b/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/base_test_deps/Dockerfile deleted file mode 100644 index 3a8ca3f61..000000000 --- a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/base_test_deps/Dockerfile +++ /dev/null @@ -1,6 +0,0 @@ -FROM {{build_deps}} - -RUN mkdir -p /build_info/packages -COPY base_test_deps/packages /build_info/packages/base_test_deps - -RUN /scripts/install_scripts/install_via_apt.pl --file /build_info/packages/base_test_deps/apt_get_packages --with-versions diff --git a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/base_test_deps/packages/apt_get_packages b/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/base_test_deps/packages/apt_get_packages deleted file mode 100644 index 7e8730d55..000000000 --- a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/base_test_deps/packages/apt_get_packages +++ /dev/null @@ -1,7 +0,0 @@ -gdb|8.1.1-0ubuntu1 -valgrind|1:3.13.0-2ubuntu2.3 -gdbserver|8.1.1-0ubuntu1 -binutils|2.30-21ubuntu1~18.04.9 -patchelf|0.9-1 -chrpath|0.16-2 -strace|4.21-1ubuntu1 diff --git a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/build_deps/Dockerfile b/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/build_deps/Dockerfile deleted file mode 100644 index b7a4bbc79..000000000 --- a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/build_deps/Dockerfile +++ /dev/null @@ -1,37 +0,0 @@ -FROM ubuntu:18.04 -ENV DEBIAN_FRONTEND=noninteractive - -ENV ARCHIVE_UBUNTU_PREFIX="" -RUN sed --in-place --regexp-extended "s/(\/\/)(archive\.ubuntu)/\1$ARCHIVE_UBUNTU_PREFIX\2/" /etc/apt/sources.list - -COPY 01_nodoc /etc/dpkg/dpkg.cfg.d/01_nodoc -COPY scripts /scripts - -RUN mkdir -p /build_info/packages -COPY build_deps/packages /build_info/packages/build_deps - -ENV BAZEL_PACKAGE_VERSION="5.2.0" -ENV BAZEL_PACKAGE_FILE="bazel_$BAZEL_PACKAGE_VERSION-linux-x86_64.deb" -ENV BAZEL_PACKAGE_URL="https://github.com/bazelbuild/bazel/releases/download/$BAZEL_PACKAGE_VERSION/$BAZEL_PACKAGE_FILE" - -RUN /scripts/install_scripts/install_via_apt.pl --file /build_info/packages/build_deps/apt_get_packages - -RUN apt-get -y update && \ - curl -L --output "$BAZEL_PACKAGE_FILE" "$BAZEL_PACKAGE_URL" && \ - apt-get install -y "./$BAZEL_PACKAGE_FILE" && \ - rm "$BAZEL_PACKAGE_FILE" && \ - apt-get -y clean && \ - apt-get -y autoremove - -RUN curl -L -o swig-2.0.4.tar.gz https://exasol-script-languages-dependencies.s3.eu-central-1.amazonaws.com/swig-2.0.4.tar.gz && \ - tar zxf swig-2.0.4.tar.gz && \ - (cd swig-2.0.4 && ./configure --prefix=/usr && make && make install) && \ - rm -rf swig-2.0.4 swig-2.0.4.tar.gz - -RUN locale-gen en_US.UTF-8 && \ - update-locale LC_ALL=en_US.UTF-8 && \ - ldconfig - -RUN touch /env && \ - echo "export PROTOBUF_BIN=/usr/bin/protoc" >> /env && \ - echo "export JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64" >> /env diff --git a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/build_deps/packages/apt_get_packages b/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/build_deps/packages/apt_get_packages deleted file mode 100644 index 6d352eac4..000000000 --- a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/build_deps/packages/apt_get_packages +++ /dev/null @@ -1,9 +0,0 @@ -coreutils|8.28-1ubuntu1 -locales|2.27-3ubuntu1.6 -tar|1.29b-2ubuntu0.4 -curl|7.58.0-2ubuntu3.24 -openjdk-11-jdk|11.0.19+7~us1-0ubuntu1~18.04.1 -build-essential|12.4ubuntu1 -libpcre3-dev|2:8.39-9ubuntu0.1 -protobuf-compiler|3.0.0-9.1ubuntu1.1 -chrpath|0.16-2 diff --git a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/build_run/Dockerfile b/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/build_run/Dockerfile deleted file mode 100644 index 92ede8bd1..000000000 --- a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/build_run/Dockerfile +++ /dev/null @@ -1,41 +0,0 @@ -FROM {{language_deps}} - -COPY --from={{build_deps}} /usr /usr -RUN true # workaround for https://github.com/moby/moby/issues/37965 - -COPY --from={{build_deps}} /lib /lib -RUN true # workaround for https://github.com/moby/moby/issues/37965 - -COPY --from={{build_deps}} /bin /bin -RUN true # workaround for https://github.com/moby/moby/issues/37965 - -COPY --from={{build_deps}} /opt /opt -RUN true # workaround for https://github.com/moby/moby/issues/37965 - -COPY --from={{build_deps}} /etc /etc -RUN true # workaround for https://github.com/moby/moby/issues/37965 - -COPY --from={{build_deps}} /env /env -RUN true # workaround for https://github.com/moby/moby/issues/37965 - - -RUN ldconfig - -RUN mkdir /exaudfclient /exaudf -COPY exaudfclient/base /exaudfclient/base - -WORKDIR /exaudfclient/base -RUN ["/bin/bash", "-c", "source /env && bash build.sh --config no-tty --config optimize --config python --config fast-binary-py3"] -RUN cp -r -L bazel-bin/* /exaudf - -RUN ./test_udfclient.sh /exaudf/exaudfclient_py3 - -WORKDIR /exaudf - -RUN rm -r /exaudfclient - -COPY --from={{build_deps}} /build_info /build_info -RUN true # workaround for https://github.com/moby/moby/issues/37965 - - -RUN mkdir /conf /buckets diff --git a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/build_steps.py b/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/build_steps.py deleted file mode 100644 index 191755abe..000000000 --- a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/build_steps.py +++ /dev/null @@ -1,147 +0,0 @@ -from typing import Dict - -from exasol_script_languages_container_tool.lib.tasks.build.docker_flavor_image_task import DockerFlavorAnalyzeImageTask - - -class AnalyzeUDFClientDeps(DockerFlavorAnalyzeImageTask): - - def get_build_step(self) -> str: - return "udfclient_deps" - - def get_additional_build_directories_mapping(self) -> Dict[str, str]: - return {"01_nodoc": "ext/01_nodoc", "scripts": "ext/scripts"} - - def get_path_in_flavor(self): - return "flavor_base" - - -class AnalyzeLanguageDeps(DockerFlavorAnalyzeImageTask): - - def get_build_step(self) -> str: - return "language_deps" - - def get_additional_build_directories_mapping(self) -> Dict[str, str]: - return {"scripts": "ext/scripts"} - - def requires_tasks(self): - return {"udfclient_deps": AnalyzeUDFClientDeps} - - def get_path_in_flavor(self): - return "flavor_base" - - -class AnalyzeBuildDeps(DockerFlavorAnalyzeImageTask): - - def get_build_step(self) -> str: - return "build_deps" - - def get_additional_build_directories_mapping(self) -> Dict[str, str]: - return {"01_nodoc": "ext/01_nodoc", "scripts": "ext/scripts"} - - def get_path_in_flavor(self): - return "flavor_base" - - -class AnalyzeBuildRun(DockerFlavorAnalyzeImageTask): - - def get_build_step(self) -> str: - return "build_run" - - def requires_tasks(self): - return {"build_deps": AnalyzeBuildDeps, - "language_deps": AnalyzeLanguageDeps} - - def get_additional_build_directories_mapping(self) -> Dict[str, str]: - return {"exaudfclient/base": "exaudfclient/base"} - - def get_path_in_flavor(self): - return "flavor_base" - - -class AnalyzeBaseTestDeps(DockerFlavorAnalyzeImageTask): - - def get_build_step(self) -> str: - return "base_test_deps" - - def requires_tasks(self): - return {"build_deps": AnalyzeBuildDeps} - - def get_path_in_flavor(self): - return "flavor_base" - - -class AnalyzeBaseTestBuildRun(DockerFlavorAnalyzeImageTask): - - def get_build_step(self) -> str: - return "base_test_build_run" - - def requires_tasks(self): - return {"base_test_deps": AnalyzeBaseTestDeps, - "language_deps": AnalyzeLanguageDeps} - - def get_additional_build_directories_mapping(self) -> Dict[str, str]: - return {"exaudfclient/base": "exaudfclient/base", "emulator": "emulator"} - - def get_path_in_flavor(self): - return "flavor_base" - - -class AnalyzeFlavorBaseDeps(DockerFlavorAnalyzeImageTask): - - def get_build_step(self) -> str: - return "flavor_base_deps" - - def requires_tasks(self): - return {"language_deps": AnalyzeLanguageDeps} - - def get_additional_build_directories_mapping(self): - return {"01_nodoc": "ext/01_nodoc", "scripts": "ext/scripts"} - - def get_path_in_flavor(self): - return "flavor_base" - - -class AnalyzeFlavorCustomization(DockerFlavorAnalyzeImageTask): - - def get_build_step(self) -> str: - return "flavor_customization" - - def requires_tasks(self): - return {"flavor_base_deps": AnalyzeFlavorBaseDeps} - - -class AnalyzeFlavorTestBuildRun(DockerFlavorAnalyzeImageTask): - - def get_build_step(self) -> str: - return "flavor_test_build_run" - - def requires_tasks(self): - return {"flavor_customization": AnalyzeFlavorCustomization, - "base_test_build_run": AnalyzeBaseTestBuildRun} - - def get_path_in_flavor(self): - return "flavor_base" - - -class AnalyzeRelease(DockerFlavorAnalyzeImageTask): - def get_build_step(self) -> str: - return "release" - - def requires_tasks(self): - return {"flavor_customization": AnalyzeFlavorCustomization, - "build_run": AnalyzeBuildRun, - "language_deps": AnalyzeLanguageDeps} - - def get_path_in_flavor(self): - return "flavor_base" - - -class SecurityScan(DockerFlavorAnalyzeImageTask): - def get_build_step(self) -> str: - return "security_scan" - - def requires_tasks(self): - return {"release": AnalyzeRelease} - - def get_path_in_flavor(self): - return "flavor_base" diff --git a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/flavor_base_deps/Dockerfile b/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/flavor_base_deps/Dockerfile deleted file mode 100644 index 8f32df555..000000000 --- a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/flavor_base_deps/Dockerfile +++ /dev/null @@ -1,8 +0,0 @@ -FROM {{ language_deps }} - -RUN mkdir -p /build_info/packages -COPY flavor_base_deps/packages /build_info/packages/flavor_base_deps - -RUN /scripts/install_scripts/install_via_apt.pl --file /build_info/packages/flavor_base_deps/apt_get_packages --with-versions - -RUN /scripts/install_scripts/install_via_pip.pl --file /build_info/packages/flavor_base_deps/python3_pip_packages --python-binary python3.7 --with-versions diff --git a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/flavor_base_deps/packages/apt_get_packages b/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/flavor_base_deps/packages/apt_get_packages deleted file mode 100644 index df0638015..000000000 --- a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/flavor_base_deps/packages/apt_get_packages +++ /dev/null @@ -1,5 +0,0 @@ -unzip|6.0-21ubuntu1.2 -wget|1.19.4-1ubuntu2.2 -git|1:2.17.1-1ubuntu0.18 -libcurl4-openssl-dev|7.58.0-2ubuntu3.24 -build-essential|12.4ubuntu1 diff --git a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/flavor_base_deps/packages/python3_pip_packages b/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/flavor_base_deps/packages/python3_pip_packages deleted file mode 100644 index e69de29bb..000000000 diff --git a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/flavor_test_build_run/Dockerfile b/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/flavor_test_build_run/Dockerfile deleted file mode 100644 index 32230a4d9..000000000 --- a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/flavor_test_build_run/Dockerfile +++ /dev/null @@ -1,25 +0,0 @@ -FROM {{base_test_build_run}} - -RUN mkdir -p /conf /buckets - -COPY --from={{flavor_customization}} /usr /usr -RUN true # workaround for https://github.com/moby/moby/issues/37965 - -COPY --from={{flavor_customization}} /opt /opt -RUN true # workaround for https://github.com/moby/moby/issues/37965 - -COPY --from={{flavor_customization}} /lib /lib -RUN true # workaround for https://github.com/moby/moby/issues/37965 - -COPY --from={{flavor_customization}} /bin /bin -RUN true # workaround for https://github.com/moby/moby/issues/37965 - -COPY --from={{flavor_customization}} /etc /etc -RUN true # workaround for https://github.com/moby/moby/issues/37965 - -COPY --from={{flavor_customization}} /build_info /build_info -RUN true # workaround for https://github.com/moby/moby/issues/37965 - - -RUN ldconfig - diff --git a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/language_definition b/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/language_definition deleted file mode 100644 index 82e76acf3..000000000 --- a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/language_definition +++ /dev/null @@ -1 +0,0 @@ -PYTHON3=localzmq+protobuf:///{{ bucketfs_name }}/{{ bucket_name }}/{{ path_in_bucket }}{{ release_name }}?lang=python#buckets/{{ bucketfs_name }}/{{ bucket_name }}/{{ path_in_bucket }}{{ release_name }}/exaudf/exaudfclient_py3 diff --git a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/language_deps/Dockerfile b/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/language_deps/Dockerfile deleted file mode 100644 index 06e3f45df..000000000 --- a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/language_deps/Dockerfile +++ /dev/null @@ -1,20 +0,0 @@ -FROM {{udfclient_deps}} - -RUN mkdir -p /build_info/packages/language_deps -COPY language_deps/packages/apt_get_packages /build_info/packages/language_deps -RUN /scripts/install_scripts/install_via_apt.pl --file /build_info/packages/language_deps/apt_get_packages --with-versions - -RUN /scripts/install_scripts/install_key.pl --key-server hkp://keyserver.ubuntu.com:80 --key F23C5A6CF475977595C89F51BA6932366A755776 && \ - /scripts/install_scripts/install_ppa.pl --ppa 'deb http://ppa.launchpad.net/deadsnakes/ppa/ubuntu bionic main' --out-file bionic-deadsnakes - -COPY language_deps/packages/apt_get_packages_python /build_info/packages/language_deps -RUN /scripts/install_scripts/install_via_apt.pl --file /build_info/packages/language_deps/apt_get_packages_python --with-versions - -RUN /scripts/install_scripts/install_python3.7_pip.sh - -COPY language_deps/packages/python3_pip_packages /build_info/packages/language_deps -RUN /scripts/install_scripts/install_via_pip.pl --file /build_info/packages/language_deps/python3_pip_packages --python-binary python3.7 --with-versions - -ENV PYTHON3_PREFIX /usr -ENV PYTHON3_VERSION python3.7 - diff --git a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/language_deps/packages/apt_get_packages b/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/language_deps/packages/apt_get_packages deleted file mode 100644 index 9460d8521..000000000 --- a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/language_deps/packages/apt_get_packages +++ /dev/null @@ -1,2 +0,0 @@ -curl|7.58.0-2ubuntu3.24 -ca-certificates|20230311ubuntu0.18.04.1 diff --git a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/language_deps/packages/apt_get_packages_python b/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/language_deps/packages/apt_get_packages_python deleted file mode 100644 index 63faa558b..000000000 --- a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/language_deps/packages/apt_get_packages_python +++ /dev/null @@ -1,3 +0,0 @@ -python3.7-dev|3.7.5-2ubuntu1~18.04.2 -python3.7|3.7.5-2ubuntu1~18.04.2 -python3-distutils|3.6.9-1~18.04 # Note: required by install_python3.7_pip.sh diff --git a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/language_deps/packages/python3_pip_packages b/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/language_deps/packages/python3_pip_packages deleted file mode 100644 index a050477e6..000000000 --- a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/language_deps/packages/python3_pip_packages +++ /dev/null @@ -1,2 +0,0 @@ -pandas|1.3.3 -numpy|1.21.2 diff --git a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/release/Dockerfile b/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/release/Dockerfile deleted file mode 100644 index c1bcd107e..000000000 --- a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/release/Dockerfile +++ /dev/null @@ -1,62 +0,0 @@ -FROM ubuntu:18.04 -RUN mkdir /conf /buckets - -COPY --from={{language_deps}} /usr /usr -RUN true # workaround for https://github.com/moby/moby/issues/37965 - -COPY --from={{language_deps}} /lib /lib -RUN true # workaround for https://github.com/moby/moby/issues/37965 - -COPY --from={{language_deps}} /bin /bin -RUN true # workaround for https://github.com/moby/moby/issues/37965 - -COPY --from={{language_deps}} /opt /opt -RUN true # workaround for https://github.com/moby/moby/issues/37965 - -COPY --from={{language_deps}} /etc /etc -RUN true # workaround for https://github.com/moby/moby/issues/37965 - -COPY --from={{language_deps}} /build_info /build_info -RUN true # workaround for https://github.com/moby/moby/issues/37965 - -COPY --from={{language_deps}} /var /var -RUN true # workaround for https://github.com/moby/moby/issues/37965 - -COPY --from={{language_deps}} /scripts /scripts -RUN true # workaround for https://github.com/moby/moby/issues/37965 - - -COPY --from={{flavor_customization}} /usr /usr -RUN true # workaround for https://github.com/moby/moby/issues/37965 - -COPY --from={{flavor_customization}} /lib /lib -RUN true # workaround for https://github.com/moby/moby/issues/37965 - -COPY --from={{flavor_customization}} /bin /bin -RUN true # workaround for https://github.com/moby/moby/issues/37965 - -COPY --from={{flavor_customization}} /opt /opt -RUN true # workaround for https://github.com/moby/moby/issues/37965 - -COPY --from={{flavor_customization}} /etc /etc -RUN true # workaround for https://github.com/moby/moby/issues/37965 - -COPY --from={{flavor_customization}} /build_info /build_info -RUN true # workaround for https://github.com/moby/moby/issues/37965 - -COPY --from={{flavor_customization}} /var /var -RUN true # workaround for https://github.com/moby/moby/issues/37965 - - -RUN ldconfig - -COPY --from={{build_run}} /exaudf /exaudf -RUN true # workaround for https://github.com/moby/moby/issues/37965 - -COPY --from={{build_run}} /build_info /build_info -RUN true # workaround for https://github.com/moby/moby/issues/37965 - - -RUN mkdir -p /build_info/actual_installed_packages/release && \ - /scripts/list_installed_scripts/list_installed_apt.sh > /build_info/actual_installed_packages/release/apt_get_packages && \ - /scripts/list_installed_scripts/list_installed_pip.sh python3.7 > /build_info/actual_installed_packages/release/python3_pip_packages diff --git a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/security_scan/.trivyignore b/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/security_scan/.trivyignore deleted file mode 100644 index 5211f234c..000000000 --- a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/security_scan/.trivyignore +++ /dev/null @@ -1,17 +0,0 @@ -#the following CVE's affect kernel, no issue for container -CVE-2022-0847 -CVE-2022-0001 -CVE-2022-0002 -CVE-2022-1015 -CVE-2022-1116 -CVE-2022-29581 -CVE-2022-21499 -CVE-2022-43945 -#CVE-2022-23648 is a bug in containerd, not issue for containers -CVE-2022-23648 -#issue in cgroups, but no threat for ScriptLanguageContainer -CVE-2022-0492 -# CVE-2022-27191 is an issue in Go. Which will be installed only together with Trivy. -CVE-2022-27191 -# CVE-2022-23960 affects only ARM architectures -CVE-2022-23960 diff --git a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/security_scan/Dockerfile b/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/security_scan/Dockerfile deleted file mode 100644 index 15291fc84..000000000 --- a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/security_scan/Dockerfile +++ /dev/null @@ -1,14 +0,0 @@ -FROM {{release}} -ENV DEBIAN_FRONTEND=noninteractive - -RUN mkdir -p /build_info/packages -COPY security_scan/packages /build_info/packages/security_scan -RUN /scripts/install_scripts/install_via_apt.pl --file /build_info/packages/security_scan/apt_get_packages_trivy_deps -RUN curl -s https://aquasecurity.github.io/trivy-repo/deb/public.key | apt-key add - && \ - /scripts/install_scripts/install_ppa.pl --ppa 'deb https://aquasecurity.github.io/trivy-repo/deb bionic main' --out-file trivy.list -RUN /scripts/install_scripts/install_via_apt.pl --file /build_info/packages/security_scan/apt_get_packages - -ENV SECURITY_SCANNERS="trivy" -COPY /security_scan/.trivyignore /.trivyignore - -ENTRYPOINT ["/scripts/security_scan/run.sh"] \ No newline at end of file diff --git a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/security_scan/packages/apt_get_packages b/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/security_scan/packages/apt_get_packages deleted file mode 100644 index 6bd628d4c..000000000 --- a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/security_scan/packages/apt_get_packages +++ /dev/null @@ -1 +0,0 @@ -trivy diff --git a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/security_scan/packages/apt_get_packages_trivy_deps b/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/security_scan/packages/apt_get_packages_trivy_deps deleted file mode 100644 index 8920661bf..000000000 --- a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/security_scan/packages/apt_get_packages_trivy_deps +++ /dev/null @@ -1,2 +0,0 @@ -apt-transport-https -gnupg \ No newline at end of file diff --git a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/testconfig b/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/testconfig deleted file mode 100644 index 8688dd718..000000000 --- a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/testconfig +++ /dev/null @@ -1,2 +0,0 @@ -generic_language_tests=python3 -test_folders=python3/all pandas/all diff --git a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/udfclient_deps/Dockerfile b/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/udfclient_deps/Dockerfile deleted file mode 100644 index 8ed88f8ca..000000000 --- a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/udfclient_deps/Dockerfile +++ /dev/null @@ -1,26 +0,0 @@ -FROM ubuntu:18.04 -ENV DEBIAN_FRONTEND=noninteractive - -ENV ARCHIVE_UBUNTU_PREFIX="" -RUN sed --in-place --regexp-extended "s/(\/\/)(archive\.ubuntu)/\1$ARCHIVE_UBUNTU_PREFIX\2/" /etc/apt/sources.list - -COPY 01_nodoc /etc/dpkg/dpkg.cfg.d/01_nodoc -COPY scripts /scripts - -RUN mkdir -p /build_info/packages -COPY udfclient_deps/packages /build_info/packages/udfclient_deps -RUN /scripts/install_scripts/install_via_apt.pl --file /build_info/packages/udfclient_deps/apt_get_packages --with-versions - -RUN addgroup --gid 1000 exasolution -RUN adduser --disabled-login --uid 1000 --gid 1000 exasolution --gecos "First Last,RoomNumber,WorkPhone,HomePhone" -RUN addgroup --gid 500 exausers -RUN adduser --disabled-login --uid 500 --gid 500 exadefusr --gecos "First Last,RoomNumber,WorkPhone,HomePhone" - -ENV LANG en_US.UTF-8 -ENV LANGUAGE en_US:en -ENV LC_ALL en_US.UTF-8 - -ENV PROTOBUF_LIBRARY_PREFIX=/usr/lib/ -ENV PROTOBUF_INCLUDE_PREFIX=/usr/include/ -ENV ZMQ_LIBRARY_PREFIX=/usr/lib -ENV ZMQ_INCLUDE_PREFIX=/usr/include diff --git a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/udfclient_deps/packages/apt_get_packages b/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/udfclient_deps/packages/apt_get_packages deleted file mode 100644 index 9b688970c..000000000 --- a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_base/udfclient_deps/packages/apt_get_packages +++ /dev/null @@ -1,6 +0,0 @@ -coreutils|8.28-1ubuntu1 -locales|2.27-3ubuntu1.6 -libnss-db|2.2.3pre1-6build2 -libzmq3-dev|4.2.5-1ubuntu0.2 -libprotobuf-dev|3.0.0-9.1ubuntu1.1 -libssl-dev|1.1.1-1ubuntu2.1~18.04.23 diff --git a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_customization/Dockerfile b/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_customization/Dockerfile deleted file mode 100644 index d02314459..000000000 --- a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_customization/Dockerfile +++ /dev/null @@ -1,78 +0,0 @@ -############################################################################################ -############################################################################################ -# This Dockerfile allows you to extend this flavor by installing packages or adding files. -# IF you didn't change the lines below, you can add packages and their version to the -# files in ./packages and they get automatically installed. -############################################################################################ -############################################################################################ - -####################################################################### -####################################################################### -# Do not change the following lines unless you know what you are doing -####################################################################### -####################################################################### - -FROM {{flavor_base_deps}} - -RUN mkdir -p /build_info/packages/flavor_customization - -COPY flavor_customization/packages/apt_get_packages /build_info/packages/flavor_customization -RUN /scripts/install_scripts/install_via_apt.pl --file /build_info/packages/flavor_customization/apt_get_packages --with-versions - -COPY flavor_customization/packages/python3_pip_packages /build_info/packages/flavor_customization -#install Python3 packages via pip with legacy dependency resolver, as customers might already use this container with their own (pinned) dependencies which won't work without this option (the new resolver is more restrictive) -RUN /scripts/install_scripts/install_via_pip.pl --file /build_info/packages/flavor_customization/python3_pip_packages --python-binary python3.7 --with-versions --allow-no-version --use-deprecated-legacy-resolver - - -########################################################################## -########################################################################## -# Below this text you can add any Dockerfile commands except of FROM. -# However only commands which change the filesystem will be -# reflected to the final script-language container. -# We recommend to use only RUN, COPY and ADD. For example, WORKDIR, USER -# and ENV will be not carried over into the final container. For more -# information about Dockerfile commands, please check the reference -# https://docs.docker.com/engine/reference/builder/#dockerfile-reference -########################################################################## -########################################################################## - - -########### -########### -# Examples: -########### -########### - -################################################# -# Execute a command during the build of the image -################################################# - -# With RUN you can excute any command you usally would run in a bash shell. -# It usually is a good idea to cleanup downloaded files or packages -# caches in the same in the same RUN statement to keep the image size -# small. You can execute multiple shell commands in one RUN statement -# by combine them with -# - `&&` (only execute if the previous command was successfull), -# - `||` (only execute if the previous command was unsuccesfull) -# - `;` (execute regardless of the success of the previous command) -# To format multiple command per RUN statement you can add a line break with `\`. -# If you need to execute complex sequences of commands you should execute -# scripts which you can copy into the image. -# ------------------------------------------------------------------------------- - -# RUN git clone https://github.com/exasol/data-science-examples -# RUN curl -o data-science-examples.zip https://codeload.github.com/exasol/data-science-examples/zip/master && \ -# unzip data-science-examples.zip && \ -# rm data-science-examples.zip - -##################################### -# Copy a file from ./ into the image. -##################################### - -# In case of exaslct it is important to prefix source files or directories with `flavor_customization` -# if you want to copy files or directories located in the same directory as this Dockerfile -# ----------------------------------------------------------------------------------------------------- - -# COPY flavor_customization/packages/python3_pip_packages /build_info/packages/flavor_customization -# ADD flavor_customization/code.tar.gz /code - diff --git a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_customization/packages/apt_get_packages b/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_customization/packages/apt_get_packages deleted file mode 100644 index d78cd6de0..000000000 --- a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_customization/packages/apt_get_packages +++ /dev/null @@ -1,9 +0,0 @@ -# This file specifies the package list which gets installed via apt. -# You must specify the the package and its version separated by a |. -# We recommend here the usage of package versions, to ensure that the container -# builds are reproducible. However, we allow also packages without version. -# As you can see, this file can contain comments which start with #. -# If a line starts with # the whole line is a comment, however you can -# also start a comment after the package definition. - -# p7zip-full|16.02+dfsg-6 # you can check which versions of a package are available with apt-cache policy diff --git a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_customization/packages/python3_pip_packages b/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_customization/packages/python3_pip_packages deleted file mode 100644 index a9f22f993..000000000 --- a/flavors/python-3.7-minimal-EXASOL-6.2.0/flavor_customization/packages/python3_pip_packages +++ /dev/null @@ -1,9 +0,0 @@ -# This file specifies the package list which gets installed via pip for python3. -# You must specify the the package and its version separated by a |. -# We recommend here the usage of package versions, to ensure that the container -# builds are reproducible. However, we allow also packages without version. -# As you can see, this file can contain comments which start with #. -# If a line starts with # the whole line is a comment, however you can -# also start a comment after the package definition. - -#tensorflow-probability|0.9.0 From c20c1e7a56462f9604ac24490d1d5e3fda36adae Mon Sep 17 00:00:00 2001 From: Torsten Kilias Date: Tue, 8 Aug 2023 13:17:24 +0200 Subject: [PATCH 5/6] #827: Update packages and ignore kernel CVEs (#373) * Ignore CVE-2023-3611 and CVE-2023-3776, because they are kernel issues * Update cryptography to fix CVE-2023-38325 * Update poetry.lock * Ignore CVE-2023-3609, because it affects the kernel * Update cryptography to 41.0.2 in the conda flavors * Ignore CVE-2023-38325, because cryptography 41.0.3 is not yet available on conda Co-authored-by: Christoph Pirkl --- .../flavor_base/security_scan/.trivyignore | 3 + .../language_deps/packages/conda_packages | 2 +- .../flavor_base/security_scan/.trivyignore | 7 +- .../language_deps/packages/conda_packages | 2 +- .../flavor_base/security_scan/.trivyignore | 7 +- poetry.lock | 113 +++++++++--------- 6 files changed, 74 insertions(+), 60 deletions(-) diff --git a/flavors/python-3.8-minimal-EXASOL-6.2.0/flavor_base/security_scan/.trivyignore b/flavors/python-3.8-minimal-EXASOL-6.2.0/flavor_base/security_scan/.trivyignore index 6c457c7a8..db91c1521 100644 --- a/flavors/python-3.8-minimal-EXASOL-6.2.0/flavor_base/security_scan/.trivyignore +++ b/flavors/python-3.8-minimal-EXASOL-6.2.0/flavor_base/security_scan/.trivyignore @@ -12,6 +12,9 @@ CVE-2022-43945 CVE-2023-3090 CVE-2023-3389 CVE-2023-3390 +CVE-2023-3611 +CVE-2023-3776 +CVE-2023-3609 #CVE-2022-23648 is a bug in containerd, not issue for containers CVE-2022-23648 #issue in cgroups, but no threat for ScriptLanguageContainer diff --git a/flavors/template-Exasol-all-python-3.8-conda/flavor_base/language_deps/packages/conda_packages b/flavors/template-Exasol-all-python-3.8-conda/flavor_base/language_deps/packages/conda_packages index a273cea85..f25a950d2 100644 --- a/flavors/template-Exasol-all-python-3.8-conda/flavor_base/language_deps/packages/conda_packages +++ b/flavors/template-Exasol-all-python-3.8-conda/flavor_base/language_deps/packages/conda_packages @@ -5,6 +5,6 @@ pyarrow|12.0.0 libblas|3.9.0=15_linux64_mkl mamba|1.3.1 ld_impl_linux-64|2.36.1 -cryptography|39.0.2 +cryptography|41.0.2 libxml2|2.10.3=hca2bb57_4 # Pinned for OpenJDK in build_deps icu|70.1=h27087fc_0 # Pinned for OpenJDK in build_deps diff --git a/flavors/template-Exasol-all-python-3.8-conda/flavor_base/security_scan/.trivyignore b/flavors/template-Exasol-all-python-3.8-conda/flavor_base/security_scan/.trivyignore index d357974ee..228f310e8 100644 --- a/flavors/template-Exasol-all-python-3.8-conda/flavor_base/security_scan/.trivyignore +++ b/flavors/template-Exasol-all-python-3.8-conda/flavor_base/security_scan/.trivyignore @@ -1,6 +1,6 @@ #bug in trivy, no idea when a new debian package will be released (https://github.com/aquasecurity/trivy/issues/1680) CVE-2021-43816 -#CVE-2022-0847, CVE-2022-0001, CVE-2022-0002, CVE-2022-1015 affect kernel, no issue for container +#The following CVEs affect kernel, no issue for container CVE-2022-0847 CVE-2022-0001 CVE-2022-0002 @@ -8,6 +8,9 @@ CVE-2022-1015 CVE-2022-23960 CVE-2022-25636 CVE-2022-43945 +CVE-2023-3611 +CVE-2023-3776 +CVE-2023-3609 #CVE-2022-23648 is a bug in containerd, not issue for containers CVE-2022-23648 #issue in cgroups, but no threat for ScriptLanguageContainer @@ -16,3 +19,5 @@ CVE-2022-0492 CVE-2022-27191 # CVE-2022-23960 affects only ARM architectures CVE-2022-23960 +# We ignore CVE-2023-38325, because cryptography 41.0.3 is currently not available on conda, https://github.com/conda-forge/cryptography-feedstock/issues/122 +CVE-2023-38325 diff --git a/flavors/template-Exasol-all-python-3.8-cuda-conda/flavor_base/language_deps/packages/conda_packages b/flavors/template-Exasol-all-python-3.8-cuda-conda/flavor_base/language_deps/packages/conda_packages index 82d124f95..cf3cfd587 100644 --- a/flavors/template-Exasol-all-python-3.8-cuda-conda/flavor_base/language_deps/packages/conda_packages +++ b/flavors/template-Exasol-all-python-3.8-cuda-conda/flavor_base/language_deps/packages/conda_packages @@ -5,6 +5,6 @@ pyarrow|12.0.0=py38h4559c88_4_cuda libblas|3.9.0=15_linux64_mkl mamba|1.3.1 ld_impl_linux-64|2.36.1 -cryptography|39.0.2 +cryptography|41.0.2 libxml2|2.10.3=hca2bb57_4 # Pinned for OpenJDK in build_deps icu|70.1=h27087fc_0 # Pinned for OpenJDK in build_deps diff --git a/flavors/template-Exasol-all-python-3.8-cuda-conda/flavor_base/security_scan/.trivyignore b/flavors/template-Exasol-all-python-3.8-cuda-conda/flavor_base/security_scan/.trivyignore index d357974ee..228f310e8 100644 --- a/flavors/template-Exasol-all-python-3.8-cuda-conda/flavor_base/security_scan/.trivyignore +++ b/flavors/template-Exasol-all-python-3.8-cuda-conda/flavor_base/security_scan/.trivyignore @@ -1,6 +1,6 @@ #bug in trivy, no idea when a new debian package will be released (https://github.com/aquasecurity/trivy/issues/1680) CVE-2021-43816 -#CVE-2022-0847, CVE-2022-0001, CVE-2022-0002, CVE-2022-1015 affect kernel, no issue for container +#The following CVEs affect kernel, no issue for container CVE-2022-0847 CVE-2022-0001 CVE-2022-0002 @@ -8,6 +8,9 @@ CVE-2022-1015 CVE-2022-23960 CVE-2022-25636 CVE-2022-43945 +CVE-2023-3611 +CVE-2023-3776 +CVE-2023-3609 #CVE-2022-23648 is a bug in containerd, not issue for containers CVE-2022-23648 #issue in cgroups, but no threat for ScriptLanguageContainer @@ -16,3 +19,5 @@ CVE-2022-0492 CVE-2022-27191 # CVE-2022-23960 affects only ARM architectures CVE-2022-23960 +# We ignore CVE-2023-38325, because cryptography 41.0.3 is currently not available on conda, https://github.com/conda-forge/cryptography-feedstock/issues/122 +CVE-2023-38325 diff --git a/poetry.lock b/poetry.lock index 5926b8e5f..a5297206a 100644 --- a/poetry.lock +++ b/poetry.lock @@ -262,14 +262,14 @@ pycparser = "*" [[package]] name = "chardet" -version = "5.1.0" +version = "5.2.0" description = "Universal encoding detector for Python 3" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "chardet-5.1.0-py3-none-any.whl", hash = "sha256:362777fb014af596ad31334fde1e8c327dfdb076e1960d1694662d46a6917ab9"}, - {file = "chardet-5.1.0.tar.gz", hash = "sha256:0d62712b956bc154f85fb0a266e2a3c5913c2967e00348701b32411d6def31e5"}, + {file = "chardet-5.2.0-py3-none-any.whl", hash = "sha256:e1cf59446890a00105fe7b7912492ea04b6e6f06d4b742b2c788469e34c82970"}, + {file = "chardet-5.2.0.tar.gz", hash = "sha256:1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7"}, ] [[package]] @@ -401,35 +401,35 @@ six = "*" [[package]] name = "cryptography" -version = "41.0.2" +version = "41.0.3" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "cryptography-41.0.2-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:01f1d9e537f9a15b037d5d9ee442b8c22e3ae11ce65ea1f3316a41c78756b711"}, - {file = "cryptography-41.0.2-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:079347de771f9282fbfe0e0236c716686950c19dee1b76240ab09ce1624d76d7"}, - {file = "cryptography-41.0.2-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:439c3cc4c0d42fa999b83ded80a9a1fb54d53c58d6e59234cfe97f241e6c781d"}, - {file = "cryptography-41.0.2-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f14ad275364c8b4e525d018f6716537ae7b6d369c094805cae45300847e0894f"}, - {file = "cryptography-41.0.2-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:84609ade00a6ec59a89729e87a503c6e36af98ddcd566d5f3be52e29ba993182"}, - {file = "cryptography-41.0.2-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:49c3222bb8f8e800aead2e376cbef687bc9e3cb9b58b29a261210456a7783d83"}, - {file = "cryptography-41.0.2-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:d73f419a56d74fef257955f51b18d046f3506270a5fd2ac5febbfa259d6c0fa5"}, - {file = "cryptography-41.0.2-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:2a034bf7d9ca894720f2ec1d8b7b5832d7e363571828037f9e0c4f18c1b58a58"}, - {file = "cryptography-41.0.2-cp37-abi3-win32.whl", hash = "sha256:d124682c7a23c9764e54ca9ab5b308b14b18eba02722b8659fb238546de83a76"}, - {file = "cryptography-41.0.2-cp37-abi3-win_amd64.whl", hash = "sha256:9c3fe6534d59d071ee82081ca3d71eed3210f76ebd0361798c74abc2bcf347d4"}, - {file = "cryptography-41.0.2-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:a719399b99377b218dac6cf547b6ec54e6ef20207b6165126a280b0ce97e0d2a"}, - {file = "cryptography-41.0.2-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:182be4171f9332b6741ee818ec27daff9fb00349f706629f5cbf417bd50e66fd"}, - {file = "cryptography-41.0.2-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:7a9a3bced53b7f09da251685224d6a260c3cb291768f54954e28f03ef14e3766"}, - {file = "cryptography-41.0.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:f0dc40e6f7aa37af01aba07277d3d64d5a03dc66d682097541ec4da03cc140ee"}, - {file = "cryptography-41.0.2-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:674b669d5daa64206c38e507808aae49904c988fa0a71c935e7006a3e1e83831"}, - {file = "cryptography-41.0.2-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:7af244b012711a26196450d34f483357e42aeddb04128885d95a69bd8b14b69b"}, - {file = "cryptography-41.0.2-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:9b6d717393dbae53d4e52684ef4f022444fc1cce3c48c38cb74fca29e1f08eaa"}, - {file = "cryptography-41.0.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:192255f539d7a89f2102d07d7375b1e0a81f7478925b3bc2e0549ebf739dae0e"}, - {file = "cryptography-41.0.2-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:f772610fe364372de33d76edcd313636a25684edb94cee53fd790195f5989d14"}, - {file = "cryptography-41.0.2-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:b332cba64d99a70c1e0836902720887fb4529ea49ea7f5462cf6640e095e11d2"}, - {file = "cryptography-41.0.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:9a6673c1828db6270b76b22cc696f40cde9043eb90373da5c2f8f2158957f42f"}, - {file = "cryptography-41.0.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:342f3767e25876751e14f8459ad85e77e660537ca0a066e10e75df9c9e9099f0"}, - {file = "cryptography-41.0.2.tar.gz", hash = "sha256:7d230bf856164de164ecb615ccc14c7fc6de6906ddd5b491f3af90d3514c925c"}, + {file = "cryptography-41.0.3-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:652627a055cb52a84f8c448185922241dd5217443ca194d5739b44612c5e6507"}, + {file = "cryptography-41.0.3-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:8f09daa483aedea50d249ef98ed500569841d6498aa9c9f4b0531b9964658922"}, + {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4fd871184321100fb400d759ad0cddddf284c4b696568204d281c902fc7b0d81"}, + {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:84537453d57f55a50a5b6835622ee405816999a7113267739a1b4581f83535bd"}, + {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:3fb248989b6363906827284cd20cca63bb1a757e0a2864d4c1682a985e3dca47"}, + {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:42cb413e01a5d36da9929baa9d70ca90d90b969269e5a12d39c1e0d475010116"}, + {file = "cryptography-41.0.3-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:aeb57c421b34af8f9fe830e1955bf493a86a7996cc1338fe41b30047d16e962c"}, + {file = "cryptography-41.0.3-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:6af1c6387c531cd364b72c28daa29232162010d952ceb7e5ca8e2827526aceae"}, + {file = "cryptography-41.0.3-cp37-abi3-win32.whl", hash = "sha256:0d09fb5356f975974dbcb595ad2d178305e5050656affb7890a1583f5e02a306"}, + {file = "cryptography-41.0.3-cp37-abi3-win_amd64.whl", hash = "sha256:a983e441a00a9d57a4d7c91b3116a37ae602907a7618b882c8013b5762e80574"}, + {file = "cryptography-41.0.3-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5259cb659aa43005eb55a0e4ff2c825ca111a0da1814202c64d28a985d33b087"}, + {file = "cryptography-41.0.3-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:67e120e9a577c64fe1f611e53b30b3e69744e5910ff3b6e97e935aeb96005858"}, + {file = "cryptography-41.0.3-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:7efe8041897fe7a50863e51b77789b657a133c75c3b094e51b5e4b5cec7bf906"}, + {file = "cryptography-41.0.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ce785cf81a7bdade534297ef9e490ddff800d956625020ab2ec2780a556c313e"}, + {file = "cryptography-41.0.3-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:57a51b89f954f216a81c9d057bf1a24e2f36e764a1ca9a501a6964eb4a6800dd"}, + {file = "cryptography-41.0.3-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:4c2f0d35703d61002a2bbdcf15548ebb701cfdd83cdc12471d2bae80878a4207"}, + {file = "cryptography-41.0.3-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:23c2d778cf829f7d0ae180600b17e9fceea3c2ef8b31a99e3c694cbbf3a24b84"}, + {file = "cryptography-41.0.3-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:95dd7f261bb76948b52a5330ba5202b91a26fbac13ad0e9fc8a3ac04752058c7"}, + {file = "cryptography-41.0.3-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:41d7aa7cdfded09b3d73a47f429c298e80796c8e825ddfadc84c8a7f12df212d"}, + {file = "cryptography-41.0.3-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:d0d651aa754ef58d75cec6edfbd21259d93810b73f6ec246436a21b7841908de"}, + {file = "cryptography-41.0.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:ab8de0d091acbf778f74286f4989cf3d1528336af1b59f3e5d2ebca8b5fe49e1"}, + {file = "cryptography-41.0.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a74fbcdb2a0d46fe00504f571a2a540532f4c188e6ccf26f1f178480117b33c4"}, + {file = "cryptography-41.0.3.tar.gz", hash = "sha256:6d192741113ef5e30d89dcb5b956ef4e1578f304708701b8b73d38e3e1461f34"}, ] [package.dependencies] @@ -447,14 +447,14 @@ test-randomorder = ["pytest-randomly"] [[package]] name = "datamodel-code-generator" -version = "0.21.2" +version = "0.21.3" description = "Datamodel Code Generator" category = "main" optional = false python-versions = ">=3.7,<4.0" files = [ - {file = "datamodel_code_generator-0.21.2-py3-none-any.whl", hash = "sha256:99f07ddeb4b58dbbcd7822ee83f44e408b9a9550975ea64a483df1e101abf4c2"}, - {file = "datamodel_code_generator-0.21.2.tar.gz", hash = "sha256:824a11c4a0b2e5b23e102a55db0e4e9120d58cdf77e0cc35abd6efbcf7a46326"}, + {file = "datamodel_code_generator-0.21.3-py3-none-any.whl", hash = "sha256:42b4fbf167a2352d5b7e5ee83dd57f0999683a0ebcac3b97f26c3ac135198957"}, + {file = "datamodel_code_generator-0.21.3.tar.gz", hash = "sha256:a8f05509b7632d18f3f4bfa8a313769cbe0754dac3715d25d26c71d2c0d2e0d4"}, ] [package.dependencies] @@ -719,18 +719,19 @@ test = ["pytest (>=6)"] [[package]] name = "fabric" -version = "3.1.0" +version = "3.2.1" description = "High level SSH command execution" category = "main" optional = false python-versions = "*" files = [ - {file = "fabric-3.1.0-py3-none-any.whl", hash = "sha256:0a13217db1aa203167376119b0e165081c5906c31e2b2104410685d1310ef8fb"}, - {file = "fabric-3.1.0.tar.gz", hash = "sha256:ea1c5ea3956d196b5990ba720cc8ee457fa1b9c6f265ab3b643ff63b05e8970a"}, + {file = "fabric-3.2.1-py3-none-any.whl", hash = "sha256:23440a56510a981c97aaa2d4be17c759d6c60e5691bc49a66eb70f319d55f118"}, + {file = "fabric-3.2.1.tar.gz", hash = "sha256:81293d7e2b509d37e51bb49a0151191455f5a7ea11ebaa158bdee995b844c668"}, ] [package.dependencies] decorator = ">=5" +deprecated = ">=1.2" invoke = ">=2.0" paramiko = ">=2.4" @@ -963,14 +964,14 @@ testing-libs = ["simplejson", "ujson"] [[package]] name = "jsonschema" -version = "4.18.4" +version = "4.19.0" description = "An implementation of JSON Schema validation for Python" category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "jsonschema-4.18.4-py3-none-any.whl", hash = "sha256:971be834317c22daaa9132340a51c01b50910724082c2c1a2ac87eeec153a3fe"}, - {file = "jsonschema-4.18.4.tar.gz", hash = "sha256:fb3642735399fa958c0d2aad7057901554596c63349f4f6b283c493cf692a25d"}, + {file = "jsonschema-4.19.0-py3-none-any.whl", hash = "sha256:043dc26a3845ff09d20e4420d6012a9c91c9aa8999fa184e7efcfeccb41e32cb"}, + {file = "jsonschema-4.19.0.tar.gz", hash = "sha256:6e1e7569ac13be8139b2dd2c21a55d350066ee3f80df06c608b398cdc6f30e8f"}, ] [package.dependencies] @@ -1254,14 +1255,14 @@ files = [ [[package]] name = "paramiko" -version = "3.2.0" +version = "3.3.1" description = "SSH2 protocol library" category = "main" optional = false python-versions = ">=3.6" files = [ - {file = "paramiko-3.2.0-py3-none-any.whl", hash = "sha256:df0f9dd8903bc50f2e10580af687f3015bf592a377cd438d2ec9546467a14eb8"}, - {file = "paramiko-3.2.0.tar.gz", hash = "sha256:93cdce625a8a1dc12204439d45033f3261bdb2c201648cfcdc06f9fd0f94ec29"}, + {file = "paramiko-3.3.1-py3-none-any.whl", hash = "sha256:b7bc5340a43de4287bbe22fe6de728aa2c22468b2a849615498dd944c2f275eb"}, + {file = "paramiko-3.3.1.tar.gz", hash = "sha256:6a3777a961ac86dbef375c5f5b8d50014a1a96d0fd7f054a43bc880134b0ff77"}, ] [package.dependencies] @@ -1288,14 +1289,14 @@ files = [ [[package]] name = "pathspec" -version = "0.11.1" +version = "0.11.2" description = "Utility library for gitignore style pattern matching of file paths." category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "pathspec-0.11.1-py3-none-any.whl", hash = "sha256:d8af70af76652554bd134c22b3e8a1cc46ed7d91edcdd721ef1a0c51a84a5293"}, - {file = "pathspec-0.11.1.tar.gz", hash = "sha256:2798de800fa92780e33acca925945e9a19a133b715067cf165b8866c15a31687"}, + {file = "pathspec-0.11.2-py3-none-any.whl", hash = "sha256:1d6ed233af05e679efb96b1851550ea95bbb64b7c490b0f5aa52996c11e92a20"}, + {file = "pathspec-0.11.2.tar.gz", hash = "sha256:e0d8d0ac2f12da61956eb2306b69f9469b42f4deb0f3cb6ed47b9cce9996ced3"}, ] [[package]] @@ -1312,19 +1313,19 @@ files = [ [[package]] name = "platformdirs" -version = "3.9.1" +version = "3.10.0" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "platformdirs-3.9.1-py3-none-any.whl", hash = "sha256:ad8291ae0ae5072f66c16945166cb11c63394c7a3ad1b1bc9828ca3162da8c2f"}, - {file = "platformdirs-3.9.1.tar.gz", hash = "sha256:1b42b450ad933e981d56e59f1b97495428c9bd60698baab9f3eb3d00d5822421"}, + {file = "platformdirs-3.10.0-py3-none-any.whl", hash = "sha256:d7c24979f292f916dc9cbf8648319032f551ea8c49a4c9bf2fb556a02070ec1d"}, + {file = "platformdirs-3.10.0.tar.gz", hash = "sha256:b45696dab2d7cc691a3226759c0d3b00c47c8b6e293d96f6436f733303f77f6d"}, ] [package.extras] -docs = ["furo (>=2023.5.20)", "proselint (>=0.13)", "sphinx (>=7.0.1)", "sphinx-autodoc-typehints (>=1.23,!=1.23.4)"] -test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.3.1)", "pytest-cov (>=4.1)", "pytest-mock (>=3.10)"] +docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.1)", "sphinx-autodoc-typehints (>=1.24)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4)", "pytest-cov (>=4.1)", "pytest-mock (>=3.11.1)"] [[package]] name = "pluggy" @@ -1590,14 +1591,14 @@ ujson = ["ujson"] [[package]] name = "pygithub" -version = "1.59.0" +version = "1.59.1" description = "Use the full Github API v3" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "PyGithub-1.59.0-py3-none-any.whl", hash = "sha256:126bdbae72087d8d038b113aab6b059b4553cb59348e3024bb1a1cae406ace9e"}, - {file = "PyGithub-1.59.0.tar.gz", hash = "sha256:6e05ff49bac3caa7d1d6177a10c6e55a3e20c85b92424cc198571fd0cf786690"}, + {file = "PyGithub-1.59.1-py3-none-any.whl", hash = "sha256:3d87a822e6c868142f0c2c4bf16cce4696b5a7a4d142a7bd160e1bdf75bc54a9"}, + {file = "PyGithub-1.59.1.tar.gz", hash = "sha256:c44e3a121c15bf9d3a5cc98d94c9a047a5132a9b01d22264627f58ade9ddc217"}, ] [package.dependencies] @@ -1675,14 +1676,14 @@ test = ["flaky", "pretend", "pytest (>=3.0.1)"] [[package]] name = "pyparsing" -version = "3.1.0" +version = "3.1.1" description = "pyparsing module - Classes and methods to define and execute parsing grammars" category = "main" optional = false python-versions = ">=3.6.8" files = [ - {file = "pyparsing-3.1.0-py3-none-any.whl", hash = "sha256:d554a96d1a7d3ddaf7183104485bc19fd80543ad6ac5bdb6426719d766fb06c1"}, - {file = "pyparsing-3.1.0.tar.gz", hash = "sha256:edb662d6fe322d6e990b1594b5feaeadf806803359e3d4d42f11e295e588f0ea"}, + {file = "pyparsing-3.1.1-py3-none-any.whl", hash = "sha256:32c7c0b711493c72ff18a981d24f28aaf9c1fb7ed5e9667c9e84e3db623bdbfb"}, + {file = "pyparsing-3.1.1.tar.gz", hash = "sha256:ede28a1a32462f5a9705e07aea48001a08f7cf81a021585011deba701581a0db"}, ] [package.extras] @@ -1850,14 +1851,14 @@ files = [ [[package]] name = "referencing" -version = "0.30.0" +version = "0.30.2" description = "JSON Referencing + Python" category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "referencing-0.30.0-py3-none-any.whl", hash = "sha256:c257b08a399b6c2f5a3510a50d28ab5dbc7bbde049bcaf954d43c446f83ab548"}, - {file = "referencing-0.30.0.tar.gz", hash = "sha256:47237742e990457f7512c7d27486394a9aadaf876cbfaa4be65b27b4f4d47c6b"}, + {file = "referencing-0.30.2-py3-none-any.whl", hash = "sha256:449b6669b6121a9e96a7f9e410b245d471e8d48964c67113ce9afe50c8dd7bdf"}, + {file = "referencing-0.30.2.tar.gz", hash = "sha256:794ad8003c65938edcdbc027f1933215e0d0ccc0291e3ce20a4d87432b59efc0"}, ] [package.dependencies] From f777386389de07d565a9f5271f59af1d9ac8caed Mon Sep 17 00:00:00 2001 From: Torsten Kilias Date: Wed, 23 Aug 2023 08:57:40 +0200 Subject: [PATCH 6/6] #831: Update conda flavors to cryptography 41.0.3 and openssl 3.1.2 (#375) --- .../flavor_base/language_deps/packages/conda_packages | 2 +- .../flavor_base/udfclient_deps/packages/conda_packages | 2 +- .../flavor_base/language_deps/packages/conda_packages | 2 +- .../flavor_base/udfclient_deps/packages/conda_packages | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/flavors/template-Exasol-all-python-3.8-conda/flavor_base/language_deps/packages/conda_packages b/flavors/template-Exasol-all-python-3.8-conda/flavor_base/language_deps/packages/conda_packages index f25a950d2..9c8fb8dab 100644 --- a/flavors/template-Exasol-all-python-3.8-conda/flavor_base/language_deps/packages/conda_packages +++ b/flavors/template-Exasol-all-python-3.8-conda/flavor_base/language_deps/packages/conda_packages @@ -5,6 +5,6 @@ pyarrow|12.0.0 libblas|3.9.0=15_linux64_mkl mamba|1.3.1 ld_impl_linux-64|2.36.1 -cryptography|41.0.2 +cryptography|41.0.3 libxml2|2.10.3=hca2bb57_4 # Pinned for OpenJDK in build_deps icu|70.1=h27087fc_0 # Pinned for OpenJDK in build_deps diff --git a/flavors/template-Exasol-all-python-3.8-conda/flavor_base/udfclient_deps/packages/conda_packages b/flavors/template-Exasol-all-python-3.8-conda/flavor_base/udfclient_deps/packages/conda_packages index 63c856f49..dc9273496 100644 --- a/flavors/template-Exasol-all-python-3.8-conda/flavor_base/udfclient_deps/packages/conda_packages +++ b/flavors/template-Exasol-all-python-3.8-conda/flavor_base/udfclient_deps/packages/conda_packages @@ -1,6 +1,6 @@ libprotobuf|3.21.12 zeromq|4.3.4 -openssl|3.1.1 +openssl|3.1.2 nss|3.77 cppzmq|4.8.1 _openmp_mutex|4.5=2_kmp_llvm # We need this, such that we can later install libblas with mkl, which is for example needed by pytorch diff --git a/flavors/template-Exasol-all-python-3.8-cuda-conda/flavor_base/language_deps/packages/conda_packages b/flavors/template-Exasol-all-python-3.8-cuda-conda/flavor_base/language_deps/packages/conda_packages index cf3cfd587..8bc9cb290 100644 --- a/flavors/template-Exasol-all-python-3.8-cuda-conda/flavor_base/language_deps/packages/conda_packages +++ b/flavors/template-Exasol-all-python-3.8-cuda-conda/flavor_base/language_deps/packages/conda_packages @@ -5,6 +5,6 @@ pyarrow|12.0.0=py38h4559c88_4_cuda libblas|3.9.0=15_linux64_mkl mamba|1.3.1 ld_impl_linux-64|2.36.1 -cryptography|41.0.2 +cryptography|41.0.3 libxml2|2.10.3=hca2bb57_4 # Pinned for OpenJDK in build_deps icu|70.1=h27087fc_0 # Pinned for OpenJDK in build_deps diff --git a/flavors/template-Exasol-all-python-3.8-cuda-conda/flavor_base/udfclient_deps/packages/conda_packages b/flavors/template-Exasol-all-python-3.8-cuda-conda/flavor_base/udfclient_deps/packages/conda_packages index 63c856f49..dc9273496 100644 --- a/flavors/template-Exasol-all-python-3.8-cuda-conda/flavor_base/udfclient_deps/packages/conda_packages +++ b/flavors/template-Exasol-all-python-3.8-cuda-conda/flavor_base/udfclient_deps/packages/conda_packages @@ -1,6 +1,6 @@ libprotobuf|3.21.12 zeromq|4.3.4 -openssl|3.1.1 +openssl|3.1.2 nss|3.77 cppzmq|4.8.1 _openmp_mutex|4.5=2_kmp_llvm # We need this, such that we can later install libblas with mkl, which is for example needed by pytorch