From 5aa0b5333732facc9005ff725e25ca15b2f39c2d Mon Sep 17 00:00:00 2001 From: gayathrivijayakumar Date: Tue, 14 May 2024 13:49:27 +0530 Subject: [PATCH 1/8] SDK refactoring --- src/unstract/sdk/constants.py | 5 + src/unstract/sdk/embedding.py | 39 ++-- src/unstract/sdk/exceptions.py | 6 +- src/unstract/sdk/index.py | 220 +++++++++++---------- src/unstract/sdk/llm.py | 62 +++--- src/unstract/sdk/ocr.py | 24 ++- src/unstract/sdk/utils/callback_manager.py | 43 ++-- src/unstract/sdk/utils/usage_handler.py | 4 +- src/unstract/sdk/vector_db.py | 117 ++++++++--- src/unstract/sdk/x2txt.py | 15 +- 10 files changed, 330 insertions(+), 205 deletions(-) diff --git a/src/unstract/sdk/constants.py b/src/unstract/sdk/constants.py index 451fab02..819ada50 100644 --- a/src/unstract/sdk/constants.py +++ b/src/unstract/sdk/constants.py @@ -146,3 +146,8 @@ class ToolSettingsKey: EMBEDDING_ADAPTER_ID = "embeddingAdapterId" VECTOR_DB_ADAPTER_ID = "vectorDbAdapterId" X2TEXT_ADAPTER_ID = "x2TextAdapterId" + ADAPTER_INSTANCE_ID = "adapter_instance_id" + EMBEDDING_DIMENSION = "embedding_dimension" + RUN_ID = "run_id" + WORKFLOW_ID = "workflow_id" + EXECUTION_ID = "execution_id" diff --git a/src/unstract/sdk/embedding.py b/src/unstract/sdk/embedding.py index 25b8f058..c1376f70 100644 --- a/src/unstract/sdk/embedding.py +++ b/src/unstract/sdk/embedding.py @@ -1,22 +1,28 @@ +from llama_index.core.base.embeddings.base import Embedding from llama_index.core.embeddings import BaseEmbedding +from typing_extensions import deprecated from unstract.adapters.constants import Common from unstract.adapters.embedding import adapters from unstract.sdk.adapters import ToolAdapter from unstract.sdk.constants import LogLevel -from unstract.sdk.exceptions import SdkError, ToolEmbeddingError +from unstract.sdk.exceptions import EmbeddingError, SdkError from unstract.sdk.tool.base import BaseTool -class ToolEmbedding: - __TEST_SNIPPET = "Hello, I am Unstract" +class Embedding: + _TEST_SNIPPET = "Hello, I am Unstract" + MAX_TOKENS = 1024 * 16 + embedding_adapters = adapters - def __init__(self, tool: BaseTool): + def __init__(self, tool: BaseTool, adapter_intance_id: str, **usage_kwargs): self.tool = tool - self.max_tokens = 1024 * 16 - self.embedding_adapters = adapters + self.adapter_instance_id = adapter_intance_id + self.usage_kwargs = usage_kwargs + self.embedding_instance: BaseEmbedding = self._get_embedding() + self.length: int = self._get_embedding_length() - def get_embedding(self, adapter_instance_id: str) -> BaseEmbedding: + def _get_embedding(self) -> BaseEmbedding: """Gets an instance of LlamaIndex's embedding object. Args: @@ -27,7 +33,7 @@ def get_embedding(self, adapter_instance_id: str) -> BaseEmbedding: """ try: embedding_config_data = ToolAdapter.get_adapter_config( - self.tool, adapter_instance_id + self.tool, self.adapter_instance_id ) embedding_adapter_id = embedding_config_data.get(Common.ADAPTER_ID) if embedding_adapter_id not in self.embedding_adapters: @@ -45,9 +51,20 @@ def get_embedding(self, adapter_instance_id: str) -> BaseEmbedding: self.tool.stream_log( log=f"Error getting embedding: {e}", level=LogLevel.ERROR ) - raise ToolEmbeddingError(f"Error getting embedding instance: {e}") from e + raise EmbeddingError(f"Error getting embedding instance: {e}") from e - def get_embedding_length(self, embedding: BaseEmbedding) -> int: - embedding_list = embedding._get_text_embedding(self.__TEST_SNIPPET) + def get_query_embedding(self, query: str) -> Embedding: + return self.embedding_instance.get_query_embedding(query) + + def _get_embedding_length(self) -> int: + embedding_list = self.embedding_instance._get_text_embedding(self._TEST_SNIPPET) embedding_dimension = len(embedding_list) return embedding_dimension + + @deprecated("Use the new class Embedding") + def get_embedding_length(self, embedding: BaseEmbedding) -> int: + return self._get_embedding_length(embedding) + + +# Legacy +ToolEmbedding = Embedding diff --git a/src/unstract/sdk/exceptions.py b/src/unstract/sdk/exceptions.py index 05237c9c..e734744c 100644 --- a/src/unstract/sdk/exceptions.py +++ b/src/unstract/sdk/exceptions.py @@ -17,15 +17,15 @@ def __init__(self, message: str = ""): super().__init__(message) -class ToolLLMError(SdkError): +class LLMError(SdkError): DEFAULT_MESSAGE = "Error ocurred related to LLM" -class ToolEmbeddingError(SdkError): +class EmbeddingError(SdkError): DEFAULT_MESSAGE = "Error ocurred related to embedding" -class ToolVectorDBError(SdkError): +class VectorDBError(SdkError): DEFAULT_MESSAGE = "Error ocurred related to vector DB" diff --git a/src/unstract/sdk/index.py b/src/unstract/sdk/index.py index 7ad986d3..bbdbea76 100644 --- a/src/unstract/sdk/index.py +++ b/src/unstract/sdk/index.py @@ -2,9 +2,7 @@ from typing import Optional from llama_index.core import Document -from llama_index.core.indices.vector_store import VectorStoreIndex from llama_index.core.node_parser import SimpleNodeParser -from llama_index.core.storage import StorageContext from llama_index.core.vector_stores import ( FilterOperator, MetadataFilter, @@ -13,75 +11,90 @@ VectorStoreQueryResult, ) from unstract.adapters.exceptions import AdapterError -from unstract.adapters.x2text.x2text_adapter import X2TextAdapter from unstract.sdk.adapters import ToolAdapter -from unstract.sdk.constants import LogLevel, ToolEnv -from unstract.sdk.embedding import ToolEmbedding +from unstract.sdk.constants import LogLevel +from unstract.sdk.embedding import Embedding from unstract.sdk.exceptions import IndexingError, SdkError from unstract.sdk.tool.base import BaseTool from unstract.sdk.utils import ToolUtils -from unstract.sdk.utils.callback_manager import CallbackManager as UNCallbackManager -from unstract.sdk.vector_db import ToolVectorDB +from unstract.sdk.vector_db import VectorDB from unstract.sdk.x2txt import X2Text -class ToolIndex: +class Index: def __init__(self, tool: BaseTool): # TODO: Inherit from StreamMixin and avoid using BaseTool self.tool = tool def get_text_from_index( - self, embedding_type: str, vector_db: str, doc_id: str - ) -> Optional[str]: - embedd_helper = ToolEmbedding(tool=self.tool) - embedding_li = embedd_helper.get_embedding(adapter_instance_id=embedding_type) - embedding_dimension = embedd_helper.get_embedding_length(embedding_li) - - vdb_helper = ToolVectorDB( - tool=self.tool, - ) - vector_db_li = vdb_helper.get_vector_db( - adapter_instance_id=vector_db, - embedding_dimension=embedding_dimension, - ) - + self, + embedding_instance_id: str, + vector_db_instance_id: str, + doc_id: str, + **usage_kwargs, + ): try: - self.tool.stream_log(f">>> Querying {vector_db}...") - self.tool.stream_log(f">>> {doc_id}") - doc_id_eq_filter = MetadataFilter.from_dict( - { - "key": "doc_id", - "operator": FilterOperator.EQ, - "value": doc_id, - } + embedding = Embedding( + tool=self.tool, + adapter_intance_id=embedding_instance_id, + usage_kwargs=usage_kwargs, ) - filters = MetadataFilters(filters=[doc_id_eq_filter]) - q = VectorStoreQuery( - query_embedding=embedding_li.get_query_embedding(" "), - doc_ids=[doc_id], - filters=filters, - similarity_top_k=10000, + except SdkError as e: + self.tool.stream_log(embedding_instance_id) + raise SdkError(f"Error loading {embedding_instance_id}: {e}") + + try: + vector_db = VectorDB( + tool=self.tool, + adapter_instance_id=vector_db_instance_id, + embedding=embedding, ) - except Exception as e: + + except SdkError as e: self.tool.stream_log( - f"Error querying {vector_db}: {e}", level=LogLevel.ERROR + f"Error loading {vector_db_instance_id}", level=LogLevel.ERROR ) - raise SdkError(f"Error querying {vector_db}: {e}") - - n: VectorStoreQueryResult = vector_db_li.query(query=q) - if len(n.nodes) > 0: - self.tool.stream_log(f"Found {len(n.nodes)} nodes for {doc_id}") - all_text = "" - for node in n.nodes: - all_text += node.get_content() - return all_text - else: - self.tool.stream_log(f"No nodes found for {doc_id}") - return None + raise SdkError(f"Error loading {vector_db_instance_id}: {e}") + try: + try: + self.tool.stream_log(f">>> Querying {vector_db_instance_id}...") + self.tool.stream_log(f">>> {doc_id}") + doc_id_eq_filter = MetadataFilter.from_dict( + { + "key": "doc_id", + "operator": FilterOperator.EQ, + "value": doc_id, + } + ) + filters = MetadataFilters(filters=[doc_id_eq_filter]) + q = VectorStoreQuery( + query_embedding=embedding.get_query_embedding(" "), + doc_ids=[doc_id], + filters=filters, + similarity_top_k=10000, + ) + except Exception as e: + self.tool.stream_log( + f"Error querying {vector_db}: {e}", level=LogLevel.ERROR + ) + raise SdkError(f"Error querying {vector_db}: {e}") + + n: VectorStoreQueryResult = vector_db.query(query=q) + if len(n.nodes) > 0: + self.tool.stream_log(f"Found {len(n.nodes)} nodes for {doc_id}") + all_text = "" + for node in n.nodes: + all_text += node.get_content() + return all_text + else: + self.tool.stream_log(f"No nodes found for {doc_id}") + return None + finally: + vector_db.close() def _cleanup_text(self, full_text): - # Remove text which is not requried + # Remove text which is not required full_text_lines = full_text.split("\n") new_context_lines = [] empty_line_count = 0 @@ -104,24 +117,25 @@ def _cleanup_text(self, full_text): def index_file( self, tool_id: str, - embedding_type: str, - vector_db: str, - x2text_adapter: str, + embedding_instance_id: str, + vector_db_instance_id: str, + x2text_instance_id: str, file_path: str, chunk_size: int, chunk_overlap: int, reindex: bool = False, file_hash: Optional[str] = None, output_file_path: Optional[str] = None, + **usage_kwargs, ) -> str: """Indexes an individual file using the passed arguments. Args: - tool_id (str): UUID of the tool (workflow_id in case its called + tool_id (str): UUID of the tool (workflow_id in case it's called from workflow) - embedding_type (str): UUID of the embedding service configured - vector_db (str): UUID of the vector DB configured - x2text_adapter (str): UUID of the x2text adapter configured. + embedding_instance_id (str): UUID of the embedding service configured + vector_db_instance_id (str): UUID of the vector DB configured + x2text_instance_id (str): UUID of the x2text adapter configured. This is to extract text from documents. file_path (str): Path to the file that needs to be indexed. chunk_size (int): Chunk size to be used for indexing @@ -138,9 +152,9 @@ def index_file( """ doc_id = self.generate_file_id( tool_id=tool_id, - vector_db=vector_db, - embedding=embedding_type, - x2text=x2text_adapter, + vector_db=vector_db_instance_id, + embedding=embedding_instance_id, + x2text=x2text_instance_id, chunk_size=str(chunk_size), chunk_overlap=str(chunk_overlap), file_path=file_path, @@ -148,19 +162,29 @@ def index_file( ) self.tool.stream_log(f"Checking if doc_id {doc_id} exists") - # Get embedding instance - embedd_helper = ToolEmbedding(tool=self.tool) - embedding_li = embedd_helper.get_embedding(adapter_instance_id=embedding_type) - embedding_dimension = embedd_helper.get_embedding_length(embedding_li) + try: + embedding = Embedding( + tool=self.tool, + adapter_intance_id=embedding_instance_id, + usage_kwargs=usage_kwargs, + ) + except SdkError as e: + self.tool.stream_log( + f"Error loading {embedding_instance_id}", level=LogLevel.ERROR + ) + raise SdkError(f"Error loading {embedding_instance_id}: {e}") - # Get vectorDB instance - vdb_helper = ToolVectorDB( - tool=self.tool, - ) - vector_db_li = vdb_helper.get_vector_db( - adapter_instance_id=vector_db, - embedding_dimension=embedding_dimension, - ) + try: + vector_db = VectorDB( + tool=self.tool, + adapter_instance_id=vector_db_instance_id, + embedding=embedding, + ) + except SdkError as e: + self.tool.stream_log( + f"Error loading {vector_db_instance_id}", level=LogLevel.ERROR + ) + raise SdkError(f"Error loading {vector_db_instance_id}: {e}") # Checking if document is already indexed against doc_id doc_id_eq_filter = MetadataFilter.from_dict( @@ -168,14 +192,14 @@ def index_file( ) filters = MetadataFilters(filters=[doc_id_eq_filter]) q = VectorStoreQuery( - query_embedding=embedding_li.get_query_embedding(" "), + query_embedding=embedding.get_query_embedding(" "), doc_ids=[doc_id], filters=filters, ) doc_id_found = False try: - n: VectorStoreQueryResult = vector_db_li.query(query=q) + n: VectorStoreQueryResult = vector_db.query(query=q) if len(n.nodes) > 0: doc_id_found = True self.tool.stream_log(f"Found {len(n.nodes)} nodes for {doc_id}") @@ -183,13 +207,13 @@ def index_file( self.tool.stream_log(f"No nodes found for {doc_id}") except Exception as e: self.tool.stream_log( - f"Error querying {vector_db}: {e}", level=LogLevel.ERROR + f"Error querying {vector_db_instance_id}: {e}", level=LogLevel.ERROR ) if doc_id_found and reindex: # Delete the nodes for the doc_id try: - vector_db_li.delete(ref_doc_id=doc_id) + vector_db.delete(ref_doc_id=doc_id) self.tool.stream_log(f"Deleted nodes for {doc_id}") except Exception as e: self.tool.stream_log( @@ -213,11 +237,8 @@ def index_file( with open(file_path, encoding="utf-8") as file: extracted_text = file.read() else: - x2text = X2Text(tool=self.tool) - x2text_adapter_inst: X2TextAdapter = x2text.get_x2text( - adapter_instance_id=x2text_adapter - ) - extracted_text = x2text_adapter_inst.process( + x2text = X2Text(tool=self.tool, adapter_instance_id=x2text_instance_id) + extracted_text = x2text.process( input_file_path=file_path, output_file_path=output_file_path ) except AdapterError as e: @@ -254,33 +275,24 @@ def index_file( ) nodes = parser.get_nodes_from_documents(documents, show_progress=True) node = nodes[0] - node.embedding = embedding_li.get_query_embedding(" ") - vector_db_li.add(nodes=[node]) + node.embedding = embedding.get_query_embedding(" ") + vector_db.add(nodes=[node]) self.tool.stream_log("Added node to vector db") else: - storage_context = StorageContext.from_defaults( - vector_store=vector_db_li - ) + storage_context = vector_db.get_storage_context() parser = SimpleNodeParser.from_defaults( chunk_size=chunk_size, chunk_overlap=chunk_overlap ) - # Set callback_manager to collect Usage stats - callback_manager = UNCallbackManager.set_callback_manager( - platform_api_key=self.tool.get_env_or_die(ToolEnv.PLATFORM_API_KEY), - embedding=embedding_li, - ) - - self.tool.stream_log("Adding nodes to vector db...") + self.tool.stream_log("Adding nodes to vector db...") - VectorStoreIndex.from_documents( - documents, - storage_context=storage_context, - show_progress=True, - embed_model=embedding_li, - node_parser=parser, - callback_manager=callback_manager, - ) + vector_db.get_vector_store_index_from_storage_context( + documents, + storage_context=storage_context, + show_progress=True, + embed_model=embedding, + node_parser=parser, + ) except Exception as e: self.tool.stream_log( f"Error adding nodes to vector db: {e}", @@ -344,3 +356,7 @@ def generate_file_id( # case where the fields are reordered. hashed_index_key = ToolUtils.hash_str(json.dumps(index_key, sort_keys=True)) return hashed_index_key + + +# Legacy +ToolIndex = Index diff --git a/src/unstract/sdk/llm.py b/src/unstract/sdk/llm.py index 30ca5878..5edf7e08 100644 --- a/src/unstract/sdk/llm.py +++ b/src/unstract/sdk/llm.py @@ -5,26 +5,29 @@ from llama_index.core.llms import LLM, CompletionResponse from openai import APIError as OpenAIAPIError from openai import RateLimitError as OpenAIRateLimitError +from typing_extensions import deprecated from unstract.adapters.constants import Common from unstract.adapters.llm import adapters from unstract.adapters.llm.llm_adapter import LLMAdapter from unstract.sdk.adapters import ToolAdapter from unstract.sdk.constants import LogLevel -from unstract.sdk.exceptions import RateLimitError, SdkError, ToolLLMError +from unstract.sdk.exceptions import LLMError, RateLimitError, SdkError from unstract.sdk.tool.base import BaseTool -from unstract.sdk.utils.callback_manager import CallbackManager as UNCallbackManager logger = logging.getLogger(__name__) -class ToolLLM: +class LLM: """Class to handle LLMs for Unstract Tools.""" json_regex = re.compile(r"\[(?:.|\n)*\]|\{(?:.|\n)*\}") + json_regex = re.compile(r"\{(?:.|\n)*\}") + llm_adapters = adapters + MAX_TOKENS = 1024 * 4 - def __init__(self, tool: BaseTool): - """ToolLLM constructor. + def __init__(self, tool: BaseTool, adapter_instance_id: str, **usage_kwargs): + """ Notes: - "Azure OpenAI" : Environment variables required @@ -35,36 +38,19 @@ def __init__(self, tool: BaseTool): tool (AbstractTool): Instance of AbstractTool """ self.tool = tool - self.max_tokens = 1024 * 4 - self.llm_adapters = adapters - self.llm_config_data: Optional[dict[str, Any]] = None + self.adapter_instance_id = adapter_instance_id + self.usage_kwargs = usage_kwargs.copy() + self.llm_instance: LLM = self._get_llm(self.adapter_instance_id) - @classmethod def run_completion( - cls, - llm: LLM, - platform_api_key: str, + self, prompt: str, retries: int = 3, **kwargs: Any, ) -> Optional[dict[str, Any]]: - # Setup callback manager to collect Usage stats - UNCallbackManager.set_callback_manager( - platform_api_key=platform_api_key, llm=llm, **kwargs - ) - # Removing specific keys from kwargs - new_kwargs = kwargs.copy() - for key in [ - "workflow_id", - "execution_id", - "adapter_instance_id", - "run_id", - ]: - new_kwargs.pop(key, None) - try: - response: CompletionResponse = llm.complete(prompt, **new_kwargs) - match = cls.json_regex.search(response.text) + response: CompletionResponse = self.llm_instance.complete(prompt, **kwargs) + match = LLM.json_regex.search(response.text) if match: response.text = match.group(0) return {"response": response} @@ -76,9 +62,9 @@ def run_completion( msg += e.body["message"] if isinstance(e, OpenAIRateLimitError): raise RateLimitError(msg) - raise ToolLLMError(msg) from e + raise LLMError(msg) from e - def get_llm(self, adapter_instance_id: str) -> LLM: + def _get_llm(self, adapter_instance_id: str) -> LLM: """Returns the LLM object for the tool. Returns: @@ -87,7 +73,7 @@ def get_llm(self, adapter_instance_id: str) -> LLM: """ try: llm_config_data = ToolAdapter.get_adapter_config( - self.tool, adapter_instance_id + self.tool, self.adapter_instance_id ) llm_adapter_id = llm_config_data.get(Common.ADAPTER_ID) if llm_adapter_id not in self.llm_adapters: @@ -104,9 +90,9 @@ def get_llm(self, adapter_instance_id: str) -> LLM: self.tool.stream_log( log=f"Unable to get llm instance: {e}", level=LogLevel.ERROR ) - raise ToolLLMError(f"Error getting llm instance: {e}") from e + raise LLMError(f"Error getting llm instance: {e}") from e - def get_max_tokens(self, reserved_for_output: int = 0) -> int: + def _get_max_tokens(self, reserved_for_output: int = 0) -> int: """Returns the maximum number of tokens that can be used for the LLM. Args: @@ -117,4 +103,12 @@ def get_max_tokens(self, reserved_for_output: int = 0) -> int: Returns: int: The maximum number of tokens that can be used for the LLM. """ - return self.max_tokens - reserved_for_output + return self.MAX_TOKENS - reserved_for_output + + @deprecated("Use the new class LLM") + def get_llm(self, adapter_instance_id: Optional[str] = None) -> LLM: + return self.llm_instance + + +# Legacy +ToolLLM = LLM diff --git a/src/unstract/sdk/ocr.py b/src/unstract/sdk/ocr.py index ef2bf779..65e4a6b7 100644 --- a/src/unstract/sdk/ocr.py +++ b/src/unstract/sdk/ocr.py @@ -11,28 +11,34 @@ class OCR(metaclass=ABCMeta): - def __init__(self, tool: BaseTool): + def __init__( + self, + tool: BaseTool, + adapter_instance_id: str, + ): self.tool = tool self.ocr_adapters = adapters + self.adapter_instance_id = adapter_instance_id + self.ocr_instance: OCRAdapter = self._get_ocr() - def get_ocr(self, adapter_instance_id: str) -> Optional[OCRAdapter]: + def _get_ocr(self) -> Optional[OCRAdapter]: try: ocr_config = ToolAdapter.get_adapter_config( - self.tool, adapter_instance_id + self.tool, self.adapter_instance_id ) ocr_adapter_id = ocr_config.get(Common.ADAPTER_ID) if ocr_adapter_id in self.ocr_adapters: - ocr_adapter = self.ocr_adapters[ocr_adapter_id][ - Common.METADATA - ][Common.ADAPTER] + ocr_adapter = self.ocr_adapters[ocr_adapter_id][Common.METADATA][ + Common.ADAPTER + ] ocr_metadata = ocr_config.get(Common.ADAPTER_METADATA) - ocr_adapter_class = ocr_adapter(ocr_metadata) + self.ocr_instance = ocr_adapter(ocr_metadata) - return ocr_adapter_class + return self.ocr_instance except Exception as e: self.tool.stream_log( - log=f"Unable to get OCR adapter {adapter_instance_id}: {e}", + log=f"Unable to get OCR adapter {self.adapter_instance_id}: {e}", level=LogLevel.ERROR, ) return None diff --git a/src/unstract/sdk/utils/callback_manager.py b/src/unstract/sdk/utils/callback_manager.py index 8b664530..312fcebd 100644 --- a/src/unstract/sdk/utils/callback_manager.py +++ b/src/unstract/sdk/utils/callback_manager.py @@ -2,9 +2,7 @@ from typing import Callable, Optional, Union import tiktoken -from llama_index.core.callbacks import ( - CallbackManager as LlamaIndexCallbackManager, -) +from llama_index.core.callbacks import CallbackManager as LlamaIndexCallbackManager from llama_index.core.callbacks import TokenCountingHandler from llama_index.core.embeddings import BaseEmbedding from llama_index.core.llms import LLM @@ -39,10 +37,9 @@ class CallbackManager: @staticmethod def set_callback_manager( platform_api_key: str, - llm: Optional[LLM] = None, - embedding: Optional[BaseEmbedding] = None, + model: Union[LLM, BaseEmbedding], **kwargs, - ) -> LlamaIndexCallbackManager: + ) -> None: """Sets the standard callback manager for the llm. This is to be called explicitly whenever there is a need for the callback handling defined here as handlers is to be invoked. @@ -61,12 +58,32 @@ def set_callback_manager( ) """ - if llm: - tokenizer = CallbackManager.get_tokenizer(llm) - elif embedding: - tokenizer = CallbackManager.get_tokenizer(embedding) + # Nothing to do if callback manager is already set for the instance + if ( + model + and model.callback_manager + and len(model.callback_manager.handlers) > 0 + ): + return + + model.callback_manager = CallbackManager.get_callback_manager( + model, platform_api_key, **kwargs + ) + @staticmethod + def get_callback_manager( + model: Union[LLM, BaseEmbedding], + platform_api_key: str, + **kwargs, + ) -> LlamaIndexCallbackManager: + tokenizer = CallbackManager.get_tokenizer(model) token_counter = TokenCountingHandler(tokenizer=tokenizer, verbose=True) + llm = None + embedding = None + if isinstance(model, LLM): + llm = model + elif isinstance(model, BaseEmbedding): + embedding = model usage_handler = UsageHandler( token_counter=token_counter, platform_api_key=platform_api_key, @@ -78,12 +95,6 @@ def set_callback_manager( callback_manager: LlamaIndexCallbackManager = LlamaIndexCallbackManager( handlers=[token_counter, usage_handler] ) - - if llm is not None: - llm.callback_manager = callback_manager - if embedding is not None: - embedding.callback_manager = callback_manager - return callback_manager @staticmethod diff --git a/src/unstract/sdk/utils/usage_handler.py b/src/unstract/sdk/utils/usage_handler.py index a40d3c99..36550a71 100644 --- a/src/unstract/sdk/utils/usage_handler.py +++ b/src/unstract/sdk/utils/usage_handler.py @@ -89,7 +89,7 @@ def on_event_end( ): model_name = self.llm_model.metadata.model_name # Need to push the data to via platform service - self.stream_log(log=f"Pushing llm usage llm for model {model_name}") + self.stream_log(log=f"Pushing llm usage for model {model_name}") Audit(log_level=self.log_level).push_usage_data( platform_api_key=self.platform_api_key, token_counter=self.token_counter, @@ -105,7 +105,7 @@ def on_event_end( ): model_name = self.embed_model.model_name # Need to push the data to via platform service - self.stream_log(log=f"Pushing llm usage llm for model {model_name}") + self.stream_log(log=f"Pushing embedding usage for model {model_name}") Audit(log_level=self.log_level).push_usage_data( platform_api_key=self.platform_api_key, token_counter=self.token_counter, diff --git a/src/unstract/sdk/vector_db.py b/src/unstract/sdk/vector_db.py index acc46563..68dc6ec7 100644 --- a/src/unstract/sdk/vector_db.py +++ b/src/unstract/sdk/vector_db.py @@ -1,32 +1,57 @@ import logging -from typing import Union +from collections.abc import Sequence +from typing import Any, Optional, Union -from llama_index.core.vector_stores.types import BasePydanticVectorStore, VectorStore +from llama_index.core import StorageContext, VectorStoreIndex +from llama_index.core.indices.base import IndexType +from llama_index.core.schema import BaseNode, Document +from llama_index.core.vector_stores.types import ( + BasePydanticVectorStore, + VectorStore, + VectorStoreQueryResult, +) +from typing_extensions import deprecated from unstract.adapters.constants import Common from unstract.adapters.vectordb import adapters from unstract.adapters.vectordb.constants import VectorDbConstants from unstract.sdk.adapters import ToolAdapter from unstract.sdk.constants import LogLevel, ToolEnv -from unstract.sdk.exceptions import SdkError, ToolVectorDBError +from unstract.sdk.embedding import Embedding +from unstract.sdk.exceptions import SdkError, VectorDBError from unstract.sdk.platform import PlatformHelper from unstract.sdk.tool.base import BaseTool logger = logging.getLogger(__name__) -class ToolVectorDB: +class VectorDB: """Class to handle VectorDB for Unstract Tools.""" - def __init__(self, tool: BaseTool): + vector_db_adapters = adapters + DEFAULT_EMBEDDING_DIMENSION = 1536 + + def __init__( + self, + tool: BaseTool, + adapter_instance_id: str, + embedding: Optional[Embedding] = None, + ): self.tool = tool - self.vector_db_adapters = adapters + self.adapter_instance_id = adapter_instance_id + self.embedding_instance = embedding + self.embedding_dimension = ( + embedding.length if embedding else VectorDB.DEFAULT_EMBEDDING_DIMENSION + ) + self.vector_db_instance: Union[ + BasePydanticVectorStore, VectorStore + ] = self._get_vector_db() - def __get_org_id(self) -> str: + def _get_org_id(self) -> str: platform_helper = PlatformHelper( tool=self.tool, platform_host=self.tool.get_env_or_die(ToolEnv.PLATFORM_HOST), - platform_port=int(self.tool.get_env_or_die(ToolEnv.PLATFORM_PORT)), + platform_port=self.tool.get_env_or_die(ToolEnv.PLATFORM_PORT), ) # fetch org id from bearer token platform_details = platform_helper.get_platform_details() @@ -36,21 +61,15 @@ def __get_org_id(self) -> str: account_id = platform_details.get("organization_id") return account_id - def get_vector_db( - self, adapter_instance_id: str, embedding_dimension: int - ) -> Union[BasePydanticVectorStore, VectorStore]: + def _get_vector_db(self) -> Union[BasePydanticVectorStore, VectorStore]: """Gets an instance of LlamaIndex's VectorStore. - Args: - adapter_instance_id (str): UUID of the vector DB adapter - embedding_dimension (int): Embedding dimension for the vector store - Returns: Union[BasePydanticVectorStore, VectorStore]: Vector store instance """ try: vector_db_config = ToolAdapter.get_adapter_config( - self.tool, adapter_instance_id + self.tool, self.adapter_instance_id ) vector_db_adapter_id = vector_db_config.get(Common.ADAPTER_ID) if vector_db_adapter_id not in self.vector_db_adapters: @@ -62,19 +81,73 @@ def get_vector_db( Common.METADATA ][Common.ADAPTER] vector_db_metadata = vector_db_config.get(Common.ADAPTER_METADATA) - org = self.__get_org_id() + org = self._get_org_id() # Adding the collection prefix and embedding type # to the metadata vector_db_metadata[VectorDbConstants.VECTOR_DB_NAME] = org vector_db_metadata[ VectorDbConstants.EMBEDDING_DIMENSION - ] = embedding_dimension + ] = self.embedding_dimension - vector_db_adapter_class = vector_db_adapter(vector_db_metadata) - return vector_db_adapter_class.get_vector_db_instance() + self.vector_db_adapter_class = vector_db_adapter(vector_db_metadata) + return self.vector_db_adapter_class.get_vector_db_instance() except Exception as e: self.tool.stream_log( - log=f"Unable to get vector_db {adapter_instance_id}: {e}", + log=f"Unable to get vector_db {self.adapter_instance_id}: {e}", level=LogLevel.ERROR, ) - raise ToolVectorDBError(f"Error getting vectorDB instance: {e}") from e + raise VectorDBError(f"Error getting vectorDB instance: {e}") from e + + def get_vector_store_index_from_storage_context( + self, + documents: Sequence[Document], + storage_context: Optional[StorageContext] = None, + show_progress: bool = False, + **kwargs, + ) -> IndexType: + parser = kwargs.get("node_parser") + return VectorStoreIndex.from_documents( + documents, + storage_context=storage_context, + show_progress=show_progress, + embed_model=self.embedding_instance, + node_parser=parser, + ) + + def get_vector_store_index(self, **kwargs: Any) -> VectorStoreIndex: + return VectorStoreIndex.from_vector_store( + vector_store=self.vector_db_instance, + embed_model=self.embedding_instance, + kwargs=kwargs, + ) + + def get_storage_context(self) -> StorageContext: + return StorageContext.from_defaults(vector_store=self.vector_db_instance) + + def query(self, query) -> VectorStoreQueryResult: + return self.vector_db_instance.query(query=query) + + def delete(self, ref_doc_id: str, **delete_kwargs: Any) -> None: + self.vector_db_instance.delete( + ref_doc_id=ref_doc_id, delete_kwargs=delete_kwargs + ) + + def add( + self, + nodes: list[BaseNode], + ) -> list[str]: + return self.vector_db_instance.add(nodes=nodes) + + @deprecated("Use the new class VectorDB") + def get_vector_db( + self, adapter_instance_id: str, embedding_dimension: int + ) -> Union[BasePydanticVectorStore, VectorStore]: + self.embedding_dimension = embedding_dimension + return self.vector_db_instance + + def close(self, **kwargs): + self.vector_db_adapter_class.close() + + +# Legacy +ToolVectorDB = VectorDB diff --git a/src/unstract/sdk/x2txt.py b/src/unstract/sdk/x2txt.py index 003caa01..5fdb51cd 100644 --- a/src/unstract/sdk/x2txt.py +++ b/src/unstract/sdk/x2txt.py @@ -1,4 +1,5 @@ from abc import ABCMeta +from typing import Optional from unstract.adapters.constants import Common from unstract.adapters.x2text import adapters @@ -12,14 +13,16 @@ class X2Text(metaclass=ABCMeta): - def __init__(self, tool: BaseTool): + def __init__(self, tool: BaseTool, adapter_instance_id: str): self.tool = tool self.x2text_adapters = adapters + self.adapter_instance_id = adapter_instance_id + self.x2text_instance: X2TextAdapter = self._get_x2text() - def get_x2text(self, adapter_instance_id: str) -> X2TextAdapter: + def _get_x2text(self) -> Optional[X2TextAdapter]: try: x2text_config = ToolAdapter.get_adapter_config( - self.tool, adapter_instance_id + self.tool, self.adapter_instance_id ) x2text_adapter_id = x2text_config.get(Common.ADAPTER_ID) if x2text_adapter_id in self.x2text_adapters: @@ -38,13 +41,13 @@ def get_x2text(self, adapter_instance_id: str) -> X2TextAdapter: X2TextConstants.PLATFORM_SERVICE_API_KEY ] = self.tool.get_env_or_die(X2TextConstants.PLATFORM_SERVICE_API_KEY) - x2text_adapter_class = x2text_adapter(x2text_metadata) + self.x2text_instance = x2text_adapter(x2text_metadata) - return x2text_adapter_class + return self.x2text_instance except Exception as e: self.tool.stream_log( - log=f"Unable to get x2text adapter {adapter_instance_id}: {e}", + log=f"Unable to get x2text adapter {self.adapter_instance_id}: {e}", level=LogLevel.ERROR, ) raise X2TextError(f"Error getting text extractor: {e}") from e From fa2a1bc30ca587e49036f758ab7eaf9861a30597 Mon Sep 17 00:00:00 2001 From: gayathrivijayakumar Date: Tue, 14 May 2024 17:07:07 +0530 Subject: [PATCH 2/8] Add support for sdk x2text and ocr --- src/unstract/sdk/embedding.py | 4 ++-- src/unstract/sdk/index.py | 4 ++-- src/unstract/sdk/llm.py | 9 +++++---- src/unstract/sdk/ocr.py | 10 ++++++++++ src/unstract/sdk/vector_db.py | 14 ++++++++++---- src/unstract/sdk/x2txt.py | 15 ++++++++++++++- 6 files changed, 43 insertions(+), 13 deletions(-) diff --git a/src/unstract/sdk/embedding.py b/src/unstract/sdk/embedding.py index c1376f70..85661982 100644 --- a/src/unstract/sdk/embedding.py +++ b/src/unstract/sdk/embedding.py @@ -15,9 +15,9 @@ class Embedding: MAX_TOKENS = 1024 * 16 embedding_adapters = adapters - def __init__(self, tool: BaseTool, adapter_intance_id: str, **usage_kwargs): + def __init__(self, tool: BaseTool, adapter_instance_id: str, **usage_kwargs): self.tool = tool - self.adapter_instance_id = adapter_intance_id + self.adapter_instance_id = adapter_instance_id self.usage_kwargs = usage_kwargs self.embedding_instance: BaseEmbedding = self._get_embedding() self.length: int = self._get_embedding_length() diff --git a/src/unstract/sdk/index.py b/src/unstract/sdk/index.py index bbdbea76..be68a635 100644 --- a/src/unstract/sdk/index.py +++ b/src/unstract/sdk/index.py @@ -37,7 +37,7 @@ def get_text_from_index( try: embedding = Embedding( tool=self.tool, - adapter_intance_id=embedding_instance_id, + adapter_instance_id=embedding_instance_id, usage_kwargs=usage_kwargs, ) except SdkError as e: @@ -165,7 +165,7 @@ def index_file( try: embedding = Embedding( tool=self.tool, - adapter_intance_id=embedding_instance_id, + adapter_instance_id=embedding_instance_id, usage_kwargs=usage_kwargs, ) except SdkError as e: diff --git a/src/unstract/sdk/llm.py b/src/unstract/sdk/llm.py index 5edf7e08..f8026d99 100644 --- a/src/unstract/sdk/llm.py +++ b/src/unstract/sdk/llm.py @@ -2,7 +2,8 @@ import re from typing import Any, Optional -from llama_index.core.llms import LLM, CompletionResponse +from llama_index.core.llms import LLM as LlamaIndexLLM +from llama_index.core.llms import CompletionResponse from openai import APIError as OpenAIAPIError from openai import RateLimitError as OpenAIRateLimitError from typing_extensions import deprecated @@ -40,7 +41,7 @@ def __init__(self, tool: BaseTool, adapter_instance_id: str, **usage_kwargs): self.tool = tool self.adapter_instance_id = adapter_instance_id self.usage_kwargs = usage_kwargs.copy() - self.llm_instance: LLM = self._get_llm(self.adapter_instance_id) + self.llm_instance: LlamaIndexLLM = self._get_llm(self.adapter_instance_id) def run_completion( self, @@ -64,7 +65,7 @@ def run_completion( raise RateLimitError(msg) raise LLMError(msg) from e - def _get_llm(self, adapter_instance_id: str) -> LLM: + def _get_llm(self, adapter_instance_id: str) -> LlamaIndexLLM: """Returns the LLM object for the tool. Returns: @@ -106,7 +107,7 @@ def _get_max_tokens(self, reserved_for_output: int = 0) -> int: return self.MAX_TOKENS - reserved_for_output @deprecated("Use the new class LLM") - def get_llm(self, adapter_instance_id: Optional[str] = None) -> LLM: + def get_llm(self, adapter_instance_id: Optional[str] = None) -> LlamaIndexLLM: return self.llm_instance diff --git a/src/unstract/sdk/ocr.py b/src/unstract/sdk/ocr.py index 65e4a6b7..af3ef39c 100644 --- a/src/unstract/sdk/ocr.py +++ b/src/unstract/sdk/ocr.py @@ -1,6 +1,7 @@ from abc import ABCMeta from typing import Optional +from typing_extensions import deprecated from unstract.adapters.constants import Common from unstract.adapters.ocr import adapters from unstract.adapters.ocr.ocr_adapter import OCRAdapter @@ -42,3 +43,12 @@ def _get_ocr(self) -> Optional[OCRAdapter]: level=LogLevel.ERROR, ) return None + + def process( + self, input_file_path: str, output_file_path: Optional[str] = None + ) -> str: + return self.ocr_instance.process(input_file_path, output_file_path) + + @deprecated("Use the class instance") + def get_x2text(self, adapter_instance_id: str) -> OCRAdapter: + return self.ocr_instance diff --git a/src/unstract/sdk/vector_db.py b/src/unstract/sdk/vector_db.py index 68dc6ec7..bfeac715 100644 --- a/src/unstract/sdk/vector_db.py +++ b/src/unstract/sdk/vector_db.py @@ -39,10 +39,12 @@ def __init__( ): self.tool = tool self.adapter_instance_id = adapter_instance_id - self.embedding_instance = embedding - self.embedding_dimension = ( - embedding.length if embedding else VectorDB.DEFAULT_EMBEDDING_DIMENSION - ) + if embedding: + self.embedding_instance = embedding.embedding_instance + self.embedding_dimension = embedding.length + else: + self.embedding_dimension = VectorDB.DEFAULT_EMBEDDING_DIMENSION + self.vector_db_instance: Union[ BasePydanticVectorStore, VectorStore ] = self._get_vector_db() @@ -105,6 +107,8 @@ def get_vector_store_index_from_storage_context( show_progress: bool = False, **kwargs, ) -> IndexType: + if not self.embedding_instance: + raise VectorDBError("Vector DB does not have an embedding initialised") parser = kwargs.get("node_parser") return VectorStoreIndex.from_documents( documents, @@ -115,6 +119,8 @@ def get_vector_store_index_from_storage_context( ) def get_vector_store_index(self, **kwargs: Any) -> VectorStoreIndex: + if not self.embedding_instance: + raise VectorDBError("Vector DB does not have an embedding initialised") return VectorStoreIndex.from_vector_store( vector_store=self.vector_db_instance, embed_model=self.embedding_instance, diff --git a/src/unstract/sdk/x2txt.py b/src/unstract/sdk/x2txt.py index 5fdb51cd..bb950705 100644 --- a/src/unstract/sdk/x2txt.py +++ b/src/unstract/sdk/x2txt.py @@ -1,6 +1,7 @@ from abc import ABCMeta -from typing import Optional +from typing import Any, Optional +from typing_extensions import deprecated from unstract.adapters.constants import Common from unstract.adapters.x2text import adapters from unstract.adapters.x2text.constants import X2TextConstants @@ -51,3 +52,15 @@ def _get_x2text(self) -> Optional[X2TextAdapter]: level=LogLevel.ERROR, ) raise X2TextError(f"Error getting text extractor: {e}") from e + + def process( + self, + input_file_path: str, + output_file_path: Optional[str] = None, + **kwargs: dict[Any, Any], + ) -> str: + return self.x2text_instance.process(input_file_path, output_file_path, **kwargs) + + @deprecated("Use the class instance") + def get_x2text(self, adapter_instance_id: str) -> X2TextAdapter: + return self.x2text_instance From f72e17983d73487d36e5595c033764d40c7b9f65 Mon Sep 17 00:00:00 2001 From: gayathrivijayakumar Date: Mon, 20 May 2024 10:15:12 +0530 Subject: [PATCH 3/8] indentation fi --- src/unstract/sdk/index.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/unstract/sdk/index.py b/src/unstract/sdk/index.py index be68a635..f7644bce 100644 --- a/src/unstract/sdk/index.py +++ b/src/unstract/sdk/index.py @@ -284,15 +284,15 @@ def index_file( chunk_size=chunk_size, chunk_overlap=chunk_overlap ) - self.tool.stream_log("Adding nodes to vector db...") - - vector_db.get_vector_store_index_from_storage_context( - documents, - storage_context=storage_context, - show_progress=True, - embed_model=embedding, - node_parser=parser, - ) + self.tool.stream_log("Adding nodes to vector db...") + + vector_db.get_vector_store_index_from_storage_context( + documents, + storage_context=storage_context, + show_progress=True, + embed_model=embedding, + node_parser=parser, + ) except Exception as e: self.tool.stream_log( f"Error adding nodes to vector db: {e}", From 0a3d2d730c3b8e0aaa304bf656373b8f873c724c Mon Sep 17 00:00:00 2001 From: gayathrivijayakumar Date: Tue, 21 May 2024 17:54:30 +0530 Subject: [PATCH 4/8] Fixes for SDK refactoring --- src/unstract/sdk/audit.py | 8 +-- src/unstract/sdk/embedding.py | 40 +++++++++++---- src/unstract/sdk/index.py | 9 ++-- src/unstract/sdk/llm.py | 34 +++++++++---- src/unstract/sdk/utils/callback_manager.py | 8 +-- src/unstract/sdk/utils/usage_handler.py | 12 ++--- src/unstract/sdk/vector_db.py | 58 +++++++++++++--------- 7 files changed, 106 insertions(+), 63 deletions(-) diff --git a/src/unstract/sdk/audit.py b/src/unstract/sdk/audit.py index de2ec5f6..1b8facf2 100644 --- a/src/unstract/sdk/audit.py +++ b/src/unstract/sdk/audit.py @@ -1,3 +1,5 @@ +from typing import Any + import requests from llama_index.core.callbacks import CBEventType, TokenCountingHandler @@ -26,7 +28,7 @@ def push_usage_data( token_counter: TokenCountingHandler = None, model_name: str = "", event_type: CBEventType = None, - **kwargs, + kwargs: dict[Any, Any] = None, ) -> None: """Pushes the usage data to the platform service. @@ -84,9 +86,7 @@ def push_usage_data( headers = {"Authorization": f"Bearer {bearer_token}"} try: - response = requests.post( - url, headers=headers, json=data, timeout=30 - ) + response = requests.post(url, headers=headers, json=data, timeout=30) if response.status_code != 200: self.stream_log( log=( diff --git a/src/unstract/sdk/embedding.py b/src/unstract/sdk/embedding.py index 85661982..b4aac9c1 100644 --- a/src/unstract/sdk/embedding.py +++ b/src/unstract/sdk/embedding.py @@ -1,3 +1,5 @@ +from typing import Any + from llama_index.core.base.embeddings.base import Embedding from llama_index.core.embeddings import BaseEmbedding from typing_extensions import deprecated @@ -5,9 +7,10 @@ from unstract.adapters.embedding import adapters from unstract.sdk.adapters import ToolAdapter -from unstract.sdk.constants import LogLevel +from unstract.sdk.constants import LogLevel, ToolEnv from unstract.sdk.exceptions import EmbeddingError, SdkError from unstract.sdk.tool.base import BaseTool +from unstract.sdk.utils.callback_manager import CallbackManager class Embedding: @@ -15,12 +18,25 @@ class Embedding: MAX_TOKENS = 1024 * 16 embedding_adapters = adapters - def __init__(self, tool: BaseTool, adapter_instance_id: str, **usage_kwargs): - self.tool = tool - self.adapter_instance_id = adapter_instance_id - self.usage_kwargs = usage_kwargs - self.embedding_instance: BaseEmbedding = self._get_embedding() - self.length: int = self._get_embedding_length() + def __init__( + self, + tool: BaseTool, + adapter_instance_id: str, + usage_kwargs: dict[Any, Any] = None, + ): + self._tool = tool + self._adapter_instance_id = adapter_instance_id + self._embedding_instance: BaseEmbedding = self._get_embedding() + self._length: int = self._get_embedding_length() + + self._usage_kwargs = usage_kwargs.copy() + self._usage_kwargs["adapter_instance_id"] = adapter_instance_id + platform_api_key = self._tool.get_env_or_die(ToolEnv.PLATFORM_API_KEY) + CallbackManager.set_callback_manager( + platform_api_key=platform_api_key, + model=self._embedding_instance, + kwargs=self._usage_kwargs, + ) def _get_embedding(self) -> BaseEmbedding: """Gets an instance of LlamaIndex's embedding object. @@ -33,7 +49,7 @@ def _get_embedding(self) -> BaseEmbedding: """ try: embedding_config_data = ToolAdapter.get_adapter_config( - self.tool, self.adapter_instance_id + self._tool, self._adapter_instance_id ) embedding_adapter_id = embedding_config_data.get(Common.ADAPTER_ID) if embedding_adapter_id not in self.embedding_adapters: @@ -48,16 +64,18 @@ def _get_embedding(self) -> BaseEmbedding: embedding_adapter_class = embedding_adapter(embedding_metadata) return embedding_adapter_class.get_embedding_instance() except Exception as e: - self.tool.stream_log( + self._tool.stream_log( log=f"Error getting embedding: {e}", level=LogLevel.ERROR ) raise EmbeddingError(f"Error getting embedding instance: {e}") from e def get_query_embedding(self, query: str) -> Embedding: - return self.embedding_instance.get_query_embedding(query) + return self._embedding_instance.get_query_embedding(query) def _get_embedding_length(self) -> int: - embedding_list = self.embedding_instance._get_text_embedding(self._TEST_SNIPPET) + embedding_list = self._embedding_instance._get_text_embedding( + self._TEST_SNIPPET + ) embedding_dimension = len(embedding_list) return embedding_dimension diff --git a/src/unstract/sdk/index.py b/src/unstract/sdk/index.py index f7644bce..cc6ef87b 100644 --- a/src/unstract/sdk/index.py +++ b/src/unstract/sdk/index.py @@ -1,5 +1,5 @@ import json -from typing import Optional +from typing import Any, Optional from llama_index.core import Document from llama_index.core.node_parser import SimpleNodeParser @@ -32,7 +32,7 @@ def get_text_from_index( embedding_instance_id: str, vector_db_instance_id: str, doc_id: str, - **usage_kwargs, + usage_kwargs: dict[Any, Any] = None, ): try: embedding = Embedding( @@ -126,7 +126,7 @@ def index_file( reindex: bool = False, file_hash: Optional[str] = None, output_file_path: Optional[str] = None, - **usage_kwargs, + usage_kwargs: dict[Any, Any] = None, ) -> str: """Indexes an individual file using the passed arguments. @@ -265,6 +265,7 @@ def index_file( metadata={"section": item["section"]}, ) document.id_ = doc_id + document.doc_id = doc_id documents.append(document) self.tool.stream_log(f"Number of documents: {len(documents)}") @@ -276,7 +277,7 @@ def index_file( nodes = parser.get_nodes_from_documents(documents, show_progress=True) node = nodes[0] node.embedding = embedding.get_query_embedding(" ") - vector_db.add(nodes=[node]) + vector_db.add(doc_id, nodes=[node]) self.tool.stream_log("Added node to vector db") else: storage_context = vector_db.get_storage_context() diff --git a/src/unstract/sdk/llm.py b/src/unstract/sdk/llm.py index f8026d99..5f8fd70c 100644 --- a/src/unstract/sdk/llm.py +++ b/src/unstract/sdk/llm.py @@ -12,9 +12,10 @@ from unstract.adapters.llm.llm_adapter import LLMAdapter from unstract.sdk.adapters import ToolAdapter -from unstract.sdk.constants import LogLevel +from unstract.sdk.constants import LogLevel, ToolEnv from unstract.sdk.exceptions import LLMError, RateLimitError, SdkError from unstract.sdk.tool.base import BaseTool +from unstract.sdk.utils.callback_manager import CallbackManager logger = logging.getLogger(__name__) @@ -27,7 +28,12 @@ class LLM: llm_adapters = adapters MAX_TOKENS = 1024 * 4 - def __init__(self, tool: BaseTool, adapter_instance_id: str, **usage_kwargs): + def __init__( + self, + tool: BaseTool, + adapter_instance_id: str, + usage_kwargs: dict[Any, Any] = None, + ): """ Notes: @@ -38,10 +44,18 @@ def __init__(self, tool: BaseTool, adapter_instance_id: str, **usage_kwargs): Args: tool (AbstractTool): Instance of AbstractTool """ - self.tool = tool - self.adapter_instance_id = adapter_instance_id - self.usage_kwargs = usage_kwargs.copy() - self.llm_instance: LlamaIndexLLM = self._get_llm(self.adapter_instance_id) + self._tool = tool + self._adapter_instance_id = adapter_instance_id + self._llm_instance: LlamaIndexLLM = self._get_llm(self._adapter_instance_id) + + self._usage_kwargs = usage_kwargs.copy() + self._usage_kwargs["adapter_instance_id"] = adapter_instance_id + platform_api_key = self._tool.get_env_or_die(ToolEnv.PLATFORM_API_KEY) + CallbackManager.set_callback_manager( + platform_api_key=platform_api_key, + model=self._llm_instance, + kwargs=self._usage_kwargs, + ) def run_completion( self, @@ -50,7 +64,7 @@ def run_completion( **kwargs: Any, ) -> Optional[dict[str, Any]]: try: - response: CompletionResponse = self.llm_instance.complete(prompt, **kwargs) + response: CompletionResponse = self._llm_instance.complete(prompt, **kwargs) match = LLM.json_regex.search(response.text) if match: response.text = match.group(0) @@ -74,7 +88,7 @@ def _get_llm(self, adapter_instance_id: str) -> LlamaIndexLLM: """ try: llm_config_data = ToolAdapter.get_adapter_config( - self.tool, self.adapter_instance_id + self._tool, self._adapter_instance_id ) llm_adapter_id = llm_config_data.get(Common.ADAPTER_ID) if llm_adapter_id not in self.llm_adapters: @@ -88,7 +102,7 @@ def _get_llm(self, adapter_instance_id: str) -> LlamaIndexLLM: llm_instance: LLM = llm_adapter_class.get_llm_instance() return llm_instance except Exception as e: - self.tool.stream_log( + self._tool.stream_log( log=f"Unable to get llm instance: {e}", level=LogLevel.ERROR ) raise LLMError(f"Error getting llm instance: {e}") from e @@ -108,7 +122,7 @@ def _get_max_tokens(self, reserved_for_output: int = 0) -> int: @deprecated("Use the new class LLM") def get_llm(self, adapter_instance_id: Optional[str] = None) -> LlamaIndexLLM: - return self.llm_instance + return self._llm_instance # Legacy diff --git a/src/unstract/sdk/utils/callback_manager.py b/src/unstract/sdk/utils/callback_manager.py index 312fcebd..4a369b73 100644 --- a/src/unstract/sdk/utils/callback_manager.py +++ b/src/unstract/sdk/utils/callback_manager.py @@ -38,7 +38,7 @@ class CallbackManager: def set_callback_manager( platform_api_key: str, model: Union[LLM, BaseEmbedding], - **kwargs, + kwargs, ) -> None: """Sets the standard callback manager for the llm. This is to be called explicitly whenever there is a need for the callback handling defined @@ -67,14 +67,14 @@ def set_callback_manager( return model.callback_manager = CallbackManager.get_callback_manager( - model, platform_api_key, **kwargs + model, platform_api_key, kwargs ) @staticmethod def get_callback_manager( model: Union[LLM, BaseEmbedding], platform_api_key: str, - **kwargs, + kwargs, ) -> LlamaIndexCallbackManager: tokenizer = CallbackManager.get_tokenizer(model) token_counter = TokenCountingHandler(tokenizer=tokenizer, verbose=True) @@ -89,7 +89,7 @@ def get_callback_manager( platform_api_key=platform_api_key, llm_model=llm, embed_model=embedding, - **kwargs, + kwargs=kwargs, ) callback_manager: LlamaIndexCallbackManager = LlamaIndexCallbackManager( diff --git a/src/unstract/sdk/utils/usage_handler.py b/src/unstract/sdk/utils/usage_handler.py index 36550a71..420cba68 100644 --- a/src/unstract/sdk/utils/usage_handler.py +++ b/src/unstract/sdk/utils/usage_handler.py @@ -40,9 +40,9 @@ def __init__( event_ends_to_ignore: Optional[list[CBEventType]] = None, verbose: bool = False, log_level: LogLevel = LogLevel.INFO, - **kwargs, + kwargs: dict[Any, Any] = None, ) -> None: - self.kwargs = kwargs + self.kwargs = kwargs.copy() self._verbose = verbose self.token_counter = token_counter self.llm_model = llm_model @@ -70,7 +70,7 @@ def on_event_start( payload: Optional[dict[str, Any]] = None, event_id: str = "", parent_id: str = "", - **kwargs: Any, + kwargs: dict[Any, Any] = None, ) -> str: return event_id @@ -79,7 +79,7 @@ def on_event_end( event_type: CBEventType, payload: Optional[dict[str, Any]] = None, event_id: str = "", - **kwargs: Any, + kwargs: dict[Any, Any] = None, ) -> None: """Push the usage of LLM or Embedding to platform service.""" if ( @@ -95,7 +95,7 @@ def on_event_end( token_counter=self.token_counter, event_type=event_type, model_name=self.llm_model.metadata.model_name, - **self.kwargs, + kwargs=self.kwargs, ) elif ( @@ -111,5 +111,5 @@ def on_event_end( token_counter=self.token_counter, event_type=event_type, model_name=self.embed_model.model_name, - **self.kwargs, + kwargs=self.kwargs, ) diff --git a/src/unstract/sdk/vector_db.py b/src/unstract/sdk/vector_db.py index bfeac715..8cf6d849 100644 --- a/src/unstract/sdk/vector_db.py +++ b/src/unstract/sdk/vector_db.py @@ -37,23 +37,23 @@ def __init__( adapter_instance_id: str, embedding: Optional[Embedding] = None, ): - self.tool = tool - self.adapter_instance_id = adapter_instance_id + self._tool = tool + self._adapter_instance_id = adapter_instance_id if embedding: - self.embedding_instance = embedding.embedding_instance - self.embedding_dimension = embedding.length + self._embedding_instance = embedding._embedding_instance + self._embedding_dimension = embedding._length else: - self.embedding_dimension = VectorDB.DEFAULT_EMBEDDING_DIMENSION + self._embedding_dimension = VectorDB.DEFAULT_EMBEDDING_DIMENSION - self.vector_db_instance: Union[ + self._vector_db_instance: Union[ BasePydanticVectorStore, VectorStore ] = self._get_vector_db() def _get_org_id(self) -> str: platform_helper = PlatformHelper( - tool=self.tool, - platform_host=self.tool.get_env_or_die(ToolEnv.PLATFORM_HOST), - platform_port=self.tool.get_env_or_die(ToolEnv.PLATFORM_PORT), + tool=self._tool, + platform_host=self._tool.get_env_or_die(ToolEnv.PLATFORM_HOST), + platform_port=self._tool.get_env_or_die(ToolEnv.PLATFORM_PORT), ) # fetch org id from bearer token platform_details = platform_helper.get_platform_details() @@ -71,7 +71,7 @@ def _get_vector_db(self) -> Union[BasePydanticVectorStore, VectorStore]: """ try: vector_db_config = ToolAdapter.get_adapter_config( - self.tool, self.adapter_instance_id + self._tool, self._adapter_instance_id ) vector_db_adapter_id = vector_db_config.get(Common.ADAPTER_ID) if vector_db_adapter_id not in self.vector_db_adapters: @@ -89,13 +89,13 @@ def _get_vector_db(self) -> Union[BasePydanticVectorStore, VectorStore]: vector_db_metadata[VectorDbConstants.VECTOR_DB_NAME] = org vector_db_metadata[ VectorDbConstants.EMBEDDING_DIMENSION - ] = self.embedding_dimension + ] = self._embedding_dimension self.vector_db_adapter_class = vector_db_adapter(vector_db_metadata) return self.vector_db_adapter_class.get_vector_db_instance() except Exception as e: - self.tool.stream_log( - log=f"Unable to get vector_db {self.adapter_instance_id}: {e}", + self._tool.stream_log( + log=f"Unable to get vector_db {self._adapter_instance_id}: {e}", level=LogLevel.ERROR, ) raise VectorDBError(f"Error getting vectorDB instance: {e}") from e @@ -107,51 +107,61 @@ def get_vector_store_index_from_storage_context( show_progress: bool = False, **kwargs, ) -> IndexType: - if not self.embedding_instance: + if not self._embedding_instance: raise VectorDBError("Vector DB does not have an embedding initialised") parser = kwargs.get("node_parser") return VectorStoreIndex.from_documents( documents, storage_context=storage_context, show_progress=show_progress, - embed_model=self.embedding_instance, + embed_model=self._embedding_instance, node_parser=parser, ) def get_vector_store_index(self, **kwargs: Any) -> VectorStoreIndex: - if not self.embedding_instance: + if not self._embedding_instance: raise VectorDBError("Vector DB does not have an embedding initialised") return VectorStoreIndex.from_vector_store( - vector_store=self.vector_db_instance, - embed_model=self.embedding_instance, + vector_store=self._vector_db_instance, + embed_model=self._embedding_instance, kwargs=kwargs, ) def get_storage_context(self) -> StorageContext: - return StorageContext.from_defaults(vector_store=self.vector_db_instance) + return StorageContext.from_defaults(vector_store=self._vector_db_instance) def query(self, query) -> VectorStoreQueryResult: - return self.vector_db_instance.query(query=query) + return self._vector_db_instance.query(query=query) def delete(self, ref_doc_id: str, **delete_kwargs: Any) -> None: - self.vector_db_instance.delete( + if not self.vector_db_adapter_class: + raise VectorDBError("Vector DB is not initialised properly") + self.vector_db_adapter_class.delete( ref_doc_id=ref_doc_id, delete_kwargs=delete_kwargs ) def add( self, + ref_doc_id, nodes: list[BaseNode], ) -> list[str]: - return self.vector_db_instance.add(nodes=nodes) + if not self.vector_db_adapter_class: + raise VectorDBError("Vector DB is not initialised properly") + self.vector_db_adapter_class.add( + ref_doc_id=ref_doc_id, + nodes=nodes, + ) @deprecated("Use the new class VectorDB") def get_vector_db( self, adapter_instance_id: str, embedding_dimension: int ) -> Union[BasePydanticVectorStore, VectorStore]: - self.embedding_dimension = embedding_dimension - return self.vector_db_instance + self._embedding_dimension = embedding_dimension + return self._vector_db_instance def close(self, **kwargs): + if not self.vector_db_adapter_class: + raise VectorDBError("Vector DB is not initialised properly") self.vector_db_adapter_class.close() From 7e1f63a0334b9de764c691637c665766af2fa5bd Mon Sep 17 00:00:00 2001 From: gayathrivijayakumar Date: Tue, 21 May 2024 18:22:20 +0530 Subject: [PATCH 5/8] Remove unwanted line --- src/unstract/sdk/index.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/unstract/sdk/index.py b/src/unstract/sdk/index.py index cc6ef87b..01d2c741 100644 --- a/src/unstract/sdk/index.py +++ b/src/unstract/sdk/index.py @@ -265,7 +265,6 @@ def index_file( metadata={"section": item["section"]}, ) document.id_ = doc_id - document.doc_id = doc_id documents.append(document) self.tool.stream_log(f"Number of documents: {len(documents)}") From 0b36d3cad7a652c233bf0a50f3355f8d83c220eb Mon Sep 17 00:00:00 2001 From: gayathrivijayakumar Date: Wed, 22 May 2024 17:45:27 +0530 Subject: [PATCH 6/8] Address review comments --- src/unstract/sdk/index.py | 4 ++-- src/unstract/sdk/llm.py | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/unstract/sdk/index.py b/src/unstract/sdk/index.py index 01d2c741..d38c9404 100644 --- a/src/unstract/sdk/index.py +++ b/src/unstract/sdk/index.py @@ -76,9 +76,9 @@ def get_text_from_index( ) except Exception as e: self.tool.stream_log( - f"Error querying {vector_db}: {e}", level=LogLevel.ERROR + f"Error building query {vector_db}: {e}", level=LogLevel.ERROR ) - raise SdkError(f"Error querying {vector_db}: {e}") + raise SdkError(f"Error Error building query {vector_db}: {e}") n: VectorStoreQueryResult = vector_db.query(query=q) if len(n.nodes) > 0: diff --git a/src/unstract/sdk/llm.py b/src/unstract/sdk/llm.py index 5f8fd70c..d9d252a6 100644 --- a/src/unstract/sdk/llm.py +++ b/src/unstract/sdk/llm.py @@ -24,7 +24,6 @@ class LLM: """Class to handle LLMs for Unstract Tools.""" json_regex = re.compile(r"\[(?:.|\n)*\]|\{(?:.|\n)*\}") - json_regex = re.compile(r"\{(?:.|\n)*\}") llm_adapters = adapters MAX_TOKENS = 1024 * 4 From c032d6d37eace71e55557f7caca530ef4f5fbc48 Mon Sep 17 00:00:00 2001 From: gayathrivijayakumar Date: Wed, 22 May 2024 19:09:15 +0530 Subject: [PATCH 7/8] Updated adapter version --- pdm.lock | 1079 +++++++++++++++++++++------------- pyproject.toml | 2 +- src/unstract/sdk/__init__.py | 2 +- 3 files changed, 667 insertions(+), 416 deletions(-) diff --git a/pdm.lock b/pdm.lock index a150a788..63af8c24 100644 --- a/pdm.lock +++ b/pdm.lock @@ -5,7 +5,7 @@ groups = ["default", "docs", "lint", "test"] strategy = ["cross_platform"] lock_version = "4.4.1" -content_hash = "sha256:ff3261c18de4265865867b05c7b1a080084eafbf6ae7fb5a56086b62588d1fa0" +content_hash = "sha256:81c9907f306e9ef88a0372e264fe735f481b6574ae6135beea6f5ec9e90d248e" [[package]] name = "aiohttp" @@ -84,12 +84,12 @@ files = [ [[package]] name = "annotated-types" -version = "0.6.0" +version = "0.7.0" requires_python = ">=3.8" summary = "Reusable constraint types to use with typing.Annotated" files = [ - {file = "annotated_types-0.6.0-py3-none-any.whl", hash = "sha256:0641064de18ba7a25dee8f96403ebc39113d0cb953a01429249d5c7564666a43"}, - {file = "annotated_types-0.6.0.tar.gz", hash = "sha256:563339e807e53ffd9c267e99fc6d9ea23eb8443c08f112651963e24e22f84a5d"}, + {file = "annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53"}, + {file = "annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89"}, ] [[package]] @@ -127,51 +127,6 @@ files = [ {file = "anyio-4.3.0.tar.gz", hash = "sha256:f75253795a87df48568485fd18cdd2a3fa5c4f7c5be8e5e36637733fce06fed6"}, ] -[[package]] -name = "argon2-cffi" -version = "23.1.0" -requires_python = ">=3.7" -summary = "Argon2 for Python" -dependencies = [ - "argon2-cffi-bindings", -] -files = [ - {file = "argon2_cffi-23.1.0-py3-none-any.whl", hash = "sha256:c670642b78ba29641818ab2e68bd4e6a78ba53b7eff7b4c3815ae16abf91c7ea"}, - {file = "argon2_cffi-23.1.0.tar.gz", hash = "sha256:879c3e79a2729ce768ebb7d36d4609e3a78a4ca2ec3a9f12286ca057e3d0db08"}, -] - -[[package]] -name = "argon2-cffi-bindings" -version = "21.2.0" -requires_python = ">=3.6" -summary = "Low-level CFFI bindings for Argon2" -dependencies = [ - "cffi>=1.0.1", -] -files = [ - {file = "argon2-cffi-bindings-21.2.0.tar.gz", hash = "sha256:bb89ceffa6c791807d1305ceb77dbfacc5aa499891d2c55661c6459651fc39e3"}, - {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:ccb949252cb2ab3a08c02024acb77cfb179492d5701c7cbdbfd776124d4d2367"}, - {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9524464572e12979364b7d600abf96181d3541da11e23ddf565a32e70bd4dc0d"}, - {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b746dba803a79238e925d9046a63aa26bf86ab2a2fe74ce6b009a1c3f5c8f2ae"}, - {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:58ed19212051f49a523abb1dbe954337dc82d947fb6e5a0da60f7c8471a8476c"}, - {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:bd46088725ef7f58b5a1ef7ca06647ebaf0eb4baff7d1d0d177c6cc8744abd86"}, - {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_i686.whl", hash = "sha256:8cd69c07dd875537a824deec19f978e0f2078fdda07fd5c42ac29668dda5f40f"}, - {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:f1152ac548bd5b8bcecfb0b0371f082037e47128653df2e8ba6e914d384f3c3e"}, - {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-win32.whl", hash = "sha256:603ca0aba86b1349b147cab91ae970c63118a0f30444d4bc80355937c950c082"}, - {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-win_amd64.whl", hash = "sha256:b2ef1c30440dbbcba7a5dc3e319408b59676e2e039e2ae11a8775ecf482b192f"}, - {file = "argon2_cffi_bindings-21.2.0-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:e415e3f62c8d124ee16018e491a009937f8cf7ebf5eb430ffc5de21b900dad93"}, - {file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:3e385d1c39c520c08b53d63300c3ecc28622f076f4c2b0e6d7e796e9f6502194"}, - {file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2c3e3cc67fdb7d82c4718f19b4e7a87123caf8a93fde7e23cf66ac0337d3cb3f"}, - {file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6a22ad9800121b71099d0fb0a65323810a15f2e292f2ba450810a7316e128ee5"}, - {file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f9f8b450ed0547e3d473fdc8612083fd08dd2120d6ac8f73828df9b7d45bb351"}, - {file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:93f9bf70084f97245ba10ee36575f0c3f1e7d7724d67d8e5b08e61787c320ed7"}, - {file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:3b9ef65804859d335dc6b31582cad2c5166f0c3e7975f324d9ffaa34ee7e6583"}, - {file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4966ef5848d820776f5f562a7d45fdd70c2f330c961d0d745b784034bd9f48d"}, - {file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:20ef543a89dee4db46a1a6e206cd015360e5a75822f76df533845c3cbaf72670"}, - {file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ed2937d286e2ad0cc79a7087d3c272832865f779430e0cc2b4f3718d3159b0cb"}, - {file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:5e00316dabdaea0b2dd82d141cc66889ced0cdcbfa599e8b471cf22c620c329a"}, -] - [[package]] name = "async-timeout" version = "4.0.3" @@ -286,22 +241,6 @@ files = [ {file = "azure_identity-1.16.0-py3-none-any.whl", hash = "sha256:722fdb60b8fdd55fa44dc378b8072f4b419b56a5e54c0de391f644949f3a826f"}, ] -[[package]] -name = "azure-storage-blob" -version = "12.20.0" -requires_python = ">=3.8" -summary = "Microsoft Azure Blob Storage Client Library for Python" -dependencies = [ - "azure-core>=1.28.0", - "cryptography>=2.1.4", - "isodate>=0.6.1", - "typing-extensions>=4.6.0", -] -files = [ - {file = "azure-storage-blob-12.20.0.tar.gz", hash = "sha256:eeb91256e41d4b5b9bad6a87fd0a8ade07dd58aa52344e2c8d2746e27a017d3b"}, - {file = "azure_storage_blob-12.20.0-py3-none-any.whl", hash = "sha256:de6b3bf3a90e9341a6bcb96a2ebe981dffff993e9045818f6549afea827a52a9"}, -] - [[package]] name = "beautifulsoup4" version = "4.12.3" @@ -349,6 +288,32 @@ files = [ {file = "black-23.3.0.tar.gz", hash = "sha256:1c7b8d606e728a41ea1ccbd7264677e494e87cf630e399262ced92d4a8dac940"}, ] +[[package]] +name = "blis" +version = "0.7.11" +summary = "The Blis BLAS-like linear algebra library, as a self-contained C-extension." +dependencies = [ + "numpy>=1.19.0; python_version >= \"3.9\"", +] +files = [ + {file = "blis-0.7.11-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:cd5fba34c5775e4c440d80e4dea8acb40e2d3855b546e07c4e21fad8f972404c"}, + {file = "blis-0.7.11-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:31273d9086cab9c56986d478e3ed6da6752fa4cdd0f7b5e8e5db30827912d90d"}, + {file = "blis-0.7.11-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d06883f83d4c8de8264154f7c4a420b4af323050ed07398c1ff201c34c25c0d2"}, + {file = "blis-0.7.11-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ee493683e3043650d4413d531e79e580d28a3c7bdd184f1b9cfa565497bda1e7"}, + {file = "blis-0.7.11-cp310-cp310-win_amd64.whl", hash = "sha256:a73945a9d635eea528bccfdfcaa59dd35bd5f82a4a40d5ca31f08f507f3a6f81"}, + {file = "blis-0.7.11-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1b68df4d01d62f9adaef3dad6f96418787265a6878891fc4e0fabafd6d02afba"}, + {file = "blis-0.7.11-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:162e60d941a8151418d558a94ee5547cb1bbeed9f26b3b6f89ec9243f111a201"}, + {file = "blis-0.7.11-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:686a7d0111d5ba727cd62f374748952fd6eb74701b18177f525b16209a253c01"}, + {file = "blis-0.7.11-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0421d6e44cda202b113a34761f9a062b53f8c2ae8e4ec8325a76e709fca93b6e"}, + {file = "blis-0.7.11-cp311-cp311-win_amd64.whl", hash = "sha256:0dc9dcb3843045b6b8b00432409fd5ee96b8344a324e031bfec7303838c41a1a"}, + {file = "blis-0.7.11-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2ff7abd784033836b284ff9f4d0d7cb0737b7684daebb01a4c9fe145ffa5a31e"}, + {file = "blis-0.7.11-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f9caffcd14795bfe52add95a0dd8426d44e737b55fcb69e2b797816f4da0b1d2"}, + {file = "blis-0.7.11-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2fb36989ed61233cfd48915896802ee6d3d87882190000f8cfe0cf4a3819f9a8"}, + {file = "blis-0.7.11-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ea09f961871f880d5dc622dce6c370e4859559f0ead897ae9b20ddafd6b07a2"}, + {file = "blis-0.7.11-cp39-cp39-win_amd64.whl", hash = "sha256:5bb38adabbb22f69f22c74bad025a010ae3b14de711bf5c715353980869d491d"}, + {file = "blis-0.7.11.tar.gz", hash = "sha256:cec6d48f75f7ac328ae1b6fbb372dde8c8a57c89559172277f66e01ff08d4d42"}, +] + [[package]] name = "cachetools" version = "5.3.3" @@ -359,6 +324,16 @@ files = [ {file = "cachetools-5.3.3.tar.gz", hash = "sha256:ba29e2dfa0b8b556606f097407ed1aa62080ee108ab0dc5ec9d6a723a007d105"}, ] +[[package]] +name = "catalogue" +version = "2.0.10" +requires_python = ">=3.6" +summary = "Super lightweight function registries for your library" +files = [ + {file = "catalogue-2.0.10-py3-none-any.whl", hash = "sha256:58c2de0020aa90f4a2da7dfad161bf7b3b054c86a5f09fcedc0b2b740c109a9f"}, + {file = "catalogue-2.0.10.tar.gz", hash = "sha256:4f56daa940913d3f09d589c191c74e5a6d51762b3a9e37dd53b7437afd6cda15"}, +] + [[package]] name = "certifi" version = "2024.2.2" @@ -492,6 +467,19 @@ files = [ {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, ] +[[package]] +name = "cloudpathlib" +version = "0.16.0" +requires_python = ">=3.7" +summary = "pathlib-style classes for cloud storage services." +dependencies = [ + "typing-extensions>4; python_version < \"3.11\"", +] +files = [ + {file = "cloudpathlib-0.16.0-py3-none-any.whl", hash = "sha256:f46267556bf91f03db52b5df7a152548596a15aabca1c8731ef32b0b25a1a6a3"}, + {file = "cloudpathlib-0.16.0.tar.gz", hash = "sha256:cdfcd35d46d529587d744154a0bdf962aca953b725c8784cd2ec478354ea63a3"}, +] + [[package]] name = "colorama" version = "0.4.6" @@ -502,6 +490,20 @@ files = [ {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, ] +[[package]] +name = "confection" +version = "0.1.4" +requires_python = ">=3.6" +summary = "The sweetest config system for Python" +dependencies = [ + "pydantic!=1.8,!=1.8.1,<3.0.0,>=1.7.4", + "srsly<3.0.0,>=2.4.0", +] +files = [ + {file = "confection-0.1.4-py3-none-any.whl", hash = "sha256:a658818d004939069c3e2b3db74a2cb9d956a5e61a1c9ad61788e0ee09a7090f"}, + {file = "confection-0.1.4.tar.gz", hash = "sha256:e80f22fd008b5231a2e8852fac6de9e28f2276a04031d0536cff74fe4a990c8f"}, +] + [[package]] name = "cryptography" version = "42.0.7" @@ -545,6 +547,29 @@ files = [ {file = "cryptography-42.0.7.tar.gz", hash = "sha256:ecbfbc00bf55888edda9868a4cf927205de8499e7fabe6c050322298382953f2"}, ] +[[package]] +name = "cymem" +version = "2.0.8" +summary = "Manage calls to calloc/free through Cython" +files = [ + {file = "cymem-2.0.8-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:77b5d3a73c41a394efd5913ab7e48512054cd2dabb9582d489535456641c7666"}, + {file = "cymem-2.0.8-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:bd33da892fb560ba85ea14b1528c381ff474048e861accc3366c8b491035a378"}, + {file = "cymem-2.0.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:29a551eda23eebd6d076b855f77a5ed14a1d1cae5946f7b3cb5de502e21b39b0"}, + {file = "cymem-2.0.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e8260445652ae5ab19fff6851f32969a7b774f309162e83367dd0f69aac5dbf7"}, + {file = "cymem-2.0.8-cp310-cp310-win_amd64.whl", hash = "sha256:a63a2bef4c7e0aec7c9908bca0a503bf91ac7ec18d41dd50dc7dff5d994e4387"}, + {file = "cymem-2.0.8-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6b84b780d52cb2db53d4494fe0083c4c5ee1f7b5380ceaea5b824569009ee5bd"}, + {file = "cymem-2.0.8-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0d5f83dc3cb5a39f0e32653cceb7c8ce0183d82f1162ca418356f4a8ed9e203e"}, + {file = "cymem-2.0.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ac218cf8a43a761dc6b2f14ae8d183aca2bbb85b60fe316fd6613693b2a7914"}, + {file = "cymem-2.0.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42c993589d1811ec665d37437d5677b8757f53afadd927bf8516ac8ce2d3a50c"}, + {file = "cymem-2.0.8-cp311-cp311-win_amd64.whl", hash = "sha256:ab3cf20e0eabee9b6025ceb0245dadd534a96710d43fb7a91a35e0b9e672ee44"}, + {file = "cymem-2.0.8-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b896c83c08dadafe8102a521f83b7369a9c5cc3e7768eca35875764f56703f4c"}, + {file = "cymem-2.0.8-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a4f8f2bfee34f6f38b206997727d29976666c89843c071a968add7d61a1e8024"}, + {file = "cymem-2.0.8-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7372e2820fa66fd47d3b135f3eb574ab015f90780c3a21cfd4809b54f23a4723"}, + {file = "cymem-2.0.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4e57bee56d35b90fc2cba93e75b2ce76feaca05251936e28a96cf812a1f5dda"}, + {file = "cymem-2.0.8-cp39-cp39-win_amd64.whl", hash = "sha256:ceeab3ce2a92c7f3b2d90854efb32cb203e78cb24c836a5a9a2cac221930303b"}, + {file = "cymem-2.0.8.tar.gz", hash = "sha256:8fb09d222e21dcf1c7e907dc85cf74501d4cea6c4ed4ac6c9e016f98fb59cbbf"}, +] + [[package]] name = "dataclasses-json" version = "0.6.6" @@ -748,12 +773,12 @@ files = [ [[package]] name = "fsspec" -version = "2024.3.1" +version = "2024.5.0" requires_python = ">=3.8" summary = "File-system specification" files = [ - {file = "fsspec-2024.3.1-py3-none-any.whl", hash = "sha256:918d18d41bf73f0e2b261824baeb1b124bcf771767e3a26425cd7dec3332f512"}, - {file = "fsspec-2024.3.1.tar.gz", hash = "sha256:f39780e282d7d117ffb42bb96992f8a90795e4d0fb0f661a70ca39fe9c43ded9"}, + {file = "fsspec-2024.5.0-py3-none-any.whl", hash = "sha256:e0fdbc446d67e182f49a70b82cf7889028a63588fde6b222521f10937b2b670c"}, + {file = "fsspec-2024.5.0.tar.gz", hash = "sha256:1d021b0b0f933e3b3029ed808eb400c08ba101ca2de4b3483fbc9ca23fcee94a"}, ] [[package]] @@ -823,7 +848,7 @@ files = [ [[package]] name = "google-cloud-aiplatform" -version = "1.51.0" +version = "1.52.0" requires_python = ">=3.8" summary = "Vertex AI API client library" dependencies = [ @@ -840,13 +865,13 @@ dependencies = [ "shapely<3.0.0dev", ] files = [ - {file = "google-cloud-aiplatform-1.51.0.tar.gz", hash = "sha256:901993b4d14392452699c14cf23d72c01c5488ee36a7e00b23195e64d7d2f5ec"}, - {file = "google_cloud_aiplatform-1.51.0-py2.py3-none-any.whl", hash = "sha256:f2d3ff231454fe397f02fce1358680dea76ed7c74fc42e6c7e1aa1acb1648df3"}, + {file = "google-cloud-aiplatform-1.52.0.tar.gz", hash = "sha256:932a56e3050b4bc9a2c0630e6af3c0bd52f0bcf72b5dc01c059874231099edd3"}, + {file = "google_cloud_aiplatform-1.52.0-py2.py3-none-any.whl", hash = "sha256:8c62f5d0ec39e008737ebba4875105ed7563dd0958f591f95dc7816e4b30f92a"}, ] [[package]] name = "google-cloud-bigquery" -version = "3.22.0" +version = "3.23.1" requires_python = ">=3.7" summary = "Google BigQuery API client library" dependencies = [ @@ -859,8 +884,8 @@ dependencies = [ "requests<3.0.0dev,>=2.21.0", ] files = [ - {file = "google-cloud-bigquery-3.22.0.tar.gz", hash = "sha256:957591e6f948d7cb4aa0f7a8e4e47b4617cd7f0269e28a71c37953c39b6e8a4c"}, - {file = "google_cloud_bigquery-3.22.0-py2.py3-none-any.whl", hash = "sha256:80c8e31a23b68b7d3ae5d138c9a9edff69d100ee812db73a5e63c79a13a5063d"}, + {file = "google-cloud-bigquery-3.23.1.tar.gz", hash = "sha256:4b4597f9291b42102c9667d3b4528f801d4c8f24ef2b12dd1ecb881273330955"}, + {file = "google_cloud_bigquery-3.23.1-py2.py3-none-any.whl", hash = "sha256:9fb72884fdbec9c4643cea6b7f21e1ecf3eb61d5305f87493d271dc801647a9e"}, ] [[package]] @@ -1079,38 +1104,38 @@ files = [ [[package]] name = "grpcio" -version = "1.63.0" +version = "1.64.0" requires_python = ">=3.8" summary = "HTTP/2-based RPC framework" files = [ - {file = "grpcio-1.63.0-cp310-cp310-linux_armv7l.whl", hash = "sha256:2e93aca840c29d4ab5db93f94ed0a0ca899e241f2e8aec6334ab3575dc46125c"}, - {file = "grpcio-1.63.0-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:91b73d3f1340fefa1e1716c8c1ec9930c676d6b10a3513ab6c26004cb02d8b3f"}, - {file = "grpcio-1.63.0-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:b3afbd9d6827fa6f475a4f91db55e441113f6d3eb9b7ebb8fb806e5bb6d6bd0d"}, - {file = "grpcio-1.63.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8f3f6883ce54a7a5f47db43289a0a4c776487912de1a0e2cc83fdaec9685cc9f"}, - {file = "grpcio-1.63.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cf8dae9cc0412cb86c8de5a8f3be395c5119a370f3ce2e69c8b7d46bb9872c8d"}, - {file = "grpcio-1.63.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:08e1559fd3b3b4468486b26b0af64a3904a8dbc78d8d936af9c1cf9636eb3e8b"}, - {file = "grpcio-1.63.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:5c039ef01516039fa39da8a8a43a95b64e288f79f42a17e6c2904a02a319b357"}, - {file = "grpcio-1.63.0-cp310-cp310-win32.whl", hash = "sha256:ad2ac8903b2eae071055a927ef74121ed52d69468e91d9bcbd028bd0e554be6d"}, - {file = "grpcio-1.63.0-cp310-cp310-win_amd64.whl", hash = "sha256:b2e44f59316716532a993ca2966636df6fbe7be4ab6f099de6815570ebe4383a"}, - {file = "grpcio-1.63.0-cp311-cp311-linux_armv7l.whl", hash = "sha256:f28f8b2db7b86c77916829d64ab21ff49a9d8289ea1564a2b2a3a8ed9ffcccd3"}, - {file = "grpcio-1.63.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:65bf975639a1f93bee63ca60d2e4951f1b543f498d581869922910a476ead2f5"}, - {file = "grpcio-1.63.0-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:b5194775fec7dc3dbd6a935102bb156cd2c35efe1685b0a46c67b927c74f0cfb"}, - {file = "grpcio-1.63.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e4cbb2100ee46d024c45920d16e888ee5d3cf47c66e316210bc236d5bebc42b3"}, - {file = "grpcio-1.63.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ff737cf29b5b801619f10e59b581869e32f400159e8b12d7a97e7e3bdeee6a2"}, - {file = "grpcio-1.63.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:cd1e68776262dd44dedd7381b1a0ad09d9930ffb405f737d64f505eb7f77d6c7"}, - {file = "grpcio-1.63.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:93f45f27f516548e23e4ec3fbab21b060416007dbe768a111fc4611464cc773f"}, - {file = "grpcio-1.63.0-cp311-cp311-win32.whl", hash = "sha256:878b1d88d0137df60e6b09b74cdb73db123f9579232c8456f53e9abc4f62eb3c"}, - {file = "grpcio-1.63.0-cp311-cp311-win_amd64.whl", hash = "sha256:756fed02dacd24e8f488f295a913f250b56b98fb793f41d5b2de6c44fb762434"}, - {file = "grpcio-1.63.0-cp39-cp39-linux_armv7l.whl", hash = "sha256:75f701ff645858a2b16bc8c9fc68af215a8bb2d5a9b647448129de6e85d52bce"}, - {file = "grpcio-1.63.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:cacdef0348a08e475a721967f48206a2254a1b26ee7637638d9e081761a5ba86"}, - {file = "grpcio-1.63.0-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:0697563d1d84d6985e40ec5ec596ff41b52abb3fd91ec240e8cb44a63b895094"}, - {file = "grpcio-1.63.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6426e1fb92d006e47476d42b8f240c1d916a6d4423c5258ccc5b105e43438f61"}, - {file = "grpcio-1.63.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e48cee31bc5f5a31fb2f3b573764bd563aaa5472342860edcc7039525b53e46a"}, - {file = "grpcio-1.63.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:50344663068041b34a992c19c600236e7abb42d6ec32567916b87b4c8b8833b3"}, - {file = "grpcio-1.63.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:259e11932230d70ef24a21b9fb5bb947eb4703f57865a404054400ee92f42f5d"}, - {file = "grpcio-1.63.0-cp39-cp39-win32.whl", hash = "sha256:a44624aad77bf8ca198c55af811fd28f2b3eaf0a50ec5b57b06c034416ef2d0a"}, - {file = "grpcio-1.63.0-cp39-cp39-win_amd64.whl", hash = "sha256:166e5c460e5d7d4656ff9e63b13e1f6029b122104c1633d5f37eaea348d7356d"}, - {file = "grpcio-1.63.0.tar.gz", hash = "sha256:f3023e14805c61bc439fb40ca545ac3d5740ce66120a678a3c6c2c55b70343d1"}, + {file = "grpcio-1.64.0-cp310-cp310-linux_armv7l.whl", hash = "sha256:3b09c3d9de95461214a11d82cc0e6a46a6f4e1f91834b50782f932895215e5db"}, + {file = "grpcio-1.64.0-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:7e013428ab472892830287dd082b7d129f4d8afef49227a28223a77337555eaa"}, + {file = "grpcio-1.64.0-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:02cc9cc3f816d30f7993d0d408043b4a7d6a02346d251694d8ab1f78cc723e7e"}, + {file = "grpcio-1.64.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1f5de082d936e0208ce8db9095821361dfa97af8767a6607ae71425ac8ace15c"}, + {file = "grpcio-1.64.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d7b7bf346391dffa182fba42506adf3a84f4a718a05e445b37824136047686a1"}, + {file = "grpcio-1.64.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:b2cbdfba18408389a1371f8c2af1659119e1831e5ed24c240cae9e27b4abc38d"}, + {file = "grpcio-1.64.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:aca4f15427d2df592e0c8f3d38847e25135e4092d7f70f02452c0e90d6a02d6d"}, + {file = "grpcio-1.64.0-cp310-cp310-win32.whl", hash = "sha256:7c1f5b2298244472bcda49b599be04579f26425af0fd80d3f2eb5fd8bc84d106"}, + {file = "grpcio-1.64.0-cp310-cp310-win_amd64.whl", hash = "sha256:73f84f9e5985a532e47880b3924867de16fa1aa513fff9b26106220c253c70c5"}, + {file = "grpcio-1.64.0-cp311-cp311-linux_armv7l.whl", hash = "sha256:2a18090371d138a57714ee9bffd6c9c9cb2e02ce42c681aac093ae1e7189ed21"}, + {file = "grpcio-1.64.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:59c68df3a934a586c3473d15956d23a618b8f05b5e7a3a904d40300e9c69cbf0"}, + {file = "grpcio-1.64.0-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:b52e1ec7185512103dd47d41cf34ea78e7a7361ba460187ddd2416b480e0938c"}, + {file = "grpcio-1.64.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8d598b5d5e2c9115d7fb7e2cb5508d14286af506a75950762aa1372d60e41851"}, + {file = "grpcio-1.64.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:01615bbcae6875eee8091e6b9414072f4e4b00d8b7e141f89635bdae7cf784e5"}, + {file = "grpcio-1.64.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:0b2dfe6dcace264807d9123d483d4c43274e3f8c39f90ff51de538245d7a4145"}, + {file = "grpcio-1.64.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:7f17572dc9acd5e6dfd3014d10c0b533e9f79cd9517fc10b0225746f4c24b58e"}, + {file = "grpcio-1.64.0-cp311-cp311-win32.whl", hash = "sha256:6ec5ed15b4ffe56e2c6bc76af45e6b591c9be0224b3fb090adfb205c9012367d"}, + {file = "grpcio-1.64.0-cp311-cp311-win_amd64.whl", hash = "sha256:597191370951b477b7a1441e1aaa5cacebeb46a3b0bd240ec3bb2f28298c7553"}, + {file = "grpcio-1.64.0-cp39-cp39-linux_armv7l.whl", hash = "sha256:2186d76a7e383e1466e0ea2b0febc343ffeae13928c63c6ec6826533c2d69590"}, + {file = "grpcio-1.64.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:0f30596cdcbed3c98024fb4f1d91745146385b3f9fd10c9f2270cbfe2ed7ed91"}, + {file = "grpcio-1.64.0-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:d9171f025a196f5bcfec7e8e7ffb7c3535f7d60aecd3503f9e250296c7cfc150"}, + {file = "grpcio-1.64.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cf4c8daed18ae2be2f1fc7d613a76ee2a2e28fdf2412d5c128be23144d28283d"}, + {file = "grpcio-1.64.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3550493ac1d23198d46dc9c9b24b411cef613798dc31160c7138568ec26bc9b4"}, + {file = "grpcio-1.64.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:3161a8f8bb38077a6470508c1a7301cd54301c53b8a34bb83e3c9764874ecabd"}, + {file = "grpcio-1.64.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:2e8fabe2cc57a369638ab1ad8e6043721014fdf9a13baa7c0e35995d3a4a7618"}, + {file = "grpcio-1.64.0-cp39-cp39-win32.whl", hash = "sha256:31890b24d47b62cc27da49a462efe3d02f3c120edb0e6c46dcc0025506acf004"}, + {file = "grpcio-1.64.0-cp39-cp39-win_amd64.whl", hash = "sha256:5a56797dea8c02e7d3a85dfea879f286175cf4d14fbd9ab3ef2477277b927baa"}, + {file = "grpcio-1.64.0.tar.gz", hash = "sha256:257baf07f53a571c215eebe9679c3058a313fd1d1f7c4eede5a8660108c52d9c"}, ] [[package]] @@ -1251,7 +1276,7 @@ files = [ [[package]] name = "huggingface-hub" -version = "0.23.0" +version = "0.23.1" requires_python = ">=3.8.0" summary = "Client library to download and publish models, datasets and other repos on the huggingface.co hub" dependencies = [ @@ -1264,8 +1289,8 @@ dependencies = [ "typing-extensions>=3.7.4.3", ] files = [ - {file = "huggingface_hub-0.23.0-py3-none-any.whl", hash = "sha256:075c30d48ee7db2bba779190dc526d2c11d422aed6f9044c5e2fdc2c432fdb91"}, - {file = "huggingface_hub-0.23.0.tar.gz", hash = "sha256:7126dedd10a4c6fac796ced4d87a8cf004efc722a5125c2c09299017fa366fa9"}, + {file = "huggingface_hub-0.23.1-py3-none-any.whl", hash = "sha256:720a5bffd2b1b449deb793da8b0df7a9390a7e238534d5a08c9fbcdecb1dd3cb"}, + {file = "huggingface_hub-0.23.1.tar.gz", hash = "sha256:4f62dbf6ae94f400c6d3419485e52bce510591432a5248a65d0cb72e4d479eb4"}, ] [[package]] @@ -1298,18 +1323,6 @@ files = [ {file = "idna-3.7.tar.gz", hash = "sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc"}, ] -[[package]] -name = "isodate" -version = "0.6.1" -summary = "An ISO 8601 date/time/duration parser and formatter" -dependencies = [ - "six", -] -files = [ - {file = "isodate-0.6.1-py2.py3-none-any.whl", hash = "sha256:0751eece944162659049d35f4f549ed815792b38793f07cf73381c1c87cbed96"}, - {file = "isodate-0.6.1.tar.gz", hash = "sha256:48c5881de7e8b0a0d648cb024c8062dc84e7b840ed81e864c7614fd3c127bde9"}, -] - [[package]] name = "isort" version = "5.12.0" @@ -1320,6 +1333,19 @@ files = [ {file = "isort-5.12.0.tar.gz", hash = "sha256:8bef7dde241278824a6d83f44a544709b065191b95b6e50894bdc722fcba0504"}, ] +[[package]] +name = "jinja2" +version = "3.1.4" +requires_python = ">=3.7" +summary = "A very fast and expressive template engine." +dependencies = [ + "MarkupSafe>=2.0", +] +files = [ + {file = "jinja2-3.1.4-py3-none-any.whl", hash = "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d"}, + {file = "jinja2-3.1.4.tar.gz", hash = "sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369"}, +] + [[package]] name = "joblib" version = "1.4.2" @@ -1330,6 +1356,18 @@ files = [ {file = "joblib-1.4.2.tar.gz", hash = "sha256:2382c5816b2636fbd20a09e0f4e9dad4736765fdfb7dca582943b9c1366b3f0e"}, ] +[[package]] +name = "jsonpath-ng" +version = "1.6.1" +summary = "A final implementation of JSONPath for Python that aims to be standard compliant, including arithmetic and binary comparison operators and providing clear AST for metaprogramming." +dependencies = [ + "ply", +] +files = [ + {file = "jsonpath-ng-1.6.1.tar.gz", hash = "sha256:086c37ba4917304850bd837aeab806670224d3f038fe2833ff593a672ef0a5fa"}, + {file = "jsonpath_ng-1.6.1-py3-none-any.whl", hash = "sha256:8f22cd8273d7772eea9aaa84d922e0841aa36fdb8a2c6b7f6c3791a16a9bc0be"}, +] + [[package]] name = "jsonschema" version = "4.18.6" @@ -1359,6 +1397,31 @@ files = [ {file = "jsonschema_specifications-2023.12.1.tar.gz", hash = "sha256:48a76787b3e70f5ed53f1160d2b81f586e4ca6d1548c5de7085d1682674764cc"}, ] +[[package]] +name = "langcodes" +version = "3.4.0" +requires_python = ">=3.8" +summary = "Tools for labeling human languages with IETF language tags" +dependencies = [ + "language-data>=1.2", +] +files = [ + {file = "langcodes-3.4.0-py3-none-any.whl", hash = "sha256:10a4cc078b8e8937d8485d3352312a0a89a3125190db9f2bb2074250eef654e9"}, + {file = "langcodes-3.4.0.tar.gz", hash = "sha256:ae5a77d1a01d0d1e91854a671890892b7ce9abb601ab7327fc5c874f899e1979"}, +] + +[[package]] +name = "language-data" +version = "1.2.0" +summary = "Supplementary data about languages used by the langcodes module" +dependencies = [ + "marisa-trie>=0.7.7", +] +files = [ + {file = "language_data-1.2.0-py3-none-any.whl", hash = "sha256:77d5cab917f91ee0b2f1aa7018443e911cf8985ef734ca2ba3940770f6a3816b"}, + {file = "language_data-1.2.0.tar.gz", hash = "sha256:82a86050bbd677bfde87d97885b17566cfe75dad3ac4f5ce44b52c28f752e773"}, +] + [[package]] name = "lazydocs" version = "0.4.8" @@ -1398,7 +1461,7 @@ files = [ [[package]] name = "llama-index-agent-openai" -version = "0.2.4" +version = "0.2.5" requires_python = "<4.0,>=3.8.1" summary = "llama-index agent openai integration" dependencies = [ @@ -1407,8 +1470,8 @@ dependencies = [ "openai>=1.14.0", ] files = [ - {file = "llama_index_agent_openai-0.2.4-py3-none-any.whl", hash = "sha256:b05eb7f0331d40a7a2bcaabaa84c9c7ebe6837a72038d03cbb71c083a4301a81"}, - {file = "llama_index_agent_openai-0.2.4.tar.gz", hash = "sha256:cd4a58f8bf233728ceda554cbb34de56a2b6bbbbff6ce801c3f8ff0c8280bf55"}, + {file = "llama_index_agent_openai-0.2.5-py3-none-any.whl", hash = "sha256:67536bb104b24734f79324207034d948a2ca7e4cc20dd60cf05d6eeb4b12a586"}, + {file = "llama_index_agent_openai-0.2.5.tar.gz", hash = "sha256:45f4cc670d037a8a67f541d3a4d095f7f61caff6ed2c25702441eb1116d4b495"}, ] [[package]] @@ -1428,7 +1491,7 @@ files = [ [[package]] name = "llama-index-core" -version = "0.10.36" +version = "0.10.38.post1" requires_python = "<4.0,>=3.8.1" summary = "Interface between LLMs and your data" dependencies = [ @@ -1440,6 +1503,7 @@ dependencies = [ "dirtyjson<2.0.0,>=1.0.8", "fsspec>=2023.5.0", "httpx", + "jsonpath-ng", "llamaindex-py-client<0.2.0,>=0.1.18", "nest-asyncio<2.0.0,>=1.5.8", "networkx>=3.0", @@ -1449,6 +1513,7 @@ dependencies = [ "pandas", "pillow>=9.0.0", "requests>=2.31.0", + "spacy", "tenacity<9.0.0,>=8.2.0", "tiktoken>=0.3.3", "tqdm<5.0.0,>=4.66.1", @@ -1457,8 +1522,8 @@ dependencies = [ "wrapt", ] files = [ - {file = "llama_index_core-0.10.36-py3-none-any.whl", hash = "sha256:a6e8ea790e5b3656a254d9b47f8c00044dd46aae1cd43004c5d1303a7502b3e6"}, - {file = "llama_index_core-0.10.36.tar.gz", hash = "sha256:02f06bdefb5c6fd11dee1f65007a98decf3b266ad76136b7cfd3bec44efc5493"}, + {file = "llama_index_core-0.10.38.post1-py3-none-any.whl", hash = "sha256:529dc6602de0e877d69b0e9b5f331d3d4f0b9100cde4572d0ac18240fb064fa0"}, + {file = "llama_index_core-0.10.38.post1.tar.gz", hash = "sha256:c571af6bb96f3a17370e257bdd67c58f9b933a827b6f38e39a600f2fc4c64acc"}, ] [[package]] @@ -1492,15 +1557,15 @@ files = [ [[package]] name = "llama-index-embeddings-openai" -version = "0.1.9" +version = "0.1.10" requires_python = "<4.0,>=3.8.1" summary = "llama-index embeddings openai integration" dependencies = [ "llama-index-core<0.11.0,>=0.10.1", ] files = [ - {file = "llama_index_embeddings_openai-0.1.9-py3-none-any.whl", hash = "sha256:fbd16d6197b91f4dbdc6d0707e573cc224ac2b0a48d5b370c6232dd8a2282473"}, - {file = "llama_index_embeddings_openai-0.1.9.tar.gz", hash = "sha256:0fd292b2f9a0ad4534a790d6374726bc885853188087eb018167dcf239643924"}, + {file = "llama_index_embeddings_openai-0.1.10-py3-none-any.whl", hash = "sha256:c3cfa83b537ded34d035fc172a945dd444c87fb58a89b02dfbf785b675f9f681"}, + {file = "llama_index_embeddings_openai-0.1.10.tar.gz", hash = "sha256:1bc1fc9b46773a12870c5d3097d3735d7ca33805f12462a8e35ae8a6e5ce1cf6"}, ] [[package]] @@ -1620,15 +1685,15 @@ files = [ [[package]] name = "llama-index-llms-openai" -version = "0.1.18" +version = "0.1.20" requires_python = "<4.0,>=3.8.1" summary = "llama-index llms openai integration" dependencies = [ "llama-index-core<0.11.0,>=0.10.24", ] files = [ - {file = "llama_index_llms_openai-0.1.18-py3-none-any.whl", hash = "sha256:934cf72d10385f1c76c0183b0e94ce1850fab1026287e01b7db0a14c946dfd79"}, - {file = "llama_index_llms_openai-0.1.18.tar.gz", hash = "sha256:8cb7546a1885ba558ff580b114d638569a0aed81a264961114e719bc42b37100"}, + {file = "llama_index_llms_openai-0.1.20-py3-none-any.whl", hash = "sha256:f27401acdf9f65bf4d866a100615dcbd81987b890ae5fa9c513d544ba6d711e7"}, + {file = "llama_index_llms_openai-0.1.20.tar.gz", hash = "sha256:0282e4e252893487afd72383b46da5b28ddcd3fb73bace1caefce8a36e9cf492"}, ] [[package]] @@ -1674,7 +1739,7 @@ files = [ [[package]] name = "llama-index-multi-modal-llms-openai" -version = "0.1.5" +version = "0.1.6" requires_python = "<4.0,>=3.8.1" summary = "llama-index multi-modal-llms openai integration" dependencies = [ @@ -1682,8 +1747,8 @@ dependencies = [ "llama-index-llms-openai<0.2.0,>=0.1.1", ] files = [ - {file = "llama_index_multi_modal_llms_openai-0.1.5-py3-none-any.whl", hash = "sha256:bb332580e7e4b5f2f87488b3649d2ceb53ee82c848e59694578a982c3982ce0b"}, - {file = "llama_index_multi_modal_llms_openai-0.1.5.tar.gz", hash = "sha256:9a237f4f886d1e20c27e9493e80b3e1f8753859481ff1b58fe25b7aa39b198a2"}, + {file = "llama_index_multi_modal_llms_openai-0.1.6-py3-none-any.whl", hash = "sha256:0b6950a6cf98d16ade7d3b9dd0821ecfe457ca103819ae6c3e66cfc9634ca646"}, + {file = "llama_index_multi_modal_llms_openai-0.1.6.tar.gz", hash = "sha256:10de75a877a444af35306385faad9b9f0624391e55309970564114a080a0578c"}, ] [[package]] @@ -1848,16 +1913,110 @@ files = [ ] [[package]] -name = "markdown-it-py" -version = "3.0.0" -requires_python = ">=3.8" -summary = "Python port of markdown-it. Markdown parsing, done right!" +name = "marisa-trie" +version = "1.1.1" +requires_python = ">=3.7" +summary = "Static memory-efficient and fast Trie-like structures for Python." dependencies = [ - "mdurl~=0.1", + "setuptools", ] files = [ - {file = "markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb"}, - {file = "markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1"}, + {file = "marisa_trie-1.1.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:68e48a547b9a1fd64c648684cd375402ba521c2c4a724756a944ef4b88c3047c"}, + {file = "marisa_trie-1.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:615d7de907919bda16e9cafc1fa74942354273c299bf07e3c0adb2420d6fad48"}, + {file = "marisa_trie-1.1.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d587001ef30960eba6d4c9b1f6b03037480c1e4b277b305b5a2957a5eebe4f09"}, + {file = "marisa_trie-1.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:11765ee9c2ad162bc7f8ab9cf383a21349673034bfac9bf00d6b06e44d70a4c9"}, + {file = "marisa_trie-1.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2d5abc72a7267de6a4e3aa7463e780ddfaac442ef3a385f9e1c60e7f32c0cc34"}, + {file = "marisa_trie-1.1.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c70f85ab67754e2f28af6cb1f1db826b5ec735beca2fa021a79c14f9afbc6167"}, + {file = "marisa_trie-1.1.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d5c3a3d12f9c1a4312562b03ccbbd29d0aa28bda999c4f7fa7763f011c9d3a11"}, + {file = "marisa_trie-1.1.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:73eec66265424a548119648a6f38b119a525a767a86dc397e001bfe70f518b91"}, + {file = "marisa_trie-1.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:93c7129f410f9f3215d01ae7737cfc9afa528264c53ba8ee9859a29f164069e0"}, + {file = "marisa_trie-1.1.1-cp310-cp310-win32.whl", hash = "sha256:fe5b7ed1768409933d4457b8bf8d2b2b1af77b7333a27bd418ea0510289d4763"}, + {file = "marisa_trie-1.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:9c5baad750994681ebb8a92bd577a9be31de6e6f9cd391156bf595b91f719db2"}, + {file = "marisa_trie-1.1.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:bfc1a6b60bccee0f8b2edba893b9ad339e7607aee728f3bc4f75ba7d28185c7d"}, + {file = "marisa_trie-1.1.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d45329585ad3e068b7878ba929032987c6a53f85a40bd859b9a1a16324236dd6"}, + {file = "marisa_trie-1.1.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bd028e97d418f092e18d451a0a42bffaa849457662d66747a03332dfff6c39d9"}, + {file = "marisa_trie-1.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:37d423cb3a9fe4270ee2ad083d1bb62d6c4cc333dcb1197b024ee1ae7c5d6535"}, + {file = "marisa_trie-1.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7cbcf88ddab9890a4942b52fff6c09d8b8aea59f4861b5d37e112a16a4218461"}, + {file = "marisa_trie-1.1.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4268b12a279c90450b39e062068ff4c878a6b9750d6ab52ade8285b1594b5d10"}, + {file = "marisa_trie-1.1.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:bbfbbff3e94b3a0be44e010b093af1ce0e29c7ed081d2a020496e863333f5c11"}, + {file = "marisa_trie-1.1.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:5ecc678f562dd0cfe2406f0d5447e8200691509149c979334c2d0c26420d28ac"}, + {file = "marisa_trie-1.1.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1039316fc5899eee25df9302d81380e0be9a7fa0c10231322187b6d932b55a4a"}, + {file = "marisa_trie-1.1.1-cp311-cp311-win32.whl", hash = "sha256:67fa17083d5fb6d883c91ae512f9aab093a8a73ed77eae07e963014774909e81"}, + {file = "marisa_trie-1.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:c3140312ecb40456490d2afe24594bfc62a5a18de5344672ce6526e4c6e79e0e"}, + {file = "marisa_trie-1.1.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:76d7fd725dd7d7621f4202306ddb3f7a90ff3d1c511de9ea2c7ffa540169a7ca"}, + {file = "marisa_trie-1.1.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4241322c9022ad0f01e6049994c4eb95f35d8f64d2d7ab55f653d9e8bf51ba0f"}, + {file = "marisa_trie-1.1.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8780b5a43a0cc861cafd78b9b2a9849648bb86d3cabe5e95d80350986ad7e801"}, + {file = "marisa_trie-1.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4261285399b27c36a7ff0eb13e4eebaab8dd814a9512b3cd1191552c0af799f8"}, + {file = "marisa_trie-1.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f451948bfbdc9627318e3210683f7b8d4533d3174d7706ee94b6008c39e80753"}, + {file = "marisa_trie-1.1.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:53d4ef171c77d4f0fd6278a0f1dab58562faa12cac3c5c9cc4cac4ba7e378f17"}, + {file = "marisa_trie-1.1.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:aacb972faffbc208ed7f52ed50dd6710f38175d3673861405e0e82fa12d57269"}, + {file = "marisa_trie-1.1.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:e5603cb20eeded143c5ff035978591b71bc0bc2c6cd9c2e6dfdaacdaab76907c"}, + {file = "marisa_trie-1.1.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:405ece63330b113040ed5b2371ff6e026d53c9c706ca9c58baf57f322e192895"}, + {file = "marisa_trie-1.1.1-cp39-cp39-win32.whl", hash = "sha256:b7a853063785e382d86eadea57363a0e2f04520d6ef948be88181df9e9ee5c0d"}, + {file = "marisa_trie-1.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:b44bd2bfc4bf080421a9ebac5f12434b36494effaa0ca8593a3df4e77cc6620e"}, + {file = "marisa_trie-1.1.1-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:5dba7a60d6d340fd498f2a967c0a4c3aa7c4cab6ca7655cde0289cdc7bf3f747"}, + {file = "marisa_trie-1.1.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:ad624e95f46d8fc6f82af2d372ad55ef218babc323aa14338df843d907d040cc"}, + {file = "marisa_trie-1.1.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ccf3ae61a63dec06f3cfb8521fd9c8e6391761d47a4df0164954690b7cc3fab"}, + {file = "marisa_trie-1.1.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:493956e76e2c6276d1e804ee723b23eaba30beca43fc0ddf3a093abc178af3f4"}, + {file = "marisa_trie-1.1.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5207026332ed08957a3bc1391eb9c8861a1882e1517887ef423cfd3afc30e947"}, + {file = "marisa_trie-1.1.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:bae9ff4146b84ef0d51e0940e310d034d1e6a6ce1879a03a891c541dce8b26f9"}, + {file = "marisa_trie-1.1.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:059a7b7cc0c7796c068e6ab07e522791c7addf3697616b2bcb73ed1d42a761aa"}, + {file = "marisa_trie-1.1.1-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e69ba62cbb74d2824cd49be9c2f592b306e5107d5005f0bb3b4d62c9b6ae7246"}, + {file = "marisa_trie-1.1.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26232fe4442f89643b4206ded1be486a12fcf731d55c5e42ff86e2f2ba5e949a"}, + {file = "marisa_trie-1.1.1-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3fa3bd1d32faf6afdb877a1e1f65e33873d88d158a16f9e00830901519d428ca"}, + {file = "marisa_trie-1.1.1-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:a7e48ba7748c2090b58f911ea995b94ff590781e81d0a2e0fc8b583af4d26710"}, + {file = "marisa_trie-1.1.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:52f0d96d738831c81127377920e86fc8cb14638df1ea8f37ea392b545f9f984c"}, + {file = "marisa_trie-1.1.1-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:511e5d23070c166427de24742771a6040eb5c787c51145dddcc7af4106ec8b08"}, + {file = "marisa_trie-1.1.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec39c09c0bf850f01b15bbd18214a89b9730001fd1483de873f6b7dc73fb2316"}, + {file = "marisa_trie-1.1.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cfe6454eb6d2a9b2bb5583b433048670f85f264e613d1f885251ce68070adad8"}, + {file = "marisa_trie-1.1.1-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e5661d8974b4128a847deb282dbe040e5eed5b91c56ed9d207623ea4db24abc5"}, + {file = "marisa_trie-1.1.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:08aed31f8164c7ec8ba6a449e6a18f4052bafe9dcaa2dcfd0e25fee9ddd94e36"}, + {file = "marisa_trie-1.1.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:18a1440b01d87566a5c2bddd6a575180a3526ec9da5f7aa55769213153737d19"}, + {file = "marisa_trie-1.1.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:7cc903512d5d7cf3a30624dde8adc5ba4312732c931746f18641e0a5762646b3"}, + {file = "marisa_trie-1.1.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c7785c04373d8d2844f6636d73c08384a587c098093a04166177fa45494d912"}, + {file = "marisa_trie-1.1.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0196e3a9ed3bfce20e32ff7d9ff1c929d0ceb8c380ae0f227e11ab819e70dc2c"}, + {file = "marisa_trie-1.1.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2601b320268a87a4a7accaf7c2e8fc99c568e13316903d2010eb09e0ff16b6a9"}, + {file = "marisa_trie-1.1.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:cd285b97204046e5c5018fa03752d243c6423df023963b52de39d4e90bb3024a"}, + {file = "marisa_trie-1.1.1.tar.gz", hash = "sha256:363f1be2314b1f9e26b5a3de45b59fd9a0a3289bf157be61bbed770643a46f1a"}, +] + +[[package]] +name = "markupsafe" +version = "2.1.5" +requires_python = ">=3.7" +summary = "Safely add untrusted strings to HTML/XML markup." +files = [ + {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5"}, + {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"}, ] [[package]] @@ -1884,29 +2043,14 @@ files = [ ] [[package]] -name = "mdurl" -version = "0.1.2" +name = "milvus-lite" +version = "2.4.5" requires_python = ">=3.7" -summary = "Markdown URL utilities" -files = [ - {file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"}, - {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"}, -] - -[[package]] -name = "minio" -version = "7.2.7" -summary = "MinIO Python SDK for Amazon S3 Compatible Cloud Storage" -dependencies = [ - "argon2-cffi", - "certifi", - "pycryptodome", - "typing-extensions", - "urllib3", -] +summary = "A lightweight version of Milvus wrapped with Python." files = [ - {file = "minio-7.2.7-py3-none-any.whl", hash = "sha256:59d1f255d852fe7104018db75b3bebbd987e538690e680f7c5de835e422de837"}, - {file = "minio-7.2.7.tar.gz", hash = "sha256:473d5d53d79f340f3cd632054d0c82d2f93177ce1af2eac34a235bea55708d98"}, + {file = "milvus_lite-2.4.5-py3-none-macosx_10_9_x86_64.whl", hash = "sha256:343d5f4df801def14eb711048de8fdf24a216704e591c261cd0827770772a7ee"}, + {file = "milvus_lite-2.4.5-py3-none-macosx_11_0_arm64.whl", hash = "sha256:73f154a82d60f933e2c991b53dd795683b196c0f5b6d36f8464422bdedddb857"}, + {file = "milvus_lite-2.4.5-py3-none-manylinux2014_x86_64.whl", hash = "sha256:22d70c87494442882b3fceeba38ef131d1186c9b9bc363fb9550e8494b2fdaba"}, ] [[package]] @@ -2010,6 +2154,30 @@ files = [ {file = "multidict-6.0.5.tar.gz", hash = "sha256:f7e301075edaf50500f0b341543c41194d8df3ae5caf4702f2095f3ca73dd8da"}, ] +[[package]] +name = "murmurhash" +version = "1.0.10" +requires_python = ">=3.6" +summary = "Cython bindings for MurmurHash" +files = [ + {file = "murmurhash-1.0.10-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:3e90eef568adca5e17a91f96975e9a782ace3a617bbb3f8c8c2d917096e9bfeb"}, + {file = "murmurhash-1.0.10-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f8ecb00cc1ab57e4b065f9fb3ea923b55160c402d959c69a0b6dbbe8bc73efc3"}, + {file = "murmurhash-1.0.10-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3310101004d9e2e0530c2fed30174448d998ffd1b50dcbfb7677e95db101aa4b"}, + {file = "murmurhash-1.0.10-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c65401a6f1778676253cbf89c1f45a8a7feb7d73038e483925df7d5943c08ed9"}, + {file = "murmurhash-1.0.10-cp310-cp310-win_amd64.whl", hash = "sha256:f23f2dfc7174de2cdc5007c0771ab8376a2a3f48247f32cac4a5563e40c6adcc"}, + {file = "murmurhash-1.0.10-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:90ed37ee2cace9381b83d56068334f77e3e30bc521169a1f886a2a2800e965d6"}, + {file = "murmurhash-1.0.10-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:22e9926fdbec9d24ced9b0a42f0fee68c730438be3cfb00c2499fd495caec226"}, + {file = "murmurhash-1.0.10-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:54bfbfd68baa99717239b8844600db627f336a08b1caf4df89762999f681cdd1"}, + {file = "murmurhash-1.0.10-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18b9d200a09d48ef67f6840b77c14f151f2b6c48fd69661eb75c7276ebdb146c"}, + {file = "murmurhash-1.0.10-cp311-cp311-win_amd64.whl", hash = "sha256:e5d7cfe392c0a28129226271008e61e77bf307afc24abf34f386771daa7b28b0"}, + {file = "murmurhash-1.0.10-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7024ab3498434f22f8e642ae31448322ad8228c65c8d9e5dc2d563d57c14c9b8"}, + {file = "murmurhash-1.0.10-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a99dedfb7f0cc5a4cd76eb409ee98d3d50eba024f934e705914f6f4d765aef2c"}, + {file = "murmurhash-1.0.10-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b580b8503647de5dd7972746b7613ea586270f17ac92a44872a9b1b52c36d68"}, + {file = "murmurhash-1.0.10-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d75840212bf75eb1352c946c3cf1622dacddd6d6bdda34368237d1eb3568f23a"}, + {file = "murmurhash-1.0.10-cp39-cp39-win_amd64.whl", hash = "sha256:a4209962b9f85de397c3203ea4b3a554da01ae9fd220fdab38757d4e9eba8d1a"}, + {file = "murmurhash-1.0.10.tar.gz", hash = "sha256:5282aab1317804c6ebd6dd7f69f15ba9075aee671c44a34be2bde0f1b11ef88a"}, +] + [[package]] name = "mypy-extensions" version = "1.0.0" @@ -2313,12 +2481,21 @@ files = [ [[package]] name = "platformdirs" -version = "4.2.1" +version = "4.2.2" requires_python = ">=3.8" summary = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." files = [ - {file = "platformdirs-4.2.1-py3-none-any.whl", hash = "sha256:17d5a1161b3fd67b390023cb2d3b026bbd40abde6fdb052dfbd3a29c3ba22ee1"}, - {file = "platformdirs-4.2.1.tar.gz", hash = "sha256:031cd18d4ec63ec53e82dceaac0417d218a6863f7745dfcc9efe7793b7039bdf"}, + {file = "platformdirs-4.2.2-py3-none-any.whl", hash = "sha256:2d7a1657e36a80ea911db832a8a6ece5ee53d8de21edd5cc5879af6530b1bfee"}, + {file = "platformdirs-4.2.2.tar.gz", hash = "sha256:38b7b51f512eed9e84a22788b4bce1de17c0adb134d6becb09836e37d8654cd3"}, +] + +[[package]] +name = "ply" +version = "3.11" +summary = "Python Lex & Yacc" +files = [ + {file = "ply-3.11-py2.py3-none-any.whl", hash = "sha256:096f9b8350b65ebd2fd1346b12452efe5b9607f7482813ffca50c22722a807ce"}, + {file = "ply-3.11.tar.gz", hash = "sha256:00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3"}, ] [[package]] @@ -2351,6 +2528,34 @@ files = [ {file = "pre_commit-3.3.3.tar.gz", hash = "sha256:a2256f489cd913d575c145132ae196fe335da32d91a8294b7afe6622335dd023"}, ] +[[package]] +name = "preshed" +version = "3.0.9" +requires_python = ">=3.6" +summary = "Cython hash table that trusts the keys are pre-hashed" +dependencies = [ + "cymem<2.1.0,>=2.0.2", + "murmurhash<1.1.0,>=0.28.0", +] +files = [ + {file = "preshed-3.0.9-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4f96ef4caf9847b2bb9868574dcbe2496f974e41c2b83d6621c24fb4c3fc57e3"}, + {file = "preshed-3.0.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a61302cf8bd30568631adcdaf9e6b21d40491bd89ba8ebf67324f98b6c2a2c05"}, + {file = "preshed-3.0.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:99499e8a58f58949d3f591295a97bca4e197066049c96f5d34944dd21a497193"}, + {file = "preshed-3.0.9-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ea6b6566997dc3acd8c6ee11a89539ac85c77275b4dcefb2dc746d11053a5af8"}, + {file = "preshed-3.0.9-cp310-cp310-win_amd64.whl", hash = "sha256:bfd523085a84b1338ff18f61538e1cfcdedc4b9e76002589a301c364d19a2e36"}, + {file = "preshed-3.0.9-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e7c2364da27f2875524ce1ca754dc071515a9ad26eb5def4c7e69129a13c9a59"}, + {file = "preshed-3.0.9-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:182138033c0730c683a6d97e567ceb8a3e83f3bff5704f300d582238dbd384b3"}, + {file = "preshed-3.0.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:345a10be3b86bcc6c0591d343a6dc2bfd86aa6838c30ced4256dfcfa836c3a64"}, + {file = "preshed-3.0.9-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:51d0192274aa061699b284f9fd08416065348edbafd64840c3889617ee1609de"}, + {file = "preshed-3.0.9-cp311-cp311-win_amd64.whl", hash = "sha256:96b857d7a62cbccc3845ac8c41fd23addf052821be4eb987f2eb0da3d8745aa1"}, + {file = "preshed-3.0.9-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3a9ad9f738084e048a7c94c90f40f727217387115b2c9a95c77f0ce943879fcd"}, + {file = "preshed-3.0.9-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a671dfa30b67baa09391faf90408b69c8a9a7f81cb9d83d16c39a182355fbfce"}, + {file = "preshed-3.0.9-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:23906d114fc97c17c5f8433342495d7562e96ecfd871289c2bb2ed9a9df57c3f"}, + {file = "preshed-3.0.9-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:778cf71f82cedd2719b256f3980d556d6fb56ec552334ba79b49d16e26e854a0"}, + {file = "preshed-3.0.9-cp39-cp39-win_amd64.whl", hash = "sha256:a6e579439b329eb93f32219ff27cb358b55fbb52a4862c31a915a098c8a22ac2"}, + {file = "preshed-3.0.9.tar.gz", hash = "sha256:721863c5244ffcd2651ad0928951a2c7c77b102f4e11a251ad85d37ee7621660"}, +] + [[package]] name = "proto-plus" version = "1.23.0" @@ -2426,39 +2631,6 @@ files = [ {file = "psycopg2_binary-2.9.9-cp39-cp39-win_amd64.whl", hash = "sha256:f7ae5d65ccfbebdfa761585228eb4d0df3a8b15cfb53bd953e713e09fbb12957"}, ] -[[package]] -name = "pyarrow" -version = "16.0.0" -requires_python = ">=3.8" -summary = "Python library for Apache Arrow" -dependencies = [ - "numpy>=1.16.6", -] -files = [ - {file = "pyarrow-16.0.0-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:22a1fdb1254e5095d629e29cd1ea98ed04b4bbfd8e42cc670a6b639ccc208b60"}, - {file = "pyarrow-16.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:574a00260a4ed9d118a14770edbd440b848fcae5a3024128be9d0274dbcaf858"}, - {file = "pyarrow-16.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c0815d0ddb733b8c1b53a05827a91f1b8bde6240f3b20bf9ba5d650eb9b89cdf"}, - {file = "pyarrow-16.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:df0080339387b5d30de31e0a149c0c11a827a10c82f0c67d9afae3981d1aabb7"}, - {file = "pyarrow-16.0.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:edf38cce0bf0dcf726e074159c60516447e4474904c0033f018c1f33d7dac6c5"}, - {file = "pyarrow-16.0.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:91d28f9a40f1264eab2af7905a4d95320ac2f287891e9c8b0035f264fe3c3a4b"}, - {file = "pyarrow-16.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:99af421ee451a78884d7faea23816c429e263bd3618b22d38e7992c9ce2a7ad9"}, - {file = "pyarrow-16.0.0-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:d22d0941e6c7bafddf5f4c0662e46f2075850f1c044bf1a03150dd9e189427ce"}, - {file = "pyarrow-16.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:266ddb7e823f03733c15adc8b5078db2df6980f9aa93d6bb57ece615df4e0ba7"}, - {file = "pyarrow-16.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5cc23090224b6594f5a92d26ad47465af47c1d9c079dd4a0061ae39551889efe"}, - {file = "pyarrow-16.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:56850a0afe9ef37249d5387355449c0f94d12ff7994af88f16803a26d38f2016"}, - {file = "pyarrow-16.0.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:705db70d3e2293c2f6f8e84874b5b775f690465798f66e94bb2c07bab0a6bb55"}, - {file = "pyarrow-16.0.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:5448564754c154997bc09e95a44b81b9e31ae918a86c0fcb35c4aa4922756f55"}, - {file = "pyarrow-16.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:729f7b262aa620c9df8b9967db96c1575e4cfc8c25d078a06968e527b8d6ec05"}, - {file = "pyarrow-16.0.0-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:b93c9a50b965ee0bf4fef65e53b758a7e8dcc0c2d86cebcc037aaaf1b306ecc0"}, - {file = "pyarrow-16.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d831690844706e374c455fba2fb8cfcb7b797bfe53ceda4b54334316e1ac4fa4"}, - {file = "pyarrow-16.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:35692ce8ad0b8c666aa60f83950957096d92f2a9d8d7deda93fb835e6053307e"}, - {file = "pyarrow-16.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9dd3151d098e56f16a8389c1247137f9e4c22720b01c6f3aa6dec29a99b74d80"}, - {file = "pyarrow-16.0.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:bd40467bdb3cbaf2044ed7a6f7f251c8f941c8b31275aaaf88e746c4f3ca4a7a"}, - {file = "pyarrow-16.0.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:00a1dcb22ad4ceb8af87f7bd30cc3354788776c417f493089e0a0af981bc8d80"}, - {file = "pyarrow-16.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:fda9a7cebd1b1d46c97b511f60f73a5b766a6de4c5236f144f41a5d5afec1f35"}, - {file = "pyarrow-16.0.0.tar.gz", hash = "sha256:59bb1f1edbbf4114c72415f039f1359f1a57d166a331c3229788ccbfbb31689a"}, -] - [[package]] name = "pyasn1" version = "0.6.0" @@ -2502,35 +2674,6 @@ files = [ {file = "pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6"}, ] -[[package]] -name = "pycryptodome" -version = "3.20.0" -requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -summary = "Cryptographic library for Python" -files = [ - {file = "pycryptodome-3.20.0-cp35-abi3-macosx_10_9_universal2.whl", hash = "sha256:ac1c7c0624a862f2e53438a15c9259d1655325fc2ec4392e66dc46cdae24d044"}, - {file = "pycryptodome-3.20.0-cp35-abi3-macosx_10_9_x86_64.whl", hash = "sha256:76658f0d942051d12a9bd08ca1b6b34fd762a8ee4240984f7c06ddfb55eaf15a"}, - {file = "pycryptodome-3.20.0-cp35-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f35d6cee81fa145333137009d9c8ba90951d7d77b67c79cbe5f03c7eb74d8fe2"}, - {file = "pycryptodome-3.20.0-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:76cb39afede7055127e35a444c1c041d2e8d2f1f9c121ecef573757ba4cd2c3c"}, - {file = "pycryptodome-3.20.0-cp35-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:49a4c4dc60b78ec41d2afa392491d788c2e06edf48580fbfb0dd0f828af49d25"}, - {file = "pycryptodome-3.20.0-cp35-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:fb3b87461fa35afa19c971b0a2b7456a7b1db7b4eba9a8424666104925b78128"}, - {file = "pycryptodome-3.20.0-cp35-abi3-musllinux_1_1_i686.whl", hash = "sha256:acc2614e2e5346a4a4eab6e199203034924313626f9620b7b4b38e9ad74b7e0c"}, - {file = "pycryptodome-3.20.0-cp35-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:210ba1b647837bfc42dd5a813cdecb5b86193ae11a3f5d972b9a0ae2c7e9e4b4"}, - {file = "pycryptodome-3.20.0-cp35-abi3-win32.whl", hash = "sha256:8d6b98d0d83d21fb757a182d52940d028564efe8147baa9ce0f38d057104ae72"}, - {file = "pycryptodome-3.20.0-cp35-abi3-win_amd64.whl", hash = "sha256:9b3ae153c89a480a0ec402e23db8d8d84a3833b65fa4b15b81b83be9d637aab9"}, - {file = "pycryptodome-3.20.0-pp27-pypy_73-manylinux2010_x86_64.whl", hash = "sha256:4401564ebf37dfde45d096974c7a159b52eeabd9969135f0426907db367a652a"}, - {file = "pycryptodome-3.20.0-pp27-pypy_73-win32.whl", hash = "sha256:ec1f93feb3bb93380ab0ebf8b859e8e5678c0f010d2d78367cf6bc30bfeb148e"}, - {file = "pycryptodome-3.20.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:acae12b9ede49f38eb0ef76fdec2df2e94aad85ae46ec85be3648a57f0a7db04"}, - {file = "pycryptodome-3.20.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f47888542a0633baff535a04726948e876bf1ed880fddb7c10a736fa99146ab3"}, - {file = "pycryptodome-3.20.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6e0e4a987d38cfc2e71b4a1b591bae4891eeabe5fa0f56154f576e26287bfdea"}, - {file = "pycryptodome-3.20.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:c18b381553638414b38705f07d1ef0a7cf301bc78a5f9bc17a957eb19446834b"}, - {file = "pycryptodome-3.20.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a60fedd2b37b4cb11ccb5d0399efe26db9e0dd149016c1cc6c8161974ceac2d6"}, - {file = "pycryptodome-3.20.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:405002eafad114a2f9a930f5db65feef7b53c4784495dd8758069b89baf68eab"}, - {file = "pycryptodome-3.20.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2ab6ab0cb755154ad14e507d1df72de9897e99fd2d4922851a276ccc14f4f1a5"}, - {file = "pycryptodome-3.20.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:acf6e43fa75aca2d33e93409f2dafe386fe051818ee79ee8a3e21de9caa2ac9e"}, - {file = "pycryptodome-3.20.0.tar.gz", hash = "sha256:09609209ed7de61c2b560cc5c8c4fbf892f8b15b1faf7e4cbffac97db1fffda7"}, -] - [[package]] name = "pydantic" version = "2.7.1" @@ -2621,16 +2764,6 @@ files = [ {file = "pyflakes-3.0.1.tar.gz", hash = "sha256:ec8b276a6b60bd80defed25add7e439881c19e64850afd9b346283d4165fd0fd"}, ] -[[package]] -name = "pygments" -version = "2.18.0" -requires_python = ">=3.8" -summary = "Pygments is a syntax highlighting package written in Python." -files = [ - {file = "pygments-2.18.0-py3-none-any.whl", hash = "sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a"}, - {file = "pygments-2.18.0.tar.gz", hash = "sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199"}, -] - [[package]] name = "pyjwt" version = "2.8.0" @@ -2658,25 +2791,21 @@ files = [ [[package]] name = "pymilvus" -version = "2.4.1" +version = "2.4.3" requires_python = ">=3.8" summary = "Python Sdk for Milvus" dependencies = [ - "azure-storage-blob", "environs<=9.5.0", - "grpcio<=1.60.0,>=1.49.1", - "minio>=7.0.0", + "grpcio<=1.63.0,>=1.49.1", + "milvus-lite<2.5.0,>=2.4.0", "pandas>=1.2.4", "protobuf>=3.20.0", - "pyarrow>=12.0.0", - "requests", - "scipy", "setuptools>=67", "ujson>=2.0.0", ] files = [ - {file = "pymilvus-2.4.1-py3-none-any.whl", hash = "sha256:1ad85c011e56b40944b224c34ad5c1565fe5ac703589986d323b9fd7ad3973bf"}, - {file = "pymilvus-2.4.1.tar.gz", hash = "sha256:e77ceb3459d4574685fa3e346c4608354272b50b16a2d65fb7928068184a1ab7"}, + {file = "pymilvus-2.4.3-py3-none-any.whl", hash = "sha256:38239e89f8d739f665141d0b80908990b5f59681e889e135c234a4a45669a5c8"}, + {file = "pymilvus-2.4.3.tar.gz", hash = "sha256:703ac29296cdce03d6dc2aaebbe959e57745c141a94150e371dc36c61c226cc1"}, ] [[package]] @@ -2816,64 +2945,64 @@ files = [ [[package]] name = "regex" -version = "2024.5.10" +version = "2024.5.15" requires_python = ">=3.8" summary = "Alternative regular expression module, to replace re." files = [ - {file = "regex-2024.5.10-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:eda3dd46df535da787ffb9036b5140f941ecb91701717df91c9daf64cabef953"}, - {file = "regex-2024.5.10-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1d5bd666466c8f00a06886ce1397ba8b12371c1f1c6d1bef11013e9e0a1464a8"}, - {file = "regex-2024.5.10-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:32e5f3b8e32918bfbdd12eca62e49ab3031125c454b507127ad6ecbd86e62fca"}, - {file = "regex-2024.5.10-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:534efd2653ebc4f26fc0e47234e53bf0cb4715bb61f98c64d2774a278b58c846"}, - {file = "regex-2024.5.10-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:193b7c6834a06f722f0ce1ba685efe80881de7c3de31415513862f601097648c"}, - {file = "regex-2024.5.10-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:160ba087232c5c6e2a1e7ad08bd3a3f49b58c815be0504d8c8aacfb064491cd8"}, - {file = "regex-2024.5.10-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:951be1eae7b47660412dc4938777a975ebc41936d64e28081bf2e584b47ec246"}, - {file = "regex-2024.5.10-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d8a0f0ab5453e409586b11ebe91c672040bc804ca98d03a656825f7890cbdf88"}, - {file = "regex-2024.5.10-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:9e6d4d6ae1827b2f8c7200aaf7501c37cf3f3896c86a6aaf2566448397c823dd"}, - {file = "regex-2024.5.10-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:161a206c8f3511e2f5fafc9142a2cc25d7fe9a1ec5ad9b4ad2496a7c33e1c5d2"}, - {file = "regex-2024.5.10-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:44b3267cea873684af022822195298501568ed44d542f9a2d9bebc0212e99069"}, - {file = "regex-2024.5.10-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:560278c9975694e1f0bc50da187abf2cdc1e4890739ea33df2bc4a85eeef143e"}, - {file = "regex-2024.5.10-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:70364a097437dd0a90b31cd77f09f7387ad9ac60ef57590971f43b7fca3082a5"}, - {file = "regex-2024.5.10-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:42be5de7cc8c1edac55db92d82b68dc8e683b204d6f5414c5a51997a323d7081"}, - {file = "regex-2024.5.10-cp310-cp310-win32.whl", hash = "sha256:9a8625849387b9d558d528e263ecc9c0fbde86cfa5c2f0eef43fff480ae24d71"}, - {file = "regex-2024.5.10-cp310-cp310-win_amd64.whl", hash = "sha256:903350bf44d7e4116b4d5898b30b15755d61dcd3161e3413a49c7db76f0bee5a"}, - {file = "regex-2024.5.10-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:bf9596cba92ce7b1fd32c7b07c6e3212c7eed0edc271757e48bfcd2b54646452"}, - {file = "regex-2024.5.10-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:45cc13d398b6359a7708986386f72bd156ae781c3e83a68a6d4cee5af04b1ce9"}, - {file = "regex-2024.5.10-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ad45f3bccfcb00868f2871dce02a755529838d2b86163ab8a246115e80cfb7d6"}, - {file = "regex-2024.5.10-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:33d19f0cde6838c81acffff25c7708e4adc7dd02896c9ec25c3939b1500a1778"}, - {file = "regex-2024.5.10-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0a9f89d7db5ef6bdf53e5cc8e6199a493d0f1374b3171796b464a74ebe8e508a"}, - {file = "regex-2024.5.10-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8c6c71cf92b09e5faa72ea2c68aa1f61c9ce11cb66fdc5069d712f4392ddfd00"}, - {file = "regex-2024.5.10-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7467ad8b0eac0b28e52679e972b9b234b3de0ea5cee12eb50091d2b68145fe36"}, - {file = "regex-2024.5.10-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bc0db93ad039fc2fe32ccd3dd0e0e70c4f3d6e37ae83f0a487e1aba939bd2fbd"}, - {file = "regex-2024.5.10-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:fa9335674d7c819674467c7b46154196c51efbaf5f5715187fd366814ba3fa39"}, - {file = "regex-2024.5.10-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:7dda3091838206969c2b286f9832dff41e2da545b99d1cfaea9ebd8584d02708"}, - {file = "regex-2024.5.10-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:504b5116e2bd1821efd815941edff7535e93372a098e156bb9dffde30264e798"}, - {file = "regex-2024.5.10-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:91b53dea84415e8115506cc62e441a2b54537359c63d856d73cb1abe05af4c9a"}, - {file = "regex-2024.5.10-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1a3903128f9e17a500618e80c68165c78c741ebb17dd1a0b44575f92c3c68b02"}, - {file = "regex-2024.5.10-cp311-cp311-win32.whl", hash = "sha256:236cace6c1903effd647ed46ce6dd5d76d54985fc36dafc5256032886736c85d"}, - {file = "regex-2024.5.10-cp311-cp311-win_amd64.whl", hash = "sha256:12446827f43c7881decf2c126762e11425de5eb93b3b0d8b581344c16db7047a"}, - {file = "regex-2024.5.10-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:15e593386ec6331e0ab4ac0795b7593f02ab2f4b30a698beb89fbdc34f92386a"}, - {file = "regex-2024.5.10-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ca23b41355ba95929e9505ee04e55495726aa2282003ed9b012d86f857d3e49b"}, - {file = "regex-2024.5.10-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2c8982ee19ccecabbaeac1ba687bfef085a6352a8c64f821ce2f43e6d76a9298"}, - {file = "regex-2024.5.10-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7117cb7d6ac7f2e985f3d18aa8a1728864097da1a677ffa69e970ca215baebf1"}, - {file = "regex-2024.5.10-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b66421f8878a0c82fc0c272a43e2121c8d4c67cb37429b764f0d5ad70b82993b"}, - {file = "regex-2024.5.10-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:224a9269f133564109ce668213ef3cb32bc72ccf040b0b51c72a50e569e9dc9e"}, - {file = "regex-2024.5.10-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ab98016541543692a37905871a5ffca59b16e08aacc3d7d10a27297b443f572d"}, - {file = "regex-2024.5.10-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:51d27844763c273a122e08a3e86e7aefa54ee09fb672d96a645ece0454d8425e"}, - {file = "regex-2024.5.10-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:853cc36e756ff673bf984e9044ccc8fad60b95a748915dddeab9488aea974c73"}, - {file = "regex-2024.5.10-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4e7eaf9df15423d07b6050fb91f86c66307171b95ea53e2d87a7993b6d02c7f7"}, - {file = "regex-2024.5.10-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:169fd0acd7a259f58f417e492e93d0e15fc87592cd1e971c8c533ad5703b5830"}, - {file = "regex-2024.5.10-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:334b79ce9c08f26b4659a53f42892793948a613c46f1b583e985fd5a6bf1c149"}, - {file = "regex-2024.5.10-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:f03b1dbd4d9596dd84955bb40f7d885204d6aac0d56a919bb1e0ff2fb7e1735a"}, - {file = "regex-2024.5.10-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:cfa6d61a76c77610ba9274c1a90a453062bdf6887858afbe214d18ad41cf6bde"}, - {file = "regex-2024.5.10-cp39-cp39-win32.whl", hash = "sha256:249fbcee0a277c32a3ce36d8e36d50c27c968fdf969e0fbe342658d4e010fbc8"}, - {file = "regex-2024.5.10-cp39-cp39-win_amd64.whl", hash = "sha256:0ce56a923f4c01d7568811bfdffe156268c0a7aae8a94c902b92fe34c4bde785"}, - {file = "regex-2024.5.10.tar.gz", hash = "sha256:304e7e2418146ae4d0ef0e9ffa28f881f7874b45b4994cc2279b21b6e7ae50c8"}, + {file = "regex-2024.5.15-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a81e3cfbae20378d75185171587cbf756015ccb14840702944f014e0d93ea09f"}, + {file = "regex-2024.5.15-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7b59138b219ffa8979013be7bc85bb60c6f7b7575df3d56dc1e403a438c7a3f6"}, + {file = "regex-2024.5.15-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a0bd000c6e266927cb7a1bc39d55be95c4b4f65c5be53e659537537e019232b1"}, + {file = "regex-2024.5.15-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5eaa7ddaf517aa095fa8da0b5015c44d03da83f5bd49c87961e3c997daed0de7"}, + {file = "regex-2024.5.15-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ba68168daedb2c0bab7fd7e00ced5ba90aebf91024dea3c88ad5063c2a562cca"}, + {file = "regex-2024.5.15-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6e8d717bca3a6e2064fc3a08df5cbe366369f4b052dcd21b7416e6d71620dca1"}, + {file = "regex-2024.5.15-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1337b7dbef9b2f71121cdbf1e97e40de33ff114801263b275aafd75303bd62b5"}, + {file = "regex-2024.5.15-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f9ebd0a36102fcad2f03696e8af4ae682793a5d30b46c647eaf280d6cfb32796"}, + {file = "regex-2024.5.15-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:9efa1a32ad3a3ea112224897cdaeb6aa00381627f567179c0314f7b65d354c62"}, + {file = "regex-2024.5.15-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:1595f2d10dff3d805e054ebdc41c124753631b6a471b976963c7b28543cf13b0"}, + {file = "regex-2024.5.15-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:b802512f3e1f480f41ab5f2cfc0e2f761f08a1f41092d6718868082fc0d27143"}, + {file = "regex-2024.5.15-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:a0981022dccabca811e8171f913de05720590c915b033b7e601f35ce4ea7019f"}, + {file = "regex-2024.5.15-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:19068a6a79cf99a19ccefa44610491e9ca02c2be3305c7760d3831d38a467a6f"}, + {file = "regex-2024.5.15-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:1b5269484f6126eee5e687785e83c6b60aad7663dafe842b34691157e5083e53"}, + {file = "regex-2024.5.15-cp310-cp310-win32.whl", hash = "sha256:ada150c5adfa8fbcbf321c30c751dc67d2f12f15bd183ffe4ec7cde351d945b3"}, + {file = "regex-2024.5.15-cp310-cp310-win_amd64.whl", hash = "sha256:ac394ff680fc46b97487941f5e6ae49a9f30ea41c6c6804832063f14b2a5a145"}, + {file = "regex-2024.5.15-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f5b1dff3ad008dccf18e652283f5e5339d70bf8ba7c98bf848ac33db10f7bc7a"}, + {file = "regex-2024.5.15-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c6a2b494a76983df8e3d3feea9b9ffdd558b247e60b92f877f93a1ff43d26656"}, + {file = "regex-2024.5.15-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a32b96f15c8ab2e7d27655969a23895eb799de3665fa94349f3b2fbfd547236f"}, + {file = "regex-2024.5.15-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:10002e86e6068d9e1c91eae8295ef690f02f913c57db120b58fdd35a6bb1af35"}, + {file = "regex-2024.5.15-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ec54d5afa89c19c6dd8541a133be51ee1017a38b412b1321ccb8d6ddbeb4cf7d"}, + {file = "regex-2024.5.15-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:10e4ce0dca9ae7a66e6089bb29355d4432caed736acae36fef0fdd7879f0b0cb"}, + {file = "regex-2024.5.15-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3e507ff1e74373c4d3038195fdd2af30d297b4f0950eeda6f515ae3d84a1770f"}, + {file = "regex-2024.5.15-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d1f059a4d795e646e1c37665b9d06062c62d0e8cc3c511fe01315973a6542e40"}, + {file = "regex-2024.5.15-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0721931ad5fe0dda45d07f9820b90b2148ccdd8e45bb9e9b42a146cb4f695649"}, + {file = "regex-2024.5.15-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:833616ddc75ad595dee848ad984d067f2f31be645d603e4d158bba656bbf516c"}, + {file = "regex-2024.5.15-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:287eb7f54fc81546346207c533ad3c2c51a8d61075127d7f6d79aaf96cdee890"}, + {file = "regex-2024.5.15-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:19dfb1c504781a136a80ecd1fff9f16dddf5bb43cec6871778c8a907a085bb3d"}, + {file = "regex-2024.5.15-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:119af6e56dce35e8dfb5222573b50c89e5508d94d55713c75126b753f834de68"}, + {file = "regex-2024.5.15-cp311-cp311-win32.whl", hash = "sha256:1c1c174d6ec38d6c8a7504087358ce9213d4332f6293a94fbf5249992ba54efa"}, + {file = "regex-2024.5.15-cp311-cp311-win_amd64.whl", hash = "sha256:9e717956dcfd656f5055cc70996ee2cc82ac5149517fc8e1b60261b907740201"}, + {file = "regex-2024.5.15-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:13cdaf31bed30a1e1c2453ef6015aa0983e1366fad2667657dbcac7b02f67133"}, + {file = "regex-2024.5.15-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:cac27dcaa821ca271855a32188aa61d12decb6fe45ffe3e722401fe61e323cd1"}, + {file = "regex-2024.5.15-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:7dbe2467273b875ea2de38ded4eba86cbcbc9a1a6d0aa11dcf7bd2e67859c435"}, + {file = "regex-2024.5.15-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:64f18a9a3513a99c4bef0e3efd4c4a5b11228b48aa80743be822b71e132ae4f5"}, + {file = "regex-2024.5.15-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d347a741ea871c2e278fde6c48f85136c96b8659b632fb57a7d1ce1872547600"}, + {file = "regex-2024.5.15-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1878b8301ed011704aea4c806a3cadbd76f84dece1ec09cc9e4dc934cfa5d4da"}, + {file = "regex-2024.5.15-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4babf07ad476aaf7830d77000874d7611704a7fcf68c9c2ad151f5d94ae4bfc4"}, + {file = "regex-2024.5.15-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:35cb514e137cb3488bce23352af3e12fb0dbedd1ee6e60da053c69fb1b29cc6c"}, + {file = "regex-2024.5.15-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:cdd09d47c0b2efee9378679f8510ee6955d329424c659ab3c5e3a6edea696294"}, + {file = "regex-2024.5.15-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:72d7a99cd6b8f958e85fc6ca5b37c4303294954eac1376535b03c2a43eb72629"}, + {file = "regex-2024.5.15-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:a094801d379ab20c2135529948cb84d417a2169b9bdceda2a36f5f10977ebc16"}, + {file = "regex-2024.5.15-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:c0c18345010870e58238790a6779a1219b4d97bd2e77e1140e8ee5d14df071aa"}, + {file = "regex-2024.5.15-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:16093f563098448ff6b1fa68170e4acbef94e6b6a4e25e10eae8598bb1694b5d"}, + {file = "regex-2024.5.15-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:e38a7d4e8f633a33b4c7350fbd8bad3b70bf81439ac67ac38916c4a86b465456"}, + {file = "regex-2024.5.15-cp39-cp39-win32.whl", hash = "sha256:71a455a3c584a88f654b64feccc1e25876066c4f5ef26cd6dd711308aa538694"}, + {file = "regex-2024.5.15-cp39-cp39-win_amd64.whl", hash = "sha256:cab12877a9bdafde5500206d1020a584355a97884dfd388af3699e9137bf7388"}, + {file = "regex-2024.5.15.tar.gz", hash = "sha256:d3ee02d9e5f482cc8309134a91eeaacbdd2261ba111b0fef3748eeb4913e6a2c"}, ] [[package]] name = "requests" -version = "2.31.0" -requires_python = ">=3.7" +version = "2.32.2" +requires_python = ">=3.8" summary = "Python HTTP for Humans." dependencies = [ "certifi>=2017.4.17", @@ -2882,22 +3011,8 @@ dependencies = [ "urllib3<3,>=1.21.1", ] files = [ - {file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"}, - {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"}, -] - -[[package]] -name = "rich" -version = "13.7.1" -requires_python = ">=3.7.0" -summary = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" -dependencies = [ - "markdown-it-py>=2.2.0", - "pygments<3.0.0,>=2.13.0", -] -files = [ - {file = "rich-13.7.1-py3-none-any.whl", hash = "sha256:4edbae314f59eb482f54e9e30bf00d33350aaa94f4bfcd4e9e3110e64d0d7222"}, - {file = "rich-13.7.1.tar.gz", hash = "sha256:9be308cb1fe2f1f57d67ce99e95af38a1e2bc71ad9813b0e247cf7ffbcc3a432"}, + {file = "requests-2.32.2-py3-none-any.whl", hash = "sha256:fc06670dd0ed212426dfeb94fc1b983d917c4f9847c863f313c9dfaaffb7c23c"}, + {file = "requests-2.32.2.tar.gz", hash = "sha256:dd951ff5ecf3e3b3aa26b40703ba77495dab41da839ae72ef3c8e5d8e2433289"}, ] [[package]] @@ -3066,44 +3181,14 @@ files = [ {file = "safetensors-0.4.3.tar.gz", hash = "sha256:2f85fc50c4e07a21e95c24e07460fe6f7e2859d0ce88092838352b798ce711c2"}, ] -[[package]] -name = "scipy" -version = "1.13.0" -requires_python = ">=3.9" -summary = "Fundamental algorithms for scientific computing in Python" -dependencies = [ - "numpy<2.3,>=1.22.4", -] -files = [ - {file = "scipy-1.13.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ba419578ab343a4e0a77c0ef82f088238a93eef141b2b8017e46149776dfad4d"}, - {file = "scipy-1.13.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:22789b56a999265431c417d462e5b7f2b487e831ca7bef5edeb56efe4c93f86e"}, - {file = "scipy-1.13.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:05f1432ba070e90d42d7fd836462c50bf98bd08bed0aa616c359eed8a04e3922"}, - {file = "scipy-1.13.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8434f6f3fa49f631fae84afee424e2483289dfc30a47755b4b4e6b07b2633a4"}, - {file = "scipy-1.13.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:dcbb9ea49b0167de4167c40eeee6e167caeef11effb0670b554d10b1e693a8b9"}, - {file = "scipy-1.13.0-cp310-cp310-win_amd64.whl", hash = "sha256:1d2f7bb14c178f8b13ebae93f67e42b0a6b0fc50eba1cd8021c9b6e08e8fb1cd"}, - {file = "scipy-1.13.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0fbcf8abaf5aa2dc8d6400566c1a727aed338b5fe880cde64907596a89d576fa"}, - {file = "scipy-1.13.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:5e4a756355522eb60fcd61f8372ac2549073c8788f6114449b37e9e8104f15a5"}, - {file = "scipy-1.13.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b5acd8e1dbd8dbe38d0004b1497019b2dbbc3d70691e65d69615f8a7292865d7"}, - {file = "scipy-1.13.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ff7dad5d24a8045d836671e082a490848e8639cabb3dbdacb29f943a678683d"}, - {file = "scipy-1.13.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:4dca18c3ffee287ddd3bc8f1dabaf45f5305c5afc9f8ab9cbfab855e70b2df5c"}, - {file = "scipy-1.13.0-cp311-cp311-win_amd64.whl", hash = "sha256:a2f471de4d01200718b2b8927f7d76b5d9bde18047ea0fa8bd15c5ba3f26a1d6"}, - {file = "scipy-1.13.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5407708195cb38d70fd2d6bb04b1b9dd5c92297d86e9f9daae1576bd9e06f602"}, - {file = "scipy-1.13.0-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:ac38c4c92951ac0f729c4c48c9e13eb3675d9986cc0c83943784d7390d540c78"}, - {file = "scipy-1.13.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:09c74543c4fbeb67af6ce457f6a6a28e5d3739a87f62412e4a16e46f164f0ae5"}, - {file = "scipy-1.13.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28e286bf9ac422d6beb559bc61312c348ca9b0f0dae0d7c5afde7f722d6ea13d"}, - {file = "scipy-1.13.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:33fde20efc380bd23a78a4d26d59fc8704e9b5fd9b08841693eb46716ba13d86"}, - {file = "scipy-1.13.0-cp39-cp39-win_amd64.whl", hash = "sha256:45c08bec71d3546d606989ba6e7daa6f0992918171e2a6f7fbedfa7361c2de1e"}, - {file = "scipy-1.13.0.tar.gz", hash = "sha256:58569af537ea29d3f78e5abd18398459f195546bb3be23d16677fb26616cc11e"}, -] - [[package]] name = "setuptools" -version = "69.5.1" +version = "70.0.0" requires_python = ">=3.8" summary = "Easily download, build, install, upgrade, and uninstall Python packages" files = [ - {file = "setuptools-69.5.1-py3-none-any.whl", hash = "sha256:c636ac361bc47580504644275c9ad802c50415c7522212252c033bd15f301f32"}, - {file = "setuptools-69.5.1.tar.gz", hash = "sha256:6c1fccdac05a97e598fb0ae3bbed5904ccb317337a51139dcd51453611bbb987"}, + {file = "setuptools-70.0.0-py3-none-any.whl", hash = "sha256:54faa7f2e8d2d11bcd2c07bed282eef1046b5c080d1c32add737d7b5817b1ad4"}, + {file = "setuptools-70.0.0.tar.gz", hash = "sha256:f211a66637b8fa059bb28183da127d4e86396c991a942b028c6650d4319c3fd0"}, ] [[package]] @@ -3139,16 +3224,6 @@ files = [ {file = "shapely-2.0.4.tar.gz", hash = "sha256:5dc736127fac70009b8d309a0eeb74f3e08979e530cf7017f2f507ef62e6cfb8"}, ] -[[package]] -name = "shellingham" -version = "1.5.4" -requires_python = ">=3.7" -summary = "Tool to Detect Surrounding Shell" -files = [ - {file = "shellingham-1.5.4-py2.py3-none-any.whl", hash = "sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686"}, - {file = "shellingham-1.5.4.tar.gz", hash = "sha256:8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de"}, -] - [[package]] name = "singleton-decorator" version = "1.0.0" @@ -3167,6 +3242,16 @@ files = [ {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, ] +[[package]] +name = "smart-open" +version = "6.4.0" +requires_python = ">=3.6,<4.0" +summary = "Utils for streaming large files (S3, HDFS, GCS, Azure Blob Storage, gzip, bz2...)" +files = [ + {file = "smart_open-6.4.0-py3-none-any.whl", hash = "sha256:8d3ef7e6997e8e42dd55c74166ed21e6ac70664caa32dd940b26d54a8f6b4142"}, + {file = "smart_open-6.4.0.tar.gz", hash = "sha256:be3c92c246fbe80ebce8fbacb180494a481a77fcdcb7c1aadb2ea5b9c2bee8b9"}, +] + [[package]] name = "sniffio" version = "1.3.1" @@ -3187,6 +3272,72 @@ files = [ {file = "soupsieve-2.5.tar.gz", hash = "sha256:5663d5a7b3bfaeee0bc4372e7fc48f9cff4940b3eec54a6451cc5299f1097690"}, ] +[[package]] +name = "spacy" +version = "3.7.4" +requires_python = ">=3.7" +summary = "Industrial-strength Natural Language Processing (NLP) in Python" +dependencies = [ + "catalogue<2.1.0,>=2.0.6", + "cymem<2.1.0,>=2.0.2", + "jinja2", + "langcodes<4.0.0,>=3.2.0", + "murmurhash<1.1.0,>=0.28.0", + "numpy>=1.19.0; python_version >= \"3.9\"", + "packaging>=20.0", + "preshed<3.1.0,>=3.0.2", + "pydantic!=1.8,!=1.8.1,<3.0.0,>=1.7.4", + "requests<3.0.0,>=2.13.0", + "setuptools", + "smart-open<7.0.0,>=5.2.1", + "spacy-legacy<3.1.0,>=3.0.11", + "spacy-loggers<2.0.0,>=1.0.0", + "srsly<3.0.0,>=2.4.3", + "thinc<8.3.0,>=8.2.2", + "tqdm<5.0.0,>=4.38.0", + "typer<0.10.0,>=0.3.0", + "wasabi<1.2.0,>=0.9.1", + "weasel<0.4.0,>=0.1.0", +] +files = [ + {file = "spacy-3.7.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0f748625192f573c07ddea5fcd324919dbfbf4f4a2f7a1fc731e6dcba7321ea1"}, + {file = "spacy-3.7.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6288dca7b3a5489b3d7ce68404bc432ca22f826c662a12af47ef7bdb264307fb"}, + {file = "spacy-3.7.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ef59db99b12a72d2646be3888d87f94c59e11cd07adc2f50a8130e83f07eb1cf"}, + {file = "spacy-3.7.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f07477a4027711c22b3865e78dc9076335c03fcf318a6736159bf07e2a923125"}, + {file = "spacy-3.7.4-cp310-cp310-win_amd64.whl", hash = "sha256:787ce42a837f7edfbd4185356eea893a81b7dd75743d0047f2b9bf179775f970"}, + {file = "spacy-3.7.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e82b9da21853d4aee46811804dc7e136895f087fda25c7585172d95eb9b70833"}, + {file = "spacy-3.7.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:07ffedf51899441070fb70432f8f873696f39e0e31c9ce7403101c459f8a1281"}, + {file = "spacy-3.7.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ba57bcc111eca7b086ee33a9636df775cfd4b14302f7d0ffbc11e95ac0fb3f0e"}, + {file = "spacy-3.7.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7580d1565f4d1ccbee9a18531f993a5b9b37ced96f145153dd4e98ceec607a55"}, + {file = "spacy-3.7.4-cp311-cp311-win_amd64.whl", hash = "sha256:df99c6f0085b1ec8e88beb5fd96d4371cef6fc19c202c41fc4fadc2afd55a157"}, + {file = "spacy-3.7.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ca8112330982dbeef125cc5eb40e0349493055835a0ebe29028a0953a25d8522"}, + {file = "spacy-3.7.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:977f37493d7cf0b5dca155f0450d47890378703283c29919cdcc220db994a775"}, + {file = "spacy-3.7.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ad5e931c294d100ec3edb40e40f2722ef505cea16312839dd6467e81d665740"}, + {file = "spacy-3.7.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11ebf6054cd3ec3638801d7ff9b709e32fb9c15512b347b489bfe2ccb1102c9f"}, + {file = "spacy-3.7.4-cp39-cp39-win_amd64.whl", hash = "sha256:f5b930753027ac599f70bb7e77d6a2256191fe582e6f3f0cd624d88f6c279fa4"}, + {file = "spacy-3.7.4.tar.gz", hash = "sha256:525f2ced2e40761562c8cace93ef6a1e6e8c483f27bd564bc1b15f608efbe85b"}, +] + +[[package]] +name = "spacy-legacy" +version = "3.0.12" +requires_python = ">=3.6" +summary = "Legacy registered functions for spaCy backwards compatibility" +files = [ + {file = "spacy-legacy-3.0.12.tar.gz", hash = "sha256:b37d6e0c9b6e1d7ca1cf5bc7152ab64a4c4671f59c85adaf7a3fcb870357a774"}, + {file = "spacy_legacy-3.0.12-py2.py3-none-any.whl", hash = "sha256:476e3bd0d05f8c339ed60f40986c07387c0a71479245d6d0f4298dbd52cda55f"}, +] + +[[package]] +name = "spacy-loggers" +version = "1.0.5" +requires_python = ">=3.6" +summary = "Logging utilities for SpaCy" +files = [ + {file = "spacy-loggers-1.0.5.tar.gz", hash = "sha256:d60b0bdbf915a60e516cc2e653baeff946f0cfc461b452d11a4d5458c6fe5f24"}, + {file = "spacy_loggers-1.0.5-py3-none-any.whl", hash = "sha256:196284c9c446cc0cdb944005384270d775fdeaf4f494d8e269466cfa497ef645"}, +] + [[package]] name = "sqlalchemy" version = "2.0.30" @@ -3264,6 +3415,33 @@ files = [ {file = "SQLAlchemy-2.0.30.tar.gz", hash = "sha256:2b1708916730f4830bc69d6f49d37f7698b5bd7530aca7f04f785f8849e95255"}, ] +[[package]] +name = "srsly" +version = "2.4.8" +requires_python = ">=3.6" +summary = "Modern high-performance serialization utilities for Python" +dependencies = [ + "catalogue<2.1.0,>=2.0.3", +] +files = [ + {file = "srsly-2.4.8-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:17f3bcb418bb4cf443ed3d4dcb210e491bd9c1b7b0185e6ab10b6af3271e63b2"}, + {file = "srsly-2.4.8-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0b070a58e21ab0e878fd949f932385abb4c53dd0acb6d3a7ee75d95d447bc609"}, + {file = "srsly-2.4.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:98286d20014ed2067ad02b0be1e17c7e522255b188346e79ff266af51a54eb33"}, + {file = "srsly-2.4.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18685084e2e0cc47c25158cbbf3e44690e494ef77d6418c2aae0598c893f35b0"}, + {file = "srsly-2.4.8-cp310-cp310-win_amd64.whl", hash = "sha256:980a179cbf4eb5bc56f7507e53f76720d031bcf0cef52cd53c815720eb2fc30c"}, + {file = "srsly-2.4.8-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5472ed9f581e10c32e79424c996cf54c46c42237759f4224806a0cd4bb770993"}, + {file = "srsly-2.4.8-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:50f10afe9230072c5aad9f6636115ea99b32c102f4c61e8236d8642c73ec7a13"}, + {file = "srsly-2.4.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c994a89ba247a4d4f63ef9fdefb93aa3e1f98740e4800d5351ebd56992ac75e3"}, + {file = "srsly-2.4.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ace7ed4a0c20fa54d90032be32f9c656b6d75445168da78d14fe9080a0c208ad"}, + {file = "srsly-2.4.8-cp311-cp311-win_amd64.whl", hash = "sha256:7a919236a090fb93081fbd1cec030f675910f3863825b34a9afbcae71f643127"}, + {file = "srsly-2.4.8-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ff8df21d00d73c371bead542cefef365ee87ca3a5660de292444021ff84e3b8c"}, + {file = "srsly-2.4.8-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0ac3e340e65a9fe265105705586aa56054dc3902789fcb9a8f860a218d6c0a00"}, + {file = "srsly-2.4.8-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:06d1733f4275eff4448e96521cc7dcd8fdabd68ba9b54ca012dcfa2690db2644"}, + {file = "srsly-2.4.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:be5b751ad88fdb58fb73871d456248c88204f213aaa3c9aab49b6a1802b3fa8d"}, + {file = "srsly-2.4.8-cp39-cp39-win_amd64.whl", hash = "sha256:822a38b8cf112348f3accbc73274a94b7bf82515cb14a85ba586d126a5a72851"}, + {file = "srsly-2.4.8.tar.gz", hash = "sha256:b24d95a65009c2447e0b49cda043ac53fecf4f09e358d87a57446458f91b8a91"}, +] + [[package]] name = "striprtf" version = "0.0.26" @@ -3283,6 +3461,44 @@ files = [ {file = "tenacity-8.3.0.tar.gz", hash = "sha256:953d4e6ad24357bceffbc9707bc74349aca9d245f68eb65419cf0c249a1949a2"}, ] +[[package]] +name = "thinc" +version = "8.2.3" +requires_python = ">=3.6" +summary = "A refreshing functional take on deep learning, compatible with your favorite libraries" +dependencies = [ + "blis<0.8.0,>=0.7.8", + "catalogue<2.1.0,>=2.0.4", + "confection<1.0.0,>=0.0.1", + "cymem<2.1.0,>=2.0.2", + "murmurhash<1.1.0,>=1.0.2", + "numpy>=1.19.0; python_version >= \"3.9\"", + "packaging>=20.0", + "preshed<3.1.0,>=3.0.2", + "pydantic!=1.8,!=1.8.1,<3.0.0,>=1.7.4", + "setuptools", + "srsly<3.0.0,>=2.4.0", + "wasabi<1.2.0,>=0.8.1", +] +files = [ + {file = "thinc-8.2.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:27950dc8a14e1ead09dec329ad98edf1b8f7cc71ec9d5ce5f301073de9d7dadf"}, + {file = "thinc-8.2.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fce09571619f344983f915f5deb5b8346304b56d3a9ae1bc5ac8c5872eee0738"}, + {file = "thinc-8.2.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ce0fb4e534c978ff4b429678ab28db2f81503549f97ed61b2b752c07c08b2083"}, + {file = "thinc-8.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:607223c178ae5fba36a3b35fa82d94a453694551bcfbe7f9ac04a01a9e87ebad"}, + {file = "thinc-8.2.3-cp310-cp310-win_amd64.whl", hash = "sha256:53b48a6ae43b0e4054816a378163237b1d2120a49c71994682037437d64b7f84"}, + {file = "thinc-8.2.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9db67f460dae2e3aada1ff166394ce13c2dabb4db93d6bd79cd256f5beab9599"}, + {file = "thinc-8.2.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0d57bdf43e0acd1406d681bf988179f677cf1b385c86f744bf314d827383ce31"}, + {file = "thinc-8.2.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78311a593b8bf3f03af52bf71d6b364463c598f3540ea8387c00017d2a0e0a5d"}, + {file = "thinc-8.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b9489ae7fec427064a50a0c3e7c661a95251756032e31316add2c8c13f98f93c"}, + {file = "thinc-8.2.3-cp311-cp311-win_amd64.whl", hash = "sha256:d0bf3840d434e3dbdf294643e6d54d2042d0e652abc68dee16673f28269fc456"}, + {file = "thinc-8.2.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5e6ebf63a185d7691b38655a184e30554fbe589805a802d97230eed07af8ea39"}, + {file = "thinc-8.2.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4d29ee871cfd0d40f4a0436e154640c0965b163b91a088a85bcd5658c1cc3ed4"}, + {file = "thinc-8.2.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a8709d114131680bc7c02b0c97817bd7692eda50beb7849c7908666cf15a6cfd"}, + {file = "thinc-8.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d9b81e3c1e89c8ed6dff5a8440f584cda623ec77a3bd8c0ed059936405b8a7ca"}, + {file = "thinc-8.2.3-cp39-cp39-win_amd64.whl", hash = "sha256:1df983af74952d4818703e6bac8af64fad338eaaef8b017fa05d372e3c68e577"}, + {file = "thinc-8.2.3.tar.gz", hash = "sha256:f5afc5222912a80bda8bdcec958362a2ba538d7027dc8db6154845d2859dca76"}, +] + [[package]] name = "tiktoken" version = "0.4.0" @@ -3439,18 +3655,16 @@ files = [ [[package]] name = "typer" -version = "0.12.3" -requires_python = ">=3.7" +version = "0.9.4" +requires_python = ">=3.6" summary = "Typer, build great CLIs. Easy to code. Based on Python type hints." dependencies = [ - "click>=8.0.0", - "rich>=10.11.0", - "shellingham>=1.3.0", + "click<9.0.0,>=7.1.1", "typing-extensions>=3.7.4.3", ] files = [ - {file = "typer-0.12.3-py3-none-any.whl", hash = "sha256:070d7ca53f785acbccba8e7d28b08dcd88f79f1fbda035ade0aecec71ca5c914"}, - {file = "typer-0.12.3.tar.gz", hash = "sha256:49e73131481d804288ef62598d97a1ceef3058905aa536a1134f90891ba35482"}, + {file = "typer-0.9.4-py3-none-any.whl", hash = "sha256:aa6c4a4e2329d868b80ecbaf16f807f2b54e192209d7ac9dd42691d63f7a54eb"}, + {file = "typer-0.9.4.tar.gz", hash = "sha256:f714c2d90afae3a7929fcd72a3abb08df305e1ff61719381384211c4070af57f"}, ] [[package]] @@ -3488,60 +3702,63 @@ files = [ [[package]] name = "ujson" -version = "5.9.0" +version = "5.10.0" requires_python = ">=3.8" summary = "Ultra fast JSON encoder and decoder for Python" files = [ - {file = "ujson-5.9.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ab71bf27b002eaf7d047c54a68e60230fbd5cd9da60de7ca0aa87d0bccead8fa"}, - {file = "ujson-5.9.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:7a365eac66f5aa7a7fdf57e5066ada6226700884fc7dce2ba5483538bc16c8c5"}, - {file = "ujson-5.9.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e015122b337858dba5a3dc3533af2a8fc0410ee9e2374092f6a5b88b182e9fcc"}, - {file = "ujson-5.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:779a2a88c53039bebfbccca934430dabb5c62cc179e09a9c27a322023f363e0d"}, - {file = "ujson-5.9.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10ca3c41e80509fd9805f7c149068fa8dbee18872bbdc03d7cca928926a358d5"}, - {file = "ujson-5.9.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:4a566e465cb2fcfdf040c2447b7dd9718799d0d90134b37a20dff1e27c0e9096"}, - {file = "ujson-5.9.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:f833c529e922577226a05bc25b6a8b3eb6c4fb155b72dd88d33de99d53113124"}, - {file = "ujson-5.9.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b68a0caab33f359b4cbbc10065c88e3758c9f73a11a65a91f024b2e7a1257106"}, - {file = "ujson-5.9.0-cp310-cp310-win32.whl", hash = "sha256:7cc7e605d2aa6ae6b7321c3ae250d2e050f06082e71ab1a4200b4ae64d25863c"}, - {file = "ujson-5.9.0-cp310-cp310-win_amd64.whl", hash = "sha256:a6d3f10eb8ccba4316a6b5465b705ed70a06011c6f82418b59278fbc919bef6f"}, - {file = "ujson-5.9.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3b23bbb46334ce51ddb5dded60c662fbf7bb74a37b8f87221c5b0fec1ec6454b"}, - {file = "ujson-5.9.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6974b3a7c17bbf829e6c3bfdc5823c67922e44ff169851a755eab79a3dd31ec0"}, - {file = "ujson-5.9.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b5964ea916edfe24af1f4cc68488448fbb1ec27a3ddcddc2b236da575c12c8ae"}, - {file = "ujson-5.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ba7cac47dd65ff88571eceeff48bf30ed5eb9c67b34b88cb22869b7aa19600d"}, - {file = "ujson-5.9.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6bbd91a151a8f3358c29355a491e915eb203f607267a25e6ab10531b3b157c5e"}, - {file = "ujson-5.9.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:829a69d451a49c0de14a9fecb2a2d544a9b2c884c2b542adb243b683a6f15908"}, - {file = "ujson-5.9.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:a807ae73c46ad5db161a7e883eec0fbe1bebc6a54890152ccc63072c4884823b"}, - {file = "ujson-5.9.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:8fc2aa18b13d97b3c8ccecdf1a3c405f411a6e96adeee94233058c44ff92617d"}, - {file = "ujson-5.9.0-cp311-cp311-win32.whl", hash = "sha256:70e06849dfeb2548be48fdd3ceb53300640bc8100c379d6e19d78045e9c26120"}, - {file = "ujson-5.9.0-cp311-cp311-win_amd64.whl", hash = "sha256:7309d063cd392811acc49b5016728a5e1b46ab9907d321ebbe1c2156bc3c0b99"}, - {file = "ujson-5.9.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d0fd2eba664a22447102062814bd13e63c6130540222c0aa620701dd01f4be81"}, - {file = "ujson-5.9.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:bdf7fc21a03bafe4ba208dafa84ae38e04e5d36c0e1c746726edf5392e9f9f36"}, - {file = "ujson-5.9.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e2f909bc08ce01f122fd9c24bc6f9876aa087188dfaf3c4116fe6e4daf7e194f"}, - {file = "ujson-5.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bd4ea86c2afd41429751d22a3ccd03311c067bd6aeee2d054f83f97e41e11d8f"}, - {file = "ujson-5.9.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:63fb2e6599d96fdffdb553af0ed3f76b85fda63281063f1cb5b1141a6fcd0617"}, - {file = "ujson-5.9.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:32bba5870c8fa2a97f4a68f6401038d3f1922e66c34280d710af00b14a3ca562"}, - {file = "ujson-5.9.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:37ef92e42535a81bf72179d0e252c9af42a4ed966dc6be6967ebfb929a87bc60"}, - {file = "ujson-5.9.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:f69f16b8f1c69da00e38dc5f2d08a86b0e781d0ad3e4cc6a13ea033a439c4844"}, - {file = "ujson-5.9.0-cp39-cp39-win32.whl", hash = "sha256:3382a3ce0ccc0558b1c1668950008cece9bf463ebb17463ebf6a8bfc060dae34"}, - {file = "ujson-5.9.0-cp39-cp39-win_amd64.whl", hash = "sha256:6adef377ed583477cf005b58c3025051b5faa6b8cc25876e594afbb772578f21"}, - {file = "ujson-5.9.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:ffdfebd819f492e48e4f31c97cb593b9c1a8251933d8f8972e81697f00326ff1"}, - {file = "ujson-5.9.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c4eec2ddc046360d087cf35659c7ba0cbd101f32035e19047013162274e71fcf"}, - {file = "ujson-5.9.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2fbb90aa5c23cb3d4b803c12aa220d26778c31b6e4b7a13a1f49971f6c7d088e"}, - {file = "ujson-5.9.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ba0823cb70866f0d6a4ad48d998dd338dce7314598721bc1b7986d054d782dfd"}, - {file = "ujson-5.9.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:4e35d7885ed612feb6b3dd1b7de28e89baaba4011ecdf995e88be9ac614765e9"}, - {file = "ujson-5.9.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:b048aa93eace8571eedbd67b3766623e7f0acbf08ee291bef7d8106210432427"}, - {file = "ujson-5.9.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:323279e68c195110ef85cbe5edce885219e3d4a48705448720ad925d88c9f851"}, - {file = "ujson-5.9.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9ac92d86ff34296f881e12aa955f7014d276895e0e4e868ba7fddebbde38e378"}, - {file = "ujson-5.9.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:6eecbd09b316cea1fd929b1e25f70382917542ab11b692cb46ec9b0a26c7427f"}, - {file = "ujson-5.9.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:473fb8dff1d58f49912323d7cb0859df5585cfc932e4b9c053bf8cf7f2d7c5c4"}, - {file = "ujson-5.9.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f91719c6abafe429c1a144cfe27883eace9fb1c09a9c5ef1bcb3ae80a3076a4e"}, - {file = "ujson-5.9.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b1c0991c4fe256f5fdb19758f7eac7f47caac29a6c57d0de16a19048eb86bad"}, - {file = "ujson-5.9.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2a8ea0f55a1396708e564595aaa6696c0d8af532340f477162ff6927ecc46e21"}, - {file = "ujson-5.9.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:07e0cfdde5fd91f54cd2d7ffb3482c8ff1bf558abf32a8b953a5d169575ae1cd"}, - {file = "ujson-5.9.0.tar.gz", hash = "sha256:89cc92e73d5501b8a7f48575eeb14ad27156ad092c2e9fc7e3cf949f07e75532"}, + {file = "ujson-5.10.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2601aa9ecdbee1118a1c2065323bda35e2c5a2cf0797ef4522d485f9d3ef65bd"}, + {file = "ujson-5.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:348898dd702fc1c4f1051bc3aacbf894caa0927fe2c53e68679c073375f732cf"}, + {file = "ujson-5.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22cffecf73391e8abd65ef5f4e4dd523162a3399d5e84faa6aebbf9583df86d6"}, + {file = "ujson-5.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26b0e2d2366543c1bb4fbd457446f00b0187a2bddf93148ac2da07a53fe51569"}, + {file = "ujson-5.10.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:caf270c6dba1be7a41125cd1e4fc7ba384bf564650beef0df2dd21a00b7f5770"}, + {file = "ujson-5.10.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a245d59f2ffe750446292b0094244df163c3dc96b3ce152a2c837a44e7cda9d1"}, + {file = "ujson-5.10.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:94a87f6e151c5f483d7d54ceef83b45d3a9cca7a9cb453dbdbb3f5a6f64033f5"}, + {file = "ujson-5.10.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:29b443c4c0a113bcbb792c88bea67b675c7ca3ca80c3474784e08bba01c18d51"}, + {file = "ujson-5.10.0-cp310-cp310-win32.whl", hash = "sha256:c18610b9ccd2874950faf474692deee4223a994251bc0a083c114671b64e6518"}, + {file = "ujson-5.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:924f7318c31874d6bb44d9ee1900167ca32aa9b69389b98ecbde34c1698a250f"}, + {file = "ujson-5.10.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a5b366812c90e69d0f379a53648be10a5db38f9d4ad212b60af00bd4048d0f00"}, + {file = "ujson-5.10.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:502bf475781e8167f0f9d0e41cd32879d120a524b22358e7f205294224c71126"}, + {file = "ujson-5.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5b91b5d0d9d283e085e821651184a647699430705b15bf274c7896f23fe9c9d8"}, + {file = "ujson-5.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:129e39af3a6d85b9c26d5577169c21d53821d8cf68e079060602e861c6e5da1b"}, + {file = "ujson-5.10.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f77b74475c462cb8b88680471193064d3e715c7c6074b1c8c412cb526466efe9"}, + {file = "ujson-5.10.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:7ec0ca8c415e81aa4123501fee7f761abf4b7f386aad348501a26940beb1860f"}, + {file = "ujson-5.10.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:ab13a2a9e0b2865a6c6db9271f4b46af1c7476bfd51af1f64585e919b7c07fd4"}, + {file = "ujson-5.10.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:57aaf98b92d72fc70886b5a0e1a1ca52c2320377360341715dd3933a18e827b1"}, + {file = "ujson-5.10.0-cp311-cp311-win32.whl", hash = "sha256:2987713a490ceb27edff77fb184ed09acdc565db700ee852823c3dc3cffe455f"}, + {file = "ujson-5.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:f00ea7e00447918ee0eff2422c4add4c5752b1b60e88fcb3c067d4a21049a720"}, + {file = "ujson-5.10.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:dfef2814c6b3291c3c5f10065f745a1307d86019dbd7ea50e83504950136ed5b"}, + {file = "ujson-5.10.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4734ee0745d5928d0ba3a213647f1c4a74a2a28edc6d27b2d6d5bd9fa4319e27"}, + {file = "ujson-5.10.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d47ebb01bd865fdea43da56254a3930a413f0c5590372a1241514abae8aa7c76"}, + {file = "ujson-5.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dee5e97c2496874acbf1d3e37b521dd1f307349ed955e62d1d2f05382bc36dd5"}, + {file = "ujson-5.10.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7490655a2272a2d0b072ef16b0b58ee462f4973a8f6bbe64917ce5e0a256f9c0"}, + {file = "ujson-5.10.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:ba17799fcddaddf5c1f75a4ba3fd6441f6a4f1e9173f8a786b42450851bd74f1"}, + {file = "ujson-5.10.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:2aff2985cef314f21d0fecc56027505804bc78802c0121343874741650a4d3d1"}, + {file = "ujson-5.10.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:ad88ac75c432674d05b61184178635d44901eb749786c8eb08c102330e6e8996"}, + {file = "ujson-5.10.0-cp39-cp39-win32.whl", hash = "sha256:2544912a71da4ff8c4f7ab5606f947d7299971bdd25a45e008e467ca638d13c9"}, + {file = "ujson-5.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:3ff201d62b1b177a46f113bb43ad300b424b7847f9c5d38b1b4ad8f75d4a282a"}, + {file = "ujson-5.10.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:5b6fee72fa77dc172a28f21693f64d93166534c263adb3f96c413ccc85ef6e64"}, + {file = "ujson-5.10.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:61d0af13a9af01d9f26d2331ce49bb5ac1fb9c814964018ac8df605b5422dcb3"}, + {file = "ujson-5.10.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ecb24f0bdd899d368b715c9e6664166cf694d1e57be73f17759573a6986dd95a"}, + {file = "ujson-5.10.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fbd8fd427f57a03cff3ad6574b5e299131585d9727c8c366da4624a9069ed746"}, + {file = "ujson-5.10.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:beeaf1c48e32f07d8820c705ff8e645f8afa690cca1544adba4ebfa067efdc88"}, + {file = "ujson-5.10.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:baed37ea46d756aca2955e99525cc02d9181de67f25515c468856c38d52b5f3b"}, + {file = "ujson-5.10.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:7663960f08cd5a2bb152f5ee3992e1af7690a64c0e26d31ba7b3ff5b2ee66337"}, + {file = "ujson-5.10.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:d8640fb4072d36b08e95a3a380ba65779d356b2fee8696afeb7794cf0902d0a1"}, + {file = "ujson-5.10.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78778a3aa7aafb11e7ddca4e29f46bc5139131037ad628cc10936764282d6753"}, + {file = "ujson-5.10.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b0111b27f2d5c820e7f2dbad7d48e3338c824e7ac4d2a12da3dc6061cc39c8e6"}, + {file = "ujson-5.10.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:c66962ca7565605b355a9ed478292da628b8f18c0f2793021ca4425abf8b01e5"}, + {file = "ujson-5.10.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:ba43cc34cce49cf2d4bc76401a754a81202d8aa926d0e2b79f0ee258cb15d3a4"}, + {file = "ujson-5.10.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:ac56eb983edce27e7f51d05bc8dd820586c6e6be1c5216a6809b0c668bb312b8"}, + {file = "ujson-5.10.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f44bd4b23a0e723bf8b10628288c2c7c335161d6840013d4d5de20e48551773b"}, + {file = "ujson-5.10.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7c10f4654e5326ec14a46bcdeb2b685d4ada6911050aa8baaf3501e57024b804"}, + {file = "ujson-5.10.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0de4971a89a762398006e844ae394bd46991f7c385d7a6a3b93ba229e6dac17e"}, + {file = "ujson-5.10.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:e1402f0564a97d2a52310ae10a64d25bcef94f8dd643fcf5d310219d915484f7"}, + {file = "ujson-5.10.0.tar.gz", hash = "sha256:b3cd8f3c5d8c7738257f1018880444f7b7d9b66232c64649f562d7ba86ad4bc1"}, ] [[package]] name = "unstract-adapters" -version = "0.15.1" +version = "0.16.0" requires_python = "<3.12,>=3.9" summary = "Unstract interface for LLMs, Embeddings and VectorDBs" dependencies = [ @@ -3568,8 +3785,8 @@ dependencies = [ "singleton-decorator~=1.0.0", ] files = [ - {file = "unstract_adapters-0.15.1-py3-none-any.whl", hash = "sha256:c4e4afe661ce363bc6842626fa1d5a402cb5146db2980a3d20f6e70c6a218f1f"}, - {file = "unstract_adapters-0.15.1.tar.gz", hash = "sha256:279e1e4c80b5f399a219ba63edf4cf5d640342f1b2e779b6c16b004cc7bfc802"}, + {file = "unstract_adapters-0.16.0-py3-none-any.whl", hash = "sha256:e599e11fd422508c13b3762df929e3be7b2719b7f91837dd7e38ce37f74aa0fb"}, + {file = "unstract_adapters-0.16.0.tar.gz", hash = "sha256:13aac40042bb64def782493a74f0f0bc39fc4b1ff4b61846060236fa7c1b4e00"}, ] [[package]] @@ -3594,7 +3811,7 @@ files = [ [[package]] name = "virtualenv" -version = "20.26.1" +version = "20.26.2" requires_python = ">=3.7" summary = "Virtual Python Environment builder" dependencies = [ @@ -3603,8 +3820,42 @@ dependencies = [ "platformdirs<5,>=3.9.1", ] files = [ - {file = "virtualenv-20.26.1-py3-none-any.whl", hash = "sha256:7aa9982a728ae5892558bff6a2839c00b9ed145523ece2274fad6f414690ae75"}, - {file = "virtualenv-20.26.1.tar.gz", hash = "sha256:604bfdceaeece392802e6ae48e69cec49168b9c5f4a44e483963f9242eb0e78b"}, + {file = "virtualenv-20.26.2-py3-none-any.whl", hash = "sha256:a624db5e94f01ad993d476b9ee5346fdf7b9de43ccaee0e0197012dc838a0e9b"}, + {file = "virtualenv-20.26.2.tar.gz", hash = "sha256:82bf0f4eebbb78d36ddaee0283d43fe5736b53880b8a8cdcd37390a07ac3741c"}, +] + +[[package]] +name = "wasabi" +version = "1.1.2" +requires_python = ">=3.6" +summary = "A lightweight console printing and formatting toolkit" +dependencies = [ + "colorama>=0.4.6; sys_platform == \"win32\" and python_version >= \"3.7\"", +] +files = [ + {file = "wasabi-1.1.2-py3-none-any.whl", hash = "sha256:0a3f933c4bf0ed3f93071132c1b87549733256d6c8de6473c5f7ed2e171b5cf9"}, + {file = "wasabi-1.1.2.tar.gz", hash = "sha256:1aaef3aceaa32edb9c91330d29d3936c0c39fdb965743549c173cb54b16c30b5"}, +] + +[[package]] +name = "weasel" +version = "0.3.4" +requires_python = ">=3.6" +summary = "Weasel: A small and easy workflow system" +dependencies = [ + "cloudpathlib<0.17.0,>=0.7.0", + "confection<0.2.0,>=0.0.4", + "packaging>=20.0", + "pydantic!=1.8,!=1.8.1,<3.0.0,>=1.7.4", + "requests<3.0.0,>=2.13.0", + "smart-open<7.0.0,>=5.2.1", + "srsly<3.0.0,>=2.4.3", + "typer<0.10.0,>=0.3.0", + "wasabi<1.2.0,>=0.9.1", +] +files = [ + {file = "weasel-0.3.4-py3-none-any.whl", hash = "sha256:ee48a944f051d007201c2ea1661d0c41035028c5d5a8bcb29a0b10f1100206ae"}, + {file = "weasel-0.3.4.tar.gz", hash = "sha256:eb16f92dc9f1a3ffa89c165e3a9acd28018ebb656e0da4da02c0d7d8ae3f6178"}, ] [[package]] diff --git a/pyproject.toml b/pyproject.toml index e457cd8e..9995570f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,7 +12,7 @@ dependencies = [ "python-magic~=0.4.27", "python-dotenv==1.0.0", # LLM Triad - "unstract-adapters~=0.15.1", + "unstract-adapters~=0.16.0", "llama-index==0.10.28", "tiktoken~=0.4.0", "transformers==4.37.0", diff --git a/src/unstract/sdk/__init__.py b/src/unstract/sdk/__init__.py index e4d83aa6..a0ae66de 100644 --- a/src/unstract/sdk/__init__.py +++ b/src/unstract/sdk/__init__.py @@ -1,4 +1,4 @@ -__version__ = "0.26.1" +__version__ = "0.27.0" def get_sdk_version(): From e8aaa86860ac06643fcd934c940c7891976b241a Mon Sep 17 00:00:00 2001 From: Hari John Kuriakose Date: Wed, 22 May 2024 20:37:54 +0530 Subject: [PATCH 8/8] Update src/unstract/sdk/index.py Signed-off-by: Hari John Kuriakose --- src/unstract/sdk/index.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/unstract/sdk/index.py b/src/unstract/sdk/index.py index d38c9404..4f2e4b4d 100644 --- a/src/unstract/sdk/index.py +++ b/src/unstract/sdk/index.py @@ -78,7 +78,7 @@ def get_text_from_index( self.tool.stream_log( f"Error building query {vector_db}: {e}", level=LogLevel.ERROR ) - raise SdkError(f"Error Error building query {vector_db}: {e}") + raise SdkError(f"Error building query {vector_db}: {e}") n: VectorStoreQueryResult = vector_db.query(query=q) if len(n.nodes) > 0: