From cbe8324b87eb452d88d50941ce386bab03a4ca96 Mon Sep 17 00:00:00 2001 From: asher Date: Tue, 19 Nov 2024 03:56:08 -0800 Subject: [PATCH 1/6] update aws_bedrock --- .env | 4 + camel/configs/__init__.py | 3 + camel/configs/bedrock_config.py | 36 +++ camel/models/__init__.py | 2 + camel/models/aws_bedrock_model.py | 188 +++++++++++++ camel/models/model_factory.py | 3 + camel/types/enums.py | 6 + docs/key_modules/models.md | 2 +- examples/models/aws_bedrock_model_example.py | 42 +++ poetry.lock | 280 +++++++++++-------- pyproject.toml | 4 + 11 files changed, 450 insertions(+), 120 deletions(-) create mode 100644 camel/configs/bedrock_config.py create mode 100644 camel/models/aws_bedrock_model.py create mode 100644 examples/models/aws_bedrock_model_example.py diff --git a/.env b/.env index 61c74f6ce7..b90b010a80 100644 --- a/.env +++ b/.env @@ -76,3 +76,7 @@ ASKNEWS_CLIENT_SECRET="Fill your Client Secret here" # Chunkr API (https://chunkr.ai/) CHUNKR_API_KEY="Fill your API key here" + +# AWS API (https://aws.amazon.com/) +AWS_ACCESS_KEY_ID="Fill your Access Key ID here" +AWS_SECRET_ACCESS_KEY="Fill your Secret Access Key here" \ No newline at end of file diff --git a/camel/configs/__init__.py b/camel/configs/__init__.py index 72c3c3717f..96d111f664 100644 --- a/camel/configs/__init__.py +++ b/camel/configs/__init__.py @@ -13,6 +13,7 @@ # =========== Copyright 2023 @ CAMEL-AI.org. All Rights Reserved. =========== from .anthropic_config import ANTHROPIC_API_PARAMS, AnthropicConfig from .base_config import BaseConfig +from .bedrock_config import BEDROCK_API_PARAMS, BedrockConfig from .gemini_config import Gemini_API_PARAMS, GeminiConfig from .groq_config import GROQ_API_PARAMS, GroqConfig from .litellm_config import LITELLM_API_PARAMS, LiteLLMConfig @@ -64,4 +65,6 @@ 'YI_API_PARAMS', 'QwenConfig', 'QWEN_API_PARAMS', + 'BedrockConfig', + 'BEDROCK_API_PARAMS', ] diff --git a/camel/configs/bedrock_config.py b/camel/configs/bedrock_config.py new file mode 100644 index 0000000000..c8f84ca4ed --- /dev/null +++ b/camel/configs/bedrock_config.py @@ -0,0 +1,36 @@ +# =========== Copyright 2023 @ CAMEL-AI.org. All Rights Reserved. =========== +# Licensed under the Apache License, Version 2.0 (the “License”); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an “AS IS” BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# =========== Copyright 2023 @ CAMEL-AI.org. All Rights Reserved. =========== +from typing import Optional + +from camel.configs.base_config import BaseConfig + + +class BedrockConfig(BaseConfig): + r"""Defines the parameters for generating chat completions using Bedrock + compatibility. + + Args: + maxTokens (int, optional): The maximum number of tokens. + temperatue (float, optional): Controls the randomness of the output. + top_k (int, optional): Only sample from the top K options for each + subsequent token. + top_p (float, optional): Use nucleus sampling. + """ + + max_tokens: Optional[int] = 400 + temperature: Optional[float] = 0.7 + top_p: Optional[float] = 0.7 + + +BEDROCK_API_PARAMS = {param for param in BedrockConfig.model_fields.keys()} \ No newline at end of file diff --git a/camel/models/__init__.py b/camel/models/__init__.py index 0b48c0596c..347eec397a 100644 --- a/camel/models/__init__.py +++ b/camel/models/__init__.py @@ -12,6 +12,7 @@ # limitations under the License. # =========== Copyright 2023 @ CAMEL-AI.org. All Rights Reserved. =========== from .anthropic_model import AnthropicModel +from .aws_bedrock_model import AWSBedrockModel from .azure_openai_model import AzureOpenAIModel from .base_model import BaseModelBackend from .gemini_model import GeminiModel @@ -55,4 +56,5 @@ 'TogetherAIModel', 'YiModel', 'QwenModel', + 'AWSBedrockModel', ] diff --git a/camel/models/aws_bedrock_model.py b/camel/models/aws_bedrock_model.py new file mode 100644 index 0000000000..1411b43db7 --- /dev/null +++ b/camel/models/aws_bedrock_model.py @@ -0,0 +1,188 @@ +# =========== Copyright 2023 @ CAMEL-AI.org. All Rights Reserved. =========== +# Licensed under the Apache License, Version 2.0 (the “License”); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an “AS IS” BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# =========== Copyright 2023 @ CAMEL-AI.org. All Rights Reserved. =========== +import os +import time +from typing import Dict, Any, Optional, Union, List + +import boto3 # type: ignore + +from camel.messages import OpenAIMessage +from camel.configs import BEDROCK_API_PARAMS, BedrockConfig +from camel.models.base_model import BaseModelBackend +from camel.types import ModelType, ChatCompletion +from camel.utils import BaseTokenCounter +from camel.utils import ( + BaseTokenCounter, + OpenAITokenCounter, + api_keys_required, + dependencies_required, + ) + + +class AWSBedrockModel(BaseModelBackend): + r"""AWS Bedrock API in a unified BaseModelBackend interface. + + Args: + model_type (Union[ModelType, str]): Model for which a backend is + created. + model_config_dict (Optional[Dict[str, Any]], optional): A dictionary + that will be fed into:obj:`openai.ChatCompletion.create()`. + If:obj:`None`, :obj:`BedrockConfig().as_dict()` will be used. + (default: :obj:`None`) + secret_access_key (Optional[str], optional): The secret access key for + authenticating with the AWS Bedrock service. (default: :obj:`None`) + access_key_id (Optional[str], optional): The access key ID for + authenticating with the AWS Bedrock service. (default: :obj:`None`) + api_key (Optional[str], optional): This parameter is not used. + url (Optional[str], optional): This parameter is not used. + token_counter (Optional[BaseTokenCounter], optional): Token counter to + use for the model. If not provided, :obj:`OpenAITokenCounter( + ModelType.GPT_4O_MINI)` will be used. + (default: :obj:`None`) + region_name (Optional[str], optional): The region name for the AWS + Bedrock service. (default: :obj:`"eu-west-2"`) + + References: + https://docs.aws.amazon.com/bedrock/latest/APIReference/welcome.html + """ + + @dependencies_required('boto3') + def __init__( + self, + model_type: Union[ModelType, str], + model_config_dict: Optional[Dict[str, Any]] = None, + secret_access_key: Optional[str] = None, + access_key_id: Optional[str] = None, + api_key: Optional[str] = None, + url: Optional[str] = None, + token_counter: Optional[BaseTokenCounter] = None, + region_name: Optional[str] = "eu-west-2", + ) -> None: + super().__init__( + model_type, model_config_dict, api_key, url, token_counter + ) + if model_config_dict is None: + self.model_config_dict = BedrockConfig().as_dict() + secret_access_key = ( + secret_access_key or os.environ.get("AWS_SECRET_ACCESS_KEY") + ) + access_key_id = access_key_id or os.environ.get("AWS_ACCESS_KEY_ID") + self.client = boto3.client( + service_name = 'bedrock-runtime', + region_name=region_name, + aws_access_key_id=access_key_id, + aws_secret_access_key=secret_access_key, + ) + + @property + def token_counter(self) -> BaseTokenCounter: + r"""Token counter for the model.""" + if not self._token_counter: + self._token_counter = OpenAITokenCounter(ModelType.GPT_4O_MINI) + return self._token_counter + + @api_keys_required("AWS_SECRET_ACCESS_KEY", "AWS_ACCESS_KEY_ID") + def run(self, message: List[OpenAIMessage]) -> ChatCompletion: + r"""Runs the query to the backend model. + + Args: + message (List[OpenAIMessage]): Message list with the chat history + in OpenAI API format. + + Returns: + ChatCompletion: The response object in OpenAI's format. + """ + try: + print(self._to_aws_bedrock_msg(message)) + model_config = self.model_config_dict + model_config['maxTokens'] = model_config.pop('max_tokens') + model_config['topP'] = model_config.pop('top_p') + model_config.pop('tools') + response = self.client.converse( + modelId=self.model_type, + messages=self._to_aws_bedrock_msg(message), + inferenceConfig=model_config, + ) + return self._to_openai_response(response) + except Exception as e: + raise ValueError(f"Error in AWS Bedrock API: {e}") + + def _to_aws_bedrock_msg(self, message) -> List[Dict[str, Any]]: + r"""Converts a message from OpenAI format to the AWS Bedrock format. + + Args: + message (List[OpenAIMessage]): Message list with the chat history + in OpenAI API format. + + Returns: + List[Dict[str, Any]]: Message list with the chat history in AWS + Bedrock API format. + """ + bedrock_messages = [] + for msg in message: + if msg["role"] not in ['assistant', 'user']: + raise ValueError(f"Invalid role '{msg['role']}' in message.") + role = 'assistant' if msg["role"] == 'assistant' else 'user' + bedrock_messages.append({ + "role": role, + "content": [{"text": msg["content"]}], + }) + return bedrock_messages + + def _to_openai_response(self, response) -> ChatCompletion: + r"""Converts a response from the AWS Bedrock format to the OpenAI + format. + + Args: + response (Dict[str, Any]): The response object from AWS Bedrock. + + Returns: + ChatCompletion: The response object in OpenAI's format. + """ + return ChatCompletion.construct( + id = response["ResponseMetadata"]["RequestId"], + object='chat.completion', + created=int(time.time()), + model=self.model_type, + choices=[ + { + "index": 0, + "message": { + "role": response['output']['message']['role'], + "content": response['output']['message']['content'][0]['text'], + }, + "finish_reason": response['stopReason'], + } + ], + usage={ + 'prompt_tokens': response['usage']['inputTokens'], + 'completion_tokens': response['usage']['outputTokens'], + 'total_tokens': response['usage']['totalTokens'] + } + ) + + def check_model_config(self): + r"""Check whether the input model configuration contains unexpected + arguments. + + Raises: + ValueError: If the model configuration dictionary contains any + unexpected argument for this model class. + """ + for param in self.model_config_dict: + if param not in BEDROCK_API_PARAMS: + raise ValueError( + f"Invalid parameter '{param}' in model_config_dict. " + f"Valid parameters are: {BEDROCK_API_PARAMS}" + ) \ No newline at end of file diff --git a/camel/models/model_factory.py b/camel/models/model_factory.py index ca2a19fe5a..c798d45d46 100644 --- a/camel/models/model_factory.py +++ b/camel/models/model_factory.py @@ -14,6 +14,7 @@ from typing import Dict, Optional, Type, Union from camel.models.anthropic_model import AnthropicModel +from camel.models.aws_bedrock_model import AWSBedrockModel from camel.models.azure_openai_model import AzureOpenAIModel from camel.models.base_model import BaseModelBackend from camel.models.gemini_model import GeminiModel @@ -91,6 +92,8 @@ def create( model_class = TogetherAIModel elif model_platform.is_litellm: model_class = LiteLLMModel + elif model_platform.is_aws_bedrock: + model_class = AWSBedrockModel elif model_platform.is_openai and model_type.is_openai: model_class = OpenAIModel diff --git a/camel/types/enums.py b/camel/types/enums.py index adcf3bc9a5..c068388b3b 100644 --- a/camel/types/enums.py +++ b/camel/types/enums.py @@ -536,6 +536,7 @@ class ModelPlatformType(Enum): SAMBA = "samba-nova" YI = "lingyiwanwu" QWEN = "tongyi-qianwen" + AWS_BEDROCK = "aws-bedrock" @property def is_openai(self) -> bool: @@ -618,6 +619,11 @@ def is_qwen(self) -> bool: r"""Returns whether this platform is Qwen.""" return self is ModelPlatformType.QWEN + @property + def is_aws_bedrock(self) -> bool: + r"""Returns whether this platform is AWS Bedrock.""" + return self is ModelPlatformType.AWS_BEDROCK + class AudioModelType(Enum): TTS_1 = "tts-1" diff --git a/docs/key_modules/models.md b/docs/key_modules/models.md index 95b3954439..ae0b2690f9 100644 --- a/docs/key_modules/models.md +++ b/docs/key_modules/models.md @@ -76,7 +76,7 @@ The following table lists currently supported model platforms by CAMEL. | vLLM | https://docs.vllm.ai/en/latest/models/supported_models.html | ----- | | Together AI | https://docs.together.ai/docs/chat-models | ----- | | LiteLLM | https://docs.litellm.ai/docs/providers | ----- | - +| AWSBedrock | https://docs.aws.amazon.com/bedrock/latest/userguide/models-supported.html | ----- | ## 3. Using Models by API calling Here is an example code to use a specific model (gpt-4o-mini). If you want to use another model, you can simply change these three parameters: `model_platform`, `model_type`, `model_config_dict` . diff --git a/examples/models/aws_bedrock_model_example.py b/examples/models/aws_bedrock_model_example.py new file mode 100644 index 0000000000..a2625d7547 --- /dev/null +++ b/examples/models/aws_bedrock_model_example.py @@ -0,0 +1,42 @@ +# =========== Copyright 2023 @ CAMEL-AI.org. All Rights Reserved. =========== +# Licensed under the Apache License, Version 2.0 (the “License”); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an “AS IS” BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# =========== Copyright 2023 @ CAMEL-AI.org. All Rights Reserved. =========== +from camel.models import ModelFactory +from camel.types import ModelPlatformType +from camel.agents import ChatAgent + +model = ModelFactory.create( + model_platform=ModelPlatformType.AWS_BEDROCK, + model_type="meta.llama3-70b-instruct-v1:0", +) + +camel_agent = ChatAgent(model=model) + +user_msg = """Say hi to CAMEL AI, one open-source community dedicated to the + study of autonomous and communicative agents.""" + +response = camel_agent.step(user_msg) +print(response.msgs[0].content) +''' +=============================================================================== +Hi CAMEL AI community! It's great to see a dedicated group of individuals +passionate about the study of autonomous and communicative agents. Your +open-source community is a fantastic platform for collaboration, knowledge +sharing, and innovation in this exciting field. I'm happy to interact with you +and provide assistance on any topics related to autonomous agents, natural +language processing, or artificial intelligence in general. Feel free to ask +me any questions, share your projects, or discuss the latest advancements in +the field. Let's explore the possibilities of autonomous and communicative +agents together! +=============================================================================== +''' \ No newline at end of file diff --git a/poetry.lock b/poetry.lock index 3597a32ca5..30db00e0db 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.8.4 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. [[package]] name = "accelerate" @@ -95,87 +95,87 @@ files = [ [[package]] name = "aiohttp" -version = "3.11.2" +version = "3.11.4" description = "Async http client/server framework (asyncio)" optional = true python-versions = ">=3.9" files = [ - {file = "aiohttp-3.11.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:783741f534c14957fbe657d62a34b947ec06db23d45a2fd4a8aeb73d9c84d7e6"}, - {file = "aiohttp-3.11.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:435f7a08d8aa42371a94e7c141205a9cb092ba551084b5e0c57492e6673601a3"}, - {file = "aiohttp-3.11.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c681f34e2814bc6e1eef49752b338061b94a42c92734d0be9513447d3f83718c"}, - {file = "aiohttp-3.11.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:73a664478ae1ea011b5a710fb100b115ca8b2146864fa0ce4143ff944df714b8"}, - {file = "aiohttp-3.11.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f1d06c8fd8b453c3e553c956bd3b8395100401060430572174bb7876dd95ad49"}, - {file = "aiohttp-3.11.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3b1f4844909321ef2c1cee50ddeccbd6018cd8c8d1ddddda3f553e94a5859497"}, - {file = "aiohttp-3.11.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cdc6f8dce09281ae534eaf08a54f0d38612398375f28dad733a8885f3bf9b978"}, - {file = "aiohttp-3.11.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d2d942421cf3a1d1eceae8fa192f1fbfb74eb9d3e207d35ad2696bd2ce2c987c"}, - {file = "aiohttp-3.11.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:08ebe7a1d6c1e5ca766d68407280d69658f5f98821c2ba6c41c63cabfed159af"}, - {file = "aiohttp-3.11.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:2793d3297f3e49015140e6d3ea26142c967e07998e2fb00b6ee8d041138fbc4e"}, - {file = "aiohttp-3.11.2-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:4a23475d8d5c56e447b7752a1e2ac267c1f723f765e406c81feddcd16cdc97bc"}, - {file = "aiohttp-3.11.2-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:556564d89e2f4a6e8fe000894c03e4e84cf0b6cfa5674e425db122633ee244d1"}, - {file = "aiohttp-3.11.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:57993f406ce3f114b2a6756d7809be3ffd0cc40f33e8f8b9a4aa1b027fd4e3eb"}, - {file = "aiohttp-3.11.2-cp310-cp310-win32.whl", hash = "sha256:177b000efaf8d2f7012c649e8aee5b0bf488677b1162be5e7511aa4f9d567607"}, - {file = "aiohttp-3.11.2-cp310-cp310-win_amd64.whl", hash = "sha256:ff5d22eece44528023254b595c670dfcf9733ac6af74c4b6cb4f6a784dc3870c"}, - {file = "aiohttp-3.11.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:50e0aee4adc9abcd2109c618a8d1b2c93b85ac277b24a003ab147d91e068b06d"}, - {file = "aiohttp-3.11.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9aa4e68f1e4f303971ec42976fb170204fb5092de199034b57199a1747e78a2d"}, - {file = "aiohttp-3.11.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d84930b4145991214602372edd7305fc76b700220db79ac0dd57d3afd0f0a1ca"}, - {file = "aiohttp-3.11.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b4ec8afd362356b8798c8caa806e91deb3f0602d8ffae8e91d2d3ced2a90c35e"}, - {file = "aiohttp-3.11.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fb0544a0e8294a5a5e20d3cacdaaa9a911d7c0a9150f5264aef36e7d8fdfa07e"}, - {file = "aiohttp-3.11.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a7b0a1618060e3f5aa73d3526ca2108a16a1b6bf86612cd0bb2ddcbef9879d06"}, - {file = "aiohttp-3.11.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d878a0186023ac391861958035174d0486f3259cabf8fd94e591985468da3ea"}, - {file = "aiohttp-3.11.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e33a7eddcd07545ccf5c3ab230f60314a17dc33e285475e8405e26e21f02660"}, - {file = "aiohttp-3.11.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:4d7fad8c456d180a6d2f44c41cfab4b80e2e81451815825097db48b8293f59d5"}, - {file = "aiohttp-3.11.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8d954ba0eae7f33884d27dc00629ca4389d249eb8d26ca07c30911257cae8c96"}, - {file = "aiohttp-3.11.2-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:afa55e863224e664a782effa62245df73fdfc55aee539bed6efacf35f6d4e4b7"}, - {file = "aiohttp-3.11.2-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:10a5f91c319d9d4afba812f72984816b5fcd20742232ff7ecc1610ffbf3fc64d"}, - {file = "aiohttp-3.11.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6e8e19a80ba194db5c06915a9df23c0c06e0e9ca9a4db9386a6056cca555a027"}, - {file = "aiohttp-3.11.2-cp311-cp311-win32.whl", hash = "sha256:9c8d1db4f65bbc9d75b7b271d68fb996f1c8c81a525263862477d93611856c2d"}, - {file = "aiohttp-3.11.2-cp311-cp311-win_amd64.whl", hash = "sha256:2adb967454e10e69478ba4a8d8afbba48a7c7a8619216b7c807f8481cc66ddfb"}, - {file = "aiohttp-3.11.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:f833a80d9de9307d736b6af58c235b17ef7f90ebea7b9c49cd274dec7a66a2f1"}, - {file = "aiohttp-3.11.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:382f853516664d2ebfc75dc01da4a10fdef5edcb335fe7b45cf471ce758ecb18"}, - {file = "aiohttp-3.11.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d3a2bcf6c81639a165da93469e1e0aff67c956721f3fa9c0560f07dd1e505116"}, - {file = "aiohttp-3.11.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:de3b4d5fb5d69749104b880a157f38baeea7765c93d9cd3837cedd5b84729e10"}, - {file = "aiohttp-3.11.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0a90a0dc4b054b5af299a900bf950fe8f9e3e54322bc405005f30aa5cacc5c98"}, - {file = "aiohttp-3.11.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:32334f35824811dd20a12cc90825d000e6b50faaeaa71408d42269151a66140d"}, - {file = "aiohttp-3.11.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0cba0b8d25aa2d450762f3dd6df85498f5e7c3ad0ddeb516ef2b03510f0eea32"}, - {file = "aiohttp-3.11.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9bbb2dbc2701ab7e9307ca3a8fa4999c5b28246968e0a0202a5afabf48a42e22"}, - {file = "aiohttp-3.11.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:97fba98fc5d9ccd3d33909e898d00f2494d6a9eec7cbda3d030632e2c8bb4d00"}, - {file = "aiohttp-3.11.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0ebdf5087e2ce903d8220cc45dcece90c2199ae4395fd83ca616fcc81010db2c"}, - {file = "aiohttp-3.11.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:122768e3ae9ce74f981b46edefea9c6e5a40aea38aba3ac50168e6370459bf20"}, - {file = "aiohttp-3.11.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:5587da333b7d280a312715b843d43e734652aa382cba824a84a67c81f75b338b"}, - {file = "aiohttp-3.11.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:85de9904bc360fd29a98885d2bfcbd4e02ab33c53353cb70607f2bea2cb92468"}, - {file = "aiohttp-3.11.2-cp312-cp312-win32.whl", hash = "sha256:b470de64d17156c37e91effc109d3b032b39867000e2c126732fe01d034441f9"}, - {file = "aiohttp-3.11.2-cp312-cp312-win_amd64.whl", hash = "sha256:3f617a48b70f4843d54f52440ea1e58da6bdab07b391a3a6aed8d3b311a4cc04"}, - {file = "aiohttp-3.11.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:5d90b5a3b0f32a5fecf5dd83d828713986c019585f5cddf40d288ff77f366615"}, - {file = "aiohttp-3.11.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:d23854e5867650d40cba54d49956aad8081452aa80b2cf0d8c310633f4f48510"}, - {file = "aiohttp-3.11.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:486273d3b5af75a80c31c311988931bdd2a4b96a74d5c7f422bad948f99988ef"}, - {file = "aiohttp-3.11.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9075313f8e41b481e4cb10af405054564b0247dc335db5398ed05f8ec38787e2"}, - {file = "aiohttp-3.11.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:44b69c69c194ffacbc50165911cf023a4b1b06422d1e1199d3aea82eac17004e"}, - {file = "aiohttp-3.11.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b339d91ac9060bd6ecdc595a82dc151045e5d74f566e0864ef3f2ba0887fec42"}, - {file = "aiohttp-3.11.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:64e8f5178958a9954043bc8cd10a5ae97352c3f2fc99aa01f2aebb0026010910"}, - {file = "aiohttp-3.11.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3129151378f858cdc4a0a4df355c9a0d060ab49e2eea7e62e9f085bac100551b"}, - {file = "aiohttp-3.11.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:14eb6c628432720e41b4fab1ada879d56cfe7034159849e083eb536b4c2afa99"}, - {file = "aiohttp-3.11.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:e57a10aacedcf24666f4c90d03e599f71d172d1c5e00dcf48205c445806745b0"}, - {file = "aiohttp-3.11.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:66e58a2e8c7609a3545c4b38fb8b01a6b8346c4862e529534f7674c5265a97b8"}, - {file = "aiohttp-3.11.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:9b6d15adc9768ff167614ca853f7eeb6ee5f1d55d5660e3af85ce6744fed2b82"}, - {file = "aiohttp-3.11.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:2914061f5ca573f990ec14191e6998752fa8fe50d518e3405410353c3f44aa5d"}, - {file = "aiohttp-3.11.2-cp313-cp313-win32.whl", hash = "sha256:1c2496182e577042e0e07a328d91c949da9e77a2047c7291071e734cd7a6e780"}, - {file = "aiohttp-3.11.2-cp313-cp313-win_amd64.whl", hash = "sha256:cccb2937bece1310c5c0163d0406aba170a2e5fb1f0444d7b0e7fdc9bd6bb713"}, - {file = "aiohttp-3.11.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:994cb893936dd2e1803655ae8667a45066bfd53360b148e22b4e3325cc5ea7a3"}, - {file = "aiohttp-3.11.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3666c750b73ce463a413692e3a57c60f7089e2d9116a2aa5a0f0eaf2ae325148"}, - {file = "aiohttp-3.11.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6ad9a7d2a3a0f235184426425f80bd3b26c66b24fd5fddecde66be30c01ebe6e"}, - {file = "aiohttp-3.11.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4c979fc92aba66730b66099cd5becb42d869a26c0011119bc1c2478408a8bf7a"}, - {file = "aiohttp-3.11.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:766d0ebf8703d28f854f945982aa09224d5a27a29594c70d921c43c3930fe7ac"}, - {file = "aiohttp-3.11.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:79efd1ee3827b2f16797e14b1e45021206c3271249b4d0025014466d416d7413"}, - {file = "aiohttp-3.11.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d6e069b882c1fdcbe5577dc4be372eda705180197140577a4cddb648c29d22e"}, - {file = "aiohttp-3.11.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5e9a766c346b2ed7e88937919d84ed64b4ef489dad1d8939f806ee52901dc142"}, - {file = "aiohttp-3.11.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2b02a68b9445c70d7f5c8b578c5f5e5866b1d67ca23eb9e8bc8658ae9e3e2c74"}, - {file = "aiohttp-3.11.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:374baefcb1b6275f350da605951f5f02487a9bc84a574a7d5b696439fabd49a3"}, - {file = "aiohttp-3.11.2-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:d2f991c18132f3e505c108147925372ffe4549173b7c258cf227df1c5977a635"}, - {file = "aiohttp-3.11.2-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:34f37c59b12bc3afc52bab6fcd9cd3be82ff01c4598a84cbea934ccb3a9c54a0"}, - {file = "aiohttp-3.11.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:33af11eca7bb0f5c6ffaf5e7d9d2336c2448f9c6279b93abdd6f3c35f9ee321f"}, - {file = "aiohttp-3.11.2-cp39-cp39-win32.whl", hash = "sha256:83a70e22e0f6222effe7f29fdeba6c6023f9595e59a0479edacfbd7de4b77bb7"}, - {file = "aiohttp-3.11.2-cp39-cp39-win_amd64.whl", hash = "sha256:c28c1677ea33ccb8b14330560094cc44d3ff4fad617a544fd18beb90403fe0f1"}, - {file = "aiohttp-3.11.2.tar.gz", hash = "sha256:68d1f46f9387db3785508f5225d3acbc5825ca13d9c29f2b5cce203d5863eb79"}, + {file = "aiohttp-3.11.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a60f8206818e3582c999c999c799ab068e14f1870ade47d1fe8536dbfd88010b"}, + {file = "aiohttp-3.11.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e5786e5926f888ce3a996d38d9c9b8f9306f399edb1f1ca3ce7760dab9b1043c"}, + {file = "aiohttp-3.11.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:262e45dbd7f1829bcb024259f65b2cf69d1ef5b37626af6955a1c487613aeb3a"}, + {file = "aiohttp-3.11.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:696adff3594bd449e0fe287441062bdc6f5300928426275b39ed27884ba083a7"}, + {file = "aiohttp-3.11.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6dd1411ecfc070af4df129e81fe42c799d95d81c29c22d2c3e4341d974c38f1a"}, + {file = "aiohttp-3.11.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:06defa9017ab50d215446ebbee294e07eb2fcee72d9a909a08192cfacbd43a08"}, + {file = "aiohttp-3.11.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4bc936d10b8fa3f2aa66e59e034085208b588442263400ddb042703d0db99421"}, + {file = "aiohttp-3.11.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:769457243dc4bc902d376cd14c5c7ec234a4faadb4f283dc2738f004cce9a9e1"}, + {file = "aiohttp-3.11.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7a360c18b2cb391fec9585ba1efc55150e2fbc6100308113117dfea521e810d8"}, + {file = "aiohttp-3.11.4-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3e9fd9c11299d6d230eb2669fd1ed0238d33970e36b495b0432ace7f157fc931"}, + {file = "aiohttp-3.11.4-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:0ccbe8ece8a7796ef41b86a3240034c5918d9b324c2ae48fa0be33565e297c64"}, + {file = "aiohttp-3.11.4-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:9a8b6b3c788a8a6f88f5ce23d729cfde7a2ccebbeb09db0822ef266de0445a27"}, + {file = "aiohttp-3.11.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cbe3e356523d0b336543996f92a0e65f760be82447db21c95c60392c8075ff5c"}, + {file = "aiohttp-3.11.4-cp310-cp310-win32.whl", hash = "sha256:a54424050d1eb36edfef913b1bc8552d52a37864c0ea7df3e1e764663e11053a"}, + {file = "aiohttp-3.11.4-cp310-cp310-win_amd64.whl", hash = "sha256:a51f983d91edae7777b5a2af8e5d83224ba01284502c6874a17647ad6cbf0211"}, + {file = "aiohttp-3.11.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:89261fee04715083ef3b5a0d222b094021793c1728b8ff21da361c79f6384095"}, + {file = "aiohttp-3.11.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4ef6eb1367046fb22085f10c5c84ea2efd0d836ad8088306d652ab1d743faf9e"}, + {file = "aiohttp-3.11.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d68bb99bc6a4b0a3eceb95a246f5a0262e600e094b5178c2b1ab0f4bcbae6729"}, + {file = "aiohttp-3.11.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a550b4ff70d06c15057d75ddad89a3e7c496e0609d28c567c20b61cd1265c0a6"}, + {file = "aiohttp-3.11.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9b41e0fb3b415beccd6d0c6e5f3ee34b7952cd76120a1db3e45507b83dc5ef81"}, + {file = "aiohttp-3.11.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8feffa8396724116be5bc05bf4fcba0c738cbe908c82a95f71371e32b28cd2ca"}, + {file = "aiohttp-3.11.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1dd5b7947e23a08c70d4c1924809b91211f14136ffd13d303dc487913cfebfeb"}, + {file = "aiohttp-3.11.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ab5c6a521b156edef13a57a6d524903c547573ff8101e3d1bbe9ee1b97267973"}, + {file = "aiohttp-3.11.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:010bc9606f798eda8ef071759c7b163893071502bcaedc7d5dc49f9d8f12e553"}, + {file = "aiohttp-3.11.4-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e7d182164aebad4e2faf2742ee7486d4af73d933461adbd8f183ac9b1837323c"}, + {file = "aiohttp-3.11.4-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:88e681c0d17bb285d2ccbb73ae77ef86339b632ee7967044c2284411120b9730"}, + {file = "aiohttp-3.11.4-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:0d2cea21ec05b832e9f6a2390b23d32ce5575f6cf4812bd171d4493f59c101fe"}, + {file = "aiohttp-3.11.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:635397b5b4de2397f8136f8fd15c8ebee560e36473195c7aa992ffb8e46acdd3"}, + {file = "aiohttp-3.11.4-cp311-cp311-win32.whl", hash = "sha256:cb2d5a24586b508f658ddd710f7d4b7e4f5656cb5d569aeb1f432c1c3704347a"}, + {file = "aiohttp-3.11.4-cp311-cp311-win_amd64.whl", hash = "sha256:ee081375d10fa2f3f7b0d050c8b9c1ae23190e1d9be256035bf8a41059c4df3a"}, + {file = "aiohttp-3.11.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:5cd60673be31449c63f59886f3581478bbdfaddd87e7394a4d73ad134d9be9b9"}, + {file = "aiohttp-3.11.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4ff6105856ae688b29d5daaede1256f5e02e9d5cb3059f8f5ef55d975c2e6992"}, + {file = "aiohttp-3.11.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b169507c98b924fd68b82ae366c285daf6d22456835294c329c3226d61e1f69d"}, + {file = "aiohttp-3.11.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec84106c8b7ff347be06bf579c298a23b6d1d2225c57273a8cd502f257125d4"}, + {file = "aiohttp-3.11.4-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:03d53b0888f984f4f0c216a37577ee7e7b1ed1dac89cdd2fde61bf2ccb32009b"}, + {file = "aiohttp-3.11.4-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:822dedad93947fcb1096cc41ee8fd32e9f652777561a37c740e5335699f01cea"}, + {file = "aiohttp-3.11.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aef239c307f3a3f830933d612c0aef4ad4b3aa9ce5233a0954262a00f5c379f1"}, + {file = "aiohttp-3.11.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:49eb5a0338f141ef32299d48f1415486f47953d37b0c7fa6d778b73b66f3a7e2"}, + {file = "aiohttp-3.11.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:7be4efe60e9bddf78ee165a296e80170147282081e1366f0580cf4cc0fb1182f"}, + {file = "aiohttp-3.11.4-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:66e83a9a1131f0060aaedcc57f1a7e489898b6c3607eededccc7a9f80b95bdb4"}, + {file = "aiohttp-3.11.4-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:a7986fb988314fd2225c1ecab45fd457e1f2c097dcc3c0aacd2a7aec7486beb6"}, + {file = "aiohttp-3.11.4-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:a34c30e1461da3a69c5bdcfce44418b6f969e1e68ebf367edfa5eaab380abf7a"}, + {file = "aiohttp-3.11.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:cb4c676ab99ca2dd231928d481e19cd540155dff36e70e613179c4927bd520b8"}, + {file = "aiohttp-3.11.4-cp312-cp312-win32.whl", hash = "sha256:d40d9a740053cb7fef72442fa7bd699060ff4c710971ebdb8dd7c8b36417570f"}, + {file = "aiohttp-3.11.4-cp312-cp312-win_amd64.whl", hash = "sha256:365df6cf2ad144479ba0e0b58abdc5276923676d34da4c1c45613a80d2aac130"}, + {file = "aiohttp-3.11.4-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:f307632f3eaa676f8c2f5df11e4c00ad47dfa79b06cb2fa39156a4e9c6821bdb"}, + {file = "aiohttp-3.11.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:cc2d64b1747efa183ced57b6bce53c9ea8e16e53419e389051b2a214ad0ed051"}, + {file = "aiohttp-3.11.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f37ece590451ecffc815f2eb41f07191d1a31a0404361d1ae2ed532e05c86da4"}, + {file = "aiohttp-3.11.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b10b316413c80a4dcc5228c092a8d019e4b75d4efbca8988cb5b67ae9fa56881"}, + {file = "aiohttp-3.11.4-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:beaed1b2d03033dd301a7b67430f03c8255d6856a269c20995a0292de596519e"}, + {file = "aiohttp-3.11.4-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:518578d6821c942362daa14a56f26b739abeede6e408b0b83e27dfcde17730f7"}, + {file = "aiohttp-3.11.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e1e09bc44a1abbd96f55d15330d6cab80459cb8b06a0b656efd712ce47a3710d"}, + {file = "aiohttp-3.11.4-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8ae8480148d696dae49126e97568333fc01493069ad46a94b82f69c7a33197ea"}, + {file = "aiohttp-3.11.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b71aab89800fa2eaeb28923ee05e7e56c28dab4ebdba524db06e963431bf6192"}, + {file = "aiohttp-3.11.4-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:821c9c640d3dc456c6a7b005e38bc5af05326b6a08ce91a068719934d108a1bb"}, + {file = "aiohttp-3.11.4-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:d60255f3ed71aa14a2e75383543ca31bd362fdc7f0d2eafc060d85a9051598df"}, + {file = "aiohttp-3.11.4-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:9788781f57fb732426ae74b9955b899e677ce42b848e60a11be29358fb20c976"}, + {file = "aiohttp-3.11.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:94acecf2eee13a45f627ed25a28f5a7f2db66b90ff94cd7a1e9cc1ad32cddd43"}, + {file = "aiohttp-3.11.4-cp313-cp313-win32.whl", hash = "sha256:d0fd6510c6d67d08ec80d9ba10cd340a8cfb0dd33436c858ed38d4564abb27c7"}, + {file = "aiohttp-3.11.4-cp313-cp313-win_amd64.whl", hash = "sha256:474f7266a61d1c3218ef4ec0325747884b2d5a13fab5bff5dd3b55d9c849406a"}, + {file = "aiohttp-3.11.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:cfe8646a24856624c1eb7649da99333f0d7e75d9cf7c155ea870957d24b7c63c"}, + {file = "aiohttp-3.11.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e69d9869df50dd591228c62fbb3923d6124517d6bfc47a804492813888b497be"}, + {file = "aiohttp-3.11.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:eb4f1fe110332651c00d2df160978cf1be70896ed9e612ff7c7e67955091b2c4"}, + {file = "aiohttp-3.11.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d97668595bf03299148ea968fed2195cc76ad063aeec8161731aa6a5dbc2f675"}, + {file = "aiohttp-3.11.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4c0b3378dc294ad6ec6c038ed57164165e0b83ef5f61eee72f6eefccd7df34b8"}, + {file = "aiohttp-3.11.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e0898a77298dc24eef368511d98e551e0b2db293fa9b40c982f4d5ab4d8d2a3a"}, + {file = "aiohttp-3.11.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ecdf43ddde709c336a655c8b3858c56af8f7402de2572001a5a99f7bebf2f78"}, + {file = "aiohttp-3.11.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:12bf9c139dfa004b65d2d71906abc593dcafe78a508f33d56c1ca9d87b18337f"}, + {file = "aiohttp-3.11.4-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2d978a95e4b58ef1fd937fbe347ab397c79ba24e17912595b54faafb88b9b937"}, + {file = "aiohttp-3.11.4-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:1e32517c01905e0f4e665c3f3a495868ad996a32c243fcd917587d740253d589"}, + {file = "aiohttp-3.11.4-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:4275160583df18158e0d6789797ad314a14ae611b98933fbe7d7a1c3dcc6bad4"}, + {file = "aiohttp-3.11.4-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:1ff7afc3c461bd9217e2b8a90ddbe5edd94687d5a331c4ae6166dca5876d1a4b"}, + {file = "aiohttp-3.11.4-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:83bd5aa621b732a0ca1aa3490abd2b010247c4677371a804431935aeedf26e74"}, + {file = "aiohttp-3.11.4-cp39-cp39-win32.whl", hash = "sha256:542a4610571b0affc6e13dda9357235f5f1f2ad9859acc69b188eb53901292d6"}, + {file = "aiohttp-3.11.4-cp39-cp39-win_amd64.whl", hash = "sha256:a468b1b9d5499cbfd0411f5d28adbe651c90508540fdaefb4b7a2171a837a88d"}, + {file = "aiohttp-3.11.4.tar.gz", hash = "sha256:9d95cce8bb010597b3f2217155befe4708e0538d3548aa08d640ebf54e3f57cb"}, ] [package.dependencies] @@ -663,15 +663,34 @@ webencodings = "*" [package.extras] css = ["tinycss2 (>=1.1.0,<1.5)"] +[[package]] +name = "boto3" +version = "1.35.64" +description = "The AWS SDK for Python" +optional = true +python-versions = ">=3.8" +files = [ + {file = "boto3-1.35.64-py3-none-any.whl", hash = "sha256:cdacf03fc750caa3aa0dbf6158166def9922c9d67b4160999ff8fc350662facc"}, + {file = "boto3-1.35.64.tar.gz", hash = "sha256:bc3fc12b41fa2c91e51ab140f74fb1544408a2b1e00f88a4c2369a66d18ddf20"}, +] + +[package.dependencies] +botocore = ">=1.35.64,<1.36.0" +jmespath = ">=0.7.1,<2.0.0" +s3transfer = ">=0.10.0,<0.11.0" + +[package.extras] +crt = ["botocore[crt] (>=1.21.0,<2.0a0)"] + [[package]] name = "botocore" -version = "1.35.63" +version = "1.35.64" description = "Low-level, data-driven core of boto 3." optional = true python-versions = ">=3.8" files = [ - {file = "botocore-1.35.63-py3-none-any.whl", hash = "sha256:0ca1200694a4c0a3fa846795d8e8a08404c214e21195eb9e010c4b8a4ca78a4a"}, - {file = "botocore-1.35.63.tar.gz", hash = "sha256:2b8196bab0a997d206c3d490b52e779ef47dffb68c57c685443f77293aca1589"}, + {file = "botocore-1.35.64-py3-none-any.whl", hash = "sha256:bbd96bf7f442b1d5e35b36f501076e4a588c83d8d84a1952e9ee1d767e5efb3e"}, + {file = "botocore-1.35.64.tar.gz", hash = "sha256:2f95c83f31c9e38a66995c88810fc638c829790e125032ba00ab081a2cf48cb9"}, ] [package.dependencies] @@ -3483,13 +3502,13 @@ files = [ [[package]] name = "litellm" -version = "1.52.9" +version = "1.52.10" description = "Library to easily interface with LLM API providers" optional = true python-versions = "!=2.7.*,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,!=3.7.*,>=3.8" files = [ - {file = "litellm-1.52.9-py3-none-any.whl", hash = "sha256:a1ef5561d220d77059a359da497f0ab04c721205c6795f151b07be5bbe51fe45"}, - {file = "litellm-1.52.9.tar.gz", hash = "sha256:73a05fed76cfac4357ee4117f28608209db891223fb9c6e03dddfe1723666437"}, + {file = "litellm-1.52.10-py3-none-any.whl", hash = "sha256:f2bf35b1409729253eb70a6d575cb8ccf71373358e109b0f4653b5bcd9a65467"}, + {file = "litellm-1.52.10.tar.gz", hash = "sha256:8ceaa016cd8ff3a11783d57f862f3157cd764947c60b8f0c4fb04d927d5fe4c1"}, ] [package.dependencies] @@ -3906,6 +3925,7 @@ python-versions = ">=3.7" files = [ {file = "milvus_lite-2.4.10-py3-none-macosx_10_9_x86_64.whl", hash = "sha256:fc4246d3ed7d1910847afce0c9ba18212e93a6e9b8406048436940578dfad5cb"}, {file = "milvus_lite-2.4.10-py3-none-macosx_11_0_arm64.whl", hash = "sha256:74a8e07c5e3b057df17fbb46913388e84df1dc403a200f4e423799a58184c800"}, + {file = "milvus_lite-2.4.10-py3-none-manylinux2014_aarch64.whl", hash = "sha256:240c7386b747bad696ecb5bd1f58d491e86b9d4b92dccee3315ed7256256eddc"}, {file = "milvus_lite-2.4.10-py3-none-manylinux2014_x86_64.whl", hash = "sha256:211d2e334a043f9282bdd9755f76b9b2d93b23bffa7af240919ffce6a8dfe325"}, ] @@ -3914,13 +3934,13 @@ tqdm = "*" [[package]] name = "mistralai" -version = "1.2.2" +version = "1.2.3" description = "Python Client SDK for the Mistral AI API." optional = true python-versions = "<4.0,>=3.8" files = [ - {file = "mistralai-1.2.2-py3-none-any.whl", hash = "sha256:f34e1e05712b0224af9ea6ffbd71a2671543e8eee4af6f22d279aa22e0bece56"}, - {file = "mistralai-1.2.2.tar.gz", hash = "sha256:51d53336aebba7dd936a320e8b51d09f5dc30c5de8b21c080b1cad9aab6f561b"}, + {file = "mistralai-1.2.3-py3-none-any.whl", hash = "sha256:23902852829d1961f73cf1ecd387e8940f909f5b507c5f7fd32c7dae1a033119"}, + {file = "mistralai-1.2.3.tar.gz", hash = "sha256:096b1406f62d8262d06d3f2f826714b2da87540c9e8d829864702918149c3615"}, ] [package.dependencies] @@ -4213,13 +4233,13 @@ testing-docutils = ["pygments", "pytest (>=8,<9)", "pytest-param-files (>=0.6.0, [[package]] name = "narwhals" -version = "1.14.0" +version = "1.14.1" description = "Extremely lightweight compatibility layer between dataframe libraries" optional = false python-versions = ">=3.8" files = [ - {file = "narwhals-1.14.0-py3-none-any.whl", hash = "sha256:2498e5fa243d9e783df4f81e34fe33f0166d48f74d2db98d753e79510a6a1dd0"}, - {file = "narwhals-1.14.0.tar.gz", hash = "sha256:950071645e6a79dfed18a82940a9ac83238f30b3c4a8f3986e01db39bd5155b6"}, + {file = "narwhals-1.14.1-py3-none-any.whl", hash = "sha256:b737db277df174ca41b45950e50f48a738c88bd9b896398ffa8872e4e3930def"}, + {file = "narwhals-1.14.1.tar.gz", hash = "sha256:8262d77afec11960852e3f24d250e882575d9115ce7076df20b7c3bdce1281eb"}, ] [package.extras] @@ -5884,6 +5904,7 @@ description = "Pure-Python implementation of ASN.1 types and DER/BER/CER codecs optional = true python-versions = ">=3.8" files = [ + {file = "pyasn1-0.6.1-py3-none-any.whl", hash = "sha256:0d632f46f2ba09143da3a8afe9e33fb6f92fa2320ab7e886e2d0f7672af84629"}, {file = "pyasn1-0.6.1.tar.gz", hash = "sha256:6f580d2bdd84365380830acf45550f2511469f673cb4a5ae3857a3170128b034"}, ] @@ -5894,6 +5915,7 @@ description = "A collection of ASN.1-based protocols modules" optional = true python-versions = ">=3.8" files = [ + {file = "pyasn1_modules-0.4.1-py3-none-any.whl", hash = "sha256:49bfa96b45a292b711e986f222502c1c9a5e1f4e568fc30e2574a6c7d07838fd"}, {file = "pyasn1_modules-0.4.1.tar.gz", hash = "sha256:c28e2dbf9c06ad61c71a075c7e0f9fd0f1b0bb2d2ad4377f240d33ac2ab60a7c"}, ] @@ -6192,18 +6214,18 @@ model = ["milvus-model (>=0.1.0)"] [[package]] name = "pymupdf" -version = "1.24.13" +version = "1.24.14" description = "A high performance Python library for data extraction, analysis, conversion & manipulation of PDF (and other) documents." optional = true python-versions = ">=3.9" files = [ - {file = "PyMuPDF-1.24.13-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:c11bb9198af69d490b4b346421db827d875a28fbc760d239e691d4b3ed12b5ad"}, - {file = "PyMuPDF-1.24.13-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:240d5c43daa9278db50d609162b48f673ab256d7e5c73eea67af517c1fc2d47c"}, - {file = "PyMuPDF-1.24.13-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c830610e4fde237fcf0532f1f8c1381453f48c164a5eadd0c6e5fd0bea1ca8e3"}, - {file = "PyMuPDF-1.24.13-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:4520558580ac6b5a7164fda29fbc14e39d3114fd803420721500edbf47d04872"}, - {file = "PyMuPDF-1.24.13-cp39-abi3-win32.whl", hash = "sha256:ab22828d4fc205791ef1332a64893cbfc38cd9c331c5f46ae4537372ffee6fc1"}, - {file = "PyMuPDF-1.24.13-cp39-abi3-win_amd64.whl", hash = "sha256:ec17914e4a560f4070212a2e84db5cc8b561d85d1ead193605a22f9561b03148"}, - {file = "PyMuPDF-1.24.13.tar.gz", hash = "sha256:6ec3ab3c6d5cba60bfcf58daaa2d1a5b700b0366ce52be666445007351461fa4"}, + {file = "PyMuPDF-1.24.14-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:b3ad7a4f4b607ff97f2e1b8111823dd3797dbb381ec851c3ae4695fea6f68478"}, + {file = "PyMuPDF-1.24.14-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:755906af4b4d693552ae5469ba682075853f4dc8a70639affd1bd6c049c5d900"}, + {file = "PyMuPDF-1.24.14-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0de4f5ed903c2be6d0abcccdc796368939b51ce03916eb53292916e3b6ea65d6"}, + {file = "PyMuPDF-1.24.14-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:2d1b5c47df2f8055de5dedfbd3189c742188261a8c257f406378382adac94cff"}, + {file = "PyMuPDF-1.24.14-cp39-abi3-win32.whl", hash = "sha256:60a7ee7db3e0d3a4dcbe6df2781ba4487acb7e515c64ea9c857504f44effcb25"}, + {file = "PyMuPDF-1.24.14-cp39-abi3-win_amd64.whl", hash = "sha256:3d1f1ec2fe0249484afde7a0fc02589f19aaeb47c42939d23ae1d012aa1bc59b"}, + {file = "PyMuPDF-1.24.14.tar.gz", hash = "sha256:0eed9f998525eaf39706dbf2d0cf3162150f0f526e4a36b1748ffa50bde581ae"}, ] [[package]] @@ -7383,6 +7405,23 @@ files = [ {file = "ruff-0.4.10.tar.gz", hash = "sha256:3aa4f2bc388a30d346c56524f7cacca85945ba124945fe489952aadb6b5cd804"}, ] +[[package]] +name = "s3transfer" +version = "0.10.3" +description = "An Amazon S3 Transfer Manager" +optional = true +python-versions = ">=3.8" +files = [ + {file = "s3transfer-0.10.3-py3-none-any.whl", hash = "sha256:263ed587a5803c6c708d3ce44dc4dfedaab4c1a32e8329bab818933d79ddcf5d"}, + {file = "s3transfer-0.10.3.tar.gz", hash = "sha256:4f50ed74ab84d474ce614475e0b8d5047ff080810aac5d01ea25231cfc944b0c"}, +] + +[package.dependencies] +botocore = ">=1.33.2,<2.0a.0" + +[package.extras] +crt = ["botocore[crt] (>=1.33.2,<2.0a.0)"] + [[package]] name = "safetensors" version = "0.4.5" @@ -7675,13 +7714,13 @@ doc = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "sentence-transformers" -version = "3.3.0" +version = "3.3.1" description = "State-of-the-Art Text Embeddings" optional = true python-versions = ">=3.9" files = [ - {file = "sentence_transformers-3.3.0-py3-none-any.whl", hash = "sha256:5897c376fde1fea5f22a90ead2612278a464e52b8e42f1af95f84092c36bc23c"}, - {file = "sentence_transformers-3.3.0.tar.gz", hash = "sha256:b91f0aea4ada72ed5a7cdbe8a6245a7152d0d9f84f336383778f8568e406b008"}, + {file = "sentence_transformers-3.3.1-py3-none-any.whl", hash = "sha256:abffcc79dab37b7d18d21a26d5914223dd42239cfe18cb5e111c66c54b658ae7"}, + {file = "sentence_transformers-3.3.1.tar.gz", hash = "sha256:9635dbfb11c6b01d036b9cfcee29f7716ab64cf2407ad9f403a2e607da2ac48b"}, ] [package.dependencies] @@ -7819,13 +7858,13 @@ slack-sdk = ">=3.33.1,<4" [[package]] name = "slack-sdk" -version = "3.33.3" +version = "3.33.4" description = "The Slack API Platform SDK for Python" optional = true python-versions = ">=3.6" files = [ - {file = "slack_sdk-3.33.3-py2.py3-none-any.whl", hash = "sha256:0515fb93cd03b18de61f876a8304c4c3cef4dd3c2a3bad62d7394d2eb5a3c8e6"}, - {file = "slack_sdk-3.33.3.tar.gz", hash = "sha256:4cc44c9ffe4bb28a01fbe3264c2f466c783b893a4eca62026ab845ec7c176ff1"}, + {file = "slack_sdk-3.33.4-py2.py3-none-any.whl", hash = "sha256:9f30cb3c9c07b441c49d53fc27f9f1837ad1592a7e9d4ca431f53cdad8826cc6"}, + {file = "slack_sdk-3.33.4.tar.gz", hash = "sha256:5e109847f6b6a22d227609226ba4ed936109dc00675bddeb7e0bee502d3ee7e0"}, ] [package.extras] @@ -8101,13 +8140,13 @@ tests = ["cython", "littleutils", "pygments", "pytest", "typeguard"] [[package]] name = "starlette" -version = "0.41.2" +version = "0.41.3" description = "The little ASGI library that shines." optional = false python-versions = ">=3.8" files = [ - {file = "starlette-0.41.2-py3-none-any.whl", hash = "sha256:fbc189474b4731cf30fcef52f18a8d070e3f3b46c6a04c97579e85e6ffca942d"}, - {file = "starlette-0.41.2.tar.gz", hash = "sha256:9834fd799d1a87fd346deb76158668cfa0b0d56f85caefe8268e2d97c3468b62"}, + {file = "starlette-0.41.3-py3-none-any.whl", hash = "sha256:44cedb2b7c77a9de33a8b74b2b90e9f50d11fcf25d8270ea525ad71a25374ff7"}, + {file = "starlette-0.41.3.tar.gz", hash = "sha256:0e4ab3d16522a255be6b28260b938eae2482f98ce5cc934cb08dce8dc3ba5835"}, ] [package.dependencies] @@ -8726,13 +8765,13 @@ test = ["argcomplete (>=3.0.3)", "mypy (>=1.7.0)", "pre-commit", "pytest (>=7.0, [[package]] name = "transformers" -version = "4.46.2" +version = "4.46.3" description = "State-of-the-art Machine Learning for JAX, PyTorch and TensorFlow" optional = true python-versions = ">=3.8.0" files = [ - {file = "transformers-4.46.2-py3-none-any.whl", hash = "sha256:c921f4406b78e6518c97b618c5acd1cf8a4f2315b6b727f4bf9e01496eef849c"}, - {file = "transformers-4.46.2.tar.gz", hash = "sha256:3d85410881e1c074be767877bf33c83231ec11529f274a6044ecb20c157ba14e"}, + {file = "transformers-4.46.3-py3-none-any.whl", hash = "sha256:a12ef6f52841fd190a3e5602145b542d03507222f2c64ebb7ee92e8788093aef"}, + {file = "transformers-4.46.3.tar.gz", hash = "sha256:8ee4b3ae943fe33e82afff8e837f4b052058b07ca9be3cb5b729ed31295f72cc"}, ] [package.dependencies] @@ -8948,26 +8987,29 @@ urllib3 = ">=2" [[package]] name = "types-setuptools" -version = "75.5.0.20241116" +version = "75.5.0.20241119" description = "Typing stubs for setuptools" optional = false python-versions = ">=3.8" files = [ - {file = "types-setuptools-75.5.0.20241116.tar.gz", hash = "sha256:b6939ffdbc50ffdc0bcfbf14f7a6de1ddc5510906c1ca2bd62c23646e5798b1a"}, - {file = "types_setuptools-75.5.0.20241116-py3-none-any.whl", hash = "sha256:1144b2ab8fa986061f963391fdbde16df20582e3cc39c94340e71aa61cc7203f"}, + {file = "types-setuptools-75.5.0.20241119.tar.gz", hash = "sha256:2b1ec21346656aeb4f43fa6b70b223b4fa726e324c509a05f35611209f134014"}, + {file = "types_setuptools-75.5.0.20241119-py3-none-any.whl", hash = "sha256:6e7f1937a8b70cc5c724facc619da721b86d47ac673e3eb739e44d36afd260fc"}, ] [[package]] name = "types-tqdm" -version = "4.66.0.20240417" +version = "4.67.0.20241119" description = "Typing stubs for tqdm" optional = false python-versions = ">=3.8" files = [ - {file = "types-tqdm-4.66.0.20240417.tar.gz", hash = "sha256:16dce9ef522ea8d40e4f5b8d84dd8a1166eefc13ceee7a7e158bf0f1a1421a31"}, - {file = "types_tqdm-4.66.0.20240417-py3-none-any.whl", hash = "sha256:248aef1f9986b7b8c2c12b3cb4399fc17dba0a29e7e3f3f9cd704babb879383d"}, + {file = "types-tqdm-4.67.0.20241119.tar.gz", hash = "sha256:1769e0e94d5e6d8fa814965f9cf3d9928376dd15dabcbcb784bb8769081092b4"}, + {file = "types_tqdm-4.67.0.20241119-py3-none-any.whl", hash = "sha256:a18d4eb62db0d35c52707ae13d821b5a57970755273ecb56e133ccc0ac7e7c79"}, ] +[package.dependencies] +types-requests = "*" + [[package]] name = "typing-extensions" version = "4.12.2" @@ -9894,12 +9936,12 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", type = ["pytest-mypy"] [extras] -all = ["PyMuPDF", "accelerate", "agentops", "anthropic", "apify_client", "arxiv", "arxiv2text", "asknews", "azure-storage-blob", "beautifulsoup4", "botocore", "cohere", "datacommons", "datacommons_pandas", "datasets", "diffusers", "discord.py", "docker", "docx2txt", "duckduckgo-search", "firecrawl-py", "google-cloud-storage", "google-generativeai", "googlemaps", "imageio", "ipykernel", "jupyter_client", "litellm", "mistralai", "nebula3-python", "neo4j", "newspaper3k", "nltk", "notion-client", "openapi-spec-validator", "opencv-python", "pdfplumber", "pillow", "prance", "praw", "pyTelegramBotAPI", "pydub", "pygithub", "pymilvus", "pyowm", "qdrant-client", "rank-bm25", "redis", "reka-api", "requests_oauthlib", "scholarly", "sentence-transformers", "sentencepiece", "slack-bolt", "slack-sdk", "soundfile", "tavily-python", "textblob", "torch", "torch", "transformers", "unstructured", "wikipedia", "wolframalpha"] +all = ["PyMuPDF", "accelerate", "agentops", "anthropic", "apify_client", "arxiv", "arxiv2text", "asknews", "azure-storage-blob", "beautifulsoup4", "boto3", "botocore", "cohere", "datacommons", "datacommons_pandas", "datasets", "diffusers", "discord.py", "docker", "docx2txt", "duckduckgo-search", "firecrawl-py", "google-cloud-storage", "google-generativeai", "googlemaps", "imageio", "ipykernel", "jupyter_client", "litellm", "mistralai", "nebula3-python", "neo4j", "newspaper3k", "nltk", "notion-client", "openapi-spec-validator", "opencv-python", "pdfplumber", "pillow", "prance", "praw", "pyTelegramBotAPI", "pydub", "pygithub", "pymilvus", "pyowm", "qdrant-client", "rank-bm25", "redis", "reka-api", "requests_oauthlib", "scholarly", "sentence-transformers", "sentencepiece", "slack-bolt", "slack-sdk", "soundfile", "tavily-python", "textblob", "torch", "torch", "transformers", "unstructured", "wikipedia", "wolframalpha"] encoders = ["sentence-transformers"] graph-storages = ["nebula3-python", "neo4j"] huggingface-agent = ["accelerate", "datasets", "diffusers", "opencv-python", "sentencepiece", "soundfile", "torch", "torch", "transformers"] kv-stroages = ["redis"] -model-platforms = ["anthropic", "google-generativeai", "litellm", "mistralai", "reka-api"] +model-platforms = ["anthropic", "boto3", "google-generativeai", "litellm", "mistralai", "reka-api"] object-storages = ["azure-storage-blob", "botocore", "google-cloud-storage"] rag = ["cohere", "nebula3-python", "neo4j", "pymilvus", "qdrant-client", "rank-bm25", "sentence-transformers", "unstructured"] retrievers = ["cohere", "rank-bm25"] @@ -9911,4 +9953,4 @@ vector-databases = ["pymilvus", "qdrant-client"] [metadata] lock-version = "2.0" python-versions = ">=3.10,<3.13" -content-hash = "3b39b36b876fe09771ae568690559c83b030becae57cfb2cddd0482d21d395e7" +content-hash = "5f062580a300c54b102ceb85937b1034e34f0542aa6b7ffb0a49cc44c1507905" diff --git a/pyproject.toml b/pyproject.toml index 045a866fc8..fca4f1a6c8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -48,6 +48,7 @@ google-generativeai = { version = "^0.6.0", optional = true } mistralai = { version = "^1.1.0", optional = true } reka-api = { version = "^3.0.8", optional = true } anthropic = { version = "^0.29.0", optional = true } +boto3 = { version = "^1.35.64", optional = true } # huggingface-agent transformers = { version = "^4", optional = true } @@ -157,6 +158,7 @@ model-platforms = [ "mistralai", "reka-api", "anthropic", + "boto3", ] huggingface-agent = [ @@ -305,6 +307,7 @@ all = [ "google-generativeai", "anthropic", "reka-api", + "boto3", # kv-storages "redis", # object-storages @@ -442,6 +445,7 @@ module = [ "pydub", "pygithub", "litellm", + "boto3", "pyTelegramBotAPI", "discord.py", "docker.*", From 58f32111744c52957dcd8fb736b834e17fdb80d4 Mon Sep 17 00:00:00 2001 From: asher Date: Wed, 20 Nov 2024 21:23:11 -0800 Subject: [PATCH 2/6] update --- camel/configs/bedrock_config.py | 16 ++++++---- camel/models/aws_bedrock_model.py | 32 ++++++++++++++----- examples/models/aws_bedrock_model_example.py | 2 ++ examples/models/me.png | Bin 0 -> 182147 bytes 4 files changed, 35 insertions(+), 15 deletions(-) create mode 100644 examples/models/me.png diff --git a/camel/configs/bedrock_config.py b/camel/configs/bedrock_config.py index c8f84ca4ed..bfc1672e3b 100644 --- a/camel/configs/bedrock_config.py +++ b/camel/configs/bedrock_config.py @@ -11,7 +11,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # =========== Copyright 2023 @ CAMEL-AI.org. All Rights Reserved. =========== -from typing import Optional +from typing import Optional, Union from camel.configs.base_config import BaseConfig @@ -23,14 +23,16 @@ class BedrockConfig(BaseConfig): Args: maxTokens (int, optional): The maximum number of tokens. temperatue (float, optional): Controls the randomness of the output. - top_k (int, optional): Only sample from the top K options for each - subsequent token. top_p (float, optional): Use nucleus sampling. + top_k (int, optional): Use top-k sampling. + tool_choice (Union[dict[str, str], str], optional): The tool choice. """ - max_tokens: Optional[int] = 400 - temperature: Optional[float] = 0.7 - top_p: Optional[float] = 0.7 - + max_tokens: Optional[int] = None + temperature: Optional[float] = None + top_p: Optional[float] = None + top_k: Optional[int] = None + tool_choice: Optional[Union[dict[str, str], str]] = None + BEDROCK_API_PARAMS = {param for param in BedrockConfig.model_fields.keys()} \ No newline at end of file diff --git a/camel/models/aws_bedrock_model.py b/camel/models/aws_bedrock_model.py index 1411b43db7..be9484bc3b 100644 --- a/camel/models/aws_bedrock_model.py +++ b/camel/models/aws_bedrock_model.py @@ -78,6 +78,13 @@ def __init__( secret_access_key or os.environ.get("AWS_SECRET_ACCESS_KEY") ) access_key_id = access_key_id or os.environ.get("AWS_ACCESS_KEY_ID") + self.toolconfig = {} + self.model_config = {} + extra_config = self.model_config_dict + self.model_config['maxTokens'] = extra_config.pop('max_tokens', None) + self.model_config['topP'] = extra_config.pop('top_p', None) + self.toolconfig['tools'] = extra_config.pop('tools', None) + self.toolconfig['toolChoices'] = extra_config.pop('tool_choices', None) self.client = boto3.client( service_name = 'bedrock-runtime', region_name=region_name, @@ -93,7 +100,7 @@ def token_counter(self) -> BaseTokenCounter: return self._token_counter @api_keys_required("AWS_SECRET_ACCESS_KEY", "AWS_ACCESS_KEY_ID") - def run(self, message: List[OpenAIMessage]) -> ChatCompletion: + def run(self, messages: List[OpenAIMessage]) -> ChatCompletion: r"""Runs the query to the backend model. Args: @@ -104,15 +111,23 @@ def run(self, message: List[OpenAIMessage]) -> ChatCompletion: ChatCompletion: The response object in OpenAI's format. """ try: - print(self._to_aws_bedrock_msg(message)) - model_config = self.model_config_dict - model_config['maxTokens'] = model_config.pop('max_tokens') - model_config['topP'] = model_config.pop('top_p') - model_config.pop('tools') + system_messages = [ + msg for msg in messages if msg["role"] == "system" + ] + messages = [ + msg for msg in messages if msg["role"] != "system" + ] + system_prompt = ( + [{"text": system_messages[0]["content"]}] + if system_messages else None + ) response = self.client.converse( modelId=self.model_type, - messages=self._to_aws_bedrock_msg(message), - inferenceConfig=model_config, + system = system_prompt, + messages=self._to_aws_bedrock_msg(messages), + inferenceConfig=self.model_config, + toolConfig=self.toolconfig, + additional_model_fieds = self.model_config_dict, ) return self._to_openai_response(response) except Exception as e: @@ -129,6 +144,7 @@ def _to_aws_bedrock_msg(self, message) -> List[Dict[str, Any]]: List[Dict[str, Any]]: Message list with the chat history in AWS Bedrock API format. """ + print(message) bedrock_messages = [] for msg in message: if msg["role"] not in ['assistant', 'user']: diff --git a/examples/models/aws_bedrock_model_example.py b/examples/models/aws_bedrock_model_example.py index a2625d7547..76ffe0bcbb 100644 --- a/examples/models/aws_bedrock_model_example.py +++ b/examples/models/aws_bedrock_model_example.py @@ -15,10 +15,12 @@ from camel.types import ModelPlatformType from camel.agents import ChatAgent + model = ModelFactory.create( model_platform=ModelPlatformType.AWS_BEDROCK, model_type="meta.llama3-70b-instruct-v1:0", ) +# sys_msg = "You are a helpful assistant." camel_agent = ChatAgent(model=model) diff --git a/examples/models/me.png b/examples/models/me.png new file mode 100644 index 0000000000000000000000000000000000000000..e558ce3a712963bd77e68f9df616e4962d2faf09 GIT binary patch literal 182147 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

8wtK7LPu#br5>hNbQ7y{}# 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 Bb>{#8 literal 0 HcmV?d00001 From cafc88f69bc0e91552c616079dd20a03990d8840 Mon Sep 17 00:00:00 2001 From: asher Date: Thu, 21 Nov 2024 03:08:23 -0800 Subject: [PATCH 3/6] update --- camel/configs/bedrock_config.py | 10 +- camel/models/aws_bedrock_model.py | 149 ++++++++++++------- examples/models/aws_bedrock_model_example.py | 5 +- examples/models/me.png | Bin 182147 -> 0 bytes examples/toolkits/github_toolkit.py | 74 --------- 5 files changed, 105 insertions(+), 133 deletions(-) delete mode 100644 examples/models/me.png diff --git a/camel/configs/bedrock_config.py b/camel/configs/bedrock_config.py index bfc1672e3b..30cb7da296 100644 --- a/camel/configs/bedrock_config.py +++ b/camel/configs/bedrock_config.py @@ -28,11 +28,11 @@ class BedrockConfig(BaseConfig): tool_choice (Union[dict[str, str], str], optional): The tool choice. """ - max_tokens: Optional[int] = None - temperature: Optional[float] = None - top_p: Optional[float] = None + max_tokens: Optional[int] = 400 + temperature: Optional[float] = 0.7 + top_p: Optional[float] = 0.7 top_k: Optional[int] = None tool_choice: Optional[Union[dict[str, str], str]] = None - -BEDROCK_API_PARAMS = {param for param in BedrockConfig.model_fields.keys()} \ No newline at end of file + +BEDROCK_API_PARAMS = {param for param in BedrockConfig.model_fields.keys()} diff --git a/camel/models/aws_bedrock_model.py b/camel/models/aws_bedrock_model.py index be9484bc3b..8255206791 100644 --- a/camel/models/aws_bedrock_model.py +++ b/camel/models/aws_bedrock_model.py @@ -13,21 +13,18 @@ # =========== Copyright 2023 @ CAMEL-AI.org. All Rights Reserved. =========== import os import time -from typing import Dict, Any, Optional, Union, List +from typing import Any, Dict, List, Optional, Union -import boto3 # type: ignore - -from camel.messages import OpenAIMessage from camel.configs import BEDROCK_API_PARAMS, BedrockConfig +from camel.messages import OpenAIMessage from camel.models.base_model import BaseModelBackend -from camel.types import ModelType, ChatCompletion -from camel.utils import BaseTokenCounter +from camel.types import ChatCompletion, ModelType from camel.utils import ( - BaseTokenCounter, - OpenAITokenCounter, + BaseTokenCounter, + OpenAITokenCounter, api_keys_required, dependencies_required, - ) +) class AWSBedrockModel(BaseModelBackend): @@ -45,7 +42,7 @@ class AWSBedrockModel(BaseModelBackend): access_key_id (Optional[str], optional): The access key ID for authenticating with the AWS Bedrock service. (default: :obj:`None`) api_key (Optional[str], optional): This parameter is not used. - url (Optional[str], optional): This parameter is not used. + url (Optional[str], optional): This parameter is not used. token_counter (Optional[BaseTokenCounter], optional): Token counter to use for the model. If not provided, :obj:`OpenAITokenCounter( ModelType.GPT_4O_MINI)` will be used. @@ -69,36 +66,42 @@ def __init__( token_counter: Optional[BaseTokenCounter] = None, region_name: Optional[str] = "eu-west-2", ) -> None: + import boto3 + + if model_config_dict is None: + self.model_config_dict = BedrockConfig().as_dict() super().__init__( model_type, model_config_dict, api_key, url, token_counter ) - if model_config_dict is None: - self.model_config_dict = BedrockConfig().as_dict() - secret_access_key = ( - secret_access_key or os.environ.get("AWS_SECRET_ACCESS_KEY") + secret_access_key = secret_access_key or os.environ.get( + "AWS_SECRET_ACCESS_KEY" ) access_key_id = access_key_id or os.environ.get("AWS_ACCESS_KEY_ID") + self.model_config_dict.setdefault('max_tokens', 400) self.toolconfig = {} self.model_config = {} - extra_config = self.model_config_dict - self.model_config['maxTokens'] = extra_config.pop('max_tokens', None) - self.model_config['topP'] = extra_config.pop('top_p', None) - self.toolconfig['tools'] = extra_config.pop('tools', None) - self.toolconfig['toolChoices'] = extra_config.pop('tool_choices', None) + self.model_config['maxTokens'] = self.model_config_dict.get( + 'max_tokens', 400 + ) + self.model_config['topP'] = self.model_config_dict.get('top_p', 0.7) + + tool_choice = self.model_config_dict.get('tool_choice', None) + if tool_choice is not None: + self.toolconfig['toolChoice'] = tool_choice self.client = boto3.client( - service_name = 'bedrock-runtime', + service_name='bedrock-runtime', region_name=region_name, aws_access_key_id=access_key_id, aws_secret_access_key=secret_access_key, ) - + @property def token_counter(self) -> BaseTokenCounter: r"""Token counter for the model.""" if not self._token_counter: self._token_counter = OpenAITokenCounter(ModelType.GPT_4O_MINI) return self._token_counter - + @api_keys_required("AWS_SECRET_ACCESS_KEY", "AWS_ACCESS_KEY_ID") def run(self, messages: List[OpenAIMessage]) -> ChatCompletion: r"""Runs the query to the backend model. @@ -114,26 +117,36 @@ def run(self, messages: List[OpenAIMessage]) -> ChatCompletion: system_messages = [ msg for msg in messages if msg["role"] == "system" ] - messages = [ - msg for msg in messages if msg["role"] != "system" - ] + messages = [msg for msg in messages if msg["role"] != "system"] system_prompt = ( - [{"text": system_messages[0]["content"]}] - if system_messages else None - ) - response = self.client.converse( - modelId=self.model_type, - system = system_prompt, - messages=self._to_aws_bedrock_msg(messages), - inferenceConfig=self.model_config, - toolConfig=self.toolconfig, - additional_model_fieds = self.model_config_dict, + [{"text": system_messages[0]["content"]}] + if system_messages + else None ) + tools = self.model_config_dict.get('tools', None) + if tools is not None: + self.toolconfig['tools'] = self.transform_tool(tools) + request_params = { + 'modelId': self.model_type, + 'messages': self._to_aws_bedrock_msg(messages), + 'inferenceConfig': self.model_config, + } + if system_prompt: + request_params['system'] = system_prompt + if self.toolconfig: + request_params['toolConfig'] = self.toolconfig + if 'top_k' in self.model_config_dict: + request_params['additionalModelRequestFields'] = { + 'top_k': self.model_config_dict['top_k'], + } + response = self.client.converse(**request_params) return self._to_openai_response(response) except Exception as e: raise ValueError(f"Error in AWS Bedrock API: {e}") - def _to_aws_bedrock_msg(self, message) -> List[Dict[str, Any]]: + def _to_aws_bedrock_msg( + self, message: List[OpenAIMessage] + ) -> List[Dict[str, Any]]: r"""Converts a message from OpenAI format to the AWS Bedrock format. Args: @@ -144,30 +157,31 @@ def _to_aws_bedrock_msg(self, message) -> List[Dict[str, Any]]: List[Dict[str, Any]]: Message list with the chat history in AWS Bedrock API format. """ - print(message) bedrock_messages = [] for msg in message: if msg["role"] not in ['assistant', 'user']: raise ValueError(f"Invalid role '{msg['role']}' in message.") role = 'assistant' if msg["role"] == 'assistant' else 'user' - bedrock_messages.append({ - "role": role, - "content": [{"text": msg["content"]}], - }) + bedrock_messages.append( + { + "role": role, + "content": [{"text": msg["content"]}], + } + ) return bedrock_messages - - def _to_openai_response(self, response) -> ChatCompletion: - r"""Converts a response from the AWS Bedrock format to the OpenAI + + def _to_openai_response(self, response: Dict) -> ChatCompletion: + r"""Converts a response from the AWS Bedrock format to the OpenAI format. Args: response (Dict[str, Any]): The response object from AWS Bedrock. - + Returns: ChatCompletion: The response object in OpenAI's format. """ return ChatCompletion.construct( - id = response["ResponseMetadata"]["RequestId"], + id=response["ResponseMetadata"]["RequestId"], object='chat.completion', created=int(time.time()), model=self.model_type, @@ -176,7 +190,9 @@ def _to_openai_response(self, response) -> ChatCompletion: "index": 0, "message": { "role": response['output']['message']['role'], - "content": response['output']['message']['content'][0]['text'], + "content": response['output']['message']['content'][0][ + 'text' + ], }, "finish_reason": response['stopReason'], } @@ -184,10 +200,41 @@ def _to_openai_response(self, response) -> ChatCompletion: usage={ 'prompt_tokens': response['usage']['inputTokens'], 'completion_tokens': response['usage']['outputTokens'], - 'total_tokens': response['usage']['totalTokens'] - } + 'total_tokens': response['usage']['totalTokens'], + }, ) - + + def transform_tool(self, tools: List) -> List: + r"""Transforms a tool name to the AWS Bedrock format. + + Args: + tools (List): List of tools. + + Returns: + List: List of tools in the AWS Bedrock format. + """ + transform_tools = [] + for tool in tools: + tool_func = tool["function"] + tool_func_params = tool_func["parameters"] + + transform_tools.append( + { + "toolSpec": { + "name": tool_func["name"], + "description": tool_func["description"], + "inputSchema": { + "json": { + "type": tool_func_params["type"], + "properties": tool_func_params["properties"], + "required": tool_func_params["required"], + } + }, + } + } + ) + return transform_tools + def check_model_config(self): r"""Check whether the input model configuration contains unexpected arguments. @@ -201,4 +248,4 @@ def check_model_config(self): raise ValueError( f"Invalid parameter '{param}' in model_config_dict. " f"Valid parameters are: {BEDROCK_API_PARAMS}" - ) \ No newline at end of file + ) diff --git a/examples/models/aws_bedrock_model_example.py b/examples/models/aws_bedrock_model_example.py index 76ffe0bcbb..12efe70993 100644 --- a/examples/models/aws_bedrock_model_example.py +++ b/examples/models/aws_bedrock_model_example.py @@ -11,10 +11,9 @@ # See the License for the specific language governing permissions and # limitations under the License. # =========== Copyright 2023 @ CAMEL-AI.org. All Rights Reserved. =========== +from camel.agents import ChatAgent from camel.models import ModelFactory from camel.types import ModelPlatformType -from camel.agents import ChatAgent - model = ModelFactory.create( model_platform=ModelPlatformType.AWS_BEDROCK, @@ -41,4 +40,4 @@ the field. Let's explore the possibilities of autonomous and communicative agents together! =============================================================================== -''' \ No newline at end of file +''' diff --git a/examples/models/me.png b/examples/models/me.png deleted file mode 100644 index e558ce3a712963bd77e68f9df616e4962d2faf09..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 182147 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

