diff --git a/api/models/model.py b/api/models/model.py index 7d0b2a035..bc0f7798a 100644 --- a/api/models/model.py +++ b/api/models/model.py @@ -872,64 +872,72 @@ def data_resources(self): """ 工具数据源, 根据思考数据获取指定工具的数据源, tool_id 获取指定字段 """ - retriever_resource_config = self.app_model_config.retriever_resource_dict['resources'] - data_resources = [] - no_repeat_data = {} - for node in retriever_resource_config: - for agent_thought in self.agent_thoughts: - # 限制工具 - if agent_thought.tool != node['id']: - continue - data_resource = {} - # 类型 node-节点, tool-工具 - data_resource['type'] = node['type'] or "node/tool" - # 节点或工具的id - data_resource['id'] = agent_thought.tool - # 来源字段 - if 'src_column' in node: - data_resource['src_column'] = node['src_column'] - # 数据类型(中文) - if 'data_type' in node: - data_resource['data_type'] = node['data_type'] - # ! 索引的匹配字段 - if 'match_column' in node: - data_resource['match_column'] = node['match_column'] - # 展示字段 - if 'show_column' in node: - data_resource['show_column'] = node['show_column'] - # 链接 - if 'to_link' in node: - data_resource['to_link'] = node['to_link'] - - # 数据 - if agent_thought.tool and agent_thought.tool_outputs_dict: - _data = agent_thought.tool_outputs_dict[agent_thought.tool] - try: - data = json.loads(_data) - if 'Data' in data: - data = data['Data'] - elif 'data' in data: - data = data['data'] - else: - data = data[data_resource['src_column']] - # 限制字段 - filtered_data = [] - for row in data: - filtered_row = {key: value for key, value in row.items() if key in data_resource['show_column']} - # 跳转链接,其中%s动态替换为match_column,示例[完整链接,以https或者http开头: https://fs.investoday.net/xxxx?guid=%s, 内部链接(以/开头): /pages/to?guid=%s] - if 'match_column' in data_resource and data_resource['match_column'] in row: - filtered_row['to_link'] = f"{data_resource['to_link']}?{data_resource['match_column']}={row[data_resource['match_column']]}" - filtered_data.append(filtered_row) - data = filtered_data - except Exception: - data = _data.split('\n') if _data else [] - - data_resource['data'] = data - if data_resource: - no_repeat_data[data_resource['id']] = data_resource - for i in no_repeat_data.values(): - data_resources.append(i) - return data_resources + try: + if 'resources' in self.app_model_config.retriever_resource_dict: + retriever_resource_config = self.app_model_config.retriever_resource_dict['resources'] + else: + return ['未配置'] + data_resources = [] + no_repeat_data = {} + for node in retriever_resource_config: + for agent_thought in self.agent_thoughts: + # 限制工具 + if node['id'] not in agent_thought.tool_inputs_dict: + continue + data_resource = {} + # 类型 node-节点, tool-工具 + data_resource['type'] = node['type'] or "node/tool" + # 节点或工具的id + data_resource['id'] = node['id'] + # 来源字段 + if 'src_column' in node: + data_resource['src_column'] = node['src_column'] + # 数据类型(中文) + if 'data_type' in node: + data_resource['data_type'] = node['data_type'] + # ! 索引的匹配字段 + if 'match_column' in node: + data_resource['match_column'] = node['match_column'] + # 展示字段 + if 'show_column' in node: + data_resource['show_column'] = node['show_column'] + # 链接 + if 'to_link' in node: + data_resource['to_link'] = node['to_link'] + + # 数据 + if agent_thought.tool_outputs_dict: + _data = agent_thought.tool_outputs_dict[node['id']] + try: + data = json.loads(_data) + if 'Data' in data: + data = data['Data'] + elif 'data' in data: + data = data['data'] + else: + data = data[data_resource['src_column']] + # 限制字段 + filtered_data = [] + for row in data: + filtered_row = {key: value for key, value in row.items() if + key in data_resource['show_column']} + # 跳转链接,其中%s动态替换为match_column,示例[完整链接,以https或者http开头: https://fs.investoday.net/xxxx?guid=%s, 内部链接(以/开头): /pages/to?guid=%s] + if 'match_column' in data_resource and data_resource['match_column'] in row: + filtered_row[ + 'to_link'] = f"{data_resource['to_link']}?{data_resource['match_column']}={row[data_resource['match_column']]}" + filtered_data.append(filtered_row) + data = filtered_data + except Exception: + data = _data.split('\n') if _data else [] + + data_resource['data'] = data + if data_resource: + no_repeat_data[data_resource['id']] = data_resource + for i in no_repeat_data.values(): + data_resources.append(i) + return data_resources + except Exception as e: + pass @property def message_files(self): diff --git a/api/poetry.lock b/api/poetry.lock index 0c2abc36c..a191e1fcc 100644 --- a/api/poetry.lock +++ b/api/poetry.lock @@ -11,11 +11,6 @@ files = [ {file = "aiohappyeyeballs-2.4.0.tar.gz", hash = "sha256:55a1714f084e63d49639800f95716da97a1f173d46a16dfcfda0016abb93b6b2"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "aiohttp" version = "3.10.5" @@ -128,11 +123,6 @@ yarl = ">=1.0,<2.0" [package.extras] speedups = ["Brotli", "aiodns (>=3.2.0)", "brotlicffi"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "aiohttp-retry" version = "2.8.3" @@ -147,11 +137,6 @@ files = [ [package.dependencies] aiohttp = "*" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "aiosignal" version = "1.3.1" @@ -166,11 +151,6 @@ files = [ [package.dependencies] frozenlist = ">=1.1.0" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "alembic" version = "1.13.2" @@ -190,11 +170,6 @@ typing-extensions = ">=4" [package.extras] tz = ["backports.zoneinfo"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "alibabacloud-credentials" version = "0.3.5" @@ -208,11 +183,6 @@ files = [ [package.dependencies] alibabacloud-tea = ">=0.3.9" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "alibabacloud-endpoint-util" version = "0.0.3" @@ -226,11 +196,6 @@ files = [ [package.dependencies] alibabacloud-tea = ">=0.0.1" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "alibabacloud-gateway-spi" version = "0.0.2" @@ -244,11 +209,6 @@ files = [ [package.dependencies] alibabacloud_credentials = ">=0.3.4,<1.0.0" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "alibabacloud-gpdb20160503" version = "3.8.3" @@ -270,11 +230,6 @@ alibabacloud-tea-fileform = ">=0.0.3,<1.0.0" alibabacloud-tea-openapi = ">=0.3.10,<1.0.0" alibabacloud-tea-util = ">=0.3.12,<1.0.0" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "alibabacloud-openapi-util" version = "0.2.2" @@ -289,11 +244,6 @@ files = [ alibabacloud_tea_util = ">=0.0.2" cryptography = ">=3.0.0" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "alibabacloud-openplatform20191219" version = "2.0.0" @@ -311,11 +261,6 @@ alibabacloud-openapi-util = ">=0.1.6,<1.0.0" alibabacloud-tea-openapi = ">=0.3.3,<1.0.0" alibabacloud-tea-util = ">=0.3.6,<1.0.0" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "alibabacloud-oss-sdk" version = "0.1.0" @@ -333,11 +278,6 @@ alibabacloud_tea_fileform = ">=0.0.3,<1.0.0" alibabacloud_tea_util = ">=0.3.1,<1.0.0" alibabacloud_tea_xml = ">=0.0.2,<1.0.0" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "alibabacloud-oss-util" version = "0.0.6" @@ -351,11 +291,6 @@ files = [ [package.dependencies] alibabacloud-tea = "*" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "alibabacloud-tea" version = "0.3.9" @@ -371,11 +306,6 @@ files = [ aiohttp = ">=3.7.0,<4.0.0" requests = ">=2.21.0,<3.0.0" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "alibabacloud-tea-fileform" version = "0.0.5" @@ -389,11 +319,6 @@ files = [ [package.dependencies] alibabacloud-tea = ">=0.0.1" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "alibabacloud-tea-openapi" version = "0.3.11" @@ -411,11 +336,6 @@ alibabacloud_openapi_util = ">=0.2.1,<1.0.0" alibabacloud_tea_util = ">=0.3.13,<1.0.0" alibabacloud_tea_xml = ">=0.0.2,<1.0.0" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "alibabacloud-tea-util" version = "0.3.13" @@ -429,11 +349,6 @@ files = [ [package.dependencies] alibabacloud-tea = ">=0.3.3" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "alibabacloud-tea-xml" version = "0.0.2" @@ -447,11 +362,6 @@ files = [ [package.dependencies] alibabacloud-tea = ">=0.0.1" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "aliyun-python-sdk-core" version = "2.15.2" @@ -466,11 +376,6 @@ files = [ cryptography = ">=3.0.0" jmespath = ">=0.9.3,<1.0.0" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "aliyun-python-sdk-kms" version = "2.16.5" @@ -485,11 +390,6 @@ files = [ [package.dependencies] aliyun-python-sdk-core = ">=2.11.5" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "amqp" version = "5.2.0" @@ -504,11 +404,6 @@ files = [ [package.dependencies] vine = ">=5.0.0,<6.0.0" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "aniso8601" version = "9.0.1" @@ -523,11 +418,6 @@ files = [ [package.extras] dev = ["black", "coverage", "isort", "pre-commit", "pyenchant", "pylint"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "annotated-types" version = "0.7.0" @@ -539,11 +429,6 @@ files = [ {file = "annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "anthropic" version = "0.23.1" @@ -568,20 +453,15 @@ typing-extensions = ">=4.7,<5" bedrock = ["boto3 (>=1.28.57)", "botocore (>=1.31.57)"] vertex = ["google-auth (>=2,<3)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "anyio" -version = "4.4.0" +version = "4.5.0" description = "High level compatibility layer for multiple asynchronous event loop implementations" optional = false python-versions = ">=3.8" files = [ - {file = "anyio-4.4.0-py3-none-any.whl", hash = "sha256:c1b2d8f46a8a812513012e1107cb0e68c17159a7a594208005a57dc776e1bdc7"}, - {file = "anyio-4.4.0.tar.gz", hash = "sha256:5aadc6a1bbb7cdb0bede386cac5e2940f5e2ff3aa20277e991cf028e0585ce94"}, + {file = "anyio-4.5.0-py3-none-any.whl", hash = "sha256:fdeb095b7cc5a5563175eedd926ec4ae55413bb4be5770c424af0ba46ccb4a78"}, + {file = "anyio-4.5.0.tar.gz", hash = "sha256:c5a275fe5ca0afd788001f58fca1e69e29ce706d746e317d660e21f70c530ef9"}, ] [package.dependencies] @@ -591,14 +471,9 @@ sniffio = ">=1.1" typing-extensions = {version = ">=4.1", markers = "python_version < \"3.11\""} [package.extras] -doc = ["Sphinx (>=7)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme"] -test = ["anyio[trio]", "coverage[toml] (>=7)", "exceptiongroup (>=1.2.0)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "uvloop (>=0.17)"] -trio = ["trio (>=0.23)"] - -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" +doc = ["Sphinx (>=7.4,<8.0)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme"] +test = ["anyio[trio]", "coverage[toml] (>=7)", "exceptiongroup (>=1.2.0)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "uvloop (>=0.21.0b1)"] +trio = ["trio (>=0.26.1)"] [[package]] name = "arxiv" @@ -615,11 +490,6 @@ files = [ feedparser = "6.0.10" requests = "2.31.0" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "asgiref" version = "3.8.1" @@ -637,11 +507,6 @@ typing-extensions = {version = ">=4", markers = "python_version < \"3.11\""} [package.extras] tests = ["mypy (>=0.800)", "pytest", "pytest-asyncio"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "async-timeout" version = "4.0.3" @@ -653,11 +518,6 @@ files = [ {file = "async_timeout-4.0.3-py3-none-any.whl", hash = "sha256:7405140ff1230c310e51dc27b3145b9092d659ce68ff733fb0cefe3ee42be028"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "attrs" version = "23.2.0" @@ -677,11 +537,6 @@ tests = ["attrs[tests-no-zope]", "zope-interface"] tests-mypy = ["mypy (>=1.6)", "pytest-mypy-plugins"] tests-no-zope = ["attrs[tests-mypy]", "cloudpickle", "hypothesis", "pympler", "pytest (>=4.3.0)", "pytest-xdist[psutil]"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "authlib" version = "1.3.1" @@ -696,11 +551,6 @@ files = [ [package.dependencies] cryptography = "*" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "azure-ai-inference" version = "1.0.0b4" @@ -717,11 +567,6 @@ azure-core = ">=1.30.0" isodate = ">=0.6.1" typing-extensions = ">=4.6.0" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "azure-ai-ml" version = "1.20.0" @@ -758,11 +603,6 @@ typing-extensions = "*" designer = ["mldesigner"] mount = ["azureml-dataprep-rslex (>=2.22.0)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "azure-common" version = "1.1.28" @@ -774,11 +614,6 @@ files = [ {file = "azure_common-1.1.28-py2.py3-none-any.whl", hash = "sha256:5c12d3dcf4ec20599ca6b0d3e09e86e146353d443e7fcc050c9a19c1f9df20ad"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "azure-core" version = "1.31.0" @@ -798,11 +633,6 @@ typing-extensions = ">=4.6.0" [package.extras] aio = ["aiohttp (>=3.0)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "azure-identity" version = "1.16.1" @@ -820,11 +650,6 @@ cryptography = ">=2.5" msal = ">=1.24.0" msal-extensions = ">=0.3.0" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "azure-mgmt-core" version = "1.4.0" @@ -839,11 +664,6 @@ files = [ [package.dependencies] azure-core = ">=1.26.2,<2.0.0" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "azure-storage-blob" version = "12.13.0" @@ -860,11 +680,6 @@ azure-core = ">=1.23.1,<2.0.0" cryptography = ">=2.1.4" msrest = ">=0.6.21" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "azure-storage-file-datalake" version = "12.8.0" @@ -881,35 +696,25 @@ azure-core = ">=1.23.1,<2.0.0" azure-storage-blob = ">=12.13.0,<13.0.0" msrest = ">=0.6.21" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "azure-storage-file-share" -version = "12.17.0" +version = "12.18.0" description = "Microsoft Azure Azure File Share Storage Client Library for Python" optional = false python-versions = ">=3.8" files = [ - {file = "azure-storage-file-share-12.17.0.tar.gz", hash = "sha256:f7b2c6cfc1b7cb80097a53b1ed2efa9e545b49a291430d369cdb49fafbc841d6"}, - {file = "azure_storage_file_share-12.17.0-py3-none-any.whl", hash = "sha256:c4652759a9d529bf08881bb53275bf38774bb643746b849d27c47118f9cf923d"}, + {file = "azure_storage_file_share-12.18.0-py3-none-any.whl", hash = "sha256:23ca35206a0cb8af0decd9d1363d0ad8ab31584a5e55cfc64528d7192ff748a9"}, + {file = "azure_storage_file_share-12.18.0.tar.gz", hash = "sha256:0a81daee5e13598accde3c73b1aeccc6edfdcec5e957bf40150c0622fb95dc76"}, ] [package.dependencies] -azure-core = ">=1.28.0" +azure-core = ">=1.30.0" cryptography = ">=2.1.4" isodate = ">=0.6.1" typing-extensions = ">=4.6.0" [package.extras] -aio = ["azure-core[aio] (>=1.28.0)"] - -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" +aio = ["azure-core[aio] (>=1.30.0)"] [[package]] name = "backoff" @@ -922,11 +727,6 @@ files = [ {file = "backoff-2.2.1.tar.gz", hash = "sha256:03f829f5bb1923180821643f8753b0502c3b682293992485b0eef2807afa5cba"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "bcrypt" version = "4.2.0" @@ -967,11 +767,6 @@ files = [ tests = ["pytest (>=3.2.1,!=3.3.0)"] typecheck = ["mypy"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "beautifulsoup4" version = "4.12.2" @@ -990,11 +785,6 @@ soupsieve = ">1.2" html5lib = ["html5lib"] lxml = ["lxml"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "billiard" version = "4.2.0" @@ -1006,11 +796,6 @@ files = [ {file = "billiard-4.2.0.tar.gz", hash = "sha256:9a3c3184cb275aa17a732f93f65b20c525d3d9f253722d26a82194803ade5a2c"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "blinker" version = "1.8.2" @@ -1022,17 +807,12 @@ files = [ {file = "blinker-1.8.2.tar.gz", hash = "sha256:8f77b09d3bf7c795e969e9486f39c2c5e9c39d4ee07424be2bc594ece9642d83"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "boto3" version = "1.35.17" description = "The AWS SDK for Python" optional = false -python-versions = ">= 3.8" +python-versions = ">=3.8" files = [ {file = "boto3-1.35.17-py3-none-any.whl", hash = "sha256:67268aa6c4043e9fdeb4ab3c1e9032f44a6fa168c789af5e351f63f1f8880a2f"}, {file = "boto3-1.35.17.tar.gz", hash = "sha256:4a32db8793569ee5f13c5bf3efb260193353cb8946bf6426e3c330b61c68e59d"}, @@ -1046,20 +826,15 @@ s3transfer = ">=0.10.0,<0.11.0" [package.extras] crt = ["botocore[crt] (>=1.21.0,<2.0a0)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "botocore" -version = "1.35.18" +version = "1.35.22" description = "Low-level, data-driven core of boto 3." optional = false -python-versions = ">= 3.8" +python-versions = ">=3.8" files = [ - {file = "botocore-1.35.18-py3-none-any.whl", hash = "sha256:1027083aeb1fe74057273410fd768e018e22f85adfbd717b5a69f578f7812b80"}, - {file = "botocore-1.35.18.tar.gz", hash = "sha256:e59da8b91ab06683d2725b6cbbb0383b30c68a241c3c63363f4c5bff59b3c0c0"}, + {file = "botocore-1.35.22-py3-none-any.whl", hash = "sha256:d9bc656e7dde0b3e3f3080fc54bacff6a97fd7806b98acbcc21c7f9d4d0102b9"}, + {file = "botocore-1.35.22.tar.gz", hash = "sha256:18362b7ec748561d786aebf1dd5c9faf22c4732efbf89344314199f96d3bbb65"}, ] [package.dependencies] @@ -1070,11 +845,6 @@ urllib3 = {version = ">=1.25.4,<2.2.0 || >2.2.0,<3", markers = "python_version > [package.extras] crt = ["awscrt (==0.21.5)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "bottleneck" version = "1.4.0" @@ -1132,11 +902,6 @@ numpy = "*" [package.extras] doc = ["gitpython", "numpydoc", "sphinx"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "brotli" version = "1.1.0" @@ -1229,11 +994,6 @@ files = [ {file = "Brotli-1.1.0.tar.gz", hash = "sha256:81de08ac11bcb85841e440c13611c00b67d3bf82698314928d0b676362546724"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "brotlicffi" version = "1.1.0.0" @@ -1273,11 +1033,6 @@ files = [ [package.dependencies] cffi = ">=1.0.0" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "bs4" version = "0.0.2" @@ -1292,17 +1047,12 @@ files = [ [package.dependencies] beautifulsoup4 = "*" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "build" version = "1.2.2" description = "A simple, correct Python build frontend" optional = false -python-versions = ">= 3.8" +python-versions = ">=3.8" files = [ {file = "build-1.2.2-py3-none-any.whl", hash = "sha256:277ccc71619d98afdd841a0e96ac9fe1593b823af481d3b0cea748e8894e0613"}, {file = "build-1.2.2.tar.gz", hash = "sha256:119b2fb462adef986483438377a13b2f42064a2a3a4161f24a0cca698a07ac8c"}, @@ -1322,11 +1072,6 @@ typing = ["build[uv]", "importlib-metadata (>=5.1)", "mypy (>=1.9.0,<1.10.0)", " uv = ["uv (>=0.1.18)"] virtualenv = ["virtualenv (>=20.0.35)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "cachetools" version = "5.3.3" @@ -1338,11 +1083,6 @@ files = [ {file = "cachetools-5.3.3.tar.gz", hash = "sha256:ba29e2dfa0b8b556606f097407ed1aa62080ee108ab0dc5ec9d6a723a007d105"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "celery" version = "5.3.6" @@ -1398,11 +1138,6 @@ yaml = ["PyYAML (>=3.10)"] zookeeper = ["kazoo (>=1.3.1)"] zstd = ["zstandard (==0.22.0)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "certifi" version = "2024.8.30" @@ -1414,11 +1149,6 @@ files = [ {file = "certifi-2024.8.30.tar.gz", hash = "sha256:bec941d2aa8195e248a60b31ff9f0558284cf01a52591ceda73ea9afffd69fd9"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "cffi" version = "1.17.1" @@ -1498,11 +1228,6 @@ files = [ [package.dependencies] pycparser = "*" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "chardet" version = "5.1.0" @@ -1514,11 +1239,6 @@ files = [ {file = "chardet-5.1.0.tar.gz", hash = "sha256:0d62712b956bc154f85fb0a266e2a3c5913c2967e00348701b32411d6def31e5"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "charset-normalizer" version = "3.3.2" @@ -1618,11 +1338,6 @@ files = [ {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "chroma-hnswlib" version = "0.7.3" @@ -1660,11 +1375,6 @@ files = [ [package.dependencies] numpy = "*" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "chromadb" version = "0.5.1" @@ -1706,11 +1416,6 @@ typer = ">=0.9.0" typing-extensions = ">=4.5.0" uvicorn = {version = ">=0.18.3", extras = ["standard"]} -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "circuitbreaker" version = "2.0.0" @@ -1722,11 +1427,6 @@ files = [ {file = "circuitbreaker-2.0.0.tar.gz", hash = "sha256:28110761ca81a2accbd6b33186bc8c433e69b0933d85e89f280028dbb8c1dd14"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "click" version = "8.1.7" @@ -1741,11 +1441,6 @@ files = [ [package.dependencies] colorama = {version = "*", markers = "platform_system == \"Windows\""} -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "click-default-group" version = "1.2.4" @@ -1763,11 +1458,6 @@ click = "*" [package.extras] test = ["pytest"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "click-didyoumean" version = "0.3.1" @@ -1782,11 +1472,6 @@ files = [ [package.dependencies] click = ">=7" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "click-plugins" version = "1.1.1" @@ -1804,11 +1489,6 @@ click = ">=4.0" [package.extras] dev = ["coveralls", "pytest (>=3.6)", "pytest-cov", "wheel"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "click-repl" version = "0.3.0" @@ -1827,11 +1507,6 @@ prompt-toolkit = ">=3.0.36" [package.extras] testing = ["pytest (>=7.2.1)", "pytest-cov (>=4.0.0)", "tox (>=4.4.3)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "clickhouse-connect" version = "0.7.19" @@ -1922,17 +1597,12 @@ pandas = ["pandas"] sqlalchemy = ["sqlalchemy (>1.3.21,<2.0)"] tzlocal = ["tzlocal (>=4.0)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "clickhouse-driver" version = "0.2.9" description = "Python driver with native interface for ClickHouse" optional = false -python-versions = ">=3.7, <4" +python-versions = "<4,>=3.7" files = [ {file = "clickhouse-driver-0.2.9.tar.gz", hash = "sha256:050ea4870ead993910b39e7fae965dc1c347b2e8191dcd977cd4b385f9e19f87"}, {file = "clickhouse_driver-0.2.9-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6ce04e9d0d0f39561f312d1ac1a8147bc9206e4267e1a23e20e0423ebac95534"}, @@ -2049,11 +1719,6 @@ lz4 = ["clickhouse-cityhash (>=1.0.2.1)", "lz4", "lz4 (<=3.0.1)"] numpy = ["numpy (>=1.12.0)", "pandas (>=0.24.0)"] zstd = ["clickhouse-cityhash (>=1.0.2.1)", "zstd"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "cloudpickle" version = "2.2.1" @@ -2065,11 +1730,6 @@ files = [ {file = "cloudpickle-2.2.1.tar.gz", hash = "sha256:d89684b8de9e34a2a43b3460fbca07d09d6e25ce858df4d5a44240403b6178f5"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "cloudscraper" version = "1.2.71" @@ -2086,17 +1746,12 @@ pyparsing = ">=2.4.7" requests = ">=2.9.2" requests-toolbelt = ">=0.9.1" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "cohere" version = "5.2.6" description = "" optional = false -python-versions = ">=3.8,<4.0" +python-versions = "<4.0,>=3.8" files = [ {file = "cohere-5.2.6-py3-none-any.whl", hash = "sha256:256b4ed00f47eb315401d7f28834655714f098382908e7d0ad5c98225aa6a57d"}, {file = "cohere-5.2.6.tar.gz", hash = "sha256:15d13682706fbafc8cf700e195f628389a643eb7ebd6d7c5e9d6e1ebd3f942fb"}, @@ -2111,11 +1766,6 @@ tokenizers = ">=0.15.2,<0.16.0" types-requests = ">=2.0.0,<3.0.0" typing_extensions = ">=4.0.0" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "colorama" version = "0.4.6" @@ -2127,11 +1777,6 @@ files = [ {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "coloredlogs" version = "15.0.1" @@ -2149,11 +1794,6 @@ humanfriendly = ">=9.1" [package.extras] cron = ["capturer (>=2.4)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "contourpy" version = "1.3.0" @@ -2238,11 +1878,6 @@ mypy = ["contourpy[bokeh,docs]", "docutils-stubs", "mypy (==1.11.1)", "types-Pil test = ["Pillow", "contourpy[test-no-images]", "matplotlib"] test-no-images = ["pytest", "pytest-cov", "pytest-rerunfailures", "pytest-xdist", "wurlitzer"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "cos-python-sdk-v5" version = "1.9.30" @@ -2260,11 +1895,6 @@ requests = ">=2.8" six = "*" xmltodict = "*" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "coverage" version = "7.2.7" @@ -2337,11 +1967,6 @@ files = [ [package.extras] toml = ["tomli"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "crcmod" version = "1.7" @@ -2352,11 +1977,6 @@ files = [ {file = "crcmod-1.7.tar.gz", hash = "sha256:dc7051a0db5f2bd48665a990d3ec1cc305a466a77358ca4492826f41f283601e"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "cryptography" version = "42.0.8" @@ -2411,11 +2031,6 @@ ssh = ["bcrypt (>=3.1.5)"] test = ["certifi", "pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-xdist"] test-randomorder = ["pytest-randomly"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "cssselect" version = "1.2.0" @@ -2427,11 +2042,6 @@ files = [ {file = "cssselect-1.2.0.tar.gz", hash = "sha256:666b19839cfaddb9ce9d36bfe4c969132c647b92fc9088c4e23f786b30f1b3dc"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "cycler" version = "0.12.1" @@ -2447,11 +2057,6 @@ files = [ docs = ["ipython", "matplotlib", "numpydoc", "sphinx"] tests = ["pytest", "pytest-cov", "pytest-xdist"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "dashscope" version = "1.17.1" @@ -2470,20 +2075,15 @@ tiktoken = {version = "*", optional = true, markers = "extra == \"tokenizer\""} [package.extras] tokenizer = ["tiktoken"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "dataclass-wizard" -version = "0.22.3" +version = "0.23.0" description = "Marshal dataclasses to/from JSON. Use field properties with initial values. Construct a dataclass schema with JSON input." optional = false python-versions = "*" files = [ - {file = "dataclass-wizard-0.22.3.tar.gz", hash = "sha256:4c46591782265058f1148cfd1f54a3a91221e63986fdd04c9d59f4ced61f4424"}, - {file = "dataclass_wizard-0.22.3-py2.py3-none-any.whl", hash = "sha256:63751203e54b9b9349212cc185331da73c1adc99c51312575eb73bb5c00c1962"}, + {file = "dataclass-wizard-0.23.0.tar.gz", hash = "sha256:da29ec19846d46a1eef0692ba7c59c8a86ecd3a9eaddc0511cfc7485ad6d9c50"}, + {file = "dataclass_wizard-0.23.0-py2.py3-none-any.whl", hash = "sha256:50207dec6d36494421366b49b7a9ba6a4d831e2650c0af25cb4c057103d4a97c"}, ] [package.extras] @@ -2491,11 +2091,6 @@ dev = ["Sphinx (==5.3.0)", "bump2version (==1.0.1)", "coverage (>=6.2)", "datacl timedelta = ["pytimeparse (>=1.1.7)"] yaml = ["PyYAML (>=5.3)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "dataclasses" version = "0.6" @@ -2507,17 +2102,12 @@ files = [ {file = "dataclasses-0.6.tar.gz", hash = "sha256:6988bd2b895eef432d562370bb707d540f32f7360ab13da45340101bc2307d84"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "dataclasses-json" version = "0.6.7" description = "Easily serialize dataclasses to and from JSON." optional = false -python-versions = ">=3.7,<4.0" +python-versions = "<4.0,>=3.7" files = [ {file = "dataclasses_json-0.6.7-py3-none-any.whl", hash = "sha256:0dbf33f26c8d5305befd61b39d2b3414e8a407bedc2834dea9b8d642666fb40a"}, {file = "dataclasses_json-0.6.7.tar.gz", hash = "sha256:b6b3e528266ea45b9535223bc53ca645f5208833c29229e847b3f26a1cc55fc0"}, @@ -2527,11 +2117,6 @@ files = [ marshmallow = ">=3.18.0,<4.0.0" typing-inspect = ">=0.4.0,<1" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "db-dtypes" version = "1.3.0" @@ -2549,11 +2134,6 @@ packaging = ">=17.0" pandas = ">=0.24.2" pyarrow = ">=3.0.0" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "defusedxml" version = "0.7.1" @@ -2565,11 +2145,6 @@ files = [ {file = "defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "deprecated" version = "1.2.14" @@ -2587,11 +2162,6 @@ wrapt = ">=1.10,<2" [package.extras] dev = ["PyTest", "PyTest-Cov", "bump2version (<1)", "sphinx (<2)", "tox"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "dill" version = "0.3.8" @@ -2607,11 +2177,6 @@ files = [ graph = ["objgraph (>=1.7.2)"] profile = ["gprof2dot (>=2022.7.29)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "distro" version = "1.9.0" @@ -2623,11 +2188,6 @@ files = [ {file = "distro-1.9.0.tar.gz", hash = "sha256:2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "docker" version = "7.1.0" @@ -2650,11 +2210,6 @@ docs = ["myst-parser (==0.18.0)", "sphinx (==5.1.1)"] ssh = ["paramiko (>=2.4.3)"] websockets = ["websocket-client (>=1.3.0)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "docstring-parser" version = "0.16" @@ -2666,11 +2221,6 @@ files = [ {file = "docstring_parser-0.16.tar.gz", hash = "sha256:538beabd0af1e2db0146b6bd3caa526c35a34d61af9fd2887f3a8a27a739aa6e"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "dotenv-linter" version = "0.5.0" @@ -2689,11 +2239,6 @@ click_default_group = ">=1.2,<2.0" ply = ">=3.11,<4.0" typing_extensions = ">=4.0,<5.0" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "duckdb" version = "1.1.0" @@ -2749,35 +2294,25 @@ files = [ {file = "duckdb-1.1.0.tar.gz", hash = "sha256:b4d4c12b1f98732151bd31377753e0da1a20f6423016d2d097d2e31953ec7c23"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "duckduckgo-search" -version = "6.2.11" +version = "6.2.12" description = "Search for words, documents, images, news, maps and text translation using the DuckDuckGo.com search engine." optional = false python-versions = ">=3.8" files = [ - {file = "duckduckgo_search-6.2.11-py3-none-any.whl", hash = "sha256:6fb7069b79e8928f487001de6859034ade19201bdcd257ec198802430e374bfe"}, - {file = "duckduckgo_search-6.2.11.tar.gz", hash = "sha256:6b6ef1b552c5e67f23e252025d2504caf6f9fc14f70e86c6dd512200f386c673"}, + {file = "duckduckgo_search-6.2.12-py3-none-any.whl", hash = "sha256:0d379c1f845b632a41553efb13d571788f19ad289229e641a27b5710d92097a6"}, + {file = "duckduckgo_search-6.2.12.tar.gz", hash = "sha256:04f9f1459763668d268344c7a32d943173d0e060dad53a5c2df4b4d3ca9a74cf"}, ] [package.dependencies] click = ">=8.1.7" -primp = ">=0.6.1" +primp = ">=0.6.2" [package.extras] dev = ["mypy (>=1.11.1)", "pytest (>=8.3.1)", "pytest-asyncio (>=0.23.8)", "ruff (>=0.6.1)"] lxml = ["lxml (>=5.2.2)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "elastic-transport" version = "8.15.0" @@ -2796,11 +2331,6 @@ urllib3 = ">=1.26.2,<3" [package.extras] develop = ["aiohttp", "furo", "httpx", "opentelemetry-api", "opentelemetry-sdk", "orjson", "pytest", "pytest-asyncio", "pytest-cov", "pytest-httpserver", "pytest-mock", "requests", "respx", "sphinx (>2)", "sphinx-autodoc-typehints", "trustme"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "elasticsearch" version = "8.14.0" @@ -2821,11 +2351,6 @@ orjson = ["orjson (>=3)"] requests = ["requests (>=2.4.0,!=2.32.2,<3.0.0)"] vectorstore-mmr = ["numpy (>=1)", "simsimd (>=3)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "emoji" version = "2.12.1" @@ -2843,11 +2368,6 @@ typing-extensions = ">=4.7.0" [package.extras] dev = ["coverage", "pytest (>=7.4.4)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "environs" version = "9.5.0" @@ -2869,11 +2389,6 @@ django = ["dj-database-url", "dj-email-url", "django-cache-url"] lint = ["flake8 (==4.0.1)", "flake8-bugbear (==21.9.2)", "mypy (==0.910)", "pre-commit (>=2.4,<3.0)"] tests = ["dj-database-url", "dj-email-url", "django-cache-url", "pytest"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "esdk-obs-python" version = "3.24.6.1" @@ -2887,11 +2402,6 @@ files = [ [package.dependencies] pycryptodome = ">=3.10.1" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "et-xmlfile" version = "1.1.0" @@ -2903,11 +2413,6 @@ files = [ {file = "et_xmlfile-1.1.0.tar.gz", hash = "sha256:8eb9e2bc2f8c97e37a2dc85a09ecdcdec9d8a396530a6d5a33b30b9a92da0c5c"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "exceptiongroup" version = "1.2.2" @@ -2922,20 +2427,15 @@ files = [ [package.extras] test = ["pytest (>=6)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "fastapi" -version = "0.114.1" +version = "0.115.0" description = "FastAPI framework, high performance, easy to learn, fast to code, ready for production" optional = false python-versions = ">=3.8" files = [ - {file = "fastapi-0.114.1-py3-none-any.whl", hash = "sha256:5d4746f6e4b7dff0b4f6b6c6d5445645285f662fe75886e99af7ee2d6b58bb3e"}, - {file = "fastapi-0.114.1.tar.gz", hash = "sha256:1d7bbbeabbaae0acb0c22f0ab0b040f642d3093ca3645f8c876b6f91391861d8"}, + {file = "fastapi-0.115.0-py3-none-any.whl", hash = "sha256:17ea427674467486e997206a5ab25760f6b09e069f099b96f5b55a32fb6f1631"}, + {file = "fastapi-0.115.0.tar.gz", hash = "sha256:f93b4ca3529a8ebc6fc3fcf710e5efa8de3df9b41570958abf1d97d843138004"}, ] [package.dependencies] @@ -2947,11 +2447,6 @@ typing-extensions = ">=4.8.0" all = ["email-validator (>=2.0.0)", "fastapi-cli[standard] (>=0.0.5)", "httpx (>=0.23.0)", "itsdangerous (>=1.1.0)", "jinja2 (>=2.11.2)", "orjson (>=3.2.1)", "pydantic-extra-types (>=2.0.0)", "pydantic-settings (>=2.0.0)", "python-multipart (>=0.0.7)", "pyyaml (>=5.3.1)", "ujson (>=4.0.1,!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0)", "uvicorn[standard] (>=0.12.0)"] standard = ["email-validator (>=2.0.0)", "fastapi-cli[standard] (>=0.0.5)", "httpx (>=0.23.0)", "jinja2 (>=2.11.2)", "python-multipart (>=0.0.7)", "uvicorn[standard] (>=0.12.0)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "fastavro" version = "1.9.7" @@ -2998,11 +2493,6 @@ lz4 = ["lz4"] snappy = ["cramjam"] zstandard = ["zstandard"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "feedfinder2" version = "0.0.4" @@ -3018,11 +2508,6 @@ beautifulsoup4 = "*" requests = "*" six = "*" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "feedparser" version = "6.0.10" @@ -3037,32 +2522,22 @@ files = [ [package.dependencies] sgmllib3k = "*" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "filelock" -version = "3.16.0" +version = "3.16.1" description = "A platform independent file lock." optional = false python-versions = ">=3.8" files = [ - {file = "filelock-3.16.0-py3-none-any.whl", hash = "sha256:f6ed4c963184f4c84dd5557ce8fece759a3724b37b80c6c4f20a2f63a4dc6609"}, - {file = "filelock-3.16.0.tar.gz", hash = "sha256:81de9eb8453c769b63369f87f11131a7ab04e367f8d97ad39dc230daa07e3bec"}, + {file = "filelock-3.16.1-py3-none-any.whl", hash = "sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0"}, + {file = "filelock-3.16.1.tar.gz", hash = "sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435"}, ] [package.extras] -docs = ["furo (>=2024.8.6)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4)"] -testing = ["covdefaults (>=2.3)", "coverage (>=7.6.1)", "diff-cover (>=9.1.1)", "pytest (>=8.3.2)", "pytest-asyncio (>=0.24)", "pytest-cov (>=5)", "pytest-mock (>=3.14)", "pytest-timeout (>=2.3.1)", "virtualenv (>=20.26.3)"] +docs = ["furo (>=2024.8.6)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4.1)"] +testing = ["covdefaults (>=2.3)", "coverage (>=7.6.1)", "diff-cover (>=9.2)", "pytest (>=8.3.3)", "pytest-asyncio (>=0.24)", "pytest-cov (>=5)", "pytest-mock (>=3.14)", "pytest-timeout (>=2.3.1)", "virtualenv (>=20.26.4)"] typing = ["typing-extensions (>=4.12.2)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "filetype" version = "1.2.0" @@ -3074,11 +2549,6 @@ files = [ {file = "filetype-1.2.0.tar.gz", hash = "sha256:66b56cd6474bf41d8c54660347d37afcc3f7d1970648de365c102ef77548aadb"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "flasgger" version = "0.9.7.1" @@ -3097,11 +2567,6 @@ packaging = "*" PyYAML = ">=3.0" six = ">=1.10.0" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "flask" version = "3.0.3" @@ -3124,11 +2589,6 @@ Werkzeug = ">=3.0.0" async = ["asgiref (>=3.2)"] dotenv = ["python-dotenv"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "flask-compress" version = "1.14" @@ -3145,11 +2605,6 @@ brotli = {version = "*", markers = "platform_python_implementation != \"PyPy\""} brotlicffi = {version = "*", markers = "platform_python_implementation == \"PyPy\""} flask = "*" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "flask-cors" version = "4.0.2" @@ -3164,11 +2619,6 @@ files = [ [package.dependencies] Flask = ">=0.9" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "flask-docs" version = "0.7.6" @@ -3183,11 +2633,6 @@ files = [ [package.dependencies] Flask = "*" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "flask-login" version = "0.6.3" @@ -3203,11 +2648,6 @@ files = [ Flask = ">=1.0.4" Werkzeug = ">=1.0.1" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "flask-migrate" version = "4.0.7" @@ -3224,11 +2664,6 @@ alembic = ">=1.9.0" Flask = ">=0.9" Flask-SQLAlchemy = ">=1.0" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "flask-restful" version = "0.3.10" @@ -3249,11 +2684,6 @@ six = ">=1.3.0" [package.extras] docs = ["sphinx"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "flask-restx" version = "1.3.0" @@ -3278,11 +2708,6 @@ dev = ["Faker (==2.0.0)", "black", "blinker", "invoke (==2.2.0)", "mock (==3.0.5 doc = ["Sphinx (==5.3.0)", "alabaster (==0.7.12)", "sphinx-issues (==3.0.1)"] test = ["Faker (==2.0.0)", "blinker", "invoke (==2.2.0)", "mock (==3.0.5)", "pytest (==7.0.1)", "pytest-benchmark (==3.4.1)", "pytest-cov (==4.0.0)", "pytest-flask (==1.3.0)", "pytest-mock (==3.6.1)", "pytest-profiling (==1.7.0)", "setuptools", "twine (==3.8.0)", "tzlocal"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "flask-sock" version = "0.7.0" @@ -3301,11 +2726,6 @@ simple-websocket = ">=0.5.1" [package.extras] docs = ["sphinx"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "flask-sqlalchemy" version = "3.1.1" @@ -3321,11 +2741,6 @@ files = [ flask = ">=2.2.5" sqlalchemy = ">=2.0.16" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "flask-swagger" version = "0.2.14" @@ -3341,11 +2756,6 @@ files = [ Flask = ">=0.10" PyYAML = ">=5.1" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "flask-swagger-ui" version = "4.11.1" @@ -3360,11 +2770,6 @@ files = [ [package.dependencies] flask = "*" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "flatbuffers" version = "24.3.25" @@ -3376,11 +2781,6 @@ files = [ {file = "flatbuffers-24.3.25.tar.gz", hash = "sha256:de2ec5b203f21441716617f38443e0a8ebf3d25bf0d9c0bb0ce68fa00ad546a4"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "fonttools" version = "4.53.1" @@ -3446,11 +2846,6 @@ ufo = ["fs (>=2.2.0,<3)"] unicode = ["unicodedata2 (>=15.1.0)"] woff = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "zopfli (>=0.1.4)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "frozendict" version = "2.4.4" @@ -3493,11 +2888,6 @@ files = [ {file = "frozendict-2.4.4.tar.gz", hash = "sha256:3f7c031b26e4ee6a3f786ceb5e3abf1181c4ade92dce1f847da26ea2c96008c7"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "frozenlist" version = "1.4.1" @@ -3584,11 +2974,6 @@ files = [ {file = "frozenlist-1.4.1.tar.gz", hash = "sha256:c037a86e8513059a2613aaba4d817bb90b9d9b6b69aace3ce9c877e8c8ed402b"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "fsspec" version = "2024.9.0" @@ -3628,11 +3013,6 @@ test-downstream = ["aiobotocore (>=2.5.4,<3.0.0)", "dask-expr", "dask[dataframe, test-full = ["adlfs", "aiohttp (!=4.0.0a0,!=4.0.0a1)", "cloudpickle", "dask", "distributed", "dropbox", "dropboxdrivefs", "fastparquet", "fusepy", "gcsfs", "jinja2", "kerchunk", "libarchive-c", "lz4", "notebook", "numpy", "ocifs", "pandas", "panel", "paramiko", "pyarrow", "pyarrow (>=1)", "pyftpdlib", "pygit2", "pytest", "pytest-asyncio (!=0.22.0)", "pytest-benchmark", "pytest-cov", "pytest-mock", "pytest-recording", "pytest-rerunfailures", "python-snappy", "requests", "smbprotocol", "tqdm", "urllib3", "zarr", "zstandard"] tqdm = ["tqdm"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "gevent" version = "23.9.1" @@ -3698,11 +3078,6 @@ monitor = ["psutil (>=5.7.0)"] recommended = ["cffi (>=1.12.2)", "dnspython (>=1.16.0,<2.0)", "idna", "psutil (>=5.7.0)"] test = ["cffi (>=1.12.2)", "coverage (>=5.0)", "dnspython (>=1.16.0,<2.0)", "idna", "objgraph", "psutil (>=5.7.0)", "requests", "setuptools"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "gmpy2" version = "2.2.1" @@ -3765,11 +3140,6 @@ files = [ docs = ["sphinx (>=4)", "sphinx-rtd-theme (>=1)"] tests = ["cython", "hypothesis", "mpmath", "pytest", "setuptools"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "google-ai-generativelanguage" version = "0.6.1" @@ -3787,11 +3157,6 @@ google-auth = ">=2.14.1,<2.24.0 || >2.24.0,<2.25.0 || >2.25.0,<3.0.0dev" proto-plus = ">=1.22.3,<2.0.0dev" protobuf = ">=3.19.5,<3.20.0 || >3.20.0,<3.20.1 || >3.20.1,<4.21.0 || >4.21.0,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<5.0.0dev" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "google-api-core" version = "2.18.0" @@ -3823,11 +3188,6 @@ grpc = ["grpcio (>=1.33.2,<2.0dev)", "grpcio (>=1.49.1,<2.0dev)", "grpcio-status grpcgcp = ["grpcio-gcp (>=0.2.2,<1.0.dev0)"] grpcio-gcp = ["grpcio-gcp (>=0.2.2,<1.0.dev0)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "google-api-python-client" version = "2.90.0" @@ -3846,11 +3206,6 @@ google-auth-httplib2 = ">=0.1.0" httplib2 = ">=0.15.0,<1.dev0" uritemplate = ">=3.0.1,<5" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "google-auth" version = "2.29.0" @@ -3874,11 +3229,6 @@ pyopenssl = ["cryptography (>=38.0.3)", "pyopenssl (>=20.0.0)"] reauth = ["pyu2f (>=0.1.5)"] requests = ["requests (>=2.20.0,<3.0.0.dev0)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "google-auth-httplib2" version = "0.2.0" @@ -3894,11 +3244,6 @@ files = [ google-auth = "*" httplib2 = ">=0.19.0" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "google-cloud-aiplatform" version = "1.49.0" @@ -3946,11 +3291,6 @@ testing = ["bigframes", "cloudpickle (<3.0)", "docker (>=5.0.3)", "explainable-a vizier = ["google-vizier (>=0.1.6)"] xai = ["tensorflow (>=2.3.0,<3.0.0dev)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "google-cloud-bigquery" version = "3.25.0" @@ -3982,11 +3322,6 @@ opentelemetry = ["opentelemetry-api (>=1.1.0)", "opentelemetry-instrumentation ( pandas = ["db-dtypes (>=0.3.0,<2.0.0dev)", "importlib-metadata (>=1.0.0)", "pandas (>=1.1.0)", "pyarrow (>=3.0.0)"] tqdm = ["tqdm (>=4.7.4,<5.0.0dev)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "google-cloud-core" version = "2.4.1" @@ -4005,11 +3340,6 @@ google-auth = ">=1.25.0,<3.0dev" [package.extras] grpc = ["grpcio (>=1.38.0,<2.0dev)", "grpcio-status (>=1.38.0,<2.0.dev0)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "google-cloud-resource-manager" version = "1.12.5" @@ -4028,11 +3358,6 @@ grpc-google-iam-v1 = ">=0.12.4,<1.0.0dev" proto-plus = ">=1.22.3,<2.0.0dev" protobuf = ">=3.20.2,<4.21.0 || >4.21.0,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<6.0.0dev" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "google-cloud-storage" version = "2.16.0" @@ -4055,11 +3380,6 @@ requests = ">=2.18.0,<3.0.0dev" [package.extras] protobuf = ["protobuf (<5.0.0dev)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "google-crc32c" version = "1.6.0" @@ -4099,11 +3419,6 @@ files = [ [package.extras] testing = ["pytest"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "google-generativeai" version = "0.5.0" @@ -4127,11 +3442,6 @@ typing-extensions = "*" [package.extras] dev = ["Pillow", "absl-py", "black", "ipython", "nose2", "pandas", "pytype", "pyyaml"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "google-pasta" version = "0.2.0" @@ -4147,17 +3457,12 @@ files = [ [package.dependencies] six = "*" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "google-resumable-media" version = "2.7.2" description = "Utilities for Google Media Downloads and Resumable Uploads" optional = false -python-versions = ">= 3.7" +python-versions = ">=3.7" files = [ {file = "google_resumable_media-2.7.2-py2.py3-none-any.whl", hash = "sha256:3ce7551e9fe6d99e9a126101d2536612bb73486721951e9562fee0f90c6ababa"}, {file = "google_resumable_media-2.7.2.tar.gz", hash = "sha256:5280aed4629f2b60b847b0d42f9857fd4935c11af266744df33d8074cae92fe0"}, @@ -4170,11 +3475,6 @@ google-crc32c = ">=1.0,<2.0dev" aiohttp = ["aiohttp (>=3.6.2,<4.0.0dev)", "google-auth (>=1.22.0,<2.0dev)"] requests = ["requests (>=2.18.0,<3.0.0dev)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "googleapis-common-protos" version = "1.63.0" @@ -4193,11 +3493,6 @@ protobuf = ">=3.19.5,<3.20.0 || >3.20.0,<3.20.1 || >3.20.1,<4.21.1 || >4.21.1,<4 [package.extras] grpc = ["grpcio (>=1.44.0,<2.0.0.dev0)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "greenlet" version = "3.1.0" @@ -4277,11 +3572,6 @@ files = [ docs = ["Sphinx", "furo"] test = ["objgraph", "psutil"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "grpc-google-iam-v1" version = "0.13.1" @@ -4298,11 +3588,6 @@ googleapis-common-protos = {version = ">=1.56.0,<2.0.0dev", extras = ["grpc"]} grpcio = ">=1.44.0,<2.0.0dev" protobuf = ">=3.20.2,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<6.0.0dev" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "grpcio" version = "1.66.1" @@ -4361,11 +3646,6 @@ files = [ [package.extras] protobuf = ["grpcio-tools (>=1.66.1)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "grpcio-status" version = "1.62.3" @@ -4382,11 +3662,6 @@ googleapis-common-protos = ">=1.5.5" grpcio = ">=1.62.3" protobuf = ">=4.21.6" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "grpcio-tools" version = "1.62.3" @@ -4449,11 +3724,6 @@ grpcio = ">=1.62.3" protobuf = ">=4.21.6,<5.0dev" setuptools = "*" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "gunicorn" version = "22.0.0" @@ -4475,11 +3745,6 @@ setproctitle = ["setproctitle"] testing = ["coverage", "eventlet", "gevent", "pytest", "pytest-cov"] tornado = ["tornado (>=0.2)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "h11" version = "0.14.0" @@ -4491,11 +3756,6 @@ files = [ {file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "h2" version = "4.1.0" @@ -4511,11 +3771,6 @@ files = [ hpack = ">=4.0,<5" hyperframe = ">=6.0,<7" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "hiredis" version = "3.0.0" @@ -4619,11 +3874,6 @@ files = [ {file = "hiredis-3.0.0.tar.gz", hash = "sha256:fed8581ae26345dea1f1e0d1a96e05041a727a45e7d8d459164583e23c6ac441"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "hpack" version = "4.0.0" @@ -4635,11 +3885,6 @@ files = [ {file = "hpack-4.0.0.tar.gz", hash = "sha256:fc41de0c63e687ebffde81187a948221294896f6bdc0ae2312708df339430095"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "html5lib" version = "1.1" @@ -4661,11 +3906,6 @@ chardet = ["chardet (>=2.2)"] genshi = ["genshi"] lxml = ["lxml"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "httpcore" version = "1.0.5" @@ -4687,11 +3927,6 @@ http2 = ["h2 (>=3,<5)"] socks = ["socksio (==1.*)"] trio = ["trio (>=0.22.0,<0.26.0)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "httplib2" version = "0.22.0" @@ -4706,11 +3941,6 @@ files = [ [package.dependencies] pyparsing = {version = ">=2.4.2,<3.0.0 || >3.0.0,<3.0.1 || >3.0.1,<3.0.2 || >3.0.2,<3.0.3 || >3.0.3,<4", markers = "python_version > \"3.0\""} -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "httptools" version = "0.6.1" @@ -4759,11 +3989,6 @@ files = [ [package.extras] test = ["Cython (>=0.29.24,<0.30.0)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "httpx" version = "0.27.2" @@ -4791,11 +4016,6 @@ http2 = ["h2 (>=3,<5)"] socks = ["socksio (==1.*)"] zstd = ["zstandard (>=0.18.0)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "huggingface-hub" version = "0.16.4" @@ -4828,11 +4048,6 @@ testing = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "gradio", "jed torch = ["torch"] typing = ["pydantic", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "humanfriendly" version = "10.0" @@ -4847,11 +4062,6 @@ files = [ [package.dependencies] pyreadline3 = {version = "*", markers = "sys_platform == \"win32\" and python_version >= \"3.8\""} -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "hyperframe" version = "6.0.1" @@ -4863,26 +4073,19 @@ files = [ {file = "hyperframe-6.0.1.tar.gz", hash = "sha256:ae510046231dc8e9ecb1a6586f63d2347bf4c8905914aa84ba585ae85f28a914"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "idna" -version = "3.8" +version = "3.10" description = "Internationalized Domain Names in Applications (IDNA)" optional = false python-versions = ">=3.6" files = [ - {file = "idna-3.8-py3-none-any.whl", hash = "sha256:050b4e5baadcd44d760cedbd2b8e639f2ff89bbc7a5730fcc662954303377aac"}, - {file = "idna-3.8.tar.gz", hash = "sha256:d838c2c0ed6fced7693d5e8ab8e734d5f8fda53a039c0164afb0b82e771e3603"}, + {file = "idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3"}, + {file = "idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" +[package.extras] +all = ["flake8 (>=7.1.1)", "mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2)"] [[package]] name = "importlib-metadata" @@ -4903,11 +4106,6 @@ docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.link perf = ["ipython"] testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)", "pytest-ruff"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "importlib-resources" version = "6.4.5" @@ -4927,11 +4125,6 @@ enabler = ["pytest-enabler (>=2.2)"] test = ["jaraco.test (>=5.4)", "pytest (>=6,!=8.1.*)", "zipp (>=3.17)"] type = ["pytest-mypy"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "iniconfig" version = "2.0.0" @@ -4943,11 +4136,6 @@ files = [ {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "isodate" version = "0.6.1" @@ -4962,11 +4150,6 @@ files = [ [package.dependencies] six = "*" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "itsdangerous" version = "2.2.0" @@ -4978,11 +4161,6 @@ files = [ {file = "itsdangerous-2.2.0.tar.gz", hash = "sha256:e0050c0b7da1eea53ffaf149c0cfbb5c6e2e2b69c4bef22c81fa6eb73e5f6173"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "jieba" version = "0.42.1" @@ -4993,11 +4171,6 @@ files = [ {file = "jieba-0.42.1.tar.gz", hash = "sha256:055ca12f62674fafed09427f176506079bc135638a14e23e25be909131928db2"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "jieba3k" version = "0.35.1" @@ -5008,11 +4181,6 @@ files = [ {file = "jieba3k-0.35.1.zip", hash = "sha256:980a4f2636b778d312518066be90c7697d410dd5a472385f5afced71a2db1c10"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "jinja2" version = "3.1.4" @@ -5030,11 +4198,6 @@ MarkupSafe = ">=2.0" [package.extras] i18n = ["Babel (>=2.7)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "jmespath" version = "0.10.0" @@ -5046,11 +4209,6 @@ files = [ {file = "jmespath-0.10.0.tar.gz", hash = "sha256:b85d0567b8666149a93172712e68920734333c0ce7e89b78b3e987f71e5ed4f9"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "joblib" version = "1.4.2" @@ -5062,11 +4220,6 @@ files = [ {file = "joblib-1.4.2.tar.gz", hash = "sha256:2382c5816b2636fbd20a09e0f4e9dad4736765fdfb7dca582943b9c1366b3f0e"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "jsonpath-ng" version = "1.6.1" @@ -5081,11 +4234,6 @@ files = [ [package.dependencies] ply = "*" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "jsonschema" version = "4.23.0" @@ -5107,11 +4255,6 @@ rpds-py = ">=0.7.1" format = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3987", "uri-template", "webcolors (>=1.11)"] format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3986-validator (>0.1.0)", "uri-template", "webcolors (>=24.6.0)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "jsonschema-specifications" version = "2023.12.1" @@ -5126,11 +4269,6 @@ files = [ [package.dependencies] referencing = ">=0.31.0" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "kaleido" version = "0.2.1" @@ -5146,11 +4284,6 @@ files = [ {file = "kaleido-0.2.1-py2.py3-none-win_amd64.whl", hash = "sha256:4670985f28913c2d063c5734d125ecc28e40810141bdb0a46f15b76c1d45f23c"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "kiwisolver" version = "1.4.7" @@ -5274,24 +4407,20 @@ files = [ {file = "kiwisolver-1.4.7.tar.gz", hash = "sha256:9893ff81bd7107f7b685d3017cc6583daadb4fc26e4a888350df530e41980a60"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "kombu" -version = "5.4.1" +version = "5.4.2" description = "Messaging library for Python." optional = false python-versions = ">=3.8" files = [ - {file = "kombu-5.4.1-py3-none-any.whl", hash = "sha256:621d365f234e4c089596f3a2510f1ade07026efc28caca426161d8f458786cab"}, - {file = "kombu-5.4.1.tar.gz", hash = "sha256:1c05178826dab811f8cab5b0a154d42a7a33d8bcdde9fa3d7b4582e43c3c03db"}, + {file = "kombu-5.4.2-py3-none-any.whl", hash = "sha256:14212f5ccf022fc0a70453bb025a1dcc32782a588c49ea866884047d66e14763"}, + {file = "kombu-5.4.2.tar.gz", hash = "sha256:eef572dd2fd9fc614b37580e3caeafdd5af46c1eff31e7fba89138cdb406f2cf"}, ] [package.dependencies] amqp = ">=5.1.1,<6.0.0" +tzdata = {version = "*", markers = "python_version >= \"3.9\""} vine = "5.1.0" [package.extras] @@ -5311,11 +4440,6 @@ sqs = ["boto3 (>=1.26.143)", "pycurl (>=7.43.0.5)", "urllib3 (>=1.26.16)"] yaml = ["PyYAML (>=3.10)"] zookeeper = ["kazoo (>=2.8.0)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "kubernetes" version = "30.1.0" @@ -5342,11 +4466,6 @@ websocket-client = ">=0.32.0,<0.40.0 || >0.40.0,<0.41.dev0 || >=0.43.dev0" [package.extras] adal = ["adal (>=1.0.2)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "langdetect" version = "1.0.9" @@ -5361,20 +4480,15 @@ files = [ [package.dependencies] six = "*" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "langfuse" -version = "2.48.0" +version = "2.50.1" description = "A client library for accessing langfuse" optional = false -python-versions = ">=3.8.1,<4.0" +python-versions = "<4.0,>=3.8.1" files = [ - {file = "langfuse-2.48.0-py3-none-any.whl", hash = "sha256:475b047e461f8a45e3c7d81b6a87e0b9e389c489d465b838aa69cbdd16eeacce"}, - {file = "langfuse-2.48.0.tar.gz", hash = "sha256:46e7e6e6e97fe03115a9f95d7f29b3fcd1848a9d1bb34608ebb42a3931919e45"}, + {file = "langfuse-2.50.1-py3-none-any.whl", hash = "sha256:5d2f8647ebe25efa9fe64a53c34620a0589fda036b82fcc0c54c697c0fae7fa5"}, + {file = "langfuse-2.50.1.tar.gz", hash = "sha256:4e9dfdf731dca77e0b76e85396e132474de9b3d37266372f881f11c7fc2f9b87"}, ] [package.dependencies] @@ -5391,20 +4505,15 @@ langchain = ["langchain (>=0.0.309)"] llama-index = ["llama-index (>=0.10.12,<2.0.0)"] openai = ["openai (>=0.27.8)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "langsmith" -version = "0.1.120" +version = "0.1.123" description = "Client library to connect to the LangSmith LLM Tracing and Evaluation Platform." optional = false -python-versions = ">=3.8.1,<4.0" +python-versions = "<4.0,>=3.8.1" files = [ - {file = "langsmith-0.1.120-py3-none-any.whl", hash = "sha256:54d2785e301646c0988e0a69ebe4d976488c87b41928b358cb153b6ddd8db62b"}, - {file = "langsmith-0.1.120.tar.gz", hash = "sha256:25499ca187b41bd89d784b272b97a8d76f60e0e21bdf20336e8a2aa6a9b23ac9"}, + {file = "langsmith-0.1.123-py3-none-any.whl", hash = "sha256:ee30c96e69038af92487c6229870b9ccc1fba43eb1b84fb4132a013af7212c6e"}, + {file = "langsmith-0.1.123.tar.gz", hash = "sha256:5d4ad7bb57351f0fc492debf2d7d0b96f2eed41b5545cd36f3043c5f4d42aa6b"}, ] [package.dependencies] @@ -5416,11 +4525,6 @@ pydantic = [ ] requests = ">=2,<3" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "llvmlite" version = "0.43.0" @@ -5451,11 +4555,6 @@ files = [ {file = "llvmlite-0.43.0.tar.gz", hash = "sha256:ae2b5b5c3ef67354824fb75517c8db5fbe93bc02cd9671f3c62271626bc041d5"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "lxml" version = "5.3.0" @@ -5610,11 +4709,6 @@ html5 = ["html5lib"] htmlsoup = ["BeautifulSoup4"] source = ["Cython (>=3.0.11)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "lz4" version = "4.3.3" @@ -5665,11 +4759,6 @@ docs = ["sphinx (>=1.6.0)", "sphinx-bootstrap-theme"] flake8 = ["flake8"] tests = ["psutil", "pytest (!=3.3.0)", "pytest-cov"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "mailchimp-transactional" version = "1.0.56" @@ -5687,11 +4776,6 @@ requests = ">=2.23" six = ">=1.10" urllib3 = ">=1.23" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "mako" version = "1.3.5" @@ -5711,11 +4795,6 @@ babel = ["Babel"] lingua = ["lingua"] testing = ["pytest"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "markdown" version = "3.5.2" @@ -5731,11 +4810,6 @@ files = [ docs = ["mdx-gh-links (>=0.2)", "mkdocs (>=1.5)", "mkdocs-gen-files", "mkdocs-literate-nav", "mkdocs-nature (>=0.6)", "mkdocs-section-index", "mkdocstrings[python]"] testing = ["coverage", "pyyaml"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "markdown-it-py" version = "3.0.0" @@ -5760,11 +4834,6 @@ profiling = ["gprof2dot"] rtd = ["jupyter_sphinx", "mdit-py-plugins", "myst-parser", "pyyaml", "sphinx", "sphinx-copybutton", "sphinx-design", "sphinx_book_theme"] testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "markupsafe" version = "2.1.5" @@ -5834,11 +4903,6 @@ files = [ {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "marshmallow" version = "3.22.0" @@ -5858,11 +4922,6 @@ dev = ["marshmallow[tests]", "pre-commit (>=3.5,<4.0)", "tox"] docs = ["alabaster (==1.0.0)", "autodocsumm (==0.2.13)", "sphinx (==8.0.2)", "sphinx-issues (==4.1.0)", "sphinx-version-warning (==1.1.2)"] tests = ["pytest", "pytz", "simplejson"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "matplotlib" version = "3.8.4" @@ -5911,11 +4970,6 @@ pillow = ">=8" pyparsing = ">=2.3.1" python-dateutil = ">=2.7" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "mdurl" version = "0.1.2" @@ -5927,11 +4981,6 @@ files = [ {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "milvus-lite" version = "2.4.10" @@ -5948,11 +4997,6 @@ files = [ [package.dependencies] tqdm = "*" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "mistune" version = "3.0.2" @@ -5964,107 +5008,118 @@ files = [ {file = "mistune-3.0.2.tar.gz", hash = "sha256:fc7f93ded930c92394ef2cb6f04a8aabab4117a91449e72dcc8dfa646a508be8"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "mmh3" -version = "4.1.0" +version = "5.0.0" description = "Python extension for MurmurHash (MurmurHash3), a set of fast and robust hash functions." optional = false -python-versions = "*" +python-versions = ">=3.8" files = [ - {file = "mmh3-4.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:be5ac76a8b0cd8095784e51e4c1c9c318c19edcd1709a06eb14979c8d850c31a"}, - {file = "mmh3-4.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:98a49121afdfab67cd80e912b36404139d7deceb6773a83620137aaa0da5714c"}, - {file = "mmh3-4.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5259ac0535874366e7d1a5423ef746e0d36a9e3c14509ce6511614bdc5a7ef5b"}, - {file = "mmh3-4.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5950827ca0453a2be357696da509ab39646044e3fa15cad364eb65d78797437"}, - {file = "mmh3-4.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1dd0f652ae99585b9dd26de458e5f08571522f0402155809fd1dc8852a613a39"}, - {file = "mmh3-4.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:99d25548070942fab1e4a6f04d1626d67e66d0b81ed6571ecfca511f3edf07e6"}, - {file = "mmh3-4.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:53db8d9bad3cb66c8f35cbc894f336273f63489ce4ac416634932e3cbe79eb5b"}, - {file = "mmh3-4.1.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75da0f615eb55295a437264cc0b736753f830b09d102aa4c2a7d719bc445ec05"}, - {file = "mmh3-4.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:b926b07fd678ea84b3a2afc1fa22ce50aeb627839c44382f3d0291e945621e1a"}, - {file = "mmh3-4.1.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:c5b053334f9b0af8559d6da9dc72cef0a65b325ebb3e630c680012323c950bb6"}, - {file = "mmh3-4.1.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:5bf33dc43cd6de2cb86e0aa73a1cc6530f557854bbbe5d59f41ef6de2e353d7b"}, - {file = "mmh3-4.1.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:fa7eacd2b830727ba3dd65a365bed8a5c992ecd0c8348cf39a05cc77d22f4970"}, - {file = "mmh3-4.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:42dfd6742b9e3eec599f85270617debfa0bbb913c545bb980c8a4fa7b2d047da"}, - {file = "mmh3-4.1.0-cp310-cp310-win32.whl", hash = "sha256:2974ad343f0d39dcc88e93ee6afa96cedc35a9883bc067febd7ff736e207fa47"}, - {file = "mmh3-4.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:74699a8984ded645c1a24d6078351a056f5a5f1fe5838870412a68ac5e28d865"}, - {file = "mmh3-4.1.0-cp310-cp310-win_arm64.whl", hash = "sha256:f0dc874cedc23d46fc488a987faa6ad08ffa79e44fb08e3cd4d4cf2877c00a00"}, - {file = "mmh3-4.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3280a463855b0eae64b681cd5b9ddd9464b73f81151e87bb7c91a811d25619e6"}, - {file = "mmh3-4.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:97ac57c6c3301769e757d444fa7c973ceb002cb66534b39cbab5e38de61cd896"}, - {file = "mmh3-4.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a7b6502cdb4dbd880244818ab363c8770a48cdccecf6d729ade0241b736b5ec0"}, - {file = "mmh3-4.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:52ba2da04671a9621580ddabf72f06f0e72c1c9c3b7b608849b58b11080d8f14"}, - {file = "mmh3-4.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5a5fef4c4ecc782e6e43fbeab09cff1bac82c998a1773d3a5ee6a3605cde343e"}, - {file = "mmh3-4.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5135358a7e00991f73b88cdc8eda5203bf9de22120d10a834c5761dbeb07dd13"}, - {file = "mmh3-4.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cff9ae76a54f7c6fe0167c9c4028c12c1f6de52d68a31d11b6790bb2ae685560"}, - {file = "mmh3-4.1.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6f02576a4d106d7830ca90278868bf0983554dd69183b7bbe09f2fcd51cf54f"}, - {file = "mmh3-4.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:073d57425a23721730d3ff5485e2da489dd3c90b04e86243dd7211f889898106"}, - {file = "mmh3-4.1.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:71e32ddec7f573a1a0feb8d2cf2af474c50ec21e7a8263026e8d3b4b629805db"}, - {file = "mmh3-4.1.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7cbb20b29d57e76a58b40fd8b13a9130db495a12d678d651b459bf61c0714cea"}, - {file = "mmh3-4.1.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:a42ad267e131d7847076bb7e31050f6c4378cd38e8f1bf7a0edd32f30224d5c9"}, - {file = "mmh3-4.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:4a013979fc9390abadc445ea2527426a0e7a4495c19b74589204f9b71bcaafeb"}, - {file = "mmh3-4.1.0-cp311-cp311-win32.whl", hash = "sha256:1d3b1cdad7c71b7b88966301789a478af142bddcb3a2bee563f7a7d40519a00f"}, - {file = "mmh3-4.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:0dc6dc32eb03727467da8e17deffe004fbb65e8b5ee2b502d36250d7a3f4e2ec"}, - {file = "mmh3-4.1.0-cp311-cp311-win_arm64.whl", hash = "sha256:9ae3a5c1b32dda121c7dc26f9597ef7b01b4c56a98319a7fe86c35b8bc459ae6"}, - {file = "mmh3-4.1.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0033d60c7939168ef65ddc396611077a7268bde024f2c23bdc283a19123f9e9c"}, - {file = "mmh3-4.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d6af3e2287644b2b08b5924ed3a88c97b87b44ad08e79ca9f93d3470a54a41c5"}, - {file = "mmh3-4.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d82eb4defa245e02bb0b0dc4f1e7ee284f8d212633389c91f7fba99ba993f0a2"}, - {file = "mmh3-4.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ba245e94b8d54765e14c2d7b6214e832557e7856d5183bc522e17884cab2f45d"}, - {file = "mmh3-4.1.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bb04e2feeabaad6231e89cd43b3d01a4403579aa792c9ab6fdeef45cc58d4ec0"}, - {file = "mmh3-4.1.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1e3b1a27def545ce11e36158ba5d5390cdbc300cfe456a942cc89d649cf7e3b2"}, - {file = "mmh3-4.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ce0ab79ff736d7044e5e9b3bfe73958a55f79a4ae672e6213e92492ad5e734d5"}, - {file = "mmh3-4.1.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b02268be6e0a8eeb8a924d7db85f28e47344f35c438c1e149878bb1c47b1cd3"}, - {file = "mmh3-4.1.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:deb887f5fcdaf57cf646b1e062d56b06ef2f23421c80885fce18b37143cba828"}, - {file = "mmh3-4.1.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:99dd564e9e2b512eb117bd0cbf0f79a50c45d961c2a02402787d581cec5448d5"}, - {file = "mmh3-4.1.0-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:08373082dfaa38fe97aa78753d1efd21a1969e51079056ff552e687764eafdfe"}, - {file = "mmh3-4.1.0-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:54b9c6a2ea571b714e4fe28d3e4e2db37abfd03c787a58074ea21ee9a8fd1740"}, - {file = "mmh3-4.1.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a7b1edf24c69e3513f879722b97ca85e52f9032f24a52284746877f6a7304086"}, - {file = "mmh3-4.1.0-cp312-cp312-win32.whl", hash = "sha256:411da64b951f635e1e2284b71d81a5a83580cea24994b328f8910d40bed67276"}, - {file = "mmh3-4.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:bebc3ecb6ba18292e3d40c8712482b4477abd6981c2ebf0e60869bd90f8ac3a9"}, - {file = "mmh3-4.1.0-cp312-cp312-win_arm64.whl", hash = "sha256:168473dd608ade6a8d2ba069600b35199a9af837d96177d3088ca91f2b3798e3"}, - {file = "mmh3-4.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:372f4b7e1dcde175507640679a2a8790185bb71f3640fc28a4690f73da986a3b"}, - {file = "mmh3-4.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:438584b97f6fe13e944faf590c90fc127682b57ae969f73334040d9fa1c7ffa5"}, - {file = "mmh3-4.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6e27931b232fc676675fac8641c6ec6b596daa64d82170e8597f5a5b8bdcd3b6"}, - {file = "mmh3-4.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:571a92bad859d7b0330e47cfd1850b76c39b615a8d8e7aa5853c1f971fd0c4b1"}, - {file = "mmh3-4.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4a69d6afe3190fa08f9e3a58e5145549f71f1f3fff27bd0800313426929c7068"}, - {file = "mmh3-4.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:afb127be0be946b7630220908dbea0cee0d9d3c583fa9114a07156f98566dc28"}, - {file = "mmh3-4.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:940d86522f36348ef1a494cbf7248ab3f4a1638b84b59e6c9e90408bd11ad729"}, - {file = "mmh3-4.1.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b3dcccc4935686619a8e3d1f7b6e97e3bd89a4a796247930ee97d35ea1a39341"}, - {file = "mmh3-4.1.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:01bb9b90d61854dfc2407c5e5192bfb47222d74f29d140cb2dd2a69f2353f7cc"}, - {file = "mmh3-4.1.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:bcb1b8b951a2c0b0fb8a5426c62a22557e2ffc52539e0a7cc46eb667b5d606a9"}, - {file = "mmh3-4.1.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:6477a05d5e5ab3168e82e8b106e316210ac954134f46ec529356607900aea82a"}, - {file = "mmh3-4.1.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:da5892287e5bea6977364b15712a2573c16d134bc5fdcdd4cf460006cf849278"}, - {file = "mmh3-4.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:99180d7fd2327a6fffbaff270f760576839dc6ee66d045fa3a450f3490fda7f5"}, - {file = "mmh3-4.1.0-cp38-cp38-win32.whl", hash = "sha256:9b0d4f3949913a9f9a8fb1bb4cc6ecd52879730aab5ff8c5a3d8f5b593594b73"}, - {file = "mmh3-4.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:598c352da1d945108aee0c3c3cfdd0e9b3edef74108f53b49d481d3990402169"}, - {file = "mmh3-4.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:475d6d1445dd080f18f0f766277e1237fa2914e5fe3307a3b2a3044f30892103"}, - {file = "mmh3-4.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5ca07c41e6a2880991431ac717c2a049056fff497651a76e26fc22224e8b5732"}, - {file = "mmh3-4.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0ebe052fef4bbe30c0548d12ee46d09f1b69035ca5208a7075e55adfe091be44"}, - {file = "mmh3-4.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eaefd42e85afb70f2b855a011f7b4d8a3c7e19c3f2681fa13118e4d8627378c5"}, - {file = "mmh3-4.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ac0ae43caae5a47afe1b63a1ae3f0986dde54b5fb2d6c29786adbfb8edc9edfb"}, - {file = "mmh3-4.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6218666f74c8c013c221e7f5f8a693ac9cf68e5ac9a03f2373b32d77c48904de"}, - {file = "mmh3-4.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ac59294a536ba447b5037f62d8367d7d93b696f80671c2c45645fa9f1109413c"}, - {file = "mmh3-4.1.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:086844830fcd1e5c84fec7017ea1ee8491487cfc877847d96f86f68881569d2e"}, - {file = "mmh3-4.1.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:e42b38fad664f56f77f6fbca22d08450f2464baa68acdbf24841bf900eb98e87"}, - {file = "mmh3-4.1.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:d08b790a63a9a1cde3b5d7d733ed97d4eb884bfbc92f075a091652d6bfd7709a"}, - {file = "mmh3-4.1.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:73ea4cc55e8aea28c86799ecacebca09e5f86500414870a8abaedfcbaf74d288"}, - {file = "mmh3-4.1.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:f90938ff137130e47bcec8dc1f4ceb02f10178c766e2ef58a9f657ff1f62d124"}, - {file = "mmh3-4.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:aa1f13e94b8631c8cd53259250556edcf1de71738936b60febba95750d9632bd"}, - {file = "mmh3-4.1.0-cp39-cp39-win32.whl", hash = "sha256:a3b680b471c181490cf82da2142029edb4298e1bdfcb67c76922dedef789868d"}, - {file = "mmh3-4.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:fefef92e9c544a8dbc08f77a8d1b6d48006a750c4375bbcd5ff8199d761e263b"}, - {file = "mmh3-4.1.0-cp39-cp39-win_arm64.whl", hash = "sha256:8e2c1f6a2b41723a4f82bd5a762a777836d29d664fc0095f17910bea0adfd4a6"}, - {file = "mmh3-4.1.0.tar.gz", hash = "sha256:a1cf25348b9acd229dda464a094d6170f47d2850a1fcb762a3b6172d2ce6ca4a"}, -] - -[package.extras] -test = ["mypy (>=1.0)", "pytest (>=7.0.0)"] - -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" + {file = "mmh3-5.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e65e16c9de793bfa334355c60fccc859faf1c0b707d847252841cee72b5309df"}, + {file = "mmh3-5.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:66d5423c65aebe94f244e8204cc8b39a4b970e342fb619621376af90c5f9a421"}, + {file = "mmh3-5.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5bfc15d11bcc5ce96254f5399582104c566a1eeeb91072ff0a0de92b24f704ff"}, + {file = "mmh3-5.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1616cb621cab3bc5b58dba9605311c346b45e732818f12f943a803b9a641f09c"}, + {file = "mmh3-5.0.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d3e3d94553b321b26952d507dace15509463604ead98fece710237ca8cb5983d"}, + {file = "mmh3-5.0.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b46b6d5c0fcd2620ebc699099fed6fda0101805d7d4c274fa2b2c384e8b9e8b9"}, + {file = "mmh3-5.0.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5a2a9cd368f2a15f06f2749db764e410b7dc260822319f169a52c649da078bf6"}, + {file = "mmh3-5.0.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:903cdb66f8d8de26a0a6c737a13664388b5ed14813f84793bccbba44ffa09fa2"}, + {file = "mmh3-5.0.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7653d8177e4241a5f7913a675636ccc701722741b153b0a43c82464a4a865752"}, + {file = "mmh3-5.0.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:a9154a0a32de54b812d178541468cce4c73b112fbd8b5b0a4add92cfda69c390"}, + {file = "mmh3-5.0.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:5f814a621fd0e567a121ace724ad57f28fb9972acfd54c854749ee91d5c4905c"}, + {file = "mmh3-5.0.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:333057bcf12804a8cae12adb2a5cef3bc50fc8de044ad6a01ae1918a342d6f0e"}, + {file = "mmh3-5.0.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:e713afe276481af7ea0330f40214c71c11486b28754aa2d1cb286b5ee9571dee"}, + {file = "mmh3-5.0.0-cp310-cp310-win32.whl", hash = "sha256:917b72bc8b238286d7e2c586c19d604b3b3e5a93f054020cd15530324b868e6e"}, + {file = "mmh3-5.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:9a8bcaa5c0fd9c4679639c830b46e52fcc3b84502faa2aa5f3ca1dacb7cdbb1f"}, + {file = "mmh3-5.0.0-cp310-cp310-win_arm64.whl", hash = "sha256:341ad4f902ebb7fc14751fab67fb4eedf800a1744bc9dc214a56e11b62d0bfdd"}, + {file = "mmh3-5.0.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:690cb4b36ed7c863680029c2370b4f3a0c3dc8900320eb5ce79a867eb8b37151"}, + {file = "mmh3-5.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5580c7bf9570458d8096a016f7012453306a14d2e3e4ef1267b9c9c9f506d8a4"}, + {file = "mmh3-5.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f271a043545c86cce51c35e5bb6f52dceb535dcd2d46c2129a9c869b80ec2eaa"}, + {file = "mmh3-5.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2400e805018e04718c9367e85d694c036d21a41b37024d5b0dc8ef80cb984cf0"}, + {file = "mmh3-5.0.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b3d75183b7d5df178bf01f0d9ac366525fd54e828d799fe3892882b83c13454b"}, + {file = "mmh3-5.0.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ec24039151e67c5fc026ce5be8788e3e8093d9ce3e114d7a6175f453521bacc9"}, + {file = "mmh3-5.0.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88513eb686937b26d33fe7ded7ed1a68ede490d326eea2344447c0cc42fb7f97"}, + {file = "mmh3-5.0.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a015a90951b31d45a01c8f92703c028d8d759f71dc31727581c916f31cacbade"}, + {file = "mmh3-5.0.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:337f747eaf6ab78d0be9cbbb763781ae76eb2e4c0e6523e74582877fe827ec51"}, + {file = "mmh3-5.0.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:01636d74df6371f192dc5a112f4afc43cb4119a9ea6de704469161fd4ab9e86b"}, + {file = "mmh3-5.0.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:3d969f1813b27bd4caac359e0ea0f6b711d252e872c0723124b58d7ac275cb0e"}, + {file = "mmh3-5.0.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:9f699f2232efe3907a6a05d9661edd2f4045a0e05161dc1087f72957d752a47a"}, + {file = "mmh3-5.0.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:16f46dc1774bf3e8305fa33207a502317cd7a592cb79b0d65c84f0fbcf9d9ffa"}, + {file = "mmh3-5.0.0-cp311-cp311-win32.whl", hash = "sha256:2d039b32f4194ac345c0f52441b7ff0a55735a896303a3eb9054e5f8512d84c8"}, + {file = "mmh3-5.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:47b3823a88c5f7859580688016bff13437fd866f6132e4770b306f0c6edb01a7"}, + {file = "mmh3-5.0.0-cp311-cp311-win_arm64.whl", hash = "sha256:2ee87816b838709bd0fc623e3277736e9465a941d27b14f35d0df1c2006e4438"}, + {file = "mmh3-5.0.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:ed23a89a6daeb9b0d4db9fa865b125300516e8d6961f771b2dd97965bf888bce"}, + {file = "mmh3-5.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b020012e30ba0e4b002a150ca1c1d590a7387fac50dfd9b6b5dc66d9d0e61257"}, + {file = "mmh3-5.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:e86246d036da05d54e833cdc342ad9c62f38f2507b14f2c58ce2c271f22d7251"}, + {file = "mmh3-5.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f50535009c1aaa44f9702ad14551d12d1755b537fc25a5bd7d46c493ec4bcfaa"}, + {file = "mmh3-5.0.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a567a87026f103778b70f2b19637fb490d9c29dc7d3af9cd46185d48efbd49dc"}, + {file = "mmh3-5.0.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ff4405f231032b8f8ae93d9a558ddc04b9aa94a59c309cb265ebe1e79ced920e"}, + {file = "mmh3-5.0.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d630fe75ef7d4ab1a95eb824d81dee15ed73020703bf030515f03283cb8f086f"}, + {file = "mmh3-5.0.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:361f9d611debc10992888cbace09dbc47391ae8b84b50c995a6d97e6314bb422"}, + {file = "mmh3-5.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:11e29156edb1990600cb4b91bcb371a2adf20a0fcb818837fb78408be19e9117"}, + {file = "mmh3-5.0.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:e70c4fc340509f6554a1748fe6f539a846fbacf147255048d1702def820a1520"}, + {file = "mmh3-5.0.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:aa790a46370eeedb474c462820be78597452f54c5fffe1f810fc8e847faf42a1"}, + {file = "mmh3-5.0.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:ce678ac7d31e83fecc817ab630cc7254c7826de11fd2b3e8c31a8a5b0b762884"}, + {file = "mmh3-5.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ee22cd4cad4fc7d4e5282b2729899460b03c388cde0290d411e877249f78a373"}, + {file = "mmh3-5.0.0-cp312-cp312-win32.whl", hash = "sha256:cb1a96488dc8fccf843ccdbdd10faf1939e6e18cd928c2beff17e70c2ab09ec1"}, + {file = "mmh3-5.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:897ebafa83bbbbb1958ee30cda78c7ad4b12f2b9360f96b22e488eb127b2cb4f"}, + {file = "mmh3-5.0.0-cp312-cp312-win_arm64.whl", hash = "sha256:e6e3334985865ec3bdfcc4ae8df4a1939be048c5ae3ce1c8c309744400f8e4de"}, + {file = "mmh3-5.0.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:05b09d98cbdb6ad03eb9c701e87cea005ececd4fd7d2968ff0f5a86af1ef340d"}, + {file = "mmh3-5.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:d4ac0b8d48ce1e7561cf330ec73b9582f6773e40aaf8a771dd51a0bb483ec94f"}, + {file = "mmh3-5.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:5a1c056b65be3077496ed655731eff1f65ee67f2b31f40a027f3171ba0ac20d1"}, + {file = "mmh3-5.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a572adb41cf831d79b3b38c7994e5a5bc1a8ea8d7b574ce0c24272fc5abb52df"}, + {file = "mmh3-5.0.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0be4d14ab3a690bac6c127733490493b8698f84eadb9d667be7eb952281c51e4"}, + {file = "mmh3-5.0.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2b65b6eabd9e78e2b8eee2b8d4db34d4d2f5b540f2ac06ec0a76a1f1566f0ff7"}, + {file = "mmh3-5.0.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8b433656f371af5edf44cf00862e288e08327bb9e90c8aaa5e4e60dfebc62039"}, + {file = "mmh3-5.0.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c1b12073a58be5e6408c6bd8366bbf6253defe042cdec25ee51f123c944e5a8f"}, + {file = "mmh3-5.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:29b2c8eb7a473f6f235c2d9905912a76350dd11b42058364de984264fa4f74ca"}, + {file = "mmh3-5.0.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b178b744685de956ff84b3b2531271824a2e4372aff199ab805e1fdd7f996f5c"}, + {file = "mmh3-5.0.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:fcac7a75846aec7bd168c05576dc8c9448a9705165dfa0986d0f48952eca62a4"}, + {file = "mmh3-5.0.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:cc0caa0d2800d54384cc048e49e6c2b4a90cba1afff0597d7c2a5006c42b5536"}, + {file = "mmh3-5.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:05b10476fd5cfb0fd63ceebf7430612423e7f79e9732e0b344225aa642e12be4"}, + {file = "mmh3-5.0.0-cp313-cp313-win32.whl", hash = "sha256:7101a12a2a4b39d7748d2d83310d5e0415950ccf6b9ec8da1d35af3f50b3ef0e"}, + {file = "mmh3-5.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:47d9a9c1c48accaf78ddb77669c40c837e90be2ecddd39bf7ef2f8dacff85ca6"}, + {file = "mmh3-5.0.0-cp313-cp313-win_arm64.whl", hash = "sha256:9126155ad1a9418920360497a0b44906dce32f0732cb44378ace08c62751dd1e"}, + {file = "mmh3-5.0.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:9d8ac8b3f53d2146680a2e16908620f209778bfb6c7a5d1e64b10f496f3c87f7"}, + {file = "mmh3-5.0.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:17c0af11c1c4217b30635d3b3ad03dc61388f14b19a4f74bfcd6f29cfac3a59e"}, + {file = "mmh3-5.0.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:8df414110fdbcf689812bf0ecab83611f97191dea2ab378bd384a6166bf0849b"}, + {file = "mmh3-5.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5bd7a88b40c5c715c9afe6af4034f23a2222045d17215ffdde357733d976fde2"}, + {file = "mmh3-5.0.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:157159c3306e11225111e7d2db6bee1ff81d2286df53d6a305728656cf694076"}, + {file = "mmh3-5.0.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1d1ac511ad1775f793b4c34fe40e43e213bc59620fcf7d3046ee7d73dd629f82"}, + {file = "mmh3-5.0.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cb92b0e27775b078d469d948341f20a071943b4dacb4950d708a04722a8d6fee"}, + {file = "mmh3-5.0.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8e326d9e1756ccacb2a8047d924101c3ed44bb2ac6aa6fc92efbbd1f2858f7b5"}, + {file = "mmh3-5.0.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:566ab00f7bc779d6d887b2d2ec96345483ed7091796d303f5df20cb06b4327ba"}, + {file = "mmh3-5.0.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:8971c3bc630cd3d3f2ba7b0a98b6eb3b5a83089f76e53500c53d3b3132d3437c"}, + {file = "mmh3-5.0.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:493479781554a98492a20bd659dd470608a9ceb5b229efcc4ce03ea4c849e81e"}, + {file = "mmh3-5.0.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:1424a9ffa472d4a9f5581f4eeac118d2c746e1980cbb48b7c1ddd1155e8d0d11"}, + {file = "mmh3-5.0.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:8f1c6c36135635c418b3e4e39f9bd3d0ef4afaf3c328c727f94cba0c146abba1"}, + {file = "mmh3-5.0.0-cp38-cp38-win32.whl", hash = "sha256:1d96e0ec13acf1c725b3ba5c932f0f4153238598880d4b32260dd552a34d6576"}, + {file = "mmh3-5.0.0-cp38-cp38-win_amd64.whl", hash = "sha256:4ac9de75f3782a5c4dae1c60ed69f2a487439398ef694fc2b77c0a4e61268307"}, + {file = "mmh3-5.0.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:175037381e94d65553631b301c5c6f0cd69c7f8519e634221e7361595c7de0c3"}, + {file = "mmh3-5.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:aa6393cd40c3687b1d0bd3fbac8f9e81bbeb949bab63268e3756f9061c19d75c"}, + {file = "mmh3-5.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2e818d949829aeb25898db76d5a88411c2cc899c00e1c1c1a30916254f8762e2"}, + {file = "mmh3-5.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:072dda5e7e27a01c9c393c0558a210051d49750cd27807b443ba3285793f31bb"}, + {file = "mmh3-5.0.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bf6fa9d615f782a4626b0f99ec0a2d755e72b4e01a34503129bcc05488f4c404"}, + {file = "mmh3-5.0.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:03c2feef9fa839899065dc29cec2f921b1194bddaa9999e5460f9ab903e0ef24"}, + {file = "mmh3-5.0.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d67a7671b847ad934fea80702665b0903a5e19339713ea7a46f7e8eea21299d0"}, + {file = "mmh3-5.0.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f632b8962474ce3db9fec0d9e2c0038bc1339295796b0e76ac1d27b47bb60f9c"}, + {file = "mmh3-5.0.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:a1a2b2dc334a27a5d129cfbe848dbbbc22f1a744dcebab70b406528bca874009"}, + {file = "mmh3-5.0.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:4ea987eeb860723a0a0217b2e84c327ba5fd143cd8e7e289f008ae95280d30bb"}, + {file = "mmh3-5.0.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:d5904ef1621c9ef680fd2ff3c1e433205e05093d26aa42840337630ac20912f1"}, + {file = "mmh3-5.0.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:cad6c32ab86e48ac73af45bcd118b931e677e038167c36186ac0d640f76c8b1e"}, + {file = "mmh3-5.0.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:3672b5ea6d7c9c5feeb3f75a695b622ee6a82d22897fa0aa4bf1d8ca99ac9c87"}, + {file = "mmh3-5.0.0-cp39-cp39-win32.whl", hash = "sha256:29b311d4f8dc277c8ef716c68b8020fe0e702807ba7f631fe57ad037d35713aa"}, + {file = "mmh3-5.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:8fbe4112955b33e1b4893b144bee9cc5bc476159d1d1cad9b8c0451047b6abde"}, + {file = "mmh3-5.0.0-cp39-cp39-win_arm64.whl", hash = "sha256:4e66a0f85c8a2f54025f3d477a141458b0338f1b519ad0286c704865513c814f"}, + {file = "mmh3-5.0.0.tar.gz", hash = "sha256:60d1713457789c70292f1f04ca984e3175fc66e6c3545582fd2b4af7f5a61c73"}, +] + +[package.extras] +benchmark = ["pymmh3 (==0.0.5)", "pyperf (==2.7.0)", "xxhash (==3.5.0)"] +docs = ["myst-parser (==4.0.0)", "shibuya (==2024.8.30)", "sphinx (==8.0.2)", "sphinx-copybutton (==0.5.2)"] +lint = ["black (==24.8.0)", "clang-format (==18.1.8)", "isort (==5.13.2)", "pylint (==3.2.7)"] +plot = ["matplotlib (==3.9.2)", "pandas (==2.2.2)"] +test = ["pytest (==8.3.3)", "pytest-sugar (==1.0.0)"] +type = ["mypy (==1.11.2)"] [[package]] name = "mock" @@ -6082,11 +5137,6 @@ build = ["blurb", "twine", "wheel"] docs = ["sphinx"] test = ["pytest (<5.4)", "pytest-cov"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "monotonic" version = "1.6" @@ -6098,11 +5148,6 @@ files = [ {file = "monotonic-1.6.tar.gz", hash = "sha256:3a55207bcfed53ddd5c5bae174524062935efed17792e9de2ad0205ce9ad63f7"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "mpmath" version = "1.3.0" @@ -6120,11 +5165,6 @@ docs = ["sphinx"] gmpy = ["gmpy2 (>=2.1.0a4)"] tests = ["pytest (>=4.6)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "msal" version = "1.31.0" @@ -6144,11 +5184,6 @@ requests = ">=2.0.0,<3" [package.extras] broker = ["pymsalruntime (>=0.14,<0.18)", "pymsalruntime (>=0.17,<0.18)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "msal-extensions" version = "1.2.0" @@ -6164,11 +5199,6 @@ files = [ msal = ">=1.29,<2" portalocker = ">=1.4,<3" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "msg-parser" version = "1.2.0" @@ -6186,11 +5216,6 @@ olefile = ">=0.46" [package.extras] rtf = ["compressed-rtf (>=1.0.5)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "msrest" version = "0.7.1" @@ -6212,11 +5237,6 @@ requests-oauthlib = ">=0.5.0" [package.extras] async = ["aiodns", "aiohttp (>=3.0)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "multidict" version = "6.1.0" @@ -6321,11 +5341,6 @@ files = [ [package.dependencies] typing-extensions = {version = ">=4.1.0", markers = "python_version < \"3.11\""} -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "multiprocess" version = "0.70.16" @@ -6350,11 +5365,6 @@ files = [ [package.dependencies] dill = ">=0.3.8" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "multitasking" version = "0.0.11" @@ -6366,11 +5376,6 @@ files = [ {file = "multitasking-0.0.11.tar.gz", hash = "sha256:4d6bc3cc65f9b2dca72fb5a787850a88dae8f620c2b36ae9b55248e51bcd6026"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "mypy-extensions" version = "1.0.0" @@ -6382,11 +5387,6 @@ files = [ {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "newspaper3k" version = "0.2.8" @@ -6413,11 +5413,6 @@ requests = ">=2.10.0" tinysegmenter = "0.3" tldextract = ">=2.0.1" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "nltk" version = "3.8.1" @@ -6443,11 +5438,6 @@ plot = ["matplotlib"] tgrep = ["pyparsing"] twitter = ["twython"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "novita-client" version = "0.5.7" @@ -6464,11 +5454,6 @@ dataclass-wizard = ">=0.22.2" pillow = ">=10.2.0" requests = ">=2.27.1" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "numba" version = "0.60.0" @@ -6503,11 +5488,6 @@ files = [ llvmlite = "==0.43.*" numpy = ">=1.22,<2.1" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "numexpr" version = "2.9.0" @@ -6549,11 +5529,6 @@ files = [ [package.dependencies] numpy = ">=1.13.3" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "numpy" version = "1.26.4" @@ -6599,11 +5574,6 @@ files = [ {file = "numpy-1.26.4.tar.gz", hash = "sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "oauthlib" version = "3.2.2" @@ -6620,20 +5590,15 @@ rsa = ["cryptography (>=3.0.0)"] signals = ["blinker (>=1.4.0)"] signedtoken = ["cryptography (>=3.0.0)", "pyjwt (>=2.0.0,<3)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "oci" -version = "2.133.0" +version = "2.134.0" description = "Oracle Cloud Infrastructure Python SDK" optional = false python-versions = "*" files = [ - {file = "oci-2.133.0-py3-none-any.whl", hash = "sha256:9706365481ca538c89b3a15e6b5c246801eccb06be831a7f21c40f2a2ee310a7"}, - {file = "oci-2.133.0.tar.gz", hash = "sha256:800418025bb98f587c65bbf89c6b6d61ef0f2249e0698d73439baf3251640b7f"}, + {file = "oci-2.134.0-py3-none-any.whl", hash = "sha256:ae005e43e58e8e707389eedf949109604ec773b27100387a146740055c87c174"}, + {file = "oci-2.134.0.tar.gz", hash = "sha256:14cd2aa834b4f645cfc4c6784849192fecc365c7eb66da4fc1b6a140042221c9"}, ] [package.dependencies] @@ -6644,11 +5609,6 @@ pyOpenSSL = ">=17.5.0,<25.0.0" python-dateutil = ">=2.5.3,<3.0.0" pytz = ">=2016.10" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "odfpy" version = "1.4.1" @@ -6662,11 +5622,6 @@ files = [ [package.dependencies] defusedxml = "*" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "olefile" version = "0.47" @@ -6681,11 +5636,6 @@ files = [ [package.extras] tests = ["pytest", "pytest-cov"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "onnxruntime" version = "1.19.2" @@ -6728,11 +5678,6 @@ packaging = "*" protobuf = "*" sympy = "*" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "openai" version = "1.29.0" @@ -6756,11 +5701,6 @@ typing-extensions = ">=4.7,<5" [package.extras] datalib = ["numpy (>=1)", "pandas (>=1.2.3)", "pandas-stubs (>=1.1.0.11)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "opencensus" version = "0.11.4" @@ -6777,11 +5717,6 @@ google-api-core = {version = ">=1.0.0,<3.0.0", markers = "python_version >= \"3. opencensus-context = ">=0.1.3" six = ">=1.16,<2.0" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "opencensus-context" version = "0.1.3" @@ -6793,11 +5728,6 @@ files = [ {file = "opencensus_context-0.1.3-py2.py3-none-any.whl", hash = "sha256:073bb0590007af276853009fac7e4bab1d523c3f03baf4cb4511ca38967c6039"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "opencensus-ext-azure" version = "1.1.13" @@ -6816,11 +5746,6 @@ opencensus = ">=0.11.4,<1.0.0" psutil = ">=5.6.3" requests = ">=2.19.0" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "opencensus-ext-logging" version = "0.1.1" @@ -6835,11 +5760,6 @@ files = [ [package.dependencies] opencensus = ">=0.8.0,<1.0.0" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "openpyxl" version = "3.1.5" @@ -6854,11 +5774,6 @@ files = [ [package.dependencies] et-xmlfile = "*" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "opensearch-py" version = "2.4.0" @@ -6883,11 +5798,6 @@ develop = ["black", "botocore", "coverage (<8.0.0)", "jinja2", "mock", "myst-par docs = ["aiohttp (>=3,<4)", "myst-parser", "sphinx", "sphinx-copybutton", "sphinx-rtd-theme"] kerberos = ["requests-kerberos"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "opentelemetry-api" version = "1.27.0" @@ -6903,11 +5813,6 @@ files = [ deprecated = ">=1.2.6" importlib-metadata = ">=6.0,<=8.4.0" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "opentelemetry-exporter-otlp-proto-common" version = "1.27.0" @@ -6922,11 +5827,6 @@ files = [ [package.dependencies] opentelemetry-proto = "1.27.0" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "opentelemetry-exporter-otlp-proto-grpc" version = "1.27.0" @@ -6947,11 +5847,6 @@ opentelemetry-exporter-otlp-proto-common = "1.27.0" opentelemetry-proto = "1.27.0" opentelemetry-sdk = ">=1.27.0,<1.28.0" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "opentelemetry-instrumentation" version = "0.48b0" @@ -6968,11 +5863,6 @@ opentelemetry-api = ">=1.4,<2.0" setuptools = ">=16.0" wrapt = ">=1.0.0,<2.0.0" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "opentelemetry-instrumentation-asgi" version = "0.48b0" @@ -6994,11 +5884,6 @@ opentelemetry-util-http = "0.48b0" [package.extras] instruments = ["asgiref (>=3.0,<4.0)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "opentelemetry-instrumentation-fastapi" version = "0.48b0" @@ -7020,11 +5905,6 @@ opentelemetry-util-http = "0.48b0" [package.extras] instruments = ["fastapi (>=0.58,<1.0)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "opentelemetry-proto" version = "1.27.0" @@ -7039,11 +5919,6 @@ files = [ [package.dependencies] protobuf = ">=3.19,<5.0" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "opentelemetry-sdk" version = "1.27.0" @@ -7060,11 +5935,6 @@ opentelemetry-api = "1.27.0" opentelemetry-semantic-conventions = "0.48b0" typing-extensions = ">=3.7.4" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "opentelemetry-semantic-conventions" version = "0.48b0" @@ -7080,11 +5950,6 @@ files = [ deprecated = ">=1.2.6" opentelemetry-api = "1.27.0" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "opentelemetry-util-http" version = "0.48b0" @@ -7096,11 +5961,6 @@ files = [ {file = "opentelemetry_util_http-0.48b0.tar.gz", hash = "sha256:60312015153580cc20f322e5cdc3d3ecad80a71743235bdb77716e742814623c"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "oracledb" version = "2.2.1" @@ -7144,11 +6004,6 @@ files = [ [package.dependencies] cryptography = ">=3.2.1" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "orjson" version = "3.10.7" @@ -7215,11 +6070,6 @@ files = [ {file = "orjson-3.10.7.tar.gz", hash = "sha256:75ef0640403f945f3a1f9f6400686560dbfb0fb5b16589ad62cd477043c4eee3"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "oss2" version = "2.18.5" @@ -7238,11 +6088,6 @@ pycryptodome = ">=3.4.7" requests = "!=2.9.0" six = "*" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "overrides" version = "7.7.0" @@ -7254,11 +6099,6 @@ files = [ {file = "overrides-7.7.0.tar.gz", hash = "sha256:55158fa3d93b98cc75299b1e67078ad9003ca27945c76162c1c0766d6f91820a"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "packaging" version = "24.1" @@ -7270,11 +6110,6 @@ files = [ {file = "packaging-24.1.tar.gz", hash = "sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "pandas" version = "2.2.2" @@ -7357,11 +6192,6 @@ sql-other = ["SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "adbc-d test = ["hypothesis (>=6.46.1)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)"] xml = ["lxml (>=4.9.2)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "pathos" version = "0.3.2" @@ -7379,11 +6209,6 @@ multiprocess = ">=0.70.16" pox = ">=0.3.4" ppft = ">=1.7.6.8" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "peewee" version = "3.17.6" @@ -7394,11 +6219,6 @@ files = [ {file = "peewee-3.17.6.tar.gz", hash = "sha256:cea5592c6f4da1592b7cff8eaf655be6648a1f5857469e30037bf920c03fb8fb"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "pgvecto-rs" version = "0.2.1" @@ -7421,11 +6241,6 @@ psycopg3 = ["psycopg[binary] (>=3.1.12)"] sdk = ["openai (>=1.2.2)", "pgvecto_rs[sqlalchemy]"] sqlalchemy = ["SQLAlchemy (>=2.0.23)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "pgvector" version = "0.2.5" @@ -7439,11 +6254,6 @@ files = [ [package.dependencies] numpy = "*" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "pillow" version = "10.4.0" @@ -7541,20 +6351,15 @@ tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "pa typing = ["typing-extensions"] xmp = ["defusedxml"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "platformdirs" -version = "4.3.2" +version = "4.3.6" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." optional = false python-versions = ">=3.8" files = [ - {file = "platformdirs-4.3.2-py3-none-any.whl", hash = "sha256:eb1c8582560b34ed4ba105009a4badf7f6f85768b30126f351328507b2beb617"}, - {file = "platformdirs-4.3.2.tar.gz", hash = "sha256:9e5e27a08aa095dd127b9f2e764d74254f482fef22b0970773bfba79d091ab8c"}, + {file = "platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb"}, + {file = "platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907"}, ] [package.extras] @@ -7562,11 +6367,6 @@ docs = ["furo (>=2024.8.6)", "proselint (>=0.14)", "sphinx (>=8.0.2)", "sphinx-a test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=8.3.2)", "pytest-cov (>=5)", "pytest-mock (>=3.14)"] type = ["mypy (>=1.11.2)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "plotly" version = "5.24.1" @@ -7582,11 +6382,6 @@ files = [ packaging = "*" tenacity = ">=6.2.0" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "pluggy" version = "1.5.0" @@ -7602,11 +6397,6 @@ files = [ dev = ["pre-commit", "tox"] testing = ["pytest", "pytest-benchmark"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "ply" version = "3.11" @@ -7618,11 +6408,6 @@ files = [ {file = "ply-3.11.tar.gz", hash = "sha256:00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "portalocker" version = "2.10.1" @@ -7642,20 +6427,15 @@ docs = ["sphinx (>=1.7.1)"] redis = ["redis"] tests = ["pytest (>=5.4.1)", "pytest-cov (>=2.8.1)", "pytest-mypy (>=0.8.0)", "pytest-timeout (>=2.1.0)", "redis", "sphinx (>=6.0.0)", "types-redis"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "posthog" -version = "3.6.5" +version = "3.6.6" description = "Integrate PostHog into any python application." optional = false python-versions = "*" files = [ - {file = "posthog-3.6.5-py2.py3-none-any.whl", hash = "sha256:f8b7c573826b061a1d22c9495169c38ebe83a1df2729f49c7129a9c23a02acf6"}, - {file = "posthog-3.6.5.tar.gz", hash = "sha256:7fd3ca809e15476c35f75d18cd6bba31395daf0a17b75242965c469fb6292510"}, + {file = "posthog-3.6.6-py2.py3-none-any.whl", hash = "sha256:38834fd7f0732582a20d4eb4674c8d5c088e464d14d1b3f8c176e389aecaa4ef"}, + {file = "posthog-3.6.6.tar.gz", hash = "sha256:1e04783293117109189ad7048f3eedbe21caff0e39bee5e2d47a93dd790fefac"}, ] [package.dependencies] @@ -7670,11 +6450,6 @@ dev = ["black", "flake8", "flake8-print", "isort", "pre-commit"] sentry = ["django", "sentry-sdk"] test = ["coverage", "django", "flake8", "freezegun (==0.3.15)", "mock (>=2.0.0)", "pylint", "pytest", "pytest-timeout"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "pox" version = "0.3.4" @@ -7686,11 +6461,6 @@ files = [ {file = "pox-0.3.4.tar.gz", hash = "sha256:16e6eca84f1bec3828210b06b052adf04cf2ab20c22fd6fbef5f78320c9a6fed"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "ppft" version = "1.7.6.8" @@ -7705,36 +6475,26 @@ files = [ [package.extras] dill = ["dill (>=0.3.8)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "primp" -version = "0.6.1" +version = "0.6.2" description = "HTTP client that can impersonate web browsers, mimicking their headers and `TLS/JA3/JA4/HTTP2` fingerprints" optional = false python-versions = ">=3.8" files = [ - {file = "primp-0.6.1-cp38-abi3-macosx_10_12_x86_64.whl", hash = "sha256:60cfe95e0bdf154b0f9036d38acaddc9aef02d6723ed125839b01449672d3946"}, - {file = "primp-0.6.1-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:e1e92433ecf32639f9e800bc3a5d58b03792bdec99421b7fb06500e2fae63c85"}, - {file = "primp-0.6.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e02353f13f07fb5a6f91df9e2f4d8ec9f41312de95088744dce1c9729a3865d"}, - {file = "primp-0.6.1-cp38-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:c5a2ccfdf488b17be225a529a31e2b22724b2e22fba8e1ae168a222f857c2dc0"}, - {file = "primp-0.6.1-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:f335c2ace907800a23bbb7bc6e15acc7fff659b86a2d5858817f6ed79cea07cf"}, - {file = "primp-0.6.1-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:5dc15bd9d47ded7bc356fcb5d8321972dcbeba18e7d3b7250e12bb7365447b2b"}, - {file = "primp-0.6.1-cp38-abi3-win_amd64.whl", hash = "sha256:eebf0412ebba4089547b16b97b765d83f69f1433d811bb02b02cdcdbca20f672"}, - {file = "primp-0.6.1.tar.gz", hash = "sha256:64b3c12e3d463a887518811c46f3ec37cca02e6af1ddf1287e548342de436301"}, + {file = "primp-0.6.2-cp38-abi3-macosx_10_12_x86_64.whl", hash = "sha256:4a35d441462a55d9a9525bf170e2ffd2fcb3db6039b23e802859fa22c18cdd51"}, + {file = "primp-0.6.2-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:f67ccade95bdbca3cf9b96b93aa53f9617d85ddbf988da4e9c523aa785fd2d54"}, + {file = "primp-0.6.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8074b93befaf36567e4cf3d4a1a8cd6ab9cc6e4dd4ff710650678daa405aee71"}, + {file = "primp-0.6.2-cp38-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:7d3e2a3f8c6262e9b883651b79c4ff2b7677a76f47293a139f541c9ea333ce3b"}, + {file = "primp-0.6.2-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:a460ea389371c6d04839b4b50b5805d99da8ebe281a2e8b534d27377c6d44f0e"}, + {file = "primp-0.6.2-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:5b6b27e89d3c05c811aff0e4fde7a36d6957b15b3112f4ce28b6b99e8ca1e725"}, + {file = "primp-0.6.2-cp38-abi3-win_amd64.whl", hash = "sha256:1006a40a85f88a4c5222094813a1ebc01f85a63e9a33d2c443288c0720bed321"}, + {file = "primp-0.6.2.tar.gz", hash = "sha256:5a96a6b65195a8a989157e67d23bd171c49be238654e02bdf1b1fda36cbcc068"}, ] [package.extras] dev = ["certifi", "pytest (>=8.1.1)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "prompt-toolkit" version = "3.0.47" @@ -7749,11 +6509,6 @@ files = [ [package.dependencies] wcwidth = "*" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "proto-plus" version = "1.24.0" @@ -7771,42 +6526,32 @@ protobuf = ">=3.19.0,<6.0.0dev" [package.extras] testing = ["google-api-core (>=1.31.5)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "protobuf" -version = "4.25.4" +version = "4.25.5" description = "" optional = false python-versions = ">=3.8" files = [ - {file = "protobuf-4.25.4-cp310-abi3-win32.whl", hash = "sha256:db9fd45183e1a67722cafa5c1da3e85c6492a5383f127c86c4c4aa4845867dc4"}, - {file = "protobuf-4.25.4-cp310-abi3-win_amd64.whl", hash = "sha256:ba3d8504116a921af46499471c63a85260c1a5fc23333154a427a310e015d26d"}, - {file = "protobuf-4.25.4-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:eecd41bfc0e4b1bd3fa7909ed93dd14dd5567b98c941d6c1ad08fdcab3d6884b"}, - {file = "protobuf-4.25.4-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:4c8a70fdcb995dcf6c8966cfa3a29101916f7225e9afe3ced4395359955d3835"}, - {file = "protobuf-4.25.4-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:3319e073562e2515c6ddc643eb92ce20809f5d8f10fead3332f71c63be6a7040"}, - {file = "protobuf-4.25.4-cp38-cp38-win32.whl", hash = "sha256:7e372cbbda66a63ebca18f8ffaa6948455dfecc4e9c1029312f6c2edcd86c4e1"}, - {file = "protobuf-4.25.4-cp38-cp38-win_amd64.whl", hash = "sha256:051e97ce9fa6067a4546e75cb14f90cf0232dcb3e3d508c448b8d0e4265b61c1"}, - {file = "protobuf-4.25.4-cp39-cp39-win32.whl", hash = "sha256:90bf6fd378494eb698805bbbe7afe6c5d12c8e17fca817a646cd6a1818c696ca"}, - {file = "protobuf-4.25.4-cp39-cp39-win_amd64.whl", hash = "sha256:ac79a48d6b99dfed2729ccccee547b34a1d3d63289c71cef056653a846a2240f"}, - {file = "protobuf-4.25.4-py3-none-any.whl", hash = "sha256:bfbebc1c8e4793cfd58589acfb8a1026be0003e852b9da7db5a4285bde996978"}, - {file = "protobuf-4.25.4.tar.gz", hash = "sha256:0dc4a62cc4052a036ee2204d26fe4d835c62827c855c8a03f29fe6da146b380d"}, + {file = "protobuf-4.25.5-cp310-abi3-win32.whl", hash = "sha256:5e61fd921603f58d2f5acb2806a929b4675f8874ff5f330b7d6f7e2e784bbcd8"}, + {file = "protobuf-4.25.5-cp310-abi3-win_amd64.whl", hash = "sha256:4be0571adcbe712b282a330c6e89eae24281344429ae95c6d85e79e84780f5ea"}, + {file = "protobuf-4.25.5-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:b2fde3d805354df675ea4c7c6338c1aecd254dfc9925e88c6d31a2bcb97eb173"}, + {file = "protobuf-4.25.5-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:919ad92d9b0310070f8356c24b855c98df2b8bd207ebc1c0c6fcc9ab1e007f3d"}, + {file = "protobuf-4.25.5-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:fe14e16c22be926d3abfcb500e60cab068baf10b542b8c858fa27e098123e331"}, + {file = "protobuf-4.25.5-cp38-cp38-win32.whl", hash = "sha256:98d8d8aa50de6a2747efd9cceba361c9034050ecce3e09136f90de37ddba66e1"}, + {file = "protobuf-4.25.5-cp38-cp38-win_amd64.whl", hash = "sha256:b0234dd5a03049e4ddd94b93400b67803c823cfc405689688f59b34e0742381a"}, + {file = "protobuf-4.25.5-cp39-cp39-win32.whl", hash = "sha256:abe32aad8561aa7cc94fc7ba4fdef646e576983edb94a73381b03c53728a626f"}, + {file = "protobuf-4.25.5-cp39-cp39-win_amd64.whl", hash = "sha256:7a183f592dc80aa7c8da7ad9e55091c4ffc9497b3054452d629bb85fa27c2a45"}, + {file = "protobuf-4.25.5-py3-none-any.whl", hash = "sha256:0aebecb809cae990f8129ada5ca273d9d670b76d9bfc9b1809f0a9c02b7dbf41"}, + {file = "protobuf-4.25.5.tar.gz", hash = "sha256:7f8249476b4a9473645db7f8ab42b02fe1488cbe5fb72fddd445e0665afd8584"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "psutil" version = "6.0.0" description = "Cross-platform lib for process and system monitoring in Python." optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" files = [ {file = "psutil-6.0.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:a021da3e881cd935e64a3d0a20983bda0bb4cf80e4f74fa9bfcb1bc5785360c6"}, {file = "psutil-6.0.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:1287c2b95f1c0a364d23bc6f2ea2365a8d4d9b726a3be7294296ff7ba97c17f0"}, @@ -7830,11 +6575,6 @@ files = [ [package.extras] test = ["enum34", "ipaddress", "mock", "pywin32", "wmi"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "psycopg2-binary" version = "2.9.9" @@ -7916,11 +6656,6 @@ files = [ {file = "psycopg2_binary-2.9.9-cp39-cp39-win_amd64.whl", hash = "sha256:f7ae5d65ccfbebdfa761585228eb4d0df3a8b15cfb53bd953e713e09fbb12957"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "py-cpuinfo" version = "9.0.0" @@ -7932,11 +6667,6 @@ files = [ {file = "py_cpuinfo-9.0.0-py3-none-any.whl", hash = "sha256:859625bc251f64e21f077d099d4162689c762b5d6a4c3c97553d56241c9674d5"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "pyarrow" version = "17.0.0" @@ -7988,11 +6718,6 @@ numpy = ">=1.16.6" [package.extras] test = ["cffi", "hypothesis", "pandas", "pytest", "pytz"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "pyasn1" version = "0.6.1" @@ -8000,15 +6725,9 @@ description = "Pure-Python implementation of ASN.1 types and DER/BER/CER codecs optional = false python-versions = ">=3.8" files = [ - {file = "pyasn1-0.6.1-py3-none-any.whl", hash = "sha256:0d632f46f2ba09143da3a8afe9e33fb6f92fa2320ab7e886e2d0f7672af84629"}, {file = "pyasn1-0.6.1.tar.gz", hash = "sha256:6f580d2bdd84365380830acf45550f2511469f673cb4a5ae3857a3170128b034"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "pyasn1-modules" version = "0.4.1" @@ -8016,18 +6735,12 @@ description = "A collection of ASN.1-based protocols modules" optional = false python-versions = ">=3.8" files = [ - {file = "pyasn1_modules-0.4.1-py3-none-any.whl", hash = "sha256:49bfa96b45a292b711e986f222502c1c9a5e1f4e568fc30e2574a6c7d07838fd"}, {file = "pyasn1_modules-0.4.1.tar.gz", hash = "sha256:c28e2dbf9c06ad61c71a075c7e0f9fd0f1b0bb2d2ad4377f240d33ac2ab60a7c"}, ] [package.dependencies] pyasn1 = ">=0.4.6,<0.7.0" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "pycparser" version = "2.22" @@ -8039,11 +6752,6 @@ files = [ {file = "pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "pycryptodome" version = "3.19.1" @@ -8085,11 +6793,6 @@ files = [ {file = "pycryptodome-3.19.1.tar.gz", hash = "sha256:8ae0dd1bcfada451c35f9e29a3e5db385caabc190f98e4a80ad02a61098fb776"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "pydantic" version = "2.8.2" @@ -8109,11 +6812,6 @@ typing-extensions = {version = ">=4.6.1", markers = "python_version < \"3.13\""} [package.extras] email = ["email-validator (>=2.0.0)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "pydantic-core" version = "2.20.1" @@ -8215,11 +6913,6 @@ files = [ [package.dependencies] typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "pydantic-extra-types" version = "2.9.0" @@ -8242,11 +6935,6 @@ pycountry = ["pycountry (>=23)"] python-ulid = ["python-ulid (>=1,<2)", "python-ulid (>=1,<3)"] semver = ["semver (>=3.0.2)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "pydantic-settings" version = "2.4.0" @@ -8267,11 +6955,6 @@ azure-key-vault = ["azure-identity (>=1.16.0)", "azure-keyvault-secrets (>=4.8.0 toml = ["tomli (>=2.0.1)"] yaml = ["pyyaml (>=6.0.1)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "pydash" version = "8.0.3" @@ -8289,11 +6972,6 @@ typing-extensions = ">3.10,<4.6.0 || >4.6.0" [package.extras] dev = ["build", "coverage", "furo", "invoke", "mypy", "pytest", "pytest-cov", "pytest-mypy-testing", "ruff", "sphinx", "sphinx-autodoc-typehints", "tox", "twine", "wheel"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "pygments" version = "2.18.0" @@ -8308,11 +6986,6 @@ files = [ [package.extras] windows-terminal = ["colorama (>=0.4.6)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "pyjwt" version = "2.8.0" @@ -8333,11 +7006,6 @@ dev = ["coverage[toml] (==5.0.4)", "cryptography (>=3.4.0)", "pre-commit", "pyte docs = ["sphinx (>=4.5.0,<5.0.0)", "sphinx-rtd-theme", "zope.interface"] tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "pymilvus" version = "2.4.6" @@ -8363,11 +7031,6 @@ bulk-writer = ["azure-storage-blob", "minio (>=7.0.0)", "pyarrow (>=12.0.0)", "r dev = ["black", "grpcio (==1.62.2)", "grpcio-testing (==1.62.2)", "grpcio-tools (==1.62.2)", "pytest (>=5.3.4)", "pytest-cov (>=2.8.1)", "pytest-timeout (>=1.3.4)", "ruff (>0.4.0)"] model = ["milvus-model (>=0.1.0)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "pymysql" version = "1.1.1" @@ -8383,11 +7046,6 @@ files = [ ed25519 = ["PyNaCl (>=1.4.0)"] rsa = ["cryptography"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "pyopenssl" version = "24.2.1" @@ -8406,11 +7064,6 @@ cryptography = ">=41.0.5,<44" docs = ["sphinx (!=5.2.0,!=5.2.0.post0,!=7.2.5)", "sphinx-rtd-theme"] test = ["pretend", "pytest (>=3.0.1)", "pytest-rerunfailures"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "pypandoc" version = "1.13" @@ -8422,11 +7075,6 @@ files = [ {file = "pypandoc-1.13.tar.gz", hash = "sha256:31652073c7960c2b03570bd1e94f602ca9bc3e70099df5ead4cea98ff5151c1e"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "pyparsing" version = "3.1.4" @@ -8441,11 +7089,6 @@ files = [ [package.extras] diagrams = ["jinja2", "railroad-diagrams"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "pypdfium2" version = "4.17.0" @@ -8467,11 +7110,6 @@ files = [ {file = "pypdfium2-4.17.0.tar.gz", hash = "sha256:2a2b3273c4614ee2004df60ace5f387645f843418ae29f379408ee11560241c0"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "pypika" version = "0.48.9" @@ -8482,11 +7120,6 @@ files = [ {file = "PyPika-0.48.9.tar.gz", hash = "sha256:838836a61747e7c8380cd1b7ff638694b7a7335345d0f559b04b2cd832ad5378"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "pypng" version = "0.20220715.0" @@ -8498,11 +7131,6 @@ files = [ {file = "pypng-0.20220715.0.tar.gz", hash = "sha256:739c433ba96f078315de54c0db975aee537cbc3e1d0ae4ed9aab0ca1e427e2c1"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "pyproject-hooks" version = "1.1.0" @@ -8514,26 +7142,19 @@ files = [ {file = "pyproject_hooks-1.1.0.tar.gz", hash = "sha256:4b37730834edbd6bd37f26ece6b44802fb1c1ee2ece0e54ddff8bfc06db86965"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "pyreadline3" -version = "3.4.3" +version = "3.5.4" description = "A python implementation of GNU readline." optional = false -python-versions = "*" +python-versions = ">=3.8" files = [ - {file = "pyreadline3-3.4.3-py3-none-any.whl", hash = "sha256:f832c5898f4f9a0f81d48a8c499b39d0179de1a465ea3def1a7e7231840b4ed6"}, - {file = "pyreadline3-3.4.3.tar.gz", hash = "sha256:ebab0baca37f50e2faa1dd99a6da1c75de60e0d68a3b229c134bbd12786250e2"}, + {file = "pyreadline3-3.5.4-py3-none-any.whl", hash = "sha256:eaf8e6cc3c49bcccf145fc6067ba8643d1df34d604a1ec0eccbf7a18e6d3fae6"}, + {file = "pyreadline3-3.5.4.tar.gz", hash = "sha256:8d57d53039a1c75adba8e50dd3d992b28143480816187ea5efbd5c78e6c885b7"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" +[package.extras] +dev = ["build", "flake8", "mypy", "pytest", "twine"] [[package]] name = "pytest" @@ -8557,11 +7178,6 @@ tomli = {version = ">=1", markers = "python_version < \"3.11\""} [package.extras] dev = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "pytest-benchmark" version = "4.0.0" @@ -8582,33 +7198,23 @@ aspect = ["aspectlib"] elasticsearch = ["elasticsearch"] histogram = ["pygal", "pygaljs"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "pytest-env" -version = "1.1.4" +version = "1.1.5" description = "pytest plugin that allows you to add environment variables." optional = false python-versions = ">=3.8" files = [ - {file = "pytest_env-1.1.4-py3-none-any.whl", hash = "sha256:a4212056d4d440febef311a98fdca56c31256d58fb453d103cba4e8a532b721d"}, - {file = "pytest_env-1.1.4.tar.gz", hash = "sha256:86653658da8f11c6844975db955746c458a9c09f1e64957603161e2ff93f5133"}, + {file = "pytest_env-1.1.5-py3-none-any.whl", hash = "sha256:ce90cf8772878515c24b31cd97c7fa1f4481cd68d588419fd45f10ecaee6bc30"}, + {file = "pytest_env-1.1.5.tar.gz", hash = "sha256:91209840aa0e43385073ac464a554ad2947cc2fd663a9debf88d03b01e0cc1cf"}, ] [package.dependencies] -pytest = ">=8.3.2" +pytest = ">=8.3.3" tomli = {version = ">=2.0.1", markers = "python_version < \"3.11\""} [package.extras] -test = ["covdefaults (>=2.3)", "coverage (>=7.6.1)", "pytest-mock (>=3.14)"] - -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" +testing = ["covdefaults (>=2.3)", "coverage (>=7.6.1)", "pytest-mock (>=3.14)"] [[package]] name = "pytest-mock" @@ -8627,11 +7233,6 @@ pytest = ">=6.2.5" [package.extras] dev = ["pre-commit", "pytest-asyncio", "tox"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "python-calamine" version = "0.2.3" @@ -8741,11 +7342,6 @@ files = [ {file = "python_calamine-0.2.3.tar.gz", hash = "sha256:d6b3858c3756629d9b4a166de0facfa6c8033fa0b73dcddd3d82144f3170c0dc"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "python-dateutil" version = "2.9.0.post0" @@ -8760,11 +7356,6 @@ files = [ [package.dependencies] six = ">=1.5" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "python-docx" version = "1.1.2" @@ -8780,11 +7371,6 @@ files = [ lxml = ">=3.1.0" typing-extensions = ">=4.9.0" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "python-dotenv" version = "1.0.0" @@ -8799,11 +7385,6 @@ files = [ [package.extras] cli = ["click (>=5.0)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "python-iso639" version = "2024.4.27" @@ -8818,11 +7399,6 @@ files = [ [package.extras] dev = ["black (==24.4.2)", "build (==1.2.1)", "flake8 (==7.0.0)", "pytest (==8.1.2)", "requests (==2.31.0)", "twine (==5.0.0)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "python-magic" version = "0.4.27" @@ -8834,11 +7410,6 @@ files = [ {file = "python_magic-0.4.27-py2.py3-none-any.whl", hash = "sha256:c212960ad306f700aa0d01e5d7a325d20548ff97eb9920dcd29513174f0294d3"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "python-pptx" version = "0.6.23" @@ -8855,11 +7426,6 @@ lxml = ">=3.1.0" Pillow = ">=3.3.2" XlsxWriter = ">=0.5.7" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "pytz" version = "2024.2" @@ -8871,11 +7437,6 @@ files = [ {file = "pytz-2024.2.tar.gz", hash = "sha256:2aa355083c50a0f93fa581709deac0c9ad65cca8a9e9beac660adcbd493c798a"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "pywin32" version = "306" @@ -8899,11 +7460,6 @@ files = [ {file = "pywin32-306-cp39-cp39-win_amd64.whl", hash = "sha256:39b61c15272833b5c329a2989999dcae836b1eed650252ab1b7bfbe1d59f30f4"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "pyxlsb" version = "1.0.10" @@ -8915,11 +7471,6 @@ files = [ {file = "pyxlsb-1.0.10.tar.gz", hash = "sha256:8062d1ea8626d3f1980e8b1cfe91a4483747449242ecb61013bc2df85435f685"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "pyyaml" version = "6.0.2" @@ -8982,11 +7533,6 @@ files = [ {file = "pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "qdrant-client" version = "1.7.3" @@ -9013,11 +7559,6 @@ urllib3 = ">=1.26.14,<3" [package.extras] fastembed = ["fastembed (==0.1.1)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "qrcode" version = "7.4.2" @@ -9041,11 +7582,6 @@ maintainer = ["zest.releaser[recommended]"] pil = ["pillow (>=9.1.0)"] test = ["coverage", "pytest"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "rank-bm25" version = "0.2.2" @@ -9063,11 +7599,6 @@ numpy = "*" [package.extras] dev = ["pytest"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "rapidfuzz" version = "3.9.7" @@ -9188,11 +7719,6 @@ files = [ [package.extras] full = ["numpy"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "readabilipy" version = "0.2.0" @@ -9215,11 +7741,6 @@ dev = ["coveralls", "m2r", "pycodestyle", "pyflakes", "pylint", "pytest", "pytes docs = ["m2r", "sphinx"] test = ["coveralls", "pycodestyle", "pyflakes", "pylint", "pytest", "pytest-benchmark", "pytest-cov"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "redis" version = "5.0.8" @@ -9239,11 +7760,6 @@ hiredis = {version = ">1.0.0", optional = true, markers = "extra == \"hiredis\"" hiredis = ["hiredis (>1.0.0)"] ocsp = ["cryptography (>=36.0.1)", "pyopenssl (==20.0.1)", "requests (>=2.26.0)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "referencing" version = "0.35.1" @@ -9259,11 +7775,6 @@ files = [ attrs = ">=22.2.0" rpds-py = ">=0.7.0" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "regex" version = "2024.9.11" @@ -9367,11 +7878,6 @@ files = [ {file = "regex-2024.9.11.tar.gz", hash = "sha256:6c188c307e8433bcb63dc1915022deb553b4203a70722fc542c363bf120a01fd"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "replicate" version = "0.22.0" @@ -9392,11 +7898,6 @@ typing-extensions = ">=4.5.0" [package.extras] dev = ["pylint", "pyright", "pytest", "pytest-asyncio", "pytest-recording", "respx", "ruff (>=0.1.3)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "requests" version = "2.31.0" @@ -9418,11 +7919,6 @@ urllib3 = ">=1.21.1,<3" socks = ["PySocks (>=1.5.6,!=1.5.7)"] use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "requests-file" version = "2.1.0" @@ -9437,11 +7933,6 @@ files = [ [package.dependencies] requests = ">=1.0.0" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "requests-oauthlib" version = "2.0.0" @@ -9460,11 +7951,6 @@ requests = ">=2.0.0" [package.extras] rsa = ["oauthlib[signedtoken] (>=3.0.0)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "requests-toolbelt" version = "1.0.0" @@ -9479,11 +7965,6 @@ files = [ [package.dependencies] requests = ">=2.0.1,<3.0.0" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "resend" version = "0.7.2" @@ -9498,11 +7979,6 @@ files = [ [package.dependencies] requests = "2.31.0" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "rich" version = "13.8.1" @@ -9521,11 +7997,6 @@ pygments = ">=2.13.0,<3.0.0" [package.extras] jupyter = ["ipywidgets (>=7.5.1,<9)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "rpds-py" version = "0.20.0" @@ -9638,11 +8109,6 @@ files = [ {file = "rpds_py-0.20.0.tar.gz", hash = "sha256:d72a210824facfdaf8768cf2d7ca25a042c30320b3020de2fa04640920d4e121"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "rsa" version = "4.9" @@ -9657,49 +8123,39 @@ files = [ [package.dependencies] pyasn1 = ">=0.1.3" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "ruff" -version = "0.6.4" +version = "0.6.5" description = "An extremely fast Python linter and code formatter, written in Rust." optional = false python-versions = ">=3.7" files = [ - {file = "ruff-0.6.4-py3-none-linux_armv6l.whl", hash = "sha256:c4b153fc152af51855458e79e835fb6b933032921756cec9af7d0ba2aa01a258"}, - {file = "ruff-0.6.4-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:bedff9e4f004dad5f7f76a9d39c4ca98af526c9b1695068198b3bda8c085ef60"}, - {file = "ruff-0.6.4-py3-none-macosx_11_0_arm64.whl", hash = "sha256:d02a4127a86de23002e694d7ff19f905c51e338c72d8e09b56bfb60e1681724f"}, - {file = "ruff-0.6.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7862f42fc1a4aca1ea3ffe8a11f67819d183a5693b228f0bb3a531f5e40336fc"}, - {file = "ruff-0.6.4-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eebe4ff1967c838a1a9618a5a59a3b0a00406f8d7eefee97c70411fefc353617"}, - {file = "ruff-0.6.4-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:932063a03bac394866683e15710c25b8690ccdca1cf192b9a98260332ca93408"}, - {file = "ruff-0.6.4-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:50e30b437cebef547bd5c3edf9ce81343e5dd7c737cb36ccb4fe83573f3d392e"}, - {file = "ruff-0.6.4-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c44536df7b93a587de690e124b89bd47306fddd59398a0fb12afd6133c7b3818"}, - {file = "ruff-0.6.4-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0ea086601b22dc5e7693a78f3fcfc460cceabfdf3bdc36dc898792aba48fbad6"}, - {file = "ruff-0.6.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b52387d3289ccd227b62102c24714ed75fbba0b16ecc69a923a37e3b5e0aaaa"}, - {file = "ruff-0.6.4-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:0308610470fcc82969082fc83c76c0d362f562e2f0cdab0586516f03a4e06ec6"}, - {file = "ruff-0.6.4-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:803b96dea21795a6c9d5bfa9e96127cc9c31a1987802ca68f35e5c95aed3fc0d"}, - {file = "ruff-0.6.4-py3-none-musllinux_1_2_i686.whl", hash = "sha256:66dbfea86b663baab8fcae56c59f190caba9398df1488164e2df53e216248baa"}, - {file = "ruff-0.6.4-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:34d5efad480193c046c86608dbba2bccdc1c5fd11950fb271f8086e0c763a5d1"}, - {file = "ruff-0.6.4-py3-none-win32.whl", hash = "sha256:f0f8968feea5ce3777c0d8365653d5e91c40c31a81d95824ba61d871a11b8523"}, - {file = "ruff-0.6.4-py3-none-win_amd64.whl", hash = "sha256:549daccee5227282289390b0222d0fbee0275d1db6d514550d65420053021a58"}, - {file = "ruff-0.6.4-py3-none-win_arm64.whl", hash = "sha256:ac4b75e898ed189b3708c9ab3fc70b79a433219e1e87193b4f2b77251d058d14"}, - {file = "ruff-0.6.4.tar.gz", hash = "sha256:ac3b5bfbee99973f80aa1b7cbd1c9cbce200883bdd067300c22a6cc1c7fba212"}, -] - -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" + {file = "ruff-0.6.5-py3-none-linux_armv6l.whl", hash = "sha256:7e4e308f16e07c95fc7753fc1aaac690a323b2bb9f4ec5e844a97bb7fbebd748"}, + {file = "ruff-0.6.5-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:932cd69eefe4daf8c7d92bd6689f7e8182571cb934ea720af218929da7bd7d69"}, + {file = "ruff-0.6.5-py3-none-macosx_11_0_arm64.whl", hash = "sha256:3a8d42d11fff8d3143ff4da41742a98f8f233bf8890e9fe23077826818f8d680"}, + {file = "ruff-0.6.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a50af6e828ee692fb10ff2dfe53f05caecf077f4210fae9677e06a808275754f"}, + {file = "ruff-0.6.5-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:794ada3400a0d0b89e3015f1a7e01f4c97320ac665b7bc3ade24b50b54cb2972"}, + {file = "ruff-0.6.5-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:381413ec47f71ce1d1c614f7779d88886f406f1fd53d289c77e4e533dc6ea200"}, + {file = "ruff-0.6.5-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:52e75a82bbc9b42e63c08d22ad0ac525117e72aee9729a069d7c4f235fc4d276"}, + {file = "ruff-0.6.5-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:09c72a833fd3551135ceddcba5ebdb68ff89225d30758027280968c9acdc7810"}, + {file = "ruff-0.6.5-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:800c50371bdcb99b3c1551d5691e14d16d6f07063a518770254227f7f6e8c178"}, + {file = "ruff-0.6.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8e25ddd9cd63ba1f3bd51c1f09903904a6adf8429df34f17d728a8fa11174253"}, + {file = "ruff-0.6.5-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:7291e64d7129f24d1b0c947ec3ec4c0076e958d1475c61202497c6aced35dd19"}, + {file = "ruff-0.6.5-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:9ad7dfbd138d09d9a7e6931e6a7e797651ce29becd688be8a0d4d5f8177b4b0c"}, + {file = "ruff-0.6.5-py3-none-musllinux_1_2_i686.whl", hash = "sha256:005256d977021790cc52aa23d78f06bb5090dc0bfbd42de46d49c201533982ae"}, + {file = "ruff-0.6.5-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:482c1e6bfeb615eafc5899127b805d28e387bd87db38b2c0c41d271f5e58d8cc"}, + {file = "ruff-0.6.5-py3-none-win32.whl", hash = "sha256:cf4d3fa53644137f6a4a27a2b397381d16454a1566ae5335855c187fbf67e4f5"}, + {file = "ruff-0.6.5-py3-none-win_amd64.whl", hash = "sha256:3e42a57b58e3612051a636bc1ac4e6b838679530235520e8f095f7c44f706ff9"}, + {file = "ruff-0.6.5-py3-none-win_arm64.whl", hash = "sha256:51935067740773afdf97493ba9b8231279e9beef0f2a8079188c4776c25688e0"}, + {file = "ruff-0.6.5.tar.gz", hash = "sha256:4d32d87fab433c0cf285c3683dd4dae63be05fd7a1d65b3f5bf7cdd05a6b96fb"}, +] [[package]] name = "s3transfer" version = "0.10.2" description = "An Amazon S3 Transfer Manager" optional = false -python-versions = ">= 3.8" +python-versions = ">=3.8" files = [ {file = "s3transfer-0.10.2-py3-none-any.whl", hash = "sha256:eca1c20de70a39daee580aef4986996620f365c4e0fda6a86100231d62f1bf69"}, {file = "s3transfer-0.10.2.tar.gz", hash = "sha256:0711534e9356d3cc692fdde846b4a1e4b0cb6519971860796e6bc4c7aea00ef6"}, @@ -9711,11 +8167,6 @@ botocore = ">=1.33.2,<2.0a.0" [package.extras] crt = ["botocore[crt] (>=1.33.2,<2.0a.0)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "safetensors" version = "0.4.5" @@ -9848,11 +8299,6 @@ tensorflow = ["safetensors[numpy]", "tensorflow (>=2.11.0)"] testing = ["h5py (>=3.7.0)", "huggingface-hub (>=0.12.1)", "hypothesis (>=6.70.2)", "pytest (>=7.2.0)", "pytest-benchmark (>=4.0.0)", "safetensors[numpy]", "setuptools-rust (>=1.5.2)"] torch = ["safetensors[numpy]", "torch (>=1.10)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "sagemaker" version = "2.231.0" @@ -9896,20 +8342,15 @@ local = ["docker (>=5.0.2,<8.0.0)", "pyyaml (>=5.4.1,<7)", "urllib3 (>=1.26.8,<3 scipy = ["scipy (==1.10.1)"] test = ["accelerate (>=0.24.1,<=0.27.0)", "apache-airflow (==2.9.3)", "apache-airflow-providers-amazon (==7.2.1)", "attrs (>=23.1.0,<24)", "awslogs (==0.14.0)", "black (==24.3.0)", "build[virtualenv] (==1.2.1)", "cloudpickle (==2.2.1)", "contextlib2 (==21.6.0)", "coverage (>=5.2,<6.2)", "docker (>=5.0.2,<8.0.0)", "fabric (==2.6.0)", "fastapi (>=0.111.0)", "flake8 (==4.0.1)", "huggingface-hub (>=0.23.4)", "jinja2 (==3.1.4)", "mlflow (>=2.12.2,<2.13)", "mock (==4.0.3)", "nbformat (>=5.9,<6)", "nest-asyncio", "numpy (>=1.24.0)", "onnx (>=1.15.0)", "pandas (>=1.3.5,<1.5)", "pillow (>=10.0.1,<=11)", "pyspark (==3.3.1)", "pytest (==6.2.5)", "pytest-cov (==3.0.0)", "pytest-rerunfailures (==10.2)", "pytest-timeout (==2.1.0)", "pytest-xdist (==2.4.0)", "pyvis (==0.2.1)", "pyyaml (==6.0)", "pyyaml (>=5.4.1,<7)", "requests (==2.32.2)", "sagemaker-experiments (==0.1.35)", "sagemaker-feature-store-pyspark-3-3", "sagemaker-schema-inference-artifacts (>=0.0.5)", "schema (==0.7.5)", "scikit-learn (==1.3.0)", "scipy (==1.10.1)", "stopit (==1.1.2)", "tensorflow (>=2.1,<=2.16)", "tox (==3.24.5)", "tritonclient[http] (<2.37.0)", "urllib3 (>=1.26.8,<3.0.0)", "uvicorn (>=0.30.1)", "xgboost (>=1.6.2,<=1.7.6)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "sagemaker-core" -version = "1.0.4" +version = "1.0.5" description = "An python package for sagemaker core functionalities" optional = false python-versions = ">=3.8" files = [ - {file = "sagemaker_core-1.0.4-py3-none-any.whl", hash = "sha256:bf71d988dbda03a3cd1557524f2fab4f19d89e54bd38fc7f05bbbcf580715f95"}, - {file = "sagemaker_core-1.0.4.tar.gz", hash = "sha256:203f4eb9d0d2a0e6ba80d79ba8c28b8ea27c94d04f6d9ff01c2fd55b95615c78"}, + {file = "sagemaker_core-1.0.5-py3-none-any.whl", hash = "sha256:999896411702c1703d4bc04f91e1bb6dcd30882092ec986a5c8024df35c00891"}, + {file = "sagemaker_core-1.0.5.tar.gz", hash = "sha256:855504bde44df1cc44368145bb5fd51d6748303bcc2e71b083bffe3d1bfa8964"}, ] [package.dependencies] @@ -9925,11 +8366,6 @@ rich = ">=13.0.0,<14.0.0" [package.extras] codegen = ["black (>=24.3.0,<25.0.0)", "pandas (>=2.0.0,<3.0.0)", "pylint (>=3.0.0,<4.0.0)", "pytest (>=8.0.0,<9.0.0)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "schema" version = "0.7.7" @@ -9941,11 +8377,6 @@ files = [ {file = "schema-0.7.7.tar.gz", hash = "sha256:7da553abd2958a19dc2547c388cde53398b39196175a9be59ea1caf5ab0a1807"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "scikit-learn" version = "1.5.2" @@ -9991,11 +8422,6 @@ install = ["joblib (>=1.2.0)", "numpy (>=1.19.5)", "scipy (>=1.6.0)", "threadpoo maintenance = ["conda-lock (==2.5.6)"] tests = ["black (>=24.3.0)", "matplotlib (>=3.3.4)", "mypy (>=1.9)", "numpydoc (>=1.2.0)", "pandas (>=1.1.5)", "polars (>=0.20.30)", "pooch (>=1.6.0)", "pyamg (>=4.0.0)", "pyarrow (>=12.0.0)", "pytest (>=7.1.2)", "pytest-cov (>=2.9.0)", "ruff (>=0.2.1)", "scikit-image (>=0.17.2)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "scipy" version = "1.14.1" @@ -10046,11 +8472,6 @@ dev = ["cython-lint (>=0.12.2)", "doit (>=0.36.0)", "mypy (==1.10.0)", "pycodest doc = ["jupyterlite-pyodide-kernel", "jupyterlite-sphinx (>=0.13.1)", "jupytext", "matplotlib (>=3.5)", "myst-nb", "numpydoc", "pooch", "pydata-sphinx-theme (>=0.15.2)", "sphinx (>=5.0.0,<=7.3.7)", "sphinx-design (>=0.4.0)"] test = ["Cython", "array-api-strict (>=2.0)", "asv", "gmpy2", "hypothesis (>=6.30)", "meson", "mpmath", "ninja", "pooch", "pytest", "pytest-cov", "pytest-timeout", "pytest-xdist", "scikit-umfpack", "threadpoolctl"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "sentry-sdk" version = "1.44.1" @@ -10101,36 +8522,26 @@ starlette = ["starlette (>=0.19.1)"] starlite = ["starlite (>=1.48)"] tornado = ["tornado (>=5)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "setuptools" -version = "74.1.2" +version = "75.1.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "setuptools-74.1.2-py3-none-any.whl", hash = "sha256:5f4c08aa4d3ebcb57a50c33b1b07e94315d7fc7230f7115e47fc99776c8ce308"}, - {file = "setuptools-74.1.2.tar.gz", hash = "sha256:95b40ed940a1c67eb70fc099094bd6e99c6ee7c23aa2306f4d2697ba7916f9c6"}, + {file = "setuptools-75.1.0-py3-none-any.whl", hash = "sha256:35ab7fd3bcd95e6b7fd704e4a1539513edad446c097797f2985e0e4b960772f2"}, + {file = "setuptools-75.1.0.tar.gz", hash = "sha256:d59a21b17a275fb872a9c3dae73963160ae079f1049ed956880cd7c09b120538"}, ] [package.extras] check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)", "ruff (>=0.5.2)"] -core = ["importlib-metadata (>=6)", "importlib-resources (>=5.10.2)", "jaraco.text (>=3.7)", "more-itertools (>=8.8)", "packaging (>=24)", "platformdirs (>=2.6.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"] +core = ["importlib-metadata (>=6)", "importlib-resources (>=5.10.2)", "jaraco.collections", "jaraco.functools", "jaraco.text (>=3.7)", "more-itertools", "more-itertools (>=8.8)", "packaging", "packaging (>=24)", "platformdirs (>=2.6.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"] cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier", "towncrier (<24.7)"] enabler = ["pytest-enabler (>=2.2)"] test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test", "packaging (>=23.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"] type = ["importlib-metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (==1.11.*)", "pytest-mypy"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "sgmllib3k" version = "1.0.0" @@ -10141,11 +8552,6 @@ files = [ {file = "sgmllib3k-1.0.0.tar.gz", hash = "sha256:7868fb1c8bfa764c1ac563d3cf369c381d1325d36124933a726f29fcdaa812e9"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "shapely" version = "2.0.6" @@ -10204,11 +8610,6 @@ numpy = ">=1.14,<3" docs = ["matplotlib", "numpydoc (==1.1.*)", "sphinx", "sphinx-book-theme", "sphinx-remove-toctrees"] test = ["pytest", "pytest-cov"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "shellingham" version = "1.5.4" @@ -10220,11 +8621,6 @@ files = [ {file = "shellingham-1.5.4.tar.gz", hash = "sha256:8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "simple-websocket" version = "1.0.0" @@ -10242,11 +8638,6 @@ wsproto = "*" [package.extras] docs = ["sphinx"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "six" version = "1.16.0" @@ -10258,11 +8649,6 @@ files = [ {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "smdebug-rulesconfig" version = "1.0.1" @@ -10274,11 +8660,6 @@ files = [ {file = "smdebug_rulesconfig-1.0.1.tar.gz", hash = "sha256:7a19e6eb2e6bcfefbc07e4a86ef7a88f32495001a038bf28c7d8e77ab793fcd6"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "sniffio" version = "1.3.1" @@ -10290,11 +8671,6 @@ files = [ {file = "sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "socksio" version = "1.0.0" @@ -10306,11 +8682,6 @@ files = [ {file = "socksio-1.0.0.tar.gz", hash = "sha256:f88beb3da5b5c38b9890469de67d0cb0f9d494b78b106ca1845f96c10b91c4ac"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "soupsieve" version = "2.6" @@ -10322,67 +8693,62 @@ files = [ {file = "soupsieve-2.6.tar.gz", hash = "sha256:e2e68417777af359ec65daac1057404a3c8a5455bb8abc36f1a9866ab1a51abb"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "sqlalchemy" -version = "2.0.34" +version = "2.0.35" description = "Database Abstraction Library" optional = false python-versions = ">=3.7" files = [ - {file = "SQLAlchemy-2.0.34-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:95d0b2cf8791ab5fb9e3aa3d9a79a0d5d51f55b6357eecf532a120ba3b5524db"}, - {file = "SQLAlchemy-2.0.34-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:243f92596f4fd4c8bd30ab8e8dd5965afe226363d75cab2468f2c707f64cd83b"}, - {file = "SQLAlchemy-2.0.34-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9ea54f7300553af0a2a7235e9b85f4204e1fc21848f917a3213b0e0818de9a24"}, - {file = "SQLAlchemy-2.0.34-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:173f5f122d2e1bff8fbd9f7811b7942bead1f5e9f371cdf9e670b327e6703ebd"}, - {file = "SQLAlchemy-2.0.34-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:196958cde924a00488e3e83ff917be3b73cd4ed8352bbc0f2989333176d1c54d"}, - {file = "SQLAlchemy-2.0.34-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:bd90c221ed4e60ac9d476db967f436cfcecbd4ef744537c0f2d5291439848768"}, - {file = "SQLAlchemy-2.0.34-cp310-cp310-win32.whl", hash = "sha256:3166dfff2d16fe9be3241ee60ece6fcb01cf8e74dd7c5e0b64f8e19fab44911b"}, - {file = "SQLAlchemy-2.0.34-cp310-cp310-win_amd64.whl", hash = "sha256:6831a78bbd3c40f909b3e5233f87341f12d0b34a58f14115c9e94b4cdaf726d3"}, - {file = "SQLAlchemy-2.0.34-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c7db3db284a0edaebe87f8f6642c2b2c27ed85c3e70064b84d1c9e4ec06d5d84"}, - {file = "SQLAlchemy-2.0.34-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:430093fce0efc7941d911d34f75a70084f12f6ca5c15d19595c18753edb7c33b"}, - {file = "SQLAlchemy-2.0.34-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79cb400c360c7c210097b147c16a9e4c14688a6402445ac848f296ade6283bbc"}, - {file = "SQLAlchemy-2.0.34-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fb1b30f31a36c7f3fee848391ff77eebdd3af5750bf95fbf9b8b5323edfdb4ec"}, - {file = "SQLAlchemy-2.0.34-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8fddde2368e777ea2a4891a3fb4341e910a056be0bb15303bf1b92f073b80c02"}, - {file = "SQLAlchemy-2.0.34-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:80bd73ea335203b125cf1d8e50fef06be709619eb6ab9e7b891ea34b5baa2287"}, - {file = "SQLAlchemy-2.0.34-cp311-cp311-win32.whl", hash = "sha256:6daeb8382d0df526372abd9cb795c992e18eed25ef2c43afe518c73f8cccb721"}, - {file = "SQLAlchemy-2.0.34-cp311-cp311-win_amd64.whl", hash = "sha256:5bc08e75ed11693ecb648b7a0a4ed80da6d10845e44be0c98c03f2f880b68ff4"}, - {file = "SQLAlchemy-2.0.34-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:53e68b091492c8ed2bd0141e00ad3089bcc6bf0e6ec4142ad6505b4afe64163e"}, - {file = "SQLAlchemy-2.0.34-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:bcd18441a49499bf5528deaa9dee1f5c01ca491fc2791b13604e8f972877f812"}, - {file = "SQLAlchemy-2.0.34-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:165bbe0b376541092bf49542bd9827b048357f4623486096fc9aaa6d4e7c59a2"}, - {file = "SQLAlchemy-2.0.34-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c3330415cd387d2b88600e8e26b510d0370db9b7eaf984354a43e19c40df2e2b"}, - {file = "SQLAlchemy-2.0.34-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:97b850f73f8abbffb66ccbab6e55a195a0eb655e5dc74624d15cff4bfb35bd74"}, - {file = "SQLAlchemy-2.0.34-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:7cee4c6917857fd6121ed84f56d1dc78eb1d0e87f845ab5a568aba73e78adf83"}, - {file = "SQLAlchemy-2.0.34-cp312-cp312-win32.whl", hash = "sha256:fbb034f565ecbe6c530dff948239377ba859420d146d5f62f0271407ffb8c580"}, - {file = "SQLAlchemy-2.0.34-cp312-cp312-win_amd64.whl", hash = "sha256:707c8f44931a4facd4149b52b75b80544a8d824162602b8cd2fe788207307f9a"}, - {file = "SQLAlchemy-2.0.34-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:24af3dc43568f3780b7e1e57c49b41d98b2d940c1fd2e62d65d3928b6f95f021"}, - {file = "SQLAlchemy-2.0.34-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e60ed6ef0a35c6b76b7640fe452d0e47acc832ccbb8475de549a5cc5f90c2c06"}, - {file = "SQLAlchemy-2.0.34-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:413c85cd0177c23e32dee6898c67a5f49296640041d98fddb2c40888fe4daa2e"}, - {file = "SQLAlchemy-2.0.34-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:25691f4adfb9d5e796fd48bf1432272f95f4bbe5f89c475a788f31232ea6afba"}, - {file = "SQLAlchemy-2.0.34-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:526ce723265643dbc4c7efb54f56648cc30e7abe20f387d763364b3ce7506c82"}, - {file = "SQLAlchemy-2.0.34-cp37-cp37m-win32.whl", hash = "sha256:13be2cc683b76977a700948411a94c67ad8faf542fa7da2a4b167f2244781cf3"}, - {file = "SQLAlchemy-2.0.34-cp37-cp37m-win_amd64.whl", hash = "sha256:e54ef33ea80d464c3dcfe881eb00ad5921b60f8115ea1a30d781653edc2fd6a2"}, - {file = "SQLAlchemy-2.0.34-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:43f28005141165edd11fbbf1541c920bd29e167b8bbc1fb410d4fe2269c1667a"}, - {file = "SQLAlchemy-2.0.34-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b68094b165a9e930aedef90725a8fcfafe9ef95370cbb54abc0464062dbf808f"}, - {file = "SQLAlchemy-2.0.34-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6a1e03db964e9d32f112bae36f0cc1dcd1988d096cfd75d6a588a3c3def9ab2b"}, - {file = "SQLAlchemy-2.0.34-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:203d46bddeaa7982f9c3cc693e5bc93db476ab5de9d4b4640d5c99ff219bee8c"}, - {file = "SQLAlchemy-2.0.34-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:ae92bebca3b1e6bd203494e5ef919a60fb6dfe4d9a47ed2453211d3bd451b9f5"}, - {file = "SQLAlchemy-2.0.34-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:9661268415f450c95f72f0ac1217cc6f10256f860eed85c2ae32e75b60278ad8"}, - {file = "SQLAlchemy-2.0.34-cp38-cp38-win32.whl", hash = "sha256:895184dfef8708e15f7516bd930bda7e50ead069280d2ce09ba11781b630a434"}, - {file = "SQLAlchemy-2.0.34-cp38-cp38-win_amd64.whl", hash = "sha256:6e7cde3a2221aa89247944cafb1b26616380e30c63e37ed19ff0bba5e968688d"}, - {file = "SQLAlchemy-2.0.34-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:dbcdf987f3aceef9763b6d7b1fd3e4ee210ddd26cac421d78b3c206d07b2700b"}, - {file = "SQLAlchemy-2.0.34-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ce119fc4ce0d64124d37f66a6f2a584fddc3c5001755f8a49f1ca0a177ef9796"}, - {file = "SQLAlchemy-2.0.34-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a17d8fac6df9835d8e2b4c5523666e7051d0897a93756518a1fe101c7f47f2f0"}, - {file = "SQLAlchemy-2.0.34-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ebc11c54c6ecdd07bb4efbfa1554538982f5432dfb8456958b6d46b9f834bb7"}, - {file = "SQLAlchemy-2.0.34-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2e6965346fc1491a566e019a4a1d3dfc081ce7ac1a736536367ca305da6472a8"}, - {file = "SQLAlchemy-2.0.34-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:220574e78ad986aea8e81ac68821e47ea9202b7e44f251b7ed8c66d9ae3f4278"}, - {file = "SQLAlchemy-2.0.34-cp39-cp39-win32.whl", hash = "sha256:b75b00083e7fe6621ce13cfce9d4469c4774e55e8e9d38c305b37f13cf1e874c"}, - {file = "SQLAlchemy-2.0.34-cp39-cp39-win_amd64.whl", hash = "sha256:c29d03e0adf3cc1a8c3ec62d176824972ae29b67a66cbb18daff3062acc6faa8"}, - {file = "SQLAlchemy-2.0.34-py3-none-any.whl", hash = "sha256:7286c353ee6475613d8beff83167374006c6b3e3f0e6491bfe8ca610eb1dec0f"}, - {file = "sqlalchemy-2.0.34.tar.gz", hash = "sha256:10d8f36990dd929690666679b0f42235c159a7051534adb135728ee52828dd22"}, + {file = "SQLAlchemy-2.0.35-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:67219632be22f14750f0d1c70e62f204ba69d28f62fd6432ba05ab295853de9b"}, + {file = "SQLAlchemy-2.0.35-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4668bd8faf7e5b71c0319407b608f278f279668f358857dbfd10ef1954ac9f90"}, + {file = "SQLAlchemy-2.0.35-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb8bea573863762bbf45d1e13f87c2d2fd32cee2dbd50d050f83f87429c9e1ea"}, + {file = "SQLAlchemy-2.0.35-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f552023710d4b93d8fb29a91fadf97de89c5926c6bd758897875435f2a939f33"}, + {file = "SQLAlchemy-2.0.35-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:016b2e665f778f13d3c438651dd4de244214b527a275e0acf1d44c05bc6026a9"}, + {file = "SQLAlchemy-2.0.35-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7befc148de64b6060937231cbff8d01ccf0bfd75aa26383ffdf8d82b12ec04ff"}, + {file = "SQLAlchemy-2.0.35-cp310-cp310-win32.whl", hash = "sha256:22b83aed390e3099584b839b93f80a0f4a95ee7f48270c97c90acd40ee646f0b"}, + {file = "SQLAlchemy-2.0.35-cp310-cp310-win_amd64.whl", hash = "sha256:a29762cd3d116585278ffb2e5b8cc311fb095ea278b96feef28d0b423154858e"}, + {file = "SQLAlchemy-2.0.35-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e21f66748ab725ade40fa7af8ec8b5019c68ab00b929f6643e1b1af461eddb60"}, + {file = "SQLAlchemy-2.0.35-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8a6219108a15fc6d24de499d0d515c7235c617b2540d97116b663dade1a54d62"}, + {file = "SQLAlchemy-2.0.35-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:042622a5306c23b972192283f4e22372da3b8ddf5f7aac1cc5d9c9b222ab3ff6"}, + {file = "SQLAlchemy-2.0.35-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:627dee0c280eea91aed87b20a1f849e9ae2fe719d52cbf847c0e0ea34464b3f7"}, + {file = "SQLAlchemy-2.0.35-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:4fdcd72a789c1c31ed242fd8c1bcd9ea186a98ee8e5408a50e610edfef980d71"}, + {file = "SQLAlchemy-2.0.35-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:89b64cd8898a3a6f642db4eb7b26d1b28a497d4022eccd7717ca066823e9fb01"}, + {file = "SQLAlchemy-2.0.35-cp311-cp311-win32.whl", hash = "sha256:6a93c5a0dfe8d34951e8a6f499a9479ffb9258123551fa007fc708ae2ac2bc5e"}, + {file = "SQLAlchemy-2.0.35-cp311-cp311-win_amd64.whl", hash = "sha256:c68fe3fcde03920c46697585620135b4ecfdfc1ed23e75cc2c2ae9f8502c10b8"}, + {file = "SQLAlchemy-2.0.35-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:eb60b026d8ad0c97917cb81d3662d0b39b8ff1335e3fabb24984c6acd0c900a2"}, + {file = "SQLAlchemy-2.0.35-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6921ee01caf375363be5e9ae70d08ce7ca9d7e0e8983183080211a062d299468"}, + {file = "SQLAlchemy-2.0.35-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8cdf1a0dbe5ced887a9b127da4ffd7354e9c1a3b9bb330dce84df6b70ccb3a8d"}, + {file = "SQLAlchemy-2.0.35-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:93a71c8601e823236ac0e5d087e4f397874a421017b3318fd92c0b14acf2b6db"}, + {file = "SQLAlchemy-2.0.35-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e04b622bb8a88f10e439084486f2f6349bf4d50605ac3e445869c7ea5cf0fa8c"}, + {file = "SQLAlchemy-2.0.35-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1b56961e2d31389aaadf4906d453859f35302b4eb818d34a26fab72596076bb8"}, + {file = "SQLAlchemy-2.0.35-cp312-cp312-win32.whl", hash = "sha256:0f9f3f9a3763b9c4deb8c5d09c4cc52ffe49f9876af41cc1b2ad0138878453cf"}, + {file = "SQLAlchemy-2.0.35-cp312-cp312-win_amd64.whl", hash = "sha256:25b0f63e7fcc2a6290cb5f7f5b4fc4047843504983a28856ce9b35d8f7de03cc"}, + {file = "SQLAlchemy-2.0.35-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:f021d334f2ca692523aaf7bbf7592ceff70c8594fad853416a81d66b35e3abf9"}, + {file = "SQLAlchemy-2.0.35-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:05c3f58cf91683102f2f0265c0db3bd3892e9eedabe059720492dbaa4f922da1"}, + {file = "SQLAlchemy-2.0.35-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:032d979ce77a6c2432653322ba4cbeabf5a6837f704d16fa38b5a05d8e21fa00"}, + {file = "SQLAlchemy-2.0.35-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:2e795c2f7d7249b75bb5f479b432a51b59041580d20599d4e112b5f2046437a3"}, + {file = "SQLAlchemy-2.0.35-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:cc32b2990fc34380ec2f6195f33a76b6cdaa9eecf09f0c9404b74fc120aef36f"}, + {file = "SQLAlchemy-2.0.35-cp37-cp37m-win32.whl", hash = "sha256:9509c4123491d0e63fb5e16199e09f8e262066e58903e84615c301dde8fa2e87"}, + {file = "SQLAlchemy-2.0.35-cp37-cp37m-win_amd64.whl", hash = "sha256:3655af10ebcc0f1e4e06c5900bb33e080d6a1fa4228f502121f28a3b1753cde5"}, + {file = "SQLAlchemy-2.0.35-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:4c31943b61ed8fdd63dfd12ccc919f2bf95eefca133767db6fbbd15da62078ec"}, + {file = "SQLAlchemy-2.0.35-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a62dd5d7cc8626a3634208df458c5fe4f21200d96a74d122c83bc2015b333bc1"}, + {file = "SQLAlchemy-2.0.35-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0630774b0977804fba4b6bbea6852ab56c14965a2b0c7fc7282c5f7d90a1ae72"}, + {file = "SQLAlchemy-2.0.35-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d625eddf7efeba2abfd9c014a22c0f6b3796e0ffb48f5d5ab106568ef01ff5a"}, + {file = "SQLAlchemy-2.0.35-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:ada603db10bb865bbe591939de854faf2c60f43c9b763e90f653224138f910d9"}, + {file = "SQLAlchemy-2.0.35-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:c41411e192f8d3ea39ea70e0fae48762cd11a2244e03751a98bd3c0ca9a4e936"}, + {file = "SQLAlchemy-2.0.35-cp38-cp38-win32.whl", hash = "sha256:d299797d75cd747e7797b1b41817111406b8b10a4f88b6e8fe5b5e59598b43b0"}, + {file = "SQLAlchemy-2.0.35-cp38-cp38-win_amd64.whl", hash = "sha256:0375a141e1c0878103eb3d719eb6d5aa444b490c96f3fedab8471c7f6ffe70ee"}, + {file = "SQLAlchemy-2.0.35-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ccae5de2a0140d8be6838c331604f91d6fafd0735dbdcee1ac78fc8fbaba76b4"}, + {file = "SQLAlchemy-2.0.35-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2a275a806f73e849e1c309ac11108ea1a14cd7058577aba962cd7190e27c9e3c"}, + {file = "SQLAlchemy-2.0.35-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:732e026240cdd1c1b2e3ac515c7a23820430ed94292ce33806a95869c46bd139"}, + {file = "SQLAlchemy-2.0.35-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:890da8cd1941fa3dab28c5bac3b9da8502e7e366f895b3b8e500896f12f94d11"}, + {file = "SQLAlchemy-2.0.35-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:c0d8326269dbf944b9201911b0d9f3dc524d64779a07518199a58384c3d37a44"}, + {file = "SQLAlchemy-2.0.35-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:b76d63495b0508ab9fc23f8152bac63205d2a704cd009a2b0722f4c8e0cba8e0"}, + {file = "SQLAlchemy-2.0.35-cp39-cp39-win32.whl", hash = "sha256:69683e02e8a9de37f17985905a5eca18ad651bf592314b4d3d799029797d0eb3"}, + {file = "SQLAlchemy-2.0.35-cp39-cp39-win_amd64.whl", hash = "sha256:aee110e4ef3c528f3abbc3c2018c121e708938adeeff9006428dd7c8555e9b3f"}, + {file = "SQLAlchemy-2.0.35-py3-none-any.whl", hash = "sha256:2ab3f0336c0387662ce6221ad30ab3a5e6499aab01b9790879b6578fd9b8faa1"}, + {file = "sqlalchemy-2.0.35.tar.gz", hash = "sha256:e11d7ea4d24f0a262bccf9a7cd6284c976c5369dac21db237cff59586045ab9f"}, ] [package.dependencies] @@ -10392,7 +8758,7 @@ typing-extensions = ">=4.6.0" [package.extras] aiomysql = ["aiomysql (>=0.2.0)", "greenlet (!=0.4.17)"] aioodbc = ["aioodbc", "greenlet (!=0.4.17)"] -aiosqlite = ["aiosqlite", "greenlet (!=0.4.17)", "typing-extensions (!=3.10.0.1)"] +aiosqlite = ["aiosqlite", "greenlet (!=0.4.17)", "typing_extensions (!=3.10.0.1)"] asyncio = ["greenlet (!=0.4.17)"] asyncmy = ["asyncmy (>=0.2.3,!=0.2.4,!=0.2.6)", "greenlet (!=0.4.17)"] mariadb-connector = ["mariadb (>=1.0.1,!=1.1.2,!=1.1.5)"] @@ -10402,7 +8768,7 @@ mssql-pyodbc = ["pyodbc"] mypy = ["mypy (>=0.910)"] mysql = ["mysqlclient (>=1.4.0)"] mysql-connector = ["mysql-connector-python"] -oracle = ["cx-oracle (>=8)"] +oracle = ["cx_oracle (>=8)"] oracle-oracledb = ["oracledb (>=1.0.1)"] postgresql = ["psycopg2 (>=2.7)"] postgresql-asyncpg = ["asyncpg", "greenlet (!=0.4.17)"] @@ -10412,12 +8778,7 @@ postgresql-psycopg2binary = ["psycopg2-binary"] postgresql-psycopg2cffi = ["psycopg2cffi"] postgresql-psycopgbinary = ["psycopg[binary] (>=3.0.7)"] pymysql = ["pymysql"] -sqlcipher = ["sqlcipher3-binary"] - -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" +sqlcipher = ["sqlcipher3_binary"] [[package]] name = "sqlparse" @@ -10434,11 +8795,6 @@ files = [ dev = ["build", "hatch"] doc = ["sphinx"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "starlette" version = "0.38.5" @@ -10456,11 +8812,6 @@ anyio = ">=3.4.0,<5" [package.extras] full = ["httpx (>=0.22.0)", "itsdangerous", "jinja2", "python-multipart (>=0.0.7)", "pyyaml"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "strictyaml" version = "1.7.3" @@ -10475,20 +8826,15 @@ files = [ [package.dependencies] python-dateutil = ">=2.6.0" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "sympy" -version = "1.13.2" +version = "1.13.3" description = "Computer algebra system (CAS) in Python" optional = false python-versions = ">=3.8" files = [ - {file = "sympy-1.13.2-py3-none-any.whl", hash = "sha256:c51d75517712f1aed280d4ce58506a4a88d635d6b5dd48b39102a7ae1f3fcfe9"}, - {file = "sympy-1.13.2.tar.gz", hash = "sha256:401449d84d07be9d0c7a46a64bd54fe097667d5e7181bfe67ec777be9e01cb13"}, + {file = "sympy-1.13.3-py3-none-any.whl", hash = "sha256:54612cf55a62755ee71824ce692986f23c88ffa77207b30c1368eda4a7060f73"}, + {file = "sympy-1.13.3.tar.gz", hash = "sha256:b27fd2c6530e0ab39e275fc9b683895367e51d5da91baa8d3d64db2565fec4d9"}, ] [package.dependencies] @@ -10497,11 +8843,6 @@ mpmath = ">=1.1.0,<1.4" [package.extras] dev = ["hypothesis (>=6.70.0)", "pytest (>=7.1.0)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "tabulate" version = "0.9.0" @@ -10516,11 +8857,6 @@ files = [ [package.extras] widechars = ["wcwidth"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "tblib" version = "3.0.0" @@ -10532,11 +8868,6 @@ files = [ {file = "tblib-3.0.0.tar.gz", hash = "sha256:93622790a0a29e04f0346458face1e144dc4d32f493714c6c3dff82a4adb77e6"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "tcvectordb" version = "1.3.2" @@ -10552,11 +8883,6 @@ files = [ cos-python-sdk-v5 = ">=1.9.26" requests = "*" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "tenacity" version = "9.0.0" @@ -10572,48 +8898,33 @@ files = [ doc = ["reno", "sphinx"] test = ["pytest", "tornado (>=4.5)", "typeguard"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "tencentcloud-sdk-python-common" -version = "3.0.1231" +version = "3.0.1234" description = "Tencent Cloud Common SDK for Python" optional = false python-versions = "*" files = [ - {file = "tencentcloud-sdk-python-common-3.0.1231.tar.gz", hash = "sha256:22aa281ca2eac511e1615b2953da7c4a0bec87cf93a05a7a15dbb61b23a215ee"}, - {file = "tencentcloud_sdk_python_common-3.0.1231-py2.py3-none-any.whl", hash = "sha256:bd0f7c4df4b156ec35c8731afa1f498043c7e1cd5d2feb595ee441fdb45a061e"}, + {file = "tencentcloud-sdk-python-common-3.0.1234.tar.gz", hash = "sha256:7fdde27d1c73deed60707db69e72761e70a5f57e12ef907413a712f4f581cb1e"}, + {file = "tencentcloud_sdk_python_common-3.0.1234-py2.py3-none-any.whl", hash = "sha256:f031644c2358861813623e23d143d340623f0a902cf786ecb04cd111a366ccd4"}, ] [package.dependencies] requests = ">=2.16.0" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "tencentcloud-sdk-python-hunyuan" -version = "3.0.1231" +version = "3.0.1234" description = "Tencent Cloud Hunyuan SDK for Python" optional = false python-versions = "*" files = [ - {file = "tencentcloud-sdk-python-hunyuan-3.0.1231.tar.gz", hash = "sha256:6da12f418f14305b3a6b7bb29b6d95bf4038a6b66b81c0e03b8dafc4f6df99ca"}, - {file = "tencentcloud_sdk_python_hunyuan-3.0.1231-py2.py3-none-any.whl", hash = "sha256:21ba28f69c34c15e20900be3f2c06376fcaf7e58265f939833c55631f2348792"}, + {file = "tencentcloud-sdk-python-hunyuan-3.0.1234.tar.gz", hash = "sha256:342f8b5e526cf369d09dc579cd0a77005dea936764a56e8820e205e0dc310601"}, + {file = "tencentcloud_sdk_python_hunyuan-3.0.1234-py2.py3-none-any.whl", hash = "sha256:8b362e5ce703d739e66125949625d19dceb0e2f4097d6d9ef999b3166cc5e8b8"}, ] [package.dependencies] -tencentcloud-sdk-python-common = "3.0.1231" - -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" +tencentcloud-sdk-python-common = "3.0.1234" [[package]] name = "threadpoolctl" @@ -10626,17 +8937,12 @@ files = [ {file = "threadpoolctl-3.5.0.tar.gz", hash = "sha256:082433502dd922bf738de0d8bcc4fdcbf0979ff44c42bd40f5af8a282f6fa107"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "tidb-vector" version = "0.0.9" description = "A Python client for TiDB Vector" optional = false -python-versions = ">=3.8.1,<4.0" +python-versions = "<4.0,>=3.8.1" files = [ {file = "tidb_vector-0.0.9-py3-none-any.whl", hash = "sha256:db060ee1c981326d3882d0810e0b8b57811f278668f9381168997b360c4296c2"}, {file = "tidb_vector-0.0.9.tar.gz", hash = "sha256:e10680872532808e1bcffa7a92dd2b05bb65d63982f833edb3c6cd590dec7709"}, @@ -10648,11 +8954,6 @@ numpy = ">=1,<2" [package.extras] client = ["SQLAlchemy (>=1.4,<3)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "tiktoken" version = "0.7.0" @@ -10705,11 +9006,6 @@ requests = ">=2.26.0" [package.extras] blobfile = ["blobfile (>=2)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "tinysegmenter" version = "0.3" @@ -10720,11 +9016,6 @@ files = [ {file = "tinysegmenter-0.3.tar.gz", hash = "sha256:ed1f6d2e806a4758a73be589754384cbadadc7e1a414c81a166fc9adf2d40c6d"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "tldextract" version = "5.1.2" @@ -10746,11 +9037,6 @@ requests-file = ">=1.4" release = ["build", "twine"] testing = ["black", "mypy", "pytest", "pytest-gitignore", "pytest-mock", "responses", "ruff", "syrupy", "tox", "types-filelock", "types-requests"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "tokenizers" version = "0.15.2" @@ -10878,11 +9164,6 @@ dev = ["tokenizers[testing]"] docs = ["setuptools_rust", "sphinx", "sphinx_rtd_theme"] testing = ["black (==22.3)", "datasets", "numpy", "pytest", "requests"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "toml" version = "0.10.2" @@ -10894,11 +9175,6 @@ files = [ {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "tomli" version = "2.0.1" @@ -10910,11 +9186,6 @@ files = [ {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "tos" version = "2.7.1" @@ -10932,11 +9203,6 @@ pytz = "*" requests = ">=2.19.1,<3.dev0" six = "*" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "tqdm" version = "4.66.5" @@ -10957,11 +9223,6 @@ notebook = ["ipywidgets (>=6)"] slack = ["slack-sdk"] telegram = ["requests"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "transformers" version = "4.35.2" @@ -11030,11 +9291,6 @@ torchhub = ["filelock", "huggingface-hub (>=0.16.4,<1.0)", "importlib-metadata", video = ["av (==9.2.0)", "decord (==0.6.0)"] vision = ["Pillow (<10.0.0)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "twilio" version = "9.0.5" @@ -11052,11 +9308,6 @@ aiohttp-retry = ">=2.8.3" PyJWT = ">=2.0.0,<3.0.0" requests = ">=2.0.0" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "typer" version = "0.12.5" @@ -11074,30 +9325,20 @@ rich = ">=10.11.0" shellingham = ">=1.3.0" typing-extensions = ">=3.7.4.3" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "types-requests" -version = "2.32.0.20240907" +version = "2.32.0.20240914" description = "Typing stubs for requests" optional = false python-versions = ">=3.8" files = [ - {file = "types-requests-2.32.0.20240907.tar.gz", hash = "sha256:ff33935f061b5e81ec87997e91050f7b4af4f82027a7a7a9d9aaea04a963fdf8"}, - {file = "types_requests-2.32.0.20240907-py3-none-any.whl", hash = "sha256:1d1e79faeaf9d42def77f3c304893dea17a97cae98168ac69f3cb465516ee8da"}, + {file = "types-requests-2.32.0.20240914.tar.gz", hash = "sha256:2850e178db3919d9bf809e434eef65ba49d0e7e33ac92d588f4a5e295fffd405"}, + {file = "types_requests-2.32.0.20240914-py3-none-any.whl", hash = "sha256:59c2f673eb55f32a99b2894faf6020e1a9f4a402ad0f192bfee0b64469054310"}, ] [package.dependencies] urllib3 = ">=2" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "typing-extensions" version = "4.12.2" @@ -11109,11 +9350,6 @@ files = [ {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "typing-inspect" version = "0.9.0" @@ -11129,11 +9365,6 @@ files = [ mypy-extensions = ">=0.3.0" typing-extensions = ">=3.7.4" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "tzdata" version = "2024.1" @@ -11145,11 +9376,6 @@ files = [ {file = "tzdata-2024.1.tar.gz", hash = "sha256:2674120f8d891909751c38abcdfd386ac0a5a1127954fbc332af6b5ceae07efd"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "tzlocal" version = "5.2" @@ -11167,11 +9393,6 @@ tzdata = {version = "*", markers = "platform_system == \"Windows\""} [package.extras] devenv = ["check-manifest", "pytest (>=4.3)", "pytest-cov", "pytest-mock (>=3.3)", "zest.releaser"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "ujson" version = "5.10.0" @@ -11259,11 +9480,6 @@ files = [ {file = "ujson-5.10.0.tar.gz", hash = "sha256:b3cd8f3c5d8c7738257f1018880444f7b7d9b66232c64649f562d7ba86ad4bc1"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "unstructured" version = "0.10.30" @@ -11347,11 +9563,6 @@ tsv = ["pandas"] wikipedia = ["wikipedia"] xlsx = ["networkx", "openpyxl", "pandas", "xlrd"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "uritemplate" version = "4.1.1" @@ -11363,11 +9574,6 @@ files = [ {file = "uritemplate-4.1.1.tar.gz", hash = "sha256:4346edfc5c3b79f694bccd6d6099a322bbeb628dbf2cd86eea55a456ce5124f0"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "urllib3" version = "2.2.3" @@ -11385,11 +9591,6 @@ h2 = ["h2 (>=4,<5)"] socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] zstd = ["zstandard (>=0.18.0)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "uvicorn" version = "0.30.6" @@ -11416,11 +9617,6 @@ websockets = {version = ">=10.4", optional = true, markers = "extra == \"standar [package.extras] standard = ["colorama (>=0.4)", "httptools (>=0.5.0)", "python-dotenv (>=0.13)", "pyyaml (>=5.1)", "uvloop (>=0.14.0,!=0.15.0,!=0.15.1)", "watchfiles (>=0.13)", "websockets (>=10.4)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "uvloop" version = "0.20.0" @@ -11465,11 +9661,6 @@ files = [ docs = ["Sphinx (>=4.1.2,<4.2.0)", "sphinx-rtd-theme (>=0.5.2,<0.6.0)", "sphinxcontrib-asyncio (>=0.3.0,<0.4.0)"] test = ["Cython (>=0.29.36,<0.30.0)", "aiohttp (==3.9.0b0)", "aiohttp (>=3.8.1)", "flake8 (>=5.0,<6.0)", "mypy (>=0.800)", "psutil", "pyOpenSSL (>=23.0.0,<23.1.0)", "pycodestyle (>=2.9.0,<2.10.0)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "validators" version = "0.21.0" @@ -11481,11 +9672,6 @@ files = [ {file = "validators-0.21.0.tar.gz", hash = "sha256:245b98ab778ed9352a7269c6a8f6c2a839bed5b2a7e3e60273ce399d247dd4b3"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "vanna" version = "0.5.5" @@ -11537,11 +9723,6 @@ test = ["tox"] vllm = ["vllm"] zhipuai = ["zhipuai"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "vine" version = "5.1.0" @@ -11553,19 +9734,14 @@ files = [ {file = "vine-5.1.0.tar.gz", hash = "sha256:8b62e981d35c41049211cf62a0a1242d8c1ee9bd15bb196ce38aefd6799e61e0"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "volcengine-python-sdk" -version = "1.0.101" +version = "1.0.102" description = "Volcengine SDK for Python" optional = false python-versions = "*" files = [ - {file = "volcengine-python-sdk-1.0.101.tar.gz", hash = "sha256:1b76e71a6dcf3d5be1b2c058e7d281359e6cca2cc920ffe2567d3115beea1d02"}, + {file = "volcengine-python-sdk-1.0.102.tar.gz", hash = "sha256:613e6c2a6d22816c45616987e4772e6bd475d273d035ce713dc14c90938ce6f2"}, ] [package.dependencies] @@ -11580,11 +9756,6 @@ urllib3 = ">=1.23" [package.extras] ark = ["anyio (>=3.5.0,<5)", "cached-property", "httpx (>=0.23.0,<1)", "pydantic (>=1.9.0,<3)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "watchfiles" version = "0.24.0" @@ -11680,11 +9851,6 @@ files = [ [package.dependencies] anyio = ">=3.0.0" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "wcwidth" version = "0.2.13" @@ -11696,11 +9862,6 @@ files = [ {file = "wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "weaviate-client" version = "3.21.0" @@ -11721,11 +9882,6 @@ validators = ">=0.18.2,<=0.21.0" [package.extras] grpc = ["grpcio", "grpcio-tools"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "webencodings" version = "0.5.1" @@ -11737,11 +9893,6 @@ files = [ {file = "webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "websocket-client" version = "1.7.0" @@ -11758,11 +9909,6 @@ docs = ["Sphinx (>=6.0)", "sphinx-rtd-theme (>=1.1.0)"] optional = ["python-socks", "wsaccel"] test = ["websockets"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "websockets" version = "13.0.1" @@ -11858,11 +10004,6 @@ files = [ {file = "websockets-13.0.1.tar.gz", hash = "sha256:4d6ece65099411cfd9a48d13701d7438d9c34f479046b34c50ff60bb8834e43e"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "werkzeug" version = "3.0.4" @@ -11880,11 +10021,6 @@ MarkupSafe = ">=2.1.1" [package.extras] watchdog = ["watchdog (>=2.3)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "wikipedia" version = "1.4.0" @@ -11899,11 +10035,6 @@ files = [ beautifulsoup4 = "*" requests = ">=2.0.0,<3.0.0" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "wrapt" version = "1.16.0" @@ -11983,11 +10114,6 @@ files = [ {file = "wrapt-1.16.0.tar.gz", hash = "sha256:5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "wsproto" version = "1.2.0" @@ -12002,11 +10128,6 @@ files = [ [package.dependencies] h11 = ">=0.9.0,<1" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "xinference-client" version = "0.13.3" @@ -12026,11 +10147,6 @@ typing-extensions = "*" [package.extras] dev = ["black", "cython (>=0.29)", "flake8 (>=3.8.0)", "ipython (>=6.5.0)", "pytest (>=3.5.0)", "pytest-asyncio (>=0.14.0)", "pytest-cov (>=2.5.0)", "pytest-forked (>=1.0)", "pytest-mock (>=3.11.1)", "pytest-timeout (>=1.2.0)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "xlrd" version = "2.0.1" @@ -12047,11 +10163,6 @@ build = ["twine", "wheel"] docs = ["sphinx"] test = ["pytest", "pytest-cov"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "xlsxwriter" version = "3.2.0" @@ -12063,11 +10174,6 @@ files = [ {file = "XlsxWriter-3.2.0.tar.gz", hash = "sha256:9977d0c661a72866a61f9f7a809e25ebbb0fb7036baa3b9fe74afcfca6b3cb8c"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "xmltodict" version = "0.13.0" @@ -12079,11 +10185,6 @@ files = [ {file = "xmltodict-0.13.0.tar.gz", hash = "sha256:341595a488e3e01a85a9d8911d8912fd922ede5fecc4dce437eb4b6c8d037e56"}, ] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "yarl" version = "1.9.11" @@ -12189,11 +10290,6 @@ files = [ idna = ">=2.0" multidict = ">=4.0" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "yfinance" version = "0.2.43" @@ -12222,11 +10318,6 @@ requests = ">=2.31" nospam = ["requests-cache (>=1.0)", "requests-ratelimiter (>=0.3.1)"] repair = ["scipy (>=1.6.3)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "zhipuai" version = "1.0.7" @@ -12244,20 +10335,15 @@ dataclasses = "*" PyJWT = "*" requests = "*" -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "zipp" -version = "3.20.1" +version = "3.20.2" description = "Backport of pathlib-compatible object wrapper for zip files" optional = false python-versions = ">=3.8" files = [ - {file = "zipp-3.20.1-py3-none-any.whl", hash = "sha256:9960cd8967c8f85a56f920d5d507274e74f9ff813a0ab8889a5b5be2daf44064"}, - {file = "zipp-3.20.1.tar.gz", hash = "sha256:c22b14cc4763c5a5b04134207736c107db42e9d3ef2d9779d465f5f1bcba572b"}, + {file = "zipp-3.20.2-py3-none-any.whl", hash = "sha256:a817ac80d6cf4b23bf7f2828b7cabf326f15a001bea8b1f9b49631780ba28350"}, + {file = "zipp-3.20.2.tar.gz", hash = "sha256:bc9eb26f4506fda01b81bcde0ca78103b6e62f991b381fec825435c836edbc29"}, ] [package.extras] @@ -12268,11 +10354,6 @@ enabler = ["pytest-enabler (>=2.2)"] test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-ignore-flaky"] type = ["pytest-mypy"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "zope-event" version = "5.0" @@ -12291,11 +10372,6 @@ setuptools = "*" docs = ["Sphinx"] test = ["zope.testrunner"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "zope-interface" version = "7.0.3" @@ -12347,11 +10423,6 @@ docs = ["Sphinx", "repoze.sphinx.autointerface", "sphinx-rtd-theme"] test = ["coverage (>=5.0.3)", "zope.event", "zope.testing"] testing = ["coverage (>=5.0.3)", "zope.event", "zope.testing"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [[package]] name = "zstandard" version = "0.23.0" @@ -12464,12 +10535,7 @@ cffi = {version = ">=1.11", markers = "platform_python_implementation == \"PyPy\ [package.extras] cffi = ["cffi (>=1.11)"] -[package.source] -type = "legacy" -url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" -reference = "tuna" - [metadata] lock-version = "2.0" python-versions = ">=3.10,<3.13" -content-hash = "254ca7fd11fbb60ea52d922826f3d78eb9734b697b276b93d2f24191218c2073" +content-hash = "aa31420af4c65a6b1b9538195e59c7e31527f4f42f99725bdbdf25fad17dc2fa" diff --git a/api/pyproject.toml b/api/pyproject.toml index 6c412a531..90d7d716c 100644 --- a/api/pyproject.toml +++ b/api/pyproject.toml @@ -284,9 +284,4 @@ optional = true [tool.poetry.group.lint.dependencies] dotenv-linter = "~0.5.0" -ruff = "~0.6.4" - -#[[tool.poetry.source]] -#name = "tuna" -#url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/" -#default = true \ No newline at end of file +ruff = "~0.6.4" \ No newline at end of file diff --git a/web/.gitignore b/web/.gitignore index 9dd00b1b0..4ffb961a6 100644 --- a/web/.gitignore +++ b/web/.gitignore @@ -29,6 +29,7 @@ yarn-error.log* # local env files .env*.local +.env # vercel .vercel @@ -49,4 +50,4 @@ package-lock.json # pmpm pnpm-lock.yaml -.favorites.json \ No newline at end of file +.favorites.json diff --git a/web/app/(commonLayout)/agent/center/AddAgentType.tsx b/web/app/(commonLayout)/agent/center/AddAgentType.tsx new file mode 100644 index 000000000..47550d8b7 --- /dev/null +++ b/web/app/(commonLayout)/agent/center/AddAgentType.tsx @@ -0,0 +1,96 @@ +'use client' +import React, { useState } from 'react' +import s from './style.module.css' +import cn from '@/utils/classnames' +import Modal from '@/app/components/base/modal' +import Button from '@/app/components/base/button' +import Toast from '@/app/components/base/toast' +import { useProviderContext } from '@/context/provider-context' +import { agentTypeAdd } from '@/service/agent' + +export type DuplicateAppModalProps = { + show: boolean + onHide: () => void +} + +const AddAgentType = ({ + show = false, + onHide, +}: DuplicateAppModalProps) => { + const [name, setName] = React.useState('') + const [description, setDescription] = useState('') + const [sort, setSort] = useState() + const { plan, enableBilling } = useProviderContext() + const isAppsFull = (enableBilling && plan.usage.buildApps >= plan.total.buildApps) + + const submit = () => { + if (!name.trim()) { + Toast.notify({ type: 'error', message: '请输入类型名称' }) + return + } + agentTypeAdd({ + name, + description, + sort, + }).then((r) => { + if (r.data) { + Toast.notify({ type: 'success', message: '添加成功' }) + onHide() + } + else { + Toast.notify({ type: 'error', message: r.message }) + } + }) + } + return ( + <> + { + }} + className={cn(s.modal, '!max-w-[480px]', 'px-8')} + > + +

