From 875caebba8c7e540b952f35a447a5949a213b1a4 Mon Sep 17 00:00:00 2001 From: H2Sxxa Date: Mon, 16 Sep 2024 15:54:05 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20Fix=20Project=20Cli?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../.github/workflows/pypi.yml | 29 + .../.github/workflows/test.yml | 30 + script/lunar-cli/Remilia-1.2.2.1/.gitignore | 134 +++ script/lunar-cli/Remilia-1.2.2.1/LICENSE | 21 + script/lunar-cli/Remilia-1.2.2.1/README.md | 30 + .../lunar-cli/Remilia-1.2.2.1/background.png | Bin 0 -> 282261 bytes script/lunar-cli/Remilia-1.2.2.1/pdm.lock | 718 ++++++++++++++++ .../lunar-cli/Remilia-1.2.2.1/pyproject.toml | 44 + .../Remilia-1.2.2.1/src/Remilia/__init__.py | 27 + .../src/Remilia/base/__init__.py | 7 + .../src/Remilia/base/exceptions.py | 4 + .../src/Remilia/base/models.py | 28 + .../src/Remilia/base/typings.py | 9 + .../Remilia-1.2.2.1/src/Remilia/fancy.py | 227 +++++ .../Remilia-1.2.2.1/src/Remilia/impl.py | 27 + .../Remilia-1.2.2.1/src/Remilia/log.py | 199 +++++ .../Remilia-1.2.2.1/src/Remilia/mixin.py | 799 ++++++++++++++++++ .../Remilia-1.2.2.1/src/Remilia/overload.py | 0 .../Remilia-1.2.2.1/src/Remilia/res.py | 199 +++++ .../Remilia-1.2.2.1/src/Remilia/sdb.py | 219 +++++ .../Remilia-1.2.2.1/src/Remilia/shadow.py | 147 ++++ .../Remilia-1.2.2.1/src/Remilia/structdb.py | 181 ++++ .../src/Remilia/utils/__init__.py | 12 + .../src/Remilia/utils/cli/__init__.py | 31 + .../utils/cli/prompts_extension/__init__.py | 3 + .../utils/cli/prompts_extension/router.py | 2 + .../Remilia-1.2.2.1/src/Remilia/utils/misc.py | 13 + .../src/Remilia/utils/pixiv.py | 207 +++++ .../src/Remilia/utils/thread/Timeout.py | 94 +++ .../src/Remilia/utils/thread/__init__.py | 14 + .../Remilia/utils/thread/terminable_thread.py | 32 + .../lunar-cli/Remilia-1.2.2.1/test/testlib.py | 7 + .../lunar-cli/lunarcli/mixin/MixinPrompt.py | 18 +- script/lunar-cli/pdm.lock | 530 ++++++------ script/lunar-cli/pyproject.toml | 17 +- 35 files changed, 3801 insertions(+), 258 deletions(-) create mode 100644 script/lunar-cli/Remilia-1.2.2.1/.github/workflows/pypi.yml create mode 100644 script/lunar-cli/Remilia-1.2.2.1/.github/workflows/test.yml create mode 100644 script/lunar-cli/Remilia-1.2.2.1/.gitignore create mode 100644 script/lunar-cli/Remilia-1.2.2.1/LICENSE create mode 100644 script/lunar-cli/Remilia-1.2.2.1/README.md create mode 100644 script/lunar-cli/Remilia-1.2.2.1/background.png create mode 100644 script/lunar-cli/Remilia-1.2.2.1/pdm.lock create mode 100644 script/lunar-cli/Remilia-1.2.2.1/pyproject.toml create mode 100644 script/lunar-cli/Remilia-1.2.2.1/src/Remilia/__init__.py create mode 100644 script/lunar-cli/Remilia-1.2.2.1/src/Remilia/base/__init__.py create mode 100644 script/lunar-cli/Remilia-1.2.2.1/src/Remilia/base/exceptions.py create mode 100644 script/lunar-cli/Remilia-1.2.2.1/src/Remilia/base/models.py create mode 100644 script/lunar-cli/Remilia-1.2.2.1/src/Remilia/base/typings.py create mode 100644 script/lunar-cli/Remilia-1.2.2.1/src/Remilia/fancy.py create mode 100644 script/lunar-cli/Remilia-1.2.2.1/src/Remilia/impl.py create mode 100644 script/lunar-cli/Remilia-1.2.2.1/src/Remilia/log.py create mode 100644 script/lunar-cli/Remilia-1.2.2.1/src/Remilia/mixin.py create mode 100644 script/lunar-cli/Remilia-1.2.2.1/src/Remilia/overload.py create mode 100644 script/lunar-cli/Remilia-1.2.2.1/src/Remilia/res.py create mode 100644 script/lunar-cli/Remilia-1.2.2.1/src/Remilia/sdb.py create mode 100644 script/lunar-cli/Remilia-1.2.2.1/src/Remilia/shadow.py create mode 100644 script/lunar-cli/Remilia-1.2.2.1/src/Remilia/structdb.py create mode 100644 script/lunar-cli/Remilia-1.2.2.1/src/Remilia/utils/__init__.py create mode 100644 script/lunar-cli/Remilia-1.2.2.1/src/Remilia/utils/cli/__init__.py create mode 100644 script/lunar-cli/Remilia-1.2.2.1/src/Remilia/utils/cli/prompts_extension/__init__.py create mode 100644 script/lunar-cli/Remilia-1.2.2.1/src/Remilia/utils/cli/prompts_extension/router.py create mode 100644 script/lunar-cli/Remilia-1.2.2.1/src/Remilia/utils/misc.py create mode 100644 script/lunar-cli/Remilia-1.2.2.1/src/Remilia/utils/pixiv.py create mode 100644 script/lunar-cli/Remilia-1.2.2.1/src/Remilia/utils/thread/Timeout.py create mode 100644 script/lunar-cli/Remilia-1.2.2.1/src/Remilia/utils/thread/__init__.py create mode 100644 script/lunar-cli/Remilia-1.2.2.1/src/Remilia/utils/thread/terminable_thread.py create mode 100644 script/lunar-cli/Remilia-1.2.2.1/test/testlib.py diff --git a/script/lunar-cli/Remilia-1.2.2.1/.github/workflows/pypi.yml b/script/lunar-cli/Remilia-1.2.2.1/.github/workflows/pypi.yml new file mode 100644 index 0000000..98856d2 --- /dev/null +++ b/script/lunar-cli/Remilia-1.2.2.1/.github/workflows/pypi.yml @@ -0,0 +1,29 @@ +# This workflows will upload a Python Package using Twine when a release is created +# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries + +name: PYPI Publish + +on: + release: + types: [created] + +jobs: + pypi-publish: + name: Test Lib & Publish + runs-on: ubuntu-latest + permissions: + id-token: write + steps: + - uses: actions/checkout@v3 + - uses: pdm-project/setup-pdm@v3 + with: + version: 'head' + - name: Set up Python + uses: actions/setup-python@v3 + with: + python-version: '3.10' + - name: Setup & Publish Lib + run: | + pdm install -G all + - name: Publish package distributions to PyPI + run: pdm publish \ No newline at end of file diff --git a/script/lunar-cli/Remilia-1.2.2.1/.github/workflows/test.yml b/script/lunar-cli/Remilia-1.2.2.1/.github/workflows/test.yml new file mode 100644 index 0000000..adf7afb --- /dev/null +++ b/script/lunar-cli/Remilia-1.2.2.1/.github/workflows/test.yml @@ -0,0 +1,30 @@ +# This workflows will upload a Python Package using Twine when a release is created +# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries + +name: Test Lib + +on: + push: + branches: + - main + pull_request: + branches: + - main + +jobs: + deploy: + name: Test + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - uses: pdm-project/setup-pdm@v3 + - name: Set up Python + uses: actions/setup-python@v3 + with: + python-version: '3.10' + + - name: Setup & Test Lib + run: | + pdm install -G all + pdm run test/testlib.py \ No newline at end of file diff --git a/script/lunar-cli/Remilia-1.2.2.1/.gitignore b/script/lunar-cli/Remilia-1.2.2.1/.gitignore new file mode 100644 index 0000000..a13eeef --- /dev/null +++ b/script/lunar-cli/Remilia-1.2.2.1/.gitignore @@ -0,0 +1,134 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +pip-wheel-metadata/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +.python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +**/test.py +.vscode +.pdm-build +.pdm-python diff --git a/script/lunar-cli/Remilia-1.2.2.1/LICENSE b/script/lunar-cli/Remilia-1.2.2.1/LICENSE new file mode 100644 index 0000000..162a70b --- /dev/null +++ b/script/lunar-cli/Remilia-1.2.2.1/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 H2Sxxa + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/script/lunar-cli/Remilia-1.2.2.1/README.md b/script/lunar-cli/Remilia-1.2.2.1/README.md new file mode 100644 index 0000000..c99beb1 --- /dev/null +++ b/script/lunar-cli/Remilia-1.2.2.1/README.md @@ -0,0 +1,30 @@ +
+ [BG](https://raw.githubusercontent.com/H2Sxxa/Remilia/main/background.png) +

Remilia

+
+ +
+ python + size + license +
+ +# What's this? + +A package with many utils, in order to help build application faster. + +use Remilia,you can print colorful log,you can use mixin to modify any class(but most build-in class not supported),you can use the res to manage your resource(based on Pathlib) + +# Install + +```shell +pip install Remilia #Install basic package + +pip install Remilia[tui] #Install tui package + +pip install Remilia[all] #Install full package +``` + +# How to use? + +See our wiki -> diff --git a/script/lunar-cli/Remilia-1.2.2.1/background.png b/script/lunar-cli/Remilia-1.2.2.1/background.png new file mode 100644 index 0000000000000000000000000000000000000000..5b238288d7ffe099603b714393ed07a65ad433bc GIT binary patch literal 282261 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

!3+SKB3@yx|%i0}2Scp-CvD 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 z%0A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.1.2", + "async-timeout<5.0,>=4.0.0a3", + "attrs>=17.3.0", + "charset-normalizer<4.0,>=2.0", + "frozenlist>=1.1.1", + "multidict<7.0,>=4.5", + "yarl<2.0,>=1.0", +] +files = [ + {file = "aiohttp-3.8.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a94159871304770da4dd371f4291b20cac04e8c94f11bdea1c3478e557fbe0d8"}, + {file = "aiohttp-3.8.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:13bf85afc99ce6f9ee3567b04501f18f9f8dbbb2ea11ed1a2e079670403a7c84"}, + {file = "aiohttp-3.8.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2ce2ac5708501afc4847221a521f7e4b245abf5178cf5ddae9d5b3856ddb2f3a"}, + {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:96943e5dcc37a6529d18766597c491798b7eb7a61d48878611298afc1fca946c"}, + {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2ad5c3c4590bb3cc28b4382f031f3783f25ec223557124c68754a2231d989e2b"}, + {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0c413c633d0512df4dc7fd2373ec06cc6a815b7b6d6c2f208ada7e9e93a5061d"}, + {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:df72ac063b97837a80d80dec8d54c241af059cc9bb42c4de68bd5b61ceb37caa"}, + {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c48c5c0271149cfe467c0ff8eb941279fd6e3f65c9a388c984e0e6cf57538e14"}, + {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:368a42363c4d70ab52c2c6420a57f190ed3dfaca6a1b19afda8165ee16416a82"}, + {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7607ec3ce4993464368505888af5beb446845a014bc676d349efec0e05085905"}, + {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:0d21c684808288a98914e5aaf2a7c6a3179d4df11d249799c32d1808e79503b5"}, + {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:312fcfbacc7880a8da0ae8b6abc6cc7d752e9caa0051a53d217a650b25e9a691"}, + {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ad093e823df03bb3fd37e7dec9d4670c34f9e24aeace76808fc20a507cace825"}, + {file = "aiohttp-3.8.5-cp310-cp310-win32.whl", hash = "sha256:33279701c04351a2914e1100b62b2a7fdb9a25995c4a104259f9a5ead7ed4802"}, + {file = "aiohttp-3.8.5-cp310-cp310-win_amd64.whl", hash = "sha256:6e4a280e4b975a2e7745573e3fc9c9ba0d1194a3738ce1cbaa80626cc9b4f4df"}, + {file = "aiohttp-3.8.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ae871a964e1987a943d83d6709d20ec6103ca1eaf52f7e0d36ee1b5bebb8b9b9"}, + {file = "aiohttp-3.8.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:461908b2578955045efde733719d62f2b649c404189a09a632d245b445c9c975"}, + {file = "aiohttp-3.8.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:72a860c215e26192379f57cae5ab12b168b75db8271f111019509a1196dfc780"}, + {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc14be025665dba6202b6a71cfcdb53210cc498e50068bc088076624471f8bb9"}, + {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8af740fc2711ad85f1a5c034a435782fbd5b5f8314c9a3ef071424a8158d7f6b"}, + {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:841cd8233cbd2111a0ef0a522ce016357c5e3aff8a8ce92bcfa14cef890d698f"}, + {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ed1c46fb119f1b59304b5ec89f834f07124cd23ae5b74288e364477641060ff"}, + {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:84f8ae3e09a34f35c18fa57f015cc394bd1389bce02503fb30c394d04ee6b938"}, + {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:62360cb771707cb70a6fd114b9871d20d7dd2163a0feafe43fd115cfe4fe845e"}, + {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:23fb25a9f0a1ca1f24c0a371523546366bb642397c94ab45ad3aedf2941cec6a"}, + {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:b0ba0d15164eae3d878260d4c4df859bbdc6466e9e6689c344a13334f988bb53"}, + {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:5d20003b635fc6ae3f96d7260281dfaf1894fc3aa24d1888a9b2628e97c241e5"}, + {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:0175d745d9e85c40dcc51c8f88c74bfbaef9e7afeeeb9d03c37977270303064c"}, + {file = "aiohttp-3.8.5-cp311-cp311-win32.whl", hash = "sha256:2e1b1e51b0774408f091d268648e3d57f7260c1682e7d3a63cb00d22d71bb945"}, + {file = "aiohttp-3.8.5-cp311-cp311-win_amd64.whl", hash = "sha256:043d2299f6dfdc92f0ac5e995dfc56668e1587cea7f9aa9d8a78a1b6554e5755"}, + {file = "aiohttp-3.8.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:eca4bf3734c541dc4f374ad6010a68ff6c6748f00451707f39857f429ca36ced"}, + {file = "aiohttp-3.8.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1274477e4c71ce8cfe6c1ec2f806d57c015ebf84d83373676036e256bc55d690"}, + {file = "aiohttp-3.8.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:28c543e54710d6158fc6f439296c7865b29e0b616629767e685a7185fab4a6b9"}, + {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:910bec0c49637d213f5d9877105d26e0c4a4de2f8b1b29405ff37e9fc0ad52b8"}, + {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5443910d662db951b2e58eb70b0fbe6b6e2ae613477129a5805d0b66c54b6cb7"}, + {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2e460be6978fc24e3df83193dc0cc4de46c9909ed92dd47d349a452ef49325b7"}, + {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fb1558def481d84f03b45888473fc5a1f35747b5f334ef4e7a571bc0dfcb11f8"}, + {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:34dd0c107799dcbbf7d48b53be761a013c0adf5571bf50c4ecad5643fe9cfcd0"}, + {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:aa1990247f02a54185dc0dff92a6904521172a22664c863a03ff64c42f9b5410"}, + {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:0e584a10f204a617d71d359fe383406305a4b595b333721fa50b867b4a0a1548"}, + {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:a3cf433f127efa43fee6b90ea4c6edf6c4a17109d1d037d1a52abec84d8f2e42"}, + {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:c11f5b099adafb18e65c2c997d57108b5bbeaa9eeee64a84302c0978b1ec948b"}, + {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:84de26ddf621d7ac4c975dbea4c945860e08cccde492269db4e1538a6a6f3c35"}, + {file = "aiohttp-3.8.5-cp38-cp38-win32.whl", hash = "sha256:ab88bafedc57dd0aab55fa728ea10c1911f7e4d8b43e1d838a1739f33712921c"}, + {file = "aiohttp-3.8.5-cp38-cp38-win_amd64.whl", hash = "sha256:5798a9aad1879f626589f3df0f8b79b3608a92e9beab10e5fda02c8a2c60db2e"}, + {file = "aiohttp-3.8.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a6ce61195c6a19c785df04e71a4537e29eaa2c50fe745b732aa937c0c77169f3"}, + {file = "aiohttp-3.8.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:773dd01706d4db536335fcfae6ea2440a70ceb03dd3e7378f3e815b03c97ab51"}, + {file = "aiohttp-3.8.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f83a552443a526ea38d064588613aca983d0ee0038801bc93c0c916428310c28"}, + {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f7372f7341fcc16f57b2caded43e81ddd18df53320b6f9f042acad41f8e049a"}, + {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ea353162f249c8097ea63c2169dd1aa55de1e8fecbe63412a9bc50816e87b761"}, + {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e5d47ae48db0b2dcf70bc8a3bc72b3de86e2a590fc299fdbbb15af320d2659de"}, + {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d827176898a2b0b09694fbd1088c7a31836d1a505c243811c87ae53a3f6273c1"}, + {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3562b06567c06439d8b447037bb655ef69786c590b1de86c7ab81efe1c9c15d8"}, + {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4e874cbf8caf8959d2adf572a78bba17cb0e9d7e51bb83d86a3697b686a0ab4d"}, + {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:6809a00deaf3810e38c628e9a33271892f815b853605a936e2e9e5129762356c"}, + {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:33776e945d89b29251b33a7e7d006ce86447b2cfd66db5e5ded4e5cd0340585c"}, + {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:eaeed7abfb5d64c539e2db173f63631455f1196c37d9d8d873fc316470dfbacd"}, + {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:e91d635961bec2d8f19dfeb41a539eb94bd073f075ca6dae6c8dc0ee89ad6f91"}, + {file = "aiohttp-3.8.5-cp39-cp39-win32.whl", hash = "sha256:00ad4b6f185ec67f3e6562e8a1d2b69660be43070bd0ef6fcec5211154c7df67"}, + {file = "aiohttp-3.8.5-cp39-cp39-win_amd64.whl", hash = "sha256:c0a9034379a37ae42dea7ac1e048352d96286626251862e448933c0f59cbd79c"}, + {file = "aiohttp-3.8.5.tar.gz", hash = "sha256:b9552ec52cc147dbf1944ac7ac98af7602e51ea2dcd076ed194ca3c0d1c7d0bc"}, +] + +[[package]] +name = "aiosignal" +version = "1.3.1" +requires_python = ">=3.7" +summary = "aiosignal: a list of registered asynchronous callbacks" +dependencies = [ + "frozenlist>=1.1.0", +] +files = [ + {file = "aiosignal-1.3.1-py3-none-any.whl", hash = "sha256:f8376fb07dd1e86a584e4fcdec80b36b7f81aac666ebc724e2c090300dd83b17"}, + {file = "aiosignal-1.3.1.tar.gz", hash = "sha256:54cd96e15e1649b75d6c87526a6ff0b6c1b0dd3459f43d9ca11d48c339b68cfc"}, +] + +[[package]] +name = "annotated-types" +version = "0.5.0" +requires_python = ">=3.7" +summary = "Reusable constraint types to use with typing.Annotated" +dependencies = [ + "typing-extensions>=4.0.0; python_version < \"3.9\"", +] +files = [ + {file = "annotated_types-0.5.0-py3-none-any.whl", hash = "sha256:58da39888f92c276ad970249761ebea80ba544b77acddaa1a4d6cf78287d45fd"}, + {file = "annotated_types-0.5.0.tar.gz", hash = "sha256:47cdc3490d9ac1506ce92c7aaa76c579dc3509ff11e098fc867e5130ab7be802"}, +] + +[[package]] +name = "async-timeout" +version = "4.0.3" +requires_python = ">=3.7" +summary = "Timeout context manager for asyncio programs" +files = [ + {file = "async-timeout-4.0.3.tar.gz", hash = "sha256:4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f"}, + {file = "async_timeout-4.0.3-py3-none-any.whl", hash = "sha256:7405140ff1230c310e51dc27b3145b9092d659ce68ff733fb0cefe3ee42be028"}, +] + +[[package]] +name = "attrs" +version = "23.1.0" +requires_python = ">=3.7" +summary = "Classes Without Boilerplate" +files = [ + {file = "attrs-23.1.0-py3-none-any.whl", hash = "sha256:1f28b4522cdc2fb4256ac1a020c78acf9cba2c6b461ccd2c126f3aa8e8335d04"}, + {file = "attrs-23.1.0.tar.gz", hash = "sha256:6279836d581513a26f1bf235f9acd333bc9115683f14f7e8fae46c98fc50e015"}, +] + +[[package]] +name = "charset-normalizer" +version = "3.2.0" +requires_python = ">=3.7.0" +summary = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." +files = [ + {file = "charset-normalizer-3.2.0.tar.gz", hash = "sha256:3bb3d25a8e6c0aedd251753a79ae98a093c7e7b471faa3aa9a93a81431987ace"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0b87549028f680ca955556e3bd57013ab47474c3124dc069faa0b6545b6c9710"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7c70087bfee18a42b4040bb9ec1ca15a08242cf5867c58726530bdf3945672ed"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a103b3a7069b62f5d4890ae1b8f0597618f628b286b03d4bc9195230b154bfa9"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94aea8eff76ee6d1cdacb07dd2123a68283cb5569e0250feab1240058f53b623"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:db901e2ac34c931d73054d9797383d0f8009991e723dab15109740a63e7f902a"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b0dac0ff919ba34d4df1b6131f59ce95b08b9065233446be7e459f95554c0dc8"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:193cbc708ea3aca45e7221ae58f0fd63f933753a9bfb498a3b474878f12caaad"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:09393e1b2a9461950b1c9a45d5fd251dc7c6f228acab64da1c9c0165d9c7765c"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:baacc6aee0b2ef6f3d308e197b5d7a81c0e70b06beae1f1fcacffdbd124fe0e3"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:bf420121d4c8dce6b889f0e8e4ec0ca34b7f40186203f06a946fa0276ba54029"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:c04a46716adde8d927adb9457bbe39cf473e1e2c2f5d0a16ceb837e5d841ad4f"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:aaf63899c94de41fe3cf934601b0f7ccb6b428c6e4eeb80da72c58eab077b19a"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d62e51710986674142526ab9f78663ca2b0726066ae26b78b22e0f5e571238dd"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-win32.whl", hash = "sha256:04e57ab9fbf9607b77f7d057974694b4f6b142da9ed4a199859d9d4d5c63fe96"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:48021783bdf96e3d6de03a6e39a1171ed5bd7e8bb93fc84cc649d11490f87cea"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:4957669ef390f0e6719db3613ab3a7631e68424604a7b448f079bee145da6e09"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:46fb8c61d794b78ec7134a715a3e564aafc8f6b5e338417cb19fe9f57a5a9bf2"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f779d3ad205f108d14e99bb3859aa7dd8e9c68874617c72354d7ecaec2a054ac"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f25c229a6ba38a35ae6e25ca1264621cc25d4d38dca2942a7fce0b67a4efe918"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2efb1bd13885392adfda4614c33d3b68dee4921fd0ac1d3988f8cbb7d589e72a"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f30b48dd7fa1474554b0b0f3fdfdd4c13b5c737a3c6284d3cdc424ec0ffff3a"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:246de67b99b6851627d945db38147d1b209a899311b1305dd84916f2b88526c6"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9bd9b3b31adcb054116447ea22caa61a285d92e94d710aa5ec97992ff5eb7cf3"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:8c2f5e83493748286002f9369f3e6607c565a6a90425a3a1fef5ae32a36d749d"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:3170c9399da12c9dc66366e9d14da8bf7147e1e9d9ea566067bbce7bb74bd9c2"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7a4826ad2bd6b07ca615c74ab91f32f6c96d08f6fcc3902ceeedaec8cdc3bcd6"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:3b1613dd5aee995ec6d4c69f00378bbd07614702a315a2cf6c1d21461fe17c23"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9e608aafdb55eb9f255034709e20d5a83b6d60c054df0802fa9c9883d0a937aa"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-win32.whl", hash = "sha256:f2a1d0fd4242bd8643ce6f98927cf9c04540af6efa92323e9d3124f57727bfc1"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:681eb3d7e02e3c3655d1b16059fbfb605ac464c834a0c629048a30fad2b27489"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:95eb302ff792e12aba9a8b8f8474ab229a83c103d74a750ec0bd1c1eea32e669"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1a100c6d595a7f316f1b6f01d20815d916e75ff98c27a01ae817439ea7726329"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6339d047dab2780cc6220f46306628e04d9750f02f983ddb37439ca47ced7149"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e4b749b9cc6ee664a3300bb3a273c1ca8068c46be705b6c31cf5d276f8628a94"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a38856a971c602f98472050165cea2cdc97709240373041b69030be15047691f"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f87f746ee241d30d6ed93969de31e5ffd09a2961a051e60ae6bddde9ec3583aa"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89f1b185a01fe560bc8ae5f619e924407efca2191b56ce749ec84982fc59a32a"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e1c8a2f4c69e08e89632defbfabec2feb8a8d99edc9f89ce33c4b9e36ab63037"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2f4ac36d8e2b4cc1aa71df3dd84ff8efbe3bfb97ac41242fbcfc053c67434f46"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a386ebe437176aab38c041de1260cd3ea459c6ce5263594399880bbc398225b2"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:ccd16eb18a849fd8dcb23e23380e2f0a354e8daa0c984b8a732d9cfaba3a776d"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:e6a5bf2cba5ae1bb80b154ed68a3cfa2fa00fde979a7f50d6598d3e17d9ac20c"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:45de3f87179c1823e6d9e32156fb14c1927fcc9aba21433f088fdfb555b77c10"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-win32.whl", hash = "sha256:1000fba1057b92a65daec275aec30586c3de2401ccdcd41f8a5c1e2c87078706"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:8b2c760cfc7042b27ebdb4a43a4453bd829a5742503599144d54a032c5dc7e9e"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:855eafa5d5a2034b4621c74925d89c5efef61418570e5ef9b37717d9c796419c"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:203f0c8871d5a7987be20c72442488a0b8cfd0f43b7973771640fc593f56321f"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e857a2232ba53ae940d3456f7533ce6ca98b81917d47adc3c7fd55dad8fab858"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5e86d77b090dbddbe78867a0275cb4df08ea195e660f1f7f13435a4649e954e5"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c4fb39a81950ec280984b3a44f5bd12819953dc5fa3a7e6fa7a80db5ee853952"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2dee8e57f052ef5353cf608e0b4c871aee320dd1b87d351c28764fc0ca55f9f4"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8700f06d0ce6f128de3ccdbc1acaea1ee264d2caa9ca05daaf492fde7c2a7200"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1920d4ff15ce893210c1f0c0e9d19bfbecb7983c76b33f046c13a8ffbd570252"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c1c76a1743432b4b60ab3358c937a3fe1341c828ae6194108a94c69028247f22"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f7560358a6811e52e9c4d142d497f1a6e10103d3a6881f18d04dbce3729c0e2c"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:c8063cf17b19661471ecbdb3df1c84f24ad2e389e326ccaf89e3fb2484d8dd7e"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:cd6dbe0238f7743d0efe563ab46294f54f9bc8f4b9bcf57c3c666cc5bc9d1299"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:1249cbbf3d3b04902ff081ffbb33ce3377fa6e4c7356f759f3cd076cc138d020"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-win32.whl", hash = "sha256:6c409c0deba34f147f77efaa67b8e4bb83d2f11c8806405f76397ae5b8c0d1c9"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:7095f6fbfaa55defb6b733cfeb14efaae7a29f0b59d8cf213be4e7ca0b857b80"}, + {file = "charset_normalizer-3.2.0-py3-none-any.whl", hash = "sha256:8e098148dd37b4ce3baca71fb394c81dc5d9c7728c95df695d2dca218edf40e6"}, +] + +[[package]] +name = "colorama" +version = "0.4.6" +requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" +summary = "Cross-platform colored terminal text." +files = [ + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, +] + +[[package]] +name = "deprecated" +version = "1.2.14" +requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +summary = "Python @deprecated decorator to deprecate old python classes, functions or methods." +dependencies = [ + "wrapt<2,>=1.10", +] +files = [ + {file = "Deprecated-1.2.14-py2.py3-none-any.whl", hash = "sha256:6fac8b097794a90302bdbb17b9b815e732d3c4720583ff1b198499d78470466c"}, + {file = "Deprecated-1.2.14.tar.gz", hash = "sha256:e5323eb936458dccc2582dc6f9c322c852a775a27065ff2b0c4970b9d53d01b3"}, +] + +[[package]] +name = "frozenlist" +version = "1.4.0" +requires_python = ">=3.8" +summary = "A list-like structure which implements collections.abc.MutableSequence" +files = [ + {file = "frozenlist-1.4.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:764226ceef3125e53ea2cb275000e309c0aa5464d43bd72abd661e27fffc26ab"}, + {file = "frozenlist-1.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d6484756b12f40003c6128bfcc3fa9f0d49a687e171186c2d85ec82e3758c559"}, + {file = "frozenlist-1.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9ac08e601308e41eb533f232dbf6b7e4cea762f9f84f6357136eed926c15d12c"}, + {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d081f13b095d74b67d550de04df1c756831f3b83dc9881c38985834387487f1b"}, + {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:71932b597f9895f011f47f17d6428252fc728ba2ae6024e13c3398a087c2cdea"}, + {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:981b9ab5a0a3178ff413bca62526bb784249421c24ad7381e39d67981be2c326"}, + {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e41f3de4df3e80de75845d3e743b3f1c4c8613c3997a912dbf0229fc61a8b963"}, + {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6918d49b1f90821e93069682c06ffde41829c346c66b721e65a5c62b4bab0300"}, + {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0e5c8764c7829343d919cc2dfc587a8db01c4f70a4ebbc49abde5d4b158b007b"}, + {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:8d0edd6b1c7fb94922bf569c9b092ee187a83f03fb1a63076e7774b60f9481a8"}, + {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e29cda763f752553fa14c68fb2195150bfab22b352572cb36c43c47bedba70eb"}, + {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:0c7c1b47859ee2cac3846fde1c1dc0f15da6cec5a0e5c72d101e0f83dcb67ff9"}, + {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:901289d524fdd571be1c7be054f48b1f88ce8dddcbdf1ec698b27d4b8b9e5d62"}, + {file = "frozenlist-1.4.0-cp310-cp310-win32.whl", hash = "sha256:1a0848b52815006ea6596c395f87449f693dc419061cc21e970f139d466dc0a0"}, + {file = "frozenlist-1.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:b206646d176a007466358aa21d85cd8600a415c67c9bd15403336c331a10d956"}, + {file = "frozenlist-1.4.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:de343e75f40e972bae1ef6090267f8260c1446a1695e77096db6cfa25e759a95"}, + {file = "frozenlist-1.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ad2a9eb6d9839ae241701d0918f54c51365a51407fd80f6b8289e2dfca977cc3"}, + {file = "frozenlist-1.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bd7bd3b3830247580de99c99ea2a01416dfc3c34471ca1298bccabf86d0ff4dc"}, + {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bdf1847068c362f16b353163391210269e4f0569a3c166bc6a9f74ccbfc7e839"}, + {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:38461d02d66de17455072c9ba981d35f1d2a73024bee7790ac2f9e361ef1cd0c"}, + {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5a32087d720c608f42caed0ef36d2b3ea61a9d09ee59a5142d6070da9041b8f"}, + {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dd65632acaf0d47608190a71bfe46b209719bf2beb59507db08ccdbe712f969b"}, + {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:261b9f5d17cac914531331ff1b1d452125bf5daa05faf73b71d935485b0c510b"}, + {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b89ac9768b82205936771f8d2eb3ce88503b1556324c9f903e7156669f521472"}, + {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:008eb8b31b3ea6896da16c38c1b136cb9fec9e249e77f6211d479db79a4eaf01"}, + {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:e74b0506fa5aa5598ac6a975a12aa8928cbb58e1f5ac8360792ef15de1aa848f"}, + {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:490132667476f6781b4c9458298b0c1cddf237488abd228b0b3650e5ecba7467"}, + {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:76d4711f6f6d08551a7e9ef28c722f4a50dd0fc204c56b4bcd95c6cc05ce6fbb"}, + {file = "frozenlist-1.4.0-cp311-cp311-win32.whl", hash = "sha256:a02eb8ab2b8f200179b5f62b59757685ae9987996ae549ccf30f983f40602431"}, + {file = "frozenlist-1.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:515e1abc578dd3b275d6a5114030b1330ba044ffba03f94091842852f806f1c1"}, + {file = "frozenlist-1.4.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:f0ed05f5079c708fe74bf9027e95125334b6978bf07fd5ab923e9e55e5fbb9d3"}, + {file = "frozenlist-1.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ca265542ca427bf97aed183c1676e2a9c66942e822b14dc6e5f42e038f92a503"}, + {file = "frozenlist-1.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:491e014f5c43656da08958808588cc6c016847b4360e327a62cb308c791bd2d9"}, + {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:17ae5cd0f333f94f2e03aaf140bb762c64783935cc764ff9c82dff626089bebf"}, + {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1e78fb68cf9c1a6aa4a9a12e960a5c9dfbdb89b3695197aa7064705662515de2"}, + {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5655a942f5f5d2c9ed93d72148226d75369b4f6952680211972a33e59b1dfdc"}, + {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c11b0746f5d946fecf750428a95f3e9ebe792c1ee3b1e96eeba145dc631a9672"}, + {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e66d2a64d44d50d2543405fb183a21f76b3b5fd16f130f5c99187c3fb4e64919"}, + {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:88f7bc0fcca81f985f78dd0fa68d2c75abf8272b1f5c323ea4a01a4d7a614efc"}, + {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:5833593c25ac59ede40ed4de6d67eb42928cca97f26feea219f21d0ed0959b79"}, + {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:fec520865f42e5c7f050c2a79038897b1c7d1595e907a9e08e3353293ffc948e"}, + {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:b826d97e4276750beca7c8f0f1a4938892697a6bcd8ec8217b3312dad6982781"}, + {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:ceb6ec0a10c65540421e20ebd29083c50e6d1143278746a4ef6bcf6153171eb8"}, + {file = "frozenlist-1.4.0-cp38-cp38-win32.whl", hash = "sha256:2b8bcf994563466db019fab287ff390fffbfdb4f905fc77bc1c1d604b1c689cc"}, + {file = "frozenlist-1.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:a6c8097e01886188e5be3e6b14e94ab365f384736aa1fca6a0b9e35bd4a30bc7"}, + {file = "frozenlist-1.4.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:6c38721585f285203e4b4132a352eb3daa19121a035f3182e08e437cface44bf"}, + {file = "frozenlist-1.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a0c6da9aee33ff0b1a451e867da0c1f47408112b3391dd43133838339e410963"}, + {file = "frozenlist-1.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:93ea75c050c5bb3d98016b4ba2497851eadf0ac154d88a67d7a6816206f6fa7f"}, + {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f61e2dc5ad442c52b4887f1fdc112f97caeff4d9e6ebe78879364ac59f1663e1"}, + {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aa384489fefeb62321b238e64c07ef48398fe80f9e1e6afeff22e140e0850eef"}, + {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:10ff5faaa22786315ef57097a279b833ecab1a0bfb07d604c9cbb1c4cdc2ed87"}, + {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:007df07a6e3eb3e33e9a1fe6a9db7af152bbd8a185f9aaa6ece10a3529e3e1c6"}, + {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f4f399d28478d1f604c2ff9119907af9726aed73680e5ed1ca634d377abb087"}, + {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c5374b80521d3d3f2ec5572e05adc94601985cc526fb276d0c8574a6d749f1b3"}, + {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:ce31ae3e19f3c902de379cf1323d90c649425b86de7bbdf82871b8a2a0615f3d"}, + {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7211ef110a9194b6042449431e08c4d80c0481e5891e58d429df5899690511c2"}, + {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:556de4430ce324c836789fa4560ca62d1591d2538b8ceb0b4f68fb7b2384a27a"}, + {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7645a8e814a3ee34a89c4a372011dcd817964ce8cb273c8ed6119d706e9613e3"}, + {file = "frozenlist-1.4.0-cp39-cp39-win32.whl", hash = "sha256:19488c57c12d4e8095a922f328df3f179c820c212940a498623ed39160bc3c2f"}, + {file = "frozenlist-1.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:6221d84d463fb110bdd7619b69cb43878a11d51cbb9394ae3105d082d5199167"}, + {file = "frozenlist-1.4.0.tar.gz", hash = "sha256:09163bdf0b2907454042edb19f887c6d33806adc71fbd54afc14908bfdc22251"}, +] + +[[package]] +name = "idna" +version = "3.4" +requires_python = ">=3.5" +summary = "Internationalized Domain Names in Applications (IDNA)" +files = [ + {file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"}, + {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"}, +] + +[[package]] +name = "multidict" +version = "6.0.4" +requires_python = ">=3.7" +summary = "multidict implementation" +files = [ + {file = "multidict-6.0.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0b1a97283e0c85772d613878028fec909f003993e1007eafa715b24b377cb9b8"}, + {file = "multidict-6.0.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:eeb6dcc05e911516ae3d1f207d4b0520d07f54484c49dfc294d6e7d63b734171"}, + {file = "multidict-6.0.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d6d635d5209b82a3492508cf5b365f3446afb65ae7ebd755e70e18f287b0adf7"}, + {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c048099e4c9e9d615545e2001d3d8a4380bd403e1a0578734e0d31703d1b0c0b"}, + {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ea20853c6dbbb53ed34cb4d080382169b6f4554d394015f1bef35e881bf83547"}, + {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:16d232d4e5396c2efbbf4f6d4df89bfa905eb0d4dc5b3549d872ab898451f569"}, + {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:36c63aaa167f6c6b04ef2c85704e93af16c11d20de1d133e39de6a0e84582a93"}, + {file = "multidict-6.0.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:64bdf1086b6043bf519869678f5f2757f473dee970d7abf6da91ec00acb9cb98"}, + {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:43644e38f42e3af682690876cff722d301ac585c5b9e1eacc013b7a3f7b696a0"}, + {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7582a1d1030e15422262de9f58711774e02fa80df0d1578995c76214f6954988"}, + {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:ddff9c4e225a63a5afab9dd15590432c22e8057e1a9a13d28ed128ecf047bbdc"}, + {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:ee2a1ece51b9b9e7752e742cfb661d2a29e7bcdba2d27e66e28a99f1890e4fa0"}, + {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a2e4369eb3d47d2034032a26c7a80fcb21a2cb22e1173d761a162f11e562caa5"}, + {file = "multidict-6.0.4-cp310-cp310-win32.whl", hash = "sha256:574b7eae1ab267e5f8285f0fe881f17efe4b98c39a40858247720935b893bba8"}, + {file = "multidict-6.0.4-cp310-cp310-win_amd64.whl", hash = "sha256:4dcbb0906e38440fa3e325df2359ac6cb043df8e58c965bb45f4e406ecb162cc"}, + {file = "multidict-6.0.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0dfad7a5a1e39c53ed00d2dd0c2e36aed4650936dc18fd9a1826a5ae1cad6f03"}, + {file = "multidict-6.0.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:64da238a09d6039e3bd39bb3aee9c21a5e34f28bfa5aa22518581f910ff94af3"}, + {file = "multidict-6.0.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ff959bee35038c4624250473988b24f846cbeb2c6639de3602c073f10410ceba"}, + {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:01a3a55bd90018c9c080fbb0b9f4891db37d148a0a18722b42f94694f8b6d4c9"}, + {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c5cb09abb18c1ea940fb99360ea0396f34d46566f157122c92dfa069d3e0e982"}, + {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:666daae833559deb2d609afa4490b85830ab0dfca811a98b70a205621a6109fe"}, + {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11bdf3f5e1518b24530b8241529d2050014c884cf18b6fc69c0c2b30ca248710"}, + {file = "multidict-6.0.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7d18748f2d30f94f498e852c67d61261c643b349b9d2a581131725595c45ec6c"}, + {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:458f37be2d9e4c95e2d8866a851663cbc76e865b78395090786f6cd9b3bbf4f4"}, + {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:b1a2eeedcead3a41694130495593a559a668f382eee0727352b9a41e1c45759a"}, + {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7d6ae9d593ef8641544d6263c7fa6408cc90370c8cb2bbb65f8d43e5b0351d9c"}, + {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:5979b5632c3e3534e42ca6ff856bb24b2e3071b37861c2c727ce220d80eee9ed"}, + {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:dcfe792765fab89c365123c81046ad4103fcabbc4f56d1c1997e6715e8015461"}, + {file = "multidict-6.0.4-cp311-cp311-win32.whl", hash = "sha256:3601a3cece3819534b11d4efc1eb76047488fddd0c85a3948099d5da4d504636"}, + {file = "multidict-6.0.4-cp311-cp311-win_amd64.whl", hash = "sha256:81a4f0b34bd92df3da93315c6a59034df95866014ac08535fc819f043bfd51f0"}, + {file = "multidict-6.0.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5fc1b16f586f049820c5c5b17bb4ee7583092fa0d1c4e28b5239181ff9532e0c"}, + {file = "multidict-6.0.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1502e24330eb681bdaa3eb70d6358e818e8e8f908a22a1851dfd4e15bc2f8161"}, + {file = "multidict-6.0.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b692f419760c0e65d060959df05f2a531945af31fda0c8a3b3195d4efd06de11"}, + {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45e1ecb0379bfaab5eef059f50115b54571acfbe422a14f668fc8c27ba410e7e"}, + {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ddd3915998d93fbcd2566ddf9cf62cdb35c9e093075f862935573d265cf8f65d"}, + {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:59d43b61c59d82f2effb39a93c48b845efe23a3852d201ed2d24ba830d0b4cf2"}, + {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc8e1d0c705233c5dd0c5e6460fbad7827d5d36f310a0fadfd45cc3029762258"}, + {file = "multidict-6.0.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d6aa0418fcc838522256761b3415822626f866758ee0bc6632c9486b179d0b52"}, + {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6748717bb10339c4760c1e63da040f5f29f5ed6e59d76daee30305894069a660"}, + {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:4d1a3d7ef5e96b1c9e92f973e43aa5e5b96c659c9bc3124acbbd81b0b9c8a951"}, + {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4372381634485bec7e46718edc71528024fcdc6f835baefe517b34a33c731d60"}, + {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:fc35cb4676846ef752816d5be2193a1e8367b4c1397b74a565a9d0389c433a1d"}, + {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:4b9d9e4e2b37daddb5c23ea33a3417901fa7c7b3dee2d855f63ee67a0b21e5b1"}, + {file = "multidict-6.0.4-cp38-cp38-win32.whl", hash = "sha256:e41b7e2b59679edfa309e8db64fdf22399eec4b0b24694e1b2104fb789207779"}, + {file = "multidict-6.0.4-cp38-cp38-win_amd64.whl", hash = "sha256:d6c254ba6e45d8e72739281ebc46ea5eb5f101234f3ce171f0e9f5cc86991480"}, + {file = "multidict-6.0.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:16ab77bbeb596e14212e7bab8429f24c1579234a3a462105cda4a66904998664"}, + {file = "multidict-6.0.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bc779e9e6f7fda81b3f9aa58e3a6091d49ad528b11ed19f6621408806204ad35"}, + {file = "multidict-6.0.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4ceef517eca3e03c1cceb22030a3e39cb399ac86bff4e426d4fc6ae49052cc60"}, + {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:281af09f488903fde97923c7744bb001a9b23b039a909460d0f14edc7bf59706"}, + {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:52f2dffc8acaba9a2f27174c41c9e57f60b907bb9f096b36b1a1f3be71c6284d"}, + {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b41156839806aecb3641f3208c0dafd3ac7775b9c4c422d82ee2a45c34ba81ca"}, + {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d5e3fc56f88cc98ef8139255cf8cd63eb2c586531e43310ff859d6bb3a6b51f1"}, + {file = "multidict-6.0.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8316a77808c501004802f9beebde51c9f857054a0c871bd6da8280e718444449"}, + {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f70b98cd94886b49d91170ef23ec5c0e8ebb6f242d734ed7ed677b24d50c82cf"}, + {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bf6774e60d67a9efe02b3616fee22441d86fab4c6d335f9d2051d19d90a40063"}, + {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:e69924bfcdda39b722ef4d9aa762b2dd38e4632b3641b1d9a57ca9cd18f2f83a"}, + {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:6b181d8c23da913d4ff585afd1155a0e1194c0b50c54fcfe286f70cdaf2b7176"}, + {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:52509b5be062d9eafc8170e53026fbc54cf3b32759a23d07fd935fb04fc22d95"}, + {file = "multidict-6.0.4-cp39-cp39-win32.whl", hash = "sha256:27c523fbfbdfd19c6867af7346332b62b586eed663887392cff78d614f9ec313"}, + {file = "multidict-6.0.4-cp39-cp39-win_amd64.whl", hash = "sha256:33029f5734336aa0d4c0384525da0387ef89148dc7191aae00ca5fb23d7aafc2"}, + {file = "multidict-6.0.4.tar.gz", hash = "sha256:3666906492efb76453c0e7b97f2cf459b0682e7402c0489a95484965dbc1da49"}, +] + +[[package]] +name = "noneprompt" +version = "0.1.9" +requires_python = ">=3.8,<4.0" +summary = "Prompt toolkit for console interaction" +dependencies = [ + "prompt-toolkit<4.0.0,>=3.0.19", +] +files = [ + {file = "noneprompt-0.1.9-py3-none-any.whl", hash = "sha256:a54f1e6a19a3da2dedf7f365f80420e9ae49326a0ffe60a8a9c7afdee6b6eeb3"}, + {file = "noneprompt-0.1.9.tar.gz", hash = "sha256:338b8bb89a8d22ef35f1dedb3aa7c1b228cf139973bdc43c5ffc3eef64457db9"}, +] + +[[package]] +name = "pixivpy-async" +version = "1.2.14" +requires_python = ">=3.5.3" +summary = "Pure Python 3 Async Pixiv API" +dependencies = [ + "aiofiles", + "aiohttp", + "deprecated", +] +files = [ + {file = "PixivPy-Async-1.2.14.tar.gz", hash = "sha256:01f73b92c41219fcd19c18aa4b27b3b724e8da78574f0f2c7f62cc5e01c41c29"}, + {file = "PixivPy_Async-1.2.14-py3-none-any.whl", hash = "sha256:44377cd929af53a66d36c2ea1abd6bf5f5398233b1af945d7802f802f112a7d7"}, +] + +[[package]] +name = "prompt-toolkit" +version = "3.0.39" +requires_python = ">=3.7.0" +summary = "Library for building powerful interactive command lines in Python" +dependencies = [ + "wcwidth", +] +files = [ + {file = "prompt_toolkit-3.0.39-py3-none-any.whl", hash = "sha256:9dffbe1d8acf91e3de75f3b544e4842382fc06c6babe903ac9acb74dc6e08d88"}, + {file = "prompt_toolkit-3.0.39.tar.gz", hash = "sha256:04505ade687dc26dc4284b1ad19a83be2f2afe83e7a828ace0c72f3a1df72aac"}, +] + +[[package]] +name = "pydantic" +version = "2.1.1" +requires_python = ">=3.7" +summary = "Data validation using Python type hints" +dependencies = [ + "annotated-types>=0.4.0", + "pydantic-core==2.4.0", + "typing-extensions>=4.6.1", +] +files = [ + {file = "pydantic-2.1.1-py3-none-any.whl", hash = "sha256:43bdbf359d6304c57afda15c2b95797295b702948082d4c23851ce752f21da70"}, + {file = "pydantic-2.1.1.tar.gz", hash = "sha256:22d63db5ce4831afd16e7c58b3192d3faf8f79154980d9397d9867254310ba4b"}, +] + +[[package]] +name = "pydantic-core" +version = "2.4.0" +requires_python = ">=3.7" +summary = "" +dependencies = [ + "typing-extensions!=4.7.0,>=4.6.0", +] +files = [ + {file = "pydantic_core-2.4.0-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:2ca4687dd996bde7f3c420def450797feeb20dcee2b9687023e3323c73fc14a2"}, + {file = "pydantic_core-2.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:782fced7d61469fd1231b184a80e4f2fa7ad54cd7173834651a453f96f29d673"}, + {file = "pydantic_core-2.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6213b471b68146af97b8551294e59e7392c2117e28ffad9c557c65087f4baee3"}, + {file = "pydantic_core-2.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:63797499a219d8e81eb4e0c42222d0a4c8ec896f5c76751d4258af95de41fdf1"}, + {file = "pydantic_core-2.4.0-cp310-cp310-manylinux_2_24_armv7l.whl", hash = "sha256:0455876d575a35defc4da7e0a199596d6c773e20d3d42fa1fc29f6aa640369ed"}, + {file = "pydantic_core-2.4.0-cp310-cp310-manylinux_2_24_ppc64le.whl", hash = "sha256:8c938c96294d983dcf419b54dba2d21056959c22911d41788efbf949a29ae30d"}, + {file = "pydantic_core-2.4.0-cp310-cp310-manylinux_2_24_s390x.whl", hash = "sha256:878a5017d93e776c379af4e7b20f173c82594d94fa073059bcc546789ad50bf8"}, + {file = "pydantic_core-2.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:69159afc2f2dc43285725f16143bc5df3c853bc1cb7df6021fce7ef1c69e8171"}, + {file = "pydantic_core-2.4.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:54df7df399b777c1fd144f541c95d351b3aa110535a6810a6a569905d106b6f3"}, + {file = "pydantic_core-2.4.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:e412607ca89a0ced10758dfb8f9adcc365ce4c1c377e637c01989a75e9a9ec8a"}, + {file = "pydantic_core-2.4.0-cp310-none-win32.whl", hash = "sha256:853f103e2b9a58832fdd08a587a51de8b552ae90e1a5d167f316b7eabf8d7dde"}, + {file = "pydantic_core-2.4.0-cp310-none-win_amd64.whl", hash = "sha256:3ba2c9c94a9176f6321a879c8b864d7c5b12d34f549a4c216c72ce213d7d953c"}, + {file = "pydantic_core-2.4.0-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:a8b7acd04896e8f161e1500dc5f218017db05c1d322f054e89cbd089ce5d0071"}, + {file = "pydantic_core-2.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:16468bd074fa4567592d3255bf25528ed41e6b616d69bf07096bdb5b66f947d1"}, + {file = "pydantic_core-2.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cba5ad5eef02c86a1f3da00544cbc59a510d596b27566479a7cd4d91c6187a11"}, + {file = "pydantic_core-2.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b7206e41e04b443016e930e01685bab7a308113c0b251b3f906942c8d4b48fcb"}, + {file = "pydantic_core-2.4.0-cp311-cp311-manylinux_2_24_armv7l.whl", hash = "sha256:c1375025f0bfc9155286ebae8eecc65e33e494c90025cda69e247c3ccd2bab00"}, + {file = "pydantic_core-2.4.0-cp311-cp311-manylinux_2_24_ppc64le.whl", hash = "sha256:3534118289e33130ed3f1cc487002e8d09b9f359be48b02e9cd3de58ce58fba9"}, + {file = "pydantic_core-2.4.0-cp311-cp311-manylinux_2_24_s390x.whl", hash = "sha256:94d2b36a74623caab262bf95f0e365c2c058396082bd9d6a9e825657d0c1e7fa"}, + {file = "pydantic_core-2.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:af24ad4fbaa5e4a2000beae0c3b7fd1c78d7819ab90f9370a1cfd8998e3f8a3c"}, + {file = "pydantic_core-2.4.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:bf10963d8aed8bbe0165b41797c9463d4c5c8788ae6a77c68427569be6bead41"}, + {file = "pydantic_core-2.4.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:68199ada7c310ddb8c76efbb606a0de656b40899388a7498954f423e03fc38be"}, + {file = "pydantic_core-2.4.0-cp311-none-win32.whl", hash = "sha256:6f855bcc96ed3dd56da7373cfcc9dcbabbc2073cac7f65c185772d08884790ce"}, + {file = "pydantic_core-2.4.0-cp311-none-win_amd64.whl", hash = "sha256:de39eb3bab93a99ddda1ac1b9aa331b944d8bcc4aa9141148f7fd8ee0299dafc"}, + {file = "pydantic_core-2.4.0-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:f773b39780323a0499b53ebd91a28ad11cde6705605d98d999dfa08624caf064"}, + {file = "pydantic_core-2.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a297c0d6c61963c5c3726840677b798ca5b7dfc71bc9c02b9a4af11d23236008"}, + {file = "pydantic_core-2.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:546064c55264156b973b5e65e5fafbe5e62390902ce3cf6b4005765505e8ff56"}, + {file = "pydantic_core-2.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:36ba9e728588588f0196deaf6751b9222492331b5552f865a8ff120869d372e0"}, + {file = "pydantic_core-2.4.0-cp312-cp312-manylinux_2_24_armv7l.whl", hash = "sha256:57a53a75010c635b3ad6499e7721eaa3b450e03f6862afe2dbef9c8f66e46ec8"}, + {file = "pydantic_core-2.4.0-cp312-cp312-manylinux_2_24_ppc64le.whl", hash = "sha256:4b262bbc13022f2097c48a21adcc360a81d83dc1d854c11b94953cd46d7d3c07"}, + {file = "pydantic_core-2.4.0-cp312-cp312-manylinux_2_24_s390x.whl", hash = "sha256:01947ad728f426fa07fcb26457ebf90ce29320259938414bc0edd1476e75addb"}, + {file = "pydantic_core-2.4.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b2799c2eaf182769889761d4fb4d78b82bc47dae833799fedbf69fc7de306faa"}, + {file = "pydantic_core-2.4.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:a08fd490ba36d1fbb2cd5dcdcfb9f3892deb93bd53456724389135712b5fc735"}, + {file = "pydantic_core-2.4.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:1e8a7c62d15a5c4b307271e4252d76ebb981d6251c6ecea4daf203ef0179ea4f"}, + {file = "pydantic_core-2.4.0-cp312-none-win32.whl", hash = "sha256:9206c14a67c38de7b916e486ae280017cf394fa4b1aa95cfe88621a4e1d79725"}, + {file = "pydantic_core-2.4.0-cp312-none-win_amd64.whl", hash = "sha256:884235507549a6b2d3c4113fb1877ae263109e787d9e0eb25c35982ab28d0399"}, + {file = "pydantic_core-2.4.0-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:12ef6838245569fd60a179fade81ca4b90ae2fa0ef355d616f519f7bb27582db"}, + {file = "pydantic_core-2.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:49db206eb8fdc4b4f30e6e3e410584146d813c151928f94ec0db06c4f2595538"}, + {file = "pydantic_core-2.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a507d7fa44688bbac76af6521e488b3da93de155b9cba6f2c9b7833ce243d59"}, + {file = "pydantic_core-2.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ffe18407a4d000c568182ce5388bbbedeb099896904e43fc14eee76cfae6dec5"}, + {file = "pydantic_core-2.4.0-cp38-cp38-manylinux_2_24_armv7l.whl", hash = "sha256:fa8e48001b39d54d97d7b380a0669fa99fc0feeb972e35a2d677ba59164a9a22"}, + {file = "pydantic_core-2.4.0-cp38-cp38-manylinux_2_24_ppc64le.whl", hash = "sha256:394f12a2671ff8c4dfa2e85be6c08be0651ad85bc1e6aa9c77c21671baaf28cd"}, + {file = "pydantic_core-2.4.0-cp38-cp38-manylinux_2_24_s390x.whl", hash = "sha256:2f9ea0355f90db2a76af530245fa42f04d98f752a1236ed7c6809ec484560d5b"}, + {file = "pydantic_core-2.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:61d4e713f467abcdd59b47665d488bb898ad3dd47ce7446522a50e0cbd8e8279"}, + {file = "pydantic_core-2.4.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:453862ab268f6326b01f067ed89cb3a527d34dc46f6f4eeec46a15bbc706d0da"}, + {file = "pydantic_core-2.4.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:56a85fa0dab1567bd0cac10f0c3837b03e8a0d939e6a8061a3a420acd97e9421"}, + {file = "pydantic_core-2.4.0-cp38-none-win32.whl", hash = "sha256:0d726108c1c0380b88b6dd4db559f0280e0ceda9e077f46ff90bc85cd4d03e77"}, + {file = "pydantic_core-2.4.0-cp38-none-win_amd64.whl", hash = "sha256:047580388644c473b934d27849f8ed8dbe45df0adb72104e78b543e13bf69762"}, + {file = "pydantic_core-2.4.0-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:867d3eea954bea807cabba83cfc939c889a18576d66d197c60025b15269d7cc0"}, + {file = "pydantic_core-2.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:664402ef0c238a7f8a46efb101789d5f2275600fb18114446efec83cfadb5b66"}, + {file = "pydantic_core-2.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:64e8012ad60a5f0da09ed48725e6e923d1be25f2f091a640af6079f874663813"}, + {file = "pydantic_core-2.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac2b680de398f293b68183317432b3d67ab3faeba216aec18de0c395cb5e3060"}, + {file = "pydantic_core-2.4.0-cp39-cp39-manylinux_2_24_armv7l.whl", hash = "sha256:8efc1be43b036c2b6bcfb1451df24ee0ddcf69c31351003daf2699ed93f5687b"}, + {file = "pydantic_core-2.4.0-cp39-cp39-manylinux_2_24_ppc64le.whl", hash = "sha256:d93aedbc4614cc21b9ab0d0c4ccd7143354c1f7cffbbe96ae5216ad21d1b21b5"}, + {file = "pydantic_core-2.4.0-cp39-cp39-manylinux_2_24_s390x.whl", hash = "sha256:af788b64e13d52fc3600a68b16d31fa8d8573e3ff2fc9a38f8a60b8d94d1f012"}, + {file = "pydantic_core-2.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:97c6349c81cee2e69ef59eba6e6c08c5936e6b01c2d50b9e4ac152217845ae09"}, + {file = "pydantic_core-2.4.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:cc086ddb6dc654a15deeed1d1f2bcb1cb924ebd70df9dca738af19f64229b06c"}, + {file = "pydantic_core-2.4.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:e953353180bec330c3b830891d260b6f8e576e2d18db3c78d314e56bb2276066"}, + {file = "pydantic_core-2.4.0-cp39-none-win32.whl", hash = "sha256:6feb4b64d11d5420e517910d60a907d08d846cacaf4e029668725cd21d16743c"}, + {file = "pydantic_core-2.4.0-cp39-none-win_amd64.whl", hash = "sha256:153a61ac4030fa019b70b31fb7986461119230d3ba0ab661c757cfea652f4332"}, + {file = "pydantic_core-2.4.0-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:3fcf529382b282a30b466bd7af05be28e22aa620e016135ac414f14e1ee6b9e1"}, + {file = "pydantic_core-2.4.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2edef05b63d82568b877002dc4cb5cc18f8929b59077120192df1e03e0c633f8"}, + {file = "pydantic_core-2.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da055a1b0bfa8041bb2ff586b2cb0353ed03944a3472186a02cc44a557a0e661"}, + {file = "pydantic_core-2.4.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:77dadc764cf7c5405e04866181c5bd94a447372a9763e473abb63d1dfe9b7387"}, + {file = "pydantic_core-2.4.0-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:a4ea23b07f29487a7bef2a869f68c7ee0e05424d81375ce3d3de829314c6b5ec"}, + {file = "pydantic_core-2.4.0-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:382f0baa044d674ad59455a5eff83d7965572b745cc72df35c52c2ce8c731d37"}, + {file = "pydantic_core-2.4.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:08f89697625e453421401c7f661b9d1eb4c9e4c0a12fd256eeb55b06994ac6af"}, + {file = "pydantic_core-2.4.0-pp37-pypy37_pp73-macosx_10_7_x86_64.whl", hash = "sha256:43a405ce520b45941df9ff55d0cd09762017756a7b413bbad3a6e8178e64a2c2"}, + {file = "pydantic_core-2.4.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:584a7a818c84767af16ce8bda5d4f7fedb37d3d231fc89928a192f567e4ef685"}, + {file = "pydantic_core-2.4.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:04922fea7b13cd480586fa106345fe06e43220b8327358873c22d8dfa7a711c7"}, + {file = "pydantic_core-2.4.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:17156abac20a9feed10feec867fddd91a80819a485b0107fe61f09f2117fe5f3"}, + {file = "pydantic_core-2.4.0-pp37-pypy37_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:4e562cc63b04636cde361fd47569162f1daa94c759220ff202a8129902229114"}, + {file = "pydantic_core-2.4.0-pp37-pypy37_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:90f3785146f701e053bb6b9e8f53acce2c919aca91df88bd4975be0cb926eb41"}, + {file = "pydantic_core-2.4.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:e40b1e97edd3dc127aa53d8a5e539a3d0c227d71574d3f9ac1af02d58218a122"}, + {file = "pydantic_core-2.4.0-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:b27f3e67f6e031f6620655741b7d0d6bebea8b25d415924b3e8bfef2dd7bd841"}, + {file = "pydantic_core-2.4.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:be86c2eb12fb0f846262ace9d8f032dc6978b8cb26a058920ecb723dbcb87d05"}, + {file = "pydantic_core-2.4.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4665f7ed345012a8d2eddf4203ef145f5f56a291d010382d235b94e91813f88a"}, + {file = "pydantic_core-2.4.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:79262be5a292d1df060f29b9a7cdd66934801f987a817632d7552534a172709a"}, + {file = "pydantic_core-2.4.0-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:5fd905a69ac74eaba5041e21a1e8b1a479dab2b41c93bdcc4c1cede3c12a8d86"}, + {file = "pydantic_core-2.4.0-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:2ad538b7e07343001934417cdc8584623b4d8823c5b8b258e75ec8d327cec969"}, + {file = "pydantic_core-2.4.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:dd2429f7635ad4857b5881503f9c310be7761dc681c467a9d27787b674d1250a"}, + {file = "pydantic_core-2.4.0-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:efff8b6761a1f6e45cebd1b7a6406eb2723d2d5710ff0d1b624fe11313693989"}, + {file = "pydantic_core-2.4.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32a1e0352558cd7ccc014ffe818c7d87b15ec6145875e2cc5fa4bb7351a1033d"}, + {file = "pydantic_core-2.4.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a027f41c5008571314861744d83aff75a34cf3a07022e0be32b214a5bc93f7f1"}, + {file = "pydantic_core-2.4.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1927f0e15d190f11f0b8344373731e28fd774c6d676d8a6cfadc95c77214a48b"}, + {file = "pydantic_core-2.4.0-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:7aa82d483d5fb867d4fb10a138ffd57b0f1644e99f2f4f336e48790ada9ada5e"}, + {file = "pydantic_core-2.4.0-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:b85778308bf945e9b33ac604e6793df9b07933108d20bdf53811bc7c2798a4af"}, + {file = "pydantic_core-2.4.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:3ded19dcaefe2f6706d81e0db787b59095f4ad0fbadce1edffdf092294c8a23f"}, + {file = "pydantic_core-2.4.0.tar.gz", hash = "sha256:ec3473c9789cc00c7260d840c3db2c16dbfc816ca70ec87a00cddfa3e1a1cdd5"}, +] + +[[package]] +name = "pyyaml" +version = "6.0.1" +requires_python = ">=3.6" +summary = "YAML parser and emitter for Python" +files = [ + {file = "PyYAML-6.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a"}, + {file = "PyYAML-6.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f"}, + {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"}, + {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"}, + {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"}, + {file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"}, + {file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"}, + {file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"}, + {file = "PyYAML-6.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab"}, + {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"}, + {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"}, + {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"}, + {file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"}, + {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, + {file = "PyYAML-6.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595"}, + {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"}, + {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"}, + {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"}, + {file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"}, + {file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"}, + {file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"}, + {file = "PyYAML-6.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859"}, + {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"}, + {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"}, + {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"}, + {file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"}, + {file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"}, + {file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"}, +] + +[[package]] +name = "typing-extensions" +version = "4.7.1" +requires_python = ">=3.7" +summary = "Backported and Experimental Type Hints for Python 3.7+" +files = [ + {file = "typing_extensions-4.7.1-py3-none-any.whl", hash = "sha256:440d5dd3af93b060174bf433bccd69b0babc3b15b1a8dca43789fd7f61514b36"}, + {file = "typing_extensions-4.7.1.tar.gz", hash = "sha256:b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2"}, +] + +[[package]] +name = "wcwidth" +version = "0.2.6" +summary = "Measures the displayed width of unicode strings in a terminal" +files = [ + {file = "wcwidth-0.2.6-py2.py3-none-any.whl", hash = "sha256:795b138f6875577cd91bba52baf9e445cd5118fd32723b460e30a0af30ea230e"}, + {file = "wcwidth-0.2.6.tar.gz", hash = "sha256:a5220780a404dbe3353789870978e472cfe477761f06ee55077256e509b156d0"}, +] + +[[package]] +name = "wrapt" +version = "1.15.0" +requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" +summary = "Module for decorators, wrappers and monkey patching." +files = [ + {file = "wrapt-1.15.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:21f6d9a0d5b3a207cdf7acf8e58d7d13d463e639f0c7e01d82cdb671e6cb7923"}, + {file = "wrapt-1.15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ce42618f67741d4697684e501ef02f29e758a123aa2d669e2d964ff734ee00ee"}, + {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41d07d029dd4157ae27beab04d22b8e261eddfc6ecd64ff7000b10dc8b3a5727"}, + {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:54accd4b8bc202966bafafd16e69da9d5640ff92389d33d28555c5fd4f25ccb7"}, + {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2fbfbca668dd15b744418265a9607baa970c347eefd0db6a518aaf0cfbd153c0"}, + {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:76e9c727a874b4856d11a32fb0b389afc61ce8aaf281ada613713ddeadd1cfec"}, + {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e20076a211cd6f9b44a6be58f7eeafa7ab5720eb796975d0c03f05b47d89eb90"}, + {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a74d56552ddbde46c246b5b89199cb3fd182f9c346c784e1a93e4dc3f5ec9975"}, + {file = "wrapt-1.15.0-cp310-cp310-win32.whl", hash = "sha256:26458da5653aa5b3d8dc8b24192f574a58984c749401f98fff994d41d3f08da1"}, + {file = "wrapt-1.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:75760a47c06b5974aa5e01949bf7e66d2af4d08cb8c1d6516af5e39595397f5e"}, + {file = "wrapt-1.15.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ba1711cda2d30634a7e452fc79eabcadaffedf241ff206db2ee93dd2c89a60e7"}, + {file = "wrapt-1.15.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:56374914b132c702aa9aa9959c550004b8847148f95e1b824772d453ac204a72"}, + {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a89ce3fd220ff144bd9d54da333ec0de0399b52c9ac3d2ce34b569cf1a5748fb"}, + {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3bbe623731d03b186b3d6b0d6f51865bf598587c38d6f7b0be2e27414f7f214e"}, + {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3abbe948c3cbde2689370a262a8d04e32ec2dd4f27103669a45c6929bcdbfe7c"}, + {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b67b819628e3b748fd3c2192c15fb951f549d0f47c0449af0764d7647302fda3"}, + {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:7eebcdbe3677e58dd4c0e03b4f2cfa346ed4049687d839adad68cc38bb559c92"}, + {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:74934ebd71950e3db69960a7da29204f89624dde411afbfb3b4858c1409b1e98"}, + {file = "wrapt-1.15.0-cp311-cp311-win32.whl", hash = "sha256:bd84395aab8e4d36263cd1b9308cd504f6cf713b7d6d3ce25ea55670baec5416"}, + {file = "wrapt-1.15.0-cp311-cp311-win_amd64.whl", hash = "sha256:a487f72a25904e2b4bbc0817ce7a8de94363bd7e79890510174da9d901c38705"}, + {file = "wrapt-1.15.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cdb4f085756c96a3af04e6eca7f08b1345e94b53af8921b25c72f096e704e145"}, + {file = "wrapt-1.15.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:230ae493696a371f1dbffaad3dafbb742a4d27a0afd2b1aecebe52b740167e7f"}, + {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63424c681923b9f3bfbc5e3205aafe790904053d42ddcc08542181a30a7a51bd"}, + {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d6bcbfc99f55655c3d93feb7ef3800bd5bbe963a755687cbf1f490a71fb7794b"}, + {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c99f4309f5145b93eca6e35ac1a988f0dc0a7ccf9ccdcd78d3c0adf57224e62f"}, + {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b130fe77361d6771ecf5a219d8e0817d61b236b7d8b37cc045172e574ed219e6"}, + {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:96177eb5645b1c6985f5c11d03fc2dbda9ad24ec0f3a46dcce91445747e15094"}, + {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d5fe3e099cf07d0fb5a1e23d399e5d4d1ca3e6dfcbe5c8570ccff3e9208274f7"}, + {file = "wrapt-1.15.0-cp38-cp38-win32.whl", hash = "sha256:abd8f36c99512755b8456047b7be10372fca271bf1467a1caa88db991e7c421b"}, + {file = "wrapt-1.15.0-cp38-cp38-win_amd64.whl", hash = "sha256:b06fa97478a5f478fb05e1980980a7cdf2712015493b44d0c87606c1513ed5b1"}, + {file = "wrapt-1.15.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2e51de54d4fb8fb50d6ee8327f9828306a959ae394d3e01a1ba8b2f937747d86"}, + {file = "wrapt-1.15.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0970ddb69bba00670e58955f8019bec4a42d1785db3faa043c33d81de2bf843c"}, + {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76407ab327158c510f44ded207e2f76b657303e17cb7a572ffe2f5a8a48aa04d"}, + {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cd525e0e52a5ff16653a3fc9e3dd827981917d34996600bbc34c05d048ca35cc"}, + {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d37ac69edc5614b90516807de32d08cb8e7b12260a285ee330955604ed9dd29"}, + {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:078e2a1a86544e644a68422f881c48b84fef6d18f8c7a957ffd3f2e0a74a0d4a"}, + {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:2cf56d0e237280baed46f0b5316661da892565ff58309d4d2ed7dba763d984b8"}, + {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7dc0713bf81287a00516ef43137273b23ee414fe41a3c14be10dd95ed98a2df9"}, + {file = "wrapt-1.15.0-cp39-cp39-win32.whl", hash = "sha256:46ed616d5fb42f98630ed70c3529541408166c22cdfd4540b88d5f21006b0eff"}, + {file = "wrapt-1.15.0-cp39-cp39-win_amd64.whl", hash = "sha256:eef4d64c650f33347c1f9266fa5ae001440b232ad9b98f1f43dfe7a79435c0a6"}, + {file = "wrapt-1.15.0-py3-none-any.whl", hash = "sha256:64b1df0f83706b4ef4cfb4fb0e4c2669100fd7ecacfb59e091fad300d4e04640"}, + {file = "wrapt-1.15.0.tar.gz", hash = "sha256:d06730c6aed78cee4126234cf2d071e01b44b915e725a6cb439a879ec9754a3a"}, +] + +[[package]] +name = "yarl" +version = "1.9.2" +requires_python = ">=3.7" +summary = "Yet another URL library" +dependencies = [ + "idna>=2.0", + "multidict>=4.0", +] +files = [ + {file = "yarl-1.9.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8c2ad583743d16ddbdf6bb14b5cd76bf43b0d0006e918809d5d4ddf7bde8dd82"}, + {file = "yarl-1.9.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:82aa6264b36c50acfb2424ad5ca537a2060ab6de158a5bd2a72a032cc75b9eb8"}, + {file = "yarl-1.9.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c0c77533b5ed4bcc38e943178ccae29b9bcf48ffd1063f5821192f23a1bd27b9"}, + {file = "yarl-1.9.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ee4afac41415d52d53a9833ebae7e32b344be72835bbb589018c9e938045a560"}, + {file = "yarl-1.9.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9bf345c3a4f5ba7f766430f97f9cc1320786f19584acc7086491f45524a551ac"}, + {file = "yarl-1.9.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2a96c19c52ff442a808c105901d0bdfd2e28575b3d5f82e2f5fd67e20dc5f4ea"}, + {file = "yarl-1.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:891c0e3ec5ec881541f6c5113d8df0315ce5440e244a716b95f2525b7b9f3608"}, + {file = "yarl-1.9.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c3a53ba34a636a256d767c086ceb111358876e1fb6b50dfc4d3f4951d40133d5"}, + {file = "yarl-1.9.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:566185e8ebc0898b11f8026447eacd02e46226716229cea8db37496c8cdd26e0"}, + {file = "yarl-1.9.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:2b0738fb871812722a0ac2154be1f049c6223b9f6f22eec352996b69775b36d4"}, + {file = "yarl-1.9.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:32f1d071b3f362c80f1a7d322bfd7b2d11e33d2adf395cc1dd4df36c9c243095"}, + {file = "yarl-1.9.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:e9fdc7ac0d42bc3ea78818557fab03af6181e076a2944f43c38684b4b6bed8e3"}, + {file = "yarl-1.9.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:56ff08ab5df8429901ebdc5d15941b59f6253393cb5da07b4170beefcf1b2528"}, + {file = "yarl-1.9.2-cp310-cp310-win32.whl", hash = "sha256:8ea48e0a2f931064469bdabca50c2f578b565fc446f302a79ba6cc0ee7f384d3"}, + {file = "yarl-1.9.2-cp310-cp310-win_amd64.whl", hash = "sha256:50f33040f3836e912ed16d212f6cc1efb3231a8a60526a407aeb66c1c1956dde"}, + {file = "yarl-1.9.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:646d663eb2232d7909e6601f1a9107e66f9791f290a1b3dc7057818fe44fc2b6"}, + {file = "yarl-1.9.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:aff634b15beff8902d1f918012fc2a42e0dbae6f469fce134c8a0dc51ca423bb"}, + {file = "yarl-1.9.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a83503934c6273806aed765035716216cc9ab4e0364f7f066227e1aaea90b8d0"}, + {file = "yarl-1.9.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b25322201585c69abc7b0e89e72790469f7dad90d26754717f3310bfe30331c2"}, + {file = "yarl-1.9.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:22a94666751778629f1ec4280b08eb11815783c63f52092a5953faf73be24191"}, + {file = "yarl-1.9.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ec53a0ea2a80c5cd1ab397925f94bff59222aa3cf9c6da938ce05c9ec20428d"}, + {file = "yarl-1.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:159d81f22d7a43e6eabc36d7194cb53f2f15f498dbbfa8edc8a3239350f59fe7"}, + {file = "yarl-1.9.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:832b7e711027c114d79dffb92576acd1bd2decc467dec60e1cac96912602d0e6"}, + {file = "yarl-1.9.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:95d2ecefbcf4e744ea952d073c6922e72ee650ffc79028eb1e320e732898d7e8"}, + {file = "yarl-1.9.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:d4e2c6d555e77b37288eaf45b8f60f0737c9efa3452c6c44626a5455aeb250b9"}, + {file = "yarl-1.9.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:783185c75c12a017cc345015ea359cc801c3b29a2966c2655cd12b233bf5a2be"}, + {file = "yarl-1.9.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:b8cc1863402472f16c600e3e93d542b7e7542a540f95c30afd472e8e549fc3f7"}, + {file = "yarl-1.9.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:822b30a0f22e588b32d3120f6d41e4ed021806418b4c9f0bc3048b8c8cb3f92a"}, + {file = "yarl-1.9.2-cp311-cp311-win32.whl", hash = "sha256:a60347f234c2212a9f0361955007fcf4033a75bf600a33c88a0a8e91af77c0e8"}, + {file = "yarl-1.9.2-cp311-cp311-win_amd64.whl", hash = "sha256:be6b3fdec5c62f2a67cb3f8c6dbf56bbf3f61c0f046f84645cd1ca73532ea051"}, + {file = "yarl-1.9.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5610f80cf43b6202e2c33ba3ec2ee0a2884f8f423c8f4f62906731d876ef4fac"}, + {file = "yarl-1.9.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b9a4e67ad7b646cd6f0938c7ebfd60e481b7410f574c560e455e938d2da8e0f4"}, + {file = "yarl-1.9.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:83fcc480d7549ccebe9415d96d9263e2d4226798c37ebd18c930fce43dfb9574"}, + {file = "yarl-1.9.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5fcd436ea16fee7d4207c045b1e340020e58a2597301cfbcfdbe5abd2356c2fb"}, + {file = "yarl-1.9.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:84e0b1599334b1e1478db01b756e55937d4614f8654311eb26012091be109d59"}, + {file = "yarl-1.9.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3458a24e4ea3fd8930e934c129b676c27452e4ebda80fbe47b56d8c6c7a63a9e"}, + {file = "yarl-1.9.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:838162460b3a08987546e881a2bfa573960bb559dfa739e7800ceeec92e64417"}, + {file = "yarl-1.9.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f4e2d08f07a3d7d3e12549052eb5ad3eab1c349c53ac51c209a0e5991bbada78"}, + {file = "yarl-1.9.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:de119f56f3c5f0e2fb4dee508531a32b069a5f2c6e827b272d1e0ff5ac040333"}, + {file = "yarl-1.9.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:149ddea5abf329752ea5051b61bd6c1d979e13fbf122d3a1f9f0c8be6cb6f63c"}, + {file = "yarl-1.9.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:674ca19cbee4a82c9f54e0d1eee28116e63bc6fd1e96c43031d11cbab8b2afd5"}, + {file = "yarl-1.9.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:9b3152f2f5677b997ae6c804b73da05a39daa6a9e85a512e0e6823d81cdad7cc"}, + {file = "yarl-1.9.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5415d5a4b080dc9612b1b63cba008db84e908b95848369aa1da3686ae27b6d2b"}, + {file = "yarl-1.9.2-cp38-cp38-win32.whl", hash = "sha256:f7a3d8146575e08c29ed1cd287068e6d02f1c7bdff8970db96683b9591b86ee7"}, + {file = "yarl-1.9.2-cp38-cp38-win_amd64.whl", hash = "sha256:63c48f6cef34e6319a74c727376e95626f84ea091f92c0250a98e53e62c77c72"}, + {file = "yarl-1.9.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:75df5ef94c3fdc393c6b19d80e6ef1ecc9ae2f4263c09cacb178d871c02a5ba9"}, + {file = "yarl-1.9.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c027a6e96ef77d401d8d5a5c8d6bc478e8042f1e448272e8d9752cb0aff8b5c8"}, + {file = "yarl-1.9.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f3b078dbe227f79be488ffcfc7a9edb3409d018e0952cf13f15fd6512847f3f7"}, + {file = "yarl-1.9.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:59723a029760079b7d991a401386390c4be5bfec1e7dd83e25a6a0881859e716"}, + {file = "yarl-1.9.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b03917871bf859a81ccb180c9a2e6c1e04d2f6a51d953e6a5cdd70c93d4e5a2a"}, + {file = "yarl-1.9.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c1012fa63eb6c032f3ce5d2171c267992ae0c00b9e164efe4d73db818465fac3"}, + {file = "yarl-1.9.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a74dcbfe780e62f4b5a062714576f16c2f3493a0394e555ab141bf0d746bb955"}, + {file = "yarl-1.9.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8c56986609b057b4839968ba901944af91b8e92f1725d1a2d77cbac6972b9ed1"}, + {file = "yarl-1.9.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:2c315df3293cd521033533d242d15eab26583360b58f7ee5d9565f15fee1bef4"}, + {file = "yarl-1.9.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:b7232f8dfbd225d57340e441d8caf8652a6acd06b389ea2d3222b8bc89cbfca6"}, + {file = "yarl-1.9.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:53338749febd28935d55b41bf0bcc79d634881195a39f6b2f767870b72514caf"}, + {file = "yarl-1.9.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:066c163aec9d3d073dc9ffe5dd3ad05069bcb03fcaab8d221290ba99f9f69ee3"}, + {file = "yarl-1.9.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8288d7cd28f8119b07dd49b7230d6b4562f9b61ee9a4ab02221060d21136be80"}, + {file = "yarl-1.9.2-cp39-cp39-win32.whl", hash = "sha256:b124e2a6d223b65ba8768d5706d103280914d61f5cae3afbc50fc3dfcc016623"}, + {file = "yarl-1.9.2-cp39-cp39-win_amd64.whl", hash = "sha256:61016e7d582bc46a5378ffdd02cd0314fb8ba52f40f9cf4d9a5e7dbef88dee18"}, + {file = "yarl-1.9.2.tar.gz", hash = "sha256:04ab9d4b9f587c06d801c2abfe9317b77cdf996c65a90d5e84ecc45010823571"}, +] diff --git a/script/lunar-cli/Remilia-1.2.2.1/pyproject.toml b/script/lunar-cli/Remilia-1.2.2.1/pyproject.toml new file mode 100644 index 0000000..3d24ad8 --- /dev/null +++ b/script/lunar-cli/Remilia-1.2.2.1/pyproject.toml @@ -0,0 +1,44 @@ +[build-system] +requires = ["pdm-backend"] +build-backend = "pdm.backend" + +[project] +name = "Remilia" +description = "Use python with next generation api" +authors = [{name = "H2Sxxa", email = "H2Sxxa0w0@gmail.com"}] +license = { file = "LICENSE" } +readme = "README.md" +requires-python = ">=3.8" +dynamic = ["version"] +classifiers=[ +'License :: OSI Approved :: MIT License', +'Programming Language :: Python :: 3.8', +'Programming Language :: Python :: 3.9', +'Programming Language :: Python :: 3.10', +'Programming Language :: Python :: 3.11', +] +dependencies = ["colorama","pyyaml","pydantic","typing_extensions"] + +[project.urls] +Homepage = "https://pypi.org/project/Remilia/" +Repository = "https://github.com/H2Sxxa/Remilia" +Issues = "https://github.com/H2Sxxa/Remilia/issues" +Discussions = "https://github.com/H2Sxxa/Remilia/discussions" + + +[tool.pdm.version] +source = "scm" +write_to = "Remilia/__version__.py" +write_template = "__version__ = '{}'" + +[tool.pdm.build] +excludes = ["./**/.git"] +package-dir = "src" +includes = ["src/Remilia"] +source-includes = ["LICENSE", "README.md"] + +[project.optional-dependencies] +tui = [ + "noneprompt", +] +all = ["noneprompt","pixivpy_async"] diff --git a/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/__init__.py b/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/__init__.py new file mode 100644 index 0000000..11f27c8 --- /dev/null +++ b/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/__init__.py @@ -0,0 +1,27 @@ +from . import ( + base, + log, + res, + shadow, + structdb, + utils, + mixin, + sdb, + fancy, + impl, + overload, +) + +__all__ = [ + "impl", + "mixin", + "log", + "res", + "structdb", + "shadow", + "utils", + "base", + "sdb", + "fancy", + "overload", +] diff --git a/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/base/__init__.py b/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/base/__init__.py new file mode 100644 index 0000000..7c4674a --- /dev/null +++ b/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/base/__init__.py @@ -0,0 +1,7 @@ +from . import exceptions, models, typings + +__all__ = [ + "typings", + "exceptions", + "models", +] diff --git a/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/base/exceptions.py b/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/base/exceptions.py new file mode 100644 index 0000000..391c0e7 --- /dev/null +++ b/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/base/exceptions.py @@ -0,0 +1,4 @@ +class MixinError(Exception):pass +class NoSuchMethodError(Exception):pass +class ExistedObjectError(Exception):pass +class CodeOperatorError(Exception):pass \ No newline at end of file diff --git a/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/base/models.py b/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/base/models.py new file mode 100644 index 0000000..0fadf65 --- /dev/null +++ b/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/base/models.py @@ -0,0 +1,28 @@ +from pydantic import BaseModel +from typing_extensions import Self + + +class Ruler(BaseModel): + ''' + self -> Type(Log) + ''' + level:int=5 + excolor:str="fore.LIGHTGREEN_EX+'[ '+name+' '+time+' '+location+'] '+style.RESET_ALL+text" + explain:str="'[ '+name+' '+time+' '+location+'] '+text" + timeformat:str="%H:%M:%S" + def exgenerate(self,model:str,*color:str) -> Self: + self.explain=model % tuple(["" for _ in color]) + self.excolor=model % color + return self + +class PathTimes(BaseModel): + createtime:float + modifytime:float + accesstime:float + +class SizeUnits(BaseModel): + BYTES:str='Bytes' + K:str='K' + M:str='M' + G:str='G' + diff --git a/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/base/typings.py b/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/base/typings.py new file mode 100644 index 0000000..7f22141 --- /dev/null +++ b/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/base/typings.py @@ -0,0 +1,9 @@ +from typing import Generic, TypeVar,TypeAlias + +RT=TypeVar("RT") #Return Type +T=TypeVar("T") + +NT=TypeVar("NT") #the first arg of a pair +VT=TypeVar("VT") #the second arg of a pair + +class PairType(Generic[NT,VT]):... diff --git a/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/fancy.py b/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/fancy.py new file mode 100644 index 0000000..0220648 --- /dev/null +++ b/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/fancy.py @@ -0,0 +1,227 @@ +import json +import re +from types import ModuleType +from typing import Callable, Dict, Generic, NoReturn, SupportsIndex, Type, Union, List +from typing_extensions import Self +from inspect import signature +from .base.typings import NT, T, VT + + +def hasInstance(cls: T) -> T: + setattr(cls, "instance", cls()) + return cls + + +def toInstance(cls: T) -> T: + return cls() + + +def hasInstanceWithArgs(*args, **kwargs) -> T: + def hasInstanceWrap(cls: T) -> T: + setattr(cls, "instance", cls(*args, **kwargs)) + return cls + + return hasInstanceWrap + + +def toInstanceWithArgs(*args, **kwargs) -> T: + def toInstanceWrap(cls: T) -> T: + return cls(*args, **kwargs) + + return toInstanceWrap + + +def propertyOf(target: Callable, *args, **kwargs): + def wrap(_) -> property: + def argwarp(self): + return target(self, *args, **kwargs) + + return property(argwarp) + + return wrap + + +def typedet(string: str, strict=True) -> any: + if ( + not re.match(r"[\u4E00-\u9FA5A-Za-z]", string) + and re.match(r"[0-9]", string) + and not re.match( + r"[`~!@#$%^&*()_\-+=<>?:\"{}|,\/;'\\[\]·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘',。、]", + string, + ) + ): + if "." in string: + try: + return float(string) + except: + pass + else: + return int(string) + try: + res = json.loads(string, strict=strict) + return res + except: + pass + return string + + +class NameSpace(dict): + def updateModules(self, *modules: ModuleType) -> Self: + for module in modules: + self.update(module.__dict__) + return self + + def updateElements(self, *elements: Type) -> Self: + self.updateModule([element.__module__.__dict__ for element in elements]) + return self + + def updateVal(self, obj: Union[Type, ModuleType]) -> Self: + try: + self.updateElements(obj) + except: + self.updateModules(obj) + return self + + def updateNV(self, name: NT, value: VT) -> Self: + self.update({name: value}) + return self + + def updateDict(self, *dicts: Dict[str, Type]) -> Self: + for kv in dicts: + self.update(kv) + return self + + def to_dict(self) -> Dict[str, Type]: + return dict(self) + + @propertyOf(to_dict) + def prop_dict(self) -> Dict[str, Type]: + ... + + @staticmethod + def fromModules(*module: ModuleType) -> Self: + return NameSpace().updateModule(*module) + + @staticmethod + def fromElements(*elements: Type) -> Self: + return NameSpace().updateElements(*elements) + + +class LinkTun(Generic[T]): + __back: T + + def setBack(self, back: T) -> Self: + self.__back = back + return self + + def backto(self) -> T: + return self.__back + + +class Signs: + @staticmethod + def getParasAsType(call: Callable): + return [signarg.annotation for _, signarg in signature(call).parameters.items()] + + @staticmethod + def check_eq(paraa: List[Type], parab: List[Type]) -> bool: + if len(paraa) != len(parab): + return False + else: + for a, b in zip(paraa, parab): + if a != b: + return False + return True + + +class StringBuilder: + def __init__(self, __string: str = str()) -> None: + self.__string = __string + + def replace(self, __old: str, __new: str, __count: SupportsIndex = -1) -> Self: + self.__string = self.__string.replace(__old, __new, __count) + return self + + @property + def newline(self) -> Self: + self.__string += "\n" + return self + + def newlinen(self, __n: int) -> Self: + self.__string += "\n" * __n + return self + + @property + def space(self) -> Self: + self.__string += " " + return self + + def spacen(self, __n: int) -> Self: + self.__string += " " * __n + return self + + @property + def space4(self) -> Self: + self.__string += " " * 4 + return self + + def concat(self, __string: str): + self.__string += __string + return self + + def ifElse( + self, + condition: Callable[[], bool] = lambda: True, + ifdo: str = "", + elsedo: str = "", + ) -> Self: + ifElse( + condition, + ifdo=lambda: self.concat(ifdo), + elsedo=lambda: self.concat(elsedo), + ) + return self + + def when( + self, + condition: Callable[[], bool] = lambda: True, + ifdo: str = "", + ) -> Self: + when( + condition, + ifdo=lambda: self.concat(ifdo), + ) + return self + + def clear(self) -> Self: + self.__string = str() + return self + + def get(self) -> str: + return self.__string + + def __str__(self) -> str: + return self.__string + + +def ifElse( + condition: Union[Callable[[], bool], bool] = lambda: True, + ifdo: Callable[[], NT] = lambda: None, + elsedo: Callable[[], VT] = lambda: None, +) -> Union[NT, VT]: + if isinstance(condition, Callable): + condition = condition() + return ifdo() if condition else elsedo() + + +def when( + condition: Union[Callable[[], bool], bool] = lambda: True, + whendo: Callable[[], T] = lambda: None, +) -> T: + if isinstance(condition, Callable): + condition = condition() + return whendo() if condition else None + + +def exception(exc: Exception = Exception()) -> NoReturn: + raise exc diff --git a/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/impl.py b/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/impl.py new file mode 100644 index 0000000..c4ff057 --- /dev/null +++ b/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/impl.py @@ -0,0 +1,27 @@ +from typing_extensions import Self +from Remilia.base.typings import NT, PairType, VT + + +class CommonPair(PairType): + def __init__(self, name: NT, value: VT) -> None: + self._name = name + self._value = value + + def getname(self) -> NT: + return self._name + + def getvalue(self) -> VT: + return self._value + + @property + def name(self) -> NT: + return self.getname() + + @property + def value(self) -> VT: + return self.getvalue() + + @staticmethod + def fromnv(name: NT, value: VT) -> Self: + return CommonPair(name, value) + \ No newline at end of file diff --git a/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/log.py b/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/log.py new file mode 100644 index 0000000..18265bf --- /dev/null +++ b/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/log.py @@ -0,0 +1,199 @@ +from functools import partial +from pathlib import Path +from colorama import Fore, Back, Style, Cursor +from colorama import init as initcolor +from typing import Callable, Dict, List, Optional, TYPE_CHECKING, Union +from typing_extensions import Self +from time import strftime, localtime + +from .res import rFile, rPath +from .base.models import Ruler +from .base.typings import PairType +from .impl import CommonPair as Pair + +from platform import system +import inspect + +if TYPE_CHECKING: + + class _CallMethod: + def __call__(self, *args: str) -> None: + ... + + +try: + if system() == "Windows": + initcolor(wrap=True) + else: + initcolor(wrap=False) +except: + pass + + +class Log: + def __init__( + self, name: str, location: str, logs: tuple = (), ruler: Ruler = Ruler() + ) -> None: + super().__init__() + self.ruler = ruler + self.location = location + self.logs = [str(log) for log in logs] + self.name = name.upper() + + @property + def color(self) -> str: + # colorama stuff + fore = Fore + style = Style + cursor = Cursor + back = Back + # base + location = self.location + ruler = self.ruler + name = self.name + text = " ".join(self.logs) + time = strftime(self.ruler.timeformat, localtime()) + __all__ = [ruler, location, name, text, time, fore, style, cursor, back] + return eval(self.ruler.excolor) + + @property + def plain(self) -> str: + location = self.location + ruler = self.ruler + name = self.name + text = " ".join(self.logs) + time = strftime(self.ruler.timeformat, localtime()) + __all__ = [ruler, location, name, text, time] + return eval(self.ruler.explain) + + +class LogCat: + all_logs: List[Log] + all_subs: List[PairType[Callable[[Log], bool], rFile]] + + def __init__(self) -> None: + self.all_logs = [] + self.all_subs = [] + + def get_logs(self, filter: Callable[[Log], bool] = lambda _: True) -> List[Log]: + return [log for log in self.all_logs if filter(log)] + + def record(self, *logs: Log) -> Self: + self.all_logs.extend(logs) + self._subwrite(*logs) + return self + + def export( + self, + path: Union[rFile, rPath, Path, str], + filter: Callable[[Log], bool] = lambda _: True, + mode: str = "w", + ) -> Self: + rflog = rFile(path) if not isinstance(path, rFile) else path + rflog.write( + data="\n".join([log.plain for log in self.get_logs(filter)]), mode=mode + ) + return self + + def subscribe( + self, *pairs: PairType[Callable[[Log], bool], Union[rFile, rPath, Path, str]] + ) -> Self: + subs = [ + Pair( + pair.name, + rFile(pair.value) if not isinstance(pair.value, rFile) else pair.value, + ) + for pair in pairs + ] + self.all_subs.extend(subs) + return self + + def _subwrite(self, *logs: Log) -> None: + for sub in self.all_subs: + mode = "a" if sub.value.exists() else "w" + for log in logs: + if sub.name(log): + sub.value.write(data=log.plain + "\n", mode=mode) + + +class Logger: + def __init__( + self, + logcat: LogCat = LogCat(), + ruler_map: Optional[Dict[str, Ruler]] = {}, + model: str = "'%s[ '+name+' '+time+' '+location+'] %s'+text", + ) -> None: + self.ruler_map = { + "DEBUG": Ruler(level=3).exgenerate(model, Fore.CYAN, Style.RESET_ALL), + "INFO": Ruler(level=5).exgenerate( + model, Fore.LIGHTGREEN_EX, Style.RESET_ALL + ), + "WARN": Ruler(level=6).exgenerate( + model, Fore.LIGHTYELLOW_EX, Style.RESET_ALL + ), + "ERROR": Ruler(level=7).exgenerate( + model, Fore.LIGHTRED_EX, Style.RESET_ALL + ), + } + self.ruler_map.update(ruler_map) + self.logcat = logcat + self.handle_out = print + self.vlevel = 5 + global instance + instance = self + + def set_vlevel(self, vlevel: int) -> Self: + self.vlevel = vlevel + return self + + def ex_ruler(self, model: str, **colors: Dict[str, tuple]) -> Self: + for n, c in colors.items(): + self.to_ruler(n, self.get_ruler(n).exgenerate(model, *c)) + return self + + def to_ruler(self, name: str, ruler: Ruler) -> Self: + self.ruler_map.update({name.upper(): ruler}) + return self + + def get_ruler(self, name: str) -> Ruler: + try: + return self.ruler_map[name.upper()] + except: + return Ruler() + + def print(self, name: str, *log: Log) -> None: + clog = Log( + name, + inspect.getmodule(inspect.stack()[1][0]).__name__, + log, + self.get_ruler(name), + ) + self.logcat.record(clog) + if self.vlevel >= clog.ruler.level: + self.handle_out(clog.color) + + def __getattr__(self, name) -> "_CallMethod": + if name.startswith("__") and name.endswith("__"): + raise AttributeError( + f"'{self.__class__.__name__}' object has no attribute '{name}'" + ) + return partial(self.print, name) + + +instance: Logger + + +def get_logger(*args, **kwargs) -> Logger: + """ + args & kwargs only work under (instance == None) + """ + global instance + try: + if instance != None: + return instance + else: + instance = Logger(*args, **kwargs) + return instance + except: + instance = Logger(*args, **kwargs) + return instance diff --git a/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/mixin.py b/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/mixin.py new file mode 100644 index 0000000..178233a --- /dev/null +++ b/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/mixin.py @@ -0,0 +1,799 @@ +from gc import get_referents +from abc import abstractmethod +from enum import Enum +from types import MethodType +from typing import Any, Dict, Iterable, List, Tuple, Type, Union, Callable +from inspect import getsourcelines +from typing_extensions import Self +from pydantic import BaseModel + +from .log import get_logger +from .fancy import NameSpace, hasInstance +from .base.exceptions import CodeOperatorError, MixinError + + +class At(Enum): + # Inject stuff + HEAD = "mixin_head" + INSERT = "mixin_insert" + END = "mixin_end" + # Glue + INVOKE = "mixin_invoke" + RETURN = "mixin_return" + # Generic + DEFAULT = "mixin" + + +MIXIN_CONFIGS = "__mixin_configs__" + +_freeze_action: List[Dict[str, object]] = [] +_freeze_corobject: Dict[str, object] = {} + + +def mixin_getattr(__o: object, __name: str, __gc=False) -> Any: + if __gc: + return get_referents(__o.__dict__)[0][__name] + else: + return getattr(__o, __name) + + +def mixin_delattr(__o: object, __name: str, __gc=False) -> None: + if __gc: + get_referents(__o.__dict__)[0].pop(__name) + else: + delattr(__o, __name) + + +def mixin_setattr(__o: object, __name: str, __value: Any, __gc=False) -> None: + if __gc: + get_referents(__o.__dict__)[0][__name] = __value + else: + setattr(__o, __name, __value) + + +def mixin_hasattr(__o: object, __name: str, __gc=False) -> None: + if __gc: + return get_referents(__o.__dict__)[0].__contains__(__name) + else: + return hasattr(__o, __name) + + +class Ancestor: + target: List[Type] + at: At + ancestor_namespace: Dict[str, object] + ancestor_exclude: List[Type] + + def __init__( + self, + target: Union[List[Type], Type], + ancestor_namespace: Union[List[Dict[str, Type]], Dict[str, Type]] = {}, + ancestor_exclude: Union[List[Type], Type] = [], + at: At = At.END, + ancestor_hook: Callable[[List[Type]], Iterable] = lambda _: _, + ) -> None: + if not isinstance(target, Iterable): + self.target = [target] + else: + self.target = target + if not isinstance(ancestor_exclude, Iterable): + self.ancestor_exclude = [ancestor_exclude] + else: + self.ancestor_exclude = ancestor_exclude + + if not isinstance(ancestor_namespace, Iterable) or isinstance( + ancestor_namespace, Dict + ): + self.ancestor_namespace = [ancestor_namespace] + else: + self.ancestor_namespace = ancestor_namespace + + self.at = at + self.ancestor_hook = ancestor_hook + + def __call__(self, mixincls) -> Type: + for t in self.target: + t: object + if t.__bases__ == (object,): + t = type(t.__name__, (mixincls,), dict(t.__dict__)) + else: + rebuild_bases = tuple( + self.ancestor_hook( + [cls for cls in t.__bases__ if cls not in self.ancestor_exclude] + ) + ) + + if self.at == At.HEAD: + t.__bases__ = ( + mixincls, + *rebuild_bases, + ) + else: + t.__bases__ = (*rebuild_bases, mixincls) + for ans in self.ancestor_namespace: + ans.update({t.__name__: t}) + return mixincls + + +class Mixin: + target: List[Type] + debuginfo: List[Exception] + gc: bool + + def __init__( + self, + target: Union[List[Type], Type], + gc: bool = False, + ) -> None: + if not isinstance(target, Iterable): + self.target = [target] + else: + self.target = target + self.debuginfo = [] + self.gc = gc + + def __call__(self, mixincls: Type) -> Type: + self.configs = MixinConfigs( + target=self.target, mixincls=mixincls, mixin=self, gc=self.gc + ) + for mname in dir(mixincls): + try: + obj = getattr(mixincls, mname) + if isinstance(obj, Callable): + setattr(obj, MIXIN_CONFIGS, self.configs) + except Exception as e: + self.debuginfo.append(e) + for fa in _freeze_action: + fa["init"](*fa["arg"]) + _freeze_action.clear() + return mixincls + + +class MixinConfigs(BaseModel): + target: list = [] + mixincls: object = object() + mixin: object = Mixin(None) + gc: bool = None + + +class MixinTools(BaseModel): + getattr: Callable = mixin_getattr + setattr: Callable = mixin_setattr + hasattr: Callable = mixin_hasattr + delattr: Callable = mixin_delattr + + +class CallableArgs: + args: Tuple[Any] = () + kwargs: Dict[str, Any] = {} + + def __init__(self, *args, **kwargs) -> None: + self.args = args + self.kwargs.update(kwargs) + + +class MixinCallable(Callable): + @property + def __mixin_configs__(self) -> List[Type]: + return [...] + + +def getConfigs(mcallable: MixinCallable) -> MixinConfigs: + return mcallable.__mixin_configs__ + + +class MixinBase: + at: At + gc: bool + method: str + mixinmethod: MethodType + configs: MixinConfigs + + @abstractmethod + def mixin(self) -> None: + ... + + @abstractmethod + def mixin_head(self) -> None: + ... + + @abstractmethod + def mixin_end(self) -> None: + ... + + @abstractmethod + def mixin_insert(self) -> None: + ... + + @abstractmethod + def mixin_invoke(self) -> None: + ... + + @abstractmethod + def mixin_return(self) -> None: + ... + + def mixin_getattr(self, __o: object, __name: str) -> Any: + return self.mixintools.getattr(__o, __name, self.gc) + + def mixin_setattr(self, __o: object, __name: str, __value: Any) -> None: + return self.mixintools.setattr(__o, __name, __value, self.gc) + + def mixin_delattr(self, __o: object, __name: str, __value: Any) -> None: + return self.mixintools.delattr(__o, __name, __value, self.gc) + + def mixin_hasattr(self, __o: object, __name: str) -> bool: + return self.mixintools.hasattr(__o, __name, self.gc) + + def match_at(self) -> None: + if self.at == None: + return self.mixin() + if not hasattr(self, self.at.value): + raise MixinError("%s not support %s" % (self, self.at.name)) + else: + atmixin: MethodType = getattr(self, self.at.value) + if hasattr(atmixin, "__isabstractmethod__"): + if getattr(atmixin, "__isabstractmethod__") == True: + raise MixinError("%s not support %s" % (self, self.at.name)) + atmixin() + + def init(self, mixinmethod: MethodType): + try: + self.configs = getConfigs(mixinmethod) + except: + _freeze_action.append({"init": self.init, "arg": (mixinmethod,)}) + return mixinmethod + self.mixinmethod = mixinmethod + if self.method == None: + self.method = mixinmethod.__name__ + elif isinstance(self.method, str): + pass + else: + self.method = self.method.__name__ + if self.gc == None: + self.gc = self.configs.gc + self.match_at() + return mixinmethod + + def addkwargs(self, **kwargs): + for n, v in kwargs.items(): + setattr(self, n, v) + return self + + def cast( + subself, + at: At, + method: Union[str, MethodType, None] = None, + gc: bool = None, + mixintools: MixinTools = MixinTools(), + ) -> Self: + return subself().new(at, method, gc, mixintools) + + def new( + self, + at: At, + method: Union[str, MethodType, None] = None, + gc: bool = None, + mixintools: MixinTools = MixinTools(), + ) -> Self: + self.at = at + self.method = method + self.gc = gc + self.mixintools = mixintools + return self + + +class EnumCOChar(Enum): + EMPTY = "" + DELETELINE = "$DELETELINE" + SPACE = " " + SPACE4 = " " + SPACE8 = " " + + +_COCS: Dict[str, EnumCOChar] = {} +for cocn in dir(EnumCOChar): + coc = getattr(EnumCOChar, cocn) + if isinstance(coc, EnumCOChar): + _COCS.update({str(coc): coc}) + + +class CodeOperator: + def __init__( + self, method: MethodType, completion: bool = True, debugmode: bool = False + ) -> None: + self.fullname = "%s.%s" % (method.__module__, method.__qualname__) + self.codes = list(CodeOperator.getsourcelines(method)[0]) + self.name = method.__name__ + self.base_indent = self.get_indent(self.codes[0]) * " " + self.codes = self.commonformat(self.codes, self.base_indent) + self.extra_indent = self.get_indent(self.codes[1]) * " " + self.completion = completion + self.debugmode = debugmode + + @staticmethod + def getsourcelines(__obj: object) -> List[str]: + fullname = "%s.%s" % (__obj.__module__, __obj.__qualname__) + if _freeze_corobject.__contains__(fullname): + return [_freeze_corobject[fullname], len(_freeze_corobject[fullname])] + return getsourcelines(__obj) + + def poplines(self, *lines) -> Self: + add = 0 + for line in lines: + self.codes.pop(line - add) + add += 1 + return self + + def completion_code(self, code: str) -> str: + if self.completion: + return "%s%s\n" % (self.extra_indent, code) + else: + return code + + def insert(self, line: int, code: str) -> Self: + self.codes.insert(line, self.completion_code(code)) + return self + + def insertlines(self, line: int, codes: List[str]) -> Self: + for code in codes: + self.codes.insert(line, self.completion_code(code)) + if line >= 0: + line += 1 + return self + + def insert_head(self, code: str) -> Self: + self.codes.insert(1, self.completion_code(code)) + return self + + def insertlines_head(self, codes: List[str]) -> Self: + self.insertlines(1, codes) + return self + + def insert_end(self, code: str) -> Self: + self.codes.insert(-1, self.completion_code(code)) + return self + + def insertlines_end(self, codes: List[str]) -> Self: + self.codes.extend([self.completion_code(code) for code in codes]) + return self + + def replace(self, line: int, code: str) -> Self: + self.codes[line] = self.completion_code(code) + return self + + def append(self, code: str) -> Self: + self.codes.append(self.completion_code(code)) + return self + + @staticmethod + def commonformat(codes: List[str], base_indent: str): + exclude_codes = [] + for code in codes: + if "def " not in code: + exclude_codes.append(code) + else: + break + + codes = [code for code in codes if code not in exclude_codes] + + return [ + code + for code in [code.replace(base_indent, "", 1) for code in codes] + if code[0] != "@" + ] + + @staticmethod + def get_indent(string: str) -> int: + num = 0 + for char in string: + if char == " ": + num += 1 + else: + return num + return num + + @staticmethod + def codesformat(codes: List[str]) -> List[str]: + base_indent = CodeOperator.get_indent(codes[0]) * " " + codes = CodeOperator.commonformat(codes, base_indent) + extra_indent = CodeOperator.get_indent(codes[1]) * " " + codes.pop(0) + return [code.replace(extra_indent, "", 1) for code in codes] + + @staticmethod + def remove_unexpectlines(codes: List[str]): + return [code[:-1] if code[-2::] else code for code in codes] + + @staticmethod + def getCodelinesFromCallable(method: Callable) -> List[str]: + return CodeOperator.remove_unexpectlines( + CodeOperator.codesformat(list(CodeOperator.getsourcelines(method)[0])) + ) + + @staticmethod + def getCodeFromCallable(method: Callable) -> str: + return "".join(CodeOperator.getCodelinesFromCallable(method)) + + def coc_translate(self, code: str): + code = code.replace("#!", "") + for name, coc in _COCS.items(): + symbol = "%s;" % name + if coc == EnumCOChar.DELETELINE: + code = "\n".join( + [fcode for fcode in code.split("\n") if symbol not in fcode] + ) + else: + code = code.replace(symbol, coc.value) + return code + + def export(self, namespace: dict = {}) -> Callable: + bake_codes = [self.coc_translate(code) for code in self.codes] + code = "".join(bake_codes) + if self.debugmode: + logger = get_logger() + logger_level = logger.vlevel + logger.set_vlevel(10) + logger.warn( + "CodeOperator under debugmode , remove the 'debugmode = True' to close" + ) + logger.info(bake_codes) + + logger.info("\nexec code: \n %s" % (code)) + logger.set_vlevel(logger_level) + try: + exec( + code, + namespace, + ) + method = namespace[self.name] + _freeze_corobject.update({self.fullname: bake_codes}) + return method + except Exception as e: + raise CodeOperatorError(e) + + +class Glue(MixinBase): + def mixin_invoke(self) -> None: + for t in self.configs.target: + self.rawmethod: MethodType = self.mixin_getattr(t, self.method) + + def glue_invoke(*args, **kwargs): + cargs: CallableArgs + cargs = self.mixinmethod(*args, **kwargs) + return self.rawmethod(*cargs.args, **cargs.kwargs) + + self.mixin_setattr(t, self.method, glue_invoke) + + def mixin_return(self) -> None: + for t in self.configs.target: + self.rawmethod: MethodType = self.mixin_getattr(t, self.method) + + def glue_invoke(*args, **kwargs): + result = self.rawmethod(*args, **kwargs) + return self.mixinmethod(args[0], result) + + self.mixin_setattr(t, self.method, glue_invoke) + + def mixin(self) -> None: + self.mixin_return() + + def func_init(self, mixinmethod: Callable) -> Callable: + self.mixinmethod = mixinmethod + if self.at == At.INVOKE: + for cab in self.method: + self.rawmethod = cab + + def glue_invoke(*args, **kwargs): + cargs: CallableArgs + cargs = self.mixinmethod(*args, **kwargs) + return self.rawmethod(*cargs.args, **cargs.kwargs) + + glue_invoke.__name__ = cab.__name__ + self.namespace.update({cab.__name__: glue_invoke}) + if self.at == At.RETURN: + for cab in self.method: + self.rawmethod = cab + + def glue_invoke(*args, **kwargs): + result = self.rawmethod(*args, **kwargs) + return self.mixinmethod(result) + + glue_invoke.__name__ = cab.__name__ + self.namespace.update({cab.__name__: glue_invoke}) + return mixinmethod + + @staticmethod + def withFunc( + func: Union[Callable, List[Callable]], + namespace: NameSpace = NameSpace(), + gc: bool = None, + at: At = None, + mixintools: MixinTools = MixinTools(), + ): + if not isinstance(func, Iterable): + func = [func] + return ( + Glue.cast(Glue, at, func, gc, mixintools) + .addkwargs(namespace=namespace) + .func_init + ) + + @staticmethod + def withValue( + method: Union[str, MethodType, None] = None, + gc: bool = None, + at: At = None, + mixintools: MixinTools = MixinTools(), + ): + return Glue.cast(Glue, at, method, gc, mixintools).init + + +class Accessor(MixinBase): + def mixin(self) -> None: + property_name = "_%s%s" % (self.configs.mixincls.__name__, self.method) + for t in self.configs.target: + self.mixin_setattr( + t, + property_name, + lambda _: mixin_getattr( + _, "_%s%s" % (_.__class__.__name__, self.method) + ), + ) + self.mixin_setattr( + t, + self.method, + lambda _: mixin_getattr( + _, "_%s%s" % (_.__class__.__name__, self.method) + ), + ) + self.mixin_setattr( + t, property_name, property(self.mixin_getattr(t, property_name)) + ) + self.mixin_setattr( + t, self.method, property(self.mixin_getattr(t, self.method)) + ) + + @staticmethod + def withValue( + method: Union[str, MethodType, None] = None, + gc: bool = None, + mixintools: MixinTools = MixinTools(), + ): + return Accessor.cast(Accessor, None, method, gc, mixintools).init + + +class Inject(MixinBase): + insertline: int + poplines: List[int] + insertfirst: bool + namespace: NameSpace + debugmode: bool + + def mixin(self) -> None: + self.mixin_head() + + def getNameSpace(self, target: Any): + self.namespace = NameSpace(self.namespace) + try: + return self.namespace.updateElements(target) + except: + try: + return self.namespace.updateModules(target) + except: + return self.namespace + + def doinsert( + self, + cor: CodeOperator, + insertuse: MethodType, + *insert_args, + **insert_kwargs, + ) -> CodeOperator: + if self.insertfirst: + cor = insertuse( + *insert_args, + **insert_kwargs, + ) + cor.poplines(*[line for line in self.poplines]) + else: + cor.poplines(*[line for line in self.poplines]) + cor = insertuse( + *insert_args, + **insert_kwargs, + ) + return cor + + def rename_method(self, method: Callable, tomethod: Callable): + method.__qualname__ = tomethod.__qualname__ + method.__module__ = tomethod.__module__ + return method + + def mixin_head(self) -> None: + codes = CodeOperator.getCodelinesFromCallable(self.mixinmethod) + for target in self.configs.target: + self.namespace = self.getNameSpace(target) + cor = CodeOperator( + self.mixin_getattr(target, self.method), debugmode=self.debugmode + ) + self.mixin_setattr( + target, + self.method, + self.rename_method( + self.doinsert(cor, cor.insertlines_head, codes).export( + self.namespace + ), + self.mixin_getattr(target, self.method), + ), + ) + + def mixin_end(self) -> None: + codes = CodeOperator.getCodelinesFromCallable(self.mixinmethod) + for target in self.configs.target: + self.namespace = self.getNameSpace(target) + cor = CodeOperator( + self.mixin_getattr(target, self.method), debugmode=self.debugmode + ) + self.mixin_setattr( + target, + self.method, + self.rename_method( + self.doinsert(cor, cor.insertlines_end, codes).export( + self.namespace + ), + self.mixin_getattr(target, self.method), + ), + ) + + def mixin_insert(self) -> None: + codes = CodeOperator.getCodelinesFromCallable(self.mixinmethod) + if self.insertline == None: + self.mixin_head() + if isinstance(self.poplines, int): + self.poplines = [self.poplines] + for target in self.configs.target: + self.namespace = self.getNameSpace(target) + cor = CodeOperator( + self.mixin_getattr(target, self.method), debugmode=self.debugmode + ) + self.mixin_setattr( + target, + self.method, + self.rename_method( + self.doinsert(cor, cor.insertlines, self.insertline, codes).export( + self.namespace + ), + self.mixin_getattr(target, self.method), + ), + ) + + def func_init(self, mixinmethod: Callable) -> Callable: + self.mixinmethod = mixinmethod + for cab in self.method: + self.namespace = self.getNameSpace(cab) + codes = CodeOperator.getCodelinesFromCallable(mixinmethod) + cor = CodeOperator(cab, debugmode=self.debugmode) + if self.at == At.INSERT: + rebuild = self.rename_method( + self.doinsert(cor, cor.insertlines, self.insertline, codes).export( + self.namespace + ), + cab, + ) + elif self.at == At.END: + rebuild = self.rename_method( + self.doinsert(cor, cor.insertlines_end, codes).export( + self.namespace + ), + cab, + ) + else: + rebuild = self.rename_method( + self.doinsert(cor, cor.insertlines_head, codes).export( + self.namespace + ), + cab, + ) + self.mixin_setattr(cab, "__code__", rebuild.__code__) + return mixinmethod + + @staticmethod + def withFunc( + at: At, + func: Union[Callable, List[Callable]], + insertline: Union[None, int] = None, + poplines: Union[int, List[int]] = [], + insertfirst: bool = True, + namespace: Dict[str, object] = {}, + debugmode: bool = False, + gc: bool = False, + mixintools: MixinTools = MixinTools(), + ): + if not isinstance(poplines, Iterable): + poplines = [poplines] + + if not isinstance(func, Iterable): + func = [func] + + return ( + Inject.cast(Inject, at, func, gc, mixintools) + .addkwargs( + insertline=insertline, + poplines=poplines, + insertfirst=insertfirst, + namespace=namespace, + debugmode=debugmode, + ) + .func_init + ) + + @staticmethod + def withValue( + at: At, + method: Union[str, MethodType, None] = None, + insertline: Union[None, int] = None, + poplines: Union[int, List[int]] = [], + insertfirst: bool = True, + namespace: NameSpace = NameSpace(), + debugmode: bool = False, + gc: bool = None, + mixintools: MixinTools = MixinTools(), + ): + if not isinstance(poplines, Iterable): + poplines = [poplines] + + return ( + Inject.cast(Inject, at, method, gc, mixintools) + .addkwargs( + insertline=insertline, + poplines=poplines, + insertfirst=insertfirst, + namespace=namespace, + debugmode=debugmode, + ) + .init + ) + + +class OverWrite(MixinBase): + def mixin(self) -> None: + return [ + self.mixin_setattr(t, self.method, self.mixinmethod) + for t in self.configs.target + ] + + @staticmethod + def withValue( + method: Union[str, MethodType, None] = None, + gc: bool = None, + mixintools: MixinTools = MixinTools(), + ): + return OverWrite.cast(OverWrite, None, method, gc, mixintools).init + +@hasInstance +class ClassTracer: + instance: Self + tracelist: List[Type] + + def __init__(self) -> None: + self.update() + + def update(self) -> Self: + self.tracelist = object.__subclasses__() + return self + + def fromName(self, part: str): + return [t for t in self.tracelist if part in t.__name__] + + def fromNameFirst(self, part: str) -> Union[None, Type]: + for t in self.tracelist: + if part in t.__name__: + return t + + def equalName(self, name: str) -> List[Type]: + return [t for t in self.tracelist if name == t.__name__] + + def equalNameFirst(self, name: str) -> Union[None, Type]: + for t in self.tracelist: + if name == t.__name__: + return t diff --git a/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/overload.py b/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/overload.py new file mode 100644 index 0000000..e69de29 diff --git a/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/res.py b/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/res.py new file mode 100644 index 0000000..d7221ee --- /dev/null +++ b/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/res.py @@ -0,0 +1,199 @@ +from pathlib import Path as _Path +from typing import Dict, List, Optional, Sequence, Union +from typing_extensions import Self +from os import path as opath +from os import makedirs, mkdir + +from .base.typings import T +from .base.models import PathTimes, SizeUnits + + +class NotFoundError(OSError): + pass + + +class DirectoryNotFoundError(OSError): + pass + + +def format_size(size: int, unit: SizeUnits = SizeUnits()): + if size < 1024: + return (round(size, 2), unit.BYTES) + else: + KBX = size / 1024 + if KBX < 1024: + return (round(KBX, 2), unit.K) + else: + MBX = KBX / 1024 + if MBX < 1024: + return (round(MBX, 2), unit.M) + else: + return (round(MBX / 1024), unit.G) + + +class rPath(type(_Path()), _Path): + def __init__(self, *args: str, **kwargs: Optional[Dict[str, T]]) -> None: + super().__init__() + self._args = args + self._kwargs = kwargs + + def to_string(self) -> str: + return str(self) + + def to_file(self) -> "rFile": + return rFile(self) + + def to_dictory(self) -> "rDir": + return rDir(self) + + def to_path(self) -> "rPath": + return rPath(self) + + def convey(self) -> Union["rFile", "rDir"]: + if not self.exists(): + raise NotFoundError( + "%s is not existed,can't convey a unexisted rPath" % self + ) + if self.is_dir(): + return rDir(self) + else: + return rFile(self) + + @property + def times(self) -> PathTimes: + return PathTimes( + createtime=opath.getctime(self.absolute()), + modifytime=opath.getmtime(self.absolute()), + accesstime=opath.getatime(self.absolute()), + ) + + +class rFile(rPath): + def __init__(self, *args: str, **kwargs: Optional[Dict[str, T]]) -> None: + super().__init__(*args, **kwargs) + self.encoding = "utf-8" + + def set_encoding(self, encoding="utf-8") -> Self: + self.encoding = encoding + return self + + def check(self) -> bool: + return self.exists() and self.is_file() + + def read_text(self, errors: Union[str, None] = None) -> str: + return super().read_text(self.encoding, errors) + + def write( + self, data: T = "", mode: str = "w", has_encoding: bool = True, *args, **kwargs + ) -> Self: + if has_encoding: + with self.open(mode=mode, encoding=self.encoding, *args, **kwargs) as f: + f.write(data) + else: + with self.open(mode=mode, *args, **kwargs) as f: + f.write(data) + return self + + def read(self, mode: str = "r", *args, **kwargs) -> Union[str, bytes]: + with self.open(mode=mode, encoding=self.encoding, *args, **kwargs) as f: + return f.read() + + @property + def bytes(self): + return self.read_bytes() + + @property + def text(self): + return self.read_text() + + @property + def parent(self: Self) -> "rDir": + return rPath(self).parent.to_dictory() + + @property + def parents(self: Self) -> Sequence["rDir"]: + return [rDir(rp) for rp in rPath(self).parents] + + @property + def size(self) -> int: + return opath.getsize(self.absolute()) + + def fsize(self, unit: SizeUnits = SizeUnits()) -> str: + return format_size(self.size, unit) + + @property + def exts(self) -> List[str]: + result = [] + tempPath = self.absolute() + lastTemp = "" + while len(opath.splitext(tempPath)) > 1: + handle = opath.splitext(tempPath) + if lastTemp == handle[0]: + break + else: + lastTemp = handle[0] + result.append(handle[-1]) + tempPath = handle[0] + result.reverse() + return result + + @property + def ext(self) -> str: + return opath.splitext(self)[-1] + + +class rDir(rPath): + def check(self) -> bool: + return self.exists() and self.is_dir() + + def size(self, pattern: str = "*"): + return sum([rFile(rp).size for rp in rPath(self).glob(pattern) if rp.is_file()]) + + def rsize(self, pattern: str = "*"): + return sum( + [rFile(rp).size for rp in rPath(self).rglob(pattern) if rp.is_file()] + ) + + def fsize(self, pattern: str = "*", unit: SizeUnits = SizeUnits()) -> str: + return format_size(self.size(pattern), unit) + + def frsize(self, pattern: str = "*", unit: SizeUnits = SizeUnits()) -> str: + return format_size(self.rsize(pattern), unit) + + def makedirs(self, exist_ok=True, *args, **kwargs) -> Self: + makedirs(self.absolute(), exist_ok=exist_ok, *args, **kwargs) + return self + + def mkdir(self, *args, **kwargs) -> Self: + mkdir(self.absolute(), *args, **kwargs) + return self + + def newFile(self, name: str, contant: Union[str, bytes], *args, **kwargs): + return rFile("%s/%s" % (self.absolute().to_string(), name)).write( + contant, *args, **kwargs + ) + + +class DirBuilder: + root: rDir + + def __init__(self, root: Union[rDir, str] = rDir("")) -> None: + self.root = root + + def forward(self, name: str) -> "DirBuilder": + return DirBuilder(rDir(self.root, name).makedirs()) + + def back(self) -> "DirBuilder": + return DirBuilder(self.root.parent.to_dictory().makedirs()) + + @property + def pback(self) -> "DirBuilder": + return DirBuilder(self.root.parent.to_dictory().makedirs()) + + def create_dir(self, name: str) -> Self: + rDir(self.root, name).makedirs() + return self + + def create_file(self, name: str, data: str) -> Self: + rFile(self.root, name).write(data) + return self diff --git a/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/sdb.py b/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/sdb.py new file mode 100644 index 0000000..6854a57 --- /dev/null +++ b/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/sdb.py @@ -0,0 +1,219 @@ +from abc import ABC, abstractmethod +from enum import Enum +from typing import Dict, List, Union +from typing_extensions import Self +from yaml import Loader, Dumper, dump as ydump, load as yload +from json import loads as jloads, dumps as jdump + +from Remilia.base.typings import T, NT, VT +from Remilia.res import rDir, rFile, rPath +from Remilia.fancy import exception, hasInstance, propertyOf, LinkTun, toInstance, when + + +class EnumMode(Enum): + AUTO = 0 + EXCEPTION = 1 + + +class DataStructBase(ABC): + """ + contains a specification of a DataStruct + """ + + instance: Self + + @abstractmethod + def loads(self, data: str) -> Dict[str, T]: + ... + + @abstractmethod + def dumps(self, data: Dict[str, T]) -> str: + ... + + @property + def empty(self) -> str: + return "{}" + + +@toInstance +@hasInstance +class YamlStruct(DataStructBase): + loader: Loader + dumper: Dumper + + def __init__(self, loader: Loader = Loader, dumper: Dumper = Dumper) -> None: + super().__init__() + self.loader = loader + self.dumper = dumper + + def loads(self, data: str) -> Dict[str, T]: + return yload(data, self.loader) + + def dumps(self, data: Dict[str, T]) -> str: + return ydump(data, Dumper=self.dumper) + + +@toInstance +@hasInstance +class JsonStruct(DataStructBase): + def loads(self, data: str) -> Dict[str, T]: + return jloads(data) + + def dumps(self, data: Dict[str, T]) -> str: + return jdump(data) + + +class DataBaseTable(LinkTun): + def __init__(self, __file: Union[rFile, str], __struct: DataStructBase) -> None: + self.__file = ( + __file.to_file() if isinstance(__file, rPath) else rPath(__file).to_file() + ) + self.__struct = __struct + when(not self.__file.exists(), lambda: self.__file.write(self.__struct.empty)) + + def readValue(self, key: str) -> T: + return self.read()[key] + + def read(self) -> Dict[str, T]: + return self.__struct.loads(self.__file.text) + + def writeKV(self, key: NT, value: VT, /) -> Self: + tmp = self.read() + tmp.update({key: value}) + self.__file.write(self.__struct.dumps(tmp)) + return self + + def hasKey(self, key: T) -> bool: + return self.read().__contains__(key) + + def write(self, data: Dict[str, T], mode: str = "w") -> Self: + self.getFile().write(self.__struct.dumps(data), mode) + return self + + def update(self, *__m: Dict[str, T]) -> Self: + data = self.read() + for i in __m: + data.update(i) + self.write(data) + return self + + def __str__(self) -> str: + return "%s[%s] <%s>" % (self.__class__.__name__, self.read(), self.name) + + def backto(self) -> "DataBaseCate": + return super().backto() + + def getFile(self): + return self.__file + + @property + def name(self): + return self.__file.name + + +class DataBaseCate(LinkTun): + def __init__( + self, + catePath: Union[rDir, str], + struct: DataStructBase, + *, + mode: EnumMode = EnumMode.AUTO, + ) -> None: + self.__dir = ( + catePath.to_dictory() + if isinstance(catePath, rPath) + else rPath(catePath).to_dictory() + ) + self.__struct = struct + self.__mode = mode + self.__dir.makedirs() + + def createTable(self, name: str) -> DataBaseTable: + return DataBaseTable("%s/%s" % (self.getDir(), name), self.__struct).setBack( + self + ) + + def getTable(self, name: str) -> DataBaseTable: + if self.__mode == EnumMode.EXCEPTION: + when( + not self.hasTable(name), + lambda: exception(Exception("No such Table '%s'" % name)), + ) + + return DataBaseTable("%s/%s" % (self.getDir(), name), self.__struct).setBack( + self + ) + + def hasTable(self, name: str) -> bool: + return [] != [table for table in self.getTables() if table.name == name] + + def backto(self) -> "DataBase": + return super().backto() + + def getTables(self) -> List[DataBaseTable]: + return [ + DataBaseTable(rf.to_file()) for rf in self.__dir.glob("*") if rf.is_file() + ] + + @property + def name(self) -> str: + return self.__dir.name + + def getDir(self) -> rDir: + return self.__dir + + def __str__(self) -> str: + return "%s[%s] <%s>" % (self.__class__.__name__, self.getTables(), self.name) + + +class DataBase: + def __init__( + self, + rootPath: Union[rPath, str], + struct: DataStructBase, + *, + mode: EnumMode = EnumMode.AUTO, + ) -> None: + self.__dir = ( + rootPath.to_dictory() + if isinstance(rootPath, rPath) + else rPath(rootPath).to_dictory() + ) + self.__struct = struct.instance + self.__mode = mode + self.__dir.makedirs() + + def getCate(self, name: str) -> DataBaseCate: + if self.__mode == EnumMode.EXCEPTION: + when( + not self.hasCate(name), + lambda: exception(Exception("No such Cate '%s'" % name)), + ) + return DataBaseCate( + "%s/%s" % (self.getDir(), name), self.__struct, mode=self.__mode + ).setBack(self) + + def getCates(self) -> List[DataBaseCate]: + return [ + DataBaseCate(rd, self.__struct, mode=self.__mode).setBack(self) + for rd in self.getDir().glob("*") + if rd.is_dir() + ] + + def hasCate(self, name: str) -> bool: + return [] != [cate for cate in self.getCates() if cate.name == name] + + def createCate(self, name: str) -> DataBaseCate: + return DataBaseCate("%s/%s" % (self.getDir(), name), self.__struct).setBack( + self + ) + + @property + def name(self): + return self.getDir().name + + def getDir(self) -> rDir: + return self.__dir + + def __str__(self) -> str: + return "%s[%s] <%s>" % (self.__class__.__name__, self.getCates(), self.name) diff --git a/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/shadow.py b/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/shadow.py new file mode 100644 index 0000000..d898468 --- /dev/null +++ b/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/shadow.py @@ -0,0 +1,147 @@ +from types import MethodType +from typing import Any, Callable, Dict, List, Type, Union +from inspect import _empty +from uuid import uuid4 + +from .mixin import MixinBase, MixinTools +from .base.exceptions import ExistedObjectError, NoSuchMethodError +from .fancy import Signs + +SHADOW_MAP = "__shadowmethod_map__" + +EmptyType = _empty + + +def getShadowWarpWithCls(cls): + return Shadow.withCls(cls) + + +class Shadow(MixinBase): + def mixin(self) -> None: + for t_cls in self.configs.target: + if not self.mixin_hasattr(t_cls, SHADOW_MAP): + self.mixin_setattr(t_cls, SHADOW_MAP, dict()) + + shadowmap: Dict[str, Dict[MethodType, List]] + shadowmap = self.mixin_getattr(t_cls, SHADOW_MAP) + if not shadowmap.__contains__(self.method): + shadowmap.update({self.method: dict()}) + if self.mixin_hasattr(t_cls, self.method): + shadowmap.get(self.method).update( + { + self.mixin_getattr( + t_cls, self.method + ): Signs.getParasAsType( + self.mixin_getattr(t_cls, self.method) + ) + } + ) + while True: + tmpname = self.shadowName + if not self.mixin_hasattr(t_cls, tmpname): + self.mixin_setattr(t_cls, tmpname, self.mixinmethod) + shadowmap.get(self.method).update( + { + self.mixin_getattr(t_cls, tmpname): Signs.getParasAsType( + self.mixinmethod + ) + } + ) + break + + @property + def shadowName(self) -> str: + return self.method + "_%s" % str(uuid4()).replace("-", "") + + @staticmethod + def withValue( + method: Union[str, MethodType, None] = None, + gc: bool = None, + mixintools: MixinTools = MixinTools(), + ): + return Shadow.cast(Shadow, None, method, gc, mixintools).init + + +class ShadowInvoker: + def __init__(self, cls: Type) -> None: + self.cls = cls + + def getShadowMap(self) -> Dict: + return getattr(self.cls, SHADOW_MAP) + + def findAllWithType(self, paratype: List[object]) -> List[MethodType]: + shadowmap: Dict[str, Dict[MethodType, List]] + shadowmap = getattr(self.cls, SHADOW_MAP) + result = [] + for nvmap in [v for _, v in shadowmap.items()]: + result.extend([n for n, v in nvmap.items() if v == paratype]) + return result + + def findFirstWithType(self, paratype: List[object]) -> List[MethodType]: + try: + return self.findAllWithType(paratype)[0] + except: + raise NoSuchMethodError( + "can't find method with %s in %s" % (paratype, self.cls) + ) + + def findAll( + self, method: Union[str, MethodType], paratype: List[object] + ) -> List[MethodType]: + shadowmap: Dict[str, Dict[MethodType, List]] + shadowmap = getattr(self.cls, SHADOW_MAP) + if not issubclass(method.__class__, str): + methodN = method.__name__ + else: + methodN = method + return [ + method for method, paras in shadowmap[methodN].items() if paras == paratype + ] + + def findFirst( + self, method: Union[str, MethodType], paratype: List[object] + ) -> MethodType: + try: + return self.findAll(method, paratype)[0] + except: + raise NoSuchMethodError( + "can't find '%s' method with %s in %s" % (method, paratype, self.cls) + ) + + def invokeAll( + self, method: Union[str, MethodType], paratype: List[object], *args, **kwargs + ) -> List[Any]: + return [mtd(*args, **kwargs) for mtd in self.findAll(method, paratype)] + + def invokeFirst( + self, method: Union[str, MethodType], paratype: List[object], *args, **kwargs + ) -> Any: + return self.findFirst(method, paratype)(*args, **kwargs) + + def invokeAllWithType(self, paratype: List[object], *args, **kwargs) -> List[Any]: + return [mtd(*args, **kwargs) for mtd in self.findAllWithType(paratype)] + + def invokeFirstWithType(self, paratype: List[object], *args, **kwargs) -> Any: + return self.findFirstWithType(paratype)(*args, **kwargs) + + +class ShadowAccessor: + def __init__(self, cls: Type, force=False) -> None: + self.cls = cls + self.force = force + + def setAccessible(self, name: str, force=None) -> None: + if force == None: + force = self.force + if not force: + if hasattr(self.cls, name): + raise ExistedObjectError( + "%s has existed object -> %s" % (self.cls.__name__, name) + ) + setattr( + self.cls, name, lambda _: getattr(_, "_%s%s" % (_.__class__.__name__, name)) + ) + setattr(self.cls, name, property(getattr(self.cls, name))) + + def Accessor(self, method: Callable): + self.setAccessible(method.__name__) diff --git a/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/structdb.py b/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/structdb.py new file mode 100644 index 0000000..f690c3f --- /dev/null +++ b/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/structdb.py @@ -0,0 +1,181 @@ +import json +from abc import ABC, abstractmethod +from typing import Callable, Dict, List, Union + +import yaml +from typing_extensions import Self + +from .base.typings import NT, VT +from .res import DirectoryNotFoundError, rDir, rFile, rPath + + +class DataStructBase(ABC): + def readkv(self,file:rFile,key:NT) -> VT: + return self.readdict(file)[str(key)] + + def readdict(self,file:rFile) -> Dict[NT,VT]: + return self._todict(file.text) + + def writekv(self,file:rFile,key:NT,value:VT) -> Self: + return self.writedict(file,{key:value}) + + def writedict(self,file:rFile,data:Dict[NT,VT]) -> Self: + file.write(self._tostring(self.__updatedict(self.readdict(file),data))) + return self + + def popkv(self,file:rFile,key:NT) -> Self: + data=self.readdict(file) + data.pop(key) + return self.writedict(file,data) + + def fastwrite(self,file:rFile,func:Callable[[Dict[NT,VT]],Dict[NT,VT]]) -> Self: + return self.writedict(file,func(self.readdict(file))) + + def __updatedict(self,data:Dict[NT,VT],addons:Dict[NT,VT]): + data.update(addons) + return data + + @abstractmethod + def _initdata(self) -> str: + ... + + @abstractmethod + def _todict(self,data:str) -> dict: + ... + + @abstractmethod + def _tostring(self,data:Dict[NT,VT]) -> str: + ... + +class JsonStruct(DataStructBase): + def _initdata(self) -> str: + return "{}" + def _todict(self, data: str) -> dict: + return json.loads(data) + def _tostring(self, data: Dict[NT, VT]) -> str: + return json.dumps(data,indent=4) + +class YamlStruct(DataStructBase): + def _initdata(self) -> str: + return "{}" + def _todict(self, data: str) -> dict: + return yaml.load(data,Loader=yaml.Loader) + def _tostring(self, data: Dict[NT, VT]) -> str: + return yaml.dump(data,Dumper=yaml.Dumper) + +class DataBase: + def __init__(self,root:Union[rPath,rDir],struct:DataStructBase,auto_create:bool=True) -> None: + self.root=root if isinstance(root,rPath) else rPath(root) + try: + if issubclass(struct,DataStructBase): + self.struct=struct if isinstance(struct,DataStructBase) else struct() + else: + self.struct=struct + except: + self.struct=struct + self.auto_create=auto_create + self.root.to_dictory().makedirs() + + def getf(self,name:str) -> rFile: + if self.auto_create: + return self.cget_file(name) + else: + return self.get_file(name) + + def getc(self,name:str) -> "DataBase": + if self.auto_create: + return self.cget_cate(name) + else: + return self.get_cate(name) + + def get_file(self,name:str) -> rFile: + rf=rFile(self.root,name) + if rf.check(): + return rf + else: + raise FileNotFoundError("%s does't exist"%rf) + + + + def get_cate(self,name:str) -> "DataBase": + rf=rDir(self.root,name) + if rf.check(): + return DataBase(rf,self.struct,self.auto_create) + else: + raise DirectoryNotFoundError("%s does't exist"%rf) + + def cget_file(self,name:str) -> rFile: + rf=rFile(self.root,name) + return rf if rf.check() else self.createfile(name) + + def cget_cate(self,name:str) -> "DataBase": + rf=rDir(self.root,name) + return DataBase(rf,self.struct,self.auto_create) if rf.check() else self.createcate(name) + + def createcate(self,name:str) -> "DataBase": + return DataBase(rPath(self.root,name).to_dictory().makedirs(),self.struct,self.auto_create) + + def createfile(self,name:str) -> rFile: + return rFile(self.root,name).write(self.struct._initdata()) + + def get_all(self) -> List[Union["DataBase",rFile]]: + return [rp.to_file() if rp.to_file().check() else DataBase(rp,self.struct,self.auto_create) for rp in self.root.glob("*")] + + def get_dbsf(self,name:str) -> "DBSubFile": + return DBSubFile(self.getf(name),self) + + #struct + def readkv(self,name:str,key:NT) -> VT: + return self.struct.readkv(self.getf(name),key) + + def readdict(self,name:str) -> Dict[NT,VT]: + return self.struct.readdict(self.getf(name)) + + def writekv(self,name:str,key:NT,value:VT) -> Self: + return self.struct.writekv(self.getf(name),key,value) + + def writedict(self,name:str,data:Dict[NT,VT]) -> Self: + self.struct.writedict(self.getf(name),data) + return self + + def popkv(self,name:str,key:NT) -> Self: + self.struct.popkv(self.getf(name),key) + return self + + def fastwrite(self,name:str,func:Callable[[Dict[NT,VT]],Dict[NT,VT]]) -> Self: + self.struct.fastwrite(self.getf(name),func) + return self + + #magic + def __str__(self) -> str: + return self.root.to_string() + + def __repr__(self) -> str: + return "DataBase('%s')" % self.root + +class DBSubFile: + def __init__(self,file:rFile,db:DataBase) -> None: + self.db=db + self.file=file + + def writekv(self,key:NT,value:VT) -> Self: + self.db.writekv(self.file.name,key,value) + return self + + def writedict(self,data:Dict[NT,VT]) -> Self: + self.db.writedict(self.file.name,data) + return self + + def popkv(self,key:NT) -> Self: + self.db.popkv(self.file.name,key) + return self + + def fastwrite(self,func:Callable[[Dict[NT,VT]],Dict[NT,VT]]) -> Self: + self.db.fastwrite(self.file.name,func) + return self + + def readkv(self,key:NT) -> VT: + return self.db.readkv(self.file.name,key) + + def readdict(self) -> Dict[NT,VT]: + return self.db.readdict(self.file.name) diff --git a/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/utils/__init__.py b/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/utils/__init__.py new file mode 100644 index 0000000..e29006f --- /dev/null +++ b/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/utils/__init__.py @@ -0,0 +1,12 @@ +from . import cli, misc, thread + +__all__=[ + "misc", + "cli", + "thread", +] + +try: + from . import pixiv + __all__.append("pixiv") +except:pass \ No newline at end of file diff --git a/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/utils/cli/__init__.py b/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/utils/cli/__init__.py new file mode 100644 index 0000000..a998c75 --- /dev/null +++ b/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/utils/cli/__init__.py @@ -0,0 +1,31 @@ +try: + import noneprompt + from noneprompt import prompts, utils + from prompt_toolkit.styles import Style + + from . import prompts_extension + + + default_style = Style.from_dict( + { + "questionmark": "fg:#673AB7 bold", + "question": "", + "sign": "", + "unsign": "", + "selected": "", + "pointer": "bold", + "annotation": "", + "answer": "bold", + } + ) + + __all__ = [ + noneprompt, + prompts, + prompts_extension, + utils, + "default_style", + ] + +except: + __all__ = [] diff --git a/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/utils/cli/prompts_extension/__init__.py b/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/utils/cli/prompts_extension/__init__.py new file mode 100644 index 0000000..1eb1be3 --- /dev/null +++ b/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/utils/cli/prompts_extension/__init__.py @@ -0,0 +1,3 @@ +from . import router + +__all__ = ["router"] diff --git a/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/utils/cli/prompts_extension/router.py b/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/utils/cli/prompts_extension/router.py new file mode 100644 index 0000000..1d6bd60 --- /dev/null +++ b/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/utils/cli/prompts_extension/router.py @@ -0,0 +1,2 @@ +class GlobalRouter:... +#TODO \ No newline at end of file diff --git a/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/utils/misc.py b/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/utils/misc.py new file mode 100644 index 0000000..c9d5fb0 --- /dev/null +++ b/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/utils/misc.py @@ -0,0 +1,13 @@ +from inspect import getframeinfo, stack + + +def Deprecated(func): + ''' + A deprecated decorator , love from java + ''' + def inner(*args,**kwargs): + caller = getframeinfo(stack()[1][0]) + print("WARNING:Somewhere are useing a deprecated api File \"%s\", line %s, in %s"%(caller.filename,caller.lineno,caller.function)) + result=func(*args,**kwargs) + return result + return inner \ No newline at end of file diff --git a/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/utils/pixiv.py b/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/utils/pixiv.py new file mode 100644 index 0000000..eb74d58 --- /dev/null +++ b/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/utils/pixiv.py @@ -0,0 +1,207 @@ +def buildheader(token): + return { + 'App-OS': 'ios', + 'App-OS-Version': '12.2', + 'App-Version': '7.6.2', + 'User-Agent': 'PixivIOSApp/7.6.2 (iOS 12.2; iPhone9,1)', + 'Authorization': 'Bearer %s' % token + } + + +async def getAuth(refresh_token:str=None): + import pixivpy_async + async with pixivpy_async.PixivClient(bypass=True) as clt: + api=pixivpy_async.AppPixivAPI(client=clt) + if refresh_token: + auth=await api.login(refresh_token=refresh_token) + else: + auth=await api.login_web() + return auth + +def getHeader(auth:dict): + ''' + use getAuth before it + ''' + return buildheader(auth["access_token"]) + + +import asyncio +import json +import re +import socket +from typing import Any, Dict, List + +import aiohttp +from aiohttp import ClientTimeout +from aiohttp.abc import AbstractResolver + +''' +come from pixiv_async + +https://pypi.org/project/PixivPy-Async/ + +LICENSE: https://github.com/Mikubill/pixivpy-async/blob/master/LICENSE UNLICENSE +''' +class ByPassResolver(AbstractResolver): + + def __init__(self, endpoints=None, force_hosts=True): + self.endpoints = [ + "https://1.0.0.1/dns-query", + "https://1.1.1.1/dns-query", + "https://[2606:4700:4700::1001]/dns-query", + "https://[2606:4700:4700::1111]/dns-query", + "https://cloudflare-dns.com/dns-query", + ] if endpoints is None else endpoints + self.force_hosts = force_hosts + + async def resolve(self, host: str, port, family=socket.AF_INET) -> List[Dict[str, Any]]: + + new_host = host + if self.force_hosts and host in ["app-api.pixiv.net", "public-api.secure.pixiv.net", "www.pixiv.net", "oauth.secure.pixiv.net"]: + new_host = "www.pixivision.net" + + done, pending = await asyncio.wait([asyncio.create_task( + self._resolve(endpoint, new_host, family)) + for endpoint in self.endpoints], return_when=asyncio.FIRST_COMPLETED) + + ips = await self.read_result(done.union(pending)) + for future in pending: + future.cancel() + + if len(ips) == 0: + raise Exception("Failed to resolve {}".format(host)) + + result = [] + for i in ips: + result.append({ + "hostname": "", + "host": i, + "port": port, + "family": family, + "proto": 0, + "flags": socket.AI_NUMERICHOST, + }) + return result + + async def read_result(self, tasks: List[asyncio.Task]) -> List[str]: + if len(tasks) == 0: + return [] + task = tasks.pop() + + try: + await task + return task.result() + except Exception as e: + #print("caught:", repr(e)) + return await self.read_result(tasks) + + async def close(self) -> None: + pass + + async def parse_result(self, hostname, response) -> List[str]: + data = json.loads(response) + if data['Status'] != 0: + pass + #raise Exception("Failed to resolve {}".format(hostname)) + + # Pattern to match IPv4 addresses + pattern = re.compile( + r"((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.){3}(1\d\d|2[0-4]\d|25[0-5]|[1-9]\d|\d)") + result = [] + + for i in data["Answer"]: + ip = i["data"] + + if pattern.match(ip) is not None: + result.append(ip) + + return result + + async def _resolve(self, endpoint, hostname, family, timeout=5) -> List[str]: + + params = { + "name": hostname, + "type": "AAAA" if family == socket.AF_INET6 else "A", + "do": "false", + "cd": "false", + } + try: + async with aiohttp.ClientSession() as session: + async with session.get(endpoint, params=params, headers={"accept": "application/dns-json"}, timeout=ClientTimeout(total=timeout)) as resp: + if resp.status == 200: + return await self.parse_result(hostname, await resp.text()) + else: + pass + #raise Exception("Failed to resolve {} with {}: HTTP Status {}".format( + # hostname, endpoint, resp.status)) + except: + pass + +class PixivClient: + def __init__(self, limit=30, timeout=10, env=False, internal=False, proxy=None, bypass=False): + """ + When 'env' is True and 'proxy' is None, possible proxies will be + obtained automatically (wrong proxy may be obtained). + + When 'proxy' is not None, it will force the proxy to be used and + 'env' will have no effect. + + proxy is used for a single proxy with a url: + 'socks5://user:password@127.0.0.1:1080' + + If you want to use proxy chaining, read https://github.com/romis2012/aiohttp-socks. + + """ + + kwargs = {'limit_per_host': limit} + + if bypass: + import ssl + + ssl_ctx = ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT) + ssl_ctx.check_hostname = False + ssl_ctx.verify_mode = ssl.CERT_NONE + + kwargs.update({'ssl': ssl_ctx, 'resolver': ByPassResolver()}) + + if proxy: + try: + from aiohttp_socks import ProxyConnector + self.conn = ProxyConnector.from_url(proxy, **kwargs) + _flag = False + except ModuleNotFoundError as e: + if proxy.startswith('socks'): + raise e + else: + self.conn = aiohttp.TCPConnector(**kwargs) + _flag = True + else: + self.conn = aiohttp.TCPConnector(**kwargs) + + self.internal = internal + + self.client = aiohttp.ClientSession( + connector=self.conn, + timeout=aiohttp.ClientTimeout(total=timeout), + trust_env=env, + ) + + if proxy and _flag: + from functools import partial + self.client.head = partial(self.client.head, proxy=proxy) + self.client.get = partial(self.client.get, proxy=proxy) + self.client.post = partial(self.client.post, proxy=proxy) + + def start(self): + return self.client + + async def close(self): + await asyncio.sleep(0) + await self.client.close() + + async def __aenter__(self): + return self.client + + async def __aexit__(self, exc_type, exc, tb): + await asyncio.sleep(0) + await self.client.close() \ No newline at end of file diff --git a/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/utils/thread/Timeout.py b/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/utils/thread/Timeout.py new file mode 100644 index 0000000..8dc7baa --- /dev/null +++ b/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/utils/thread/Timeout.py @@ -0,0 +1,94 @@ +"""timeout""" + +import functools +import sys + + +def timeout(sec, raise_sec=1): + """ + timeout decorator + :param sec: function raise TimeoutError after ? seconds + :param raise_sec: retry kill thread per ? seconds + default: 1 second + :example: + >>> @timeout(3) + >>> def my_func(): + >>> ... + """ + def decorator(func): + @functools.wraps(func) + def wrapped_func(*args, **kwargs): + err_msg = f'Function {func.__name__} timed out after {sec} seconds' + + if sys.platform != 'win32': + ''' + 非Windows系统,一般对signal都有全面的支持。 + 为了实现Timeout功能,可以通过以下几步: + 1. 选用SIGALRM信号来代表Timeout事件; + 2. 将抛出超时异常的事件与SIGALRM信号的触发绑定; + 3. 设定在给定时间后触发SIGALRM信号; + 4. 运行目标函数(如超时,会自动被信号绑定的异常事件打断)。 + ''' + import signal + + def _handle_timeout(signum, frame): + raise TimeoutError(err_msg) + + signal.signal(signal.SIGALRM, _handle_timeout) + signal.alarm(sec) + try: + result = func(*args, **kwargs) + finally: + signal.alarm(0) + return result + + else: + ''' + Windows系统对signal的支持很差,因此不能通过上述方法实现。 + 新的实现思路是:开启子线程来运行目标函数,主线程计时,超时后中止子线程。 + + 子线程不能向主线程返回执行结果,但是可以和主线程共享内存。 + 因此,我们创建result和exception两个mutable变量,分别用来存储子线程的运行结果和异常。 + 在子线程结束后,主线程可以直接通过这两个变量获取线程执行结果并顺利返回。 + + 子线程运行中所有的异常,均要保留到子线程结束后,在主线程中处理。 + 如果直接在子线程中抛出异常,timeout装饰器的使用者将无法通过try/except捕获并处理该异常。 + 因此,子线程运行的函数完全被try/except包住,通过mutable变量交由主线程处理。 + 如果出现FuncTimeoutError,说明是超时所致,在子线程内不做捕获。 + ''' + class FuncTimeoutError(TimeoutError): + def __init__(self): + TimeoutError.__init__(self, err_msg) + + result, exception = [], [] + + def run_func(): + try: + res = func(*args, **kwargs) + except FuncTimeoutError: + pass + except Exception as e: + exception.append(e) + else: + result.append(res) + + # typically, a python thread cannot be terminated, use TerminableThread instead + from .terminable_thread import TerminableThread + thread = TerminableThread(target=run_func, daemon=True) + thread.start() + thread.join(timeout=sec) + + if thread.is_alive(): + # a timeout thread keeps alive after join method, terminate and raise TimeoutError + exc = type('TimeoutError', FuncTimeoutError.__bases__, dict(FuncTimeoutError.__dict__)) + thread.terminate(exception_cls=FuncTimeoutError, repeat_sec=raise_sec) + raise TimeoutError(err_msg) + elif exception: + # if exception occurs during the thread running, raise it + raise exception[0] + else: + # if the thread successfully finished, return its results + return result[0] + + return wrapped_func + return decorator diff --git a/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/utils/thread/__init__.py b/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/utils/thread/__init__.py new file mode 100644 index 0000000..af6a95d --- /dev/null +++ b/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/utils/thread/__init__.py @@ -0,0 +1,14 @@ +from . import Timeout, terminable_thread +from .Timeout import timeout + +''' +Made by TongyanXu + +Original Project: https://github.com/TongyanXu/python_notes/tree/master/src/threads +''' + +__all__=[ + terminable_thread, + Timeout, + timeout +] \ No newline at end of file diff --git a/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/utils/thread/terminable_thread.py b/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/utils/thread/terminable_thread.py new file mode 100644 index 0000000..fc9fccf --- /dev/null +++ b/script/lunar-cli/Remilia-1.2.2.1/src/Remilia/utils/thread/terminable_thread.py @@ -0,0 +1,32 @@ +"""stoppable_thread""" + +import ctypes +import threading + + +class TerminableThread(threading.Thread): + """a thread that can be stopped by forcing an exception in the execution context""" + + def terminate(self, exception_cls, repeat_sec=2.0): + if self.is_alive() is False: + return True + killer = ThreadKiller(self, exception_cls, repeat_sec=repeat_sec) + killer.start() + + +class ThreadKiller(threading.Thread): + """separate thread to kill TerminableThread""" + + def __init__(self, target_thread, exception_cls, repeat_sec=2.0): + threading.Thread.__init__(self) + self.target_thread = target_thread + self.exception_cls = exception_cls + self.repeat_sec = repeat_sec + self.daemon = True + + def run(self): + """loop raising exception incase it's caught hopefully this breaks us far out""" + while self.target_thread.is_alive(): + ctypes.pythonapi.PyThreadState_SetAsyncExc(ctypes.c_long(self.target_thread.ident), + ctypes.py_object(self.exception_cls)) + self.target_thread.join(self.repeat_sec) \ No newline at end of file diff --git a/script/lunar-cli/Remilia-1.2.2.1/test/testlib.py b/script/lunar-cli/Remilia-1.2.2.1/test/testlib.py new file mode 100644 index 0000000..054f4ca --- /dev/null +++ b/script/lunar-cli/Remilia-1.2.2.1/test/testlib.py @@ -0,0 +1,7 @@ +from Remilia import log + +Logger=log.Logger() + +Logger.info("hello world") + +Logger.logcat.export("latest.log") \ No newline at end of file diff --git a/script/lunar-cli/lunarcli/mixin/MixinPrompt.py b/script/lunar-cli/lunarcli/mixin/MixinPrompt.py index 0a0ad09..4d7e42e 100644 --- a/script/lunar-cli/lunarcli/mixin/MixinPrompt.py +++ b/script/lunar-cli/lunarcli/mixin/MixinPrompt.py @@ -1,14 +1,11 @@ -from Remilia.mixin import Inject, At, Mixin,EnumCOChar +from Remilia.mixin import Inject, At, Mixin, EnumCOChar from Remilia.utils.cli import prompts -from Remilia import log as _ +from Remilia import log as log + @Mixin(prompts.ListPrompt) class MixinListPrompt: - @Inject.withValue( - at=At.END, - method="__init__", - namespace=prompts.list.__dict__ - ) + @Inject.withValue(at=At.END, method="__init__", namespace=prompts.list.__dict__) def oninit(self): self.question_mark = "[@]" @@ -16,14 +13,11 @@ def oninit(self): @Mixin(prompts._base.BasePrompt) class MixinBasePrompt: @Inject.withValue( - at=At.INSERT, - method="prompt", - insertline=-2, - namespace=prompts._base.__dict__ + at=At.INSERT, method="prompt", insertline=-2, namespace=prompts._base.__dict__ ) def onprompt(): #!EnumCOChar.SPACE4;from lunarcli.config.database import get_translation #!EnumCOChar.SPACE4;from lunarcli.screen.promptlog import error #!EnumCOChar.SPACE4;error(get_translation("global.exit")) #!EnumCOChar.SPACE4;exit(0) - EnumCOChar.DELETELINE; \ No newline at end of file + EnumCOChar.DELETELINE; diff --git a/script/lunar-cli/pdm.lock b/script/lunar-cli/pdm.lock index 58db971..798f8c1 100644 --- a/script/lunar-cli/pdm.lock +++ b/script/lunar-cli/pdm.lock @@ -3,102 +3,122 @@ [metadata] groups = ["default"] -cross_platform = true -static_urls = false -lock_version = "4.3" -content_hash = "sha256:5fa0240392ec5ea069afb11eaa5da12c22a63944f8fb15be3fc158b64f95b169" +strategy = ["inherit_metadata"] +lock_version = "4.5.0" +content_hash = "sha256:a5545112e6eb3df05da3a2b1970e0d66e8b1b37b4267a4dd7afb51d4576cc713" + +[[metadata.targets]] +requires_python = ">=3.8" [[package]] name = "annotated-types" -version = "0.5.0" -requires_python = ">=3.7" +version = "0.7.0" +requires_python = ">=3.8" summary = "Reusable constraint types to use with typing.Annotated" +groups = ["default"] dependencies = [ "typing-extensions>=4.0.0; python_version < \"3.9\"", ] files = [ - {file = "annotated_types-0.5.0-py3-none-any.whl", hash = "sha256:58da39888f92c276ad970249761ebea80ba544b77acddaa1a4d6cf78287d45fd"}, - {file = "annotated_types-0.5.0.tar.gz", hash = "sha256:47cdc3490d9ac1506ce92c7aaa76c579dc3509ff11e098fc867e5130ab7be802"}, + {file = "annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53"}, + {file = "annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89"}, ] [[package]] name = "certifi" -version = "2023.7.22" +version = "2024.8.30" requires_python = ">=3.6" summary = "Python package for providing Mozilla's CA Bundle." +groups = ["default"] files = [ - {file = "certifi-2023.7.22-py3-none-any.whl", hash = "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"}, - {file = "certifi-2023.7.22.tar.gz", hash = "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082"}, + {file = "certifi-2024.8.30-py3-none-any.whl", hash = "sha256:922820b53db7a7257ffbda3f597266d435245903d80737e34f8a45ff3e3230d8"}, + {file = "certifi-2024.8.30.tar.gz", hash = "sha256:bec941d2aa8195e248a60b31ff9f0558284cf01a52591ceda73ea9afffd69fd9"}, ] [[package]] name = "charset-normalizer" -version = "3.2.0" +version = "3.3.2" requires_python = ">=3.7.0" summary = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." +groups = ["default"] files = [ - {file = "charset-normalizer-3.2.0.tar.gz", hash = "sha256:3bb3d25a8e6c0aedd251753a79ae98a093c7e7b471faa3aa9a93a81431987ace"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0b87549028f680ca955556e3bd57013ab47474c3124dc069faa0b6545b6c9710"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7c70087bfee18a42b4040bb9ec1ca15a08242cf5867c58726530bdf3945672ed"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a103b3a7069b62f5d4890ae1b8f0597618f628b286b03d4bc9195230b154bfa9"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94aea8eff76ee6d1cdacb07dd2123a68283cb5569e0250feab1240058f53b623"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:db901e2ac34c931d73054d9797383d0f8009991e723dab15109740a63e7f902a"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b0dac0ff919ba34d4df1b6131f59ce95b08b9065233446be7e459f95554c0dc8"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:193cbc708ea3aca45e7221ae58f0fd63f933753a9bfb498a3b474878f12caaad"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:09393e1b2a9461950b1c9a45d5fd251dc7c6f228acab64da1c9c0165d9c7765c"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:baacc6aee0b2ef6f3d308e197b5d7a81c0e70b06beae1f1fcacffdbd124fe0e3"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:bf420121d4c8dce6b889f0e8e4ec0ca34b7f40186203f06a946fa0276ba54029"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:c04a46716adde8d927adb9457bbe39cf473e1e2c2f5d0a16ceb837e5d841ad4f"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:aaf63899c94de41fe3cf934601b0f7ccb6b428c6e4eeb80da72c58eab077b19a"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d62e51710986674142526ab9f78663ca2b0726066ae26b78b22e0f5e571238dd"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-win32.whl", hash = "sha256:04e57ab9fbf9607b77f7d057974694b4f6b142da9ed4a199859d9d4d5c63fe96"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:48021783bdf96e3d6de03a6e39a1171ed5bd7e8bb93fc84cc649d11490f87cea"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:4957669ef390f0e6719db3613ab3a7631e68424604a7b448f079bee145da6e09"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:46fb8c61d794b78ec7134a715a3e564aafc8f6b5e338417cb19fe9f57a5a9bf2"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f779d3ad205f108d14e99bb3859aa7dd8e9c68874617c72354d7ecaec2a054ac"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f25c229a6ba38a35ae6e25ca1264621cc25d4d38dca2942a7fce0b67a4efe918"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2efb1bd13885392adfda4614c33d3b68dee4921fd0ac1d3988f8cbb7d589e72a"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f30b48dd7fa1474554b0b0f3fdfdd4c13b5c737a3c6284d3cdc424ec0ffff3a"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:246de67b99b6851627d945db38147d1b209a899311b1305dd84916f2b88526c6"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9bd9b3b31adcb054116447ea22caa61a285d92e94d710aa5ec97992ff5eb7cf3"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:8c2f5e83493748286002f9369f3e6607c565a6a90425a3a1fef5ae32a36d749d"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:3170c9399da12c9dc66366e9d14da8bf7147e1e9d9ea566067bbce7bb74bd9c2"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7a4826ad2bd6b07ca615c74ab91f32f6c96d08f6fcc3902ceeedaec8cdc3bcd6"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:3b1613dd5aee995ec6d4c69f00378bbd07614702a315a2cf6c1d21461fe17c23"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9e608aafdb55eb9f255034709e20d5a83b6d60c054df0802fa9c9883d0a937aa"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-win32.whl", hash = "sha256:f2a1d0fd4242bd8643ce6f98927cf9c04540af6efa92323e9d3124f57727bfc1"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:681eb3d7e02e3c3655d1b16059fbfb605ac464c834a0c629048a30fad2b27489"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:95eb302ff792e12aba9a8b8f8474ab229a83c103d74a750ec0bd1c1eea32e669"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1a100c6d595a7f316f1b6f01d20815d916e75ff98c27a01ae817439ea7726329"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6339d047dab2780cc6220f46306628e04d9750f02f983ddb37439ca47ced7149"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e4b749b9cc6ee664a3300bb3a273c1ca8068c46be705b6c31cf5d276f8628a94"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a38856a971c602f98472050165cea2cdc97709240373041b69030be15047691f"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f87f746ee241d30d6ed93969de31e5ffd09a2961a051e60ae6bddde9ec3583aa"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89f1b185a01fe560bc8ae5f619e924407efca2191b56ce749ec84982fc59a32a"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e1c8a2f4c69e08e89632defbfabec2feb8a8d99edc9f89ce33c4b9e36ab63037"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2f4ac36d8e2b4cc1aa71df3dd84ff8efbe3bfb97ac41242fbcfc053c67434f46"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a386ebe437176aab38c041de1260cd3ea459c6ce5263594399880bbc398225b2"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:ccd16eb18a849fd8dcb23e23380e2f0a354e8daa0c984b8a732d9cfaba3a776d"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:e6a5bf2cba5ae1bb80b154ed68a3cfa2fa00fde979a7f50d6598d3e17d9ac20c"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:45de3f87179c1823e6d9e32156fb14c1927fcc9aba21433f088fdfb555b77c10"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-win32.whl", hash = "sha256:1000fba1057b92a65daec275aec30586c3de2401ccdcd41f8a5c1e2c87078706"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:8b2c760cfc7042b27ebdb4a43a4453bd829a5742503599144d54a032c5dc7e9e"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:855eafa5d5a2034b4621c74925d89c5efef61418570e5ef9b37717d9c796419c"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:203f0c8871d5a7987be20c72442488a0b8cfd0f43b7973771640fc593f56321f"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e857a2232ba53ae940d3456f7533ce6ca98b81917d47adc3c7fd55dad8fab858"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5e86d77b090dbddbe78867a0275cb4df08ea195e660f1f7f13435a4649e954e5"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c4fb39a81950ec280984b3a44f5bd12819953dc5fa3a7e6fa7a80db5ee853952"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2dee8e57f052ef5353cf608e0b4c871aee320dd1b87d351c28764fc0ca55f9f4"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8700f06d0ce6f128de3ccdbc1acaea1ee264d2caa9ca05daaf492fde7c2a7200"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1920d4ff15ce893210c1f0c0e9d19bfbecb7983c76b33f046c13a8ffbd570252"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c1c76a1743432b4b60ab3358c937a3fe1341c828ae6194108a94c69028247f22"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f7560358a6811e52e9c4d142d497f1a6e10103d3a6881f18d04dbce3729c0e2c"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:c8063cf17b19661471ecbdb3df1c84f24ad2e389e326ccaf89e3fb2484d8dd7e"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:cd6dbe0238f7743d0efe563ab46294f54f9bc8f4b9bcf57c3c666cc5bc9d1299"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:1249cbbf3d3b04902ff081ffbb33ce3377fa6e4c7356f759f3cd076cc138d020"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-win32.whl", hash = "sha256:6c409c0deba34f147f77efaa67b8e4bb83d2f11c8806405f76397ae5b8c0d1c9"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:7095f6fbfaa55defb6b733cfeb14efaae7a29f0b59d8cf213be4e7ca0b857b80"}, - {file = "charset_normalizer-3.2.0-py3-none-any.whl", hash = "sha256:8e098148dd37b4ce3baca71fb394c81dc5d9c7728c95df695d2dca218edf40e6"}, + {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win32.whl", hash = "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win32.whl", hash = "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"}, + {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, ] [[package]] @@ -106,6 +126,7 @@ name = "colorama" version = "0.4.6" requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" summary = "Cross-platform colored terminal text." +groups = ["default"] files = [ {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, @@ -113,12 +134,13 @@ files = [ [[package]] name = "idna" -version = "3.4" -requires_python = ">=3.5" +version = "3.10" +requires_python = ">=3.6" summary = "Internationalized Domain Names in Applications (IDNA)" +groups = ["default"] files = [ - {file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"}, - {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"}, + {file = "idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3"}, + {file = "idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9"}, ] [[package]] @@ -126,6 +148,7 @@ name = "noneprompt" version = "0.1.9" requires_python = ">=3.8,<4.0" summary = "Prompt toolkit for console interaction" +groups = ["default"] dependencies = [ "prompt-toolkit<4.0.0,>=3.0.19", ] @@ -136,204 +159,231 @@ files = [ [[package]] name = "prompt-toolkit" -version = "3.0.39" +version = "3.0.47" requires_python = ">=3.7.0" summary = "Library for building powerful interactive command lines in Python" +groups = ["default"] dependencies = [ "wcwidth", ] files = [ - {file = "prompt_toolkit-3.0.39-py3-none-any.whl", hash = "sha256:9dffbe1d8acf91e3de75f3b544e4842382fc06c6babe903ac9acb74dc6e08d88"}, - {file = "prompt_toolkit-3.0.39.tar.gz", hash = "sha256:04505ade687dc26dc4284b1ad19a83be2f2afe83e7a828ace0c72f3a1df72aac"}, + {file = "prompt_toolkit-3.0.47-py3-none-any.whl", hash = "sha256:0d7bfa67001d5e39d02c224b663abc33687405033a8c422d0d675a5a13361d10"}, + {file = "prompt_toolkit-3.0.47.tar.gz", hash = "sha256:1e1b29cb58080b1e69f207c893a1a7bf16d127a5c30c9d17a25a5d77792e5360"}, ] [[package]] name = "pydantic" -version = "2.1.1" -requires_python = ">=3.7" +version = "2.9.1" +requires_python = ">=3.8" summary = "Data validation using Python type hints" +groups = ["default"] dependencies = [ - "annotated-types>=0.4.0", - "pydantic-core==2.4.0", - "typing-extensions>=4.6.1", + "annotated-types>=0.6.0", + "pydantic-core==2.23.3", + "typing-extensions>=4.12.2; python_version >= \"3.13\"", + "typing-extensions>=4.6.1; python_version < \"3.13\"", ] files = [ - {file = "pydantic-2.1.1-py3-none-any.whl", hash = "sha256:43bdbf359d6304c57afda15c2b95797295b702948082d4c23851ce752f21da70"}, - {file = "pydantic-2.1.1.tar.gz", hash = "sha256:22d63db5ce4831afd16e7c58b3192d3faf8f79154980d9397d9867254310ba4b"}, + {file = "pydantic-2.9.1-py3-none-any.whl", hash = "sha256:7aff4db5fdf3cf573d4b3c30926a510a10e19a0774d38fc4967f78beb6deb612"}, + {file = "pydantic-2.9.1.tar.gz", hash = "sha256:1363c7d975c7036df0db2b4a61f2e062fbc0aa5ab5f2772e0ffc7191a4f4bce2"}, ] [[package]] name = "pydantic-core" -version = "2.4.0" -requires_python = ">=3.7" -summary = "" +version = "2.23.3" +requires_python = ">=3.8" +summary = "Core functionality for Pydantic validation and serialization" +groups = ["default"] dependencies = [ "typing-extensions!=4.7.0,>=4.6.0", ] files = [ - {file = "pydantic_core-2.4.0-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:2ca4687dd996bde7f3c420def450797feeb20dcee2b9687023e3323c73fc14a2"}, - {file = "pydantic_core-2.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:782fced7d61469fd1231b184a80e4f2fa7ad54cd7173834651a453f96f29d673"}, - {file = "pydantic_core-2.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6213b471b68146af97b8551294e59e7392c2117e28ffad9c557c65087f4baee3"}, - {file = "pydantic_core-2.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:63797499a219d8e81eb4e0c42222d0a4c8ec896f5c76751d4258af95de41fdf1"}, - {file = "pydantic_core-2.4.0-cp310-cp310-manylinux_2_24_armv7l.whl", hash = "sha256:0455876d575a35defc4da7e0a199596d6c773e20d3d42fa1fc29f6aa640369ed"}, - {file = "pydantic_core-2.4.0-cp310-cp310-manylinux_2_24_ppc64le.whl", hash = "sha256:8c938c96294d983dcf419b54dba2d21056959c22911d41788efbf949a29ae30d"}, - {file = "pydantic_core-2.4.0-cp310-cp310-manylinux_2_24_s390x.whl", hash = "sha256:878a5017d93e776c379af4e7b20f173c82594d94fa073059bcc546789ad50bf8"}, - {file = "pydantic_core-2.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:69159afc2f2dc43285725f16143bc5df3c853bc1cb7df6021fce7ef1c69e8171"}, - {file = "pydantic_core-2.4.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:54df7df399b777c1fd144f541c95d351b3aa110535a6810a6a569905d106b6f3"}, - {file = "pydantic_core-2.4.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:e412607ca89a0ced10758dfb8f9adcc365ce4c1c377e637c01989a75e9a9ec8a"}, - {file = "pydantic_core-2.4.0-cp310-none-win32.whl", hash = "sha256:853f103e2b9a58832fdd08a587a51de8b552ae90e1a5d167f316b7eabf8d7dde"}, - {file = "pydantic_core-2.4.0-cp310-none-win_amd64.whl", hash = "sha256:3ba2c9c94a9176f6321a879c8b864d7c5b12d34f549a4c216c72ce213d7d953c"}, - {file = "pydantic_core-2.4.0-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:a8b7acd04896e8f161e1500dc5f218017db05c1d322f054e89cbd089ce5d0071"}, - {file = "pydantic_core-2.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:16468bd074fa4567592d3255bf25528ed41e6b616d69bf07096bdb5b66f947d1"}, - {file = "pydantic_core-2.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cba5ad5eef02c86a1f3da00544cbc59a510d596b27566479a7cd4d91c6187a11"}, - {file = "pydantic_core-2.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b7206e41e04b443016e930e01685bab7a308113c0b251b3f906942c8d4b48fcb"}, - {file = "pydantic_core-2.4.0-cp311-cp311-manylinux_2_24_armv7l.whl", hash = "sha256:c1375025f0bfc9155286ebae8eecc65e33e494c90025cda69e247c3ccd2bab00"}, - {file = "pydantic_core-2.4.0-cp311-cp311-manylinux_2_24_ppc64le.whl", hash = "sha256:3534118289e33130ed3f1cc487002e8d09b9f359be48b02e9cd3de58ce58fba9"}, - {file = "pydantic_core-2.4.0-cp311-cp311-manylinux_2_24_s390x.whl", hash = "sha256:94d2b36a74623caab262bf95f0e365c2c058396082bd9d6a9e825657d0c1e7fa"}, - {file = "pydantic_core-2.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:af24ad4fbaa5e4a2000beae0c3b7fd1c78d7819ab90f9370a1cfd8998e3f8a3c"}, - {file = "pydantic_core-2.4.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:bf10963d8aed8bbe0165b41797c9463d4c5c8788ae6a77c68427569be6bead41"}, - {file = "pydantic_core-2.4.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:68199ada7c310ddb8c76efbb606a0de656b40899388a7498954f423e03fc38be"}, - {file = "pydantic_core-2.4.0-cp311-none-win32.whl", hash = "sha256:6f855bcc96ed3dd56da7373cfcc9dcbabbc2073cac7f65c185772d08884790ce"}, - {file = "pydantic_core-2.4.0-cp311-none-win_amd64.whl", hash = "sha256:de39eb3bab93a99ddda1ac1b9aa331b944d8bcc4aa9141148f7fd8ee0299dafc"}, - {file = "pydantic_core-2.4.0-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:f773b39780323a0499b53ebd91a28ad11cde6705605d98d999dfa08624caf064"}, - {file = "pydantic_core-2.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a297c0d6c61963c5c3726840677b798ca5b7dfc71bc9c02b9a4af11d23236008"}, - {file = "pydantic_core-2.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:546064c55264156b973b5e65e5fafbe5e62390902ce3cf6b4005765505e8ff56"}, - {file = "pydantic_core-2.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:36ba9e728588588f0196deaf6751b9222492331b5552f865a8ff120869d372e0"}, - {file = "pydantic_core-2.4.0-cp312-cp312-manylinux_2_24_armv7l.whl", hash = "sha256:57a53a75010c635b3ad6499e7721eaa3b450e03f6862afe2dbef9c8f66e46ec8"}, - {file = "pydantic_core-2.4.0-cp312-cp312-manylinux_2_24_ppc64le.whl", hash = "sha256:4b262bbc13022f2097c48a21adcc360a81d83dc1d854c11b94953cd46d7d3c07"}, - {file = "pydantic_core-2.4.0-cp312-cp312-manylinux_2_24_s390x.whl", hash = "sha256:01947ad728f426fa07fcb26457ebf90ce29320259938414bc0edd1476e75addb"}, - {file = "pydantic_core-2.4.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b2799c2eaf182769889761d4fb4d78b82bc47dae833799fedbf69fc7de306faa"}, - {file = "pydantic_core-2.4.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:a08fd490ba36d1fbb2cd5dcdcfb9f3892deb93bd53456724389135712b5fc735"}, - {file = "pydantic_core-2.4.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:1e8a7c62d15a5c4b307271e4252d76ebb981d6251c6ecea4daf203ef0179ea4f"}, - {file = "pydantic_core-2.4.0-cp312-none-win32.whl", hash = "sha256:9206c14a67c38de7b916e486ae280017cf394fa4b1aa95cfe88621a4e1d79725"}, - {file = "pydantic_core-2.4.0-cp312-none-win_amd64.whl", hash = "sha256:884235507549a6b2d3c4113fb1877ae263109e787d9e0eb25c35982ab28d0399"}, - {file = "pydantic_core-2.4.0-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:12ef6838245569fd60a179fade81ca4b90ae2fa0ef355d616f519f7bb27582db"}, - {file = "pydantic_core-2.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:49db206eb8fdc4b4f30e6e3e410584146d813c151928f94ec0db06c4f2595538"}, - {file = "pydantic_core-2.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a507d7fa44688bbac76af6521e488b3da93de155b9cba6f2c9b7833ce243d59"}, - {file = "pydantic_core-2.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ffe18407a4d000c568182ce5388bbbedeb099896904e43fc14eee76cfae6dec5"}, - {file = "pydantic_core-2.4.0-cp38-cp38-manylinux_2_24_armv7l.whl", hash = "sha256:fa8e48001b39d54d97d7b380a0669fa99fc0feeb972e35a2d677ba59164a9a22"}, - {file = "pydantic_core-2.4.0-cp38-cp38-manylinux_2_24_ppc64le.whl", hash = "sha256:394f12a2671ff8c4dfa2e85be6c08be0651ad85bc1e6aa9c77c21671baaf28cd"}, - {file = "pydantic_core-2.4.0-cp38-cp38-manylinux_2_24_s390x.whl", hash = "sha256:2f9ea0355f90db2a76af530245fa42f04d98f752a1236ed7c6809ec484560d5b"}, - {file = "pydantic_core-2.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:61d4e713f467abcdd59b47665d488bb898ad3dd47ce7446522a50e0cbd8e8279"}, - {file = "pydantic_core-2.4.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:453862ab268f6326b01f067ed89cb3a527d34dc46f6f4eeec46a15bbc706d0da"}, - {file = "pydantic_core-2.4.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:56a85fa0dab1567bd0cac10f0c3837b03e8a0d939e6a8061a3a420acd97e9421"}, - {file = "pydantic_core-2.4.0-cp38-none-win32.whl", hash = "sha256:0d726108c1c0380b88b6dd4db559f0280e0ceda9e077f46ff90bc85cd4d03e77"}, - {file = "pydantic_core-2.4.0-cp38-none-win_amd64.whl", hash = "sha256:047580388644c473b934d27849f8ed8dbe45df0adb72104e78b543e13bf69762"}, - {file = "pydantic_core-2.4.0-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:867d3eea954bea807cabba83cfc939c889a18576d66d197c60025b15269d7cc0"}, - {file = "pydantic_core-2.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:664402ef0c238a7f8a46efb101789d5f2275600fb18114446efec83cfadb5b66"}, - {file = "pydantic_core-2.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:64e8012ad60a5f0da09ed48725e6e923d1be25f2f091a640af6079f874663813"}, - {file = "pydantic_core-2.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac2b680de398f293b68183317432b3d67ab3faeba216aec18de0c395cb5e3060"}, - {file = "pydantic_core-2.4.0-cp39-cp39-manylinux_2_24_armv7l.whl", hash = "sha256:8efc1be43b036c2b6bcfb1451df24ee0ddcf69c31351003daf2699ed93f5687b"}, - {file = "pydantic_core-2.4.0-cp39-cp39-manylinux_2_24_ppc64le.whl", hash = "sha256:d93aedbc4614cc21b9ab0d0c4ccd7143354c1f7cffbbe96ae5216ad21d1b21b5"}, - {file = "pydantic_core-2.4.0-cp39-cp39-manylinux_2_24_s390x.whl", hash = "sha256:af788b64e13d52fc3600a68b16d31fa8d8573e3ff2fc9a38f8a60b8d94d1f012"}, - {file = "pydantic_core-2.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:97c6349c81cee2e69ef59eba6e6c08c5936e6b01c2d50b9e4ac152217845ae09"}, - {file = "pydantic_core-2.4.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:cc086ddb6dc654a15deeed1d1f2bcb1cb924ebd70df9dca738af19f64229b06c"}, - {file = "pydantic_core-2.4.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:e953353180bec330c3b830891d260b6f8e576e2d18db3c78d314e56bb2276066"}, - {file = "pydantic_core-2.4.0-cp39-none-win32.whl", hash = "sha256:6feb4b64d11d5420e517910d60a907d08d846cacaf4e029668725cd21d16743c"}, - {file = "pydantic_core-2.4.0-cp39-none-win_amd64.whl", hash = "sha256:153a61ac4030fa019b70b31fb7986461119230d3ba0ab661c757cfea652f4332"}, - {file = "pydantic_core-2.4.0-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:3fcf529382b282a30b466bd7af05be28e22aa620e016135ac414f14e1ee6b9e1"}, - {file = "pydantic_core-2.4.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2edef05b63d82568b877002dc4cb5cc18f8929b59077120192df1e03e0c633f8"}, - {file = "pydantic_core-2.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da055a1b0bfa8041bb2ff586b2cb0353ed03944a3472186a02cc44a557a0e661"}, - {file = "pydantic_core-2.4.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:77dadc764cf7c5405e04866181c5bd94a447372a9763e473abb63d1dfe9b7387"}, - {file = "pydantic_core-2.4.0-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:a4ea23b07f29487a7bef2a869f68c7ee0e05424d81375ce3d3de829314c6b5ec"}, - {file = "pydantic_core-2.4.0-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:382f0baa044d674ad59455a5eff83d7965572b745cc72df35c52c2ce8c731d37"}, - {file = "pydantic_core-2.4.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:08f89697625e453421401c7f661b9d1eb4c9e4c0a12fd256eeb55b06994ac6af"}, - {file = "pydantic_core-2.4.0-pp37-pypy37_pp73-macosx_10_7_x86_64.whl", hash = "sha256:43a405ce520b45941df9ff55d0cd09762017756a7b413bbad3a6e8178e64a2c2"}, - {file = "pydantic_core-2.4.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:584a7a818c84767af16ce8bda5d4f7fedb37d3d231fc89928a192f567e4ef685"}, - {file = "pydantic_core-2.4.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:04922fea7b13cd480586fa106345fe06e43220b8327358873c22d8dfa7a711c7"}, - {file = "pydantic_core-2.4.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:17156abac20a9feed10feec867fddd91a80819a485b0107fe61f09f2117fe5f3"}, - {file = "pydantic_core-2.4.0-pp37-pypy37_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:4e562cc63b04636cde361fd47569162f1daa94c759220ff202a8129902229114"}, - {file = "pydantic_core-2.4.0-pp37-pypy37_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:90f3785146f701e053bb6b9e8f53acce2c919aca91df88bd4975be0cb926eb41"}, - {file = "pydantic_core-2.4.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:e40b1e97edd3dc127aa53d8a5e539a3d0c227d71574d3f9ac1af02d58218a122"}, - {file = "pydantic_core-2.4.0-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:b27f3e67f6e031f6620655741b7d0d6bebea8b25d415924b3e8bfef2dd7bd841"}, - {file = "pydantic_core-2.4.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:be86c2eb12fb0f846262ace9d8f032dc6978b8cb26a058920ecb723dbcb87d05"}, - {file = "pydantic_core-2.4.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4665f7ed345012a8d2eddf4203ef145f5f56a291d010382d235b94e91813f88a"}, - {file = "pydantic_core-2.4.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:79262be5a292d1df060f29b9a7cdd66934801f987a817632d7552534a172709a"}, - {file = "pydantic_core-2.4.0-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:5fd905a69ac74eaba5041e21a1e8b1a479dab2b41c93bdcc4c1cede3c12a8d86"}, - {file = "pydantic_core-2.4.0-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:2ad538b7e07343001934417cdc8584623b4d8823c5b8b258e75ec8d327cec969"}, - {file = "pydantic_core-2.4.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:dd2429f7635ad4857b5881503f9c310be7761dc681c467a9d27787b674d1250a"}, - {file = "pydantic_core-2.4.0-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:efff8b6761a1f6e45cebd1b7a6406eb2723d2d5710ff0d1b624fe11313693989"}, - {file = "pydantic_core-2.4.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32a1e0352558cd7ccc014ffe818c7d87b15ec6145875e2cc5fa4bb7351a1033d"}, - {file = "pydantic_core-2.4.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a027f41c5008571314861744d83aff75a34cf3a07022e0be32b214a5bc93f7f1"}, - {file = "pydantic_core-2.4.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1927f0e15d190f11f0b8344373731e28fd774c6d676d8a6cfadc95c77214a48b"}, - {file = "pydantic_core-2.4.0-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:7aa82d483d5fb867d4fb10a138ffd57b0f1644e99f2f4f336e48790ada9ada5e"}, - {file = "pydantic_core-2.4.0-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:b85778308bf945e9b33ac604e6793df9b07933108d20bdf53811bc7c2798a4af"}, - {file = "pydantic_core-2.4.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:3ded19dcaefe2f6706d81e0db787b59095f4ad0fbadce1edffdf092294c8a23f"}, - {file = "pydantic_core-2.4.0.tar.gz", hash = "sha256:ec3473c9789cc00c7260d840c3db2c16dbfc816ca70ec87a00cddfa3e1a1cdd5"}, + {file = "pydantic_core-2.23.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:7f10a5d1b9281392f1bf507d16ac720e78285dfd635b05737c3911637601bae6"}, + {file = "pydantic_core-2.23.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3c09a7885dd33ee8c65266e5aa7fb7e2f23d49d8043f089989726391dd7350c5"}, + {file = "pydantic_core-2.23.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6470b5a1ec4d1c2e9afe928c6cb37eb33381cab99292a708b8cb9aa89e62429b"}, + {file = "pydantic_core-2.23.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9172d2088e27d9a185ea0a6c8cebe227a9139fd90295221d7d495944d2367700"}, + {file = "pydantic_core-2.23.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:86fc6c762ca7ac8fbbdff80d61b2c59fb6b7d144aa46e2d54d9e1b7b0e780e01"}, + {file = "pydantic_core-2.23.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f0cb80fd5c2df4898693aa841425ea1727b1b6d2167448253077d2a49003e0ed"}, + {file = "pydantic_core-2.23.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:03667cec5daf43ac4995cefa8aaf58f99de036204a37b889c24a80927b629cec"}, + {file = "pydantic_core-2.23.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:047531242f8e9c2db733599f1c612925de095e93c9cc0e599e96cf536aaf56ba"}, + {file = "pydantic_core-2.23.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:5499798317fff7f25dbef9347f4451b91ac2a4330c6669821c8202fd354c7bee"}, + {file = "pydantic_core-2.23.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:bbb5e45eab7624440516ee3722a3044b83fff4c0372efe183fd6ba678ff681fe"}, + {file = "pydantic_core-2.23.3-cp310-none-win32.whl", hash = "sha256:8b5b3ed73abb147704a6e9f556d8c5cb078f8c095be4588e669d315e0d11893b"}, + {file = "pydantic_core-2.23.3-cp310-none-win_amd64.whl", hash = "sha256:2b603cde285322758a0279995b5796d64b63060bfbe214b50a3ca23b5cee3e83"}, + {file = "pydantic_core-2.23.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:c889fd87e1f1bbeb877c2ee56b63bb297de4636661cc9bbfcf4b34e5e925bc27"}, + {file = "pydantic_core-2.23.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ea85bda3189fb27503af4c45273735bcde3dd31c1ab17d11f37b04877859ef45"}, + {file = "pydantic_core-2.23.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a7f7f72f721223f33d3dc98a791666ebc6a91fa023ce63733709f4894a7dc611"}, + {file = "pydantic_core-2.23.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2b2b55b0448e9da68f56b696f313949cda1039e8ec7b5d294285335b53104b61"}, + {file = "pydantic_core-2.23.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c24574c7e92e2c56379706b9a3f07c1e0c7f2f87a41b6ee86653100c4ce343e5"}, + {file = "pydantic_core-2.23.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f2b05e6ccbee333a8f4b8f4d7c244fdb7a979e90977ad9c51ea31261e2085ce0"}, + {file = "pydantic_core-2.23.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e2c409ce1c219c091e47cb03feb3c4ed8c2b8e004efc940da0166aaee8f9d6c8"}, + {file = "pydantic_core-2.23.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d965e8b325f443ed3196db890d85dfebbb09f7384486a77461347f4adb1fa7f8"}, + {file = "pydantic_core-2.23.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f56af3a420fb1ffaf43ece3ea09c2d27c444e7c40dcb7c6e7cf57aae764f2b48"}, + {file = "pydantic_core-2.23.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5b01a078dd4f9a52494370af21aa52964e0a96d4862ac64ff7cea06e0f12d2c5"}, + {file = "pydantic_core-2.23.3-cp311-none-win32.whl", hash = "sha256:560e32f0df04ac69b3dd818f71339983f6d1f70eb99d4d1f8e9705fb6c34a5c1"}, + {file = "pydantic_core-2.23.3-cp311-none-win_amd64.whl", hash = "sha256:c744fa100fdea0d000d8bcddee95213d2de2e95b9c12be083370b2072333a0fa"}, + {file = "pydantic_core-2.23.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:e0ec50663feedf64d21bad0809f5857bac1ce91deded203efc4a84b31b2e4305"}, + {file = "pydantic_core-2.23.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:db6e6afcb95edbe6b357786684b71008499836e91f2a4a1e55b840955b341dbb"}, + {file = "pydantic_core-2.23.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:98ccd69edcf49f0875d86942f4418a4e83eb3047f20eb897bffa62a5d419c8fa"}, + {file = "pydantic_core-2.23.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a678c1ac5c5ec5685af0133262103defb427114e62eafeda12f1357a12140162"}, + {file = "pydantic_core-2.23.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:01491d8b4d8db9f3391d93b0df60701e644ff0894352947f31fff3e52bd5c801"}, + {file = "pydantic_core-2.23.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fcf31facf2796a2d3b7fe338fe8640aa0166e4e55b4cb108dbfd1058049bf4cb"}, + {file = "pydantic_core-2.23.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7200fd561fb3be06827340da066df4311d0b6b8eb0c2116a110be5245dceb326"}, + {file = "pydantic_core-2.23.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:dc1636770a809dee2bd44dd74b89cc80eb41172bcad8af75dd0bc182c2666d4c"}, + {file = "pydantic_core-2.23.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:67a5def279309f2e23014b608c4150b0c2d323bd7bccd27ff07b001c12c2415c"}, + {file = "pydantic_core-2.23.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:748bdf985014c6dd3e1e4cc3db90f1c3ecc7246ff5a3cd4ddab20c768b2f1dab"}, + {file = "pydantic_core-2.23.3-cp312-none-win32.whl", hash = "sha256:255ec6dcb899c115f1e2a64bc9ebc24cc0e3ab097775755244f77360d1f3c06c"}, + {file = "pydantic_core-2.23.3-cp312-none-win_amd64.whl", hash = "sha256:40b8441be16c1e940abebed83cd006ddb9e3737a279e339dbd6d31578b802f7b"}, + {file = "pydantic_core-2.23.3-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:6daaf5b1ba1369a22c8b050b643250e3e5efc6a78366d323294aee54953a4d5f"}, + {file = "pydantic_core-2.23.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d015e63b985a78a3d4ccffd3bdf22b7c20b3bbd4b8227809b3e8e75bc37f9cb2"}, + {file = "pydantic_core-2.23.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a3fc572d9b5b5cfe13f8e8a6e26271d5d13f80173724b738557a8c7f3a8a3791"}, + {file = "pydantic_core-2.23.3-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f6bd91345b5163ee7448bee201ed7dd601ca24f43f439109b0212e296eb5b423"}, + {file = "pydantic_core-2.23.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fc379c73fd66606628b866f661e8785088afe2adaba78e6bbe80796baf708a63"}, + {file = "pydantic_core-2.23.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fbdce4b47592f9e296e19ac31667daed8753c8367ebb34b9a9bd89dacaa299c9"}, + {file = "pydantic_core-2.23.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc3cf31edf405a161a0adad83246568647c54404739b614b1ff43dad2b02e6d5"}, + {file = "pydantic_core-2.23.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8e22b477bf90db71c156f89a55bfe4d25177b81fce4aa09294d9e805eec13855"}, + {file = "pydantic_core-2.23.3-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:0a0137ddf462575d9bce863c4c95bac3493ba8e22f8c28ca94634b4a1d3e2bb4"}, + {file = "pydantic_core-2.23.3-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:203171e48946c3164fe7691fc349c79241ff8f28306abd4cad5f4f75ed80bc8d"}, + {file = "pydantic_core-2.23.3-cp313-none-win32.whl", hash = "sha256:76bdab0de4acb3f119c2a4bff740e0c7dc2e6de7692774620f7452ce11ca76c8"}, + {file = "pydantic_core-2.23.3-cp313-none-win_amd64.whl", hash = "sha256:37ba321ac2a46100c578a92e9a6aa33afe9ec99ffa084424291d84e456f490c1"}, + {file = "pydantic_core-2.23.3-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:d063c6b9fed7d992bcbebfc9133f4c24b7a7f215d6b102f3e082b1117cddb72c"}, + {file = "pydantic_core-2.23.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6cb968da9a0746a0cf521b2b5ef25fc5a0bee9b9a1a8214e0a1cfaea5be7e8a4"}, + {file = "pydantic_core-2.23.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:edbefe079a520c5984e30e1f1f29325054b59534729c25b874a16a5048028d16"}, + {file = "pydantic_core-2.23.3-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:cbaaf2ef20d282659093913da9d402108203f7cb5955020bd8d1ae5a2325d1c4"}, + {file = "pydantic_core-2.23.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fb539d7e5dc4aac345846f290cf504d2fd3c1be26ac4e8b5e4c2b688069ff4cf"}, + {file = "pydantic_core-2.23.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7e6f33503c5495059148cc486867e1d24ca35df5fc064686e631e314d959ad5b"}, + {file = "pydantic_core-2.23.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:04b07490bc2f6f2717b10c3969e1b830f5720b632f8ae2f3b8b1542394c47a8e"}, + {file = "pydantic_core-2.23.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:03795b9e8a5d7fda05f3873efc3f59105e2dcff14231680296b87b80bb327295"}, + {file = "pydantic_core-2.23.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:c483dab0f14b8d3f0df0c6c18d70b21b086f74c87ab03c59250dbf6d3c89baba"}, + {file = "pydantic_core-2.23.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8b2682038e255e94baf2c473dca914a7460069171ff5cdd4080be18ab8a7fd6e"}, + {file = "pydantic_core-2.23.3-cp38-none-win32.whl", hash = "sha256:f4a57db8966b3a1d1a350012839c6a0099f0898c56512dfade8a1fe5fb278710"}, + {file = "pydantic_core-2.23.3-cp38-none-win_amd64.whl", hash = "sha256:13dd45ba2561603681a2676ca56006d6dee94493f03d5cadc055d2055615c3ea"}, + {file = "pydantic_core-2.23.3-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:82da2f4703894134a9f000e24965df73cc103e31e8c31906cc1ee89fde72cbd8"}, + {file = "pydantic_core-2.23.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:dd9be0a42de08f4b58a3cc73a123f124f65c24698b95a54c1543065baca8cf0e"}, + {file = "pydantic_core-2.23.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89b731f25c80830c76fdb13705c68fef6a2b6dc494402987c7ea9584fe189f5d"}, + {file = "pydantic_core-2.23.3-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c6de1ec30c4bb94f3a69c9f5f2182baeda5b809f806676675e9ef6b8dc936f28"}, + {file = "pydantic_core-2.23.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bb68b41c3fa64587412b104294b9cbb027509dc2f6958446c502638d481525ef"}, + {file = "pydantic_core-2.23.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1c3980f2843de5184656aab58698011b42763ccba11c4a8c35936c8dd6c7068c"}, + {file = "pydantic_core-2.23.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94f85614f2cba13f62c3c6481716e4adeae48e1eaa7e8bac379b9d177d93947a"}, + {file = "pydantic_core-2.23.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:510b7fb0a86dc8f10a8bb43bd2f97beb63cffad1203071dc434dac26453955cd"}, + {file = "pydantic_core-2.23.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:1eba2f7ce3e30ee2170410e2171867ea73dbd692433b81a93758ab2de6c64835"}, + {file = "pydantic_core-2.23.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:4b259fd8409ab84b4041b7b3f24dcc41e4696f180b775961ca8142b5b21d0e70"}, + {file = "pydantic_core-2.23.3-cp39-none-win32.whl", hash = "sha256:40d9bd259538dba2f40963286009bf7caf18b5112b19d2b55b09c14dde6db6a7"}, + {file = "pydantic_core-2.23.3-cp39-none-win_amd64.whl", hash = "sha256:5a8cd3074a98ee70173a8633ad3c10e00dcb991ecec57263aacb4095c5efb958"}, + {file = "pydantic_core-2.23.3-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:f399e8657c67313476a121a6944311fab377085ca7f490648c9af97fc732732d"}, + {file = "pydantic_core-2.23.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:6b5547d098c76e1694ba85f05b595720d7c60d342f24d5aad32c3049131fa5c4"}, + {file = "pydantic_core-2.23.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0dda0290a6f608504882d9f7650975b4651ff91c85673341789a476b1159f211"}, + {file = "pydantic_core-2.23.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65b6e5da855e9c55a0c67f4db8a492bf13d8d3316a59999cfbaf98cc6e401961"}, + {file = "pydantic_core-2.23.3-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:09e926397f392059ce0afdcac920df29d9c833256354d0c55f1584b0b70cf07e"}, + {file = "pydantic_core-2.23.3-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:87cfa0ed6b8c5bd6ae8b66de941cece179281239d482f363814d2b986b79cedc"}, + {file = "pydantic_core-2.23.3-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:e61328920154b6a44d98cabcb709f10e8b74276bc709c9a513a8c37a18786cc4"}, + {file = "pydantic_core-2.23.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ce3317d155628301d649fe5e16a99528d5680af4ec7aa70b90b8dacd2d725c9b"}, + {file = "pydantic_core-2.23.3-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:e89513f014c6be0d17b00a9a7c81b1c426f4eb9224b15433f3d98c1a071f8433"}, + {file = "pydantic_core-2.23.3-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:4f62c1c953d7ee375df5eb2e44ad50ce2f5aff931723b398b8bc6f0ac159791a"}, + {file = "pydantic_core-2.23.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2718443bc671c7ac331de4eef9b673063b10af32a0bb385019ad61dcf2cc8f6c"}, + {file = "pydantic_core-2.23.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0d90e08b2727c5d01af1b5ef4121d2f0c99fbee692c762f4d9d0409c9da6541"}, + {file = "pydantic_core-2.23.3-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2b676583fc459c64146debea14ba3af54e540b61762dfc0613dc4e98c3f66eeb"}, + {file = "pydantic_core-2.23.3-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:50e4661f3337977740fdbfbae084ae5693e505ca2b3130a6d4eb0f2281dc43b8"}, + {file = "pydantic_core-2.23.3-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:68f4cf373f0de6abfe599a38307f4417c1c867ca381c03df27c873a9069cda25"}, + {file = "pydantic_core-2.23.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:59d52cf01854cb26c46958552a21acb10dd78a52aa34c86f284e66b209db8cab"}, + {file = "pydantic_core-2.23.3.tar.gz", hash = "sha256:3cb0f65d8b4121c1b015c60104a685feb929a29d7cf204387c7f2688c7974690"}, ] [[package]] name = "pyyaml" -version = "6.0.1" -requires_python = ">=3.6" +version = "6.0.2" +requires_python = ">=3.8" summary = "YAML parser and emitter for Python" +groups = ["default"] files = [ - {file = "PyYAML-6.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a"}, - {file = "PyYAML-6.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f"}, - {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"}, - {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"}, - {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"}, - {file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"}, - {file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"}, - {file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"}, - {file = "PyYAML-6.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab"}, - {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"}, - {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"}, - {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"}, - {file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"}, - {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, - {file = "PyYAML-6.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595"}, - {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"}, - {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"}, - {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"}, - {file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"}, - {file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"}, - {file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"}, - {file = "PyYAML-6.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859"}, - {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"}, - {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"}, - {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"}, - {file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"}, - {file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"}, - {file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"}, + {file = "PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086"}, + {file = "PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed"}, + {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180"}, + {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68"}, + {file = "PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99"}, + {file = "PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e"}, + {file = "PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774"}, + {file = "PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85"}, + {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4"}, + {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e"}, + {file = "PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5"}, + {file = "PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44"}, + {file = "PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab"}, + {file = "PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476"}, + {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48"}, + {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b"}, + {file = "PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4"}, + {file = "PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8"}, + {file = "PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba"}, + {file = "PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5"}, + {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc"}, + {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652"}, + {file = "PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183"}, + {file = "PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563"}, + {file = "PyYAML-6.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083"}, + {file = "PyYAML-6.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706"}, + {file = "PyYAML-6.0.2-cp38-cp38-win32.whl", hash = "sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a"}, + {file = "PyYAML-6.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff"}, + {file = "PyYAML-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d"}, + {file = "PyYAML-6.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19"}, + {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e"}, + {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725"}, + {file = "PyYAML-6.0.2-cp39-cp39-win32.whl", hash = "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631"}, + {file = "PyYAML-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8"}, + {file = "pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e"}, ] [[package]] name = "remilia" -version = "1.2.2.1" +version = "1.0.1.dev11+g729357a.d20240916" requires_python = ">=3.8" +path = "./Remilia-1.2.2.1" summary = "Use python with next generation api" +groups = ["default"] dependencies = [ "colorama", "pydantic", "pyyaml", "typing-extensions", ] -files = [ - {file = "remilia-1.2.2.1-py3-none-any.whl", hash = "sha256:7ba414f64f86d8d8de5e2822508835a9de8e361856609836a4fa34df1610bb86"}, - {file = "remilia-1.2.2.1.tar.gz", hash = "sha256:4310befec21b850529e0790e52ae5c90a973114e98d6af6765f4a7e7ff015b04"}, -] [[package]] name = "remilia" -version = "1.2.2.1" +version = "1.0.1.dev11" extras = ["tui"] requires_python = ">=3.8" +path = "./Remilia-1.2.2.1" summary = "Use python with next generation api" +groups = ["default"] dependencies = [ - "Remilia==1.2.2.1", + "Remilia @ file:///${PROJECT_ROOT}/Remilia-1.2.2.1", "noneprompt", ] -files = [ - {file = "remilia-1.2.2.1-py3-none-any.whl", hash = "sha256:7ba414f64f86d8d8de5e2822508835a9de8e361856609836a4fa34df1610bb86"}, - {file = "remilia-1.2.2.1.tar.gz", hash = "sha256:4310befec21b850529e0790e52ae5c90a973114e98d6af6765f4a7e7ff015b04"}, -] [[package]] name = "requests" -version = "2.31.0" -requires_python = ">=3.7" +version = "2.32.3" +requires_python = ">=3.8" summary = "Python HTTP for Humans." +groups = ["default"] dependencies = [ "certifi>=2017.4.17", "charset-normalizer<4,>=2", @@ -341,35 +391,41 @@ dependencies = [ "urllib3<3,>=1.21.1", ] files = [ - {file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"}, - {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"}, + {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"}, + {file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"}, ] [[package]] name = "typing-extensions" -version = "4.7.1" -requires_python = ">=3.7" -summary = "Backported and Experimental Type Hints for Python 3.7+" +version = "4.12.2" +requires_python = ">=3.8" +summary = "Backported and Experimental Type Hints for Python 3.8+" +groups = ["default"] files = [ - {file = "typing_extensions-4.7.1-py3-none-any.whl", hash = "sha256:440d5dd3af93b060174bf433bccd69b0babc3b15b1a8dca43789fd7f61514b36"}, - {file = "typing_extensions-4.7.1.tar.gz", hash = "sha256:b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2"}, + {file = "typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d"}, + {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, ] [[package]] name = "urllib3" -version = "2.0.4" -requires_python = ">=3.7" +version = "2.2.3" +requires_python = ">=3.8" summary = "HTTP library with thread-safe connection pooling, file post, and more." +groups = ["default"] files = [ - {file = "urllib3-2.0.4-py3-none-any.whl", hash = "sha256:de7df1803967d2c2a98e4b11bb7d6bd9210474c46e8a0401514e3a42a75ebde4"}, - {file = "urllib3-2.0.4.tar.gz", hash = "sha256:8d22f86aae8ef5e410d4f539fde9ce6b2113a001bb4d189e0aed70642d602b11"}, + {file = "urllib3-2.2.3-py3-none-any.whl", hash = "sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac"}, + {file = "urllib3-2.2.3.tar.gz", hash = "sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9"}, ] [[package]] name = "wcwidth" -version = "0.2.6" +version = "0.2.13" summary = "Measures the displayed width of unicode strings in a terminal" +groups = ["default"] +dependencies = [ + "backports-functools-lru-cache>=1.2.1; python_version < \"3.2\"", +] files = [ - {file = "wcwidth-0.2.6-py2.py3-none-any.whl", hash = "sha256:795b138f6875577cd91bba52baf9e445cd5118fd32723b460e30a0af30ea230e"}, - {file = "wcwidth-0.2.6.tar.gz", hash = "sha256:a5220780a404dbe3353789870978e472cfe477761f06ee55077256e509b156d0"}, + {file = "wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859"}, + {file = "wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5"}, ] diff --git a/script/lunar-cli/pyproject.toml b/script/lunar-cli/pyproject.toml index d4353a2..3142e03 100644 --- a/script/lunar-cli/pyproject.toml +++ b/script/lunar-cli/pyproject.toml @@ -1,17 +1,16 @@ [project] +dependencies = [ + # "Remilia[tui] @ git+https://github.com/H2Sxxa/Remilia.git@v1.2.2.1", + "Remilia[tui] @ file:///${PROJECT_ROOT}/Remilia-1.2.2.1", + "requests", +] name = "lunar-cli" version = "1.0" description = "For LunarCapitalFramework User" -authors = [ - {name = "H2Sxxa", email = "H2Sxxa0w0@gmail.com"}, -] -dependencies = [ - "Remilia[tui]==1.2.2.1", - "requests" -] +authors = [{ name = "H2Sxxa", email = "H2Sxxa0w0@gmail.com" }] requires-python = ">=3.8" -license = {text = "GPL-3.0"} +license = { text = "GPL-3.0" } [tool.setuptools] -py-modules = ["lunarcli"] \ No newline at end of file +py-modules = ["lunarcli"]