From 4450135b1135072f8fe3d382b8ebee2fa8525700 Mon Sep 17 00:00:00 2001 From: ZergLev Date: Fri, 5 Apr 2024 10:14:19 +0500 Subject: [PATCH 001/266] feat: early multiversion, raw --- .github/workflows/build_and_publish_docs.yml | 15 +- compose.yml | 6 - docs/source/_static/switcher.json | 27 + docs/source/conf.py | 23 +- docs/source/poly.py | 68 + poetry.lock | 1427 +++++++++--------- pyproject.toml | 1 + scripts/doc.py | 6 +- 8 files changed, 821 insertions(+), 752 deletions(-) create mode 100644 docs/source/_static/switcher.json create mode 100644 docs/source/poly.py diff --git a/.github/workflows/build_and_publish_docs.yml b/.github/workflows/build_and_publish_docs.yml index 5ea3fd66e..805d4f7da 100644 --- a/.github/workflows/build_and_publish_docs.yml +++ b/.github/workflows/build_and_publish_docs.yml @@ -21,6 +21,15 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - run: | + git remote show origin + git pull origin dev + git checkout dev + git pull origin master + git checkout master + git branch --all - name: set up python 3.9 uses: actions/setup-python@v5 @@ -43,8 +52,10 @@ jobs: TG_API_HASH: ${{ secrets.TG_API_HASH }} TG_BOT_USERNAME: ${{ secrets.TG_BOT_USERNAME }} run: | + ls + git branch python -m poetry run poe docs - + - name: remove jekyll theming run: touch docs/build/.nojekyll @@ -66,7 +77,7 @@ jobs: retention-days: 3 - name: deploy website - if: ${{ github.ref == 'refs/heads/master' }} + if: ${{ github.ref == 'refs/heads/master' || github.ref == 'refs/heads/dev' }} uses: JamesIves/github-pages-deploy-action@v4 with: branch: gh-pages diff --git a/compose.yml b/compose.yml index a753b946b..6dde98a29 100644 --- a/compose.yml +++ b/compose.yml @@ -63,12 +63,6 @@ services: - 27017:27017 volumes: - mongo-data:/data/db - healthcheck: - test: mongosh --norc --quiet --eval 'db.runCommand("ping").ok' localhost:27017/test - interval: 5s - timeout: 10s - retries: 5 - start_period: 30s ydb: env_file: [.env_file] diff --git a/docs/source/_static/switcher.json b/docs/source/_static/switcher.json new file mode 100644 index 000000000..03316e259 --- /dev/null +++ b/docs/source/_static/switcher.json @@ -0,0 +1,27 @@ +[ + { + "name": "master(stable)", + "version": "2.1", + "url": "file:///home/sergey/DialogFlowFramework/SphinxMultiversioning/dialog_flow_framework/docs/build/master/index.html" + }, + { + "version": "dev", + "url": "file:///home/sergey/DialogFlowFramework/SphinxMultiversioning/dialog_flow_framework/docs/build/dev/index.html" + }, + { + "version": "test_branch", + "url": "file:///home/sergey/DialogFlowFramework/SphinxMultiversioning/dialog_flow_framework/docs/build/test_branch_test/index.html" + }, + { + "version": "test_branch_2", + "url": "file:///home/sergey/DialogFlowFramework/SphinxMultiversioning/dialog_flow_framework/docs/build/test_branch_2/index.html" + }, + { + "version": "feat/sphinx_multiversion", + "url": "file:///home/sergey/DialogFlowFramework/SphinxMultiversioning/dialog_flow_framework/docs/build/feat/sphinx_multiversion/index.html" + }, + { + "version": "sphinx_multiversion_test", + "url": "file:///home/sergey/DialogFlowFramework/SphinxMultiversioning/dialog_flow_framework/docs/build/sphinx_multiversion_test/index.html" + } +] diff --git a/docs/source/conf.py b/docs/source/conf.py index 4b6769059..d35afeee9 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -2,6 +2,7 @@ import sys import re import importlib.metadata +import pydata_sphinx_theme # -- Path setup -------------------------------------------------------------- @@ -10,9 +11,16 @@ from utils.generate_tutorials import generate_tutorial_links_for_notebook_creation # noqa: E402 from utils.link_misc_files import link_misc_files # noqa: E402 from utils.regenerate_apiref import regenerate_apiref # noqa: E402 +from sphinx_polyversion import load +from sphinx_polyversion.git import GitRef # -- Project information ----------------------------------------------------- +data = load(globals()) # adds variables `current` and `revisions` +current: GitRef = data['current'] +print("current is: ", current) +print("current[0] is: ", current[0]) + _distribution_metadata = importlib.metadata.metadata('dff') project = _distribution_metadata["Name"] @@ -111,6 +119,14 @@ "css/custom.css", ] + +# VERSIONING +# Define the json_url for our version switcher. +json_url = "https://raw.githubusercontent.com/ZergLev/dialog_flow_framework/sphinx_multiversion_test/docs/source/_static/switcher.json" +# json_url = "docs/source/_static/switcher.json" +# json_url = "/docs/source/_static/switcher.json" +# json_url = "https://www.wikipedia.org/" + # Theme options html_theme_options = { "header_links_before_dropdown": 5, @@ -139,9 +155,14 @@ }, ], "secondary_sidebar_items": ["page-toc", "source-links", "example-links"], + "switcher": { + "json_url": json_url, + # "version_match" : version, + "version_match": current[0], + }, + "navbar_start": ["navbar-logo", "version-switcher"], } - favicons = [ {"href": "images/logo-dff.svg"}, ] diff --git a/docs/source/poly.py b/docs/source/poly.py new file mode 100644 index 000000000..f248cf060 --- /dev/null +++ b/docs/source/poly.py @@ -0,0 +1,68 @@ +from pathlib import Path +from datetime import datetime +from sphinx_polyversion import * +from sphinx_polyversion.git import * +from sphinx_polyversion.pyvenv import Poetry +from sphinx_polyversion.sphinx import SphinxBuilder + +#: Regex matching the branches to build docs for +BRANCH_REGEX = r"(dev|master|test_branch|test_branch_2|feat/sphinx_multiversion|sphinx_multiversion_test)" + +#: Regex matching the tags to build docs for +TAG_REGEX = r"-" + +#: Output dir relative to project root +OUTPUT_DIR = "docs/build" + +#: Source directory +SOURCE_DIR = "docs/source" + +#: Arguments to pass to `poetry install` +POETRY_ARGS = "--with tutorials,docs --all-extras --no-ansi --no-interaction".split() + +#: Arguments to pass to `sphinx-build` +SPHINX_ARGS = "-b html -W --keep-going -v".split() + +#: Mock data used for building local version +MOCK_DATA = { + "revisions": [ + GitRef("dev", "", "", GitRefType.BRANCH, datetime.fromtimestamp(0)), + GitRef("master", "", "", GitRefType.BRANCH, datetime.fromtimestamp(1)), + GitRef("test_branch", "", "", GitRefType.BRANCH, datetime.fromtimestamp(2)), + GitRef("test_branch_2", "", "", GitRefType.BRANCH, datetime.fromtimestamp(3)), + GitRef("feat/sphinx_multiversion", "", "", GitRefType.BRANCH, datetime.fromtimestamp(4)), + ], + "current": GitRef("local", "", "", GitRefType.BRANCH, datetime.fromtimestamp(5)), +} +MOCK = False + +# Load overrides read from commandline to global scope +apply_overrides(globals()) +# Determine repository root directory +root = Git.root(Path(__file__).parent) + +# Debug (Delete before PR!) +src = Path(SOURCE_DIR) +vcs_test=Git( + branch_regex=BRANCH_REGEX, + tag_regex=TAG_REGEX, + buffer_size=1 * 10**9, # 1 GB + predicate=file_predicate([src]), # exclude refs without source dir +), +# print(vcs_test.retrieve(root)) +# Setup driver and run it +DefaultDriver( + root, + OUTPUT_DIR, + vcs=Git( + branch_regex=BRANCH_REGEX, + tag_regex=TAG_REGEX, + buffer_size=1 * 10**9, # 1 GB + predicate=file_predicate([src]), # exclude refs without source dir + ), + builder=SphinxBuilder(src, args=SPHINX_ARGS), + env=Poetry.factory(args=POETRY_ARGS), + template_dir=root / src / "templates", + static_dir=root / src / "static", + mock=MOCK_DATA, +).run(MOCK) diff --git a/poetry.lock b/poetry.lock index 343d984ba..b5810f156 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.7.1 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.2 and should not be changed by hand. [[package]] name = "accessible-pygments" @@ -342,13 +342,13 @@ test = ["dateparser (==1.*)", "pre-commit", "pytest", "pytest-cov", "pytest-mock [[package]] name = "asgiref" -version = "3.7.2" +version = "3.8.1" description = "ASGI specs, helper code, and adapters" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "asgiref-3.7.2-py3-none-any.whl", hash = "sha256:89b2ef2247e3b562a16eef663bc0e2e703ec6468e2fa8a5cd61cd449786d4f6e"}, - {file = "asgiref-3.7.2.tar.gz", hash = "sha256:9e0ce3aa93a819ba5b45120216b23878cf6e8525eb3848653452b4192b92afed"}, + {file = "asgiref-3.8.1-py3-none-any.whl", hash = "sha256:3e1e3ecc849832fe52ccf2cb6686b7a55f82bb1d6aee72a58826471390335e47"}, + {file = "asgiref-3.8.1.tar.gz", hash = "sha256:c343bd80a0bec947a9860adb4c432ffa7db769836c64238fc34bdc3fec84d590"}, ] [package.dependencies] @@ -570,34 +570,6 @@ files = [ {file = "backcall-0.2.0.tar.gz", hash = "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e"}, ] -[[package]] -name = "backports-zoneinfo" -version = "0.2.1" -description = "Backport of the standard library zoneinfo module" -optional = false -python-versions = ">=3.6" -files = [ - {file = "backports.zoneinfo-0.2.1-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:da6013fd84a690242c310d77ddb8441a559e9cb3d3d59ebac9aca1a57b2e18bc"}, - {file = "backports.zoneinfo-0.2.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:89a48c0d158a3cc3f654da4c2de1ceba85263fafb861b98b59040a5086259722"}, - {file = "backports.zoneinfo-0.2.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:1c5742112073a563c81f786e77514969acb58649bcdf6cdf0b4ed31a348d4546"}, - {file = "backports.zoneinfo-0.2.1-cp36-cp36m-win32.whl", hash = "sha256:e8236383a20872c0cdf5a62b554b27538db7fa1bbec52429d8d106effbaeca08"}, - {file = "backports.zoneinfo-0.2.1-cp36-cp36m-win_amd64.whl", hash = "sha256:8439c030a11780786a2002261569bdf362264f605dfa4d65090b64b05c9f79a7"}, - {file = "backports.zoneinfo-0.2.1-cp37-cp37m-macosx_10_14_x86_64.whl", hash = "sha256:f04e857b59d9d1ccc39ce2da1021d196e47234873820cbeaad210724b1ee28ac"}, - {file = "backports.zoneinfo-0.2.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:17746bd546106fa389c51dbea67c8b7c8f0d14b5526a579ca6ccf5ed72c526cf"}, - {file = "backports.zoneinfo-0.2.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:5c144945a7752ca544b4b78c8c41544cdfaf9786f25fe5ffb10e838e19a27570"}, - {file = "backports.zoneinfo-0.2.1-cp37-cp37m-win32.whl", hash = "sha256:e55b384612d93be96506932a786bbcde5a2db7a9e6a4bb4bffe8b733f5b9036b"}, - {file = "backports.zoneinfo-0.2.1-cp37-cp37m-win_amd64.whl", hash = "sha256:a76b38c52400b762e48131494ba26be363491ac4f9a04c1b7e92483d169f6582"}, - {file = "backports.zoneinfo-0.2.1-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:8961c0f32cd0336fb8e8ead11a1f8cd99ec07145ec2931122faaac1c8f7fd987"}, - {file = "backports.zoneinfo-0.2.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:e81b76cace8eda1fca50e345242ba977f9be6ae3945af8d46326d776b4cf78d1"}, - {file = "backports.zoneinfo-0.2.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:7b0a64cda4145548fed9efc10322770f929b944ce5cee6c0dfe0c87bf4c0c8c9"}, - {file = "backports.zoneinfo-0.2.1-cp38-cp38-win32.whl", hash = "sha256:1b13e654a55cd45672cb54ed12148cd33628f672548f373963b0bff67b217328"}, - {file = "backports.zoneinfo-0.2.1-cp38-cp38-win_amd64.whl", hash = "sha256:4a0f800587060bf8880f954dbef70de6c11bbe59c673c3d818921f042f9954a6"}, - {file = "backports.zoneinfo-0.2.1.tar.gz", hash = "sha256:fadbfe37f74051d024037f223b8e001611eac868b5c5b06144ef4d8b799862f2"}, -] - -[package.extras] -tzdata = ["tzdata"] - [[package]] name = "beautifulsoup4" version = "4.12.3" @@ -621,33 +593,33 @@ lxml = ["lxml"] [[package]] name = "black" -version = "24.2.0" +version = "24.3.0" description = "The uncompromising code formatter." optional = false python-versions = ">=3.8" files = [ - {file = "black-24.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6981eae48b3b33399c8757036c7f5d48a535b962a7c2310d19361edeef64ce29"}, - {file = "black-24.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d533d5e3259720fdbc1b37444491b024003e012c5173f7d06825a77508085430"}, - {file = "black-24.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:61a0391772490ddfb8a693c067df1ef5227257e72b0e4108482b8d41b5aee13f"}, - {file = "black-24.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:992e451b04667116680cb88f63449267c13e1ad134f30087dec8527242e9862a"}, - {file = "black-24.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:163baf4ef40e6897a2a9b83890e59141cc8c2a98f2dda5080dc15c00ee1e62cd"}, - {file = "black-24.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e37c99f89929af50ffaf912454b3e3b47fd64109659026b678c091a4cd450fb2"}, - {file = "black-24.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f9de21bafcba9683853f6c96c2d515e364aee631b178eaa5145fc1c61a3cc92"}, - {file = "black-24.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:9db528bccb9e8e20c08e716b3b09c6bdd64da0dd129b11e160bf082d4642ac23"}, - {file = "black-24.2.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d84f29eb3ee44859052073b7636533ec995bd0f64e2fb43aeceefc70090e752b"}, - {file = "black-24.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1e08fb9a15c914b81dd734ddd7fb10513016e5ce7e6704bdd5e1251ceee51ac9"}, - {file = "black-24.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:810d445ae6069ce64030c78ff6127cd9cd178a9ac3361435708b907d8a04c693"}, - {file = "black-24.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:ba15742a13de85e9b8f3239c8f807723991fbfae24bad92d34a2b12e81904982"}, - {file = "black-24.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:7e53a8c630f71db01b28cd9602a1ada68c937cbf2c333e6ed041390d6968faf4"}, - {file = "black-24.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:93601c2deb321b4bad8f95df408e3fb3943d85012dddb6121336b8e24a0d1218"}, - {file = "black-24.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0057f800de6acc4407fe75bb147b0c2b5cbb7c3ed110d3e5999cd01184d53b0"}, - {file = "black-24.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:faf2ee02e6612577ba0181f4347bcbcf591eb122f7841ae5ba233d12c39dcb4d"}, - {file = "black-24.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:057c3dc602eaa6fdc451069bd027a1b2635028b575a6c3acfd63193ced20d9c8"}, - {file = "black-24.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:08654d0797e65f2423f850fc8e16a0ce50925f9337fb4a4a176a7aa4026e63f8"}, - {file = "black-24.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ca610d29415ee1a30a3f30fab7a8f4144e9d34c89a235d81292a1edb2b55f540"}, - {file = "black-24.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:4dd76e9468d5536abd40ffbc7a247f83b2324f0c050556d9c371c2b9a9a95e31"}, - {file = "black-24.2.0-py3-none-any.whl", hash = "sha256:e8a6ae970537e67830776488bca52000eaa37fa63b9988e8c487458d9cd5ace6"}, - {file = "black-24.2.0.tar.gz", hash = "sha256:bce4f25c27c3435e4dace4815bcb2008b87e167e3bf4ee47ccdc5ce906eb4894"}, + {file = "black-24.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7d5e026f8da0322b5662fa7a8e752b3fa2dac1c1cbc213c3d7ff9bdd0ab12395"}, + {file = "black-24.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9f50ea1132e2189d8dff0115ab75b65590a3e97de1e143795adb4ce317934995"}, + {file = "black-24.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e2af80566f43c85f5797365077fb64a393861a3730bd110971ab7a0c94e873e7"}, + {file = "black-24.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:4be5bb28e090456adfc1255e03967fb67ca846a03be7aadf6249096100ee32d0"}, + {file = "black-24.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4f1373a7808a8f135b774039f61d59e4be7eb56b2513d3d2f02a8b9365b8a8a9"}, + {file = "black-24.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:aadf7a02d947936ee418777e0247ea114f78aff0d0959461057cae8a04f20597"}, + {file = "black-24.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65c02e4ea2ae09d16314d30912a58ada9a5c4fdfedf9512d23326128ac08ac3d"}, + {file = "black-24.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:bf21b7b230718a5f08bd32d5e4f1db7fc8788345c8aea1d155fc17852b3410f5"}, + {file = "black-24.3.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:2818cf72dfd5d289e48f37ccfa08b460bf469e67fb7c4abb07edc2e9f16fb63f"}, + {file = "black-24.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4acf672def7eb1725f41f38bf6bf425c8237248bb0804faa3965c036f7672d11"}, + {file = "black-24.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c7ed6668cbbfcd231fa0dc1b137d3e40c04c7f786e626b405c62bcd5db5857e4"}, + {file = "black-24.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:56f52cfbd3dabe2798d76dbdd299faa046a901041faf2cf33288bc4e6dae57b5"}, + {file = "black-24.3.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:79dcf34b33e38ed1b17434693763301d7ccbd1c5860674a8f871bd15139e7837"}, + {file = "black-24.3.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:e19cb1c6365fd6dc38a6eae2dcb691d7d83935c10215aef8e6c38edee3f77abd"}, + {file = "black-24.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65b76c275e4c1c5ce6e9870911384bff5ca31ab63d19c76811cb1fb162678213"}, + {file = "black-24.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:b5991d523eee14756f3c8d5df5231550ae8993e2286b8014e2fdea7156ed0959"}, + {file = "black-24.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c45f8dff244b3c431b36e3224b6be4a127c6aca780853574c00faf99258041eb"}, + {file = "black-24.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6905238a754ceb7788a73f02b45637d820b2f5478b20fec82ea865e4f5d4d9f7"}, + {file = "black-24.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d7de8d330763c66663661a1ffd432274a2f92f07feeddd89ffd085b5744f85e7"}, + {file = "black-24.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:7bb041dca0d784697af4646d3b62ba4a6b028276ae878e53f6b4f74ddd6db99f"}, + {file = "black-24.3.0-py3-none-any.whl", hash = "sha256:41622020d7120e01d377f74249e677039d20e6344ff5851de8a10f11f513bf93"}, + {file = "black-24.3.0.tar.gz", hash = "sha256:a0c9c4a0771afc6919578cec71ce82a3e31e054904e7197deacbc9382671c41f"}, ] [package.dependencies] @@ -788,18 +760,18 @@ files = [ [[package]] name = "build" -version = "1.0.3" +version = "1.1.1" description = "A simple, correct Python build frontend" optional = false python-versions = ">= 3.7" files = [ - {file = "build-1.0.3-py3-none-any.whl", hash = "sha256:589bf99a67df7c9cf07ec0ac0e5e2ea5d4b37ac63301c4986d1acb126aa83f8f"}, - {file = "build-1.0.3.tar.gz", hash = "sha256:538aab1b64f9828977f84bc63ae570b060a8ed1be419e7870b8b4fc5e6ea553b"}, + {file = "build-1.1.1-py3-none-any.whl", hash = "sha256:8ed0851ee76e6e38adce47e4bee3b51c771d86c64cf578d0c2245567ee200e73"}, + {file = "build-1.1.1.tar.gz", hash = "sha256:8eea65bb45b1aac2e734ba2cc8dad3a6d97d97901a395bd0ed3e7b46953d2a31"}, ] [package.dependencies] colorama = {version = "*", markers = "os_name == \"nt\""} -importlib-metadata = {version = ">=4.6", markers = "python_version < \"3.10\""} +importlib-metadata = {version = ">=4.6", markers = "python_full_version < \"3.10.2\""} packaging = ">=19.0" pyproject_hooks = "*" tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} @@ -1058,13 +1030,13 @@ files = [ [[package]] name = "comm" -version = "0.2.1" +version = "0.2.2" description = "Jupyter Python Comm implementation, for usage in ipykernel, xeus-python etc." optional = false python-versions = ">=3.8" files = [ - {file = "comm-0.2.1-py3-none-any.whl", hash = "sha256:87928485c0dfc0e7976fd89fc1e187023cf587e7c353e4a9b417555b44adf021"}, - {file = "comm-0.2.1.tar.gz", hash = "sha256:0bc91edae1344d39d3661dcbc36937181fdaddb304790458f8b044dbc064b89a"}, + {file = "comm-0.2.2-py3-none-any.whl", hash = "sha256:e6fb86cb70ff661ee8c9c14e7d36d6de3b4066f1441be4063df9c5009f0a64d3"}, + {file = "comm-0.2.2.tar.gz", hash = "sha256:3fd7a84065306e07bea1773df6eb8282de51ba82f77c72f9c85716ab11fe980e"}, ] [package.dependencies] @@ -1101,63 +1073,63 @@ files = [ [[package]] name = "coverage" -version = "7.4.3" +version = "7.4.4" description = "Code coverage measurement for Python" optional = false python-versions = ">=3.8" files = [ - {file = "coverage-7.4.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8580b827d4746d47294c0e0b92854c85a92c2227927433998f0d3320ae8a71b6"}, - {file = "coverage-7.4.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:718187eeb9849fc6cc23e0d9b092bc2348821c5e1a901c9f8975df0bc785bfd4"}, - {file = "coverage-7.4.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:767b35c3a246bcb55b8044fd3a43b8cd553dd1f9f2c1eeb87a302b1f8daa0524"}, - {file = "coverage-7.4.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae7f19afe0cce50039e2c782bff379c7e347cba335429678450b8fe81c4ef96d"}, - {file = "coverage-7.4.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba3a8aaed13770e970b3df46980cb068d1c24af1a1968b7818b69af8c4347efb"}, - {file = "coverage-7.4.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:ee866acc0861caebb4f2ab79f0b94dbfbdbfadc19f82e6e9c93930f74e11d7a0"}, - {file = "coverage-7.4.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:506edb1dd49e13a2d4cac6a5173317b82a23c9d6e8df63efb4f0380de0fbccbc"}, - {file = "coverage-7.4.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd6545d97c98a192c5ac995d21c894b581f1fd14cf389be90724d21808b657e2"}, - {file = "coverage-7.4.3-cp310-cp310-win32.whl", hash = "sha256:f6a09b360d67e589236a44f0c39218a8efba2593b6abdccc300a8862cffc2f94"}, - {file = "coverage-7.4.3-cp310-cp310-win_amd64.whl", hash = "sha256:18d90523ce7553dd0b7e23cbb28865db23cddfd683a38fb224115f7826de78d0"}, - {file = "coverage-7.4.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cbbe5e739d45a52f3200a771c6d2c7acf89eb2524890a4a3aa1a7fa0695d2a47"}, - {file = "coverage-7.4.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:489763b2d037b164846ebac0cbd368b8a4ca56385c4090807ff9fad817de4113"}, - {file = "coverage-7.4.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:451f433ad901b3bb00184d83fd83d135fb682d780b38af7944c9faeecb1e0bfe"}, - {file = "coverage-7.4.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fcc66e222cf4c719fe7722a403888b1f5e1682d1679bd780e2b26c18bb648cdc"}, - {file = "coverage-7.4.3-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b3ec74cfef2d985e145baae90d9b1b32f85e1741b04cd967aaf9cfa84c1334f3"}, - {file = "coverage-7.4.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:abbbd8093c5229c72d4c2926afaee0e6e3140de69d5dcd918b2921f2f0c8baba"}, - {file = "coverage-7.4.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:35eb581efdacf7b7422af677b92170da4ef34500467381e805944a3201df2079"}, - {file = "coverage-7.4.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:8249b1c7334be8f8c3abcaaa996e1e4927b0e5a23b65f5bf6cfe3180d8ca7840"}, - {file = "coverage-7.4.3-cp311-cp311-win32.whl", hash = "sha256:cf30900aa1ba595312ae41978b95e256e419d8a823af79ce670835409fc02ad3"}, - {file = "coverage-7.4.3-cp311-cp311-win_amd64.whl", hash = "sha256:18c7320695c949de11a351742ee001849912fd57e62a706d83dfc1581897fa2e"}, - {file = "coverage-7.4.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b51bfc348925e92a9bd9b2e48dad13431b57011fd1038f08316e6bf1df107d10"}, - {file = "coverage-7.4.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d6cdecaedea1ea9e033d8adf6a0ab11107b49571bbb9737175444cea6eb72328"}, - {file = "coverage-7.4.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3b2eccb883368f9e972e216c7b4c7c06cabda925b5f06dde0650281cb7666a30"}, - {file = "coverage-7.4.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6c00cdc8fa4e50e1cc1f941a7f2e3e0f26cb2a1233c9696f26963ff58445bac7"}, - {file = "coverage-7.4.3-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b9a4a8dd3dcf4cbd3165737358e4d7dfbd9d59902ad11e3b15eebb6393b0446e"}, - {file = "coverage-7.4.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:062b0a75d9261e2f9c6d071753f7eef0fc9caf3a2c82d36d76667ba7b6470003"}, - {file = "coverage-7.4.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:ebe7c9e67a2d15fa97b77ea6571ce5e1e1f6b0db71d1d5e96f8d2bf134303c1d"}, - {file = "coverage-7.4.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:c0a120238dd71c68484f02562f6d446d736adcc6ca0993712289b102705a9a3a"}, - {file = "coverage-7.4.3-cp312-cp312-win32.whl", hash = "sha256:37389611ba54fd6d278fde86eb2c013c8e50232e38f5c68235d09d0a3f8aa352"}, - {file = "coverage-7.4.3-cp312-cp312-win_amd64.whl", hash = "sha256:d25b937a5d9ffa857d41be042b4238dd61db888533b53bc76dc082cb5a15e914"}, - {file = "coverage-7.4.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:28ca2098939eabab044ad68850aac8f8db6bf0b29bc7f2887d05889b17346454"}, - {file = "coverage-7.4.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:280459f0a03cecbe8800786cdc23067a8fc64c0bd51dc614008d9c36e1659d7e"}, - {file = "coverage-7.4.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c0cdedd3500e0511eac1517bf560149764b7d8e65cb800d8bf1c63ebf39edd2"}, - {file = "coverage-7.4.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9a9babb9466fe1da12417a4aed923e90124a534736de6201794a3aea9d98484e"}, - {file = "coverage-7.4.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dec9de46a33cf2dd87a5254af095a409ea3bf952d85ad339751e7de6d962cde6"}, - {file = "coverage-7.4.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:16bae383a9cc5abab9bb05c10a3e5a52e0a788325dc9ba8499e821885928968c"}, - {file = "coverage-7.4.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:2c854ce44e1ee31bda4e318af1dbcfc929026d12c5ed030095ad98197eeeaed0"}, - {file = "coverage-7.4.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:ce8c50520f57ec57aa21a63ea4f325c7b657386b3f02ccaedeccf9ebe27686e1"}, - {file = "coverage-7.4.3-cp38-cp38-win32.whl", hash = "sha256:708a3369dcf055c00ddeeaa2b20f0dd1ce664eeabde6623e516c5228b753654f"}, - {file = "coverage-7.4.3-cp38-cp38-win_amd64.whl", hash = "sha256:1bf25fbca0c8d121a3e92a2a0555c7e5bc981aee5c3fdaf4bb7809f410f696b9"}, - {file = "coverage-7.4.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3b253094dbe1b431d3a4ac2f053b6d7ede2664ac559705a704f621742e034f1f"}, - {file = "coverage-7.4.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:77fbfc5720cceac9c200054b9fab50cb2a7d79660609200ab83f5db96162d20c"}, - {file = "coverage-7.4.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6679060424faa9c11808598504c3ab472de4531c571ab2befa32f4971835788e"}, - {file = "coverage-7.4.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4af154d617c875b52651dd8dd17a31270c495082f3d55f6128e7629658d63765"}, - {file = "coverage-7.4.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8640f1fde5e1b8e3439fe482cdc2b0bb6c329f4bb161927c28d2e8879c6029ee"}, - {file = "coverage-7.4.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:69b9f6f66c0af29642e73a520b6fed25ff9fd69a25975ebe6acb297234eda501"}, - {file = "coverage-7.4.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:0842571634f39016a6c03e9d4aba502be652a6e4455fadb73cd3a3a49173e38f"}, - {file = "coverage-7.4.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a78ed23b08e8ab524551f52953a8a05d61c3a760781762aac49f8de6eede8c45"}, - {file = "coverage-7.4.3-cp39-cp39-win32.whl", hash = "sha256:c0524de3ff096e15fcbfe8f056fdb4ea0bf497d584454f344d59fce069d3e6e9"}, - {file = "coverage-7.4.3-cp39-cp39-win_amd64.whl", hash = "sha256:0209a6369ccce576b43bb227dc8322d8ef9e323d089c6f3f26a597b09cb4d2aa"}, - {file = "coverage-7.4.3-pp38.pp39.pp310-none-any.whl", hash = "sha256:7cbde573904625509a3f37b6fecea974e363460b556a627c60dc2f47e2fffa51"}, - {file = "coverage-7.4.3.tar.gz", hash = "sha256:276f6077a5c61447a48d133ed13e759c09e62aff0dc84274a68dc18660104d52"}, + {file = "coverage-7.4.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e0be5efd5127542ef31f165de269f77560d6cdef525fffa446de6f7e9186cfb2"}, + {file = "coverage-7.4.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ccd341521be3d1b3daeb41960ae94a5e87abe2f46f17224ba5d6f2b8398016cf"}, + {file = "coverage-7.4.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:09fa497a8ab37784fbb20ab699c246053ac294d13fc7eb40ec007a5043ec91f8"}, + {file = "coverage-7.4.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b1a93009cb80730c9bca5d6d4665494b725b6e8e157c1cb7f2db5b4b122ea562"}, + {file = "coverage-7.4.4-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:690db6517f09336559dc0b5f55342df62370a48f5469fabf502db2c6d1cffcd2"}, + {file = "coverage-7.4.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:09c3255458533cb76ef55da8cc49ffab9e33f083739c8bd4f58e79fecfe288f7"}, + {file = "coverage-7.4.4-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:8ce1415194b4a6bd0cdcc3a1dfbf58b63f910dcb7330fe15bdff542c56949f87"}, + {file = "coverage-7.4.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b91cbc4b195444e7e258ba27ac33769c41b94967919f10037e6355e998af255c"}, + {file = "coverage-7.4.4-cp310-cp310-win32.whl", hash = "sha256:598825b51b81c808cb6f078dcb972f96af96b078faa47af7dfcdf282835baa8d"}, + {file = "coverage-7.4.4-cp310-cp310-win_amd64.whl", hash = "sha256:09ef9199ed6653989ebbcaacc9b62b514bb63ea2f90256e71fea3ed74bd8ff6f"}, + {file = "coverage-7.4.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0f9f50e7ef2a71e2fae92774c99170eb8304e3fdf9c8c3c7ae9bab3e7229c5cf"}, + {file = "coverage-7.4.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:623512f8ba53c422fcfb2ce68362c97945095b864cda94a92edbaf5994201083"}, + {file = "coverage-7.4.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0513b9508b93da4e1716744ef6ebc507aff016ba115ffe8ecff744d1322a7b63"}, + {file = "coverage-7.4.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40209e141059b9370a2657c9b15607815359ab3ef9918f0196b6fccce8d3230f"}, + {file = "coverage-7.4.4-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8a2b2b78c78293782fd3767d53e6474582f62443d0504b1554370bde86cc8227"}, + {file = "coverage-7.4.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:73bfb9c09951125d06ee473bed216e2c3742f530fc5acc1383883125de76d9cd"}, + {file = "coverage-7.4.4-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:1f384c3cc76aeedce208643697fb3e8437604b512255de6d18dae3f27655a384"}, + {file = "coverage-7.4.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:54eb8d1bf7cacfbf2a3186019bcf01d11c666bd495ed18717162f7eb1e9dd00b"}, + {file = "coverage-7.4.4-cp311-cp311-win32.whl", hash = "sha256:cac99918c7bba15302a2d81f0312c08054a3359eaa1929c7e4b26ebe41e9b286"}, + {file = "coverage-7.4.4-cp311-cp311-win_amd64.whl", hash = "sha256:b14706df8b2de49869ae03a5ccbc211f4041750cd4a66f698df89d44f4bd30ec"}, + {file = "coverage-7.4.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:201bef2eea65e0e9c56343115ba3814e896afe6d36ffd37bab783261db430f76"}, + {file = "coverage-7.4.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:41c9c5f3de16b903b610d09650e5e27adbfa7f500302718c9ffd1c12cf9d6818"}, + {file = "coverage-7.4.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d898fe162d26929b5960e4e138651f7427048e72c853607f2b200909794ed978"}, + {file = "coverage-7.4.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3ea79bb50e805cd6ac058dfa3b5c8f6c040cb87fe83de10845857f5535d1db70"}, + {file = "coverage-7.4.4-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce4b94265ca988c3f8e479e741693d143026632672e3ff924f25fab50518dd51"}, + {file = "coverage-7.4.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:00838a35b882694afda09f85e469c96367daa3f3f2b097d846a7216993d37f4c"}, + {file = "coverage-7.4.4-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:fdfafb32984684eb03c2d83e1e51f64f0906b11e64482df3c5db936ce3839d48"}, + {file = "coverage-7.4.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:69eb372f7e2ece89f14751fbcbe470295d73ed41ecd37ca36ed2eb47512a6ab9"}, + {file = "coverage-7.4.4-cp312-cp312-win32.whl", hash = "sha256:137eb07173141545e07403cca94ab625cc1cc6bc4c1e97b6e3846270e7e1fea0"}, + {file = "coverage-7.4.4-cp312-cp312-win_amd64.whl", hash = "sha256:d71eec7d83298f1af3326ce0ff1d0ea83c7cb98f72b577097f9083b20bdaf05e"}, + {file = "coverage-7.4.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d5ae728ff3b5401cc320d792866987e7e7e880e6ebd24433b70a33b643bb0384"}, + {file = "coverage-7.4.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:cc4f1358cb0c78edef3ed237ef2c86056206bb8d9140e73b6b89fbcfcbdd40e1"}, + {file = "coverage-7.4.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8130a2aa2acb8788e0b56938786c33c7c98562697bf9f4c7d6e8e5e3a0501e4a"}, + {file = "coverage-7.4.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cf271892d13e43bc2b51e6908ec9a6a5094a4df1d8af0bfc360088ee6c684409"}, + {file = "coverage-7.4.4-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a4cdc86d54b5da0df6d3d3a2f0b710949286094c3a6700c21e9015932b81447e"}, + {file = "coverage-7.4.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:ae71e7ddb7a413dd60052e90528f2f65270aad4b509563af6d03d53e979feafd"}, + {file = "coverage-7.4.4-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:38dd60d7bf242c4ed5b38e094baf6401faa114fc09e9e6632374388a404f98e7"}, + {file = "coverage-7.4.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:aa5b1c1bfc28384f1f53b69a023d789f72b2e0ab1b3787aae16992a7ca21056c"}, + {file = "coverage-7.4.4-cp38-cp38-win32.whl", hash = "sha256:dfa8fe35a0bb90382837b238fff375de15f0dcdb9ae68ff85f7a63649c98527e"}, + {file = "coverage-7.4.4-cp38-cp38-win_amd64.whl", hash = "sha256:b2991665420a803495e0b90a79233c1433d6ed77ef282e8e152a324bbbc5e0c8"}, + {file = "coverage-7.4.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3b799445b9f7ee8bf299cfaed6f5b226c0037b74886a4e11515e569b36fe310d"}, + {file = "coverage-7.4.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b4d33f418f46362995f1e9d4f3a35a1b6322cb959c31d88ae56b0298e1c22357"}, + {file = "coverage-7.4.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aadacf9a2f407a4688d700e4ebab33a7e2e408f2ca04dbf4aef17585389eff3e"}, + {file = "coverage-7.4.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7c95949560050d04d46b919301826525597f07b33beba6187d04fa64d47ac82e"}, + {file = "coverage-7.4.4-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ff7687ca3d7028d8a5f0ebae95a6e4827c5616b31a4ee1192bdfde697db110d4"}, + {file = "coverage-7.4.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:5fc1de20b2d4a061b3df27ab9b7c7111e9a710f10dc2b84d33a4ab25065994ec"}, + {file = "coverage-7.4.4-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:c74880fc64d4958159fbd537a091d2a585448a8f8508bf248d72112723974cbd"}, + {file = "coverage-7.4.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:742a76a12aa45b44d236815d282b03cfb1de3b4323f3e4ec933acfae08e54ade"}, + {file = "coverage-7.4.4-cp39-cp39-win32.whl", hash = "sha256:d89d7b2974cae412400e88f35d86af72208e1ede1a541954af5d944a8ba46c57"}, + {file = "coverage-7.4.4-cp39-cp39-win_amd64.whl", hash = "sha256:9ca28a302acb19b6af89e90f33ee3e1906961f94b54ea37de6737b7ca9d8827c"}, + {file = "coverage-7.4.4-pp38.pp39.pp310-none-any.whl", hash = "sha256:b2c5edc4ac10a7ef6605a966c58929ec6c1bd0917fb8c15cb3363f65aa40e677"}, + {file = "coverage-7.4.4.tar.gz", hash = "sha256:c901df83d097649e257e803be22592aedfd5182f07b3cc87d640bbb9afd50f49"}, ] [package.dependencies] @@ -1507,18 +1479,18 @@ devel = ["colorama", "json-spec", "jsonschema", "pylint", "pytest", "pytest-benc [[package]] name = "filelock" -version = "3.13.1" +version = "3.13.3" description = "A platform independent file lock." optional = false python-versions = ">=3.8" files = [ - {file = "filelock-3.13.1-py3-none-any.whl", hash = "sha256:57dbda9b35157b05fb3e58ee91448612eb674172fab98ee235ccb0b5bee19a1c"}, - {file = "filelock-3.13.1.tar.gz", hash = "sha256:521f5f56c50f8426f5e03ad3b281b490a87ef15bc6c526f168290f0c7148d44e"}, + {file = "filelock-3.13.3-py3-none-any.whl", hash = "sha256:5ffa845303983e7a0b7ae17636509bc97997d58afeafa72fb141a17b152284cb"}, + {file = "filelock-3.13.3.tar.gz", hash = "sha256:a79895a25bbefdf55d1a2a0a80968f7dbb28edcd6d4234a0afb3f37ecde4b546"}, ] [package.extras] -docs = ["furo (>=2023.9.10)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.24)"] -testing = ["covdefaults (>=2.3)", "coverage (>=7.3.2)", "diff-cover (>=8)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)", "pytest-timeout (>=2.2)"] +docs = ["furo (>=2023.9.10)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"] +testing = ["covdefaults (>=2.3)", "coverage (>=7.3.2)", "diff-cover (>=8.0.1)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)", "pytest-timeout (>=2.2)"] typing = ["typing-extensions (>=4.8)"] [[package]] @@ -1755,119 +1727,119 @@ test = ["cffi (>=1.12.2)", "coverage (>=5.0)", "dnspython (>=1.16.0,<2.0)", "idn [[package]] name = "geventhttpclient" -version = "2.0.11" +version = "2.0.12" description = "http client library for gevent" optional = false python-versions = "*" files = [ - {file = "geventhttpclient-2.0.11-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:f509176bc7754b1181375a25ec6909425a5997e58c98ea29a36fe8b6a376852f"}, - {file = "geventhttpclient-2.0.11-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:cda51b46d8ab3993763a394ed6601137c32f70cff78dfe703edecb3dfa143009"}, - {file = "geventhttpclient-2.0.11-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:072f24198c0f179fcd8567e9270d5cb78ceea1d562a55b052cd083cf4c67feef"}, - {file = "geventhttpclient-2.0.11-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0b97c84e9be76bdd726757437327be5446710eafb64f7097d8d86db9c0f7d280"}, - {file = "geventhttpclient-2.0.11-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:abb32554c1ad103ed1114cee3d75fa6a3c5d8a0898e4e64db68f3fc0f11fb0de"}, - {file = "geventhttpclient-2.0.11-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:78a7e493e09d0aa4ba9651147d02fc555159371fecab0e4e96196c72f191322e"}, - {file = "geventhttpclient-2.0.11-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e521089a3a95c98e1742f1a1ea41568b029bc2528cc6fc7ab91bb5d416f1f2c"}, - {file = "geventhttpclient-2.0.11-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:8329c60d94e688d75ec1c6f67a77ab96f726f8ea562a8d48afa1ed6470334a6f"}, - {file = "geventhttpclient-2.0.11-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:572364fc4acd7ff2e77641e6bd1e64cf315d899a7fc48953eac1dd3b6865fd99"}, - {file = "geventhttpclient-2.0.11-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:81e73ee32f4217072935825a0bad7264dc803b0d24cc4e2f4bfcac3fff49a899"}, - {file = "geventhttpclient-2.0.11-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d79ee0d7ab5d775b056400155cab1e3547a7fa6511f6098e25613ed8705ae8b8"}, - {file = "geventhttpclient-2.0.11-cp310-cp310-win32.whl", hash = "sha256:2911d3657e2426b6a2d59af0b52285c1a7c4a78d0e4d03ee4ec1d5195a25a09f"}, - {file = "geventhttpclient-2.0.11-cp310-cp310-win_amd64.whl", hash = "sha256:a489573a0a0559f8960b38795dc53d1e222bc0978b211763d1303b2f94e4c3e0"}, - {file = "geventhttpclient-2.0.11-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:1e27a9521e0ad0d97d0ff81578fd4dd6ae9eee8095d46edb820dfda33c0bd233"}, - {file = "geventhttpclient-2.0.11-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d54b886ce042186a4f731dcbcb4ffa8d674b0542907fc72de20d0b5088adc252"}, - {file = "geventhttpclient-2.0.11-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f2337e10e2ad20970436f216d7b3b8d1503f8e4645d439173a98b4b418fe5768"}, - {file = "geventhttpclient-2.0.11-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f41bcdcec859264a1b6cc7c57bdb9411da8047f17b982cb62756bcc74a1b045b"}, - {file = "geventhttpclient-2.0.11-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f5d73be013a7a2a357eb27d18e5990c773365f63f50a43eaf357d6efb1fd46a6"}, - {file = "geventhttpclient-2.0.11-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c4d86f042501a783e94188ef8b099f32bc4680f2423bbbb56f40158d4556a56b"}, - {file = "geventhttpclient-2.0.11-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aaa2bc31a38dbb387c7539cfa03d3bafaa32151972d34b42f2f648b66778e128"}, - {file = "geventhttpclient-2.0.11-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:3e24ff4c398f9e49c5c0740585f12fcf7033dc27a20ec884f3b2c729e2f47f14"}, - {file = "geventhttpclient-2.0.11-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:b70f80528ae74518a16214261abba2a276739e6e35ce518fdbd8be2a3f42f93a"}, - {file = "geventhttpclient-2.0.11-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:efa467997f87d39f774ed1916a9e184c9a936f8fa90ab1a8ebf97aba2ee7ed63"}, - {file = "geventhttpclient-2.0.11-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:4597ea18ddc9838dc0e6cb9d5efb812191f2ca65ab38c115a56894045c73ea40"}, - {file = "geventhttpclient-2.0.11-cp311-cp311-win32.whl", hash = "sha256:a4361c5a522d2a79d8a9047926b8f8926e0f797777da9f450d359bed9f33ac33"}, - {file = "geventhttpclient-2.0.11-cp311-cp311-win_amd64.whl", hash = "sha256:f430257a7b0a75e7f4c0d6f4f3f8960d45b5aae56b8eca7988963487501a52a0"}, - {file = "geventhttpclient-2.0.11-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:a84f48f2eff42171cc446690baffa914122e88cea5b1de44cf6dd1c82b07623b"}, - {file = "geventhttpclient-2.0.11-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:0a21dba9cf5e7511e76845f62dcf5072f4df7415bb8f20e47e0dfde675943a39"}, - {file = "geventhttpclient-2.0.11-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:99feb5581111c7ec44e1ce507b4420947b4c49b363b2fbc3edd543e2ac67a1e0"}, - {file = "geventhttpclient-2.0.11-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1bc799d50db685e093b5819459889f356dd7478a82af66f880832a95fcfa37c3"}, - {file = "geventhttpclient-2.0.11-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:94a8be54ac74ff6cf4703d049766e6ed07787fa9b6a2dd538c46f81de72ffdde"}, - {file = "geventhttpclient-2.0.11-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:71a9e152bb3cb86552f61659f3c7bdc272d9baf21726b3caceb5ab5d0e703fe6"}, - {file = "geventhttpclient-2.0.11-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05a7699b49c9bc478b7ae165809ff97b21811a624791abe3927da5066128a10c"}, - {file = "geventhttpclient-2.0.11-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:598951751b2162b0697cd5b6a9edcc65ec30f34388b6e09caaa0c453fb08fb6e"}, - {file = "geventhttpclient-2.0.11-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:4f0c773ceeeedfab56b24b97a0c8f04c58a716dfc7403e51ea898ad01599f1a6"}, - {file = "geventhttpclient-2.0.11-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:ee03ea884e6aa318078c0c7132d246fe92b51d587410532e63b864e6e61ea192"}, - {file = "geventhttpclient-2.0.11-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:98a25e30ddccd49f80e037d48f136050b8f3c24ed9c6a69df7a643989f29c4e8"}, - {file = "geventhttpclient-2.0.11-cp312-cp312-win32.whl", hash = "sha256:968587b59372e825411935e188b9a05dcdec6db6769be3eb3bba949cb414ae98"}, - {file = "geventhttpclient-2.0.11-cp312-cp312-win_amd64.whl", hash = "sha256:465e62fb055e2ca5907606d32d421970f93506309b11a33b367eef33d95a6b7a"}, - {file = "geventhttpclient-2.0.11-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:ba597da51b59df28cf484326d7d59e33a57d3b32d7a4e1646c580f175354d6ce"}, - {file = "geventhttpclient-2.0.11-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c125a225188bcacd51f05878d6e62554116a5be6b3a203cd0ba2460857bc8cd3"}, - {file = "geventhttpclient-2.0.11-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f016093e8d26b724efdeda776968368fb591a57afbded2d86c408db8723e38ce"}, - {file = "geventhttpclient-2.0.11-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a25a7fc768791cf9fe590f1b4f231727441e8f7e9279e8ae2bee83e0f3b010f8"}, - {file = "geventhttpclient-2.0.11-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae71a7740526be78c6e899b03b63ab47a1a434332f7ca725dcdc916d938d46c6"}, - {file = "geventhttpclient-2.0.11-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:06914f401541681d8cb834652f53e65a8179ea17dd0e496fd52712fd3f548fbb"}, - {file = "geventhttpclient-2.0.11-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:6ccdebfd20ab07ace7aa4dcd020f094d1cae237b4eacfca08ac523cac64e02d3"}, - {file = "geventhttpclient-2.0.11-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:b2bea1386dbfd262571157da319e2285e20844fdbaabb22f95e784ca8b47d90c"}, - {file = "geventhttpclient-2.0.11-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:f468f88df7649bfcc6f74878182d0b7bcb3c23445a76be2b8b59e46224e2c244"}, - {file = "geventhttpclient-2.0.11-cp36-cp36m-win32.whl", hash = "sha256:d75c706f2a2401f703585cddf51cb0e43c28b7f12b1998c4a41fd6d14feec89b"}, - {file = "geventhttpclient-2.0.11-cp36-cp36m-win_amd64.whl", hash = "sha256:27f9e22a31451087854204f7f341bd4adc32050180580f74b5de75b61a3b405f"}, - {file = "geventhttpclient-2.0.11-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:105af48455d4eecb4e0f2b2b7f766131811aa1a9a1e768fb020b9ae0ba840ee4"}, - {file = "geventhttpclient-2.0.11-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb9e9c6f3fb902dd622964097df77e0ed9b249b8904b44fc3461734cc791b0aa"}, - {file = "geventhttpclient-2.0.11-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d1b73c37fbecb26475fa6e2d018dab4b5a03c7ba08c8907598605c874a70ee79"}, - {file = "geventhttpclient-2.0.11-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:09167de901f5b5273ddc14fd53512cc696495be07f02e3cb8a0335e1ecbff57e"}, - {file = "geventhttpclient-2.0.11-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:52ac561df8d363fe2e00ba4cccea470745129a48bb86f665a1447d0d68abec54"}, - {file = "geventhttpclient-2.0.11-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:ceb038cbf92105d124433066685c73e6a4a762c15885f00be2e25663468e4f29"}, - {file = "geventhttpclient-2.0.11-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:0b70eedf64c162067765ddfb30c8f52daeb875c717a3d25f81d5e411e5ac4367"}, - {file = "geventhttpclient-2.0.11-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:e87fb8bd748bf32e9902e9cbea3f20ff5456705d3f53f0a8ea0c4983594457a8"}, - {file = "geventhttpclient-2.0.11-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:0ae01d50529ac739573bc9cbc192b71bf9a13c3fcdbf2054952947a25e9f75a3"}, - {file = "geventhttpclient-2.0.11-cp37-cp37m-win32.whl", hash = "sha256:beb3a99e7a0a5130fbed2453348d81a78f2ef7d6aa326b5799c7f3dde88cabea"}, - {file = "geventhttpclient-2.0.11-cp37-cp37m-win_amd64.whl", hash = "sha256:63fc49d73e70cab8316a4d0106c037a2a5d0f6650683af05d0d05d354b694d49"}, - {file = "geventhttpclient-2.0.11-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:106e2ba0ce34a3501651995dd46ed38b87e7b5ada0fb977142d952661853f36a"}, - {file = "geventhttpclient-2.0.11-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0edacd51cd9a6f0b88e25cb6c8744488ba6c7c22044b09de585b2a1224f2a7b9"}, - {file = "geventhttpclient-2.0.11-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:2214352e01fef4218bbbc61bd84af6f101bb5a33244088f6db28ff6d1141797f"}, - {file = "geventhttpclient-2.0.11-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38384af2da776563a19951958df65e31ecc7b8d20788d43aff35ec909e4a115f"}, - {file = "geventhttpclient-2.0.11-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:33c4af3aa0312c27668171ea061d461f678848a09a32953b4d895f72a1bde0c9"}, - {file = "geventhttpclient-2.0.11-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d461cdac133d4a4d173e2c1cc213f3a9924e6e092aeebd49bf8924719a073e0b"}, - {file = "geventhttpclient-2.0.11-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ad49019e2828508526d35e7026b95a1fd9ef49ed0cdd2526a5cb3eb39583640"}, - {file = "geventhttpclient-2.0.11-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:a59b164a68bbb1a6f7bee859d7e75ef148b1e9bd72c4810c712cd49603dc37cd"}, - {file = "geventhttpclient-2.0.11-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:6cc44c57c02db1ded6f5a6bd4ccc385c4d13c7ae3528b831e70b5cc87e5b0ad1"}, - {file = "geventhttpclient-2.0.11-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:2d7318b3493c2e21df79429be3dbfefbc254c41a5b5c02c148a4521d59169ad6"}, - {file = "geventhttpclient-2.0.11-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:40df90cd9b5f5f7355526cc538e626466cb60c2e737e9cb8958569377d568e9f"}, - {file = "geventhttpclient-2.0.11-cp38-cp38-win32.whl", hash = "sha256:6f89edc316a8ff967a50c6f98277619786ed6abf2dd36ea905baf840a02b1b1b"}, - {file = "geventhttpclient-2.0.11-cp38-cp38-win_amd64.whl", hash = "sha256:b179a13c113a90c5501f1b1121bdc4c1f816d942280a9c3d2d46aff2bc97269a"}, - {file = "geventhttpclient-2.0.11-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:63826170b520894578bd269b54139bb2f0cc2d96ae1f4a49b3928fe01ffa22ff"}, - {file = "geventhttpclient-2.0.11-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1a6fcc3968ea1adf764bc11b0e7d01b94ffe27bdd21c5b1d9e55be56de6a53c3"}, - {file = "geventhttpclient-2.0.11-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4c61c02c2d32e1b5b1f73d2b201c1e088e956b73e431ed6b5589010faed88380"}, - {file = "geventhttpclient-2.0.11-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aec646409fa6eee277e33a1f4f1860d4c25e0448eedea149df92918d4502f38c"}, - {file = "geventhttpclient-2.0.11-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0b91290138518b201fba98bc82b062ef32e5e3da28843998902852298c354dcf"}, - {file = "geventhttpclient-2.0.11-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b523860ee558f752847b29ad6678d1b8a40154d06bc7a8973132991aff727fdd"}, - {file = "geventhttpclient-2.0.11-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5594bc889a686511039d1efd17473eecc4a91fa01d66a59bfa0a8cf04fb34551"}, - {file = "geventhttpclient-2.0.11-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:e573b86999cfeae38c4dd881f05818b9a60245a6763bc77efb48fa136cefdfcc"}, - {file = "geventhttpclient-2.0.11-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:a30bd715480ddbab0217764b516a65e36ecee2e81c9a04d074769eec6e0c1681"}, - {file = "geventhttpclient-2.0.11-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:49ff1c00e64e0820a02fadc6a72b49ae8cc69028caa40170873a3012de98d475"}, - {file = "geventhttpclient-2.0.11-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ea232981e29869524e85b5e6c79ad64abf40dd7b6dc01be6765b5e6bd191fd73"}, - {file = "geventhttpclient-2.0.11-cp39-cp39-win32.whl", hash = "sha256:a0b30fef1eb118927b5d8cab106198883f1bde021e9036277ea2f9e0020e0ad2"}, - {file = "geventhttpclient-2.0.11-cp39-cp39-win_amd64.whl", hash = "sha256:844b30e3694a4d9518fe6f0b167fa3ffc3ea3444563d9fdd7a18a961f6a77d9c"}, - {file = "geventhttpclient-2.0.11-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:94579ec289d46fca939b78cfe91732e82491f3dab03604f974a2e711654e7210"}, - {file = "geventhttpclient-2.0.11-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:955b04deac7ea09a3d5183ba92a3d2a81121ad71d10f1489cb56fd31d0cb4ac4"}, - {file = "geventhttpclient-2.0.11-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7947aae2d7123a970669ebd763a09ef0c85104cda414689dd77b5e5a5c1f2a40"}, - {file = "geventhttpclient-2.0.11-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c483daa1deda0c52a77ed7af2906a38657c15120cb3240bf589dfb139255921"}, - {file = "geventhttpclient-2.0.11-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:bc9634e025f17dc25987ebd5b0461659178ca57052ec70ad65052d0495111a74"}, - {file = "geventhttpclient-2.0.11-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:9dca243f58f245872458647b0b6da4be9ce8d707639d76a50d2e8d3f4abb1659"}, - {file = "geventhttpclient-2.0.11-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:64d36604974bc2b2ed0166bc666cead87f3c0f2d9487ef73d4e11df9ba6ebcc8"}, - {file = "geventhttpclient-2.0.11-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:46677a56fa9f2f650be74024601b3a1968cfc58a434f5819fc2fc227bb292836"}, - {file = "geventhttpclient-2.0.11-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:989a1ed8dbdaf683dd5701087b736b93e6bacb3c29f4090014e64033cc8620e2"}, - {file = "geventhttpclient-2.0.11-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:9b406ef64382a9c42b88331cdd6639a2b998e8034dbb1b702264d27c01f3ad5d"}, - {file = "geventhttpclient-2.0.11-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:713530c8f67a08ce0d5a4af80045112213c63eacefa1c08b76beebf780c755b0"}, - {file = "geventhttpclient-2.0.11-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd894ec63974fe4e916a1bf6efd35307b86ef53bd88e8fbe61020a289fee2f7c"}, - {file = "geventhttpclient-2.0.11-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e18e622171d09f068b26304b7d3c484d55952813e09eec5b3db1012dc53795de"}, - {file = "geventhttpclient-2.0.11-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ce8421aa0a2307edf04a7086236e7e9f9188ab349154c409d723744032746eb"}, - {file = "geventhttpclient-2.0.11-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:237eba77682553253040588f136a2980dfcd71307202422a17b716e9d8be5614"}, - {file = "geventhttpclient-2.0.11-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:60641b8ff7077a57bb68f1189c8ae8ffc6f14ae238ba6a81748659c30894d580"}, - {file = "geventhttpclient-2.0.11-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e5939bca6ab38a482352be8a7141570464d4d18281d8a3a2e2f7a82a0d8c38c4"}, - {file = "geventhttpclient-2.0.11-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:025026620e5a369844b576981ddab25d60e7e3bb0e0657c1fe9360a52769eb9d"}, - {file = "geventhttpclient-2.0.11-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b48b10e2a812b9297ad5c43e7a1a088220940060bbfb84fb721b17ab3012e0d"}, - {file = "geventhttpclient-2.0.11-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:e572e63e51fde06c30beabf8021e7d3f93e198a9c241ef2f3ed16d7828966768"}, - {file = "geventhttpclient-2.0.11.tar.gz", hash = "sha256:549d0f3af08420b9ad2beeda211153c7605b5ba409b228db7f1b81c8bfbec6b4"}, + {file = "geventhttpclient-2.0.12-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:6d0fafc15bbd93b1f271b4c14b327d15c6930c8d78d8ee0d8a55c9cd3e34c18f"}, + {file = "geventhttpclient-2.0.12-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:3f429ece7b6612ef333e9bbeb205513cec33a178f545b3612530a9c5c36a0310"}, + {file = "geventhttpclient-2.0.12-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:20ffc5a2b9cb5557d529d9296ffdaa5057a23e6bb439a905160a787079ec78a2"}, + {file = "geventhttpclient-2.0.12-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:80a96670c5ab668f52dcaf705640b442faeafb2bfd2e54d5f08ac29ac80aab12"}, + {file = "geventhttpclient-2.0.12-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4766aff690198119c998474d9c20c1b3ffaff337d0d62a6d8b19cc871c3a276d"}, + {file = "geventhttpclient-2.0.12-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f6d15f459737178e2b9a1d37b32161955a7d72062a3fc473d88c9e9f146cff22"}, + {file = "geventhttpclient-2.0.12-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a75007314fc15947fd94f154e139a6f78a4d40ed70d52dbb1724e7ea2d732ca7"}, + {file = "geventhttpclient-2.0.12-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:16e440152ea4f943dfc476462c1c3f29d47d583e679b58bccac9bfaa33eedcfd"}, + {file = "geventhttpclient-2.0.12-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e1d9c9b533b6c0b5a7eac23f68b25c8d3db1d38b8e504756c53366d2622a24a5"}, + {file = "geventhttpclient-2.0.12-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:758dd4a3172f740255f755fd393f0888e879a7102a537bba98a35a417be30d3e"}, + {file = "geventhttpclient-2.0.12-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:933426c92e85d8f6717c4d61f2c6c99fbb7d84c91373400eaf381052a35ea414"}, + {file = "geventhttpclient-2.0.12-cp310-cp310-win32.whl", hash = "sha256:e70247c900c4e4413af155e49f342055af9eb20c141735cce36d8a9dc10dc314"}, + {file = "geventhttpclient-2.0.12-cp310-cp310-win_amd64.whl", hash = "sha256:8dac40240fe446b94dd8645e2691d077b98b1e109ed945d2c91923c300c6f66d"}, + {file = "geventhttpclient-2.0.12-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3e3b3b2857ed48dd8af15c8e09539c8e0bf3721f515c0a8f3cfcbe0090196cc4"}, + {file = "geventhttpclient-2.0.12-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:114cfa7f4db7dcb5603ade4744bc6f5d6d168c94b05aca052e2fc84c906d2009"}, + {file = "geventhttpclient-2.0.12-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:904aaab04a8c4ebf52217930242693509cfbbd90f2b2afc454e14da82710367f"}, + {file = "geventhttpclient-2.0.12-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:56935ebec38a7c9ccc3dcadaebf2624601567504cd3a44794dc9262aca147040"}, + {file = "geventhttpclient-2.0.12-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bff88eededd1f915cd86de5e8a891e1988b6d42093cc07be5fe3133f8baf170c"}, + {file = "geventhttpclient-2.0.12-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:212014f4133938ba6453dbfa6d3a643c915dd4873d1de1d6172e4c6c178e4a6c"}, + {file = "geventhttpclient-2.0.12-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d471e79a55d37ad021a4832b0895bccb638f70664040a29230e156a0b92b23d"}, + {file = "geventhttpclient-2.0.12-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:599c4d37d928323b5f0353434f73de9e88f305f59a5472ffc7f5c131a2485512"}, + {file = "geventhttpclient-2.0.12-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:fddf2b3c4d5d99b826561173be04adbc92cab52081ba142c2158e0ba3b08b762"}, + {file = "geventhttpclient-2.0.12-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:5075c7f15e0a39b7ceae6afcb0b3a66c0ab9364a9eb589b7f51b567835fae5d7"}, + {file = "geventhttpclient-2.0.12-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:58a6f9d93ef2b1a09479564c951bc7b058350bd757628a32945f274cd314fb98"}, + {file = "geventhttpclient-2.0.12-cp311-cp311-win32.whl", hash = "sha256:a0bb5a35b199356b0c9b5ec3c3152ebfe4ecbd79e00d486d461920a9d96d1fd2"}, + {file = "geventhttpclient-2.0.12-cp311-cp311-win_amd64.whl", hash = "sha256:972a92f4a453a3ef4737e79e7e64f3089a06f385e13493fa19381486e893bd98"}, + {file = "geventhttpclient-2.0.12-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0bee74f32eed6278f3837e07983b5a6b186920c7eb3b35bc6e97360697632655"}, + {file = "geventhttpclient-2.0.12-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:fb85d8ed42cc389e5cdac06221f16cb6bca9dbbf5219c44d0731f742a6bffc09"}, + {file = "geventhttpclient-2.0.12-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c302a16328406003cf4d7d71f59cafc2d42f13d5dc9ea4c8bd248390de985a86"}, + {file = "geventhttpclient-2.0.12-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3266ef4da21a47d0181d4e3cb5209494e3ce6e4d4cc71414ea74b3a1f7e0e921"}, + {file = "geventhttpclient-2.0.12-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:acb7a257e8f4f0c0335a259f2e9eae527fa042db9ea2e4580a381e9c01fc49f4"}, + {file = "geventhttpclient-2.0.12-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4741d66098b2b289f584effa7de3ae7bf1efb06e2d83abdbbc468a0a4dec6b3a"}, + {file = "geventhttpclient-2.0.12-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ef2b523043ab9c6057ed19993f629e3fa47f8f92a319f5682de05e604ed8cc9"}, + {file = "geventhttpclient-2.0.12-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:235058a6e420b2aae196a4ba7e23f81ebc2dc3acf6baa9d85dc99963b3e0f0cf"}, + {file = "geventhttpclient-2.0.12-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:c918d731e0fe676b4c06f53081526f4d3f4836b7a72be7b46c90603a280260fa"}, + {file = "geventhttpclient-2.0.12-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:9e7696a61b384f8d2a075cca9633fdcc897c43eabbcf70fca492206241fa1a3b"}, + {file = "geventhttpclient-2.0.12-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:105a1aa161223079dbd669b4334cd765964b5917ca4f3da8c5b59c4ef36a0adf"}, + {file = "geventhttpclient-2.0.12-cp312-cp312-win32.whl", hash = "sha256:09e13c05633d1eeb2cba68835618f4ee25c5a7b466c47cfdb01174f61e51a23d"}, + {file = "geventhttpclient-2.0.12-cp312-cp312-win_amd64.whl", hash = "sha256:f853438a1850d45fb434e42ffbb06be81af558e5dd9243d530c2cdc5f804627f"}, + {file = "geventhttpclient-2.0.12-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:62ad2ac321967ff92768e93ea18cb59f8920fbae5b42340b93e7cf11ee4f35d3"}, + {file = "geventhttpclient-2.0.12-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:de8b6618a354bded39224def8b6e8b939c468f0edeb2570fdacd9003fd14c57c"}, + {file = "geventhttpclient-2.0.12-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:902ba66284d40dd97a693e952e4bb2f59528806ee40ecd586471fd5bca7fb295"}, + {file = "geventhttpclient-2.0.12-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9ef6c9acff6ce379c8a851554954eee6481c35531d82888a46ccada0ea17a791"}, + {file = "geventhttpclient-2.0.12-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e8abf4ccd59d58f7aa91f4c68760d82534bac5c5c9b7d2ccb4c0a5fc69585ff"}, + {file = "geventhttpclient-2.0.12-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:bdeed563faa09fd51ee4606b92f69ecd42b67277ed590f2921816941ed031177"}, + {file = "geventhttpclient-2.0.12-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:5a7d9b7e2dbc962f143938cdef8a657af1ccf423b2443a194b86ba0e85735c23"}, + {file = "geventhttpclient-2.0.12-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:a9a7ea4665418abe093e48576769181ae3c75a97cafe107c0463a169af755b2c"}, + {file = "geventhttpclient-2.0.12-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:19488a212c858792fd4fa83be568d4cdbbd4c1267b03b10b6a8a654fd862d2f9"}, + {file = "geventhttpclient-2.0.12-cp36-cp36m-win32.whl", hash = "sha256:445b80548062ef6c1b30e5e1b4ec471937fda64b783da953462972f48c2038de"}, + {file = "geventhttpclient-2.0.12-cp36-cp36m-win_amd64.whl", hash = "sha256:bf283bdbb4b935bfef114e1af19535a602e717ae9a7e8408ab61775d06a463b4"}, + {file = "geventhttpclient-2.0.12-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:370086ced942449f9b60590d215eec7f81fe54d7e3ee3add6b2f014ccac4f38d"}, + {file = "geventhttpclient-2.0.12-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e405735db8261ca99d9b80fda3f46d457f04b98a7ce0e49bb35ca32c2a5bbb2d"}, + {file = "geventhttpclient-2.0.12-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6f4680b0ed5e588437797026f25829eb9681954ac64470dc8014436910b2fb09"}, + {file = "geventhttpclient-2.0.12-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ad053e7b4ac2f9fcdb02a5d9b99fd72acf28265ba8be7392a25235bb631d2511"}, + {file = "geventhttpclient-2.0.12-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:64232158542f2adfde24f41c1e3ed731cca67e469e653ac7634815af168551b4"}, + {file = "geventhttpclient-2.0.12-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:9be5c3f68e4f41aceccae38508029a70b1fb3f9fc840b7c55971f5fbe099d7e4"}, + {file = "geventhttpclient-2.0.12-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:06b4276075f4f3eeb30a3c1476f40d53030159450def58c1d8c3b724411d8ed9"}, + {file = "geventhttpclient-2.0.12-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:b311beb0657394b5df09af05ec5d84058f3531f3176ab1a0f7f4eae7b56bc315"}, + {file = "geventhttpclient-2.0.12-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:b6a9d00b58527328d9f7a0a20b715d4e780a990b0fb75b556085417c22d73dd0"}, + {file = "geventhttpclient-2.0.12-cp37-cp37m-win32.whl", hash = "sha256:987ef3bd0d7e3b01cafc8e135ab6e8f977b60eeda096ead2cb5504124896b1a2"}, + {file = "geventhttpclient-2.0.12-cp37-cp37m-win_amd64.whl", hash = "sha256:dca64867b2d79433eb8557db00e74e17a2f0d444a9a90fb6f49cadaeddf703a5"}, + {file = "geventhttpclient-2.0.12-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:707467d6e8ad19749e7130b7c7bcb3a446c8e4f66454e1d47f4dfffa974683da"}, + {file = "geventhttpclient-2.0.12-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:c2e436a2c41c71db17fd46df4925eb5e4d3856eb1b5fda0ce6b1137a6c6c87fa"}, + {file = "geventhttpclient-2.0.12-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f88d2f3a20afa999548622b31dbc3db5aa355c3032f3ae96a4195c5f938fee92"}, + {file = "geventhttpclient-2.0.12-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:31a6581b8de9fa4b44916dcfabdc608409cfcf02fac39a62d40f6bcf6af726ad"}, + {file = "geventhttpclient-2.0.12-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8c91e0ee50f8a1ea3a268f06c5bd44efe86b7f57961d7c923602038fcc010c3c"}, + {file = "geventhttpclient-2.0.12-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7e3031817b8f2411086765de4bb1080c755b009ee8dc4a6111ad74f6ff4a363f"}, + {file = "geventhttpclient-2.0.12-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ff9a95e2d2035c1f5ac726166a598ea4071412c304a74a8cd5d2d8dfbf40b5e"}, + {file = "geventhttpclient-2.0.12-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:04f41d8f14e241e8d0c828ff59634674e98f96f39f6d12f43009a7332c4e2c82"}, + {file = "geventhttpclient-2.0.12-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:bea7376205629e8964f624b08d6836892e8d17ed8b8a57d5d2edbd7983440652"}, + {file = "geventhttpclient-2.0.12-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:fd9baf30e2bdd3110394365998037a45b43f86804b8f3c77f194f64eddc7dc54"}, + {file = "geventhttpclient-2.0.12-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:23c27b04ad25258959c088c0d87832befc7be2b09c5c35fdd76e417f5b546da0"}, + {file = "geventhttpclient-2.0.12-cp38-cp38-win32.whl", hash = "sha256:792e154009f6f63e3fbbe4b3109780ada275c4ed29659430c06dc8e1b2ed03ef"}, + {file = "geventhttpclient-2.0.12-cp38-cp38-win_amd64.whl", hash = "sha256:7b41a0510297a8ebbeffbef082e0896ecf37d5302999a3b58d208193c3c3e362"}, + {file = "geventhttpclient-2.0.12-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5006e34586bba4ebd5a7a5482f9e7743e1b3b9ff50c994105fb45e43044c38c9"}, + {file = "geventhttpclient-2.0.12-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d812074192822f57603973d6bcced0f02c6cc371cf63e729793f193c874f30ce"}, + {file = "geventhttpclient-2.0.12-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2a64bd8bce446be4fe869b64af310cd218d2329aa4e9d85b6a060da93c62296b"}, + {file = "geventhttpclient-2.0.12-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e7fc536f2972c75da85f9360d0a3e5433baf6d777442a013052f9a501311ddcd"}, + {file = "geventhttpclient-2.0.12-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9a60dec2ac44f494af9e42889dd7f7d653545b4c4892da4acbe383c0ffc305a1"}, + {file = "geventhttpclient-2.0.12-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aa2ef1b92662ee9866bda52123f6f266ff4479437e7b5037a6427cf09e071e25"}, + {file = "geventhttpclient-2.0.12-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b8215e9a018a3634bdef4891634ceb9b10f47292b0091a1d96c363d8d5d7fdd"}, + {file = "geventhttpclient-2.0.12-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:90d5c0974518d35514a8896529d113e778e9d42d10699ac6051cd3e8f1ff81f6"}, + {file = "geventhttpclient-2.0.12-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:83c28617b02b6ab53653324b2a9ff2d4a4b1f1582fbc4e70f47d2ef9fe6ab1f7"}, + {file = "geventhttpclient-2.0.12-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:d8c7dfa2bcd15988a350e90b32c6b5426924f2ffd0ce75f52ca2d5ef540b3fbc"}, + {file = "geventhttpclient-2.0.12-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ded99bdbe7953f0734720d9908ed6f808fd12e97de05508822695a87b69f10f2"}, + {file = "geventhttpclient-2.0.12-cp39-cp39-win32.whl", hash = "sha256:ebcd7311901e52929d2bd3af9442970fdd12b200285d9a55d52994e033e73050"}, + {file = "geventhttpclient-2.0.12-cp39-cp39-win_amd64.whl", hash = "sha256:204c3976b2a4fcefe8f157fe303da45b85fc31147bdfce7b53b1098f05f1cad2"}, + {file = "geventhttpclient-2.0.12-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:c651d22fae3084502afc876e8c73d521496f512e16828939333f17cad64ea47f"}, + {file = "geventhttpclient-2.0.12-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45c111addb5b27431805a8ad544dec292a7153cc44b68df28e782821431970d8"}, + {file = "geventhttpclient-2.0.12-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:14cb7f4854d77c63506e31677fb548d137b20cbe34a11b5442f065b1e46c2246"}, + {file = "geventhttpclient-2.0.12-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c8ac257aa714999b523282c0da6faf4d333d44131cea3b15fe802e00d35dd5c2"}, + {file = "geventhttpclient-2.0.12-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:d97a41f959cd331eb8a633ed8edf6cc002a2a41a21e94876db833729b803924f"}, + {file = "geventhttpclient-2.0.12-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:6ecb9a600a2da862b079ef3ebdffc9acec089c914bebc0c54614049584bfbb94"}, + {file = "geventhttpclient-2.0.12-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:662bb04e99466c25a1bf8b47351f79b339b6627721bb357bf3bc0d263c394176"}, + {file = "geventhttpclient-2.0.12-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:80a6b4c9e1ade3ae090b7b679d5b691d0c87460612983d4ab951043f859adffb"}, + {file = "geventhttpclient-2.0.12-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13a359605dab2b92df4ef1bab7f1bec26e82acdc4253828a508f55375af50b48"}, + {file = "geventhttpclient-2.0.12-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:fc17f57be8254329715702d00536a443c29b52f2ef750bc0650554fb3b7e33e7"}, + {file = "geventhttpclient-2.0.12-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:b58096bcaaa259e8d107749539b1d3804fc6ec395e91dec8040d448d298861c8"}, + {file = "geventhttpclient-2.0.12-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9eb66bff9ed4d4f0bced3498746d86c949bf99e2440ceb968e6e7c542b3982b0"}, + {file = "geventhttpclient-2.0.12-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0158f45fd611b585c54380d981181c303313f3e059395310112805f53998d061"}, + {file = "geventhttpclient-2.0.12-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13129723ba3568f0a373cbd612130e2d78b3f284cf6a62385e26a92d7627a570"}, + {file = "geventhttpclient-2.0.12-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:571be0c875503ef5088cb417e84b707c922e3e2bd5e302e609d25e008cf037eb"}, + {file = "geventhttpclient-2.0.12-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:46e1706e3a44bb3423fc8d10b44e71c8a52c6535e22d483519dde008723c4f25"}, + {file = "geventhttpclient-2.0.12-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9de259de7ccc19b47537e21b47a74442ad64d1a1a262b971713d6af8cc8f16f9"}, + {file = "geventhttpclient-2.0.12-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4d777dced8a8e04fd8e0811c3b764d9a476b6a4c865f10079cc4f27b95b37196"}, + {file = "geventhttpclient-2.0.12-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fcd4f45055a2e2f66e67016599d3fac33bc67b3bd67b672c1503a5de7543c1b6"}, + {file = "geventhttpclient-2.0.12-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:61b078cfc4b34a0d50224adf80c7eeae8e23fe6d8cb35926ccd3f3a6b86f921f"}, + {file = "geventhttpclient-2.0.12.tar.gz", hash = "sha256:ebea08e79c1aa7d03b43936b347c0f87356e6fb1c6845735a11f23c949c655f7"}, ] [package.dependencies] @@ -1909,13 +1881,13 @@ test = ["black", "coverage[toml]", "ddt (>=1.1.1,!=1.4.3)", "mock", "mypy", "pre [[package]] name = "googleapis-common-protos" -version = "1.62.0" +version = "1.63.0" description = "Common protobufs used in Google APIs" optional = true python-versions = ">=3.7" files = [ - {file = "googleapis-common-protos-1.62.0.tar.gz", hash = "sha256:83f0ece9f94e5672cced82f592d2a5edf527a96ed1794f0bab36d5735c996277"}, - {file = "googleapis_common_protos-1.62.0-py2.py3-none-any.whl", hash = "sha256:4750113612205514f9f6aa4cb00d523a94f3e8c06c5ad2fee466387dc4875f07"}, + {file = "googleapis-common-protos-1.63.0.tar.gz", hash = "sha256:17ad01b11d5f1d0171c06d3ba5c04c54474e883b66b949722b4938ee2694ef4e"}, + {file = "googleapis_common_protos-1.63.0-py2.py3-none-any.whl", hash = "sha256:ae45f75702f7c08b541f750854a678bd8f534a1a6bace6afe975f1d0a82d6632"}, ] [package.dependencies] @@ -1997,69 +1969,69 @@ test = ["objgraph", "psutil"] [[package]] name = "grpcio" -version = "1.62.0" +version = "1.62.1" description = "HTTP/2-based RPC framework" optional = true python-versions = ">=3.7" files = [ - {file = "grpcio-1.62.0-cp310-cp310-linux_armv7l.whl", hash = "sha256:136ffd79791b1eddda8d827b607a6285474ff8a1a5735c4947b58c481e5e4271"}, - {file = "grpcio-1.62.0-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:d6a56ba703be6b6267bf19423d888600c3f574ac7c2cc5e6220af90662a4d6b0"}, - {file = "grpcio-1.62.0-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:4cd356211579043fce9f52acc861e519316fff93980a212c8109cca8f47366b6"}, - {file = "grpcio-1.62.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e803e9b58d8f9b4ff0ea991611a8d51b31c68d2e24572cd1fe85e99e8cc1b4f8"}, - {file = "grpcio-1.62.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f4c04fe33039b35b97c02d2901a164bbbb2f21fb9c4e2a45a959f0b044c3512c"}, - {file = "grpcio-1.62.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:95370c71b8c9062f9ea033a0867c4c73d6f0ff35113ebd2618171ec1f1e903e0"}, - {file = "grpcio-1.62.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c912688acc05e4ff012c8891803659d6a8a8b5106f0f66e0aed3fb7e77898fa6"}, - {file = "grpcio-1.62.0-cp310-cp310-win32.whl", hash = "sha256:821a44bd63d0f04e33cf4ddf33c14cae176346486b0df08b41a6132b976de5fc"}, - {file = "grpcio-1.62.0-cp310-cp310-win_amd64.whl", hash = "sha256:81531632f93fece32b2762247c4c169021177e58e725494f9a746ca62c83acaa"}, - {file = "grpcio-1.62.0-cp311-cp311-linux_armv7l.whl", hash = "sha256:3fa15850a6aba230eed06b236287c50d65a98f05054a0f01ccedf8e1cc89d57f"}, - {file = "grpcio-1.62.0-cp311-cp311-macosx_10_10_universal2.whl", hash = "sha256:36df33080cd7897623feff57831eb83c98b84640b016ce443305977fac7566fb"}, - {file = "grpcio-1.62.0-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:7a195531828b46ea9c4623c47e1dc45650fc7206f8a71825898dd4c9004b0928"}, - {file = "grpcio-1.62.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ab140a3542bbcea37162bdfc12ce0d47a3cda3f2d91b752a124cc9fe6776a9e2"}, - {file = "grpcio-1.62.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f9d6c3223914abb51ac564dc9c3782d23ca445d2864321b9059d62d47144021"}, - {file = "grpcio-1.62.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:fbe0c20ce9a1cff75cfb828b21f08d0a1ca527b67f2443174af6626798a754a4"}, - {file = "grpcio-1.62.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:38f69de9c28c1e7a8fd24e4af4264726637b72f27c2099eaea6e513e7142b47e"}, - {file = "grpcio-1.62.0-cp311-cp311-win32.whl", hash = "sha256:ce1aafdf8d3f58cb67664f42a617af0e34555fe955450d42c19e4a6ad41c84bd"}, - {file = "grpcio-1.62.0-cp311-cp311-win_amd64.whl", hash = "sha256:eef1d16ac26c5325e7d39f5452ea98d6988c700c427c52cbc7ce3201e6d93334"}, - {file = "grpcio-1.62.0-cp312-cp312-linux_armv7l.whl", hash = "sha256:8aab8f90b2a41208c0a071ec39a6e5dbba16fd827455aaa070fec241624ccef8"}, - {file = "grpcio-1.62.0-cp312-cp312-macosx_10_10_universal2.whl", hash = "sha256:62aa1659d8b6aad7329ede5d5b077e3d71bf488d85795db517118c390358d5f6"}, - {file = "grpcio-1.62.0-cp312-cp312-manylinux_2_17_aarch64.whl", hash = "sha256:0d7ae7fc7dbbf2d78d6323641ded767d9ec6d121aaf931ec4a5c50797b886532"}, - {file = "grpcio-1.62.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f359d635ee9428f0294bea062bb60c478a8ddc44b0b6f8e1f42997e5dc12e2ee"}, - {file = "grpcio-1.62.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77d48e5b1f8f4204889f1acf30bb57c30378e17c8d20df5acbe8029e985f735c"}, - {file = "grpcio-1.62.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:662d3df5314ecde3184cf87ddd2c3a66095b3acbb2d57a8cada571747af03873"}, - {file = "grpcio-1.62.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:92cdb616be44c8ac23a57cce0243af0137a10aa82234f23cd46e69e115071388"}, - {file = "grpcio-1.62.0-cp312-cp312-win32.whl", hash = "sha256:0b9179478b09ee22f4a36b40ca87ad43376acdccc816ce7c2193a9061bf35701"}, - {file = "grpcio-1.62.0-cp312-cp312-win_amd64.whl", hash = "sha256:614c3ed234208e76991992342bab725f379cc81c7dd5035ee1de2f7e3f7a9842"}, - {file = "grpcio-1.62.0-cp37-cp37m-linux_armv7l.whl", hash = "sha256:7e1f51e2a460b7394670fdb615e26d31d3260015154ea4f1501a45047abe06c9"}, - {file = "grpcio-1.62.0-cp37-cp37m-macosx_10_10_universal2.whl", hash = "sha256:bcff647e7fe25495e7719f779cc219bbb90b9e79fbd1ce5bda6aae2567f469f2"}, - {file = "grpcio-1.62.0-cp37-cp37m-manylinux_2_17_aarch64.whl", hash = "sha256:56ca7ba0b51ed0de1646f1735154143dcbdf9ec2dbe8cc6645def299bb527ca1"}, - {file = "grpcio-1.62.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2e84bfb2a734e4a234b116be208d6f0214e68dcf7804306f97962f93c22a1839"}, - {file = "grpcio-1.62.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c1488b31a521fbba50ae86423f5306668d6f3a46d124f7819c603979fc538c4"}, - {file = "grpcio-1.62.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:98d8f4eb91f1ce0735bf0b67c3b2a4fea68b52b2fd13dc4318583181f9219b4b"}, - {file = "grpcio-1.62.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:b3d3d755cfa331d6090e13aac276d4a3fb828bf935449dc16c3d554bf366136b"}, - {file = "grpcio-1.62.0-cp37-cp37m-win_amd64.whl", hash = "sha256:a33f2bfd8a58a02aab93f94f6c61279be0f48f99fcca20ebaee67576cd57307b"}, - {file = "grpcio-1.62.0-cp38-cp38-linux_armv7l.whl", hash = "sha256:5e709f7c8028ce0443bddc290fb9c967c1e0e9159ef7a030e8c21cac1feabd35"}, - {file = "grpcio-1.62.0-cp38-cp38-macosx_10_10_universal2.whl", hash = "sha256:2f3d9a4d0abb57e5f49ed5039d3ed375826c2635751ab89dcc25932ff683bbb6"}, - {file = "grpcio-1.62.0-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:62ccb92f594d3d9fcd00064b149a0187c246b11e46ff1b7935191f169227f04c"}, - {file = "grpcio-1.62.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:921148f57c2e4b076af59a815467d399b7447f6e0ee10ef6d2601eb1e9c7f402"}, - {file = "grpcio-1.62.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f897b16190b46bc4d4aaf0a32a4b819d559a37a756d7c6b571e9562c360eed72"}, - {file = "grpcio-1.62.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:1bc8449084fe395575ed24809752e1dc4592bb70900a03ca42bf236ed5bf008f"}, - {file = "grpcio-1.62.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:81d444e5e182be4c7856cd33a610154fe9ea1726bd071d07e7ba13fafd202e38"}, - {file = "grpcio-1.62.0-cp38-cp38-win32.whl", hash = "sha256:88f41f33da3840b4a9bbec68079096d4caf629e2c6ed3a72112159d570d98ebe"}, - {file = "grpcio-1.62.0-cp38-cp38-win_amd64.whl", hash = "sha256:fc2836cb829895ee190813446dce63df67e6ed7b9bf76060262c55fcd097d270"}, - {file = "grpcio-1.62.0-cp39-cp39-linux_armv7l.whl", hash = "sha256:fcc98cff4084467839d0a20d16abc2a76005f3d1b38062464d088c07f500d170"}, - {file = "grpcio-1.62.0-cp39-cp39-macosx_10_10_universal2.whl", hash = "sha256:0d3dee701e48ee76b7d6fbbba18ba8bc142e5b231ef7d3d97065204702224e0e"}, - {file = "grpcio-1.62.0-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:b7a6be562dd18e5d5bec146ae9537f20ae1253beb971c0164f1e8a2f5a27e829"}, - {file = "grpcio-1.62.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:29cb592c4ce64a023712875368bcae13938c7f03e99f080407e20ffe0a9aa33b"}, - {file = "grpcio-1.62.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1eda79574aec8ec4d00768dcb07daba60ed08ef32583b62b90bbf274b3c279f7"}, - {file = "grpcio-1.62.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7eea57444a354ee217fda23f4b479a4cdfea35fb918ca0d8a0e73c271e52c09c"}, - {file = "grpcio-1.62.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:0e97f37a3b7c89f9125b92d22e9c8323f4e76e7993ba7049b9f4ccbe8bae958a"}, - {file = "grpcio-1.62.0-cp39-cp39-win32.whl", hash = "sha256:39cd45bd82a2e510e591ca2ddbe22352e8413378852ae814549c162cf3992a93"}, - {file = "grpcio-1.62.0-cp39-cp39-win_amd64.whl", hash = "sha256:b71c65427bf0ec6a8b48c68c17356cb9fbfc96b1130d20a07cb462f4e4dcdcd5"}, - {file = "grpcio-1.62.0.tar.gz", hash = "sha256:748496af9238ac78dcd98cce65421f1adce28c3979393e3609683fcd7f3880d7"}, -] - -[package.extras] -protobuf = ["grpcio-tools (>=1.62.0)"] + {file = "grpcio-1.62.1-cp310-cp310-linux_armv7l.whl", hash = "sha256:179bee6f5ed7b5f618844f760b6acf7e910988de77a4f75b95bbfaa8106f3c1e"}, + {file = "grpcio-1.62.1-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:48611e4fa010e823ba2de8fd3f77c1322dd60cb0d180dc6630a7e157b205f7ea"}, + {file = "grpcio-1.62.1-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:b2a0e71b0a2158aa4bce48be9f8f9eb45cbd17c78c7443616d00abbe2a509f6d"}, + {file = "grpcio-1.62.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fbe80577c7880911d3ad65e5ecc997416c98f354efeba2f8d0f9112a67ed65a5"}, + {file = "grpcio-1.62.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:58f6c693d446964e3292425e1d16e21a97a48ba9172f2d0df9d7b640acb99243"}, + {file = "grpcio-1.62.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:77c339403db5a20ef4fed02e4d1a9a3d9866bf9c0afc77a42234677313ea22f3"}, + {file = "grpcio-1.62.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b5a4ea906db7dec694098435d84bf2854fe158eb3cd51e1107e571246d4d1d70"}, + {file = "grpcio-1.62.1-cp310-cp310-win32.whl", hash = "sha256:4187201a53f8561c015bc745b81a1b2d278967b8de35f3399b84b0695e281d5f"}, + {file = "grpcio-1.62.1-cp310-cp310-win_amd64.whl", hash = "sha256:844d1f3fb11bd1ed362d3fdc495d0770cfab75761836193af166fee113421d66"}, + {file = "grpcio-1.62.1-cp311-cp311-linux_armv7l.whl", hash = "sha256:833379943d1728a005e44103f17ecd73d058d37d95783eb8f0b28ddc1f54d7b2"}, + {file = "grpcio-1.62.1-cp311-cp311-macosx_10_10_universal2.whl", hash = "sha256:c7fcc6a32e7b7b58f5a7d27530669337a5d587d4066060bcb9dee7a8c833dfb7"}, + {file = "grpcio-1.62.1-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:fa7d28eb4d50b7cbe75bb8b45ed0da9a1dc5b219a0af59449676a29c2eed9698"}, + {file = "grpcio-1.62.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:48f7135c3de2f298b833be8b4ae20cafe37091634e91f61f5a7eb3d61ec6f660"}, + {file = "grpcio-1.62.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:71f11fd63365ade276c9d4a7b7df5c136f9030e3457107e1791b3737a9b9ed6a"}, + {file = "grpcio-1.62.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:4b49fd8fe9f9ac23b78437da94c54aa7e9996fbb220bac024a67469ce5d0825f"}, + {file = "grpcio-1.62.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:482ae2ae78679ba9ed5752099b32e5fe580443b4f798e1b71df412abf43375db"}, + {file = "grpcio-1.62.1-cp311-cp311-win32.whl", hash = "sha256:1faa02530b6c7426404372515fe5ddf66e199c2ee613f88f025c6f3bd816450c"}, + {file = "grpcio-1.62.1-cp311-cp311-win_amd64.whl", hash = "sha256:5bd90b8c395f39bc82a5fb32a0173e220e3f401ff697840f4003e15b96d1befc"}, + {file = "grpcio-1.62.1-cp312-cp312-linux_armv7l.whl", hash = "sha256:b134d5d71b4e0837fff574c00e49176051a1c532d26c052a1e43231f252d813b"}, + {file = "grpcio-1.62.1-cp312-cp312-macosx_10_10_universal2.whl", hash = "sha256:d1f6c96573dc09d50dbcbd91dbf71d5cf97640c9427c32584010fbbd4c0e0037"}, + {file = "grpcio-1.62.1-cp312-cp312-manylinux_2_17_aarch64.whl", hash = "sha256:359f821d4578f80f41909b9ee9b76fb249a21035a061a327f91c953493782c31"}, + {file = "grpcio-1.62.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a485f0c2010c696be269184bdb5ae72781344cb4e60db976c59d84dd6354fac9"}, + {file = "grpcio-1.62.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b50b09b4dc01767163d67e1532f948264167cd27f49e9377e3556c3cba1268e1"}, + {file = "grpcio-1.62.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:3227c667dccbe38f2c4d943238b887bac588d97c104815aecc62d2fd976e014b"}, + {file = "grpcio-1.62.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:3952b581eb121324853ce2b191dae08badb75cd493cb4e0243368aa9e61cfd41"}, + {file = "grpcio-1.62.1-cp312-cp312-win32.whl", hash = "sha256:83a17b303425104d6329c10eb34bba186ffa67161e63fa6cdae7776ff76df73f"}, + {file = "grpcio-1.62.1-cp312-cp312-win_amd64.whl", hash = "sha256:6696ffe440333a19d8d128e88d440f91fb92c75a80ce4b44d55800e656a3ef1d"}, + {file = "grpcio-1.62.1-cp37-cp37m-linux_armv7l.whl", hash = "sha256:e3393b0823f938253370ebef033c9fd23d27f3eae8eb9a8f6264900c7ea3fb5a"}, + {file = "grpcio-1.62.1-cp37-cp37m-macosx_10_10_universal2.whl", hash = "sha256:83e7ccb85a74beaeae2634f10eb858a0ed1a63081172649ff4261f929bacfd22"}, + {file = "grpcio-1.62.1-cp37-cp37m-manylinux_2_17_aarch64.whl", hash = "sha256:882020c87999d54667a284c7ddf065b359bd00251fcd70279ac486776dbf84ec"}, + {file = "grpcio-1.62.1-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a10383035e864f386fe096fed5c47d27a2bf7173c56a6e26cffaaa5a361addb1"}, + {file = "grpcio-1.62.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:960edebedc6b9ada1ef58e1c71156f28689978188cd8cff3b646b57288a927d9"}, + {file = "grpcio-1.62.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:23e2e04b83f347d0aadde0c9b616f4726c3d76db04b438fd3904b289a725267f"}, + {file = "grpcio-1.62.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:978121758711916d34fe57c1f75b79cdfc73952f1481bb9583399331682d36f7"}, + {file = "grpcio-1.62.1-cp37-cp37m-win_amd64.whl", hash = "sha256:9084086190cc6d628f282e5615f987288b95457292e969b9205e45b442276407"}, + {file = "grpcio-1.62.1-cp38-cp38-linux_armv7l.whl", hash = "sha256:22bccdd7b23c420a27fd28540fb5dcbc97dc6be105f7698cb0e7d7a420d0e362"}, + {file = "grpcio-1.62.1-cp38-cp38-macosx_10_10_universal2.whl", hash = "sha256:8999bf1b57172dbc7c3e4bb3c732658e918f5c333b2942243f10d0d653953ba9"}, + {file = "grpcio-1.62.1-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:d9e52558b8b8c2f4ac05ac86344a7417ccdd2b460a59616de49eb6933b07a0bd"}, + {file = "grpcio-1.62.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1714e7bc935780bc3de1b3fcbc7674209adf5208ff825799d579ffd6cd0bd505"}, + {file = "grpcio-1.62.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c8842ccbd8c0e253c1f189088228f9b433f7a93b7196b9e5b6f87dba393f5d5d"}, + {file = "grpcio-1.62.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:1f1e7b36bdff50103af95a80923bf1853f6823dd62f2d2a2524b66ed74103e49"}, + {file = "grpcio-1.62.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:bba97b8e8883a8038606480d6b6772289f4c907f6ba780fa1f7b7da7dfd76f06"}, + {file = "grpcio-1.62.1-cp38-cp38-win32.whl", hash = "sha256:a7f615270fe534548112a74e790cd9d4f5509d744dd718cd442bf016626c22e4"}, + {file = "grpcio-1.62.1-cp38-cp38-win_amd64.whl", hash = "sha256:e6c8c8693df718c5ecbc7babb12c69a4e3677fd11de8886f05ab22d4e6b1c43b"}, + {file = "grpcio-1.62.1-cp39-cp39-linux_armv7l.whl", hash = "sha256:73db2dc1b201d20ab7083e7041946910bb991e7e9761a0394bbc3c2632326483"}, + {file = "grpcio-1.62.1-cp39-cp39-macosx_10_10_universal2.whl", hash = "sha256:407b26b7f7bbd4f4751dbc9767a1f0716f9fe72d3d7e96bb3ccfc4aace07c8de"}, + {file = "grpcio-1.62.1-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:f8de7c8cef9261a2d0a62edf2ccea3d741a523c6b8a6477a340a1f2e417658de"}, + {file = "grpcio-1.62.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9bd5c8a1af40ec305d001c60236308a67e25419003e9bb3ebfab5695a8d0b369"}, + {file = "grpcio-1.62.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:be0477cb31da67846a33b1a75c611f88bfbcd427fe17701b6317aefceee1b96f"}, + {file = "grpcio-1.62.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:60dcd824df166ba266ee0cfaf35a31406cd16ef602b49f5d4dfb21f014b0dedd"}, + {file = "grpcio-1.62.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:973c49086cabab773525f6077f95e5a993bfc03ba8fc32e32f2c279497780585"}, + {file = "grpcio-1.62.1-cp39-cp39-win32.whl", hash = "sha256:12859468e8918d3bd243d213cd6fd6ab07208195dc140763c00dfe901ce1e1b4"}, + {file = "grpcio-1.62.1-cp39-cp39-win_amd64.whl", hash = "sha256:b7209117bbeebdfa5d898205cc55153a51285757902dd73c47de498ad4d11332"}, + {file = "grpcio-1.62.1.tar.gz", hash = "sha256:6c455e008fa86d9e9a9d85bb76da4277c0d7d9668a3bfa70dbe86e9f3c759947"}, +] + +[package.extras] +protobuf = ["grpcio-tools (>=1.62.1)"] [[package]] name = "h11" @@ -2174,13 +2146,13 @@ testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs [[package]] name = "importlib-resources" -version = "6.1.2" +version = "6.4.0" description = "Read resources from Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "importlib_resources-6.1.2-py3-none-any.whl", hash = "sha256:9a0a862501dc38b68adebc82970140c9e4209fc99601782925178f8386339938"}, - {file = "importlib_resources-6.1.2.tar.gz", hash = "sha256:308abf8474e2dba5f867d279237cd4076482c3de7104a40b41426370e891549b"}, + {file = "importlib_resources-6.4.0-py3-none-any.whl", hash = "sha256:50d10f043df931902d4194ea07ec57960f66a80449ff867bfe782b4c486ba78c"}, + {file = "importlib_resources-6.4.0.tar.gz", hash = "sha256:cdb2b453b8046ca4e3798eb1d84f3cce1446a0e8e7b5ef4efb600f19fc398145"}, ] [package.dependencies] @@ -2188,7 +2160,7 @@ zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} [package.extras] docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"] -testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-ruff (>=0.2.1)", "zipp (>=3.17)"] +testing = ["jaraco.test (>=5.4)", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-ruff (>=0.2.1)", "zipp (>=3.17)"] [[package]] name = "iniconfig" @@ -2415,18 +2387,15 @@ i18n = ["Babel (>=2.7)"] [[package]] name = "json5" -version = "0.9.17" +version = "0.9.24" description = "A Python implementation of the JSON5 data format." optional = false python-versions = ">=3.8" files = [ - {file = "json5-0.9.17-py2.py3-none-any.whl", hash = "sha256:f8ec1ecf985951d70f780f6f877c4baca6a47b6e61e02c4cd190138d10a7805a"}, - {file = "json5-0.9.17.tar.gz", hash = "sha256:717d99d657fa71b7094877b1d921b1cce40ab444389f6d770302563bb7dfd9ae"}, + {file = "json5-0.9.24-py3-none-any.whl", hash = "sha256:4ca101fd5c7cb47960c055ef8f4d0e31e15a7c6c48c3b6f1473fc83b6c462a13"}, + {file = "json5-0.9.24.tar.gz", hash = "sha256:0c638399421da959a20952782800e5c1a78c14e08e1dc9738fa10d8ec14d58c8"}, ] -[package.extras] -dev = ["hypothesis"] - [[package]] name = "jsonpointer" version = "2.4" @@ -2506,13 +2475,13 @@ qtconsole = "*" [[package]] name = "jupyter-client" -version = "8.6.0" +version = "8.6.1" description = "Jupyter protocol implementation and client libraries" optional = false python-versions = ">=3.8" files = [ - {file = "jupyter_client-8.6.0-py3-none-any.whl", hash = "sha256:909c474dbe62582ae62b758bca86d6518c85234bdee2d908c778db6d72f39d99"}, - {file = "jupyter_client-8.6.0.tar.gz", hash = "sha256:0642244bb83b4764ae60d07e010e15f0e2d275ec4e918a8f7b80fbbef3ca60c7"}, + {file = "jupyter_client-8.6.1-py3-none-any.whl", hash = "sha256:3b7bd22f058434e3b9a7ea4b1500ed47de2713872288c0d511d19926f99b459f"}, + {file = "jupyter_client-8.6.1.tar.gz", hash = "sha256:e842515e2bab8e19186d89fdfea7abd15e39dd581f94e399f00e2af5a1652d3f"}, ] [package.dependencies] @@ -2553,13 +2522,13 @@ test = ["flaky", "pexpect", "pytest"] [[package]] name = "jupyter-core" -version = "5.7.1" +version = "5.7.2" description = "Jupyter core package. A base package on which Jupyter projects rely." optional = false python-versions = ">=3.8" files = [ - {file = "jupyter_core-5.7.1-py3-none-any.whl", hash = "sha256:c65c82126453a723a2804aa52409930434598fd9d35091d63dfb919d2b765bb7"}, - {file = "jupyter_core-5.7.1.tar.gz", hash = "sha256:de61a9d7fc71240f688b2fb5ab659fbb56979458dc66a71decd098e03c79e218"}, + {file = "jupyter_core-5.7.2-py3-none-any.whl", hash = "sha256:4f7315d2f6b4bcf2e3e7cb6e46772eba760ae459cd1f59d29eb57b0a01bd7409"}, + {file = "jupyter_core-5.7.2.tar.gz", hash = "sha256:aa5f8d32bbf6b431ac830496da7392035d6f61b4f54872f15c4bd2a9c3f536d9"}, ] [package.dependencies] @@ -2569,17 +2538,17 @@ traitlets = ">=5.3" [package.extras] docs = ["myst-parser", "pydata-sphinx-theme", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-spelling", "traitlets"] -test = ["ipykernel", "pre-commit", "pytest", "pytest-cov", "pytest-timeout"] +test = ["ipykernel", "pre-commit", "pytest (<8)", "pytest-cov", "pytest-timeout"] [[package]] name = "jupyter-events" -version = "0.9.0" +version = "0.10.0" description = "Jupyter Event System library" optional = false python-versions = ">=3.8" files = [ - {file = "jupyter_events-0.9.0-py3-none-any.whl", hash = "sha256:d853b3c10273ff9bc8bb8b30076d65e2c9685579db736873de6c2232dde148bf"}, - {file = "jupyter_events-0.9.0.tar.gz", hash = "sha256:81ad2e4bc710881ec274d31c6c50669d71bbaa5dd9d01e600b56faa85700d399"}, + {file = "jupyter_events-0.10.0-py3-none-any.whl", hash = "sha256:4b72130875e59d57716d327ea70d3ebc3af1944d3717e5a498b8a06c6c159960"}, + {file = "jupyter_events-0.10.0.tar.gz", hash = "sha256:670b8229d3cc882ec782144ed22e0d29e1c2d639263f92ca8383e66682845e22"}, ] [package.dependencies] @@ -2598,13 +2567,13 @@ test = ["click", "pre-commit", "pytest (>=7.0)", "pytest-asyncio (>=0.19.0)", "p [[package]] name = "jupyter-lsp" -version = "2.2.3" +version = "2.2.4" description = "Multi-Language Server WebSocket proxy for Jupyter Notebook/Lab server" optional = false python-versions = ">=3.8" files = [ - {file = "jupyter-lsp-2.2.3.tar.gz", hash = "sha256:33dbcbc5df24237ff5c8b696b04ff4689fcd316cb8d4957d620fe5504d7d2c3f"}, - {file = "jupyter_lsp-2.2.3-py3-none-any.whl", hash = "sha256:57dd90d0a2e2530831793550846168c81c952b49e187aa339e455027a5f0fd2e"}, + {file = "jupyter-lsp-2.2.4.tar.gz", hash = "sha256:5e50033149344065348e688608f3c6d654ef06d9856b67655bd7b6bac9ee2d59"}, + {file = "jupyter_lsp-2.2.4-py3-none-any.whl", hash = "sha256:da61cb63a16b6dff5eac55c2699cc36eac975645adee02c41bdfc03bf4802e77"}, ] [package.dependencies] @@ -2613,13 +2582,13 @@ jupyter-server = ">=1.1.2" [[package]] name = "jupyter-server" -version = "2.12.5" +version = "2.13.0" description = "The backend—i.e. core services, APIs, and REST endpoints—to Jupyter web applications." optional = false python-versions = ">=3.8" files = [ - {file = "jupyter_server-2.12.5-py3-none-any.whl", hash = "sha256:184a0f82809a8522777cfb6b760ab6f4b1bb398664c5860a27cec696cb884923"}, - {file = "jupyter_server-2.12.5.tar.gz", hash = "sha256:0edb626c94baa22809be1323f9770cf1c00a952b17097592e40d03e6a3951689"}, + {file = "jupyter_server-2.13.0-py3-none-any.whl", hash = "sha256:77b2b49c3831fbbfbdb5048cef4350d12946191f833a24e5f83e5f8f4803e97b"}, + {file = "jupyter_server-2.13.0.tar.gz", hash = "sha256:c80bfb049ea20053c3d9641c2add4848b38073bf79f1729cea1faed32fc1c78e"}, ] [package.dependencies] @@ -2645,17 +2614,17 @@ websocket-client = "*" [package.extras] docs = ["ipykernel", "jinja2", "jupyter-client", "jupyter-server", "myst-parser", "nbformat", "prometheus-client", "pydata-sphinx-theme", "send2trash", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-openapi (>=0.8.0)", "sphinxcontrib-spelling", "sphinxemoji", "tornado", "typing-extensions"] -test = ["flaky", "ipykernel", "pre-commit", "pytest (>=7.0)", "pytest-console-scripts", "pytest-jupyter[server] (>=0.4)", "pytest-timeout", "requests"] +test = ["flaky", "ipykernel", "pre-commit", "pytest (>=7.0)", "pytest-console-scripts", "pytest-jupyter[server] (>=0.7)", "pytest-timeout", "requests"] [[package]] name = "jupyter-server-terminals" -version = "0.5.2" +version = "0.5.3" description = "A Jupyter Server Extension Providing Terminals." optional = false python-versions = ">=3.8" files = [ - {file = "jupyter_server_terminals-0.5.2-py3-none-any.whl", hash = "sha256:1b80c12765da979513c42c90215481bbc39bd8ae7c0350b4f85bc3eb58d0fa80"}, - {file = "jupyter_server_terminals-0.5.2.tar.gz", hash = "sha256:396b5ccc0881e550bf0ee7012c6ef1b53edbde69e67cab1d56e89711b46052e8"}, + {file = "jupyter_server_terminals-0.5.3-py3-none-any.whl", hash = "sha256:41ee0d7dc0ebf2809c668e0fc726dfaf258fcd3e769568996ca731b6194ae9aa"}, + {file = "jupyter_server_terminals-0.5.3.tar.gz", hash = "sha256:5ae0295167220e9ace0edcfdb212afd2b01ee8d179fe6f23c899590e9b8a5269"}, ] [package.dependencies] @@ -2668,13 +2637,13 @@ test = ["jupyter-server (>=2.0.0)", "pytest (>=7.0)", "pytest-jupyter[server] (> [[package]] name = "jupyterlab" -version = "4.1.2" +version = "4.1.5" description = "JupyterLab computational environment" optional = false python-versions = ">=3.8" files = [ - {file = "jupyterlab-4.1.2-py3-none-any.whl", hash = "sha256:aa88193f03cf4d3555f6712f04d74112b5eb85edd7d222c588c7603a26d33c5b"}, - {file = "jupyterlab-4.1.2.tar.gz", hash = "sha256:5d6348b3ed4085181499f621b7dfb6eb0b1f57f3586857aadfc8e3bf4c4885f9"}, + {file = "jupyterlab-4.1.5-py3-none-any.whl", hash = "sha256:3bc843382a25e1ab7bc31d9e39295a9f0463626692b7995597709c0ab236ab2c"}, + {file = "jupyterlab-4.1.5.tar.gz", hash = "sha256:c9ad75290cb10bfaff3624bf3fbb852319b4cce4c456613f8ebbaa98d03524db"}, ] [package.dependencies] @@ -2713,13 +2682,13 @@ files = [ [[package]] name = "jupyterlab-server" -version = "2.25.3" +version = "2.25.4" description = "A set of server components for JupyterLab and JupyterLab like applications." optional = false python-versions = ">=3.8" files = [ - {file = "jupyterlab_server-2.25.3-py3-none-any.whl", hash = "sha256:c48862519fded9b418c71645d85a49b2f0ec50d032ba8316738e9276046088c1"}, - {file = "jupyterlab_server-2.25.3.tar.gz", hash = "sha256:846f125a8a19656611df5b03e5912c8393cea6900859baa64fa515eb64a8dc40"}, + {file = "jupyterlab_server-2.25.4-py3-none-any.whl", hash = "sha256:eb645ecc8f9b24bac5decc7803b6d5363250e16ec5af814e516bc2c54dd88081"}, + {file = "jupyterlab_server-2.25.4.tar.gz", hash = "sha256:2098198e1e82e0db982440f9b5136175d73bea2cd42a6480aa6fd502cb23c4f9"}, ] [package.dependencies] @@ -2735,7 +2704,7 @@ requests = ">=2.31" [package.extras] docs = ["autodoc-traits", "jinja2 (<3.2.0)", "mistune (<4)", "myst-parser", "pydata-sphinx-theme", "sphinx", "sphinx-copybutton", "sphinxcontrib-openapi (>0.8)"] openapi = ["openapi-core (>=0.18.0,<0.19.0)", "ruamel-yaml"] -test = ["hatch", "ipykernel", "openapi-core (>=0.18.0,<0.19.0)", "openapi-spec-validator (>=0.6.0,<0.8.0)", "pytest (>=7.0)", "pytest-console-scripts", "pytest-cov", "pytest-jupyter[server] (>=0.6.2)", "pytest-timeout", "requests-mock", "ruamel-yaml", "sphinxcontrib-spelling", "strict-rfc3339", "werkzeug"] +test = ["hatch", "ipykernel", "openapi-core (>=0.18.0,<0.19.0)", "openapi-spec-validator (>=0.6.0,<0.8.0)", "pytest (>=7.0,<8)", "pytest-console-scripts", "pytest-cov", "pytest-jupyter[server] (>=0.6.2)", "pytest-timeout", "requests-mock", "ruamel-yaml", "sphinxcontrib-spelling", "strict-rfc3339", "werkzeug"] [[package]] name = "jupyterlab-widgets" @@ -2803,13 +2772,13 @@ testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-ena [[package]] name = "locust" -version = "2.23.1" +version = "2.24.1" description = "Developer friendly load testing framework" optional = false python-versions = ">=3.8" files = [ - {file = "locust-2.23.1-py3-none-any.whl", hash = "sha256:96013a460a4b4d6d4fd46c70e6ff1fd2b6e03b48ddb1b48d1513d3134ba2cecf"}, - {file = "locust-2.23.1.tar.gz", hash = "sha256:6cc729729e5ebf5852fc9d845302cfcf0ab0132f198e68b3eb0c88b438b6a863"}, + {file = "locust-2.24.1-py3-none-any.whl", hash = "sha256:7f6ed4dc289aad66c304582e6d25e4de5d7c3b175b580332442ab2be35b9d916"}, + {file = "locust-2.24.1.tar.gz", hash = "sha256:094161d44d94839bf1120fd7898b7abb9c143833743ba7c096beb470a236b9a7"}, ] [package.dependencies] @@ -2825,6 +2794,7 @@ pywin32 = {version = "*", markers = "platform_system == \"Windows\""} pyzmq = ">=25.0.0" requests = ">=2.26.0" roundrobin = ">=0.0.2" +tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} Werkzeug = ">=2.0.0" [[package]] @@ -3015,13 +2985,13 @@ files = [ [[package]] name = "motor" -version = "3.3.2" +version = "3.4.0" description = "Non-blocking MongoDB driver for Tornado or asyncio" optional = true python-versions = ">=3.7" files = [ - {file = "motor-3.3.2-py3-none-any.whl", hash = "sha256:6fe7e6f0c4f430b9e030b9d22549b732f7c2226af3ab71ecc309e4a1b7d19953"}, - {file = "motor-3.3.2.tar.gz", hash = "sha256:d2fc38de15f1c8058f389c1a44a4d4105c0405c48c061cd492a654496f7bc26a"}, + {file = "motor-3.4.0-py3-none-any.whl", hash = "sha256:4b1e1a0cc5116ff73be2c080a72da078f2bb719b53bc7a6bb9e9a2f7dcd421ed"}, + {file = "motor-3.4.0.tar.gz", hash = "sha256:c89b4e4eb2e711345e91c7c9b122cb68cce0e5e869ed0387dd0acb10775e3131"}, ] [package.dependencies] @@ -3034,72 +3004,72 @@ gssapi = ["pymongo[gssapi] (>=4.5,<5)"] ocsp = ["pymongo[ocsp] (>=4.5,<5)"] snappy = ["pymongo[snappy] (>=4.5,<5)"] srv = ["pymongo[srv] (>=4.5,<5)"] -test = ["aiohttp (<3.8.6)", "mockupdb", "motor[encryption]", "pytest (>=7)", "tornado (>=5)"] +test = ["aiohttp (!=3.8.6)", "mockupdb", "motor[encryption]", "pytest (>=7)", "tornado (>=5)"] zstd = ["pymongo[zstd] (>=4.5,<5)"] [[package]] name = "msgpack" -version = "1.0.7" +version = "1.0.8" description = "MessagePack serializer" optional = false python-versions = ">=3.8" files = [ - {file = "msgpack-1.0.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:04ad6069c86e531682f9e1e71b71c1c3937d6014a7c3e9edd2aa81ad58842862"}, - {file = "msgpack-1.0.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:cca1b62fe70d761a282496b96a5e51c44c213e410a964bdffe0928e611368329"}, - {file = "msgpack-1.0.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e50ebce52f41370707f1e21a59514e3375e3edd6e1832f5e5235237db933c98b"}, - {file = "msgpack-1.0.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4a7b4f35de6a304b5533c238bee86b670b75b03d31b7797929caa7a624b5dda6"}, - {file = "msgpack-1.0.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28efb066cde83c479dfe5a48141a53bc7e5f13f785b92ddde336c716663039ee"}, - {file = "msgpack-1.0.7-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4cb14ce54d9b857be9591ac364cb08dc2d6a5c4318c1182cb1d02274029d590d"}, - {file = "msgpack-1.0.7-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:b573a43ef7c368ba4ea06050a957c2a7550f729c31f11dd616d2ac4aba99888d"}, - {file = "msgpack-1.0.7-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:ccf9a39706b604d884d2cb1e27fe973bc55f2890c52f38df742bc1d79ab9f5e1"}, - {file = "msgpack-1.0.7-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:cb70766519500281815dfd7a87d3a178acf7ce95390544b8c90587d76b227681"}, - {file = "msgpack-1.0.7-cp310-cp310-win32.whl", hash = "sha256:b610ff0f24e9f11c9ae653c67ff8cc03c075131401b3e5ef4b82570d1728f8a9"}, - {file = "msgpack-1.0.7-cp310-cp310-win_amd64.whl", hash = "sha256:a40821a89dc373d6427e2b44b572efc36a2778d3f543299e2f24eb1a5de65415"}, - {file = "msgpack-1.0.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:576eb384292b139821c41995523654ad82d1916da6a60cff129c715a6223ea84"}, - {file = "msgpack-1.0.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:730076207cb816138cf1af7f7237b208340a2c5e749707457d70705715c93b93"}, - {file = "msgpack-1.0.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:85765fdf4b27eb5086f05ac0491090fc76f4f2b28e09d9350c31aac25a5aaff8"}, - {file = "msgpack-1.0.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3476fae43db72bd11f29a5147ae2f3cb22e2f1a91d575ef130d2bf49afd21c46"}, - {file = "msgpack-1.0.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d4c80667de2e36970ebf74f42d1088cc9ee7ef5f4e8c35eee1b40eafd33ca5b"}, - {file = "msgpack-1.0.7-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5b0bf0effb196ed76b7ad883848143427a73c355ae8e569fa538365064188b8e"}, - {file = "msgpack-1.0.7-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f9a7c509542db4eceed3dcf21ee5267ab565a83555c9b88a8109dcecc4709002"}, - {file = "msgpack-1.0.7-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:84b0daf226913133f899ea9b30618722d45feffa67e4fe867b0b5ae83a34060c"}, - {file = "msgpack-1.0.7-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:ec79ff6159dffcc30853b2ad612ed572af86c92b5168aa3fc01a67b0fa40665e"}, - {file = "msgpack-1.0.7-cp311-cp311-win32.whl", hash = "sha256:3e7bf4442b310ff154b7bb9d81eb2c016b7d597e364f97d72b1acc3817a0fdc1"}, - {file = "msgpack-1.0.7-cp311-cp311-win_amd64.whl", hash = "sha256:3f0c8c6dfa6605ab8ff0611995ee30d4f9fcff89966cf562733b4008a3d60d82"}, - {file = "msgpack-1.0.7-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f0936e08e0003f66bfd97e74ee530427707297b0d0361247e9b4f59ab78ddc8b"}, - {file = "msgpack-1.0.7-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:98bbd754a422a0b123c66a4c341de0474cad4a5c10c164ceed6ea090f3563db4"}, - {file = "msgpack-1.0.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b291f0ee7961a597cbbcc77709374087fa2a9afe7bdb6a40dbbd9b127e79afee"}, - {file = "msgpack-1.0.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ebbbba226f0a108a7366bf4b59bf0f30a12fd5e75100c630267d94d7f0ad20e5"}, - {file = "msgpack-1.0.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e2d69948e4132813b8d1131f29f9101bc2c915f26089a6d632001a5c1349672"}, - {file = "msgpack-1.0.7-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bdf38ba2d393c7911ae989c3bbba510ebbcdf4ecbdbfec36272abe350c454075"}, - {file = "msgpack-1.0.7-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:993584fc821c58d5993521bfdcd31a4adf025c7d745bbd4d12ccfecf695af5ba"}, - {file = "msgpack-1.0.7-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:52700dc63a4676669b341ba33520f4d6e43d3ca58d422e22ba66d1736b0a6e4c"}, - {file = "msgpack-1.0.7-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:e45ae4927759289c30ccba8d9fdce62bb414977ba158286b5ddaf8df2cddb5c5"}, - {file = "msgpack-1.0.7-cp312-cp312-win32.whl", hash = "sha256:27dcd6f46a21c18fa5e5deed92a43d4554e3df8d8ca5a47bf0615d6a5f39dbc9"}, - {file = "msgpack-1.0.7-cp312-cp312-win_amd64.whl", hash = "sha256:7687e22a31e976a0e7fc99c2f4d11ca45eff652a81eb8c8085e9609298916dcf"}, - {file = "msgpack-1.0.7-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5b6ccc0c85916998d788b295765ea0e9cb9aac7e4a8ed71d12e7d8ac31c23c95"}, - {file = "msgpack-1.0.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:235a31ec7db685f5c82233bddf9858748b89b8119bf4538d514536c485c15fe0"}, - {file = "msgpack-1.0.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:cab3db8bab4b7e635c1c97270d7a4b2a90c070b33cbc00c99ef3f9be03d3e1f7"}, - {file = "msgpack-1.0.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0bfdd914e55e0d2c9e1526de210f6fe8ffe9705f2b1dfcc4aecc92a4cb4b533d"}, - {file = "msgpack-1.0.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:36e17c4592231a7dbd2ed09027823ab295d2791b3b1efb2aee874b10548b7524"}, - {file = "msgpack-1.0.7-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:38949d30b11ae5f95c3c91917ee7a6b239f5ec276f271f28638dec9156f82cfc"}, - {file = "msgpack-1.0.7-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:ff1d0899f104f3921d94579a5638847f783c9b04f2d5f229392ca77fba5b82fc"}, - {file = "msgpack-1.0.7-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:dc43f1ec66eb8440567186ae2f8c447d91e0372d793dfe8c222aec857b81a8cf"}, - {file = "msgpack-1.0.7-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:dd632777ff3beaaf629f1ab4396caf7ba0bdd075d948a69460d13d44357aca4c"}, - {file = "msgpack-1.0.7-cp38-cp38-win32.whl", hash = "sha256:4e71bc4416de195d6e9b4ee93ad3f2f6b2ce11d042b4d7a7ee00bbe0358bd0c2"}, - {file = "msgpack-1.0.7-cp38-cp38-win_amd64.whl", hash = "sha256:8f5b234f567cf76ee489502ceb7165c2a5cecec081db2b37e35332b537f8157c"}, - {file = "msgpack-1.0.7-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:bfef2bb6ef068827bbd021017a107194956918ab43ce4d6dc945ffa13efbc25f"}, - {file = "msgpack-1.0.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:484ae3240666ad34cfa31eea7b8c6cd2f1fdaae21d73ce2974211df099a95d81"}, - {file = "msgpack-1.0.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3967e4ad1aa9da62fd53e346ed17d7b2e922cba5ab93bdd46febcac39be636fc"}, - {file = "msgpack-1.0.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8dd178c4c80706546702c59529ffc005681bd6dc2ea234c450661b205445a34d"}, - {file = "msgpack-1.0.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6ffbc252eb0d229aeb2f9ad051200668fc3a9aaa8994e49f0cb2ffe2b7867e7"}, - {file = "msgpack-1.0.7-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:822ea70dc4018c7e6223f13affd1c5c30c0f5c12ac1f96cd8e9949acddb48a61"}, - {file = "msgpack-1.0.7-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:384d779f0d6f1b110eae74cb0659d9aa6ff35aaf547b3955abf2ab4c901c4819"}, - {file = "msgpack-1.0.7-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f64e376cd20d3f030190e8c32e1c64582eba56ac6dc7d5b0b49a9d44021b52fd"}, - {file = "msgpack-1.0.7-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5ed82f5a7af3697b1c4786053736f24a0efd0a1b8a130d4c7bfee4b9ded0f08f"}, - {file = "msgpack-1.0.7-cp39-cp39-win32.whl", hash = "sha256:f26a07a6e877c76a88e3cecac8531908d980d3d5067ff69213653649ec0f60ad"}, - {file = "msgpack-1.0.7-cp39-cp39-win_amd64.whl", hash = "sha256:1dc93e8e4653bdb5910aed79f11e165c85732067614f180f70534f056da97db3"}, - {file = "msgpack-1.0.7.tar.gz", hash = "sha256:572efc93db7a4d27e404501975ca6d2d9775705c2d922390d878fcf768d92c87"}, + {file = "msgpack-1.0.8-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:505fe3d03856ac7d215dbe005414bc28505d26f0c128906037e66d98c4e95868"}, + {file = "msgpack-1.0.8-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e6b7842518a63a9f17107eb176320960ec095a8ee3b4420b5f688e24bf50c53c"}, + {file = "msgpack-1.0.8-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:376081f471a2ef24828b83a641a02c575d6103a3ad7fd7dade5486cad10ea659"}, + {file = "msgpack-1.0.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5e390971d082dba073c05dbd56322427d3280b7cc8b53484c9377adfbae67dc2"}, + {file = "msgpack-1.0.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00e073efcba9ea99db5acef3959efa45b52bc67b61b00823d2a1a6944bf45982"}, + {file = "msgpack-1.0.8-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82d92c773fbc6942a7a8b520d22c11cfc8fd83bba86116bfcf962c2f5c2ecdaa"}, + {file = "msgpack-1.0.8-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:9ee32dcb8e531adae1f1ca568822e9b3a738369b3b686d1477cbc643c4a9c128"}, + {file = "msgpack-1.0.8-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e3aa7e51d738e0ec0afbed661261513b38b3014754c9459508399baf14ae0c9d"}, + {file = "msgpack-1.0.8-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:69284049d07fce531c17404fcba2bb1df472bc2dcdac642ae71a2d079d950653"}, + {file = "msgpack-1.0.8-cp310-cp310-win32.whl", hash = "sha256:13577ec9e247f8741c84d06b9ece5f654920d8365a4b636ce0e44f15e07ec693"}, + {file = "msgpack-1.0.8-cp310-cp310-win_amd64.whl", hash = "sha256:e532dbd6ddfe13946de050d7474e3f5fb6ec774fbb1a188aaf469b08cf04189a"}, + {file = "msgpack-1.0.8-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9517004e21664f2b5a5fd6333b0731b9cf0817403a941b393d89a2f1dc2bd836"}, + {file = "msgpack-1.0.8-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d16a786905034e7e34098634b184a7d81f91d4c3d246edc6bd7aefb2fd8ea6ad"}, + {file = "msgpack-1.0.8-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e2872993e209f7ed04d963e4b4fbae72d034844ec66bc4ca403329db2074377b"}, + {file = "msgpack-1.0.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c330eace3dd100bdb54b5653b966de7f51c26ec4a7d4e87132d9b4f738220ba"}, + {file = "msgpack-1.0.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:83b5c044f3eff2a6534768ccfd50425939e7a8b5cf9a7261c385de1e20dcfc85"}, + {file = "msgpack-1.0.8-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1876b0b653a808fcd50123b953af170c535027bf1d053b59790eebb0aeb38950"}, + {file = "msgpack-1.0.8-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:dfe1f0f0ed5785c187144c46a292b8c34c1295c01da12e10ccddfc16def4448a"}, + {file = "msgpack-1.0.8-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:3528807cbbb7f315bb81959d5961855e7ba52aa60a3097151cb21956fbc7502b"}, + {file = "msgpack-1.0.8-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e2f879ab92ce502a1e65fce390eab619774dda6a6ff719718069ac94084098ce"}, + {file = "msgpack-1.0.8-cp311-cp311-win32.whl", hash = "sha256:26ee97a8261e6e35885c2ecd2fd4a6d38252246f94a2aec23665a4e66d066305"}, + {file = "msgpack-1.0.8-cp311-cp311-win_amd64.whl", hash = "sha256:eadb9f826c138e6cf3c49d6f8de88225a3c0ab181a9b4ba792e006e5292d150e"}, + {file = "msgpack-1.0.8-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:114be227f5213ef8b215c22dde19532f5da9652e56e8ce969bf0a26d7c419fee"}, + {file = "msgpack-1.0.8-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d661dc4785affa9d0edfdd1e59ec056a58b3dbb9f196fa43587f3ddac654ac7b"}, + {file = "msgpack-1.0.8-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d56fd9f1f1cdc8227d7b7918f55091349741904d9520c65f0139a9755952c9e8"}, + {file = "msgpack-1.0.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0726c282d188e204281ebd8de31724b7d749adebc086873a59efb8cf7ae27df3"}, + {file = "msgpack-1.0.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8db8e423192303ed77cff4dce3a4b88dbfaf43979d280181558af5e2c3c71afc"}, + {file = "msgpack-1.0.8-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:99881222f4a8c2f641f25703963a5cefb076adffd959e0558dc9f803a52d6a58"}, + {file = "msgpack-1.0.8-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:b5505774ea2a73a86ea176e8a9a4a7c8bf5d521050f0f6f8426afe798689243f"}, + {file = "msgpack-1.0.8-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:ef254a06bcea461e65ff0373d8a0dd1ed3aa004af48839f002a0c994a6f72d04"}, + {file = "msgpack-1.0.8-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:e1dd7839443592d00e96db831eddb4111a2a81a46b028f0facd60a09ebbdd543"}, + {file = "msgpack-1.0.8-cp312-cp312-win32.whl", hash = "sha256:64d0fcd436c5683fdd7c907eeae5e2cbb5eb872fafbc03a43609d7941840995c"}, + {file = "msgpack-1.0.8-cp312-cp312-win_amd64.whl", hash = "sha256:74398a4cf19de42e1498368c36eed45d9528f5fd0155241e82c4082b7e16cffd"}, + {file = "msgpack-1.0.8-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:0ceea77719d45c839fd73abcb190b8390412a890df2f83fb8cf49b2a4b5c2f40"}, + {file = "msgpack-1.0.8-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1ab0bbcd4d1f7b6991ee7c753655b481c50084294218de69365f8f1970d4c151"}, + {file = "msgpack-1.0.8-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:1cce488457370ffd1f953846f82323cb6b2ad2190987cd4d70b2713e17268d24"}, + {file = "msgpack-1.0.8-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3923a1778f7e5ef31865893fdca12a8d7dc03a44b33e2a5f3295416314c09f5d"}, + {file = "msgpack-1.0.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a22e47578b30a3e199ab067a4d43d790249b3c0587d9a771921f86250c8435db"}, + {file = "msgpack-1.0.8-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bd739c9251d01e0279ce729e37b39d49a08c0420d3fee7f2a4968c0576678f77"}, + {file = "msgpack-1.0.8-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:d3420522057ebab1728b21ad473aa950026d07cb09da41103f8e597dfbfaeb13"}, + {file = "msgpack-1.0.8-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:5845fdf5e5d5b78a49b826fcdc0eb2e2aa7191980e3d2cfd2a30303a74f212e2"}, + {file = "msgpack-1.0.8-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6a0e76621f6e1f908ae52860bdcb58e1ca85231a9b0545e64509c931dd34275a"}, + {file = "msgpack-1.0.8-cp38-cp38-win32.whl", hash = "sha256:374a8e88ddab84b9ada695d255679fb99c53513c0a51778796fcf0944d6c789c"}, + {file = "msgpack-1.0.8-cp38-cp38-win_amd64.whl", hash = "sha256:f3709997b228685fe53e8c433e2df9f0cdb5f4542bd5114ed17ac3c0129b0480"}, + {file = "msgpack-1.0.8-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f51bab98d52739c50c56658cc303f190785f9a2cd97b823357e7aeae54c8f68a"}, + {file = "msgpack-1.0.8-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:73ee792784d48aa338bba28063e19a27e8d989344f34aad14ea6e1b9bd83f596"}, + {file = "msgpack-1.0.8-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f9904e24646570539a8950400602d66d2b2c492b9010ea7e965025cb71d0c86d"}, + {file = "msgpack-1.0.8-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e75753aeda0ddc4c28dce4c32ba2f6ec30b1b02f6c0b14e547841ba5b24f753f"}, + {file = "msgpack-1.0.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5dbf059fb4b7c240c873c1245ee112505be27497e90f7c6591261c7d3c3a8228"}, + {file = "msgpack-1.0.8-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4916727e31c28be8beaf11cf117d6f6f188dcc36daae4e851fee88646f5b6b18"}, + {file = "msgpack-1.0.8-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:7938111ed1358f536daf311be244f34df7bf3cdedb3ed883787aca97778b28d8"}, + {file = "msgpack-1.0.8-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:493c5c5e44b06d6c9268ce21b302c9ca055c1fd3484c25ba41d34476c76ee746"}, + {file = "msgpack-1.0.8-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5fbb160554e319f7b22ecf530a80a3ff496d38e8e07ae763b9e82fadfe96f273"}, + {file = "msgpack-1.0.8-cp39-cp39-win32.whl", hash = "sha256:f9af38a89b6a5c04b7d18c492c8ccf2aee7048aff1ce8437c4683bb5a1df893d"}, + {file = "msgpack-1.0.8-cp39-cp39-win_amd64.whl", hash = "sha256:ed59dd52075f8fc91da6053b12e8c89e37aa043f8986efd89e61fae69dc1b011"}, + {file = "msgpack-1.0.8.tar.gz", hash = "sha256:95c02b0e27e706e48d0e5426d1710ca78e0f0628d6e89d5b5a5b91a5f12274f3"}, ] [[package]] @@ -3203,38 +3173,38 @@ files = [ [[package]] name = "mypy" -version = "1.8.0" +version = "1.9.0" description = "Optional static typing for Python" optional = false python-versions = ">=3.8" files = [ - {file = "mypy-1.8.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:485a8942f671120f76afffff70f259e1cd0f0cfe08f81c05d8816d958d4577d3"}, - {file = "mypy-1.8.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:df9824ac11deaf007443e7ed2a4a26bebff98d2bc43c6da21b2b64185da011c4"}, - {file = "mypy-1.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2afecd6354bbfb6e0160f4e4ad9ba6e4e003b767dd80d85516e71f2e955ab50d"}, - {file = "mypy-1.8.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8963b83d53ee733a6e4196954502b33567ad07dfd74851f32be18eb932fb1cb9"}, - {file = "mypy-1.8.0-cp310-cp310-win_amd64.whl", hash = "sha256:e46f44b54ebddbeedbd3d5b289a893219065ef805d95094d16a0af6630f5d410"}, - {file = "mypy-1.8.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:855fe27b80375e5c5878492f0729540db47b186509c98dae341254c8f45f42ae"}, - {file = "mypy-1.8.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4c886c6cce2d070bd7df4ec4a05a13ee20c0aa60cb587e8d1265b6c03cf91da3"}, - {file = "mypy-1.8.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d19c413b3c07cbecf1f991e2221746b0d2a9410b59cb3f4fb9557f0365a1a817"}, - {file = "mypy-1.8.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9261ed810972061388918c83c3f5cd46079d875026ba97380f3e3978a72f503d"}, - {file = "mypy-1.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:51720c776d148bad2372ca21ca29256ed483aa9a4cdefefcef49006dff2a6835"}, - {file = "mypy-1.8.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:52825b01f5c4c1c4eb0db253ec09c7aa17e1a7304d247c48b6f3599ef40db8bd"}, - {file = "mypy-1.8.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f5ac9a4eeb1ec0f1ccdc6f326bcdb464de5f80eb07fb38b5ddd7b0de6bc61e55"}, - {file = "mypy-1.8.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:afe3fe972c645b4632c563d3f3eff1cdca2fa058f730df2b93a35e3b0c538218"}, - {file = "mypy-1.8.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:42c6680d256ab35637ef88891c6bd02514ccb7e1122133ac96055ff458f93fc3"}, - {file = "mypy-1.8.0-cp312-cp312-win_amd64.whl", hash = "sha256:720a5ca70e136b675af3af63db533c1c8c9181314d207568bbe79051f122669e"}, - {file = "mypy-1.8.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:028cf9f2cae89e202d7b6593cd98db6759379f17a319b5faf4f9978d7084cdc6"}, - {file = "mypy-1.8.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4e6d97288757e1ddba10dd9549ac27982e3e74a49d8d0179fc14d4365c7add66"}, - {file = "mypy-1.8.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f1478736fcebb90f97e40aff11a5f253af890c845ee0c850fe80aa060a267c6"}, - {file = "mypy-1.8.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:42419861b43e6962a649068a61f4a4839205a3ef525b858377a960b9e2de6e0d"}, - {file = "mypy-1.8.0-cp38-cp38-win_amd64.whl", hash = "sha256:2b5b6c721bd4aabaadead3a5e6fa85c11c6c795e0c81a7215776ef8afc66de02"}, - {file = "mypy-1.8.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5c1538c38584029352878a0466f03a8ee7547d7bd9f641f57a0f3017a7c905b8"}, - {file = "mypy-1.8.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4ef4be7baf08a203170f29e89d79064463b7fc7a0908b9d0d5114e8009c3a259"}, - {file = "mypy-1.8.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7178def594014aa6c35a8ff411cf37d682f428b3b5617ca79029d8ae72f5402b"}, - {file = "mypy-1.8.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ab3c84fa13c04aeeeabb2a7f67a25ef5d77ac9d6486ff33ded762ef353aa5592"}, - {file = "mypy-1.8.0-cp39-cp39-win_amd64.whl", hash = "sha256:99b00bc72855812a60d253420d8a2eae839b0afa4938f09f4d2aa9bb4654263a"}, - {file = "mypy-1.8.0-py3-none-any.whl", hash = "sha256:538fd81bb5e430cc1381a443971c0475582ff9f434c16cd46d2c66763ce85d9d"}, - {file = "mypy-1.8.0.tar.gz", hash = "sha256:6ff8b244d7085a0b425b56d327b480c3b29cafbd2eff27316a004f9a7391ae07"}, + {file = "mypy-1.9.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f8a67616990062232ee4c3952f41c779afac41405806042a8126fe96e098419f"}, + {file = "mypy-1.9.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d357423fa57a489e8c47b7c85dfb96698caba13d66e086b412298a1a0ea3b0ed"}, + {file = "mypy-1.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49c87c15aed320de9b438ae7b00c1ac91cd393c1b854c2ce538e2a72d55df150"}, + {file = "mypy-1.9.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:48533cdd345c3c2e5ef48ba3b0d3880b257b423e7995dada04248725c6f77374"}, + {file = "mypy-1.9.0-cp310-cp310-win_amd64.whl", hash = "sha256:4d3dbd346cfec7cb98e6cbb6e0f3c23618af826316188d587d1c1bc34f0ede03"}, + {file = "mypy-1.9.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:653265f9a2784db65bfca694d1edd23093ce49740b2244cde583aeb134c008f3"}, + {file = "mypy-1.9.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3a3c007ff3ee90f69cf0a15cbcdf0995749569b86b6d2f327af01fd1b8aee9dc"}, + {file = "mypy-1.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2418488264eb41f69cc64a69a745fad4a8f86649af4b1041a4c64ee61fc61129"}, + {file = "mypy-1.9.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:68edad3dc7d70f2f17ae4c6c1b9471a56138ca22722487eebacfd1eb5321d612"}, + {file = "mypy-1.9.0-cp311-cp311-win_amd64.whl", hash = "sha256:85ca5fcc24f0b4aeedc1d02f93707bccc04733f21d41c88334c5482219b1ccb3"}, + {file = "mypy-1.9.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:aceb1db093b04db5cd390821464504111b8ec3e351eb85afd1433490163d60cd"}, + {file = "mypy-1.9.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0235391f1c6f6ce487b23b9dbd1327b4ec33bb93934aa986efe8a9563d9349e6"}, + {file = "mypy-1.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d4d5ddc13421ba3e2e082a6c2d74c2ddb3979c39b582dacd53dd5d9431237185"}, + {file = "mypy-1.9.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:190da1ee69b427d7efa8aa0d5e5ccd67a4fb04038c380237a0d96829cb157913"}, + {file = "mypy-1.9.0-cp312-cp312-win_amd64.whl", hash = "sha256:fe28657de3bfec596bbeef01cb219833ad9d38dd5393fc649f4b366840baefe6"}, + {file = "mypy-1.9.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:e54396d70be04b34f31d2edf3362c1edd023246c82f1730bbf8768c28db5361b"}, + {file = "mypy-1.9.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5e6061f44f2313b94f920e91b204ec600982961e07a17e0f6cd83371cb23f5c2"}, + {file = "mypy-1.9.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:81a10926e5473c5fc3da8abb04119a1f5811a236dc3a38d92015cb1e6ba4cb9e"}, + {file = "mypy-1.9.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b685154e22e4e9199fc95f298661deea28aaede5ae16ccc8cbb1045e716b3e04"}, + {file = "mypy-1.9.0-cp38-cp38-win_amd64.whl", hash = "sha256:5d741d3fc7c4da608764073089e5f58ef6352bedc223ff58f2f038c2c4698a89"}, + {file = "mypy-1.9.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:587ce887f75dd9700252a3abbc9c97bbe165a4a630597845c61279cf32dfbf02"}, + {file = "mypy-1.9.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f88566144752999351725ac623471661c9d1cd8caa0134ff98cceeea181789f4"}, + {file = "mypy-1.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:61758fabd58ce4b0720ae1e2fea5cfd4431591d6d590b197775329264f86311d"}, + {file = "mypy-1.9.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:e49499be624dead83927e70c756970a0bc8240e9f769389cdf5714b0784ca6bf"}, + {file = "mypy-1.9.0-cp39-cp39-win_amd64.whl", hash = "sha256:571741dc4194b4f82d344b15e8837e8c5fcc462d66d076748142327626a1b6e9"}, + {file = "mypy-1.9.0-py3-none-any.whl", hash = "sha256:a260627a570559181a9ea5de61ac6297aa5af202f06fd7ab093ce74e7181e43e"}, + {file = "mypy-1.9.0.tar.gz", hash = "sha256:3cc5da0127e6a478cddd906068496a97a7618a21ce9b54bde5bf7e539c7af974"}, ] [package.dependencies] @@ -3261,13 +3231,13 @@ files = [ [[package]] name = "nbclient" -version = "0.9.0" +version = "0.10.0" description = "A client library for executing notebooks. Formerly nbconvert's ExecutePreprocessor." optional = false python-versions = ">=3.8.0" files = [ - {file = "nbclient-0.9.0-py3-none-any.whl", hash = "sha256:a3a1ddfb34d4a9d17fc744d655962714a866639acd30130e9be84191cd97cd15"}, - {file = "nbclient-0.9.0.tar.gz", hash = "sha256:4b28c207877cf33ef3a9838cdc7a54c5ceff981194a82eac59d558f05487295e"}, + {file = "nbclient-0.10.0-py3-none-any.whl", hash = "sha256:f13e3529332a1f1f81d82a53210322476a168bb7090a0289c795fe9cc11c9d3f"}, + {file = "nbclient-0.10.0.tar.gz", hash = "sha256:4b3f1b7dba531e498449c4db4f53da339c91d449dc11e9af3a43b4eb5c5abb09"}, ] [package.dependencies] @@ -3279,17 +3249,17 @@ traitlets = ">=5.4" [package.extras] dev = ["pre-commit"] docs = ["autodoc-traits", "mock", "moto", "myst-parser", "nbclient[test]", "sphinx (>=1.7)", "sphinx-book-theme", "sphinxcontrib-spelling"] -test = ["flaky", "ipykernel (>=6.19.3)", "ipython", "ipywidgets", "nbconvert (>=7.0.0)", "pytest (>=7.0)", "pytest-asyncio", "pytest-cov (>=4.0)", "testpath", "xmltodict"] +test = ["flaky", "ipykernel (>=6.19.3)", "ipython", "ipywidgets", "nbconvert (>=7.0.0)", "pytest (>=7.0,<8)", "pytest-asyncio", "pytest-cov (>=4.0)", "testpath", "xmltodict"] [[package]] name = "nbconvert" -version = "7.16.1" +version = "7.16.3" description = "Converting Jupyter Notebooks (.ipynb files) to other formats. Output formats include asciidoc, html, latex, markdown, pdf, py, rst, script. nbconvert can be used both as a Python library (`import nbconvert`) or as a command line tool (invoked as `jupyter nbconvert ...`)." optional = false python-versions = ">=3.8" files = [ - {file = "nbconvert-7.16.1-py3-none-any.whl", hash = "sha256:3188727dffadfdc9c6a1c7250729063d7bc78b355ad7aa023138afa030d1cd07"}, - {file = "nbconvert-7.16.1.tar.gz", hash = "sha256:e79e6a074f49ba3ed29428ed86487bf51509d9aab613bd8522ac08f6d28fd7fd"}, + {file = "nbconvert-7.16.3-py3-none-any.whl", hash = "sha256:ddeff14beeeedf3dd0bc506623e41e4507e551736de59df69a91f86700292b3b"}, + {file = "nbconvert-7.16.3.tar.gz", hash = "sha256:a6733b78ce3d47c3f85e504998495b07e6ea9cf9bf6ec1c98dda63ec6ad19142"}, ] [package.dependencies] @@ -3316,18 +3286,18 @@ docs = ["ipykernel", "ipython", "myst-parser", "nbsphinx (>=0.2.12)", "pydata-sp qtpdf = ["nbconvert[qtpng]"] qtpng = ["pyqtwebengine (>=5.15)"] serve = ["tornado (>=6.1)"] -test = ["flaky", "ipykernel", "ipywidgets (>=7.5)", "pytest"] +test = ["flaky", "ipykernel", "ipywidgets (>=7.5)", "pytest (>=7)"] webpdf = ["playwright"] [[package]] name = "nbformat" -version = "5.9.2" +version = "5.10.3" description = "The Jupyter Notebook format" optional = false python-versions = ">=3.8" files = [ - {file = "nbformat-5.9.2-py3-none-any.whl", hash = "sha256:1c5172d786a41b82bcfd0c23f9e6b6f072e8fb49c39250219e4acfff1efe89e9"}, - {file = "nbformat-5.9.2.tar.gz", hash = "sha256:5f98b5ba1997dff175e77e0c17d5c10a96eaed2cbd1de3533d1fc35d5e111192"}, + {file = "nbformat-5.10.3-py3-none-any.whl", hash = "sha256:d9476ca28676799af85385f409b49d95e199951477a159a576ef2a675151e5e8"}, + {file = "nbformat-5.10.3.tar.gz", hash = "sha256:60ed5e910ef7c6264b87d644f276b1b49e24011930deef54605188ddeb211685"}, ] [package.dependencies] @@ -3372,13 +3342,13 @@ files = [ [[package]] name = "notebook" -version = "7.1.1" +version = "7.1.2" description = "Jupyter Notebook - A web-based notebook environment for interactive computing" optional = false python-versions = ">=3.8" files = [ - {file = "notebook-7.1.1-py3-none-any.whl", hash = "sha256:197d8e0595acabf4005851c8716e952a81b405f7aefb648067a761fbde267ce7"}, - {file = "notebook-7.1.1.tar.gz", hash = "sha256:818e7420fa21f402e726afb9f02df7f3c10f294c02e383ed19852866c316108b"}, + {file = "notebook-7.1.2-py3-none-any.whl", hash = "sha256:fc6c24b9aef18d0cd57157c9c47e95833b9b0bdc599652639acf0bdb61dc7d5f"}, + {file = "notebook-7.1.2.tar.gz", hash = "sha256:efc2c80043909e0faa17fce9e9b37c059c03af0ec99a4d4db84cb21d9d2e936a"}, ] [package.dependencies] @@ -3902,17 +3872,17 @@ xmp = ["defusedxml"] [[package]] name = "pkginfo" -version = "1.9.6" +version = "1.10.0" description = "Query metadata from sdists / bdists / installed packages." optional = false python-versions = ">=3.6" files = [ - {file = "pkginfo-1.9.6-py3-none-any.whl", hash = "sha256:4b7a555a6d5a22169fcc9cf7bfd78d296b0361adad412a346c1226849af5e546"}, - {file = "pkginfo-1.9.6.tar.gz", hash = "sha256:8fd5896e8718a4372f0ea9cc9d96f6417c9b986e23a4d116dda26b62cc29d046"}, + {file = "pkginfo-1.10.0-py3-none-any.whl", hash = "sha256:889a6da2ed7ffc58ab5b900d888ddce90bce912f2d2de1dc1c26f4cb9fe65097"}, + {file = "pkginfo-1.10.0.tar.gz", hash = "sha256:5df73835398d10db79f8eecd5cd86b1f6d29317589ea70796994d49399af6297"}, ] [package.extras] -testing = ["pytest", "pytest-cov"] +testing = ["pytest", "pytest-cov", "wheel"] [[package]] name = "pkgutil-resolve-name" @@ -3976,13 +3946,13 @@ poetry-plugin = ["poetry (>=1.0,<2.0)"] [[package]] name = "poetry" -version = "1.8.1" +version = "1.8.2" description = "Python dependency management and packaging made easy." optional = false python-versions = ">=3.8,<4.0" files = [ - {file = "poetry-1.8.1-py3-none-any.whl", hash = "sha256:cf133946661025822672422769567980f8e489ed5b6fc170d1025a4d6c9aac29"}, - {file = "poetry-1.8.1.tar.gz", hash = "sha256:23519cc45eb3cf48e899145bc762425a141e3afd52ecc53ec443ca635122327f"}, + {file = "poetry-1.8.2-py3-none-any.whl", hash = "sha256:b42b400d9a803af6e788a30a6f3e9998020b77860e28df20647eb10b6f414910"}, + {file = "poetry-1.8.2.tar.gz", hash = "sha256:49cceb3838104647c3e1021f3a4f13c6053704cc18d33f849a90fe687a29cb73"}, ] [package.dependencies] @@ -4024,17 +3994,17 @@ files = [ [[package]] name = "poetry-plugin-export" -version = "1.6.0" +version = "1.7.1" description = "Poetry plugin to export the dependencies to various formats" optional = false python-versions = ">=3.8,<4.0" files = [ - {file = "poetry_plugin_export-1.6.0-py3-none-any.whl", hash = "sha256:2dce6204c9318f1f6509a11a03921fb3f461b201840b59f1c237b6ab454dabcf"}, - {file = "poetry_plugin_export-1.6.0.tar.gz", hash = "sha256:091939434984267a91abf2f916a26b00cff4eee8da63ec2a24ba4b17cf969a59"}, + {file = "poetry_plugin_export-1.7.1-py3-none-any.whl", hash = "sha256:b2258e53ae0d369a73806f957ed0e726eb95c571a0ce8b1f273da686528cc1da"}, + {file = "poetry_plugin_export-1.7.1.tar.gz", hash = "sha256:cf62cfb6218a904290ba6db3bc1a24aa076d10f81c48c6e48b2ded430131e22e"}, ] [package.dependencies] -poetry = ">=1.6.0,<2.0.0" +poetry = ">=1.8.0,<2.0.0" poetry-core = ">=1.7.0,<2.0.0" [[package]] @@ -4150,47 +4120,47 @@ files = [ [[package]] name = "pyarrow" -version = "15.0.0" +version = "15.0.2" description = "Python library for Apache Arrow" optional = false python-versions = ">=3.8" files = [ - {file = "pyarrow-15.0.0-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:0a524532fd6dd482edaa563b686d754c70417c2f72742a8c990b322d4c03a15d"}, - {file = "pyarrow-15.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:60a6bdb314affa9c2e0d5dddf3d9cbb9ef4a8dddaa68669975287d47ece67642"}, - {file = "pyarrow-15.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:66958fd1771a4d4b754cd385835e66a3ef6b12611e001d4e5edfcef5f30391e2"}, - {file = "pyarrow-15.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1f500956a49aadd907eaa21d4fff75f73954605eaa41f61cb94fb008cf2e00c6"}, - {file = "pyarrow-15.0.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:6f87d9c4f09e049c2cade559643424da84c43a35068f2a1c4653dc5b1408a929"}, - {file = "pyarrow-15.0.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:85239b9f93278e130d86c0e6bb455dcb66fc3fd891398b9d45ace8799a871a1e"}, - {file = "pyarrow-15.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:5b8d43e31ca16aa6e12402fcb1e14352d0d809de70edd185c7650fe80e0769e3"}, - {file = "pyarrow-15.0.0-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:fa7cd198280dbd0c988df525e50e35b5d16873e2cdae2aaaa6363cdb64e3eec5"}, - {file = "pyarrow-15.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8780b1a29d3c8b21ba6b191305a2a607de2e30dab399776ff0aa09131e266340"}, - {file = "pyarrow-15.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fe0ec198ccc680f6c92723fadcb97b74f07c45ff3fdec9dd765deb04955ccf19"}, - {file = "pyarrow-15.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:036a7209c235588c2f07477fe75c07e6caced9b7b61bb897c8d4e52c4b5f9555"}, - {file = "pyarrow-15.0.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:2bd8a0e5296797faf9a3294e9fa2dc67aa7f10ae2207920dbebb785c77e9dbe5"}, - {file = "pyarrow-15.0.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:e8ebed6053dbe76883a822d4e8da36860f479d55a762bd9e70d8494aed87113e"}, - {file = "pyarrow-15.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:17d53a9d1b2b5bd7d5e4cd84d018e2a45bc9baaa68f7e6e3ebed45649900ba99"}, - {file = "pyarrow-15.0.0-cp312-cp312-macosx_10_15_x86_64.whl", hash = "sha256:9950a9c9df24090d3d558b43b97753b8f5867fb8e521f29876aa021c52fda351"}, - {file = "pyarrow-15.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:003d680b5e422d0204e7287bb3fa775b332b3fce2996aa69e9adea23f5c8f970"}, - {file = "pyarrow-15.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f75fce89dad10c95f4bf590b765e3ae98bcc5ba9f6ce75adb828a334e26a3d40"}, - {file = "pyarrow-15.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ca9cb0039923bec49b4fe23803807e4ef39576a2bec59c32b11296464623dc2"}, - {file = "pyarrow-15.0.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:9ed5a78ed29d171d0acc26a305a4b7f83c122d54ff5270810ac23c75813585e4"}, - {file = "pyarrow-15.0.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:6eda9e117f0402dfcd3cd6ec9bfee89ac5071c48fc83a84f3075b60efa96747f"}, - {file = "pyarrow-15.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:9a3a6180c0e8f2727e6f1b1c87c72d3254cac909e609f35f22532e4115461177"}, - {file = "pyarrow-15.0.0-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:19a8918045993349b207de72d4576af0191beef03ea655d8bdb13762f0cd6eac"}, - {file = "pyarrow-15.0.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:d0ec076b32bacb6666e8813a22e6e5a7ef1314c8069d4ff345efa6246bc38593"}, - {file = "pyarrow-15.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5db1769e5d0a77eb92344c7382d6543bea1164cca3704f84aa44e26c67e320fb"}, - {file = "pyarrow-15.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e2617e3bf9df2a00020dd1c1c6dce5cc343d979efe10bc401c0632b0eef6ef5b"}, - {file = "pyarrow-15.0.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:d31c1d45060180131caf10f0f698e3a782db333a422038bf7fe01dace18b3a31"}, - {file = "pyarrow-15.0.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:c8c287d1d479de8269398b34282e206844abb3208224dbdd7166d580804674b7"}, - {file = "pyarrow-15.0.0-cp38-cp38-win_amd64.whl", hash = "sha256:07eb7f07dc9ecbb8dace0f58f009d3a29ee58682fcdc91337dfeb51ea618a75b"}, - {file = "pyarrow-15.0.0-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:47af7036f64fce990bb8a5948c04722e4e3ea3e13b1007ef52dfe0aa8f23cf7f"}, - {file = "pyarrow-15.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:93768ccfff85cf044c418bfeeafce9a8bb0cee091bd8fd19011aff91e58de540"}, - {file = "pyarrow-15.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f6ee87fd6892700960d90abb7b17a72a5abb3b64ee0fe8db6c782bcc2d0dc0b4"}, - {file = "pyarrow-15.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:001fca027738c5f6be0b7a3159cc7ba16a5c52486db18160909a0831b063c4e4"}, - {file = "pyarrow-15.0.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:d1c48648f64aec09accf44140dccb92f4f94394b8d79976c426a5b79b11d4fa7"}, - {file = "pyarrow-15.0.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:972a0141be402bb18e3201448c8ae62958c9c7923dfaa3b3d4530c835ac81aed"}, - {file = "pyarrow-15.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:f01fc5cf49081426429127aa2d427d9d98e1cb94a32cb961d583a70b7c4504e6"}, - {file = "pyarrow-15.0.0.tar.gz", hash = "sha256:876858f549d540898f927eba4ef77cd549ad8d24baa3207cf1b72e5788b50e83"}, + {file = "pyarrow-15.0.2-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:88b340f0a1d05b5ccc3d2d986279045655b1fe8e41aba6ca44ea28da0d1455d8"}, + {file = "pyarrow-15.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:eaa8f96cecf32da508e6c7f69bb8401f03745c050c1dd42ec2596f2e98deecac"}, + {file = "pyarrow-15.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:23c6753ed4f6adb8461e7c383e418391b8d8453c5d67e17f416c3a5d5709afbd"}, + {file = "pyarrow-15.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f639c059035011db8c0497e541a8a45d98a58dbe34dc8fadd0ef128f2cee46e5"}, + {file = "pyarrow-15.0.2-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:290e36a59a0993e9a5224ed2fb3e53375770f07379a0ea03ee2fce2e6d30b423"}, + {file = "pyarrow-15.0.2-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:06c2bb2a98bc792f040bef31ad3e9be6a63d0cb39189227c08a7d955db96816e"}, + {file = "pyarrow-15.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:f7a197f3670606a960ddc12adbe8075cea5f707ad7bf0dffa09637fdbb89f76c"}, + {file = "pyarrow-15.0.2-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:5f8bc839ea36b1f99984c78e06e7a06054693dc2af8920f6fb416b5bca9944e4"}, + {file = "pyarrow-15.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f5e81dfb4e519baa6b4c80410421528c214427e77ca0ea9461eb4097c328fa33"}, + {file = "pyarrow-15.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3a4f240852b302a7af4646c8bfe9950c4691a419847001178662a98915fd7ee7"}, + {file = "pyarrow-15.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e7d9cfb5a1e648e172428c7a42b744610956f3b70f524aa3a6c02a448ba853e"}, + {file = "pyarrow-15.0.2-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:2d4f905209de70c0eb5b2de6763104d5a9a37430f137678edfb9a675bac9cd98"}, + {file = "pyarrow-15.0.2-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:90adb99e8ce5f36fbecbbc422e7dcbcbed07d985eed6062e459e23f9e71fd197"}, + {file = "pyarrow-15.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:b116e7fd7889294cbd24eb90cd9bdd3850be3738d61297855a71ac3b8124ee38"}, + {file = "pyarrow-15.0.2-cp312-cp312-macosx_10_15_x86_64.whl", hash = "sha256:25335e6f1f07fdaa026a61c758ee7d19ce824a866b27bba744348fa73bb5a440"}, + {file = "pyarrow-15.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:90f19e976d9c3d8e73c80be84ddbe2f830b6304e4c576349d9360e335cd627fc"}, + {file = "pyarrow-15.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a22366249bf5fd40ddacc4f03cd3160f2d7c247692945afb1899bab8a140ddfb"}, + {file = "pyarrow-15.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c2a335198f886b07e4b5ea16d08ee06557e07db54a8400cc0d03c7f6a22f785f"}, + {file = "pyarrow-15.0.2-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:3e6d459c0c22f0b9c810a3917a1de3ee704b021a5fb8b3bacf968eece6df098f"}, + {file = "pyarrow-15.0.2-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:033b7cad32198754d93465dcfb71d0ba7cb7cd5c9afd7052cab7214676eec38b"}, + {file = "pyarrow-15.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:29850d050379d6e8b5a693098f4de7fd6a2bea4365bfd073d7c57c57b95041ee"}, + {file = "pyarrow-15.0.2-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:7167107d7fb6dcadb375b4b691b7e316f4368f39f6f45405a05535d7ad5e5058"}, + {file = "pyarrow-15.0.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:e85241b44cc3d365ef950432a1b3bd44ac54626f37b2e3a0cc89c20e45dfd8bf"}, + {file = "pyarrow-15.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:248723e4ed3255fcd73edcecc209744d58a9ca852e4cf3d2577811b6d4b59818"}, + {file = "pyarrow-15.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ff3bdfe6f1b81ca5b73b70a8d482d37a766433823e0c21e22d1d7dde76ca33f"}, + {file = "pyarrow-15.0.2-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:f3d77463dee7e9f284ef42d341689b459a63ff2e75cee2b9302058d0d98fe142"}, + {file = "pyarrow-15.0.2-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:8c1faf2482fb89766e79745670cbca04e7018497d85be9242d5350cba21357e1"}, + {file = "pyarrow-15.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:28f3016958a8e45a1069303a4a4f6a7d4910643fc08adb1e2e4a7ff056272ad3"}, + {file = "pyarrow-15.0.2-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:89722cb64286ab3d4daf168386f6968c126057b8c7ec3ef96302e81d8cdb8ae4"}, + {file = "pyarrow-15.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:cd0ba387705044b3ac77b1b317165c0498299b08261d8122c96051024f953cd5"}, + {file = "pyarrow-15.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ad2459bf1f22b6a5cdcc27ebfd99307d5526b62d217b984b9f5c974651398832"}, + {file = "pyarrow-15.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:58922e4bfece8b02abf7159f1f53a8f4d9f8e08f2d988109126c17c3bb261f22"}, + {file = "pyarrow-15.0.2-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:adccc81d3dc0478ea0b498807b39a8d41628fa9210729b2f718b78cb997c7c91"}, + {file = "pyarrow-15.0.2-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:8bd2baa5fe531571847983f36a30ddbf65261ef23e496862ece83bdceb70420d"}, + {file = "pyarrow-15.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:6669799a1d4ca9da9c7e06ef48368320f5856f36f9a4dd31a11839dda3f6cc8c"}, + {file = "pyarrow-15.0.2.tar.gz", hash = "sha256:9c9bc803cb3b7bfacc1e96ffbfd923601065d9d3f911179d81e72d99fd74a3d9"}, ] [package.dependencies] @@ -4198,13 +4168,13 @@ numpy = ">=1.16.6,<2" [[package]] name = "pyasn1" -version = "0.5.1" +version = "0.6.0" description = "Pure-Python implementation of ASN.1 types and DER/BER/CER codecs (X.208)" optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" +python-versions = ">=3.8" files = [ - {file = "pyasn1-0.5.1-py2.py3-none-any.whl", hash = "sha256:4439847c58d40b1d0a573d07e3856e95333f1976294494c325775aeca506eb58"}, - {file = "pyasn1-0.5.1.tar.gz", hash = "sha256:6d391a96e59b23130a5cfa74d6fd7f388dbbe26cc8f1edf39fdddf08d9d6676c"}, + {file = "pyasn1-0.6.0-py2.py3-none-any.whl", hash = "sha256:cca4bb0f2df5504f02f6f8a775b6e416ff9b0b3b16f7ee80b5a3153d9b804473"}, + {file = "pyasn1-0.6.0.tar.gz", hash = "sha256:3a35ab2c4b5ef98e17dfdec8ab074046fbda76e281c5a706ccd82328cfc8f64c"}, ] [[package]] @@ -4231,13 +4201,13 @@ files = [ [[package]] name = "pydantic" -version = "2.6.3" +version = "2.6.4" description = "Data validation using Python type hints" optional = false python-versions = ">=3.8" files = [ - {file = "pydantic-2.6.3-py3-none-any.whl", hash = "sha256:72c6034df47f46ccdf81869fddb81aade68056003900a8724a4f160700016a2a"}, - {file = "pydantic-2.6.3.tar.gz", hash = "sha256:e07805c4c7f5c6826e33a1d4c9d47950d7eaf34868e2690f8594d2e30241f11f"}, + {file = "pydantic-2.6.4-py3-none-any.whl", hash = "sha256:cc46fce86607580867bdc3361ad462bab9c222ef042d3da86f2fb333e1d916c5"}, + {file = "pydantic-2.6.4.tar.gz", hash = "sha256:b1704e0847db01817624a6b86766967f552dd9dbf3afba4004409f908dcc84e6"}, ] [package.dependencies] @@ -4567,13 +4537,13 @@ watchdog = ["watchdog"] [[package]] name = "pytest" -version = "8.0.2" +version = "8.1.1" description = "pytest: simple powerful testing with Python" optional = false python-versions = ">=3.8" files = [ - {file = "pytest-8.0.2-py3-none-any.whl", hash = "sha256:edfaaef32ce5172d5466b5127b42e0d6d35ebbe4453f0e3505d96afd93f6b096"}, - {file = "pytest-8.0.2.tar.gz", hash = "sha256:d4051d623a2e0b7e51960ba963193b09ce6daeb9759a451844a21e4ddedfc1bd"}, + {file = "pytest-8.1.1-py3-none-any.whl", hash = "sha256:2a8386cfc11fa9d2c50ee7b2a57e7d898ef90470a7a34c4b949ff59662bb78b7"}, + {file = "pytest-8.1.1.tar.gz", hash = "sha256:ac978141a75948948817d360297b7aae0fcb9d6ff6bc9ec6d514b85d5a65c044"}, ] [package.dependencies] @@ -4581,21 +4551,21 @@ colorama = {version = "*", markers = "sys_platform == \"win32\""} exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} iniconfig = "*" packaging = "*" -pluggy = ">=1.3.0,<2.0" -tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""} +pluggy = ">=1.4,<2.0" +tomli = {version = ">=1", markers = "python_version < \"3.11\""} [package.extras] -testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] +testing = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] [[package]] name = "pytest-asyncio" -version = "0.23.5" +version = "0.23.6" description = "Pytest support for asyncio" optional = false python-versions = ">=3.8" files = [ - {file = "pytest-asyncio-0.23.5.tar.gz", hash = "sha256:3a048872a9c4ba14c3e90cc1aa20cbc2def7d01c7c8db3777ec281ba9c057675"}, - {file = "pytest_asyncio-0.23.5-py3-none-any.whl", hash = "sha256:4e7093259ba018d58ede7d5315131d21923a60f8a6e9ee266ce1589685c89eac"}, + {file = "pytest-asyncio-0.23.6.tar.gz", hash = "sha256:ffe523a89c1c222598c76856e76852b787504ddb72dd5d9b6617ffa8aa2cde5f"}, + {file = "pytest_asyncio-0.23.6-py3-none-any.whl", hash = "sha256:68516fdd1018ac57b846c9846b954f0393b26f094764a28c955eabb0536a4e8a"}, ] [package.dependencies] @@ -4607,13 +4577,13 @@ testing = ["coverage (>=6.2)", "hypothesis (>=5.7.1)"] [[package]] name = "pytest-cov" -version = "4.1.0" +version = "5.0.0" description = "Pytest plugin for measuring coverage." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "pytest-cov-4.1.0.tar.gz", hash = "sha256:3904b13dfbfec47f003b8e77fd5b589cd11904a21ddf1ab38a64f204d6a10ef6"}, - {file = "pytest_cov-4.1.0-py3-none-any.whl", hash = "sha256:6ba70b9e97e69fcc3fb45bfeab2d0a138fb65c4d0d6a41ef33983ad114be8c3a"}, + {file = "pytest-cov-5.0.0.tar.gz", hash = "sha256:5837b58e9f6ebd335b0f8060eecce69b662415b16dc503883a02f45dfeb14857"}, + {file = "pytest_cov-5.0.0-py3-none-any.whl", hash = "sha256:4f0764a1219df53214206bf1feea4633c3b558a2925c8b59f144f682861ce652"}, ] [package.dependencies] @@ -4621,7 +4591,7 @@ coverage = {version = ">=5.2.1", extras = ["toml"]} pytest = ">=4.6" [package.extras] -testing = ["fields", "hunter", "process-tests", "pytest-xdist", "six", "virtualenv"] +testing = ["fields", "hunter", "process-tests", "pytest-xdist", "virtualenv"] [[package]] name = "pytest-fixture-config" @@ -4685,13 +4655,13 @@ tests = ["mock"] [[package]] name = "python-dateutil" -version = "2.8.2" +version = "2.9.0.post0" description = "Extensions to the standard Python datetime module" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" files = [ - {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, - {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, + {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, + {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, ] [package.dependencies] @@ -4724,13 +4694,13 @@ files = [ [[package]] name = "python-on-whales" -version = "0.69.0" +version = "0.70.1" description = "A Docker client for Python, designed to be fun and intuitive!" optional = false python-versions = "<4,>=3.8" files = [ - {file = "python-on-whales-0.69.0.tar.gz", hash = "sha256:86bef044568e6abd381e63731e03a6536709be129c5934020da403b99f489b5e"}, - {file = "python_on_whales-0.69.0-py3-none-any.whl", hash = "sha256:73cf63377fbcbfee1f4a5e58148a1a0293f2ba153c2b862b830d0d9fedd5e223"}, + {file = "python-on-whales-0.70.1.tar.gz", hash = "sha256:1e7ac35cd16afaad8d23f01be860cb3ff906ee81816d032a327d4d07da1f9341"}, + {file = "python_on_whales-0.70.1-py3-none-any.whl", hash = "sha256:3cecd833359d90fd564cadf7f5e3c88209f8baf998316e0731f3d375d17af2f2"}, ] [package.dependencies] @@ -4828,6 +4798,7 @@ files = [ {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"}, {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"}, + {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef"}, {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"}, {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"}, {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"}, @@ -5011,101 +4982,101 @@ test = ["pytest (>=6,!=7.0.0,!=7.0.1)", "pytest-cov (>=3.0.0)", "pytest-qt"] [[package]] name = "rapidfuzz" -version = "3.6.1" +version = "3.7.0" description = "rapid fuzzy string matching" optional = false python-versions = ">=3.8" files = [ - {file = "rapidfuzz-3.6.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ac434fc71edda30d45db4a92ba5e7a42c7405e1a54cb4ec01d03cc668c6dcd40"}, - {file = "rapidfuzz-3.6.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2a791168e119cfddf4b5a40470620c872812042f0621e6a293983a2d52372db0"}, - {file = "rapidfuzz-3.6.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5a2f3e9df346145c2be94e4d9eeffb82fab0cbfee85bd4a06810e834fe7c03fa"}, - {file = "rapidfuzz-3.6.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:23de71e7f05518b0bbeef55d67b5dbce3bcd3e2c81e7e533051a2e9401354eb0"}, - {file = "rapidfuzz-3.6.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d056e342989248d2bdd67f1955bb7c3b0ecfa239d8f67a8dfe6477b30872c607"}, - {file = "rapidfuzz-3.6.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:01835d02acd5d95c1071e1da1bb27fe213c84a013b899aba96380ca9962364bc"}, - {file = "rapidfuzz-3.6.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ed0f712e0bb5fea327e92aec8a937afd07ba8de4c529735d82e4c4124c10d5a0"}, - {file = "rapidfuzz-3.6.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96cd19934f76a1264e8ecfed9d9f5291fde04ecb667faef5f33bdbfd95fe2d1f"}, - {file = "rapidfuzz-3.6.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e06c4242a1354cf9d48ee01f6f4e6e19c511d50bb1e8d7d20bcadbb83a2aea90"}, - {file = "rapidfuzz-3.6.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:d73dcfe789d37c6c8b108bf1e203e027714a239e50ad55572ced3c004424ed3b"}, - {file = "rapidfuzz-3.6.1-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:06e98ff000e2619e7cfe552d086815671ed09b6899408c2c1b5103658261f6f3"}, - {file = "rapidfuzz-3.6.1-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:08b6fb47dd889c69fbc0b915d782aaed43e025df6979b6b7f92084ba55edd526"}, - {file = "rapidfuzz-3.6.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a1788ebb5f5b655a15777e654ea433d198f593230277e74d51a2a1e29a986283"}, - {file = "rapidfuzz-3.6.1-cp310-cp310-win32.whl", hash = "sha256:c65f92881753aa1098c77818e2b04a95048f30edbe9c3094dc3707d67df4598b"}, - {file = "rapidfuzz-3.6.1-cp310-cp310-win_amd64.whl", hash = "sha256:4243a9c35667a349788461aae6471efde8d8800175b7db5148a6ab929628047f"}, - {file = "rapidfuzz-3.6.1-cp310-cp310-win_arm64.whl", hash = "sha256:f59d19078cc332dbdf3b7b210852ba1f5db8c0a2cd8cc4c0ed84cc00c76e6802"}, - {file = "rapidfuzz-3.6.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:fbc07e2e4ac696497c5f66ec35c21ddab3fc7a406640bffed64c26ab2f7ce6d6"}, - {file = "rapidfuzz-3.6.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:40cced1a8852652813f30fb5d4b8f9b237112a0bbaeebb0f4cc3611502556764"}, - {file = "rapidfuzz-3.6.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:82300e5f8945d601c2daaaac139d5524d7c1fdf719aa799a9439927739917460"}, - {file = "rapidfuzz-3.6.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:edf97c321fd641fea2793abce0e48fa4f91f3c202092672f8b5b4e781960b891"}, - {file = "rapidfuzz-3.6.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7420e801b00dee4a344ae2ee10e837d603461eb180e41d063699fb7efe08faf0"}, - {file = "rapidfuzz-3.6.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:060bd7277dc794279fa95522af355034a29c90b42adcb7aa1da358fc839cdb11"}, - {file = "rapidfuzz-3.6.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7e3375e4f2bfec77f907680328e4cd16cc64e137c84b1886d547ab340ba6928"}, - {file = "rapidfuzz-3.6.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a490cd645ef9d8524090551016f05f052e416c8adb2d8b85d35c9baa9d0428ab"}, - {file = "rapidfuzz-3.6.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:2e03038bfa66d2d7cffa05d81c2f18fd6acbb25e7e3c068d52bb7469e07ff382"}, - {file = "rapidfuzz-3.6.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:2b19795b26b979c845dba407fe79d66975d520947b74a8ab6cee1d22686f7967"}, - {file = "rapidfuzz-3.6.1-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:064c1d66c40b3a0f488db1f319a6e75616b2e5fe5430a59f93a9a5e40a656d15"}, - {file = "rapidfuzz-3.6.1-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:3c772d04fb0ebeece3109d91f6122b1503023086a9591a0b63d6ee7326bd73d9"}, - {file = "rapidfuzz-3.6.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:841eafba6913c4dfd53045835545ba01a41e9644e60920c65b89c8f7e60c00a9"}, - {file = "rapidfuzz-3.6.1-cp311-cp311-win32.whl", hash = "sha256:266dd630f12696ea7119f31d8b8e4959ef45ee2cbedae54417d71ae6f47b9848"}, - {file = "rapidfuzz-3.6.1-cp311-cp311-win_amd64.whl", hash = "sha256:d79aec8aeee02ab55d0ddb33cea3ecd7b69813a48e423c966a26d7aab025cdfe"}, - {file = "rapidfuzz-3.6.1-cp311-cp311-win_arm64.whl", hash = "sha256:484759b5dbc5559e76fefaa9170147d1254468f555fd9649aea3bad46162a88b"}, - {file = "rapidfuzz-3.6.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:b2ef4c0fd3256e357b70591ffb9e8ed1d439fb1f481ba03016e751a55261d7c1"}, - {file = "rapidfuzz-3.6.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:588c4b20fa2fae79d60a4e438cf7133d6773915df3cc0a7f1351da19eb90f720"}, - {file = "rapidfuzz-3.6.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7142ee354e9c06e29a2636b9bbcb592bb00600a88f02aa5e70e4f230347b373e"}, - {file = "rapidfuzz-3.6.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1dfc557c0454ad22382373ec1b7df530b4bbd974335efe97a04caec936f2956a"}, - {file = "rapidfuzz-3.6.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:03f73b381bdeccb331a12c3c60f1e41943931461cdb52987f2ecf46bfc22f50d"}, - {file = "rapidfuzz-3.6.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6b0ccc2ec1781c7e5370d96aef0573dd1f97335343e4982bdb3a44c133e27786"}, - {file = "rapidfuzz-3.6.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:da3e8c9f7e64bb17faefda085ff6862ecb3ad8b79b0f618a6cf4452028aa2222"}, - {file = "rapidfuzz-3.6.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fde9b14302a31af7bdafbf5cfbb100201ba21519be2b9dedcf4f1048e4fbe65d"}, - {file = "rapidfuzz-3.6.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:c1a23eee225dfb21c07f25c9fcf23eb055d0056b48e740fe241cbb4b22284379"}, - {file = "rapidfuzz-3.6.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:e49b9575d16c56c696bc7b06a06bf0c3d4ef01e89137b3ddd4e2ce709af9fe06"}, - {file = "rapidfuzz-3.6.1-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:0a9fc714b8c290261669f22808913aad49553b686115ad0ee999d1cb3df0cd66"}, - {file = "rapidfuzz-3.6.1-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:a3ee4f8f076aa92184e80308fc1a079ac356b99c39408fa422bbd00145be9854"}, - {file = "rapidfuzz-3.6.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:f056ba42fd2f32e06b2c2ba2443594873cfccc0c90c8b6327904fc2ddf6d5799"}, - {file = "rapidfuzz-3.6.1-cp312-cp312-win32.whl", hash = "sha256:5d82b9651e3d34b23e4e8e201ecd3477c2baa17b638979deeabbb585bcb8ba74"}, - {file = "rapidfuzz-3.6.1-cp312-cp312-win_amd64.whl", hash = "sha256:dad55a514868dae4543ca48c4e1fc0fac704ead038dafedf8f1fc0cc263746c1"}, - {file = "rapidfuzz-3.6.1-cp312-cp312-win_arm64.whl", hash = "sha256:3c84294f4470fcabd7830795d754d808133329e0a81d62fcc2e65886164be83b"}, - {file = "rapidfuzz-3.6.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e19d519386e9db4a5335a4b29f25b8183a1c3f78cecb4c9c3112e7f86470e37f"}, - {file = "rapidfuzz-3.6.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:01eb03cd880a294d1bf1a583fdd00b87169b9cc9c9f52587411506658c864d73"}, - {file = "rapidfuzz-3.6.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:be368573255f8fbb0125a78330a1a40c65e9ba3c5ad129a426ff4289099bfb41"}, - {file = "rapidfuzz-3.6.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b3e5af946f419c30f5cb98b69d40997fe8580efe78fc83c2f0f25b60d0e56efb"}, - {file = "rapidfuzz-3.6.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f382f7ffe384ce34345e1c0b2065451267d3453cadde78946fbd99a59f0cc23c"}, - {file = "rapidfuzz-3.6.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:be156f51f3a4f369e758505ed4ae64ea88900dcb2f89d5aabb5752676d3f3d7e"}, - {file = "rapidfuzz-3.6.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1936d134b6c513fbe934aeb668b0fee1ffd4729a3c9d8d373f3e404fbb0ce8a0"}, - {file = "rapidfuzz-3.6.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:12ff8eaf4a9399eb2bebd838f16e2d1ded0955230283b07376d68947bbc2d33d"}, - {file = "rapidfuzz-3.6.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:ae598a172e3a95df3383634589660d6b170cc1336fe7578115c584a99e0ba64d"}, - {file = "rapidfuzz-3.6.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:cd4ba4c18b149da11e7f1b3584813159f189dc20833709de5f3df8b1342a9759"}, - {file = "rapidfuzz-3.6.1-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:0402f1629e91a4b2e4aee68043a30191e5e1b7cd2aa8dacf50b1a1bcf6b7d3ab"}, - {file = "rapidfuzz-3.6.1-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:1e12319c6b304cd4c32d5db00b7a1e36bdc66179c44c5707f6faa5a889a317c0"}, - {file = "rapidfuzz-3.6.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:0bbfae35ce4de4c574b386c43c78a0be176eeddfdae148cb2136f4605bebab89"}, - {file = "rapidfuzz-3.6.1-cp38-cp38-win32.whl", hash = "sha256:7fec74c234d3097612ea80f2a80c60720eec34947066d33d34dc07a3092e8105"}, - {file = "rapidfuzz-3.6.1-cp38-cp38-win_amd64.whl", hash = "sha256:a553cc1a80d97459d587529cc43a4c7c5ecf835f572b671107692fe9eddf3e24"}, - {file = "rapidfuzz-3.6.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:757dfd7392ec6346bd004f8826afb3bf01d18a723c97cbe9958c733ab1a51791"}, - {file = "rapidfuzz-3.6.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2963f4a3f763870a16ee076796be31a4a0958fbae133dbc43fc55c3968564cf5"}, - {file = "rapidfuzz-3.6.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d2f0274595cc5b2b929c80d4e71b35041104b577e118cf789b3fe0a77b37a4c5"}, - {file = "rapidfuzz-3.6.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f211e366e026de110a4246801d43a907cd1a10948082f47e8a4e6da76fef52"}, - {file = "rapidfuzz-3.6.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a59472b43879012b90989603aa5a6937a869a72723b1bf2ff1a0d1edee2cc8e6"}, - {file = "rapidfuzz-3.6.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a03863714fa6936f90caa7b4b50ea59ea32bb498cc91f74dc25485b3f8fccfe9"}, - {file = "rapidfuzz-3.6.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5dd95b6b7bfb1584f806db89e1e0c8dbb9d25a30a4683880c195cc7f197eaf0c"}, - {file = "rapidfuzz-3.6.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7183157edf0c982c0b8592686535c8b3e107f13904b36d85219c77be5cefd0d8"}, - {file = "rapidfuzz-3.6.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ad9d74ef7c619b5b0577e909582a1928d93e07d271af18ba43e428dc3512c2a1"}, - {file = "rapidfuzz-3.6.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:b53137d81e770c82189e07a8f32722d9e4260f13a0aec9914029206ead38cac3"}, - {file = "rapidfuzz-3.6.1-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:49b9ed2472394d306d5dc967a7de48b0aab599016aa4477127b20c2ed982dbf9"}, - {file = "rapidfuzz-3.6.1-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:dec307b57ec2d5054d77d03ee4f654afcd2c18aee00c48014cb70bfed79597d6"}, - {file = "rapidfuzz-3.6.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:4381023fa1ff32fd5076f5d8321249a9aa62128eb3f21d7ee6a55373e672b261"}, - {file = "rapidfuzz-3.6.1-cp39-cp39-win32.whl", hash = "sha256:8d7a072f10ee57c8413c8ab9593086d42aaff6ee65df4aa6663eecdb7c398dca"}, - {file = "rapidfuzz-3.6.1-cp39-cp39-win_amd64.whl", hash = "sha256:ebcfb5bfd0a733514352cfc94224faad8791e576a80ffe2fd40b2177bf0e7198"}, - {file = "rapidfuzz-3.6.1-cp39-cp39-win_arm64.whl", hash = "sha256:1c47d592e447738744905c18dda47ed155620204714e6df20eb1941bb1ba315e"}, - {file = "rapidfuzz-3.6.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:eef8b346ab331bec12bbc83ac75641249e6167fab3d84d8f5ca37fd8e6c7a08c"}, - {file = "rapidfuzz-3.6.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:53251e256017e2b87f7000aee0353ba42392c442ae0bafd0f6b948593d3f68c6"}, - {file = "rapidfuzz-3.6.1-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6dede83a6b903e3ebcd7e8137e7ff46907ce9316e9d7e7f917d7e7cdc570ee05"}, - {file = "rapidfuzz-3.6.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8e4da90e4c2b444d0a171d7444ea10152e07e95972bb40b834a13bdd6de1110c"}, - {file = "rapidfuzz-3.6.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:ca3dfcf74f2b6962f411c33dd95b0adf3901266e770da6281bc96bb5a8b20de9"}, - {file = "rapidfuzz-3.6.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:bcc957c0a8bde8007f1a8a413a632a1a409890f31f73fe764ef4eac55f59ca87"}, - {file = "rapidfuzz-3.6.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:692c9a50bea7a8537442834f9bc6b7d29d8729a5b6379df17c31b6ab4df948c2"}, - {file = "rapidfuzz-3.6.1-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:76c23ceaea27e790ddd35ef88b84cf9d721806ca366199a76fd47cfc0457a81b"}, - {file = "rapidfuzz-3.6.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b155e67fff215c09f130555002e42f7517d0ea72cbd58050abb83cb7c880cec"}, - {file = "rapidfuzz-3.6.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:3028ee8ecc48250607fa8a0adce37b56275ec3b1acaccd84aee1f68487c8557b"}, - {file = "rapidfuzz-3.6.1.tar.gz", hash = "sha256:35660bee3ce1204872574fa041c7ad7ec5175b3053a4cb6e181463fc07013de7"}, + {file = "rapidfuzz-3.7.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:860f438238f1807532aa5c5c25e74c284232ccc115fe84697b78e25d48f364f7"}, + {file = "rapidfuzz-3.7.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4bb9285abeb0477cdb2f8ea0cf7fd4b5f72ed5a9a7d3f0c0bb4a5239db2fc1ed"}, + {file = "rapidfuzz-3.7.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:08671280e0c04d2bb3f39511f13cae5914e6690036fd1eefc3d47a47f9fae634"}, + {file = "rapidfuzz-3.7.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:04bae4d9c16ce1bab6447d196fb8258d98139ed8f9b288a38b84887985e4227b"}, + {file = "rapidfuzz-3.7.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1efa2268b51b68156fb84d18ca1720311698a58051c4a19c40d670057ce60519"}, + {file = "rapidfuzz-3.7.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:600b4d4315f33ec0356c0dab3991a5d5761102420bcff29e0773706aa48936e8"}, + {file = "rapidfuzz-3.7.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:18bc2f13c73d5d34499ff6ada55b052c445d3aa64d22c2639e5ab45472568046"}, + {file = "rapidfuzz-3.7.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8e11c5e6593be41a555475c9c20320342c1f5585d635a064924956944c465ad4"}, + {file = "rapidfuzz-3.7.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d7878025248b99ccca3285891899373f98548f2ca13835d83619ffc42241c626"}, + {file = "rapidfuzz-3.7.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:b4a7e37fe136022d944374fcd8a2f72b8a19f7b648d2cdfb946667e9ede97f9f"}, + {file = "rapidfuzz-3.7.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:b5881856f830351aaabd869151124f64a80bf61560546d9588a630a4e933a5de"}, + {file = "rapidfuzz-3.7.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:c788b11565cc176fab8fab6dfcd469031e906927db94bf7e422afd8ef8f88a5a"}, + {file = "rapidfuzz-3.7.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:9e17a3092e74025d896ef1d67ac236c83494da37a78ef84c712e4e2273c115f1"}, + {file = "rapidfuzz-3.7.0-cp310-cp310-win32.whl", hash = "sha256:e499c823206c9ffd9d89aa11f813a4babdb9219417d4efe4c8a6f8272da00e98"}, + {file = "rapidfuzz-3.7.0-cp310-cp310-win_amd64.whl", hash = "sha256:91f798cc00cd94a0def43e9befc6e867c9bd8fa8f882d1eaa40042f528b7e2c7"}, + {file = "rapidfuzz-3.7.0-cp310-cp310-win_arm64.whl", hash = "sha256:d5a3872f35bec89f07b993fa1c5401d11b9e68bcdc1b9737494e279308a38a5f"}, + {file = "rapidfuzz-3.7.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ef6b6ab64c4c91c57a6b58e1d690b59453bfa1f1e9757a7e52e59b4079e36631"}, + {file = "rapidfuzz-3.7.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2f9070b42c0ba030b045bba16a35bdb498a0d6acb0bdb3ff4e325960e685e290"}, + {file = "rapidfuzz-3.7.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:63044c63565f50818d885bfcd40ac369947da4197de56b4d6c26408989d48edf"}, + {file = "rapidfuzz-3.7.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:49b0c47860c733a3d73a4b70b97b35c8cbf24ef24f8743732f0d1c412a8c85de"}, + {file = "rapidfuzz-3.7.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d1b14489b038f007f425a06fcf28ac6313c02cb603b54e3a28d9cfae82198cc0"}, + {file = "rapidfuzz-3.7.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:be08f39e397a618aab907887465d7fabc2d1a4d15d1a67cb8b526a7fb5202a3e"}, + {file = "rapidfuzz-3.7.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:16895dc62a7b92028f9c8b6d22830f1cbc77306ee794f461afc6028e1a8d7539"}, + {file = "rapidfuzz-3.7.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:579cce49dfa57ffd8c8227b3fb53cced54b4df70cec502e63e9799b4d1f44004"}, + {file = "rapidfuzz-3.7.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:40998c8dc35fdd221790b8b5134a8d7499adbfab9a5dd9ec626c7e92e17a43ed"}, + {file = "rapidfuzz-3.7.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:dc3fdb4738a6b83ae27f1d8923b00d3a9c2b5c50da75b9f8b81841839c6e3e1f"}, + {file = "rapidfuzz-3.7.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:92b8146fbfb37ac358ef7e0f6b79619e4f793fbbe894b99ea87920f9c0a9d77d"}, + {file = "rapidfuzz-3.7.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:1dfceaa7c2914585bb8a043265c39ec09078f13fbf53b5525722fc074306b6fa"}, + {file = "rapidfuzz-3.7.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:f332d61f51b0b9c8b55a0fb052b4764b6ad599ea8ce948ac47a4388e9083c35e"}, + {file = "rapidfuzz-3.7.0-cp311-cp311-win32.whl", hash = "sha256:dfd1e4819f1f3c47141f86159b44b7360ecb19bf675080b3b40437bf97273ab9"}, + {file = "rapidfuzz-3.7.0-cp311-cp311-win_amd64.whl", hash = "sha256:594b9c33fc1a86784962043ee3fbaaed875fbaadff72e467c2f7a83cd6c5d69d"}, + {file = "rapidfuzz-3.7.0-cp311-cp311-win_arm64.whl", hash = "sha256:0b13a6823a1b83ae43f8bf35955df35032bee7bec0daf9b5ab836e0286067434"}, + {file = "rapidfuzz-3.7.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:075a419a0ec29be44b3d7f4bcfa5cb7e91e419379a85fc05eb33de68315bd96f"}, + {file = "rapidfuzz-3.7.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:51a5b96d2081c3afbef1842a61d63e55d0a5a201473e6975a80190ff2d6f22ca"}, + {file = "rapidfuzz-3.7.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a9460d8fddac7ea46dff9298eee9aa950dbfe79f2eb509a9f18fbaefcd10894c"}, + {file = "rapidfuzz-3.7.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f39eb1513ee139ba6b5c01fe47ddf2d87e9560dd7fdee1068f7f6efbae70de34"}, + {file = "rapidfuzz-3.7.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eace9fdde58a425d4c9a93021b24a0cac830df167a5b2fc73299e2acf9f41493"}, + {file = "rapidfuzz-3.7.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0cc77237242303733de47829028a0a8b6ab9188b23ec9d9ff0a674fdcd3c8e7f"}, + {file = "rapidfuzz-3.7.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:74e692357dd324dff691d379ef2c094c9ec526c0ce83ed43a066e4e68fe70bf6"}, + {file = "rapidfuzz-3.7.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5f2075ac9ee5c15d33d24a1efc8368d095602b5fd9634c5b5f24d83e41903528"}, + {file = "rapidfuzz-3.7.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:5a8ba64d72329a940ff6c74b721268c2004eecc48558f648a38e96915b5d1c1b"}, + {file = "rapidfuzz-3.7.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:a1f268a2a37cd22573b4a06eccd481c04504b246d3cadc2d8e8dfa64b575636d"}, + {file = "rapidfuzz-3.7.0-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:42c2e8a2341363c7caf276efdbe1a673fc5267a02568c47c8e980f12e9bc8727"}, + {file = "rapidfuzz-3.7.0-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:a9acca34b34fb895ee6a84c436bb919f3b9cd8f43e7003d43e9573a1d990ff74"}, + {file = "rapidfuzz-3.7.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:9bad6a0fe3bc1753dacaa6229a8ba7d9844eb7ae24d44d17c5f4c51c91a8a95e"}, + {file = "rapidfuzz-3.7.0-cp312-cp312-win32.whl", hash = "sha256:c86bc4b1d2380739e6485396195e30021df509b4923f3f757914e171587bce7c"}, + {file = "rapidfuzz-3.7.0-cp312-cp312-win_amd64.whl", hash = "sha256:d7361608c8e73a1dc0203a87d151cddebdade0098a047c46da43c469c07df964"}, + {file = "rapidfuzz-3.7.0-cp312-cp312-win_arm64.whl", hash = "sha256:8fdc26e7863e0f63c2185d53bb61f5173ad4451c1c8287b535b30ea25a419a5a"}, + {file = "rapidfuzz-3.7.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:9b6167468f76779a14b9af66210f68741af94d32d086f19118de4e919f00585c"}, + {file = "rapidfuzz-3.7.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:5bd394e28ff221557ea4d8152fcec3e66d9f620557feca5f2bedc4c21f8cf2f9"}, + {file = "rapidfuzz-3.7.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:8e70f876ca89a6df344f8157ac60384e8c05a0dfb442da2490c3f1c45238ccf5"}, + {file = "rapidfuzz-3.7.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7c837f89d86a5affe9ee6574dad6b195475676a6ab171a67920fc99966f2ab2c"}, + {file = "rapidfuzz-3.7.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cda4550a98658f9a8bcdc03d0498ed1565c1563880e3564603a9eaae28d51b2a"}, + {file = "rapidfuzz-3.7.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ecd70212fd9f1f8b1d3bdd8bcb05acc143defebd41148bdab43e573b043bb241"}, + {file = "rapidfuzz-3.7.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:187db4cc8fb54f8c49c67b7f38ef3a122ce23be273032fa2ff34112a2694c3d8"}, + {file = "rapidfuzz-3.7.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4604dfc1098920c4eb6d0c6b5cc7bdd4bf95b48633e790c1d3f100a25870691d"}, + {file = "rapidfuzz-3.7.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:01581b688c5f4f6665b779135e32db0edab1d78028abf914bb91469928efa383"}, + {file = "rapidfuzz-3.7.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:0828b55ec8ad084febdf4ab0c942eb1f81c97c0935f1cb0be0b4ea84ce755988"}, + {file = "rapidfuzz-3.7.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:150c98b65faff17b917b9d36bff8a4d37b6173579c6bc2e38ff2044e209d37a4"}, + {file = "rapidfuzz-3.7.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:7e4eea225d2bff1aff4c85fcc44716596d3699374d99eb5906b7a7560297460e"}, + {file = "rapidfuzz-3.7.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:7bc944d7e830cfce0f8b4813875f05904207017b66e25ab7ee757507001310a9"}, + {file = "rapidfuzz-3.7.0-cp38-cp38-win32.whl", hash = "sha256:3e55f02105c451ab6ff0edaaba57cab1b6c0a0241cfb2b306d4e8e1503adba50"}, + {file = "rapidfuzz-3.7.0-cp38-cp38-win_amd64.whl", hash = "sha256:41851620d2900791d66d9b6092fc163441d7dd91a460c73b07957ff1c517bc30"}, + {file = "rapidfuzz-3.7.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e8041c6b2d339766efe6298fa272f79d6dd799965df364ef4e50f488c101c899"}, + {file = "rapidfuzz-3.7.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4e09d81008e212fc824ea23603ff5270d75886e72372fa6c7c41c1880bcb57ed"}, + {file = "rapidfuzz-3.7.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:419c8961e861fb5fc5590056c66a279623d1ea27809baea17e00cdc313f1217a"}, + {file = "rapidfuzz-3.7.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1522eaab91b9400b3ef16eebe445940a19e70035b5bc5d98aef23d66e9ac1df0"}, + {file = "rapidfuzz-3.7.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:611278ce3136f4544d596af18ab8849827d64372e1d8888d9a8d071bf4a3f44d"}, + {file = "rapidfuzz-3.7.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4efa9bfc5b955b6474ee077eee154e240441842fa304f280b06e6b6aa58a1d1e"}, + {file = "rapidfuzz-3.7.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c0cc9d3c8261457af3f8756b1f71a9fdc4892978a9e8b967976d2803e08bf972"}, + {file = "rapidfuzz-3.7.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce728e2b582fd396bc2559160ee2e391e6a4b5d2e455624044699d96abe8a396"}, + {file = "rapidfuzz-3.7.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:3a6a36c9299e059e0bee3409218bc5235a46570c20fc980cdee5ed21ea6110ad"}, + {file = "rapidfuzz-3.7.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9ea720db8def684c1eb71dadad1f61c9b52f4d979263eb5d443f2b22b0d5430a"}, + {file = "rapidfuzz-3.7.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:358692f1df3f8aebcd48e69c77c948c9283b44c0efbaf1eeea01739efe3cd9a6"}, + {file = "rapidfuzz-3.7.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:faded69ffe79adcefa8da08f414a0fd52375e2b47f57be79471691dad9656b5a"}, + {file = "rapidfuzz-3.7.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7f9f3dc14fadbd553975f824ac48c381f42192cec9d7e5711b528357662a8d8e"}, + {file = "rapidfuzz-3.7.0-cp39-cp39-win32.whl", hash = "sha256:7be5f460ff42d7d27729115bfe8a02e83fa0284536d8630ee900d17b75c29e65"}, + {file = "rapidfuzz-3.7.0-cp39-cp39-win_amd64.whl", hash = "sha256:dd5ad2c12dab2b98340c4b7b9592c8f349730bda9a2e49675ea592bbcbc1360b"}, + {file = "rapidfuzz-3.7.0-cp39-cp39-win_arm64.whl", hash = "sha256:aa163257a0ac4e70f9009d25e5030bdd83a8541dfa3ba78dc86b35c9e16a80b4"}, + {file = "rapidfuzz-3.7.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:4e50840a8a8e0229563eeaf22e21a203359859557db8829f4d0285c17126c5fb"}, + {file = "rapidfuzz-3.7.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:632f09e19365ace5ff2670008adc8bf23d03d668b03a30230e5b60ff9317ee93"}, + {file = "rapidfuzz-3.7.0-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:209dda6ae66b702f74a78cef555397cdc2a83d7f48771774a20d2fc30808b28c"}, + {file = "rapidfuzz-3.7.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bc0b78572626af6ab134895e4dbfe4f4d615d18dcc43b8d902d8e45471aabba"}, + {file = "rapidfuzz-3.7.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:7ba14850cc8258b3764ea16b8a4409ac2ba16d229bde7a5f495dd479cd9ccd56"}, + {file = "rapidfuzz-3.7.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:b917764fd2b267addc9d03a96d26f751f6117a95f617428c44a069057653b528"}, + {file = "rapidfuzz-3.7.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1252ca156e1b053e84e5ae1c8e9e062ee80468faf23aa5c543708212a42795fd"}, + {file = "rapidfuzz-3.7.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:86c7676a32d7524e40bc73546e511a408bc831ae5b163029d325ea3a2027d089"}, + {file = "rapidfuzz-3.7.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:20e7d729af2e5abb29caa070ec048aba042f134091923d9ca2ac662b5604577e"}, + {file = "rapidfuzz-3.7.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:86eea3e6c314a9238de568254a9c591ec73c2985f125675ed5f171d869c47773"}, + {file = "rapidfuzz-3.7.0.tar.gz", hash = "sha256:620df112c39c6d27316dc1e22046dc0382d6d91fd60d7c51bd41ca0333d867e9"}, ] [package.extras] @@ -5113,17 +5084,17 @@ full = ["numpy"] [[package]] name = "redis" -version = "5.0.2" +version = "5.0.3" description = "Python client for Redis database and key-value store" optional = true python-versions = ">=3.7" files = [ - {file = "redis-5.0.2-py3-none-any.whl", hash = "sha256:4caa8e1fcb6f3c0ef28dba99535101d80934b7d4cd541bbb47f4a3826ee472d1"}, - {file = "redis-5.0.2.tar.gz", hash = "sha256:3f82cc80d350e93042c8e6e7a5d0596e4dd68715babffba79492733e1f367037"}, + {file = "redis-5.0.3-py3-none-any.whl", hash = "sha256:5da9b8fe9e1254293756c16c008e8620b3d15fcc6dde6babde9541850e72a32d"}, + {file = "redis-5.0.3.tar.gz", hash = "sha256:4973bae7444c0fbed64a06b87446f79361cb7e4ec1538c022d696ed7a5015580"}, ] [package.dependencies] -async-timeout = ">=4.0.3" +async-timeout = {version = ">=4.0.3", markers = "python_full_version < \"3.11.3\""} [package.extras] hiredis = ["hiredis (>=1.0.0)"] @@ -5131,13 +5102,13 @@ ocsp = ["cryptography (>=36.0.1)", "pyopenssl (==20.0.1)", "requests (>=2.26.0)" [[package]] name = "referencing" -version = "0.33.0" +version = "0.34.0" description = "JSON Referencing + Python" optional = false python-versions = ">=3.8" files = [ - {file = "referencing-0.33.0-py3-none-any.whl", hash = "sha256:39240f2ecc770258f28b642dd47fd74bc8b02484de54e1882b74b35ebd779bd5"}, - {file = "referencing-0.33.0.tar.gz", hash = "sha256:c775fedf74bc0f9189c2a3be1c12fd03e8c23f4d371dce795df44e06c5b412f7"}, + {file = "referencing-0.34.0-py3-none-any.whl", hash = "sha256:d53ae300ceddd3169f1ffa9caf2cb7b769e92657e4fafb23d34b93679116dfd4"}, + {file = "referencing-0.34.0.tar.gz", hash = "sha256:5773bd84ef41799a5a8ca72dc34590c041eb01bf9aa02632b4a973fb0181a844"}, ] [package.dependencies] @@ -5388,18 +5359,18 @@ win32 = ["pywin32"] [[package]] name = "setuptools" -version = "69.1.1" +version = "69.2.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "setuptools-69.1.1-py3-none-any.whl", hash = "sha256:02fa291a0471b3a18b2b2481ed902af520c69e8ae0919c13da936542754b4c56"}, - {file = "setuptools-69.1.1.tar.gz", hash = "sha256:5c0806c7d9af348e6dd3777b4f4dbb42c7ad85b190104837488eab9a7c945cf8"}, + {file = "setuptools-69.2.0-py3-none-any.whl", hash = "sha256:c21c49fb1042386df081cb5d86759792ab89efca84cf114889191cd09aacc80c"}, + {file = "setuptools-69.2.0.tar.gz", hash = "sha256:0ff4183f8f42cd8fa3acea16c45205521a4ef28f73c6391d8a25e92893134f2e"}, ] [package.extras] docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] -testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.2)", "pip (>=19.1)", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff (>=0.2.1)", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] +testing = ["build[virtualenv]", "filelock (>=3.4.0)", "importlib-metadata", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "mypy (==1.9)", "packaging (>=23.2)", "pip (>=19.1)", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff (>=0.2.1)", "pytest-timeout", "pytest-xdist (>=3)", "tomli", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.2)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] [[package]] @@ -5580,6 +5551,25 @@ recommender = ["numpy"] show-api-usage = ["graphviz"] show-memory = ["memory-profiler"] +[[package]] +name = "sphinx-polyversion" +version = "0.5.0" +description = "Build multiple versions of your sphinx docs and merge them into one website." +optional = false +python-versions = ">=3.8" +files = [] +develop = false + +[package.extras] +jinja = ["jinja2 (>=3)"] +virtualenv = ["virtualenv (>=20)"] + +[package.source] +type = "git" +url = "https://github.com/ZergLev/sphinx-polyversion.git" +reference = "main" +resolved_reference = "2e7ef3299d1eddd37a51ba4d9448cbb4491aaba4" + [[package]] name = "sphinxcontrib-apidoc" version = "0.5.0" @@ -5715,60 +5705,60 @@ test = ["pytest"] [[package]] name = "sqlalchemy" -version = "2.0.27" +version = "2.0.29" description = "Database Abstraction Library" optional = true python-versions = ">=3.7" files = [ - {file = "SQLAlchemy-2.0.27-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d04e579e911562f1055d26dab1868d3e0bb905db3bccf664ee8ad109f035618a"}, - {file = "SQLAlchemy-2.0.27-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fa67d821c1fd268a5a87922ef4940442513b4e6c377553506b9db3b83beebbd8"}, - {file = "SQLAlchemy-2.0.27-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c7a596d0be71b7baa037f4ac10d5e057d276f65a9a611c46970f012752ebf2d"}, - {file = "SQLAlchemy-2.0.27-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:954d9735ee9c3fa74874c830d089a815b7b48df6f6b6e357a74130e478dbd951"}, - {file = "SQLAlchemy-2.0.27-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:5cd20f58c29bbf2680039ff9f569fa6d21453fbd2fa84dbdb4092f006424c2e6"}, - {file = "SQLAlchemy-2.0.27-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:03f448ffb731b48323bda68bcc93152f751436ad6037f18a42b7e16af9e91c07"}, - {file = "SQLAlchemy-2.0.27-cp310-cp310-win32.whl", hash = "sha256:d997c5938a08b5e172c30583ba6b8aad657ed9901fc24caf3a7152eeccb2f1b4"}, - {file = "SQLAlchemy-2.0.27-cp310-cp310-win_amd64.whl", hash = "sha256:eb15ef40b833f5b2f19eeae65d65e191f039e71790dd565c2af2a3783f72262f"}, - {file = "SQLAlchemy-2.0.27-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6c5bad7c60a392850d2f0fee8f355953abaec878c483dd7c3836e0089f046bf6"}, - {file = "SQLAlchemy-2.0.27-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a3012ab65ea42de1be81fff5fb28d6db893ef978950afc8130ba707179b4284a"}, - {file = "SQLAlchemy-2.0.27-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dbcd77c4d94b23e0753c5ed8deba8c69f331d4fd83f68bfc9db58bc8983f49cd"}, - {file = "SQLAlchemy-2.0.27-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d177b7e82f6dd5e1aebd24d9c3297c70ce09cd1d5d37b43e53f39514379c029c"}, - {file = "SQLAlchemy-2.0.27-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:680b9a36029b30cf063698755d277885d4a0eab70a2c7c6e71aab601323cba45"}, - {file = "SQLAlchemy-2.0.27-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1306102f6d9e625cebaca3d4c9c8f10588735ef877f0360b5cdb4fdfd3fd7131"}, - {file = "SQLAlchemy-2.0.27-cp311-cp311-win32.whl", hash = "sha256:5b78aa9f4f68212248aaf8943d84c0ff0f74efc65a661c2fc68b82d498311fd5"}, - {file = "SQLAlchemy-2.0.27-cp311-cp311-win_amd64.whl", hash = "sha256:15e19a84b84528f52a68143439d0c7a3a69befcd4f50b8ef9b7b69d2628ae7c4"}, - {file = "SQLAlchemy-2.0.27-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:0de1263aac858f288a80b2071990f02082c51d88335a1db0d589237a3435fe71"}, - {file = "SQLAlchemy-2.0.27-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce850db091bf7d2a1f2fdb615220b968aeff3849007b1204bf6e3e50a57b3d32"}, - {file = "SQLAlchemy-2.0.27-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8dfc936870507da96aebb43e664ae3a71a7b96278382bcfe84d277b88e379b18"}, - {file = "SQLAlchemy-2.0.27-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c4fbe6a766301f2e8a4519f4500fe74ef0a8509a59e07a4085458f26228cd7cc"}, - {file = "SQLAlchemy-2.0.27-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:4535c49d961fe9a77392e3a630a626af5baa967172d42732b7a43496c8b28876"}, - {file = "SQLAlchemy-2.0.27-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:0fb3bffc0ced37e5aa4ac2416f56d6d858f46d4da70c09bb731a246e70bff4d5"}, - {file = "SQLAlchemy-2.0.27-cp312-cp312-win32.whl", hash = "sha256:7f470327d06400a0aa7926b375b8e8c3c31d335e0884f509fe272b3c700a7254"}, - {file = "SQLAlchemy-2.0.27-cp312-cp312-win_amd64.whl", hash = "sha256:f9374e270e2553653d710ece397df67db9d19c60d2647bcd35bfc616f1622dcd"}, - {file = "SQLAlchemy-2.0.27-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e97cf143d74a7a5a0f143aa34039b4fecf11343eed66538610debc438685db4a"}, - {file = "SQLAlchemy-2.0.27-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7b5a3e2120982b8b6bd1d5d99e3025339f7fb8b8267551c679afb39e9c7c7f1"}, - {file = "SQLAlchemy-2.0.27-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e36aa62b765cf9f43a003233a8c2d7ffdeb55bc62eaa0a0380475b228663a38f"}, - {file = "SQLAlchemy-2.0.27-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:5ada0438f5b74c3952d916c199367c29ee4d6858edff18eab783b3978d0db16d"}, - {file = "SQLAlchemy-2.0.27-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:b1d9d1bfd96eef3c3faedb73f486c89e44e64e40e5bfec304ee163de01cf996f"}, - {file = "SQLAlchemy-2.0.27-cp37-cp37m-win32.whl", hash = "sha256:ca891af9f3289d24a490a5fde664ea04fe2f4984cd97e26de7442a4251bd4b7c"}, - {file = "SQLAlchemy-2.0.27-cp37-cp37m-win_amd64.whl", hash = "sha256:fd8aafda7cdff03b905d4426b714601c0978725a19efc39f5f207b86d188ba01"}, - {file = "SQLAlchemy-2.0.27-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ec1f5a328464daf7a1e4e385e4f5652dd9b1d12405075ccba1df842f7774b4fc"}, - {file = "SQLAlchemy-2.0.27-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ad862295ad3f644e3c2c0d8b10a988e1600d3123ecb48702d2c0f26771f1c396"}, - {file = "SQLAlchemy-2.0.27-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:48217be1de7d29a5600b5c513f3f7664b21d32e596d69582be0a94e36b8309cb"}, - {file = "SQLAlchemy-2.0.27-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9e56afce6431450442f3ab5973156289bd5ec33dd618941283847c9fd5ff06bf"}, - {file = "SQLAlchemy-2.0.27-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:611068511b5531304137bcd7fe8117c985d1b828eb86043bd944cebb7fae3910"}, - {file = "SQLAlchemy-2.0.27-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b86abba762ecfeea359112b2bb4490802b340850bbee1948f785141a5e020de8"}, - {file = "SQLAlchemy-2.0.27-cp38-cp38-win32.whl", hash = "sha256:30d81cc1192dc693d49d5671cd40cdec596b885b0ce3b72f323888ab1c3863d5"}, - {file = "SQLAlchemy-2.0.27-cp38-cp38-win_amd64.whl", hash = "sha256:120af1e49d614d2525ac247f6123841589b029c318b9afbfc9e2b70e22e1827d"}, - {file = "SQLAlchemy-2.0.27-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d07ee7793f2aeb9b80ec8ceb96bc8cc08a2aec8a1b152da1955d64e4825fcbac"}, - {file = "SQLAlchemy-2.0.27-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:cb0845e934647232b6ff5150df37ceffd0b67b754b9fdbb095233deebcddbd4a"}, - {file = "SQLAlchemy-2.0.27-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fc19ae2e07a067663dd24fca55f8ed06a288384f0e6e3910420bf4b1270cc51"}, - {file = "SQLAlchemy-2.0.27-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b90053be91973a6fb6020a6e44382c97739736a5a9d74e08cc29b196639eb979"}, - {file = "SQLAlchemy-2.0.27-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:2f5c9dfb0b9ab5e3a8a00249534bdd838d943ec4cfb9abe176a6c33408430230"}, - {file = "SQLAlchemy-2.0.27-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:33e8bde8fff203de50399b9039c4e14e42d4d227759155c21f8da4a47fc8053c"}, - {file = "SQLAlchemy-2.0.27-cp39-cp39-win32.whl", hash = "sha256:d873c21b356bfaf1589b89090a4011e6532582b3a8ea568a00e0c3aab09399dd"}, - {file = "SQLAlchemy-2.0.27-cp39-cp39-win_amd64.whl", hash = "sha256:ff2f1b7c963961d41403b650842dc2039175b906ab2093635d8319bef0b7d620"}, - {file = "SQLAlchemy-2.0.27-py3-none-any.whl", hash = "sha256:1ab4e0448018d01b142c916cc7119ca573803a4745cfe341b8f95657812700ac"}, - {file = "SQLAlchemy-2.0.27.tar.gz", hash = "sha256:86a6ed69a71fe6b88bf9331594fa390a2adda4a49b5c06f98e47bf0d392534f8"}, + {file = "SQLAlchemy-2.0.29-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4c142852ae192e9fe5aad5c350ea6befe9db14370b34047e1f0f7cf99e63c63b"}, + {file = "SQLAlchemy-2.0.29-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:99a1e69d4e26f71e750e9ad6fdc8614fbddb67cfe2173a3628a2566034e223c7"}, + {file = "SQLAlchemy-2.0.29-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5ef3fbccb4058355053c51b82fd3501a6e13dd808c8d8cd2561e610c5456013c"}, + {file = "SQLAlchemy-2.0.29-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d6753305936eddc8ed190e006b7bb33a8f50b9854823485eed3a886857ab8d1"}, + {file = "SQLAlchemy-2.0.29-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0f3ca96af060a5250a8ad5a63699180bc780c2edf8abf96c58af175921df847a"}, + {file = "SQLAlchemy-2.0.29-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c4520047006b1d3f0d89e0532978c0688219857eb2fee7c48052560ae76aca1e"}, + {file = "SQLAlchemy-2.0.29-cp310-cp310-win32.whl", hash = "sha256:b2a0e3cf0caac2085ff172c3faacd1e00c376e6884b5bc4dd5b6b84623e29e4f"}, + {file = "SQLAlchemy-2.0.29-cp310-cp310-win_amd64.whl", hash = "sha256:01d10638a37460616708062a40c7b55f73e4d35eaa146781c683e0fa7f6c43fb"}, + {file = "SQLAlchemy-2.0.29-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:308ef9cb41d099099fffc9d35781638986870b29f744382904bf9c7dadd08513"}, + {file = "SQLAlchemy-2.0.29-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:296195df68326a48385e7a96e877bc19aa210e485fa381c5246bc0234c36c78e"}, + {file = "SQLAlchemy-2.0.29-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a13b917b4ffe5a0a31b83d051d60477819ddf18276852ea68037a144a506efb9"}, + {file = "SQLAlchemy-2.0.29-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f6d971255d9ddbd3189e2e79d743ff4845c07f0633adfd1de3f63d930dbe673"}, + {file = "SQLAlchemy-2.0.29-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:61405ea2d563407d316c63a7b5271ae5d274a2a9fbcd01b0aa5503635699fa1e"}, + {file = "SQLAlchemy-2.0.29-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:de7202ffe4d4a8c1e3cde1c03e01c1a3772c92858837e8f3879b497158e4cb44"}, + {file = "SQLAlchemy-2.0.29-cp311-cp311-win32.whl", hash = "sha256:b5d7ed79df55a731749ce65ec20d666d82b185fa4898430b17cb90c892741520"}, + {file = "SQLAlchemy-2.0.29-cp311-cp311-win_amd64.whl", hash = "sha256:205f5a2b39d7c380cbc3b5dcc8f2762fb5bcb716838e2d26ccbc54330775b003"}, + {file = "SQLAlchemy-2.0.29-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d96710d834a6fb31e21381c6d7b76ec729bd08c75a25a5184b1089141356171f"}, + {file = "SQLAlchemy-2.0.29-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:52de4736404e53c5c6a91ef2698c01e52333988ebdc218f14c833237a0804f1b"}, + {file = "SQLAlchemy-2.0.29-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c7b02525ede2a164c5fa5014915ba3591730f2cc831f5be9ff3b7fd3e30958e"}, + {file = "SQLAlchemy-2.0.29-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0dfefdb3e54cd15f5d56fd5ae32f1da2d95d78319c1f6dfb9bcd0eb15d603d5d"}, + {file = "SQLAlchemy-2.0.29-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:a88913000da9205b13f6f195f0813b6ffd8a0c0c2bd58d499e00a30eb508870c"}, + {file = "SQLAlchemy-2.0.29-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:fecd5089c4be1bcc37c35e9aa678938d2888845a134dd016de457b942cf5a758"}, + {file = "SQLAlchemy-2.0.29-cp312-cp312-win32.whl", hash = "sha256:8197d6f7a3d2b468861ebb4c9f998b9df9e358d6e1cf9c2a01061cb9b6cf4e41"}, + {file = "SQLAlchemy-2.0.29-cp312-cp312-win_amd64.whl", hash = "sha256:9b19836ccca0d321e237560e475fd99c3d8655d03da80c845c4da20dda31b6e1"}, + {file = "SQLAlchemy-2.0.29-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:87a1d53a5382cdbbf4b7619f107cc862c1b0a4feb29000922db72e5a66a5ffc0"}, + {file = "SQLAlchemy-2.0.29-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2a0732dffe32333211801b28339d2a0babc1971bc90a983e3035e7b0d6f06b93"}, + {file = "SQLAlchemy-2.0.29-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90453597a753322d6aa770c5935887ab1fc49cc4c4fdd436901308383d698b4b"}, + {file = "SQLAlchemy-2.0.29-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:ea311d4ee9a8fa67f139c088ae9f905fcf0277d6cd75c310a21a88bf85e130f5"}, + {file = "SQLAlchemy-2.0.29-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:5f20cb0a63a3e0ec4e169aa8890e32b949c8145983afa13a708bc4b0a1f30e03"}, + {file = "SQLAlchemy-2.0.29-cp37-cp37m-win32.whl", hash = "sha256:e5bbe55e8552019c6463709b39634a5fc55e080d0827e2a3a11e18eb73f5cdbd"}, + {file = "SQLAlchemy-2.0.29-cp37-cp37m-win_amd64.whl", hash = "sha256:c2f9c762a2735600654c654bf48dad388b888f8ce387b095806480e6e4ff6907"}, + {file = "SQLAlchemy-2.0.29-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:7e614d7a25a43a9f54fcce4675c12761b248547f3d41b195e8010ca7297c369c"}, + {file = "SQLAlchemy-2.0.29-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:471fcb39c6adf37f820350c28aac4a7df9d3940c6548b624a642852e727ea586"}, + {file = "SQLAlchemy-2.0.29-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:988569c8732f54ad3234cf9c561364221a9e943b78dc7a4aaf35ccc2265f1930"}, + {file = "SQLAlchemy-2.0.29-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dddaae9b81c88083e6437de95c41e86823d150f4ee94bf24e158a4526cbead01"}, + {file = "SQLAlchemy-2.0.29-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:334184d1ab8f4c87f9652b048af3f7abea1c809dfe526fb0435348a6fef3d380"}, + {file = "SQLAlchemy-2.0.29-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:38b624e5cf02a69b113c8047cf7f66b5dfe4a2ca07ff8b8716da4f1b3ae81567"}, + {file = "SQLAlchemy-2.0.29-cp38-cp38-win32.whl", hash = "sha256:bab41acf151cd68bc2b466deae5deeb9e8ae9c50ad113444151ad965d5bf685b"}, + {file = "SQLAlchemy-2.0.29-cp38-cp38-win_amd64.whl", hash = "sha256:52c8011088305476691b8750c60e03b87910a123cfd9ad48576d6414b6ec2a1d"}, + {file = "SQLAlchemy-2.0.29-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3071ad498896907a5ef756206b9dc750f8e57352113c19272bdfdc429c7bd7de"}, + {file = "SQLAlchemy-2.0.29-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:dba622396a3170974f81bad49aacebd243455ec3cc70615aeaef9e9613b5bca5"}, + {file = "SQLAlchemy-2.0.29-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7b184e3de58009cc0bf32e20f137f1ec75a32470f5fede06c58f6c355ed42a72"}, + {file = "SQLAlchemy-2.0.29-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c37f1050feb91f3d6c32f864d8e114ff5545a4a7afe56778d76a9aec62638ba"}, + {file = "SQLAlchemy-2.0.29-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bda7ce59b06d0f09afe22c56714c65c957b1068dee3d5e74d743edec7daba552"}, + {file = "SQLAlchemy-2.0.29-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:25664e18bef6dc45015b08f99c63952a53a0a61f61f2e48a9e70cec27e55f699"}, + {file = "SQLAlchemy-2.0.29-cp39-cp39-win32.whl", hash = "sha256:77d29cb6c34b14af8a484e831ab530c0f7188f8efed1c6a833a2c674bf3c26ec"}, + {file = "SQLAlchemy-2.0.29-cp39-cp39-win_amd64.whl", hash = "sha256:04c487305ab035a9548f573763915189fc0fe0824d9ba28433196f8436f1449c"}, + {file = "SQLAlchemy-2.0.29-py3-none-any.whl", hash = "sha256:dc4ee2d4ee43251905f88637d5281a8d52e916a021384ec10758826f5cbae305"}, + {file = "SQLAlchemy-2.0.29.tar.gz", hash = "sha256:bd9566b8e58cabd700bc367b60e90d9349cd16f0984973f98a9a09f9c64e86f0"}, ] [package.dependencies] @@ -5855,13 +5845,13 @@ full = ["httpx (>=0.22.0)", "itsdangerous", "jinja2", "python-multipart (>=0.0.7 [[package]] name = "streamlit" -version = "1.31.1" +version = "1.32.2" description = "A faster way to build and share data apps" optional = false python-versions = ">=3.8, !=3.9.7" files = [ - {file = "streamlit-1.31.1-py2.py3-none-any.whl", hash = "sha256:a1a84249f7a9b854fe356db06c85dc03c3f9da4df06a33aa5a922647b955e8c8"}, - {file = "streamlit-1.31.1.tar.gz", hash = "sha256:dfc43ca85b4b4c31d097c27b983b8ccc960222ad907862b2b2fb4ddf04c50fdc"}, + {file = "streamlit-1.32.2-py2.py3-none-any.whl", hash = "sha256:a0b8044e76fec364b07be145f8b40dbd8d083e20ebbb189ceb1fa9423f3dedea"}, + {file = "streamlit-1.32.2.tar.gz", hash = "sha256:1258b9cbc3ff957bf7d09b1bfc85cedc308f1065b30748545295a9af8d5577ab"}, ] [package.dependencies] @@ -5870,7 +5860,6 @@ blinker = ">=1.0.0,<2" cachetools = ">=4.0,<6" click = ">=7.0,<9" gitpython = ">=3.0.7,<3.1.19 || >3.1.19,<4" -importlib-metadata = ">=1.4,<8" numpy = ">=1.19.3,<2" packaging = ">=16.8,<24" pandas = ">=1.3.0,<3" @@ -5878,15 +5867,12 @@ pillow = ">=7.1.0,<11" protobuf = ">=3.20,<5" pyarrow = ">=7.0" pydeck = ">=0.8.0b4,<1" -python-dateutil = ">=2.7.3,<3" requests = ">=2.27,<3" rich = ">=10.14.0,<14" tenacity = ">=8.1.0,<9" toml = ">=0.10.1,<2" tornado = ">=6.0.3,<7" typing-extensions = ">=4.3.0,<5" -tzlocal = ">=1.1,<6" -validators = ">=0.2,<1" watchdog = {version = ">=2.1.5", markers = "platform_system != \"Darwin\""} [package.extras] @@ -5953,13 +5939,13 @@ tests = ["pytest", "pytest-cov"] [[package]] name = "terminado" -version = "0.18.0" +version = "0.18.1" description = "Tornado websocket backend for the Xterm.js Javascript terminal emulator library." optional = false python-versions = ">=3.8" files = [ - {file = "terminado-0.18.0-py3-none-any.whl", hash = "sha256:87b0d96642d0fe5f5abd7783857b9cab167f221a39ff98e3b9619a788a3c0f2e"}, - {file = "terminado-0.18.0.tar.gz", hash = "sha256:1ea08a89b835dd1b8c0c900d92848147cef2537243361b2e3f4dc15df9b6fded"}, + {file = "terminado-0.18.1-py3-none-any.whl", hash = "sha256:a4468e1b37bb318f8a86514f65814e1afc977cf29b3992a4500d9dd305dcceb0"}, + {file = "terminado-0.18.1.tar.gz", hash = "sha256:de09f2c4b85de4765f7714688fff57d3e75bad1f909b589fde880460c753fd2e"}, ] [package.dependencies] @@ -6076,60 +6062,57 @@ telegram = ["requests"] [[package]] name = "traitlets" -version = "5.14.1" +version = "5.14.2" description = "Traitlets Python configuration system" optional = false python-versions = ">=3.8" files = [ - {file = "traitlets-5.14.1-py3-none-any.whl", hash = "sha256:2e5a030e6eff91737c643231bfcf04a65b0132078dad75e4936700b213652e74"}, - {file = "traitlets-5.14.1.tar.gz", hash = "sha256:8585105b371a04b8316a43d5ce29c098575c2e477850b62b848b964f1444527e"}, + {file = "traitlets-5.14.2-py3-none-any.whl", hash = "sha256:fcdf85684a772ddeba87db2f398ce00b40ff550d1528c03c14dbf6a02003cd80"}, + {file = "traitlets-5.14.2.tar.gz", hash = "sha256:8cdd83c040dab7d1dee822678e5f5d100b514f7b72b01615b26fc5718916fdf9"}, ] [package.extras] docs = ["myst-parser", "pydata-sphinx-theme", "sphinx"] -test = ["argcomplete (>=3.0.3)", "mypy (>=1.7.0)", "pre-commit", "pytest (>=7.0,<7.5)", "pytest-mock", "pytest-mypy-testing"] +test = ["argcomplete (>=3.0.3)", "mypy (>=1.7.0)", "pre-commit", "pytest (>=7.0,<8.1)", "pytest-mock", "pytest-mypy-testing"] [[package]] name = "trove-classifiers" -version = "2024.2.23" +version = "2024.3.25" description = "Canonical source for classifiers on PyPI (pypi.org)." optional = false python-versions = "*" files = [ - {file = "trove-classifiers-2024.2.23.tar.gz", hash = "sha256:8385160a12aac69c93fff058fb613472ed773a24a27eb3cd4b144cfbdd79f38c"}, - {file = "trove_classifiers-2024.2.23-py3-none-any.whl", hash = "sha256:3094534b8021dc1822aadb1d11d4c7b62a854d464d19458fd0a49d6fe2b68b77"}, + {file = "trove-classifiers-2024.3.25.tar.gz", hash = "sha256:6de68d06edd6fec5032162b6af22e818a4bb6f4ae2258e74699f8a41064b7cad"}, + {file = "trove_classifiers-2024.3.25-py3-none-any.whl", hash = "sha256:c400e0bdceb018913339d53b07682d09a42aada687d070e90ee3c08477bec024"}, ] [[package]] name = "typer" -version = "0.9.0" +version = "0.11.0" description = "Typer, build great CLIs. Easy to code. Based on Python type hints." optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "typer-0.9.0-py3-none-any.whl", hash = "sha256:5d96d986a21493606a358cae4461bd8cdf83cbf33a5aa950ae629ca3b51467ee"}, - {file = "typer-0.9.0.tar.gz", hash = "sha256:50922fd79aea2f4751a8e0408ff10d2662bd0c8bbfa84755a699f3bada2978b2"}, + {file = "typer-0.11.0-py3-none-any.whl", hash = "sha256:049cc47bef39f46b043eddd9165492209fdd9bc7d79afa7ba9cc5cd017caa817"}, + {file = "typer-0.11.0.tar.gz", hash = "sha256:a6ce173c0f03d3a41b49c0a945874cc489e91f88faabf76517b2b91c670fcde7"}, ] [package.dependencies] -click = ">=7.1.1,<9.0.0" +click = ">=8.0.0" typing-extensions = ">=3.7.4.3" [package.extras] all = ["colorama (>=0.4.3,<0.5.0)", "rich (>=10.11.0,<14.0.0)", "shellingham (>=1.3.0,<2.0.0)"] -dev = ["autoflake (>=1.3.1,<2.0.0)", "flake8 (>=3.8.3,<4.0.0)", "pre-commit (>=2.17.0,<3.0.0)"] -doc = ["cairosvg (>=2.5.2,<3.0.0)", "mdx-include (>=1.4.1,<2.0.0)", "mkdocs (>=1.1.2,<2.0.0)", "mkdocs-material (>=8.1.4,<9.0.0)", "pillow (>=9.3.0,<10.0.0)"] -test = ["black (>=22.3.0,<23.0.0)", "coverage (>=6.2,<7.0)", "isort (>=5.0.6,<6.0.0)", "mypy (==0.910)", "pytest (>=4.4.0,<8.0.0)", "pytest-cov (>=2.10.0,<5.0.0)", "pytest-sugar (>=0.9.4,<0.10.0)", "pytest-xdist (>=1.32.0,<4.0.0)", "rich (>=10.11.0,<14.0.0)", "shellingham (>=1.3.0,<2.0.0)"] [[package]] name = "types-python-dateutil" -version = "2.8.19.20240106" +version = "2.9.0.20240316" description = "Typing stubs for python-dateutil" optional = false python-versions = ">=3.8" files = [ - {file = "types-python-dateutil-2.8.19.20240106.tar.gz", hash = "sha256:1f8db221c3b98e6ca02ea83a58371b22c374f42ae5bbdf186db9c9a76581459f"}, - {file = "types_python_dateutil-2.8.19.20240106-py3-none-any.whl", hash = "sha256:efbbdc54590d0f16152fa103c9879c7d4a00e82078f6e2cf01769042165acaa2"}, + {file = "types-python-dateutil-2.9.0.20240316.tar.gz", hash = "sha256:5d2f2e240b86905e40944dd787db6da9263f0deabef1076ddaed797351ec0202"}, + {file = "types_python_dateutil-2.9.0.20240316-py3-none-any.whl", hash = "sha256:6b8cb66d960771ce5ff974e9dd45e38facb81718cc1e208b10b1baccbfdbee3b"}, ] [[package]] @@ -6154,24 +6137,6 @@ files = [ {file = "tzdata-2024.1.tar.gz", hash = "sha256:2674120f8d891909751c38abcdfd386ac0a5a1127954fbc332af6b5ceae07efd"}, ] -[[package]] -name = "tzlocal" -version = "5.2" -description = "tzinfo object for the local timezone" -optional = false -python-versions = ">=3.8" -files = [ - {file = "tzlocal-5.2-py3-none-any.whl", hash = "sha256:49816ef2fe65ea8ac19d19aa7a1ae0551c834303d5014c6d5a62e4cbda8047b8"}, - {file = "tzlocal-5.2.tar.gz", hash = "sha256:8d399205578f1a9342816409cc1e46a93ebd5755e39ea2d85334bea911bf0e6e"}, -] - -[package.dependencies] -"backports.zoneinfo" = {version = "*", markers = "python_version < \"3.9\""} -tzdata = {version = "*", markers = "platform_system == \"Windows\""} - -[package.extras] -devenv = ["check-manifest", "pytest (>=4.3)", "pytest-cov", "pytest-mock (>=3.3)", "zest.releaser"] - [[package]] name = "uri-template" version = "1.3.0" @@ -6204,13 +6169,13 @@ socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] [[package]] name = "uvicorn" -version = "0.27.1" +version = "0.29.0" description = "The lightning-fast ASGI server." optional = false python-versions = ">=3.8" files = [ - {file = "uvicorn-0.27.1-py3-none-any.whl", hash = "sha256:5c89da2f3895767472a35556e539fd59f7edbe9b1e9c0e1c99eebeadc61838e4"}, - {file = "uvicorn-0.27.1.tar.gz", hash = "sha256:3d9a267296243532db80c83a959a3400502165ade2c1338dea4e67915fd4745a"}, + {file = "uvicorn-0.29.0-py3-none-any.whl", hash = "sha256:2c2aac7ff4f4365c206fd773a39bf4ebd1047c238f8b8268ad996829323473de"}, + {file = "uvicorn-0.29.0.tar.gz", hash = "sha256:6a69214c0b6a087462412670b3ef21224fa48cae0e452b5883e8e8bdfdd11dd0"}, ] [package.dependencies] @@ -6221,28 +6186,6 @@ typing-extensions = {version = ">=4.0", markers = "python_version < \"3.11\""} [package.extras] standard = ["colorama (>=0.4)", "httptools (>=0.5.0)", "python-dotenv (>=0.13)", "pyyaml (>=5.1)", "uvloop (>=0.14.0,!=0.15.0,!=0.15.1)", "watchfiles (>=0.13)", "websockets (>=10.4)"] -[[package]] -name = "validators" -version = "0.22.0" -description = "Python Data Validation for Humans™" -optional = false -python-versions = ">=3.8" -files = [ - {file = "validators-0.22.0-py3-none-any.whl", hash = "sha256:61cf7d4a62bbae559f2e54aed3b000cea9ff3e2fdbe463f51179b92c58c9585a"}, - {file = "validators-0.22.0.tar.gz", hash = "sha256:77b2689b172eeeb600d9605ab86194641670cdb73b60afd577142a9397873370"}, -] - -[package.extras] -docs-offline = ["myst-parser (>=2.0.0)", "pypandoc-binary (>=1.11)", "sphinx (>=7.1.1)"] -docs-online = ["mkdocs (>=1.5.2)", "mkdocs-git-revision-date-localized-plugin (>=1.2.0)", "mkdocs-material (>=9.2.6)", "mkdocstrings[python] (>=0.22.0)", "pyaml (>=23.7.0)"] -hooks = ["pre-commit (>=3.3.3)"] -package = ["build (>=1.0.0)", "twine (>=4.0.2)"] -runner = ["tox (>=4.11.1)"] -sast = ["bandit[toml] (>=1.7.5)"] -testing = ["pytest (>=7.4.0)"] -tooling = ["black (>=23.7.0)", "pyright (>=1.1.325)", "ruff (>=0.0.287)"] -tooling-extras = ["pyaml (>=23.7.0)", "pypandoc-binary (>=1.11)", "pytest (>=7.4.0)"] - [[package]] name = "virtualenv" version = "20.25.1" @@ -6723,13 +6666,13 @@ multidict = ">=4.0" [[package]] name = "ydb" -version = "3.8.0" +version = "3.8.1" description = "YDB Python SDK" optional = true python-versions = "*" files = [ - {file = "ydb-3.8.0-py2.py3-none-any.whl", hash = "sha256:29d94f4c6047c24440e11a326604f913f1cf3d909f175329e081ac37f90a9152"}, - {file = "ydb-3.8.0.tar.gz", hash = "sha256:d5bdbc7d069977de86d6ceac62602803696d6c911d685d99edc5a9988710aaf5"}, + {file = "ydb-3.8.1-py2.py3-none-any.whl", hash = "sha256:20546e8b3062043cc1ae46e746b6ea339043fcf511890c4fff6610a1219ab998"}, + {file = "ydb-3.8.1.tar.gz", hash = "sha256:524ef8265fa1bcb532da1bda2958437a71a7fec755dc25dd9892b84de2a8ec65"}, ] [package.dependencies] @@ -6743,18 +6686,18 @@ yc = ["yandexcloud"] [[package]] name = "zipp" -version = "3.17.0" +version = "3.18.1" description = "Backport of pathlib-compatible object wrapper for zip files" optional = false python-versions = ">=3.8" files = [ - {file = "zipp-3.17.0-py3-none-any.whl", hash = "sha256:0e923e726174922dce09c53c59ad483ff7bbb8e572e00c7f7c46b88556409f31"}, - {file = "zipp-3.17.0.tar.gz", hash = "sha256:84e64a1c28cf7e91ed2078bb8cc8c259cb19b76942096c8d7b84947690cabaf0"}, + {file = "zipp-3.18.1-py3-none-any.whl", hash = "sha256:206f5a15f2af3dbaee80769fb7dc6f249695e940acca08dfb2a4769fe61e538b"}, + {file = "zipp-3.18.1.tar.gz", hash = "sha256:2884ed22e7d8961de1c9a05142eb69a247f120291bc0206a00a7642f09b5b715"}, ] [package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "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"] +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-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy", "pytest-ruff (>=0.2.1)"] [[package]] name = "zope-event" @@ -6843,4 +6786,4 @@ ydb = ["six", "ydb"] [metadata] lock-version = "2.0" python-versions = "^3.8.1,!=3.9.7" -content-hash = "bfc9b006110db970767817b6eec3f44194dc36e29748cb319d75876610a2e1a8" +content-hash = "6acb7d7fcea55e4afe5cda40c744f759d452891f99eb291c0594e02071e6f3d6" diff --git a/pyproject.toml b/pyproject.toml index 35011e723..17dcd8ac8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -163,6 +163,7 @@ sphinxcontrib-httpdomain = "*" sphinx-autodoc-typehints = "*" jupytext = "*" jupyter = "*" +sphinx-polyversion = {git = "https://github.com/ZergLev/sphinx-polyversion.git", branch = "main"} diff --git a/scripts/doc.py b/scripts/doc.py index a411e1f30..3947c9ee2 100644 --- a/scripts/doc.py +++ b/scripts/doc.py @@ -13,6 +13,8 @@ from .utils import docker_client from .clean import clean_docs +from sphinx_polyversion.main import main as poly_main + def _build_drawio(docker: DockerClient): if len(docker.image.list("rlespinasse/drawio-export")) == 0: @@ -53,7 +55,9 @@ def docs(docker: Optional[DockerClient]): _build_drawio(docker) result = apidoc.main(["-e", "-E", "-f", "-o", "docs/source/apiref", "dff"]) result += build.make_main(["-M", "clean", "docs/source", "docs/build"]) - result += build.build_main(["-b", "html", "-W", "--keep-going", "docs/source", "docs/build"]) + poly_path = "docs/source/poly.py" + poly_main([poly_path, poly_path]) + """Possible TO-DO: Add version dependent poly.py pathfile variable. Maybe in a separate file?""" exit(result) else: print(f"{Fore.RED}Docs can be built on Linux platform only!{Style.RESET_ALL}") From 6dd0b6e1e42af3478d4fb0be6a671c4db431cb89 Mon Sep 17 00:00:00 2001 From: ZergLev Date: Fri, 5 Apr 2024 10:27:33 +0500 Subject: [PATCH 002/266] refactor + returned mongoDB container's healthcheck --- .github/workflows/build_and_publish_docs.yml | 3 +-- compose.yml | 6 ++++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_and_publish_docs.yml b/.github/workflows/build_and_publish_docs.yml index 805d4f7da..532630aff 100644 --- a/.github/workflows/build_and_publish_docs.yml +++ b/.github/workflows/build_and_publish_docs.yml @@ -52,10 +52,9 @@ jobs: TG_API_HASH: ${{ secrets.TG_API_HASH }} TG_BOT_USERNAME: ${{ secrets.TG_BOT_USERNAME }} run: | - ls git branch python -m poetry run poe docs - + - name: remove jekyll theming run: touch docs/build/.nojekyll diff --git a/compose.yml b/compose.yml index 6dde98a29..a753b946b 100644 --- a/compose.yml +++ b/compose.yml @@ -63,6 +63,12 @@ services: - 27017:27017 volumes: - mongo-data:/data/db + healthcheck: + test: mongosh --norc --quiet --eval 'db.runCommand("ping").ok' localhost:27017/test + interval: 5s + timeout: 10s + retries: 5 + start_period: 30s ydb: env_file: [.env_file] From 9fda24936431cd5119d743f826a10a3c991976c7 Mon Sep 17 00:00:00 2001 From: ZergLev Date: Fri, 5 Apr 2024 10:41:06 +0500 Subject: [PATCH 003/266] reconfigured switcher.json --- docs/source/_static/switcher.json | 25 +++++-------------------- 1 file changed, 5 insertions(+), 20 deletions(-) diff --git a/docs/source/_static/switcher.json b/docs/source/_static/switcher.json index 03316e259..7bb0eddea 100644 --- a/docs/source/_static/switcher.json +++ b/docs/source/_static/switcher.json @@ -1,27 +1,12 @@ [ { - "name": "master(stable)", - "version": "2.1", - "url": "file:///home/sergey/DialogFlowFramework/SphinxMultiversioning/dialog_flow_framework/docs/build/master/index.html" + "name": "stable(master)", + "version": "master", + "url": "https://zerglev.github.io/dialog_flow_framework/master/index.html" }, { + "name": "latest(dev)", "version": "dev", - "url": "file:///home/sergey/DialogFlowFramework/SphinxMultiversioning/dialog_flow_framework/docs/build/dev/index.html" - }, - { - "version": "test_branch", - "url": "file:///home/sergey/DialogFlowFramework/SphinxMultiversioning/dialog_flow_framework/docs/build/test_branch_test/index.html" - }, - { - "version": "test_branch_2", - "url": "file:///home/sergey/DialogFlowFramework/SphinxMultiversioning/dialog_flow_framework/docs/build/test_branch_2/index.html" - }, - { - "version": "feat/sphinx_multiversion", - "url": "file:///home/sergey/DialogFlowFramework/SphinxMultiversioning/dialog_flow_framework/docs/build/feat/sphinx_multiversion/index.html" - }, - { - "version": "sphinx_multiversion_test", - "url": "file:///home/sergey/DialogFlowFramework/SphinxMultiversioning/dialog_flow_framework/docs/build/sphinx_multiversion_test/index.html" + "url": "https://zerglev.github.io/dialog_flow_framework/dev/index.html" } ] From a0056136cbd2c0003ae924317d7dfb921765e232 Mon Sep 17 00:00:00 2001 From: ZergLev Date: Fri, 5 Apr 2024 10:50:42 +0500 Subject: [PATCH 004/266] refactoring --- docs/source/conf.py | 15 +++------------ docs/source/poly.py | 10 +--------- scripts/doc.py | 1 - 3 files changed, 4 insertions(+), 22 deletions(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index d35afeee9..65d06947d 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -2,7 +2,6 @@ import sys import re import importlib.metadata -import pydata_sphinx_theme # -- Path setup -------------------------------------------------------------- @@ -18,8 +17,6 @@ data = load(globals()) # adds variables `current` and `revisions` current: GitRef = data['current'] -print("current is: ", current) -print("current[0] is: ", current[0]) _distribution_metadata = importlib.metadata.metadata('dff') @@ -119,13 +116,7 @@ "css/custom.css", ] - -# VERSIONING -# Define the json_url for our version switcher. -json_url = "https://raw.githubusercontent.com/ZergLev/dialog_flow_framework/sphinx_multiversion_test/docs/source/_static/switcher.json" -# json_url = "docs/source/_static/switcher.json" -# json_url = "/docs/source/_static/switcher.json" -# json_url = "https://www.wikipedia.org/" +switcher_url = "https://raw.githubusercontent.com/ZergLev/dialog_flow_framework/sphinx_multiversion_test/docs/source/_static/switcher.json" # Theme options html_theme_options = { @@ -156,13 +147,13 @@ ], "secondary_sidebar_items": ["page-toc", "source-links", "example-links"], "switcher": { - "json_url": json_url, - # "version_match" : version, + "json_url": switcher_url, "version_match": current[0], }, "navbar_start": ["navbar-logo", "version-switcher"], } + favicons = [ {"href": "images/logo-dff.svg"}, ] diff --git a/docs/source/poly.py b/docs/source/poly.py index f248cf060..ff46f22f1 100644 --- a/docs/source/poly.py +++ b/docs/source/poly.py @@ -40,16 +40,8 @@ apply_overrides(globals()) # Determine repository root directory root = Git.root(Path(__file__).parent) - -# Debug (Delete before PR!) src = Path(SOURCE_DIR) -vcs_test=Git( - branch_regex=BRANCH_REGEX, - tag_regex=TAG_REGEX, - buffer_size=1 * 10**9, # 1 GB - predicate=file_predicate([src]), # exclude refs without source dir -), -# print(vcs_test.retrieve(root)) + # Setup driver and run it DefaultDriver( root, diff --git a/scripts/doc.py b/scripts/doc.py index 3947c9ee2..4fbe30d6f 100644 --- a/scripts/doc.py +++ b/scripts/doc.py @@ -57,7 +57,6 @@ def docs(docker: Optional[DockerClient]): result += build.make_main(["-M", "clean", "docs/source", "docs/build"]) poly_path = "docs/source/poly.py" poly_main([poly_path, poly_path]) - """Possible TO-DO: Add version dependent poly.py pathfile variable. Maybe in a separate file?""" exit(result) else: print(f"{Fore.RED}Docs can be built on Linux platform only!{Style.RESET_ALL}") From 4cdbbf8b3148234c8222c7e1aba12f38f5315b82 Mon Sep 17 00:00:00 2001 From: ZergLev Date: Fri, 5 Apr 2024 10:51:57 +0500 Subject: [PATCH 005/266] refactoring --- scripts/doc.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/scripts/doc.py b/scripts/doc.py index 4fbe30d6f..4afa25b34 100644 --- a/scripts/doc.py +++ b/scripts/doc.py @@ -7,14 +7,13 @@ import scripts.patch_sphinx # noqa: F401 import sphinx.ext.apidoc as apidoc import sphinx.cmd.build as build +from sphinx_polyversion.main import main as poly_main from colorama import init, Fore, Style from python_on_whales import DockerClient from .utils import docker_client from .clean import clean_docs -from sphinx_polyversion.main import main as poly_main - def _build_drawio(docker: DockerClient): if len(docker.image.list("rlespinasse/drawio-export")) == 0: From 738ef2598d75c9b42e94e4282b3ebbd7d19fafbe Mon Sep 17 00:00:00 2001 From: ZergLev Date: Fri, 5 Apr 2024 10:53:49 +0500 Subject: [PATCH 006/266] corrected switcher_url --- docs/source/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index 65d06947d..aa5ac9ff2 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -116,7 +116,7 @@ "css/custom.css", ] -switcher_url = "https://raw.githubusercontent.com/ZergLev/dialog_flow_framework/sphinx_multiversion_test/docs/source/_static/switcher.json" +switcher_url = "https://raw.githubusercontent.com/ZergLev/dialog_flow_framework/feat/sphinx_multiversion/docs/source/_static/switcher.json" # Theme options html_theme_options = { From d91a19ba9c5936f149ea1d984e882db72a2e839b Mon Sep 17 00:00:00 2001 From: ZergLev Date: Fri, 5 Apr 2024 10:54:39 +0500 Subject: [PATCH 007/266] corrected switcher_url --- docs/source/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index aa5ac9ff2..c234ca035 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -116,7 +116,7 @@ "css/custom.css", ] -switcher_url = "https://raw.githubusercontent.com/ZergLev/dialog_flow_framework/feat/sphinx_multiversion/docs/source/_static/switcher.json" +switcher_url = "https://raw.githubusercontent.com/ZergLev/dialog_flow_framework/master/docs/source/_static/switcher.json" # Theme options html_theme_options = { From 14654b6c9d7c09d7553c7981ebcc6baa75ae5d52 Mon Sep 17 00:00:00 2001 From: ZergLev Date: Fri, 5 Apr 2024 11:18:08 +0500 Subject: [PATCH 008/266] removed error --- .github/workflows/build_and_publish_docs.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/build_and_publish_docs.yml b/.github/workflows/build_and_publish_docs.yml index 532630aff..52b1938c0 100644 --- a/.github/workflows/build_and_publish_docs.yml +++ b/.github/workflows/build_and_publish_docs.yml @@ -25,9 +25,7 @@ jobs: fetch-depth: 0 - run: | git remote show origin - git pull origin dev git checkout dev - git pull origin master git checkout master git branch --all From 5f13612fabbaf10e56c535b9fd3d007fbcb061a2 Mon Sep 17 00:00:00 2001 From: ZergLev Date: Mon, 8 Apr 2024 00:42:49 +0500 Subject: [PATCH 009/266] poly.py corrected --- docs/source/poly.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/docs/source/poly.py b/docs/source/poly.py index ff46f22f1..616b7f88d 100644 --- a/docs/source/poly.py +++ b/docs/source/poly.py @@ -3,13 +3,15 @@ from sphinx_polyversion import * from sphinx_polyversion.git import * from sphinx_polyversion.pyvenv import Poetry -from sphinx_polyversion.sphinx import SphinxBuilder +# from sphinx_polyversion.sphinx import SphinxBuilder +from .poly_builder import DffSphinxBuilder #: Regex matching the branches to build docs for BRANCH_REGEX = r"(dev|master|test_branch|test_branch_2|feat/sphinx_multiversion|sphinx_multiversion_test)" #: Regex matching the tags to build docs for -TAG_REGEX = r"-" +TAG_REGEX = r"(0\.\d*[7-9]\..*)|(\d*[1-9]\..*)" +# That was just 0.7+, need to change that to 0.8 on release. #: Output dir relative to project root OUTPUT_DIR = "docs/build" @@ -52,7 +54,7 @@ buffer_size=1 * 10**9, # 1 GB predicate=file_predicate([src]), # exclude refs without source dir ), - builder=SphinxBuilder(src, args=SPHINX_ARGS), + builder=DffSphinxBuilder(src, args=SPHINX_ARGS), env=Poetry.factory(args=POETRY_ARGS), template_dir=root / src / "templates", static_dir=root / src / "static", From 7916952ad68eb702bb7b04c729b46665353f20ec Mon Sep 17 00:00:00 2001 From: ZergLev Date: Mon, 8 Apr 2024 15:56:11 +0500 Subject: [PATCH 010/266] APIref fix attempted(fail), new builder added --- docs/source/builder.py | 105 +++++++++++++++++++++++++++++++++++++++++ docs/source/conf.py | 10 ++-- docs/source/poly.py | 3 +- docs/source/setup.py | 49 +++++++++++++++++++ scripts/doc.py | 11 +++-- 5 files changed, 171 insertions(+), 7 deletions(-) create mode 100644 docs/source/builder.py create mode 100644 docs/source/setup.py diff --git a/docs/source/builder.py b/docs/source/builder.py new file mode 100644 index 000000000..fdadaaf8d --- /dev/null +++ b/docs/source/builder.py @@ -0,0 +1,105 @@ +from __future__ import annotations +import enum +import os +from logging import getLogger +from pathlib import Path, PurePath +from subprocess import CalledProcessError +from typing import TYPE_CHECKING, Any, Iterable + +from sphinx_polyversion.builder import Builder, BuildError +from sphinx_polyversion.environment import Environment +from sphinx_polyversion.json import GLOBAL_ENCODER, JSONable + +if TYPE_CHECKING: + import json + +from docs.source.setup import setup +import scripts.doc +from sphinx_polyversion.sphinx import CommandBuilder, Placeholder + + +class DffSphinxBuilder(CommandBuilder): + def __init__( + self, + source: str | PurePath, + args: Iterable[str] = [], + encoder: json.JSONEncoder | None = None, + pre_cmd: Iterable[str | Placeholder] | None = None, + post_cmd: Iterable[str | Placeholder] | None = None, + ) -> None: + cmd: Iterable[str | Placeholder] = [ + "sphinx-build", + "--color", + *args, + Placeholder.SOURCE_DIR, + Placeholder.OUTPUT_DIR, + ] + super().__init__( + source, + cmd, + encoder=encoder, + pre_cmd=pre_cmd, + post_cmd=post_cmd, + ) + self.args = args + + async def build( + self, environment: Environment, output_dir: Path, data: JSONable + ) -> None: + """ + Build and render a documentation. + + This method runs the command the instance was created with. + The metadata will be passed to the subprocess encoded as json + using the `POLYVERSION_DATA` environment variable. + + Parameters + ---------- + environment : Environment + The environment to use for building. + output_dir : Path + The output directory to build to. + data : JSONable + The metadata to use for building. + """ + self.logger.info("Building...") + source_dir = str(environment.path.absolute() / self.source) + + def replace(v: Any) -> str: + if v == Placeholder.OUTPUT_DIR: + return str(output_dir) + if v == Placeholder.SOURCE_DIR: + return source_dir + return str(v) + + env = os.environ.copy() + env["POLYVERSION_DATA"] = self.encoder.encode(data) + + cmd = tuple(map(replace, self.cmd)) + + # create output directory + output_dir.mkdir(exist_ok=True, parents=True) + + # doing DFF funcs before doc building + scripts.doc.dff_funcs(str(source_dir)) + setup() + print("setup function finished probably") + # pre hook + if self.pre_cmd: + out, err, rc = await environment.run(*map(replace, self.pre_cmd), env=env) + if rc: + raise BuildError from CalledProcessError(rc, " ".join(cmd), out, err) + + # build command + out, err, rc = await environment.run(*cmd, env=env) + + self.logger.debug("Installation output:\n %s", out) + if rc: + raise BuildError from CalledProcessError(rc, " ".join(cmd), out, err) + + # post hook + if self.post_cmd: + out, err, rc = await environment.run(*map(replace, self.post_cmd), env=env) + if rc: + raise BuildError from CalledProcessError(rc, " ".join(cmd), out, err) + diff --git a/docs/source/conf.py b/docs/source/conf.py index c234ca035..8c39be679 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -2,6 +2,7 @@ import sys import re import importlib.metadata +import pydata_sphinx_theme # -- Path setup -------------------------------------------------------------- @@ -17,6 +18,8 @@ data = load(globals()) # adds variables `current` and `revisions` current: GitRef = data['current'] +print("current is: ", current) +print("current[0] is: ", current[0]) _distribution_metadata = importlib.metadata.metadata('dff') @@ -116,7 +119,8 @@ "css/custom.css", ] -switcher_url = "https://raw.githubusercontent.com/ZergLev/dialog_flow_framework/master/docs/source/_static/switcher.json" + +json_url = "https://raw.githubusercontent.com/ZergLev/dialog_flow_framework/master/docs/source/_static/switcher.json" # Theme options html_theme_options = { @@ -147,13 +151,13 @@ ], "secondary_sidebar_items": ["page-toc", "source-links", "example-links"], "switcher": { - "json_url": switcher_url, + "json_url": json_url, + # "version_match" : version, "version_match": current[0], }, "navbar_start": ["navbar-logo", "version-switcher"], } - favicons = [ {"href": "images/logo-dff.svg"}, ] diff --git a/docs/source/poly.py b/docs/source/poly.py index 616b7f88d..02f553875 100644 --- a/docs/source/poly.py +++ b/docs/source/poly.py @@ -4,7 +4,7 @@ from sphinx_polyversion.git import * from sphinx_polyversion.pyvenv import Poetry # from sphinx_polyversion.sphinx import SphinxBuilder -from .poly_builder import DffSphinxBuilder +from docs.source.builder import DffSphinxBuilder #: Regex matching the branches to build docs for BRANCH_REGEX = r"(dev|master|test_branch|test_branch_2|feat/sphinx_multiversion|sphinx_multiversion_test)" @@ -40,6 +40,7 @@ # Load overrides read from commandline to global scope apply_overrides(globals()) + # Determine repository root directory root = Git.root(Path(__file__).parent) src = Path(SOURCE_DIR) diff --git a/docs/source/setup.py b/docs/source/setup.py new file mode 100644 index 000000000..53951aa4c --- /dev/null +++ b/docs/source/setup.py @@ -0,0 +1,49 @@ +from docs.source.utils.notebook import py_percent_to_notebook # noqa: E402 +from docs.source.utils.generate_tutorials import generate_tutorial_links_for_notebook_creation # noqa: E402 +from docs.source.utils.link_misc_files import link_misc_files # noqa: E402 +from docs.source.utils.regenerate_apiref import regenerate_apiref # noqa: E402 + +def setup(): + print("setup function called") + link_misc_files( + [ + "utils/db_benchmark/benchmark_schema.json", + "utils/db_benchmark/benchmark_streamlit.py", + ] + ) + generate_tutorial_links_for_notebook_creation( + [ + ("tutorials.context_storages", "Context Storages"), + ( + "tutorials.messengers", + "Interfaces", + [ + ("telegram", "Telegram"), + ("web_api_interface", "Web API"), + ], + ), + ("tutorials.pipeline", "Pipeline"), + ( + "tutorials.script", + "Script", + [ + ("core", "Core"), + ("responses", "Responses"), + ], + ), + ("tutorials.utils", "Utils"), + ("tutorials.stats", "Stats"), + ] + ) + regenerate_apiref( + [ + ("dff.context_storages", "Context Storages"), + ("dff.messengers", "Messenger Interfaces"), + ("dff.pipeline", "Pipeline"), + ("dff.script", "Script"), + ("dff.stats", "Stats"), + ("dff.utils.testing", "Testing Utils"), + ("dff.utils.turn_caching", "Caching"), + ("dff.utils.db_benchmark", "DB Benchmark"), + ] + ) diff --git a/scripts/doc.py b/scripts/doc.py index 4afa25b34..3d9b5525a 100644 --- a/scripts/doc.py +++ b/scripts/doc.py @@ -7,13 +7,14 @@ import scripts.patch_sphinx # noqa: F401 import sphinx.ext.apidoc as apidoc import sphinx.cmd.build as build -from sphinx_polyversion.main import main as poly_main from colorama import init, Fore, Style from python_on_whales import DockerClient from .utils import docker_client from .clean import clean_docs +from sphinx_polyversion.main import main as poly_main + def _build_drawio(docker: DockerClient): if len(docker.image.list("rlespinasse/drawio-export")) == 0: @@ -52,11 +53,15 @@ def docs(docker: Optional[DockerClient]): dotenv.load_dotenv(".env_file") os.environ["DISABLE_INTERACTIVE_MODE"] = "1" _build_drawio(docker) - result = apidoc.main(["-e", "-E", "-f", "-o", "docs/source/apiref", "dff"]) - result += build.make_main(["-M", "clean", "docs/source", "docs/build"]) + #build_drawio should be called in all revisions and I don't know how yet + result = build.make_main(["-M", "clean", "docs/source", "docs/build"]) poly_path = "docs/source/poly.py" poly_main([poly_path, poly_path]) exit(result) else: print(f"{Fore.RED}Docs can be built on Linux platform only!{Style.RESET_ALL}") exit(1) +# Functions to be called from DffSphinxBuilder before build +def dff_funcs(source_dir: str): + apiref_dir = source_dir + "/apiref" + apidoc.main(["-e", "-E", "-f", "-o", apiref_dir, "dff"]) From ae2bec0edc40d8a63846474b5773074d51d37b06 Mon Sep 17 00:00:00 2001 From: ZergLev Date: Tue, 9 Apr 2024 22:37:13 +0500 Subject: [PATCH 011/266] API Ref/Tutorials linking (mostly) fixed --- docs/source/builder.py | 5 ++- docs/source/conf.py | 46 +---------------------- docs/source/setup.py | 16 ++++++-- docs/source/utils/generate_tutorials.py | 49 ++++++++++++++++++++----- docs/source/utils/link_misc_files.py | 4 +- docs/source/utils/regenerate_apiref.py | 10 ++++- 6 files changed, 66 insertions(+), 64 deletions(-) diff --git a/docs/source/builder.py b/docs/source/builder.py index fdadaaf8d..42a03ded2 100644 --- a/docs/source/builder.py +++ b/docs/source/builder.py @@ -81,8 +81,9 @@ def replace(v: Any) -> str: output_dir.mkdir(exist_ok=True, parents=True) # doing DFF funcs before doc building - scripts.doc.dff_funcs(str(source_dir)) - setup() + root_dir = environment.path.absolute() + scripts.doc.dff_funcs(str(root_dir)) + setup(str(root_dir), str(output_dir)) print("setup function finished probably") # pre hook if self.pre_cmd: diff --git a/docs/source/conf.py b/docs/source/conf.py index 8c39be679..69ae02d7f 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -65,6 +65,7 @@ add_module_names = False +print(os.getcwd()) # Add any paths that contain templates here, relative to this directory. templates_path = ["_templates"] @@ -170,48 +171,3 @@ "member-order": "bysource", "exclude-members": "_abc_impl, model_fields", } - - -def setup(_): - link_misc_files( - [ - "utils/db_benchmark/benchmark_schema.json", - "utils/db_benchmark/benchmark_streamlit.py", - ] - ) - generate_tutorial_links_for_notebook_creation( - [ - ("tutorials.context_storages", "Context Storages"), - ( - "tutorials.messengers", - "Interfaces", - [ - ("telegram", "Telegram"), - ("web_api_interface", "Web API"), - ], - ), - ("tutorials.pipeline", "Pipeline"), - ( - "tutorials.script", - "Script", - [ - ("core", "Core"), - ("responses", "Responses"), - ], - ), - ("tutorials.utils", "Utils"), - ("tutorials.stats", "Stats"), - ] - ) - regenerate_apiref( - [ - ("dff.context_storages", "Context Storages"), - ("dff.messengers", "Messenger Interfaces"), - ("dff.pipeline", "Pipeline"), - ("dff.script", "Script"), - ("dff.stats", "Stats"), - ("dff.utils.testing", "Testing Utils"), - ("dff.utils.turn_caching", "Caching"), - ("dff.utils.db_benchmark", "DB Benchmark"), - ] - ) diff --git a/docs/source/setup.py b/docs/source/setup.py index 53951aa4c..b9bdae607 100644 --- a/docs/source/setup.py +++ b/docs/source/setup.py @@ -2,14 +2,17 @@ from docs.source.utils.generate_tutorials import generate_tutorial_links_for_notebook_creation # noqa: E402 from docs.source.utils.link_misc_files import link_misc_files # noqa: E402 from docs.source.utils.regenerate_apiref import regenerate_apiref # noqa: E402 +from pathlib import Path -def setup(): +def setup(root_dir: str, output_dir: str): print("setup function called") + print(root_dir) link_misc_files( [ "utils/db_benchmark/benchmark_schema.json", "utils/db_benchmark/benchmark_streamlit.py", - ] + ], + root_dir=Path(root_dir), ) generate_tutorial_links_for_notebook_creation( [ @@ -33,8 +36,12 @@ def setup(): ), ("tutorials.utils", "Utils"), ("tutorials.stats", "Stats"), - ] + ], + source=(root_dir + "/tutorials"), + destination=(root_dir + "/docs/source/tutorials"), ) + print(root_dir + "/tutorials") + print(root_dir + "/docs/source/tutorials") regenerate_apiref( [ ("dff.context_storages", "Context Storages"), @@ -45,5 +52,6 @@ def setup(): ("dff.utils.testing", "Testing Utils"), ("dff.utils.turn_caching", "Caching"), ("dff.utils.db_benchmark", "DB Benchmark"), - ] + ], + root_dir=root_dir, ) diff --git a/docs/source/utils/generate_tutorials.py b/docs/source/utils/generate_tutorials.py index c35bb5749..caff2b503 100644 --- a/docs/source/utils/generate_tutorials.py +++ b/docs/source/utils/generate_tutorials.py @@ -1,4 +1,5 @@ from pathlib import Path +from shutil import copy from typing import List, Optional, Set, Union, Tuple @@ -13,6 +14,13 @@ def create_notebook_link(source: Path, destination: Path): destination.unlink(missing_ok=True) destination.parent.mkdir(exist_ok=True, parents=True) destination.symlink_to(source.resolve(), False) + print("source = ", source.resolve()) + print("destination = ", destination) + # result = copy(source.resolve(), destination.resolve()) + # print(result) + + # Changing this into a create_notebook_copy, cause version-dependent source + # files get deleted along with a temp directory during polyversion docs build. def generate_nb_gallery(package: str, files: List[Path]) -> str: @@ -30,7 +38,7 @@ def generate_nb_gallery(package: str, files: List[Path]) -> str: def create_index_file( - included: Union[Tuple[str, str], Tuple[str, str, List[Tuple[str, str]]]], files: List[Path], destination: Path + included: Union[Tuple[str, str], Tuple[str, str, List[Tuple[str, str]]]], files: List[Path], destination: Path, source_dir: Path = "docs/source", ): """ Create a package index file. @@ -49,14 +57,18 @@ def create_index_file( {"=" * len(title)} """ if len(included) == 2: - contents += generate_nb_gallery(included[0], files) + print("included[0] = ", included[0]) + print("possibly better tutorial path would be:", source_dir / included[0]) + contents += generate_nb_gallery((included[0]), files) else: for subpackage in included[2]: contents += f"\n{subpackage[1]}\n{'-' * len(subpackage[1])}\n" - contents += generate_nb_gallery(f"{included[0]}.{subpackage[0]}", files) + print(f"{included[0]}.{subpackage[0]}") + contents += generate_nb_gallery(f"{str(source_dir)}/{included[0]}.{subpackage[0]}", files) destination.parent.mkdir(exist_ok=True, parents=True) destination.write_text(contents) + print("index file destination = ", destination) def sort_tutorial_file_tree(files: Set[Path]) -> List[Path]: @@ -80,21 +92,33 @@ def sort_key(tutorial_file_name: Path) -> float: def iterate_tutorials_dir_generating_links(source: Path, dest: Path, base: str) -> List[Path]: """ - Recursively travel through tutorials directory, creating links for all files under docs/source/tutorials/ root. - Created link files have dot-path name matching source file tree structure. + Recursively travel through tutorials directory, creating copies for all files under /tmp_dir/docs/source/tutorials/ root. + Created copied files have absolute path name matching source file tree structure. :param source: Tutorials root (usually tutorials/). :param dest: Tutorials destination (usually docs/source/tutorials/). - :param base: Dot path to current dir (will be used for link file naming). + :param base: Absolute path to current dir (will be used for link file naming). """ if not source.is_dir(): raise Exception(f"Entity {source} appeared to be a file during processing!") links = list() for entity in [obj for obj in sort_tutorial_file_tree(set(source.glob("./*"))) if not obj.name.startswith("__")]: + print(entity, "||", f"{base}") + print("My destination would be:", f"{base}.{entity.name}") base_name = f"{base}.{entity.name}" + print("source.name = ", f"{source.name}") + print("base_name = ", base_name) if entity.is_file() and entity.suffix in (".py", ".ipynb"): base_path = Path(base_name) - create_notebook_link(entity, dest / base_path) + print("base_path = ", base_path) + print("dest = ", dest) + print("dest = ", dest) + print(str(dest)) + print(str(dest) / base_path) + print(dest / str(base_path)) + print(Path(dest / str(base_path))) + dest_path = f"{base}" + create_notebook_link(entity, Path(base_name)) links += [base_path] elif entity.is_dir() and not entity.name.startswith("_"): links += iterate_tutorials_dir_generating_links(entity, dest, base_name) @@ -106,6 +130,7 @@ def generate_tutorial_links_for_notebook_creation( exclude: Optional[List[str]] = None, source: str = "tutorials", destination: str = "docs/source/tutorials", + root_dir: str = ".", ): """ Generate symbolic links to tutorials files (tutorials/) in docs directory (docs/source/tutorials/). @@ -121,6 +146,8 @@ def generate_tutorial_links_for_notebook_creation( include = [("tutorials", "Tutorials")] if include is None else include exclude = list() if exclude is None else exclude dest = Path(destination) + print("dest =", destination) + print(dest) flattened = list() for package in include: @@ -129,7 +156,7 @@ def generate_tutorial_links_for_notebook_creation( else: flattened += [f"{package[0]}.{subpackage[0]}" for subpackage in package[2]] - links = iterate_tutorials_dir_generating_links(Path(source), dest, source) + links = iterate_tutorials_dir_generating_links(Path(source), dest, f"{destination}/tutorials") filtered_links = list() for link in links: link_included = len(list(flat for flat in flattened if link.name.startswith(flat))) > 0 @@ -137,5 +164,9 @@ def generate_tutorial_links_for_notebook_creation( if link_included and not link_excluded: filtered_links += [link] + print(include) + print(filtered_links) for included in include: - create_index_file(included, filtered_links, dest / Path(f"index_{included[1].replace(' ', '_').lower()}.rst")) + print(included) + print(dest / Path(f"index_{included[1].replace(' ', '_').lower()}.rst")) + create_index_file(included, filtered_links, dest / Path(f"index_{included[1].replace(' ', '_').lower()}.rst"), dest) diff --git a/docs/source/utils/link_misc_files.py b/docs/source/utils/link_misc_files.py index 6d557f3d9..5c0ebb134 100644 --- a/docs/source/utils/link_misc_files.py +++ b/docs/source/utils/link_misc_files.py @@ -14,7 +14,7 @@ def create_file_link(source: Path, destination: Path): destination.symlink_to(source.resolve(), False) -def link_misc_files(files: Iterable[str]): +def link_misc_files(files: Iterable[str], root_dir: Path): """ Create links inside the `docs/source/_misc` directory. @@ -22,4 +22,4 @@ def link_misc_files(files: Iterable[str]): """ for file_name in files: file = Path(file_name) - create_file_link(file, Path("docs/source/_misc") / file.name) + create_file_link(root_dir / file, root_dir / Path("docs/source/_misc") / file.name) diff --git a/docs/source/utils/regenerate_apiref.py b/docs/source/utils/regenerate_apiref.py index 35d09b5d2..0e1496428 100644 --- a/docs/source/utils/regenerate_apiref.py +++ b/docs/source/utils/regenerate_apiref.py @@ -30,7 +30,7 @@ def generate_doc_container(file: Path, alias: str, includes: List[Path]): file.with_name(f"index_{file.name}").write_text(contents) -def regenerate_apiref(paths: Optional[List[Tuple[str, str]]] = None, destination: str = "apiref"): +def regenerate_apiref(paths: Optional[List[Tuple[str, str]]] = None, root_dir: str = ".", destination: str = "apiref"): """ Regenerate files in apiref root. Not all the files there are generally useful: mostly the folder consists of module toctrees that look ugly. @@ -44,7 +44,13 @@ def regenerate_apiref(paths: Optional[List[Tuple[str, str]]] = None, destination :param destination: Apiref root path, default: apiref. """ paths = list() if paths is None else paths - source = Path(f"./docs/source/{destination}") + source = Path(root_dir) / 'docs' / 'source' / destination + print("Currently at regenerate apiref") + print(root_dir) + print(Path(root_dir)) + print((Path(root_dir) / 'docs' / 'source')) + print((Path(root_dir) / Path('docs/source') / Path(destination))) + print("source is: ", source) doc_containers: Dict[str, Tuple[str, List[Path]]] = dict() for doc_file in iter(source.glob("./*.rst")): From 30c30c407a164fc42e6dcc1488f2c0593a425205 Mon Sep 17 00:00:00 2001 From: ZergLev Date: Tue, 9 Apr 2024 23:01:36 +0500 Subject: [PATCH 012/266] mistake patched --- docs/source/setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/setup.py b/docs/source/setup.py index b9bdae607..040ba8d1f 100644 --- a/docs/source/setup.py +++ b/docs/source/setup.py @@ -53,5 +53,5 @@ def setup(root_dir: str, output_dir: str): ("dff.utils.turn_caching", "Caching"), ("dff.utils.db_benchmark", "DB Benchmark"), ], - root_dir=root_dir, + source_dir=(root_dir + "/docs/source"), ) From 578e90a4282a11ddfea044dc202bd9c37432e72f Mon Sep 17 00:00:00 2001 From: ZergLev Date: Tue, 9 Apr 2024 23:04:27 +0500 Subject: [PATCH 013/266] mistake patched --- docs/source/setup.py | 2 +- scripts/doc.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/source/setup.py b/docs/source/setup.py index 040ba8d1f..b9bdae607 100644 --- a/docs/source/setup.py +++ b/docs/source/setup.py @@ -53,5 +53,5 @@ def setup(root_dir: str, output_dir: str): ("dff.utils.turn_caching", "Caching"), ("dff.utils.db_benchmark", "DB Benchmark"), ], - source_dir=(root_dir + "/docs/source"), + root_dir=root_dir, ) diff --git a/scripts/doc.py b/scripts/doc.py index 3d9b5525a..98288440d 100644 --- a/scripts/doc.py +++ b/scripts/doc.py @@ -62,6 +62,6 @@ def docs(docker: Optional[DockerClient]): print(f"{Fore.RED}Docs can be built on Linux platform only!{Style.RESET_ALL}") exit(1) # Functions to be called from DffSphinxBuilder before build -def dff_funcs(source_dir: str): - apiref_dir = source_dir + "/apiref" +def dff_funcs(root_dir: str): + apiref_dir = root_dir + "/docs/source/apiref" apidoc.main(["-e", "-E", "-f", "-o", apiref_dir, "dff"]) From 0f01a776175ef986784fc477727898a0d074d2fa Mon Sep 17 00:00:00 2001 From: ZergLev Date: Wed, 17 Apr 2024 15:36:53 +0500 Subject: [PATCH 014/266] core features finished --- docs/source/OlderBuilder.py | 108 ++++++++++++++++++++++++ docs/source/__init__.py | 0 docs/source/builder.py | 28 +++++- docs/source/conf.py | 15 ++-- docs/source/poly.py | 19 ++++- docs/source/setup.py | 3 + docs/source/utils/__init__.py | 0 docs/source/utils/generate_tutorials.py | 17 ++-- docs/source/utils/regenerate_apiref.py | 6 +- scripts/doc.py | 4 +- 10 files changed, 181 insertions(+), 19 deletions(-) create mode 100644 docs/source/OlderBuilder.py create mode 100644 docs/source/__init__.py create mode 100644 docs/source/utils/__init__.py diff --git a/docs/source/OlderBuilder.py b/docs/source/OlderBuilder.py new file mode 100644 index 000000000..ff65c5cc2 --- /dev/null +++ b/docs/source/OlderBuilder.py @@ -0,0 +1,108 @@ +from __future__ import annotations +import enum +import os +import shutil +from logging import getLogger +from pathlib import Path, PurePath +from subprocess import CalledProcessError +from typing import TYPE_CHECKING, Any, Iterable + +from sphinx_polyversion.builder import Builder, BuildError +from sphinx_polyversion.environment import Environment +from sphinx_polyversion.json import GLOBAL_ENCODER, JSONable + +if TYPE_CHECKING: + import json + +from docs.source.setup import setup +import scripts.doc +from sphinx_polyversion.sphinx import CommandBuilder, Placeholder + + +class OlderDffSphinxBuilder(CommandBuilder): + def __init__( + self, + source: str | PurePath, + args: Iterable[str] = [], + encoder: json.JSONEncoder | None = None, + pre_cmd: Iterable[str | Placeholder] | None = None, + post_cmd: Iterable[str | Placeholder] | None = None, + ) -> None: + cmd: Iterable[str | Placeholder] = [ + "sphinx-build", + "--color", + *args, + Placeholder.SOURCE_DIR, + Placeholder.OUTPUT_DIR, + ] + super().__init__( + source, + cmd, + encoder=encoder, + pre_cmd=pre_cmd, + post_cmd=post_cmd, + ) + self.args = args + + async def build( + self, environment: Environment, output_dir: Path, data: JSONable + ) -> None: + """ + Build and render a documentation. + + This method runs the command the instance was created with. + The metadata will be passed to the subprocess encoded as json + using the `POLYVERSION_DATA` environment variable. + + Parameters + ---------- + environment : Environment + The environment to use for building. + output_dir : Path + The output directory to build to. + data : JSONable + The metadata to use for building. + """ + self.logger.info("Building...") + source_dir = str(environment.path.absolute() / self.source) + + def replace(v: Any) -> str: + if v == Placeholder.OUTPUT_DIR: + return str(output_dir) + if v == Placeholder.SOURCE_DIR: + return source_dir + return str(v) + + env = os.environ.copy() + env["POLYVERSION_DATA"] = self.encoder.encode(data) + + cmd = tuple(map(replace, self.cmd)) + + # create output directory + output_dir.mkdir(exist_ok=True, parents=True) + + # doing DFF funcs before doc building + root_dir = environment.path.absolute() + scripts.doc.dff_funcs(str(root_dir)) + setup(str(root_dir), str(output_dir)) + print("setup function finished probably") + + # pre hook + if self.pre_cmd: + out, err, rc = await environment.run(*map(replace, self.pre_cmd), env=env) + if rc: + raise BuildError from CalledProcessError(rc, " ".join(cmd), out, err) + + # build command + out, err, rc = await environment.run(*cmd, env=env) + + self.logger.debug("Installation output:\n %s", out) + if rc: + raise BuildError from CalledProcessError(rc, " ".join(cmd), out, err) + + # post hook + if self.post_cmd: + out, err, rc = await environment.run(*map(replace, self.post_cmd), env=env) + if rc: + raise BuildError from CalledProcessError(rc, " ".join(cmd), out, err) + diff --git a/docs/source/__init__.py b/docs/source/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/docs/source/builder.py b/docs/source/builder.py index 42a03ded2..6d5c9c41f 100644 --- a/docs/source/builder.py +++ b/docs/source/builder.py @@ -1,6 +1,9 @@ from __future__ import annotations import enum import os +import sys +import shutil +import importlib.util from logging import getLogger from pathlib import Path, PurePath from subprocess import CalledProcessError @@ -13,7 +16,6 @@ if TYPE_CHECKING: import json -from docs.source.setup import setup import scripts.doc from sphinx_polyversion.sphinx import CommandBuilder, Placeholder @@ -80,11 +82,31 @@ def replace(v: Any) -> str: # create output directory output_dir.mkdir(exist_ok=True, parents=True) - # doing DFF funcs before doc building + # Importing version-dependent module setup.py root_dir = environment.path.absolute() + os.system("ls" + str(source_dir)) + print(str(source_dir) + "/setup.py") + spec = importlib.util.spec_from_file_location("setup", str(source_dir) + "/setup.py") + print(spec) + setup_module = importlib.util.module_from_spec(spec) + print(setup_module) + sys.modules["setup"] = setup_module + print(sys.modules["setup"]) + spec.loader.exec_module(setup_module) + + # doing DFF funcs before doc building scripts.doc.dff_funcs(str(root_dir)) - setup(str(root_dir), str(output_dir)) + setup_module.setup(str(root_dir), str(output_dir)) print("setup function finished probably") + + # Replacing old conf.py file with the newest one + # This shouldn't be there in builders for older versions. + newer_conf_path = (os.getcwd() + "/docs/source/conf.py") + print(newer_conf_path) + older_conf_path = str(source_dir) + "/conf.py" + print(older_conf_path) + shutil.copyfile(newer_conf_path, older_conf_path) + # pre hook if self.pre_cmd: out, err, rc = await environment.run(*map(replace, self.pre_cmd), env=env) diff --git a/docs/source/conf.py b/docs/source/conf.py index 69ae02d7f..473805e26 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -8,9 +8,9 @@ sys.path.append(os.path.abspath(".")) from utils.notebook import py_percent_to_notebook # noqa: E402 -from utils.generate_tutorials import generate_tutorial_links_for_notebook_creation # noqa: E402 -from utils.link_misc_files import link_misc_files # noqa: E402 -from utils.regenerate_apiref import regenerate_apiref # noqa: E402 +# from .utils.generate_tutorials import generate_tutorial_links_for_notebook_creation # noqa: E402 +# from .utils.link_misc_files import link_misc_files # noqa: E402 +# from .utils.regenerate_apiref import regenerate_apiref # noqa: E402 from sphinx_polyversion import load from sphinx_polyversion.git import GitRef @@ -121,7 +121,9 @@ ] -json_url = "https://raw.githubusercontent.com/ZergLev/dialog_flow_framework/master/docs/source/_static/switcher.json" +json_url = "https://zerglev.github.io/dialog_flow_framework/master/_static/switcher.json" +# Need to make a better url. Could it be stored in dev? Should it be passed to older versions somehow? +# It has to be addressed before release. # Theme options html_theme_options = { @@ -156,7 +158,10 @@ # "version_match" : version, "version_match": current[0], }, - "navbar_start": ["navbar-logo", "version-switcher"], + "navbar_persistent": ["search-button.html", "theme-switcher.html"], + # "navbar_align": "left", + "navbar_end": ["version-switcher.html", "navbar-icon-links.html"], + "show_version_warning_banner": True, } favicons = [ diff --git a/docs/source/poly.py b/docs/source/poly.py index 02f553875..831516364 100644 --- a/docs/source/poly.py +++ b/docs/source/poly.py @@ -1,17 +1,21 @@ from pathlib import Path from datetime import datetime +from functools import partial from sphinx_polyversion import * from sphinx_polyversion.git import * +from sphinx_polyversion.git import closest_tag from sphinx_polyversion.pyvenv import Poetry # from sphinx_polyversion.sphinx import SphinxBuilder from docs.source.builder import DffSphinxBuilder +from docs.source.OlderBuilder import OlderDffSphinxBuilder #: Regex matching the branches to build docs for BRANCH_REGEX = r"(dev|master|test_branch|test_branch_2|feat/sphinx_multiversion|sphinx_multiversion_test)" #: Regex matching the tags to build docs for -TAG_REGEX = r"(0\.\d*[7-9]\..*)|(\d*[1-9]\..*)" -# That was just 0.7+, need to change that to 0.8 on release. +# TAG_REGEX = r"(v0.7.0|v0.8.0)" +# That was just 0.7.0, need to change that on release to auto tags. +TAG_REGEX = r"-" #: Output dir relative to project root OUTPUT_DIR = "docs/build" @@ -45,6 +49,15 @@ root = Git.root(Path(__file__).parent) src = Path(SOURCE_DIR) +# Use different builders for different versions +# Doesn't work for now (polyversion dev's instructions don't work) +""" +BUILDER = { + None: DffSphinxBuilder(src, args=SPHINX_ARGS), # default + "v0.7.0": OlderDffSphinxBuilder(src, args=SPHINX_ARGS), # only for v0.7.0 +} +""" + # Setup driver and run it DefaultDriver( root, @@ -55,8 +68,10 @@ buffer_size=1 * 10**9, # 1 GB predicate=file_predicate([src]), # exclude refs without source dir ), + # builder=BUILDER, builder=DffSphinxBuilder(src, args=SPHINX_ARGS), env=Poetry.factory(args=POETRY_ARGS), + selector=partial(closest_tag, root), template_dir=root / src / "templates", static_dir=root / src / "static", mock=MOCK_DATA, diff --git a/docs/source/setup.py b/docs/source/setup.py index b9bdae607..d0466a6c7 100644 --- a/docs/source/setup.py +++ b/docs/source/setup.py @@ -14,6 +14,7 @@ def setup(root_dir: str, output_dir: str): ], root_dir=Path(root_dir), ) + """ generate_tutorial_links_for_notebook_creation( [ ("tutorials.context_storages", "Context Storages"), @@ -55,3 +56,5 @@ def setup(root_dir: str, output_dir: str): ], root_dir=root_dir, ) + """ + print("setup function called") diff --git a/docs/source/utils/__init__.py b/docs/source/utils/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/docs/source/utils/generate_tutorials.py b/docs/source/utils/generate_tutorials.py index caff2b503..8ea5d49f9 100644 --- a/docs/source/utils/generate_tutorials.py +++ b/docs/source/utils/generate_tutorials.py @@ -18,7 +18,7 @@ def create_notebook_link(source: Path, destination: Path): print("destination = ", destination) # result = copy(source.resolve(), destination.resolve()) # print(result) - + # Changing this into a create_notebook_copy, cause version-dependent source # files get deleted along with a temp directory during polyversion docs build. @@ -38,7 +38,10 @@ def generate_nb_gallery(package: str, files: List[Path]) -> str: def create_index_file( - included: Union[Tuple[str, str], Tuple[str, str, List[Tuple[str, str]]]], files: List[Path], destination: Path, source_dir: Path = "docs/source", + included: Union[Tuple[str, str], Tuple[str, str, List[Tuple[str, str]]]], + files: List[Path], + destination: Path, + source_dir: Path = "docs/source", ): """ Create a package index file. @@ -58,13 +61,15 @@ def create_index_file( """ if len(included) == 2: print("included[0] = ", included[0]) + print("possibly better str tutorial path would be:", f"{str(source_dir)}/{included[0]}") print("possibly better tutorial path would be:", source_dir / included[0]) - contents += generate_nb_gallery((included[0]), files) + contents += generate_nb_gallery(included[0], files) else: for subpackage in included[2]: contents += f"\n{subpackage[1]}\n{'-' * len(subpackage[1])}\n" print(f"{included[0]}.{subpackage[0]}") - contents += generate_nb_gallery(f"{str(source_dir)}/{included[0]}.{subpackage[0]}", files) + print(files) + contents += generate_nb_gallery(f"{included[0]}.{subpackage[0]}", files) destination.parent.mkdir(exist_ok=True, parents=True) destination.write_text(contents) @@ -169,4 +174,6 @@ def generate_tutorial_links_for_notebook_creation( for included in include: print(included) print(dest / Path(f"index_{included[1].replace(' ', '_').lower()}.rst")) - create_index_file(included, filtered_links, dest / Path(f"index_{included[1].replace(' ', '_').lower()}.rst"), dest) + create_index_file( + included, filtered_links, dest / Path(f"index_{included[1].replace(' ', '_').lower()}.rst"), dest + ) diff --git a/docs/source/utils/regenerate_apiref.py b/docs/source/utils/regenerate_apiref.py index 0e1496428..7072cc39f 100644 --- a/docs/source/utils/regenerate_apiref.py +++ b/docs/source/utils/regenerate_apiref.py @@ -44,12 +44,12 @@ def regenerate_apiref(paths: Optional[List[Tuple[str, str]]] = None, root_dir: s :param destination: Apiref root path, default: apiref. """ paths = list() if paths is None else paths - source = Path(root_dir) / 'docs' / 'source' / destination + source = Path(root_dir) / "docs" / "source" / destination print("Currently at regenerate apiref") print(root_dir) print(Path(root_dir)) - print((Path(root_dir) / 'docs' / 'source')) - print((Path(root_dir) / Path('docs/source') / Path(destination))) + print((Path(root_dir) / "docs" / "source")) + print((Path(root_dir) / Path("docs/source") / Path(destination))) print("source is: ", source) doc_containers: Dict[str, Tuple[str, List[Path]]] = dict() diff --git a/scripts/doc.py b/scripts/doc.py index 98288440d..88f58c57a 100644 --- a/scripts/doc.py +++ b/scripts/doc.py @@ -53,7 +53,7 @@ def docs(docker: Optional[DockerClient]): dotenv.load_dotenv(".env_file") os.environ["DISABLE_INTERACTIVE_MODE"] = "1" _build_drawio(docker) - #build_drawio should be called in all revisions and I don't know how yet + # build_drawio should be called in all revisions and I don't know how yet result = build.make_main(["-M", "clean", "docs/source", "docs/build"]) poly_path = "docs/source/poly.py" poly_main([poly_path, poly_path]) @@ -61,6 +61,8 @@ def docs(docker: Optional[DockerClient]): else: print(f"{Fore.RED}Docs can be built on Linux platform only!{Style.RESET_ALL}") exit(1) + + # Functions to be called from DffSphinxBuilder before build def dff_funcs(root_dir: str): apiref_dir = root_dir + "/docs/source/apiref" From c07125bee64ebadad749c1a9cf39a2e857428f58 Mon Sep 17 00:00:00 2001 From: ZergLev Date: Thu, 18 Apr 2024 16:09:22 +0500 Subject: [PATCH 015/266] removed debug output and some comments --- .github/workflows/build_and_publish_docs.yml | 3 - docs/source/OlderBuilder.py | 108 ------------------- docs/source/builder.py | 8 -- docs/source/conf.py | 6 -- docs/source/poly.py | 5 +- docs/source/setup.py | 7 -- docs/source/utils/generate_tutorials.py | 34 +----- 7 files changed, 3 insertions(+), 168 deletions(-) delete mode 100644 docs/source/OlderBuilder.py diff --git a/.github/workflows/build_and_publish_docs.yml b/.github/workflows/build_and_publish_docs.yml index 52b1938c0..94bb92dd6 100644 --- a/.github/workflows/build_and_publish_docs.yml +++ b/.github/workflows/build_and_publish_docs.yml @@ -24,10 +24,8 @@ jobs: with: fetch-depth: 0 - run: | - git remote show origin git checkout dev git checkout master - git branch --all - name: set up python 3.9 uses: actions/setup-python@v5 @@ -50,7 +48,6 @@ jobs: TG_API_HASH: ${{ secrets.TG_API_HASH }} TG_BOT_USERNAME: ${{ secrets.TG_BOT_USERNAME }} run: | - git branch python -m poetry run poe docs - name: remove jekyll theming diff --git a/docs/source/OlderBuilder.py b/docs/source/OlderBuilder.py deleted file mode 100644 index ff65c5cc2..000000000 --- a/docs/source/OlderBuilder.py +++ /dev/null @@ -1,108 +0,0 @@ -from __future__ import annotations -import enum -import os -import shutil -from logging import getLogger -from pathlib import Path, PurePath -from subprocess import CalledProcessError -from typing import TYPE_CHECKING, Any, Iterable - -from sphinx_polyversion.builder import Builder, BuildError -from sphinx_polyversion.environment import Environment -from sphinx_polyversion.json import GLOBAL_ENCODER, JSONable - -if TYPE_CHECKING: - import json - -from docs.source.setup import setup -import scripts.doc -from sphinx_polyversion.sphinx import CommandBuilder, Placeholder - - -class OlderDffSphinxBuilder(CommandBuilder): - def __init__( - self, - source: str | PurePath, - args: Iterable[str] = [], - encoder: json.JSONEncoder | None = None, - pre_cmd: Iterable[str | Placeholder] | None = None, - post_cmd: Iterable[str | Placeholder] | None = None, - ) -> None: - cmd: Iterable[str | Placeholder] = [ - "sphinx-build", - "--color", - *args, - Placeholder.SOURCE_DIR, - Placeholder.OUTPUT_DIR, - ] - super().__init__( - source, - cmd, - encoder=encoder, - pre_cmd=pre_cmd, - post_cmd=post_cmd, - ) - self.args = args - - async def build( - self, environment: Environment, output_dir: Path, data: JSONable - ) -> None: - """ - Build and render a documentation. - - This method runs the command the instance was created with. - The metadata will be passed to the subprocess encoded as json - using the `POLYVERSION_DATA` environment variable. - - Parameters - ---------- - environment : Environment - The environment to use for building. - output_dir : Path - The output directory to build to. - data : JSONable - The metadata to use for building. - """ - self.logger.info("Building...") - source_dir = str(environment.path.absolute() / self.source) - - def replace(v: Any) -> str: - if v == Placeholder.OUTPUT_DIR: - return str(output_dir) - if v == Placeholder.SOURCE_DIR: - return source_dir - return str(v) - - env = os.environ.copy() - env["POLYVERSION_DATA"] = self.encoder.encode(data) - - cmd = tuple(map(replace, self.cmd)) - - # create output directory - output_dir.mkdir(exist_ok=True, parents=True) - - # doing DFF funcs before doc building - root_dir = environment.path.absolute() - scripts.doc.dff_funcs(str(root_dir)) - setup(str(root_dir), str(output_dir)) - print("setup function finished probably") - - # pre hook - if self.pre_cmd: - out, err, rc = await environment.run(*map(replace, self.pre_cmd), env=env) - if rc: - raise BuildError from CalledProcessError(rc, " ".join(cmd), out, err) - - # build command - out, err, rc = await environment.run(*cmd, env=env) - - self.logger.debug("Installation output:\n %s", out) - if rc: - raise BuildError from CalledProcessError(rc, " ".join(cmd), out, err) - - # post hook - if self.post_cmd: - out, err, rc = await environment.run(*map(replace, self.post_cmd), env=env) - if rc: - raise BuildError from CalledProcessError(rc, " ".join(cmd), out, err) - diff --git a/docs/source/builder.py b/docs/source/builder.py index 6d5c9c41f..92d1b71c5 100644 --- a/docs/source/builder.py +++ b/docs/source/builder.py @@ -84,27 +84,19 @@ def replace(v: Any) -> str: # Importing version-dependent module setup.py root_dir = environment.path.absolute() - os.system("ls" + str(source_dir)) - print(str(source_dir) + "/setup.py") spec = importlib.util.spec_from_file_location("setup", str(source_dir) + "/setup.py") - print(spec) setup_module = importlib.util.module_from_spec(spec) - print(setup_module) sys.modules["setup"] = setup_module - print(sys.modules["setup"]) spec.loader.exec_module(setup_module) # doing DFF funcs before doc building scripts.doc.dff_funcs(str(root_dir)) setup_module.setup(str(root_dir), str(output_dir)) - print("setup function finished probably") # Replacing old conf.py file with the newest one # This shouldn't be there in builders for older versions. newer_conf_path = (os.getcwd() + "/docs/source/conf.py") - print(newer_conf_path) older_conf_path = str(source_dir) + "/conf.py" - print(older_conf_path) shutil.copyfile(newer_conf_path, older_conf_path) # pre hook diff --git a/docs/source/conf.py b/docs/source/conf.py index 473805e26..c07547852 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -18,8 +18,6 @@ data = load(globals()) # adds variables `current` and `revisions` current: GitRef = data['current'] -print("current is: ", current) -print("current[0] is: ", current[0]) _distribution_metadata = importlib.metadata.metadata('dff') @@ -65,8 +63,6 @@ add_module_names = False -print(os.getcwd()) - # Add any paths that contain templates here, relative to this directory. templates_path = ["_templates"] @@ -155,11 +151,9 @@ "secondary_sidebar_items": ["page-toc", "source-links", "example-links"], "switcher": { "json_url": json_url, - # "version_match" : version, "version_match": current[0], }, "navbar_persistent": ["search-button.html", "theme-switcher.html"], - # "navbar_align": "left", "navbar_end": ["version-switcher.html", "navbar-icon-links.html"], "show_version_warning_banner": True, } diff --git a/docs/source/poly.py b/docs/source/poly.py index 831516364..58bdb11aa 100644 --- a/docs/source/poly.py +++ b/docs/source/poly.py @@ -13,9 +13,8 @@ BRANCH_REGEX = r"(dev|master|test_branch|test_branch_2|feat/sphinx_multiversion|sphinx_multiversion_test)" #: Regex matching the tags to build docs for -# TAG_REGEX = r"(v0.7.0|v0.8.0)" -# That was just 0.7.0, need to change that on release to auto tags. -TAG_REGEX = r"-" +TAG_REGEX = r"(v0.8.0)" +# That was just 0.8.0, need to change that on release to auto tags. #: Output dir relative to project root OUTPUT_DIR = "docs/build" diff --git a/docs/source/setup.py b/docs/source/setup.py index d0466a6c7..6ab353dc6 100644 --- a/docs/source/setup.py +++ b/docs/source/setup.py @@ -5,8 +5,6 @@ from pathlib import Path def setup(root_dir: str, output_dir: str): - print("setup function called") - print(root_dir) link_misc_files( [ "utils/db_benchmark/benchmark_schema.json", @@ -14,7 +12,6 @@ def setup(root_dir: str, output_dir: str): ], root_dir=Path(root_dir), ) - """ generate_tutorial_links_for_notebook_creation( [ ("tutorials.context_storages", "Context Storages"), @@ -41,8 +38,6 @@ def setup(root_dir: str, output_dir: str): source=(root_dir + "/tutorials"), destination=(root_dir + "/docs/source/tutorials"), ) - print(root_dir + "/tutorials") - print(root_dir + "/docs/source/tutorials") regenerate_apiref( [ ("dff.context_storages", "Context Storages"), @@ -56,5 +51,3 @@ def setup(root_dir: str, output_dir: str): ], root_dir=root_dir, ) - """ - print("setup function called") diff --git a/docs/source/utils/generate_tutorials.py b/docs/source/utils/generate_tutorials.py index 8ea5d49f9..3fdcfd127 100644 --- a/docs/source/utils/generate_tutorials.py +++ b/docs/source/utils/generate_tutorials.py @@ -14,13 +14,6 @@ def create_notebook_link(source: Path, destination: Path): destination.unlink(missing_ok=True) destination.parent.mkdir(exist_ok=True, parents=True) destination.symlink_to(source.resolve(), False) - print("source = ", source.resolve()) - print("destination = ", destination) - # result = copy(source.resolve(), destination.resolve()) - # print(result) - - # Changing this into a create_notebook_copy, cause version-dependent source - # files get deleted along with a temp directory during polyversion docs build. def generate_nb_gallery(package: str, files: List[Path]) -> str: @@ -41,7 +34,6 @@ def create_index_file( included: Union[Tuple[str, str], Tuple[str, str, List[Tuple[str, str]]]], files: List[Path], destination: Path, - source_dir: Path = "docs/source", ): """ Create a package index file. @@ -60,20 +52,14 @@ def create_index_file( {"=" * len(title)} """ if len(included) == 2: - print("included[0] = ", included[0]) - print("possibly better str tutorial path would be:", f"{str(source_dir)}/{included[0]}") - print("possibly better tutorial path would be:", source_dir / included[0]) contents += generate_nb_gallery(included[0], files) else: for subpackage in included[2]: contents += f"\n{subpackage[1]}\n{'-' * len(subpackage[1])}\n" - print(f"{included[0]}.{subpackage[0]}") - print(files) contents += generate_nb_gallery(f"{included[0]}.{subpackage[0]}", files) destination.parent.mkdir(exist_ok=True, parents=True) destination.write_text(contents) - print("index file destination = ", destination) def sort_tutorial_file_tree(files: Set[Path]) -> List[Path]: @@ -108,20 +94,9 @@ def iterate_tutorials_dir_generating_links(source: Path, dest: Path, base: str) raise Exception(f"Entity {source} appeared to be a file during processing!") links = list() for entity in [obj for obj in sort_tutorial_file_tree(set(source.glob("./*"))) if not obj.name.startswith("__")]: - print(entity, "||", f"{base}") - print("My destination would be:", f"{base}.{entity.name}") base_name = f"{base}.{entity.name}" - print("source.name = ", f"{source.name}") - print("base_name = ", base_name) if entity.is_file() and entity.suffix in (".py", ".ipynb"): base_path = Path(base_name) - print("base_path = ", base_path) - print("dest = ", dest) - print("dest = ", dest) - print(str(dest)) - print(str(dest) / base_path) - print(dest / str(base_path)) - print(Path(dest / str(base_path))) dest_path = f"{base}" create_notebook_link(entity, Path(base_name)) links += [base_path] @@ -151,8 +126,6 @@ def generate_tutorial_links_for_notebook_creation( include = [("tutorials", "Tutorials")] if include is None else include exclude = list() if exclude is None else exclude dest = Path(destination) - print("dest =", destination) - print(dest) flattened = list() for package in include: @@ -169,11 +142,6 @@ def generate_tutorial_links_for_notebook_creation( if link_included and not link_excluded: filtered_links += [link] - print(include) - print(filtered_links) for included in include: - print(included) - print(dest / Path(f"index_{included[1].replace(' ', '_').lower()}.rst")) create_index_file( - included, filtered_links, dest / Path(f"index_{included[1].replace(' ', '_').lower()}.rst"), dest - ) + included, filtered_links, dest / Path(f"index_{included[1].replace(' ', '_').lower()}.rst")) From 9f678c3d8b7b6fb453279e1f320ccf7d71f78318 Mon Sep 17 00:00:00 2001 From: ZergLev Date: Thu, 18 Apr 2024 19:58:00 +0500 Subject: [PATCH 016/266] saving old versions docs added (overwriting is problematic at the moment) --- .github/workflows/build_and_publish_docs.yml | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build_and_publish_docs.yml b/.github/workflows/build_and_publish_docs.yml index 94bb92dd6..85d2f11b7 100644 --- a/.github/workflows/build_and_publish_docs.yml +++ b/.github/workflows/build_and_publish_docs.yml @@ -21,11 +21,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - run: | - git checkout dev - git checkout master - name: set up python 3.9 uses: actions/setup-python@v5 @@ -48,8 +43,9 @@ jobs: TG_API_HASH: ${{ secrets.TG_API_HASH }} TG_BOT_USERNAME: ${{ secrets.TG_BOT_USERNAME }} run: | + git branch python -m poetry run poe docs - + - name: remove jekyll theming run: touch docs/build/.nojekyll @@ -76,4 +72,4 @@ jobs: with: branch: gh-pages folder: docs/build/ - single-commit: True + clean: False From 4e4518192d748acf0f41a3fac6c25a6b1c9582e1 Mon Sep 17 00:00:00 2001 From: ZergLev Date: Thu, 18 Apr 2024 21:11:46 +0500 Subject: [PATCH 017/266] checking if files are deleted or not after changing source --- .../script/core/7_pre_response_processing.py | 132 ------------------ .../core/9_pre_transitions_processing.py | 99 ------------- 2 files changed, 231 deletions(-) delete mode 100644 tutorials/script/core/7_pre_response_processing.py delete mode 100644 tutorials/script/core/9_pre_transitions_processing.py diff --git a/tutorials/script/core/7_pre_response_processing.py b/tutorials/script/core/7_pre_response_processing.py deleted file mode 100644 index 9697b8675..000000000 --- a/tutorials/script/core/7_pre_response_processing.py +++ /dev/null @@ -1,132 +0,0 @@ -# %% [markdown] -""" -# Core: 7. Pre-response processing - -This tutorial shows pre-response processing feature. - -Here, %mddoclink(api,script.core.keywords,Keywords.PRE_RESPONSE_PROCESSING) -is demonstrated which can be used for -additional context processing before response handlers. - -There are also some other %mddoclink(api,script.core.keywords,Keywords) -worth attention used in this tutorial. - -First of all, let's do all the necessary imports from DFF. -""" - -# %pip install dff - -# %% -from dff.script import ( - GLOBAL, - LOCAL, - RESPONSE, - TRANSITIONS, - PRE_RESPONSE_PROCESSING, - Context, - Message, -) -import dff.script.labels as lbl -import dff.script.conditions as cnd - -from dff.pipeline import Pipeline -from dff.utils.testing.common import ( - check_happy_path, - is_interactive_mode, - run_interactive_mode, -) - - -# %% -def add_prefix(prefix): - def add_prefix_processing(ctx: Context, _: Pipeline): - processed_node = ctx.current_node - processed_node.response = Message( - text=f"{prefix}: {processed_node.response.text}" - ) - - return add_prefix_processing - - -# %% [markdown] -""" -`PRE_RESPONSE_PROCESSING` is a keyword that -can be used in `GLOBAL`, `LOCAL` or nodes. -""" - - -# %% -toy_script = { - "root": { - "start": { - RESPONSE: Message(), - TRANSITIONS: {("flow", "step_0"): cnd.true()}, - }, - "fallback": {RESPONSE: Message("the end")}, - }, - GLOBAL: { - PRE_RESPONSE_PROCESSING: { - "proc_name_1": add_prefix("l1_global"), - "proc_name_2": add_prefix("l2_global"), - } - }, - "flow": { - LOCAL: { - PRE_RESPONSE_PROCESSING: { - "proc_name_2": add_prefix("l2_local"), - "proc_name_3": add_prefix("l3_local"), - } - }, - "step_0": { - RESPONSE: Message("first"), - TRANSITIONS: {lbl.forward(): cnd.true()}, - }, - "step_1": { - PRE_RESPONSE_PROCESSING: {"proc_name_1": add_prefix("l1_step_1")}, - RESPONSE: Message("second"), - TRANSITIONS: {lbl.forward(): cnd.true()}, - }, - "step_2": { - PRE_RESPONSE_PROCESSING: {"proc_name_2": add_prefix("l2_step_2")}, - RESPONSE: Message("third"), - TRANSITIONS: {lbl.forward(): cnd.true()}, - }, - "step_3": { - PRE_RESPONSE_PROCESSING: {"proc_name_3": add_prefix("l3_step_3")}, - RESPONSE: Message("fourth"), - TRANSITIONS: {lbl.forward(): cnd.true()}, - }, - "step_4": { - PRE_RESPONSE_PROCESSING: {"proc_name_4": add_prefix("l4_step_4")}, - RESPONSE: Message("fifth"), - TRANSITIONS: {"step_0": cnd.true()}, - }, - }, -} - - -# testing -happy_path = ( - (Message(), Message("l3_local: l2_local: l1_global: first")), - (Message(), Message("l3_local: l2_local: l1_step_1: second")), - (Message(), Message("l3_local: l2_step_2: l1_global: third")), - (Message(), Message("l3_step_3: l2_local: l1_global: fourth")), - ( - Message(), - Message("l4_step_4: l3_local: l2_local: l1_global: fifth"), - ), - (Message(), Message("l3_local: l2_local: l1_global: first")), -) - - -# %% -pipeline = Pipeline.from_script( - toy_script, - start_label=("root", "start"), - fallback_label=("root", "fallback"), -) - -if __name__ == "__main__": - check_happy_path(pipeline, happy_path) - if is_interactive_mode(): - run_interactive_mode(pipeline) diff --git a/tutorials/script/core/9_pre_transitions_processing.py b/tutorials/script/core/9_pre_transitions_processing.py deleted file mode 100644 index 9f2eddc01..000000000 --- a/tutorials/script/core/9_pre_transitions_processing.py +++ /dev/null @@ -1,99 +0,0 @@ -# %% [markdown] -""" -# Core: 9. Pre-transitions processing - -This tutorial shows pre-transitions processing feature. - -Here, %mddoclink(api,script.core.keywords,Keywords.PRE_TRANSITIONS_PROCESSING) -is demonstrated which can be used for additional context -processing before transitioning to the next step. - -First of all, let's do all the necessary imports from DFF. -""" - -# %pip install dff - -# %% -from dff.script import ( - GLOBAL, - RESPONSE, - TRANSITIONS, - PRE_RESPONSE_PROCESSING, - PRE_TRANSITIONS_PROCESSING, - Context, - Message, -) -import dff.script.labels as lbl -import dff.script.conditions as cnd -from dff.pipeline import Pipeline -from dff.utils.testing.common import ( - check_happy_path, - is_interactive_mode, - run_interactive_mode, -) - - -# %% -def save_previous_node_response(ctx: Context, _: Pipeline): - processed_node = ctx.current_node - ctx.misc["previous_node_response"] = processed_node.response - - -def prepend_previous_node_response(ctx: Context, _: Pipeline): - processed_node = ctx.current_node - processed_node.response = Message( - text=f"previous={ctx.misc['previous_node_response'].text}:" - f" current={processed_node.response.text}" - ) - - -# %% -# a dialog script -toy_script = { - "root": { - "start": { - RESPONSE: Message(), - TRANSITIONS: {("flow", "step_0"): cnd.true()}, - }, - "fallback": {RESPONSE: Message("the end")}, - }, - GLOBAL: { - PRE_RESPONSE_PROCESSING: { - "proc_name_1": prepend_previous_node_response - }, - PRE_TRANSITIONS_PROCESSING: { - "proc_name_1": save_previous_node_response - }, - TRANSITIONS: {lbl.forward(0.1): cnd.true()}, - }, - "flow": { - "step_0": {RESPONSE: Message("first")}, - "step_1": {RESPONSE: Message("second")}, - "step_2": {RESPONSE: Message("third")}, - "step_3": {RESPONSE: Message("fourth")}, - "step_4": {RESPONSE: Message("fifth")}, - }, -} - - -# testing -happy_path = ( - (Message("1"), Message("previous=None: current=first")), - (Message("2"), Message("previous=first: current=second")), - (Message("3"), Message("previous=second: current=third")), - (Message("4"), Message("previous=third: current=fourth")), - (Message("5"), Message("previous=fourth: current=fifth")), -) - - -# %% -pipeline = Pipeline.from_script( - toy_script, - start_label=("root", "start"), - fallback_label=("root", "fallback"), -) - -if __name__ == "__main__": - check_happy_path(pipeline, happy_path) - if is_interactive_mode(): - run_interactive_mode(pipeline) From a826fd3904d99d8fc9aac1fdef01f9fee4de9ba9 Mon Sep 17 00:00:00 2001 From: ZergLev Date: Sun, 21 Apr 2024 14:07:51 +0500 Subject: [PATCH 018/266] overwriting old builds with new builds added (branches only for now) --- .github/workflows/build_and_publish_docs.yml | 43 ++++++++++++++++---- 1 file changed, 36 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build_and_publish_docs.yml b/.github/workflows/build_and_publish_docs.yml index 85d2f11b7..1c1f4b88d 100644 --- a/.github/workflows/build_and_publish_docs.yml +++ b/.github/workflows/build_and_publish_docs.yml @@ -21,7 +21,16 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - + with: + fetch-depth: 0 + + - name: fetch gh-pages branch + env: + BRANCH_NAME: ${{ github.head_ref || github.ref_name }} + run: | + git checkout gh-pages + git checkout ${{ env.BRANCH_NAME }} + - name: set up python 3.9 uses: actions/setup-python@v5 with: @@ -43,12 +52,11 @@ jobs: TG_API_HASH: ${{ secrets.TG_API_HASH }} TG_BOT_USERNAME: ${{ secrets.TG_BOT_USERNAME }} run: | - git branch python -m poetry run poe docs - - name: remove jekyll theming + - name: remove jekyll theming (should probably do this programmatically) run: touch docs/build/.nojekyll - + - name: save branch name without slashes if: ${{ github.ref != 'refs/heads/master' }} env: @@ -57,15 +65,36 @@ jobs: BRANCH_NAME=${{ env.BRANCH_NAME }} BRANCH_NAME=${BRANCH_NAME////_} echo BRANCH_NAME=${BRANCH_NAME} >> $GITHUB_ENV - + - name: save artifact - if: ${{ github.ref != 'refs/heads/master' }} uses: actions/upload-artifact@v4 + env: + BRANCH_NAME: ${{ github.head_ref || github.ref_name }} with: name: ${{ format('github-pages-for-branch-{0}', env.BRANCH_NAME) }} path: docs/build/ retention-days: 3 - + + - name: save branch and checkout to gh-pages + run: | + git add -f . + git stash + git checkout gh-pages + + - name: delete previous docs build for this branch + uses: EndBug/add-and-commit@v9.1.4 + env: + BRANCH_NAME: ${{ github.head_ref || github.ref_name }} + with: + remove: '-r --ignore-unmatch ./${{ env.BRANCH_NAME }}' + + - name: checkout to original branch and reapply changes + env: + BRANCH_NAME: ${{ github.head_ref || github.ref_name }} + run: | + git checkout ${{ env.BRANCH_NAME }} + git stash pop + - name: deploy website if: ${{ github.ref == 'refs/heads/master' || github.ref == 'refs/heads/dev' }} uses: JamesIves/github-pages-deploy-action@v4 From 79edbdb1e3b1a1692831e3c21fa231ce6167bc6b Mon Sep 17 00:00:00 2001 From: ZergLev Date: Sun, 21 Apr 2024 15:49:29 +0500 Subject: [PATCH 019/266] Added .nojekyll + Polishing PR --- docs/source/builder.py | 6 +++++- docs/source/conf.py | 19 +++++++++-------- docs/source/poly.py | 27 +++++++++---------------- docs/source/utils/generate_tutorials.py | 4 +++- docs/source/utils/regenerate_apiref.py | 6 ------ scripts/doc.py | 19 ++++++++++------- 6 files changed, 40 insertions(+), 41 deletions(-) diff --git a/docs/source/builder.py b/docs/source/builder.py index 92d1b71c5..9d9991f40 100644 --- a/docs/source/builder.py +++ b/docs/source/builder.py @@ -84,11 +84,12 @@ def replace(v: Any) -> str: # Importing version-dependent module setup.py root_dir = environment.path.absolute() + os.system("ls" + str(source_dir)) spec = importlib.util.spec_from_file_location("setup", str(source_dir) + "/setup.py") setup_module = importlib.util.module_from_spec(spec) sys.modules["setup"] = setup_module spec.loader.exec_module(setup_module) - + # doing DFF funcs before doc building scripts.doc.dff_funcs(str(root_dir)) setup_module.setup(str(root_dir), str(output_dir)) @@ -99,6 +100,9 @@ def replace(v: Any) -> str: older_conf_path = str(source_dir) + "/conf.py" shutil.copyfile(newer_conf_path, older_conf_path) + # Removing Jekyll theming + open(str(output_dir) + '/.nojekyll', 'a') + # pre hook if self.pre_cmd: out, err, rc = await environment.run(*map(replace, self.pre_cmd), env=env) diff --git a/docs/source/conf.py b/docs/source/conf.py index c07547852..a492c8a81 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -8,9 +8,6 @@ sys.path.append(os.path.abspath(".")) from utils.notebook import py_percent_to_notebook # noqa: E402 -# from .utils.generate_tutorials import generate_tutorial_links_for_notebook_creation # noqa: E402 -# from .utils.link_misc_files import link_misc_files # noqa: E402 -# from .utils.regenerate_apiref import regenerate_apiref # noqa: E402 from sphinx_polyversion import load from sphinx_polyversion.git import GitRef @@ -116,10 +113,16 @@ "css/custom.css", ] +# Version switcher url +switcher_url = "https://zerglev.github.io/dialog_flow_framework/master/_static/switcher.json" +# Could make a better url. Could it be stored in dev? Should it be passed to older versions somehow? This should be addressed before release. -json_url = "https://zerglev.github.io/dialog_flow_framework/master/_static/switcher.json" -# Need to make a better url. Could it be stored in dev? Should it be passed to older versions somehow? -# It has to be addressed before release. +# Checking for dev before passing version to switcher +if current[0] == "dev": + version_data = "dev" + # Need to use metadata to show the warning banner for unstable version. +else: + version_data = version # Theme options html_theme_options = { @@ -150,8 +153,8 @@ ], "secondary_sidebar_items": ["page-toc", "source-links", "example-links"], "switcher": { - "json_url": json_url, - "version_match": current[0], + "json_url": switcher_url, + "version_match" : version_data, }, "navbar_persistent": ["search-button.html", "theme-switcher.html"], "navbar_end": ["version-switcher.html", "navbar-icon-links.html"], diff --git a/docs/source/poly.py b/docs/source/poly.py index 58bdb11aa..31ba99e7f 100644 --- a/docs/source/poly.py +++ b/docs/source/poly.py @@ -5,16 +5,20 @@ from sphinx_polyversion.git import * from sphinx_polyversion.git import closest_tag from sphinx_polyversion.pyvenv import Poetry -# from sphinx_polyversion.sphinx import SphinxBuilder from docs.source.builder import DffSphinxBuilder -from docs.source.OlderBuilder import OlderDffSphinxBuilder #: Regex matching the branches to build docs for -BRANCH_REGEX = r"(dev|master|test_branch|test_branch_2|feat/sphinx_multiversion|sphinx_multiversion_test)" +# BRANCH_REGEX = r"((?!master).)*" +# Put all branches here except master, so docs can be built for any branch +# if the workflow is launched from it. +BRANCH_REGEX = r".*" + #: Regex matching the tags to build docs for TAG_REGEX = r"(v0.8.0)" -# That was just 0.8.0, need to change that on release to auto tags. +# That was just 0.8.0, should change that to auto tags at some point. +# Could just check always what version is being released, but I'm not sure how to do that yet. +# For now this means someone has to change this on every single release to whatever the release tag will be. Potentially, if a mistake is made, this can be changed in dev and launched from there, just don't forget to fetch 'master' branch. #: Output dir relative to project root OUTPUT_DIR = "docs/build" @@ -33,11 +37,8 @@ "revisions": [ GitRef("dev", "", "", GitRefType.BRANCH, datetime.fromtimestamp(0)), GitRef("master", "", "", GitRefType.BRANCH, datetime.fromtimestamp(1)), - GitRef("test_branch", "", "", GitRefType.BRANCH, datetime.fromtimestamp(2)), - GitRef("test_branch_2", "", "", GitRefType.BRANCH, datetime.fromtimestamp(3)), - GitRef("feat/sphinx_multiversion", "", "", GitRefType.BRANCH, datetime.fromtimestamp(4)), ], - "current": GitRef("local", "", "", GitRefType.BRANCH, datetime.fromtimestamp(5)), + "current": GitRef("local", "", "", GitRefType.BRANCH, datetime.fromtimestamp(2)), } MOCK = False @@ -48,15 +49,6 @@ root = Git.root(Path(__file__).parent) src = Path(SOURCE_DIR) -# Use different builders for different versions -# Doesn't work for now (polyversion dev's instructions don't work) -""" -BUILDER = { - None: DffSphinxBuilder(src, args=SPHINX_ARGS), # default - "v0.7.0": OlderDffSphinxBuilder(src, args=SPHINX_ARGS), # only for v0.7.0 -} -""" - # Setup driver and run it DefaultDriver( root, @@ -67,7 +59,6 @@ buffer_size=1 * 10**9, # 1 GB predicate=file_predicate([src]), # exclude refs without source dir ), - # builder=BUILDER, builder=DffSphinxBuilder(src, args=SPHINX_ARGS), env=Poetry.factory(args=POETRY_ARGS), selector=partial(closest_tag, root), diff --git a/docs/source/utils/generate_tutorials.py b/docs/source/utils/generate_tutorials.py index 3fdcfd127..354eb4f84 100644 --- a/docs/source/utils/generate_tutorials.py +++ b/docs/source/utils/generate_tutorials.py @@ -34,6 +34,7 @@ def create_index_file( included: Union[Tuple[str, str], Tuple[str, str, List[Tuple[str, str]]]], files: List[Path], destination: Path, + source_dir: Path = "docs/source", ): """ Create a package index file. @@ -144,4 +145,5 @@ def generate_tutorial_links_for_notebook_creation( for included in include: create_index_file( - included, filtered_links, dest / Path(f"index_{included[1].replace(' ', '_').lower()}.rst")) + included, filtered_links, dest / Path(f"index_{included[1].replace(' ', '_').lower()}.rst"), dest + ) diff --git a/docs/source/utils/regenerate_apiref.py b/docs/source/utils/regenerate_apiref.py index 7072cc39f..888fbfb15 100644 --- a/docs/source/utils/regenerate_apiref.py +++ b/docs/source/utils/regenerate_apiref.py @@ -45,12 +45,6 @@ def regenerate_apiref(paths: Optional[List[Tuple[str, str]]] = None, root_dir: s """ paths = list() if paths is None else paths source = Path(root_dir) / "docs" / "source" / destination - print("Currently at regenerate apiref") - print(root_dir) - print(Path(root_dir)) - print((Path(root_dir) / "docs" / "source")) - print((Path(root_dir) / Path("docs/source") / Path(destination))) - print("source is: ", source) doc_containers: Dict[str, Tuple[str, List[Path]]] = dict() for doc_file in iter(source.glob("./*.rst")): diff --git a/scripts/doc.py b/scripts/doc.py index 88f58c57a..4f7e90833 100644 --- a/scripts/doc.py +++ b/scripts/doc.py @@ -16,7 +16,13 @@ from sphinx_polyversion.main import main as poly_main -def _build_drawio(docker: DockerClient): +def _build_drawio(root_dir: str): + drawio_root = root_dir + "/docs/source/drawio_src" + destination = root_dir + "/docs/source/_static/drawio" + docker = DockerClient( + compose_files=[f"{root_dir}/compose.yml"], + compose_profiles=["context_storage", "stats"], + ) if len(docker.image.list("rlespinasse/drawio-export")) == 0: docker.image.pull("rlespinasse/drawio-export", quiet=True) docker.container.run( @@ -24,7 +30,7 @@ def _build_drawio(docker: DockerClient): ["-f", "png", "--remove-page-suffix"], remove=True, name="drawio-convert", - volumes=[(f"{os.getcwd()}/docs/source/drawio_src", "/data", "rw")], + volumes=[(drawio_root, "/data", "rw")], ) docker.container.run( "rlespinasse/drawio-export", @@ -32,11 +38,11 @@ def _build_drawio(docker: DockerClient): entrypoint="chown", remove=True, name="drawio-chown", - volumes=[(f"{os.getcwd()}/docs/source/drawio_src", "/data", "rw")], + volumes=[(drawio_root, "/data", "rw")], ) - drawio_root = Path("docs/source/drawio_src/") - destination = Path("docs/source/_static/drawio/") + drawio_root = Path(drawio_root) + destination = Path(destination) destination.mkdir(parents=True, exist_ok=True) for path in drawio_root.glob("./**/export"): target = destination / path.relative_to(drawio_root).parent @@ -52,8 +58,6 @@ def docs(docker: Optional[DockerClient]): clean_docs() dotenv.load_dotenv(".env_file") os.environ["DISABLE_INTERACTIVE_MODE"] = "1" - _build_drawio(docker) - # build_drawio should be called in all revisions and I don't know how yet result = build.make_main(["-M", "clean", "docs/source", "docs/build"]) poly_path = "docs/source/poly.py" poly_main([poly_path, poly_path]) @@ -65,5 +69,6 @@ def docs(docker: Optional[DockerClient]): # Functions to be called from DffSphinxBuilder before build def dff_funcs(root_dir: str): + _build_drawio(root_dir) apiref_dir = root_dir + "/docs/source/apiref" apidoc.main(["-e", "-E", "-f", "-o", apiref_dir, "dff"]) From ddcb950dd550e6109d3f79af40b73723130b615d Mon Sep 17 00:00:00 2001 From: ZergLev Date: Sun, 21 Apr 2024 15:56:53 +0500 Subject: [PATCH 020/266] Polishing PR --- .github/workflows/build_and_publish_docs.yml | 18 +++++++++--------- docs/source/_static/switcher.json | 8 ++++---- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/build_and_publish_docs.yml b/.github/workflows/build_and_publish_docs.yml index 1c1f4b88d..a6b868f15 100644 --- a/.github/workflows/build_and_publish_docs.yml +++ b/.github/workflows/build_and_publish_docs.yml @@ -23,14 +23,14 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: 0 - + - name: fetch gh-pages branch env: BRANCH_NAME: ${{ github.head_ref || github.ref_name }} run: | git checkout gh-pages git checkout ${{ env.BRANCH_NAME }} - + - name: set up python 3.9 uses: actions/setup-python@v5 with: @@ -53,10 +53,10 @@ jobs: TG_BOT_USERNAME: ${{ secrets.TG_BOT_USERNAME }} run: | python -m poetry run poe docs - + - name: remove jekyll theming (should probably do this programmatically) run: touch docs/build/.nojekyll - + - name: save branch name without slashes if: ${{ github.ref != 'refs/heads/master' }} env: @@ -65,7 +65,7 @@ jobs: BRANCH_NAME=${{ env.BRANCH_NAME }} BRANCH_NAME=${BRANCH_NAME////_} echo BRANCH_NAME=${BRANCH_NAME} >> $GITHUB_ENV - + - name: save artifact uses: actions/upload-artifact@v4 env: @@ -74,27 +74,27 @@ jobs: name: ${{ format('github-pages-for-branch-{0}', env.BRANCH_NAME) }} path: docs/build/ retention-days: 3 - + - name: save branch and checkout to gh-pages run: | git add -f . git stash git checkout gh-pages - + - name: delete previous docs build for this branch uses: EndBug/add-and-commit@v9.1.4 env: BRANCH_NAME: ${{ github.head_ref || github.ref_name }} with: remove: '-r --ignore-unmatch ./${{ env.BRANCH_NAME }}' - + - name: checkout to original branch and reapply changes env: BRANCH_NAME: ${{ github.head_ref || github.ref_name }} run: | git checkout ${{ env.BRANCH_NAME }} git stash pop - + - name: deploy website if: ${{ github.ref == 'refs/heads/master' || github.ref == 'refs/heads/dev' }} uses: JamesIves/github-pages-deploy-action@v4 diff --git a/docs/source/_static/switcher.json b/docs/source/_static/switcher.json index 7bb0eddea..4ae1da65f 100644 --- a/docs/source/_static/switcher.json +++ b/docs/source/_static/switcher.json @@ -1,12 +1,12 @@ [ { - "name": "stable(master)", - "version": "master", - "url": "https://zerglev.github.io/dialog_flow_framework/master/index.html" + "name": "0.8.0(stable)", + "version": "v0.8.0", + "url": "https://deeppavlov.github.io/dialog_flow_framework/master/index.html" }, { "name": "latest(dev)", "version": "dev", - "url": "https://zerglev.github.io/dialog_flow_framework/dev/index.html" + "url": "https://deeppavlov.github.io/dialog_flow_framework/dev/index.html" } ] From 7f8d3cd760b443d2de78f60dba26e223722a5598 Mon Sep 17 00:00:00 2001 From: ZergLev Date: Sun, 21 Apr 2024 15:57:58 +0500 Subject: [PATCH 021/266] Polishing PR --- .github/workflows/build_and_publish_docs.yml | 3 --- docs/source/utils/generate_tutorials.py | 4 ++-- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build_and_publish_docs.yml b/.github/workflows/build_and_publish_docs.yml index a6b868f15..3b067751f 100644 --- a/.github/workflows/build_and_publish_docs.yml +++ b/.github/workflows/build_and_publish_docs.yml @@ -54,9 +54,6 @@ jobs: run: | python -m poetry run poe docs - - name: remove jekyll theming (should probably do this programmatically) - run: touch docs/build/.nojekyll - - name: save branch name without slashes if: ${{ github.ref != 'refs/heads/master' }} env: diff --git a/docs/source/utils/generate_tutorials.py b/docs/source/utils/generate_tutorials.py index 354eb4f84..b17594630 100644 --- a/docs/source/utils/generate_tutorials.py +++ b/docs/source/utils/generate_tutorials.py @@ -84,8 +84,8 @@ def sort_key(tutorial_file_name: Path) -> float: def iterate_tutorials_dir_generating_links(source: Path, dest: Path, base: str) -> List[Path]: """ - Recursively travel through tutorials directory, creating copies for all files under /tmp_dir/docs/source/tutorials/ root. - Created copied files have absolute path name matching source file tree structure. + Recursively travel through tutorials directory, creating links for all files under /tmp_dir/docs/source/tutorials/ root. + Created link files have absolute path name matching source file tree structure. :param source: Tutorials root (usually tutorials/). :param dest: Tutorials destination (usually docs/source/tutorials/). From 021c856bf943d5c062ff7645f6114dc1039abbb1 Mon Sep 17 00:00:00 2001 From: ZergLev Date: Sun, 21 Apr 2024 15:59:49 +0500 Subject: [PATCH 022/266] allowing deployment from any branch --- .github/workflows/build_and_publish_docs.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/build_and_publish_docs.yml b/.github/workflows/build_and_publish_docs.yml index 3b067751f..badda3314 100644 --- a/.github/workflows/build_and_publish_docs.yml +++ b/.github/workflows/build_and_publish_docs.yml @@ -93,7 +93,6 @@ jobs: git stash pop - name: deploy website - if: ${{ github.ref == 'refs/heads/master' || github.ref == 'refs/heads/dev' }} uses: JamesIves/github-pages-deploy-action@v4 with: branch: gh-pages From dc6bc0790fcbab473d1fe71a3795d3d9c4e0f207 Mon Sep 17 00:00:00 2001 From: ZergLev Date: Sun, 21 Apr 2024 16:07:44 +0500 Subject: [PATCH 023/266] mistake fixed --- .../script/core/7_pre_response_processing.py | 132 ++++++++++++++++++ .../core/9_pre_transitions_processing.py | 99 +++++++++++++ 2 files changed, 231 insertions(+) create mode 100644 tutorials/script/core/7_pre_response_processing.py create mode 100644 tutorials/script/core/9_pre_transitions_processing.py diff --git a/tutorials/script/core/7_pre_response_processing.py b/tutorials/script/core/7_pre_response_processing.py new file mode 100644 index 000000000..9697b8675 --- /dev/null +++ b/tutorials/script/core/7_pre_response_processing.py @@ -0,0 +1,132 @@ +# %% [markdown] +""" +# Core: 7. Pre-response processing + +This tutorial shows pre-response processing feature. + +Here, %mddoclink(api,script.core.keywords,Keywords.PRE_RESPONSE_PROCESSING) +is demonstrated which can be used for +additional context processing before response handlers. + +There are also some other %mddoclink(api,script.core.keywords,Keywords) +worth attention used in this tutorial. + +First of all, let's do all the necessary imports from DFF. +""" + +# %pip install dff + +# %% +from dff.script import ( + GLOBAL, + LOCAL, + RESPONSE, + TRANSITIONS, + PRE_RESPONSE_PROCESSING, + Context, + Message, +) +import dff.script.labels as lbl +import dff.script.conditions as cnd + +from dff.pipeline import Pipeline +from dff.utils.testing.common import ( + check_happy_path, + is_interactive_mode, + run_interactive_mode, +) + + +# %% +def add_prefix(prefix): + def add_prefix_processing(ctx: Context, _: Pipeline): + processed_node = ctx.current_node + processed_node.response = Message( + text=f"{prefix}: {processed_node.response.text}" + ) + + return add_prefix_processing + + +# %% [markdown] +""" +`PRE_RESPONSE_PROCESSING` is a keyword that +can be used in `GLOBAL`, `LOCAL` or nodes. +""" + + +# %% +toy_script = { + "root": { + "start": { + RESPONSE: Message(), + TRANSITIONS: {("flow", "step_0"): cnd.true()}, + }, + "fallback": {RESPONSE: Message("the end")}, + }, + GLOBAL: { + PRE_RESPONSE_PROCESSING: { + "proc_name_1": add_prefix("l1_global"), + "proc_name_2": add_prefix("l2_global"), + } + }, + "flow": { + LOCAL: { + PRE_RESPONSE_PROCESSING: { + "proc_name_2": add_prefix("l2_local"), + "proc_name_3": add_prefix("l3_local"), + } + }, + "step_0": { + RESPONSE: Message("first"), + TRANSITIONS: {lbl.forward(): cnd.true()}, + }, + "step_1": { + PRE_RESPONSE_PROCESSING: {"proc_name_1": add_prefix("l1_step_1")}, + RESPONSE: Message("second"), + TRANSITIONS: {lbl.forward(): cnd.true()}, + }, + "step_2": { + PRE_RESPONSE_PROCESSING: {"proc_name_2": add_prefix("l2_step_2")}, + RESPONSE: Message("third"), + TRANSITIONS: {lbl.forward(): cnd.true()}, + }, + "step_3": { + PRE_RESPONSE_PROCESSING: {"proc_name_3": add_prefix("l3_step_3")}, + RESPONSE: Message("fourth"), + TRANSITIONS: {lbl.forward(): cnd.true()}, + }, + "step_4": { + PRE_RESPONSE_PROCESSING: {"proc_name_4": add_prefix("l4_step_4")}, + RESPONSE: Message("fifth"), + TRANSITIONS: {"step_0": cnd.true()}, + }, + }, +} + + +# testing +happy_path = ( + (Message(), Message("l3_local: l2_local: l1_global: first")), + (Message(), Message("l3_local: l2_local: l1_step_1: second")), + (Message(), Message("l3_local: l2_step_2: l1_global: third")), + (Message(), Message("l3_step_3: l2_local: l1_global: fourth")), + ( + Message(), + Message("l4_step_4: l3_local: l2_local: l1_global: fifth"), + ), + (Message(), Message("l3_local: l2_local: l1_global: first")), +) + + +# %% +pipeline = Pipeline.from_script( + toy_script, + start_label=("root", "start"), + fallback_label=("root", "fallback"), +) + +if __name__ == "__main__": + check_happy_path(pipeline, happy_path) + if is_interactive_mode(): + run_interactive_mode(pipeline) diff --git a/tutorials/script/core/9_pre_transitions_processing.py b/tutorials/script/core/9_pre_transitions_processing.py new file mode 100644 index 000000000..9f2eddc01 --- /dev/null +++ b/tutorials/script/core/9_pre_transitions_processing.py @@ -0,0 +1,99 @@ +# %% [markdown] +""" +# Core: 9. Pre-transitions processing + +This tutorial shows pre-transitions processing feature. + +Here, %mddoclink(api,script.core.keywords,Keywords.PRE_TRANSITIONS_PROCESSING) +is demonstrated which can be used for additional context +processing before transitioning to the next step. + +First of all, let's do all the necessary imports from DFF. +""" + +# %pip install dff + +# %% +from dff.script import ( + GLOBAL, + RESPONSE, + TRANSITIONS, + PRE_RESPONSE_PROCESSING, + PRE_TRANSITIONS_PROCESSING, + Context, + Message, +) +import dff.script.labels as lbl +import dff.script.conditions as cnd +from dff.pipeline import Pipeline +from dff.utils.testing.common import ( + check_happy_path, + is_interactive_mode, + run_interactive_mode, +) + + +# %% +def save_previous_node_response(ctx: Context, _: Pipeline): + processed_node = ctx.current_node + ctx.misc["previous_node_response"] = processed_node.response + + +def prepend_previous_node_response(ctx: Context, _: Pipeline): + processed_node = ctx.current_node + processed_node.response = Message( + text=f"previous={ctx.misc['previous_node_response'].text}:" + f" current={processed_node.response.text}" + ) + + +# %% +# a dialog script +toy_script = { + "root": { + "start": { + RESPONSE: Message(), + TRANSITIONS: {("flow", "step_0"): cnd.true()}, + }, + "fallback": {RESPONSE: Message("the end")}, + }, + GLOBAL: { + PRE_RESPONSE_PROCESSING: { + "proc_name_1": prepend_previous_node_response + }, + PRE_TRANSITIONS_PROCESSING: { + "proc_name_1": save_previous_node_response + }, + TRANSITIONS: {lbl.forward(0.1): cnd.true()}, + }, + "flow": { + "step_0": {RESPONSE: Message("first")}, + "step_1": {RESPONSE: Message("second")}, + "step_2": {RESPONSE: Message("third")}, + "step_3": {RESPONSE: Message("fourth")}, + "step_4": {RESPONSE: Message("fifth")}, + }, +} + + +# testing +happy_path = ( + (Message("1"), Message("previous=None: current=first")), + (Message("2"), Message("previous=first: current=second")), + (Message("3"), Message("previous=second: current=third")), + (Message("4"), Message("previous=third: current=fourth")), + (Message("5"), Message("previous=fourth: current=fifth")), +) + + +# %% +pipeline = Pipeline.from_script( + toy_script, + start_label=("root", "start"), + fallback_label=("root", "fallback"), +) + +if __name__ == "__main__": + check_happy_path(pipeline, happy_path) + if is_interactive_mode(): + run_interactive_mode(pipeline) From a22e5b2c55467fd3948f323ac8c24864a75bc98d Mon Sep 17 00:00:00 2001 From: ZergLev Date: Sun, 21 Apr 2024 16:10:27 +0500 Subject: [PATCH 024/266] redundant import removed --- docs/source/conf.py | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index a492c8a81..ac7abf80f 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -2,7 +2,6 @@ import sys import re import importlib.metadata -import pydata_sphinx_theme # -- Path setup -------------------------------------------------------------- From 604868ecdfebb84ed814d0efa40f6a318665578e Mon Sep 17 00:00:00 2001 From: ZergLev Date: Wed, 24 Apr 2024 14:50:46 +0500 Subject: [PATCH 025/266] removed unused variables --- docs/source/utils/generate_tutorials.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/docs/source/utils/generate_tutorials.py b/docs/source/utils/generate_tutorials.py index b17594630..2c7072dd8 100644 --- a/docs/source/utils/generate_tutorials.py +++ b/docs/source/utils/generate_tutorials.py @@ -34,7 +34,6 @@ def create_index_file( included: Union[Tuple[str, str], Tuple[str, str, List[Tuple[str, str]]]], files: List[Path], destination: Path, - source_dir: Path = "docs/source", ): """ Create a package index file. @@ -84,8 +83,8 @@ def sort_key(tutorial_file_name: Path) -> float: def iterate_tutorials_dir_generating_links(source: Path, dest: Path, base: str) -> List[Path]: """ - Recursively travel through tutorials directory, creating links for all files under /tmp_dir/docs/source/tutorials/ root. - Created link files have absolute path name matching source file tree structure. + Recursively travel through tutorials directory, creating copies for all files under /tmp_dir/docs/source/tutorials/ root. + Created copied files have absolute path name matching source file tree structure. :param source: Tutorials root (usually tutorials/). :param dest: Tutorials destination (usually docs/source/tutorials/). @@ -98,7 +97,6 @@ def iterate_tutorials_dir_generating_links(source: Path, dest: Path, base: str) base_name = f"{base}.{entity.name}" if entity.is_file() and entity.suffix in (".py", ".ipynb"): base_path = Path(base_name) - dest_path = f"{base}" create_notebook_link(entity, Path(base_name)) links += [base_path] elif entity.is_dir() and not entity.name.startswith("_"): @@ -111,7 +109,6 @@ def generate_tutorial_links_for_notebook_creation( exclude: Optional[List[str]] = None, source: str = "tutorials", destination: str = "docs/source/tutorials", - root_dir: str = ".", ): """ Generate symbolic links to tutorials files (tutorials/) in docs directory (docs/source/tutorials/). @@ -135,7 +132,7 @@ def generate_tutorial_links_for_notebook_creation( else: flattened += [f"{package[0]}.{subpackage[0]}" for subpackage in package[2]] - links = iterate_tutorials_dir_generating_links(Path(source), dest, f"{destination}/tutorials") + links = iterate_tutorials_dir_generating_links(Path(source), dest, f"{source}/tutorials") filtered_links = list() for link in links: link_included = len(list(flat for flat in flattened if link.name.startswith(flat))) > 0 From e0eef7efc7cfd80f44578eac6ea5c1b6c54ccafc Mon Sep 17 00:00:00 2001 From: ZergLev Date: Wed, 24 Apr 2024 15:59:24 +0500 Subject: [PATCH 026/266] changed location of switcher.json + added it's auto-update (not auto-gen) --- .github/workflows/build_and_publish_docs.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build_and_publish_docs.yml b/.github/workflows/build_and_publish_docs.yml index badda3314..2b7f9f3e5 100644 --- a/.github/workflows/build_and_publish_docs.yml +++ b/.github/workflows/build_and_publish_docs.yml @@ -72,11 +72,16 @@ jobs: path: docs/build/ retention-days: 3 - - name: save branch and checkout to gh-pages + - name: save branch, checkout to gh-pages and update switcher.json run: | git add -f . git stash + cp docs/source/_static/switcher.json ./switcher.json + git add . + git stash git checkout gh-pages + rm -f ./switcher.json + git stash pop - name: delete previous docs build for this branch uses: EndBug/add-and-commit@v9.1.4 @@ -93,6 +98,7 @@ jobs: git stash pop - name: deploy website + if: ${{ github.ref == 'refs/heads/master' || github.ref == 'refs/heads/dev' }} uses: JamesIves/github-pages-deploy-action@v4 with: branch: gh-pages From 697802d3f64744c801e67e08b3bbdbe3db2faa7d Mon Sep 17 00:00:00 2001 From: ZergLev Date: Thu, 25 Apr 2024 20:05:26 +0500 Subject: [PATCH 027/266] fix: deleting only outdated builds + no branch name required in code --- .github/workflows/build_and_publish_docs.yml | 27 ++++++++------------ 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/.github/workflows/build_and_publish_docs.yml b/.github/workflows/build_and_publish_docs.yml index 2b7f9f3e5..f6969bb65 100644 --- a/.github/workflows/build_and_publish_docs.yml +++ b/.github/workflows/build_and_publish_docs.yml @@ -24,13 +24,6 @@ jobs: with: fetch-depth: 0 - - name: fetch gh-pages branch - env: - BRANCH_NAME: ${{ github.head_ref || github.ref_name }} - run: | - git checkout gh-pages - git checkout ${{ env.BRANCH_NAME }} - - name: set up python 3.9 uses: actions/setup-python@v5 with: @@ -72,33 +65,35 @@ jobs: path: docs/build/ retention-days: 3 - - name: save branch, checkout to gh-pages and update switcher.json + - name: get built version name + run: | + echo "VERSION=$(ls -1 docs/build | head -n 1)" >> "$GITHUB_ENV" + + - name: update switcher.json file + run: | + cp docs/source/_static/switcher.json ./docs/build/switcher.json + + - name: save changes and checkout to gh-pages run: | git add -f . git stash - cp docs/source/_static/switcher.json ./switcher.json - git add . - git stash git checkout gh-pages - rm -f ./switcher.json - git stash pop - name: delete previous docs build for this branch uses: EndBug/add-and-commit@v9.1.4 env: BRANCH_NAME: ${{ github.head_ref || github.ref_name }} with: - remove: '-r --ignore-unmatch ./${{ env.BRANCH_NAME }}' + remove: '-r --ignore-unmatch ./${{ env.VERSION }}' - name: checkout to original branch and reapply changes env: BRANCH_NAME: ${{ github.head_ref || github.ref_name }} run: | - git checkout ${{ env.BRANCH_NAME }} + git checkout - git stash pop - name: deploy website - if: ${{ github.ref == 'refs/heads/master' || github.ref == 'refs/heads/dev' }} uses: JamesIves/github-pages-deploy-action@v4 with: branch: gh-pages From 160a4bfb1881cd4345d39969a365b20a614c6bec Mon Sep 17 00:00:00 2001 From: ZergLev Date: Thu, 25 Apr 2024 20:36:36 +0500 Subject: [PATCH 028/266] removed artifact creation --- .github/workflows/build_and_publish_docs.yml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/.github/workflows/build_and_publish_docs.yml b/.github/workflows/build_and_publish_docs.yml index f6969bb65..28981e941 100644 --- a/.github/workflows/build_and_publish_docs.yml +++ b/.github/workflows/build_and_publish_docs.yml @@ -56,15 +56,6 @@ jobs: BRANCH_NAME=${BRANCH_NAME////_} echo BRANCH_NAME=${BRANCH_NAME} >> $GITHUB_ENV - - name: save artifact - uses: actions/upload-artifact@v4 - env: - BRANCH_NAME: ${{ github.head_ref || github.ref_name }} - with: - name: ${{ format('github-pages-for-branch-{0}', env.BRANCH_NAME) }} - path: docs/build/ - retention-days: 3 - - name: get built version name run: | echo "VERSION=$(ls -1 docs/build | head -n 1)" >> "$GITHUB_ENV" From 1e0989ca08ac505893670a6af7bdbadd48567e2a Mon Sep 17 00:00:00 2001 From: ZergLev Date: Sat, 27 Apr 2024 12:37:47 +0500 Subject: [PATCH 029/266] switcher auto-gen done, building for tags improved, local building added(a bit rough) --- docs/source/builder.py | 5 +++ docs/source/conf.py | 5 +-- docs/source/poly.py | 27 ++++++++++++--- docs/source/setup.py | 1 + docs/source/switcher_gen.py | 46 +++++++++++++++++++++++++ docs/source/utils/generate_tutorials.py | 4 +-- 6 files changed, 79 insertions(+), 9 deletions(-) create mode 100644 docs/source/switcher_gen.py diff --git a/docs/source/builder.py b/docs/source/builder.py index 9d9991f40..e7b088e41 100644 --- a/docs/source/builder.py +++ b/docs/source/builder.py @@ -90,6 +90,11 @@ def replace(v: Any) -> str: sys.modules["setup"] = setup_module spec.loader.exec_module(setup_module) + """ + # Cleaning outdated documentation build + sphinx.make_main(["-M", "clean", str(source_dir), str(output_dir)]) + """ + # doing DFF funcs before doc building scripts.doc.dff_funcs(str(root_dir)) setup_module.setup(str(root_dir), str(output_dir)) diff --git a/docs/source/conf.py b/docs/source/conf.py index ac7abf80f..f714996ae 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -2,6 +2,7 @@ import sys import re import importlib.metadata +import pydata_sphinx_theme # -- Path setup -------------------------------------------------------------- @@ -113,8 +114,8 @@ ] # Version switcher url -switcher_url = "https://zerglev.github.io/dialog_flow_framework/master/_static/switcher.json" -# Could make a better url. Could it be stored in dev? Should it be passed to older versions somehow? This should be addressed before release. +switcher_url = "https://zerglev.github.io/dialog_flow_framework/switcher.json" +# To-do: a separate switcher.json for dev and other branches # Checking for dev before passing version to switcher if current[0] == "dev": diff --git a/docs/source/poly.py b/docs/source/poly.py index 31ba99e7f..8f5a95b98 100644 --- a/docs/source/poly.py +++ b/docs/source/poly.py @@ -6,6 +6,11 @@ from sphinx_polyversion.git import closest_tag from sphinx_polyversion.pyvenv import Poetry from docs.source.builder import DffSphinxBuilder +from docs.source.switcher_gen import generate_switcher +import git + +# Generate switcher.json file +generate_switcher() #: Regex matching the branches to build docs for # BRANCH_REGEX = r"((?!master).)*" @@ -13,13 +18,25 @@ # if the workflow is launched from it. BRANCH_REGEX = r".*" - #: Regex matching the tags to build docs for -TAG_REGEX = r"(v0.8.0)" -# That was just 0.8.0, should change that to auto tags at some point. -# Could just check always what version is being released, but I'm not sure how to do that yet. -# For now this means someone has to change this on every single release to whatever the release tag will be. Potentially, if a mistake is made, this can be changed in dev and launched from there, just don't forget to fetch 'master' branch. +TAG_REGEX = r"-" + +# Switch this to True to build docs for current branch locally. +LOCAL = False +repo = git.Repo('./') +branch = repo.active_branch +""" +if LOCAL == True: +# Local builds only build docs for the current branch and no tags, which right now deletes any existing docs for other branches. If you wish to build docs for more branches/tags, you can change it here, or you can also switch off cleaning the /docs/build directory by commenting the "clean_docs()" line in scripts.doc.py + BRANCH_REGEX = str(branch) + TAG_REGEX = r"-" +elif str(branch) == "master": +# Releases are handled here (pushes into master mean a release, so latest tag is built) + tags = sorted(repo.tags, key=lambda t: t.commit.committed_datetime) + latest_tag = tags[-1] + TAG_REGEX = str(latest_tag) +""" #: Output dir relative to project root OUTPUT_DIR = "docs/build" diff --git a/docs/source/setup.py b/docs/source/setup.py index 6ab353dc6..9c4ef5223 100644 --- a/docs/source/setup.py +++ b/docs/source/setup.py @@ -51,3 +51,4 @@ def setup(root_dir: str, output_dir: str): ], root_dir=root_dir, ) + diff --git a/docs/source/switcher_gen.py b/docs/source/switcher_gen.py new file mode 100644 index 000000000..98efb57c6 --- /dev/null +++ b/docs/source/switcher_gen.py @@ -0,0 +1,46 @@ +import git +import json + +def generate_switcher(): + repo = git.Repo('./') + branch = repo.active_branch + + tags = sorted(repo.tags, key=lambda t: t.commit.committed_datetime) + tags.reverse() + latest_tag = tags[-1] + + switcher_json = [] + + dev_data = { + "version": "dev", + "url": "https://zerglev.github.io/dialog_flow_framework/dev/index.html", + } + switcher_json += [dev_data] + + master_data = { + "name": "master", + "version": "v0.7.0", + "url": "https://zerglev.github.io/dialog_flow_framework/master/index.html", + "preferred": "true", + } + switcher_json += [master_data] + + for tag in tags: + url = "https://zerglev.github.io/dialog_flow_framework/" + str(tag) + "/index.html" + tag_data = { + "name": str(tag), + "version": str(tag), + "url": url, + } + if tag == tags[0]: + tag_data["preferred"] = "true" + # Only building for tags from v0.7.0 + if str(tag) > "v0.7.0": + switcher_json += [tag_data] + + switcher_json_obj = json.dumps(switcher_json, indent=4) + + # Write nested JSON data to the switcher.json file + with open('./docs/source/_static/switcher.json', 'w') as f: + f.write(switcher_json_obj) + diff --git a/docs/source/utils/generate_tutorials.py b/docs/source/utils/generate_tutorials.py index 2c7072dd8..ecd90d1c8 100644 --- a/docs/source/utils/generate_tutorials.py +++ b/docs/source/utils/generate_tutorials.py @@ -132,7 +132,7 @@ def generate_tutorial_links_for_notebook_creation( else: flattened += [f"{package[0]}.{subpackage[0]}" for subpackage in package[2]] - links = iterate_tutorials_dir_generating_links(Path(source), dest, f"{source}/tutorials") + links = iterate_tutorials_dir_generating_links(Path(source), dest, f"{destination}/tutorials") filtered_links = list() for link in links: link_included = len(list(flat for flat in flattened if link.name.startswith(flat))) > 0 @@ -142,5 +142,5 @@ def generate_tutorial_links_for_notebook_creation( for included in include: create_index_file( - included, filtered_links, dest / Path(f"index_{included[1].replace(' ', '_').lower()}.rst"), dest + included, filtered_links, dest / Path(f"index_{included[1].replace(' ', '_').lower()}.rst") ) From 19a4858610c764108a2877372e9a56ecb9611b3e Mon Sep 17 00:00:00 2001 From: ZergLev Date: Sat, 27 Apr 2024 12:38:50 +0500 Subject: [PATCH 030/266] switcher auto-gen urls fixed --- docs/source/switcher_gen.py | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/docs/source/switcher_gen.py b/docs/source/switcher_gen.py index 98efb57c6..3d0320295 100644 --- a/docs/source/switcher_gen.py +++ b/docs/source/switcher_gen.py @@ -13,20 +13,12 @@ def generate_switcher(): dev_data = { "version": "dev", - "url": "https://zerglev.github.io/dialog_flow_framework/dev/index.html", + "url": "https://deeppavlov.github.io/dialog_flow_framework/dev/index.html", } switcher_json += [dev_data] - - master_data = { - "name": "master", - "version": "v0.7.0", - "url": "https://zerglev.github.io/dialog_flow_framework/master/index.html", - "preferred": "true", - } - switcher_json += [master_data] - + for tag in tags: - url = "https://zerglev.github.io/dialog_flow_framework/" + str(tag) + "/index.html" + url = "https://deppavlov.github.io/dialog_flow_framework/" + str(tag) + "/index.html" tag_data = { "name": str(tag), "version": str(tag), From 13177046a37d063caab144eb55551629f592fbb5 Mon Sep 17 00:00:00 2001 From: ZergLev Date: Sat, 27 Apr 2024 12:44:08 +0500 Subject: [PATCH 031/266] minor mistakes fixed --- docs/source/builder.py | 2 +- docs/source/conf.py | 3 +-- docs/source/poly.py | 8 ++++---- docs/source/setup.py | 1 - 4 files changed, 6 insertions(+), 8 deletions(-) diff --git a/docs/source/builder.py b/docs/source/builder.py index e7b088e41..383e2d187 100644 --- a/docs/source/builder.py +++ b/docs/source/builder.py @@ -91,7 +91,7 @@ def replace(v: Any) -> str: spec.loader.exec_module(setup_module) """ - # Cleaning outdated documentation build + # Cleaning outdated documentation build for local versions (not done yet) sphinx.make_main(["-M", "clean", str(source_dir), str(output_dir)]) """ diff --git a/docs/source/conf.py b/docs/source/conf.py index f714996ae..2a3676b00 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -115,12 +115,11 @@ # Version switcher url switcher_url = "https://zerglev.github.io/dialog_flow_framework/switcher.json" -# To-do: a separate switcher.json for dev and other branches # Checking for dev before passing version to switcher if current[0] == "dev": version_data = "dev" - # Need to use metadata to show the warning banner for unstable version. + # Possible to-do: show the warning banner for latest(unstable) version. else: version_data = version diff --git a/docs/source/poly.py b/docs/source/poly.py index 8f5a95b98..461193e1a 100644 --- a/docs/source/poly.py +++ b/docs/source/poly.py @@ -13,10 +13,10 @@ generate_switcher() #: Regex matching the branches to build docs for -# BRANCH_REGEX = r"((?!master).)*" +BRANCH_REGEX = r"((?!master).)*" # Put all branches here except master, so docs can be built for any branch # if the workflow is launched from it. -BRANCH_REGEX = r".*" +# BRANCH_REGEX = r".*" #: Regex matching the tags to build docs for TAG_REGEX = r"-" @@ -26,7 +26,7 @@ repo = git.Repo('./') branch = repo.active_branch -""" + if LOCAL == True: # Local builds only build docs for the current branch and no tags, which right now deletes any existing docs for other branches. If you wish to build docs for more branches/tags, you can change it here, or you can also switch off cleaning the /docs/build directory by commenting the "clean_docs()" line in scripts.doc.py BRANCH_REGEX = str(branch) @@ -36,7 +36,7 @@ tags = sorted(repo.tags, key=lambda t: t.commit.committed_datetime) latest_tag = tags[-1] TAG_REGEX = str(latest_tag) -""" + #: Output dir relative to project root OUTPUT_DIR = "docs/build" diff --git a/docs/source/setup.py b/docs/source/setup.py index 9c4ef5223..6ab353dc6 100644 --- a/docs/source/setup.py +++ b/docs/source/setup.py @@ -51,4 +51,3 @@ def setup(root_dir: str, output_dir: str): ], root_dir=root_dir, ) - From f4dfad97766c071a67fbe400ad9bf98e5ff74161 Mon Sep 17 00:00:00 2001 From: ZergLev Date: Sat, 27 Apr 2024 12:45:56 +0500 Subject: [PATCH 032/266] removed switcher.json from commit since it's auto-generated now --- docs/source/_static/switcher.json | 12 ------------ 1 file changed, 12 deletions(-) delete mode 100644 docs/source/_static/switcher.json diff --git a/docs/source/_static/switcher.json b/docs/source/_static/switcher.json deleted file mode 100644 index 4ae1da65f..000000000 --- a/docs/source/_static/switcher.json +++ /dev/null @@ -1,12 +0,0 @@ -[ - { - "name": "0.8.0(stable)", - "version": "v0.8.0", - "url": "https://deeppavlov.github.io/dialog_flow_framework/master/index.html" - }, - { - "name": "latest(dev)", - "version": "dev", - "url": "https://deeppavlov.github.io/dialog_flow_framework/dev/index.html" - } -] From a6f3b3ceb32341c84d0d10f0e34bb6c485ae677a Mon Sep 17 00:00:00 2001 From: ZergLev Date: Sat, 27 Apr 2024 12:47:02 +0500 Subject: [PATCH 033/266] removed debug output --- docs/source/builder.py | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/source/builder.py b/docs/source/builder.py index 383e2d187..561e06de3 100644 --- a/docs/source/builder.py +++ b/docs/source/builder.py @@ -84,7 +84,6 @@ def replace(v: Any) -> str: # Importing version-dependent module setup.py root_dir = environment.path.absolute() - os.system("ls" + str(source_dir)) spec = importlib.util.spec_from_file_location("setup", str(source_dir) + "/setup.py") setup_module = importlib.util.module_from_spec(spec) sys.modules["setup"] = setup_module From 13445c713c7b16a19f27bbab2010683d3766adc1 Mon Sep 17 00:00:00 2001 From: ZergLev Date: Sat, 27 Apr 2024 13:23:24 +0500 Subject: [PATCH 034/266] wrong jekyll changes reverted --- .github/workflows/build_and_publish_docs.yml | 3 +++ docs/source/builder.py | 3 --- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build_and_publish_docs.yml b/.github/workflows/build_and_publish_docs.yml index 28981e941..f7456062a 100644 --- a/.github/workflows/build_and_publish_docs.yml +++ b/.github/workflows/build_and_publish_docs.yml @@ -47,6 +47,9 @@ jobs: run: | python -m poetry run poe docs + - name: remove jekyll theming + run: touch docs/build/.nojekyll + - name: save branch name without slashes if: ${{ github.ref != 'refs/heads/master' }} env: diff --git a/docs/source/builder.py b/docs/source/builder.py index 561e06de3..290ad4bc4 100644 --- a/docs/source/builder.py +++ b/docs/source/builder.py @@ -104,9 +104,6 @@ def replace(v: Any) -> str: older_conf_path = str(source_dir) + "/conf.py" shutil.copyfile(newer_conf_path, older_conf_path) - # Removing Jekyll theming - open(str(output_dir) + '/.nojekyll', 'a') - # pre hook if self.pre_cmd: out, err, rc = await environment.run(*map(replace, self.pre_cmd), env=env) From 71c45c3f865b657a52092915fb18be6b4ab10851 Mon Sep 17 00:00:00 2001 From: ZergLev Date: Thu, 2 May 2024 14:57:26 +0500 Subject: [PATCH 035/266] automated local doc builds + cleaning only outdated docs locally + shut down version switcher in local builds for now --- .github/workflows/build_and_publish_docs.yml | 13 ++++++++++--- docs/source/builder.py | 15 +++++++-------- docs/source/conf.py | 10 +++++++++- docs/source/poly.py | 17 +++++++++-------- scripts/clean.py | 8 ++++---- scripts/doc.py | 5 +---- 6 files changed, 40 insertions(+), 28 deletions(-) diff --git a/.github/workflows/build_and_publish_docs.yml b/.github/workflows/build_and_publish_docs.yml index f7456062a..f2f81801d 100644 --- a/.github/workflows/build_and_publish_docs.yml +++ b/.github/workflows/build_and_publish_docs.yml @@ -44,12 +44,10 @@ jobs: TG_API_ID: ${{ secrets.TG_API_ID }} TG_API_HASH: ${{ secrets.TG_API_HASH }} TG_BOT_USERNAME: ${{ secrets.TG_BOT_USERNAME }} + LOCAL_BUILD: "True" run: | python -m poetry run poe docs - - name: remove jekyll theming - run: touch docs/build/.nojekyll - - name: save branch name without slashes if: ${{ github.ref != 'refs/heads/master' }} env: @@ -59,6 +57,15 @@ jobs: BRANCH_NAME=${BRANCH_NAME////_} echo BRANCH_NAME=${BRANCH_NAME} >> $GITHUB_ENV + - name: save artifact + uses: actions/upload-artifact@v4 + env: + BRANCH_NAME: ${{ github.head_ref || github.ref_name }} + with: + name: ${{ format('github-pages-for-branch-{0}', env.BRANCH_NAME) }} + path: docs/build/ + retention-days: 3 + - name: get built version name run: | echo "VERSION=$(ls -1 docs/build | head -n 1)" >> "$GITHUB_ENV" diff --git a/docs/source/builder.py b/docs/source/builder.py index 290ad4bc4..7140e2242 100644 --- a/docs/source/builder.py +++ b/docs/source/builder.py @@ -17,6 +17,7 @@ import json import scripts.doc +from scripts.clean import clean_docs from sphinx_polyversion.sphinx import CommandBuilder, Placeholder @@ -88,22 +89,20 @@ def replace(v: Any) -> str: setup_module = importlib.util.module_from_spec(spec) sys.modules["setup"] = setup_module spec.loader.exec_module(setup_module) - - """ - # Cleaning outdated documentation build for local versions (not done yet) - sphinx.make_main(["-M", "clean", str(source_dir), str(output_dir)]) - """ - + + # Cleaning outdated documentation build + clean_docs(str(output_dir)) + # doing DFF funcs before doc building scripts.doc.dff_funcs(str(root_dir)) setup_module.setup(str(root_dir), str(output_dir)) - + # Replacing old conf.py file with the newest one # This shouldn't be there in builders for older versions. newer_conf_path = (os.getcwd() + "/docs/source/conf.py") older_conf_path = str(source_dir) + "/conf.py" shutil.copyfile(newer_conf_path, older_conf_path) - + # pre hook if self.pre_cmd: out, err, rc = await environment.run(*map(replace, self.pre_cmd), env=env) diff --git a/docs/source/conf.py b/docs/source/conf.py index 2a3676b00..7ad03ca99 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -115,14 +115,22 @@ # Version switcher url switcher_url = "https://zerglev.github.io/dialog_flow_framework/switcher.json" +# To-do: a separate switcher.json for dev and other branches # Checking for dev before passing version to switcher if current[0] == "dev": version_data = "dev" - # Possible to-do: show the warning banner for latest(unstable) version. + # Need to use metadata to show the warning banner for unstable version. else: version_data = version +# Removing version switcher from local doc builds. (Or it would point to our Github Pages) +LOCAL_BUILD = os.getenv('LOCAL_BUILD', default="True") +if LOCAL_BUILD: + switcher_url = "./_static/switcher.json" +# Possible TO-DO: generating switcher.json for local builds separately. Then change the prior url to new switcher. This is probably overkill. +print(os.getcwd()) + # Theme options html_theme_options = { "header_links_before_dropdown": 5, diff --git a/docs/source/poly.py b/docs/source/poly.py index 461193e1a..61db9b509 100644 --- a/docs/source/poly.py +++ b/docs/source/poly.py @@ -8,31 +8,32 @@ from docs.source.builder import DffSphinxBuilder from docs.source.switcher_gen import generate_switcher import git +import os # Generate switcher.json file generate_switcher() #: Regex matching the branches to build docs for +# This regex stands for all branches except master, so docs can be built for any branch on demand. (if the workflow is launched from it) BRANCH_REGEX = r"((?!master).)*" -# Put all branches here except master, so docs can be built for any branch -# if the workflow is launched from it. # BRANCH_REGEX = r".*" #: Regex matching the tags to build docs for TAG_REGEX = r"-" -# Switch this to True to build docs for current branch locally. -LOCAL = False - repo = git.Repo('./') branch = repo.active_branch -if LOCAL == True: -# Local builds only build docs for the current branch and no tags, which right now deletes any existing docs for other branches. If you wish to build docs for more branches/tags, you can change it here, or you can also switch off cleaning the /docs/build directory by commenting the "clean_docs()" line in scripts.doc.py +# This variable is set to True during workflow build. It is 'False' during local builds. +LOCAL_BUILD = os.getenv('LOCAL_BUILD', default="True") +print(LOCAL_BUILD) + +if LOCAL_BUILD == "True": +# Local builds only build docs for the current branch and no tags, which right now deletes any existing docs for other branches. If you wish to build docs for more branches/tags, you can change it here, or you can switch off cleaning the /docs/build directory by commenting the "clean_docs()" line in scripts.doc.py file BRANCH_REGEX = str(branch) TAG_REGEX = r"-" elif str(branch) == "master": -# Releases are handled here (pushes into master mean a release, so latest tag is built) +# Releases are handled here (pushes into master mean a release, so the latest tag is built) tags = sorted(repo.tags, key=lambda t: t.commit.committed_datetime) latest_tag = tags[-1] TAG_REGEX = str(latest_tag) diff --git a/scripts/clean.py b/scripts/clean.py index 74315011d..87a48532a 100644 --- a/scripts/clean.py +++ b/scripts/clean.py @@ -1,9 +1,9 @@ from pathlib import Path import shutil - -def clean_docs(): - shutil.rmtree("docs/build", ignore_errors=True) +# This functions cleans the outdated docs during local build +def clean_docs(output_dir: str = ""): + shutil.rmtree("docs/build/" + output_dir, ignore_errors=True) shutil.rmtree("docs/tutorials", ignore_errors=True) shutil.rmtree("docs/source/apiref", ignore_errors=True) shutil.rmtree("docs/source/_misc", ignore_errors=True) @@ -11,7 +11,7 @@ def clean_docs(): shutil.rmtree("docs/source/_static/drawio", ignore_errors=True) shutil.rmtree("docs/source/drawio_src/**/export", ignore_errors=True) - +# Ignored this function since it's unused. def clean(): clean_docs() shutil.rmtree(".pytest_cache", ignore_errors=True) diff --git a/scripts/doc.py b/scripts/doc.py index 4f7e90833..46fb3278c 100644 --- a/scripts/doc.py +++ b/scripts/doc.py @@ -11,7 +11,6 @@ from python_on_whales import DockerClient from .utils import docker_client -from .clean import clean_docs from sphinx_polyversion.main import main as poly_main @@ -55,13 +54,11 @@ def _build_drawio(root_dir: str): def docs(docker: Optional[DockerClient]): init() if docker is not None: - clean_docs() dotenv.load_dotenv(".env_file") os.environ["DISABLE_INTERACTIVE_MODE"] = "1" - result = build.make_main(["-M", "clean", "docs/source", "docs/build"]) poly_path = "docs/source/poly.py" poly_main([poly_path, poly_path]) - exit(result) + exit(0) else: print(f"{Fore.RED}Docs can be built on Linux platform only!{Style.RESET_ALL}") exit(1) From 52ebe117c29d04dfef939982c7ce8ab7d2ad2bb5 Mon Sep 17 00:00:00 2001 From: ZergLev Date: Thu, 2 May 2024 14:58:58 +0500 Subject: [PATCH 036/266] removed debug output --- docs/source/conf.py | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index 7ad03ca99..f1f52c6a6 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -129,7 +129,6 @@ if LOCAL_BUILD: switcher_url = "./_static/switcher.json" # Possible TO-DO: generating switcher.json for local builds separately. Then change the prior url to new switcher. This is probably overkill. -print(os.getcwd()) # Theme options html_theme_options = { From 2ae84efbf25487813e61103aea2fb65fd537c466 Mon Sep 17 00:00:00 2001 From: ZergLev Date: Thu, 2 May 2024 15:01:44 +0500 Subject: [PATCH 037/266] mistake fixed --- .github/workflows/build_and_publish_docs.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/build_and_publish_docs.yml b/.github/workflows/build_and_publish_docs.yml index f2f81801d..e6cc6dc13 100644 --- a/.github/workflows/build_and_publish_docs.yml +++ b/.github/workflows/build_and_publish_docs.yml @@ -48,6 +48,9 @@ jobs: run: | python -m poetry run poe docs + - name: remove jekyll theming + run: touch docs/build/.nojekyll + - name: save branch name without slashes if: ${{ github.ref != 'refs/heads/master' }} env: From c71a93e8798ad7f43025b7764e2c0c418a08c66a Mon Sep 17 00:00:00 2001 From: ZergLev Date: Thu, 2 May 2024 15:03:00 +0500 Subject: [PATCH 038/266] mistake fixed --- .github/workflows/build_and_publish_docs.yml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/.github/workflows/build_and_publish_docs.yml b/.github/workflows/build_and_publish_docs.yml index e6cc6dc13..ef83a7f44 100644 --- a/.github/workflows/build_and_publish_docs.yml +++ b/.github/workflows/build_and_publish_docs.yml @@ -60,15 +60,6 @@ jobs: BRANCH_NAME=${BRANCH_NAME////_} echo BRANCH_NAME=${BRANCH_NAME} >> $GITHUB_ENV - - name: save artifact - uses: actions/upload-artifact@v4 - env: - BRANCH_NAME: ${{ github.head_ref || github.ref_name }} - with: - name: ${{ format('github-pages-for-branch-{0}', env.BRANCH_NAME) }} - path: docs/build/ - retention-days: 3 - - name: get built version name run: | echo "VERSION=$(ls -1 docs/build | head -n 1)" >> "$GITHUB_ENV" From d6cbee9b1c677fcd03e5eddb65ada08875c6610e Mon Sep 17 00:00:00 2001 From: ZergLev Date: Thu, 2 May 2024 15:04:43 +0500 Subject: [PATCH 039/266] mistake fixed --- docs/source/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index f1f52c6a6..e775cd081 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -120,7 +120,7 @@ # Checking for dev before passing version to switcher if current[0] == "dev": version_data = "dev" - # Need to use metadata to show the warning banner for unstable version. + # Possible to-do: show the warning banner for latest(unstable) version. else: version_data = version From b0abfe59a768e5e3159b5b2dbb91866a9836181b Mon Sep 17 00:00:00 2001 From: ZergLev <64711614+ZergLev@users.noreply.github.com> Date: Thu, 2 May 2024 15:25:19 +0500 Subject: [PATCH 040/266] Debug output removed --- docs/source/poly.py | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/source/poly.py b/docs/source/poly.py index 61db9b509..1c29f90ae 100644 --- a/docs/source/poly.py +++ b/docs/source/poly.py @@ -26,7 +26,6 @@ # This variable is set to True during workflow build. It is 'False' during local builds. LOCAL_BUILD = os.getenv('LOCAL_BUILD', default="True") -print(LOCAL_BUILD) if LOCAL_BUILD == "True": # Local builds only build docs for the current branch and no tags, which right now deletes any existing docs for other branches. If you wish to build docs for more branches/tags, you can change it here, or you can switch off cleaning the /docs/build directory by commenting the "clean_docs()" line in scripts.doc.py file From f5663ebbdce9d0332590b82bfb4f872c01d0468b Mon Sep 17 00:00:00 2001 From: ZergLev <64711614+ZergLev@users.noreply.github.com> Date: Thu, 2 May 2024 15:27:08 +0500 Subject: [PATCH 041/266] Comment fixed --- docs/source/poly.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/poly.py b/docs/source/poly.py index 1c29f90ae..ede62034e 100644 --- a/docs/source/poly.py +++ b/docs/source/poly.py @@ -28,7 +28,7 @@ LOCAL_BUILD = os.getenv('LOCAL_BUILD', default="True") if LOCAL_BUILD == "True": -# Local builds only build docs for the current branch and no tags, which right now deletes any existing docs for other branches. If you wish to build docs for more branches/tags, you can change it here, or you can switch off cleaning the /docs/build directory by commenting the "clean_docs()" line in scripts.doc.py file +# Local builds only build docs for the current branch and no tags. BRANCH_REGEX = str(branch) TAG_REGEX = r"-" elif str(branch) == "master": From 371e655ed01e7d36bed112b201e53c6fb2c474a0 Mon Sep 17 00:00:00 2001 From: ZergLev <64711614+ZergLev@users.noreply.github.com> Date: Thu, 2 May 2024 15:28:49 +0500 Subject: [PATCH 042/266] Review change --- docs/source/setup.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/source/setup.py b/docs/source/setup.py index 6ab353dc6..b8a1a783e 100644 --- a/docs/source/setup.py +++ b/docs/source/setup.py @@ -1,7 +1,7 @@ -from docs.source.utils.notebook import py_percent_to_notebook # noqa: E402 -from docs.source.utils.generate_tutorials import generate_tutorial_links_for_notebook_creation # noqa: E402 -from docs.source.utils.link_misc_files import link_misc_files # noqa: E402 -from docs.source.utils.regenerate_apiref import regenerate_apiref # noqa: E402 +from docs.source.utils.notebook import py_percent_to_notebook +from docs.source.utils.generate_tutorials import generate_tutorial_links_for_notebook_creation +from docs.source.utils.link_misc_files import link_misc_files +from docs.source.utils.regenerate_apiref import regenerate_apiref from pathlib import Path def setup(root_dir: str, output_dir: str): From 17ca7071b18f1d506c2f9df4c5fabf3c730ddacd Mon Sep 17 00:00:00 2001 From: ZergLev Date: Thu, 2 May 2024 16:57:53 +0500 Subject: [PATCH 043/266] made it an option for conf.py replacement --- docs/source/builder.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/docs/source/builder.py b/docs/source/builder.py index 7140e2242..2c38b64a4 100644 --- a/docs/source/builder.py +++ b/docs/source/builder.py @@ -97,11 +97,13 @@ def replace(v: Any) -> str: scripts.doc.dff_funcs(str(root_dir)) setup_module.setup(str(root_dir), str(output_dir)) - # Replacing old conf.py file with the newest one - # This shouldn't be there in builders for older versions. - newer_conf_path = (os.getcwd() + "/docs/source/conf.py") - older_conf_path = str(source_dir) + "/conf.py" - shutil.copyfile(newer_conf_path, older_conf_path) + # Using the newest conf.py file instead of the old one + # This feature can be turned on, in case anyone needs it to build old versions with a newer design. Just don't forget to configure poly.py + NEW_SPHINX_CONFIGS = False + if NEW_SPHINX_CONFIGS: + newer_conf_path = (os.getcwd() + "/docs/source/conf.py") + older_conf_path = str(source_dir) + "/conf.py" + shutil.copyfile(newer_conf_path, older_conf_path) # pre hook if self.pre_cmd: From 21869ed4f42687b0e190451d2c324af7e881c960 Mon Sep 17 00:00:00 2001 From: ZergLev Date: Thu, 2 May 2024 17:03:06 +0500 Subject: [PATCH 044/266] removed saving branch name without slashes, because it's unused now --- .github/workflows/build_and_publish_docs.yml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/.github/workflows/build_and_publish_docs.yml b/.github/workflows/build_and_publish_docs.yml index ef83a7f44..81cc26e7e 100644 --- a/.github/workflows/build_and_publish_docs.yml +++ b/.github/workflows/build_and_publish_docs.yml @@ -51,15 +51,6 @@ jobs: - name: remove jekyll theming run: touch docs/build/.nojekyll - - name: save branch name without slashes - if: ${{ github.ref != 'refs/heads/master' }} - env: - BRANCH_NAME: ${{ github.head_ref || github.ref_name }} - run: | - BRANCH_NAME=${{ env.BRANCH_NAME }} - BRANCH_NAME=${BRANCH_NAME////_} - echo BRANCH_NAME=${BRANCH_NAME} >> $GITHUB_ENV - - name: get built version name run: | echo "VERSION=$(ls -1 docs/build | head -n 1)" >> "$GITHUB_ENV" From cd6c5b4353ad10dd37e6539f5a2750be095bec7d Mon Sep 17 00:00:00 2001 From: ZergLev <64711614+ZergLev@users.noreply.github.com> Date: Thu, 2 May 2024 17:05:13 +0500 Subject: [PATCH 045/266] Fixed mistake --- .github/workflows/build_and_publish_docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_and_publish_docs.yml b/.github/workflows/build_and_publish_docs.yml index 81cc26e7e..8bb126130 100644 --- a/.github/workflows/build_and_publish_docs.yml +++ b/.github/workflows/build_and_publish_docs.yml @@ -44,7 +44,7 @@ jobs: TG_API_ID: ${{ secrets.TG_API_ID }} TG_API_HASH: ${{ secrets.TG_API_HASH }} TG_BOT_USERNAME: ${{ secrets.TG_BOT_USERNAME }} - LOCAL_BUILD: "True" + LOCAL_BUILD: "False" run: | python -m poetry run poe docs From 9eaa6b5e09b661acb561a089cd0ef1bb6a66c2ef Mon Sep 17 00:00:00 2001 From: ZergLev Date: Thu, 2 May 2024 19:18:39 +0500 Subject: [PATCH 046/266] only updating switcher from master (wouldn't want to break it from an unrelated branch) --- .github/workflows/build_and_publish_docs.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build_and_publish_docs.yml b/.github/workflows/build_and_publish_docs.yml index 81cc26e7e..b4cc8a28c 100644 --- a/.github/workflows/build_and_publish_docs.yml +++ b/.github/workflows/build_and_publish_docs.yml @@ -56,6 +56,7 @@ jobs: echo "VERSION=$(ls -1 docs/build | head -n 1)" >> "$GITHUB_ENV" - name: update switcher.json file + if: ${{ github.ref == 'refs/heads/master' }} run: | cp docs/source/_static/switcher.json ./docs/build/switcher.json From daa496c76a15bc15241b5101e5a01a9e39a975b5 Mon Sep 17 00:00:00 2001 From: ZergLev Date: Fri, 27 Sep 2024 15:41:13 +0300 Subject: [PATCH 047/266] minor self-review changes --- docs/source/builder.py | 13 ++++++++----- docs/source/poly.py | 15 ++++++++------- scripts/doc.py | 4 ++-- 3 files changed, 18 insertions(+), 14 deletions(-) diff --git a/docs/source/builder.py b/docs/source/builder.py index 2c38b64a4..bc5fc4ebf 100644 --- a/docs/source/builder.py +++ b/docs/source/builder.py @@ -21,7 +21,7 @@ from sphinx_polyversion.sphinx import CommandBuilder, Placeholder -class DffSphinxBuilder(CommandBuilder): +class ChatskySphinxBuilder(CommandBuilder): def __init__( self, source: str | PurePath, @@ -94,16 +94,19 @@ def replace(v: Any) -> str: clean_docs(str(output_dir)) # doing DFF funcs before doc building - scripts.doc.dff_funcs(str(root_dir)) + scripts.doc.pre_sphinx_build_funcs(str(root_dir)) setup_module.setup(str(root_dir), str(output_dir)) # Using the newest conf.py file instead of the old one - # This feature can be turned on, in case anyone needs it to build old versions with a newer design. Just don't forget to configure poly.py - NEW_SPHINX_CONFIGS = False - if NEW_SPHINX_CONFIGS: + # This feature can be turned on, in case anyone needs it to build old versions with a newer design. + # Just don't forget to configure poly.py + new_sphinx_configs = False + if new_sphinx_configs: newer_conf_path = (os.getcwd() + "/docs/source/conf.py") older_conf_path = str(source_dir) + "/conf.py" shutil.copyfile(newer_conf_path, older_conf_path) + # If you add your own conf.py path there, you could build with any conf.py, + # meaning you could add features like the version-switcher button. # pre hook if self.pre_cmd: diff --git a/docs/source/poly.py b/docs/source/poly.py index ede62034e..25e2ac637 100644 --- a/docs/source/poly.py +++ b/docs/source/poly.py @@ -5,7 +5,7 @@ from sphinx_polyversion.git import * from sphinx_polyversion.git import closest_tag from sphinx_polyversion.pyvenv import Poetry -from docs.source.builder import DffSphinxBuilder +from docs.source.builder import ChatskySphinxBuilder from docs.source.switcher_gen import generate_switcher import git import os @@ -13,8 +13,9 @@ # Generate switcher.json file generate_switcher() -#: Regex matching the branches to build docs for -# This regex stands for all branches except master, so docs can be built for any branch on demand. (if the workflow is launched from it) +# Regex matching the branches to build docs for +# This regex stands for all branches except master, so docs can be built for any branch on demand. +# (if the workflow is launched from it) BRANCH_REGEX = r"((?!master).)*" # BRANCH_REGEX = r".*" @@ -24,15 +25,15 @@ repo = git.Repo('./') branch = repo.active_branch -# This variable is set to True during workflow build. It is 'False' during local builds. +# This variable is set to `False` during workflow build. It is 'True' during local builds. LOCAL_BUILD = os.getenv('LOCAL_BUILD', default="True") if LOCAL_BUILD == "True": -# Local builds only build docs for the current branch and no tags. + # Local builds only build docs for the current branch and no tags. BRANCH_REGEX = str(branch) TAG_REGEX = r"-" elif str(branch) == "master": -# Releases are handled here (pushes into master mean a release, so the latest tag is built) + # Releases are handled here (pushes into master mean a release, so the latest tag is built) tags = sorted(repo.tags, key=lambda t: t.commit.committed_datetime) latest_tag = tags[-1] TAG_REGEX = str(latest_tag) @@ -76,7 +77,7 @@ buffer_size=1 * 10**9, # 1 GB predicate=file_predicate([src]), # exclude refs without source dir ), - builder=DffSphinxBuilder(src, args=SPHINX_ARGS), + builder=ChatskySphinxBuilder(src, args=SPHINX_ARGS), env=Poetry.factory(args=POETRY_ARGS), selector=partial(closest_tag, root), template_dir=root / src / "templates", diff --git a/scripts/doc.py b/scripts/doc.py index 46fb3278c..a782ba187 100644 --- a/scripts/doc.py +++ b/scripts/doc.py @@ -64,8 +64,8 @@ def docs(docker: Optional[DockerClient]): exit(1) -# Functions to be called from DffSphinxBuilder before build -def dff_funcs(root_dir: str): +# Functions to be called from ChatskySphinxBuilder before build +def pre_sphinx_build_funcs(root_dir: str): _build_drawio(root_dir) apiref_dir = root_dir + "/docs/source/apiref" apidoc.main(["-e", "-E", "-f", "-o", apiref_dir, "dff"]) From 3887383537ce87a3d16467589379fdb87ecf47a6 Mon Sep 17 00:00:00 2001 From: ZergLev Date: Fri, 27 Sep 2024 16:00:32 +0300 Subject: [PATCH 048/266] dependencies mistake fixed + lint --- docs/source/utils/generate_tutorials.py | 8 +++----- poetry.lock | 10 +++++----- scripts/clean.py | 2 ++ scripts/doc.py | 1 - 4 files changed, 10 insertions(+), 11 deletions(-) diff --git a/docs/source/utils/generate_tutorials.py b/docs/source/utils/generate_tutorials.py index ecd90d1c8..38fa8237a 100644 --- a/docs/source/utils/generate_tutorials.py +++ b/docs/source/utils/generate_tutorials.py @@ -1,5 +1,4 @@ from pathlib import Path -from shutil import copy from typing import List, Optional, Set, Union, Tuple @@ -83,7 +82,8 @@ def sort_key(tutorial_file_name: Path) -> float: def iterate_tutorials_dir_generating_links(source: Path, dest: Path, base: str) -> List[Path]: """ - Recursively travel through tutorials directory, creating copies for all files under /tmp_dir/docs/source/tutorials/ root. + Recursively travel through tutorials directory, creating copies + for all files under /tmp_dir/docs/source/tutorials/ root. Created copied files have absolute path name matching source file tree structure. :param source: Tutorials root (usually tutorials/). @@ -141,6 +141,4 @@ def generate_tutorial_links_for_notebook_creation( filtered_links += [link] for included in include: - create_index_file( - included, filtered_links, dest / Path(f"index_{included[1].replace(' ', '_').lower()}.rst") - ) + create_index_file(included, filtered_links, dest / Path(f"index_{included[1].replace(' ', '_').lower()}.rst")) diff --git a/poetry.lock b/poetry.lock index 34d8b69a2..b98d45b74 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2859,7 +2859,7 @@ files = [ [[package]] name = "jupyterlab-server" -version = "2.27.4" +version = "2.27.3" description = "A set of server components for JupyterLab and JupyterLab like applications." optional = false python-versions = ">=3.8" @@ -3832,8 +3832,8 @@ files = [ [package.dependencies] numpy = [ {version = ">=1.20.3", markers = "python_version < \"3.10\""}, - {version = ">=1.21.0", markers = "python_version >= \"3.10\" and python_version < \"3.11\""}, {version = ">=1.23.2", markers = "python_version >= \"3.11\""}, + {version = ">=1.21.0", markers = "python_version >= \"3.10\" and python_version < \"3.11\""}, ] python-dateutil = ">=2.8.2" pytz = ">=2020.1" @@ -4328,7 +4328,7 @@ files = [ [[package]] name = "pyarrow" -version = "17.0.2" +version = "17.0.0" description = "Python library for Apache Arrow" optional = false python-versions = ">=3.8" @@ -4861,7 +4861,7 @@ files = [ [[package]] name = "python-on-whales" -version = "0.73.1" +version = "0.73.0" description = "A Docker client for Python, designed to be fun and intuitive!" optional = false python-versions = "<4,>=3.8" @@ -7037,4 +7037,4 @@ ydb = ["six", "ydb"] [metadata] lock-version = "2.0" python-versions = "^3.8.1,!=3.9.7" -content-hash = "511348f67731d8a26e0a269d3f8f032368a85289cdd4772df378335c57812201" +content-hash = "bb7959496a75564782f4fa4eba7879a2db721bfb5ba8f26a22967d6cccbf15c2" diff --git a/scripts/clean.py b/scripts/clean.py index 87a48532a..2b658ca2d 100644 --- a/scripts/clean.py +++ b/scripts/clean.py @@ -1,6 +1,7 @@ from pathlib import Path import shutil + # This functions cleans the outdated docs during local build def clean_docs(output_dir: str = ""): shutil.rmtree("docs/build/" + output_dir, ignore_errors=True) @@ -11,6 +12,7 @@ def clean_docs(output_dir: str = ""): shutil.rmtree("docs/source/_static/drawio", ignore_errors=True) shutil.rmtree("docs/source/drawio_src/**/export", ignore_errors=True) + # Ignored this function since it's unused. def clean(): clean_docs() diff --git a/scripts/doc.py b/scripts/doc.py index a782ba187..38a531957 100644 --- a/scripts/doc.py +++ b/scripts/doc.py @@ -6,7 +6,6 @@ import dotenv import scripts.patch_sphinx # noqa: F401 import sphinx.ext.apidoc as apidoc -import sphinx.cmd.build as build from colorama import init, Fore, Style from python_on_whales import DockerClient From b75c8ccad1edd3f885c52e878b0bb972f8bee587 Mon Sep 17 00:00:00 2001 From: ZergLev Date: Fri, 27 Sep 2024 16:06:59 +0300 Subject: [PATCH 049/266] merge change + mistake fixed --- docs/source/builder.py | 2 +- docs/source/switcher_gen.py | 18 +++++++++--------- scripts/doc.py | 2 +- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/docs/source/builder.py b/docs/source/builder.py index bc5fc4ebf..6e14c2842 100644 --- a/docs/source/builder.py +++ b/docs/source/builder.py @@ -93,7 +93,7 @@ def replace(v: Any) -> str: # Cleaning outdated documentation build clean_docs(str(output_dir)) - # doing DFF funcs before doc building + # Running Chatsky custom funcs before doc building scripts.doc.pre_sphinx_build_funcs(str(root_dir)) setup_module.setup(str(root_dir), str(output_dir)) diff --git a/docs/source/switcher_gen.py b/docs/source/switcher_gen.py index 3d0320295..f33961ff7 100644 --- a/docs/source/switcher_gen.py +++ b/docs/source/switcher_gen.py @@ -1,24 +1,25 @@ import git import json + def generate_switcher(): repo = git.Repo('./') - branch = repo.active_branch - + # branch = repo.active_branch + tags = sorted(repo.tags, key=lambda t: t.commit.committed_datetime) tags.reverse() latest_tag = tags[-1] - + switcher_json = [] - + dev_data = { "version": "dev", - "url": "https://deeppavlov.github.io/dialog_flow_framework/dev/index.html", + "url": "https://deeppavlov.github.io/chatsky/dev/index.html", } switcher_json += [dev_data] for tag in tags: - url = "https://deppavlov.github.io/dialog_flow_framework/" + str(tag) + "/index.html" + url = "https://deepavlov.github.io/chatsky/" + str(tag) + "/index.html" tag_data = { "name": str(tag), "version": str(tag), @@ -29,10 +30,9 @@ def generate_switcher(): # Only building for tags from v0.7.0 if str(tag) > "v0.7.0": switcher_json += [tag_data] - + switcher_json_obj = json.dumps(switcher_json, indent=4) - + # Write nested JSON data to the switcher.json file with open('./docs/source/_static/switcher.json', 'w') as f: f.write(switcher_json_obj) - diff --git a/scripts/doc.py b/scripts/doc.py index 38a531957..44214ea88 100644 --- a/scripts/doc.py +++ b/scripts/doc.py @@ -67,4 +67,4 @@ def docs(docker: Optional[DockerClient]): def pre_sphinx_build_funcs(root_dir: str): _build_drawio(root_dir) apiref_dir = root_dir + "/docs/source/apiref" - apidoc.main(["-e", "-E", "-f", "-o", apiref_dir, "dff"]) + apidoc.main(["-e", "-E", "-f", "-o", apiref_dir, "chatsky"]) From ad05246de9e8c9bbf0d941244b8cc68f7b026d8d Mon Sep 17 00:00:00 2001 From: ZergLev Date: Fri, 27 Sep 2024 16:29:25 +0300 Subject: [PATCH 050/266] testing github workflow (actions/checkout@v4) --- .github/workflows/build_and_publish_docs.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build_and_publish_docs.yml b/.github/workflows/build_and_publish_docs.yml index e348b8c6a..24b639ed7 100644 --- a/.github/workflows/build_and_publish_docs.yml +++ b/.github/workflows/build_and_publish_docs.yml @@ -20,10 +20,6 @@ jobs: name: build and publish docs runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - name: set up python 3.9 uses: actions/setup-python@v5 with: @@ -58,6 +54,10 @@ jobs: run: | cp docs/source/_static/switcher.json ./docs/build/switcher.json + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: save changes and checkout to gh-pages run: | git add -f . From fa26ee413622f98458cf79512de31b3d6c4be29f Mon Sep 17 00:00:00 2001 From: ZergLev Date: Fri, 27 Sep 2024 16:33:14 +0300 Subject: [PATCH 051/266] Revert "testing github workflow (actions/checkout@v4)" This reverts commit ad05246de9e8c9bbf0d941244b8cc68f7b026d8d. --- .github/workflows/build_and_publish_docs.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build_and_publish_docs.yml b/.github/workflows/build_and_publish_docs.yml index 24b639ed7..e348b8c6a 100644 --- a/.github/workflows/build_and_publish_docs.yml +++ b/.github/workflows/build_and_publish_docs.yml @@ -20,6 +20,10 @@ jobs: name: build and publish docs runs-on: ubuntu-latest steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: set up python 3.9 uses: actions/setup-python@v5 with: @@ -54,10 +58,6 @@ jobs: run: | cp docs/source/_static/switcher.json ./docs/build/switcher.json - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - name: save changes and checkout to gh-pages run: | git add -f . From 07d1eebded65761bdddf254694091b8d5a7ec6b1 Mon Sep 17 00:00:00 2001 From: ZergLev Date: Fri, 27 Sep 2024 16:42:58 +0300 Subject: [PATCH 052/266] testing workflow --- .github/workflows/build_and_publish_docs.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/build_and_publish_docs.yml b/.github/workflows/build_and_publish_docs.yml index e348b8c6a..21b6c7370 100644 --- a/.github/workflows/build_and_publish_docs.yml +++ b/.github/workflows/build_and_publish_docs.yml @@ -38,6 +38,11 @@ jobs: python -m pip install --upgrade pip poetry python -m poetry install --with tutorials,docs --all-extras --no-ansi --no-interaction + - name: testing actions/checkout_v4 + run: | + git branch + git status + - name: build documentation env: TG_BOT_TOKEN: ${{ secrets.TG_BOT_TOKEN }} From f29d02afcda1796102a74828c0706a141b904c7a Mon Sep 17 00:00:00 2001 From: ZergLev Date: Fri, 27 Sep 2024 16:58:48 +0300 Subject: [PATCH 053/266] removed customized sphinx-polyversion dependency, it's now relying on pypi --- poetry.lock | 16 ++++++---------- pyproject.toml | 2 +- scripts/doc.py | 4 +++- 3 files changed, 10 insertions(+), 12 deletions(-) diff --git a/poetry.lock b/poetry.lock index b98d45b74..b0c58a4ed 100644 --- a/poetry.lock +++ b/poetry.lock @@ -5773,23 +5773,19 @@ show-memory = ["memory-profiler"] [[package]] name = "sphinx-polyversion" -version = "0.5.0" +version = "1.0.0" description = "Build multiple versions of your sphinx docs and merge them into one website." optional = false python-versions = ">=3.8" -files = [] -develop = false +files = [ + {file = "sphinx_polyversion-1.0.0-py3-none-any.whl", hash = "sha256:f6d5e8b05f8146c08ed948c87864ee3b0eb4fdad993d64b349ef649d9266d678"}, + {file = "sphinx_polyversion-1.0.0.tar.gz", hash = "sha256:38bb3b8b0fac781f0a927faaba9925ffb2d08c5fc951cc7fe6eb4d5371feb046"}, +] [package.extras] jinja = ["jinja2 (>=3)"] virtualenv = ["virtualenv (>=20)"] -[package.source] -type = "git" -url = "https://github.com/ZergLev/sphinx-polyversion.git" -reference = "main" -resolved_reference = "2e7ef3299d1eddd37a51ba4d9448cbb4491aaba4" - [[package]] name = "sphinxcontrib-apidoc" version = "0.5.0" @@ -7037,4 +7033,4 @@ ydb = ["six", "ydb"] [metadata] lock-version = "2.0" python-versions = "^3.8.1,!=3.9.7" -content-hash = "bb7959496a75564782f4fa4eba7879a2db721bfb5ba8f26a22967d6cccbf15c2" +content-hash = "035e538dbb1f1b6e0c2e7d8ca137c787ab1a77121d94bbdd08268da4fdefaa5f" diff --git a/pyproject.toml b/pyproject.toml index e5ae0826f..4e9cd4ead 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -162,7 +162,7 @@ sphinxcontrib-httpdomain = "*" sphinx-autodoc-typehints = "*" jupytext = "*" jupyter = "*" -sphinx-polyversion = {git = "https://github.com/ZergLev/sphinx-polyversion.git", branch = "main"} +sphinx-polyversion = "*" diff --git a/scripts/doc.py b/scripts/doc.py index 44214ea88..a9340f077 100644 --- a/scripts/doc.py +++ b/scripts/doc.py @@ -1,4 +1,5 @@ import os +import sys from pathlib import Path import shutil from typing import Optional @@ -56,7 +57,8 @@ def docs(docker: Optional[DockerClient]): dotenv.load_dotenv(".env_file") os.environ["DISABLE_INTERACTIVE_MODE"] = "1" poly_path = "docs/source/poly.py" - poly_main([poly_path, poly_path]) + sys.argv = [poly_path, poly_path] + poly_main() exit(0) else: print(f"{Fore.RED}Docs can be built on Linux platform only!{Style.RESET_ALL}") From 73602da6bf1829bb862dc4cd7cfc650d5759b6eb Mon Sep 17 00:00:00 2001 From: ZergLev Date: Wed, 2 Oct 2024 18:24:04 +0300 Subject: [PATCH 054/266] testing the fix for detached HEAD in PRs --- .github/workflows/build_and_publish_docs.yml | 8 ++++++++ docs/source/conf.py | 5 +++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_and_publish_docs.yml b/.github/workflows/build_and_publish_docs.yml index 21b6c7370..3e3443d16 100644 --- a/.github/workflows/build_and_publish_docs.yml +++ b/.github/workflows/build_and_publish_docs.yml @@ -24,6 +24,14 @@ jobs: with: fetch-depth: 0 + - name: checkout to calling branch + env: + BRANCH_NAME: ${{ github.head_ref }} + if: ${{ github.event_name == 'pull_request' }} + run: | + git checkout $BRANCH_NAME + echo "$BRANCH_NAME" + - name: set up python 3.9 uses: actions/setup-python@v5 with: diff --git a/docs/source/conf.py b/docs/source/conf.py index 0b567e5fd..5ebec5471 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -114,7 +114,7 @@ ] # Version switcher url -switcher_url = "https://zerglev.github.io/dialog_flow_framework/switcher.json" +switcher_url = "https://zerglev.github.io/chatsky/switcher.json" # To-do: a separate switcher.json for dev and other branches # Checking for dev before passing version to switcher @@ -128,7 +128,8 @@ LOCAL_BUILD = os.getenv('LOCAL_BUILD', default="True") if LOCAL_BUILD: switcher_url = "./_static/switcher.json" -# Possible TO-DO: generating switcher.json for local builds separately. Then change the prior url to new switcher. This is probably overkill. +# Possible TO-DO: generating switcher.json for local builds separately. +# Then change the prior url to new switcher. This is probably overkill. # Theme options html_theme_options = { From 1610fcb24704758aa92bdcf1dca860a5c3ff6b4e Mon Sep 17 00:00:00 2001 From: ZergLev Date: Wed, 2 Oct 2024 18:28:59 +0300 Subject: [PATCH 055/266] testing --- .github/workflows/build_and_publish_docs.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/build_and_publish_docs.yml b/.github/workflows/build_and_publish_docs.yml index 3e3443d16..153299cba 100644 --- a/.github/workflows/build_and_publish_docs.yml +++ b/.github/workflows/build_and_publish_docs.yml @@ -24,6 +24,11 @@ jobs: with: fetch-depth: 0 + - name: testing actions/checkout_v4 + run: | + git branch + git status + - name: checkout to calling branch env: BRANCH_NAME: ${{ github.head_ref }} From bb939fd7b83fd85ba1eb84feef64b8afb3e4843e Mon Sep 17 00:00:00 2001 From: ZergLev Date: Wed, 2 Oct 2024 18:36:12 +0300 Subject: [PATCH 056/266] testing --- .github/workflows/build_and_publish_docs.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build_and_publish_docs.yml b/.github/workflows/build_and_publish_docs.yml index 153299cba..27829f6d1 100644 --- a/.github/workflows/build_and_publish_docs.yml +++ b/.github/workflows/build_and_publish_docs.yml @@ -26,16 +26,17 @@ jobs: - name: testing actions/checkout_v4 run: | + git fetch --all git branch git status - name: checkout to calling branch + if: ${{ github.event_name == 'pull_request' }} env: BRANCH_NAME: ${{ github.head_ref }} - if: ${{ github.event_name == 'pull_request' }} - run: | - git checkout $BRANCH_NAME - echo "$BRANCH_NAME" + uses: actions/checkout@v4 + with: + ref: my-branch - name: set up python 3.9 uses: actions/setup-python@v5 From 26ab914aee2e6a0daae611f55d60eda62597d3e3 Mon Sep 17 00:00:00 2001 From: ZergLev Date: Wed, 2 Oct 2024 18:38:37 +0300 Subject: [PATCH 057/266] testing --- .github/workflows/build_and_publish_docs.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_and_publish_docs.yml b/.github/workflows/build_and_publish_docs.yml index 27829f6d1..0c685fcde 100644 --- a/.github/workflows/build_and_publish_docs.yml +++ b/.github/workflows/build_and_publish_docs.yml @@ -35,8 +35,8 @@ jobs: env: BRANCH_NAME: ${{ github.head_ref }} uses: actions/checkout@v4 - with: - ref: my-branch + with: + ref: my-branch - name: set up python 3.9 uses: actions/setup-python@v5 From c3a931b24bf95a5d6c6fecbd1eed9c29c931448b Mon Sep 17 00:00:00 2001 From: ZergLev Date: Wed, 2 Oct 2024 18:54:42 +0300 Subject: [PATCH 058/266] detached head fix drafted --- .github/workflows/build_and_publish_docs.yml | 15 +-------------- docs/source/poly.py | 8 +++++--- 2 files changed, 6 insertions(+), 17 deletions(-) diff --git a/.github/workflows/build_and_publish_docs.yml b/.github/workflows/build_and_publish_docs.yml index 0c685fcde..ff1d171ad 100644 --- a/.github/workflows/build_and_publish_docs.yml +++ b/.github/workflows/build_and_publish_docs.yml @@ -24,20 +24,6 @@ jobs: with: fetch-depth: 0 - - name: testing actions/checkout_v4 - run: | - git fetch --all - git branch - git status - - - name: checkout to calling branch - if: ${{ github.event_name == 'pull_request' }} - env: - BRANCH_NAME: ${{ github.head_ref }} - uses: actions/checkout@v4 - with: - ref: my-branch - - name: set up python 3.9 uses: actions/setup-python@v5 with: @@ -62,6 +48,7 @@ jobs: TG_BOT_TOKEN: ${{ secrets.TG_BOT_TOKEN }} TG_BOT_USERNAME: ${{ secrets.TG_BOT_USERNAME }} LOCAL_BUILD: "False" + BRANCH_NAME: ${{ github.head_ref }} run: | python -m poetry run poe docs diff --git a/docs/source/poly.py b/docs/source/poly.py index 25e2ac637..c48fdcd81 100644 --- a/docs/source/poly.py +++ b/docs/source/poly.py @@ -22,12 +22,14 @@ #: Regex matching the tags to build docs for TAG_REGEX = r"-" -repo = git.Repo('./') -branch = repo.active_branch - # This variable is set to `False` during workflow build. It is 'True' during local builds. LOCAL_BUILD = os.getenv('LOCAL_BUILD', default="True") +repo = git.Repo('./') +# This variable is needed for passing the branch name during PR workflow doc builds, +# because in those cases 'repo.active_branch' gives 'detached HEAD'. +branch = os.getenv('BRANCH_NAME', default=repo.active_branch) + if LOCAL_BUILD == "True": # Local builds only build docs for the current branch and no tags. BRANCH_REGEX = str(branch) From d5da02f2b777d3f5f1f587a90e1daa39b980ad3d Mon Sep 17 00:00:00 2001 From: ZergLev Date: Wed, 2 Oct 2024 18:58:31 +0300 Subject: [PATCH 059/266] testing --- .github/workflows/build_and_publish_docs.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build_and_publish_docs.yml b/.github/workflows/build_and_publish_docs.yml index ff1d171ad..c6eda91b6 100644 --- a/.github/workflows/build_and_publish_docs.yml +++ b/.github/workflows/build_and_publish_docs.yml @@ -39,16 +39,19 @@ jobs: python -m poetry install --with tutorials,docs --all-extras --no-ansi --no-interaction - name: testing actions/checkout_v4 + env: + BRANCH_NAME: ${{ github.head_ref || github.ref_name }} run: | git branch git status + echo "$BRANCH_NAME" - name: build documentation env: TG_BOT_TOKEN: ${{ secrets.TG_BOT_TOKEN }} TG_BOT_USERNAME: ${{ secrets.TG_BOT_USERNAME }} LOCAL_BUILD: "False" - BRANCH_NAME: ${{ github.head_ref }} + BRANCH_NAME: ${{ github.head_ref || github.ref_name }} run: | python -m poetry run poe docs From 85ca3977541677ed3983ccbe8dacdb784eea7553 Mon Sep 17 00:00:00 2001 From: ZergLev Date: Wed, 2 Oct 2024 19:01:39 +0300 Subject: [PATCH 060/266] testing --- docs/source/poly.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/source/poly.py b/docs/source/poly.py index c48fdcd81..e1379c998 100644 --- a/docs/source/poly.py +++ b/docs/source/poly.py @@ -28,7 +28,10 @@ repo = git.Repo('./') # This variable is needed for passing the branch name during PR workflow doc builds, # because in those cases 'repo.active_branch' gives 'detached HEAD'. -branch = os.getenv('BRANCH_NAME', default=repo.active_branch) +branch = os.getenv('BRANCH_NAME', default=None) +print(branch) +if branch is None: + branch = repo.active_branch if LOCAL_BUILD == "True": # Local builds only build docs for the current branch and no tags. From 95e0e7d4a7367427f4d70cdea89c7a69b74ad755 Mon Sep 17 00:00:00 2001 From: ZergLev Date: Wed, 2 Oct 2024 19:16:56 +0300 Subject: [PATCH 061/266] testing --- .github/workflows/build_and_publish_docs.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/build_and_publish_docs.yml b/.github/workflows/build_and_publish_docs.yml index c6eda91b6..70c2cbe22 100644 --- a/.github/workflows/build_and_publish_docs.yml +++ b/.github/workflows/build_and_publish_docs.yml @@ -46,6 +46,13 @@ jobs: git status echo "$BRANCH_NAME" + - name: checkout to calling branch + env: + BRANCH_NAME: ${{ github.head_ref || github.ref_name }} + if: ${{ github.event_name == 'pull_request' }} + run: | + git checkout $BRANCH_NAME + - name: build documentation env: TG_BOT_TOKEN: ${{ secrets.TG_BOT_TOKEN }} From 71c256524b4e4291f6b79cef3c04bebeb324b018 Mon Sep 17 00:00:00 2001 From: ZergLev Date: Wed, 2 Oct 2024 19:24:59 +0300 Subject: [PATCH 062/266] testing artifact saving --- .github/workflows/build_and_publish_docs.yml | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build_and_publish_docs.yml b/.github/workflows/build_and_publish_docs.yml index 70c2cbe22..dbc4ddae3 100644 --- a/.github/workflows/build_and_publish_docs.yml +++ b/.github/workflows/build_and_publish_docs.yml @@ -46,13 +46,6 @@ jobs: git status echo "$BRANCH_NAME" - - name: checkout to calling branch - env: - BRANCH_NAME: ${{ github.head_ref || github.ref_name }} - if: ${{ github.event_name == 'pull_request' }} - run: | - git checkout $BRANCH_NAME - - name: build documentation env: TG_BOT_TOKEN: ${{ secrets.TG_BOT_TOKEN }} @@ -94,7 +87,16 @@ jobs: git checkout - git stash pop + - name: save artifact + if: ${{ github.ref != 'refs/heads/master' }} + uses: actions/upload-artifact@v4 + with: + name: ${{ format('github-pages-for-branch-{0}', env.BRANCH_NAME) }} + path: docs/build/ + retention-days: 3 + - name: deploy website + if: ${{ github.ref != 'refs/heads/master' && github.ref == 'refs/heads/dev' }} uses: JamesIves/github-pages-deploy-action@v4 with: branch: gh-pages From 652d7c2ab1cf7f12e75b9286a6e10cb85ce152e2 Mon Sep 17 00:00:00 2001 From: ZergLev Date: Wed, 2 Oct 2024 19:26:45 +0300 Subject: [PATCH 063/266] more testing --- .github/workflows/build_and_publish_docs.yml | 2 +- docs/source/poly.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build_and_publish_docs.yml b/.github/workflows/build_and_publish_docs.yml index dbc4ddae3..8b5787a86 100644 --- a/.github/workflows/build_and_publish_docs.yml +++ b/.github/workflows/build_and_publish_docs.yml @@ -88,7 +88,7 @@ jobs: git stash pop - name: save artifact - if: ${{ github.ref != 'refs/heads/master' }} + if: ${{ github.ref != 'refs/heads/master' && github.ref == 'refs/heads/dev' }} uses: actions/upload-artifact@v4 with: name: ${{ format('github-pages-for-branch-{0}', env.BRANCH_NAME) }} diff --git a/docs/source/poly.py b/docs/source/poly.py index e1379c998..adda0a1b0 100644 --- a/docs/source/poly.py +++ b/docs/source/poly.py @@ -30,6 +30,7 @@ # because in those cases 'repo.active_branch' gives 'detached HEAD'. branch = os.getenv('BRANCH_NAME', default=None) print(branch) +print(repo) if branch is None: branch = repo.active_branch From 40221111708b7d62e7fa66b46dcbf09ec3ef2ca0 Mon Sep 17 00:00:00 2001 From: ZergLev Date: Wed, 2 Oct 2024 19:30:10 +0300 Subject: [PATCH 064/266] fixed typo --- .github/workflows/build_and_publish_docs.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_and_publish_docs.yml b/.github/workflows/build_and_publish_docs.yml index 8b5787a86..bb0a335a5 100644 --- a/.github/workflows/build_and_publish_docs.yml +++ b/.github/workflows/build_and_publish_docs.yml @@ -88,7 +88,7 @@ jobs: git stash pop - name: save artifact - if: ${{ github.ref != 'refs/heads/master' && github.ref == 'refs/heads/dev' }} + if: ${{ github.ref != 'refs/heads/master' && github.ref != 'refs/heads/dev' }} uses: actions/upload-artifact@v4 with: name: ${{ format('github-pages-for-branch-{0}', env.BRANCH_NAME) }} @@ -96,7 +96,7 @@ jobs: retention-days: 3 - name: deploy website - if: ${{ github.ref != 'refs/heads/master' && github.ref == 'refs/heads/dev' }} + if: ${{ github.ref != 'refs/heads/master' && github.ref != 'refs/heads/dev' }} uses: JamesIves/github-pages-deploy-action@v4 with: branch: gh-pages From c203eea1605cbec367173f2096550708c0599cf8 Mon Sep 17 00:00:00 2001 From: ZergLev Date: Wed, 2 Oct 2024 19:34:33 +0300 Subject: [PATCH 065/266] fixed typo --- .github/workflows/build_and_publish_docs.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_and_publish_docs.yml b/.github/workflows/build_and_publish_docs.yml index bb0a335a5..3c0142602 100644 --- a/.github/workflows/build_and_publish_docs.yml +++ b/.github/workflows/build_and_publish_docs.yml @@ -88,7 +88,7 @@ jobs: git stash pop - name: save artifact - if: ${{ github.ref != 'refs/heads/master' && github.ref != 'refs/heads/dev' }} + if: ${{ github.ref == 'refs/heads/master' || github.ref == 'refs/heads/dev' }} uses: actions/upload-artifact@v4 with: name: ${{ format('github-pages-for-branch-{0}', env.BRANCH_NAME) }} @@ -96,7 +96,7 @@ jobs: retention-days: 3 - name: deploy website - if: ${{ github.ref != 'refs/heads/master' && github.ref != 'refs/heads/dev' }} + if: ${{ github.ref == 'refs/heads/master' || github.ref == 'refs/heads/dev' }} uses: JamesIves/github-pages-deploy-action@v4 with: branch: gh-pages From 1667bc1ff85c97869c113184ab6179536c0924cd Mon Sep 17 00:00:00 2001 From: ZergLev Date: Wed, 2 Oct 2024 19:36:21 +0300 Subject: [PATCH 066/266] testing --- .github/workflows/build_and_publish_docs.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/build_and_publish_docs.yml b/.github/workflows/build_and_publish_docs.yml index 3c0142602..400bb15ed 100644 --- a/.github/workflows/build_and_publish_docs.yml +++ b/.github/workflows/build_and_publish_docs.yml @@ -46,6 +46,14 @@ jobs: git status echo "$BRANCH_NAME" + - name: checkout to calling branch + env: + BRANCH_NAME: ${{ github.head_ref || github.ref_name }} + if: ${{ github.event_name == 'pull_request' }} + run: | + git pull origin $BRANCH_NAME + git checkout $BRANCH_NAME + - name: build documentation env: TG_BOT_TOKEN: ${{ secrets.TG_BOT_TOKEN }} From 7ad36c621074667ec354ab406cb595f91efd7a9f Mon Sep 17 00:00:00 2001 From: ZergLev Date: Wed, 2 Oct 2024 19:39:19 +0300 Subject: [PATCH 067/266] testing --- .github/workflows/build_and_publish_docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_and_publish_docs.yml b/.github/workflows/build_and_publish_docs.yml index 400bb15ed..084f4d875 100644 --- a/.github/workflows/build_and_publish_docs.yml +++ b/.github/workflows/build_and_publish_docs.yml @@ -51,7 +51,7 @@ jobs: BRANCH_NAME: ${{ github.head_ref || github.ref_name }} if: ${{ github.event_name == 'pull_request' }} run: | - git pull origin $BRANCH_NAME + git pull origin $BRANCH_NAME:$BRANCH_NAME git checkout $BRANCH_NAME - name: build documentation From 70d83502409f5e60a574e6d8a15af827457abb84 Mon Sep 17 00:00:00 2001 From: ZergLev Date: Wed, 2 Oct 2024 19:41:37 +0300 Subject: [PATCH 068/266] testing --- .github/workflows/build_and_publish_docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_and_publish_docs.yml b/.github/workflows/build_and_publish_docs.yml index 084f4d875..1cfd9d5c6 100644 --- a/.github/workflows/build_and_publish_docs.yml +++ b/.github/workflows/build_and_publish_docs.yml @@ -51,7 +51,7 @@ jobs: BRANCH_NAME: ${{ github.head_ref || github.ref_name }} if: ${{ github.event_name == 'pull_request' }} run: | - git pull origin $BRANCH_NAME:$BRANCH_NAME + git pull origin/$BRANCH_NAME git checkout $BRANCH_NAME - name: build documentation From 87d7afdeb9af84224f94bb192cb5444214a4885d Mon Sep 17 00:00:00 2001 From: ZergLev Date: Wed, 2 Oct 2024 19:51:24 +0300 Subject: [PATCH 069/266] fixed typo --- .github/workflows/build_and_publish_docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_and_publish_docs.yml b/.github/workflows/build_and_publish_docs.yml index 1cfd9d5c6..4e4796983 100644 --- a/.github/workflows/build_and_publish_docs.yml +++ b/.github/workflows/build_and_publish_docs.yml @@ -96,7 +96,7 @@ jobs: git stash pop - name: save artifact - if: ${{ github.ref == 'refs/heads/master' || github.ref == 'refs/heads/dev' }} + if: ${{ github.ref != 'refs/heads/master' && github.ref != 'refs/heads/dev' }} uses: actions/upload-artifact@v4 with: name: ${{ format('github-pages-for-branch-{0}', env.BRANCH_NAME) }} From f9d99781753b8a7a34f5418b2b59d09556a36bd7 Mon Sep 17 00:00:00 2001 From: ZergLev Date: Fri, 4 Oct 2024 19:34:21 +0300 Subject: [PATCH 070/266] drafted new colab and github links in tutorials --- docs/source/_templates/example-links.html | 4 ++-- docs/source/conf.py | 2 ++ docs/source/poly.py | 2 -- docs/source/utils/regenerate_apiref.py | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/source/_templates/example-links.html b/docs/source/_templates/example-links.html index 5ba1edc8f..518b30407 100644 --- a/docs/source/_templates/example-links.html +++ b/docs/source/_templates/example-links.html @@ -1,8 +1,8 @@ {% if meta is defined and meta is not none and 'tutorial_name' in meta %} {% set repo_path = "/".join(meta['tutorial_name'].split("/")[-1].split(".")) %} - {% set github_link = 'https://github.com/deeppavlov/chatsky/blob/master/' ~ repo_path ~ '.py' %} + {% set github_link = 'https://github.com/deeppavlov/chatsky/blob/' ~ meta['doc_version'] ~ repo_path ~ '.py' %} {% set notebook_link = '../' ~ meta['tutorial_name'] ~ '.ipynb' %} - {% set colab_link = 'https://colab.research.google.com/github/deeppavlov/chatsky/blob/gh-pages/' ~ meta['tutorial_name'] ~ '.ipynb' %} + {% set colab_link = 'https://colab.research.google.com/github/deeppavlov/chatsky/blob/gh-pages/' ~ meta['doc_version'] ~ meta['tutorial_name'] ~ '.ipynb' %}