diff --git a/docs/extras/integrations/chat/konko.ipynb b/docs/extras/integrations/chat/konko.ipynb
new file mode 100644
index 00000000000..5884ff73c51
--- /dev/null
+++ b/docs/extras/integrations/chat/konko.ipynb
@@ -0,0 +1,164 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Konko\n",
+ "\n",
+ ">[Konko](https://www.konko.ai/) API is a fully managed Web API designed to help application developers:\n",
+ "\n",
+ "Konko API is a fully managed API designed to help application developers:\n",
+ "\n",
+ "1. Select the right LLM(s) for their application\n",
+ "2. Prototype with various open-source and proprietary LLMs\n",
+ "3. Move to production in-line with their security, privacy, throughput, latency SLAs without infrastructure set-up or administration using Konko AI's SOC 2 compliant infrastructure\n",
+ "\n",
+ "\n",
+ "This example goes over how to use LangChain to interact with `Konko` [models](https://docs.konko.ai/docs/overview)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "To run this notebook, you'll need Konko API key. You can request it by messaging support@konko.ai."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "tags": []
+ },
+ "outputs": [],
+ "source": [
+ "from langchain.chat_models import ChatKonko\n",
+ "from langchain.prompts.chat import (\n",
+ " ChatPromptTemplate,\n",
+ " SystemMessagePromptTemplate,\n",
+ " AIMessagePromptTemplate,\n",
+ " HumanMessagePromptTemplate,\n",
+ ")\n",
+ "from langchain.schema import AIMessage, HumanMessage, SystemMessage"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## 2. Set API Keys\n",
+ "\n",
+ "
\n",
+ "\n",
+ "### Option 1: Set Environment Variables\n",
+ "\n",
+ "1. You can set environment variables for \n",
+ " 1. KONKO_API_KEY (Required)\n",
+ " 2. OPENAI_API_KEY (Optional)\n",
+ "2. In your current shell session, use the export command:\n",
+ "\n",
+ "```shell\n",
+ "export KONKO_API_KEY={your_KONKO_API_KEY_here}\n",
+ "export OPENAI_API_KEY={your_OPENAI_API_KEY_here} #Optional\n",
+ "```\n",
+ "\n",
+ "Alternatively, you can add the above lines directly to your shell startup script (such as .bashrc or .bash_profile for Bash shell and .zshrc for Zsh shell) to have them set automatically every time a new shell session starts.\n",
+ "\n",
+ "### Option 2: Set API Keys Programmatically\n",
+ "\n",
+ "If you prefer to set your API keys directly within your Python script or Jupyter notebook, you can use the following commands:\n",
+ "\n",
+ "```python\n",
+ "konko.set_api_key('your_KONKO_API_KEY_here') \n",
+ "konko.set_openai_api_key('your_OPENAI_API_KEY_here') # Optional\n",
+ "```\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Calling a model\n",
+ "\n",
+ "Find a model on the [Konko overview page](https://docs.konko.ai/docs/overview)\n",
+ "\n",
+ "For example, for this [LLama 2 model](https://docs.konko.ai/docs/meta-llama-2-13b-chat). The model id would be: `\"meta-llama/Llama-2-13b-chat-hf\"`\n",
+ "\n",
+ "Another way to find the list of models running on the Konko instance is through this [endpoint](https://docs.konko.ai/reference/listmodels).\n",
+ "\n",
+ "From here, we can initialize our model:\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "chat = ChatKonko(max_tokens=400, model = 'meta-llama/Llama-2-13b-chat-hf')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "AIMessage(content=\" Sure, I'd be happy to explain the Big Bang Theory briefly!\\n\\nThe Big Bang Theory is the leading explanation for the origin and evolution of the universe, based on a vast amount of observational evidence from many fields of science. In essence, the theory posits that the universe began as an infinitely hot and dense point, known as a singularity, around 13.8 billion years ago. This singularity expanded rapidly, and as it did, it cooled and formed subatomic particles, which eventually coalesced into the first atoms, and later into the stars and galaxies we see today.\\n\\nThe theory gets its name from the idea that the universe began in a state of incredibly high energy and temperature, and has been expanding and cooling ever since. This expansion is thought to have been driven by a mysterious force known as dark energy, which is thought to be responsible for the accelerating expansion of the universe.\\n\\nOne of the key predictions of the Big Bang Theory is that the universe should be homogeneous and isotropic on large scales, meaning that it should look the same in all directions and have the same properties everywhere. This prediction has been confirmed by a wealth of observational evidence, including the cosmic microwave background radiation, which is thought to be a remnant of the early universe.\\n\\nOverall, the Big Bang Theory is a well-established and widely accepted explanation for the origins of the universe, and it has been supported by a vast amount of observational evidence from many fields of science.\", additional_kwargs={}, example=False)"
+ ]
+ },
+ "execution_count": 7,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "messages = [\n",
+ " SystemMessage(\n",
+ " content=\"You are a helpful assistant.\"\n",
+ " ),\n",
+ " HumanMessage(\n",
+ " content=\"Explain Big Bang Theory briefly\"\n",
+ " ),\n",
+ "]\n",
+ "chat(messages)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3 (ipykernel)",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.11.3"
+ },
+ "vscode": {
+ "interpreter": {
+ "hash": "a0a0263b650d907a3bfe41c0f8d6a63a071b884df3cfdc1579f00cdc1aed6b03"
+ }
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/docs/extras/integrations/providers/konko.mdx b/docs/extras/integrations/providers/konko.mdx
new file mode 100644
index 00000000000..1735aa0d01c
--- /dev/null
+++ b/docs/extras/integrations/providers/konko.mdx
@@ -0,0 +1,80 @@
+# Konko
+This page covers how to run models on Konko within LangChain.
+
+Konko API is a fully managed API designed to help application developers:
+
+Select the right LLM(s) for their application
+Prototype with various open-source and proprietary LLMs
+Move to production in-line with their security, privacy, throughput, latency SLAs without infrastructure set-up or administration using Konko AI's SOC 2 compliant infrastructure
+
+## Installation and Setup
+
+### First you'll need an API key
+You can request it by messaging [support@konko.ai](mailto:support@konko.ai)
+
+### Install Konko AI's Python SDK
+
+#### 1. Enable a Python3.8+ environment
+
+#### 2. Set API Keys
+
+##### Option 1: Set Environment Variables
+
+1. You can set environment variables for
+ 1. KONKO_API_KEY (Required)
+ 2. OPENAI_API_KEY (Optional)
+
+2. In your current shell session, use the export command:
+
+```shell
+export KONKO_API_KEY={your_KONKO_API_KEY_here}
+export OPENAI_API_KEY={your_OPENAI_API_KEY_here} #Optional
+```
+
+Alternatively, you can add the above lines directly to your shell startup script (such as .bashrc or .bash_profile for Bash shell and .zshrc for Zsh shell) to have them set automatically every time a new shell session starts.
+
+##### Option 2: Set API Keys Programmatically
+
+If you prefer to set your API keys directly within your Python script or Jupyter notebook, you can use the following commands:
+
+```python
+konko.set_api_key('your_KONKO_API_KEY_here')
+konko.set_openai_api_key('your_OPENAI_API_KEY_here') # Optional
+```
+
+#### 3. Install the SDK
+
+
+```shell
+pip install konko
+```
+
+#### 4. Verify Installation & Authentication
+
+```python
+#Confirm konko has installed successfully
+import konko
+#Confirm API keys from Konko and OpenAI are set properly
+konko.Model.list()
+```
+
+## Calling a model
+
+Find a model on the [Konko Introduction page](https://docs.konko.ai/docs#available-models)
+
+For example, for this [LLama 2 model](https://docs.konko.ai/docs/meta-llama-2-13b-chat). The model id would be: `"meta-llama/Llama-2-13b-chat-hf"`
+
+Another way to find the list of models running on the Konko instance is through this [endpoint](https://docs.konko.ai/reference/listmodels).
+
+From here, we can initialize our model:
+
+```python
+chat_instance = ChatKonko(max_tokens=10, model = 'meta-llama/Llama-2-13b-chat-hf')
+```
+
+And run it:
+
+```python
+msg = HumanMessage(content="Hi")
+chat_response = chat_instance([msg])
+```
diff --git a/libs/langchain/langchain/chat_models/__init__.py b/libs/langchain/langchain/chat_models/__init__.py
index b03cb777101..07fe41d723b 100644
--- a/libs/langchain/langchain/chat_models/__init__.py
+++ b/libs/langchain/langchain/chat_models/__init__.py
@@ -20,12 +20,12 @@ an interface where "chat messages" are the inputs and outputs.
from langchain.chat_models.anthropic import ChatAnthropic
from langchain.chat_models.anyscale import ChatAnyscale
from langchain.chat_models.azure_openai import AzureChatOpenAI
-from langchain.chat_models.bedrock import BedrockChat
from langchain.chat_models.ernie import ErnieBotChat
from langchain.chat_models.fake import FakeListChatModel
from langchain.chat_models.google_palm import ChatGooglePalm
from langchain.chat_models.human import HumanInputChatModel
from langchain.chat_models.jinachat import JinaChat
+from langchain.chat_models.konko import ChatKonko
from langchain.chat_models.litellm import ChatLiteLLM
from langchain.chat_models.mlflow_ai_gateway import ChatMLflowAIGateway
from langchain.chat_models.ollama import ChatOllama
@@ -36,7 +36,6 @@ from langchain.chat_models.vertexai import ChatVertexAI
__all__ = [
"ChatOpenAI",
"AzureChatOpenAI",
- "BedrockChat",
"FakeListChatModel",
"PromptLayerChatOpenAI",
"ChatAnthropic",
@@ -49,4 +48,5 @@ __all__ = [
"ChatAnyscale",
"ChatLiteLLM",
"ErnieBotChat",
+ "ChatKonko",
]
diff --git a/libs/langchain/langchain/chat_models/konko.py b/libs/langchain/langchain/chat_models/konko.py
new file mode 100644
index 00000000000..b7b9bc65810
--- /dev/null
+++ b/libs/langchain/langchain/chat_models/konko.py
@@ -0,0 +1,292 @@
+"""KonkoAI chat wrapper."""
+from __future__ import annotations
+
+import logging
+import os
+from typing import (
+ Any,
+ Dict,
+ Iterator,
+ List,
+ Mapping,
+ Optional,
+ Set,
+ Tuple,
+ Union,
+)
+
+import requests
+
+from langchain.adapters.openai import convert_dict_to_message, convert_message_to_dict
+from langchain.callbacks.manager import (
+ CallbackManagerForLLMRun,
+)
+from langchain.chat_models.openai import ChatOpenAI, _convert_delta_to_message_chunk
+from langchain.pydantic_v1 import Field, root_validator
+from langchain.schema import ChatGeneration, ChatResult
+from langchain.schema.messages import AIMessageChunk, BaseMessage
+from langchain.schema.output import ChatGenerationChunk
+from langchain.utils import get_from_dict_or_env
+
+DEFAULT_API_BASE = "https://api.konko.ai/v1"
+DEFAULT_MODEL = "meta-llama/Llama-2-13b-chat-hf"
+
+logger = logging.getLogger(__name__)
+
+
+class ChatKonko(ChatOpenAI):
+ """`ChatKonko` Chat large language models API.
+
+ To use, you should have the ``konko`` python package installed, and the
+ environment variable ``KONKO_API_KEY`` and ``OPENAI_API_KEY`` set with your API key.
+
+ Any parameters that are valid to be passed to the konko.create call can be passed
+ in, even if not explicitly saved on this class.
+
+ Example:
+ .. code-block:: python
+
+ from langchain.chat_models import ChatKonko
+ llm = ChatKonko(model="meta-llama/Llama-2-13b-chat-hf")
+ """
+
+ @property
+ def lc_secrets(self) -> Dict[str, str]:
+ return {"konko_api_key": "KONKO_API_KEY", "openai_api_key": "OPENAI_API_KEY"}
+
+ @property
+ def lc_serializable(self) -> bool:
+ return True
+
+ client: Any = None #: :meta private:
+ model: str = Field(default=DEFAULT_MODEL, alias="model")
+ """Model name to use."""
+ temperature: float = 0.7
+ """What sampling temperature to use."""
+ model_kwargs: Dict[str, Any] = Field(default_factory=dict)
+ """Holds any model parameters valid for `create` call not explicitly specified."""
+ openai_api_key: Optional[str] = None
+ konko_api_key: Optional[str] = None
+ request_timeout: Optional[Union[float, Tuple[float, float]]] = None
+ """Timeout for requests to Konko completion API."""
+ max_retries: int = 6
+ """Maximum number of retries to make when generating."""
+ streaming: bool = False
+ """Whether to stream the results or not."""
+ n: int = 1
+ """Number of chat completions to generate for each prompt."""
+ max_tokens: int = 20
+ """Maximum number of tokens to generate."""
+
+ @root_validator()
+ def validate_environment(cls, values: Dict) -> Dict:
+ """Validate that api key and python package exists in environment."""
+ values["konko_api_key"] = get_from_dict_or_env(
+ values, "konko_api_key", "KONKO_API_KEY"
+ )
+ try:
+ import konko
+
+ except ImportError:
+ raise ValueError(
+ "Could not import konko python package. "
+ "Please install it with `pip install konko`."
+ )
+ try:
+ values["client"] = konko.ChatCompletion
+ except AttributeError:
+ raise ValueError(
+ "`konko` has no `ChatCompletion` attribute, this is likely "
+ "due to an old version of the konko package. Try upgrading it "
+ "with `pip install --upgrade konko`."
+ )
+ if values["n"] < 1:
+ raise ValueError("n must be at least 1.")
+ if values["n"] > 1 and values["streaming"]:
+ raise ValueError("n must be 1 when streaming.")
+ return values
+
+ @property
+ def _default_params(self) -> Dict[str, Any]:
+ """Get the default parameters for calling Konko API."""
+ return {
+ "model": self.model,
+ "request_timeout": self.request_timeout,
+ "max_tokens": self.max_tokens,
+ "stream": self.streaming,
+ "n": self.n,
+ "temperature": self.temperature,
+ **self.model_kwargs,
+ }
+
+ @staticmethod
+ def get_available_models(
+ konko_api_key: Optional[str] = None,
+ openai_api_key: Optional[str] = None,
+ konko_api_base: str = DEFAULT_API_BASE,
+ ) -> Set[str]:
+ """Get available models from Konko API."""
+
+ # Try to retrieve the OpenAI API key if it's not passed as an argument
+ if not openai_api_key:
+ try:
+ openai_api_key = os.environ["OPENAI_API_KEY"]
+ except KeyError:
+ pass # It's okay if it's not set, we just won't use it
+
+ # Try to retrieve the Konko API key if it's not passed as an argument
+ if not konko_api_key:
+ try:
+ konko_api_key = os.environ["KONKO_API_KEY"]
+ except KeyError:
+ raise ValueError(
+ "Konko API key must be passed as keyword argument or "
+ "set in environment variable KONKO_API_KEY."
+ )
+
+ models_url = f"{konko_api_base}/models"
+
+ headers = {
+ "Authorization": f"Bearer {konko_api_key}",
+ }
+
+ if openai_api_key:
+ headers["X-OpenAI-Api-Key"] = openai_api_key
+
+ models_response = requests.get(models_url, headers=headers)
+
+ if models_response.status_code != 200:
+ raise ValueError(
+ f"Error getting models from {models_url}: "
+ f"{models_response.status_code}"
+ )
+
+ return {model["id"] for model in models_response.json()["data"]}
+
+ def completion_with_retry(
+ self, run_manager: Optional[CallbackManagerForLLMRun] = None, **kwargs: Any
+ ) -> Any:
+ def _completion_with_retry(**kwargs: Any) -> Any:
+ return self.client.create(**kwargs)
+
+ return _completion_with_retry(**kwargs)
+
+ def _combine_llm_outputs(self, llm_outputs: List[Optional[dict]]) -> dict:
+ overall_token_usage: dict = {}
+ for output in llm_outputs:
+ if output is None:
+ # Happens in streaming
+ continue
+ token_usage = output["token_usage"]
+ for k, v in token_usage.items():
+ if k in overall_token_usage:
+ overall_token_usage[k] += v
+ else:
+ overall_token_usage[k] = v
+ return {"token_usage": overall_token_usage, "model_name": self.model}
+
+ def _stream(
+ self,
+ messages: List[BaseMessage],
+ stop: Optional[List[str]] = None,
+ run_manager: Optional[CallbackManagerForLLMRun] = None,
+ **kwargs: Any,
+ ) -> Iterator[ChatGenerationChunk]:
+ message_dicts, params = self._create_message_dicts(messages, stop)
+ params = {**params, **kwargs, "stream": True}
+
+ default_chunk_class = AIMessageChunk
+ for chunk in self.completion_with_retry(
+ messages=message_dicts, run_manager=run_manager, **params
+ ):
+ if len(chunk["choices"]) == 0:
+ continue
+ choice = chunk["choices"][0]
+ chunk = _convert_delta_to_message_chunk(
+ choice["delta"], default_chunk_class
+ )
+ finish_reason = choice.get("finish_reason")
+ generation_info = (
+ dict(finish_reason=finish_reason) if finish_reason is not None else None
+ )
+ default_chunk_class = chunk.__class__
+ yield ChatGenerationChunk(message=chunk, generation_info=generation_info)
+ if run_manager:
+ run_manager.on_llm_new_token(chunk.content, chunk=chunk)
+
+ def _generate(
+ self,
+ messages: List[BaseMessage],
+ stop: Optional[List[str]] = None,
+ run_manager: Optional[CallbackManagerForLLMRun] = None,
+ stream: Optional[bool] = None,
+ **kwargs: Any,
+ ) -> ChatResult:
+ if stream if stream is not None else self.streaming:
+ generation: Optional[ChatGenerationChunk] = None
+ for chunk in self._stream(
+ messages=messages, stop=stop, run_manager=run_manager, **kwargs
+ ):
+ if generation is None:
+ generation = chunk
+ else:
+ generation += chunk
+ assert generation is not None
+ return ChatResult(generations=[generation])
+
+ message_dicts, params = self._create_message_dicts(messages, stop)
+ params = {**params, **kwargs}
+ response = self.completion_with_retry(
+ messages=message_dicts, run_manager=run_manager, **params
+ )
+ return self._create_chat_result(response)
+
+ def _create_message_dicts(
+ self, messages: List[BaseMessage], stop: Optional[List[str]]
+ ) -> Tuple[List[Dict[str, Any]], Dict[str, Any]]:
+ params = self._client_params
+ if stop is not None:
+ if "stop" in params:
+ raise ValueError("`stop` found in both the input and default params.")
+ params["stop"] = stop
+ message_dicts = [convert_message_to_dict(m) for m in messages]
+ return message_dicts, params
+
+ def _create_chat_result(self, response: Mapping[str, Any]) -> ChatResult:
+ generations = []
+ for res in response["choices"]:
+ message = convert_dict_to_message(res["message"])
+ gen = ChatGeneration(
+ message=message,
+ generation_info=dict(finish_reason=res.get("finish_reason")),
+ )
+ generations.append(gen)
+ token_usage = response.get("usage", {})
+ llm_output = {"token_usage": token_usage, "model_name": self.model}
+ return ChatResult(generations=generations, llm_output=llm_output)
+
+ @property
+ def _identifying_params(self) -> Dict[str, Any]:
+ """Get the identifying parameters."""
+ return {**{"model_name": self.model}, **self._default_params}
+
+ @property
+ def _client_params(self) -> Dict[str, Any]:
+ """Get the parameters used for the konko client."""
+ return {**self._default_params}
+
+ def _get_invocation_params(
+ self, stop: Optional[List[str]] = None, **kwargs: Any
+ ) -> Dict[str, Any]:
+ """Get the parameters used to invoke the model."""
+ return {
+ "model": self.model,
+ **super()._get_invocation_params(stop=stop),
+ **self._default_params,
+ **kwargs,
+ }
+
+ @property
+ def _llm_type(self) -> str:
+ """Return type of chat model."""
+ return "konko-chat"
diff --git a/libs/langchain/poetry.lock b/libs/langchain/poetry.lock
index d742e5a8965..8f31c88d0ef 100644
--- a/libs/langchain/poetry.lock
+++ b/libs/langchain/poetry.lock
@@ -1,10 +1,9 @@
-# This file is automatically @generated by Poetry and should not be changed by hand.
+# This file is automatically @generated by Poetry 1.5.1 and should not be changed by hand.
[[package]]
name = "absl-py"
version = "1.4.0"
description = "Abseil Python Common Libraries, see https://github.com/abseil/abseil-py."
-category = "main"
optional = true
python-versions = ">=3.6"
files = [
@@ -16,7 +15,6 @@ files = [
name = "aioboto3"
version = "11.3.0"
description = "Async boto3 wrapper"
-category = "main"
optional = true
python-versions = ">=3.7,<4.0"
files = [
@@ -35,7 +33,6 @@ s3cse = ["cryptography (>=2.3.1)"]
name = "aiobotocore"
version = "2.6.0"
description = "Async client for aws services using botocore and aiohttp"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -58,7 +55,6 @@ boto3 = ["boto3 (>=1.28.17,<1.28.18)"]
name = "aiodns"
version = "3.0.0"
description = "Simple DNS resolver for asyncio"
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -73,7 +69,6 @@ pycares = ">=4.0.0"
name = "aiofiles"
version = "23.2.1"
description = "File support for asyncio."
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -85,7 +80,6 @@ files = [
name = "aiohttp"
version = "3.8.5"
description = "Async http client/server framework (asyncio)"
-category = "main"
optional = false
python-versions = ">=3.6"
files = [
@@ -194,7 +188,6 @@ speedups = ["Brotli", "aiodns", "cchardet"]
name = "aiohttp-retry"
version = "2.8.3"
description = "Simple retry client for aiohttp"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -209,7 +202,6 @@ aiohttp = "*"
name = "aioitertools"
version = "0.11.0"
description = "itertools and builtins for AsyncIO and mixed iterables"
-category = "main"
optional = true
python-versions = ">=3.6"
files = [
@@ -224,7 +216,6 @@ typing_extensions = {version = ">=4.0", markers = "python_version < \"3.10\""}
name = "aiosignal"
version = "1.3.1"
description = "aiosignal: a list of registered asynchronous callbacks"
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -239,7 +230,6 @@ frozenlist = ">=1.1.0"
name = "aleph-alpha-client"
version = "2.17.0"
description = "python client to interact with Aleph Alpha api endpoints"
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -267,7 +257,6 @@ types = ["mypy", "types-Pillow", "types-requests"]
name = "altair"
version = "4.2.2"
description = "Altair: A declarative statistical visualization library for Python."
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -290,7 +279,6 @@ dev = ["black", "docutils", "flake8", "ipython", "m2r", "mistune (<2.0.0)", "pyt
name = "amadeus"
version = "8.1.0"
description = "Python module for the Amadeus travel APIs"
-category = "main"
optional = true
python-versions = ">=3.4.8"
files = [
@@ -301,7 +289,6 @@ files = [
name = "amazon-textract-caller"
version = "0.0.29"
description = "Amazon Textract Caller tools"
-category = "main"
optional = true
python-versions = ">=3.6"
files = [
@@ -321,7 +308,6 @@ testing = ["amazon-textract-response-parser", "pytest"]
name = "amazon-textract-response-parser"
version = "1.0.0"
description = "Easily parse JSON returned by Amazon Textract."
-category = "main"
optional = true
python-versions = ">=3.8"
files = [
@@ -337,7 +323,6 @@ marshmallow = ">=3.14,<4"
name = "anyio"
version = "3.7.1"
description = "High level compatibility layer for multiple asynchronous event loop implementations"
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -359,7 +344,6 @@ trio = ["trio (<0.22)"]
name = "appnope"
version = "0.1.3"
description = "Disable App Nap on macOS >= 10.9"
-category = "dev"
optional = false
python-versions = "*"
files = [
@@ -371,7 +355,6 @@ files = [
name = "argon2-cffi"
version = "23.1.0"
description = "Argon2 for Python"
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -392,7 +375,6 @@ typing = ["mypy"]
name = "argon2-cffi-bindings"
version = "21.2.0"
description = "Low-level CFFI bindings for Argon2"
-category = "dev"
optional = false
python-versions = ">=3.6"
files = [
@@ -430,7 +412,6 @@ tests = ["pytest"]
name = "arrow"
version = "1.2.3"
description = "Better dates & times for Python"
-category = "dev"
optional = false
python-versions = ">=3.6"
files = [
@@ -445,7 +426,6 @@ python-dateutil = ">=2.7.0"
name = "arxiv"
version = "1.4.8"
description = "Python wrapper for the arXiv API: http://arxiv.org/help/api/"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -460,7 +440,6 @@ feedparser = "*"
name = "assemblyai"
version = "0.17.0"
description = "AssemblyAI Python SDK"
-category = "main"
optional = true
python-versions = ">=3.8"
files = [
@@ -481,7 +460,6 @@ extras = ["pyaudio (>=0.2.13)"]
name = "asttokens"
version = "2.2.1"
description = "Annotate AST trees with source code positions"
-category = "dev"
optional = false
python-versions = "*"
files = [
@@ -499,7 +477,6 @@ test = ["astroid", "pytest"]
name = "astunparse"
version = "1.6.3"
description = "An AST unparser for Python"
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -515,7 +492,6 @@ wheel = ">=0.23.0,<1.0"
name = "async-lru"
version = "2.0.4"
description = "Simple LRU cache for asyncio"
-category = "dev"
optional = false
python-versions = ">=3.8"
files = [
@@ -530,7 +506,6 @@ typing-extensions = {version = ">=4.0.0", markers = "python_version < \"3.11\""}
name = "async-timeout"
version = "4.0.3"
description = "Timeout context manager for asyncio programs"
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -542,7 +517,6 @@ files = [
name = "atlassian-python-api"
version = "3.41.0"
description = "Python Atlassian REST API Wrapper"
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -564,7 +538,6 @@ kerberos = ["requests-kerberos"]
name = "attr"
version = "0.3.2"
description = "Simple decorator to set attributes of target function or class in a DRY way."
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -576,7 +549,6 @@ files = [
name = "attrs"
version = "23.1.0"
description = "Classes Without Boilerplate"
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -595,7 +567,6 @@ tests-no-zope = ["cloudpickle", "hypothesis", "mypy (>=1.1.1)", "pympler", "pyte
name = "audioread"
version = "3.0.0"
description = "multi-library, cross-platform audio decoding"
-category = "main"
optional = true
python-versions = ">=3.6"
files = [
@@ -606,7 +577,6 @@ files = [
name = "authlib"
version = "1.2.1"
description = "The ultimate Python library in building OAuth and OpenID Connect servers and clients."
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -621,7 +591,6 @@ cryptography = ">=3.2"
name = "awadb"
version = "0.3.10"
description = "AI Native database for embedding vectors"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -648,7 +617,6 @@ test = ["pytest (>=6.0)"]
name = "azure-ai-formrecognizer"
version = "3.3.0"
description = "Microsoft Azure Form Recognizer Client Library for Python"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -666,7 +634,6 @@ typing-extensions = ">=4.0.1"
name = "azure-ai-vision"
version = "0.11.1b1"
description = "Microsoft Azure AI Vision SDK for Python"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -678,7 +645,6 @@ files = [
name = "azure-cognitiveservices-speech"
version = "1.31.0"
description = "Microsoft Cognitive Services Speech SDK for Python"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -694,7 +660,6 @@ files = [
name = "azure-common"
version = "1.1.28"
description = "Microsoft Azure Client Library for Python (Common)"
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -706,7 +671,6 @@ files = [
name = "azure-core"
version = "1.29.1"
description = "Microsoft Azure Core Library for Python"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -726,7 +690,6 @@ aio = ["aiohttp (>=3.0)"]
name = "azure-cosmos"
version = "4.5.0"
description = "Microsoft Azure Cosmos Client Library for Python"
-category = "main"
optional = true
python-versions = ">=3.6"
files = [
@@ -741,7 +704,6 @@ azure-core = ">=1.23.0,<2.0.0"
name = "azure-identity"
version = "1.14.0"
description = "Microsoft Azure Identity Library for Python"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -759,7 +721,6 @@ msal-extensions = ">=0.3.0,<2.0.0"
name = "azure-search-documents"
version = "11.4.0b8"
description = "Microsoft Azure Cognitive Search Client Library for Python"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -776,7 +737,6 @@ isodate = ">=0.6.0"
name = "babel"
version = "2.12.1"
description = "Internationalization utilities"
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -791,7 +751,6 @@ pytz = {version = ">=2015.7", markers = "python_version < \"3.9\""}
name = "backcall"
version = "0.2.0"
description = "Specifications for callback functions passed in to an API"
-category = "dev"
optional = false
python-versions = "*"
files = [
@@ -803,7 +762,6 @@ files = [
name = "backoff"
version = "2.2.1"
description = "Function decoration for backoff and retry"
-category = "main"
optional = true
python-versions = ">=3.7,<4.0"
files = [
@@ -815,7 +773,6 @@ files = [
name = "backports-zoneinfo"
version = "0.2.1"
description = "Backport of the standard library zoneinfo module"
-category = "main"
optional = true
python-versions = ">=3.6"
files = [
@@ -844,7 +801,6 @@ tzdata = ["tzdata"]
name = "beautifulsoup4"
version = "4.12.2"
description = "Screen-scraping library"
-category = "main"
optional = false
python-versions = ">=3.6.0"
files = [
@@ -863,7 +819,6 @@ lxml = ["lxml"]
name = "bibtexparser"
version = "1.4.0"
description = "Bibtex parser for python 3"
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -877,7 +832,6 @@ pyparsing = ">=2.0.3"
name = "black"
version = "23.7.0"
description = "The uncompromising code formatter."
-category = "dev"
optional = false
python-versions = ">=3.8"
files = [
@@ -924,7 +878,6 @@ uvloop = ["uvloop (>=0.15.2)"]
name = "bleach"
version = "6.0.0"
description = "An easy safelist-based HTML-sanitizing tool."
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -943,7 +896,6 @@ css = ["tinycss2 (>=1.1.0,<1.2)"]
name = "blinker"
version = "1.6.2"
description = "Fast, simple object-to-object and broadcast signaling"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -955,7 +907,6 @@ files = [
name = "boto3"
version = "1.28.17"
description = "The AWS SDK for Python"
-category = "main"
optional = true
python-versions = ">= 3.7"
files = [
@@ -975,7 +926,6 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"]
name = "botocore"
version = "1.31.17"
description = "Low-level, data-driven core of boto 3."
-category = "main"
optional = true
python-versions = ">= 3.7"
files = [
@@ -995,7 +945,6 @@ crt = ["awscrt (==0.16.26)"]
name = "brotli"
version = "1.0.9"
description = "Python bindings for the Brotli compression library"
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -1087,7 +1036,6 @@ files = [
name = "brotlicffi"
version = "1.0.9.2"
description = "Python CFFI bindings to the Brotli library"
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -1130,7 +1078,6 @@ cffi = ">=1.0.0"
name = "build"
version = "0.10.0"
description = "A simple, correct Python build frontend"
-category = "main"
optional = true
python-versions = ">= 3.7"
files = [
@@ -1154,7 +1101,6 @@ virtualenv = ["virtualenv (>=20.0.35)"]
name = "cachetools"
version = "5.3.1"
description = "Extensible memoizing collections and decorators"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -1166,7 +1112,6 @@ files = [
name = "cassandra-driver"
version = "3.28.0"
description = "DataStax Driver for Apache Cassandra"
-category = "main"
optional = false
python-versions = "*"
files = [
@@ -1218,7 +1163,6 @@ graph = ["gremlinpython (==3.4.6)"]
name = "cassio"
version = "0.1.0"
description = "A framework-agnostic Python library to seamlessly integrate Apache Cassandra(R) with ML/LLM/genAI workloads."
-category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -1234,7 +1178,6 @@ numpy = ">=1.0"
name = "certifi"
version = "2023.7.22"
description = "Python package for providing Mozilla's CA Bundle."
-category = "main"
optional = false
python-versions = ">=3.6"
files = [
@@ -1246,7 +1189,6 @@ files = [
name = "cffi"
version = "1.15.1"
description = "Foreign Function Interface for Python calling C code."
-category = "main"
optional = false
python-versions = "*"
files = [
@@ -1323,7 +1265,6 @@ pycparser = "*"
name = "chardet"
version = "5.2.0"
description = "Universal encoding detector for Python 3"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -1335,7 +1276,6 @@ files = [
name = "charset-normalizer"
version = "3.2.0"
description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
-category = "main"
optional = false
python-versions = ">=3.7.0"
files = [
@@ -1420,7 +1360,6 @@ files = [
name = "clarifai"
version = "9.7.1"
description = "Clarifai Python Utilities"
-category = "main"
optional = true
python-versions = ">=3.8"
files = [
@@ -1437,7 +1376,6 @@ tritonclient = "2.34.0"
name = "clarifai-grpc"
version = "9.7.3"
description = "Clarifai gRPC API Client"
-category = "main"
optional = true
python-versions = ">=3.8"
files = [
@@ -1455,7 +1393,6 @@ requests = ">=2.25.1"
name = "click"
version = "8.1.7"
description = "Composable command line interface toolkit"
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -1470,7 +1407,6 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""}
name = "click-plugins"
version = "1.1.1"
description = "An extension module for click to enable registering CLI commands via setuptools entry-points."
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -1488,7 +1424,6 @@ dev = ["coveralls", "pytest (>=3.6)", "pytest-cov", "wheel"]
name = "clickhouse-connect"
version = "0.5.25"
description = "ClickHouse core driver, SqlAlchemy, and Superset libraries"
-category = "main"
optional = true
python-versions = "~=3.7"
files = [
@@ -1578,7 +1513,6 @@ superset = ["apache-superset (>=1.4.1)"]
name = "cligj"
version = "0.7.2"
description = "Click params for commmand line interfaces to GeoJSON"
-category = "main"
optional = true
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4"
files = [
@@ -1596,7 +1530,6 @@ test = ["pytest-cov"]
name = "codespell"
version = "2.2.5"
description = "Codespell"
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -1614,7 +1547,6 @@ types = ["chardet (>=5.1.0)", "mypy", "pytest", "pytest-cov", "pytest-dependency
name = "cohere"
version = "4.21"
description = ""
-category = "main"
optional = true
python-versions = ">=3.7,<4.0"
files = [
@@ -1634,7 +1566,6 @@ urllib3 = ">=1.26,<3"
name = "colorama"
version = "0.4.6"
description = "Cross-platform colored terminal text."
-category = "main"
optional = false
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"
files = [
@@ -1646,7 +1577,6 @@ files = [
name = "colored"
version = "1.4.4"
description = "Simple library for color and formatting to terminal"
-category = "dev"
optional = false
python-versions = "*"
files = [
@@ -1657,7 +1587,6 @@ files = [
name = "comm"
version = "0.1.4"
description = "Jupyter Python Comm implementation, for usage in ipykernel, xeus-python etc."
-category = "dev"
optional = false
python-versions = ">=3.6"
files = [
@@ -1677,7 +1606,6 @@ typing = ["mypy (>=0.990)"]
name = "coverage"
version = "7.3.0"
description = "Code coverage measurement for Python"
-category = "dev"
optional = false
python-versions = ">=3.8"
files = [
@@ -1745,7 +1673,6 @@ toml = ["tomli"]
name = "cryptography"
version = "41.0.3"
description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers."
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -1791,7 +1718,6 @@ test-randomorder = ["pytest-randomly"]
name = "cssselect"
version = "1.2.0"
description = "cssselect parses CSS3 Selectors and translates them to XPath 1.0"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -1803,7 +1729,6 @@ files = [
name = "dashvector"
version = "1.0.1"
description = "DashVector Client Python Sdk Library"
-category = "main"
optional = true
python-versions = ">=3.7.0"
files = [
@@ -1823,7 +1748,6 @@ protobuf = ">=3.8.0,<4.0.0"
name = "dataclasses-json"
version = "0.5.9"
description = "Easily serialize dataclasses to and from JSON"
-category = "main"
optional = false
python-versions = ">=3.6"
files = [
@@ -1843,7 +1767,6 @@ dev = ["flake8", "hypothesis", "ipython", "mypy (>=0.710)", "portray", "pytest (
name = "debugpy"
version = "1.6.7.post1"
description = "An implementation of the Debug Adapter Protocol for Python"
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -1871,7 +1794,6 @@ files = [
name = "decorator"
version = "5.1.1"
description = "Decorators for Humans"
-category = "main"
optional = false
python-versions = ">=3.5"
files = [
@@ -1883,7 +1805,6 @@ files = [
name = "deeplake"
version = "3.6.19"
description = "Activeloop Deep Lake"
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -1921,7 +1842,6 @@ visualizer = ["IPython", "flask"]
name = "defusedxml"
version = "0.7.1"
description = "XML bomb protection for Python stdlib modules"
-category = "dev"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
files = [
@@ -1933,7 +1853,6 @@ files = [
name = "deprecated"
version = "1.2.14"
description = "Python @deprecated decorator to deprecate old python classes, functions or methods."
-category = "main"
optional = true
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
files = [
@@ -1951,7 +1870,6 @@ dev = ["PyTest", "PyTest-Cov", "bump2version (<1)", "sphinx (<2)", "tox"]
name = "deprecation"
version = "2.1.0"
description = "A library to handle automated deprecations"
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -1966,7 +1884,6 @@ packaging = "*"
name = "dill"
version = "0.3.7"
description = "serialize all of Python"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -1981,7 +1898,6 @@ graph = ["objgraph (>=1.7.2)"]
name = "dnspython"
version = "2.4.2"
description = "DNS toolkit"
-category = "main"
optional = true
python-versions = ">=3.8,<4.0"
files = [
@@ -2001,7 +1917,6 @@ wmi = ["wmi (>=1.5.1,<2.0.0)"]
name = "docarray"
version = "0.32.1"
description = "The data structure for multimodal data"
-category = "main"
optional = true
python-versions = ">=3.7,<4.0"
files = [
@@ -2040,7 +1955,6 @@ web = ["fastapi (>=0.87.0)"]
name = "docker"
version = "6.1.3"
description = "A Python library for the Docker Engine API."
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -2062,7 +1976,6 @@ ssh = ["paramiko (>=2.4.3)"]
name = "docopt"
version = "0.6.2"
description = "Pythonic argument parser, that will make you smile"
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -2073,7 +1986,6 @@ files = [
name = "duckdb"
version = "0.8.1"
description = "DuckDB embedded database"
-category = "dev"
optional = false
python-versions = "*"
files = [
@@ -2135,7 +2047,6 @@ files = [
name = "duckdb-engine"
version = "0.7.3"
description = "SQLAlchemy driver for duckdb"
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -2152,7 +2063,6 @@ sqlalchemy = ">=1.3.22"
name = "duckduckgo-search"
version = "3.8.5"
description = "Search for words, documents, images, news, maps and text translation using the DuckDuckGo.com search engine."
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -2170,7 +2080,6 @@ lxml = ">=4.9.2"
name = "elastic-transport"
version = "8.4.0"
description = "Transport classes and utilities shared among Python Elastic client libraries"
-category = "main"
optional = true
python-versions = ">=3.6"
files = [
@@ -2189,7 +2098,6 @@ develop = ["aiohttp", "mock", "pytest", "pytest-asyncio", "pytest-cov", "pytest-
name = "elasticsearch"
version = "8.9.0"
description = "Python client for Elasticsearch"
-category = "main"
optional = true
python-versions = ">=3.6, <4"
files = [
@@ -2208,7 +2116,6 @@ requests = ["requests (>=2.4.0,<3.0.0)"]
name = "entrypoints"
version = "0.4"
description = "Discover and load entry points from installed packages."
-category = "main"
optional = true
python-versions = ">=3.6"
files = [
@@ -2220,7 +2127,6 @@ files = [
name = "esprima"
version = "4.0.1"
description = "ECMAScript parsing infrastructure for multipurpose analysis in Python"
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -2231,7 +2137,6 @@ files = [
name = "exceptiongroup"
version = "1.1.3"
description = "Backport of PEP 654 (exception groups)"
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -2246,7 +2151,6 @@ test = ["pytest (>=6)"]
name = "executing"
version = "1.2.0"
description = "Get the currently executing AST node of a frame, and other information"
-category = "dev"
optional = false
python-versions = "*"
files = [
@@ -2261,7 +2165,6 @@ tests = ["asttokens", "littleutils", "pytest", "rich"]
name = "faiss-cpu"
version = "1.7.4"
description = "A library for efficient similarity search and clustering of dense vectors."
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -2296,7 +2199,6 @@ files = [
name = "fastavro"
version = "1.8.2"
description = "Fast read/write of AVRO files"
-category = "main"
optional = true
python-versions = ">=3.8"
files = [
@@ -2337,7 +2239,6 @@ zstandard = ["zstandard"]
name = "fastjsonschema"
version = "2.18.0"
description = "Fastest Python implementation of JSON schema"
-category = "dev"
optional = false
python-versions = "*"
files = [
@@ -2352,7 +2253,6 @@ devel = ["colorama", "json-spec", "jsonschema", "pylint", "pytest", "pytest-benc
name = "feedfinder2"
version = "0.0.4"
description = "Find the feed URLs for a website."
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -2368,7 +2268,6 @@ six = "*"
name = "feedparser"
version = "6.0.10"
description = "Universal feed parser, handles RSS 0.9x, RSS 1.0, RSS 2.0, CDF, Atom 0.3, and Atom 1.0 feeds"
-category = "main"
optional = true
python-versions = ">=3.6"
files = [
@@ -2383,7 +2282,6 @@ sgmllib3k = "*"
name = "filelock"
version = "3.12.2"
description = "A platform independent file lock."
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -2399,7 +2297,6 @@ testing = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "diff-cover (>=7.5)", "p
name = "fiona"
version = "1.9.4.post1"
description = "Fiona reads and writes spatial data files"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -2444,7 +2341,6 @@ test = ["Fiona[s3]", "pytest (>=7)", "pytest-cov", "pytz"]
name = "flatbuffers"
version = "23.5.26"
description = "The FlatBuffers serialization format for Python"
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -2456,7 +2352,6 @@ files = [
name = "fqdn"
version = "1.5.1"
description = "Validates fully-qualified domain names against RFC 1123, so that they are acceptable to modern bowsers"
-category = "dev"
optional = false
python-versions = ">=2.7, !=3.0, !=3.1, !=3.2, !=3.3, !=3.4, <4"
files = [
@@ -2468,7 +2363,6 @@ files = [
name = "freezegun"
version = "1.2.2"
description = "Let your Python tests travel through time"
-category = "dev"
optional = false
python-versions = ">=3.6"
files = [
@@ -2483,7 +2377,6 @@ python-dateutil = ">=2.7"
name = "frozenlist"
version = "1.4.0"
description = "A list-like structure which implements collections.abc.MutableSequence"
-category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -2554,7 +2447,6 @@ files = [
name = "fsspec"
version = "2023.6.0"
description = "File-system specification"
-category = "main"
optional = true
python-versions = ">=3.8"
files = [
@@ -2590,7 +2482,6 @@ tqdm = ["tqdm"]
name = "future"
version = "0.18.3"
description = "Clean single-source support for Python 3 and 2"
-category = "main"
optional = true
python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
files = [
@@ -2601,7 +2492,6 @@ files = [
name = "gast"
version = "0.4.0"
description = "Python AST that abstracts the underlying Python version"
-category = "main"
optional = true
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
files = [
@@ -2613,7 +2503,6 @@ files = [
name = "geojson"
version = "2.5.0"
description = "Python bindings and utilities for GeoJSON"
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -2625,7 +2514,6 @@ files = [
name = "geomet"
version = "0.2.1.post1"
description = "GeoJSON <-> WKT/WKB conversion utilities"
-category = "main"
optional = false
python-versions = ">2.6, !=3.3.*, <4"
files = [
@@ -2641,7 +2529,6 @@ six = "*"
name = "geopandas"
version = "0.13.2"
description = "Geographic pandas extensions"
-category = "main"
optional = true
python-versions = ">=3.8"
files = [
@@ -2660,7 +2547,6 @@ shapely = ">=1.7.1"
name = "gitdb"
version = "4.0.10"
description = "Git Object Database"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -2675,7 +2561,6 @@ smmap = ">=3.0.1,<6"
name = "gitpython"
version = "3.1.32"
description = "GitPython is a Python library used to interact with Git repositories"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -2690,7 +2575,6 @@ gitdb = ">=4.0.1,<5"
name = "google-api-core"
version = "2.11.1"
description = "Google API client core library"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -2713,7 +2597,6 @@ grpcio-gcp = ["grpcio-gcp (>=0.2.2,<1.0.dev0)"]
name = "google-api-python-client"
version = "2.70.0"
description = "Google API Client Library for Python"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -2722,7 +2605,7 @@ files = [
]
[package.dependencies]
-google-api-core = ">=1.31.5,<2.0.0 || >2.3.0,<3.0.0dev"
+google-api-core = ">=1.31.5,<2.0.dev0 || >2.3.0,<3.0.0dev"
google-auth = ">=1.19.0,<3.0.0dev"
google-auth-httplib2 = ">=0.1.0"
httplib2 = ">=0.15.0,<1dev"
@@ -2732,7 +2615,6 @@ uritemplate = ">=3.0.1,<5"
name = "google-auth"
version = "2.22.0"
description = "Google Authentication Library"
-category = "main"
optional = true
python-versions = ">=3.6"
files = [
@@ -2758,7 +2640,6 @@ requests = ["requests (>=2.20.0,<3.0.0.dev0)"]
name = "google-auth-httplib2"
version = "0.1.0"
description = "Google Authentication Library: httplib2 transport"
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -2775,7 +2656,6 @@ six = "*"
name = "google-auth-oauthlib"
version = "1.0.0"
description = "Google Authentication Library"
-category = "main"
optional = true
python-versions = ">=3.6"
files = [
@@ -2794,7 +2674,6 @@ tool = ["click (>=6.0.0)"]
name = "google-pasta"
version = "0.2.0"
description = "pasta is an AST-based Python refactoring library"
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -2810,7 +2689,6 @@ six = "*"
name = "google-search-results"
version = "2.4.2"
description = "Scrape and search localized results from Google, Bing, Baidu, Yahoo, Yandex, Ebay, Homedepot, youtube at scale using SerpApi.com"
-category = "main"
optional = true
python-versions = ">=3.5"
files = [
@@ -2824,7 +2702,6 @@ requests = "*"
name = "googleapis-common-protos"
version = "1.60.0"
description = "Common protobufs used in Google APIs"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -2842,7 +2719,6 @@ grpc = ["grpcio (>=1.44.0,<2.0.0.dev0)"]
name = "gptcache"
version = "0.1.39.1"
description = "GPTCache, a powerful caching library that can be used to speed up and lower the cost of chat applications that rely on the LLM service. GPTCache works as a memcache for AIGC applications, similar to how Redis works for traditional applications."
-category = "main"
optional = true
python-versions = ">=3.8.1"
files = [
@@ -2859,7 +2735,6 @@ requests = "*"
name = "gql"
version = "3.4.1"
description = "GraphQL client for Python"
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -2886,7 +2761,6 @@ websockets = ["websockets (>=10,<11)", "websockets (>=9,<10)"]
name = "graphql-core"
version = "3.2.3"
description = "GraphQL implementation for Python, a port of GraphQL.js, the JavaScript reference implementation for GraphQL."
-category = "main"
optional = true
python-versions = ">=3.6,<4"
files = [
@@ -2898,7 +2772,6 @@ files = [
name = "greenlet"
version = "2.0.2"
description = "Lightweight in-process concurrent programming"
-category = "main"
optional = false
python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*"
files = [
@@ -2907,6 +2780,7 @@ files = [
{file = "greenlet-2.0.2-cp27-cp27m-win32.whl", hash = "sha256:6c3acb79b0bfd4fe733dff8bc62695283b57949ebcca05ae5c129eb606ff2d74"},
{file = "greenlet-2.0.2-cp27-cp27m-win_amd64.whl", hash = "sha256:283737e0da3f08bd637b5ad058507e578dd462db259f7f6e4c5c365ba4ee9343"},
{file = "greenlet-2.0.2-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:d27ec7509b9c18b6d73f2f5ede2622441de812e7b1a80bbd446cb0633bd3d5ae"},
+ {file = "greenlet-2.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d967650d3f56af314b72df7089d96cda1083a7fc2da05b375d2bc48c82ab3f3c"},
{file = "greenlet-2.0.2-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:30bcf80dda7f15ac77ba5af2b961bdd9dbc77fd4ac6105cee85b0d0a5fcf74df"},
{file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:26fbfce90728d82bc9e6c38ea4d038cba20b7faf8a0ca53a9c07b67318d46088"},
{file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9190f09060ea4debddd24665d6804b995a9c122ef5917ab26e1566dcc712ceeb"},
@@ -2915,6 +2789,7 @@ files = [
{file = "greenlet-2.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:76ae285c8104046b3a7f06b42f29c7b73f77683df18c49ab5af7983994c2dd91"},
{file = "greenlet-2.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:2d4686f195e32d36b4d7cf2d166857dbd0ee9f3d20ae349b6bf8afc8485b3645"},
{file = "greenlet-2.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c4302695ad8027363e96311df24ee28978162cdcdd2006476c43970b384a244c"},
+ {file = "greenlet-2.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d4606a527e30548153be1a9f155f4e283d109ffba663a15856089fb55f933e47"},
{file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c48f54ef8e05f04d6eff74b8233f6063cb1ed960243eacc474ee73a2ea8573ca"},
{file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a1846f1b999e78e13837c93c778dcfc3365902cfb8d1bdb7dd73ead37059f0d0"},
{file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a06ad5312349fec0ab944664b01d26f8d1f05009566339ac6f63f56589bc1a2"},
@@ -2944,6 +2819,7 @@ files = [
{file = "greenlet-2.0.2-cp37-cp37m-win32.whl", hash = "sha256:3f6ea9bd35eb450837a3d80e77b517ea5bc56b4647f5502cd28de13675ee12f7"},
{file = "greenlet-2.0.2-cp37-cp37m-win_amd64.whl", hash = "sha256:7492e2b7bd7c9b9916388d9df23fa49d9b88ac0640db0a5b4ecc2b653bf451e3"},
{file = "greenlet-2.0.2-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:b864ba53912b6c3ab6bcb2beb19f19edd01a6bfcbdfe1f37ddd1778abfe75a30"},
+ {file = "greenlet-2.0.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:1087300cf9700bbf455b1b97e24db18f2f77b55302a68272c56209d5587c12d1"},
{file = "greenlet-2.0.2-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:ba2956617f1c42598a308a84c6cf021a90ff3862eddafd20c3333d50f0edb45b"},
{file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc3a569657468b6f3fb60587e48356fe512c1754ca05a564f11366ac9e306526"},
{file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8eab883b3b2a38cc1e050819ef06a7e6344d4a990d24d45bc6f2cf959045a45b"},
@@ -2952,6 +2828,7 @@ files = [
{file = "greenlet-2.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b0ef99cdbe2b682b9ccbb964743a6aca37905fda5e0452e5ee239b1654d37f2a"},
{file = "greenlet-2.0.2-cp38-cp38-win32.whl", hash = "sha256:b80f600eddddce72320dbbc8e3784d16bd3fb7b517e82476d8da921f27d4b249"},
{file = "greenlet-2.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:4d2e11331fc0c02b6e84b0d28ece3a36e0548ee1a1ce9ddde03752d9b79bba40"},
+ {file = "greenlet-2.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8512a0c38cfd4e66a858ddd1b17705587900dd760c6003998e9472b77b56d417"},
{file = "greenlet-2.0.2-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:88d9ab96491d38a5ab7c56dd7a3cc37d83336ecc564e4e8816dbed12e5aaefc8"},
{file = "greenlet-2.0.2-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:561091a7be172ab497a3527602d467e2b3fbe75f9e783d8b8ce403fa414f71a6"},
{file = "greenlet-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:971ce5e14dc5e73715755d0ca2975ac88cfdaefcaab078a284fea6cfabf866df"},
@@ -2972,7 +2849,6 @@ test = ["objgraph", "psutil"]
name = "grpcio"
version = "1.57.0"
description = "HTTP/2-based RPC framework"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -3030,7 +2906,6 @@ protobuf = ["grpcio-tools (>=1.57.0)"]
name = "grpcio-tools"
version = "1.48.2"
description = "Protobuf code generator for gRPC"
-category = "main"
optional = true
python-versions = ">=3.6"
files = [
@@ -3091,7 +2966,6 @@ setuptools = "*"
name = "h11"
version = "0.14.0"
description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -3103,7 +2977,6 @@ files = [
name = "h2"
version = "4.1.0"
description = "HTTP/2 State-Machine based protocol implementation"
-category = "main"
optional = true
python-versions = ">=3.6.1"
files = [
@@ -3119,7 +2992,6 @@ hyperframe = ">=6.0,<7"
name = "h5py"
version = "3.9.0"
description = "Read and write HDF5 files from Python"
-category = "main"
optional = true
python-versions = ">=3.8"
files = [
@@ -3153,7 +3025,6 @@ numpy = ">=1.17.3"
name = "hnswlib"
version = "0.7.0"
description = "hnswlib"
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -3167,7 +3038,6 @@ numpy = "*"
name = "hpack"
version = "4.0.0"
description = "Pure-Python HPACK header compression"
-category = "main"
optional = true
python-versions = ">=3.6.1"
files = [
@@ -3179,7 +3049,6 @@ files = [
name = "html2text"
version = "2020.1.16"
description = "Turn HTML into equivalent Markdown-structured text."
-category = "main"
optional = true
python-versions = ">=3.5"
files = [
@@ -3191,7 +3060,6 @@ files = [
name = "httpcore"
version = "0.17.3"
description = "A minimal low-level HTTP client."
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -3203,17 +3071,16 @@ files = [
anyio = ">=3.0,<5.0"
certifi = "*"
h11 = ">=0.13,<0.15"
-sniffio = ">=1.0.0,<2.0.0"
+sniffio = "==1.*"
[package.extras]
http2 = ["h2 (>=3,<5)"]
-socks = ["socksio (>=1.0.0,<2.0.0)"]
+socks = ["socksio (==1.*)"]
[[package]]
name = "httplib2"
version = "0.22.0"
description = "A comprehensive HTTP client library."
-category = "main"
optional = true
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
files = [
@@ -3228,7 +3095,6 @@ pyparsing = {version = ">=2.4.2,<3.0.0 || >3.0.0,<3.0.1 || >3.0.1,<3.0.2 || >3.0
name = "httpx"
version = "0.24.1"
description = "The next generation HTTP client."
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -3244,19 +3110,18 @@ h2 = {version = ">=3,<5", optional = true, markers = "extra == \"http2\""}
httpcore = ">=0.15.0,<0.18.0"
idna = "*"
sniffio = "*"
-socksio = {version = ">=1.0.0,<2.0.0", optional = true, markers = "extra == \"socks\""}
+socksio = {version = "==1.*", optional = true, markers = "extra == \"socks\""}
[package.extras]
brotli = ["brotli", "brotlicffi"]
-cli = ["click (>=8.0.0,<9.0.0)", "pygments (>=2.0.0,<3.0.0)", "rich (>=10,<14)"]
+cli = ["click (==8.*)", "pygments (==2.*)", "rich (>=10,<14)"]
http2 = ["h2 (>=3,<5)"]
-socks = ["socksio (>=1.0.0,<2.0.0)"]
+socks = ["socksio (==1.*)"]
[[package]]
name = "huggingface-hub"
version = "0.16.4"
description = "Client library to download and publish models, datasets and other repos on the huggingface.co hub"
-category = "main"
optional = true
python-versions = ">=3.7.0"
files = [
@@ -3289,7 +3154,6 @@ typing = ["pydantic", "types-PyYAML", "types-requests", "types-simplejson", "typ
name = "humbug"
version = "0.3.2"
description = "Humbug: Do you build developer tools? Humbug helps you know your users."
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -3309,7 +3173,6 @@ profile = ["GPUtil", "psutil", "types-psutil"]
name = "hyperframe"
version = "6.0.1"
description = "HTTP/2 framing layer for Python"
-category = "main"
optional = true
python-versions = ">=3.6.1"
files = [
@@ -3321,7 +3184,6 @@ files = [
name = "idna"
version = "3.4"
description = "Internationalized Domain Names in Applications (IDNA)"
-category = "main"
optional = false
python-versions = ">=3.5"
files = [
@@ -3333,7 +3195,6 @@ files = [
name = "importlib-metadata"
version = "6.8.0"
description = "Read metadata from Python packages"
-category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -3353,7 +3214,6 @@ testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs
name = "importlib-resources"
version = "6.0.1"
description = "Read resources from Python packages"
-category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -3372,7 +3232,6 @@ testing = ["pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)",
name = "iniconfig"
version = "2.0.0"
description = "brain-dead simple config-ini parsing"
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -3384,7 +3243,6 @@ files = [
name = "ipykernel"
version = "6.25.1"
description = "IPython Kernel for Jupyter"
-category = "dev"
optional = false
python-versions = ">=3.8"
files = [
@@ -3398,7 +3256,7 @@ comm = ">=0.1.1"
debugpy = ">=1.6.5"
ipython = ">=7.23.1"
jupyter-client = ">=6.1.12"
-jupyter-core = ">=4.12,<5.0.0 || >=5.1.0"
+jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0"
matplotlib-inline = ">=0.1"
nest-asyncio = "*"
packaging = "*"
@@ -3418,7 +3276,6 @@ test = ["flaky", "ipyparallel", "pre-commit", "pytest (>=7.0)", "pytest-asyncio"
name = "ipython"
version = "8.12.2"
description = "IPython: Productive Interactive Computing"
-category = "dev"
optional = false
python-versions = ">=3.8"
files = [
@@ -3458,7 +3315,6 @@ test-extra = ["curio", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.21)", "pa
name = "ipython-genutils"
version = "0.2.0"
description = "Vestigial utilities from IPython"
-category = "dev"
optional = false
python-versions = "*"
files = [
@@ -3470,7 +3326,6 @@ files = [
name = "ipywidgets"
version = "8.1.0"
description = "Jupyter interactive widgets"
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -3492,7 +3347,6 @@ test = ["ipykernel", "jsonschema", "pytest (>=3.6.0)", "pytest-cov", "pytz"]
name = "isodate"
version = "0.6.1"
description = "An ISO 8601 date/time/duration parser and formatter"
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -3507,7 +3361,6 @@ six = "*"
name = "isoduration"
version = "20.11.0"
description = "Operations with ISO 8601 durations"
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -3522,7 +3375,6 @@ arrow = ">=0.15.0"
name = "jaraco-context"
version = "4.3.0"
description = "Context managers by jaraco"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -3538,7 +3390,6 @@ testing = ["flake8 (<5)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-chec
name = "jedi"
version = "0.19.0"
description = "An autocompletion tool for Python that can be used for text editors."
-category = "dev"
optional = false
python-versions = ">=3.6"
files = [
@@ -3558,7 +3409,6 @@ testing = ["Django (<3.1)", "attrs", "colorama", "docopt", "pytest (<7.0.0)"]
name = "jieba3k"
version = "0.35.1"
description = "Chinese Words Segementation Utilities"
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -3569,7 +3419,6 @@ files = [
name = "jinja2"
version = "3.1.2"
description = "A very fast and expressive template engine."
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -3587,7 +3436,6 @@ i18n = ["Babel (>=2.7)"]
name = "jmespath"
version = "1.0.1"
description = "JSON Matching Expressions"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -3599,7 +3447,6 @@ files = [
name = "joblib"
version = "1.3.2"
description = "Lightweight pipelining with Python functions"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -3611,7 +3458,6 @@ files = [
name = "jq"
version = "1.4.1"
description = "jq is a lightweight and flexible JSON processor."
-category = "main"
optional = true
python-versions = ">=3.5"
files = [
@@ -3676,7 +3522,6 @@ files = [
name = "json5"
version = "0.9.14"
description = "A Python implementation of the JSON5 data format."
-category = "dev"
optional = false
python-versions = "*"
files = [
@@ -3691,7 +3536,6 @@ dev = ["hypothesis"]
name = "jsonable"
version = "0.3.1"
description = "An abstract class that supports jsonserialization/deserialization."
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -3703,7 +3547,6 @@ files = [
name = "jsonlines"
version = "3.1.0"
description = "Library with helpers for the jsonlines file format"
-category = "main"
optional = true
python-versions = ">=3.6"
files = [
@@ -3718,18 +3561,17 @@ attrs = ">=19.2.0"
name = "jsonpointer"
version = "2.4"
description = "Identify specific nodes in a JSON document (RFC 6901)"
-category = "dev"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*"
files = [
{file = "jsonpointer-2.4-py2.py3-none-any.whl", hash = "sha256:15d51bba20eea3165644553647711d150376234112651b4f1811022aecad7d7a"},
+ {file = "jsonpointer-2.4.tar.gz", hash = "sha256:585cee82b70211fa9e6043b7bb89db6e1aa49524340dde8ad6b63206ea689d88"},
]
[[package]]
name = "jsonschema"
version = "4.19.0"
description = "An implementation of JSON Schema validation for Python"
-category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -3761,7 +3603,6 @@ format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-
name = "jsonschema-specifications"
version = "2023.7.1"
description = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry"
-category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -3777,7 +3618,6 @@ referencing = ">=0.28.0"
name = "jupyter"
version = "1.0.0"
description = "Jupyter metapackage. Install all the Jupyter components in one go."
-category = "dev"
optional = false
python-versions = "*"
files = [
@@ -3798,7 +3638,6 @@ qtconsole = "*"
name = "jupyter-client"
version = "8.3.0"
description = "Jupyter protocol implementation and client libraries"
-category = "dev"
optional = false
python-versions = ">=3.8"
files = [
@@ -3808,7 +3647,7 @@ files = [
[package.dependencies]
importlib-metadata = {version = ">=4.8.3", markers = "python_version < \"3.10\""}
-jupyter-core = ">=4.12,<5.0.0 || >=5.1.0"
+jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0"
python-dateutil = ">=2.8.2"
pyzmq = ">=23.0"
tornado = ">=6.2"
@@ -3822,7 +3661,6 @@ test = ["coverage", "ipykernel (>=6.14)", "mypy", "paramiko", "pre-commit", "pyt
name = "jupyter-console"
version = "6.6.3"
description = "Jupyter terminal console"
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -3834,7 +3672,7 @@ files = [
ipykernel = ">=6.14"
ipython = "*"
jupyter-client = ">=7.0.0"
-jupyter-core = ">=4.12,<5.0.0 || >=5.1.0"
+jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0"
prompt-toolkit = ">=3.0.30"
pygments = "*"
pyzmq = ">=17"
@@ -3847,7 +3685,6 @@ test = ["flaky", "pexpect", "pytest"]
name = "jupyter-core"
version = "5.3.1"
description = "Jupyter core package. A base package on which Jupyter projects rely."
-category = "dev"
optional = false
python-versions = ">=3.8"
files = [
@@ -3868,7 +3705,6 @@ test = ["ipykernel", "pre-commit", "pytest", "pytest-cov", "pytest-timeout"]
name = "jupyter-events"
version = "0.7.0"
description = "Jupyter Event System library"
-category = "dev"
optional = false
python-versions = ">=3.8"
files = [
@@ -3894,7 +3730,6 @@ test = ["click", "pre-commit", "pytest (>=7.0)", "pytest-asyncio (>=0.19.0)", "p
name = "jupyter-lsp"
version = "2.2.0"
description = "Multi-Language Server WebSocket proxy for Jupyter Notebook/Lab server"
-category = "dev"
optional = false
python-versions = ">=3.8"
files = [
@@ -3910,7 +3745,6 @@ jupyter-server = ">=1.1.2"
name = "jupyter-server"
version = "2.7.2"
description = "The backend—i.e. core services, APIs, and REST endpoints—to Jupyter web applications."
-category = "dev"
optional = false
python-versions = ">=3.8"
files = [
@@ -3923,7 +3757,7 @@ anyio = ">=3.1.0"
argon2-cffi = "*"
jinja2 = "*"
jupyter-client = ">=7.4.4"
-jupyter-core = ">=4.12,<5.0.0 || >=5.1.0"
+jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0"
jupyter-events = ">=0.6.0"
jupyter-server-terminals = "*"
nbconvert = ">=6.4.4"
@@ -3947,7 +3781,6 @@ test = ["flaky", "ipykernel", "pre-commit", "pytest (>=7.0)", "pytest-console-sc
name = "jupyter-server-terminals"
version = "0.4.4"
description = "A Jupyter Server Extension Providing Terminals."
-category = "dev"
optional = false
python-versions = ">=3.8"
files = [
@@ -3967,7 +3800,6 @@ test = ["coverage", "jupyter-server (>=2.0.0)", "pytest (>=7.0)", "pytest-cov",
name = "jupyterlab"
version = "4.0.5"
description = "JupyterLab computational environment"
-category = "dev"
optional = false
python-versions = ">=3.8"
files = [
@@ -4001,7 +3833,6 @@ test = ["coverage", "pytest (>=7.0)", "pytest-check-links (>=0.7)", "pytest-cons
name = "jupyterlab-pygments"
version = "0.2.2"
description = "Pygments theme using JupyterLab CSS variables"
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -4013,7 +3844,6 @@ files = [
name = "jupyterlab-server"
version = "2.24.0"
description = "A set of server components for JupyterLab and JupyterLab like applications."
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -4040,7 +3870,6 @@ test = ["hatch", "ipykernel", "jupyterlab-server[openapi]", "openapi-spec-valida
name = "jupyterlab-widgets"
version = "3.0.8"
description = "Jupyter interactive widgets for JupyterLab"
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -4052,7 +3881,6 @@ files = [
name = "keras"
version = "2.13.1"
description = "Deep learning for humans."
-category = "main"
optional = true
python-versions = ">=3.8"
files = [
@@ -4060,11 +3888,24 @@ files = [
{file = "keras-2.13.1.tar.gz", hash = "sha256:5df12cc241a015a11b65ddb452c0eeb2744fce21d9b54ba48db87492568ccc68"},
]
+[[package]]
+name = "konko"
+version = "0.4.0"
+description = "\"Konko AI Python SDK: A client library to interact with Konko AI's API. With this SDK, developers can integrate, evaluate, fine-tune, and deploy Large Language Models (LLMs) using Konko AI's fully-managed, SOC 2 compliant platform. Ideal for enterprise use-cases, it allows you to focus on building great products without worrying about infrastructure.\""
+optional = true
+python-versions = ">=3.8"
+files = [
+ {file = "konko-0.4.0-py3-none-any.whl", hash = "sha256:b51564f3b51687ba59d136673e8ea40040df02bcc4b9978c2266656f79f6ff51"},
+ {file = "konko-0.4.0.tar.gz", hash = "sha256:787717e89c0fb3e74164a600a611c80e7fea2500040504c944b10f7668a15472"},
+]
+
+[package.dependencies]
+openai = ">=0.27.9,<0.28.0"
+
[[package]]
name = "lancedb"
version = "0.1.16"
description = "lancedb"
-category = "main"
optional = true
python-versions = ">=3.8"
files = [
@@ -4091,7 +3932,6 @@ tests = ["pandas (>=1.4)", "pytest", "pytest-asyncio", "pytest-mock"]
name = "langkit"
version = "0.0.15"
description = "A collection of text metric udfs for whylogs profiling and monitoring in WhyLabs"
-category = "main"
optional = true
python-versions = ">=3.8,<4.0"
files = [
@@ -4111,7 +3951,6 @@ all = ["datasets (>=2.12.0,<3.0.0)", "evaluate (>=0.4.0,<0.5.0)", "nltk (>=3.8.1
name = "langsmith"
version = "0.0.25"
description = "Client library to connect to the LangSmith LLM Tracing and Evaluation Platform."
-category = "main"
optional = false
python-versions = ">=3.8.1,<4.0"
files = [
@@ -4127,7 +3966,6 @@ requests = ">=2,<3"
name = "lark"
version = "1.1.7"
description = "a modern parsing library"
-category = "main"
optional = false
python-versions = ">=3.6"
files = [
@@ -4145,7 +3983,6 @@ regex = ["regex"]
name = "lazy-loader"
version = "0.3"
description = "lazy_loader"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -4161,10 +3998,11 @@ test = ["pytest (>=7.4)", "pytest-cov (>=4.1)"]
name = "libclang"
version = "16.0.6"
description = "Clang Python Bindings, mirrored from the official LLVM repo: https://github.com/llvm/llvm-project/tree/main/clang/bindings/python, to make the installation process easier."
-category = "main"
optional = true
python-versions = "*"
files = [
+ {file = "libclang-16.0.6-1-py2.py3-none-manylinux2014_aarch64.whl", hash = "sha256:88bc7e7b393c32e41e03ba77ef02fdd647da1f764c2cd028e69e0837080b79f6"},
+ {file = "libclang-16.0.6-1-py2.py3-none-manylinux2014_armv7l.whl", hash = "sha256:d80ed5827736ed5ec2bcedf536720476fd9d4fa4c79ef0cb24aea4c59332f361"},
{file = "libclang-16.0.6-py2.py3-none-macosx_10_9_x86_64.whl", hash = "sha256:da9e47ebc3f0a6d90fb169ef25f9fbcd29b4a4ef97a8b0e3e3a17800af1423f4"},
{file = "libclang-16.0.6-py2.py3-none-macosx_11_0_arm64.whl", hash = "sha256:e1a5ad1e895e5443e205568c85c04b4608e4e973dae42f4dfd9cb46c81d1486b"},
{file = "libclang-16.0.6-py2.py3-none-manylinux2010_x86_64.whl", hash = "sha256:9dcdc730939788b8b69ffd6d5d75fe5366e3ee007f1e36a99799ec0b0c001492"},
@@ -4180,7 +4018,6 @@ files = [
name = "libdeeplake"
version = "0.0.60"
description = "C++ backend for Deep Lake"
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -4213,7 +4050,6 @@ numpy = "*"
name = "librosa"
version = "0.10.1"
description = "Python module for audio and music processing"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -4245,7 +4081,6 @@ tests = ["matplotlib (>=3.3.0)", "packaging (>=20.0)", "pytest", "pytest-cov", "
name = "llvmlite"
version = "0.40.1"
description = "lightweight wrapper around basic LLVM functionality"
-category = "main"
optional = true
python-versions = ">=3.8"
files = [
@@ -4279,7 +4114,6 @@ files = [
name = "loguru"
version = "0.7.0"
description = "Python logging made (stupidly) simple"
-category = "main"
optional = true
python-versions = ">=3.5"
files = [
@@ -4298,7 +4132,6 @@ dev = ["Sphinx (==5.3.0)", "colorama (==0.4.5)", "colorama (==0.4.6)", "freezegu
name = "lxml"
version = "4.9.3"
description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API."
-category = "main"
optional = true
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, != 3.4.*"
files = [
@@ -4406,7 +4239,6 @@ source = ["Cython (>=0.29.35)"]
name = "lz4"
version = "4.3.2"
description = "LZ4 Bindings for Python"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -4456,7 +4288,6 @@ tests = ["psutil", "pytest (!=3.3.0)", "pytest-cov"]
name = "manifest-ml"
version = "0.0.1"
description = "Manifest for Prompt Programming Foundation Models."
-category = "main"
optional = true
python-versions = ">=3.8.0"
files = [
@@ -4480,7 +4311,6 @@ dev = ["autopep8 (>=1.6.0)", "black (>=22.3.0)", "docformatter (>=1.4)", "flake8
name = "markdown"
version = "3.4.4"
description = "Python implementation of John Gruber's Markdown."
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -4496,7 +4326,6 @@ testing = ["coverage", "pyyaml"]
name = "markdown-it-py"
version = "3.0.0"
description = "Python port of markdown-it. Markdown parsing, done right!"
-category = "main"
optional = true
python-versions = ">=3.8"
files = [
@@ -4521,7 +4350,6 @@ testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"]
name = "markdownify"
version = "0.11.6"
description = "Convert HTML to markdown."
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -4537,7 +4365,6 @@ six = ">=1.15,<2"
name = "markupsafe"
version = "2.1.3"
description = "Safely add untrusted strings to HTML/XML markup."
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -4597,7 +4424,6 @@ files = [
name = "marqo"
version = "1.2.4"
description = "Tensor search for humans"
-category = "main"
optional = true
python-versions = ">=3"
files = [
@@ -4616,7 +4442,6 @@ urllib3 = "*"
name = "marshmallow"
version = "3.20.1"
description = "A lightweight library for converting complex datatypes to and from native Python datatypes."
-category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -4637,7 +4462,6 @@ tests = ["pytest", "pytz", "simplejson"]
name = "marshmallow-enum"
version = "1.5.1"
description = "Enum field for Marshmallow"
-category = "main"
optional = false
python-versions = "*"
files = [
@@ -4652,7 +4476,6 @@ marshmallow = ">=2.0.0"
name = "matplotlib-inline"
version = "0.1.6"
description = "Inline Matplotlib backend for Jupyter"
-category = "dev"
optional = false
python-versions = ">=3.5"
files = [
@@ -4667,7 +4490,6 @@ traitlets = "*"
name = "mdurl"
version = "0.1.2"
description = "Markdown URL utilities"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -4679,7 +4501,6 @@ files = [
name = "mistune"
version = "3.0.1"
description = "A sane and fast Markdown parser with useful plugins and renderers"
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -4691,7 +4512,6 @@ files = [
name = "mmh3"
version = "3.1.0"
description = "Python wrapper for MurmurHash (MurmurHash3), a set of fast and robust hash functions."
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -4736,7 +4556,6 @@ files = [
name = "momento"
version = "1.7.1"
description = "SDK for Momento"
-category = "main"
optional = true
python-versions = ">=3.7,<4.0"
files = [
@@ -4753,7 +4572,6 @@ pyjwt = ">=2.4.0,<3.0.0"
name = "momento-wire-types"
version = "0.67.0"
description = "Momento Client Proto Generated Files"
-category = "main"
optional = true
python-versions = ">=3.7,<4.0"
files = [
@@ -4769,7 +4587,6 @@ protobuf = ">=3,<5"
name = "more-itertools"
version = "10.1.0"
description = "More routines for operating on iterables, beyond itertools"
-category = "main"
optional = true
python-versions = ">=3.8"
files = [
@@ -4781,7 +4598,6 @@ files = [
name = "mpmath"
version = "1.3.0"
description = "Python library for arbitrary-precision floating-point arithmetic"
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -4799,7 +4615,6 @@ tests = ["pytest (>=4.6)"]
name = "msal"
version = "1.23.0"
description = "The Microsoft Authentication Library (MSAL) for Python library enables your app to access the Microsoft Cloud by supporting authentication of users with Microsoft Azure Active Directory accounts (AAD) and Microsoft Accounts (MSA) using industry standard OAuth2 and OpenID Connect."
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -4819,7 +4634,6 @@ broker = ["pymsalruntime (>=0.13.2,<0.14)"]
name = "msal-extensions"
version = "1.0.0"
description = "Microsoft Authentication Library extensions (MSAL EX) provides a persistence API that can save your data on disk, encrypted on Windows, macOS and Linux. Concurrent data access will be coordinated by a file lock mechanism."
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -4838,7 +4652,6 @@ portalocker = [
name = "msgpack"
version = "1.0.5"
description = "MessagePack serializer"
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -4911,7 +4724,6 @@ files = [
name = "msrest"
version = "0.7.1"
description = "AutoRest swagger generator Python client runtime."
-category = "main"
optional = true
python-versions = ">=3.6"
files = [
@@ -4933,7 +4745,6 @@ async = ["aiodns", "aiohttp (>=3.0)"]
name = "multidict"
version = "6.0.4"
description = "multidict implementation"
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -5017,7 +4828,6 @@ files = [
name = "multiprocess"
version = "0.70.15"
description = "better multiprocessing and multithreading in Python"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -5046,7 +4856,6 @@ dill = ">=0.3.7"
name = "mwcli"
version = "0.0.3"
description = "Utilities for processing MediaWiki on the command line."
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -5063,7 +4872,6 @@ para = "*"
name = "mwparserfromhell"
version = "0.6.4"
description = "MWParserFromHell is a parser for MediaWiki wikicode."
-category = "main"
optional = true
python-versions = ">= 3.6"
files = [
@@ -5101,7 +4909,6 @@ files = [
name = "mwtypes"
version = "0.3.2"
description = "A set of types for processing MediaWiki data."
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -5116,7 +4923,6 @@ jsonable = ">=0.3.0"
name = "mwxml"
version = "0.3.3"
description = "A set of utilities for processing MediaWiki XML dump data."
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -5134,7 +4940,6 @@ para = ">=0.0.1"
name = "mypy"
version = "0.991"
description = "Optional static typing for Python"
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -5185,7 +4990,6 @@ reports = ["lxml"]
name = "mypy-extensions"
version = "1.0.0"
description = "Type system extensions for programs checked with the mypy type checker."
-category = "main"
optional = false
python-versions = ">=3.5"
files = [
@@ -5197,7 +5001,6 @@ files = [
name = "mypy-protobuf"
version = "3.3.0"
description = "Generate mypy stub files from protobuf specs"
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -5213,7 +5016,6 @@ types-protobuf = ">=3.19.12"
name = "nbclient"
version = "0.8.0"
description = "A client library for executing notebooks. Formerly nbconvert's ExecutePreprocessor."
-category = "dev"
optional = false
python-versions = ">=3.8.0"
files = [
@@ -5223,7 +5025,7 @@ files = [
[package.dependencies]
jupyter-client = ">=6.1.12"
-jupyter-core = ">=4.12,<5.0.0 || >=5.1.0"
+jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0"
nbformat = ">=5.1"
traitlets = ">=5.4"
@@ -5236,7 +5038,6 @@ test = ["flaky", "ipykernel (>=6.19.3)", "ipython", "ipywidgets", "nbconvert (>=
name = "nbconvert"
version = "7.7.4"
description = "Converting Jupyter Notebooks"
-category = "dev"
optional = false
python-versions = ">=3.8"
files = [
@@ -5275,7 +5076,6 @@ webpdf = ["playwright"]
name = "nbformat"
version = "5.9.2"
description = "The Jupyter Notebook format"
-category = "dev"
optional = false
python-versions = ">=3.8"
files = [
@@ -5297,7 +5097,6 @@ test = ["pep440", "pre-commit", "pytest", "testpath"]
name = "nebula3-python"
version = "3.4.0"
description = "Python client for NebulaGraph V3.4"
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -5315,7 +5114,6 @@ six = ">=1.16.0"
name = "neo4j"
version = "5.11.0"
description = "Neo4j Bolt driver for Python"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -5333,7 +5131,6 @@ pandas = ["numpy (>=1.7.0,<2.0.0)", "pandas (>=1.1.0,<3.0.0)"]
name = "nest-asyncio"
version = "1.5.7"
description = "Patch asyncio to allow nested event loops"
-category = "main"
optional = false
python-versions = ">=3.5"
files = [
@@ -5345,7 +5142,6 @@ files = [
name = "networkx"
version = "2.8.8"
description = "Python package for creating and manipulating graphs and networks"
-category = "main"
optional = true
python-versions = ">=3.8"
files = [
@@ -5364,7 +5160,6 @@ test = ["codecov (>=2.1)", "pytest (>=7.2)", "pytest-cov (>=4.0)"]
name = "newspaper3k"
version = "0.2.8"
description = "Simplified python article discovery & extraction."
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -5391,7 +5186,6 @@ tldextract = ">=2.0.1"
name = "nlpcloud"
version = "1.1.44"
description = "Python client for the NLP Cloud API"
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -5406,7 +5200,6 @@ requests = "*"
name = "nltk"
version = "3.8.1"
description = "Natural Language Toolkit"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -5432,7 +5225,6 @@ twitter = ["twython"]
name = "nomic"
version = "1.1.14"
description = "The offical Nomic python client."
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -5460,7 +5252,6 @@ gpt4all = ["peft (==0.3.0.dev0)", "sentencepiece", "torch", "transformers (==4.2
name = "notebook"
version = "7.0.2"
description = "Jupyter Notebook - A web-based notebook environment for interactive computing"
-category = "dev"
optional = false
python-versions = ">=3.8"
files = [
@@ -5485,7 +5276,6 @@ test = ["ipykernel", "jupyter-server[test] (>=2.4.0,<3)", "jupyterlab-server[tes
name = "notebook-shim"
version = "0.2.3"
description = "A shim layer for notebook traits and config"
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -5503,7 +5293,6 @@ test = ["pytest", "pytest-console-scripts", "pytest-jupyter", "pytest-tornasync"
name = "numba"
version = "0.57.1"
description = "compiling Python code using LLVM"
-category = "main"
optional = true
python-versions = ">=3.8"
files = [
@@ -5535,14 +5324,13 @@ files = [
[package.dependencies]
importlib-metadata = {version = "*", markers = "python_version < \"3.9\""}
-llvmlite = ">=0.40.0dev0,<0.41"
+llvmlite = "==0.40.*"
numpy = ">=1.21,<1.25"
[[package]]
name = "numcodecs"
version = "0.11.0"
description = "A Python package providing buffer compression and transformation codecs for use"
-category = "main"
optional = true
python-versions = ">=3.8"
files = [
@@ -5575,7 +5363,6 @@ zfpy = ["zfpy (>=1.0.0)"]
name = "numexpr"
version = "2.8.5"
description = "Fast numerical expression evaluator for NumPy"
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -5618,7 +5405,6 @@ numpy = ">=1.13.3"
name = "numpy"
version = "1.24.3"
description = "Fundamental package for array computing in Python"
-category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -5656,7 +5442,6 @@ files = [
name = "nvidia-cublas-cu11"
version = "11.10.3.66"
description = "CUBLAS native runtime libraries"
-category = "main"
optional = true
python-versions = ">=3"
files = [
@@ -5672,7 +5457,6 @@ wheel = "*"
name = "nvidia-cuda-nvrtc-cu11"
version = "11.7.99"
description = "NVRTC native runtime libraries"
-category = "main"
optional = true
python-versions = ">=3"
files = [
@@ -5689,7 +5473,6 @@ wheel = "*"
name = "nvidia-cuda-runtime-cu11"
version = "11.7.99"
description = "CUDA Runtime native Libraries"
-category = "main"
optional = true
python-versions = ">=3"
files = [
@@ -5705,7 +5488,6 @@ wheel = "*"
name = "nvidia-cudnn-cu11"
version = "8.5.0.96"
description = "cuDNN runtime libraries"
-category = "main"
optional = true
python-versions = ">=3"
files = [
@@ -5721,7 +5503,6 @@ wheel = "*"
name = "o365"
version = "2.0.27"
description = "Microsoft Graph and Office 365 API made easy"
-category = "main"
optional = true
python-versions = ">=3.4"
files = [
@@ -5742,7 +5523,6 @@ tzlocal = ">=4.0,<5.0"
name = "oauthlib"
version = "3.2.2"
description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic"
-category = "main"
optional = true
python-versions = ">=3.6"
files = [
@@ -5757,14 +5537,13 @@ signedtoken = ["cryptography (>=3.0.0)", "pyjwt (>=2.0.0,<3)"]
[[package]]
name = "openai"
-version = "0.27.8"
+version = "0.27.10"
description = "Python client library for the OpenAI API"
-category = "main"
optional = false
python-versions = ">=3.7.1"
files = [
- {file = "openai-0.27.8-py3-none-any.whl", hash = "sha256:e0a7c2f7da26bdbe5354b03c6d4b82a2f34bd4458c7a17ae1a7092c3e397e03c"},
- {file = "openai-0.27.8.tar.gz", hash = "sha256:2483095c7db1eee274cebac79e315a986c4e55207bb4fa7b82d185b3a2ed9536"},
+ {file = "openai-0.27.10-py3-none-any.whl", hash = "sha256:beabd1757e3286fa166dde3b70ebb5ad8081af046876b47c14c41e203ed22a14"},
+ {file = "openai-0.27.10.tar.gz", hash = "sha256:60e09edf7100080283688748c6803b7b3b52d5a55d21890f3815292a0552d83b"},
]
[package.dependencies]
@@ -5774,7 +5553,7 @@ tqdm = "*"
[package.extras]
datalib = ["numpy", "openpyxl (>=3.0.7)", "pandas (>=1.2.3)", "pandas-stubs (>=1.1.0.11)"]
-dev = ["black (>=21.6b0,<22.0)", "pytest (>=6.0.0,<7.0.0)", "pytest-asyncio", "pytest-mock"]
+dev = ["black (>=21.6b0,<22.0)", "pytest (==6.*)", "pytest-asyncio", "pytest-mock"]
embeddings = ["matplotlib", "numpy", "openpyxl (>=3.0.7)", "pandas (>=1.2.3)", "pandas-stubs (>=1.1.0.11)", "plotly", "scikit-learn (>=1.0.2)", "scipy", "tenacity (>=8.0.1)"]
wandb = ["numpy", "openpyxl (>=3.0.7)", "pandas (>=1.2.3)", "pandas-stubs (>=1.1.0.11)", "wandb"]
@@ -5782,7 +5561,6 @@ wandb = ["numpy", "openpyxl (>=3.0.7)", "pandas (>=1.2.3)", "pandas-stubs (>=1.1
name = "openapi-schema-pydantic"
version = "1.2.4"
description = "OpenAPI (v3) specification schema as pydantic class"
-category = "main"
optional = true
python-versions = ">=3.6.1"
files = [
@@ -5797,7 +5575,6 @@ pydantic = ">=1.8.2"
name = "openlm"
version = "0.0.5"
description = "Drop-in OpenAI-compatible that can call LLMs from other providers"
-category = "main"
optional = true
python-versions = ">=3.8.1,<4.0"
files = [
@@ -5812,7 +5589,6 @@ requests = ">=2,<3"
name = "opensearch-py"
version = "2.3.1"
description = "Python client for OpenSearch"
-category = "main"
optional = true
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4"
files = [
@@ -5837,7 +5613,6 @@ kerberos = ["requests-kerberos"]
name = "opt-einsum"
version = "3.3.0"
description = "Optimizing numpys einsum function"
-category = "main"
optional = true
python-versions = ">=3.5"
files = [
@@ -5856,7 +5631,6 @@ tests = ["pytest", "pytest-cov", "pytest-pep8"]
name = "orjson"
version = "3.9.5"
description = "Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -5926,7 +5700,6 @@ files = [
name = "overrides"
version = "7.4.0"
description = "A decorator to automatically detect mismatch when overriding a method."
-category = "dev"
optional = false
python-versions = ">=3.6"
files = [
@@ -5938,7 +5711,6 @@ files = [
name = "packaging"
version = "23.1"
description = "Core utilities for Python packages"
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -5950,7 +5722,6 @@ files = [
name = "pandas"
version = "2.0.3"
description = "Powerful data structures for data analysis, time series, and statistics"
-category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -6018,7 +5789,6 @@ xml = ["lxml (>=4.6.3)"]
name = "pandocfilters"
version = "1.5.0"
description = "Utilities for writing pandoc filters in python"
-category = "dev"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
files = [
@@ -6030,7 +5800,6 @@ files = [
name = "para"
version = "0.0.8"
description = "a set utilities that ake advantage of python's 'multiprocessing' module to distribute CPU-intensive tasks"
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -6042,7 +5811,6 @@ files = [
name = "parso"
version = "0.8.3"
description = "A Python Parser"
-category = "dev"
optional = false
python-versions = ">=3.6"
files = [
@@ -6058,7 +5826,6 @@ testing = ["docopt", "pytest (<6.0.0)"]
name = "pathos"
version = "0.3.1"
description = "parallel graph management and execution in heterogeneous computing"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -6076,7 +5843,6 @@ ppft = ">=1.7.6.7"
name = "pathspec"
version = "0.11.2"
description = "Utility library for gitignore style pattern matching of file paths."
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -6088,7 +5854,6 @@ files = [
name = "pdfminer-six"
version = "20221105"
description = "PDF parser and analyzer"
-category = "main"
optional = true
python-versions = ">=3.6"
files = [
@@ -6109,7 +5874,6 @@ image = ["Pillow"]
name = "pexpect"
version = "4.8.0"
description = "Pexpect allows easy control of interactive console applications."
-category = "main"
optional = false
python-versions = "*"
files = [
@@ -6124,7 +5888,6 @@ ptyprocess = ">=0.5"
name = "pgvector"
version = "0.1.8"
description = "pgvector support for Python"
-category = "main"
optional = true
python-versions = ">=3.6"
files = [
@@ -6138,7 +5901,6 @@ numpy = "*"
name = "pickleshare"
version = "0.7.5"
description = "Tiny 'shelve'-like database with concurrency support"
-category = "dev"
optional = false
python-versions = "*"
files = [
@@ -6150,7 +5912,6 @@ files = [
name = "pillow"
version = "10.0.0"
description = "Python Imaging Library (Fork)"
-category = "main"
optional = true
python-versions = ">=3.8"
files = [
@@ -6220,7 +5981,6 @@ tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "pa
name = "pinecone-client"
version = "2.2.2"
description = "Pinecone client and SDK"
-category = "main"
optional = true
python-versions = ">=3.8"
files = [
@@ -6246,7 +6006,6 @@ grpc = ["googleapis-common-protos (>=1.53.0)", "grpc-gateway-protoc-gen-openapiv
name = "pinecone-text"
version = "0.4.2"
description = "Text utilities library by Pinecone.io"
-category = "main"
optional = true
python-versions = ">=3.8,<4.0"
files = [
@@ -6266,7 +6025,6 @@ wget = ">=3.2,<4.0"
name = "pkgutil-resolve-name"
version = "1.3.10"
description = "Resolve a name to an object."
-category = "main"
optional = false
python-versions = ">=3.6"
files = [
@@ -6278,7 +6036,6 @@ files = [
name = "platformdirs"
version = "3.10.0"
description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -6294,7 +6051,6 @@ test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4)", "pytest-co
name = "playwright"
version = "1.37.0"
description = "A high-level API to automate web browsers"
-category = "dev"
optional = false
python-versions = ">=3.8"
files = [
@@ -6316,7 +6072,6 @@ typing-extensions = {version = "*", markers = "python_version <= \"3.8\""}
name = "pluggy"
version = "1.2.0"
description = "plugin and hook calling mechanisms for python"
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -6332,7 +6087,6 @@ testing = ["pytest", "pytest-benchmark"]
name = "pooch"
version = "1.7.0"
description = "\"Pooch manages your Python library's sample data files: it automatically downloads and stores them in a local directory, with support for versioning and corruption checks.\""
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -6354,7 +6108,6 @@ xxhash = ["xxhash (>=1.4.3)"]
name = "portalocker"
version = "2.7.0"
description = "Wraps the portalocker recipe for easy usage"
-category = "main"
optional = true
python-versions = ">=3.5"
files = [
@@ -6374,7 +6127,6 @@ tests = ["pytest (>=5.4.1)", "pytest-cov (>=2.8.1)", "pytest-mypy (>=0.8.0)", "p
name = "pox"
version = "0.3.3"
description = "utilities for filesystem exploration and automated builds"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -6386,7 +6138,6 @@ files = [
name = "ppft"
version = "1.7.6.7"
description = "distributed and parallel Python"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -6401,7 +6152,6 @@ dill = ["dill (>=0.3.7)"]
name = "prometheus-client"
version = "0.17.1"
description = "Python client for the Prometheus monitoring system."
-category = "dev"
optional = false
python-versions = ">=3.6"
files = [
@@ -6416,7 +6166,6 @@ twisted = ["twisted"]
name = "prompt-toolkit"
version = "3.0.39"
description = "Library for building powerful interactive command lines in Python"
-category = "dev"
optional = false
python-versions = ">=3.7.0"
files = [
@@ -6431,7 +6180,6 @@ wcwidth = "*"
name = "protobuf"
version = "3.20.3"
description = "Protocol Buffers"
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -6463,7 +6211,6 @@ files = [
name = "psutil"
version = "5.9.5"
description = "Cross-platform lib for process and system monitoring in Python."
-category = "dev"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
files = [
@@ -6490,7 +6237,6 @@ test = ["enum34", "ipaddress", "mock", "pywin32", "wmi"]
name = "psychicapi"
version = "0.8.4"
description = "Psychic.dev is an open-source data integration platform for LLMs. This is the Python client for Psychic"
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -6505,7 +6251,6 @@ requests = "*"
name = "psycopg2-binary"
version = "2.9.7"
description = "psycopg2 - Python-PostgreSQL Database Adapter"
-category = "main"
optional = true
python-versions = ">=3.6"
files = [
@@ -6575,7 +6320,6 @@ files = [
name = "ptyprocess"
version = "0.7.0"
description = "Run a subprocess in a pseudo terminal"
-category = "main"
optional = false
python-versions = "*"
files = [
@@ -6587,7 +6331,6 @@ files = [
name = "pure-eval"
version = "0.2.2"
description = "Safely evaluate AST nodes without side effects"
-category = "dev"
optional = false
python-versions = "*"
files = [
@@ -6602,7 +6345,6 @@ tests = ["pytest"]
name = "py"
version = "1.11.0"
description = "library with cross-python path, ini-parsing, io, code, log facilities"
-category = "main"
optional = true
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
files = [
@@ -6614,7 +6356,6 @@ files = [
name = "py-trello"
version = "0.19.0"
description = "Python wrapper around the Trello API"
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -6631,7 +6372,6 @@ requests-oauthlib = ">=0.4.1"
name = "py4j"
version = "0.10.9.7"
description = "Enables Python programs to dynamically access arbitrary Java objects"
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -6643,7 +6383,6 @@ files = [
name = "pyaes"
version = "1.6.1"
description = "Pure-Python Implementation of the AES block-cipher and common modes of operation"
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -6654,7 +6393,6 @@ files = [
name = "pyarrow"
version = "12.0.1"
description = "Python library for Apache Arrow"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -6692,7 +6430,6 @@ numpy = ">=1.16.6"
name = "pyasn1"
version = "0.5.0"
description = "Pure-Python implementation of ASN.1 types and DER/BER/CER codecs (X.208)"
-category = "main"
optional = true
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7"
files = [
@@ -6704,7 +6441,6 @@ files = [
name = "pyasn1-modules"
version = "0.3.0"
description = "A collection of ASN.1-based protocols modules"
-category = "main"
optional = true
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7"
files = [
@@ -6719,7 +6455,6 @@ pyasn1 = ">=0.4.6,<0.6.0"
name = "pycares"
version = "4.3.0"
description = "Python interface for c-ares"
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -6787,7 +6522,6 @@ idna = ["idna (>=2.1)"]
name = "pycparser"
version = "2.21"
description = "C parser in Python"
-category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
files = [
@@ -6799,7 +6533,6 @@ files = [
name = "pydantic"
version = "1.10.12"
description = "Data validation and settings management using python type hints"
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -6852,7 +6585,6 @@ email = ["email-validator (>=1.0.3)"]
name = "pydeck"
version = "0.8.0"
description = "Widget for deck.gl maps"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -6872,7 +6604,6 @@ jupyter = ["ipykernel (>=5.1.2)", "ipython (>=5.8.0)", "ipywidgets (>=7,<8)", "t
name = "pyee"
version = "9.0.4"
description = "A port of node.js's EventEmitter to python."
-category = "dev"
optional = false
python-versions = "*"
files = [
@@ -6887,7 +6618,6 @@ typing-extensions = "*"
name = "pygments"
version = "2.16.1"
description = "Pygments is a syntax highlighting package written in Python."
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -6902,7 +6632,6 @@ plugins = ["importlib-metadata"]
name = "pyjwt"
version = "2.8.0"
description = "JSON Web Token implementation in Python"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -6923,7 +6652,6 @@ tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"]
name = "pylance"
version = "0.5.10"
description = "python wrapper for lance-rs"
-category = "main"
optional = true
python-versions = ">=3.8"
files = [
@@ -6945,7 +6673,6 @@ tests = ["duckdb", "ml_dtypes", "pandas (>=1.4)", "polars[pandas,pyarrow]", "pyt
name = "pymongo"
version = "4.5.0"
description = "Python driver for MongoDB "
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -7047,7 +6774,6 @@ zstd = ["zstandard"]
name = "pympler"
version = "1.0.1"
description = "A development tool to measure, monitor and analyze the memory behavior of Python objects."
-category = "main"
optional = true
python-versions = ">=3.6"
files = [
@@ -7059,7 +6785,6 @@ files = [
name = "pymupdf"
version = "1.22.5"
description = "Python bindings for the PDF toolkit and renderer MuPDF"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -7099,7 +6824,6 @@ files = [
name = "pyowm"
version = "3.3.0"
description = "A Python wrapper around OpenWeatherMap web APIs"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -7119,7 +6843,6 @@ requests = [
name = "pyparsing"
version = "3.1.1"
description = "pyparsing module - Classes and methods to define and execute parsing grammars"
-category = "main"
optional = true
python-versions = ">=3.6.8"
files = [
@@ -7134,7 +6857,6 @@ diagrams = ["jinja2", "railroad-diagrams"]
name = "pypdf"
version = "3.15.2"
description = "A pure-python PDF library capable of splitting, merging, cropping, and transforming PDF files"
-category = "main"
optional = true
python-versions = ">=3.6"
files = [
@@ -7156,7 +6878,6 @@ image = ["Pillow (>=8.0.0)"]
name = "pypdfium2"
version = "4.18.0"
description = "Python bindings to PDFium"
-category = "main"
optional = true
python-versions = ">=3.6"
files = [
@@ -7178,7 +6899,6 @@ files = [
name = "pyphen"
version = "0.14.0"
description = "Pure Python module to hyphenate text"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -7194,7 +6914,6 @@ test = ["flake8", "isort", "pytest"]
name = "pyproj"
version = "3.5.0"
description = "Python interface to PROJ (cartographic projections and coordinate transformations library)"
-category = "main"
optional = true
python-versions = ">=3.8"
files = [
@@ -7242,7 +6961,6 @@ certifi = "*"
name = "pyproject-hooks"
version = "1.0.0"
description = "Wrappers to call pyproject.toml-based build backend hooks."
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -7257,7 +6975,6 @@ tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""}
name = "pysocks"
version = "1.7.1"
description = "A Python SOCKS client module. See https://github.com/Anorov/PySocks for more information."
-category = "main"
optional = true
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
files = [
@@ -7270,7 +6987,6 @@ files = [
name = "pyspark"
version = "3.4.1"
description = "Apache Spark Python API"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -7291,7 +7007,6 @@ sql = ["numpy (>=1.15)", "pandas (>=1.0.5)", "pyarrow (>=1.0.0)"]
name = "pytesseract"
version = "0.3.10"
description = "Python-tesseract is a python wrapper for Google's Tesseract-OCR"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -7307,7 +7022,6 @@ Pillow = ">=8.0.0"
name = "pytest"
version = "7.4.0"
description = "pytest: simple powerful testing with Python"
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -7330,7 +7044,6 @@ testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "no
name = "pytest-asyncio"
version = "0.20.3"
description = "Pytest support for asyncio"
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -7349,7 +7062,6 @@ testing = ["coverage (>=6.2)", "flaky (>=3.5.0)", "hypothesis (>=5.7.1)", "mypy
name = "pytest-cov"
version = "4.1.0"
description = "Pytest plugin for measuring coverage."
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -7368,7 +7080,6 @@ testing = ["fields", "hunter", "process-tests", "pytest-xdist", "six", "virtuale
name = "pytest-dotenv"
version = "0.5.2"
description = "A py.test plugin that parses environment files before running tests"
-category = "dev"
optional = false
python-versions = "*"
files = [
@@ -7384,7 +7095,6 @@ python-dotenv = ">=0.9.1"
name = "pytest-mock"
version = "3.11.1"
description = "Thin-wrapper around the mock package for easier use with pytest"
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -7402,7 +7112,6 @@ dev = ["pre-commit", "pytest-asyncio", "tox"]
name = "pytest-socket"
version = "0.6.0"
description = "Pytest Plugin to disable socket calls during tests"
-category = "dev"
optional = false
python-versions = ">=3.7,<4.0"
files = [
@@ -7417,7 +7126,6 @@ pytest = ">=3.6.3"
name = "pytest-vcr"
version = "1.0.2"
description = "Plugin for managing VCR.py cassettes"
-category = "dev"
optional = false
python-versions = "*"
files = [
@@ -7433,7 +7141,6 @@ vcrpy = "*"
name = "pytest-watcher"
version = "0.2.6"
description = "Continiously runs pytest on changes in *.py files"
-category = "dev"
optional = false
python-versions = ">=3.7.0,<4.0.0"
files = [
@@ -7448,7 +7155,6 @@ watchdog = ">=2.0.0"
name = "python-arango"
version = "7.6.0"
description = "Python Driver for ArangoDB"
-category = "main"
optional = true
python-versions = ">=3.8"
files = [
@@ -7472,7 +7178,6 @@ dev = ["black (>=22.3.0)", "flake8 (>=4.0.1)", "isort (>=5.10.1)", "mock", "mypy
name = "python-dateutil"
version = "2.8.2"
description = "Extensions to the standard Python datetime module"
-category = "main"
optional = false
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7"
files = [
@@ -7487,7 +7192,6 @@ six = ">=1.5"
name = "python-dotenv"
version = "1.0.0"
description = "Read key-value pairs from a .env file and set them as environment variables"
-category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -7502,7 +7206,6 @@ cli = ["click (>=5.0)"]
name = "python-json-logger"
version = "2.0.7"
description = "A python library adding a json log formatter"
-category = "dev"
optional = false
python-versions = ">=3.6"
files = [
@@ -7514,7 +7217,6 @@ files = [
name = "python-rapidjson"
version = "1.10"
description = "Python wrapper around rapidjson"
-category = "main"
optional = true
python-versions = ">=3.6"
files = [
@@ -7580,7 +7282,6 @@ files = [
name = "pytz"
version = "2023.3"
description = "World timezone definitions, modern and historical"
-category = "main"
optional = false
python-versions = "*"
files = [
@@ -7592,7 +7293,6 @@ files = [
name = "pytz-deprecation-shim"
version = "0.1.0.post0"
description = "Shims to make deprecation of pytz easier"
-category = "main"
optional = true
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7"
files = [
@@ -7608,7 +7308,6 @@ tzdata = {version = "*", markers = "python_version >= \"3.6\""}
name = "pyvespa"
version = "0.33.0"
description = "Python API for vespa.ai"
-category = "main"
optional = true
python-versions = ">=3.6"
files = [
@@ -7633,7 +7332,6 @@ ml = ["keras-tuner", "tensorflow", "tensorflow-ranking", "torch (<1.13)", "trans
name = "pywin32"
version = "306"
description = "Python for Window Extensions"
-category = "main"
optional = false
python-versions = "*"
files = [
@@ -7657,7 +7355,6 @@ files = [
name = "pywinpty"
version = "2.0.11"
description = "Pseudo terminal support for Windows from Python."
-category = "dev"
optional = false
python-versions = ">=3.8"
files = [
@@ -7672,7 +7369,6 @@ files = [
name = "pyyaml"
version = "6.0.1"
description = "YAML parser and emitter for Python"
-category = "main"
optional = false
python-versions = ">=3.6"
files = [
@@ -7681,6 +7377,7 @@ files = [
{file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"},
{file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"},
{file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"},
+ {file = "PyYAML-6.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290"},
{file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"},
{file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"},
{file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"},
@@ -7688,8 +7385,15 @@ files = [
{file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"},
{file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"},
{file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"},
+ {file = "PyYAML-6.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b"},
{file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"},
{file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"},
+ {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"},
+ {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"},
+ {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"},
+ {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"},
+ {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"},
+ {file = "PyYAML-6.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df"},
{file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"},
{file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"},
{file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"},
@@ -7706,6 +7410,7 @@ files = [
{file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"},
{file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"},
{file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"},
+ {file = "PyYAML-6.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6"},
{file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"},
{file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"},
{file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"},
@@ -7713,6 +7418,7 @@ files = [
{file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"},
{file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"},
{file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"},
+ {file = "PyYAML-6.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5"},
{file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"},
{file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"},
{file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"},
@@ -7722,7 +7428,6 @@ files = [
name = "pyzmq"
version = "25.1.1"
description = "Python bindings for 0MQ"
-category = "dev"
optional = false
python-versions = ">=3.6"
files = [
@@ -7828,7 +7533,6 @@ cffi = {version = "*", markers = "implementation_name == \"pypy\""}
name = "qdrant-client"
version = "1.4.0"
description = "Client library for the Qdrant vector search engine"
-category = "main"
optional = true
python-versions = ">=3.7,<3.12"
files = [
@@ -7849,7 +7553,6 @@ urllib3 = ">=1.26.14,<2.0.0"
name = "qtconsole"
version = "5.4.3"
description = "Jupyter Qt console"
-category = "dev"
optional = false
python-versions = ">= 3.7"
files = [
@@ -7876,7 +7579,6 @@ test = ["flaky", "pytest", "pytest-qt"]
name = "qtpy"
version = "2.3.1"
description = "Provides an abstraction layer on top of the various Qt bindings (PyQt5/6 and PySide2/6)."
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -7894,7 +7596,6 @@ test = ["pytest (>=6,!=7.0.0,!=7.0.1)", "pytest-cov (>=3.0.0)", "pytest-qt"]
name = "rank-bm25"
version = "0.2.2"
description = "Various BM25 algorithms for document ranking"
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -7912,7 +7613,6 @@ dev = ["pytest"]
name = "rapidfuzz"
version = "3.2.0"
description = "rapid fuzzy string matching"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -8017,7 +7717,6 @@ full = ["numpy"]
name = "ratelimiter"
version = "1.2.0.post0"
description = "Simple python rate limiting object"
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -8032,7 +7731,6 @@ test = ["pytest (>=3.0)", "pytest-asyncio"]
name = "rdflib"
version = "6.3.2"
description = "RDFLib is a Python library for working with RDF, a simple yet powerful language for representing information."
-category = "main"
optional = true
python-versions = ">=3.7,<4.0"
files = [
@@ -8054,7 +7752,6 @@ networkx = ["networkx (>=2.0.0,<3.0.0)"]
name = "redis"
version = "4.6.0"
description = "Python client for Redis database and key-value store"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -8073,7 +7770,6 @@ ocsp = ["cryptography (>=36.0.1)", "pyopenssl (==20.0.1)", "requests (>=2.26.0)"
name = "referencing"
version = "0.30.2"
description = "JSON Referencing + Python"
-category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -8089,7 +7785,6 @@ rpds-py = ">=0.7.0"
name = "regex"
version = "2023.8.8"
description = "Alternative regular expression module, to replace re."
-category = "main"
optional = false
python-versions = ">=3.6"
files = [
@@ -8187,7 +7882,6 @@ files = [
name = "requests"
version = "2.31.0"
description = "Python HTTP for Humans."
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -8210,7 +7904,6 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"]
name = "requests-file"
version = "1.5.1"
description = "File transport adapter for Requests"
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -8226,7 +7919,6 @@ six = "*"
name = "requests-oauthlib"
version = "1.3.1"
description = "OAuthlib authentication support for Requests."
-category = "main"
optional = true
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
files = [
@@ -8245,7 +7937,6 @@ rsa = ["oauthlib[signedtoken] (>=3.0.0)"]
name = "requests-toolbelt"
version = "1.0.0"
description = "A utility belt for advanced users of python-requests"
-category = "main"
optional = true
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
files = [
@@ -8260,7 +7951,6 @@ requests = ">=2.0.1,<3.0.0"
name = "responses"
version = "0.22.0"
description = "A utility library for mocking out the `requests` Python library."
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -8281,7 +7971,6 @@ tests = ["coverage (>=6.0.0)", "flake8", "mypy", "pytest (>=7.0.0)", "pytest-asy
name = "retry"
version = "0.9.2"
description = "Easy to use retry decorator."
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -8297,7 +7986,6 @@ py = ">=1.4.26,<2.0.0"
name = "rfc3339-validator"
version = "0.1.4"
description = "A pure python RFC3339 validator"
-category = "dev"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
files = [
@@ -8312,7 +8000,6 @@ six = "*"
name = "rfc3986-validator"
version = "0.1.1"
description = "Pure python rfc3986 validator"
-category = "dev"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
files = [
@@ -8324,7 +8011,6 @@ files = [
name = "rich"
version = "13.5.2"
description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal"
-category = "main"
optional = true
python-versions = ">=3.7.0"
files = [
@@ -8344,7 +8030,6 @@ jupyter = ["ipywidgets (>=7.5.1,<9)"]
name = "rpds-py"
version = "0.9.2"
description = "Python bindings to Rust's persistent data structures (rpds)"
-category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -8451,7 +8136,6 @@ files = [
name = "rsa"
version = "4.9"
description = "Pure-Python RSA implementation"
-category = "main"
optional = true
python-versions = ">=3.6,<4"
files = [
@@ -8466,7 +8150,6 @@ pyasn1 = ">=0.1.3"
name = "ruff"
version = "0.0.249"
description = "An extremely fast Python linter, written in Rust."
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -8493,7 +8176,6 @@ files = [
name = "s3transfer"
version = "0.6.2"
description = "An Amazon S3 Transfer Manager"
-category = "main"
optional = true
python-versions = ">= 3.7"
files = [
@@ -8511,7 +8193,6 @@ crt = ["botocore[crt] (>=1.20.29,<2.0a.0)"]
name = "safetensors"
version = "0.3.2"
description = "Fast and Safe Tensor serialization"
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -8585,7 +8266,6 @@ torch = ["torch (>=1.10)"]
name = "scikit-learn"
version = "1.3.0"
description = "A set of python modules for machine learning and data mining"
-category = "main"
optional = true
python-versions = ">=3.8"
files = [
@@ -8628,7 +8308,6 @@ tests = ["black (>=23.3.0)", "matplotlib (>=3.1.3)", "mypy (>=1.3)", "numpydoc (
name = "scipy"
version = "1.9.3"
description = "Fundamental algorithms for scientific computing in Python"
-category = "main"
optional = true
python-versions = ">=3.8"
files = [
@@ -8667,7 +8346,6 @@ test = ["asv", "gmpy2", "mpmath", "pytest", "pytest-cov", "pytest-xdist", "sciki
name = "semver"
version = "3.0.1"
description = "Python helper for Semantic Versioning (https://semver.org)"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -8679,7 +8357,6 @@ files = [
name = "send2trash"
version = "1.8.2"
description = "Send file to trash natively under Mac OS X, Windows and Linux"
-category = "dev"
optional = false
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7"
files = [
@@ -8696,7 +8373,6 @@ win32 = ["pywin32"]
name = "sentence-transformers"
version = "2.2.2"
description = "Multilingual text embeddings"
-category = "main"
optional = true
python-versions = ">=3.6.0"
files = [
@@ -8719,7 +8395,6 @@ transformers = ">=4.6.0,<5.0.0"
name = "sentencepiece"
version = "0.1.99"
description = "SentencePiece python wrapper"
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -8774,7 +8449,6 @@ files = [
name = "setuptools"
version = "67.8.0"
description = "Easily download, build, install, upgrade, and uninstall Python packages"
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -8791,7 +8465,6 @@ testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs (
name = "sgmllib3k"
version = "1.0.0"
description = "Py3k port of sgmllib."
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -8802,7 +8475,6 @@ files = [
name = "shapely"
version = "2.0.1"
description = "Manipulation and analysis of geometric objects"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -8850,14 +8522,13 @@ files = [
numpy = ">=1.14"
[package.extras]
-docs = ["matplotlib", "numpydoc (>=1.1.0,<1.2.0)", "sphinx", "sphinx-book-theme", "sphinx-remove-toctrees"]
+docs = ["matplotlib", "numpydoc (==1.1.*)", "sphinx", "sphinx-book-theme", "sphinx-remove-toctrees"]
test = ["pytest", "pytest-cov"]
[[package]]
name = "singlestoredb"
version = "0.7.1"
description = "Interface to the SingleStore database and cluster management APIs"
-category = "main"
optional = true
python-versions = ">=3.6"
files = [
@@ -8890,7 +8561,6 @@ sqlalchemy = ["sqlalchemy-singlestoredb"]
name = "six"
version = "1.16.0"
description = "Python 2 and 3 compatibility utilities"
-category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
files = [
@@ -8902,7 +8572,6 @@ files = [
name = "smmap"
version = "5.0.0"
description = "A pure Python implementation of a sliding window memory map manager"
-category = "main"
optional = true
python-versions = ">=3.6"
files = [
@@ -8914,7 +8583,6 @@ files = [
name = "sniffio"
version = "1.3.0"
description = "Sniff out which async library your code is running under"
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -8926,7 +8594,6 @@ files = [
name = "socksio"
version = "1.0.0"
description = "Sans-I/O implementation of SOCKS4, SOCKS4A, and SOCKS5."
-category = "main"
optional = true
python-versions = ">=3.6"
files = [
@@ -8938,7 +8605,6 @@ files = [
name = "soundfile"
version = "0.12.1"
description = "An audio library based on libsndfile, CFFI and NumPy"
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -8962,7 +8628,6 @@ numpy = ["numpy"]
name = "soupsieve"
version = "2.4.1"
description = "A modern CSS selector implementation for Beautiful Soup."
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -8974,7 +8639,6 @@ files = [
name = "soxr"
version = "0.3.6"
description = "High quality, one-dimensional sample-rate conversion library"
-category = "main"
optional = true
python-versions = ">=3.6"
files = [
@@ -9016,7 +8680,6 @@ test = ["pytest"]
name = "sqlalchemy"
version = "2.0.20"
description = "Database Abstraction Library"
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -9064,7 +8727,7 @@ files = [
]
[package.dependencies]
-greenlet = {version = "!=0.4.17", markers = "platform_machine == \"aarch64\" or platform_machine == \"ppc64le\" or platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"AMD64\" or platform_machine == \"win32\" or platform_machine == \"WIN32\""}
+greenlet = {version = "!=0.4.17", markers = "platform_machine == \"win32\" or platform_machine == \"WIN32\" or platform_machine == \"AMD64\" or platform_machine == \"amd64\" or platform_machine == \"x86_64\" or platform_machine == \"ppc64le\" or platform_machine == \"aarch64\""}
typing-extensions = ">=4.2.0"
[package.extras]
@@ -9095,7 +8758,6 @@ sqlcipher = ["sqlcipher3-binary"]
name = "sqlite-vss"
version = "0.1.2"
description = ""
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -9111,7 +8773,6 @@ test = ["pytest"]
name = "sqlitedict"
version = "2.1.0"
description = "Persistent dict in Python, backed up by sqlite3 and pickle, multithread-safe."
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -9122,7 +8783,6 @@ files = [
name = "sqlparams"
version = "5.1.0"
description = "Convert between various DB API 2.0 parameter styles."
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -9134,7 +8794,6 @@ files = [
name = "stack-data"
version = "0.6.2"
description = "Extract data from python stack frames and tracebacks for informative displays"
-category = "dev"
optional = false
python-versions = "*"
files = [
@@ -9154,7 +8813,6 @@ tests = ["cython", "littleutils", "pygments", "pytest", "typeguard"]
name = "streamlit"
version = "1.22.0"
description = "A faster way to build and share data apps"
-category = "main"
optional = true
python-versions = ">=3.7, !=3.9.7"
files = [
@@ -9195,7 +8853,6 @@ snowflake = ["snowflake-snowpark-python"]
name = "stringcase"
version = "1.2.0"
description = "String case converter."
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -9206,7 +8863,6 @@ files = [
name = "sympy"
version = "1.12"
description = "Computer algebra system (CAS) in Python"
-category = "main"
optional = true
python-versions = ">=3.8"
files = [
@@ -9221,7 +8877,6 @@ mpmath = ">=0.19"
name = "syrupy"
version = "4.2.1"
description = "Pytest Snapshot Test Utility"
-category = "dev"
optional = false
python-versions = ">=3.8.1,<4"
files = [
@@ -9237,7 +8892,6 @@ pytest = ">=7.0.0,<8.0.0"
name = "telethon"
version = "1.29.3"
description = "Full-featured Telegram client library for Python 3"
-category = "main"
optional = true
python-versions = ">=3.5"
files = [
@@ -9255,7 +8909,6 @@ cryptg = ["cryptg"]
name = "tenacity"
version = "8.2.3"
description = "Retry code until it succeeds"
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -9270,7 +8923,6 @@ doc = ["reno", "sphinx", "tornado (>=4.5)"]
name = "tensorboard"
version = "2.13.0"
description = "TensorBoard lets you watch Tensors Flow"
-category = "main"
optional = true
python-versions = ">=3.8"
files = [
@@ -9295,7 +8947,6 @@ wheel = ">=0.26"
name = "tensorboard-data-server"
version = "0.7.1"
description = "Fast data loading for TensorBoard"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -9308,7 +8959,6 @@ files = [
name = "tensorflow"
version = "2.13.0"
description = "TensorFlow is an open source machine learning framework for everyone."
-category = "main"
optional = true
python-versions = ">=3.8"
files = [
@@ -9361,7 +9011,6 @@ wrapt = ">=1.11.0"
name = "tensorflow-estimator"
version = "2.13.0"
description = "TensorFlow Estimator."
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -9372,7 +9021,6 @@ files = [
name = "tensorflow-hub"
version = "0.14.0"
description = "TensorFlow Hub is a library to foster the publication, discovery, and consumption of reusable parts of machine learning models."
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -9387,7 +9035,6 @@ protobuf = ">=3.19.6"
name = "tensorflow-io-gcs-filesystem"
version = "0.33.0"
description = "TensorFlow IO"
-category = "main"
optional = true
python-versions = ">=3.7, <3.12"
files = [
@@ -9418,7 +9065,6 @@ tensorflow-rocm = ["tensorflow-rocm (>=2.13.0,<2.14.0)"]
name = "tensorflow-macos"
version = "2.13.0"
description = "TensorFlow is an open source machine learning framework for everyone."
-category = "main"
optional = true
python-versions = ">=3.8"
files = [
@@ -9454,7 +9100,6 @@ wrapt = ">=1.11.0"
name = "tensorflow-text"
version = "2.13.0"
description = "TF.Text is a TensorFlow library of text related ops, modules, and subgraphs."
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -9479,7 +9124,6 @@ tests = ["absl-py", "pytest", "tensorflow-datasets (>=3.2.0)"]
name = "termcolor"
version = "2.3.0"
description = "ANSI color formatting for output in terminal"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -9494,7 +9138,6 @@ tests = ["pytest", "pytest-cov"]
name = "terminado"
version = "0.17.1"
description = "Tornado websocket backend for the Xterm.js Javascript terminal emulator library."
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -9515,7 +9158,6 @@ test = ["pre-commit", "pytest (>=7.0)", "pytest-timeout"]
name = "textstat"
version = "0.7.3"
description = "Calculate statistical features from text"
-category = "main"
optional = true
python-versions = ">=3.6"
files = [
@@ -9530,7 +9172,6 @@ pyphen = "*"
name = "threadpoolctl"
version = "3.2.0"
description = "threadpoolctl"
-category = "main"
optional = true
python-versions = ">=3.8"
files = [
@@ -9542,7 +9183,6 @@ files = [
name = "tigrisdb"
version = "1.0.0b6"
description = "Python SDK for Tigris "
-category = "main"
optional = true
python-versions = ">=3.8,<4.0"
files = [
@@ -9558,7 +9198,6 @@ protobuf = ">=3.19.6"
name = "tiktoken"
version = "0.3.3"
description = "tiktoken is a fast BPE tokeniser for use with OpenAI's models"
-category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -9604,7 +9243,6 @@ blobfile = ["blobfile (>=2)"]
name = "tinycss2"
version = "1.2.1"
description = "A tiny CSS parser"
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -9623,7 +9261,6 @@ test = ["flake8", "isort", "pytest"]
name = "tinysegmenter"
version = "0.3"
description = "Very compact Japanese tokenizer"
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -9634,7 +9271,6 @@ files = [
name = "tldextract"
version = "3.4.4"
description = "Accurately separates a URL's subdomain, domain, and public suffix, using the Public Suffix List (PSL). By default, this includes the public ICANN TLDs and their exceptions. You can optionally support the Public Suffix List's private domains as well."
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -9652,7 +9288,6 @@ requests-file = ">=1.4"
name = "tokenizers"
version = "0.13.3"
description = "Fast and Customizable Tokenizers"
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -9707,7 +9342,6 @@ testing = ["black (==22.3)", "datasets", "numpy", "pytest", "requests"]
name = "toml"
version = "0.10.2"
description = "Python Library for Tom's Obvious, Minimal Language"
-category = "main"
optional = false
python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
files = [
@@ -9719,7 +9353,6 @@ files = [
name = "tomli"
version = "2.0.1"
description = "A lil' TOML parser"
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -9731,7 +9364,6 @@ files = [
name = "toolz"
version = "0.12.0"
description = "List processing tools and functional utilities"
-category = "main"
optional = true
python-versions = ">=3.5"
files = [
@@ -9743,7 +9375,6 @@ files = [
name = "torch"
version = "1.13.1"
description = "Tensors and Dynamic neural networks in Python with strong GPU acceleration"
-category = "main"
optional = true
python-versions = ">=3.7.0"
files = [
@@ -9784,7 +9415,6 @@ opt-einsum = ["opt-einsum (>=3.3)"]
name = "torchvision"
version = "0.14.1"
description = "image and video datasets and models for torch deep learning"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -9811,7 +9441,7 @@ files = [
[package.dependencies]
numpy = "*"
-pillow = ">=5.3.0,<8.3.0 || >=8.4.0"
+pillow = ">=5.3.0,<8.3.dev0 || >=8.4.dev0"
requests = "*"
torch = "1.13.1"
typing-extensions = "*"
@@ -9823,7 +9453,6 @@ scipy = ["scipy"]
name = "tornado"
version = "6.3.3"
description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed."
-category = "main"
optional = false
python-versions = ">= 3.8"
files = [
@@ -9844,7 +9473,6 @@ files = [
name = "tqdm"
version = "4.66.1"
description = "Fast, Extensible Progress Meter"
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -9865,7 +9493,6 @@ telegram = ["requests"]
name = "traitlets"
version = "5.9.0"
description = "Traitlets Python configuration system"
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -9881,7 +9508,6 @@ test = ["argcomplete (>=2.0)", "pre-commit", "pytest", "pytest-mock"]
name = "transformers"
version = "4.32.0"
description = "State-of-the-art Machine Learning for JAX, PyTorch and TensorFlow"
-category = "main"
optional = true
python-versions = ">=3.8.0"
files = [
@@ -9951,7 +9577,6 @@ vision = ["Pillow (<10.0.0)"]
name = "tritonclient"
version = "2.34.0"
description = "Python client library and utilities for communicating with Triton Inference Server"
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -9973,7 +9598,6 @@ http = ["aiohttp (>=3.8.1,<4.0.0)", "geventhttpclient (>=1.4.4,<=2.0.2)", "numpy
name = "types-chardet"
version = "5.0.4.6"
description = "Typing stubs for chardet"
-category = "dev"
optional = false
python-versions = "*"
files = [
@@ -9985,7 +9609,6 @@ files = [
name = "types-protobuf"
version = "4.24.0.1"
description = "Typing stubs for protobuf"
-category = "dev"
optional = false
python-versions = "*"
files = [
@@ -9997,7 +9620,6 @@ files = [
name = "types-pyopenssl"
version = "23.2.0.2"
description = "Typing stubs for pyOpenSSL"
-category = "dev"
optional = false
python-versions = "*"
files = [
@@ -10012,7 +9634,6 @@ cryptography = ">=35.0.0"
name = "types-pytz"
version = "2023.3.0.1"
description = "Typing stubs for pytz"
-category = "dev"
optional = false
python-versions = "*"
files = [
@@ -10024,7 +9645,6 @@ files = [
name = "types-pyyaml"
version = "6.0.12.11"
description = "Typing stubs for PyYAML"
-category = "dev"
optional = false
python-versions = "*"
files = [
@@ -10036,7 +9656,6 @@ files = [
name = "types-redis"
version = "4.6.0.5"
description = "Typing stubs for redis"
-category = "dev"
optional = false
python-versions = "*"
files = [
@@ -10052,7 +9671,6 @@ types-pyOpenSSL = "*"
name = "types-requests"
version = "2.31.0.2"
description = "Typing stubs for requests"
-category = "main"
optional = false
python-versions = "*"
files = [
@@ -10067,7 +9685,6 @@ types-urllib3 = "*"
name = "types-toml"
version = "0.10.8.7"
description = "Typing stubs for toml"
-category = "dev"
optional = false
python-versions = "*"
files = [
@@ -10079,7 +9696,6 @@ files = [
name = "types-urllib3"
version = "1.26.25.14"
description = "Typing stubs for urllib3"
-category = "main"
optional = false
python-versions = "*"
files = [
@@ -10091,7 +9707,6 @@ files = [
name = "typing-extensions"
version = "4.5.0"
description = "Backported and Experimental Type Hints for Python 3.7+"
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -10103,7 +9718,6 @@ files = [
name = "typing-inspect"
version = "0.9.0"
description = "Runtime inspection utilities for typing module."
-category = "main"
optional = false
python-versions = "*"
files = [
@@ -10119,7 +9733,6 @@ typing-extensions = ">=3.7.4"
name = "tzdata"
version = "2023.3"
description = "Provider of IANA time zone data"
-category = "main"
optional = false
python-versions = ">=2"
files = [
@@ -10131,7 +9744,6 @@ files = [
name = "tzlocal"
version = "4.3.1"
description = "tzinfo object for the local timezone"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -10151,7 +9763,6 @@ devenv = ["black", "check-manifest", "flake8", "pyroma", "pytest (>=4.3)", "pyte
name = "uri-template"
version = "1.3.0"
description = "RFC 6570 URI Template Processor"
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -10166,7 +9777,6 @@ dev = ["flake8", "flake8-annotations", "flake8-bandit", "flake8-bugbear", "flake
name = "uritemplate"
version = "4.1.1"
description = "Implementation of RFC 6570 URI Templates"
-category = "main"
optional = true
python-versions = ">=3.6"
files = [
@@ -10178,7 +9788,6 @@ files = [
name = "urllib3"
version = "1.26.16"
description = "HTTP library with thread-safe connection pooling, file post, and more."
-category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*"
files = [
@@ -10195,7 +9804,6 @@ socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"]
name = "validators"
version = "0.21.0"
description = "Python Data Validation for Humans™"
-category = "main"
optional = true
python-versions = ">=3.8,<4.0"
files = [
@@ -10207,7 +9815,6 @@ files = [
name = "vcrpy"
version = "5.1.0"
description = "Automatically mock your HTTP interactions to simplify and speed up testing"
-category = "dev"
optional = false
python-versions = ">=3.8"
files = [
@@ -10225,7 +9832,6 @@ yarl = "*"
name = "watchdog"
version = "3.0.0"
description = "Filesystem events monitoring"
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -10265,7 +9871,6 @@ watchmedo = ["PyYAML (>=3.10)"]
name = "wcwidth"
version = "0.2.6"
description = "Measures the displayed width of unicode strings in a terminal"
-category = "dev"
optional = false
python-versions = "*"
files = [
@@ -10277,7 +9882,6 @@ files = [
name = "weaviate-client"
version = "3.23.0"
description = "A python native Weaviate client"
-category = "main"
optional = true
python-versions = ">=3.8"
files = [
@@ -10298,7 +9902,6 @@ grpc = ["grpcio", "grpcio-tools"]
name = "webcolors"
version = "1.13"
description = "A library for working with the color formats defined by HTML and CSS."
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -10314,7 +9917,6 @@ tests = ["pytest", "pytest-cov"]
name = "webencodings"
version = "0.5.1"
description = "Character encoding aliases for legacy web content"
-category = "dev"
optional = false
python-versions = "*"
files = [
@@ -10326,7 +9928,6 @@ files = [
name = "websocket-client"
version = "1.6.2"
description = "WebSocket client for Python with low level API options"
-category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -10343,7 +9944,6 @@ test = ["websockets"]
name = "websockets"
version = "11.0.3"
description = "An implementation of the WebSocket Protocol (RFC 6455 & 7692)"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -10423,7 +10023,6 @@ files = [
name = "werkzeug"
version = "2.3.7"
description = "The comprehensive WSGI web application library."
-category = "main"
optional = true
python-versions = ">=3.8"
files = [
@@ -10441,7 +10040,6 @@ watchdog = ["watchdog (>=2.3)"]
name = "wget"
version = "3.2"
description = "pure python download utility"
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -10452,7 +10050,6 @@ files = [
name = "wheel"
version = "0.41.2"
description = "A built-package format for Python"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -10467,7 +10064,6 @@ test = ["pytest (>=6.0.0)", "setuptools (>=65)"]
name = "whylabs-client"
version = "0.5.4"
description = "WhyLabs API client"
-category = "main"
optional = true
python-versions = ">=3.6"
files = [
@@ -10483,7 +10079,6 @@ urllib3 = ">=1.25.3"
name = "whylogs"
version = "1.2.6"
description = "Profile and monitor your ML data pipeline end-to-end"
-category = "main"
optional = true
python-versions = ">=3.7.1,<4"
files = [
@@ -10517,7 +10112,6 @@ viz = ["Pillow (>=9.2.0,<10.0.0)", "ipython", "numpy", "numpy (>=1.23.2)", "pyba
name = "whylogs-sketching"
version = "3.4.1.dev3"
description = "sketching library of whylogs"
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -10558,7 +10152,6 @@ files = [
name = "widgetsnbextension"
version = "4.0.8"
description = "Jupyter interactive widgets for Jupyter Notebook"
-category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -10570,7 +10163,6 @@ files = [
name = "wikipedia"
version = "1.4.0"
description = "Wikipedia API for Python"
-category = "main"
optional = true
python-versions = "*"
files = [
@@ -10585,7 +10177,6 @@ requests = ">=2.0.0,<3.0.0"
name = "win32-setctime"
version = "1.1.0"
description = "A small Python utility to set file creation time on Windows"
-category = "main"
optional = true
python-versions = ">=3.5"
files = [
@@ -10600,7 +10191,6 @@ dev = ["black (>=19.3b0)", "pytest (>=4.6.2)"]
name = "wolframalpha"
version = "5.0.0"
description = "Wolfram|Alpha 2.0 API client"
-category = "main"
optional = true
python-versions = ">=3.6"
files = [
@@ -10621,7 +10211,6 @@ testing = ["keyring", "pmxbot", "pytest (>=3.5,!=3.7.3)", "pytest-black (>=0.3.7
name = "wonderwords"
version = "2.2.0"
description = "A python package for random words and sentences in the english language"
-category = "main"
optional = true
python-versions = ">=3.6"
files = [
@@ -10636,7 +10225,6 @@ cli = ["rich (==9.10.0)"]
name = "wrapt"
version = "1.15.0"
description = "Module for decorators, wrappers and monkey patching."
-category = "main"
optional = false
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7"
files = [
@@ -10721,7 +10309,6 @@ files = [
name = "xata"
version = "1.0.0b0"
description = "Python client for Xata.io"
-category = "main"
optional = true
python-versions = ">=3.8,<4.0"
files = [
@@ -10739,7 +10326,6 @@ requests = ">=2.28.1,<3.0.0"
name = "xmltodict"
version = "0.13.0"
description = "Makes working with XML feel like you are working with JSON"
-category = "main"
optional = true
python-versions = ">=3.4"
files = [
@@ -10751,7 +10337,6 @@ files = [
name = "yarl"
version = "1.9.2"
description = "Yet another URL library"
-category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -10839,7 +10424,6 @@ multidict = ">=4.0"
name = "zipp"
version = "3.16.2"
description = "Backport of pathlib-compatible object wrapper for zip files"
-category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -10855,7 +10439,6 @@ testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "p
name = "zstandard"
version = "0.21.0"
description = "Zstandard bindings for Python"
-category = "main"
optional = true
python-versions = ">=3.7"
files = [
@@ -10911,15 +10494,15 @@ cffi = {version = ">=1.11", markers = "platform_python_implementation == \"PyPy\
cffi = ["cffi (>=1.11)"]
[extras]
-all = ["clarifai", "cohere", "openai", "nlpcloud", "huggingface_hub", "manifest-ml", "elasticsearch", "opensearch-py", "google-search-results", "faiss-cpu", "sentence-transformers", "transformers", "nltk", "wikipedia", "beautifulsoup4", "tiktoken", "torch", "jinja2", "pinecone-client", "pinecone-text", "marqo", "pymongo", "weaviate-client", "redis", "google-api-python-client", "google-auth", "wolframalpha", "qdrant-client", "tensorflow-text", "pypdf", "networkx", "nomic", "aleph-alpha-client", "deeplake", "libdeeplake", "pgvector", "psycopg2-binary", "pyowm", "pytesseract", "html2text", "atlassian-python-api", "gptcache", "duckduckgo-search", "arxiv", "azure-identity", "clickhouse-connect", "azure-cosmos", "lancedb", "langkit", "lark", "pexpect", "pyvespa", "O365", "jq", "docarray", "pdfminer-six", "lxml", "requests-toolbelt", "neo4j", "openlm", "azure-ai-formrecognizer", "azure-ai-vision", "azure-cognitiveservices-speech", "momento", "singlestoredb", "tigrisdb", "nebula3-python", "awadb", "esprima", "rdflib", "amadeus", "librosa", "python-arango"]
-azure = ["azure-identity", "azure-cosmos", "openai", "azure-core", "azure-ai-formrecognizer", "azure-ai-vision", "azure-cognitiveservices-speech", "azure-search-documents"]
+all = ["O365", "aleph-alpha-client", "amadeus", "arxiv", "atlassian-python-api", "awadb", "azure-ai-formrecognizer", "azure-ai-vision", "azure-cognitiveservices-speech", "azure-cosmos", "azure-identity", "beautifulsoup4", "clarifai", "clickhouse-connect", "cohere", "deeplake", "docarray", "duckduckgo-search", "elasticsearch", "esprima", "faiss-cpu", "google-api-python-client", "google-auth", "google-search-results", "gptcache", "html2text", "huggingface_hub", "jinja2", "jq", "konko", "lancedb", "langkit", "lark", "libdeeplake", "librosa", "lxml", "manifest-ml", "marqo", "momento", "nebula3-python", "neo4j", "networkx", "nlpcloud", "nltk", "nomic", "openai", "openlm", "opensearch-py", "pdfminer-six", "pexpect", "pgvector", "pinecone-client", "pinecone-text", "psycopg2-binary", "pymongo", "pyowm", "pypdf", "pytesseract", "python-arango", "pyvespa", "qdrant-client", "rdflib", "redis", "requests-toolbelt", "sentence-transformers", "singlestoredb", "tensorflow-text", "tigrisdb", "tiktoken", "torch", "transformers", "weaviate-client", "wikipedia", "wolframalpha"]
+azure = ["azure-ai-formrecognizer", "azure-ai-vision", "azure-cognitiveservices-speech", "azure-core", "azure-cosmos", "azure-identity", "azure-search-documents", "openai"]
clarifai = ["clarifai"]
cohere = ["cohere"]
docarray = ["docarray"]
embeddings = ["sentence-transformers"]
-extended-testing = ["amazon-textract-caller", "assemblyai", "beautifulsoup4", "bibtexparser", "cassio", "chardet", "esprima", "jq", "pdfminer-six", "pgvector", "pypdf", "pymupdf", "pypdfium2", "tqdm", "lxml", "atlassian-python-api", "mwparserfromhell", "mwxml", "pandas", "telethon", "psychicapi", "gql", "requests-toolbelt", "html2text", "py-trello", "scikit-learn", "streamlit", "pyspark", "openai", "sympy", "rapidfuzz", "openai", "rank-bm25", "geopandas", "jinja2", "gitpython", "newspaper3k", "feedparser", "xata", "xmltodict", "faiss-cpu", "openapi-schema-pydantic", "markdownify", "dashvector", "sqlite-vss"]
+extended-testing = ["amazon-textract-caller", "assemblyai", "atlassian-python-api", "beautifulsoup4", "bibtexparser", "cassio", "chardet", "dashvector", "esprima", "faiss-cpu", "feedparser", "geopandas", "gitpython", "gql", "html2text", "jinja2", "jq", "konko", "lxml", "markdownify", "mwparserfromhell", "mwxml", "newspaper3k", "openai", "openai", "openapi-schema-pydantic", "pandas", "pdfminer-six", "pgvector", "psychicapi", "py-trello", "pymupdf", "pypdf", "pypdfium2", "pyspark", "rank-bm25", "rapidfuzz", "requests-toolbelt", "scikit-learn", "sqlite-vss", "streamlit", "sympy", "telethon", "tqdm", "xata", "xmltodict"]
javascript = ["esprima"]
-llms = ["clarifai", "cohere", "openai", "openlm", "nlpcloud", "huggingface_hub", "manifest-ml", "torch", "transformers"]
+llms = ["clarifai", "cohere", "huggingface_hub", "konko", "manifest-ml", "nlpcloud", "openai", "openlm", "torch", "transformers"]
openai = ["openai", "tiktoken"]
qdrant = ["qdrant-client"]
text-helpers = ["chardet"]
@@ -10927,4 +10510,4 @@ text-helpers = ["chardet"]
[metadata]
lock-version = "2.0"
python-versions = ">=3.8.1,<4.0"
-content-hash = "b63078268a80c07577b432114302f4f86d47be25b83a245affb0dbc999fb2c1f"
+content-hash = "47412cb06a11e383815fbefec7855a841701ed3e385da048d3b72351bd195cdf"
diff --git a/libs/langchain/pyproject.toml b/libs/langchain/pyproject.toml
index e9df12a9911..cd296c39d21 100644
--- a/libs/langchain/pyproject.toml
+++ b/libs/langchain/pyproject.toml
@@ -129,6 +129,7 @@ markdownify = {version = "^0.11.6", optional = true}
assemblyai = {version = "^0.17.0", optional = true}
dashvector = {version = "^1.0.1", optional = true}
sqlite-vss = {version = "^0.1.2", optional = true}
+konko = {version = "^0.4.0", optional = true}
[tool.poetry.group.test.dependencies]
@@ -201,7 +202,7 @@ playwright = "^1.28.0"
setuptools = "^67.6.1"
[tool.poetry.extras]
-llms = ["clarifai", "cohere", "openai", "openlm", "nlpcloud", "huggingface_hub", "manifest-ml", "torch", "transformers"]
+llms = ["clarifai", "cohere", "openai", "openlm", "nlpcloud", "huggingface_hub", "manifest-ml", "torch", "transformers", "konko"]
qdrant = ["qdrant-client"]
openai = ["openai", "tiktoken"]
text_helpers = ["chardet"]
@@ -294,6 +295,7 @@ all = [
"amadeus",
"librosa",
"python-arango",
+ "konko",
]
# An extra used to be able to add extended testing.
@@ -345,6 +347,7 @@ extended_testing = [
"markdownify",
"dashvector",
"sqlite-vss",
+ "konko",
]
[tool.ruff]
diff --git a/libs/langchain/tests/integration_tests/chat_models/test_konko.py b/libs/langchain/tests/integration_tests/chat_models/test_konko.py
new file mode 100644
index 00000000000..576f1634984
--- /dev/null
+++ b/libs/langchain/tests/integration_tests/chat_models/test_konko.py
@@ -0,0 +1,184 @@
+"""Evaluate ChatKonko Interface."""
+from typing import Any
+
+import pytest
+
+from langchain.callbacks.manager import CallbackManager
+from langchain.chat_models.konko import ChatKonko
+from langchain.schema import (
+ ChatGeneration,
+ ChatResult,
+ LLMResult,
+)
+from langchain.schema.messages import BaseMessage, HumanMessage, SystemMessage
+from tests.unit_tests.callbacks.fake_callback_handler import FakeCallbackHandler
+
+
+@pytest.mark.scheduled
+def test_konko_chat_test() -> None:
+ """Evaluate basic ChatKonko functionality."""
+ chat_instance = ChatKonko(max_tokens=10)
+ msg = HumanMessage(content="Hi")
+ chat_response = chat_instance([msg])
+ assert isinstance(chat_response, BaseMessage)
+ assert isinstance(chat_response.content, str)
+
+
+def test_konko_chat_test_openai() -> None:
+ """Evaluate basic ChatKonko functionality."""
+ chat_instance = ChatKonko(max_tokens=10, model="gpt-3.5-turbo")
+ msg = HumanMessage(content="Hi")
+ chat_response = chat_instance([msg])
+ assert isinstance(chat_response, BaseMessage)
+ assert isinstance(chat_response.content, str)
+
+
+def test_konko_model_test() -> None:
+ """Check how ChatKonko manages model_name."""
+ chat_instance = ChatKonko(model="alpha")
+ assert chat_instance.model == "alpha"
+ chat_instance = ChatKonko(model="beta")
+ assert chat_instance.model == "beta"
+
+
+def test_konko_available_model_test() -> None:
+ """Check how ChatKonko manages model_name."""
+ chat_instance = ChatKonko(max_tokens=10, n=2)
+ res = chat_instance.get_available_models()
+ assert isinstance(res, set)
+
+
+def test_konko_system_msg_test() -> None:
+ """Evaluate ChatKonko's handling of system messages."""
+ chat_instance = ChatKonko(max_tokens=10)
+ sys_msg = SystemMessage(content="Initiate user chat.")
+ user_msg = HumanMessage(content="Hi there")
+ chat_response = chat_instance([sys_msg, user_msg])
+ assert isinstance(chat_response, BaseMessage)
+ assert isinstance(chat_response.content, str)
+
+
+@pytest.mark.scheduled
+def test_konko_generation_test() -> None:
+ """Check ChatKonko's generation ability."""
+ chat_instance = ChatKonko(max_tokens=10, n=2)
+ msg = HumanMessage(content="Hi")
+ gen_response = chat_instance.generate([[msg], [msg]])
+ assert isinstance(gen_response, LLMResult)
+ assert len(gen_response.generations) == 2
+ for gen_list in gen_response.generations:
+ assert len(gen_list) == 2
+ for gen in gen_list:
+ assert isinstance(gen, ChatGeneration)
+ assert isinstance(gen.text, str)
+ assert gen.text == gen.message.content
+
+
+@pytest.mark.scheduled
+def test_konko_multiple_outputs_test() -> None:
+ """Test multiple completions with ChatKonko."""
+ chat_instance = ChatKonko(max_tokens=10, n=5)
+ msg = HumanMessage(content="Hi")
+ gen_response = chat_instance._generate([msg])
+ assert isinstance(gen_response, ChatResult)
+ assert len(gen_response.generations) == 5
+ for gen in gen_response.generations:
+ assert isinstance(gen.message, BaseMessage)
+ assert isinstance(gen.message.content, str)
+
+
+@pytest.mark.scheduled
+def test_konko_streaming_callback_test() -> None:
+ """Evaluate streaming's token callback functionality."""
+ callback_instance = FakeCallbackHandler()
+ callback_mgr = CallbackManager([callback_instance])
+ chat_instance = ChatKonko(
+ max_tokens=10,
+ streaming=True,
+ temperature=0,
+ callback_manager=callback_mgr,
+ verbose=True,
+ )
+ msg = HumanMessage(content="Hi")
+ chat_response = chat_instance([msg])
+ assert callback_instance.llm_streams > 0
+ assert isinstance(chat_response, BaseMessage)
+
+
+@pytest.mark.scheduled
+def test_konko_streaming_info_test() -> None:
+ """Ensure generation details are retained during streaming."""
+
+ class TestCallback(FakeCallbackHandler):
+ data_store: dict = {}
+
+ def on_llm_end(self, *args: Any, **kwargs: Any) -> Any:
+ self.data_store["generation"] = args[0]
+
+ callback_instance = TestCallback()
+ callback_mgr = CallbackManager([callback_instance])
+ chat_instance = ChatKonko(
+ max_tokens=2,
+ temperature=0,
+ callback_manager=callback_mgr,
+ )
+ list(chat_instance.stream("hey"))
+ gen_data = callback_instance.data_store["generation"]
+ assert gen_data.generations[0][0].text == " Hey"
+
+
+def test_konko_llm_model_name_test() -> None:
+ """Check if llm_output has model info."""
+ chat_instance = ChatKonko(max_tokens=10)
+ msg = HumanMessage(content="Hi")
+ llm_data = chat_instance.generate([[msg]])
+ assert llm_data.llm_output is not None
+ assert llm_data.llm_output["model_name"] == chat_instance.model
+
+
+def test_konko_streaming_model_name_test() -> None:
+ """Check model info during streaming."""
+ chat_instance = ChatKonko(max_tokens=10, streaming=True)
+ msg = HumanMessage(content="Hi")
+ llm_data = chat_instance.generate([[msg]])
+ assert llm_data.llm_output is not None
+ assert llm_data.llm_output["model_name"] == chat_instance.model
+
+
+def test_konko_streaming_param_validation_test() -> None:
+ """Ensure correct token callback during streaming."""
+ with pytest.raises(ValueError):
+ ChatKonko(
+ max_tokens=10,
+ streaming=True,
+ temperature=0,
+ n=5,
+ )
+
+
+def test_konko_additional_args_test() -> None:
+ """Evaluate extra arguments for ChatKonko."""
+ chat_instance = ChatKonko(extra=3, max_tokens=10)
+ assert chat_instance.max_tokens == 10
+ assert chat_instance.model_kwargs == {"extra": 3}
+
+ chat_instance = ChatKonko(extra=3, model_kwargs={"addition": 2})
+ assert chat_instance.model_kwargs == {"extra": 3, "addition": 2}
+
+ with pytest.raises(ValueError):
+ ChatKonko(extra=3, model_kwargs={"extra": 2})
+
+ with pytest.raises(ValueError):
+ ChatKonko(model_kwargs={"temperature": 0.2})
+
+ with pytest.raises(ValueError):
+ ChatKonko(model_kwargs={"model": "text-davinci-003"})
+
+
+@pytest.mark.scheduled
+def test_konko_token_streaming_test() -> None:
+ """Check token streaming for ChatKonko."""
+ chat_instance = ChatKonko(max_tokens=10)
+
+ for token in chat_instance.stream("Just a test"):
+ assert isinstance(token.content, str)