From b7c0927e5a39d3db9b5f4bfffb677943273cd829 Mon Sep 17 00:00:00 2001 From: nik Date: Tue, 28 Nov 2023 21:39:25 +0000 Subject: [PATCH 1/5] Add RAG skill --- adala/agents/base.py | 40 +++++++++++----------- adala/environments/base.py | 11 ++++-- adala/memories/base.py | 28 ++++++++++++--- adala/memories/vectordb.py | 47 ++++++++++++++++++++++++++ adala/skills/_base.py | 17 +++++++--- adala/skills/collection/rag.py | 62 ++++++++++++++++++++++++++++++++++ 6 files changed, 173 insertions(+), 32 deletions(-) create mode 100644 adala/memories/vectordb.py create mode 100644 adala/skills/collection/rag.py diff --git a/adala/agents/base.py b/adala/agents/base.py index 8eeb15ce..f9352222 100644 --- a/adala/agents/base.py +++ b/adala/agents/base.py @@ -276,25 +276,27 @@ def learn( ).merge(predictions, left_index=True, right_index=True) ) # ----------------------------- - train_skill_name, train_skill_output, accuracy = self.select_skill_to_train( - feedback, accuracy_threshold - ) - if not train_skill_name: - print_text(f"No skill to improve found. Continue learning...") - continue - train_skill = self.skills[train_skill_name] - print_text( - f'Output to improve: "{train_skill_output}" (Skill="{train_skill_name}")\n' - f"Accuracy = {accuracy * 100:0.2f}%", - style="bold red", - ) - - old_instructions = train_skill.instructions - train_skill.improve( - predictions, train_skill_output, feedback, runtime=teacher_runtime - ) - highlight_differences(old_instructions, train_skill.instructions) - # print_text(f'{train_skill.instructions}', style='bold green') + accuracy = feedback.get_accuracy() + for skill_output, skill_name in self.skills.get_skill_outputs().items(): + skill = self.skills[skill_name] + if skill.frozen: + continue + match = feedback.match[skill_output] + nothing_to_improve = match.all() and not match.isna().all() + if nothing_to_improve: + print_text(f'Nothing to improve for skill output "{skill_output}" (Skill="{skill_name}")') + continue + + print_text( + f'Skill output to improve: "{skill_output}" (Skill="{skill_name}")\n' + f"Accuracy = {accuracy[skill_output] * 100:0.2f}%", + style="bold red", + ) + + old_instructions = skill.instructions + skill.improve(predictions, skill_output, feedback, runtime=teacher_runtime) + + highlight_differences(old_instructions, skill.instructions) print_text("Train is done!") diff --git a/adala/environments/base.py b/adala/environments/base.py index 05eecfc5..883fd6b6 100644 --- a/adala/environments/base.py +++ b/adala/environments/base.py @@ -171,16 +171,20 @@ def get_feedback( predictions = predictions.sample(n=num_feedbacks) for pred_column in pred_columns: + pred = predictions[pred_column] + if not self.ground_truth_columns: gt_column = pred_column else: - gt_column = self.ground_truth_columns[pred_column] + gt_column = self.ground_truth_columns.get(pred_column) if gt_column not in self.df.columns: + pred_match[pred_column] = InternalSeries(np.nan, index=pred.index) + pred_feedback[pred_column] = InternalSeries(np.nan, index=pred.index) continue gt = self.df[gt_column] - pred = predictions[pred_column] + gt, pred = gt.align(pred) nonnull_index = gt.notnull() & pred.notnull() gt = gt[nonnull_index] @@ -214,10 +218,11 @@ def get_feedback( else np.nan, axis=1, ) - return EnvironmentFeedback( + fb = EnvironmentFeedback( match=InternalDataFrame(pred_match).reindex(predictions.index), feedback=InternalDataFrame(pred_feedback).reindex(predictions.index), ) + return fb def get_data_batch(self, batch_size: int = None) -> InternalDataFrame: """ diff --git a/adala/memories/base.py b/adala/memories/base.py index 85674d01..45920089 100644 --- a/adala/memories/base.py +++ b/adala/memories/base.py @@ -1,25 +1,43 @@ from __future__ import annotations from abc import ABC, abstractmethod -from typing import Any, Optional, TYPE_CHECKING, Dict - +from typing import Any, Optional, TYPE_CHECKING, Dict, List from pydantic import BaseModel, Field +from adala.utils.internal_data import InternalDataFrame class Memory(BaseModel, ABC): """ - Base class for long-term memories. - Long-term memories are used to store acquired knowledge and can be shared between agents. + Base class for memories. """ @abstractmethod - def remember(self, observation: str, experience: Any): + def remember(self, observation: str, data: Dict): + """ + Base method for remembering experiences in long term memory. + """ + + def remember_many(self, observations: List[str], data: List[Dict]): """ Base method for remembering experiences in long term memory. """ + for observation, d in zip(observations, data): + self.remember(observation, d) @abstractmethod def retrieve(self, observation: str) -> Any: """ Base method for retrieving past experiences from long term memory, based on current observations """ + + def retrieve_many(self, observations: List[str]) -> List[Any]: + """ + Base method for retrieving past experiences from long term memory, based on current observations + """ + return [self.retrieve(observation) for observation in observations] + + @abstractmethod + def clear(self): + """ + Base method for clearing memory. + """ \ No newline at end of file diff --git a/adala/memories/vectordb.py b/adala/memories/vectordb.py new file mode 100644 index 00000000..995e3e82 --- /dev/null +++ b/adala/memories/vectordb.py @@ -0,0 +1,47 @@ +import chromadb +import hashlib +from .base import Memory +from uuid import uuid4 +from pydantic import BaseModel, Field, model_validator +from chromadb.utils import embedding_functions +from typing import Any, List + + +class VectorDBMemory(Memory): + """ + Memory backed by a vector database. + """ + db_name: str = '' + _client = None + _collection = None + _embedding_function = None + + @model_validator(mode='after') + def init_database(self): + self._client = chromadb.Client() + self._embedding_function = embedding_functions.OpenAIEmbeddingFunction(model_name="text-embedding-ada-002") + self._collection = self._client.get_or_create_collection(name=self.db_name, embedding_function=self._embedding_function) + + def create_unique_id(self, string): + return hashlib.md5(string.encode()).hexdigest() + + def remember(self, observation: str, data: Any): + self._collection.add( + ids=[self.create_unique_id(observation)], + documents=[observation], + metadatas=[data] + ) + + def retrieve_many(self, observations: List[str], num_results: int = 1) -> List[Any]: + result = self._collection.query( + query_texts=observations, + n_results=num_results + ) + return result['metadatas'] + + def retrieve(self, observation: str, num_results: int = 1) -> Any: + return self.retrieve_many([observation], num_results=num_results)[0] + + def clear(self): + self._client.delete_collection(name=self.db_name) + self._collection = self._client.create_collection(name=self.db_name, embedding_function=self._embedding_function) diff --git a/adala/skills/_base.py b/adala/skills/_base.py index f130d47d..24fe962f 100644 --- a/adala/skills/_base.py +++ b/adala/skills/_base.py @@ -80,6 +80,13 @@ class Skill(BaseModel, ABC): examples=[True, False], ) + frozen: bool = Field( + default=False, + title="Frozen", + description="Flag indicating if the skill is frozen.", + examples=[True, False], + ) + def _get_extra_fields(self): """ Retrieves fields that are not categorized as system fields. @@ -257,13 +264,13 @@ def improve( { "role": "user", "content": f""" - ## Current prompt - {self.instructions} +## Current prompt +{self.instructions} - ## Examples - {examples} +## Examples +{examples} - Summarize your analysis about incorrect predictions and suggest changes to the prompt.""", +Summarize your analysis about incorrect predictions and suggest changes to the prompt.""", } ] diff --git a/adala/skills/collection/rag.py b/adala/skills/collection/rag.py new file mode 100644 index 00000000..63b83593 --- /dev/null +++ b/adala/skills/collection/rag.py @@ -0,0 +1,62 @@ +from typing import Optional +from adala.skills._base import TransformSkill +from adala.utils.internal_data import InternalDataFrame +from adala.runtimes.base import Runtime +from adala.memories import Memory + + +class RAGSkill(TransformSkill): + """ + Skill for RAG (Retrieval-Augmented Generation) models. + """ + name: str = 'rag' + rag_input_template: str + instructions: str = '' + output_template: str = '{rag}' + num_results: int = 1 + memory: Memory + + def apply( + self, + input: InternalDataFrame, + runtime: Runtime, + ) -> InternalDataFrame: + """ + Apply the skill. + """ + input_strings = input.apply(lambda r: self.input_template.format(**r), axis=1).tolist() + rag_input_data = self.memory.retrieve_many(input_strings, num_results=self.num_results) + rag_input_strings = ['\n\n'.join(self.rag_input_template.format(**i) for i in rag_items) for rag_items in rag_input_data] + output_fields = self.get_output_fields() + if len(output_fields) != 1: + raise ValueError(f'RAG skill must have exactly one output field, but has {len(output_fields)}') + output_field = output_fields[0] + rag_input = InternalDataFrame({output_field: rag_input_strings}) + if self.instructions: + output = runtime.batch_to_batch( + rag_input, + instructions_template=self.instructions, + input_template=f'{{{output_field}}}', + output_template=self.output_template + ) + else: + output = rag_input.reindex(input.index) + return output + + def improve( + self, + predictions: InternalDataFrame, + train_skill_output: str, + feedback, + runtime: Runtime, + ): + """ + Improve the skill. + """ + + error_indices = feedback.match[(feedback.match.fillna(True) == False).any(axis=1)].index + inputs = predictions.loc[error_indices] + input_strings = inputs.apply(lambda r: self.input_template.format(**r), axis=1).tolist() + fb = feedback.feedback.loc[error_indices].rename(columns=lambda c: f'{c}__fb') + inputs = inputs.join(fb) + self.memory.remember_many(input_strings, inputs.to_dict(orient='records')) From 9a3d433d1d54b8ce2ee8f3562eaea1d9bac0c545 Mon Sep 17 00:00:00 2001 From: nik Date: Wed, 29 Nov 2023 13:27:14 +0000 Subject: [PATCH 2/5] Fix error in tests --- adala/agents/base.py | 21 ++++++++++----- adala/memories/base.py | 12 +++++++-- adala/skills/__init__.py | 1 + adala/skills/_base.py | 3 +++ adala/skills/collection/rag.py | 14 ++++++++-- adala/utils/logs.py | 10 +++++++ tests/test_agent_basics.py | 41 +++-------------------------- tests/test_llm_parallel_skillset.py | 2 +- tests/test_llm_skillset.py | 2 +- tests/test_openai_runtime.py | 2 +- tests/utils.py | 7 ++++- 11 files changed, 64 insertions(+), 51 deletions(-) diff --git a/adala/agents/base.py b/adala/agents/base.py index f9352222..2cd37bb6 100644 --- a/adala/agents/base.py +++ b/adala/agents/base.py @@ -15,6 +15,7 @@ print_text, print_error, highlight_differences, + is_running_in_jupyter ) from adala.utils.internal_data import InternalDataFrame, InternalDataFrameConcat @@ -276,17 +277,19 @@ def learn( ).merge(predictions, left_index=True, right_index=True) ) # ----------------------------- + skill_mismatch = feedback.match.fillna(True) == False + has_errors = skill_mismatch.any(axis=1).any() + if not has_errors: + print_text("No errors found!") + continue + first_skill_with_errors = skill_mismatch.any(axis=0).idxmax() accuracy = feedback.get_accuracy() + # TODO: iterating over skill can be more complex, and we should take order into account for skill_output, skill_name in self.skills.get_skill_outputs().items(): skill = self.skills[skill_name] if skill.frozen: continue - match = feedback.match[skill_output] - nothing_to_improve = match.all() and not match.isna().all() - if nothing_to_improve: - print_text(f'Nothing to improve for skill output "{skill_output}" (Skill="{skill_name}")') - continue print_text( f'Skill output to improve: "{skill_output}" (Skill="{skill_name}")\n' @@ -297,6 +300,12 @@ def learn( old_instructions = skill.instructions skill.improve(predictions, skill_output, feedback, runtime=teacher_runtime) - highlight_differences(old_instructions, skill.instructions) + if is_running_in_jupyter(): + highlight_differences(old_instructions, skill.instructions) + else: + print_text(skill.instructions, style="bold green") + + if skill_name == first_skill_with_errors: + break print_text("Train is done!") diff --git a/adala/memories/base.py b/adala/memories/base.py index 45920089..c36ec7f2 100644 --- a/adala/memories/base.py +++ b/adala/memories/base.py @@ -25,14 +25,22 @@ def remember_many(self, observations: List[str], data: List[Dict]): self.remember(observation, d) @abstractmethod - def retrieve(self, observation: str) -> Any: + def retrieve(self, observation: str, num_results: int = 1) -> Any: """ Base method for retrieving past experiences from long term memory, based on current observations + + Args: + observation: the current observation + num_results: the number of results to return """ - def retrieve_many(self, observations: List[str]) -> List[Any]: + def retrieve_many(self, observations: List[str], num_results: int = 1) -> List[Any]: """ Base method for retrieving past experiences from long term memory, based on current observations + + Args: + observation: the current observation + num_results: the number of results to return """ return [self.retrieve(observation) for observation in observations] diff --git a/adala/skills/__init__.py b/adala/skills/__init__.py index 2cf0db3a..7d3a2f2a 100644 --- a/adala/skills/__init__.py +++ b/adala/skills/__init__.py @@ -1,3 +1,4 @@ from .skillset import SkillSet, LinearSkillSet, ParallelSkillSet from .collection.classification import ClassificationSkill +from .collection.rag import RAGSkill from ._base import Skill, TransformSkill, AnalysisSkill, SynthesisSkill diff --git a/adala/skills/_base.py b/adala/skills/_base.py index 24fe962f..6f907c00 100644 --- a/adala/skills/_base.py +++ b/adala/skills/_base.py @@ -184,6 +184,9 @@ def improve( runtime (Runtime): The runtime instance to be used for processing (CURRENTLY SUPPORTS ONLY `OpenAIChatRuntime`). """ + if feedback.match[train_skill_output].all() and not feedback.match[train_skill_output].isna().all(): + # nothing to improve + return fb = feedback.feedback.rename( columns=lambda x: x + "__fb" if x in predictions.columns else x diff --git a/adala/skills/collection/rag.py b/adala/skills/collection/rag.py index 63b83593..8fa0f58b 100644 --- a/adala/skills/collection/rag.py +++ b/adala/skills/collection/rag.py @@ -1,8 +1,10 @@ +from pydantic import model_validator from typing import Optional from adala.skills._base import TransformSkill from adala.utils.internal_data import InternalDataFrame from adala.runtimes.base import Runtime from adala.memories import Memory +from adala.memories.vectordb import VectorDBMemory class RAGSkill(TransformSkill): @@ -14,7 +16,13 @@ class RAGSkill(TransformSkill): instructions: str = '' output_template: str = '{rag}' num_results: int = 1 - memory: Memory + memory: Memory = None + + @model_validator(mode='after') + def init_memory(self): + if self.memory is None: + self.memory = VectorDBMemory(db_name=self.name) + return self def apply( self, @@ -40,7 +48,9 @@ def apply( output_template=self.output_template ) else: - output = rag_input.reindex(input.index) + output = rag_input + output.index = input.index + return output def improve( diff --git a/adala/utils/logs.py b/adala/utils/logs.py index 850e5b95..ed6339b4 100644 --- a/adala/utils/logs.py +++ b/adala/utils/logs.py @@ -78,6 +78,16 @@ def print_series(data: InternalSeries): console.print(table) +def is_running_in_jupyter(): + try: + from IPython import get_ipython + if 'IPKernelApp' not in get_ipython().config: + return False + return True + except (AttributeError, ImportError): + return False + + def highlight_differences(text1, text2): diff = ndiff(text1, text2) highlighted = "".join( diff --git a/tests/test_agent_basics.py b/tests/test_agent_basics.py index 730e68ef..679435f7 100644 --- a/tests/test_agent_basics.py +++ b/tests/test_agent_basics.py @@ -6,18 +6,7 @@ @patching( target_function=PatchedCalls.OPENAI_MODEL_LIST.value, data=[ - # calling API model list for the first runtime (student) - { - "input": {}, - "output": { - "data": [ - {"id": "gpt-3.5-turbo-instruct"}, - {"id": "gpt-3.5-turbo"}, - {"id": "gpt-4"}, - ] - }, - }, - # calling API model list for the second runtime (teacher) + # calling API model list for the teacher runtime { "input": {}, "output": { @@ -91,18 +80,7 @@ def test_agent_quickstart_single_skill(): @patching( target_function=PatchedCalls.OPENAI_MODEL_LIST.value, data=[ - # calling API model list for the first runtime (student) - { - "input": {}, - "output": { - "data": [ - {"id": "gpt-3.5-turbo-instruct"}, - {"id": "gpt-3.5-turbo"}, - {"id": "gpt-4"}, - ] - }, - }, - # calling API model list for the second runtime (teacher) + # calling API model list for the teacher runtime { "input": {}, "output": { @@ -200,18 +178,7 @@ def test_agent_quickstart_two_skills(): @patching( target_function=PatchedCalls.OPENAI_MODEL_LIST.value, data=[ - # calling API model list for the first runtime (student) - { - "input": {}, - "output": { - "data": [ - {"id": "gpt-3.5-turbo-instruct"}, - {"id": "gpt-3.5-turbo"}, - {"id": "gpt-4"}, - ] - }, - }, - # calling API model list for the second runtime (teacher) + # calling API model list for the teacher { "input": {}, "output": { @@ -296,7 +263,7 @@ def test_agent_quickstart_three_skills_only_second_fail(): ), ) - agent.learn(learning_iterations=1) + agent.learn(learning_iterations=2) # assert final instruction assert agent.skills["0->1"].instructions == "..." diff --git a/tests/test_llm_parallel_skillset.py b/tests/test_llm_parallel_skillset.py index 7726bd54..251eac0a 100644 --- a/tests/test_llm_parallel_skillset.py +++ b/tests/test_llm_parallel_skillset.py @@ -5,7 +5,7 @@ @patching( target_function=PatchedCalls.OPENAI_MODEL_LIST.value, - data=[{"input": {}, "output": {"data": [{"id": "gpt-3.5-turbo-instruct"}]}}], + data=[], ) @patching( target_function=PatchedCalls.GUIDANCE.value, diff --git a/tests/test_llm_skillset.py b/tests/test_llm_skillset.py index 3cbbd4e2..4b41035b 100644 --- a/tests/test_llm_skillset.py +++ b/tests/test_llm_skillset.py @@ -5,7 +5,7 @@ @patching( target_function=PatchedCalls.OPENAI_MODEL_LIST.value, - data=[{"input": {}, "output": {"data": [{"id": "gpt-3.5-turbo-instruct"}]}}], + data=[], ) @patching( target_function=PatchedCalls.GUIDANCE.value, diff --git a/tests/test_openai_runtime.py b/tests/test_openai_runtime.py index bdde027b..7462ef4b 100644 --- a/tests/test_openai_runtime.py +++ b/tests/test_openai_runtime.py @@ -3,7 +3,7 @@ @patching( target_function=PatchedCalls.OPENAI_MODEL_LIST.value, - data=[{"input": {}, "output": {"data": [{"id": "gpt-3.5-turbo-instruct"}]}}], + data=[], ) @patching( target_function=PatchedCalls.GUIDANCE.value, diff --git a/tests/utils.py b/tests/utils.py index 25a5d7c0..3f045de7 100644 --- a/tests/utils.py +++ b/tests/utils.py @@ -83,7 +83,12 @@ def side_effect(*args, **kwargs): return expected_output with patch(target_function, side_effect=side_effect): - return test_func(*args, **kwargs) + result = test_func(*args, **kwargs) + if call_index[0] != len(data): + raise AssertionError( + f"Expected {len(data)} calls to {target_function}, but got {call_index[0]}" + ) + return result return wrapper From 1b3ebc231e8e6afc9a0605cf851aa4207b70ac8c Mon Sep 17 00:00:00 2001 From: nik Date: Wed, 29 Nov 2023 14:40:20 +0000 Subject: [PATCH 3/5] Add test for RAG --- adala/environments/base.py | 21 ++-- adala/memories/vectordb.py | 11 +- adala/runtimes/_openai.py | 2 +- tests/test_rag.py | 242 +++++++++++++++++++++++++++++++++++++ tests/utils.py | 1 + 5 files changed, 260 insertions(+), 17 deletions(-) create mode 100644 tests/test_rag.py diff --git a/adala/environments/base.py b/adala/environments/base.py index 883fd6b6..fb9d3220 100644 --- a/adala/environments/base.py +++ b/adala/environments/base.py @@ -1,6 +1,6 @@ import pandas as pd import numpy as np -from pydantic import BaseModel +from pydantic import BaseModel, Field from abc import ABC, abstractmethod from typing import Optional, Dict, Union, Callable from adala.utils.internal_data import ( @@ -124,21 +124,21 @@ class StaticEnvironment(Environment): Attributes df (InternalDataFrame): The dataframe containing the ground truth. - ground_truth_columns (Optional[Dict[str, str]], optional): + ground_truth_columns ([Dict[str, str]]): A dictionary mapping skill outputs to ground truth columns. - If None, the skill outputs names are assumed to be the ground truth columns names. - Defaults to None. + If not specified, the skill outputs are assumed to be the ground truth columns. + If a skill output is not in the dictionary, it is assumed to have no ground truth signal - NaNs are returned in the feedback. matching_function (str, optional): The matching function to match ground truth strings with prediction strings. Defaults to 'fuzzy'. matching_threshold (float, optional): The matching threshold for the matching function. Examples: >>> df = pd.DataFrame({'skill_1': ['a', 'b', 'c'], 'skill_2': ['d', 'e', 'f'], 'skill_3': ['g', 'h', 'i']}) - >>> env = StaticEnvironment(df) + >>> env = StaticEnvironment(df, ground_truth_columns={'skill_1': 'ground_truth_1', 'skill_2': 'ground_truth_2'}) """ df: InternalDataFrame = None - ground_truth_columns: Optional[Dict[str, str]] = None + ground_truth_columns: Dict[str, str] = Field(default_factory=dict) matching_function: Union[str, Callable] = "fuzzy" matching_threshold: float = 0.9 @@ -172,13 +172,9 @@ def get_feedback( for pred_column in pred_columns: pred = predictions[pred_column] - - if not self.ground_truth_columns: - gt_column = pred_column - else: - gt_column = self.ground_truth_columns.get(pred_column) - + gt_column = self.ground_truth_columns.get(pred_column, pred_column) if gt_column not in self.df.columns: + # if ground truth column is not in the dataframe, assume no ground truth signal - return NaNs pred_match[pred_column] = InternalSeries(np.nan, index=pred.index) pred_feedback[pred_column] = InternalSeries(np.nan, index=pred.index) continue @@ -218,6 +214,7 @@ def get_feedback( else np.nan, axis=1, ) + fb = EnvironmentFeedback( match=InternalDataFrame(pred_match).reindex(predictions.index), feedback=InternalDataFrame(pred_feedback).reindex(predictions.index), diff --git a/adala/memories/vectordb.py b/adala/memories/vectordb.py index 995e3e82..bc354870 100644 --- a/adala/memories/vectordb.py +++ b/adala/memories/vectordb.py @@ -4,7 +4,7 @@ from uuid import uuid4 from pydantic import BaseModel, Field, model_validator from chromadb.utils import embedding_functions -from typing import Any, List +from typing import Any, List, Dict class VectorDBMemory(Memory): @@ -26,10 +26,13 @@ def create_unique_id(self, string): return hashlib.md5(string.encode()).hexdigest() def remember(self, observation: str, data: Any): + self.remember_many([observation], [data]) + + def remember_many(self, observations: List[str], data: List[Dict]): self._collection.add( - ids=[self.create_unique_id(observation)], - documents=[observation], - metadatas=[data] + ids=[self.create_unique_id(o) for o in observations], + documents=observations, + metadatas=data ) def retrieve_many(self, observations: List[str], num_results: int = 1) -> List[Any]: diff --git a/adala/runtimes/_openai.py b/adala/runtimes/_openai.py index 381364b3..df36beb2 100644 --- a/adala/runtimes/_openai.py +++ b/adala/runtimes/_openai.py @@ -142,7 +142,7 @@ def record_to_record( # for example, output template "Output: {answer} is correct" results in output_prefix "Output: " output_prefix = output_template[: output_field["start"]] if instructions_first: - user_prompt += f"\n\n{output_prefix}" + user_prompt += f"\n{output_prefix}" messages = [ {"role": "system", "content": system_prompt}, {"role": "user", "content": user_prompt}, diff --git a/tests/test_rag.py b/tests/test_rag.py new file mode 100644 index 00000000..f9fa34ea --- /dev/null +++ b/tests/test_rag.py @@ -0,0 +1,242 @@ +import pandas as pd + +from utils import patching, PatchedCalls, OpenaiChatCompletionMock, mdict + + +@patching( + target_function=PatchedCalls.OPENAI_MODEL_LIST.value, + data=[ + # calling API model list for the student runtime + { + "input": {}, + "output": { + "data": [ + {"id": "gpt-3.5-turbo-instruct"}, + {"id": "gpt-3.5-turbo"}, + {"id": "gpt-4"}, + ] + }, + }, + # calling API model list for the teacher runtime + { + "input": {}, + "output": { + "data": [ + {"id": "gpt-3.5-turbo-instruct"}, + {"id": "gpt-3.5-turbo"}, + {"id": "gpt-4"}, + ] + }, + }, + ], +) +@patching( + target_function=PatchedCalls.OPENAI_CHAT_COMPLETION.value, + data=[ + # Forward pass for the student runtime + { + "input": { + "model": "gpt-3.5-turbo", + "messages": [ + {"role": "system", "content": "Recognize emotions from text."}, + {"role": "user", "content": "Examples:\n\n\n\nNow recognize:\n\nText: I am happy\nEmotions: "}, + ] + }, + "output": OpenaiChatCompletionMock(content="happy"), + }, + { + "input": { + "model": "gpt-3.5-turbo", + "messages": [ + {"role": "system", "content": "Recognize emotions from text."}, + {"role": "user", "content": "Examples:\n\n\n\nNow recognize:\n\nText: I am angry\nEmotions: "}, + ] + }, + "output": OpenaiChatCompletionMock(content="sad"), # wrong prediction + }, + { + "input": { + "model": "gpt-3.5-turbo", + "messages": [ + {"role": "system", "content": "Recognize emotions from text."}, + {"role": "user", "content": "Examples:\n\n\n\nNow recognize:\n\nText: I am sad\nEmotions: "}, + ] + }, + "output": OpenaiChatCompletionMock(content="neutral"), # wrong prediction + }, + + # Backward pass for the student runtime + { + "input": {"model": "gpt-4"}, + "output": OpenaiChatCompletionMock(content="Reasoning..."), + }, + { + "input": {"model": "gpt-4"}, + "output": OpenaiChatCompletionMock(content="IMPROVED INSTRUCTION!"), + }, + + # Forward pass for the student runtime, 2nd iteration, RAG is now updated + { + "input": { + "model": "gpt-3.5-turbo", + "messages": [ + {"role": "system", "content": "IMPROVED INSTRUCTION!"}, + {"role": "user", "content": '''\ +Examples: + +Text: I am angry +Emotions: angry + +Text: I am sad +Emotions: sad + +Now recognize: + +Text: I am happy +Emotions: ''' + }] + }, + "output": OpenaiChatCompletionMock(content="happy"), + }, + { + "input": { + "model": "gpt-3.5-turbo", + "messages": [ + {"role": "system", "content": "IMPROVED INSTRUCTION!"}, + {"role": "user", "content": '''\ +Examples: + +Text: I am angry +Emotions: angry + +Text: I am sad +Emotions: sad + +Now recognize: + +Text: I am angry +Emotions: ''' + }] + }, + "output": OpenaiChatCompletionMock(content="angry"), + }, + # notice that the RAG skill must move "sad" to the top of the list, compare to the previous example with "angry" at the top + { + "input": { + "model": "gpt-3.5-turbo", + "messages": [ + {"role": "system", "content": "IMPROVED INSTRUCTION!"}, + {"role": "user", "content": '''\ +Examples: + +Text: I am sad +Emotions: sad + +Text: I am angry +Emotions: angry + +Now recognize: + +Text: I am sad +Emotions: ''' + }] + }, + "output": OpenaiChatCompletionMock(content="sad"), + }, + ], + strict=False, +) +@patching( + target_function=PatchedCalls.OPENAI_EMBEDDING_CREATE.value, + data=[ + # calculate embeddings on forward pass for the student runtime + { + "input": {"model": "text-embedding-ada-002", "input": [ + "Text: I am happy", + "Text: I am angry", + "Text: I am sad" + ]}, + "output": {"data": [ + {"index": 0, "embedding": [1, 0, 0]}, + {"index": 1, "embedding": [1, 1, 0]}, # assume angry is closer to happy than sad + {"index": 2, "embedding": [0, 0, 1]} + ]} + }, + # calculate embedding on error example while improving RAG skill + { + "input": {"model": "text-embedding-ada-002", "input": [ + "Text: I am angry", # error example + "Text: I am sad", # error example + ]}, + "output": {"data": [ + {"index": 0, "embedding": [1, 1, 0]}, + {"index": 1, "embedding": [0, 0, 1]}, + ]} + }, + # calculate embeddings on 2nd forward pass for the student runtime + { + "input": {"model": "text-embedding-ada-002", "input": [ + "Text: I am happy", + "Text: I am angry", + "Text: I am sad" + ]}, + "output": {"data": [ + {"index": 0, "embedding": [1, 0, 0]}, + {"index": 1, "embedding": [1, 1, 0]}, + {"index": 2, "embedding": [0, 0, 1]} + ]} + }, + ], +) +def test_rag_with_openai_chat_completion(): + from adala.agents import Agent # type: ignore + from adala.skills import LinearSkillSet, ClassificationSkill, RAGSkill # type: ignore + from adala.environments import StaticEnvironment # type: ignore + from adala.runtimes import OpenAIChatRuntime # type: ignore + + agent = Agent( + skills=LinearSkillSet( + skills=[ + RAGSkill( + name='rag', + input_template='Text: {text}', + output_template='{examples}', + rag_input_template='Text: {text}\nEmotions: {emotions}', + num_results=2 + ), + ClassificationSkill( + name='emotions', + instructions='Recognize emotions from text.', + input_template='Examples:\n\n{examples}\n\nNow recognize:\n\nText: {text}', + output_template='Emotions: {prediction}', + labels={'prediction': ['happy', 'sad', 'angry', 'neutral']}, + ) + ] + ), + environment=StaticEnvironment( + ground_truth_columns={'prediction': 'emotions'}, + df=pd.DataFrame( + { + "text": [ + "I am happy", + "I am angry", + "I am sad", + ], + "emotions": [ + "happy", + "angry", + "sad", + ], + } + ) + ), + runtimes={ + 'openai': OpenAIChatRuntime(model='gpt-3.5-turbo') + }, + teacher_runtimes={ + 'openai-teacher': OpenAIChatRuntime(model='gpt-4') + }, + default_teacher_runtime='openai-teacher' + + ) + agent.learn(learning_iterations=2) diff --git a/tests/utils.py b/tests/utils.py index 3f045de7..9a831617 100644 --- a/tests/utils.py +++ b/tests/utils.py @@ -9,6 +9,7 @@ class PatchedCalls(enum.Enum): OPENAI_CHAT_COMPLETION = ( "openai.api_resources.chat_completion.ChatCompletion.create" ) + OPENAI_EMBEDDING_CREATE = "openai.Embedding.create" class OpenaiChatCompletionMock(object): From 2f332c8326402d3a8c19f3d8fee6ffc528c1d7e1 Mon Sep 17 00:00:00 2001 From: nik Date: Wed, 29 Nov 2023 14:40:48 +0000 Subject: [PATCH 4/5] Reformat code --- adala/agents/base.py | 6 +- adala/memories/base.py | 2 +- adala/memories/vectordb.py | 26 +++--- adala/skills/_base.py | 5 +- adala/skills/collection/rag.py | 42 ++++++--- adala/utils/logs.py | 3 +- tests/test_rag.py | 153 +++++++++++++++++++-------------- 7 files changed, 141 insertions(+), 96 deletions(-) diff --git a/adala/agents/base.py b/adala/agents/base.py index 2cd37bb6..f4efff3f 100644 --- a/adala/agents/base.py +++ b/adala/agents/base.py @@ -15,7 +15,7 @@ print_text, print_error, highlight_differences, - is_running_in_jupyter + is_running_in_jupyter, ) from adala.utils.internal_data import InternalDataFrame, InternalDataFrameConcat @@ -298,7 +298,9 @@ def learn( ) old_instructions = skill.instructions - skill.improve(predictions, skill_output, feedback, runtime=teacher_runtime) + skill.improve( + predictions, skill_output, feedback, runtime=teacher_runtime + ) if is_running_in_jupyter(): highlight_differences(old_instructions, skill.instructions) diff --git a/adala/memories/base.py b/adala/memories/base.py index c36ec7f2..5b929425 100644 --- a/adala/memories/base.py +++ b/adala/memories/base.py @@ -48,4 +48,4 @@ def retrieve_many(self, observations: List[str], num_results: int = 1) -> List[A def clear(self): """ Base method for clearing memory. - """ \ No newline at end of file + """ diff --git a/adala/memories/vectordb.py b/adala/memories/vectordb.py index bc354870..74f0bce7 100644 --- a/adala/memories/vectordb.py +++ b/adala/memories/vectordb.py @@ -11,16 +11,21 @@ class VectorDBMemory(Memory): """ Memory backed by a vector database. """ - db_name: str = '' + + db_name: str = "" _client = None _collection = None _embedding_function = None - @model_validator(mode='after') + @model_validator(mode="after") def init_database(self): self._client = chromadb.Client() - self._embedding_function = embedding_functions.OpenAIEmbeddingFunction(model_name="text-embedding-ada-002") - self._collection = self._client.get_or_create_collection(name=self.db_name, embedding_function=self._embedding_function) + self._embedding_function = embedding_functions.OpenAIEmbeddingFunction( + model_name="text-embedding-ada-002" + ) + self._collection = self._client.get_or_create_collection( + name=self.db_name, embedding_function=self._embedding_function + ) def create_unique_id(self, string): return hashlib.md5(string.encode()).hexdigest() @@ -32,19 +37,18 @@ def remember_many(self, observations: List[str], data: List[Dict]): self._collection.add( ids=[self.create_unique_id(o) for o in observations], documents=observations, - metadatas=data + metadatas=data, ) def retrieve_many(self, observations: List[str], num_results: int = 1) -> List[Any]: - result = self._collection.query( - query_texts=observations, - n_results=num_results - ) - return result['metadatas'] + result = self._collection.query(query_texts=observations, n_results=num_results) + return result["metadatas"] def retrieve(self, observation: str, num_results: int = 1) -> Any: return self.retrieve_many([observation], num_results=num_results)[0] def clear(self): self._client.delete_collection(name=self.db_name) - self._collection = self._client.create_collection(name=self.db_name, embedding_function=self._embedding_function) + self._collection = self._client.create_collection( + name=self.db_name, embedding_function=self._embedding_function + ) diff --git a/adala/skills/_base.py b/adala/skills/_base.py index 6f907c00..e6e29466 100644 --- a/adala/skills/_base.py +++ b/adala/skills/_base.py @@ -184,7 +184,10 @@ def improve( runtime (Runtime): The runtime instance to be used for processing (CURRENTLY SUPPORTS ONLY `OpenAIChatRuntime`). """ - if feedback.match[train_skill_output].all() and not feedback.match[train_skill_output].isna().all(): + if ( + feedback.match[train_skill_output].all() + and not feedback.match[train_skill_output].isna().all() + ): # nothing to improve return diff --git a/adala/skills/collection/rag.py b/adala/skills/collection/rag.py index 8fa0f58b..5df29362 100644 --- a/adala/skills/collection/rag.py +++ b/adala/skills/collection/rag.py @@ -11,14 +11,15 @@ class RAGSkill(TransformSkill): """ Skill for RAG (Retrieval-Augmented Generation) models. """ - name: str = 'rag' + + name: str = "rag" rag_input_template: str - instructions: str = '' - output_template: str = '{rag}' + instructions: str = "" + output_template: str = "{rag}" num_results: int = 1 memory: Memory = None - @model_validator(mode='after') + @model_validator(mode="after") def init_memory(self): if self.memory is None: self.memory = VectorDBMemory(db_name=self.name) @@ -32,20 +33,29 @@ def apply( """ Apply the skill. """ - input_strings = input.apply(lambda r: self.input_template.format(**r), axis=1).tolist() - rag_input_data = self.memory.retrieve_many(input_strings, num_results=self.num_results) - rag_input_strings = ['\n\n'.join(self.rag_input_template.format(**i) for i in rag_items) for rag_items in rag_input_data] + input_strings = input.apply( + lambda r: self.input_template.format(**r), axis=1 + ).tolist() + rag_input_data = self.memory.retrieve_many( + input_strings, num_results=self.num_results + ) + rag_input_strings = [ + "\n\n".join(self.rag_input_template.format(**i) for i in rag_items) + for rag_items in rag_input_data + ] output_fields = self.get_output_fields() if len(output_fields) != 1: - raise ValueError(f'RAG skill must have exactly one output field, but has {len(output_fields)}') + raise ValueError( + f"RAG skill must have exactly one output field, but has {len(output_fields)}" + ) output_field = output_fields[0] rag_input = InternalDataFrame({output_field: rag_input_strings}) if self.instructions: output = runtime.batch_to_batch( rag_input, instructions_template=self.instructions, - input_template=f'{{{output_field}}}', - output_template=self.output_template + input_template=f"{{{output_field}}}", + output_template=self.output_template, ) else: output = rag_input @@ -64,9 +74,13 @@ def improve( Improve the skill. """ - error_indices = feedback.match[(feedback.match.fillna(True) == False).any(axis=1)].index + error_indices = feedback.match[ + (feedback.match.fillna(True) == False).any(axis=1) + ].index inputs = predictions.loc[error_indices] - input_strings = inputs.apply(lambda r: self.input_template.format(**r), axis=1).tolist() - fb = feedback.feedback.loc[error_indices].rename(columns=lambda c: f'{c}__fb') + input_strings = inputs.apply( + lambda r: self.input_template.format(**r), axis=1 + ).tolist() + fb = feedback.feedback.loc[error_indices].rename(columns=lambda c: f"{c}__fb") inputs = inputs.join(fb) - self.memory.remember_many(input_strings, inputs.to_dict(orient='records')) + self.memory.remember_many(input_strings, inputs.to_dict(orient="records")) diff --git a/adala/utils/logs.py b/adala/utils/logs.py index ed6339b4..33e3a2d3 100644 --- a/adala/utils/logs.py +++ b/adala/utils/logs.py @@ -81,7 +81,8 @@ def print_series(data: InternalSeries): def is_running_in_jupyter(): try: from IPython import get_ipython - if 'IPKernelApp' not in get_ipython().config: + + if "IPKernelApp" not in get_ipython().config: return False return True except (AttributeError, ImportError): diff --git a/tests/test_rag.py b/tests/test_rag.py index f9fa34ea..8cba9118 100644 --- a/tests/test_rag.py +++ b/tests/test_rag.py @@ -39,8 +39,11 @@ "model": "gpt-3.5-turbo", "messages": [ {"role": "system", "content": "Recognize emotions from text."}, - {"role": "user", "content": "Examples:\n\n\n\nNow recognize:\n\nText: I am happy\nEmotions: "}, - ] + { + "role": "user", + "content": "Examples:\n\n\n\nNow recognize:\n\nText: I am happy\nEmotions: ", + }, + ], }, "output": OpenaiChatCompletionMock(content="happy"), }, @@ -49,8 +52,11 @@ "model": "gpt-3.5-turbo", "messages": [ {"role": "system", "content": "Recognize emotions from text."}, - {"role": "user", "content": "Examples:\n\n\n\nNow recognize:\n\nText: I am angry\nEmotions: "}, - ] + { + "role": "user", + "content": "Examples:\n\n\n\nNow recognize:\n\nText: I am angry\nEmotions: ", + }, + ], }, "output": OpenaiChatCompletionMock(content="sad"), # wrong prediction }, @@ -59,12 +65,14 @@ "model": "gpt-3.5-turbo", "messages": [ {"role": "system", "content": "Recognize emotions from text."}, - {"role": "user", "content": "Examples:\n\n\n\nNow recognize:\n\nText: I am sad\nEmotions: "}, - ] + { + "role": "user", + "content": "Examples:\n\n\n\nNow recognize:\n\nText: I am sad\nEmotions: ", + }, + ], }, "output": OpenaiChatCompletionMock(content="neutral"), # wrong prediction }, - # Backward pass for the student runtime { "input": {"model": "gpt-4"}, @@ -74,14 +82,15 @@ "input": {"model": "gpt-4"}, "output": OpenaiChatCompletionMock(content="IMPROVED INSTRUCTION!"), }, - # Forward pass for the student runtime, 2nd iteration, RAG is now updated { "input": { "model": "gpt-3.5-turbo", "messages": [ {"role": "system", "content": "IMPROVED INSTRUCTION!"}, - {"role": "user", "content": '''\ + { + "role": "user", + "content": """\ Examples: Text: I am angry @@ -93,8 +102,9 @@ Now recognize: Text: I am happy -Emotions: ''' - }] +Emotions: """, + }, + ], }, "output": OpenaiChatCompletionMock(content="happy"), }, @@ -103,7 +113,9 @@ "model": "gpt-3.5-turbo", "messages": [ {"role": "system", "content": "IMPROVED INSTRUCTION!"}, - {"role": "user", "content": '''\ + { + "role": "user", + "content": """\ Examples: Text: I am angry @@ -115,8 +127,9 @@ Now recognize: Text: I am angry -Emotions: ''' - }] +Emotions: """, + }, + ], }, "output": OpenaiChatCompletionMock(content="angry"), }, @@ -126,7 +139,9 @@ "model": "gpt-3.5-turbo", "messages": [ {"role": "system", "content": "IMPROVED INSTRUCTION!"}, - {"role": "user", "content": '''\ + { + "role": "user", + "content": """\ Examples: Text: I am sad @@ -138,8 +153,9 @@ Now recognize: Text: I am sad -Emotions: ''' - }] +Emotions: """, + }, + ], }, "output": OpenaiChatCompletionMock(content="sad"), }, @@ -151,40 +167,50 @@ data=[ # calculate embeddings on forward pass for the student runtime { - "input": {"model": "text-embedding-ada-002", "input": [ - "Text: I am happy", - "Text: I am angry", - "Text: I am sad" - ]}, - "output": {"data": [ - {"index": 0, "embedding": [1, 0, 0]}, - {"index": 1, "embedding": [1, 1, 0]}, # assume angry is closer to happy than sad - {"index": 2, "embedding": [0, 0, 1]} - ]} + "input": { + "model": "text-embedding-ada-002", + "input": ["Text: I am happy", "Text: I am angry", "Text: I am sad"], + }, + "output": { + "data": [ + {"index": 0, "embedding": [1, 0, 0]}, + { + "index": 1, + "embedding": [1, 1, 0], + }, # assume angry is closer to happy than sad + {"index": 2, "embedding": [0, 0, 1]}, + ] + }, }, # calculate embedding on error example while improving RAG skill { - "input": {"model": "text-embedding-ada-002", "input": [ - "Text: I am angry", # error example - "Text: I am sad", # error example - ]}, - "output": {"data": [ - {"index": 0, "embedding": [1, 1, 0]}, - {"index": 1, "embedding": [0, 0, 1]}, - ]} + "input": { + "model": "text-embedding-ada-002", + "input": [ + "Text: I am angry", # error example + "Text: I am sad", # error example + ], + }, + "output": { + "data": [ + {"index": 0, "embedding": [1, 1, 0]}, + {"index": 1, "embedding": [0, 0, 1]}, + ] + }, }, # calculate embeddings on 2nd forward pass for the student runtime { - "input": {"model": "text-embedding-ada-002", "input": [ - "Text: I am happy", - "Text: I am angry", - "Text: I am sad" - ]}, - "output": {"data": [ - {"index": 0, "embedding": [1, 0, 0]}, - {"index": 1, "embedding": [1, 1, 0]}, - {"index": 2, "embedding": [0, 0, 1]} - ]} + "input": { + "model": "text-embedding-ada-002", + "input": ["Text: I am happy", "Text: I am angry", "Text: I am sad"], + }, + "output": { + "data": [ + {"index": 0, "embedding": [1, 0, 0]}, + {"index": 1, "embedding": [1, 1, 0]}, + {"index": 2, "embedding": [0, 0, 1]}, + ] + }, }, ], ) @@ -198,23 +224,23 @@ def test_rag_with_openai_chat_completion(): skills=LinearSkillSet( skills=[ RAGSkill( - name='rag', - input_template='Text: {text}', - output_template='{examples}', - rag_input_template='Text: {text}\nEmotions: {emotions}', - num_results=2 + name="rag", + input_template="Text: {text}", + output_template="{examples}", + rag_input_template="Text: {text}\nEmotions: {emotions}", + num_results=2, ), ClassificationSkill( - name='emotions', - instructions='Recognize emotions from text.', - input_template='Examples:\n\n{examples}\n\nNow recognize:\n\nText: {text}', - output_template='Emotions: {prediction}', - labels={'prediction': ['happy', 'sad', 'angry', 'neutral']}, - ) + name="emotions", + instructions="Recognize emotions from text.", + input_template="Examples:\n\n{examples}\n\nNow recognize:\n\nText: {text}", + output_template="Emotions: {prediction}", + labels={"prediction": ["happy", "sad", "angry", "neutral"]}, + ), ] ), environment=StaticEnvironment( - ground_truth_columns={'prediction': 'emotions'}, + ground_truth_columns={"prediction": "emotions"}, df=pd.DataFrame( { "text": [ @@ -228,15 +254,10 @@ def test_rag_with_openai_chat_completion(): "sad", ], } - ) + ), ), - runtimes={ - 'openai': OpenAIChatRuntime(model='gpt-3.5-turbo') - }, - teacher_runtimes={ - 'openai-teacher': OpenAIChatRuntime(model='gpt-4') - }, - default_teacher_runtime='openai-teacher' - + runtimes={"openai": OpenAIChatRuntime(model="gpt-3.5-turbo")}, + teacher_runtimes={"openai-teacher": OpenAIChatRuntime(model="gpt-4")}, + default_teacher_runtime="openai-teacher", ) agent.learn(learning_iterations=2) From 4563aa3b6252a59f97e813d2a2701bbd46bf4f29 Mon Sep 17 00:00:00 2001 From: nik Date: Wed, 29 Nov 2023 14:56:17 +0000 Subject: [PATCH 5/5] Add docs, add pdm deps --- adala/skills/collection/rag.py | 47 +- pdm.lock | 1322 +++++++++++++++++++++++++++++++- pyproject.toml | 1 + 3 files changed, 1363 insertions(+), 7 deletions(-) diff --git a/adala/skills/collection/rag.py b/adala/skills/collection/rag.py index 5df29362..c0879a97 100644 --- a/adala/skills/collection/rag.py +++ b/adala/skills/collection/rag.py @@ -10,6 +10,34 @@ class RAGSkill(TransformSkill): """ Skill for RAG (Retrieval-Augmented Generation) models. + + Attributes: + input_template: Template for the input. It wraps the input with the template to create a query. + rag_input_template: Template for RAG input. It wraps each retrieved item with the template, and then concatenates them with two newlines. + Example: "Question: {question}\nContext: {context}" with num_results=2 will result in "Question: \nContext: \n\nQuestion: \nContext: " + instructions: Instructions for the generation part of the RAG model. + output_template: Template for the output. It wraps the output with the template. + num_results: Number of results to retrieve from the memory. + memory: Memory to use for retrieval. If None, a VectorDBMemory will be used. + + Examples: + >>> from adala.skills import RAGSkill + >>> skill = RAGSkill( + ... name="rag", + ... input_template="Question: {question}", + ... rag_input_template="Question: {question}\nContext: {context}", + ... instructions="Answer the question.", + ... output_template="{answer}", + ... num_results=2, + ... ) + >>> skill.apply( + ... input=InternalDataFrame( + ... data=[ + ... {"question": "What is the meaning of life?", "context": "Life is a game."}, + ... {"question": "What is the meaning of life?", "context": "Life is a game."}, + ... ] + ... )) + """ name: str = "rag" @@ -32,6 +60,15 @@ def apply( ) -> InternalDataFrame: """ Apply the skill. + + Args: + input: Input data. + runtime: Runtime to use for generation. + + Returns: + Output data. The output field is named after the output_template. + If no instructions are given, the output field contains concatenated strings from retrieved items. + If instructions are given, the output field contains the generated output. """ input_strings = input.apply( lambda r: self.input_template.format(**r), axis=1 @@ -51,6 +88,7 @@ def apply( output_field = output_fields[0] rag_input = InternalDataFrame({output_field: rag_input_strings}) if self.instructions: + # if instructions are given, use the runtime to generate the output output = runtime.batch_to_batch( rag_input, instructions_template=self.instructions, @@ -58,6 +96,7 @@ def apply( output_template=self.output_template, ) else: + # if no instructions - simply return the rag input output = rag_input output.index = input.index @@ -71,7 +110,13 @@ def improve( runtime: Runtime, ): """ - Improve the skill. + Improve the skill by storing the feedback match errors in the memory. + + Args: + predictions: Predictions made by the skill. + train_skill_output: Output field of the skill used for training. + feedback: Feedback data. for feedback.match equals False (prediction errors), the input is stored in the memory. + runtime: Runtime to use for generation (not used). """ error_indices = feedback.match[ diff --git a/pdm.lock b/pdm.lock index efc7e34d..48f76240 100644 --- a/pdm.lock +++ b/pdm.lock @@ -56,6 +56,15 @@ name = "appnope" version = "0.1.3" summary = "Disable App Nap on macOS >= 10.9" +[[package]] +name = "asgiref" +version = "3.7.2" +requires_python = ">=3.7" +summary = "ASGI specs, helper code, and adapters" +dependencies = [ + "typing-extensions>=4; python_version < \"3.11\"", +] + [[package]] name = "asttokens" version = "2.4.1" @@ -90,6 +99,18 @@ name = "backcall" version = "0.2.0" summary = "Specifications for callback functions passed in to an API" +[[package]] +name = "backoff" +version = "2.2.1" +requires_python = ">=3.7,<4.0" +summary = "Function decoration for backoff and retry" + +[[package]] +name = "bcrypt" +version = "4.1.1" +requires_python = ">=3.7" +summary = "Modern password hashing for your software and your servers" + [[package]] name = "beautifulsoup4" version = "4.12.2" @@ -151,6 +172,49 @@ version = "3.3.1" requires_python = ">=3.7.0" summary = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." +[[package]] +name = "chroma-hnswlib" +version = "0.7.3" +summary = "Chromas fork of hnswlib" +dependencies = [ + "numpy", +] + +[[package]] +name = "chromadb" +version = "0.4.18" +requires_python = ">=3.8" +summary = "Chroma." +dependencies = [ + "PyYAML>=6.0.0", + "bcrypt>=4.0.1", + "chroma-hnswlib==0.7.3", + "fastapi>=0.95.2", + "graphlib-backport>=1.0.3; python_version < \"3.9\"", + "grpcio>=1.58.0", + "importlib-resources", + "kubernetes>=28.1.0", + "mmh3>=4.0.1", + "numpy>=1.22.5; python_version >= \"3.8\"", + "onnxruntime>=1.14.1", + "opentelemetry-api>=1.2.0", + "opentelemetry-exporter-otlp-proto-grpc>=1.2.0", + "opentelemetry-instrumentation-fastapi>=0.41b0", + "opentelemetry-sdk>=1.2.0", + "overrides>=7.3.1", + "posthog>=2.4.0", + "pulsar-client>=3.1.0", + "pydantic>=1.9", + "pypika>=0.48.9", + "requests>=2.28", + "tenacity>=8.2.3", + "tokenizers>=0.13.2", + "tqdm>=4.65.0", + "typer>=0.9.0", + "typing-extensions>=4.5.0", + "uvicorn[standard]>=0.18.3", +] + [[package]] name = "click" version = "8.1.7" @@ -166,6 +230,15 @@ version = "0.4.6" requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" summary = "Cross-platform colored terminal text." +[[package]] +name = "coloredlogs" +version = "15.0.1" +requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +summary = "Colored terminal output for Python's logging module" +dependencies = [ + "humanfriendly>=9.1", +] + [[package]] name = "comm" version = "0.1.4" @@ -219,6 +292,15 @@ version = "0.7.1" requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" summary = "XML bomb protection for Python stdlib modules" +[[package]] +name = "deprecated" +version = "1.2.14" +requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +summary = "Python @deprecated decorator to deprecate old python classes, functions or methods." +dependencies = [ + "wrapt<2,>=1.10", +] + [[package]] name = "diskcache" version = "5.6.3" @@ -254,12 +336,29 @@ name = "fastjsonschema" version = "2.18.1" summary = "Fastest Python implementation of JSON schema" +[[package]] +name = "filelock" +version = "3.13.1" +requires_python = ">=3.8" +summary = "A platform independent file lock." + +[[package]] +name = "flatbuffers" +version = "23.5.26" +summary = "The FlatBuffers serialization format for Python" + [[package]] name = "frozenlist" version = "1.4.0" requires_python = ">=3.8" summary = "A list-like structure which implements collections.abc.MutableSequence" +[[package]] +name = "fsspec" +version = "2023.10.0" +requires_python = ">=3.8" +summary = "File-system specification" + [[package]] name = "ghp-import" version = "2.1.0" @@ -268,6 +367,26 @@ dependencies = [ "python-dateutil>=2.8.1", ] +[[package]] +name = "google-auth" +version = "2.23.4" +requires_python = ">=3.7" +summary = "Google Authentication Library" +dependencies = [ + "cachetools<6.0,>=2.0.0", + "pyasn1-modules>=0.2.1", + "rsa<5,>=3.1.4", +] + +[[package]] +name = "googleapis-common-protos" +version = "1.61.0" +requires_python = ">=3.7" +summary = "Common protobufs used in Google APIs" +dependencies = [ + "protobuf!=3.20.0,!=3.20.1,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0.dev0,>=3.19.5", +] + [[package]] name = "gptcache" version = "0.1.42" @@ -279,6 +398,12 @@ dependencies = [ "requests", ] +[[package]] +name = "graphlib-backport" +version = "1.0.3" +requires_python = ">=3.6,<4.0" +summary = "Backport of the Python 3.9 graphlib module for Python 3.6+" + [[package]] name = "griffe" version = "0.36.9" @@ -288,6 +413,12 @@ dependencies = [ "colorama>=0.4", ] +[[package]] +name = "grpcio" +version = "1.59.3" +requires_python = ">=3.7" +summary = "HTTP/2-based RPC framework" + [[package]] name = "guidance" version = "0.0.64" @@ -307,12 +438,48 @@ dependencies = [ "tiktoken>=0.3", ] +[[package]] +name = "h11" +version = "0.14.0" +requires_python = ">=3.7" +summary = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" + [[package]] name = "hiredis" version = "2.2.3" requires_python = ">=3.7" summary = "Python wrapper for hiredis" +[[package]] +name = "httptools" +version = "0.6.1" +requires_python = ">=3.8.0" +summary = "A collection of framework independent HTTP protocol utils." + +[[package]] +name = "huggingface-hub" +version = "0.19.4" +requires_python = ">=3.8.0" +summary = "Client library to download and publish models, datasets and other repos on the huggingface.co hub" +dependencies = [ + "filelock", + "fsspec>=2023.5.0", + "packaging>=20.9", + "pyyaml>=5.1", + "requests", + "tqdm>=4.42.1", + "typing-extensions>=3.7.4.3", +] + +[[package]] +name = "humanfriendly" +version = "10.0" +requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +summary = "Human friendly output for text interfaces using Python" +dependencies = [ + "pyreadline3; sys_platform == \"win32\" and python_version >= \"3.8\"", +] + [[package]] name = "idna" version = "3.4" @@ -471,6 +638,24 @@ dependencies = [ "toml", ] +[[package]] +name = "kubernetes" +version = "28.1.0" +requires_python = ">=3.6" +summary = "Kubernetes python client" +dependencies = [ + "certifi>=14.05.14", + "google-auth>=1.0.1", + "oauthlib>=3.2.2", + "python-dateutil>=2.5.3", + "pyyaml>=5.4.1", + "requests", + "requests-oauthlib", + "six>=1.9.0", + "urllib3<2.0,>=1.24.2", + "websocket-client!=0.40.0,!=0.41.*,!=0.42.*,>=0.32.0", +] + [[package]] name = "markdown" version = "3.5.1" @@ -628,12 +813,27 @@ dependencies = [ "mkdocstrings>=0.20", ] +[[package]] +name = "mmh3" +version = "4.0.1" +summary = "Python extension for MurmurHash (MurmurHash3), a set of fast and robust hash functions." + +[[package]] +name = "monotonic" +version = "1.6" +summary = "An implementation of time.monotonic() for Python 2 & < 3.3" + [[package]] name = "more-itertools" version = "9.1.0" requires_python = ">=3.7" summary = "More routines for operating on iterables, beyond itertools" +[[package]] +name = "mpmath" +version = "1.3.0" +summary = "Python library for arbitrary-precision floating-point arithmetic" + [[package]] name = "msal" version = "1.24.1" @@ -717,6 +917,25 @@ version = "1.24.4" requires_python = ">=3.8" summary = "Fundamental package for array computing in Python" +[[package]] +name = "oauthlib" +version = "3.2.2" +requires_python = ">=3.6" +summary = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic" + +[[package]] +name = "onnxruntime" +version = "1.16.3" +summary = "ONNX Runtime is a runtime accelerator for Machine Learning models" +dependencies = [ + "coloredlogs", + "flatbuffers", + "numpy>=1.24.2", + "packaging", + "protobuf", + "sympy", +] + [[package]] name = "openai" version = "0.28.1" @@ -728,6 +947,117 @@ dependencies = [ "tqdm", ] +[[package]] +name = "opentelemetry-api" +version = "1.21.0" +requires_python = ">=3.7" +summary = "OpenTelemetry Python API" +dependencies = [ + "deprecated>=1.2.6", + "importlib-metadata<7.0,>=6.0", +] + +[[package]] +name = "opentelemetry-exporter-otlp-proto-common" +version = "1.21.0" +requires_python = ">=3.7" +summary = "OpenTelemetry Protobuf encoding" +dependencies = [ + "backoff<3.0.0,>=1.10.0; python_version >= \"3.7\"", + "opentelemetry-proto==1.21.0", +] + +[[package]] +name = "opentelemetry-exporter-otlp-proto-grpc" +version = "1.21.0" +requires_python = ">=3.7" +summary = "OpenTelemetry Collector Protobuf over gRPC Exporter" +dependencies = [ + "backoff<3.0.0,>=1.10.0; python_version >= \"3.7\"", + "deprecated>=1.2.6", + "googleapis-common-protos~=1.52", + "grpcio<2.0.0,>=1.0.0", + "opentelemetry-api~=1.15", + "opentelemetry-exporter-otlp-proto-common==1.21.0", + "opentelemetry-proto==1.21.0", + "opentelemetry-sdk~=1.21.0", +] + +[[package]] +name = "opentelemetry-instrumentation" +version = "0.42b0" +requires_python = ">=3.7" +summary = "Instrumentation Tools & Auto Instrumentation for OpenTelemetry Python" +dependencies = [ + "opentelemetry-api~=1.4", + "setuptools>=16.0", + "wrapt<2.0.0,>=1.0.0", +] + +[[package]] +name = "opentelemetry-instrumentation-asgi" +version = "0.42b0" +requires_python = ">=3.7" +summary = "ASGI instrumentation for OpenTelemetry" +dependencies = [ + "asgiref~=3.0", + "opentelemetry-api~=1.12", + "opentelemetry-instrumentation==0.42b0", + "opentelemetry-semantic-conventions==0.42b0", + "opentelemetry-util-http==0.42b0", +] + +[[package]] +name = "opentelemetry-instrumentation-fastapi" +version = "0.42b0" +requires_python = ">=3.7" +summary = "OpenTelemetry FastAPI Instrumentation" +dependencies = [ + "opentelemetry-api~=1.12", + "opentelemetry-instrumentation-asgi==0.42b0", + "opentelemetry-instrumentation==0.42b0", + "opentelemetry-semantic-conventions==0.42b0", + "opentelemetry-util-http==0.42b0", +] + +[[package]] +name = "opentelemetry-proto" +version = "1.21.0" +requires_python = ">=3.7" +summary = "OpenTelemetry Python Proto" +dependencies = [ + "protobuf<5.0,>=3.19", +] + +[[package]] +name = "opentelemetry-sdk" +version = "1.21.0" +requires_python = ">=3.7" +summary = "OpenTelemetry Python SDK" +dependencies = [ + "opentelemetry-api==1.21.0", + "opentelemetry-semantic-conventions==0.42b0", + "typing-extensions>=3.7.4", +] + +[[package]] +name = "opentelemetry-semantic-conventions" +version = "0.42b0" +requires_python = ">=3.7" +summary = "OpenTelemetry Semantic Conventions" + +[[package]] +name = "opentelemetry-util-http" +version = "0.42b0" +requires_python = ">=3.7" +summary = "Web util for OpenTelemetry" + +[[package]] +name = "overrides" +version = "7.4.0" +requires_python = ">=3.6" +summary = "A decorator to automatically detect mismatch when overriding a method." + [[package]] name = "packaging" version = "23.2" @@ -802,6 +1132,18 @@ version = "1.3.0" requires_python = ">=3.8" summary = "plugin and hook calling mechanisms for python" +[[package]] +name = "posthog" +version = "3.0.2" +summary = "Integrate PostHog into any python application." +dependencies = [ + "backoff>=1.10.0", + "monotonic>=1.5", + "python-dateutil>2.1", + "requests<3.0,>=2.7", + "six>=1.5", +] + [[package]] name = "prompt-toolkit" version = "3.0.39" @@ -811,6 +1153,12 @@ dependencies = [ "wcwidth", ] +[[package]] +name = "protobuf" +version = "4.25.1" +requires_python = ">=3.8" +summary = "" + [[package]] name = "psutil" version = "5.9.6" @@ -822,11 +1170,34 @@ name = "ptyprocess" version = "0.7.0" summary = "Run a subprocess in a pseudo terminal" +[[package]] +name = "pulsar-client" +version = "3.3.0" +summary = "Apache Pulsar Python client library" +dependencies = [ + "certifi", +] + [[package]] name = "pure-eval" version = "0.2.2" summary = "Safely evaluate AST nodes without side effects" +[[package]] +name = "pyasn1" +version = "0.5.1" +requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" +summary = "Pure-Python implementation of ASN.1 types and DER/BER/CER codecs (X.208)" + +[[package]] +name = "pyasn1-modules" +version = "0.3.0" +requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" +summary = "A collection of ASN.1-based protocols modules" +dependencies = [ + "pyasn1<0.6.0,>=0.4.6", +] + [[package]] name = "pycparser" version = "2.21" @@ -897,6 +1268,16 @@ version = "3.1.1" requires_python = ">=3.6.8" summary = "pyparsing module - Classes and methods to define and execute parsing grammars" +[[package]] +name = "pypika" +version = "0.48.9" +summary = "A SQL query builder API for Python" + +[[package]] +name = "pyreadline3" +version = "3.4.1" +summary = "A python implementation of GNU readline." + [[package]] name = "pytest" version = "7.4.3" @@ -941,6 +1322,12 @@ dependencies = [ "six>=1.5", ] +[[package]] +name = "python-dotenv" +version = "1.0.0" +requires_python = ">=3.8" +summary = "Read key-value pairs from a .env file and set them as environment variables" + [[package]] name = "python-ulid" version = "1.1.0" @@ -1034,6 +1421,16 @@ dependencies = [ "urllib3<3,>=1.21.1", ] +[[package]] +name = "requests-oauthlib" +version = "1.3.1" +requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +summary = "OAuthlib authentication support for Requests." +dependencies = [ + "oauthlib>=3.0.0", + "requests>=2.0.0", +] + [[package]] name = "rich" version = "13.6.0" @@ -1051,6 +1448,21 @@ version = "0.10.6" requires_python = ">=3.8" summary = "Python bindings to Rust's persistent data structures (rpds)" +[[package]] +name = "rsa" +version = "4.9" +requires_python = ">=3.6,<4" +summary = "Pure-Python RSA implementation" +dependencies = [ + "pyasn1>=0.1.3", +] + +[[package]] +name = "setuptools" +version = "69.0.2" +requires_python = ">=3.8" +summary = "Easily download, build, install, upgrade, and uninstall Python packages" + [[package]] name = "six" version = "1.16.0" @@ -1089,6 +1501,21 @@ dependencies = [ "typing-extensions>=3.10.0; python_version < \"3.10\"", ] +[[package]] +name = "sympy" +version = "1.12" +requires_python = ">=3.8" +summary = "Computer algebra system (CAS) in Python" +dependencies = [ + "mpmath>=0.19", +] + +[[package]] +name = "tenacity" +version = "8.2.3" +requires_python = ">=3.7" +summary = "Retry code until it succeeds" + [[package]] name = "tiktoken" version = "0.5.1" @@ -1108,6 +1535,15 @@ dependencies = [ "webencodings>=0.4", ] +[[package]] +name = "tokenizers" +version = "0.15.0" +requires_python = ">=3.7" +summary = "" +dependencies = [ + "huggingface-hub<1.0,>=0.16.4", +] + [[package]] name = "toml" version = "0.10.2" @@ -1141,6 +1577,16 @@ version = "5.13.0" requires_python = ">=3.8" summary = "Traitlets Python configuration system" +[[package]] +name = "typer" +version = "0.9.0" +requires_python = ">=3.6" +summary = "Typer, build great CLIs. Easy to code. Based on Python type hints." +dependencies = [ + "click<9.0.0,>=7.1.1", + "typing-extensions>=3.7.4.3", +] + [[package]] name = "types-pyopenssl" version = "23.2.0.2" @@ -1172,16 +1618,59 @@ summary = "Provider of IANA time zone data" [[package]] name = "urllib3" -version = "2.0.7" -requires_python = ">=3.7" +version = "1.26.18" +requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" summary = "HTTP library with thread-safe connection pooling, file post, and more." +[[package]] +name = "uvicorn" +version = "0.24.0.post1" +requires_python = ">=3.8" +summary = "The lightning-fast ASGI server." +dependencies = [ + "click>=7.0", + "h11>=0.8", + "typing-extensions>=4.0; python_version < \"3.11\"", +] + +[[package]] +name = "uvicorn" +version = "0.24.0.post1" +extras = ["standard"] +requires_python = ">=3.8" +summary = "The lightning-fast ASGI server." +dependencies = [ + "colorama>=0.4; sys_platform == \"win32\"", + "httptools>=0.5.0", + "python-dotenv>=0.13", + "pyyaml>=5.1", + "uvicorn==0.24.0.post1", + "uvloop!=0.15.0,!=0.15.1,>=0.14.0; sys_platform != \"win32\" and (sys_platform != \"cygwin\" and platform_python_implementation != \"PyPy\")", + "watchfiles>=0.13", + "websockets>=10.4", +] + +[[package]] +name = "uvloop" +version = "0.19.0" +requires_python = ">=3.8.0" +summary = "Fast implementation of asyncio event loop on top of libuv" + [[package]] name = "watchdog" version = "3.0.0" requires_python = ">=3.7" summary = "Filesystem events monitoring" +[[package]] +name = "watchfiles" +version = "0.21.0" +requires_python = ">=3.8" +summary = "Simple, modern and high performance file watching and code reload in python." +dependencies = [ + "anyio>=3.0.0", +] + [[package]] name = "wcwidth" version = "0.2.9" @@ -1192,6 +1681,24 @@ name = "webencodings" version = "0.5.1" summary = "Character encoding aliases for legacy web content" +[[package]] +name = "websocket-client" +version = "1.6.4" +requires_python = ">=3.8" +summary = "WebSocket client for Python with low level API options" + +[[package]] +name = "websockets" +version = "12.0" +requires_python = ">=3.8" +summary = "An implementation of the WebSocket Protocol (RFC 6455 & 7692)" + +[[package]] +name = "wrapt" +version = "1.16.0" +requires_python = ">=3.6" +summary = "Module for decorators, wrappers and monkey patching." + [[package]] name = "yarl" version = "1.9.2" @@ -1212,7 +1719,7 @@ summary = "Backport of pathlib-compatible object wrapper for zip files" lock_version = "4.2" cross_platform = true groups = ["default", "doc", "test"] -content_hash = "sha256:f00febf5bc2caf66d5b7b2a9890ecab1c70bd25bbc09f58e1b38a8305c8da5ae" +content_hash = "sha256:fb40231676c43950a61647ac3fb314b75073a7a1fd0a57c7937399b0f7506f07" [metadata.files] "aiohttp 3.8.6" = [ @@ -1324,6 +1831,10 @@ content_hash = "sha256:f00febf5bc2caf66d5b7b2a9890ecab1c70bd25bbc09f58e1b38a8305 {url = "https://files.pythonhosted.org/packages/41/4a/381783f26df413dde4c70c734163d88ca0550a1361cb74a1c68f47550619/appnope-0.1.3-py2.py3-none-any.whl", hash = "sha256:265a455292d0bd8a72453494fa24df5a11eb18373a60c7c0430889f22548605e"}, {url = "https://files.pythonhosted.org/packages/6a/cd/355842c0db33192ac0fc822e2dcae835669ef317fe56c795fb55fcddb26f/appnope-0.1.3.tar.gz", hash = "sha256:02bd91c4de869fbb1e1c50aafc4098827a7a54ab2f39d9dcba6c9547ed920e24"}, ] +"asgiref 3.7.2" = [ + {url = "https://files.pythonhosted.org/packages/12/19/64e38c1c2cbf0da9635b7082bbdf0e89052e93329279f59759c24a10cc96/asgiref-3.7.2.tar.gz", hash = "sha256:9e0ce3aa93a819ba5b45120216b23878cf6e8525eb3848653452b4192b92afed"}, + {url = "https://files.pythonhosted.org/packages/9b/80/b9051a4a07ad231558fcd8ffc89232711b4e618c15cb7a392a17384bbeef/asgiref-3.7.2-py3-none-any.whl", hash = "sha256:89b2ef2247e3b562a16eef663bc0e2e703ec6468e2fa8a5cd61cd449786d4f6e"}, +] "asttokens 2.4.1" = [ {url = "https://files.pythonhosted.org/packages/45/1d/f03bcb60c4a3212e15f99a56085d93093a497718adf828d050b9d675da81/asttokens-2.4.1.tar.gz", hash = "sha256:b03869718ba9a6eb027e134bfdf69f38a236d681c83c160d510768af11254ba0"}, {url = "https://files.pythonhosted.org/packages/45/86/4736ac618d82a20d87d2f92ae19441ebc7ac9e7a581d7e58bbe79233b24a/asttokens-2.4.1-py2.py3-none-any.whl", hash = "sha256:051ed49c3dcae8913ea7cd08e46a606dba30b79993209636c4875bc1d637bc24"}, @@ -1344,6 +1855,28 @@ content_hash = "sha256:f00febf5bc2caf66d5b7b2a9890ecab1c70bd25bbc09f58e1b38a8305 {url = "https://files.pythonhosted.org/packages/4c/1c/ff6546b6c12603d8dd1070aa3c3d273ad4c07f5771689a7b69a550e8c951/backcall-0.2.0-py2.py3-none-any.whl", hash = "sha256:fbbce6a29f263178a1f7915c1940bde0ec2b2a967566fe1c65c1dfb7422bd255"}, {url = "https://files.pythonhosted.org/packages/a2/40/764a663805d84deee23043e1426a9175567db89c8b3287b5c2ad9f71aa93/backcall-0.2.0.tar.gz", hash = "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e"}, ] +"backoff 2.2.1" = [ + {url = "https://files.pythonhosted.org/packages/47/d7/5bbeb12c44d7c4f2fb5b56abce497eb5ed9f34d85701de869acedd602619/backoff-2.2.1.tar.gz", hash = "sha256:03f829f5bb1923180821643f8753b0502c3b682293992485b0eef2807afa5cba"}, + {url = "https://files.pythonhosted.org/packages/df/73/b6e24bd22e6720ca8ee9a85a0c4a2971af8497d8f3193fa05390cbd46e09/backoff-2.2.1-py3-none-any.whl", hash = "sha256:63579f9a0628e06278f7e47b7d7d5b6ce20dc65c5e96a6f3ca99a6adca0396e8"}, +] +"bcrypt 4.1.1" = [ + {url = "https://files.pythonhosted.org/packages/03/8e/d69af67a118aaae17a076d41b1b3f4400a66f39900b8cb72a0f918416f65/bcrypt-4.1.1-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d573885b637815a7f3a3cd5f87724d7d0822da64b0ab0aa7f7c78bae534e86dc"}, + {url = "https://files.pythonhosted.org/packages/1a/cc/ebf49d5d211d1ee622923c9196e6eea1274d1eecc8d00611f8b5f6f1d65a/bcrypt-4.1.1-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:f33b385c3e80b5a26b3a5e148e6165f873c1c202423570fdf45fe34e00e5f3e5"}, + {url = "https://files.pythonhosted.org/packages/21/6a/a6c91ab7386a0d5e40d8fe587616d6f03909fa0869ab7c0228e50eafdeec/bcrypt-4.1.1-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:12611c4b0a8b1c461646228344784a1089bc0c49975680a2f54f516e71e9b79e"}, + {url = "https://files.pythonhosted.org/packages/36/7c/9fdf669fdc4392496818067861b2ec27c2622df4a355f9257360cb19154a/bcrypt-4.1.1-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a7a7b8a87e51e5e8ca85b9fdaf3a5dc7aaf123365a09be7a27883d54b9a0c403"}, + {url = "https://files.pythonhosted.org/packages/77/a9/c448d7027a75083a66385a370918eb14752c629a297afbd5a3557f6f8a8c/bcrypt-4.1.1-cp37-abi3-win32.whl", hash = "sha256:3d6c4e0d6963c52f8142cdea428e875042e7ce8c84812d8e5507bd1e42534e07"}, + {url = "https://files.pythonhosted.org/packages/8e/9b/870624ae1deb9cc997b0530fdd45292a6f272f80e024a023d0ea9d5e02e1/bcrypt-4.1.1-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:755b9d27abcab678e0b8fb4d0abdebeea1f68dd1183b3f518bad8d31fa77d8be"}, + {url = "https://files.pythonhosted.org/packages/92/ab/d593554eeaa05f5c4fc9dd1761d79a9f44d0f85b23e0db9f7930244a797e/bcrypt-4.1.1-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:24c2ebd287b5b11016f31d506ca1052d068c3f9dc817160628504690376ff050"}, + {url = "https://files.pythonhosted.org/packages/99/4e/7d8e0890d7b723da226e4136b44df044b4c7b3074e82a0fcb1a68450aeed/bcrypt-4.1.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c6450538a0fc32fb7ce4c6d511448c54c4ff7640b2ed81badf9898dcb9e5b737"}, + {url = "https://files.pythonhosted.org/packages/9d/05/bab3dba6fae9c245ade63989e818010db0e703a90462505c47239f5fe697/bcrypt-4.1.1-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:476aa8e8aca554260159d4c7a97d6be529c8e177dbc1d443cb6b471e24e82c74"}, + {url = "https://files.pythonhosted.org/packages/a0/13/259124a851d361a2549560f9a3ccd286d17ef936017314a58cf7dffce8f7/bcrypt-4.1.1-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bab33473f973e8058d1b2df8d6e095d237c49fbf7a02b527541a86a5d1dc4444"}, + {url = "https://files.pythonhosted.org/packages/af/82/96ffdbe0f56b12db0da8f1a9c869399d22231ed1313a84ea2ddc6381a498/bcrypt-4.1.1-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:12f40f78dcba4aa7d1354d35acf45fae9488862a4fb695c7eeda5ace6aae273f"}, + {url = "https://files.pythonhosted.org/packages/c5/8a/e7ba1562bfe80e9c480448f81118ad96087096ac9a36a57674bf8b520d69/bcrypt-4.1.1-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:fb931cd004a7ad36a89789caf18a54c20287ec1cd62161265344b9c4554fdb2e"}, + {url = "https://files.pythonhosted.org/packages/c6/d1/7ea6c7e5c864decc4282ac749d1c39a04363443a7ddcbb28f0f3d3370ff8/bcrypt-4.1.1-cp37-abi3-win_amd64.whl", hash = "sha256:14d41933510717f98aac63378b7956bbe548986e435df173c841d7f2bd0b2de7"}, + {url = "https://files.pythonhosted.org/packages/df/56/be5fda8e6fc05123c8c9f526095e93d0802a0a0b2beaf995ee2cc20aa2f8/bcrypt-4.1.1.tar.gz", hash = "sha256:df37f5418d4f1cdcff845f60e747a015389fa4e63703c918330865e06ad80007"}, + {url = "https://files.pythonhosted.org/packages/e8/f0/5425ba170098cebff0a0c42b7e8ea8e5c5600fc4344cd058ef0bafc31a3e/bcrypt-4.1.1-cp37-abi3-macosx_13_0_universal2.whl", hash = "sha256:2e197534c884336f9020c1f3a8efbaab0aa96fc798068cb2da9c671818b7fbb0"}, + {url = "https://files.pythonhosted.org/packages/ff/c0/da85093fa0babf4fda1e31a1c8aab9026ee9e44539ecf706fe2a4e9391f1/bcrypt-4.1.1-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:2ade10e8613a3b8446214846d3ddbd56cfe9205a7d64742f0b75458c868f7492"}, +] "beautifulsoup4 4.12.2" = [ {url = "https://files.pythonhosted.org/packages/57/f4/a69c20ee4f660081a7dedb1ac57f29be9378e04edfcb90c526b923d4bebc/beautifulsoup4-4.12.2-py3-none-any.whl", hash = "sha256:bd2520ca0d9d7d12694a53d44ac482d181b4ec1888909b035a3dbf40d0f57d4a"}, {url = "https://files.pythonhosted.org/packages/af/0b/44c39cf3b18a9280950ad63a579ce395dda4c32193ee9da7ff0aed547094/beautifulsoup4-4.12.2.tar.gz", hash = "sha256:492bbc69dca35d12daac71c4db1bfff0c876c00ef4a2ffacce226d4638eb72da"}, @@ -1526,6 +2059,37 @@ content_hash = "sha256:f00febf5bc2caf66d5b7b2a9890ecab1c70bd25bbc09f58e1b38a8305 {url = "https://files.pythonhosted.org/packages/f6/37/db71710eb38793b4471008bbe6f455dc3b652e5b39aa88c9ad4e97fd7c3b/charset_normalizer-3.3.1-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:1ec937546cad86d0dce5396748bf392bb7b62a9eeb8c66efac60e947697f0e58"}, {url = "https://files.pythonhosted.org/packages/fb/ab/564369d80e72be59fd7cc5392a45dbbbbad0495fbb131d6144835c9b2066/charset_normalizer-3.3.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:0c8c61fb505c7dad1d251c284e712d4e0372cef3b067f7ddf82a7fa82e1e9a93"}, ] +"chroma-hnswlib 0.7.3" = [ + {url = "https://files.pythonhosted.org/packages/08/17/9af11e993b3840e0fab815539b2e6fc9ac5e4d2ad181f62698a01556d1bc/chroma_hnswlib-0.7.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e607c5a71c610a73167a517062d302c0827ccdd6e259af6e4869a5c1306ffb5d"}, + {url = "https://files.pythonhosted.org/packages/11/7a/673ccb9bb2faf9cf655d9040e970c02a96645966e06837fde7d10edf242a/chroma_hnswlib-0.7.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6f552e4d23edc06cdeb553cdc757d2fe190cdeb10d43093d6a3319f8d4bf1c6b"}, + {url = "https://files.pythonhosted.org/packages/13/9c/5b0b095eaa754122201cf120e23cb9fbb1b165e401d1134c76baa61f6042/chroma_hnswlib-0.7.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c2358a795870156af6761890f9eb5ca8cade57eb10c5f046fe94dae1faa04b9e"}, + {url = "https://files.pythonhosted.org/packages/1a/36/d1069ffa520efcf93f6d81b527e3c7311e12363742fdc786cbdaea3ab02e/chroma_hnswlib-0.7.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:59d6a7c6f863c67aeb23e79a64001d537060b6995c3eca9a06e349ff7b0998ca"}, + {url = "https://files.pythonhosted.org/packages/1a/ed/90526fb263945e72760603958c43cdef1a8725d2f6de70dcb21a4b4fa977/chroma_hnswlib-0.7.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d706782b628e4f43f1b8a81e9120ac486837fbd9bcb8ced70fe0d9b95c72d77"}, + {url = "https://files.pythonhosted.org/packages/2f/48/f7609a3cb15a24c5d8ec18911ce10ac94144e9a89584f0a86bf9871b024c/chroma_hnswlib-0.7.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49da700a6656fed8753f68d44b8cc8ae46efc99fc8a22a6d970dc1697f49b403"}, + {url = "https://files.pythonhosted.org/packages/30/54/a8e23bf56b43447a927173fd91dbf0755096b8d03312e7259adc8b8fef6b/chroma_hnswlib-0.7.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:70f897dc6218afa1d99f43a9ad5eb82f392df31f57ff514ccf4eeadecd62f544"}, + {url = "https://files.pythonhosted.org/packages/36/48/b27a65ac00267778faac3d708377c8b7fe7766c0f818cea499291716d398/chroma_hnswlib-0.7.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ee2d8d1529fca3898d512079144ec3e28a81d9c17e15e0ea4665697a7923253"}, + {url = "https://files.pythonhosted.org/packages/3e/52/83cc532e6b61cf52a87408a6e01cd18db80cf37a21fb17bc37cc50a36a00/chroma_hnswlib-0.7.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5aef10b4952708f5a1381c124a29aead0c356f8d7d6e0b520b778aaa62a356f4"}, + {url = "https://files.pythonhosted.org/packages/41/72/6422b9886f365dbaadec16ea4b7937e30933d0169eb7dc4a5d6a374fa621/chroma_hnswlib-0.7.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7cea425df2e6b8a5e201fff0d922a1cc1d165b3cfe762b1408075723c8892218"}, + {url = "https://files.pythonhosted.org/packages/48/0e/068b658a547d6090b969014146321e28dae1411da54b76d081e51a2af22b/chroma_hnswlib-0.7.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:368e57fe9ebae05ee5844840fa588028a023d1182b0cfdb1d13f607c9ea05756"}, + {url = "https://files.pythonhosted.org/packages/5a/78/ffd8075fb1a36bf26bb5859b8a8e71f60f5912707632c7c77a10d26954b2/chroma_hnswlib-0.7.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:454df3dd3e97aa784fba7cf888ad191e0087eef0fd8c70daf28b753b3b591170"}, + {url = "https://files.pythonhosted.org/packages/80/26/fe3f4f656ef29e2332010643011e5bf39e9c83fdfa7e57357d1109624032/chroma_hnswlib-0.7.3-cp37-cp37m-win_amd64.whl", hash = "sha256:a4021a70e898783cd6f26e00008b494c6249a7babe8774e90ce4766dd288c8ba"}, + {url = "https://files.pythonhosted.org/packages/8a/43/7859812c3e9e1c83abbbc118dcf4c600fc5278dd11b08559b965dd401636/chroma_hnswlib-0.7.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a8f61fa1d417fda848e3ba06c07671f14806a2585272b175ba47501b066fe6b1"}, + {url = "https://files.pythonhosted.org/packages/94/3f/844393b0d2ea1072b7704d6eff5c595e05ae8b831b96340cdb76b2fe995c/chroma_hnswlib-0.7.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:11e7ca93fb8192214ac2b9c0943641ac0daf8f9d4591bb7b73be808a83835667"}, + {url = "https://files.pythonhosted.org/packages/a9/72/a9b61ae00d490c26359a8e10f3974c0d38065b894e6a2573ec6a7597f8e3/chroma_hnswlib-0.7.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c92dc1ebe062188e53970ba13f6b07e0ae32e64c9770eb7f7ffa83f149d4210"}, + {url = "https://files.pythonhosted.org/packages/aa/9b/14b33e125c925eb64fe47df6a580bdfa64ada940c9ce312fe0ddc7670a1e/chroma_hnswlib-0.7.3-cp38-cp38-win_amd64.whl", hash = "sha256:54f053dedc0e3ba657f05fec6e73dd541bc5db5b09aa8bc146466ffb734bdc86"}, + {url = "https://files.pythonhosted.org/packages/ba/f4/c81a40da5473d5d80fc9d0c5bd5b1cb64e530a6ea941c69f195fe81c488c/chroma_hnswlib-0.7.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f96f4d5699e486eb1fb95849fe35ab79ab0901265805be7e60f4eaa83ce263ec"}, + {url = "https://files.pythonhosted.org/packages/c0/59/1224cbae62c7b84c84088cdf6c106b9b2b893783c000d22c442a1672bc75/chroma-hnswlib-0.7.3.tar.gz", hash = "sha256:b6137bedde49fffda6af93b0297fe00429fc61e5a072b1ed9377f909ed95a932"}, + {url = "https://files.pythonhosted.org/packages/c3/e8/263d331f5ce29367f6f8854cd7fa1f54fce72ab4f92ab957525ef9165a9c/chroma_hnswlib-0.7.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d71a3f4f232f537b6152947006bd32bc1629a8686df22fd97777b70f416c127a"}, + {url = "https://files.pythonhosted.org/packages/cb/e4/ce5c0e2d22f11f750bd7b61a5c0bc10c47828b65c5d1f5701288fedabff4/chroma_hnswlib-0.7.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:d7563be58bc98e8f0866907368e22ae218d6060601b79c42f59af4eccbbd2e0a"}, + {url = "https://files.pythonhosted.org/packages/cc/3d/ca311b8f79744db3f4faad8fd9140af80d34c94829d3ed1726c98cf4a611/chroma_hnswlib-0.7.3-cp310-cp310-win_amd64.whl", hash = "sha256:108bc4c293d819b56476d8f7865803cb03afd6ca128a2a04d678fffc139af029"}, + {url = "https://files.pythonhosted.org/packages/d2/32/a91850c7aa8a34f61838913155103808fe90da6f1ea4302731b59e9ba6f2/chroma_hnswlib-0.7.3-cp311-cp311-win_amd64.whl", hash = "sha256:b7dca27b8896b494456db0fd705b689ac6b73af78e186eb6a42fea2de4f71c6f"}, + {url = "https://files.pythonhosted.org/packages/d3/04/7f4fa410495f34a70236f494d72f33fca383976066228dc894f26a654d52/chroma_hnswlib-0.7.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:51b8d411486ee70d7b66ec08cc8b9b6620116b650df9c19076d2d8b6ce2ae914"}, + {url = "https://files.pythonhosted.org/packages/f0/f0/e197039fa81a122544fceccda4e6a2d08bdd4a70638f0a88b6b16dbc4adc/chroma_hnswlib-0.7.3-cp39-cp39-win_amd64.whl", hash = "sha256:df587d15007ca701c6de0ee7d5585dd5e976b7edd2b30ac72bc376b3c3f85882"}, +] +"chromadb 0.4.18" = [ + {url = "https://files.pythonhosted.org/packages/0d/e9/117169df4027a5475ec6406c49f4c5f0ed2b7a7e46d10f02ab5fc049e9ca/chromadb-0.4.18-py3-none-any.whl", hash = "sha256:6de20f8c1dc880bef1d49c10d9f998ddb9d7e39b6c1e757d8b58e37b535ad625"}, + {url = "https://files.pythonhosted.org/packages/6d/c2/8d6cae981b2dbde104e1eca327b81fcdce53655f5febf4c0657d03cf4c3e/chromadb-0.4.18.tar.gz", hash = "sha256:42f1e8f3f48884abfb43fbbb132940d0b78c0f633baf888d2525c970678b886c"}, +] "click 8.1.7" = [ {url = "https://files.pythonhosted.org/packages/00/2e/d53fa4befbf2cfa713304affc7ca780ce4fc1fd8710527771b58311a3229/click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, {url = "https://files.pythonhosted.org/packages/96/d3/f04c7bfcf5c1862a2a5b845c6b2b360488cf47af55dfa79c98f6a6bf98b5/click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, @@ -1534,6 +2098,10 @@ content_hash = "sha256:f00febf5bc2caf66d5b7b2a9890ecab1c70bd25bbc09f58e1b38a8305 {url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, {url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, ] +"coloredlogs 15.0.1" = [ + {url = "https://files.pythonhosted.org/packages/a7/06/3d6badcf13db419e25b07041d9c7b4a2c331d3f4e7134445ec5df57714cd/coloredlogs-15.0.1-py2.py3-none-any.whl", hash = "sha256:612ee75c546f53e92e70049c9dbfcc18c935a2b9a53b66085ce9ef6a6e5c0934"}, + {url = "https://files.pythonhosted.org/packages/cc/c7/eed8f27100517e8c0e6b923d5f0845d0cb99763da6fdee00478f91db7325/coloredlogs-15.0.1.tar.gz", hash = "sha256:7c991aa71a4577af2f82600d8f8f3a89f936baeaf9b50a9c197da014e5bf16b0"}, +] "comm 0.1.4" = [ {url = "https://files.pythonhosted.org/packages/6c/c1/839b14561c958d42a875851fcdf4c15604ba8fd174d22f9003eb97d0611e/comm-0.1.4.tar.gz", hash = "sha256:354e40a59c9dd6db50c5cc6b4acc887d82e9603787f83b68c01a80a923984d15"}, {url = "https://files.pythonhosted.org/packages/fe/47/0133ac1b7dc476ed77710715e98077119b3d9bae56b13f6f9055e7da1c53/comm-0.1.4-py3-none-any.whl", hash = "sha256:6d52794cba11b36ed9860999cd10fd02d6b2eac177068fdd585e1e2f8a96e67a"}, @@ -1645,6 +2213,10 @@ content_hash = "sha256:f00febf5bc2caf66d5b7b2a9890ecab1c70bd25bbc09f58e1b38a8305 {url = "https://files.pythonhosted.org/packages/07/6c/aa3f2f849e01cb6a001cd8554a88d4c77c5c1a31c95bdf1cf9301e6d9ef4/defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61"}, {url = "https://files.pythonhosted.org/packages/0f/d5/c66da9b79e5bdb124974bfe172b4daf3c984ebd9c2a06e2b8a4dc7331c72/defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69"}, ] +"deprecated 1.2.14" = [ + {url = "https://files.pythonhosted.org/packages/20/8d/778b7d51b981a96554f29136cd59ca7880bf58094338085bcf2a979a0e6a/Deprecated-1.2.14-py2.py3-none-any.whl", hash = "sha256:6fac8b097794a90302bdbb17b9b815e732d3c4720583ff1b198499d78470466c"}, + {url = "https://files.pythonhosted.org/packages/92/14/1e41f504a246fc224d2ac264c227975427a85caf37c3979979edb9b1b232/Deprecated-1.2.14.tar.gz", hash = "sha256:e5323eb936458dccc2582dc6f9c322c852a775a27065ff2b0c4970b9d53d01b3"}, +] "diskcache 5.6.3" = [ {url = "https://files.pythonhosted.org/packages/3f/21/1c1ffc1a039ddcc459db43cc108658f32c57d271d7289a2794e401d0fdb6/diskcache-5.6.3.tar.gz", hash = "sha256:2c3a3fa2743d8535d832ec61c2054a1641f41775aa7c556758a109941e33e4fc"}, {url = "https://files.pythonhosted.org/packages/3f/27/4570e78fc0bf5ea0ca45eb1de3818a23787af9b390c0b0a0033a1b8236f9/diskcache-5.6.3-py3-none-any.whl", hash = "sha256:5e31b2d5fbad117cc363ebaf6b689474db18a1f6438bc82358b024abd4c2ca19"}, @@ -1665,6 +2237,14 @@ content_hash = "sha256:f00febf5bc2caf66d5b7b2a9890ecab1c70bd25bbc09f58e1b38a8305 {url = "https://files.pythonhosted.org/packages/7f/1a/8aad366cf1779351741e5c791ae76dc8b293f72e9448c689cc2e730f06cb/fastjsonschema-2.18.1-py3-none-any.whl", hash = "sha256:aec6a19e9f66e9810ab371cc913ad5f4e9e479b63a7072a2cd060a9369e329a8"}, {url = "https://files.pythonhosted.org/packages/82/d1/0e54b17b6ebae7a347602bb07bb2f5c4cff9bdbbd354f202b3af48f22f75/fastjsonschema-2.18.1.tar.gz", hash = "sha256:06dc8680d937628e993fa0cd278f196d20449a1adc087640710846b324d422ea"}, ] +"filelock 3.13.1" = [ + {url = "https://files.pythonhosted.org/packages/70/70/41905c80dcfe71b22fb06827b8eae65781783d4a14194bce79d16a013263/filelock-3.13.1.tar.gz", hash = "sha256:521f5f56c50f8426f5e03ad3b281b490a87ef15bc6c526f168290f0c7148d44e"}, + {url = "https://files.pythonhosted.org/packages/81/54/84d42a0bee35edba99dee7b59a8d4970eccdd44b99fe728ed912106fc781/filelock-3.13.1-py3-none-any.whl", hash = "sha256:57dbda9b35157b05fb3e58ee91448612eb674172fab98ee235ccb0b5bee19a1c"}, +] +"flatbuffers 23.5.26" = [ + {url = "https://files.pythonhosted.org/packages/0c/6e/3e52cd294d8e7a61e010973cce076a0cb2c6c0dfd4d0b7a13648c1b98329/flatbuffers-23.5.26.tar.gz", hash = "sha256:9ea1144cac05ce5d86e2859f431c6cd5e66cd9c78c558317c7955fb8d4c78d89"}, + {url = "https://files.pythonhosted.org/packages/6f/12/d5c79ee252793ffe845d58a913197bfa02ae9a0b5c9bc3dc4b58d477b9e7/flatbuffers-23.5.26-py2.py3-none-any.whl", hash = "sha256:c0ff356da363087b915fde4b8b45bdda73432fc17cddb3c8157472eab1422ad1"}, +] "frozenlist 1.4.0" = [ {url = "https://files.pythonhosted.org/packages/04/45/cd900bf846f265677143240a564b2d9e7bba32af667bb17c1a8df3cd83ec/frozenlist-1.4.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0e5c8764c7829343d919cc2dfc587a8db01c4f70a4ebbc49abde5d4b158b007b"}, {url = "https://files.pythonhosted.org/packages/09/04/e9ff84198a2d2603599a0458b0f9932d7c079d0f635856c10989d4faa871/frozenlist-1.4.0-cp310-cp310-win32.whl", hash = "sha256:1a0848b52815006ea6596c395f87449f693dc419061cc21e970f139d466dc0a0"}, @@ -1728,22 +2308,98 @@ content_hash = "sha256:f00febf5bc2caf66d5b7b2a9890ecab1c70bd25bbc09f58e1b38a8305 {url = "https://files.pythonhosted.org/packages/f9/16/ef36f5b20ee10dba86d4b5223d55b416e97dfa2dbf5546f0c6d9aa8a26ba/frozenlist-1.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:6221d84d463fb110bdd7619b69cb43878a11d51cbb9394ae3105d082d5199167"}, {url = "https://files.pythonhosted.org/packages/fb/61/5830ca9f4e1da88ef80e2cd41723537888fa1ae75721005d19e640700343/frozenlist-1.4.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e29cda763f752553fa14c68fb2195150bfab22b352572cb36c43c47bedba70eb"}, ] +"fsspec 2023.10.0" = [ + {url = "https://files.pythonhosted.org/packages/a4/f7/16ec1f92523165d10301cfa8cb83df0356dbe615d4ca5ed611a16f53e09a/fsspec-2023.10.0.tar.gz", hash = "sha256:330c66757591df346ad3091a53bd907e15348c2ba17d63fd54f5c39c4457d2a5"}, + {url = "https://files.pythonhosted.org/packages/e8/f6/3eccfb530aac90ad1301c582da228e4763f19e719ac8200752a4841b0b2d/fsspec-2023.10.0-py3-none-any.whl", hash = "sha256:346a8f024efeb749d2a5fca7ba8854474b1ff9af7c3faaf636a4548781136529"}, +] "ghp-import 2.1.0" = [ {url = "https://files.pythonhosted.org/packages/d9/29/d40217cbe2f6b1359e00c6c307bb3fc876ba74068cbab3dde77f03ca0dc4/ghp-import-2.1.0.tar.gz", hash = "sha256:9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343"}, {url = "https://files.pythonhosted.org/packages/f7/ec/67fbef5d497f86283db54c22eec6f6140243aae73265799baaaa19cd17fb/ghp_import-2.1.0-py3-none-any.whl", hash = "sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619"}, ] +"google-auth 2.23.4" = [ + {url = "https://files.pythonhosted.org/packages/86/a7/75911c13a242735d5aeaca6a272da380335ff4ba5f26d6b2ae20ff682d13/google_auth-2.23.4-py2.py3-none-any.whl", hash = "sha256:d4bbc92fe4b8bfd2f3e8d88e5ba7085935da208ee38a134fc280e7ce682a05f2"}, + {url = "https://files.pythonhosted.org/packages/f9/ff/06d757a319b551bccd70772dc656dd0bdedec54e72e407bdd6162116cb3a/google-auth-2.23.4.tar.gz", hash = "sha256:79905d6b1652187def79d491d6e23d0cbb3a21d3c7ba0dbaa9c8a01906b13ff3"}, +] +"googleapis-common-protos 1.61.0" = [ + {url = "https://files.pythonhosted.org/packages/21/49/12996dc0238e017504dceea1d121a48bd49fb3f4416f40d59fc3e924b4f3/googleapis_common_protos-1.61.0-py2.py3-none-any.whl", hash = "sha256:22f1915393bb3245343f6efe87f6fe868532efc12aa26b391b15132e1279f1c0"}, + {url = "https://files.pythonhosted.org/packages/95/41/f9d4425eac5cec8c0356575b8f183e8f1f7206875b1e748bd3af4b4a8a1e/googleapis-common-protos-1.61.0.tar.gz", hash = "sha256:8a64866a97f6304a7179873a465d6eee97b7a24ec6cfd78e0f575e96b821240b"}, +] "gptcache 0.1.42" = [ {url = "https://files.pythonhosted.org/packages/63/44/d572c9d69c25d4e7b2ac64beb019a03f687366616b220783950eaa86263f/gptcache-0.1.42.tar.gz", hash = "sha256:17339c41d992bd47c623c716be3bd915dba2687a0fa52aa4ab4ed9cc7cc2b256"}, {url = "https://files.pythonhosted.org/packages/63/aa/d43abfff95a92658fc2eea54b5dcf61066aff65f811c7ea072f128ec06bb/gptcache-0.1.42-py3-none-any.whl", hash = "sha256:8da93cd9fdc3a1c09aae25b688823b4a5bc28dcfa4522e33617f3f7a9e5b8bb0"}, ] +"graphlib-backport 1.0.3" = [ + {url = "https://files.pythonhosted.org/packages/4a/75/9bf2356176a3f57037d70710b1d9148e51aad9ff3e5e97eafb338893d985/graphlib_backport-1.0.3.tar.gz", hash = "sha256:7bb8fc7757b8ae4e6d8000a26cd49e9232aaa9a3aa57edb478474b8424bfaae2"}, + {url = "https://files.pythonhosted.org/packages/b0/2a/d77491343f72546943dd79974133a5261b9bc12a80806c34f51a058c0732/graphlib_backport-1.0.3-py3-none-any.whl", hash = "sha256:24246967b9e7e6a91550bc770e6169585d35aa32790258579a8a3899a8c18fde"}, +] "griffe 0.36.9" = [ {url = "https://files.pythonhosted.org/packages/11/99/b8ab0cdd202af44b45fcec04d53ef1a1c5d4964b035b5fb4df2761e3c815/griffe-0.36.9-py3-none-any.whl", hash = "sha256:7874febe7cd81e8e47eb7b8130ff9d38c8f3656233c01d2d217d2e898a0925f5"}, {url = "https://files.pythonhosted.org/packages/6c/a6/81075cf25c36427433d345be0e57ea6a6bc151c23d34b4c748fcfa459de0/griffe-0.36.9.tar.gz", hash = "sha256:b4e510bf0ed1fc91c58453c68018a2247c561adec8f5dadc40275afc01f51eac"}, ] +"grpcio 1.59.3" = [ + {url = "https://files.pythonhosted.org/packages/00/d5/5900881426ce327150ee33a63f4e2a040a74e21bf4de90561f33c78fc289/grpcio-1.59.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8d993399cc65e3a34f8fd48dd9ad7a376734564b822e0160dd18b3d00c1a33f9"}, + {url = "https://files.pythonhosted.org/packages/08/dd/8a6ce7f937acc987bfbc1f1ea6f80f991471d89b84dc056c5dc64e8000ec/grpcio-1.59.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2eb8f0c7c0c62f7a547ad7a91ba627a5aa32a5ae8d930783f7ee61680d7eb8d"}, + {url = "https://files.pythonhosted.org/packages/0d/5f/2e02992bfd749c7e0b3a3e7ccdaa136d1df8bafde4c7b81149d8755042c2/grpcio-1.59.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:16da0e40573962dab6cba16bec31f25a4f468e6d05b658e589090fe103b03e3d"}, + {url = "https://files.pythonhosted.org/packages/0d/78/51e020f66563392edc94fac87a09874cab551e2c863e79cda4dd6a7642d3/grpcio-1.59.3-cp37-cp37m-macosx_10_10_universal2.whl", hash = "sha256:83113bcc393477b6f7342b9f48e8a054330c895205517edc66789ceea0796b53"}, + {url = "https://files.pythonhosted.org/packages/13/58/096f9b6545c39b0ab570b42eb42b1327f3c73825947106a4249f9783b9f3/grpcio-1.59.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8cd76057b5c9a4d68814610ef9226925f94c1231bbe533fdf96f6181f7d2ff9e"}, + {url = "https://files.pythonhosted.org/packages/16/39/410781ad5f85d9746e22f56906cd122eb285df4cf29a9e1d0ba4f12ac2a0/grpcio-1.59.3-cp38-cp38-linux_armv7l.whl", hash = "sha256:95b5506e70284ac03b2005dd9ffcb6708c9ae660669376f0192a710687a22556"}, + {url = "https://files.pythonhosted.org/packages/1a/96/c31077e8e9aa0319a5b240f3a873e7b35d0d09e23ea041ea37b723459aa7/grpcio-1.59.3-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c0f0a11d82d0253656cc42e04b6a149521e02e755fe2e4edd21123de610fd1d4"}, + {url = "https://files.pythonhosted.org/packages/1c/de/f68c0633f9a8e21b88bd97bae687d608e1ddc9e8f5cfc0e4bc3efb2bb49d/grpcio-1.59.3-cp39-cp39-win_amd64.whl", hash = "sha256:b491e5bbcad3020a96842040421e508780cade35baba30f402df9d321d1c423e"}, + {url = "https://files.pythonhosted.org/packages/20/e6/f29c4dd9b3c432da9713dd5edbd27a7adf38573deaf53b6df1845464c1da/grpcio-1.59.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:c0bd141f4f41907eb90bda74d969c3cb21c1c62779419782a5b3f5e4b5835718"}, + {url = "https://files.pythonhosted.org/packages/21/8a/76a6b10fbc9180bbd922ccc8fb499e17d93fc71cadf3e502e29fc0e0e7e1/grpcio-1.59.3-cp38-cp38-win_amd64.whl", hash = "sha256:cdbc6b32fadab9bebc6f49d3e7ec4c70983c71e965497adab7f87de218e84391"}, + {url = "https://files.pythonhosted.org/packages/2c/0a/75a6884f77428255c4145bb7fe3773b900a3e790e27283c70304a245ba78/grpcio-1.59.3-cp312-cp312-macosx_10_10_universal2.whl", hash = "sha256:1736496d74682e53dd0907fd515f2694d8e6a96c9a359b4080b2504bf2b2d91b"}, + {url = "https://files.pythonhosted.org/packages/2f/29/03a7b9b054534c3aaeb9ee71685aca2e391a90f55412b3a52f02c598d319/grpcio-1.59.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d787ecadea865bdf78f6679f6f5bf4b984f18f659257ba612979df97a298b3c3"}, + {url = "https://files.pythonhosted.org/packages/31/bb/f6811522022f5cebfa4c083e65773dbd5b71226bb37c8d4ba0d88a6b9d0a/grpcio-1.59.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:e1d8e01438d5964a11167eec1edb5f85ed8e475648f36c834ed5db4ffba24ac8"}, + {url = "https://files.pythonhosted.org/packages/37/97/c13a1dc9c2a4116836f532fc52c423724d8c2c9826f57a9d1a942aad208e/grpcio-1.59.3-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e58b3cadaa3c90f1efca26ba33e0d408b35b497307027d3d707e4bcd8de862a6"}, + {url = "https://files.pythonhosted.org/packages/3e/6e/3e00bd2dd8e531b3f02935d4742b28faa2beea69348b83b2154eab0db235/grpcio-1.59.3-cp37-cp37m-manylinux_2_17_aarch64.whl", hash = "sha256:73afbac602b8f1212a50088193601f869b5073efa9855b3e51aaaec97848fc8a"}, + {url = "https://files.pythonhosted.org/packages/42/8a/2c9235aaf639e62951e30cd3c9a6ae7076fc078ab48719249330cd6b7d46/grpcio-1.59.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:0814942ba1bba269db4e760a34388640c601dece525c6a01f3b4ff030cc0db69"}, + {url = "https://files.pythonhosted.org/packages/4c/93/d76f32d492171feb6afa871bde0f29ee02b0f373d695738eee243e872124/grpcio-1.59.3-cp37-cp37m-linux_armv7l.whl", hash = "sha256:ea40ce4404e7cca0724c91a7404da410f0144148fdd58402a5942971e3469b94"}, + {url = "https://files.pythonhosted.org/packages/59/e4/34dd0e7e97f3dc87f25a87c3890b6974b260a20b4a7499471804cc7c5a41/grpcio-1.59.3-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a93a82876a4926bf451db82ceb725bd87f42292bacc94586045261f501a86994"}, + {url = "https://files.pythonhosted.org/packages/5a/fa/7a1511829f4881138d8187cdcd8282aaeb88dbcbc6bebd06e3eb65a46f2c/grpcio-1.59.3-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:72b71dad2a3d1650e69ad42a5c4edbc59ee017f08c32c95694172bc501def23c"}, + {url = "https://files.pythonhosted.org/packages/5b/8a/20be22abf7073d9b65ea0cf13d12155228502ce676db7c95057b887535cf/grpcio-1.59.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:95d6fd804c81efe4879e38bfd84d2b26e339a0a9b797e7615e884ef4686eb47b"}, + {url = "https://files.pythonhosted.org/packages/5f/da/032e9a5c4ba27c9f0e38be26a4325725840109ae9118e01fd73e4b2cd56b/grpcio-1.59.3-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:00912ce19914d038851be5cd380d94a03f9d195643c28e3ad03d355cc02ce7e8"}, + {url = "https://files.pythonhosted.org/packages/62/e6/078245bcdd007c1cf7db93706f158baa67a5ff5a588b373609c30fb837b3/grpcio-1.59.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e78dc982bda74cef2ddfce1c91d29b96864c4c680c634e279ed204d51e227473"}, + {url = "https://files.pythonhosted.org/packages/65/fc/709cf673832a07a6c7889efa332eed3415f4f5882ca1817186088c935447/grpcio-1.59.3-cp38-cp38-win32.whl", hash = "sha256:eb8ba504c726befe40a356ecbe63c6c3c64c9a439b3164f5a718ec53c9874da0"}, + {url = "https://files.pythonhosted.org/packages/68/9c/d780645881358c6db9a4362457d06e07a82f64c58dc7cdaab9ed5d2719c9/grpcio-1.59.3-cp39-cp39-win32.whl", hash = "sha256:52cc38a7241b5f7b4a91aaf9000fdd38e26bb00d5e8a71665ce40cfcee716281"}, + {url = "https://files.pythonhosted.org/packages/6e/e5/0532494a5597aed66ff1bfad1fd3bb7c110cef1e83a22dc07ec975f1136e/grpcio-1.59.3-cp312-cp312-linux_armv7l.whl", hash = "sha256:45dddc5cb5227d30fa43652d8872dc87f086d81ab4b500be99413bad0ae198d7"}, + {url = "https://files.pythonhosted.org/packages/78/c8/8a0cc31469609cb8c339dde7596bf99eee3aa49ba4d79cca9378d80ad2e7/grpcio-1.59.3-cp39-cp39-linux_armv7l.whl", hash = "sha256:c82ca1e4be24a98a253d6dbaa216542e4163f33f38163fc77964b0f0d255b552"}, + {url = "https://files.pythonhosted.org/packages/7f/5a/70d9523b20a5450b33cdf905a33210c8e7eab73a33ca22342f5934bf1a8d/grpcio-1.59.3-cp311-cp311-win32.whl", hash = "sha256:6a5c3a96405966c023e139c3bcccb2c7c776a6f256ac6d70f8558c9041bdccc3"}, + {url = "https://files.pythonhosted.org/packages/8e/46/88e07f16f4c265b9151bb931bb1a86b84d98a92db34442eab2a1abe3b685/grpcio-1.59.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:0d42048b8a3286ea4134faddf1f9a59cf98192b94aaa10d910a25613c5eb5bfb"}, + {url = "https://files.pythonhosted.org/packages/90/f8/72794f73ca3b0652c59d43c50c3d2248d7359da6cea68a6be0046fa38096/grpcio-1.59.3-cp311-cp311-linux_armv7l.whl", hash = "sha256:3996aaa21231451161dc29df6a43fcaa8b332042b6150482c119a678d007dd86"}, + {url = "https://files.pythonhosted.org/packages/92/93/3cbc00a269b46277ff26355074a8315eeb4c87240c27d6f7efeabe818fd9/grpcio-1.59.3-cp311-cp311-macosx_10_10_universal2.whl", hash = "sha256:cb4e9cbd9b7388fcb06412da9f188c7803742d06d6f626304eb838d1707ec7e3"}, + {url = "https://files.pythonhosted.org/packages/9a/6b/f6761b4b6dcf0c53748415d17183c3b5277a71d251c86fb401941ab3c468/grpcio-1.59.3-cp39-cp39-macosx_10_10_universal2.whl", hash = "sha256:36636babfda14f9e9687f28d5b66d349cf88c1301154dc71c6513de2b6c88c59"}, + {url = "https://files.pythonhosted.org/packages/9e/de/31b341b4327ecae19687c5163a4afde9bb3e8d94d06e24141eb2f933aa79/grpcio-1.59.3-cp38-cp38-macosx_10_10_universal2.whl", hash = "sha256:9e17660947660ccfce56c7869032910c179a5328a77b73b37305cd1ee9301c2e"}, + {url = "https://files.pythonhosted.org/packages/9f/f0/0348fe3539161e7b3523c32c7d9787be987194a85a04559cd46ab28dd146/grpcio-1.59.3-cp312-cp312-win32.whl", hash = "sha256:33b8fd65d4e97efa62baec6171ce51f9cf68f3a8ba9f866f4abc9d62b5c97b79"}, + {url = "https://files.pythonhosted.org/packages/a9/4f/dd00ba530c30a1dac37a52055c00a6d4c561f2c56e504c9b67b50d74b0d8/grpcio-1.59.3-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:575d61de1950b0b0699917b686b1ca108690702fcc2df127b8c9c9320f93e069"}, + {url = "https://files.pythonhosted.org/packages/a9/c0/8e060984fa7134c152de9c643cf56fbb4d351a828c7ce4527d8a19f26800/grpcio-1.59.3-cp310-cp310-win32.whl", hash = "sha256:c4b0076f0bf29ee62335b055a9599f52000b7941f577daa001c7ef961a1fbeab"}, + {url = "https://files.pythonhosted.org/packages/ab/a1/f838646e25402eb750f037cf84c1ada46084717375e44724c89900ee4c7d/grpcio-1.59.3.tar.gz", hash = "sha256:7800f99568a74a06ebdccd419dd1b6e639b477dcaf6da77ea702f8fb14ce5f80"}, + {url = "https://files.pythonhosted.org/packages/b5/76/66e3c45c074418b2140a8b520c1fd72d008856bdca54dd84563b0d08d378/grpcio-1.59.3-cp310-cp310-win_amd64.whl", hash = "sha256:b1f00a3e6e0c3dccccffb5579fc76ebfe4eb40405ba308505b41ef92f747746a"}, + {url = "https://files.pythonhosted.org/packages/ba/ca/9e0f7ec6ee5ab45bac97026c07b99773ed622458b02c9fd8c25548a01f4d/grpcio-1.59.3-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fcfa56f8d031ffda902c258c84c4b88707f3a4be4827b4e3ab8ec7c24676320d"}, + {url = "https://files.pythonhosted.org/packages/bb/7e/0eb6cdadb2df7190a6854f03caaec9b43b4c7a22753f212858c5f52450ca/grpcio-1.59.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8239b853226e4824e769517e1b5232e7c4dda3815b200534500338960fcc6118"}, + {url = "https://files.pythonhosted.org/packages/bc/e5/f656b17fe1ccda1e2a4fe20298b8bcf7c804561c90ee763e39efc1c3772f/grpcio-1.59.3-cp311-cp311-win_amd64.whl", hash = "sha256:ed26826ee423b11477297b187371cdf4fa1eca874eb1156422ef3c9a60590dd9"}, + {url = "https://files.pythonhosted.org/packages/c5/31/8fa94a570ccfa37d63bea2a548c26460050de6228e84fe4d762fa72b2d86/grpcio-1.59.3-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:19ad26a7967f7999c8960d2b9fe382dae74c55b0c508c613a6c2ba21cddf2354"}, + {url = "https://files.pythonhosted.org/packages/c6/79/81619b34075e8d40a8b3ad36100244ba689a3d169340b6bab832c75dd3bb/grpcio-1.59.3-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:8022ca303d6c694a0d7acfb2b472add920217618d3a99eb4b14edc7c6a7e8fcf"}, + {url = "https://files.pythonhosted.org/packages/cb/8b/45aa95568e85955d5b7a702a28e9fad76451375df025cbb213ebf7ad9e52/grpcio-1.59.3-cp37-cp37m-win_amd64.whl", hash = "sha256:4619fea15c64bcdd9d447cdbdde40e3d5f1da3a2e8ae84103d94a9c1df210d7e"}, + {url = "https://files.pythonhosted.org/packages/ce/03/ae706b94bfb12ac43090cd74c24bb807f1f0759f7bf67d2f81c05e237eb3/grpcio-1.59.3-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:5f9b2e591da751ac7fdd316cc25afafb7a626dededa9b414f90faad7f3ccebdb"}, + {url = "https://files.pythonhosted.org/packages/d0/d4/8e95676ff382ac2b40ee1a1b9c004b6cb2da3c25c6848c7fd042faca2c99/grpcio-1.59.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6c75a1fa0e677c1d2b6d4196ad395a5c381dfb8385f07ed034ef667cdcdbcc25"}, + {url = "https://files.pythonhosted.org/packages/d5/d4/107b87f9f8fff84792ce3ea37bacaea8af574ba463354caa7f6145590caa/grpcio-1.59.3-cp310-cp310-linux_armv7l.whl", hash = "sha256:aca028a6c7806e5b61e5f9f4232432c52856f7fcb98e330b20b6bc95d657bdcc"}, + {url = "https://files.pythonhosted.org/packages/d6/5c/8833196c7b74e7c9235b33238a2f7a00ed632f6a4969d487c29a04f4911e/grpcio-1.59.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:0511af8653fbda489ff11d542a08505d56023e63cafbda60e6e00d4e0bae86ea"}, + {url = "https://files.pythonhosted.org/packages/d8/d0/0c42b56820f399f9bbcb4441fba1d4e52af3f11fa51c40c553fbd404aa1a/grpcio-1.59.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:60cddafb70f9a2c81ba251b53b4007e07cca7389e704f86266e22c4bffd8bf1d"}, + {url = "https://files.pythonhosted.org/packages/e7/fe/c7cc0c37e5be9543e56f447eafc3699a16c1fb098825146b82d9c8070349/grpcio-1.59.3-cp312-cp312-manylinux_2_17_aarch64.whl", hash = "sha256:ddbd1a16138e52e66229047624de364f88a948a4d92ba20e4e25ad7d22eef025"}, + {url = "https://files.pythonhosted.org/packages/ec/4d/f7ef28f7fada22233284984a764bf260c9ebb3272e9b420abd21c2864983/grpcio-1.59.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d1d1a17372fd425addd5812049fa7374008ffe689585f27f802d0935522cf4b7"}, + {url = "https://files.pythonhosted.org/packages/f3/1a/26f16c02d8f226c0f74bc22bc0d9b95a78c939553fb29f194718385aa914/grpcio-1.59.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce31fa0bfdd1f2bb15b657c16105c8652186eab304eb512e6ae3b99b2fdd7d13"}, + {url = "https://files.pythonhosted.org/packages/f4/9e/cd020587db2b44d5d8788836e582c9d4468fb128a8c2ae73e6b98e6c5d22/grpcio-1.59.3-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b36683fad5664283755a7f4e2e804e243633634e93cd798a46247b8e54e3cb0d"}, + {url = "https://files.pythonhosted.org/packages/fa/6d/c244c074256d37a64fff1c7e887cb717c980a4d2c1e2102d207857dcd55e/grpcio-1.59.3-cp312-cp312-win_amd64.whl", hash = "sha256:0e735ed002f50d4f3cb9ecfe8ac82403f5d842d274c92d99db64cfc998515e07"}, + {url = "https://files.pythonhosted.org/packages/fe/0f/a4665a35d7c70a8a581601f952f7d4aa79b21d780ddc9d1bda39cf0a90df/grpcio-1.59.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fb111aa99d3180c361a35b5ae1e2c63750220c584a1344229abc139d5c891881"}, +] "guidance 0.0.64" = [ {url = "https://files.pythonhosted.org/packages/07/9c/1f71fc39dc77c45b477bd34ababc9b4e31c70b9a724de1d8a81679767721/guidance-0.0.64.tar.gz", hash = "sha256:baaee2c791fe853c920b5964661bb63155feb58f84c25e45f83c47f63c4e58dd"}, {url = "https://files.pythonhosted.org/packages/78/c8/51dcb3767331b3cd4754172e54ff9985d0c87a3da53d4dbf60dfdf8f26a0/guidance-0.0.64-py3-none-any.whl", hash = "sha256:b15b3bc667bb5b6e9b574781cab7c1ce7fa0a6e705651595bbd8630d124c045a"}, ] +"h11 0.14.0" = [ + {url = "https://files.pythonhosted.org/packages/95/04/ff642e65ad6b90db43e668d70ffb6736436c7ce41fcc549f4e9472234127/h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"}, + {url = "https://files.pythonhosted.org/packages/f5/38/3af3d3633a34a3316095b39c8e8fb4853a28a536e55d347bd8d8e9a14b03/h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"}, +] "hiredis 2.2.3" = [ {url = "https://files.pythonhosted.org/packages/03/f3/e34dbb46f8f0d1a0e6c6aecf082c22de7a683df02c2bc29f74f9ce680eb0/hiredis-2.2.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:4e43e2b5acaad09cf48c032f7e4926392bb3a3f01854416cf6d82ebff94d5467"}, {url = "https://files.pythonhosted.org/packages/05/0a/8e5ae10854b1d67f8cd9e1b187e1128bde911f6b44ac6db4ad714514ef27/hiredis-2.2.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:071c5814b850574036506a8118034f97c3cbf2fe9947ff45a27b07a48da56240"}, @@ -1835,6 +2491,52 @@ content_hash = "sha256:f00febf5bc2caf66d5b7b2a9890ecab1c70bd25bbc09f58e1b38a8305 {url = "https://files.pythonhosted.org/packages/f6/7b/411dd838d8c105e8b5a8104bc9ebddfbedcb352764182a8ed267a98f8e97/hiredis-2.2.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:818dfd310aa1020a13cd08ee48e116dd8c3bb2e23b8161f8ac4df587dd5093d7"}, {url = "https://files.pythonhosted.org/packages/f7/91/22c5432c14eb3b7412526865596d080a2c14e9468105947cf947b9617180/hiredis-2.2.3-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:50171f985e17970f87d5a29e16603d1e5b03bdbf5c2691a37e6c912942a6b657"}, ] +"httptools 0.6.1" = [ + {url = "https://files.pythonhosted.org/packages/02/ba/e7c6040bd3b5e46c17dcf84c8c667e3e2fb4a1ac7bec92d925fc0a35fb96/httptools-0.6.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:95fb92dd3649f9cb139e9c56604cc2d7c7bf0fc2e7c8d7fbd58f96e35eddd2a3"}, + {url = "https://files.pythonhosted.org/packages/0a/0d/ca545a8a2831fc3e326fffecab268a2e7775e5ec4d57afc8f5ddc578cbd7/httptools-0.6.1-cp39-cp39-win_amd64.whl", hash = "sha256:7ebaec1bf683e4bf5e9fbb49b8cc36da482033596a415b3e4ebab5a4c0d7ec5e"}, + {url = "https://files.pythonhosted.org/packages/14/e4/20d28dfe7f5b5603b6b04c33bb88662ad749de51f0c539a561f235f42666/httptools-0.6.1-cp311-cp311-win_amd64.whl", hash = "sha256:5cceac09f164bcba55c0500a18fe3c47df29b62353198e4f37bbcc5d591172c3"}, + {url = "https://files.pythonhosted.org/packages/1e/fc/8a26c2adcd3f141e4729897633f03832b71ebea6f4c31cce67a92ded1961/httptools-0.6.1-cp310-cp310-win_amd64.whl", hash = "sha256:1ed99a373e327f0107cb513b61820102ee4f3675656a37a50083eda05dc9541b"}, + {url = "https://files.pythonhosted.org/packages/42/44/4b9ff8fd96776e775c1d480f6f8ce6d366e96f49b8df0a361cf000643a6e/httptools-0.6.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:8e216a038d2d52ea13fdd9b9c9c7459fb80d78302b257828285eca1c773b99b3"}, + {url = "https://files.pythonhosted.org/packages/4c/b8/9494a21832eea0d7429fb1d5948fdf3ea490d7b3fe32fc3d6e63f54b9aed/httptools-0.6.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:3c3b214ce057c54675b00108ac42bacf2ab8f85c58e3f324a4e963bbc46424f4"}, + {url = "https://files.pythonhosted.org/packages/4e/74/6348ce41fb5c1484f35184c172efb8854a288e6090bb54e2210598268369/httptools-0.6.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:639dc4f381a870c9ec860ce5c45921db50205a37cc3334e756269736ff0aac58"}, + {url = "https://files.pythonhosted.org/packages/53/d3/968ab0568634f226ed20d82131c0304550fa2d60088a3699281ea8f4b34d/httptools-0.6.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:dcbab042cc3ef272adc11220517278519adf8f53fd3056d0e68f0a6f891ba94e"}, + {url = "https://files.pythonhosted.org/packages/56/a9/bb66e122917639ea3b419d64e4ab5ec1f9353c3a56cc3dee063260375d47/httptools-0.6.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8ae5b97f690badd2ca27cbf668494ee1b6d34cf1c464271ef7bfa9ca6b83ffaf"}, + {url = "https://files.pythonhosted.org/packages/59/13/9c253d23e62539922032a967ae06ce16e53c3bba592d4ff63920058f0bbb/httptools-0.6.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:e0b281cf5a125c35f7f6722b65d8542d2e57331be573e9e88bc8b0115c4a7a81"}, + {url = "https://files.pythonhosted.org/packages/59/23/047a89e66045232fb82c50ae57699e40f70e073ae5ccd53f54e532fbd2a2/httptools-0.6.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7d9ceb2c957320def533671fc9c715a80c47025139c8d1f3797477decbc6edd2"}, + {url = "https://files.pythonhosted.org/packages/5e/cc/6dbced1d801ce1370d04117510b6d3f824f63392cfa6585077caec55ee16/httptools-0.6.1-cp38-cp38-win_amd64.whl", hash = "sha256:405784577ba6540fa7d6ff49e37daf104e04f4b4ff2d1ac0469eaa6a20fde084"}, + {url = "https://files.pythonhosted.org/packages/60/13/b62e086b650752adf9094b7e62dab97f4cb7701005664544494b7956a51e/httptools-0.6.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:75c8022dca7935cba14741a42744eee13ba05db00b27a4b940f0d646bd4d56d0"}, + {url = "https://files.pythonhosted.org/packages/65/e7/dd5ba95c84047118a363f0755ad78e639e0529be92424bb020496578aa3b/httptools-0.6.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e57997ac7fb7ee43140cc03664de5f268813a481dff6245e0075925adc6aa185"}, + {url = "https://files.pythonhosted.org/packages/67/1d/d77686502fced061b3ead1c35a2d70f6b281b5f723c4eff7a2277c04e4a2/httptools-0.6.1.tar.gz", hash = "sha256:c6e26c30455600b95d94b1b836085138e82f177351454ee841c148f93a9bad5a"}, + {url = "https://files.pythonhosted.org/packages/69/45/0f5014fa50f923599fead11e001e23fb210a1f82dddc1afbf00db20ff4ff/httptools-0.6.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0cf2372e98406efb42e93bfe10f2948e467edfd792b015f1b4ecd897903d3e8d"}, + {url = "https://files.pythonhosted.org/packages/76/7a/45c5a9a2e9d21f7381866eb7b6ead5a84d8fe7e54e35208eeb18320a29b4/httptools-0.6.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b0bb634338334385351a1600a73e558ce619af390c2b38386206ac6a27fecfc"}, + {url = "https://files.pythonhosted.org/packages/7c/58/d3728a369eaacd125918469c767e4af00326255db29e5e070433d9f40165/httptools-0.6.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:678fcbae74477a17d103b7cae78b74800d795d702083867ce160fc202104d0da"}, + {url = "https://files.pythonhosted.org/packages/80/01/379f6466d8e2edb861c1f44ccac255ed1f8a0d4c5c666a1ceb34caad7555/httptools-0.6.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:b512aa728bc02354e5ac086ce76c3ce635b62f5fbc32ab7082b5e582d27867bb"}, + {url = "https://files.pythonhosted.org/packages/80/dd/cebc9d4b1d4b70e9f3d40d1db0829a28d57ca139d0b04197713816a11996/httptools-0.6.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:85ed077c995e942b6f1b07583e4eb0a8d324d418954fc6af913d36db7c05a5a0"}, + {url = "https://files.pythonhosted.org/packages/82/f5/50708abc7965d7d93c0ee14a148ccc6d078a508f47fe9357c79d5360f252/httptools-0.6.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:4f0f8271c0a4db459f9dc807acd0eadd4839934a4b9b892f6f160e94da309837"}, + {url = "https://files.pythonhosted.org/packages/8c/0f/ac82bdc14f5e4bff59a3c3c35fa7a9b7a2f8d983c4d5a33b20e4848b3f14/httptools-0.6.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:95658c342529bba4e1d3d2b1a874db16c7cca435e8827422154c9da76ac4e13a"}, + {url = "https://files.pythonhosted.org/packages/99/c9/53ed7176583ec4b4364d941a08624288f2ae55b4ff58b392cdb68db1e1ed/httptools-0.6.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:3f30d3ce413088a98b9db71c60a6ada2001a08945cb42dd65a9a9fe228627658"}, + {url = "https://files.pythonhosted.org/packages/a0/f8/199e857258b4310b439431ec0c34515846dab092e13f945d8852919ac636/httptools-0.6.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4bd3e488b447046e386a30f07af05f9b38d3d368d1f7b4d8f7e10af85393db97"}, + {url = "https://files.pythonhosted.org/packages/a2/9a/aa406864f3108e06f7320425a528ff8267124dead1fd72a3e9da2067f893/httptools-0.6.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:93ad80d7176aa5788902f207a4e79885f0576134695dfb0fefc15b7a4648d503"}, + {url = "https://files.pythonhosted.org/packages/a9/6a/80bce0216b63babf51cdc34814c3f0f10489e13ab89fb6bc91202736a8a2/httptools-0.6.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d2f6c3c4cb1948d912538217838f6e9960bc4a521d7f9b323b3da579cd14532f"}, + {url = "https://files.pythonhosted.org/packages/bd/7d/4cd75356dfe0ed0b40ca6873646bf9ff7b5138236c72338dc569dc57d509/httptools-0.6.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:00d5d4b68a717765b1fabfd9ca755bd12bf44105eeb806c03d1962acd9b8e563"}, + {url = "https://files.pythonhosted.org/packages/c8/4d/1e14e818a086ce800a57c5025707ecbc66083921754b77f5e41879e132cd/httptools-0.6.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fe467eb086d80217b7584e61313ebadc8d187a4d95bb62031b7bab4b205c3ba3"}, + {url = "https://files.pythonhosted.org/packages/cf/3a/3fd8dfb987c4247651baf2ac6f28e8e9f889d484ca1a41a9ad0f04dfe300/httptools-0.6.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9bb68d3a085c2174c2477eb3ffe84ae9fb4fde8792edb7bcd09a1d8467e30a84"}, + {url = "https://files.pythonhosted.org/packages/d0/a4/b503851c40f20bcbd453db24ed35d961f62abdae0dccc8f672cd5d350d87/httptools-0.6.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6f58e335a1402fb5a650e271e8c2d03cfa7cea46ae124649346d17bd30d59c90"}, + {url = "https://files.pythonhosted.org/packages/d3/97/60860e9ee87a7d4712b98f7e1411730520053b9d69e9e42b0b9751809c17/httptools-0.6.1-cp312-cp312-win_amd64.whl", hash = "sha256:97662ce7fb196c785344d00d638fc9ad69e18ee4bfb4000b35a52efe5adcc949"}, + {url = "https://files.pythonhosted.org/packages/d8/97/b37d596bc32be291477a8912bf9d1508d7e8553aa11a30cd871fd89cbae4/httptools-0.6.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0ac5a0ae3d9f4fe004318d64b8a854edd85ab76cffbf7ef5e32920faef62f142"}, + {url = "https://files.pythonhosted.org/packages/e3/1e/9823ca7aab323c0e0e9dd82ce835a6e93b69f69aedffbc94d31e327f4283/httptools-0.6.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:6a4f5ccead6d18ec072ac0b84420e95d27c1cdf5c9f1bc8fbd8daf86bd94f43d"}, + {url = "https://files.pythonhosted.org/packages/e8/f5/ec2d069be4f76c63d942e4e35eeebedc3239b6528da17b2dd73d8e076a35/httptools-0.6.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:3e802e0b2378ade99cd666b5bffb8b2a7cc8f3d28988685dc300469ea8dd86cb"}, + {url = "https://files.pythonhosted.org/packages/f5/d1/53283b96ed823d5e4d89ee9aa0f29df5a1bdf67f148e061549a595d534e4/httptools-0.6.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7a7ea483c1a4485c71cb5f38be9db078f8b0e8b4c4dc0210f531cdd2ddac1ef1"}, + {url = "https://files.pythonhosted.org/packages/f8/5d/9ad32b79b6c24524087e78aa3f0a2dfcf58c11c90e090e4593b35def8a86/httptools-0.6.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:48ed8129cd9a0d62cf4d1575fcf90fb37e3ff7d5654d3a5814eb3d55f36478c2"}, +] +"huggingface-hub 0.19.4" = [ + {url = "https://files.pythonhosted.org/packages/05/09/1945ca6ba3ad8ad6e2872ba682ce8d68c5e63c8e55458ed8ab4885709f1d/huggingface_hub-0.19.4-py3-none-any.whl", hash = "sha256:dba013f779da16f14b606492828f3760600a1e1801432d09fe1c33e50b825bb5"}, + {url = "https://files.pythonhosted.org/packages/64/74/c85a5c59888da14c9904dad8109cf1c744055ffde38a8fb830a1e3cf1d66/huggingface_hub-0.19.4.tar.gz", hash = "sha256:176a4fc355a851c17550e7619488f383189727eab209534d7cef2114dae77b22"}, +] +"humanfriendly 10.0" = [ + {url = "https://files.pythonhosted.org/packages/cc/3f/2c29224acb2e2df4d2046e4c73ee2662023c58ff5b113c4c1adac0886c43/humanfriendly-10.0.tar.gz", hash = "sha256:6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc"}, + {url = "https://files.pythonhosted.org/packages/f0/0f/310fb31e39e2d734ccaa2c0fb981ee41f7bd5056ce9bc29b2248bd569169/humanfriendly-10.0-py2.py3-none-any.whl", hash = "sha256:1697e1a8a8f550fd43c2865cd84542fc175a61dcb779b6fee18cf6b6ccba1477"}, +] "idna 3.4" = [ {url = "https://files.pythonhosted.org/packages/8b/e1/43beb3d38dba6cb420cefa297822eac205a277ab43e5ba5d5c46faf96438/idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"}, {url = "https://files.pythonhosted.org/packages/fc/34/3030de6f1370931b9dbb4dad48f6ab1015ab1d32447850b9fc94e60097be/idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"}, @@ -1891,6 +2593,10 @@ content_hash = "sha256:f00febf5bc2caf66d5b7b2a9890ecab1c70bd25bbc09f58e1b38a8305 {url = "https://files.pythonhosted.org/packages/9e/e3/3c5b6cce216d090ed6cf6cc258602f836d050738ac02f97cb71675f9cfe3/jupytext-1.15.2-py3-none-any.whl", hash = "sha256:ef2a1a3eb8f63d84a3b3772014bdfbe238e4e12a30c4309b8c89e0a54adeb7d1"}, {url = "https://files.pythonhosted.org/packages/c2/fe/48eaa55a525a6827989a2ce7d85c3131eb2c4a8eac6a133591ebb4ee5085/jupytext-1.15.2.tar.gz", hash = "sha256:c9976e24d834e991906c1de55af4b6d512d764f6372aabae45fc1ea72b589173"}, ] +"kubernetes 28.1.0" = [ + {url = "https://files.pythonhosted.org/packages/3c/5e/d27f39f447137a9a3d1f31142c77ce74bcedfda7dafe922d725c7ef2da33/kubernetes-28.1.0.tar.gz", hash = "sha256:1468069a573430fb1cb5ad22876868f57977930f80a6749405da31cd6086a7e9"}, + {url = "https://files.pythonhosted.org/packages/f5/6a/1f69c2d8b1ff03f8d8e10d801f4ac3016ed4c1b00aa9795732c6ec900bba/kubernetes-28.1.0-py2.py3-none-any.whl", hash = "sha256:10f56f8160dcb73647f15fafda268e7f60cf7dbc9f8e46d52fcd46d3beb0c18d"}, +] "markdown 3.5.1" = [ {url = "https://files.pythonhosted.org/packages/35/14/1ec9742e151f3b06a723a20d9af7201a389ebd3aae8b7d93b521819489dc/Markdown-3.5.1.tar.gz", hash = "sha256:b65d7beb248dc22f2e8a31fb706d93798093c308dc1aba295aedeb9d41a813bd"}, {url = "https://files.pythonhosted.org/packages/70/58/2c5a654173937d9f540a4971c569b44dcd55e5424a484d954cdaeebcf79c/Markdown-3.5.1-py3-none-any.whl", hash = "sha256:5874b47d4ee3f0b14d764324d2c94c03ea66bee56f2d929da9f2508d65e722dc"}, @@ -2009,10 +2715,84 @@ content_hash = "sha256:f00febf5bc2caf66d5b7b2a9890ecab1c70bd25bbc09f58e1b38a8305 {url = "https://files.pythonhosted.org/packages/35/ec/a9d5e3b98eb5d7da229481049f8031c2dad2a72d48192d3471c72ae0eda6/mkdocstrings_python-1.7.3-py3-none-any.whl", hash = "sha256:2439d6ad3e34f0bb4c643b845fb3c06ae9233499a1736f9fa273424b75cc5894"}, {url = "https://files.pythonhosted.org/packages/c5/77/3dbd0a171488b9af9a4bdc527b81426f7ea2638585c5d3f655ed9a2a1e89/mkdocstrings_python-1.7.3.tar.gz", hash = "sha256:c20128fa96c24dbc6437b10dfedaf33b0415d4503e51ce9ce5e84b271278268e"}, ] +"mmh3 4.0.1" = [ + {url = "https://files.pythonhosted.org/packages/09/20/5b3ae859892ea96b983aa8ef77cf44d39b17760ebea6ce1d0c211721994f/mmh3-4.0.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ec380933a56eb9fea16d7fcd49f1b5a5c92d7d2b86f25e9a845b72758ee8c42"}, + {url = "https://files.pythonhosted.org/packages/10/cb/6d2ded51a171d52a42e3ed49202e5e7f4eb46db7e8943c434b5f35490abc/mmh3-4.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:bbfddaf55207798f5b29341e5b3a24dbff91711c51b1665eabc9d910255a78f0"}, + {url = "https://files.pythonhosted.org/packages/10/e7/7f65b1de0f315408e892b24d21effa2bcf3b210de81fad468372d370d333/mmh3-4.0.1-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:dd92e0ff9edee6af960d9862a3e519d651e6344321fd280fb082654fc96ecc4d"}, + {url = "https://files.pythonhosted.org/packages/13/ce/d82c4216577bdfce2e656aa74110d744e63b19961dee8a8af9aee9208287/mmh3-4.0.1-cp311-cp311-win32.whl", hash = "sha256:2733e2160c142eed359e25e5529915964a693f0d043165b53933f904a731c1b3"}, + {url = "https://files.pythonhosted.org/packages/13/dc/fc08a29147eeb945ec610cd1e933c89e1069fe53282076da53d0940e0426/mmh3-4.0.1-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:ce9bb622e9f1162cafd033071b32ac495c5e8d5863fca2a5144c092a0f129a5b"}, + {url = "https://files.pythonhosted.org/packages/16/09/30a2f7292cba3f70d83bdeec1443e0386abe310d8df92e5837e74bfd2d16/mmh3-4.0.1-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:d6acb15137467592691e41e6f897db1d2823ff3283111e316aa931ac0b5a5709"}, + {url = "https://files.pythonhosted.org/packages/1d/d5/6fedb40cacf6e4b13a8539b3474ae17e2126c62ebb242970fd3e5e9fbedf/mmh3-4.0.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:9b23a06315a65ef0b78da0be32409cfce0d6d83e51d70dcebd3302a61e4d34ce"}, + {url = "https://files.pythonhosted.org/packages/29/c0/cde02093640de7119432486496469a5f1c9b8a2d348ba35fa075a20eeee0/mmh3-4.0.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:b719ba87232749095011d567a36a25e40ed029fc61c47e74a12416d8bb60b311"}, + {url = "https://files.pythonhosted.org/packages/2b/60/3aef12203f598186ddc2949e0267fb265fd017a6f1d4560ef1c04a9fa241/mmh3-4.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:df468ac7b61ec7251d7499e27102899ca39d87686f659baf47f84323f8f4541f"}, + {url = "https://files.pythonhosted.org/packages/31/d9/2ce900f2679a1303288e89ec24531b553e91c19eb159916202b620c109f3/mmh3-4.0.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:29373e802bc094ffd490e39047bac372ac893c0f411dac3223ef11775e34acd0"}, + {url = "https://files.pythonhosted.org/packages/32/73/ab79d49d33ec6cba454f558b89271877065b78c8113b5f016213666c0c62/mmh3-4.0.1-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:51d356f4380f9d9c2a0612156c3d1e7359933991e84a19304440aa04fd723e68"}, + {url = "https://files.pythonhosted.org/packages/34/a0/403fa487930124e8b52e68857d773b9524592c65c8c37e7074b009c67d77/mmh3-4.0.1.tar.gz", hash = "sha256:ad8be695dc4e44a79631748ba5562d803f0ac42d36a6b97a53aca84a70809385"}, + {url = "https://files.pythonhosted.org/packages/34/b9/d86d5899e9add5127d56be82a72adb6d6bf71e11def1a1ebe3875cf783ec/mmh3-4.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9bcc7b32a89c4e5c6fdef97d82e8087ba26a20c25b4aaf0723abd0b302525934"}, + {url = "https://files.pythonhosted.org/packages/36/07/19a98ffdd271ded181260f5e0e9ff8f797d8646e1318b07dc24bd191fb90/mmh3-4.0.1-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:c4b2549949efa63d8decb6572f7e75fad4f2375d52fafced674323239dd9812d"}, + {url = "https://files.pythonhosted.org/packages/37/95/e7102c57fac99d5ffed13d75e43a90f536ae047cdcc941f777027fd62928/mmh3-4.0.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:91f81d6dd4d0c3b4235b4a58a545493c946669c751a2e0f15084171dc2d81fee"}, + {url = "https://files.pythonhosted.org/packages/3f/23/50b0ef2bb470d964eda3b1874dfa5aac0ecd296eba5a8644d4db973d23c8/mmh3-4.0.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5b8635b1fc6b25d93458472c5d682a1a4b9e6c53e7f4ca75d2bf2a18fa9363ae"}, + {url = "https://files.pythonhosted.org/packages/3f/2f/f2a4f4ae2f8eaeb0e3eb0582d8b95f2c1a7cff3250373d41ea8d28b4b14e/mmh3-4.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:09f9f643e0b7f8d98473efdfcdb155105824a38a1ada374625b84c1208197a9b"}, + {url = "https://files.pythonhosted.org/packages/41/8b/be292477f1981cc8706e0402564ad84ed092b717a117fba310fb93278bc3/mmh3-4.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:275637ecca755565e3b0505d3ecf8e1e0a51eb6a3cbe6e212ed40943f92f98cd"}, + {url = "https://files.pythonhosted.org/packages/44/3d/37c2c16d0dfdbd2a3a3f184fdcc596b82985aae1bdaeaba9b77694e16cde/mmh3-4.0.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:78c0ee0197cfc912f57172aa16e784ad55b533e2e2e91b3a65188cc66fbb1b6e"}, + {url = "https://files.pythonhosted.org/packages/4d/87/3fa33e3e4927e2f1897e326eaa6e1d5e4a7207e8cac390eea6d721be89e4/mmh3-4.0.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:909e0b88d2c6285481fa6895c2a0faf6384e1b0093f72791aa57d1e04f4adc65"}, + {url = "https://files.pythonhosted.org/packages/4e/a1/600a8d3e26df23ba25a444a1c847763172b01c08b94e87bfe53db5386c45/mmh3-4.0.1-cp39-cp39-win32.whl", hash = "sha256:8edee21ae4f4337fb970810ef5a263e5d2212b85daca0d39daf995e13380e908"}, + {url = "https://files.pythonhosted.org/packages/52/06/294d64efce91a10fbababce1e6f6c23525ee148c92f8d01e9487ca89dae3/mmh3-4.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:be46540eac024dd8d9b82899d35b2f23592d3d3850845aba6f10e6127d93246b"}, + {url = "https://files.pythonhosted.org/packages/5b/15/95542f9de1db50829fd1aef65e7e2ed17c335877044b123ceb8111b3ce5e/mmh3-4.0.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2cf986ebf530717fefeee8d0decbf3f359812caebba985e2c8885c0ce7c2ee4e"}, + {url = "https://files.pythonhosted.org/packages/5b/52/9b50a44f3f092cc13b21a0702a68ddf9e6b3200f0a6f7b7dc3a2f07cc34a/mmh3-4.0.1-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:36c27089b12026db14be594d750f7ea6d5d785713b40a971b063f033f5354a74"}, + {url = "https://files.pythonhosted.org/packages/6c/a4/ad1b5b24832569e3ec8c751c103d5d91199e47e2283cc29a1921a54fac61/mmh3-4.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:59f7ed28c24249a54665f1ed3f6c7c1c56618473381080f79bcc0bd1d1db2e4a"}, + {url = "https://files.pythonhosted.org/packages/6c/f3/ad5b409fabcc39d4f753c1b4e9a123b292a6292aada167ef88c2928d5ab3/mmh3-4.0.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:dcd03a4bb0fa3db03648d26fb221768862f089b6aec5272f0df782a8b4fe5b5b"}, + {url = "https://files.pythonhosted.org/packages/6d/38/8eb3e4edf1574c049978d0a8027293bbf0bd08425497b3ca6d5352730323/mmh3-4.0.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3821bcd1961ef19247c78c5d01b5a759de82ab0c023e2ff1d5ceed74322fa018"}, + {url = "https://files.pythonhosted.org/packages/71/a9/cf399b4cd0b7e7113631667033261940b5363f8c0c151ceaec7badc1108b/mmh3-4.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8f250f78328d41cdf73d3ad9809359636f4fb7a846d7a6586e1a0f0d2f5f2590"}, + {url = "https://files.pythonhosted.org/packages/71/c3/7243b3cfa7b783d9b4eaa3148d64a2310002a0e1defeda6bd07eb9a386c5/mmh3-4.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:80918e3f8ab6b717af0a388c14ffac5a89c15d827ff008c1ef545b8b32724116"}, + {url = "https://files.pythonhosted.org/packages/71/f8/be0225499be60bac2d8f4313255f235afb1b00841bf41d280aa5ae869d3a/mmh3-4.0.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:2fa905fcec8a30e1c0ef522afae1d6170c4f08e6a88010a582f67c59209fb7c7"}, + {url = "https://files.pythonhosted.org/packages/80/82/56bfbb5b1b45bcab7ae0a621955ff48c435c0dfff8f6c12a9d4ca6c8e1c1/mmh3-4.0.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:0e64114b30c6c1e30f8201433b5fa6108a74a5d6f1a14af1b041360c0dd056aa"}, + {url = "https://files.pythonhosted.org/packages/86/bd/7f8206657ed3be2948f74c93552359d270b42867c3cc1b81de230b1eecd0/mmh3-4.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3b55741ed51e928b1eec94a119e003fa3bc0139f4f9802e19bea3af03f7dd55a"}, + {url = "https://files.pythonhosted.org/packages/88/61/20c35d8ab06bf4b3296ba9fb1f1a82df6a1071d29db1425369c95017c40b/mmh3-4.0.1-cp38-cp38-win32.whl", hash = "sha256:d8650982d0b70af24700bd32b15fab33bb3ef9be4af411100f4960a938b0dd0f"}, + {url = "https://files.pythonhosted.org/packages/8b/d5/1fe96e1f58e9cf3b7e287b14a0961ce3f789d5f9a324b1da90d903693875/mmh3-4.0.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:84936c113814c6ef3bc4bd3d54f538d7ba312d1d0c2441ac35fdd7d5221c60f6"}, + {url = "https://files.pythonhosted.org/packages/8e/82/3285cff56478044303ca2c2fab7c31755764634a002d8a91671fcf350bed/mmh3-4.0.1-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:f91b2598e1f25e013da070ff641a29ebda76292d3a7bdd20ef1736e9baf0de67"}, + {url = "https://files.pythonhosted.org/packages/91/f7/f8c8cc8e7ccdbd7dab794867a9cdd77cd3c0472d7d2d0be6e7d61f73f8a5/mmh3-4.0.1-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:6338341ae6fa5eaa46f69ed9ac3e34e8eecad187b211a6e552e0d8128c568eb1"}, + {url = "https://files.pythonhosted.org/packages/92/b0/d45f05dacd0320897b90f611eb471b7c2e1a2e823a256c8a650a82cc174f/mmh3-4.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8b1df3cf5ce5786aa093f45462118d87ff485f0d69699cdc34f6289b1e833632"}, + {url = "https://files.pythonhosted.org/packages/95/bd/2a620445d2575fbd6e76764f065900d2a815e1b1ce41bd41f9ba8a31856d/mmh3-4.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8222cd5f147defa1355b4042d590c34cef9b2bb173a159fcb72cda204061a4ac"}, + {url = "https://files.pythonhosted.org/packages/9a/e5/116ec856a74367d5be6a1a2d82ce8fce5fa03bee90dbc046d582646fbd90/mmh3-4.0.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:071ba41e56f5c385d13ee84b288ccaf46b70cd9e9a6d8cbcbe0964dee68c0019"}, + {url = "https://files.pythonhosted.org/packages/a0/9d/4d5bef01570d72c25a9b65276190d8cdf714a08553bb48574439212c3520/mmh3-4.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1aefa8ac8c8fc8ad93365477baef2125dbfd7235880a9c47dca2c46a0af49ef7"}, + {url = "https://files.pythonhosted.org/packages/a2/e0/8c9273a6bfbc73c81cf630a5ebda264bf71baffebf3567b7fc0cb5d3ff65/mmh3-4.0.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:f41eeae98f15af0a4ba2a92bce11d8505b612012af664a7634bbfdba7096f5fc"}, + {url = "https://files.pythonhosted.org/packages/a4/99/faffc7d19d51d6d2aa0eeaef038c1d915e5009ca4e345004438dc0b81975/mmh3-4.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:750afe0477e0c17904611045ad311ff10bc6c2ec5f5ddc5dd949a2b9bf71d5d5"}, + {url = "https://files.pythonhosted.org/packages/b0/e8/69370f09a6702c5002e9a44df777b42197db6629c215725b5947902955e2/mmh3-4.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1aece29e27d0c8fb489d00bb712fba18b4dd10e39c9aec2e216c779ae6400b8f"}, + {url = "https://files.pythonhosted.org/packages/b1/5c/ab4f2ea16810a6ff53bef3a959696fd3b19a4d8928b3f6d4658b396c85a0/mmh3-4.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f0ad423711c5096cf4a346011f3b3ec763208e4f4cc4b10ed41cad2a03dbfaed"}, + {url = "https://files.pythonhosted.org/packages/b2/52/d400da1de354a377be23d20e4e24042cf14883b0c4b28324cefba14bda5b/mmh3-4.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4161009c9077d5ebf8b472dbf0f41b9139b3d380e0bbe71bf9b503efb2965584"}, + {url = "https://files.pythonhosted.org/packages/b6/ac/d2c071f631d4d83c4b2c8bd8e9bc0c4d1cea87b4f429e0a0207800012de5/mmh3-4.0.1-cp311-cp311-win_arm64.whl", hash = "sha256:d93422f38bc9c4d808c5438a011b769935a87df92ce277e9e22b6ec0ae8ed2e2"}, + {url = "https://files.pythonhosted.org/packages/b7/e2/64671cd50123f646073b078de39751ff5ad9665e9a8ed247ab6b3cf8a8fd/mmh3-4.0.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5cd00883ef6bcf7831026ce42e773a4b2a4f3a7bf9003a4e781fecb1144b06c1"}, + {url = "https://files.pythonhosted.org/packages/b9/36/d9b3288acf7dbdbdb1907fd2a2a0f59f216634c56034d2575013391378fe/mmh3-4.0.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:057b8de47adee8ad0f2e194ffa445b9845263c1c367ddb335e9ae19c011b25cc"}, + {url = "https://files.pythonhosted.org/packages/ba/54/5c3a46becb00232f22ab5e4f2defabc926ea077eaaa38cc49f089ad6ad78/mmh3-4.0.1-cp310-cp310-win32.whl", hash = "sha256:a076ea30ec279a63f44f4c203e4547b5710d00581165fed12583d2017139468d"}, + {url = "https://files.pythonhosted.org/packages/bb/c9/8467d93b16ba2eff38f7ab9df3fd0d8e9f5349b787f1ef440c5e5b14a84d/mmh3-4.0.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:df73d1c7f0c50c0f8061cd349968fd9dcc6a9e7592d1c834fa898f9c98f8dd7e"}, + {url = "https://files.pythonhosted.org/packages/bd/65/6c8dcde37c58a055231f77d0ef9a3c3f1e7edff572cd7b37eab5a637c045/mmh3-4.0.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:955178c8e8d3bc9ad18eab443af670cd13fe18a6b2dba16db2a2a0632be8a133"}, + {url = "https://files.pythonhosted.org/packages/c0/5a/7b2cb99c1f687eb5e4446493a7dc88560a1c04bf67b65db26240da481e2e/mmh3-4.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3775fb0cc675977e5b506b12b8f23cd220be3d4c2d4db7df81f03c9f61baa4cc"}, + {url = "https://files.pythonhosted.org/packages/c1/12/2d02ff98b12e9319d9247b83a867f0cd02de7067e07924ab591266982b64/mmh3-4.0.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0b7c18c35e9d6a59d6c5f94a6576f800ff2b500e41cd152ecfc7bb4330f32ba2"}, + {url = "https://files.pythonhosted.org/packages/c6/c8/1a3901f3cb7f57aac86b7f78b54b6d2967579ece7ef2e5ec4d6bc56565b8/mmh3-4.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:8cbb6f90f08952fcc90dbf08f0310fdf4d61096c5cb7db8adf03e23f3b857ae5"}, + {url = "https://files.pythonhosted.org/packages/d0/b2/69f81fe7f4f58582c13bdd89089ec8d226eede85404f2ff823b049b627f5/mmh3-4.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:a78f6f2592395321e2f0dc6b618773398b2c9b15becb419364e0960df53e9f04"}, + {url = "https://files.pythonhosted.org/packages/d0/db/d57e28beeda9a4475300c22858076287264e5c48d6b6a995c58dccb83414/mmh3-4.0.1-cp310-cp310-win_arm64.whl", hash = "sha256:45155ff2f291c3a1503d1c93e539ab025a13fd8b3f2868650140702b8bd7bfc2"}, + {url = "https://files.pythonhosted.org/packages/d0/fa/5e84e47211dab386d64b3c403aec46e41134c13e1d6a8db99d290135bd2e/mmh3-4.0.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d8250375641b8c5ce5d56a00c6bb29f583516389b8bde0023181d5eba8aa4119"}, + {url = "https://files.pythonhosted.org/packages/d2/fd/33dacb57dcbbc7a8fc0fa0c1ed3e59eb041a1d8fa8797552743d1e9f47ad/mmh3-4.0.1-cp39-cp39-win_arm64.whl", hash = "sha256:ce71856cbca9d7c74d084eeee1bc5b126ed197c1c9530a4fdb994d099b9bc4db"}, + {url = "https://files.pythonhosted.org/packages/d6/73/6d62f4b69cdf3df462fb059a67c9498823844bed8c04bba54566b64451b0/mmh3-4.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:2489949c7261870a02eeaa2ec7b966881c1775df847c8ce6ea4de3e9d96b5f4f"}, + {url = "https://files.pythonhosted.org/packages/f7/20/c085a35ead6d11036f9a7b8d23967d4d62bb32201b096a19a73bcff94a25/mmh3-4.0.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dacd8d07d4b9be8f0cb6e8fd9a08fc237c18578cf8d42370ee8af2f5a2bf1967"}, + {url = "https://files.pythonhosted.org/packages/f8/58/4b0dae657bb47c3b1d0240117c3c4ce748b8cd35838393804fec0d99ce8b/mmh3-4.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:5aa1e87e448ee1ffa3737b72f2fe3f5960159ab75bbac2f49dca6fb9797132f6"}, + {url = "https://files.pythonhosted.org/packages/fa/f9/813a186e9b24d2f3a35751e7f21571962d3fa9dbb86642af6f8983db485d/mmh3-4.0.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:41013c033dc446d3bfb573621b8b53223adcfcf07be1da0bcbe166d930276882"}, + {url = "https://files.pythonhosted.org/packages/fd/94/73fe9325fa8a712e461330630ac8f1296efb1893e8c901d53d60b0d5f4c1/mmh3-4.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0deb8e19121c0896fdc709209aceda30a367cda47f4a884fcbe56223dbf9e867"}, + {url = "https://files.pythonhosted.org/packages/fe/ec/a77af6e875ed18922a5992a19dff9d2b4661fc072590717d2b8c38bd27b5/mmh3-4.0.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:da281aa740aa9e7f9bebb879c1de0ea9366687ece5930f9f5027e7c87d018153"}, +] +"monotonic 1.6" = [ + {url = "https://files.pythonhosted.org/packages/9a/67/7e8406a29b6c45be7af7740456f7f37025f0506ae2e05fb9009a53946860/monotonic-1.6-py2.py3-none-any.whl", hash = "sha256:68687e19a14f11f26d140dd5c86f3dba4bf5df58003000ed467e0e2a69bca96c"}, + {url = "https://files.pythonhosted.org/packages/ea/ca/8e91948b782ddfbd194f323e7e7d9ba12e5877addf04fb2bf8fca38e86ac/monotonic-1.6.tar.gz", hash = "sha256:3a55207bcfed53ddd5c5bae174524062935efed17792e9de2ad0205ce9ad63f7"}, +] "more-itertools 9.1.0" = [ {url = "https://files.pythonhosted.org/packages/2e/d0/bea165535891bd1dcb5152263603e902c0ec1f4c9a2e152cc4adff6b3a38/more-itertools-9.1.0.tar.gz", hash = "sha256:cabaa341ad0389ea83c17a94566a53ae4c9d07349861ecb14dc6d0345cf9ac5d"}, {url = "https://files.pythonhosted.org/packages/85/01/e2678ee4e0d7eed4fd6be9e5b043fff9d22d245d06c8c91def8ced664189/more_itertools-9.1.0-py3-none-any.whl", hash = "sha256:d2bc7f02446e86a68911e58ded76d6561eea00cddfb2a91e7019bbb586c799f3"}, ] +"mpmath 1.3.0" = [ + {url = "https://files.pythonhosted.org/packages/43/e3/7d92a15f894aa0c9c4b49b8ee9ac9850d6e63b03c9c32c0367a13ae62209/mpmath-1.3.0-py3-none-any.whl", hash = "sha256:a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c"}, + {url = "https://files.pythonhosted.org/packages/e0/47/dd32fa426cc72114383ac549964eecb20ecfd886d1e5ccf5340b55b02f57/mpmath-1.3.0.tar.gz", hash = "sha256:7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f"}, +] "msal 1.24.1" = [ {url = "https://files.pythonhosted.org/packages/35/33/0fd933b627879a9855d02a83a57929b45d0bdbeb050ddd63109cc404fbf6/msal-1.24.1-py2.py3-none-any.whl", hash = "sha256:ce4320688f95c301ee74a4d0e9dbcfe029a63663a8cc61756f40d0d0d36574ad"}, {url = "https://files.pythonhosted.org/packages/5d/03/fa40e4a7c9bd32492ed5e222b23f699553f0d25ff8f7d489fcb21a745787/msal-1.24.1.tar.gz", hash = "sha256:aa0972884b3c6fdec53d9a0bd15c12e5bd7b71ac1b66d746f54d128709f3f8f8"}, @@ -2143,10 +2923,84 @@ content_hash = "sha256:f00febf5bc2caf66d5b7b2a9890ecab1c70bd25bbc09f58e1b38a8305 {url = "https://files.pythonhosted.org/packages/d8/ec/ebef2f7d7c28503f958f0f8b992e7ce606fb74f9e891199329d5f5f87404/numpy-1.24.4-cp311-cp311-win_amd64.whl", hash = "sha256:b7b1fc9864d7d39e28f41d089bfd6353cb5f27ecd9905348c24187a768c79694"}, {url = "https://files.pythonhosted.org/packages/fc/dd/9106005eb477d022b60b3817ed5937a43dad8fd1f20b0610ea8a32fcb407/numpy-1.24.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:e98f220aa76ca2a977fe435f5b04d7b3470c0a2e6312907b37ba6068f26787f2"}, ] +"oauthlib 3.2.2" = [ + {url = "https://files.pythonhosted.org/packages/6d/fa/fbf4001037904031639e6bfbfc02badfc7e12f137a8afa254df6c4c8a670/oauthlib-3.2.2.tar.gz", hash = "sha256:9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918"}, + {url = "https://files.pythonhosted.org/packages/7e/80/cab10959dc1faead58dc8384a781dfbf93cb4d33d50988f7a69f1b7c9bbe/oauthlib-3.2.2-py3-none-any.whl", hash = "sha256:8139f29aac13e25d502680e9e19963e83f16838d48a0d71c287fe40e7067fbca"}, +] +"onnxruntime 1.16.3" = [ + {url = "https://files.pythonhosted.org/packages/05/c5/8e83fdb530de3be2dae4c9973a2ead605764011a4b43e4da09fc6423cb2d/onnxruntime-1.16.3-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:6829dc2a79d48c911fedaf4c0f01e03c86297d32718a3fdee7a282766dfd282a"}, + {url = "https://files.pythonhosted.org/packages/1f/cd/019592616c9faba3a4ab9cf4eda53703e647c6b423c914f088f6cb726199/onnxruntime-1.16.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9996bab0f202a6435ab867bc55598f15210d0b72794d5de83712b53d564084ae"}, + {url = "https://files.pythonhosted.org/packages/2f/ac/f8c9f337e4b19c14d542e5d951b4a34ba08d9f28b92b6bc4b71246e580e3/onnxruntime-1.16.3-cp38-cp38-win_amd64.whl", hash = "sha256:e8aa5bba78afbd4d8a2654b14ec7462ff3ce4a6aad312a3c2d2c2b65009f2541"}, + {url = "https://files.pythonhosted.org/packages/3b/6c/42aa73f0a2a4826dec84904ba71463a56824d185de9ad887a1df006b5b1e/onnxruntime-1.16.3-cp310-cp310-win_amd64.whl", hash = "sha256:3c467eaa3d2429c026b10c3d17b78b7f311f718ef9d2a0d6938e5c3c2611b0cf"}, + {url = "https://files.pythonhosted.org/packages/47/be/dfedb0aabc8b6d2c7d3ed6d8f0aa884852ff24121b6b8ba42b8d6c2833c9/onnxruntime-1.16.3-cp310-cp310-win32.whl", hash = "sha256:f36b56a593b49a3c430be008c2aea6658d91a3030115729609ec1d5ffbaab1b6"}, + {url = "https://files.pythonhosted.org/packages/49/bd/a00f271510098ee62c097ecec663484ff12de632bea1bcaa02ea3679cd03/onnxruntime-1.16.3-cp311-cp311-win_amd64.whl", hash = "sha256:78d81d9af457a1dc90db9a7da0d09f3ccb1288ea1236c6ab19f0ca61f3eee2d3"}, + {url = "https://files.pythonhosted.org/packages/58/7e/c78699b352333125b6a04e7643d797907b9f5e1c792cfbf911e28ed51706/onnxruntime-1.16.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:76f876c53bfa912c6c242fc38213a6f13f47612d4360bc9d599bd23753e53161"}, + {url = "https://files.pythonhosted.org/packages/67/73/4e9a5166f4c7092074dbaaaafd1feeb2cbe344ce4d8edb476617b67876dd/onnxruntime-1.16.3-cp39-cp39-win_amd64.whl", hash = "sha256:28ff758b17ce3ca6bcad3d936ec53bd7f5482e7630a13f6dcae518eba8f71d85"}, + {url = "https://files.pythonhosted.org/packages/6d/4a/0706bdd52cf5226a6ad947324d9d0a8584e9b802196a614fa9741bfd5e6b/onnxruntime-1.16.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5b8f5083f903408238883821dd8c775f8120cb4a604166dbdabe97f4715256d5"}, + {url = "https://files.pythonhosted.org/packages/7a/cf/6aa8c56fd63f53c2c485921e411269c7b501a2b4e634bd02f226ab2d5d8e/onnxruntime-1.16.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef2b1fc269cabd27f129fb9058917d6fdc89b188c49ed8700f300b945c81f889"}, + {url = "https://files.pythonhosted.org/packages/7d/f9/738a604586f3221ad92587d5a413e52ce38de6df305842af33a1aadf520f/onnxruntime-1.16.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:00cccc37a5195c8fca5011b9690b349db435986bd508eb44c9fce432da9228a4"}, + {url = "https://files.pythonhosted.org/packages/81/b9/6dcd28364b9921860170db438edf56b4ca04e0744cc8b3b730fe27fabb42/onnxruntime-1.16.3-cp39-cp39-win32.whl", hash = "sha256:985a029798744ce4743fcf8442240fed35c8e4d4d30ec7d0c2cdf1388cd44408"}, + {url = "https://files.pythonhosted.org/packages/89/b5/b1ddb94cea9802fe3b493b0d5f457c95cc17374b3aaf6c660a8da37448c3/onnxruntime-1.16.3-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:04ebcd29c20473596a1412e471524b2fb88d55e6301c40b98dd2407b5911595f"}, + {url = "https://files.pythonhosted.org/packages/8a/12/ddbf34a866fd0022883bc14cbec3aa2429d54783fa0c90f1fcbc14206249/onnxruntime-1.16.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3e253e572021563226a86f1c024f8f70cdae28f2fb1cc8c3a9221e8b1ce37db5"}, + {url = "https://files.pythonhosted.org/packages/90/e3/38d958774cd67d30db5b5cde300929727e068ede2e4ac37baa3fa4a38ad5/onnxruntime-1.16.3-cp311-cp311-win32.whl", hash = "sha256:a82a8f0b4c978d08f9f5c7a6019ae51151bced9fd91e5aaa0c20a9e4ac7a60b6"}, + {url = "https://files.pythonhosted.org/packages/b4/58/9f8ddb49dbce01ed390f50296f9ef5905a3147ca0d3f42a8fb27dbaba45f/onnxruntime-1.16.3-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:3bc41f323ac77acfed190be8ffdc47a6a75e4beeb3473fbf55eeb075ccca8df2"}, + {url = "https://files.pythonhosted.org/packages/c9/46/d0ffce94e1511236d9e42e18f38d239f5b8e74b96d160773a0d66bcea924/onnxruntime-1.16.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4137e5d443e2dccebe5e156a47f1d6d66f8077b03587c35f11ee0c7eda98b533"}, + {url = "https://files.pythonhosted.org/packages/ce/de/689d34a5524721330e03389e5d3171cb759dd5b332d7ee2576f6a2fa678e/onnxruntime-1.16.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c2dcf1b70f8434abb1116fe0975c00e740722aaf321997195ea3618cc00558e"}, + {url = "https://files.pythonhosted.org/packages/d8/4b/0aabd613b9def7c4fd96b82ad6a2f4a996b1d6881c87c4d061920438ba7b/onnxruntime-1.16.3-cp38-cp38-win32.whl", hash = "sha256:d4a0151e1accd04da6711f6fd89024509602f82c65a754498e960b032359b02d"}, + {url = "https://files.pythonhosted.org/packages/de/ab/ed3ae0d649cee41e870f8b1653cf4a1c1fc321e0ded4e3e1a3d4a25c0131/onnxruntime-1.16.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c56695c1a343c7c008b647fff3df44da63741fbe7b6003ef576758640719be7b"}, + {url = "https://files.pythonhosted.org/packages/e1/95/738c4d7716186feaed6e5ce748132f73b850956fcfaf4996aed7c8601710/onnxruntime-1.16.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f91f5497fe3df4ceee2f9e66c6148d9bfeb320cd6a71df361c66c5b8bac985a"}, + {url = "https://files.pythonhosted.org/packages/ea/28/1e1c9c3d16b1151ee00ffaee9834b0093f9c4eeb665641efead18643bb20/onnxruntime-1.16.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9aded21fe3d898edd86be8aa2eb995aa375e800ad3dfe4be9f618a20b8ee3630"}, + {url = "https://files.pythonhosted.org/packages/ef/ae/8a325b5c6768d8dd2243bf92aeef52c1dff51a378396dec20d4e2d742c4a/onnxruntime-1.16.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:212741b519ee61a4822c79c47147d63a8b0ffde25cd33988d3d7be9fbd51005d"}, + {url = "https://files.pythonhosted.org/packages/fa/f6/d0000c17134d7078e32d91c721c4ebad157c2e129ceab592d2444f5d38b1/onnxruntime-1.16.3-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:a225bb683991001d111f75323d355b3590e75e16b5e0f07a0401e741a0143ea1"}, +] "openai 0.28.1" = [ {url = "https://files.pythonhosted.org/packages/1e/9f/385c25502f437686e4aa715969e5eaf5c2cb5e5ffa7c5cdd52f3c6ae967a/openai-0.28.1-py3-none-any.whl", hash = "sha256:d18690f9e3d31eedb66b57b88c2165d760b24ea0a01f150dd3f068155088ce68"}, {url = "https://files.pythonhosted.org/packages/49/fe/c21d95cc120928b0f5b44d8c522e48df122be3f1f9d61dfb7bf3d597c95d/openai-0.28.1.tar.gz", hash = "sha256:4be1dad329a65b4ce1a660fe6d5431b438f429b5855c883435f0f7fcb6d2dcc8"}, ] +"opentelemetry-api 1.21.0" = [ + {url = "https://files.pythonhosted.org/packages/4d/aa/1a10f310275fdd05a1062d4a8a641a5f041db2377956a80ff3c4dc325a6c/opentelemetry_api-1.21.0.tar.gz", hash = "sha256:d6185fd5043e000075d921822fd2d26b953eba8ca21b1e2fa360dd46a7686316"}, + {url = "https://files.pythonhosted.org/packages/51/3a/945e6c21f405ac4ea526f91ee09cc1568c04e0c95d3392903e6984c8f0e0/opentelemetry_api-1.21.0-py3-none-any.whl", hash = "sha256:4bb86b28627b7e41098f0e93280fe4892a1abed1b79a19aec6f928f39b17dffb"}, +] +"opentelemetry-exporter-otlp-proto-common 1.21.0" = [ + {url = "https://files.pythonhosted.org/packages/2a/60/ec618caf8fd8a4ac50500565eb49038ec42b7b168df9a316494085a740a6/opentelemetry_exporter_otlp_proto_common-1.21.0-py3-none-any.whl", hash = "sha256:97b1022b38270ec65d11fbfa348e0cd49d12006485c2321ea3b1b7037d42b6ec"}, + {url = "https://files.pythonhosted.org/packages/e4/2c/bff2b288a374e744872ce22c9e46761296a41fb519e22df8442908f20803/opentelemetry_exporter_otlp_proto_common-1.21.0.tar.gz", hash = "sha256:61db274d8a68d636fb2ec2a0f281922949361cdd8236e25ff5539edf942b3226"}, +] +"opentelemetry-exporter-otlp-proto-grpc 1.21.0" = [ + {url = "https://files.pythonhosted.org/packages/75/59/ec3e39fe164c61306998cdd3cd30a857c4da2f8d3141204a929e57668eee/opentelemetry_exporter_otlp_proto_grpc-1.21.0-py3-none-any.whl", hash = "sha256:ab37c63d6cb58d6506f76d71d07018eb1f561d83e642a8f5aa53dddf306087a4"}, + {url = "https://files.pythonhosted.org/packages/a8/b9/b68b6cf967c3441c6d93dcd7f48f526bf5632424e00ce2eba867d197830c/opentelemetry_exporter_otlp_proto_grpc-1.21.0.tar.gz", hash = "sha256:a497c5611245a2d17d9aa1e1cbb7ab567843d53231dcc844a62cea9f0924ffa7"}, +] +"opentelemetry-instrumentation 0.42b0" = [ + {url = "https://files.pythonhosted.org/packages/84/33/8e6b97dcb807c1ba5fd84910c091ae4b1b52d74ea24b0574e19f58cce99c/opentelemetry_instrumentation-0.42b0-py3-none-any.whl", hash = "sha256:65ae54ddb90ca2d05d2d16bf6863173e7141eba1bbbf41fc9bbb02446adbe369"}, + {url = "https://files.pythonhosted.org/packages/9b/84/35da14ed36660c21f0ec8979e992d1fa8e025189a92ba4b68ce22bea6118/opentelemetry_instrumentation-0.42b0.tar.gz", hash = "sha256:6a653a1fed0f76eea32885321d77c750483e987eeefa4cbf219fc83559543198"}, +] +"opentelemetry-instrumentation-asgi 0.42b0" = [ + {url = "https://files.pythonhosted.org/packages/24/93/88b2dde995747981274f6e83812f859c1a409de7763ca28da4b3e6f6cb09/opentelemetry_instrumentation_asgi-0.42b0.tar.gz", hash = "sha256:da1d5dd4f172c44c6c100dae352e1fd0ae36dc4f266b3fed68ce9d5ab94c9146"}, + {url = "https://files.pythonhosted.org/packages/a9/ef/ac6ef3e2c03750588dab596247204e7f960b509af37f0001ac1e4ac23f2a/opentelemetry_instrumentation_asgi-0.42b0-py3-none-any.whl", hash = "sha256:79b7278fb614aba1bf2211060960d3e8501c1d7d9314b857b30ad80ba34a2805"}, +] +"opentelemetry-instrumentation-fastapi 0.42b0" = [ + {url = "https://files.pythonhosted.org/packages/0a/47/411f4dd5560f004c4d59e977fb6e1f511babfc399f3656b6eafd8f67c0ce/opentelemetry_instrumentation_fastapi-0.42b0-py3-none-any.whl", hash = "sha256:d53a26c4859767d5ba67109038cabc7165d97a8a8b7654ccde4ce290036d1725"}, + {url = "https://files.pythonhosted.org/packages/1c/f0/39edf102e65866998de0cfb45d2d920830d3d2100e5d59c9e38c4efb8ee1/opentelemetry_instrumentation_fastapi-0.42b0.tar.gz", hash = "sha256:7181d4886e57182e93477c4b797a7cd5467820b93c238eeb3e7d27a563c176e8"}, +] +"opentelemetry-proto 1.21.0" = [ + {url = "https://files.pythonhosted.org/packages/69/c2/d11b5fbf95adf68440ff4c953e2d8d027c9c62ece79b78372af95af590c9/opentelemetry_proto-1.21.0-py3-none-any.whl", hash = "sha256:32fc4248e83eebd80994e13963e683f25f3b443226336bb12b5b6d53638f50ba"}, + {url = "https://files.pythonhosted.org/packages/f2/cb/78a84826b76d57a8359ac688238bc762041346d2f6a50b4396450ee748f6/opentelemetry_proto-1.21.0.tar.gz", hash = "sha256:7d5172c29ed1b525b5ecf4ebe758c7138a9224441b3cfe683d0a237c33b1941f"}, +] +"opentelemetry-sdk 1.21.0" = [ + {url = "https://files.pythonhosted.org/packages/52/38/8edd2d4113705ae7cd877f2c52a98a5b1f385b4f187ba2e48cf2cb4624a7/opentelemetry_sdk-1.21.0.tar.gz", hash = "sha256:3ec8cd3020328d6bc5c9991ccaf9ae820ccb6395a5648d9a95d3ec88275b8879"}, + {url = "https://files.pythonhosted.org/packages/c3/08/ca8b1ef7a2fa3f1ea2f12770eca8976098066adb442b1da81fea3b370123/opentelemetry_sdk-1.21.0-py3-none-any.whl", hash = "sha256:9fe633243a8c655fedace3a0b89ccdfc654c0290ea2d8e839bd5db3131186f73"}, +] +"opentelemetry-semantic-conventions 0.42b0" = [ + {url = "https://files.pythonhosted.org/packages/a1/83/5b5bfd2d41227274f22f4552832e56af02171423f597a0358d2174736492/opentelemetry_semantic_conventions-0.42b0.tar.gz", hash = "sha256:44ae67a0a3252a05072877857e5cc1242c98d4cf12870159f1a94bec800d38ec"}, + {url = "https://files.pythonhosted.org/packages/c3/0c/4c99cbe85b65fbba5a638cb7d913cb3acead3d83b4c47763be28d418bb95/opentelemetry_semantic_conventions-0.42b0-py3-none-any.whl", hash = "sha256:5cd719cbfec448af658860796c5d0fcea2fdf0945a2bed2363f42cb1ee39f526"}, +] +"opentelemetry-util-http 0.42b0" = [ + {url = "https://files.pythonhosted.org/packages/3f/33/7528bd28710e3fd669ee7c5d98bc3392eb4588d451e28352696bb23c1520/opentelemetry_util_http-0.42b0-py3-none-any.whl", hash = "sha256:764069ed2f7e9a98ed1a7a87111f838000484e388e81f467405933be4b0306c6"}, + {url = "https://files.pythonhosted.org/packages/9c/51/26e526f9d278a355d445763252fcb92149092ac5f77b53a642d25ab9f548/opentelemetry_util_http-0.42b0.tar.gz", hash = "sha256:665e7d372837811aa08cbb9102d4da862441d1c9b1795d649ef08386c8a3cbbd"}, +] +"overrides 7.4.0" = [ + {url = "https://files.pythonhosted.org/packages/4d/27/30c865a1e62f1913a0730e667e94459ca038392b6f44d69ef7a585690337/overrides-7.4.0.tar.gz", hash = "sha256:9502a3cca51f4fac40b5feca985b6703a5c1f6ad815588a7ca9e285b9dca6757"}, + {url = "https://files.pythonhosted.org/packages/da/28/3fa6ef8297302fc7b3844980b6c5dbc71cdbd4b61e9b2591234214d5ab39/overrides-7.4.0-py3-none-any.whl", hash = "sha256:3ad24583f86d6d7a49049695efe9933e67ba62f0c7625d53c59fa832ce4b8b7d"}, +] "packaging 23.2" = [ {url = "https://files.pythonhosted.org/packages/ec/1a/610693ac4ee14fcdf2d9bf3c493370e4f2ef7ae2e19217d7a237ff42367d/packaging-23.2-py3-none-any.whl", hash = "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"}, {url = "https://files.pythonhosted.org/packages/fb/2b/9b9c33ffed44ee921d0967086d653047286054117d584f1b1a7c22ceaf7b/packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5"}, @@ -2213,10 +3067,27 @@ content_hash = "sha256:f00febf5bc2caf66d5b7b2a9890ecab1c70bd25bbc09f58e1b38a8305 {url = "https://files.pythonhosted.org/packages/05/b8/42ed91898d4784546c5f06c60506400548db3f7a4b3fb441cba4e5c17952/pluggy-1.3.0-py3-none-any.whl", hash = "sha256:d89c696a773f8bd377d18e5ecda92b7a3793cbe66c87060a6fb58c7b6e1061f7"}, {url = "https://files.pythonhosted.org/packages/36/51/04defc761583568cae5fd533abda3d40164cbdcf22dee5b7126ffef68a40/pluggy-1.3.0.tar.gz", hash = "sha256:cf61ae8f126ac6f7c451172cf30e3e43d3ca77615509771b3a984a0730651e12"}, ] +"posthog 3.0.2" = [ + {url = "https://files.pythonhosted.org/packages/a7/73/35758818228c70348be4c3c66a76653c62e894e0e3c3461453c5341ca926/posthog-3.0.2-py2.py3-none-any.whl", hash = "sha256:a8c0af6f2401fbe50f90e68c4143d0824b54e872de036b1c2f23b5abb39d88ce"}, + {url = "https://files.pythonhosted.org/packages/e2/ee/5ef8fc4f91a8027e3388785bfdf3180729d80f83bc19958eb814fb4625b8/posthog-3.0.2.tar.gz", hash = "sha256:701fba6e446a4de687c6e861b587e7b7741955ad624bf34fe013c06a0fec6fb3"}, +] "prompt-toolkit 3.0.39" = [ {url = "https://files.pythonhosted.org/packages/9a/02/76cadde6135986dc1e82e2928f35ebeb5a1af805e2527fe466285593a2ba/prompt_toolkit-3.0.39.tar.gz", hash = "sha256:04505ade687dc26dc4284b1ad19a83be2f2afe83e7a828ace0c72f3a1df72aac"}, {url = "https://files.pythonhosted.org/packages/a9/b4/ba77c84edf499877317225d7b7bc047a81f7c2eed9628eeb6bab0ac2e6c9/prompt_toolkit-3.0.39-py3-none-any.whl", hash = "sha256:9dffbe1d8acf91e3de75f3b544e4842382fc06c6babe903ac9acb74dc6e08d88"}, ] +"protobuf 4.25.1" = [ + {url = "https://files.pythonhosted.org/packages/0a/db/cfff45388f257d46ea8d6a587a98c80f44f508266da3e4918150a56129c3/protobuf-4.25.1-cp39-cp39-win32.whl", hash = "sha256:8bdbeaddaac52d15c6dce38c71b03038ef7772b977847eb6d374fc86636fa510"}, + {url = "https://files.pythonhosted.org/packages/40/60/fbfec68fcfa7eb99a3c72d8839c5b4efe5bdef1af26c0a7647042bcd5691/protobuf-4.25.1-cp38-cp38-win32.whl", hash = "sha256:abc0525ae2689a8000837729eef7883b9391cd6aa7950249dcf5a4ede230d5dd"}, + {url = "https://files.pythonhosted.org/packages/57/6b/cb08c28a90375e18aa80913253135b5fb6e6b1ff5c1472ba833836540f16/protobuf-4.25.1-py3-none-any.whl", hash = "sha256:a19731d5e83ae4737bb2a089605e636077ac001d18781b3cf489b9546c7c80d6"}, + {url = "https://files.pythonhosted.org/packages/59/5f/b2d00e6a08d97656a27832d4d146e03ffc46ae74b4699740674bea13a905/protobuf-4.25.1.tar.gz", hash = "sha256:57d65074b4f5baa4ab5da1605c02be90ac20c8b40fb137d6a8df9f416b0d0ce2"}, + {url = "https://files.pythonhosted.org/packages/ae/5b/7ed02a9b8e752c8f7bca8661779c0275b9e3e6a903a3045e6da51f796dda/protobuf-4.25.1-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:ca37bf6a6d0046272c152eea90d2e4ef34593aaa32e8873fc14c16440f22d4b7"}, + {url = "https://files.pythonhosted.org/packages/b2/88/dab1332a8488cacd720c145980ee4592fa70bf84f2a9a92e438868fc64bc/protobuf-4.25.1-cp310-abi3-win32.whl", hash = "sha256:193f50a6ab78a970c9b4f148e7c750cfde64f59815e86f686c22e26b4fe01ce7"}, + {url = "https://files.pythonhosted.org/packages/b6/4b/f4f3334784576822d7817a664b757030ebb35b981978baf9c2eb3c5f33a8/protobuf-4.25.1-cp39-cp39-win_amd64.whl", hash = "sha256:becc576b7e6b553d22cbdf418686ee4daa443d7217999125c045ad56322dda10"}, + {url = "https://files.pythonhosted.org/packages/dd/13/f8262eac2f44b643794d3783108ccefc8f87ef3929da45c474277a6e0e95/protobuf-4.25.1-cp38-cp38-win_amd64.whl", hash = "sha256:1484f9e692091450e7edf418c939e15bfc8fc68856e36ce399aed6889dae8bb0"}, + {url = "https://files.pythonhosted.org/packages/e6/db/7b2edc72807d45d72f9db42f3eb86ddaf37f9e55d923159b1dbfc9d835bc/protobuf-4.25.1-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:0bf384e75b92c42830c0a679b0cd4d6e2b36ae0cf3dbb1e1dfdda48a244f4bcd"}, + {url = "https://files.pythonhosted.org/packages/f2/74/41037079732f1976616356acc13bddceacd5d0c60d77ce3b4c79ba230d27/protobuf-4.25.1-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:0f881b589ff449bf0b931a711926e9ddaad3b35089cc039ce1af50b21a4ae8cb"}, + {url = "https://files.pythonhosted.org/packages/fe/6b/7f177e8d6fe4caa14f4065433af9f879d4fab84f0d17dcba7b407f6bd808/protobuf-4.25.1-cp310-abi3-win_amd64.whl", hash = "sha256:3497c1af9f2526962f09329fd61a36566305e6c72da2590ae0d7d1322818843b"}, +] "psutil 5.9.6" = [ {url = "https://files.pythonhosted.org/packages/06/ac/f31a0faf98267e63fc6ed046ad2aca68bd79521380026e92fd4921c869aa/psutil-5.9.6-cp37-abi3-win32.whl", hash = "sha256:a6f01f03bf1843280f4ad16f4bde26b817847b4c1a0db59bf6419807bc5ce05c"}, {url = "https://files.pythonhosted.org/packages/19/06/4e3fa3c1b79271e933c5ddbad3a48aa2c3d5f592a0fb7c037f3e0f619f4d/psutil-5.9.6-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:748c9dd2583ed86347ed65d0035f45fa8c851e8d90354c122ab72319b5f366f4"}, @@ -2239,10 +3110,50 @@ content_hash = "sha256:f00febf5bc2caf66d5b7b2a9890ecab1c70bd25bbc09f58e1b38a8305 {url = "https://files.pythonhosted.org/packages/20/e5/16ff212c1e452235a90aeb09066144d0c5a6a8c0834397e03f5224495c4e/ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220"}, {url = "https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35"}, ] +"pulsar-client 3.3.0" = [ + {url = "https://files.pythonhosted.org/packages/0c/b0/23fdf3ec7b7e780e6fb53425bff0c45b08aba3d57867c2bcc2a74aad4420/pulsar_client-3.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42c8f3eaa98e2351805ecb6efb6d5fedf47a314a3ce6af0e05ea1449ea7244ed"}, + {url = "https://files.pythonhosted.org/packages/0d/95/c53de300357946430c71de218616010879f2cf9f32447cc24bf3537e4bcc/pulsar_client-3.3.0-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:0f64c62746ccd5b65a0c505f5f40b9af1f147eb1fa2d8f9c90cd5c8b92dd8597"}, + {url = "https://files.pythonhosted.org/packages/0f/43/2e48739a09f3cc63a3a534f41508b1a2383303832eff8ab1abedd792c66c/pulsar_client-3.3.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d4c46a4b96a6e9919cfe220156d69a2ede8053d9ea1add4ada108abcf2ba9775"}, + {url = "https://files.pythonhosted.org/packages/14/a5/1560b9d388f99326aeab24b9f466602f90fb6aef080af1c4b71cc67dfcd8/pulsar_client-3.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f1810ddc623c8de2675d17405ce47057a9a2b92298e708ce4d9564847f5ad904"}, + {url = "https://files.pythonhosted.org/packages/1f/54/ac0ed7eee1dba18f3aa1cdcb3ea8a42e9f2acf4921c367d9c794d92e2d09/pulsar_client-3.3.0-cp37-cp37m-macosx_10_15_universal2.whl", hash = "sha256:7b5dd25cf778d6c980d36c53081e843ea272afe7af4f0ad6394ae9513f94641b"}, + {url = "https://files.pythonhosted.org/packages/2c/09/ed0714c6d8946968edf3fbfe76c0d7badea722475aa45b3c3c2dc6465f97/pulsar_client-3.3.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d54dd12955bf587dd46d9184444af5e853d9da2a14bbfb739ed2c7c3b78ce280"}, + {url = "https://files.pythonhosted.org/packages/2d/b1/e7fa626abe03ba5a2a8d52ed05ebc6ff2ab6b13b771f05d8175feabfa17b/pulsar_client-3.3.0-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:386e78ff52058d881780bae1f6e84ac9434ae0b01a8581755ca8cc0dc844a332"}, + {url = "https://files.pythonhosted.org/packages/34/99/eb52cde19824fd51b09eb0776730eb2a495576d92fa694ce839e0dfb9239/pulsar_client-3.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f28e94420090fceeb38e23fc744f3edf8710e48314ef5927d2b674a1d1e43ee0"}, + {url = "https://files.pythonhosted.org/packages/45/45/865834285aa6d2a4fd39392120b62b04cb82e349c7e7bfc4dce488b7a51f/pulsar_client-3.3.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:5e69750f8ae57e55fddf97b459ce0d8b38b2bb85f464a71e871ee6a86d893be7"}, + {url = "https://files.pythonhosted.org/packages/47/89/0708cf98fed879823c7b5de2b1b8ec07aa3b32aa4d925fee4cab3ba38a63/pulsar_client-3.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:ede264385d47257b2f2b08ecde9181ec5338bea5639cc543d1856f01736778d2"}, + {url = "https://files.pythonhosted.org/packages/4d/e0/f811d30003f8552113a9b0bbfa19e816fe3fbb73ae3740514c27b287e061/pulsar_client-3.3.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:8259c3b856eb6deaa1f93dce893ab18d99d36d102da5612c8e97a4fb41b70ab1"}, + {url = "https://files.pythonhosted.org/packages/51/8c/6be46071b72af93c6e761d29e07594b71eeff55584996ee895e1623870bf/pulsar_client-3.3.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1e4b5d44b992c9b036286b483f3588c10b89c6047fb59d80c7474445997f4e10"}, + {url = "https://files.pythonhosted.org/packages/54/6a/82247e2be137d60a486f37997c0098b7984ad9407fc5e92aa4acfe425428/pulsar_client-3.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c4e15fa696e275ccb66d0791fdc19c4dea0420d81349c8055e485b134125e14f"}, + {url = "https://files.pythonhosted.org/packages/5b/41/56f3028c94b1082ff7142ec33e5f2760c8ecc611186e82b27b80cf7f1d73/pulsar_client-3.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:497a59ac6b650835a3b2c502f53477e5c98e5226998ca3f17c0b0a3eb4d67d08"}, + {url = "https://files.pythonhosted.org/packages/5d/45/4c326a2396afe702bc254da06e0336048da5f86c1d3453a83f10411f4364/pulsar_client-3.3.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:33c4e6865fda62a2e460f823dce4d49ac2973a4459b8ff99eda5fdd6aaaebf46"}, + {url = "https://files.pythonhosted.org/packages/62/11/dbb7a583b6627b7beaa6e8e2602399282aaf76f3edcd11556a4ff82704cd/pulsar_client-3.3.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:5e7a48b2e505cde758fd51a601b5da0671fa98c9baee38362aaaa3ab2b930c28"}, + {url = "https://files.pythonhosted.org/packages/68/51/d75f50ef77c479c13705549de46afc31ecfb0c4067633c5935eddbccc36b/pulsar_client-3.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5b84a20c9012e3c4ef1b7085acd7467197118c090b378dec27d773fb79d91556"}, + {url = "https://files.pythonhosted.org/packages/6f/13/b4b3f9282d274bacacf6268b946d00986ab14c35fe9f4113080bc9629ff8/pulsar_client-3.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:694530af1d6c75fb81456fb509778c1868adee31e997ddece6e21678200182ea"}, + {url = "https://files.pythonhosted.org/packages/70/0d/f09d4b8a6d83b5a3d1b3aa814ced743319691387f5882fe7794f3d094145/pulsar_client-3.3.0-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:c31afd3e67a044ff93177df89e08febf214cc965e95ede097d9fe8755af00e01"}, + {url = "https://files.pythonhosted.org/packages/72/7f/267fb790b26dab29c0a3cdd8ca1cd0a73ce92200e9d381153f51cd731757/pulsar_client-3.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:ce33de700b06583df8777e139d68cb4b4b3d0a2eac168d74278d8935f357fb10"}, + {url = "https://files.pythonhosted.org/packages/75/a0/31f796fde708e5a86e95129ffdc829f86830362b7d505d05f7ca9280ce7f/pulsar_client-3.3.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:33656450536d83eed1563ff09692c2c415fb199d88e9ed97d701ca446a119e1b"}, + {url = "https://files.pythonhosted.org/packages/8c/a0/a6e6b6a4535798a00ecbf55e4aa27cef933cead9b6f59fd009cc894a5d84/pulsar_client-3.3.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7e147e5ba460c1818bc05254279a885b4e552bcafb8961d40e31f98d5ff46628"}, + {url = "https://files.pythonhosted.org/packages/93/f5/0c862bd7e22d49205ccf3bb5403bf84dd441e2d93bd0c8dfc353c44c7ca5/pulsar_client-3.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:43f98afdf0334b2b957a4d96f97a1fe8a7f7fd1e2631d40c3f00b4162f396485"}, + {url = "https://files.pythonhosted.org/packages/98/99/7478f8d7a5804626230bfa7c6ee3fa4f694bfe3e8f5dec51c7b25f7f7bb8/pulsar_client-3.3.0-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:efe7c1e6a96daccc522c3567b6847ffa54c13e0f510d9a427b4aeff9fbebe54b"}, + {url = "https://files.pythonhosted.org/packages/b7/54/ef01474b40f70f59b459497bdd48a28fc582c0cde1914fa3efa53053a23e/pulsar_client-3.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7fe50a06f81c48a75a9b95c27a6446260039adca71d9face273740de96b2efca"}, + {url = "https://files.pythonhosted.org/packages/bf/16/abfb7f232216ff19d9da3e5cde17d45eacd52cf2f26973e6b5cdc483df78/pulsar_client-3.3.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:72cbb1bdcba2dd1265296b5ba65331622ee89c16db75edaad46dd7b90c6dd447"}, + {url = "https://files.pythonhosted.org/packages/d7/2b/298f3400ac1324b8264c41698154742a049c05d4643a595c91bde702811b/pulsar_client-3.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f66982284571674b215324cc26b5c2f7c56c7043113c47a7084cb70d67a8afb"}, + {url = "https://files.pythonhosted.org/packages/e0/18/2e34241bd602405cff295bac5df30e9417b1f238e3a82d2afe9d6560ede2/pulsar_client-3.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e4ecb780df58bcfd3918590bd3ff31ed79bccfbef3a1a60370642eb1e14a9d2"}, + {url = "https://files.pythonhosted.org/packages/f5/b4/982bfbf80648b22cc13c8c3a68c4ad8684d59d57bbef4999affce7384612/pulsar_client-3.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ce1e215c252f22a6f26ca5e9076826041a04d88dc213b92c86b524be2774a64"}, + {url = "https://files.pythonhosted.org/packages/f8/4f/49768c007297d949f5a50a30014a65e41303db671764b52857e6585208ba/pulsar_client-3.3.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:88b0fd5be73a4103986b9dbe3a66468cf8829371e34af87ff8f216e3980f4cbe"}, +] "pure-eval 0.2.2" = [ {url = "https://files.pythonhosted.org/packages/2b/27/77f9d5684e6bce929f5cfe18d6cfbe5133013c06cb2fbf5933670e60761d/pure_eval-0.2.2-py3-none-any.whl", hash = "sha256:01eaab343580944bc56080ebe0a674b39ec44a945e6d09ba7db3cb8cec289350"}, {url = "https://files.pythonhosted.org/packages/97/5a/0bc937c25d3ce4e0a74335222aee05455d6afa2888032185f8ab50cdf6fd/pure_eval-0.2.2.tar.gz", hash = "sha256:2b45320af6dfaa1750f543d714b6d1c520a1688dec6fd24d339063ce0aaa9ac3"}, ] +"pyasn1 0.5.1" = [ + {url = "https://files.pythonhosted.org/packages/ce/dc/996e5446a94627fe8192735c20300ca51535397e31e7097a3cc80ccf78b7/pyasn1-0.5.1.tar.gz", hash = "sha256:6d391a96e59b23130a5cfa74d6fd7f388dbbe26cc8f1edf39fdddf08d9d6676c"}, + {url = "https://files.pythonhosted.org/packages/d1/75/4686d2872bf2fc0b37917cbc8bbf0dd3a5cdb0990799be1b9cbf1e1eb733/pyasn1-0.5.1-py2.py3-none-any.whl", hash = "sha256:4439847c58d40b1d0a573d07e3856e95333f1976294494c325775aeca506eb58"}, +] +"pyasn1-modules 0.3.0" = [ + {url = "https://files.pythonhosted.org/packages/3b/e4/7dec823b1b5603c5b3c51e942d5d9e65efd6ff946e713a325ed4146d070f/pyasn1_modules-0.3.0.tar.gz", hash = "sha256:5bd01446b736eb9d31512a30d46c1ac3395d676c6f3cafa4c03eb54b9925631c"}, + {url = "https://files.pythonhosted.org/packages/cd/8e/bea464350e1b8c6ed0da3a312659cb648804a08af6cacc6435867f74f8bd/pyasn1_modules-0.3.0-py2.py3-none-any.whl", hash = "sha256:d3ccd6ed470d9ffbc716be08bd90efbd44d0734bc9303818f7336070984a162d"}, +] "pycparser 2.21" = [ {url = "https://files.pythonhosted.org/packages/5e/0b/95d387f5f4433cb0f53ff7ad859bd2c6051051cebbb564f139a999ab46de/pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"}, {url = "https://files.pythonhosted.org/packages/62/d5/5f610ebe421e85889f2e55e33b7f9a6795bd982198517d912eb1c76e1a53/pycparser-2.21-py2.py3-none-any.whl", hash = "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"}, @@ -2374,6 +3285,13 @@ content_hash = "sha256:f00febf5bc2caf66d5b7b2a9890ecab1c70bd25bbc09f58e1b38a8305 {url = "https://files.pythonhosted.org/packages/37/fe/65c989f70bd630b589adfbbcd6ed238af22319e90f059946c26b4835e44b/pyparsing-3.1.1.tar.gz", hash = "sha256:ede28a1a32462f5a9705e07aea48001a08f7cf81a021585011deba701581a0db"}, {url = "https://files.pythonhosted.org/packages/39/92/8486ede85fcc088f1b3dba4ce92dd29d126fd96b0008ea213167940a2475/pyparsing-3.1.1-py3-none-any.whl", hash = "sha256:32c7c0b711493c72ff18a981d24f28aaf9c1fb7ed5e9667c9e84e3db623bdbfb"}, ] +"pypika 0.48.9" = [ + {url = "https://files.pythonhosted.org/packages/c7/2c/94ed7b91db81d61d7096ac8f2d325ec562fc75e35f3baea8749c85b28784/PyPika-0.48.9.tar.gz", hash = "sha256:838836a61747e7c8380cd1b7ff638694b7a7335345d0f559b04b2cd832ad5378"}, +] +"pyreadline3 3.4.1" = [ + {url = "https://files.pythonhosted.org/packages/56/fc/a3c13ded7b3057680c8ae95a9b6cc83e63657c38e0005c400a5d018a33a7/pyreadline3-3.4.1-py3-none-any.whl", hash = "sha256:b0efb6516fd4fb07b45949053826a62fa4cb353db5be2bbb4a7aa1fdd1e345fb"}, + {url = "https://files.pythonhosted.org/packages/d7/86/3d61a61f36a0067874a00cb4dceb9028d34b6060e47828f7fc86fb9f7ee9/pyreadline3-3.4.1.tar.gz", hash = "sha256:6f3d1f7b8a31ba32b73917cefc1f28cc660562f39aea8646d30bd6eff21f7bae"}, +] "pytest 7.4.3" = [ {url = "https://files.pythonhosted.org/packages/38/d4/174f020da50c5afe9f5963ad0fc5b56a4287e3586e3de5b3c8bce9c547b4/pytest-7.4.3.tar.gz", hash = "sha256:d989d136982de4e3b29dabcc838ad581c64e8ed52c11fbe86ddebd9da0818cd5"}, {url = "https://files.pythonhosted.org/packages/f3/8c/f16efd81ca8e293b2cc78f111190a79ee539d0d5d36ccd49975cb3beac60/pytest-7.4.3-py3-none-any.whl", hash = "sha256:0d009c083ea859a71b76adf7c1d502e4bc170b80a8ef002da5806527b9591fac"}, @@ -2389,6 +3307,10 @@ content_hash = "sha256:f00febf5bc2caf66d5b7b2a9890ecab1c70bd25bbc09f58e1b38a8305 {url = "https://files.pythonhosted.org/packages/36/7a/87837f39d0296e723bb9b62bbb257d0355c7f6128853c78955f57342a56d/python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, {url = "https://files.pythonhosted.org/packages/4c/c4/13b4776ea2d76c115c1d1b84579f3764ee6d57204f6be27119f13a61d0a9/python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, ] +"python-dotenv 1.0.0" = [ + {url = "https://files.pythonhosted.org/packages/31/06/1ef763af20d0572c032fa22882cfbfb005fba6e7300715a37840858c919e/python-dotenv-1.0.0.tar.gz", hash = "sha256:a8df96034aae6d2d50a4ebe8216326c61c3eb64836776504fcca410e5937a3ba"}, + {url = "https://files.pythonhosted.org/packages/44/2f/62ea1c8b593f4e093cc1a7768f0d46112107e790c3e478532329e434f00b/python_dotenv-1.0.0-py3-none-any.whl", hash = "sha256:f5971a9226b701070a4bf2c38c89e5a3f0d64de8debda981d1db98583009122a"}, +] "python-ulid 1.1.0" = [ {url = "https://files.pythonhosted.org/packages/89/8e/c30b08ee9b8dc9b4a10e782c2a7fd5de55388201ddebfe0f7ab99dfbb349/python_ulid-1.1.0-py3-none-any.whl", hash = "sha256:88c952f6be133dbede19c907d72d26717d2691ec8421512b573144794d891e24"}, {url = "https://files.pythonhosted.org/packages/e8/8b/0580d8ee0a73a3f3869488856737c429cbaa08b63c3506275f383c4771a8/python-ulid-1.1.0.tar.gz", hash = "sha256:5fb5e4a91db8ca93e8938a613360b3def299b60d41f847279a8c39c9b2e9c65e"}, @@ -2670,6 +3592,10 @@ content_hash = "sha256:f00febf5bc2caf66d5b7b2a9890ecab1c70bd25bbc09f58e1b38a8305 {url = "https://files.pythonhosted.org/packages/70/8e/0e2d847013cb52cd35b38c009bb167a1a26b2ce6cd6965bf26b47bc0bf44/requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"}, {url = "https://files.pythonhosted.org/packages/9d/be/10918a2eac4ae9f02f6cfe6414b7a155ccd8f7f9d4380d62fd5b955065c3/requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"}, ] +"requests-oauthlib 1.3.1" = [ + {url = "https://files.pythonhosted.org/packages/6f/bb/5deac77a9af870143c684ab46a7934038a53eb4aa975bc0687ed6ca2c610/requests_oauthlib-1.3.1-py2.py3-none-any.whl", hash = "sha256:2577c501a2fb8d05a304c09d090d6e47c306fef15809d102b327cf8364bddab5"}, + {url = "https://files.pythonhosted.org/packages/95/52/531ef197b426646f26b53815a7d2a67cb7a331ef098bb276db26a68ac49f/requests-oauthlib-1.3.1.tar.gz", hash = "sha256:75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a"}, +] "rich 13.6.0" = [ {url = "https://files.pythonhosted.org/packages/b1/0e/e5aa3ab6857a16dadac7a970b2e1af21ddf23f03c99248db2c01082090a3/rich-13.6.0.tar.gz", hash = "sha256:5c14d22737e6d5084ef4771b62d5d4363165b403455a30a1c8ca39dc7b644bef"}, {url = "https://files.pythonhosted.org/packages/be/2a/4e62ff633612f746f88618852a626bbe24226eba5e7ac90e91dcfd6a414e/rich-13.6.0-py3-none-any.whl", hash = "sha256:2b38e2fe9ca72c9a00170a1a2d20c63c790d0e10ef1fe35eba76e1e7b1d7d245"}, @@ -2775,6 +3701,14 @@ content_hash = "sha256:f00febf5bc2caf66d5b7b2a9890ecab1c70bd25bbc09f58e1b38a8305 {url = "https://files.pythonhosted.org/packages/f9/4f/1e0794d3a5097ac4d47e465b3865b8976efae3a1eeab4e29f1443e3c0d38/rpds_py-0.10.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9e9184fa6c52a74a5521e3e87badbf9692549c0fcced47443585876fcc47e469"}, {url = "https://files.pythonhosted.org/packages/fa/5b/ec296e4334f482a87677d96fc6f19a7bbbee26b21f95d4643254de3a30e3/rpds_py-0.10.6-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:3777cc9dea0e6c464e4b24760664bd8831738cc582c1d8aacf1c3f546bef3f65"}, ] +"rsa 4.9" = [ + {url = "https://files.pythonhosted.org/packages/49/97/fa78e3d2f65c02c8e1268b9aba606569fe97f6c8f7c2d74394553347c145/rsa-4.9-py3-none-any.whl", hash = "sha256:90260d9058e514786967344d0ef75fa8727eed8a7d2e43ce9f4bcf1b536174f7"}, + {url = "https://files.pythonhosted.org/packages/aa/65/7d973b89c4d2351d7fb232c2e452547ddfa243e93131e7cfa766da627b52/rsa-4.9.tar.gz", hash = "sha256:e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21"}, +] +"setuptools 69.0.2" = [ + {url = "https://files.pythonhosted.org/packages/4b/d9/d0cf66484b7e28a9c42db7e3929caed46f8b80478cd8c9bd38b7be059150/setuptools-69.0.2.tar.gz", hash = "sha256:735896e78a4742605974de002ac60562d286fa8051a7e2299445e8e8fbb01aa6"}, + {url = "https://files.pythonhosted.org/packages/bb/e1/ed2dd0850446b8697ad28d118df885ad04140c64ace06c4bd559f7c8a94f/setuptools-69.0.2-py3-none-any.whl", hash = "sha256:1e8fdff6797d3865f37397be788a4e3cba233608e9b509382a2777d25ebde7f2"}, +] "six 1.16.0" = [ {url = "https://files.pythonhosted.org/packages/71/39/171f1c67cd00715f190ba0b100d606d440a28c93c7714febeca8b79af85e/six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, {url = "https://files.pythonhosted.org/packages/d9/5a/e7c31adbe875f2abbb91bd84cf2dc52d792b5a01506781dbcf25c91daf11/six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, @@ -2795,6 +3729,14 @@ content_hash = "sha256:f00febf5bc2caf66d5b7b2a9890ecab1c70bd25bbc09f58e1b38a8305 {url = "https://files.pythonhosted.org/packages/06/68/559bed5484e746f1ab2ebbe22312f2c25ec62e4b534916d41a8c21147bf8/starlette-0.27.0.tar.gz", hash = "sha256:6a6b0d042acb8d469a01eba54e9cda6cbd24ac602c4cd016723117d6a7e73b75"}, {url = "https://files.pythonhosted.org/packages/58/f8/e2cca22387965584a409795913b774235752be4176d276714e15e1a58884/starlette-0.27.0-py3-none-any.whl", hash = "sha256:918416370e846586541235ccd38a474c08b80443ed31c578a418e2209b3eef91"}, ] +"sympy 1.12" = [ + {url = "https://files.pythonhosted.org/packages/d2/05/e6600db80270777c4a64238a98d442f0fd07cc8915be2a1c16da7f2b9e74/sympy-1.12-py3-none-any.whl", hash = "sha256:c3588cd4295d0c0f603d0f2ae780587e64e2efeedb3521e46b9bb1d08d184fa5"}, + {url = "https://files.pythonhosted.org/packages/e5/57/3485a1a3dff51bfd691962768b14310dae452431754bfc091250be50dd29/sympy-1.12.tar.gz", hash = "sha256:ebf595c8dac3e0fdc4152c51878b498396ec7f30e7a914d6071e674d49420fb8"}, +] +"tenacity 8.2.3" = [ + {url = "https://files.pythonhosted.org/packages/89/3c/253e1627262373784bf9355db9d6f20d2d8831d79f91e9cca48050cddcc2/tenacity-8.2.3.tar.gz", hash = "sha256:5398ef0d78e63f40007c1fb4c0bff96e1911394d2fa8d194f77619c05ff6cc8a"}, + {url = "https://files.pythonhosted.org/packages/f4/f1/990741d5bb2487d529d20a433210ffa136a367751e454214013b441c4575/tenacity-8.2.3-py3-none-any.whl", hash = "sha256:ce510e327a630c9e1beaf17d42e6ffacc88185044ad85cf74c0a8887c6a0f88c"}, +] "tiktoken 0.5.1" = [ {url = "https://files.pythonhosted.org/packages/01/aa/2a90bae346c59c51fafda59b18ee3764c50d81c3a23a3b1dc51af344de3d/tiktoken-0.5.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5d5a187ff9c786fae6aadd49f47f019ff19e99071dc5b0fe91bfecc94d37c686"}, {url = "https://files.pythonhosted.org/packages/0b/c9/cd8a2e95078f94a40bf1408c0ac353570114976fda90fc8da62d3c85fff6/tiktoken-0.5.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2b0bae3fd56de1c0a5874fb6577667a3c75bf231a6cef599338820210c16e40a"}, @@ -2830,6 +3772,106 @@ content_hash = "sha256:f00febf5bc2caf66d5b7b2a9890ecab1c70bd25bbc09f58e1b38a8305 {url = "https://files.pythonhosted.org/packages/75/be/24179dfaa1d742c9365cbd0e3f0edc5d3aa3abad415a2327c5a6ff8ca077/tinycss2-1.2.1.tar.gz", hash = "sha256:8cff3a8f066c2ec677c06dbc7b45619804a6938478d9d73c284b29d14ecb0627"}, {url = "https://files.pythonhosted.org/packages/da/99/fd23634d6962c2791fb8cb6ccae1f05dcbfc39bce36bba8b1c9a8d92eae8/tinycss2-1.2.1-py3-none-any.whl", hash = "sha256:2b80a96d41e7c3914b8cda8bc7f705a4d9c49275616e886103dd839dfc847847"}, ] +"tokenizers 0.15.0" = [ + {url = "https://files.pythonhosted.org/packages/02/84/e72e04515bb861ec91ac0604d6d01ed6bfe0166b6f8aa5e0a023a649c465/tokenizers-0.15.0-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:f21c9eb71c9a671e2a42f18b456a3d118e50c7f0fc4dd9fa8f4eb727fea529bf"}, + {url = "https://files.pythonhosted.org/packages/02/e8/6e89a0dfce2b976020ae20ed70de4213aa19830630a018529da5febde912/tokenizers-0.15.0-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:05accb9162bf711a941b1460b743d62fec61c160daf25e53c5eea52c74d77814"}, + {url = "https://files.pythonhosted.org/packages/04/83/e690fb202d97a0745e8d455666135476b0664bd24813258e7acc8096cffa/tokenizers-0.15.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:65975094fef8cc68919644936764efd2ce98cf1bacbe8db2687155d2b0625bee"}, + {url = "https://files.pythonhosted.org/packages/04/b7/8baf38e478838ef5d1fa589740f466a91691109c45b609622411535c7f49/tokenizers-0.15.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:309cfcccfc7e502cb1f1de2c9c1c94680082a65bfd3a912d5a5b2c90c677eb60"}, + {url = "https://files.pythonhosted.org/packages/06/fa/8b2fdde82297f9b529b7f6def48b196e8cdfb1e35feb7b63d322b193b091/tokenizers-0.15.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fac2719b1e9bc8e8e7f6599b99d0a8e24f33d023eb8ef644c0366a596f0aa926"}, + {url = "https://files.pythonhosted.org/packages/0a/d6/d3b35366686ed5614aa5ab6319535f9ee250b5947cfd425ef7df77d34f6b/tokenizers-0.15.0-cp37-none-win_amd64.whl", hash = "sha256:1ab96ab7dc706e002c32b2ea211a94c1c04b4f4de48354728c3a6e22401af322"}, + {url = "https://files.pythonhosted.org/packages/0b/9a/b347b0460458cae2f27b8908fff56f43b75fc060562684da8a10808b9d1e/tokenizers-0.15.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8413e994dd7d875ab13009127fc85633916c71213917daf64962bafd488f15dc"}, + {url = "https://files.pythonhosted.org/packages/0d/02/4fb44c10d71e0188239a20172c212660dc86b4e9510f865f6bb297f339cf/tokenizers-0.15.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4a522612d5c88a41563e3463226af64e2fa00629f65cdcc501d1995dd25d23f5"}, + {url = "https://files.pythonhosted.org/packages/11/e8/c09a83938c5451dc04f9f92c3ab3a4e770c3586523c4dc20a69b126df7d2/tokenizers-0.15.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:331dd786d02fc38698f835fff61c99480f98b73ce75a4c65bd110c9af5e4609a"}, + {url = "https://files.pythonhosted.org/packages/14/cf/883acc48862589f9d54c239a9108728db5b75cd6c0949b92c72aae8e044c/tokenizers-0.15.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a79f17027f24fe9485701c8dbb269b9c713954ec3bdc1e7075a66086c0c0cd3c"}, + {url = "https://files.pythonhosted.org/packages/15/3b/879231a9a80e52a2bd0fcfc7167d5fa31324463a6063f04b5945667a8231/tokenizers-0.15.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0344d6602740e44054a9e5bbe9775a5e149c4dddaff15959bb07dcce95a5a859"}, + {url = "https://files.pythonhosted.org/packages/1f/53/dae73dfdc4c61096182f5078d7375035a35c7dbf0bc2a11d55e39b08f885/tokenizers-0.15.0-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:85ddae17570ec7e5bfaf51ffa78d044f444a8693e1316e1087ee6150596897ee"}, + {url = "https://files.pythonhosted.org/packages/1f/ac/606ae87d14f62470f6922f25ec0422688d51df59fcb171d75c3c659bece3/tokenizers-0.15.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cbbf2489fcf25d809731ba2744ff278dd07d9eb3f8b7482726bd6cae607073a4"}, + {url = "https://files.pythonhosted.org/packages/24/e2/c804dd1d19f66408bc10be055077fb04826b4a5fd956d6d8b7c505b54339/tokenizers-0.15.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:8edcc90a36eab0705fe9121d6c77c6e42eeef25c7399864fd57dfb27173060bf"}, + {url = "https://files.pythonhosted.org/packages/26/b1/baf71a91c3b49007b32ee4c1447ff6e5df4b74b3fbe1c80232743e9248f9/tokenizers-0.15.0-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:c9cce6ee149a3d703f86877bc2a6d997e34874b2d5a2d7839e36b2273f31d3d9"}, + {url = "https://files.pythonhosted.org/packages/2c/c9/2eb185ce9c9419710fd80ab85067db886f099130850e96891a485800cb94/tokenizers-0.15.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:01a3aa332abc4bee7640563949fcfedca4de8f52691b3b70f2fc6ca71bfc0f4e"}, + {url = "https://files.pythonhosted.org/packages/31/be/ce39ea65bb4845fa7cc2a25bbc1f88dfe9977dd92423f3c467a8c4ec0997/tokenizers-0.15.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:dbed5944c31195514669cf6381a0d8d47f164943000d10f93d6d02f0d45c25e0"}, + {url = "https://files.pythonhosted.org/packages/34/7f/a7e65e0b6c52ed2660d3f93e845c08f92f7af027b27d129756797446374f/tokenizers-0.15.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:4525f6997d81d9b6d9140088f4f5131f6627e4c960c2c87d0695ae7304233fc3"}, + {url = "https://files.pythonhosted.org/packages/36/f1/b2397cbaddede34376a27afeb8cb7bb361f09116df01fa1e4092f7c82715/tokenizers-0.15.0-pp37-pypy37_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:d801d1368188c74552cd779b1286e67cb9fd96f4c57a9f9a2a09b6def9e1ab37"}, + {url = "https://files.pythonhosted.org/packages/38/b0/74da61b76cabed102cde8bee882724d94c555e80fbd00afce405357d01b4/tokenizers-0.15.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3c2b60b12fdd310bf85ce5d7d3f823456b9b65eed30f5438dd7761879c495983"}, + {url = "https://files.pythonhosted.org/packages/38/e6/79de82e45aa9768346035a46eb7a880b4f793c0421bae75cb890ca1b28c6/tokenizers-0.15.0-cp38-none-win32.whl", hash = "sha256:9680b0ecc26e7e42f16680c1aa62e924d58d1c2dd992707081cc10a374896ea2"}, + {url = "https://files.pythonhosted.org/packages/39/c3/36aaa702417398f4c1191b2aff08447b65963cf3f542d844f3aa6c08c3b0/tokenizers-0.15.0-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:160f9d1810f2c18fffa94aa98bf17632f6bd2dabc67fcb01a698ca80c37d52ee"}, + {url = "https://files.pythonhosted.org/packages/3a/3a/20011160a525a9be04348d1472778627ab4df3ce17ba9428d9f839407a79/tokenizers-0.15.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ae17884aafb3e94f34fb7cfedc29054f5f54e142475ebf8a265a4e388fee3f8b"}, + {url = "https://files.pythonhosted.org/packages/3c/71/996a3d6c76d13092faa51ef3aa2f8695b2831ae53829e822e22d34ff493e/tokenizers-0.15.0-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:fa8eb4584fc6cbe6a84d7a7864be3ed28e23e9fd2146aa8ef1814d579df91958"}, + {url = "https://files.pythonhosted.org/packages/42/db/0061fb8004ce9173b9249a0c323c799be51f2c8e6d4ff3cc38b549c3f8b6/tokenizers-0.15.0-cp310-none-win_amd64.whl", hash = "sha256:4b31807cb393d6ea31926b307911c89a1209d5e27629aa79553d1599c8ffdefe"}, + {url = "https://files.pythonhosted.org/packages/46/0d/11600564c528d0e669c9aeba4109c069117dd5018663919f6d87dbc60da3/tokenizers-0.15.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1eef39a502fad3bf104b9e1906b4fb0cee20e44e755e51df9a98f8922c3bf6d4"}, + {url = "https://files.pythonhosted.org/packages/47/20/d2686dd8424b0b0db88c36508a0d91deb8be0a0e3423165fd0e8213baa2c/tokenizers-0.15.0-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:ed56ddf0d54877bb9c6d885177db79b41576e61b5ef6defeb579dcb803c04ad5"}, + {url = "https://files.pythonhosted.org/packages/47/93/0c9a5369e9312b87ce453addb60b3c6fedba0fffbe77449e3be48394ee22/tokenizers-0.15.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:10361e9c7864b22dd791ec5126327f6c9292fb1d23481d4895780688d5e298ac"}, + {url = "https://files.pythonhosted.org/packages/48/91/d58433ab739968996f8011e224f58dab1a3419c87fc42dcd24837ea5364e/tokenizers-0.15.0-pp37-pypy37_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:82641ffb13a4da1293fcc9f437d457647e60ed0385a9216cd135953778b3f0a1"}, + {url = "https://files.pythonhosted.org/packages/50/ed/cc0b62a889985e95931d9ee3440bdcafffbab50f4b0583818c31a9339aba/tokenizers-0.15.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:caadf255cf7f951b38d10097836d1f3bcff4aeaaffadfdf748bab780bf5bff95"}, + {url = "https://files.pythonhosted.org/packages/52/ed/6878cabf8e4621f215b526e39a2b078b3d84d68a0c997ad9ea3a8c868f80/tokenizers-0.15.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9855e6c258918f9cf62792d4f6ddfa6c56dccd8c8118640f867f6393ecaf8bd7"}, + {url = "https://files.pythonhosted.org/packages/55/60/bed932815d2e9a9d01d6b36127203f508c62cf8d10cc22f257a8d4cd77fc/tokenizers-0.15.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:77606994e793ca54ecf3a3619adc8a906a28ca223d9354b38df41cb8766a0ed6"}, + {url = "https://files.pythonhosted.org/packages/56/16/dfb95fab50be691444ca5bf39a2bc0371b50582ea8869ab96704ef6e0134/tokenizers-0.15.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5d37e7f4439b4c46192ab4f2ff38ab815e4420f153caa13dec9272ef14403d34"}, + {url = "https://files.pythonhosted.org/packages/57/bd/4334666aecbcf23fbc0f3fcaed64034cd38c96744d54e714f1bebe36b0fb/tokenizers-0.15.0-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:7f17363141eb0c53752c89e10650b85ef059a52765d0802ba9613dbd2d21d425"}, + {url = "https://files.pythonhosted.org/packages/58/03/ab4ebf2d20704fc6293a677f09a796b450143ccac79aa707f075bf6255b5/tokenizers-0.15.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:d3125a6499226d4d48efc54f7498886b94c418e93a205b673bc59364eecf0804"}, + {url = "https://files.pythonhosted.org/packages/5a/4f/0753ee4c0255e14f009f04b9fb1807b6e62fc3a729906ccfb99576979c6b/tokenizers-0.15.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:26a2ef890740127cb115ee5260878f4a677e36a12831795fd7e85887c53b430b"}, + {url = "https://files.pythonhosted.org/packages/5d/ad/d39107841995b681c6c083e5ce54228c846c9b5cf645206e6f5ca0371c42/tokenizers-0.15.0-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:a8da7533dbe66b88afd430c56a2f2ce1fd82e2681868f857da38eeb3191d7498"}, + {url = "https://files.pythonhosted.org/packages/5f/9f/bb5c45c81d2f40981c79f807d481bb389962b2329147523d69b51e8d2b8a/tokenizers-0.15.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d0ebf9430f901dbdc3dcb06b493ff24a3644c9f88c08e6a1d6d0ae2228b9b818"}, + {url = "https://files.pythonhosted.org/packages/64/e3/13b0e31f2bfb4a9f25a214891ae388f6e2ee78687a97eaaf5a3455a6b275/tokenizers-0.15.0-cp37-cp37m-macosx_11_0_arm64.whl", hash = "sha256:b7bee0f1795e3e3561e9a557061b1539e5255b8221e3f928f58100282407e090"}, + {url = "https://files.pythonhosted.org/packages/66/26/3751364b60c758ca7a572019b987bc3b29e2382d41956f14d311e53d00ef/tokenizers-0.15.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:05b83896a893cdfedad8785250daa3ba9f0504848323471524d4783d7291661e"}, + {url = "https://files.pythonhosted.org/packages/66/5b/c16f4f2025ff0eb32a4e49404bcf2f756db11a26027645428ace5bf86ae1/tokenizers-0.15.0-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:22c27672c27a059a5f39ff4e49feed8c7f2e1525577c8a7e3978bd428eb5869d"}, + {url = "https://files.pythonhosted.org/packages/67/50/87c3ad17f14b1af2fc18aec08dd40b54e83f2d22264370893aab2b23c55b/tokenizers-0.15.0-cp39-none-win32.whl", hash = "sha256:b8034f1041fd2bd2b84ff9f4dc4ae2e1c3b71606820a9cd5c562ebd291a396d1"}, + {url = "https://files.pythonhosted.org/packages/6b/b7/60a54bb9e8fdbbe218fd3607a5f60c9ebbd1b92878a82d48fac48e6c542e/tokenizers-0.15.0-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:ca003fb5f3995ff5cf676db6681b8ea5d54d3b30bea36af1120e78ee1a4a4cdf"}, + {url = "https://files.pythonhosted.org/packages/6e/ac/846cea8ac6b542b5de54ffd67e854511b54ab83d82a744a5e5b2be0f4b48/tokenizers-0.15.0-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0a1a3c973e4dc97797fc19e9f11546c95278ffc55c4492acb742f69e035490bc"}, + {url = "https://files.pythonhosted.org/packages/6f/2c/a3fdf5d1c68e32b2dd1fcf370c418c887e51f1043377b01691cf92a9ebfe/tokenizers-0.15.0-pp37-pypy37_pp73-macosx_10_7_x86_64.whl", hash = "sha256:3bb0f4df6dce41a1c7482087b60d18c372ef4463cb99aa8195100fcd41e0fd64"}, + {url = "https://files.pythonhosted.org/packages/72/72/f690a9d927f505478402fe1264c606a377abef2acfebb0fbac7cbee577f0/tokenizers-0.15.0-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:309445d10d442b7521b98083dc9f0b5df14eca69dbbfebeb98d781ee2cef5d30"}, + {url = "https://files.pythonhosted.org/packages/74/4a/119371191a5290ee5169dded0c2b542668a2c86798511c7045b480f0c7ed/tokenizers-0.15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8a922c492c721744ee175f15b91704be2d305569d25f0547c77cd6c9f210f9dc"}, + {url = "https://files.pythonhosted.org/packages/75/fb/eaa67f8f0c67d2f738cf4226a88c2388464fcbb257b75caec1a55e58cf8d/tokenizers-0.15.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:bc80a0a565ebfc7cd89de7dd581da8c2b3238addfca6280572d27d763f135f2f"}, + {url = "https://files.pythonhosted.org/packages/76/53/7f30dd413a607224b9ccc7b8b27a311095cbb7c3058c069971dc95ec7844/tokenizers-0.15.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ab806ad521a5e9de38078b7add97589c313915f6f5fec6b2f9f289d14d607bd6"}, + {url = "https://files.pythonhosted.org/packages/7b/7a/566a8ed502cd2707bd0e9b3f5905eacacbf462ce5d2bd444005e852e10ab/tokenizers-0.15.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aab16c4a26d351d63e965b0c792f5da7227a37b69a6dc6d922ff70aa595b1b0c"}, + {url = "https://files.pythonhosted.org/packages/7d/aa/de1a09833e42190afca916a97c9d806cbca2d5028dc3ee912f00cfa6d7a6/tokenizers-0.15.0-cp311-none-win32.whl", hash = "sha256:ff5d2159c5d93015f5a4542aac6c315506df31853123aa39042672031768c301"}, + {url = "https://files.pythonhosted.org/packages/7e/cb/69f7c1ce28efc3cbd1361cd053af8059b8b7c16e21b55325c4054bcbb2af/tokenizers-0.15.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3b22cd714706cc5b18992a232b023f736e539495f5cc61d2d28d176e55046f6c"}, + {url = "https://files.pythonhosted.org/packages/7f/3d/6e5b742b55856c8d69fee603015770658b0125887a5a56afffd1cbf5c2f2/tokenizers-0.15.0-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f6456bec6c557d63d8ec0023758c32f589e1889ed03c055702e84ce275488bed"}, + {url = "https://files.pythonhosted.org/packages/82/25/16c83c91667aea480750c22c3570e07a538fa85db3186bcdbf43964dfe45/tokenizers-0.15.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:32371008788aeeb0309a9244809a23e4c0259625e6b74a103700f6421373f395"}, + {url = "https://files.pythonhosted.org/packages/87/01/1fba5379bef39abd7b45c483e8e77c2b80ac80af3f7537690540ddd4103c/tokenizers-0.15.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:2a0dd641a72604486cd7302dd8f87a12c8a9b45e1755e47d2682733f097c1af5"}, + {url = "https://files.pythonhosted.org/packages/8c/3c/23118713a43a5e9f1a36df3a17a9e95ad05267fde9a29a0da98b9ed48fba/tokenizers-0.15.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65f80be77f6327a86d8fd35a4467adcfe6174c159b4ab52a1a8dd4c6f2d7d9e1"}, + {url = "https://files.pythonhosted.org/packages/8c/ad/54fdcda8f9f45eff23d8d9d6fde14ee0971936c3dc4c20f7877f4d2e6ad2/tokenizers-0.15.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9c91588a630adc88065e1c03ac6831e3e2112558869b9ebcb2b8afd8a14c944d"}, + {url = "https://files.pythonhosted.org/packages/90/01/e0c2b710e5c19a0c9cf3a107db67b56d08bf38cd4ed125c0f32a52ffc675/tokenizers-0.15.0-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:3661862df7382c5eb23ac4fbf7c75e69b02dc4f5784e4c5a734db406b5b24596"}, + {url = "https://files.pythonhosted.org/packages/92/d9/5faa5a1620bf1417dbcc016db0d287c3ecf3137c3b9b75c9b077d698f7d0/tokenizers-0.15.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca9db64c7c9954fbae698884c5bb089764edc549731e5f9b7fa1dd4e4d78d77f"}, + {url = "https://files.pythonhosted.org/packages/93/ca/2fccc04052aaef0d19f6cbd00ee0ed878b3268256dddb730d6deb2771029/tokenizers-0.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88dd0961c437d413ab027f8b115350c121d49902cfbadf08bb8f634b15fa1814"}, + {url = "https://files.pythonhosted.org/packages/98/38/72b818a4f0d07c5d51706719b9223ee82dc327ac8c7931aeef2652f20ed3/tokenizers-0.15.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4a0a94bc3370e6f1cc8a07a8ae867ce13b7c1b4291432a773931a61f256d44ea"}, + {url = "https://files.pythonhosted.org/packages/9a/b6/9ed893aba8aa50e8774669a49faeeac4bddfb6cc0860c602647787d89150/tokenizers-0.15.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:0ea480d943297df26f06f508dab6e012b07f42bf3dffdd36e70799368a5f5229"}, + {url = "https://files.pythonhosted.org/packages/9e/2d/35a9f9378962fd954cd097efc0d3b7beee86c12d4e61cf6199bdef58e091/tokenizers-0.15.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c3045d191dad49647f5a5039738ecf1c77087945c7a295f7bcf051c37067e883"}, + {url = "https://files.pythonhosted.org/packages/9f/17/1df113d77dab378cb02fcee438893610e055621d3994b51d5ffe315170e4/tokenizers-0.15.0.tar.gz", hash = "sha256:10c7e6e7b4cabd757da59e93f5f8d1126291d16f8b54f28510825ef56a3e5d0e"}, + {url = "https://files.pythonhosted.org/packages/9f/90/a6821e7757d2db194c16cbca78c80e206f30f6cc62c7f15fb27428f8c6dd/tokenizers-0.15.0-cp39-none-win_amd64.whl", hash = "sha256:edde9aa964145d528d0e0dbf14f244b8a85ebf276fb76869bc02e2530fa37a96"}, + {url = "https://files.pythonhosted.org/packages/a2/b8/5adfd6b030ba741beb31b23632045d30cf2cb16f06d7644bec3a5970ba1f/tokenizers-0.15.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b3cdf29e6f9653da330515dc8fa414be5a93aae79e57f8acc50d4028dd843edf"}, + {url = "https://files.pythonhosted.org/packages/a7/08/871009b7bdf35063927bad2e3ad8531bbc2f123c4f7300b17db961dae36c/tokenizers-0.15.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:72f78b0e0e276b1fc14a672fa73f3acca034ba8db4e782124a2996734a9ba9cf"}, + {url = "https://files.pythonhosted.org/packages/a8/20/e30598415b82e15ba897b019b1d199e528b68e42f94dcf54d7dd2965cffd/tokenizers-0.15.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4fab75642aae4e604e729d6f78e0addb9d7e7d49e28c8f4d16b24da278e5263"}, + {url = "https://files.pythonhosted.org/packages/a9/b1/66eb9aba792cd6e9c87412f0f9c72f754cde6d4dd72c17fc23e1a09dc458/tokenizers-0.15.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78104f5d035c9991f92831fc0efe9e64a05d4032194f2a69f67aaa05a4d75bbb"}, + {url = "https://files.pythonhosted.org/packages/ab/85/7f384dc60b57cb051205eda565798ddb7ef70bf5a0005a37135f389b47a9/tokenizers-0.15.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:aabc83028baa5a36ce7a94e7659250f0309c47fa4a639e5c2c38e6d5ea0de564"}, + {url = "https://files.pythonhosted.org/packages/ad/75/56230c5c65b226e707e1adbc759c19fdf1b20bb02c0276796b132c97118a/tokenizers-0.15.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7286f3df10de840867372e3e64b99ef58c677210e3ceb653cd0e740a5c53fe78"}, + {url = "https://files.pythonhosted.org/packages/ae/2b/df01cfd5ec2d9b14da2748e2de67e71796cee7816e7614e5d7795661dbd1/tokenizers-0.15.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f8aa81afec893e952bd39692b2d9ef60575ed8c86fce1fd876a06d2e73e82dca"}, + {url = "https://files.pythonhosted.org/packages/af/bd/3c5d732123a531172f7b628d669a964fbd8478fb7579823a9227dd00d136/tokenizers-0.15.0-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:76f1bed992e396bf6f83e3df97b64ff47885e45e8365f8983afed8556a0bc51f"}, + {url = "https://files.pythonhosted.org/packages/b8/91/b5a161e3baa3cbcf356f87d4594f72cd348598c4a2c4074744ab4cad8b2c/tokenizers-0.15.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1574a5a4af22c3def93fe8fe4adcc90a39bf5797ed01686a4c46d1c3bc677d2f"}, + {url = "https://files.pythonhosted.org/packages/ba/71/a3affa6aab0453d819a375e3d12c7eee96978724c8df10468ba1266d0b70/tokenizers-0.15.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f8d16b647032df2ce2c1f9097236e046ea9fedd969b25637b9d5d734d78aa53b"}, + {url = "https://files.pythonhosted.org/packages/ba/e8/b7cba05e3517b8cd9b7a892064cfa12e64671531c776bb27b0ffe00f78e1/tokenizers-0.15.0-cp37-cp37m-macosx_10_7_x86_64.whl", hash = "sha256:6fe143939f3b596681922b2df12a591a5b010e7dcfbee2202482cd0c1c2f2459"}, + {url = "https://files.pythonhosted.org/packages/bb/0f/8d583f3aac636dca3287a8ba5ef12cd898526ee5f8cffa7348a7a0a7ac76/tokenizers-0.15.0-cp38-none-win_amd64.whl", hash = "sha256:f17cbd88dab695911cbdd385a5a7e3709cc61dff982351f5d1b5939f074a2466"}, + {url = "https://files.pythonhosted.org/packages/bc/e6/6abf4df5c5cc528f4426cd8b5b48efab773b190788302889a82b9b81096d/tokenizers-0.15.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:babe42635b8a604c594bdc56d205755f73414fce17ba8479d142a963a6c25cbc"}, + {url = "https://files.pythonhosted.org/packages/be/5f/2cc4f229bf85d90842f513be31a529595c10b8c8b8193c077230a8c17548/tokenizers-0.15.0-cp311-none-win_amd64.whl", hash = "sha256:2dd681b53cf615e60a31a115a3fda3980e543d25ca183797f797a6c3600788a3"}, + {url = "https://files.pythonhosted.org/packages/bf/7b/7f844c9c00306fce3ddfb0ff5438a8a9d19e8e9b458f3e3dca30b01126bc/tokenizers-0.15.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a40b73dc19d82c3e3ffb40abdaacca8fbc95eeb26c66b7f9f860aebc07a73998"}, + {url = "https://files.pythonhosted.org/packages/c4/7b/b44eee274b546ea671db617996a0c6010601e8a3200ecb6a7ffe54270fb1/tokenizers-0.15.0-cp37-none-win32.whl", hash = "sha256:cdd945e678bbdf4517d5d8de66578a5030aeefecdb46f5320b034de9cad8d4dd"}, + {url = "https://files.pythonhosted.org/packages/c5/0e/8961075de3aca5435fa6371088d44594cdc0e59b5b935afdaf1af028cf36/tokenizers-0.15.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c3d7343fa562ea29661783344a2d83662db0d3d17a6fa6a403cac8e512d2d9fd"}, + {url = "https://files.pythonhosted.org/packages/c5/e4/e3b664f42f27f04d262d3645d3136be4ff62b2d46e4a4088588a47987bfa/tokenizers-0.15.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:8d7d6eea831ed435fdeeb9bcd26476226401d7309d115a710c65da4088841948"}, + {url = "https://files.pythonhosted.org/packages/c6/cb/9807b2513e267a46faf3ac835e9d92745b3d6c3e3e83ab6493d193d81196/tokenizers-0.15.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7c7982fd0ec9e9122d03b209dac48cebfea3de0479335100ef379a9a959b9a5a"}, + {url = "https://files.pythonhosted.org/packages/c7/24/ac0e9c2337d58432c6465faaab7446db40c2af05c06f7d8018407df7f648/tokenizers-0.15.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:a9fcaad9ab0801f14457d7c820d9f246b5ab590c407fc6b073819b1573097aa7"}, + {url = "https://files.pythonhosted.org/packages/c7/d5/a7aaee753af6fe80655e1a43836e7090665f3fe970b971d00f6cb65e26b4/tokenizers-0.15.0-cp310-none-win32.whl", hash = "sha256:9a3241acdc9b44cff6e95c4a55b9be943ef3658f8edb3686034d353734adba05"}, + {url = "https://files.pythonhosted.org/packages/ca/4a/032185b97c9f51360942a8532f41deea7a3dec2a720c7731f794610e7b3e/tokenizers-0.15.0-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:8a765db05581c7d7e1280170f2888cda351760d196cc059c37ea96f121125799"}, + {url = "https://files.pythonhosted.org/packages/ca/b8/2f10f4eeba903f726c5826580d82286aed64a6b95aa1d76359977f0bf5b9/tokenizers-0.15.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:669b8ed653a578bcff919566631156f5da3aab84c66f3c0b11a6281e8b4731c7"}, + {url = "https://files.pythonhosted.org/packages/cf/cb/d8d692460ab2c98bdda1ab7ff39b1364d95994cc11310e2d61ca1cd96a5d/tokenizers-0.15.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e54c5f26df14913620046b33e822cb3bcd091a332a55230c0e63cc77135e2169"}, + {url = "https://files.pythonhosted.org/packages/d3/c3/e8a788e6201acd142183a55009e4f78d375a453b6fd7d0babebbcd682dbc/tokenizers-0.15.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3768829861e964c7a4556f5f23307fce6a23872c2ebf030eb9822dbbbf7e9b2a"}, + {url = "https://files.pythonhosted.org/packages/d7/e1/2192ce2674313fdb8f4cf1e049bfc29d7572eb4965a2986bdcee359aa87a/tokenizers-0.15.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6fdcc55339df7761cd52e1fbe8185d3b3963bc9e3f3545faa6c84f9e8818259a"}, + {url = "https://files.pythonhosted.org/packages/dc/07/81a33aea5bd7cf4a2366868d62617962edd226bb68fcadb17496a1f980b0/tokenizers-0.15.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:2a5f4543a35889679fc3052086e69e81880b2a5a28ff2a52c5a604be94b77a3f"}, + {url = "https://files.pythonhosted.org/packages/eb/3d/eee5f3c572a3f4db2ebabf5bd4f284f356078a5b5d27e6229b4450d5c5e4/tokenizers-0.15.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de9529fe75efcd54ba8d516aa725e1851df9199f0669b665c55e90df08f5af86"}, + {url = "https://files.pythonhosted.org/packages/eb/49/a1997df128eec8b833e12824be47cb32d4d82e4933409d2e4abb577818ad/tokenizers-0.15.0-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:cd3cd0299aaa312cd2988957598f80becd04d5a07338741eca076057a2b37d6e"}, + {url = "https://files.pythonhosted.org/packages/f3/34/d4082f792179f4209fb1e20df627f40fcbd3b38fcc1b1e8a1ad65e392ed5/tokenizers-0.15.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c1e4664c5b797e093c19b794bbecc19d2367e782b4a577d8b7c1821db5dc150d"}, + {url = "https://files.pythonhosted.org/packages/f4/3c/f8490ce17c2755ddaa2c52e6d01ff10b911edb4118d75d19a11b00ea7d28/tokenizers-0.15.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f1480b0051d8ab5408e8e4db2dc832f7082ea24aa0722c427bde2418c6f3bd07"}, + {url = "https://files.pythonhosted.org/packages/f6/e1/174d56a4202b34a941d3f8237121c4bbdff4eb1380a92d8747b86ba3069b/tokenizers-0.15.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:e58a38c4e6075810bdfb861d9c005236a72a152ebc7005941cc90d1bbf16aca9"}, + {url = "https://files.pythonhosted.org/packages/fd/b6/577d7dd7574c8bdcb75f7fceb3eb957de02956f4bcacaf89ab07c14931a1/tokenizers-0.15.0-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:af7e9be8c05d30bb137b9fd20f9d99354816599e5fd3d58a4b1e28ba3b36171f"}, +] "toml 0.10.2" = [ {url = "https://files.pythonhosted.org/packages/44/6f/7120676b6d73228c96e17f1f794d8ab046fc910d781c8d151120c3f1569e/toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"}, {url = "https://files.pythonhosted.org/packages/be/ba/1f744cdc819428fc6b5084ec34d9b30660f6f9daaf70eead706e3203ec3c/toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, @@ -2859,6 +3901,10 @@ content_hash = "sha256:f00febf5bc2caf66d5b7b2a9890ecab1c70bd25bbc09f58e1b38a8305 {url = "https://files.pythonhosted.org/packages/5a/0b/b825ac58e20a6fef55c94ba9c7c96f1777f9a3b7e34b3b43b6d54185ec2a/traitlets-5.13.0.tar.gz", hash = "sha256:9b232b9430c8f57288c1024b34a8f0251ddcc47268927367a0dd3eeaca40deb5"}, {url = "https://files.pythonhosted.org/packages/ed/fd/cfc0d27ca11f3dd12b2a90d06875d8bfb532ef40ce67be4066d10807f4aa/traitlets-5.13.0-py3-none-any.whl", hash = "sha256:baf991e61542da48fe8aef8b779a9ea0aa38d8a54166ee250d5af5ecf4486619"}, ] +"typer 0.9.0" = [ + {url = "https://files.pythonhosted.org/packages/5b/49/39f10d0f75886439ab3dac889f14f8ad511982a754e382c9b6ca895b29e9/typer-0.9.0.tar.gz", hash = "sha256:50922fd79aea2f4751a8e0408ff10d2662bd0c8bbfa84755a699f3bada2978b2"}, + {url = "https://files.pythonhosted.org/packages/bf/0e/c68adf10adda05f28a6ed7b9f4cd7b8e07f641b44af88ba72d9c89e4de7a/typer-0.9.0-py3-none-any.whl", hash = "sha256:5d96d986a21493606a358cae4461bd8cdf83cbf33a5aa950ae629ca3b51467ee"}, +] "types-pyopenssl 23.2.0.2" = [ {url = "https://files.pythonhosted.org/packages/6f/3e/802b4489dc34a5e6afae600cf0c8e0b58ae83aa6b5cd39fd6f8288ad33f1/types_pyOpenSSL-23.2.0.2-py3-none-any.whl", hash = "sha256:19536aa3debfbe25a918cf0d898e9f5fbbe6f3594a429da7914bf331deb1b342"}, {url = "https://files.pythonhosted.org/packages/b1/0a/e38bd743f91fe6b54a2686dfe504acd1d883cc6fc5c9116bdb737a0f2622/types-pyOpenSSL-23.2.0.2.tar.gz", hash = "sha256:6a010dac9ecd42b582d7dd2cc3e9e40486b79b3b64bb2fffba1474ff96af906d"}, @@ -2875,9 +3921,46 @@ content_hash = "sha256:f00febf5bc2caf66d5b7b2a9890ecab1c70bd25bbc09f58e1b38a8305 {url = "https://files.pythonhosted.org/packages/70/e5/81f99b9fced59624562ab62a33df639a11b26c582be78864b339dafa420d/tzdata-2023.3.tar.gz", hash = "sha256:11ef1e08e54acb0d4f95bdb1be05da659673de4acbd21bf9c69e94cc5e907a3a"}, {url = "https://files.pythonhosted.org/packages/d5/fb/a79efcab32b8a1f1ddca7f35109a50e4a80d42ac1c9187ab46522b2407d7/tzdata-2023.3-py2.py3-none-any.whl", hash = "sha256:7e65763eef3120314099b6939b5546db7adce1e7d6f2e179e3df563c70511eda"}, ] -"urllib3 2.0.7" = [ - {url = "https://files.pythonhosted.org/packages/af/47/b215df9f71b4fdba1025fc05a77db2ad243fa0926755a52c5e71659f4e3c/urllib3-2.0.7.tar.gz", hash = "sha256:c97dfde1f7bd43a71c8d2a58e369e9b2bf692d1334ea9f9cae55add7d0dd0f84"}, - {url = "https://files.pythonhosted.org/packages/d2/b2/b157855192a68541a91ba7b2bbcb91f1b4faa51f8bae38d8005c034be524/urllib3-2.0.7-py3-none-any.whl", hash = "sha256:fdb6d215c776278489906c2f8916e6e7d4f5a9b602ccbcfdf7f016fc8da0596e"}, +"urllib3 1.26.18" = [ + {url = "https://files.pythonhosted.org/packages/0c/39/64487bf07df2ed854cc06078c27c0d0abc59bd27b32232876e403c333a08/urllib3-1.26.18.tar.gz", hash = "sha256:f8ecc1bba5667413457c529ab955bf8c67b45db799d159066261719e328580a0"}, + {url = "https://files.pythonhosted.org/packages/b0/53/aa91e163dcfd1e5b82d8a890ecf13314e3e149c05270cc644581f77f17fd/urllib3-1.26.18-py2.py3-none-any.whl", hash = "sha256:34b97092d7e0a3a8cf7cd10e386f401b3737364026c45e622aa02903dffe0f07"}, +] +"uvicorn 0.24.0.post1" = [ + {url = "https://files.pythonhosted.org/packages/7e/17/4b7a76fffa7babf397481040d8aef2725b2b81ae19f1a31b5ca0c17d49e6/uvicorn-0.24.0.post1-py3-none-any.whl", hash = "sha256:7c84fea70c619d4a710153482c0d230929af7bcf76c7bfa6de151f0a3a80121e"}, + {url = "https://files.pythonhosted.org/packages/e5/84/d43ce8fe6b31a316ef0ed04ea0d58cab981bdf7f17f8423491fa8b4f50b6/uvicorn-0.24.0.post1.tar.gz", hash = "sha256:09c8e5a79dc466bdf28dead50093957db184de356fcdc48697bad3bde4c2588e"}, +] +"uvloop 0.19.0" = [ + {url = "https://files.pythonhosted.org/packages/04/58/4d12d24220f2bf2c3125c74431035ddd7a461f9732a01cd5bd12f177370e/uvloop-0.19.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f467a5fd23b4fc43ed86342641f3936a68ded707f4627622fa3f82a120e18256"}, + {url = "https://files.pythonhosted.org/packages/0f/7f/6497008441376686f962a57de57897654ebd9c80f993b619ab57bc4ae61d/uvloop-0.19.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6e3d4e85ac060e2342ff85e90d0c04157acb210b9ce508e784a944f852a40e67"}, + {url = "https://files.pythonhosted.org/packages/12/9d/f1d263d49f1909914bcec5d5608d2f819c109b08bf06e67a2ff072e82d81/uvloop-0.19.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:2df95fca285a9f5bfe730e51945ffe2fa71ccbfdde3b0da5772b4ee4f2e770d5"}, + {url = "https://files.pythonhosted.org/packages/13/00/d0923d66d80c8717983493a4d7af747ce47f1c2147d82df057a846ba6bff/uvloop-0.19.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:31e672bb38b45abc4f26e273be83b72a0d28d074d5b370fc4dcf4c4eb15417d2"}, + {url = "https://files.pythonhosted.org/packages/13/b6/a5cb14acb1417c1660d722c554757e134462f09eb917e6c49907d990d63a/uvloop-0.19.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:271718e26b3e17906b28b67314c45d19106112067205119dddbd834c2b7ce797"}, + {url = "https://files.pythonhosted.org/packages/1b/4e/fe0b1d09648eebe7dec5c7de66631b814ef442ce896cce63ded5c1e8c275/uvloop-0.19.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45bf4c24c19fb8a50902ae37c5de50da81de4922af65baf760f7c0c42e1088be"}, + {url = "https://files.pythonhosted.org/packages/1e/f9/8de4d58175c7a5cf3731fcfc43e7fb93e0972a098bffdc926507f02cd655/uvloop-0.19.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:13dfdf492af0aa0a0edf66807d2b465607d11c4fa48f4a1fd41cbea5b18e8e8b"}, + {url = "https://files.pythonhosted.org/packages/1f/c7/e494c367b0c6e6453f9bed5a78548f5b2ff49add36302cd915a91d347d88/uvloop-0.19.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:570fc0ed613883d8d30ee40397b79207eedd2624891692471808a95069a007c1"}, + {url = "https://files.pythonhosted.org/packages/36/c2/27bf858a576b1fa35b5c2c2029c8cec424a8789e87545ed2f25466d1f21d/uvloop-0.19.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:de4313d7f575474c8f5a12e163f6d89c0a878bc49219641d49e6f1444369a90e"}, + {url = "https://files.pythonhosted.org/packages/41/2a/608ad69f27f51280098abee440c33e921d3ad203e2c86f7262e241e49c99/uvloop-0.19.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:4ce6b0af8f2729a02a5d1575feacb2a94fc7b2e983868b009d51c9a9d2149bef"}, + {url = "https://files.pythonhosted.org/packages/49/54/c653529077d7dd2455e9af44b621ad1f8bb2f0bcd232f8a599017e84fc54/uvloop-0.19.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:78ab247f0b5671cc887c31d33f9b3abfb88d2614b84e4303f1a63b46c046c8bd"}, + {url = "https://files.pythonhosted.org/packages/4d/81/67afeb6da202313e1a5368e36bffdedb7939acf22d969d83183d4f43c4ff/uvloop-0.19.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:472d61143059c84947aa8bb74eabbace30d577a03a1805b77933d6bd13ddebbd"}, + {url = "https://files.pythonhosted.org/packages/4e/35/05b6064b93f4113412d1fd92bdcb6018607e78ae94d1712e63e533f9b2fa/uvloop-0.19.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5588bd21cf1fcf06bded085f37e43ce0e00424197e7c10e77afd4bbefffef428"}, + {url = "https://files.pythonhosted.org/packages/6b/23/1ee41a15e1ad15182e2bd12cbfd37bcb6802f01d6bbcaddf6ca136cbb308/uvloop-0.19.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:5f17766fb6da94135526273080f3455a112f82570b2ee5daa64d682387fe0dcd"}, + {url = "https://files.pythonhosted.org/packages/71/bc/092068ae7fc16dcf20f3e389126ba7800cee75ffba83f78bf1d167aee3cd/uvloop-0.19.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:5daa304d2161d2918fa9a17d5635099a2f78ae5b5960e742b2fcfbb7aefaa593"}, + {url = "https://files.pythonhosted.org/packages/7a/4c/ca87e8f5a30629ffa2038c20907c8ab455c5859ff10e810227b76e60d927/uvloop-0.19.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:91ab01c6cd00e39cde50173ba4ec68a1e578fee9279ba64f5221810a9e786533"}, + {url = "https://files.pythonhosted.org/packages/81/a1/7383219c1855a65b988d16e2b8dc0ac8a646ee7429e358a78ab9074c9ddf/uvloop-0.19.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:e27f100e1ff17f6feeb1f33968bc185bf8ce41ca557deee9d9bbbffeb72030b7"}, + {url = "https://files.pythonhosted.org/packages/84/8d/3e23cb85cc2c12918a6d7585fdf50a05c69191a4969881e22e0eebcbf686/uvloop-0.19.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:492e2c32c2af3f971473bc22f086513cedfc66a130756145a931a90c3958cb17"}, + {url = "https://files.pythonhosted.org/packages/85/57/6736733bb0e86a4b5380d04082463b289c0baecaa205934ba81e8a1d5ea4/uvloop-0.19.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:da8435a3bd498419ee8c13c34b89b5005130a476bda1d6ca8cfdde3de35cd650"}, + {url = "https://files.pythonhosted.org/packages/86/cc/1829b3f740e4cb1baefff8240a1c6fc8db9e3caac7b93169aec7d4386069/uvloop-0.19.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5138821e40b0c3e6c9478643b4660bd44372ae1e16a322b8fc07478f92684e24"}, + {url = "https://files.pythonhosted.org/packages/9c/16/728cc5dde368e6eddb299c5aec4d10eaf25335a5af04e8c0abd68e2e9d32/uvloop-0.19.0.tar.gz", hash = "sha256:0246f4fd1bf2bf702e06b0d45ee91677ee5c31242f39aab4ea6fe0c51aedd0fd"}, + {url = "https://files.pythonhosted.org/packages/a2/23/80381a2d728d2a0c36e2eef202f5b77428990004d8fbdd3865558ff49fa5/uvloop-0.19.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:cd81bdc2b8219cb4b2556eea39d2e36bfa375a2dd021404f90a62e44efaaf957"}, + {url = "https://files.pythonhosted.org/packages/a6/f2/6ce1e73933eb038c89f929e26042e64b2cb8d4453410153eed14918ca9a8/uvloop-0.19.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:7207272c9520203fea9b93843bb775d03e1cf88a80a936ce760f60bb5add92f3"}, + {url = "https://files.pythonhosted.org/packages/aa/56/b62ab4e10458ce96bb30c98d327c127f989d3bb4ef899e4c410c739f7ef6/uvloop-0.19.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7b1fd71c3843327f3bbc3237bedcdb6504fd50368ab3e04d0410e52ec293f5b8"}, + {url = "https://files.pythonhosted.org/packages/ab/ed/12729fba5e3b7e02ee70b3ea230b88e60a50375cf63300db22607694d2f0/uvloop-0.19.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5a05128d315e2912791de6088c34136bfcdd0c7cbc1cf85fd6fd1bb321b7c849"}, + {url = "https://files.pythonhosted.org/packages/d2/a9/f947a00c47b1c87c937cac2423243a41ba08f0fb76d04eb0d1d170606e0a/uvloop-0.19.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:47bf3e9312f63684efe283f7342afb414eea4d3011542155c7e625cd799c3b12"}, + {url = "https://files.pythonhosted.org/packages/e1/90/6dfe0ef6bc9a5cb72eff6f6bf77f613b27648229f7ad7f7f27b118dde973/uvloop-0.19.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:34175c9fd2a4bc3adc1380e1261f60306344e3407c20a4d684fd5f3be010fa3d"}, + {url = "https://files.pythonhosted.org/packages/e6/fc/f0daaf19f5b2116a2d26eb9f98c4a45084aea87bf03c33bcca7aa1ff36e5/uvloop-0.19.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2693049be9d36fef81741fddb3f441673ba12a34a704e7b4361efb75cf30befc"}, + {url = "https://files.pythonhosted.org/packages/eb/0c/51339463da912ed34b48d470538d98a91660749b2db56902f23db9b42fdd/uvloop-0.19.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:02506dc23a5d90e04d4f65c7791e65cf44bd91b37f24cfc3ef6cf2aff05dc7ec"}, + {url = "https://files.pythonhosted.org/packages/fd/96/fdc318ffe82ae567592b213ec2fcd8ecedd927b5da068cf84d56b28c51a4/uvloop-0.19.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7010271303961c6f0fe37731004335401eb9075a12680738731e9c92ddd96ad6"}, + {url = "https://files.pythonhosted.org/packages/fe/4d/199e8c6e4a810b60cc012f9dc34fcf4df0e93d927de75ce4ed54a4d36274/uvloop-0.19.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8ca4956c9ab567d87d59d49fa3704cf29e37109ad348f2d5223c9bf761a332e7"}, ] "watchdog 3.0.0" = [ {url = "https://files.pythonhosted.org/packages/00/9e/a9711f35f1ad6571e92dc2e955e7de9dfac21a1b33e9cd212f066a60a387/watchdog-3.0.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2b57a1e730af3156d13b7fdddfc23dea6487fceca29fc75c5a868beed29177ae"}, @@ -2908,6 +3991,83 @@ content_hash = "sha256:f00febf5bc2caf66d5b7b2a9890ecab1c70bd25bbc09f58e1b38a8305 {url = "https://files.pythonhosted.org/packages/dc/89/3a3ce6dd01807ff918aec3bbcabc92ed1a7edc5bb2266c720bb39fec1bec/watchdog-3.0.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4f94069eb16657d2c6faada4624c39464f65c05606af50bb7902e036e3219be3"}, {url = "https://files.pythonhosted.org/packages/ea/76/bef1c6f6ac18041234a9f3e8bc995d611e255c44f10433bfaf255968c269/watchdog-3.0.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:8f3ceecd20d71067c7fd4c9e832d4e22584318983cabc013dbf3f70ea95de346"}, ] +"watchfiles 0.21.0" = [ + {url = "https://files.pythonhosted.org/packages/02/94/49ccb19250533099792bed3f08849dbf37d1762655b873d4b444dd3bdb51/watchfiles-0.21.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:3ad692bc7792be8c32918c699638b660c0de078a6cbe464c46e1340dadb94c19"}, + {url = "https://files.pythonhosted.org/packages/03/27/9386a4dff4fc415dd072c1d15f2cb995845aaa15029196c36f2449bd7e12/watchfiles-0.21.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:43babacef21c519bc6631c5fce2a61eccdfc011b4bcb9047255e9620732c8097"}, + {url = "https://files.pythonhosted.org/packages/04/ea/682d7ce1bdab35908355bf71f7c30d8dbf8fc1cf2259bc4bd4b9917869ee/watchfiles-0.21.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c6ed10c2497e5fedadf61e465b3ca12a19f96004c15dcffe4bd442ebadc2d85"}, + {url = "https://files.pythonhosted.org/packages/05/4f/afb1de71928d550c714d5e204e4de542501c3e427c8ec3d7284c0b255c58/watchfiles-0.21.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c889025f59884423428c261f212e04d438de865beda0b1e1babab85ef4c0f01"}, + {url = "https://files.pythonhosted.org/packages/0b/13/f3d06bb94c13d9cf8e49cc4a9ee50953cdd84053b58049091ff618b6c6bb/watchfiles-0.21.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:853853cbf7bf9408b404754b92512ebe3e3a83587503d766d23e6bf83d092ee6"}, + {url = "https://files.pythonhosted.org/packages/0d/67/ceaec64dfb20b39b8e70bc99334fe384d5fd60605ad892efe0d210b43f42/watchfiles-0.21.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06247538e8253975bdb328e7683f8515ff5ff041f43be6c40bff62d989b7d0b0"}, + {url = "https://files.pythonhosted.org/packages/0e/cf/126f0a8683f326d190c3539a769e45e747a80a5fcbf797de82e738c946ae/watchfiles-0.21.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:11cd0c3100e2233e9c53106265da31d574355c288e15259c0d40a4405cbae317"}, + {url = "https://files.pythonhosted.org/packages/14/d0/662800e778ca20e7664dd5df57751aa79ef18b6abb92224b03c8c2e852a6/watchfiles-0.21.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d0f32ebfaa9c6011f8454994f86108c2eb9c79b8b7de00b36d558cadcedaa3d"}, + {url = "https://files.pythonhosted.org/packages/18/c4/ad5ad16cad900a29aaa792e0ed121ff70d76f74062b051661090d88c6dfd/watchfiles-0.21.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5eb86c6acb498208e7663ca22dbe68ca2cf42ab5bf1c776670a50919a56e64ab"}, + {url = "https://files.pythonhosted.org/packages/1b/36/6de490cc56af5a0e24f3d7ccf3c05a7a8624cdf5e163ae290fe09cbc0fc5/watchfiles-0.21.0-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:4ea10a29aa5de67de02256a28d1bf53d21322295cb00bd2d57fcd19b850ebd99"}, + {url = "https://files.pythonhosted.org/packages/1b/a1/9c5e36d5df5c2b7371c03f46d244ef9c4b4ca3ab2df4c9ffdc41bbc4904e/watchfiles-0.21.0-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:7f762a1a85a12cc3484f77eee7be87b10f8c50b0b787bb02f4e357403cad0c0e"}, + {url = "https://files.pythonhosted.org/packages/1c/3a/4e38518c4dff58090c01fc8cc051fa08ac9ae00b361c855075809b0058ce/watchfiles-0.21.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1b8d1eae0f65441963d805f766c7e9cd092f91e0c600c820c764a4ff71a0764c"}, + {url = "https://files.pythonhosted.org/packages/20/6e/6cffd795ec65dbc82f15d95b73d3042c1ddaffc4dd25f6c8240bfcf0640f/watchfiles-0.21.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d78f30cbe8b2ce770160d3c08cff01b2ae9306fe66ce899b73f0409dc1846c1b"}, + {url = "https://files.pythonhosted.org/packages/22/15/e4085181cf0210a6ec6eb29fee0c6088de867ee33d81555076a4a2726e8b/watchfiles-0.21.0-cp311-none-win_arm64.whl", hash = "sha256:c550a56bf209a3d987d5a975cdf2063b3389a5d16caf29db4bdddeae49f22078"}, + {url = "https://files.pythonhosted.org/packages/26/b2/37a838aecc760f8fd219b053a0c6b2bbe536aa2b5a7795206d7e2d16fa3f/watchfiles-0.21.0-cp38-none-win_amd64.whl", hash = "sha256:8d5f400326840934e3507701f9f7269247f7c026d1b6cfd49477d2be0933cfca"}, + {url = "https://files.pythonhosted.org/packages/2c/c8/d9cc95f365019b21d0500bc38805d9789017c441feba823d52490a8b0b3a/watchfiles-0.21.0-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:08dca260e85ffae975448e344834d765983237ad6dc308231aa16e7933db763e"}, + {url = "https://files.pythonhosted.org/packages/2d/ba/a3f83f19be619ebaef5bb2da934b66e6e3d376adfaa7117dce77d7ef1119/watchfiles-0.21.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:66fac0c238ab9a2e72d026b5fb91cb902c146202bbd29a9a1a44e8db7b710b6f"}, + {url = "https://files.pythonhosted.org/packages/31/b0/7994140859df017a00b63330299e2e48b472dbc721052bb243884a65ac79/watchfiles-0.21.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9d353c4cfda586db2a176ce42c88f2fc31ec25e50212650c89fdd0f560ee507b"}, + {url = "https://files.pythonhosted.org/packages/35/e0/e8a9c1fe30e98c5b3507ad381abc4d9ee2c3b9c0ae62ffe9c164a5838186/watchfiles-0.21.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c873345680c1b87f1e09e0eaf8cf6c891b9851d8b4d3645e7efe2ec20a20cc7"}, + {url = "https://files.pythonhosted.org/packages/36/2a/6e91ce9b251e615cd672d35ede3a67a3ccd3734beaf3c1706134b2cc98e3/watchfiles-0.21.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:b3cab0e06143768499384a8a5efb9c4dc53e19382952859e4802f294214f36ec"}, + {url = "https://files.pythonhosted.org/packages/37/17/4825999346f15d650f4c69093efa64fb040fbff4f706a20e8c4745f64070/watchfiles-0.21.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1bd467213195e76f838caf2c28cd65e58302d0254e636e7c0fca81efa4a2e62c"}, + {url = "https://files.pythonhosted.org/packages/41/0e/3333b986b1889bb71f0e44b3fac0591824a679619b8b8ddd70ff8858edc4/watchfiles-0.21.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0d9ac347653ebd95839a7c607608703b20bc07e577e870d824fa4801bc1cb124"}, + {url = "https://files.pythonhosted.org/packages/4b/ea/80527adf1ad51488a96fc201715730af5879f4dfeccb5e2069ff82d890d4/watchfiles-0.21.0-cp310-none-win_amd64.whl", hash = "sha256:1ad7247d79f9f55bb25ab1778fd47f32d70cf36053941f07de0b7c4e96b5d235"}, + {url = "https://files.pythonhosted.org/packages/4e/d2/769254ff04ba88ceb179a6e892606ac4da17338eb010e85ca7a9c3339234/watchfiles-0.21.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f564bf68404144ea6b87a78a3f910cc8de216c6b12a4cf0b27718bf4ec38d303"}, + {url = "https://files.pythonhosted.org/packages/57/b9/2667286003dd305b81d3a3aa824d3dfc63dacbf2a96faae09e72d953c430/watchfiles-0.21.0-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:668c265d90de8ae914f860d3eeb164534ba2e836811f91fecc7050416ee70aa7"}, + {url = "https://files.pythonhosted.org/packages/5a/a5/7aba9435beb863c2490bae3173a45f42044ac7a48155d3dd42ab49cfae45/watchfiles-0.21.0-cp312-none-win_arm64.whl", hash = "sha256:a3b9bec9579a15fb3ca2d9878deae789df72f2b0fdaf90ad49ee389cad5edab6"}, + {url = "https://files.pythonhosted.org/packages/5a/da/a90cce0c50af00cf7c09a3ccfe92406d3222745ab3c4da6a110a27216d4e/watchfiles-0.21.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d5b1dc0e708fad9f92c296ab2f948af403bf201db8fb2eb4c8179db143732e49"}, + {url = "https://files.pythonhosted.org/packages/5b/79/ecd0dfb04443a1900cd3952d7ea6493bf655c2db9a0d3736a5d98a15da39/watchfiles-0.21.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:6c107ea3cf2bd07199d66f156e3ea756d1b84dfd43b542b2d870b77868c98c03"}, + {url = "https://files.pythonhosted.org/packages/5d/12/e1d1d220c5b99196eea38c9a878964f30a2b55ec9d72fd713191725b35e8/watchfiles-0.21.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:e7941bbcfdded9c26b0bf720cb7e6fd803d95a55d2c14b4bd1f6a2772230c586"}, + {url = "https://files.pythonhosted.org/packages/5d/f4/84841ee14a1717e58674a77d4098ccfc18f76a10f4ec7700062de7ac89ee/watchfiles-0.21.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d8f57c4461cd24fda22493109c45b3980863c58a25b8bec885ca8bea6b8d4b28"}, + {url = "https://files.pythonhosted.org/packages/5f/f1/22139d0c79e6b95e64ea3beb554de3b4a4b5028e91a1e444fbb8ea2b73b7/watchfiles-0.21.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:83a696da8922314ff2aec02987eefb03784f473281d740bf9170181829133765"}, + {url = "https://files.pythonhosted.org/packages/62/66/7463ceb43eabc6deaa795c7969ff4d4fd938de54e655035483dfd1e97c84/watchfiles-0.21.0-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:ab03a90b305d2588e8352168e8c5a1520b721d2d367f31e9332c4235b30b8994"}, + {url = "https://files.pythonhosted.org/packages/66/79/0ee412e1228aaf6f9568aa180b43cb482472de52560fbd7c283c786534af/watchfiles-0.21.0.tar.gz", hash = "sha256:c76c635fabf542bb78524905718c39f736a98e5ab25b23ec6d4abede1a85a6a3"}, + {url = "https://files.pythonhosted.org/packages/69/0e/29f158fa22eb2cc1f188b5ec20fb5c0a64eb801e3901ad5b7ad546cbaed0/watchfiles-0.21.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:cfb92d49dbb95ec7a07511bc9efb0faff8fe24ef3805662b8d6808ba8409a71a"}, + {url = "https://files.pythonhosted.org/packages/69/b6/ccf285a6f82daf072717d7aaef71e7ec7f2b6ed858bedf332c06f86cec02/watchfiles-0.21.0-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:be6dd5d52b73018b21adc1c5d28ac0c68184a64769052dfeb0c5d9998e7f56a2"}, + {url = "https://files.pythonhosted.org/packages/6b/4c/b741eb38f2c408ae9c5a25235f6506b1dda43486ae0fdb4c462ef75bce11/watchfiles-0.21.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a1e3014a625bcf107fbf38eece0e47fa0190e52e45dc6eee5a8265ddc6dc5ea7"}, + {url = "https://files.pythonhosted.org/packages/6e/85/ea2a035b7d86bf0a29ee1c32bc2df8ad4da77e6602806e679d9735ff28cb/watchfiles-0.21.0-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:27b4035013f1ea49c6c0b42d983133b136637a527e48c132d368eb19bf1ac6aa"}, + {url = "https://files.pythonhosted.org/packages/70/76/8d124e14cf51af4d6bba926c7473f253c6efd1539ba62577f079a2d71537/watchfiles-0.21.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02b73130687bc3f6bb79d8a170959042eb56eb3a42df3671c79b428cd73f17cc"}, + {url = "https://files.pythonhosted.org/packages/77/e4/8d2b3c67364671b0e1c0ce383895a5415f45ecb3e8586982deff4a8e85c9/watchfiles-0.21.0-cp312-none-win32.whl", hash = "sha256:9d09869f2c5a6f2d9df50ce3064b3391d3ecb6dced708ad64467b9e4f2c9bef3"}, + {url = "https://files.pythonhosted.org/packages/79/24/eb297bfe2c4909f861f637e5a6daeb6d7d0f5d5a0379e18a53403823556e/watchfiles-0.21.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8ad3fe0a3567c2f0f629d800409cd528cb6251da12e81a1f765e5c5345fd0137"}, + {url = "https://files.pythonhosted.org/packages/83/94/5be4f7c3ef32cd5869fb6f18ed44fc7250d81b306ece869573f856fa39e4/watchfiles-0.21.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:9b37a7ba223b2f26122c148bb8d09a9ff312afca998c48c725ff5a0a632145f7"}, + {url = "https://files.pythonhosted.org/packages/8c/28/14934a760698d493cc2065481639445fac172bda894d4727f4678b9d016f/watchfiles-0.21.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:40bca549fdc929b470dd1dbfcb47b3295cb46a6d2c90e50588b0a1b3bd98f429"}, + {url = "https://files.pythonhosted.org/packages/8c/8f/1ac72ff562a51adae43ef312ed8938adb488405a8639d00fe3d982137c3b/watchfiles-0.21.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:3ccceb50c611c433145502735e0370877cced72a6c70fd2410238bcbc7fe51d8"}, + {url = "https://files.pythonhosted.org/packages/92/ff/75cc1b30c5abcad13a2a72e75625ec619c7a393028a111d7d24dba578d5e/watchfiles-0.21.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:aff06b2cac3ef4616e26ba17a9c250c1fe9dd8a5d907d0193f84c499b1b6e6a9"}, + {url = "https://files.pythonhosted.org/packages/93/60/c35694cf2e894796b65afba9b93555f9adbcc02e251fd8fb1703848cf691/watchfiles-0.21.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0dd5fad9b9c0dd89904bbdea978ce89a2b692a7ee8a0ce19b940e538c88a809c"}, + {url = "https://files.pythonhosted.org/packages/9a/65/12cbeb363bf220482a559c48107edfd87f09248f55e1ac315a36c2098a0f/watchfiles-0.21.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d9792dff410f266051025ecfaa927078b94cc7478954b06796a9756ccc7e14a9"}, + {url = "https://files.pythonhosted.org/packages/9e/8f/d93a72e531fa3c94227acb68932acda6401a45a9f76e92e848eec3499676/watchfiles-0.21.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:57d430f5fb63fea141ab71ca9c064e80de3a20b427ca2febcbfcef70ff0ce895"}, + {url = "https://files.pythonhosted.org/packages/9f/b7/783097f8137a710d5cd9ccbfcd92e4b453d38dab05cfcb5dbd2c587752e5/watchfiles-0.21.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:1fd9a5205139f3c6bb60d11f6072e0552f0a20b712c85f43d42342d162be1235"}, + {url = "https://files.pythonhosted.org/packages/a1/fd/2f009eb17809afd32a143b442856628585c9ce3a9c6d5c1841e44e35a16c/watchfiles-0.21.0-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:51ddac60b96a42c15d24fbdc7a4bfcd02b5a29c047b7f8bf63d3f6f5a860949a"}, + {url = "https://files.pythonhosted.org/packages/a3/87/6793ac60d2e20c9c1883aec7431c2e7b501ee44a839f6da1b747c13baa23/watchfiles-0.21.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3a23092a992e61c3a6a70f350a56db7197242f3490da9c87b500f389b2d01eef"}, + {url = "https://files.pythonhosted.org/packages/ab/7e/61681016131d06d9827dfdf70c77817af67f3e785860175e1a2b552ae423/watchfiles-0.21.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b4a21f71885aa2744719459951819e7bf5a906a6448a6b2bbce8e9cc9f2c8128"}, + {url = "https://files.pythonhosted.org/packages/b0/ba/a0d1c1c55f75e7e47c8f79f2314f7ec670b5177596f6d27764aecc7048cd/watchfiles-0.21.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:18d5b4da8cf3e41895b34e8c37d13c9ed294954907929aacd95153508d5d89d7"}, + {url = "https://files.pythonhosted.org/packages/b5/e5/240e5eb3ff0ee3da3b028ac5be2019c407bdd0f3fdb02bd75fdf3bd10aff/watchfiles-0.21.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c81818595eff6e92535ff32825f31c116f867f64ff8cdf6562cd1d6b2e1e8f3e"}, + {url = "https://files.pythonhosted.org/packages/ba/66/873739dd7defdfaee4b880114de9463fae18ba13ae2ddd784806b0ee33b6/watchfiles-0.21.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:49f56e6ecc2503e7dbe233fa328b2be1a7797d31548e7a193237dcdf1ad0eee0"}, + {url = "https://files.pythonhosted.org/packages/bd/51/d7539aa258d8f0e5d7b870af8b9b8964b4f88a1e4517eeb8a2efb838e9b3/watchfiles-0.21.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:02d91cbac553a3ad141db016e3350b03184deaafeba09b9d6439826ee594b365"}, + {url = "https://files.pythonhosted.org/packages/bf/5c/6b22d5469d9654a5992111227c487af3d85f528ed1296320c2a99384e2ec/watchfiles-0.21.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6e9be3ef84e2bb9710f3f777accce25556f4a71e15d2b73223788d528fcc2052"}, + {url = "https://files.pythonhosted.org/packages/c8/27/e534e4b3fe739f4bf8bd5dc4c26cbc5d3baa427125d8ef78a6556acd6ff4/watchfiles-0.21.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d23bcd6c8eaa6324fe109d8cac01b41fe9a54b8c498af9ce464c1aeeb99903d6"}, + {url = "https://files.pythonhosted.org/packages/ca/64/92b462b894cee2ba4df52e571b3b2104fd11fd6ab08a59e2d3493bcab4d2/watchfiles-0.21.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:4c48a10d17571d1275701e14a601e36959ffada3add8cdbc9e5061a6e3579a5d"}, + {url = "https://files.pythonhosted.org/packages/d3/18/4b7f189b72b5d76e0f7a3ef602c47eebb44826ad2e3dd360c6fb856111d7/watchfiles-0.21.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec8c8900dc5c83650a63dd48c4d1d245343f904c4b64b48798c67a3767d7e165"}, + {url = "https://files.pythonhosted.org/packages/d5/2a/f9633279d8937ad84c532997405dd106fa6100e8d2b83e364f1c87561f96/watchfiles-0.21.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6674b00b9756b0af620aa2a3346b01f8e2a3dc729d25617e1b89cf6af4a54eb1"}, + {url = "https://files.pythonhosted.org/packages/d7/49/9b2199bbf3c89e7c8dd795fced9dac29f201be8a28a5df0c8ff625737df6/watchfiles-0.21.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fd7ac678b92b29ba630d8c842d8ad6c555abda1b9ef044d6cc092dacbfc9719d"}, + {url = "https://files.pythonhosted.org/packages/d7/eb/b6f1184d1c7b9670f5bd1e184e4c221ecf25fd817cf2fcac6adc387882b5/watchfiles-0.21.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:642d66b75eda909fd1112d35c53816d59789a4b38c141a96d62f50a3ef9b3360"}, + {url = "https://files.pythonhosted.org/packages/da/42/90669adbc6293b6543a77ea104c84d8db56a0021cdd51274c8404f10e7d0/watchfiles-0.21.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5a03651352fc20975ee2a707cd2d74a386cd303cc688f407296064ad1e6d1562"}, + {url = "https://files.pythonhosted.org/packages/da/f2/6b1de38aeb21eb9dac1ae6a1ee4521566e79690117032036c737cfab52fa/watchfiles-0.21.0-cp312-none-win_amd64.whl", hash = "sha256:18722b50783b5e30a18a8a5db3006bab146d2b705c92eb9a94f78c72beb94094"}, + {url = "https://files.pythonhosted.org/packages/e0/62/a2605f212a136e06f2d056ee7491ede9935ba0f1d5ceafd1f7da2a0c8625/watchfiles-0.21.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:511f0b034120cd1989932bf1e9081aa9fb00f1f949fbd2d9cab6264916ae89b1"}, + {url = "https://files.pythonhosted.org/packages/e1/4c/da6cfbb501bd3a07d9955cf0b7e8e226f99835d86412bc07de6108a64b59/watchfiles-0.21.0-cp38-none-win32.whl", hash = "sha256:9a0aa47f94ea9a0b39dd30850b0adf2e1cd32a8b4f9c7aa443d852aacf9ca214"}, + {url = "https://files.pythonhosted.org/packages/e8/f3/c67865cb5a174201c52d34e870cc7956b8408ee83ce9a02909d6a2a93a14/watchfiles-0.21.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3f92944efc564867bbf841c823c8b71bb0be75e06b8ce45c084b46411475a915"}, + {url = "https://files.pythonhosted.org/packages/ee/92/219c539a2a93b6870fa7b84eace946983126b20a7e15c6c034d8d0472682/watchfiles-0.21.0-cp311-none-win32.whl", hash = "sha256:ebe684d7d26239e23d102a2bad2a358dedf18e462e8808778703427d1f584400"}, + {url = "https://files.pythonhosted.org/packages/ef/c0/737ddb4c97efd7e4c98852973ca80d7fab65811d6c4d3a64182333d455b0/watchfiles-0.21.0-cp39-none-win_amd64.whl", hash = "sha256:6cb8fdc044909e2078c248986f2fc76f911f72b51ea4a4fbbf472e01d14faa58"}, + {url = "https://files.pythonhosted.org/packages/f2/08/92e28867c66f0d9638bb131feca739057efc48dbcd391fd7f0a55507e470/watchfiles-0.21.0-cp310-none-win32.whl", hash = "sha256:214cee7f9e09150d4fb42e24919a1e74d8c9b8a9306ed1474ecaddcd5479c293"}, + {url = "https://files.pythonhosted.org/packages/f3/dc/2a8a447b783f5059c4bf7a6bad8fe59375a5a9ce872774763b25c21c2860/watchfiles-0.21.0-cp311-none-win_amd64.whl", hash = "sha256:4566006aa44cb0d21b8ab53baf4b9c667a0ed23efe4aaad8c227bfba0bf15cbe"}, + {url = "https://files.pythonhosted.org/packages/f7/4b/b90dcdc3bbaf3bb2db733e1beea2d01566b601c15fcf8e71dfcc8686c097/watchfiles-0.21.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b6d45d9b699ecbac6c7bd8e0a2609767491540403610962968d258fd6405c17c"}, + {url = "https://files.pythonhosted.org/packages/fc/60/f94029d1beb8b544f6db6828c7ccc29aa748e6bc82d143637cecff998d5c/watchfiles-0.21.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1c9198c989f47898b2c22201756f73249de3748e0fc9de44adaf54a8b259cc0c"}, + {url = "https://files.pythonhosted.org/packages/fe/a3/42686af3a089f34aba35c39abac852869661938dae7025c1a0580dfe0fbf/watchfiles-0.21.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:927c589500f9f41e370b0125c12ac9e7d3a2fd166b89e9ee2828b3dda20bfe6f"}, + {url = "https://files.pythonhosted.org/packages/ff/62/2718b99a53b19860b754d7d9e26cf66b458dcbe5a1c131a889402cb2298d/watchfiles-0.21.0-cp39-none-win32.whl", hash = "sha256:59137c0c6826bd56c710d1d2bda81553b5e6b7c84d5a676747d80caf0409ad94"}, +] "wcwidth 0.2.9" = [ {url = "https://files.pythonhosted.org/packages/19/0b/00728863778b14ececfc97e40850fd71529b6a1695907981cc3fdc085ba6/wcwidth-0.2.9-py2.py3-none-any.whl", hash = "sha256:9a929bd8380f6cd9571a968a9c8f4353ca58d7cd812a4822bba831f8d685b223"}, {url = "https://files.pythonhosted.org/packages/a6/ad/428bc4ff924e66365c96994873e09a17bb5e8a1228be6e8d185bc2a11de9/wcwidth-0.2.9.tar.gz", hash = "sha256:a675d1a4a2d24ef67096a04b85b02deeecd8e226f57b5e3a72dbb9ed99d27da8"}, @@ -2916,6 +4076,156 @@ content_hash = "sha256:f00febf5bc2caf66d5b7b2a9890ecab1c70bd25bbc09f58e1b38a8305 {url = "https://files.pythonhosted.org/packages/0b/02/ae6ceac1baeda530866a85075641cec12989bd8d31af6d5ab4a3e8c92f47/webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923"}, {url = "https://files.pythonhosted.org/packages/f4/24/2a3e3df732393fed8b3ebf2ec078f05546de641fe1b667ee316ec1dcf3b7/webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78"}, ] +"websocket-client 1.6.4" = [ + {url = "https://files.pythonhosted.org/packages/c4/3c/1892ce394828c43d4f65248ebdee3854114266b75d1f5915cb211155ad7b/websocket_client-1.6.4-py3-none-any.whl", hash = "sha256:084072e0a7f5f347ef2ac3d8698a5e0b4ffbfcab607628cadabc650fc9a83a24"}, + {url = "https://files.pythonhosted.org/packages/cb/eb/19eadbb717ef032749853ef5eb1c28e9ca974711e28bccd4815913ba5546/websocket-client-1.6.4.tar.gz", hash = "sha256:b3324019b3c28572086c4a319f91d1dcd44e6e11cd340232978c684a7650d0df"}, +] +"websockets 12.0" = [ + {url = "https://files.pythonhosted.org/packages/01/ae/d48aebf121726d2a26e48170cd7558627b09e0d47186ddfa1be017c81663/websockets-12.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:00700340c6c7ab788f176d118775202aadea7602c5cc6be6ae127761c16d6b0b"}, + {url = "https://files.pythonhosted.org/packages/02/73/9c1e168a2e7fdf26841dc98f5f5502e91dea47428da7690a08101f616169/websockets-12.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5d873c7de42dea355d73f170be0f23788cf3fa9f7bed718fd2830eefedce01b4"}, + {url = "https://files.pythonhosted.org/packages/03/72/e4752b208241a606625da8d8757d98c3bfc6c69c0edc47603180c208f857/websockets-12.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffefa1374cd508d633646d51a8e9277763a9b78ae71324183693959cf94635a7"}, + {url = "https://files.pythonhosted.org/packages/06/dd/e8535f54b4aaded1ed44041ca8eb9de8786ce719ff148b56b4a903ef93e6/websockets-12.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:46e71dbbd12850224243f5d2aeec90f0aaa0f2dde5aeeb8fc8df21e04d99eff9"}, + {url = "https://files.pythonhosted.org/packages/0a/31/337bf35ae5faeaf364c9cddec66681cdf51dc4414ee7a20f92a18e57880f/websockets-12.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:bea88d71630c5900690fcb03161ab18f8f244805c59e2e0dc4ffadae0a7ee0ca"}, + {url = "https://files.pythonhosted.org/packages/0b/a5/1a38fb85a456b9dc874ec984f3ff34f6550eafd17a3da28753cd3c1628e8/websockets-12.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:1e4b3f8ea6a9cfa8be8484c9221ec0257508e3a1ec43c36acdefb2a9c3b00aa2"}, + {url = "https://files.pythonhosted.org/packages/0d/a4/ec1043bc6acf5bc405762ecc1327f3573441185571122ae50fc00c6d3130/websockets-12.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1df2fbd2c8a98d38a66f5238484405b8d1d16f929bb7a33ed73e4801222a6f53"}, + {url = "https://files.pythonhosted.org/packages/0e/d8/b468e92e5140ad8550477250310132cc6316412c7e0d2eb9e05661cf1f58/websockets-12.0-cp38-cp38-win_amd64.whl", hash = "sha256:1bf386089178ea69d720f8db6199a0504a406209a0fc23e603b27b300fdd6892"}, + {url = "https://files.pythonhosted.org/packages/16/17/f63d9ee6ffd9afbeea021d5950d6e8db84cd4aead306c6c2ca523805699e/websockets-12.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5aa9348186d79a5f232115ed3fa9020eab66d6c3437d72f9d2c8ac0c6858c558"}, + {url = "https://files.pythonhosted.org/packages/16/66/4666e53d06fc5a40f9d36394969ac1168f9f27a075a020af1cc04622e075/websockets-12.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1a9d160fd080c6285e202327aba140fc9a0d910b09e423afff4ae5cbbf1c7205"}, + {url = "https://files.pythonhosted.org/packages/1b/9f/84d42c8c3e510f2a9ad09ae178c31cc89cc838b143a04bf41ff0653ca018/websockets-12.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:a02413bc474feda2849c59ed2dfb2cddb4cd3d2f03a2fedec51d6e959d9b608b"}, + {url = "https://files.pythonhosted.org/packages/20/52/8915f51f9aaef4e4361c89dd6cf69f72a0159f14e0d25026c81b6ad22525/websockets-12.0-cp312-cp312-win_amd64.whl", hash = "sha256:ae0a5da8f35a5be197f328d4727dbcfafa53d1824fac3d96cdd3a642fe09394f"}, + {url = "https://files.pythonhosted.org/packages/22/26/df77c4b7538caebb78c9b97f43169ef742a4f445e032a5ea1aaef88f8f46/websockets-12.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6e96f5ed1b83a8ddb07909b45bd94833b0710f738115751cdaa9da1fb0cb66e8"}, + {url = "https://files.pythonhosted.org/packages/25/a9/a3e03f9f3c4425a914e5875dd09f2c2559d61b44edd52cf1e6b73f938898/websockets-12.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:23509452b3bc38e3a057382c2e941d5ac2e01e251acce7adc74011d7d8de434c"}, + {url = "https://files.pythonhosted.org/packages/28/4b/344ec5cfeb6bc417da097f8253607c3aed11d9a305fb58346f506bf556d8/websockets-12.0-cp311-cp311-win32.whl", hash = "sha256:3e3aa8c468af01d70332a382350ee95f6986db479ce7af14d5e81ec52aa2b402"}, + {url = "https://files.pythonhosted.org/packages/2d/73/a337e1275e4c3a9752896fbe467d2c6b5f25e983a2de0992e1dfaca04dbe/websockets-12.0-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba0cab91b3956dfa9f512147860783a1829a8d905ee218a9837c18f683239611"}, + {url = "https://files.pythonhosted.org/packages/2e/00/96ae1c9dcb3bc316ef683f2febd8c97dde9f254dc36c3afc65c7645f734c/websockets-12.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:12743ab88ab2af1d17dd4acb4645677cb7063ef4db93abffbf164218a5d54c6b"}, + {url = "https://files.pythonhosted.org/packages/2e/62/7a7874b7285413c954a4cca3c11fd851f11b2fe5b4ae2d9bee4f6d9bdb10/websockets-12.0.tar.gz", hash = "sha256:81df9cbcbb6c260de1e007e58c011bfebe2dafc8435107b0537f393dd38c8b1b"}, + {url = "https://files.pythonhosted.org/packages/33/fd/13ae9a400c662b6d03717e5599d8c88da0e84255c09a404e668568e53f50/websockets-12.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:604428d1b87edbf02b233e2c207d7d528460fa978f9e391bd8aaf9c8311de137"}, + {url = "https://files.pythonhosted.org/packages/39/34/364f30fdf1a375e4002a26ee3061138d1571dfda6421126127d379d13930/websockets-12.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:dbcf72a37f0b3316e993e13ecf32f10c0e1259c28ffd0a85cee26e8549595fbc"}, + {url = "https://files.pythonhosted.org/packages/3b/f0/a721a6361972aa8649db86672834545d889e9975d769348d26ccfa102e5c/websockets-12.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:b067cb952ce8bf40115f6c19f478dc71c5e719b7fbaa511359795dfd9d1a6468"}, + {url = "https://files.pythonhosted.org/packages/3c/98/1261f289dff7e65a38d59d2f591de6ed0a2580b729aebddec033c4d10881/websockets-12.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:9fdf06fd06c32205a07e47328ab49c40fc1407cdec801d698a7c41167ea45113"}, + {url = "https://files.pythonhosted.org/packages/41/b0/5ec054cfcf23adfc88d39359b85e81d043af8a141e3ac8ce40f45a5ce5f4/websockets-12.0-cp310-cp310-win_amd64.whl", hash = "sha256:363f57ca8bc8576195d0540c648aa58ac18cf85b76ad5202b9f976918f4219cf"}, + {url = "https://files.pythonhosted.org/packages/43/8b/554a8a8bb6da9dd1ce04c44125e2192af7b7beebf6e3dbfa5d0e285cc20f/websockets-12.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:248d8e2446e13c1d4326e0a6a4e9629cb13a11195051a73acf414812700badbd"}, + {url = "https://files.pythonhosted.org/packages/45/51/1f823a341fc20a880e67ae62f6c38c4880a24a4b60fbe544a38f516f39a1/websockets-12.0-cp310-cp310-win32.whl", hash = "sha256:befe90632d66caaf72e8b2ed4d7f02b348913813c8b0a32fae1cc5fe3730902f"}, + {url = "https://files.pythonhosted.org/packages/4e/e1/f6c3ecf7f1bfd9209e13949db027d7fdea2faf090c69b5f2d17d1d796d96/websockets-12.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:eb809e816916a3b210bed3c82fb88eaf16e8afcf9c115ebb2bacede1797d2547"}, + {url = "https://files.pythonhosted.org/packages/50/f0/5939fbc9bc1979d79a774ce5b7c4b33c0cefe99af22fb70f7462d0919640/websockets-12.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:2c71bd45a777433dd9113847af751aae36e448bc6b8c361a566cb043eda6ec30"}, + {url = "https://files.pythonhosted.org/packages/61/98/aa856d4b1655162bab77752935da5dbd779f272653b82fb2d2c8acb09a2a/websockets-12.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:0bee75f400895aef54157b36ed6d3b308fcab62e5260703add87f44cee9c82a6"}, + {url = "https://files.pythonhosted.org/packages/62/3b/98ee269712f37d892b93852ce07b3e6d7653160ca4c0d4f8c8663f8021f8/websockets-12.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9893d1aa45a7f8b3bc4510f6ccf8db8c3b62120917af15e3de247f0780294b92"}, + {url = "https://files.pythonhosted.org/packages/67/cc/6fd14e45c5149e6c81c6771550ee5a4911321014e620f69baf1490001a80/websockets-12.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b81f90dcc6c85a9b7f29873beb56c94c85d6f0dac2ea8b60d995bd18bf3e2aae"}, + {url = "https://files.pythonhosted.org/packages/69/af/c52981023e7afcdfdb50c4697f702659b3dedca54f71e3cc99b8581f5647/websockets-12.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:ab3d732ad50a4fbd04a4490ef08acd0517b6ae6b77eb967251f4c263011a990d"}, + {url = "https://files.pythonhosted.org/packages/6e/a4/51a25e591d645df71ee0dc3a2c880b28e5514c00ce752f98a40a87abcd1e/websockets-12.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e332c210b14b57904869ca9f9bf4ca32f5427a03eeb625da9b616c85a3a506c"}, + {url = "https://files.pythonhosted.org/packages/74/4d/f88eeceb23cb587c4aeca779e3f356cf54817af2368cb7f2bd41f93c8360/websockets-12.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c588f6abc13f78a67044c6b1273a99e1cf31038ad51815b3b016ce699f0d75c2"}, + {url = "https://files.pythonhosted.org/packages/79/4d/9cc401e7b07e80532ebc8c8e993f42541534da9e9249c59ee0139dcb0352/websockets-12.0-py3-none-any.whl", hash = "sha256:dc284bbc8d7c78a6c69e0c7325ab46ee5e40bb4d50e494d8131a07ef47500e9e"}, + {url = "https://files.pythonhosted.org/packages/7b/9f/f5aae5c49b0fc04ca68c723386f0d97f17363384525c6566cd382912a022/websockets-12.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2e5fc14ec6ea568200ea4ef46545073da81900a2b67b3e666f04adf53ad452ec"}, + {url = "https://files.pythonhosted.org/packages/81/ee/272cb67ace1786ce6d9f39d47b3c55b335e8b75dd1972a7967aad39178b6/websockets-12.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c4e37d36f0d19f0a4413d3e18c0d03d0c268ada2061868c1e6f5ab1a6d575077"}, + {url = "https://files.pythonhosted.org/packages/88/81/a947a715a7108d5bcae01f2a1b19fe6dbab22d7bfec64541ed3d07043aaf/websockets-12.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:27a5e9964ef509016759f2ef3f2c1e13f403725a5e6a1775555994966a66e931"}, + {url = "https://files.pythonhosted.org/packages/91/83/5f8c4cf2a0cf26d8eebed77976a5663d6760e24c6d9e949e90b659d885e6/websockets-12.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:8572132c7be52632201a35f5e08348137f658e5ffd21f51f94572ca6c05ea81d"}, + {url = "https://files.pythonhosted.org/packages/94/92/5dc1202332df60422869fdb6c86213ff6987b1b06c329eed329cc49966f7/websockets-12.0-cp39-cp39-win_amd64.whl", hash = "sha256:fc4e7fa5414512b481a2483775a8e8be7803a35b30ca805afa4998a84f9fd9e8"}, + {url = "https://files.pythonhosted.org/packages/95/aa/1ac767825c96f9d7e43c4c95683757d4ef28cf11fa47a69aca42428d3e3a/websockets-12.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:dff6cdf35e31d1315790149fee351f9e52978130cef6c87c4b6c9b3baf78bc53"}, + {url = "https://files.pythonhosted.org/packages/95/aa/75fa3b893142d6d98a48cb461169bd268141f2da8bfca97392d6462a02eb/websockets-12.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ed2fcf7a07334c77fc8a230755c2209223a7cc44fc27597729b8ef5425aa61a3"}, + {url = "https://files.pythonhosted.org/packages/9a/12/c7a7504f5bf74d6ee0533f6fc7d30d8f4b79420ab179d1df2484b07602eb/websockets-12.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6350b14a40c95ddd53e775dbdbbbc59b124a5c8ecd6fbb09c2e52029f7a9f480"}, + {url = "https://files.pythonhosted.org/packages/9c/5b/648db3556d8a441aa9705e1132b3ddae76204b57410952f85cf4a953623a/websockets-12.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:bbe6013f9f791944ed31ca08b077e26249309639313fff132bfbf3ba105673b9"}, + {url = "https://files.pythonhosted.org/packages/a8/03/387fc902b397729df166763e336f4e5cec09fe7b9d60f442542c94a21be1/websockets-12.0-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d829f975fc2e527a3ef2f9c8f25e553eb7bc779c6665e8e1d52aa22800bb38b"}, + {url = "https://files.pythonhosted.org/packages/a9/1c/f68769fba63ccb9c13fe0a25b616bd5aebeef1c7ddebc2ccc32462fb784d/websockets-12.0-cp312-cp312-win32.whl", hash = "sha256:baa386875b70cbd81798fa9f71be689c1bf484f65fd6fb08d051a0ee4e79924d"}, + {url = "https://files.pythonhosted.org/packages/a9/6d/23cc898647c8a614a0d9ca703695dd04322fb5135096a20c2684b7c852b6/websockets-12.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0e6e2711d5a8e6e482cacb927a49a3d432345dfe7dea8ace7b5790df5932e4df"}, + {url = "https://files.pythonhosted.org/packages/ac/4e/c7361b2d7b964c40fea924d64881145164961fcd6c90b88b7e3ab2c4f431/websockets-12.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:6e2df67b8014767d0f785baa98393725739287684b9f8d8a1001eb2839031447"}, + {url = "https://files.pythonhosted.org/packages/af/32/f443ee05c815fccc4ca2899fe1cdcc7326b73ffb20b75d26b9b779d5d83b/websockets-12.0-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c3181df4583c4d3994d31fb235dc681d2aaad744fbdbf94c4802485ececdecf2"}, + {url = "https://files.pythonhosted.org/packages/af/9c/703ff3cd8109dcdee6152bae055d852ebaa7750117760ded697ab836cbcf/websockets-12.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:f764ba54e33daf20e167915edc443b6f88956f37fb606449b4a5b10ba42235a5"}, + {url = "https://files.pythonhosted.org/packages/af/f1/bba1e64430685dd456c1a1fd6b0c791ae33104967b928aefeff261761e8d/websockets-12.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7b645f491f3c48d3f8a00d1fce07445fab7347fec54a3e65f0725d730d5b99cb"}, + {url = "https://files.pythonhosted.org/packages/b0/8e/58b8812940d746ad74d395fb069497255cb5ef50748dfab1e8b386b1f339/websockets-12.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f44069528d45a933997a6fef143030d8ca8042f0dfaad753e2906398290e2870"}, + {url = "https://files.pythonhosted.org/packages/b1/b9/360b86ded0920a93bff0db4e4b0aa31370b0208ca240b2e98d62aad8d082/websockets-12.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d554236b2a2006e0ce16315c16eaa0d628dab009c33b63ea03f41c6107958374"}, + {url = "https://files.pythonhosted.org/packages/ba/0d/c1f43e921cbf0c546898bb54d22863490bb80491be2b24f1d1c9ac23cfd6/websockets-12.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:7fa3d25e81bfe6a89718e9791128398a50dec6d57faf23770787ff441d851967"}, + {url = "https://files.pythonhosted.org/packages/ba/43/b0dd6921ae0c8e48cdd5140b6745ae45424f4ad0aa3fd2eb06b48be55463/websockets-12.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b2ee7288b85959797970114deae81ab41b731f19ebcd3bd499ae9ca0e3f1d2c8"}, + {url = "https://files.pythonhosted.org/packages/bb/07/050a8f6b06eb8a876a51c56f752dd51f59982dda37f2a1788bfd2a26952e/websockets-12.0-cp39-cp39-win32.whl", hash = "sha256:cbe83a6bbdf207ff0541de01e11904827540aa069293696dd528a6640bd6a5f6"}, + {url = "https://files.pythonhosted.org/packages/bb/d3/1eca0d8fb6f0665c96f0dc7c0d0ec8aa1a425e8c003e0c18e1451f65d177/websockets-12.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2d225bb6886591b1746b17c0573e29804619c8f755b5598d875bb4235ea639be"}, + {url = "https://files.pythonhosted.org/packages/c5/db/2d12649006d6686802308831f4f8a1190105ea34afb68c52f098de689ad8/websockets-12.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a1d9697f3337a89691e3bd8dc56dea45a6f6d975f92e7d5f773bc715c15dde28"}, + {url = "https://files.pythonhosted.org/packages/c6/1a/142fa072b2292ca0897c282d12f48d5b18bdda5ac32774e3d6f9bddfd8fe/websockets-12.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e469d01137942849cff40517c97a30a93ae79917752b34029f0ec72df6b46399"}, + {url = "https://files.pythonhosted.org/packages/c6/68/ed11b1b1a24fb0fa1a8275f72464e2f1038e25cab0137a09747cd1f40836/websockets-12.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:2cb388a5bfb56df4d9a406783b7f9dbefb888c09b71629351cc6b036e9259370"}, + {url = "https://files.pythonhosted.org/packages/ca/cc/4dc115e53ef66a03fd13be5a8623947bfb6e17131f9bede444eca090a454/websockets-12.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:a571f035a47212288e3b3519944f6bf4ac7bc7553243e41eac50dd48552b6df7"}, + {url = "https://files.pythonhosted.org/packages/cd/ea/0ceeea4f5b87398fe2d9f5bcecfa00a1bcd542e2bfcac2f2e5dd612c4e9e/websockets-12.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5693ef74233122f8ebab026817b1b37fe25c411ecfca084b29bc7d6efc548f45"}, + {url = "https://files.pythonhosted.org/packages/d0/f2/f4baa6c9e28c2d06cc787203eea18eb1d875f4fddb8e85c28df91f02bc55/websockets-12.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5f6ffe2c6598f7f7207eef9a1228b6f5c818f9f4d53ee920aacd35cec8110438"}, + {url = "https://files.pythonhosted.org/packages/d1/40/6b169cd1957476374f51f4486a3e85003149e62a14e6b78a958c2222337a/websockets-12.0-cp311-cp311-win_amd64.whl", hash = "sha256:25eb766c8ad27da0f79420b2af4b85d29914ba0edf69f547cc4f06ca6f1d403b"}, + {url = "https://files.pythonhosted.org/packages/d3/45/bcf3056e7627652aa54bf82cbdeaea1d293d4d78fcd4a8e4ee72080ac511/websockets-12.0-cp38-cp38-win32.whl", hash = "sha256:3c6cc1360c10c17463aadd29dd3af332d4a1adaa8796f6b0e9f9df1fdb0bad62"}, + {url = "https://files.pythonhosted.org/packages/e1/16/9e2c741660d541cc239cdc9f04cbc56bad2ac7585782f57ae7f329481f89/websockets-12.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:423fc1ed29f7512fceb727e2d2aecb952c46aa34895e9ed96071821309951123"}, + {url = "https://files.pythonhosted.org/packages/e3/05/f52a60b66d9faf07a4f7d71dc056bffafe36a7e98c4eb5b78f04fe6e4e85/websockets-12.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e9e7db18b4539a29cc5ad8c8b252738a30e2b13f033c2d6e9d0549b45841c04"}, + {url = "https://files.pythonhosted.org/packages/e4/2d/9a683359ad2ed11b2303a7a94800db19c61d33fa3bde271df09e99936022/websockets-12.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3f61726cae9f65b872502ff3c1496abc93ffbe31b278455c418492016e2afc8f"}, + {url = "https://files.pythonhosted.org/packages/e4/6a/3600c7771eb31116d2e77383d7345618b37bb93709d041e328c08e2a8eb3/websockets-12.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:70ec754cc2a769bcd218ed8d7209055667b30860ffecb8633a834dde27d6307c"}, + {url = "https://files.pythonhosted.org/packages/e4/9e/5c565ca57c2b72b26057df3fd8ea62533cbc1bf4b166249c6107a71f9e80/websockets-12.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9edf3fc590cc2ec20dc9d7a45108b5bbaf21c0d89f9fd3fd1685e223771dc0b2"}, + {url = "https://files.pythonhosted.org/packages/e5/18/18ce9a4a08203c8d0d3d561e3ea4f453daf32f099601fc831e60c8a9b0f2/websockets-12.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4d87be612cbef86f994178d5186add3d94e9f31cc3cb499a0482b866ec477603"}, + {url = "https://files.pythonhosted.org/packages/e9/bc/646bfbd9badbf59efb48db7265b097e9f626c3530c9d1329a826ef4db6a0/websockets-12.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87b4aafed34653e465eb77b7c93ef058516cb5acf3eb21e42f33928616172def"}, + {url = "https://files.pythonhosted.org/packages/f1/00/d6f01ca2b191f8b0808e4132ccd2e7691f0453cbd7d0f72330eb97453c3a/websockets-12.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1f38a7b376117ef7aff996e737583172bdf535932c9ca021746573bce40165ed"}, +] +"wrapt 1.16.0" = [ + {url = "https://files.pythonhosted.org/packages/01/db/4b29ba5f97d2a0aa97ec41eba1036b7c3eaf6e61e1f4639420cec2463a01/wrapt-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:490b0ee15c1a55be9c1bd8609b8cecd60e325f0575fc98f50058eae366e01f41"}, + {url = "https://files.pythonhosted.org/packages/03/60/67dbc0624f1c86cce6150c0b2e13d906009fd6d33128add60a8a2d23137d/wrapt-1.16.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:b935ae30c6e7400022b50f8d359c03ed233d45b725cfdd299462f41ee5ffba6f"}, + {url = "https://files.pythonhosted.org/packages/07/44/359e4724a92369b88dbf09878a7cde7393cf3da885567ea898e5904049a3/wrapt-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:bf5703fdeb350e36885f2875d853ce13172ae281c56e509f4e6eca049bdfb136"}, + {url = "https://files.pythonhosted.org/packages/09/43/b26852e9c45a1aac0d14b1080b25b612fa840ba99739c5fc55db07b7ce08/wrapt-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed867c42c268f876097248e05b6117a65bcd1e63b779e916fe2e33cd6fd0d3c3"}, + {url = "https://files.pythonhosted.org/packages/0f/16/ea627d7817394db04518f62934a5de59874b587b792300991b3c347ff5e0/wrapt-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:75ea7d0ee2a15733684badb16de6794894ed9c55aa5e9903260922f0482e687d"}, + {url = "https://files.pythonhosted.org/packages/0f/ef/0ecb1fa23145560431b970418dce575cfaec555ab08617d82eb92afc7ccf/wrapt-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:6dcfcffe73710be01d90cae08c3e548d90932d37b39ef83969ae135d36ef3956"}, + {url = "https://files.pythonhosted.org/packages/11/fb/18ec40265ab81c0e82a934de04596b6ce972c27ba2592c8b53d5585e6bcd/wrapt-1.16.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d2efee35b4b0a347e0d99d28e884dfd82797852d62fcd7ebdeee26f3ceb72cf3"}, + {url = "https://files.pythonhosted.org/packages/14/26/93a9fa02c6f257df54d7570dfe8011995138118d11939a4ecd82cb849613/wrapt-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:418abb18146475c310d7a6dc71143d6f7adec5b004ac9ce08dc7a34e2babdc5c"}, + {url = "https://files.pythonhosted.org/packages/15/4e/081f59237b620a124b035f1229f55db40841a9339fdb8ef60b4decc44df9/wrapt-1.16.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d5e49454f19ef621089e204f862388d29e6e8d8b162efce05208913dde5b9ad6"}, + {url = "https://files.pythonhosted.org/packages/19/2b/548d23362e3002ebbfaefe649b833fa43f6ca37ac3e95472130c4b69e0b4/wrapt-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:decbfa2f618fa8ed81c95ee18a387ff973143c656ef800c9f24fb7e9c16054e2"}, + {url = "https://files.pythonhosted.org/packages/19/d4/cd33d3a82df73a064c9b6401d14f346e1d2fb372885f0295516ec08ed2ee/wrapt-1.16.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:73aa7d98215d39b8455f103de64391cb79dfcad601701a3aa0dddacf74911d72"}, + {url = "https://files.pythonhosted.org/packages/25/62/cd284b2b747f175b5a96cbd8092b32e7369edab0644c45784871528eb852/wrapt-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:eb6e651000a19c96f452c85132811d25e9264d836951022d6e81df2fff38337d"}, + {url = "https://files.pythonhosted.org/packages/26/dd/1ea7cb367962a6132ab163e7b2d270049e0f471f0238d0e55cfd27219721/wrapt-1.16.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9159485323798c8dc530a224bd3ffcf76659319ccc7bbd52e01e73bd0241a0c5"}, + {url = "https://files.pythonhosted.org/packages/28/d3/4f079f649c515727c127c987b2ec2e0816b80d95784f2d28d1a57d2a1029/wrapt-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5cd603b575ebceca7da5a3a251e69561bec509e0b46e4993e1cac402b7247b8"}, + {url = "https://files.pythonhosted.org/packages/32/12/e11adfde33444986135d8881b401e4de6cbb4cced046edc6b464e6ad7547/wrapt-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e4fdb9275308292e880dcbeb12546df7f3e0f96c6b41197e0cf37d2826359020"}, + {url = "https://files.pythonhosted.org/packages/33/df/6d33cd045919567de125ee86df4ea57077019619d038c1509b4bffdf8bcb/wrapt-1.16.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b3646eefa23daeba62643a58aac816945cadc0afaf21800a1421eeba5f6cfb9c"}, + {url = "https://files.pythonhosted.org/packages/34/37/e5540d14befd0e62cfed1820b76196b5c39029e63dc9c67630d9fbcf27f4/wrapt-1.16.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:d462f28826f4657968ae51d2181a074dfe03c200d6131690b7d65d55b0f360f8"}, + {url = "https://files.pythonhosted.org/packages/34/49/589db6fa2d5d428b71716815bca8b39196fdaeea7c247a719ed2f93b0ab4/wrapt-1.16.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6a42cd0cfa8ffc1915aef79cb4284f6383d8a3e9dcca70c445dcfdd639d51267"}, + {url = "https://files.pythonhosted.org/packages/36/fc/318d240d1360e6e8f975ae35ca8983d8a1d0fe2264ce4fae38db844615ed/wrapt-1.16.0-cp36-cp36m-win_amd64.whl", hash = "sha256:6f6eac2360f2d543cc875a0e5efd413b6cbd483cb3ad7ebf888884a6e0d2e966"}, + {url = "https://files.pythonhosted.org/packages/39/af/1cc9d51588d865395b620b58c6ae18e9a0da105bbcbde719ba39b4d80f02/wrapt-1.16.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a33a747400b94b6d6b8a165e4480264a64a78c8a4c734b62136062e9a248dd39"}, + {url = "https://files.pythonhosted.org/packages/3a/ad/9d26a33bc80444ff97b937f94611f3b986fd40f735823558dfdf05ef9db8/wrapt-1.16.0-cp38-cp38-win32.whl", hash = "sha256:c31f72b1b6624c9d863fc095da460802f43a7c6868c5dda140f51da24fd47d7b"}, + {url = "https://files.pythonhosted.org/packages/47/cf/c2861bc5e0d5f4f277e1cefd7b3f8904794cc58469d35eaa82032a84e1c9/wrapt-1.16.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a0ea261ce52b5952bf669684a251a66df239ec6d441ccb59ec7afa882265d593"}, + {url = "https://files.pythonhosted.org/packages/49/4e/5d2f6d7b57fc9956bf06e944eb00463551f7d52fc73ca35cfc4c2cdb7aed/wrapt-1.16.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:14d7dc606219cdd7405133c713f2c218d4252f2a469003f8c46bb92d5d095d81"}, + {url = "https://files.pythonhosted.org/packages/49/83/b40bc1ad04a868b5b5bcec86349f06c1ee1ea7afe51dc3e46131e4f39308/wrapt-1.16.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac83a914ebaf589b69f7d0a1277602ff494e21f4c2f743313414378f8f50a4cf"}, + {url = "https://files.pythonhosted.org/packages/4a/cc/3402bcc897978be00fef608cd9e3e39ec8869c973feeb5e1e277670e5ad2/wrapt-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2076fad65c6736184e77d7d4729b63a6d1ae0b70da4868adeec40989858eb3fb"}, + {url = "https://files.pythonhosted.org/packages/54/39/04409d9fc89f77bce37b98545b6ee7247ad11df28373206536eea078a390/wrapt-1.16.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7bd2d7ff69a2cac767fbf7a2b206add2e9a210e57947dd7ce03e25d03d2de292"}, + {url = "https://files.pythonhosted.org/packages/57/cf/caaec865789ec7ef277fbf65f09128237f41c17774f242023739f3c98709/wrapt-1.16.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:bc57efac2da352a51cc4658878a68d2b1b67dbe9d33c36cb826ca449d80a8465"}, + {url = "https://files.pythonhosted.org/packages/58/43/d72e625edb5926483c9868214d25b5e7d5858ace6a80c9dfddfbadf4d8f9/wrapt-1.16.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dbed418ba5c3dce92619656802cc5355cb679e58d0d89b50f116e4a9d5a9603e"}, + {url = "https://files.pythonhosted.org/packages/5c/cc/8297f9658506b224aa4bd71906447dea6bb0ba629861a758c28f67428b91/wrapt-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:dcdba5c86e368442528f7060039eda390cc4091bfd1dca41e8046af7c910dda8"}, + {url = "https://files.pythonhosted.org/packages/62/62/30ca2405de6a20448ee557ab2cd61ab9c5900be7cbd18a2639db595f0b98/wrapt-1.16.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:98b5e1f498a8ca1858a1cdbffb023bfd954da4e3fa2c0cb5853d40014557248b"}, + {url = "https://files.pythonhosted.org/packages/66/50/1c5ccb23dd63f8f3d312dc2d5e0e64c681faf7c2388fa1ab2553713cef11/wrapt-1.16.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ebf019be5c09d400cf7b024aa52b1f3aeebeff51550d007e92c3c1c4afc2a40"}, + {url = "https://files.pythonhosted.org/packages/66/a5/50e6a2bd4cbf6671012771ec35085807a375da5e61540bc5f62de62ba955/wrapt-1.16.0-cp37-cp37m-win_amd64.whl", hash = "sha256:66dfbaa7cfa3eb707bbfcd46dab2bc6207b005cbc9caa2199bcbc81d95071a00"}, + {url = "https://files.pythonhosted.org/packages/69/21/b2ba809bafc9b6265e359f9c259c6d9a52a16cf6be20c72d95e76da609dd/wrapt-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e9723528b9f787dc59168369e42ae1c3b0d3fadb2f1a71de14531d321ee05b0"}, + {url = "https://files.pythonhosted.org/packages/6a/d7/cfcd73e8f4858079ac59d9db1ec5a1349bc486ae8e9ba55698cc1f4a1dff/wrapt-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9090c9e676d5236a6948330e83cb89969f433b1943a558968f659ead07cb3b36"}, + {url = "https://files.pythonhosted.org/packages/6e/52/2da48b35193e39ac53cfb141467d9f259851522d0e8c87153f0ba4205fb1/wrapt-1.16.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:72554a23c78a8e7aa02abbd699d129eead8b147a23c56e08d08dfc29cfdddca1"}, + {url = "https://files.pythonhosted.org/packages/70/7d/3dcc4a7e96f8d3e398450ec7703db384413f79bd6c0196e0e139055ce00f/wrapt-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb2dee3874a500de01c93d5c71415fcaef1d858370d405824783e7a8ef5db440"}, + {url = "https://files.pythonhosted.org/packages/70/cc/b92e1da2cad6a9f8ee481000ece07a35e3b24e041e60ff8b850c079f0ebf/wrapt-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9b201ae332c3637a42f02d1045e1d0cccfdc41f1f2f801dafbaa7e9b4797bfc2"}, + {url = "https://files.pythonhosted.org/packages/72/b5/0c9be75f826c8e8d583a4ab312552d63d9f7c0768710146a22ac59bda4a9/wrapt-1.16.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:44a2754372e32ab315734c6c73b24351d06e77ffff6ae27d2ecf14cf3d229202"}, + {url = "https://files.pythonhosted.org/packages/74/f2/96ed140b08743f7f68d5bda35a2a589600781366c3da96f056043d258b1a/wrapt-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:eb1b046be06b0fce7249f1d025cd359b4b80fc1c3e24ad9eca33e0dcdb2e4a35"}, + {url = "https://files.pythonhosted.org/packages/78/98/6307b4da5080432c5a37b69da92ae0582fd284441025014047e98a002ea1/wrapt-1.16.0-cp37-cp37m-win32.whl", hash = "sha256:9153ed35fc5e4fa3b2fe97bddaa7cbec0ed22412b85bcdaf54aeba92ea37428c"}, + {url = "https://files.pythonhosted.org/packages/7e/79/5ff0a5c54bda5aec75b36453d06be4f83d5cd4932cc84b7cb2b52cee23e2/wrapt-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94265b00870aa407bd0cbcfd536f17ecde43b94fb8d228560a1e9d3041462d73"}, + {url = "https://files.pythonhosted.org/packages/7f/46/896369f2550d1ecb5e776f532aada5e77e5e13f821045978cf3d7f3f236b/wrapt-1.16.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a86373cf37cd7764f2201b76496aba58a52e76dedfaa698ef9e9688bfd9e41cf"}, + {url = "https://files.pythonhosted.org/packages/7f/a7/f1212ba098f3de0fd244e2de0f8791ad2539c03bef6c05a9fcb03e45b089/wrapt-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a452f9ca3e3267cd4d0fcf2edd0d035b1934ac2bd7e0e57ac91ad6b95c0c6389"}, + {url = "https://files.pythonhosted.org/packages/88/8f/706f2fee019360cc1da652353330350c76aa5746b4e191082e45d6838faf/wrapt-1.16.0-cp310-cp310-win32.whl", hash = "sha256:f6b2d0c6703c988d334f297aa5df18c45e97b0af3679bb75059e0e0bd8b1069d"}, + {url = "https://files.pythonhosted.org/packages/8e/36/517a47f1b286f97433cf46201745917db5d9944cbb97fb45f55cc71024d0/wrapt-1.16.0-cp36-cp36m-win32.whl", hash = "sha256:da4813f751142436b075ed7aa012a8778aa43a99f7b36afe9b742d3ed8bdc95e"}, + {url = "https://files.pythonhosted.org/packages/8e/5f/574076e289c42e7c1c2abe944fd9dafb5adcb20b36577d4966ddef145539/wrapt-1.16.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:db98ad84a55eb09b3c32a96c576476777e87c520a34e2519d3e59c44710c002c"}, + {url = "https://files.pythonhosted.org/packages/92/17/224132494c1e23521868cdd57cd1e903f3b6a7ba6996b7b8f077ff8ac7fe/wrapt-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5eb404d89131ec9b4f748fa5cfb5346802e5ee8836f57d516576e61f304f3b7b"}, + {url = "https://files.pythonhosted.org/packages/95/4c/063a912e20bcef7124e0df97282a8af3ff3e4b603ce84c481d6d7346be0a/wrapt-1.16.0.tar.gz", hash = "sha256:5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d"}, + {url = "https://files.pythonhosted.org/packages/96/e8/27ef35cf61e5147c1c3abcb89cfbb8d691b2bb8364803fcc950140bc14d8/wrapt-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:db2e408d983b0e61e238cf579c09ef7020560441906ca990fe8412153e3b291f"}, + {url = "https://files.pythonhosted.org/packages/a2/5b/4660897233eb2c8c4de3dc7cefed114c61bacb3c28327e64150dc44ee2f6/wrapt-1.16.0-cp312-cp312-win32.whl", hash = "sha256:685f568fa5e627e93f3b52fda002c7ed2fa1800b50ce51f6ed1d572d8ab3e7fc"}, + {url = "https://files.pythonhosted.org/packages/a3/1c/226c2a4932e578a2241dcb383f425995f80224b446f439c2e112eb51c3a6/wrapt-1.16.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b47cfad9e9bbbed2339081f4e346c93ecd7ab504299403320bf85f7f85c7d46c"}, + {url = "https://files.pythonhosted.org/packages/a6/9b/c2c21b44ff5b9bf14a83252a8b973fb84923764ff63db3e6dfc3895cf2e0/wrapt-1.16.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:49aac49dc4782cb04f58986e81ea0b4768e4ff197b57324dcbd7699c5dfb40b9"}, + {url = "https://files.pythonhosted.org/packages/a8/c6/5375258add3777494671d8cec27cdf5402abd91016dee24aa2972c61fedf/wrapt-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ffa565331890b90056c01db69c0fe634a776f8019c143a5ae265f9c6bc4bd6d4"}, + {url = "https://files.pythonhosted.org/packages/b1/e7/459a8a4f40f2fa65eb73cb3f339e6d152957932516d18d0e996c7ae2d7ae/wrapt-1.16.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8212564d49c50eb4565e502814f694e240c55551a5f1bc841d4fcaabb0a9b8a"}, + {url = "https://files.pythonhosted.org/packages/b6/ad/7a0766341081bfd9f18a7049e4d6d45586ae5c5bb0a640f05e2f558e849c/wrapt-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:edfad1d29c73f9b863ebe7082ae9321374ccb10879eeabc84ba3b69f2579d537"}, + {url = "https://files.pythonhosted.org/packages/b7/96/bb5e08b3d6db003c9ab219c487714c13a237ee7dcc572a555eaf1ce7dc82/wrapt-1.16.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:43aa59eadec7890d9958748db829df269f0368521ba6dc68cc172d5d03ed8060"}, + {url = "https://files.pythonhosted.org/packages/bf/42/1241b88440ccf8adbf78c81c8899001459102031cc52668cc4e749d9987e/wrapt-1.16.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:73870c364c11f03ed072dda68ff7aea6d2a3a5c3fe250d917a429c7432e15228"}, + {url = "https://files.pythonhosted.org/packages/c4/81/e799bf5d419f422d8712108837c1d9bf6ebe3cb2a81ad94413449543a923/wrapt-1.16.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f2058f813d4f2b5e3a9eb2eb3faf8f1d99b81c3e51aeda4b168406443e8ba809"}, + {url = "https://files.pythonhosted.org/packages/c5/0f/8245c6167ef25965abfe108400710ef568f84ba53ef3c10873586b75d329/wrapt-1.16.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:0d2691979e93d06a95a26257adb7bfd0c93818e89b1406f5a28f36e0d8c1e1fc"}, + {url = "https://files.pythonhosted.org/packages/c5/40/3eabe06c8dc54fada7364f34e8caa562efe3bf3f769bf3258de9c785a27f/wrapt-1.16.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:1ca9b6085e4f866bd584fb135a041bfc32cab916e69f714a7d1d397f8c4891ca"}, + {url = "https://files.pythonhosted.org/packages/cf/95/cd839cf67a9afd588e09ce8139d6afa8b5c81a8a7be7804744c715c7141e/wrapt-1.16.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:1acd723ee2a8826f3d53910255643e33673e1d11db84ce5880675954183ec47e"}, + {url = "https://files.pythonhosted.org/packages/cf/c3/0084351951d9579ae83a3d9e38c140371e4c6b038136909235079f2e6e78/wrapt-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:aefbc4cb0a54f91af643660a0a150ce2c090d3652cf4052a5397fb2de549cd89"}, + {url = "https://files.pythonhosted.org/packages/d1/c4/8dfdc3c2f0b38be85c8d9fdf0011ebad2f54e40897f9549a356bebb63a97/wrapt-1.16.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2a88e6010048489cda82b1326889ec075a8c856c2e6a256072b28eaee3ccf487"}, + {url = "https://files.pythonhosted.org/packages/da/6f/6d0b3c4983f1fc764a422989dabc268ee87d937763246cd48aa92f1eed1e/wrapt-1.16.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:5f15814a33e42b04e3de432e573aa557f9f0f56458745c2074952f564c50e664"}, + {url = "https://files.pythonhosted.org/packages/e5/a7/47b7ff74fbadf81b696872d5ba504966591a3468f1bc86bca2f407baef68/wrapt-1.16.0-cp311-cp311-win32.whl", hash = "sha256:66027d667efe95cc4fa945af59f92c5a02c6f5bb6012bff9e60542c74c75c362"}, + {url = "https://files.pythonhosted.org/packages/ef/58/2fde309415b5fa98fd8f5f4a11886cbf276824c4c64d45a39da342fff6fe/wrapt-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:807cc8543a477ab7422f1120a217054f958a66ef7314f76dd9e77d3f02cdccd0"}, + {url = "https://files.pythonhosted.org/packages/ef/c6/56e718e2c58a4078518c14d97e531ef1e9e8a5c1ddafdc0d264a92be1a1a/wrapt-1.16.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:941988b89b4fd6b41c3f0bfb20e92bd23746579736b7343283297c4c8cbae68f"}, + {url = "https://files.pythonhosted.org/packages/fd/03/c188ac517f402775b90d6f312955a5e53b866c964b32119f2ed76315697e/wrapt-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1a5db485fe2de4403f13fafdc231b0dbae5eca4359232d2efc79025527375b09"}, + {url = "https://files.pythonhosted.org/packages/fe/9e/d3bc95e75670ba15c5b25ecf07fc49941843e2678d777ca59339348d1c96/wrapt-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1dd50a2696ff89f57bd8847647a1c363b687d3d796dc30d4dd4a9d1689a706f0"}, + {url = "https://files.pythonhosted.org/packages/ff/21/abdedb4cdf6ff41ebf01a74087740a709e2edb146490e4d9beea054b0b7a/wrapt-1.16.0-py3-none-any.whl", hash = "sha256:6906c4100a8fcbf2fa735f6059214bb13b97f75b1a61777fcf6432121ef12ef1"}, +] "yarl 1.9.2" = [ {url = "https://files.pythonhosted.org/packages/0e/b1/a65fcf0363ae8c08c0e586772a34cc15b4200bae163eed24258cc95cda90/yarl-1.9.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:566185e8ebc0898b11f8026447eacd02e46226716229cea8db37496c8cdd26e0"}, {url = "https://files.pythonhosted.org/packages/10/b1/13887c4fbf885d64f4b8c1bac403338f7c1c07a34e63d767af8d0972c28d/yarl-1.9.2-cp37-cp37m-win32.whl", hash = "sha256:f364d3480bffd3aa566e886587eaca7c8c04d74f6e8933f3f2c996b7f09bee1b"}, diff --git a/pyproject.toml b/pyproject.toml index 1749a146..2a78fa7f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -15,6 +15,7 @@ dependencies = [ "fastapi>=0.104.1", "aiosqlite>=0.19.0", "ipython>=8.12.3", + "chromadb>=0.4.18", ] requires-python = ">=3.8.8,<3.12" readme = "README.md"