添加智能体分类

+
+
分类名称
+
+ setName(e.target.value)} + className='h-10 px-3 text-sm font-normal bg-gray-100 rounded-lg grow' + /> +
+
+
+
分类描述
+
+ setDescription(e.target.value)} + className='h-10 px-3 text-sm font-normal bg-gray-100 rounded-lg grow' + /> +
+
+
+
排序
+
+ setSort(e.target.value)} + className='h-10 px-3 text-sm font-normal bg-gray-100 rounded-lg grow' + /> +
+
+
+ + +
+
+ + + ) +} + +export default AddAgentType diff --git a/web/app/(commonLayout)/agent/center/Apps.tsx b/web/app/(commonLayout)/agent/center/Apps.tsx new file mode 100644 index 000000000..d9aad04ce --- /dev/null +++ b/web/app/(commonLayout)/agent/center/Apps.tsx @@ -0,0 +1,353 @@ +'use client' + +import React, { useCallback, useEffect, useRef, useState } from 'react' +import useSWRInfinite from 'swr/infinite' +import { useTranslation } from 'react-i18next' +import { useDebounceFn } from 'ahooks' + +import { RiRobot2Line, RiRobot3Line } from '@remixicon/react' +import cn from 'classnames' +import { Pagination } from 'react-headless-pagination' +import { ArrowLeftIcon, ArrowRightIcon } from '@heroicons/react/24/outline' +import { useRouter } from 'next/navigation' +import useAppsQueryState from './hooks/useAppsQueryState' +import { APP_PAGE_LIMIT, NEED_REFRESH_APP_LIST_KEY } from '@/config' +import { CheckModal } from '@/hooks/use-pay' +import TabSliderNew from '@/app/components/base/tab-slider-new' +import { useTabSearchParams } from '@/hooks/use-tab-searchparams' +import SearchInput from '@/app/components/base/search-input' +import { agentTypeDelete, getAgentTypeList, getDifyList } from '@/service/agent' +import Button from '@/app/components/base/button' +import s from '@/app/components/app/annotation/style.module.css' +import AddAgentType from '@/app/(commonLayout)/agent/center/AddAgentType' +import Toast from '@/app/components/base/toast' +import EditAgentType from '@/app/(commonLayout)/agent/center/EditAgentType' +import DragDropSort from '@/app/(commonLayout)/agent/center/DraggableList' +import Confirm from '@/app/components/base/confirm' +import DragDropSortType from '@/app/(commonLayout)/agent/center/DraggableTypeList' +import { getRedirection } from '@/utils/app-redirection' +import { useAppContext } from '@/context/app-context' + +const getKey = ( + activeTab: string, +) => { + const params: any = { url: '/dify/list', params: { agentTypeId: activeTab } } + return params +} + +const Apps = () => { + const { t } = useTranslation() + const [activeTab, setActiveTab] = useTabSearchParams({ + defaultTab: 'all', + }) + const { query: { tagIDs = [], keywords = '' }, setQuery } = useAppsQueryState() + const [searchKeywords, setSearchKeywords] = useState(keywords) + const setKeywords = useCallback((keywords: string) => { + setQuery(prev => ({ ...prev, keywords })) + }, [setQuery]) + const [activeIndex, setActiveIndex] = useState(0) + const { mutate } = useSWRInfinite( + () => getKey(activeTab), + null, + { revalidateFirstPage: true }, + ) + const { isCurrentWorkspaceEditor } = useAppContext() + const { push } = useRouter() + const anchorRef = useRef(null) + const [options, setOptions] = useState([]) + const [types, setTypes] = useState([]) + const [difysCurrPage, setDifysCurrPage] = React.useState(0) + const [currPage, setCurrPage] = React.useState(0) + const [total, setTotal] = useState(0) + const [showAddAgentModal, setShowAddAgentModal] = useState(false) + const [showEditAgentModal, setShowEditAgentModal] = useState(false) + const [showDrag, setShowDrag] = useState(false) + const [showDragType, setShowDragType] = useState(false) + const [showDeleteModal, setShowDeleteModal] = useState(false) + const [deleteId, setDeleteId] = useState('') + const [difys, setDifys] = useState([]) + const [difysTotal, setDifysTotal] = useState(0) + const [row, setRow] = useState() + const getDifys = () => { + getDifyList({ name: searchKeywords, agentTypeId: activeTab, page: difysCurrPage + 1, pageSize: APP_PAGE_LIMIT }).then((res) => { + setDifys(res.data) + setDifysTotal(res.totalCount) + }) + } + const getTypes = () => { + getAgentTypeList({ page: currPage + 1, pageSize: 999999 }).then((res: any) => { + setOptions(res.data.map((item: any) => { + return { + value: item.id, + text: item.name, + } + })) + if (res.data.length > 0 && activeTab === 'all') + setActiveTab(res.data[0].id) + }) + } + const getOptTypes = () => { + getAgentTypeList({ page: currPage + 1, pageSize: APP_PAGE_LIMIT }).then((res: any) => { + setTotal(res.totalCount) + setTypes(res.data) + }) + } + + useEffect(() => { + document.title = '智能体中心 - Dify' + if (localStorage.getItem(NEED_REFRESH_APP_LIST_KEY) === '1') { + localStorage.removeItem(NEED_REFRESH_APP_LIST_KEY) + mutate() + } + getTypes() + }, [mutate]) + + const { run: handleSearch } = useDebounceFn(() => { + setSearchKeywords(keywords) + }, { wait: 500 }) + const handleKeywordsChange = (value: string) => { + setKeywords(value) + handleSearch() + } + useEffect(() => { + getOptTypes() + }, [currPage]) + + useEffect(() => { + getDifys() + }, [difysCurrPage, searchKeywords, activeTab]) + return ( + <> +
+
{ + setActiveIndex(0) + }} className={cn('rounded-lg px-3 py-[7px] mr-4 flex items-center cursor-pointer hover:bg-gray-200', activeIndex === 0 && 'bg-white border-gray-200 shadow-xs text-primary-600 hover:bg-white')}> 智能体
+
{ + setActiveIndex(1) + }} className={cn('rounded-lg px-3 py-[7px] flex items-center cursor-pointer hover:bg-gray-200', activeIndex === 1 && 'bg-white border-gray-200 shadow-xs text-primary-600 hover:bg-white')}> 分类
+
+ { + activeIndex === 0 + ? ( +
+
+ +
+ +
+
+
+ +
+ + { + difysTotal > 0 &&
+ + + + {t('appLog.table.pagination.previous')} + +
+ +
+ + {t('appLog.table.pagination.next')} + + +
+
+ } +
+ ) + : (
+ + + + + + + + + + + + + + + { + types.map((item: any) => { + return ( + + + + + + + + + ) + }) + } + +
类型名称描述排序创建时间更新时间操作
{item.name} + {item.description} + {item.sort} + {item.createdAt} + {item.updatedAt} + + + +
+ + + + {t('appLog.table.pagination.previous')} + +
+ +
+ + {t('appLog.table.pagination.next')} + + +
+
) + } + +
+ setShowDeleteModal(false)} + onConfirm={() => { + agentTypeDelete({ + id: deleteId, + }).then((r) => { + if (r.data) { + Toast.notify({ type: 'success', message: '删除成功' }) + getOptTypes() + } + }) + setShowDeleteModal(false) + }} + title="确定要删除吗?" + /> + {showAddAgentModal && ( + { + setShowAddAgentModal(false) + getOptTypes() + getTypes() + }}/> + )} + {showEditAgentModal && ( + { + setShowEditAgentModal(false) + getOptTypes() + getTypes() + }}/> + )} + { + showDrag && ( + { + setShowDrag(false) + getDifys() + }}/> + ) + } + { + showDragType && ( + { + setShowDragType(false) + getOptTypes() + }}/> + ) + } + + ) +} + +export default Apps diff --git a/web/app/(commonLayout)/agent/center/DraggableList.tsx b/web/app/(commonLayout)/agent/center/DraggableList.tsx new file mode 100644 index 000000000..a5259995c --- /dev/null +++ b/web/app/(commonLayout)/agent/center/DraggableList.tsx @@ -0,0 +1,118 @@ +import React, { useEffect, useState } from 'react' +import cn from 'classnames' +import Button from '@/app/components/base/button' +import Modal from '@/app/components/base/modal' +import { agentUpdateSortBatch, getDifyList } from '@/service/agent' +import Toast from '@/app/components/base/toast' + +type Item = { + appId: number + name: string + agentSort: number + description: string + imageUrl: string +} + +export type DuplicateAppModalProps = { + show: boolean + onHide: () => void + activeTab: string +} + +const DragDropSort: React.FC = ({ show = false, onHide, activeTab }) => { + const [items, setItems] = useState([]) + const [draggedIndex, setDraggedIndex] = useState(null) + + const handleDragStart = (e: React.DragEvent, index: number) => { + e.dataTransfer.setData('text/plain', index.toString()) + setDraggedIndex(index) + } + + const getDifys = () => { + getDifyList({ agentTypeId: activeTab, page: 1, pageSize: 999999 }).then((res) => { + setItems(res.data) + }) + } + + useEffect(() => { + if (show) + getDifys() + }, [show]) + + const handleDragOver = (index: number) => { + if (draggedIndex === null || draggedIndex === index) + return + + const newItems = [...items] + const draggedItem = newItems[draggedIndex] + newItems.splice(draggedIndex, 1) + newItems.splice(index, 0, draggedItem) + setItems(newItems) + setDraggedIndex(index) + } + + const handleDragEnd = () => { + setDraggedIndex(null) + } + + const submit = () => { + console.log(items) + const arr = items.map((item, index) => { + return { + appId: item.appId, + sort: index, + } + }) + agentUpdateSortBatch(arr).then((r) => { + if (r.data) { + Toast.notify({ type: 'success', message: '操作成功' }) + onHide() + } + else { + Toast.notify({ type: 'error', message: r.message }) + } + }) + } + + return ( + +
+ +
+
+ {items.map((item, index) => ( +
handleDragStart(e, index)} + onDragOver={() => handleDragOver(index)} + onDragEnd={handleDragEnd} + > +
+ +
+
{item.name}
+
{item.description}
+
+
+
+ 拖拽排序 +
+
+ ))} +
+
+ +
+
+ ) +} + +export default DragDropSort diff --git a/web/app/(commonLayout)/agent/center/DraggableTypeList.tsx b/web/app/(commonLayout)/agent/center/DraggableTypeList.tsx new file mode 100644 index 000000000..7c5ab19e4 --- /dev/null +++ b/web/app/(commonLayout)/agent/center/DraggableTypeList.tsx @@ -0,0 +1,114 @@ +import React, { useEffect, useState } from 'react' +import cn from 'classnames' +import Button from '@/app/components/base/button' +import Modal from '@/app/components/base/modal' +import { agentTypeUpdateSortBatch, getAgentTypeList } from '@/service/agent' +import Toast from '@/app/components/base/toast' + +type Item = { + id: number + name: string + sort: number + description: string +} + +export type DuplicateAppModalProps = { + show: boolean + onHide: () => void +} + +const DragDropSortType: React.FC = ({ show = false, onHide }) => { + const [items, setItems] = useState([]) + const [draggedIndex, setDraggedIndex] = useState(null) + + const handleDragStart = (e: React.DragEvent, index: number) => { + e.dataTransfer.setData('text/plain', index.toString()) + setDraggedIndex(index) + } + + const getAgentTypes = () => { + getAgentTypeList({ page: 1, pageSize: 999999 }).then((res) => { + setItems(res.data) + }) + } + + useEffect(() => { + if (show) + getAgentTypes() + }, [show]) + + const handleDragOver = (index: number) => { + if (draggedIndex === null || draggedIndex === index) + return + + const newItems = [...items] + const draggedItem = newItems[draggedIndex] + newItems.splice(draggedIndex, 1) + newItems.splice(index, 0, draggedItem) + setItems(newItems) + setDraggedIndex(index) + } + + const handleDragEnd = () => { + setDraggedIndex(null) + } + + const submit = () => { + const arr = items.map((item, index) => { + return { + id: item.id, + sort: index, + } + }) + agentTypeUpdateSortBatch(arr).then((r) => { + if (r.data) { + Toast.notify({ type: 'success', message: '操作成功' }) + onHide() + } + else { + Toast.notify({ type: 'error', message: r.message }) + } + }) + } + + return ( + +
+ +
+
+ {items.map((item, index) => ( +
handleDragStart(e, index)} + onDragOver={() => handleDragOver(index)} + onDragEnd={handleDragEnd} + > +
+
+
{item.name}
+
{item.description}
+
+
+
+ 拖拽排序 +
+
+ ))} +
+
+ +
+
+ ) +} + +export default DragDropSortType diff --git a/web/app/(commonLayout)/agent/center/EditAgentType.tsx b/web/app/(commonLayout)/agent/center/EditAgentType.tsx new file mode 100644 index 000000000..b07e889a3 --- /dev/null +++ b/web/app/(commonLayout)/agent/center/EditAgentType.tsx @@ -0,0 +1,105 @@ +'use client' +import React, { useState } from 'react' +import s from './style.module.css' +import cn from '@/utils/classnames' +import Modal from '@/app/components/base/modal' +import Button from '@/app/components/base/button' +import Toast from '@/app/components/base/toast' +import { useProviderContext } from '@/context/provider-context' +import { agentTypeUpdate } from '@/service/agent' + +export type DuplicateAppModalProps = { + show: boolean + onHide: () => void + row: { + name: string + description: string + sort: number + id: string + } +} + +const EditAgentType = ({ + show = false, + onHide, + row, +}: DuplicateAppModalProps) => { + const [name, setName] = React.useState(row.name) + const [description, setDescription] = useState(row.description) + const [sort, setSort] = useState(row.sort) + const { plan, enableBilling } = useProviderContext() + const isAppsFull = (enableBilling && plan.usage.buildApps >= plan.total.buildApps) + + const submit = () => { + if (!name.trim()) { + Toast.notify({ type: 'error', message: '请输入类型名称' }) + return + } + agentTypeUpdate({ + id: row.id, + name, + description, + sort, + }).then((r) => { + if (r.data) { + Toast.notify({ type: 'success', message: '更新成功' }) + onHide() + } + else { + Toast.notify({ type: 'error', message: r.message }) + } + }) + } + + return ( + <> + { + }} + className={cn(s.modal, '!max-w-[480px]', 'px-8')} + > + +

添加智能体分类

+
+
分类名称
+
+ setName(e.target.value)} + className='h-10 px-3 text-sm font-normal bg-gray-100 rounded-lg grow' + /> +
+
+
+
分类描述
+
+ setDescription(e.target.value)} + className='h-10 px-3 text-sm font-normal bg-gray-100 rounded-lg grow' + /> +
+
+
+
排序
+
+ setSort(e.target.value)} + className='h-10 px-3 text-sm font-normal bg-gray-100 rounded-lg grow' + /> +
+
+
+ + +
+
+ + + ) +} + +export default EditAgentType diff --git a/web/app/(commonLayout)/agent/center/NewAppCard.tsx b/web/app/(commonLayout)/agent/center/NewAppCard.tsx new file mode 100644 index 000000000..c0dffa99a --- /dev/null +++ b/web/app/(commonLayout)/agent/center/NewAppCard.tsx @@ -0,0 +1,101 @@ +'use client' + +import { forwardRef, useMemo, useState } from 'react' +import { + useRouter, + useSearchParams, +} from 'next/navigation' +import { useTranslation } from 'react-i18next' +import CreateAppTemplateDialog from '@/app/components/app/create-app-dialog' +import CreateAppModal from '@/app/components/app/create-app-modal' +import CreateFromDSLModal, { CreateFromDSLModalTab } from '@/app/components/app/create-from-dsl-modal' +import { useProviderContext } from '@/context/provider-context' +import { FileArrow01, FilePlus01, FilePlus02 } from '@/app/components/base/icons/src/vender/line/files' + +export type CreateAppCardProps = { + onSuccess?: () => void +} + +// eslint-disable-next-line react/display-name +const CreateAppCard = forwardRef(({ onSuccess }, ref) => { + const { t } = useTranslation() + const { onPlanInfoChanged } = useProviderContext() + const searchParams = useSearchParams() + const { replace } = useRouter() + const dslUrl = searchParams.get('remoteInstallUrl') || undefined + + const [showNewAppTemplateDialog, setShowNewAppTemplateDialog] = useState(false) + const [showNewAppModal, setShowNewAppModal] = useState(false) + const [showCreateFromDSLModal, setShowCreateFromDSLModal] = useState(!!dslUrl) + + const activeTab = useMemo(() => { + if (dslUrl) + return CreateFromDSLModalTab.FROM_URL + + return undefined + }, [dslUrl]) + + return ( + +
+
{t('app.createApp')}
+
setShowNewAppModal(true)}> + + {t('app.newApp.startFromBlank')} +
+
setShowNewAppTemplateDialog(true)}> + + {t('app.newApp.startFromTemplate')} +
+
+
setShowCreateFromDSLModal(true)} + > +
+ + {t('app.importDSL')} +
+
+ setShowNewAppModal(false)} + onSuccess={() => { + onPlanInfoChanged() + if (onSuccess) + onSuccess() + }} + /> + setShowNewAppTemplateDialog(false)} + onSuccess={() => { + onPlanInfoChanged() + if (onSuccess) + onSuccess() + }} + /> + { + setShowCreateFromDSLModal(false) + + if (dslUrl) + replace('/') + }} + activeTab={activeTab} + dslUrl={dslUrl} + onSuccess={() => { + onPlanInfoChanged() + if (onSuccess) + onSuccess() + }} + /> +
+ ) +}) + +export default CreateAppCard diff --git a/web/app/(commonLayout)/agent/center/assets/add.svg b/web/app/(commonLayout)/agent/center/assets/add.svg new file mode 100644 index 000000000..9958e855a --- /dev/null +++ b/web/app/(commonLayout)/agent/center/assets/add.svg @@ -0,0 +1,3 @@ + + + diff --git a/web/app/(commonLayout)/agent/center/assets/chat-solid.svg b/web/app/(commonLayout)/agent/center/assets/chat-solid.svg new file mode 100644 index 000000000..a793e982c --- /dev/null +++ b/web/app/(commonLayout)/agent/center/assets/chat-solid.svg @@ -0,0 +1,4 @@ + + + + diff --git a/web/app/(commonLayout)/agent/center/assets/chat.svg b/web/app/(commonLayout)/agent/center/assets/chat.svg new file mode 100644 index 000000000..0971349a5 --- /dev/null +++ b/web/app/(commonLayout)/agent/center/assets/chat.svg @@ -0,0 +1,3 @@ + + + diff --git a/web/app/(commonLayout)/agent/center/assets/completion-solid.svg b/web/app/(commonLayout)/agent/center/assets/completion-solid.svg new file mode 100644 index 000000000..a9dc7e3dc --- /dev/null +++ b/web/app/(commonLayout)/agent/center/assets/completion-solid.svg @@ -0,0 +1,4 @@ + + + + diff --git a/web/app/(commonLayout)/agent/center/assets/completion.svg b/web/app/(commonLayout)/agent/center/assets/completion.svg new file mode 100644 index 000000000..34af4417f --- /dev/null +++ b/web/app/(commonLayout)/agent/center/assets/completion.svg @@ -0,0 +1,3 @@ + + + diff --git a/web/app/(commonLayout)/agent/center/assets/discord.svg b/web/app/(commonLayout)/agent/center/assets/discord.svg new file mode 100644 index 000000000..9f22a1ab5 --- /dev/null +++ b/web/app/(commonLayout)/agent/center/assets/discord.svg @@ -0,0 +1,3 @@ + + + diff --git a/web/app/(commonLayout)/agent/center/assets/github.svg b/web/app/(commonLayout)/agent/center/assets/github.svg new file mode 100644 index 000000000..f03798b5e --- /dev/null +++ b/web/app/(commonLayout)/agent/center/assets/github.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/web/app/(commonLayout)/agent/center/assets/link-gray.svg b/web/app/(commonLayout)/agent/center/assets/link-gray.svg new file mode 100644 index 000000000..a293cfcf5 --- /dev/null +++ b/web/app/(commonLayout)/agent/center/assets/link-gray.svg @@ -0,0 +1,3 @@ + + + diff --git a/web/app/(commonLayout)/agent/center/assets/link.svg b/web/app/(commonLayout)/agent/center/assets/link.svg new file mode 100644 index 000000000..2926c28b1 --- /dev/null +++ b/web/app/(commonLayout)/agent/center/assets/link.svg @@ -0,0 +1,3 @@ + + + diff --git a/web/app/(commonLayout)/agent/center/assets/right-arrow.svg b/web/app/(commonLayout)/agent/center/assets/right-arrow.svg new file mode 100644 index 000000000..a2c1cedf9 --- /dev/null +++ b/web/app/(commonLayout)/agent/center/assets/right-arrow.svg @@ -0,0 +1,3 @@ + + + diff --git a/web/app/(commonLayout)/agent/center/hooks/useAppsQueryState.ts b/web/app/(commonLayout)/agent/center/hooks/useAppsQueryState.ts new file mode 100644 index 000000000..fae5357bf --- /dev/null +++ b/web/app/(commonLayout)/agent/center/hooks/useAppsQueryState.ts @@ -0,0 +1,53 @@ +import { type ReadonlyURLSearchParams, usePathname, useRouter, useSearchParams } from 'next/navigation' +import { useCallback, useEffect, useMemo, useState } from 'react' + +type AppsQuery = { + tagIDs?: string[] + keywords?: string +} + +// Parse the query parameters from the URL search string. +function parseParams(params: ReadonlyURLSearchParams): AppsQuery { + const tagIDs = params.get('tagIDs')?.split(';') + const keywords = params.get('keywords') || undefined + return { tagIDs, keywords } +} + +// Update the URL search string with the given query parameters. +function updateSearchParams(query: AppsQuery, current: URLSearchParams) { + const { tagIDs, keywords } = query || {} + + if (tagIDs && tagIDs.length > 0) + current.set('tagIDs', tagIDs.join(';')) + else + current.delete('tagIDs') + + if (keywords) + current.set('keywords', keywords) + else + current.delete('keywords') +} + +function useAppsQueryState() { + const searchParams = useSearchParams() + const [query, setQuery] = useState(() => parseParams(searchParams)) + + const router = useRouter() + const pathname = usePathname() + const syncSearchParams = useCallback((params: URLSearchParams) => { + const search = params.toString() + const query = search ? `?${search}` : '' + router.push(`${pathname}${query}`) + }, [router, pathname]) + + // Update the URL search string whenever the query changes. + useEffect(() => { + const params = new URLSearchParams(searchParams) + updateSearchParams(query, params) + syncSearchParams(params) + }, [query, searchParams, syncSearchParams]) + + return useMemo(() => ({ query, setQuery }), [query]) +} + +export default useAppsQueryState diff --git a/web/app/(commonLayout)/agent/center/page.tsx b/web/app/(commonLayout)/agent/center/page.tsx new file mode 100644 index 000000000..605a1522f --- /dev/null +++ b/web/app/(commonLayout)/agent/center/page.tsx @@ -0,0 +1,25 @@ +import style from '../../list.module.css' +import Apps from './Apps' +import classNames from '@/utils/classnames' +import { getLocaleOnServer, useTranslation as translate } from '@/i18n/server' + +const AppList = async () => { + const locale = getLocaleOnServer() + const { t } = await translate(locale, 'app') + + return ( +
+ +
+