8wtK7LPu#br5>hNbQ7y{}# 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 Bb>{#8 diff --git a/examples/toolkits/github_toolkit.py b/examples/toolkits/github_toolkit.py index 2c6c2132b7..d963f8cc82 100644 --- a/examples/toolkits/github_toolkit.py +++ b/examples/toolkits/github_toolkit.py @@ -11,77 +11,3 @@ # See the License for the specific language governing permissions and # limitations under the License. # =========== Copyright 2023 @ CAMEL-AI.org. All Rights Reserved. =========== - -from camel.toolkits import GithubToolkit - -gt = GithubToolkit(repo_name="camel-ai/camel") - -# Retrieve a list of all file paths within the camel GitHub repository -paths = gt.get_all_file_paths() -print(paths) -''' -=============================================================================== -['.container/.env.example', '.container/Dockerfile', '.container/README.md', '. -container/docker-compose.yaml', '.container/minimal_build/Dockerfile', '. -github/ISSUE_TEMPLATE/bug_report.yml', '.github/ISSUE_TEMPLATE/discussions. -yml', '.github/ISSUE_TEMPLATE/feature_request.yml', '.github/ISSUE_TEMPLATE/ -questions.yml', '.github/PULL_REQUEST_TEMPLATE.md', '.github/actions/ -camel_install/action.yml', '.github/workflows/build_package.yml', '.github/ -workflows/documentation.yml', '.github/workflows/pre_commit.yml', '.github/ -workflows/publish_release.yml', '.github/workflows/pytest_apps.yml', '.github/ -workflows/pytest_package.yml', '.gitignore', '.pre-commit-config.yaml', '. -style.yapf', 'CONTRIBUTING.md', 'LICENSE', 'Makefile', 'README.md', 'apps/ -agents/README.md', 'apps/agents/agents.py', 'apps/agents/test/test_agents.py', -'apps/agents/test/test_text_utils.py', 'apps/agents/text_utils.py', 'apps/ -common/auto_zip.py', 'apps/common/test/test_archive_1.zip', 'apps/common/test/ -test_auto_zip.py', 'apps/data_explorer/.gitignore', 'apps/data_explorer/README. -md', 'apps/data_explorer/data_explorer.py', 'apps/data_explorer/downloader. -py', 'apps/data_explorer/loader.py', 'apps/data_explorer/test/ -test_data_explorer.py', 'apps/data_explorer/test/test_loader.py', 'apps/ -dilemma/database_connection.py', 'apps/dilemma/dilemma.py', 'apps/dilemma/ -requirements.txt', 'camel/__init__.py', 'camel/agents/__init__.py', 'camel/ -agents/base.py', 'camel/agents/chat_agent.py', 'camel/agents/critic_agent.py', -'camel/agents/deductive_reasoner_agent.py',... -=============================================================================== -''' - -# Retrieve the content of a specific file in the repository -content = gt.retrieve_file_content("camel/agents/chat_agent.py") -print(content[:1000]) -''' -=============================================================================== -# =========== Copyright 2023 @ CAMEL-AI.org. All Rights Reserved. =========== -# Licensed under the Apache License, Version 2.0 (the “License”); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an “AS IS” BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# =========== Copyright 2023 @ CAMEL-AI.org. All Rights Reserved. =========== -from __future__ import annotations - -import json -import logging -import re -import uuid -from collections import defaultdict -from typing import ( - TYPE_CHECKING, - Any, - Dict, - List, - Optional, - Tuple, - Type, - Union, -) - -from openai.types.chat import ChatCompletionMessageToolCall -f -=============================================================================== -''' From bad26bedecc2437ee44a5861183b4457a54a2ecd Mon Sep 17 00:00:00 2001 From: asher Date: Thu, 21 Nov 2024 03:14:09 -0800 Subject: [PATCH 4/6] update --- poetry.lock | 528 +++++++++++++++++++++++++++++----------------------- 1 file changed, 290 insertions(+), 238 deletions(-) diff --git a/poetry.lock b/poetry.lock index 2b0d56a611..e0875423ca 100644 --- a/poetry.lock +++ b/poetry.lock @@ -95,87 +95,87 @@ files = [ [[package]] name = "aiohttp" -version = "3.11.5" +version = "3.11.6" description = "Async http client/server framework (asyncio)" optional = true python-versions = ">=3.9" files = [ - {file = "aiohttp-3.11.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:6f9afa6500aed9d3ea6d8bdd1dfed19252bb254dfc8503660c50bee908701c2a"}, - {file = "aiohttp-3.11.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:732ab84706bcfd2f2f16ea76c125a2025c1c747fc14db88ec1a7223ba3f2b9de"}, - {file = "aiohttp-3.11.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3e6808209e3e2dc87980116234a59d1cb0857cd0e5273898a8fa2117fe3e3f9b"}, - {file = "aiohttp-3.11.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5add1f3dea8dcbaa6408de3f29f8dfaa663db703a62b1986ec65f12a54027854"}, - {file = "aiohttp-3.11.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f01131f46ed4d5361be6b362035a73ad1cea13819705dce4a969d9ee46fdbe8f"}, - {file = "aiohttp-3.11.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2bcd19a61db6a0b0f503f62faae0871b79a03dd2253787c60bb2436ff52619dc"}, - {file = "aiohttp-3.11.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c9fd4e6ad1bb64f4794fbe4a082e5a4ac7680753adc9599ef2fb0bffc2a39027"}, - {file = "aiohttp-3.11.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bd49e76cbdc0f89539124fd12bf273b81eb3b5c9798e60736d6812747723311b"}, - {file = "aiohttp-3.11.5-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:633ef6e990032341305254f826602b93c38cde5f5154470ce031ec8735fdf909"}, - {file = "aiohttp-3.11.5-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:ceaddd89dbe146f3b48181160e3267736566ee3fa933d20512d3955adc0f5fd3"}, - {file = "aiohttp-3.11.5-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:f35f169d67b20a8104ea5c2660ae352aacdc95aa0461b227a5482e2c29638b54"}, - {file = "aiohttp-3.11.5-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:fdaf5b03c1328ca63a2c9cb24a5479e808ddd62132ccb3187015b727313c1375"}, - {file = "aiohttp-3.11.5-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:2766e6a246e4be9156d27f86fdf49d04a96a696a5cfcbe60aeb29bbfe91305c8"}, - {file = "aiohttp-3.11.5-cp310-cp310-win32.whl", hash = "sha256:a57c32e01a3ef97b841012fdcffcf73c372296b4c7bda1d67fd63c128b7adb30"}, - {file = "aiohttp-3.11.5-cp310-cp310-win_amd64.whl", hash = "sha256:46bb88bcee78aedfd0b664a92f6192ed776432862f9050772f0333b556e19d7c"}, - {file = "aiohttp-3.11.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:006546319eec664a32b8574bcf095880530fb431e58a290b0a39060def8734c4"}, - {file = "aiohttp-3.11.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:afe368c244920218a9dff7ffcdad023e4959a7be2ce61a6c459812ad09daaf8b"}, - {file = "aiohttp-3.11.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:eb3731dbe8b3608b09c1e6c3948a86365d8b22e649c0e24ef9e94d23d8108241"}, - {file = "aiohttp-3.11.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5ba5aa61e4e557d8beeb6c3937d7591a9c2cd35b26d1d523e782d8222e6bdd56"}, - {file = "aiohttp-3.11.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a93b33cf3445a1c28e85f1b84b948625fa667ec4a48b59b7dd8e006a6fb841ff"}, - {file = "aiohttp-3.11.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e6ec3dab142a06e284b48de132e1938dddc866fae5006781985893d4cec7909a"}, - {file = "aiohttp-3.11.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b7892ec8b75a025bb0d60f49850fcf3a81888f92ffa0689c20e0625c03a7e329"}, - {file = "aiohttp-3.11.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ebf4e11938bb0251485fde7c94d7ac2b0c39a738f4b3f3c683746b85de55768a"}, - {file = "aiohttp-3.11.5-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d6d70ba0a3c8ecb18328c9530f360dec68ea7c1c8219b0a0b3aad4d13c190ae2"}, - {file = "aiohttp-3.11.5-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:cdddd330512e5c66006367d5d91170e4d16522277de79551c80843c22c97cd16"}, - {file = "aiohttp-3.11.5-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:0aa667554a0bbe9ce75f071876adcc294d5d487141b6142068c309fee4249e33"}, - {file = "aiohttp-3.11.5-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:189a1f63264c69d20f45461a8a9cd0a7fe23ec6fd8ecbe3b14cd017f651329ea"}, - {file = "aiohttp-3.11.5-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:16fb393dff37de88039152d8a45c5e4f31a6785222b606c9b0eaec73f4dac84d"}, - {file = "aiohttp-3.11.5-cp311-cp311-win32.whl", hash = "sha256:8c0ca3a4c2ffce0204ed2af90760dcb97d9c7334b66af2e4e11a64bbf2d2873e"}, - {file = "aiohttp-3.11.5-cp311-cp311-win_amd64.whl", hash = "sha256:f9c2470432ebb7c8e094fd5c164cb355df752662c7ef59153d38651d0c540b2f"}, - {file = "aiohttp-3.11.5-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:3f21c6d1fae17f4466af3796975ab34010db3ac1f0d688272a6ce2f9fa2a4ea5"}, - {file = "aiohttp-3.11.5-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f2041691ac9a4ac5f3ccda419efdbd97f3b25bcc64c5badf57a85a69b8579268"}, - {file = "aiohttp-3.11.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7ad77209639aa7f8d1bd87bd0aa961cac791658c9dd1d32225cbabee95b70bd4"}, - {file = "aiohttp-3.11.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca5c02fec19113abb7d9df9350471fa1ed25f76ad24be81690c96b3b759da795"}, - {file = "aiohttp-3.11.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:35c429f0f761619ea659cfe5bed5c26bc62c5e09c2da28b5ee86d006b1a1eb4d"}, - {file = "aiohttp-3.11.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:68f0f8213e891b81800812ec70c58bac3899f4828e7ad14ba5997c26dd88aa6f"}, - {file = "aiohttp-3.11.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:381c1d8334fb010968dfc8eb1140ed349c5ade9ba20feb0aee2a047d9af0b7a5"}, - {file = "aiohttp-3.11.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0ea7b22c2569007df2c39dbe72b7c7cf4e6f6424b505545c68fde8495a35bcc9"}, - {file = "aiohttp-3.11.5-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:50d8784cdc111ed0709debe595be831ebb1f0c536b0840684d02fd12d100a092"}, - {file = "aiohttp-3.11.5-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0a7a8915129e6e9b43b5e2f13e0533314462f34e8f8589fb388b8f35becb997e"}, - {file = "aiohttp-3.11.5-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c7e0cdfdc6ea4b974c3d546e683bf5a408a8777886c7ec389a780da58a8aa284"}, - {file = "aiohttp-3.11.5-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:9a23bd19042768281c06858a55ee3d85e572111681e5f5dd68ebd27a6ae1e2af"}, - {file = "aiohttp-3.11.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:304316862900286574e38dbd58c9c5c25dfd52bcfea16514a00dd741f992871e"}, - {file = "aiohttp-3.11.5-cp312-cp312-win32.whl", hash = "sha256:3e0f4119290d432fa7babfc76cbde4f3e21b826240ba51a6d4fdb82935cf82bd"}, - {file = "aiohttp-3.11.5-cp312-cp312-win_amd64.whl", hash = "sha256:1fe98b92f943b00e1831aece85638af6ca6c699f82625f7a6c64a2543b7a9769"}, - {file = "aiohttp-3.11.5-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:e8407cc7801e2c8a0f22641f8451d05dcc41da818efa96bde2068729c3c264c5"}, - {file = "aiohttp-3.11.5-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f26e5ea97665847a449452e73ffdb89edd373d2277ba954813776816ac1c0b8a"}, - {file = "aiohttp-3.11.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:77d58df6820601e45b8577fb1d14a504c6a10315ee794e03549aed00e3a1a0ae"}, - {file = "aiohttp-3.11.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ebceca202221bb6fa30312558a055b6aefff448667e4f48a2cd9c32139b969f8"}, - {file = "aiohttp-3.11.5-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a80d9c44c3b60262c9335ba35b086f7e188fd2f6e45ff2ff0b0f6e350452f6c0"}, - {file = "aiohttp-3.11.5-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f0a694f03167e00d685582693f93b043ed37e40feb7065cc350930d2917126e9"}, - {file = "aiohttp-3.11.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d15f94b5717c4b9f2e14c02a0fad97214330ca1ef9673db033166eced098b2cb"}, - {file = "aiohttp-3.11.5-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c79793f89623ea83a0de4a38facf8beef956837be32bc48c3ac76e346254e974"}, - {file = "aiohttp-3.11.5-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ac1cdc0b3d552cad60fca276da5713c678a155581a77dd6898ab96fed018188c"}, - {file = "aiohttp-3.11.5-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:035f34af40203ae94d2700ba732706f42222b4c428aa6cea43333cc8c0f9e4c7"}, - {file = "aiohttp-3.11.5-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:31df961cf559f8cf430b70977a7c95747a0ef24d5bb8f2365751b72964a8ceab"}, - {file = "aiohttp-3.11.5-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:afd046ab8ed14434c3c39300a5f3e5d2f993b9c8dfb3b21b6367e780caae208f"}, - {file = "aiohttp-3.11.5-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:44ab58914199ba57f7b95ccb38fcf27d94334eaf0d308aaea09012b878254bc0"}, - {file = "aiohttp-3.11.5-cp313-cp313-win32.whl", hash = "sha256:c147edaeee6a70cfc9e3edca45f7533a85bbd169d352a1355ceff97f4b75cf57"}, - {file = "aiohttp-3.11.5-cp313-cp313-win_amd64.whl", hash = "sha256:8df9e2f6e31c75519afe5a75af0eab47893884bcf5d8493dfc89c4dfe2bfb695"}, - {file = "aiohttp-3.11.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:933242d5316337c775a4ae9ce82e75c9e53ee43f39e5f7202114747f3cd95e08"}, - {file = "aiohttp-3.11.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b48be2532572aba7f0fcc660a59a0ae31fbe1fdf58b91b3e8e6ed2c118a8f662"}, - {file = "aiohttp-3.11.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:385d6527b2c72dff1a3a3336cb688a493057193a1671d091189116a833c50477"}, - {file = "aiohttp-3.11.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c683e440f0e1a23e0406aff6138b20de57215f9ad241391761831d12f56408ed"}, - {file = "aiohttp-3.11.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:efd327e40300a507073e8bbf11897c3e294be13b0fee4f7e11812153da0515b0"}, - {file = "aiohttp-3.11.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ebae6dd32a35bf888abf27598f3f4f1b9a267eec384a850e25e8fc684ff558c0"}, - {file = "aiohttp-3.11.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:549236995649fbd8fb53eeafad0673f8953aeaa97ae2d010ee534a43373cc989"}, - {file = "aiohttp-3.11.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1fa82b697ab1b3ba94e607aab9ef6aaf618cd47e44a24f112b633517a5a0be83"}, - {file = "aiohttp-3.11.5-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:c89ddb0aeeae8facd72644ec6809bba2dd2936cba81d871177b7af311de661db"}, - {file = "aiohttp-3.11.5-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:04e2f8cbeefd0e06c1dcea28f9a87a2c769eab136301795b49ebf31c54282a63"}, - {file = "aiohttp-3.11.5-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:62e8b91a03d0e667f77c60672b9e10cd5f5432c1b0c2a6a32a24951e2d79a460"}, - {file = "aiohttp-3.11.5-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:e701291a1143b2eb3f4b6343482c9c94310dbe07dc7b3015b2fc84ec3116ea12"}, - {file = "aiohttp-3.11.5-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7c542c9af3e22d31cf4baebe7bb131d2ef9e35acad397800b8a6a2b09487f7d8"}, - {file = "aiohttp-3.11.5-cp39-cp39-win32.whl", hash = "sha256:392836687024fd61272c4598f5b144d0581969fd6506145dec6161a5789f54da"}, - {file = "aiohttp-3.11.5-cp39-cp39-win_amd64.whl", hash = "sha256:382a0838b433f42dca78c1375c08cb822e514dadf9c5364307fade830ff5e81e"}, - {file = "aiohttp-3.11.5.tar.gz", hash = "sha256:7b857fdad5f95d05bbd27c68cdd549889287dea7fe3376265a8a85d554deec1e"}, + {file = "aiohttp-3.11.6-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7510b3ca2275691875ddf072a5b6cd129278d11fe09301add7d292fc8d3432de"}, + {file = "aiohttp-3.11.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bfab0d2c3380c588fc925168533edb21d3448ad76c3eadc360ff963019161724"}, + {file = "aiohttp-3.11.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cf02dba0f342f3a8228f43fae256aafc21c4bc85bffcf537ce4582e2b1565188"}, + {file = "aiohttp-3.11.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:92daedf7221392e7a7984915ca1b0481a94c71457c2f82548414a41d65555e70"}, + {file = "aiohttp-3.11.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2274a7876e03429e3218589a6d3611a194bdce08c3f1e19962e23370b47c0313"}, + {file = "aiohttp-3.11.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8a2e1eae2d2f62f3660a1591e16e543b2498358593a73b193006fb89ee37abc6"}, + {file = "aiohttp-3.11.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:978ec3fb0a42efcd98aae608f58c6cfcececaf0a50b4e86ee3ea0d0a574ab73b"}, + {file = "aiohttp-3.11.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a51f87b27d9219ed4e202ed8d6f1bb96f829e5eeff18db0d52f592af6de6bdbf"}, + {file = "aiohttp-3.11.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:04d1a02a669d26e833c8099992c17f557e3b2fdb7960a0c455d7b1cbcb05121d"}, + {file = "aiohttp-3.11.6-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3679d5fcbc7f1ab518ab4993f12f80afb63933f6afb21b9b272793d398303b98"}, + {file = "aiohttp-3.11.6-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:a4b24e03d04893b5c8ec9cd5f2f11dc9c8695c4e2416d2ac2ce6c782e4e5ffa5"}, + {file = "aiohttp-3.11.6-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:d9abdfd35ecff1c95f270b7606819a0e2de9e06fa86b15d9080de26594cf4c23"}, + {file = "aiohttp-3.11.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8b5c3e7928a0ad80887a5eba1c1da1830512ddfe7394d805badda45c03db3109"}, + {file = "aiohttp-3.11.6-cp310-cp310-win32.whl", hash = "sha256:913dd9e9378f3c38aeb5c4fb2b8383d6490bc43f3b427ae79f2870651ae08f22"}, + {file = "aiohttp-3.11.6-cp310-cp310-win_amd64.whl", hash = "sha256:4ac26d482c2000c3a59bf757a77adc972828c9d4177b4bd432a46ba682ca7271"}, + {file = "aiohttp-3.11.6-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:26ac4c960ea8debf557357a172b3ef201f2236a462aefa1bc17683a75483e518"}, + {file = "aiohttp-3.11.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8b1f13ebc99fb98c7c13057b748f05224ccc36d17dee18136c695ef23faaf4ff"}, + {file = "aiohttp-3.11.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4679f1a47516189fab1774f7e45a6c7cac916224c91f5f94676f18d0b64ab134"}, + {file = "aiohttp-3.11.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:74491fdb3d140ff561ea2128cb7af9ba0a360067ee91074af899c9614f88a18f"}, + {file = "aiohttp-3.11.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f51e1a90412d387e62aa2d243998c5eddb71373b199d811e6ed862a9f34f9758"}, + {file = "aiohttp-3.11.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:72ab89510511c3bb703d0bb5504787b11e0ed8be928ed2a7cf1cda9280628430"}, + {file = "aiohttp-3.11.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6681c9e046d99646e8059266688374a063da85b2e4c0ebfa078cda414905d080"}, + {file = "aiohttp-3.11.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1a17f8a6d3ab72cbbd137e494d1a23fbd3ea973db39587941f32901bb3c5c350"}, + {file = "aiohttp-3.11.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:867affc7612a314b95f74d93aac550ce0909bc6f0b6c658cc856890f4d326542"}, + {file = "aiohttp-3.11.6-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:00d894ebd609d5a423acef885bd61e7f6a972153f99c5b3ea45fc01fe909196c"}, + {file = "aiohttp-3.11.6-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:614c87be9d0d64477d1e4b663bdc5d1534fc0a7ebd23fb08347ab9fd5fe20fd7"}, + {file = "aiohttp-3.11.6-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:533ed46cf772f28f3bffae81c0573d916a64dee590b5dfaa3f3d11491da05b95"}, + {file = "aiohttp-3.11.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:589884cfbc09813afb1454816b45677e983442e146183143f988f7f5a040791a"}, + {file = "aiohttp-3.11.6-cp311-cp311-win32.whl", hash = "sha256:1da63633ba921669eec3d7e080459d4ceb663752b3dafb2f31f18edd248d2170"}, + {file = "aiohttp-3.11.6-cp311-cp311-win_amd64.whl", hash = "sha256:d778ddda09622e7d83095cc8051698a0084c155a1474bfee9bac27d8613dbc31"}, + {file = "aiohttp-3.11.6-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:943a952df105a5305257984e7a1f5c2d0fd8564ff33647693c4d07eb2315446d"}, + {file = "aiohttp-3.11.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d24ec28b7658970a1f1d98608d67f88376c7e503d9d45ff2ba1949c09f2b358c"}, + {file = "aiohttp-3.11.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6720e809a660fdb9bec7c168c582e11cfedce339af0a5ca847a5d5b588dce826"}, + {file = "aiohttp-3.11.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4252d30da0ada6e6841b325869c7ef5104b488e8dd57ec439892abbb8d7b3615"}, + {file = "aiohttp-3.11.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f65f43ff01b238aa0b5c47962c83830a49577efe31bd37c1400c3d11d8a32835"}, + {file = "aiohttp-3.11.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4dc5933f6c9b26404444d36babb650664f984b8e5fa0694540e7b7315d11a4ff"}, + {file = "aiohttp-3.11.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5bf546ba0c029dfffc718c4b67748687fd4f341b07b7c8f1719d6a3a46164798"}, + {file = "aiohttp-3.11.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c351d05bbeae30c088009c0bb3b17dda04fd854f91cc6196c448349cc98f71c3"}, + {file = "aiohttp-3.11.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:10499079b063576fad1597898de3f9c0a2ce617c19cc7cd6b62fdcff6b408bf7"}, + {file = "aiohttp-3.11.6-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:442ee82eda47dd59798d6866ce020fb8d02ea31ac9ac82b3d719ed349e6a9d52"}, + {file = "aiohttp-3.11.6-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:86fce9127bc317119b34786d9e9ae8af4508a103158828a535f56d201da6ab19"}, + {file = "aiohttp-3.11.6-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:973d26a5537ce5d050302eb3cd876457451745b1da0624cbb483217970e12567"}, + {file = "aiohttp-3.11.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:532b8f038a4e001137d3600cea5d3439d1881df41bdf44d0f9651264d562fdf0"}, + {file = "aiohttp-3.11.6-cp312-cp312-win32.whl", hash = "sha256:4863c59f748dbe147da82b389931f2a676aebc9d3419813ed5ca32d057c9cb32"}, + {file = "aiohttp-3.11.6-cp312-cp312-win_amd64.whl", hash = "sha256:5d7f481f82c18ac1f7986e31ba6eea9be8b2e2c86f1ef035b6866179b6c5dd68"}, + {file = "aiohttp-3.11.6-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:40f502350496ba4c6820816d3164f8a0297b9aa4e95d910da31beb189866a9df"}, + {file = "aiohttp-3.11.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9072669b0bffb40f1f6977d0b5e8a296edc964f9cefca3a18e68649c214d0ce3"}, + {file = "aiohttp-3.11.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:518160ecf4e6ffd61715bc9173da0925fcce44ae6c7ca3d3f098fe42585370fb"}, + {file = "aiohttp-3.11.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f69cc1b45115ac44795b63529aa5caa9674be057f11271f65474127b24fc1ce6"}, + {file = "aiohttp-3.11.6-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c6be90a6beced41653bda34afc891617c6d9e8276eef9c183f029f851f0a3c3d"}, + {file = "aiohttp-3.11.6-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:00c22fe2486308770d22ef86242101d7b0f1e1093ce178f2358f860e5149a551"}, + {file = "aiohttp-3.11.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2607ebb783e3aeefa017ec8f34b506a727e6b6ab2c4b037d65f0bc7151f4430a"}, + {file = "aiohttp-3.11.6-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5f761d6819870c2a8537f75f3e2fc610b163150cefa01f9f623945840f601b2c"}, + {file = "aiohttp-3.11.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e44d1bc6c88f5234115011842219ba27698a5f2deee245c963b180080572aaa2"}, + {file = "aiohttp-3.11.6-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:7e0cb6a1b1f499cb2aa0bab1c9f2169ad6913c735b7447e058e0c29c9e51c0b5"}, + {file = "aiohttp-3.11.6-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:a76b4d4ca34254dca066acff2120811e2a8183997c135fcafa558280f2cc53f3"}, + {file = "aiohttp-3.11.6-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:69051c1e45fb18c0ae4d39a075532ff0b015982e7997f19eb5932eb4a3e05c17"}, + {file = "aiohttp-3.11.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:aff2ed18274c0bfe0c1d772781c87d5ca97ae50f439729007cec9644ee9b15fe"}, + {file = "aiohttp-3.11.6-cp313-cp313-win32.whl", hash = "sha256:2fbea25f2d44df809a46414a8baafa5f179d9dda7e60717f07bded56300589b3"}, + {file = "aiohttp-3.11.6-cp313-cp313-win_amd64.whl", hash = "sha256:f77bc29a465c0f9f6573d1abe656d385fa673e34efe615bd4acc50899280ee47"}, + {file = "aiohttp-3.11.6-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:de6123b298d17bca9e53581f50a275b36e10d98e8137eb743ce69ee766dbdfe9"}, + {file = "aiohttp-3.11.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a10200f705f4fff00e148b7f41e5d1d929c7cd4ac523c659171a0ea8284cd6fb"}, + {file = "aiohttp-3.11.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b7776ef6901b54dd557128d96c71e412eec0c39ebc07567e405ac98737995aad"}, + {file = "aiohttp-3.11.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6e5c2a55583cd91936baf73d223807bb93ace6eb1fe54424782690f2707162ab"}, + {file = "aiohttp-3.11.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b032bd6cf7422583bf44f233f4a1489fee53c6d35920123a208adc54e2aba41e"}, + {file = "aiohttp-3.11.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:04fe2d99acbc5cf606f75d7347bf3a027c24c27bc052d470fb156f4cfcea5739"}, + {file = "aiohttp-3.11.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:84a79c366375c2250934d1238abe5d5ea7754c823a1c7df0c52bf0a2bfded6a9"}, + {file = "aiohttp-3.11.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c33cbbe97dc94a34d1295a7bb68f82727bcbff2b284f73ae7e58ecc05903da97"}, + {file = "aiohttp-3.11.6-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:19e4fb9ac727834b003338dcdd27dcfe0de4fb44082b01b34ed0ab67c3469fc9"}, + {file = "aiohttp-3.11.6-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:a97f6b2afbe1d27220c0c14ea978e09fb4868f462ef3d56d810d206bd2e057a2"}, + {file = "aiohttp-3.11.6-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:c3f7afeea03a9bc49be6053dfd30809cd442cc12627d6ca08babd1c1f9e04ccf"}, + {file = "aiohttp-3.11.6-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:0d10967600ce5bb69ddcb3e18d84b278efb5199d8b24c3c71a4959c2f08acfd0"}, + {file = "aiohttp-3.11.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:60f2f631b9fe7aa321fa0f0ff3f5d8b9f7f9b72afd4eecef61c33cf1cfea5d58"}, + {file = "aiohttp-3.11.6-cp39-cp39-win32.whl", hash = "sha256:4d2b75333deb5c5f61bac5a48bba3dbc142eebbd3947d98788b6ef9cc48628ae"}, + {file = "aiohttp-3.11.6-cp39-cp39-win_amd64.whl", hash = "sha256:8908c235421972a2e02abcef87d16084aabfe825d14cc9a1debd609b3cfffbea"}, + {file = "aiohttp-3.11.6.tar.gz", hash = "sha256:fd9f55c1b51ae1c20a1afe7216a64a88d38afee063baa23c7fce03757023c999"}, ] [package.dependencies] @@ -665,17 +665,17 @@ css = ["tinycss2 (>=1.1.0,<1.5)"] [[package]] name = "boto3" -version = "1.35.64" +version = "1.35.66" description = "The AWS SDK for Python" optional = true python-versions = ">=3.8" files = [ - {file = "boto3-1.35.64-py3-none-any.whl", hash = "sha256:cdacf03fc750caa3aa0dbf6158166def9922c9d67b4160999ff8fc350662facc"}, - {file = "boto3-1.35.64.tar.gz", hash = "sha256:bc3fc12b41fa2c91e51ab140f74fb1544408a2b1e00f88a4c2369a66d18ddf20"}, + {file = "boto3-1.35.66-py3-none-any.whl", hash = "sha256:09a610f8cf4d3c22d4ca69c1f89079e3a1c82805ce94fa0eb4ecdd4d2ba6c4bc"}, + {file = "boto3-1.35.66.tar.gz", hash = "sha256:c392b9168b65e9c23483eaccb5b68d1f960232d7f967a1e00a045ba065ce050d"}, ] [package.dependencies] -botocore = ">=1.35.64,<1.36.0" +botocore = ">=1.35.66,<1.36.0" jmespath = ">=0.7.1,<2.0.0" s3transfer = ">=0.10.0,<0.11.0" @@ -684,13 +684,13 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"] [[package]] name = "botocore" -version = "1.35.64" +version = "1.35.66" description = "Low-level, data-driven core of boto 3." optional = true python-versions = ">=3.8" files = [ - {file = "botocore-1.35.64-py3-none-any.whl", hash = "sha256:bbd96bf7f442b1d5e35b36f501076e4a588c83d8d84a1952e9ee1d767e5efb3e"}, - {file = "botocore-1.35.64.tar.gz", hash = "sha256:2f95c83f31c9e38a66995c88810fc638c829790e125032ba00ab081a2cf48cb9"}, + {file = "botocore-1.35.66-py3-none-any.whl", hash = "sha256:d0683e9c18bb6852f768da268086c3749d925332a664db0dd1459cfa7e96e475"}, + {file = "botocore-1.35.66.tar.gz", hash = "sha256:51f43220315f384959f02ea3266740db4d421592dd87576c18824e424b349fdb"}, ] [package.dependencies] @@ -1410,6 +1410,24 @@ files = [ {file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"}, ] +[[package]] +name = "deepdiff" +version = "8.0.1" +description = "Deep Difference and Search of any Python object/data. Recreate objects by adding adding deltas to each other." +optional = true +python-versions = ">=3.8" +files = [ + {file = "deepdiff-8.0.1-py3-none-any.whl", hash = "sha256:42e99004ce603f9a53934c634a57b04ad5900e0d8ed0abb15e635767489cbc05"}, + {file = "deepdiff-8.0.1.tar.gz", hash = "sha256:245599a4586ab59bb599ca3517a9c42f3318ff600ded5e80a3432693c8ec3c4b"}, +] + +[package.dependencies] +orderly-set = "5.2.2" + +[package.extras] +cli = ["click (==8.1.7)", "pyyaml (==6.0.1)"] +optimize = ["orjson"] + [[package]] name = "defusedxml" version = "0.7.1" @@ -2192,13 +2210,13 @@ grpcio-gcp = ["grpcio-gcp (>=0.2.2,<1.0.dev0)"] [[package]] name = "google-api-python-client" -version = "2.153.0" +version = "2.154.0" description = "Google API Client Library for Python" optional = true python-versions = ">=3.7" files = [ - {file = "google_api_python_client-2.153.0-py2.py3-none-any.whl", hash = "sha256:6ff13bbfa92a57972e33ec3808e18309e5981b8ca1300e5da23bf2b4d6947384"}, - {file = "google_api_python_client-2.153.0.tar.gz", hash = "sha256:35cce8647f9c163fc04fb4d811fc91aae51954a2bdd74918decbe0e65d791dd2"}, + {file = "google_api_python_client-2.154.0-py2.py3-none-any.whl", hash = "sha256:a521bbbb2ec0ba9d6f307cdd64ed6e21eeac372d1bd7493a4ab5022941f784ad"}, + {file = "google_api_python_client-2.154.0.tar.gz", hash = "sha256:1b420062e03bfcaa1c79e2e00a612d29a6a934151ceb3d272fe150a656dc8f17"}, ] [package.dependencies] @@ -3513,13 +3531,13 @@ files = [ [[package]] name = "litellm" -version = "1.52.10" +version = "1.52.12" description = "Library to easily interface with LLM API providers" optional = true python-versions = "!=2.7.*,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,!=3.7.*,>=3.8" files = [ - {file = "litellm-1.52.10-py3-none-any.whl", hash = "sha256:f2bf35b1409729253eb70a6d575cb8ccf71373358e109b0f4653b5bcd9a65467"}, - {file = "litellm-1.52.10.tar.gz", hash = "sha256:8ceaa016cd8ff3a11783d57f862f3157cd764947c60b8f0c4fb04d927d5fe4c1"}, + {file = "litellm-1.52.12-py3-none-any.whl", hash = "sha256:ec9745d4bcaa4098efc82948ce3e9faae418cb7cae8846dadfe1a063220caae1"}, + {file = "litellm-1.52.12.tar.gz", hash = "sha256:dbf91ffeaddc74d502b152012cc9800530934f0303aaa2808605d6bb0d2ad568"}, ] [package.dependencies] @@ -4792,32 +4810,32 @@ reference = ["Pillow", "google-re2"] [[package]] name = "onnxruntime" -version = "1.20.0" +version = "1.20.1" description = "ONNX Runtime is a runtime accelerator for Machine Learning models" optional = true python-versions = "*" files = [ - {file = "onnxruntime-1.20.0-cp310-cp310-macosx_13_0_universal2.whl", hash = "sha256:2ac38bc6cbf7bb8527ded58711af6ef2c8c59d070f0fde58f83824422526922a"}, - {file = "onnxruntime-1.20.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5cfd5a22abc11b273ec76fa773e22db19b749e27bf1ed05dd50d207f1817aae1"}, - {file = "onnxruntime-1.20.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6b5daee2d03909b589f1a9ab24c325cc3c33ab7f736228158784fb1a97a92308"}, - {file = "onnxruntime-1.20.0-cp310-cp310-win32.whl", hash = "sha256:e1eb08c13f91f830eb8df4f4e17a2a2652d1165f50bbed4f28f2afbf425c55d7"}, - {file = "onnxruntime-1.20.0-cp310-cp310-win_amd64.whl", hash = "sha256:cfcc1d21a12076bcc213441b405c48e1f21dedb36943e31eb93cb7a12b34678e"}, - {file = "onnxruntime-1.20.0-cp311-cp311-macosx_13_0_universal2.whl", hash = "sha256:3398354e9145c68edc09dbc72265401150027e76716ae758e8d9b52e6a7ddca0"}, - {file = "onnxruntime-1.20.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8a831b720d0a7be8241a230cb06f592e8bb66652d7cea54ce02d83769651fdee"}, - {file = "onnxruntime-1.20.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:041fefe60af844ebd90f344c84f908201490555cd0a6d78dd0a7acdc27b59972"}, - {file = "onnxruntime-1.20.0-cp311-cp311-win32.whl", hash = "sha256:83da64d2824809d0f6977db8bfc5091f742c26f09dfd66a3934e673780f5f87a"}, - {file = "onnxruntime-1.20.0-cp311-cp311-win_amd64.whl", hash = "sha256:bfa390046332f5fca6f8af8c9d17164621ac52e66b11518e187278b19364800c"}, - {file = "onnxruntime-1.20.0-cp312-cp312-macosx_13_0_universal2.whl", hash = "sha256:97c2b91bfea063f9c3457422d28a336bfd2859001cd880645adfa7184e29dd79"}, - {file = "onnxruntime-1.20.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:51e7b34e398089c4ed8d0f50722d7a64a4d5f11b38c4a42576458a03c6dbc72e"}, - {file = "onnxruntime-1.20.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0e259378ff2843321e0bf4552adcbee48822c91d77d42dde78b87dcdf10ad01f"}, - {file = "onnxruntime-1.20.0-cp312-cp312-win32.whl", hash = "sha256:428abc1f7d8eb425887e2b7726044f2af7b5a098359455e7d2d92343f04ad0ff"}, - {file = "onnxruntime-1.20.0-cp312-cp312-win_amd64.whl", hash = "sha256:d5f23cbfeb546e16ffea81c28d2e796a53197fdc6c92540648e2aa53a7c7a637"}, - {file = "onnxruntime-1.20.0-cp313-cp313-macosx_13_0_universal2.whl", hash = "sha256:95b91126bc3e1754868da1d3d2d08a7a10279b8ff5cea5e34e92fbe3fd691dcf"}, - {file = "onnxruntime-1.20.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d57c10d7729347d6663f32b3f569f33d69a95e150d37ff6af4be9b9ab1ffdc25"}, - {file = "onnxruntime-1.20.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b9c38735dac127d0eeb957ec312c8f1ae90ecae2779a55b2fa279aa7bd116cbd"}, - {file = "onnxruntime-1.20.0-cp313-cp313-win_amd64.whl", hash = "sha256:25514cec4ea251d492aa1e38a7395d8801e64a4c940a154aef84cfad97ae4628"}, - {file = "onnxruntime-1.20.0-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:640ad9ea72d322f0325a51544eddb54f4fa843c4348573c88a9cb44f46678f3f"}, - {file = "onnxruntime-1.20.0-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:dc4e7c10c98c1f407835448c26a7e14ebff3234f131e1fbc53bd9500c828df89"}, + {file = "onnxruntime-1.20.1-cp310-cp310-macosx_13_0_universal2.whl", hash = "sha256:e50ba5ff7fed4f7d9253a6baf801ca2883cc08491f9d32d78a80da57256a5439"}, + {file = "onnxruntime-1.20.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7b2908b50101a19e99c4d4e97ebb9905561daf61829403061c1adc1b588bc0de"}, + {file = "onnxruntime-1.20.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d82daaec24045a2e87598b8ac2b417b1cce623244e80e663882e9fe1aae86410"}, + {file = "onnxruntime-1.20.1-cp310-cp310-win32.whl", hash = "sha256:4c4b251a725a3b8cf2aab284f7d940c26094ecd9d442f07dd81ab5470e99b83f"}, + {file = "onnxruntime-1.20.1-cp310-cp310-win_amd64.whl", hash = "sha256:d3b616bb53a77a9463707bb313637223380fc327f5064c9a782e8ec69c22e6a2"}, + {file = "onnxruntime-1.20.1-cp311-cp311-macosx_13_0_universal2.whl", hash = "sha256:06bfbf02ca9ab5f28946e0f912a562a5f005301d0c419283dc57b3ed7969bb7b"}, + {file = "onnxruntime-1.20.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f6243e34d74423bdd1edf0ae9596dd61023b260f546ee17d701723915f06a9f7"}, + {file = "onnxruntime-1.20.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5eec64c0269dcdb8d9a9a53dc4d64f87b9e0c19801d9321246a53b7eb5a7d1bc"}, + {file = "onnxruntime-1.20.1-cp311-cp311-win32.whl", hash = "sha256:a19bc6e8c70e2485a1725b3d517a2319603acc14c1f1a017dda0afe6d4665b41"}, + {file = "onnxruntime-1.20.1-cp311-cp311-win_amd64.whl", hash = "sha256:8508887eb1c5f9537a4071768723ec7c30c28eb2518a00d0adcd32c89dea3221"}, + {file = "onnxruntime-1.20.1-cp312-cp312-macosx_13_0_universal2.whl", hash = "sha256:22b0655e2bf4f2161d52706e31f517a0e54939dc393e92577df51808a7edc8c9"}, + {file = "onnxruntime-1.20.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f1f56e898815963d6dc4ee1c35fc6c36506466eff6d16f3cb9848cea4e8c8172"}, + {file = "onnxruntime-1.20.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bb71a814f66517a65628c9e4a2bb530a6edd2cd5d87ffa0af0f6f773a027d99e"}, + {file = "onnxruntime-1.20.1-cp312-cp312-win32.whl", hash = "sha256:bd386cc9ee5f686ee8a75ba74037750aca55183085bf1941da8efcfe12d5b120"}, + {file = "onnxruntime-1.20.1-cp312-cp312-win_amd64.whl", hash = "sha256:19c2d843eb074f385e8bbb753a40df780511061a63f9def1b216bf53860223fb"}, + {file = "onnxruntime-1.20.1-cp313-cp313-macosx_13_0_universal2.whl", hash = "sha256:cc01437a32d0042b606f462245c8bbae269e5442797f6213e36ce61d5abdd8cc"}, + {file = "onnxruntime-1.20.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fb44b08e017a648924dbe91b82d89b0c105b1adcfe31e90d1dc06b8677ad37be"}, + {file = "onnxruntime-1.20.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bda6aebdf7917c1d811f21d41633df00c58aff2bef2f598f69289c1f1dabc4b3"}, + {file = "onnxruntime-1.20.1-cp313-cp313-win_amd64.whl", hash = "sha256:d30367df7e70f1d9fc5a6a68106f5961686d39b54d3221f760085524e8d38e16"}, + {file = "onnxruntime-1.20.1-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c9158465745423b2b5d97ed25aa7740c7d38d2993ee2e5c3bfacb0c4145c49d8"}, + {file = "onnxruntime-1.20.1-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0df6f2df83d61f46e842dbcde610ede27218947c33e994545a22333491e72a3b"}, ] [package.dependencies] @@ -4830,13 +4848,13 @@ sympy = "*" [[package]] name = "openai" -version = "1.54.5" +version = "1.55.0" description = "The official Python library for the openai API" optional = false python-versions = ">=3.8" files = [ - {file = "openai-1.54.5-py3-none-any.whl", hash = "sha256:f55a4450f38501814b53e76311ed7845a6f7f35bab46d0fb2a3728035d7a72d8"}, - {file = "openai-1.54.5.tar.gz", hash = "sha256:2aab4f9755a3e1e04d8a45ac1f4ce7b6948bab76646020c6386256d7e5cbb7e0"}, + {file = "openai-1.55.0-py3-none-any.whl", hash = "sha256:446e08918f8dd70d8723274be860404c8c7cc46b91b93bbc0ef051f57eb503c1"}, + {file = "openai-1.55.0.tar.gz", hash = "sha256:6c0975ac8540fe639d12b4ff5a8e0bf1424c844c4a4251148f59f06c4b2bd5db"}, ] [package.dependencies] @@ -4923,6 +4941,17 @@ files = [ [package.dependencies] et-xmlfile = "*" +[[package]] +name = "orderly-set" +version = "5.2.2" +description = "Orderly set" +optional = true +python-versions = ">=3.8" +files = [ + {file = "orderly_set-5.2.2-py3-none-any.whl", hash = "sha256:f7a37c95a38c01cdfe41c3ffb62925a318a2286ea0a41790c057fc802aec54da"}, + {file = "orderly_set-5.2.2.tar.gz", hash = "sha256:52a18b86aaf3f5d5a498bbdb27bf3253a4e5c57ab38e5b7a56fa00115cd28448"}, +] + [[package]] name = "orjson" version = "3.10.11" @@ -6002,19 +6031,19 @@ files = [ [[package]] name = "pydantic" -version = "2.9.2" +version = "2.10.0" description = "Data validation using Python type hints" optional = false python-versions = ">=3.8" files = [ - {file = "pydantic-2.9.2-py3-none-any.whl", hash = "sha256:f048cec7b26778210e28a0459867920654d48e5e62db0958433636cde4254f12"}, - {file = "pydantic-2.9.2.tar.gz", hash = "sha256:d155cef71265d1e9807ed1c32b4c8deec042a44a50a4188b25ac67ecd81a9c0f"}, + {file = "pydantic-2.10.0-py3-none-any.whl", hash = "sha256:5e7807ba9201bdf61b1b58aa6eb690916c40a47acfb114b1b4fef3e7fd5b30fc"}, + {file = "pydantic-2.10.0.tar.gz", hash = "sha256:0aca0f045ff6e2f097f1fe89521115335f15049eeb8a7bef3dafe4b19a74e289"}, ] [package.dependencies] annotated-types = ">=0.6.0" -pydantic-core = "2.23.4" -typing-extensions = {version = ">=4.6.1", markers = "python_version < \"3.13\""} +pydantic-core = "2.27.0" +typing-extensions = ">=4.12.2" [package.extras] email = ["email-validator (>=2.0.0)"] @@ -6022,100 +6051,111 @@ timezone = ["tzdata"] [[package]] name = "pydantic-core" -version = "2.23.4" +version = "2.27.0" description = "Core functionality for Pydantic validation and serialization" optional = false python-versions = ">=3.8" files = [ - {file = "pydantic_core-2.23.4-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:b10bd51f823d891193d4717448fab065733958bdb6a6b351967bd349d48d5c9b"}, - {file = "pydantic_core-2.23.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4fc714bdbfb534f94034efaa6eadd74e5b93c8fa6315565a222f7b6f42ca1166"}, - {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63e46b3169866bd62849936de036f901a9356e36376079b05efa83caeaa02ceb"}, - {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ed1a53de42fbe34853ba90513cea21673481cd81ed1be739f7f2efb931b24916"}, - {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cfdd16ab5e59fc31b5e906d1a3f666571abc367598e3e02c83403acabc092e07"}, - {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:255a8ef062cbf6674450e668482456abac99a5583bbafb73f9ad469540a3a232"}, - {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4a7cd62e831afe623fbb7aabbb4fe583212115b3ef38a9f6b71869ba644624a2"}, - {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f09e2ff1f17c2b51f2bc76d1cc33da96298f0a036a137f5440ab3ec5360b624f"}, - {file = "pydantic_core-2.23.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e38e63e6f3d1cec5a27e0afe90a085af8b6806ee208b33030e65b6516353f1a3"}, - {file = "pydantic_core-2.23.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:0dbd8dbed2085ed23b5c04afa29d8fd2771674223135dc9bc937f3c09284d071"}, - {file = "pydantic_core-2.23.4-cp310-none-win32.whl", hash = "sha256:6531b7ca5f951d663c339002e91aaebda765ec7d61b7d1e3991051906ddde119"}, - {file = "pydantic_core-2.23.4-cp310-none-win_amd64.whl", hash = "sha256:7c9129eb40958b3d4500fa2467e6a83356b3b61bfff1b414c7361d9220f9ae8f"}, - {file = "pydantic_core-2.23.4-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:77733e3892bb0a7fa797826361ce8a9184d25c8dffaec60b7ffe928153680ba8"}, - {file = "pydantic_core-2.23.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1b84d168f6c48fabd1f2027a3d1bdfe62f92cade1fb273a5d68e621da0e44e6d"}, - {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:df49e7a0861a8c36d089c1ed57d308623d60416dab2647a4a17fe050ba85de0e"}, - {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ff02b6d461a6de369f07ec15e465a88895f3223eb75073ffea56b84d9331f607"}, - {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:996a38a83508c54c78a5f41456b0103c30508fed9abcad0a59b876d7398f25fd"}, - {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d97683ddee4723ae8c95d1eddac7c192e8c552da0c73a925a89fa8649bf13eea"}, - {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:216f9b2d7713eb98cb83c80b9c794de1f6b7e3145eef40400c62e86cee5f4e1e"}, - {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6f783e0ec4803c787bcea93e13e9932edab72068f68ecffdf86a99fd5918878b"}, - {file = "pydantic_core-2.23.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d0776dea117cf5272382634bd2a5c1b6eb16767c223c6a5317cd3e2a757c61a0"}, - {file = "pydantic_core-2.23.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d5f7a395a8cf1621939692dba2a6b6a830efa6b3cee787d82c7de1ad2930de64"}, - {file = "pydantic_core-2.23.4-cp311-none-win32.whl", hash = "sha256:74b9127ffea03643e998e0c5ad9bd3811d3dac8c676e47db17b0ee7c3c3bf35f"}, - {file = "pydantic_core-2.23.4-cp311-none-win_amd64.whl", hash = "sha256:98d134c954828488b153d88ba1f34e14259284f256180ce659e8d83e9c05eaa3"}, - {file = "pydantic_core-2.23.4-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:f3e0da4ebaef65158d4dfd7d3678aad692f7666877df0002b8a522cdf088f231"}, - {file = "pydantic_core-2.23.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f69a8e0b033b747bb3e36a44e7732f0c99f7edd5cea723d45bc0d6e95377ffee"}, - {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:723314c1d51722ab28bfcd5240d858512ffd3116449c557a1336cbe3919beb87"}, - {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bb2802e667b7051a1bebbfe93684841cc9351004e2badbd6411bf357ab8d5ac8"}, - {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d18ca8148bebe1b0a382a27a8ee60350091a6ddaf475fa05ef50dc35b5df6327"}, - {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:33e3d65a85a2a4a0dc3b092b938a4062b1a05f3a9abde65ea93b233bca0e03f2"}, - {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:128585782e5bfa515c590ccee4b727fb76925dd04a98864182b22e89a4e6ed36"}, - {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:68665f4c17edcceecc112dfed5dbe6f92261fb9d6054b47d01bf6371a6196126"}, - {file = "pydantic_core-2.23.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:20152074317d9bed6b7a95ade3b7d6054845d70584216160860425f4fbd5ee9e"}, - {file = "pydantic_core-2.23.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:9261d3ce84fa1d38ed649c3638feefeae23d32ba9182963e465d58d62203bd24"}, - {file = "pydantic_core-2.23.4-cp312-none-win32.whl", hash = "sha256:4ba762ed58e8d68657fc1281e9bb72e1c3e79cc5d464be146e260c541ec12d84"}, - {file = "pydantic_core-2.23.4-cp312-none-win_amd64.whl", hash = "sha256:97df63000f4fea395b2824da80e169731088656d1818a11b95f3b173747b6cd9"}, - {file = "pydantic_core-2.23.4-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:7530e201d10d7d14abce4fb54cfe5b94a0aefc87da539d0346a484ead376c3cc"}, - {file = "pydantic_core-2.23.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:df933278128ea1cd77772673c73954e53a1c95a4fdf41eef97c2b779271bd0bd"}, - {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0cb3da3fd1b6a5d0279a01877713dbda118a2a4fc6f0d821a57da2e464793f05"}, - {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:42c6dcb030aefb668a2b7009c85b27f90e51e6a3b4d5c9bc4c57631292015b0d"}, - {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:696dd8d674d6ce621ab9d45b205df149399e4bb9aa34102c970b721554828510"}, - {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2971bb5ffe72cc0f555c13e19b23c85b654dd2a8f7ab493c262071377bfce9f6"}, - {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8394d940e5d400d04cad4f75c0598665cbb81aecefaca82ca85bd28264af7f9b"}, - {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0dff76e0602ca7d4cdaacc1ac4c005e0ce0dcfe095d5b5259163a80d3a10d327"}, - {file = "pydantic_core-2.23.4-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:7d32706badfe136888bdea71c0def994644e09fff0bfe47441deaed8e96fdbc6"}, - {file = "pydantic_core-2.23.4-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ed541d70698978a20eb63d8c5d72f2cc6d7079d9d90f6b50bad07826f1320f5f"}, - {file = "pydantic_core-2.23.4-cp313-none-win32.whl", hash = "sha256:3d5639516376dce1940ea36edf408c554475369f5da2abd45d44621cb616f769"}, - {file = "pydantic_core-2.23.4-cp313-none-win_amd64.whl", hash = "sha256:5a1504ad17ba4210df3a045132a7baeeba5a200e930f57512ee02909fc5c4cb5"}, - {file = "pydantic_core-2.23.4-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:d4488a93b071c04dc20f5cecc3631fc78b9789dd72483ba15d423b5b3689b555"}, - {file = "pydantic_core-2.23.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:81965a16b675b35e1d09dd14df53f190f9129c0202356ed44ab2728b1c905658"}, - {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ffa2ebd4c8530079140dd2d7f794a9d9a73cbb8e9d59ffe24c63436efa8f271"}, - {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:61817945f2fe7d166e75fbfb28004034b48e44878177fc54d81688e7b85a3665"}, - {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:29d2c342c4bc01b88402d60189f3df065fb0dda3654744d5a165a5288a657368"}, - {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5e11661ce0fd30a6790e8bcdf263b9ec5988e95e63cf901972107efc49218b13"}, - {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d18368b137c6295db49ce7218b1a9ba15c5bc254c96d7c9f9e924a9bc7825ad"}, - {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ec4e55f79b1c4ffb2eecd8a0cfba9955a2588497d96851f4c8f99aa4a1d39b12"}, - {file = "pydantic_core-2.23.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:374a5e5049eda9e0a44c696c7ade3ff355f06b1fe0bb945ea3cac2bc336478a2"}, - {file = "pydantic_core-2.23.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5c364564d17da23db1106787675fc7af45f2f7b58b4173bfdd105564e132e6fb"}, - {file = "pydantic_core-2.23.4-cp38-none-win32.whl", hash = "sha256:d7a80d21d613eec45e3d41eb22f8f94ddc758a6c4720842dc74c0581f54993d6"}, - {file = "pydantic_core-2.23.4-cp38-none-win_amd64.whl", hash = "sha256:5f5ff8d839f4566a474a969508fe1c5e59c31c80d9e140566f9a37bba7b8d556"}, - {file = "pydantic_core-2.23.4-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:a4fa4fc04dff799089689f4fd502ce7d59de529fc2f40a2c8836886c03e0175a"}, - {file = "pydantic_core-2.23.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0a7df63886be5e270da67e0966cf4afbae86069501d35c8c1b3b6c168f42cb36"}, - {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dcedcd19a557e182628afa1d553c3895a9f825b936415d0dbd3cd0bbcfd29b4b"}, - {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5f54b118ce5de9ac21c363d9b3caa6c800341e8c47a508787e5868c6b79c9323"}, - {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:86d2f57d3e1379a9525c5ab067b27dbb8a0642fb5d454e17a9ac434f9ce523e3"}, - {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:de6d1d1b9e5101508cb37ab0d972357cac5235f5c6533d1071964c47139257df"}, - {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1278e0d324f6908e872730c9102b0112477a7f7cf88b308e4fc36ce1bdb6d58c"}, - {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9a6b5099eeec78827553827f4c6b8615978bb4b6a88e5d9b93eddf8bb6790f55"}, - {file = "pydantic_core-2.23.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:e55541f756f9b3ee346b840103f32779c695a19826a4c442b7954550a0972040"}, - {file = "pydantic_core-2.23.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a5c7ba8ffb6d6f8f2ab08743be203654bb1aaa8c9dcb09f82ddd34eadb695605"}, - {file = "pydantic_core-2.23.4-cp39-none-win32.whl", hash = "sha256:37b0fe330e4a58d3c58b24d91d1eb102aeec675a3db4c292ec3928ecd892a9a6"}, - {file = "pydantic_core-2.23.4-cp39-none-win_amd64.whl", hash = "sha256:1498bec4c05c9c787bde9125cfdcc63a41004ff167f495063191b863399b1a29"}, - {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:f455ee30a9d61d3e1a15abd5068827773d6e4dc513e795f380cdd59932c782d5"}, - {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:1e90d2e3bd2c3863d48525d297cd143fe541be8bbf6f579504b9712cb6b643ec"}, - {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e203fdf807ac7e12ab59ca2bfcabb38c7cf0b33c41efeb00f8e5da1d86af480"}, - {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e08277a400de01bc72436a0ccd02bdf596631411f592ad985dcee21445bd0068"}, - {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f220b0eea5965dec25480b6333c788fb72ce5f9129e8759ef876a1d805d00801"}, - {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:d06b0c8da4f16d1d1e352134427cb194a0a6e19ad5db9161bf32b2113409e728"}, - {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:ba1a0996f6c2773bd83e63f18914c1de3c9dd26d55f4ac302a7efe93fb8e7433"}, - {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:9a5bce9d23aac8f0cf0836ecfc033896aa8443b501c58d0602dbfd5bd5b37753"}, - {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:78ddaaa81421a29574a682b3179d4cf9e6d405a09b99d93ddcf7e5239c742e21"}, - {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:883a91b5dd7d26492ff2f04f40fbb652de40fcc0afe07e8129e8ae779c2110eb"}, - {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88ad334a15b32a791ea935af224b9de1bf99bcd62fabf745d5f3442199d86d59"}, - {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:233710f069d251feb12a56da21e14cca67994eab08362207785cf8c598e74577"}, - {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:19442362866a753485ba5e4be408964644dd6a09123d9416c54cd49171f50744"}, - {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:624e278a7d29b6445e4e813af92af37820fafb6dcc55c012c834f9e26f9aaaef"}, - {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f5ef8f42bec47f21d07668a043f077d507e5bf4e668d5c6dfe6aaba89de1a5b8"}, - {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:aea443fffa9fbe3af1a9ba721a87f926fe548d32cab71d188a6ede77d0ff244e"}, - {file = "pydantic_core-2.23.4.tar.gz", hash = "sha256:2584f7cf844ac4d970fba483a717dbe10c1c1c96a969bf65d61ffe94df1b2863"}, + {file = "pydantic_core-2.27.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:cd2ac6b919f7fed71b17fe0b4603c092a4c9b5bae414817c9c81d3c22d1e1bcc"}, + {file = "pydantic_core-2.27.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e015833384ca3e1a0565a79f5d953b0629d9138021c27ad37c92a9fa1af7623c"}, + {file = "pydantic_core-2.27.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:db72e40628967f6dc572020d04b5f800d71264e0531c6da35097e73bdf38b003"}, + {file = "pydantic_core-2.27.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:df45c4073bed486ea2f18757057953afed8dd77add7276ff01bccb79982cf46c"}, + {file = "pydantic_core-2.27.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:836a4bfe0cc6d36dc9a9cc1a7b391265bf6ce9d1eb1eac62ac5139f5d8d9a6fa"}, + {file = "pydantic_core-2.27.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4bf1340ae507f6da6360b24179c2083857c8ca7644aab65807023cf35404ea8d"}, + {file = "pydantic_core-2.27.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ab325fc86fbc077284c8d7f996d904d30e97904a87d6fb303dce6b3de7ebba9"}, + {file = "pydantic_core-2.27.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1da0c98a85a6c6ed702d5556db3b09c91f9b0b78de37b7593e2de8d03238807a"}, + {file = "pydantic_core-2.27.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:7b0202ebf2268954090209a84f9897345719e46a57c5f2c9b7b250ca0a9d3e63"}, + {file = "pydantic_core-2.27.0-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:35380671c3c921fe8adf31ad349dc6f7588b7e928dbe44e1093789734f607399"}, + {file = "pydantic_core-2.27.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6b4c19525c3538fbc0bbda6229f9682fb8199ce9ac37395880e6952798e00373"}, + {file = "pydantic_core-2.27.0-cp310-none-win32.whl", hash = "sha256:333c840a1303d1474f491e7be0b718226c730a39ead0f7dab2c7e6a2f3855555"}, + {file = "pydantic_core-2.27.0-cp310-none-win_amd64.whl", hash = "sha256:99b2863c1365f43f74199c980a3d40f18a218fbe683dd64e470199db426c4d6a"}, + {file = "pydantic_core-2.27.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:4523c4009c3f39d948e01962223c9f5538602e7087a628479b723c939fab262d"}, + {file = "pydantic_core-2.27.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:84af1cf7bfdcbc6fcf5a5f70cc9896205e0350306e4dd73d54b6a18894f79386"}, + {file = "pydantic_core-2.27.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e65466b31be1070b4a5b7dbfbd14b247884cb8e8b79c64fb0f36b472912dbaea"}, + {file = "pydantic_core-2.27.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a5c022bb0d453192426221605efc865373dde43b17822a264671c53b068ac20c"}, + {file = "pydantic_core-2.27.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6bb69bf3b6500f195c3deb69c1205ba8fc3cb21d1915f1f158a10d6b1ef29b6a"}, + {file = "pydantic_core-2.27.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0aa4d1b2eba9a325897308b3124014a142cdccb9f3e016f31d3ebee6b5ea5e75"}, + {file = "pydantic_core-2.27.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8e96ca781e0c01e32115912ebdf7b3fb0780ce748b80d7d28a0802fa9fbaf44e"}, + {file = "pydantic_core-2.27.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b872c86d8d71827235c7077461c502feb2db3f87d9d6d5a9daa64287d75e4fa0"}, + {file = "pydantic_core-2.27.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:82e1ad4ca170e8af4c928b67cff731b6296e6a0a0981b97b2eb7c275cc4e15bd"}, + {file = "pydantic_core-2.27.0-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:eb40f828bc2f73f777d1eb8fee2e86cd9692a4518b63b6b5aa8af915dfd3207b"}, + {file = "pydantic_core-2.27.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9a8fbf506fde1529a1e3698198fe64bfbe2e0c09557bc6a7dcf872e7c01fec40"}, + {file = "pydantic_core-2.27.0-cp311-none-win32.whl", hash = "sha256:24f984fc7762ed5f806d9e8c4c77ea69fdb2afd987b4fd319ef06c87595a8c55"}, + {file = "pydantic_core-2.27.0-cp311-none-win_amd64.whl", hash = "sha256:68950bc08f9735306322bfc16a18391fcaac99ded2509e1cc41d03ccb6013cfe"}, + {file = "pydantic_core-2.27.0-cp311-none-win_arm64.whl", hash = "sha256:3eb8849445c26b41c5a474061032c53e14fe92a11a5db969f722a2716cd12206"}, + {file = "pydantic_core-2.27.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:8117839a9bdbba86e7f9df57018fe3b96cec934c3940b591b0fd3fbfb485864a"}, + {file = "pydantic_core-2.27.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a291d0b4243a259c8ea7e2b84eb9ccb76370e569298875a7c5e3e71baf49057a"}, + {file = "pydantic_core-2.27.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:84e35afd9e10b2698e6f2f32256678cb23ca6c1568d02628033a837638b3ed12"}, + {file = "pydantic_core-2.27.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:58ab0d979c969983cdb97374698d847a4acffb217d543e172838864636ef10d9"}, + {file = "pydantic_core-2.27.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0d06b667e53320332be2bf6f9461f4a9b78092a079b8ce8634c9afaa7e10cd9f"}, + {file = "pydantic_core-2.27.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:78f841523729e43e3928a364ec46e2e3f80e6625a4f62aca5c345f3f626c6e8a"}, + {file = "pydantic_core-2.27.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:400bf470e4327e920883b51e255617dfe4496d4e80c3fea0b5a5d0bf2c404dd4"}, + {file = "pydantic_core-2.27.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:951e71da6c89d354572098bada5ba5b5dc3a9390c933af8a614e37755d3d1840"}, + {file = "pydantic_core-2.27.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:2a51ce96224eadd1845150b204389623c8e129fde5a67a84b972bd83a85c6c40"}, + {file = "pydantic_core-2.27.0-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:483c2213a609e7db2c592bbc015da58b6c75af7360ca3c981f178110d9787bcf"}, + {file = "pydantic_core-2.27.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:359e7951f04ad35111b5ddce184db3391442345d0ab073aa63a95eb8af25a5ef"}, + {file = "pydantic_core-2.27.0-cp312-none-win32.whl", hash = "sha256:ee7d9d5537daf6d5c74a83b38a638cc001b648096c1cae8ef695b0c919d9d379"}, + {file = "pydantic_core-2.27.0-cp312-none-win_amd64.whl", hash = "sha256:2be0ad541bb9f059954ccf8877a49ed73877f862529575ff3d54bf4223e4dd61"}, + {file = "pydantic_core-2.27.0-cp312-none-win_arm64.whl", hash = "sha256:6e19401742ed7b69e51d8e4df3c03ad5ec65a83b36244479fd70edde2828a5d9"}, + {file = "pydantic_core-2.27.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:5f2b19b8d6fca432cb3acf48cf5243a7bf512988029b6e6fd27e9e8c0a204d85"}, + {file = "pydantic_core-2.27.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:c86679f443e7085ea55a7376462553996c688395d18ef3f0d3dbad7838f857a2"}, + {file = "pydantic_core-2.27.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:510b11e9c3b1a852876d1ccd8d5903684336d635214148637ceb27366c75a467"}, + {file = "pydantic_core-2.27.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eb704155e73b833801c247f39d562229c0303f54770ca14fb1c053acb376cf10"}, + {file = "pydantic_core-2.27.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9ce048deb1e033e7a865ca384770bccc11d44179cf09e5193a535c4c2f497bdc"}, + {file = "pydantic_core-2.27.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:58560828ee0951bb125c6f2862fbc37f039996d19ceb6d8ff1905abf7da0bf3d"}, + {file = "pydantic_core-2.27.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:abb4785894936d7682635726613c44578c420a096729f1978cd061a7e72d5275"}, + {file = "pydantic_core-2.27.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2883b260f7a93235488699d39cbbd94fa7b175d3a8063fbfddd3e81ad9988cb2"}, + {file = "pydantic_core-2.27.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:c6fcb3fa3855d583aa57b94cf146f7781d5d5bc06cb95cb3afece33d31aac39b"}, + {file = "pydantic_core-2.27.0-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:e851a051f7260e6d688267eb039c81f05f23a19431bd7dfa4bf5e3cb34c108cd"}, + {file = "pydantic_core-2.27.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:edb1bfd45227dec8d50bc7c7d86463cd8728bcc574f9b07de7369880de4626a3"}, + {file = "pydantic_core-2.27.0-cp313-none-win32.whl", hash = "sha256:678f66462058dd978702db17eb6a3633d634f7aa0deaea61e0a674152766d3fc"}, + {file = "pydantic_core-2.27.0-cp313-none-win_amd64.whl", hash = "sha256:d28ca7066d6cdd347a50d8b725dc10d9a1d6a1cce09836cf071ea6a2d4908be0"}, + {file = "pydantic_core-2.27.0-cp313-none-win_arm64.whl", hash = "sha256:6f4a53af9e81d757756508b57cae1cf28293f0f31b9fa2bfcb416cc7fb230f9d"}, + {file = "pydantic_core-2.27.0-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:e9f9feee7f334b72ceae46313333d002b56f325b5f04271b4ae2aadd9e993ae4"}, + {file = "pydantic_core-2.27.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:225bfff5d425c34e1fd562cef52d673579d59b967d9de06178850c4802af9039"}, + {file = "pydantic_core-2.27.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c921ad596ff1a82f9c692b0758c944355abc9f0de97a4c13ca60ffc6d8dc15d4"}, + {file = "pydantic_core-2.27.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6354e18a9be37bfa124d6b288a87fb30c673745806c92956f1a25e3ae6e76b96"}, + {file = "pydantic_core-2.27.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8ee4c2a75af9fe21269a4a0898c5425afb01af1f5d276063f57e2ae1bc64e191"}, + {file = "pydantic_core-2.27.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c91e3c04f5191fd3fb68764bddeaf02025492d5d9f23343b283870f6ace69708"}, + {file = "pydantic_core-2.27.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a6ebfac28fd51890a61df36ef202adbd77d00ee5aca4a3dadb3d9ed49cfb929"}, + {file = "pydantic_core-2.27.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:36aa167f69d8807ba7e341d67ea93e50fcaaf6bc433bb04939430fa3dab06f31"}, + {file = "pydantic_core-2.27.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:3e8d89c276234579cd3d095d5fa2a44eb10db9a218664a17b56363cddf226ff3"}, + {file = "pydantic_core-2.27.0-cp38-cp38-musllinux_1_1_armv7l.whl", hash = "sha256:5cc822ab90a70ea3a91e6aed3afac570b276b1278c6909b1d384f745bd09c714"}, + {file = "pydantic_core-2.27.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:e15315691fe2253eb447503153acef4d7223dfe7e7702f9ed66539fcd0c43801"}, + {file = "pydantic_core-2.27.0-cp38-none-win32.whl", hash = "sha256:dfa5f5c0a4c8fced1422dc2ca7eefd872d5d13eb33cf324361dbf1dbfba0a9fe"}, + {file = "pydantic_core-2.27.0-cp38-none-win_amd64.whl", hash = "sha256:513cb14c0cc31a4dfd849a4674b20c46d87b364f997bbcb02282306f5e187abf"}, + {file = "pydantic_core-2.27.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:4148dc9184ab79e356dc00a4199dc0ee8647973332cb385fc29a7cced49b9f9c"}, + {file = "pydantic_core-2.27.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5fc72fbfebbf42c0856a824b8b0dc2b5cd2e4a896050281a21cfa6fed8879cb1"}, + {file = "pydantic_core-2.27.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:185ef205256cd8b38431205698531026979db89a79587725c1e55c59101d64e9"}, + {file = "pydantic_core-2.27.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:395e3e1148fa7809016231f8065f30bb0dc285a97b4dc4360cd86e17bab58af7"}, + {file = "pydantic_core-2.27.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:33d14369739c5d07e2e7102cdb0081a1fa46ed03215e07f097b34e020b83b1ae"}, + {file = "pydantic_core-2.27.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e7820bb0d65e3ce1e3e70b6708c2f66143f55912fa02f4b618d0f08b61575f12"}, + {file = "pydantic_core-2.27.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:43b61989068de9ce62296cde02beffabcadb65672207fc51e7af76dca75e6636"}, + {file = "pydantic_core-2.27.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:15e350efb67b855cd014c218716feea4986a149ed1f42a539edd271ee074a196"}, + {file = "pydantic_core-2.27.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:433689845288f9a1ee5714444e65957be26d30915f7745091ede4a83cfb2d7bb"}, + {file = "pydantic_core-2.27.0-cp39-cp39-musllinux_1_1_armv7l.whl", hash = "sha256:3fd8bc2690e7c39eecdf9071b6a889ce7b22b72073863940edc2a0a23750ca90"}, + {file = "pydantic_core-2.27.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:884f1806609c2c66564082540cffc96868c5571c7c3cf3a783f63f2fb49bd3cd"}, + {file = "pydantic_core-2.27.0-cp39-none-win32.whl", hash = "sha256:bf37b72834e7239cf84d4a0b2c050e7f9e48bced97bad9bdf98d26b8eb72e846"}, + {file = "pydantic_core-2.27.0-cp39-none-win_amd64.whl", hash = "sha256:31a2cae5f059329f9cfe3d8d266d3da1543b60b60130d186d9b6a3c20a346361"}, + {file = "pydantic_core-2.27.0-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:4fb49cfdb53af5041aba909be00cccfb2c0d0a2e09281bf542371c5fd36ad04c"}, + {file = "pydantic_core-2.27.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:49633583eb7dc5cba61aaf7cdb2e9e662323ad394e543ee77af265736bcd3eaa"}, + {file = "pydantic_core-2.27.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:153017e3d6cd3ce979de06d84343ca424bb6092727375eba1968c8b4693c6ecb"}, + {file = "pydantic_core-2.27.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ff63a92f6e249514ef35bc795de10745be0226eaea06eb48b4bbeaa0c8850a4a"}, + {file = "pydantic_core-2.27.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5982048129f40b082c2654de10c0f37c67a14f5ff9d37cf35be028ae982f26df"}, + {file = "pydantic_core-2.27.0-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:91bc66f878557313c2a6bcf396e7befcffe5ab4354cfe4427318968af31143c3"}, + {file = "pydantic_core-2.27.0-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:68ef5377eb582fa4343c9d0b57a5b094046d447b4c73dd9fbd9ffb216f829e7d"}, + {file = "pydantic_core-2.27.0-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:c5726eec789ee38f2c53b10b1821457b82274f81f4f746bb1e666d8741fcfadb"}, + {file = "pydantic_core-2.27.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:c0c431e4be5c1a0c6654e0c31c661cd89e0ca956ef65305c3c3fd96f4e72ca39"}, + {file = "pydantic_core-2.27.0-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:8e21d927469d04b39386255bf00d0feedead16f6253dcc85e9e10ddebc334084"}, + {file = "pydantic_core-2.27.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:4b51f964fcbb02949fc546022e56cdb16cda457af485e9a3e8b78ac2ecf5d77e"}, + {file = "pydantic_core-2.27.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25a7fd4de38f7ff99a37e18fa0098c3140286451bc823d1746ba80cec5b433a1"}, + {file = "pydantic_core-2.27.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fda87808429c520a002a85d6e7cdadbf58231d60e96260976c5b8f9a12a8e13"}, + {file = "pydantic_core-2.27.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8a150392102c402c538190730fda06f3bce654fc498865579a9f2c1d2b425833"}, + {file = "pydantic_core-2.27.0-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:c9ed88b398ba7e3bad7bd64d66cc01dcde9cfcb7ec629a6fd78a82fa0b559d78"}, + {file = "pydantic_core-2.27.0-pp39-pypy39_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:9fe94d9d2a2b4edd7a4b22adcd45814b1b59b03feb00e56deb2e89747aec7bfe"}, + {file = "pydantic_core-2.27.0-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:d8b5ee4ae9170e2775d495b81f414cc20268041c42571530513496ba61e94ba3"}, + {file = "pydantic_core-2.27.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:d29e235ce13c91902ef3efc3d883a677655b3908b1cbc73dee816e5e1f8f7739"}, + {file = "pydantic_core-2.27.0.tar.gz", hash = "sha256:f57783fbaf648205ac50ae7d646f27582fc706be3977e87c3c124e7a92407b10"}, ] [package.dependencies] @@ -6246,7 +6286,6 @@ python-versions = ">=3.9" files = [ {file = "PyMuPDF-1.24.14-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:b3ad7a4f4b607ff97f2e1b8111823dd3797dbb381ec851c3ae4695fea6f68478"}, {file = "PyMuPDF-1.24.14-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:755906af4b4d693552ae5469ba682075853f4dc8a70639affd1bd6c049c5d900"}, - {file = "PyMuPDF-1.24.14-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:37f24108e2e18150fb8d512dcccdfa1e3d9b9dd203ffaa7ffb959bb20aea40b4"}, {file = "PyMuPDF-1.24.14-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0de4f5ed903c2be6d0abcccdc796368939b51ce03916eb53292916e3b6ea65d6"}, {file = "PyMuPDF-1.24.14-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:2d1b5c47df2f8055de5dedfbd3189c742188261a8c257f406378382adac94cff"}, {file = "PyMuPDF-1.24.14-cp39-abi3-win32.whl", hash = "sha256:60a7ee7db3e0d3a4dcbe6df2781ba4487acb7e515c64ea9c857504f44effcb25"}, @@ -7433,13 +7472,13 @@ files = [ [[package]] name = "s3transfer" -version = "0.10.3" +version = "0.10.4" description = "An Amazon S3 Transfer Manager" optional = true python-versions = ">=3.8" files = [ - {file = "s3transfer-0.10.3-py3-none-any.whl", hash = "sha256:263ed587a5803c6c708d3ce44dc4dfedaab4c1a32e8329bab818933d79ddcf5d"}, - {file = "s3transfer-0.10.3.tar.gz", hash = "sha256:4f50ed74ab84d474ce614475e0b8d5047ff080810aac5d01ea25231cfc944b0c"}, + {file = "s3transfer-0.10.4-py3-none-any.whl", hash = "sha256:244a76a24355363a68164241438de1b72f8781664920260c48465896b712a41e"}, + {file = "s3transfer-0.10.4.tar.gz", hash = "sha256:29edc09801743c21eb5ecbc617a152df41d3c287f67b615f73e5f750583666a7"}, ] [package.dependencies] @@ -7829,23 +7868,23 @@ files = [ [[package]] name = "setuptools" -version = "75.5.0" +version = "75.6.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" optional = true python-versions = ">=3.9" files = [ - {file = "setuptools-75.5.0-py3-none-any.whl", hash = "sha256:87cb777c3b96d638ca02031192d40390e0ad97737e27b6b4fa831bea86f2f829"}, - {file = "setuptools-75.5.0.tar.gz", hash = "sha256:5c4ccb41111392671f02bb5f8436dfc5a9a7185e80500531b133f5775c4163ef"}, + {file = "setuptools-75.6.0-py3-none-any.whl", hash = "sha256:ce74b49e8f7110f9bf04883b730f4765b774ef3ef28f722cce7c273d253aaf7d"}, + {file = "setuptools-75.6.0.tar.gz", hash = "sha256:8199222558df7c86216af4f84c30e9b34a61d8ba19366cc914424cdbd28252f6"}, ] [package.extras] check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)", "ruff (>=0.7.0)"] -core = ["importlib-metadata (>=6)", "jaraco.collections", "jaraco.functools (>=4)", "jaraco.text (>=3.7)", "more-itertools", "more-itertools (>=8.8)", "packaging", "packaging (>=24.2)", "platformdirs (>=4.2.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"] +core = ["importlib_metadata (>=6)", "jaraco.collections", "jaraco.functools (>=4)", "jaraco.text (>=3.7)", "more_itertools", "more_itertools (>=8.8)", "packaging", "packaging (>=24.2)", "platformdirs (>=4.2.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"] cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier", "towncrier (<24.7)"] enabler = ["pytest-enabler (>=2.2)"] test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test (>=5.5)", "packaging (>=24.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"] -type = ["importlib-metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (>=1.12,<1.14)", "pytest-mypy"] +type = ["importlib_metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (>=1.12,<1.14)", "pytest-mypy"] [[package]] name = "sgmllib3k" @@ -9013,13 +9052,13 @@ urllib3 = ">=2" [[package]] name = "types-setuptools" -version = "75.5.0.20241121" +version = "75.5.0.20241122" description = "Typing stubs for setuptools" optional = false python-versions = ">=3.8" files = [ - {file = "types_setuptools-75.5.0.20241121-py3-none-any.whl", hash = "sha256:8ea9489a8a9b98d4eb182d302117cbe1d5ae7c01a864e091b21a9107c2ba186c"}, - {file = "types_setuptools-75.5.0.20241121.tar.gz", hash = "sha256:47b261411cfca811681183f5371656ebc3d8e722b8ee857276fdb5402e5f6fb3"}, + {file = "types_setuptools-75.5.0.20241122-py3-none-any.whl", hash = "sha256:d69c445f7bdd5e49d1b2441aadcee1388febcc9ad9d9d5fd33648b555e0b1c31"}, + {file = "types_setuptools-75.5.0.20241122.tar.gz", hash = "sha256:196aaf1811cbc1c77ac1d4c4879d5308b6fdf426e56b73baadbca2a1827dadef"}, ] [[package]] @@ -9281,26 +9320,39 @@ xlsx = ["networkx", "openpyxl", "pandas", "xlrd"] [[package]] name = "unstructured-client" -version = "0.27.0" +version = "0.25.9" description = "Python Client SDK for Unstructured API" optional = true -python-versions = "<4.0,>=3.8" +python-versions = ">=3.8" files = [ - {file = "unstructured_client-0.27.0-py3-none-any.whl", hash = "sha256:e6413df1e2a4de36b78701369da83456e3a0b7b7cb9d1995c04ef55a1c9a8def"}, - {file = "unstructured_client-0.27.0.tar.gz", hash = "sha256:6eac20457205d61544d0cb8572a113d83ac61f8dda6fcec20a0a0c6259f256b6"}, + {file = "unstructured-client-0.25.9.tar.gz", hash = "sha256:fcc461623f58fefb0e22508e28bf653a8f6934b9779cb4a90dd68d77a39fb5b2"}, + {file = "unstructured_client-0.25.9-py3-none-any.whl", hash = "sha256:c984c01878c8fc243be7c842467d1113a194d885ab6396ae74258ee42717c5b5"}, ] [package.dependencies] +certifi = ">=2023.7.22" +charset-normalizer = ">=3.2.0" cryptography = ">=3.1" -eval-type-backport = ">=0.2.0,<0.3.0" +dataclasses-json = ">=0.6.4" +deepdiff = ">=6.0" httpx = ">=0.27.0" -jsonpath-python = ">=1.0.6,<2.0.0" +idna = ">=3.4" +jsonpath-python = ">=1.0.6" +marshmallow = ">=3.19.0" +mypy-extensions = ">=1.0.0" nest-asyncio = ">=1.6.0" -pydantic = ">=2.9.2,<2.10.0" +packaging = ">=23.1" pypdf = ">=4.0" -python-dateutil = "2.8.2" +python-dateutil = ">=2.8.2" +requests = ">=2.31.0" requests-toolbelt = ">=1.0.0" -typing-inspect = ">=0.9.0,<0.10.0" +six = ">=1.16.0" +typing-extensions = ">=4.7.1" +typing-inspect = ">=0.9.0" +urllib3 = ">=1.26.18" + +[package.extras] +dev = ["pylint (==3.1.0)"] [[package]] name = "unstructured-inference" @@ -9393,13 +9445,13 @@ zstd = ["zstandard (>=0.18.0)"] [[package]] name = "uvicorn" -version = "0.32.0" +version = "0.32.1" description = "The lightning-fast ASGI server." optional = false python-versions = ">=3.8" files = [ - {file = "uvicorn-0.32.0-py3-none-any.whl", hash = "sha256:60b8f3a5ac027dcd31448f411ced12b5ef452c646f76f02f8cc3f25d8d26fd82"}, - {file = "uvicorn-0.32.0.tar.gz", hash = "sha256:f78b36b143c16f54ccdb8190d0a26b5f1901fe5a3c777e1ab29f26391af8551e"}, + {file = "uvicorn-0.32.1-py3-none-any.whl", hash = "sha256:82ad92fd58da0d12af7482ecdb5f2470a04c9c9a53ced65b9bbb4a205377602e"}, + {file = "uvicorn-0.32.1.tar.gz", hash = "sha256:ee9519c246a72b1c084cea8d3b44ed6026e78a4a309cbedae9c37e4cb9fbb175"}, ] [package.dependencies] @@ -9408,7 +9460,7 @@ h11 = ">=0.8" typing-extensions = {version = ">=4.0", markers = "python_version < \"3.11\""} [package.extras] -standard = ["colorama (>=0.4)", "httptools (>=0.5.0)", "python-dotenv (>=0.13)", "pyyaml (>=5.1)", "uvloop (>=0.14.0,!=0.15.0,!=0.15.1)", "watchfiles (>=0.13)", "websockets (>=10.4)"] +standard = ["colorama (>=0.4)", "httptools (>=0.6.3)", "python-dotenv (>=0.13)", "pyyaml (>=5.1)", "uvloop (>=0.14.0,!=0.15.0,!=0.15.1)", "watchfiles (>=0.13)", "websockets (>=10.4)"] [[package]] name = "virtualenv" @@ -9962,12 +10014,12 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", type = ["pytest-mypy"] [extras] -all = ["PyMuPDF", "accelerate", "agentops", "anthropic", "apify_client", "arxiv", "arxiv2text", "asknews", "azure-storage-blob", "beautifulsoup4", "botocore", "cohere", "cohere", "datacommons", "datacommons_pandas", "datasets", "diffusers", "discord.py", "docker", "docx2txt", "duckduckgo-search", "firecrawl-py", "google-cloud-storage", "google-generativeai", "googlemaps", "imageio", "ipykernel", "jupyter_client", "litellm", "mistralai", "nebula3-python", "neo4j", "newspaper3k", "nltk", "notion-client", "openapi-spec-validator", "opencv-python", "pdfplumber", "pillow", "prance", "praw", "pyTelegramBotAPI", "pydub", "pygithub", "pymilvus", "pyowm", "qdrant-client", "rank-bm25", "redis", "reka-api", "requests_oauthlib", "scholarly", "sentence-transformers", "sentencepiece", "slack-bolt", "slack-sdk", "soundfile", "tavily-python", "textblob", "torch", "torch", "transformers", "unstructured", "wikipedia", "wolframalpha"] +all = ["PyMuPDF", "accelerate", "agentops", "anthropic", "apify_client", "arxiv", "arxiv2text", "asknews", "azure-storage-blob", "beautifulsoup4", "boto3", "botocore", "cohere", "cohere", "datacommons", "datacommons_pandas", "datasets", "diffusers", "discord.py", "docker", "docx2txt", "duckduckgo-search", "firecrawl-py", "google-cloud-storage", "google-generativeai", "googlemaps", "imageio", "ipykernel", "jupyter_client", "litellm", "mistralai", "nebula3-python", "neo4j", "newspaper3k", "nltk", "notion-client", "openapi-spec-validator", "opencv-python", "pdfplumber", "pillow", "prance", "praw", "pyTelegramBotAPI", "pydub", "pygithub", "pymilvus", "pyowm", "qdrant-client", "rank-bm25", "redis", "reka-api", "requests_oauthlib", "scholarly", "sentence-transformers", "sentencepiece", "slack-bolt", "slack-sdk", "soundfile", "tavily-python", "textblob", "torch", "torch", "transformers", "unstructured", "wikipedia", "wolframalpha"] encoders = ["sentence-transformers"] graph-storages = ["nebula3-python", "neo4j"] huggingface-agent = ["accelerate", "datasets", "diffusers", "opencv-python", "sentencepiece", "soundfile", "torch", "torch", "transformers"] kv-stroages = ["redis"] -model-platforms = ["anthropic", "cohere", "google-generativeai", "litellm", "mistralai", "reka-api"] +model-platforms = ["anthropic", "boto3", "cohere", "google-generativeai", "litellm", "mistralai", "reka-api"] object-storages = ["azure-storage-blob", "botocore", "google-cloud-storage"] rag = ["cohere", "nebula3-python", "neo4j", "pymilvus", "qdrant-client", "rank-bm25", "sentence-transformers", "unstructured"] retrievers = ["cohere", "rank-bm25"] @@ -9979,4 +10031,4 @@ vector-databases = ["pymilvus", "qdrant-client"] [metadata] lock-version = "2.0" python-versions = ">=3.10,<3.13" -content-hash = "b4f3714651590e9275505bfe1282668485d0094a3a7fcc6d86f530c0d7ace14d" +content-hash = "b6464e79b60a2b1f37d9fffbadaa79ef5cead0ea6c3feb0dffce6a0451e581d0" From 882f4795f3454830a33d9626ff0e8e5c00302dcb Mon Sep 17 00:00:00 2001 From: asher Date: Thu, 21 Nov 2024 03:17:18 -0800 Subject: [PATCH 5/6] update --- examples/toolkits/github_toolkit.py | 74 +++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/examples/toolkits/github_toolkit.py b/examples/toolkits/github_toolkit.py index d963f8cc82..2c6c2132b7 100644 --- a/examples/toolkits/github_toolkit.py +++ b/examples/toolkits/github_toolkit.py @@ -11,3 +11,77 @@ # See the License for the specific language governing permissions and # limitations under the License. # =========== Copyright 2023 @ CAMEL-AI.org. All Rights Reserved. =========== + +from camel.toolkits import GithubToolkit + +gt = GithubToolkit(repo_name="camel-ai/camel") + +# Retrieve a list of all file paths within the camel GitHub repository +paths = gt.get_all_file_paths() +print(paths) +''' +=============================================================================== +['.container/.env.example', '.container/Dockerfile', '.container/README.md', '. +container/docker-compose.yaml', '.container/minimal_build/Dockerfile', '. +github/ISSUE_TEMPLATE/bug_report.yml', '.github/ISSUE_TEMPLATE/discussions. +yml', '.github/ISSUE_TEMPLATE/feature_request.yml', '.github/ISSUE_TEMPLATE/ +questions.yml', '.github/PULL_REQUEST_TEMPLATE.md', '.github/actions/ +camel_install/action.yml', '.github/workflows/build_package.yml', '.github/ +workflows/documentation.yml', '.github/workflows/pre_commit.yml', '.github/ +workflows/publish_release.yml', '.github/workflows/pytest_apps.yml', '.github/ +workflows/pytest_package.yml', '.gitignore', '.pre-commit-config.yaml', '. +style.yapf', 'CONTRIBUTING.md', 'LICENSE', 'Makefile', 'README.md', 'apps/ +agents/README.md', 'apps/agents/agents.py', 'apps/agents/test/test_agents.py', +'apps/agents/test/test_text_utils.py', 'apps/agents/text_utils.py', 'apps/ +common/auto_zip.py', 'apps/common/test/test_archive_1.zip', 'apps/common/test/ +test_auto_zip.py', 'apps/data_explorer/.gitignore', 'apps/data_explorer/README. +md', 'apps/data_explorer/data_explorer.py', 'apps/data_explorer/downloader. +py', 'apps/data_explorer/loader.py', 'apps/data_explorer/test/ +test_data_explorer.py', 'apps/data_explorer/test/test_loader.py', 'apps/ +dilemma/database_connection.py', 'apps/dilemma/dilemma.py', 'apps/dilemma/ +requirements.txt', 'camel/__init__.py', 'camel/agents/__init__.py', 'camel/ +agents/base.py', 'camel/agents/chat_agent.py', 'camel/agents/critic_agent.py', +'camel/agents/deductive_reasoner_agent.py',... +=============================================================================== +''' + +# Retrieve the content of a specific file in the repository +content = gt.retrieve_file_content("camel/agents/chat_agent.py") +print(content[:1000]) +''' +=============================================================================== +# =========== Copyright 2023 @ CAMEL-AI.org. All Rights Reserved. =========== +# Licensed under the Apache License, Version 2.0 (the “License”); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an “AS IS” BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# =========== Copyright 2023 @ CAMEL-AI.org. All Rights Reserved. =========== +from __future__ import annotations + +import json +import logging +import re +import uuid +from collections import defaultdict +from typing import ( + TYPE_CHECKING, + Any, + Dict, + List, + Optional, + Tuple, + Type, + Union, +) + +from openai.types.chat import ChatCompletionMessageToolCall +f +=============================================================================== +''' From 220a330e9516029acc492da5b70bbe031966a2b2 Mon Sep 17 00:00:00 2001 From: asher Date: Thu, 21 Nov 2024 03:34:18 -0800 Subject: [PATCH 6/6] update --- poetry.lock | 263 ++++++++++++++++++++----------------------------- pyproject.toml | 2 +- 2 files changed, 106 insertions(+), 159 deletions(-) diff --git a/poetry.lock b/poetry.lock index e0875423ca..e1bc9d7aa1 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1410,24 +1410,6 @@ files = [ {file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"}, ] -[[package]] -name = "deepdiff" -version = "8.0.1" -description = "Deep Difference and Search of any Python object/data. Recreate objects by adding adding deltas to each other." -optional = true -python-versions = ">=3.8" -files = [ - {file = "deepdiff-8.0.1-py3-none-any.whl", hash = "sha256:42e99004ce603f9a53934c634a57b04ad5900e0d8ed0abb15e635767489cbc05"}, - {file = "deepdiff-8.0.1.tar.gz", hash = "sha256:245599a4586ab59bb599ca3517a9c42f3318ff600ded5e80a3432693c8ec3c4b"}, -] - -[package.dependencies] -orderly-set = "5.2.2" - -[package.extras] -cli = ["click (==8.1.7)", "pyyaml (==6.0.1)"] -optimize = ["orjson"] - [[package]] name = "defusedxml" version = "0.7.1" @@ -4941,17 +4923,6 @@ files = [ [package.dependencies] et-xmlfile = "*" -[[package]] -name = "orderly-set" -version = "5.2.2" -description = "Orderly set" -optional = true -python-versions = ">=3.8" -files = [ - {file = "orderly_set-5.2.2-py3-none-any.whl", hash = "sha256:f7a37c95a38c01cdfe41c3ffb62925a318a2286ea0a41790c057fc802aec54da"}, - {file = "orderly_set-5.2.2.tar.gz", hash = "sha256:52a18b86aaf3f5d5a498bbdb27bf3253a4e5c57ab38e5b7a56fa00115cd28448"}, -] - [[package]] name = "orjson" version = "3.10.11" @@ -6031,19 +6002,19 @@ files = [ [[package]] name = "pydantic" -version = "2.10.0" +version = "2.9.2" description = "Data validation using Python type hints" optional = false python-versions = ">=3.8" files = [ - {file = "pydantic-2.10.0-py3-none-any.whl", hash = "sha256:5e7807ba9201bdf61b1b58aa6eb690916c40a47acfb114b1b4fef3e7fd5b30fc"}, - {file = "pydantic-2.10.0.tar.gz", hash = "sha256:0aca0f045ff6e2f097f1fe89521115335f15049eeb8a7bef3dafe4b19a74e289"}, + {file = "pydantic-2.9.2-py3-none-any.whl", hash = "sha256:f048cec7b26778210e28a0459867920654d48e5e62db0958433636cde4254f12"}, + {file = "pydantic-2.9.2.tar.gz", hash = "sha256:d155cef71265d1e9807ed1c32b4c8deec042a44a50a4188b25ac67ecd81a9c0f"}, ] [package.dependencies] annotated-types = ">=0.6.0" -pydantic-core = "2.27.0" -typing-extensions = ">=4.12.2" +pydantic-core = "2.23.4" +typing-extensions = {version = ">=4.6.1", markers = "python_version < \"3.13\""} [package.extras] email = ["email-validator (>=2.0.0)"] @@ -6051,111 +6022,100 @@ timezone = ["tzdata"] [[package]] name = "pydantic-core" -version = "2.27.0" +version = "2.23.4" description = "Core functionality for Pydantic validation and serialization" optional = false python-versions = ">=3.8" files = [ - {file = "pydantic_core-2.27.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:cd2ac6b919f7fed71b17fe0b4603c092a4c9b5bae414817c9c81d3c22d1e1bcc"}, - {file = "pydantic_core-2.27.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e015833384ca3e1a0565a79f5d953b0629d9138021c27ad37c92a9fa1af7623c"}, - {file = "pydantic_core-2.27.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:db72e40628967f6dc572020d04b5f800d71264e0531c6da35097e73bdf38b003"}, - {file = "pydantic_core-2.27.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:df45c4073bed486ea2f18757057953afed8dd77add7276ff01bccb79982cf46c"}, - {file = "pydantic_core-2.27.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:836a4bfe0cc6d36dc9a9cc1a7b391265bf6ce9d1eb1eac62ac5139f5d8d9a6fa"}, - {file = "pydantic_core-2.27.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4bf1340ae507f6da6360b24179c2083857c8ca7644aab65807023cf35404ea8d"}, - {file = "pydantic_core-2.27.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ab325fc86fbc077284c8d7f996d904d30e97904a87d6fb303dce6b3de7ebba9"}, - {file = "pydantic_core-2.27.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1da0c98a85a6c6ed702d5556db3b09c91f9b0b78de37b7593e2de8d03238807a"}, - {file = "pydantic_core-2.27.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:7b0202ebf2268954090209a84f9897345719e46a57c5f2c9b7b250ca0a9d3e63"}, - {file = "pydantic_core-2.27.0-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:35380671c3c921fe8adf31ad349dc6f7588b7e928dbe44e1093789734f607399"}, - {file = "pydantic_core-2.27.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6b4c19525c3538fbc0bbda6229f9682fb8199ce9ac37395880e6952798e00373"}, - {file = "pydantic_core-2.27.0-cp310-none-win32.whl", hash = "sha256:333c840a1303d1474f491e7be0b718226c730a39ead0f7dab2c7e6a2f3855555"}, - {file = "pydantic_core-2.27.0-cp310-none-win_amd64.whl", hash = "sha256:99b2863c1365f43f74199c980a3d40f18a218fbe683dd64e470199db426c4d6a"}, - {file = "pydantic_core-2.27.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:4523c4009c3f39d948e01962223c9f5538602e7087a628479b723c939fab262d"}, - {file = "pydantic_core-2.27.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:84af1cf7bfdcbc6fcf5a5f70cc9896205e0350306e4dd73d54b6a18894f79386"}, - {file = "pydantic_core-2.27.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e65466b31be1070b4a5b7dbfbd14b247884cb8e8b79c64fb0f36b472912dbaea"}, - {file = "pydantic_core-2.27.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a5c022bb0d453192426221605efc865373dde43b17822a264671c53b068ac20c"}, - {file = "pydantic_core-2.27.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6bb69bf3b6500f195c3deb69c1205ba8fc3cb21d1915f1f158a10d6b1ef29b6a"}, - {file = "pydantic_core-2.27.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0aa4d1b2eba9a325897308b3124014a142cdccb9f3e016f31d3ebee6b5ea5e75"}, - {file = "pydantic_core-2.27.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8e96ca781e0c01e32115912ebdf7b3fb0780ce748b80d7d28a0802fa9fbaf44e"}, - {file = "pydantic_core-2.27.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b872c86d8d71827235c7077461c502feb2db3f87d9d6d5a9daa64287d75e4fa0"}, - {file = "pydantic_core-2.27.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:82e1ad4ca170e8af4c928b67cff731b6296e6a0a0981b97b2eb7c275cc4e15bd"}, - {file = "pydantic_core-2.27.0-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:eb40f828bc2f73f777d1eb8fee2e86cd9692a4518b63b6b5aa8af915dfd3207b"}, - {file = "pydantic_core-2.27.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9a8fbf506fde1529a1e3698198fe64bfbe2e0c09557bc6a7dcf872e7c01fec40"}, - {file = "pydantic_core-2.27.0-cp311-none-win32.whl", hash = "sha256:24f984fc7762ed5f806d9e8c4c77ea69fdb2afd987b4fd319ef06c87595a8c55"}, - {file = "pydantic_core-2.27.0-cp311-none-win_amd64.whl", hash = "sha256:68950bc08f9735306322bfc16a18391fcaac99ded2509e1cc41d03ccb6013cfe"}, - {file = "pydantic_core-2.27.0-cp311-none-win_arm64.whl", hash = "sha256:3eb8849445c26b41c5a474061032c53e14fe92a11a5db969f722a2716cd12206"}, - {file = "pydantic_core-2.27.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:8117839a9bdbba86e7f9df57018fe3b96cec934c3940b591b0fd3fbfb485864a"}, - {file = "pydantic_core-2.27.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a291d0b4243a259c8ea7e2b84eb9ccb76370e569298875a7c5e3e71baf49057a"}, - {file = "pydantic_core-2.27.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:84e35afd9e10b2698e6f2f32256678cb23ca6c1568d02628033a837638b3ed12"}, - {file = "pydantic_core-2.27.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:58ab0d979c969983cdb97374698d847a4acffb217d543e172838864636ef10d9"}, - {file = "pydantic_core-2.27.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0d06b667e53320332be2bf6f9461f4a9b78092a079b8ce8634c9afaa7e10cd9f"}, - {file = "pydantic_core-2.27.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:78f841523729e43e3928a364ec46e2e3f80e6625a4f62aca5c345f3f626c6e8a"}, - {file = "pydantic_core-2.27.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:400bf470e4327e920883b51e255617dfe4496d4e80c3fea0b5a5d0bf2c404dd4"}, - {file = "pydantic_core-2.27.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:951e71da6c89d354572098bada5ba5b5dc3a9390c933af8a614e37755d3d1840"}, - {file = "pydantic_core-2.27.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:2a51ce96224eadd1845150b204389623c8e129fde5a67a84b972bd83a85c6c40"}, - {file = "pydantic_core-2.27.0-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:483c2213a609e7db2c592bbc015da58b6c75af7360ca3c981f178110d9787bcf"}, - {file = "pydantic_core-2.27.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:359e7951f04ad35111b5ddce184db3391442345d0ab073aa63a95eb8af25a5ef"}, - {file = "pydantic_core-2.27.0-cp312-none-win32.whl", hash = "sha256:ee7d9d5537daf6d5c74a83b38a638cc001b648096c1cae8ef695b0c919d9d379"}, - {file = "pydantic_core-2.27.0-cp312-none-win_amd64.whl", hash = "sha256:2be0ad541bb9f059954ccf8877a49ed73877f862529575ff3d54bf4223e4dd61"}, - {file = "pydantic_core-2.27.0-cp312-none-win_arm64.whl", hash = "sha256:6e19401742ed7b69e51d8e4df3c03ad5ec65a83b36244479fd70edde2828a5d9"}, - {file = "pydantic_core-2.27.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:5f2b19b8d6fca432cb3acf48cf5243a7bf512988029b6e6fd27e9e8c0a204d85"}, - {file = "pydantic_core-2.27.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:c86679f443e7085ea55a7376462553996c688395d18ef3f0d3dbad7838f857a2"}, - {file = "pydantic_core-2.27.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:510b11e9c3b1a852876d1ccd8d5903684336d635214148637ceb27366c75a467"}, - {file = "pydantic_core-2.27.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eb704155e73b833801c247f39d562229c0303f54770ca14fb1c053acb376cf10"}, - {file = "pydantic_core-2.27.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9ce048deb1e033e7a865ca384770bccc11d44179cf09e5193a535c4c2f497bdc"}, - {file = "pydantic_core-2.27.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:58560828ee0951bb125c6f2862fbc37f039996d19ceb6d8ff1905abf7da0bf3d"}, - {file = "pydantic_core-2.27.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:abb4785894936d7682635726613c44578c420a096729f1978cd061a7e72d5275"}, - {file = "pydantic_core-2.27.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2883b260f7a93235488699d39cbbd94fa7b175d3a8063fbfddd3e81ad9988cb2"}, - {file = "pydantic_core-2.27.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:c6fcb3fa3855d583aa57b94cf146f7781d5d5bc06cb95cb3afece33d31aac39b"}, - {file = "pydantic_core-2.27.0-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:e851a051f7260e6d688267eb039c81f05f23a19431bd7dfa4bf5e3cb34c108cd"}, - {file = "pydantic_core-2.27.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:edb1bfd45227dec8d50bc7c7d86463cd8728bcc574f9b07de7369880de4626a3"}, - {file = "pydantic_core-2.27.0-cp313-none-win32.whl", hash = "sha256:678f66462058dd978702db17eb6a3633d634f7aa0deaea61e0a674152766d3fc"}, - {file = "pydantic_core-2.27.0-cp313-none-win_amd64.whl", hash = "sha256:d28ca7066d6cdd347a50d8b725dc10d9a1d6a1cce09836cf071ea6a2d4908be0"}, - {file = "pydantic_core-2.27.0-cp313-none-win_arm64.whl", hash = "sha256:6f4a53af9e81d757756508b57cae1cf28293f0f31b9fa2bfcb416cc7fb230f9d"}, - {file = "pydantic_core-2.27.0-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:e9f9feee7f334b72ceae46313333d002b56f325b5f04271b4ae2aadd9e993ae4"}, - {file = "pydantic_core-2.27.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:225bfff5d425c34e1fd562cef52d673579d59b967d9de06178850c4802af9039"}, - {file = "pydantic_core-2.27.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c921ad596ff1a82f9c692b0758c944355abc9f0de97a4c13ca60ffc6d8dc15d4"}, - {file = "pydantic_core-2.27.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6354e18a9be37bfa124d6b288a87fb30c673745806c92956f1a25e3ae6e76b96"}, - {file = "pydantic_core-2.27.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8ee4c2a75af9fe21269a4a0898c5425afb01af1f5d276063f57e2ae1bc64e191"}, - {file = "pydantic_core-2.27.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c91e3c04f5191fd3fb68764bddeaf02025492d5d9f23343b283870f6ace69708"}, - {file = "pydantic_core-2.27.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a6ebfac28fd51890a61df36ef202adbd77d00ee5aca4a3dadb3d9ed49cfb929"}, - {file = "pydantic_core-2.27.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:36aa167f69d8807ba7e341d67ea93e50fcaaf6bc433bb04939430fa3dab06f31"}, - {file = "pydantic_core-2.27.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:3e8d89c276234579cd3d095d5fa2a44eb10db9a218664a17b56363cddf226ff3"}, - {file = "pydantic_core-2.27.0-cp38-cp38-musllinux_1_1_armv7l.whl", hash = "sha256:5cc822ab90a70ea3a91e6aed3afac570b276b1278c6909b1d384f745bd09c714"}, - {file = "pydantic_core-2.27.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:e15315691fe2253eb447503153acef4d7223dfe7e7702f9ed66539fcd0c43801"}, - {file = "pydantic_core-2.27.0-cp38-none-win32.whl", hash = "sha256:dfa5f5c0a4c8fced1422dc2ca7eefd872d5d13eb33cf324361dbf1dbfba0a9fe"}, - {file = "pydantic_core-2.27.0-cp38-none-win_amd64.whl", hash = "sha256:513cb14c0cc31a4dfd849a4674b20c46d87b364f997bbcb02282306f5e187abf"}, - {file = "pydantic_core-2.27.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:4148dc9184ab79e356dc00a4199dc0ee8647973332cb385fc29a7cced49b9f9c"}, - {file = "pydantic_core-2.27.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5fc72fbfebbf42c0856a824b8b0dc2b5cd2e4a896050281a21cfa6fed8879cb1"}, - {file = "pydantic_core-2.27.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:185ef205256cd8b38431205698531026979db89a79587725c1e55c59101d64e9"}, - {file = "pydantic_core-2.27.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:395e3e1148fa7809016231f8065f30bb0dc285a97b4dc4360cd86e17bab58af7"}, - {file = "pydantic_core-2.27.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:33d14369739c5d07e2e7102cdb0081a1fa46ed03215e07f097b34e020b83b1ae"}, - {file = "pydantic_core-2.27.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e7820bb0d65e3ce1e3e70b6708c2f66143f55912fa02f4b618d0f08b61575f12"}, - {file = "pydantic_core-2.27.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:43b61989068de9ce62296cde02beffabcadb65672207fc51e7af76dca75e6636"}, - {file = "pydantic_core-2.27.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:15e350efb67b855cd014c218716feea4986a149ed1f42a539edd271ee074a196"}, - {file = "pydantic_core-2.27.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:433689845288f9a1ee5714444e65957be26d30915f7745091ede4a83cfb2d7bb"}, - {file = "pydantic_core-2.27.0-cp39-cp39-musllinux_1_1_armv7l.whl", hash = "sha256:3fd8bc2690e7c39eecdf9071b6a889ce7b22b72073863940edc2a0a23750ca90"}, - {file = "pydantic_core-2.27.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:884f1806609c2c66564082540cffc96868c5571c7c3cf3a783f63f2fb49bd3cd"}, - {file = "pydantic_core-2.27.0-cp39-none-win32.whl", hash = "sha256:bf37b72834e7239cf84d4a0b2c050e7f9e48bced97bad9bdf98d26b8eb72e846"}, - {file = "pydantic_core-2.27.0-cp39-none-win_amd64.whl", hash = "sha256:31a2cae5f059329f9cfe3d8d266d3da1543b60b60130d186d9b6a3c20a346361"}, - {file = "pydantic_core-2.27.0-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:4fb49cfdb53af5041aba909be00cccfb2c0d0a2e09281bf542371c5fd36ad04c"}, - {file = "pydantic_core-2.27.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:49633583eb7dc5cba61aaf7cdb2e9e662323ad394e543ee77af265736bcd3eaa"}, - {file = "pydantic_core-2.27.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:153017e3d6cd3ce979de06d84343ca424bb6092727375eba1968c8b4693c6ecb"}, - {file = "pydantic_core-2.27.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ff63a92f6e249514ef35bc795de10745be0226eaea06eb48b4bbeaa0c8850a4a"}, - {file = "pydantic_core-2.27.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5982048129f40b082c2654de10c0f37c67a14f5ff9d37cf35be028ae982f26df"}, - {file = "pydantic_core-2.27.0-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:91bc66f878557313c2a6bcf396e7befcffe5ab4354cfe4427318968af31143c3"}, - {file = "pydantic_core-2.27.0-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:68ef5377eb582fa4343c9d0b57a5b094046d447b4c73dd9fbd9ffb216f829e7d"}, - {file = "pydantic_core-2.27.0-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:c5726eec789ee38f2c53b10b1821457b82274f81f4f746bb1e666d8741fcfadb"}, - {file = "pydantic_core-2.27.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:c0c431e4be5c1a0c6654e0c31c661cd89e0ca956ef65305c3c3fd96f4e72ca39"}, - {file = "pydantic_core-2.27.0-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:8e21d927469d04b39386255bf00d0feedead16f6253dcc85e9e10ddebc334084"}, - {file = "pydantic_core-2.27.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:4b51f964fcbb02949fc546022e56cdb16cda457af485e9a3e8b78ac2ecf5d77e"}, - {file = "pydantic_core-2.27.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25a7fd4de38f7ff99a37e18fa0098c3140286451bc823d1746ba80cec5b433a1"}, - {file = "pydantic_core-2.27.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fda87808429c520a002a85d6e7cdadbf58231d60e96260976c5b8f9a12a8e13"}, - {file = "pydantic_core-2.27.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8a150392102c402c538190730fda06f3bce654fc498865579a9f2c1d2b425833"}, - {file = "pydantic_core-2.27.0-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:c9ed88b398ba7e3bad7bd64d66cc01dcde9cfcb7ec629a6fd78a82fa0b559d78"}, - {file = "pydantic_core-2.27.0-pp39-pypy39_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:9fe94d9d2a2b4edd7a4b22adcd45814b1b59b03feb00e56deb2e89747aec7bfe"}, - {file = "pydantic_core-2.27.0-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:d8b5ee4ae9170e2775d495b81f414cc20268041c42571530513496ba61e94ba3"}, - {file = "pydantic_core-2.27.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:d29e235ce13c91902ef3efc3d883a677655b3908b1cbc73dee816e5e1f8f7739"}, - {file = "pydantic_core-2.27.0.tar.gz", hash = "sha256:f57783fbaf648205ac50ae7d646f27582fc706be3977e87c3c124e7a92407b10"}, + {file = "pydantic_core-2.23.4-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:b10bd51f823d891193d4717448fab065733958bdb6a6b351967bd349d48d5c9b"}, + {file = "pydantic_core-2.23.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4fc714bdbfb534f94034efaa6eadd74e5b93c8fa6315565a222f7b6f42ca1166"}, + {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63e46b3169866bd62849936de036f901a9356e36376079b05efa83caeaa02ceb"}, + {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ed1a53de42fbe34853ba90513cea21673481cd81ed1be739f7f2efb931b24916"}, + {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cfdd16ab5e59fc31b5e906d1a3f666571abc367598e3e02c83403acabc092e07"}, + {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:255a8ef062cbf6674450e668482456abac99a5583bbafb73f9ad469540a3a232"}, + {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4a7cd62e831afe623fbb7aabbb4fe583212115b3ef38a9f6b71869ba644624a2"}, + {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f09e2ff1f17c2b51f2bc76d1cc33da96298f0a036a137f5440ab3ec5360b624f"}, + {file = "pydantic_core-2.23.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e38e63e6f3d1cec5a27e0afe90a085af8b6806ee208b33030e65b6516353f1a3"}, + {file = "pydantic_core-2.23.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:0dbd8dbed2085ed23b5c04afa29d8fd2771674223135dc9bc937f3c09284d071"}, + {file = "pydantic_core-2.23.4-cp310-none-win32.whl", hash = "sha256:6531b7ca5f951d663c339002e91aaebda765ec7d61b7d1e3991051906ddde119"}, + {file = "pydantic_core-2.23.4-cp310-none-win_amd64.whl", hash = "sha256:7c9129eb40958b3d4500fa2467e6a83356b3b61bfff1b414c7361d9220f9ae8f"}, + {file = "pydantic_core-2.23.4-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:77733e3892bb0a7fa797826361ce8a9184d25c8dffaec60b7ffe928153680ba8"}, + {file = "pydantic_core-2.23.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1b84d168f6c48fabd1f2027a3d1bdfe62f92cade1fb273a5d68e621da0e44e6d"}, + {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:df49e7a0861a8c36d089c1ed57d308623d60416dab2647a4a17fe050ba85de0e"}, + {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ff02b6d461a6de369f07ec15e465a88895f3223eb75073ffea56b84d9331f607"}, + {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:996a38a83508c54c78a5f41456b0103c30508fed9abcad0a59b876d7398f25fd"}, + {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d97683ddee4723ae8c95d1eddac7c192e8c552da0c73a925a89fa8649bf13eea"}, + {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:216f9b2d7713eb98cb83c80b9c794de1f6b7e3145eef40400c62e86cee5f4e1e"}, + {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6f783e0ec4803c787bcea93e13e9932edab72068f68ecffdf86a99fd5918878b"}, + {file = "pydantic_core-2.23.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d0776dea117cf5272382634bd2a5c1b6eb16767c223c6a5317cd3e2a757c61a0"}, + {file = "pydantic_core-2.23.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d5f7a395a8cf1621939692dba2a6b6a830efa6b3cee787d82c7de1ad2930de64"}, + {file = "pydantic_core-2.23.4-cp311-none-win32.whl", hash = "sha256:74b9127ffea03643e998e0c5ad9bd3811d3dac8c676e47db17b0ee7c3c3bf35f"}, + {file = "pydantic_core-2.23.4-cp311-none-win_amd64.whl", hash = "sha256:98d134c954828488b153d88ba1f34e14259284f256180ce659e8d83e9c05eaa3"}, + {file = "pydantic_core-2.23.4-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:f3e0da4ebaef65158d4dfd7d3678aad692f7666877df0002b8a522cdf088f231"}, + {file = "pydantic_core-2.23.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f69a8e0b033b747bb3e36a44e7732f0c99f7edd5cea723d45bc0d6e95377ffee"}, + {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:723314c1d51722ab28bfcd5240d858512ffd3116449c557a1336cbe3919beb87"}, + {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bb2802e667b7051a1bebbfe93684841cc9351004e2badbd6411bf357ab8d5ac8"}, + {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d18ca8148bebe1b0a382a27a8ee60350091a6ddaf475fa05ef50dc35b5df6327"}, + {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:33e3d65a85a2a4a0dc3b092b938a4062b1a05f3a9abde65ea93b233bca0e03f2"}, + {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:128585782e5bfa515c590ccee4b727fb76925dd04a98864182b22e89a4e6ed36"}, + {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:68665f4c17edcceecc112dfed5dbe6f92261fb9d6054b47d01bf6371a6196126"}, + {file = "pydantic_core-2.23.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:20152074317d9bed6b7a95ade3b7d6054845d70584216160860425f4fbd5ee9e"}, + {file = "pydantic_core-2.23.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:9261d3ce84fa1d38ed649c3638feefeae23d32ba9182963e465d58d62203bd24"}, + {file = "pydantic_core-2.23.4-cp312-none-win32.whl", hash = "sha256:4ba762ed58e8d68657fc1281e9bb72e1c3e79cc5d464be146e260c541ec12d84"}, + {file = "pydantic_core-2.23.4-cp312-none-win_amd64.whl", hash = "sha256:97df63000f4fea395b2824da80e169731088656d1818a11b95f3b173747b6cd9"}, + {file = "pydantic_core-2.23.4-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:7530e201d10d7d14abce4fb54cfe5b94a0aefc87da539d0346a484ead376c3cc"}, + {file = "pydantic_core-2.23.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:df933278128ea1cd77772673c73954e53a1c95a4fdf41eef97c2b779271bd0bd"}, + {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0cb3da3fd1b6a5d0279a01877713dbda118a2a4fc6f0d821a57da2e464793f05"}, + {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:42c6dcb030aefb668a2b7009c85b27f90e51e6a3b4d5c9bc4c57631292015b0d"}, + {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:696dd8d674d6ce621ab9d45b205df149399e4bb9aa34102c970b721554828510"}, + {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2971bb5ffe72cc0f555c13e19b23c85b654dd2a8f7ab493c262071377bfce9f6"}, + {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8394d940e5d400d04cad4f75c0598665cbb81aecefaca82ca85bd28264af7f9b"}, + {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0dff76e0602ca7d4cdaacc1ac4c005e0ce0dcfe095d5b5259163a80d3a10d327"}, + {file = "pydantic_core-2.23.4-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:7d32706badfe136888bdea71c0def994644e09fff0bfe47441deaed8e96fdbc6"}, + {file = "pydantic_core-2.23.4-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ed541d70698978a20eb63d8c5d72f2cc6d7079d9d90f6b50bad07826f1320f5f"}, + {file = "pydantic_core-2.23.4-cp313-none-win32.whl", hash = "sha256:3d5639516376dce1940ea36edf408c554475369f5da2abd45d44621cb616f769"}, + {file = "pydantic_core-2.23.4-cp313-none-win_amd64.whl", hash = "sha256:5a1504ad17ba4210df3a045132a7baeeba5a200e930f57512ee02909fc5c4cb5"}, + {file = "pydantic_core-2.23.4-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:d4488a93b071c04dc20f5cecc3631fc78b9789dd72483ba15d423b5b3689b555"}, + {file = "pydantic_core-2.23.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:81965a16b675b35e1d09dd14df53f190f9129c0202356ed44ab2728b1c905658"}, + {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ffa2ebd4c8530079140dd2d7f794a9d9a73cbb8e9d59ffe24c63436efa8f271"}, + {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:61817945f2fe7d166e75fbfb28004034b48e44878177fc54d81688e7b85a3665"}, + {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:29d2c342c4bc01b88402d60189f3df065fb0dda3654744d5a165a5288a657368"}, + {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5e11661ce0fd30a6790e8bcdf263b9ec5988e95e63cf901972107efc49218b13"}, + {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d18368b137c6295db49ce7218b1a9ba15c5bc254c96d7c9f9e924a9bc7825ad"}, + {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ec4e55f79b1c4ffb2eecd8a0cfba9955a2588497d96851f4c8f99aa4a1d39b12"}, + {file = "pydantic_core-2.23.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:374a5e5049eda9e0a44c696c7ade3ff355f06b1fe0bb945ea3cac2bc336478a2"}, + {file = "pydantic_core-2.23.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5c364564d17da23db1106787675fc7af45f2f7b58b4173bfdd105564e132e6fb"}, + {file = "pydantic_core-2.23.4-cp38-none-win32.whl", hash = "sha256:d7a80d21d613eec45e3d41eb22f8f94ddc758a6c4720842dc74c0581f54993d6"}, + {file = "pydantic_core-2.23.4-cp38-none-win_amd64.whl", hash = "sha256:5f5ff8d839f4566a474a969508fe1c5e59c31c80d9e140566f9a37bba7b8d556"}, + {file = "pydantic_core-2.23.4-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:a4fa4fc04dff799089689f4fd502ce7d59de529fc2f40a2c8836886c03e0175a"}, + {file = "pydantic_core-2.23.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0a7df63886be5e270da67e0966cf4afbae86069501d35c8c1b3b6c168f42cb36"}, + {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dcedcd19a557e182628afa1d553c3895a9f825b936415d0dbd3cd0bbcfd29b4b"}, + {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5f54b118ce5de9ac21c363d9b3caa6c800341e8c47a508787e5868c6b79c9323"}, + {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:86d2f57d3e1379a9525c5ab067b27dbb8a0642fb5d454e17a9ac434f9ce523e3"}, + {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:de6d1d1b9e5101508cb37ab0d972357cac5235f5c6533d1071964c47139257df"}, + {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1278e0d324f6908e872730c9102b0112477a7f7cf88b308e4fc36ce1bdb6d58c"}, + {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9a6b5099eeec78827553827f4c6b8615978bb4b6a88e5d9b93eddf8bb6790f55"}, + {file = "pydantic_core-2.23.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:e55541f756f9b3ee346b840103f32779c695a19826a4c442b7954550a0972040"}, + {file = "pydantic_core-2.23.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a5c7ba8ffb6d6f8f2ab08743be203654bb1aaa8c9dcb09f82ddd34eadb695605"}, + {file = "pydantic_core-2.23.4-cp39-none-win32.whl", hash = "sha256:37b0fe330e4a58d3c58b24d91d1eb102aeec675a3db4c292ec3928ecd892a9a6"}, + {file = "pydantic_core-2.23.4-cp39-none-win_amd64.whl", hash = "sha256:1498bec4c05c9c787bde9125cfdcc63a41004ff167f495063191b863399b1a29"}, + {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:f455ee30a9d61d3e1a15abd5068827773d6e4dc513e795f380cdd59932c782d5"}, + {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:1e90d2e3bd2c3863d48525d297cd143fe541be8bbf6f579504b9712cb6b643ec"}, + {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e203fdf807ac7e12ab59ca2bfcabb38c7cf0b33c41efeb00f8e5da1d86af480"}, + {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e08277a400de01bc72436a0ccd02bdf596631411f592ad985dcee21445bd0068"}, + {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f220b0eea5965dec25480b6333c788fb72ce5f9129e8759ef876a1d805d00801"}, + {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:d06b0c8da4f16d1d1e352134427cb194a0a6e19ad5db9161bf32b2113409e728"}, + {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:ba1a0996f6c2773bd83e63f18914c1de3c9dd26d55f4ac302a7efe93fb8e7433"}, + {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:9a5bce9d23aac8f0cf0836ecfc033896aa8443b501c58d0602dbfd5bd5b37753"}, + {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:78ddaaa81421a29574a682b3179d4cf9e6d405a09b99d93ddcf7e5239c742e21"}, + {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:883a91b5dd7d26492ff2f04f40fbb652de40fcc0afe07e8129e8ae779c2110eb"}, + {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88ad334a15b32a791ea935af224b9de1bf99bcd62fabf745d5f3442199d86d59"}, + {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:233710f069d251feb12a56da21e14cca67994eab08362207785cf8c598e74577"}, + {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:19442362866a753485ba5e4be408964644dd6a09123d9416c54cd49171f50744"}, + {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:624e278a7d29b6445e4e813af92af37820fafb6dcc55c012c834f9e26f9aaaef"}, + {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f5ef8f42bec47f21d07668a043f077d507e5bf4e668d5c6dfe6aaba89de1a5b8"}, + {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:aea443fffa9fbe3af1a9ba721a87f926fe548d32cab71d188a6ede77d0ff244e"}, + {file = "pydantic_core-2.23.4.tar.gz", hash = "sha256:2584f7cf844ac4d970fba483a717dbe10c1c1c96a969bf65d61ffe94df1b2863"}, ] [package.dependencies] @@ -9320,39 +9280,26 @@ xlsx = ["networkx", "openpyxl", "pandas", "xlrd"] [[package]] name = "unstructured-client" -version = "0.25.9" +version = "0.27.0" description = "Python Client SDK for Unstructured API" optional = true -python-versions = ">=3.8" +python-versions = "<4.0,>=3.8" files = [ - {file = "unstructured-client-0.25.9.tar.gz", hash = "sha256:fcc461623f58fefb0e22508e28bf653a8f6934b9779cb4a90dd68d77a39fb5b2"}, - {file = "unstructured_client-0.25.9-py3-none-any.whl", hash = "sha256:c984c01878c8fc243be7c842467d1113a194d885ab6396ae74258ee42717c5b5"}, + {file = "unstructured_client-0.27.0-py3-none-any.whl", hash = "sha256:e6413df1e2a4de36b78701369da83456e3a0b7b7cb9d1995c04ef55a1c9a8def"}, + {file = "unstructured_client-0.27.0.tar.gz", hash = "sha256:6eac20457205d61544d0cb8572a113d83ac61f8dda6fcec20a0a0c6259f256b6"}, ] [package.dependencies] -certifi = ">=2023.7.22" -charset-normalizer = ">=3.2.0" cryptography = ">=3.1" -dataclasses-json = ">=0.6.4" -deepdiff = ">=6.0" +eval-type-backport = ">=0.2.0,<0.3.0" httpx = ">=0.27.0" -idna = ">=3.4" -jsonpath-python = ">=1.0.6" -marshmallow = ">=3.19.0" -mypy-extensions = ">=1.0.0" +jsonpath-python = ">=1.0.6,<2.0.0" nest-asyncio = ">=1.6.0" -packaging = ">=23.1" +pydantic = ">=2.9.2,<2.10.0" pypdf = ">=4.0" -python-dateutil = ">=2.8.2" -requests = ">=2.31.0" +python-dateutil = "2.8.2" requests-toolbelt = ">=1.0.0" -six = ">=1.16.0" -typing-extensions = ">=4.7.1" -typing-inspect = ">=0.9.0" -urllib3 = ">=1.26.18" - -[package.extras] -dev = ["pylint (==3.1.0)"] +typing-inspect = ">=0.9.0,<0.10.0" [[package]] name = "unstructured-inference" @@ -10031,4 +9978,4 @@ vector-databases = ["pymilvus", "qdrant-client"] [metadata] lock-version = "2.0" python-versions = ">=3.10,<3.13" -content-hash = "b6464e79b60a2b1f37d9fffbadaa79ef5cead0ea6c3feb0dffce6a0451e581d0" +content-hash = "e4a31518dc6d2741aaa2e2b55314223a1a2f6568e1711ddb18eabc575839dac8" diff --git a/pyproject.toml b/pyproject.toml index 5eb668e423..e9bb5de624 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -36,7 +36,7 @@ jsonschema = "^4" protobuf = "^4" pathlib = "^1.0.1" docstring-parser = "^0.15" -pydantic = ">=1.9,<3" +pydantic = ">=1.9,<=2.9.2" eval-type-backport = "0.2.0" curl_cffi = "0.6.2" pandoc = "*"