{t('join')}

+

{t('communityIntro')}

+
+ + +
+
+
+ ) +} + +export default AppList diff --git a/web/app/(commonLayout)/agent/center/style.module.css b/web/app/(commonLayout)/agent/center/style.module.css new file mode 100644 index 000000000..880382ec3 --- /dev/null +++ b/web/app/(commonLayout)/agent/center/style.module.css @@ -0,0 +1,29 @@ + +.commonIcon { + @apply w-4 h-4 inline-block align-middle; + background-repeat: no-repeat; + background-position: center center; + background-size: contain; +} +.actionIcon { + @apply bg-gray-500; + mask-image: url(~@/assets/action.svg); +} +.actionItem { + @apply h-8 py-[6px] px-3 mx-1 flex items-center gap-2 hover:bg-gray-100 rounded-lg cursor-pointer; + width: calc(100% - 0.5rem); +} +.deleteActionItem { + @apply hover:bg-red-50 !important; +} +.actionName { + @apply text-gray-700 text-sm; +} + +/* .completionPic { + background-image: url(~@/app/components/app-sidebar/completion.png) +} + +.expertPic { + background-image: url(~@/app/components/app-sidebar/expert.png) +} */ diff --git a/web/app/components/app/app-publisher/index.tsx b/web/app/components/app/app-publisher/index.tsx index 0558e2995..212063fd9 100644 --- a/web/app/components/app/app-publisher/index.tsx +++ b/web/app/components/app/app-publisher/index.tsx @@ -1,4 +1,4 @@ -import { +import React, { memo, useCallback, useState, @@ -25,6 +25,7 @@ import { FileText } from '@/app/components/base/icons/src/vender/line/files' import WorkflowToolConfigureButton from '@/app/components/tools/workflow-tool/configure-button' import type { InputVar } from '@/app/components/workflow/types' import { appDefaultIconBackground } from '@/config' +import { SimpleSelect } from '@/app/components/base/select' export type AppPublisherProps = { disabled?: boolean @@ -41,13 +42,18 @@ export type AppPublisherProps = { crossAxisOffset?: number toolPublished?: boolean inputs?: InputVar[] + selects: any[] onRefreshData?: () => void + onSelect: (item: string) => void + onAgentAddAndDelete: (status: number) => void + detail: any } const AppPublisher = ({ disabled = false, publishDisabled = false, publishedAt, + selects, draftUpdatedAt, debugWithMultipleModel = false, multipleModelConfigs = [], @@ -58,11 +64,15 @@ const AppPublisher = ({ toolPublished, inputs, onRefreshData, + onAgentAddAndDelete, + onSelect, + detail, }: AppPublisherProps) => { const { t } = useTranslation() const [published, setPublished] = useState(false) const [open, setOpen] = useState(false) const appDetail = useAppStore(state => state.appDetail) + const [publishedTime, setPublishedTime] = useState(publishedAt) const { app_base_url: appBaseURL = '', access_token: accessToken = '' } = appDetail?.site ?? {} const appMode = (appDetail?.mode !== 'completion' && appDetail?.mode !== 'workflow') ? 'chat' : appDetail.mode const appURL = `${appBaseURL}/${appMode}/${accessToken}` @@ -76,6 +86,7 @@ const AppPublisher = ({ try { await onPublish?.(modelAndParameter) setPublished(true) + setPublishedTime(Date.now()) } catch (e) { setPublished(false) @@ -131,13 +142,14 @@ const AppPublisher = ({
- {publishedAt ? t('workflow.common.latestPublished') : t('workflow.common.currentDraftUnpublished')} + {publishedTime ? t('workflow.common.latestPublished') : t('workflow.common.currentDraftUnpublished')}
- {publishedAt + {publishedTime ? (
-
- {t('workflow.common.publishedAt')} {formatTimeFromNow(publishedAt)} +
+ {t('workflow.common.publishedAt')} {formatTimeFromNow(publishedTime)}
) }
- }>{t('workflow.common.runApp')} +
+ 智能体中心 +
+
+ { + if (!detail?.agentTypeId) + onSelect(item.value) + } + } + items={selects && selects.map((item) => { + return { + value: item.id, + name: item.name, + } + })} + /> +
+
+ + +
+
+
+ }>{t('workflow.common.runApp')} {appDetail?.mode === 'workflow' ? ( } > @@ -199,16 +257,16 @@ const AppPublisher = ({ setEmbeddingModalOpen(true) handleTrigger() }} - disabled={!publishedAt} + disabled={!publishedTime} icon={} > {t('workflow.common.embedIntoSite')} )} - }>{t('workflow.common.accessAPIReference')} + }>{t('workflow.common.accessAPIReference')} {appDetail?.mode === 'workflow' && ( { const [hasFetchedDetail, setHasFetchedDetail] = useState(false) const isLoading = !hasFetchedDetail const pathname = usePathname() + const [selects, setSelects] = useState([]) const matched = pathname.match(/\/app\/([^/]+)/) const appId = (matched?.length && matched[1]) ? matched[1] : '' const [mode, setMode] = useState('') const [publishedConfig, setPublishedConfig] = useState(null) - + const [agentType, setAgentType] = useState() const modalConfig = useMemo(() => appDetail?.model_config || {} as BackendModelConfig, [appDetail]) const [conversationId, setConversationId] = useState('') @@ -98,6 +100,7 @@ const Configuration: FC = () => { prompt_template: '', prompt_variables: [], }) + const [detail, setDetail] = useState() const [moreLikeThisConfig, setMoreLikeThisConfig] = useState({ enabled: false, }) @@ -292,7 +295,7 @@ const Configuration: FC = () => { }) setCitationConfig(modelConfig.retriever_resource || { enabled: false, - resources: [] + resources: [], }) } @@ -685,6 +688,37 @@ const Configuration: FC = () => { return true } + const getData = useCallback(async () => { + const res: any = await getAgentTypeList({ page: 1, pageSize: 999999 }) + setSelects(res.data) + const detail: any = await getDifyList({ + appId, + }, + ) + setDetail(detail.data[0]) + setAgentType(detail.data[0].agentTypeId) + }, [appId]) + useEffect(() => { + getData() + }, []) + const onAgentAddAndDelete = useCallback(async (status: number) => { + if (!agentType && status === 1) { + notify({ type: 'error', message: '请选择类型' }) + return + } + const res = await agentAdd({ + agentTypeId: agentType, + appId, + sort: 0, + status, + }) + if (res.code === 'Success') { + await getData() + notify({ type: 'success', message: t('common.api.actionSuccess') }) + } + else { notify({ type: 'error', message: res.message }) } + }, [agentType, appId, detail, getData, notify, t]) + const [restoreConfirmOpen, setRestoreConfirmOpen] = useState(false) const resetAppConfig = () => { syncToPublishedConfig(publishedConfig!) @@ -850,6 +884,12 @@ const Configuration: FC = () => { debugWithMultipleModel, multipleModelConfigs, onPublish, + detail, + onAgentAddAndDelete, + selects, + onSelect: (id: string) => { + setAgentType(id) + }, onRestore: () => setRestoreConfirmOpen(true), }} />
diff --git a/web/app/components/header/agent-nav/index.tsx b/web/app/components/header/agent-nav/index.tsx new file mode 100644 index 000000000..55754035a --- /dev/null +++ b/web/app/components/header/agent-nav/index.tsx @@ -0,0 +1,37 @@ +'use client' + +import { useTranslation } from 'react-i18next' +import Link from 'next/link' +import { useSelectedLayoutSegment } from 'next/navigation' +import { + RiRobot2Fill, RiRobot2Line, +} from '@remixicon/react' +import classNames from '@/utils/classnames' +type AgentNavProps = { + className?: string +} + +const AgentNav = ({ + className, +}: AgentNavProps) => { + const { t } = useTranslation() + const selectedSegment = useSelectedLayoutSegment() + const actived = selectedSegment === 'agent' + + return ( + + { + actived + ? + : + } + {t('common.menus.agent')} + + ) +} + +export default AgentNav diff --git a/web/app/components/header/index.tsx b/web/app/components/header/index.tsx index 2b020b81e..d297cb303 100644 --- a/web/app/components/header/index.tsx +++ b/web/app/components/header/index.tsx @@ -18,6 +18,7 @@ import LogoSite from '@/app/components/base/logo/logo-site' import useBreakpoints, { MediaType } from '@/hooks/use-breakpoints' import { useProviderContext } from '@/context/provider-context' import { useModalContext } from '@/context/modal-context' +import AgentNav from '@/app/components/header/agent-nav' const navClassName = ` flex items-center relative mr-0 sm:mr-3 px-3 h-8 rounded-xl @@ -76,6 +77,7 @@ const Header = () => { {!isCurrentWorkspaceDatasetOperator && } {(isCurrentWorkspaceEditor || isCurrentWorkspaceDatasetOperator) && } {!isCurrentWorkspaceDatasetOperator && } + {!isCurrentWorkspaceDatasetOperator && }
)}
@@ -95,6 +97,7 @@ const Header = () => { {!isCurrentWorkspaceDatasetOperator && } {(isCurrentWorkspaceEditor || isCurrentWorkspaceDatasetOperator) && } {!isCurrentWorkspaceDatasetOperator && } + {!isCurrentWorkspaceDatasetOperator && }
)}
diff --git a/web/app/components/workflow/header/index.tsx b/web/app/components/workflow/header/index.tsx index 58624d816..126ff93f2 100644 --- a/web/app/components/workflow/header/index.tsx +++ b/web/app/components/workflow/header/index.tsx @@ -3,6 +3,7 @@ import { memo, useCallback, useMemo, + useState, } from 'react' import { RiApps2AddLine } from '@remixicon/react' import { useNodes } from 'reactflow' @@ -39,6 +40,7 @@ import { useStore as useAppStore } from '@/app/components/app/store' import { publishWorkflow } from '@/service/workflow' import { ArrowNarrowLeft } from '@/app/components/base/icons/src/vender/line/arrows' import { useFeatures } from '@/app/components/base/features/hooks' +import { agentAdd, getAgentTypeList, getDifyList } from '@/service/agent' const Header: FC = () => { const { t } = useTranslation() @@ -55,6 +57,9 @@ const Header: FC = () => { const startNode = nodes.find(node => node.data.type === BlockEnum.Start) const startVariables = startNode?.data.variables const fileSettings = useFeatures(s => s.features.file) + const [selects, setSelects] = useState([]) + const [agentType, setAgentType] = useState() + const [detail, setDetail] = useState() const variables = useMemo(() => { const data = startVariables || [] if (fileSettings?.image?.enabled) { @@ -96,7 +101,6 @@ const Header: FC = () => { return setShowFeaturesPanel(!showFeaturesPanel) }, [workflowStore, getNodesReadOnly]) - const handleCancelRestore = useCallback(() => { handleLoadBackupDraft() workflowStore.setState({ isRestoring: false }) @@ -121,27 +125,53 @@ const Header: FC = () => { throw new Error('Checklist failed') } }, [appID, handleCheckBeforePublish, notify, t, workflowStore]) + const getData = useCallback(async () => { + const res: any = await getAgentTypeList({ page: 1, pageSize: 999999 }) + setSelects(res.data) + const detail: any = await getDifyList({ + appId: appID, + }, + ) + setDetail(detail.data[0]) + setAgentType(detail.data[0].agentTypeId) + }, [appID]) + const onAgentAddAndDelete = useCallback(async (status: number) => { + if (!agentType && status === 1) { + notify({ type: 'error', message: '请选择类型' }) + return + } + const res = await agentAdd({ + agentTypeId: agentType, + appId: appID, + sort: 0, + status, + }) + if (res.code === 'Success') { + await getData() + notify({ type: 'success', message: t('common.api.actionSuccess') }) + } + else { notify({ type: 'error', message: res.message }) } + }, [agentType, appID, detail, getData, notify, t]) const onStartRestoring = useCallback(() => { workflowStore.setState({ isRestoring: true }) handleBackupDraft() handleRestoreFromPublishedWorkflow() }, [handleBackupDraft, handleRestoreFromPublishedWorkflow, workflowStore]) - - const onPublisherToggle = useCallback((state: boolean) => { - if (state) + const onPublisherToggle = useCallback(async (state: boolean) => { + if (state) { handleSyncWorkflowDraft(true) - }, [handleSyncWorkflowDraft]) - + await getData() + } + }, [getData, handleSyncWorkflowDraft]) const handleGoBackToEdit = useCallback(() => { handleLoadBackupDraft() workflowStore.setState({ historyWorkflowData: undefined }) }, [workflowStore, handleLoadBackupDraft]) - const handleToolConfigureUpdate = useCallback(() => { + const handleToolConfigureUpdate = useCallback(async () => { workflowStore.setState({ toolPublished: true }) }, [workflowStore]) - return (
{ inputs: variables, onRefreshData: handleToolConfigureUpdate, onPublish, + onAgentAddAndDelete, + selects, + detail, + onSelect: (id: string) => { + setAgentType(id) + }, onRestore: onStartRestoring, onToggle: onPublisherToggle, crossAxisOffset: 4, diff --git a/web/app/layout.tsx b/web/app/layout.tsx index 008fdefa0..42b2104ec 100644 --- a/web/app/layout.tsx +++ b/web/app/layout.tsx @@ -38,6 +38,7 @@ const LocaleLayout = ({ className="h-full select-auto" data-api-prefix={process.env.NEXT_PUBLIC_API_PREFIX} data-pubic-api-prefix={process.env.NEXT_PUBLIC_PUBLIC_API_PREFIX} + data-custom-api-prefix={process.env.NEXT_CUSTOM_API_PREFIX} data-public-edition={process.env.NEXT_PUBLIC_EDITION} data-public-support-mail-login={process.env.NEXT_PUBLIC_SUPPORT_MAIL_LOGIN} data-public-sentry-dsn={process.env.NEXT_PUBLIC_SENTRY_DSN} diff --git a/web/config/index.ts b/web/config/index.ts index 022ca6b2e..80deac6e3 100644 --- a/web/config/index.ts +++ b/web/config/index.ts @@ -5,11 +5,13 @@ import { PromptRole } from '@/models/debug' export let apiPrefix = '' export let publicApiPrefix = '' +export let customApiPrefix = '' // NEXT_PUBLIC_API_PREFIX=/console/api NEXT_PUBLIC_PUBLIC_API_PREFIX=/api npm run start -if (process.env.NEXT_PUBLIC_API_PREFIX && process.env.NEXT_PUBLIC_PUBLIC_API_PREFIX) { +if (process.env.NEXT_PUBLIC_API_PREFIX && process.env.NEXT_PUBLIC_PUBLIC_API_PREFIX && process.env.NEXT_CUSTOM_API_PREFIX) { apiPrefix = process.env.NEXT_PUBLIC_API_PREFIX publicApiPrefix = process.env.NEXT_PUBLIC_PUBLIC_API_PREFIX + customApiPrefix = process.env.NEXT_CUSTOM_API_PREFIX } else if ( globalThis.document?.body?.getAttribute('data-api-prefix') @@ -18,17 +20,18 @@ else if ( // Not build can not get env from process.env.NEXT_PUBLIC_ in browser https://nextjs.org/docs/basic-features/environment-variables#exposing-environment-variables-to-the-browser apiPrefix = globalThis.document.body.getAttribute('data-api-prefix') as string publicApiPrefix = globalThis.document.body.getAttribute('data-pubic-api-prefix') as string + customApiPrefix = globalThis.document.body.getAttribute('data-custom-api-prefix') as string } else { // const domainParts = globalThis.location?.host?.split('.'); // in production env, the host is dify.app . In other env, the host is [dev].dify.app // const env = domainParts.length === 2 ? 'ai' : domainParts?.[0]; - apiPrefix = 'http://localhost:5001/console/api' + apiPrefix = 'http://localhost:5001/agents/console/api' publicApiPrefix = 'http://localhost:5001/api' // avoid browser private mode api cross origin } - export const API_PREFIX: string = apiPrefix export const PUBLIC_API_PREFIX: string = publicApiPrefix +export const CUSTOM_API_PREFIX: string = customApiPrefix const EDITION = process.env.NEXT_PUBLIC_EDITION || globalThis.document?.body?.getAttribute('data-public-edition') || 'SELF_HOSTED' export const IS_CE_EDITION = EDITION === 'SELF_HOSTED' diff --git a/web/i18n/zh-Hans/common.ts b/web/i18n/zh-Hans/common.ts index 52ab7d6f0..c92b32db7 100644 --- a/web/i18n/zh-Hans/common.ts +++ b/web/i18n/zh-Hans/common.ts @@ -126,6 +126,7 @@ const translation = { newApp: '创建应用', newDataset: '创建知识库', tools: '工具', + agent: '智能体中心', }, userProfile: { settings: '设置', diff --git a/web/i18n/zh-Hans/workflow.ts b/web/i18n/zh-Hans/workflow.ts index 39311649f..33f18cc24 100644 --- a/web/i18n/zh-Hans/workflow.ts +++ b/web/i18n/zh-Hans/workflow.ts @@ -7,6 +7,7 @@ const translation = { unpublished: '未发布', published: '已发布', publish: '发布', + delist: '下架', update: '更新', run: '运行', running: '运行中', diff --git a/web/service/agent.ts b/web/service/agent.ts new file mode 100644 index 000000000..fe6c7e213 --- /dev/null +++ b/web/service/agent.ts @@ -0,0 +1,94 @@ +import { get, post } from './base' + +const baseURL = '/llm-base2' + +/** + * agent类型列表 + * @param param + */ +export const getAgentTypeList = (param: any) => { + return get(`${baseURL}/dify/agent-type/list`, { + param, + }, { + customAPI: true, + }) +} + +/** + * 发布、下架 + * @param data + */ +export const agentAdd: (data: any) => Promise = (data: any) => { + return post(`${baseURL}/dify/agent/up-down-shelves`, { + body: data, + }, { customAPI: true }) +} + +/** + * 智能体列表 + * @param params + */ +export const getDifyList = (params: any) => { + return get(`${baseURL}/dify/list`, { + params, + }, { customAPI: true }) +} + +/** + * 添加类型 + * @param data + */ +export const agentTypeAdd: (data: any) => Promise = (data: any) => { + return post(`${baseURL}/dify/agent-type/add`, { + body: data, + }, { + customAPI: true, + }) +} + +/** + * 更新类型 + * @param data + */ +export const agentTypeUpdate: (data: any) => Promise = (data: any) => { + return post(`${baseURL}/dify/agent-type/update`, { + body: data, + }, { + customAPI: true, + }) +} + +/** + * 删除类型 + * @param params + */ +export const agentTypeDelete = (params: any) => { + return get(`${baseURL}/dify/agent-type/delete`, { + params, + }, { + customAPI: true, + }) +} +/** + * agent排序(批量) + * @param data + */ +export const agentUpdateSortBatch: (data: any) => Promise = (data: any) => { + return post(`${baseURL}/dify/agent/update-sort-batch`, { + body: data, + }, { + customAPI: true, + }) +} + +/** + * agent类型排序(批量) + * @param data + */ +export const agentTypeUpdateSortBatch: (data: any) => Promise = (data: any) => { + return post(`${baseURL}/dify/agent-type/update-sort-batch`, { + body: data, + }, { + customAPI: true, + }) +} diff --git a/web/service/base.ts b/web/service/base.ts index 07eb11d98..e8bcf4e7e 100644 --- a/web/service/base.ts +++ b/web/service/base.ts @@ -1,4 +1,4 @@ -import { API_PREFIX, IS_CE_EDITION, PUBLIC_API_PREFIX } from '@/config' +import { API_PREFIX, CUSTOM_API_PREFIX, IS_CE_EDITION, PUBLIC_API_PREFIX } from '@/config' import Toast from '@/app/components/base/toast' import type { AnnotationReply, MessageEnd, MessageReplace, ThoughtItem } from '@/app/components/base/chat/chat/type' import type { VisionFile } from '@/types/app' @@ -70,6 +70,7 @@ export type IOnTextReplace = (textReplace: TextReplaceResponse) => void export type IOtherOptions = { isPublicAPI?: boolean + customAPI?: boolean // 自定义API bodyStringify?: boolean needAllResponseContent?: boolean deleteContentType?: boolean @@ -280,6 +281,7 @@ const baseFetch = ( fetchOptions: FetchOptionType, { isPublicAPI = false, + customAPI = false, bodyStringify = true, needAllResponseContent, deleteContentType, @@ -309,7 +311,6 @@ const baseFetch = ( const accessToken = localStorage.getItem('console_token') || '' options.headers.set('Authorization', `Bearer ${accessToken}`) } - if (deleteContentType) { options.headers.delete('Content-Type') } @@ -318,8 +319,7 @@ const baseFetch = ( if (!contentType) options.headers.set('Content-Type', ContentType.json) } - - const urlPrefix = isPublicAPI ? PUBLIC_API_PREFIX : API_PREFIX + const urlPrefix = customAPI ? CUSTOM_API_PREFIX : isPublicAPI ? PUBLIC_API_PREFIX : API_PREFIX let urlWithPrefix = `${urlPrefix}${url.startsWith('/') ? url : `/${url}`}` const { method, params, body } = options @@ -337,7 +337,6 @@ const baseFetch = ( delete options.params } - if (body && bodyStringify) options.body = JSON.stringify(body) @@ -361,10 +360,8 @@ const baseFetch = ( return bodyJson.then((data: ResponseError) => { if (!silent) Toast.notify({ type: 'error', message: data.message }) - if (data.code === 'web_sso_auth_required') requiredWebSSOLogin() - if (data.code === 'unauthorized') { removeAccessToken() globalThis.location.reload()