From 978a897b7d2b9c8e3cb6677c7bd252fff9b36240 Mon Sep 17 00:00:00 2001 From: Kingcean Tuan Date: Tue, 20 May 2025 23:46:49 +0800 Subject: [PATCH 1/6] Remove npm registry of VEEN. --- server/mcp_server_veen/nodejs/package.json | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/server/mcp_server_veen/nodejs/package.json b/server/mcp_server_veen/nodejs/package.json index 3f6c9c9..43769d1 100644 --- a/server/mcp_server_veen/nodejs/package.json +++ b/server/mcp_server_veen/nodejs/package.json @@ -14,7 +14,7 @@ }, "keywords": [], "author": "Kingcean Tuan ", - "description": "The VolcEngine AI components based on model context protocol.", + "description": "Apply, configure, and query for Volcengine edge computing nodes, including virtual machines, images, bare metal, and corresponding network configurations.", "dependencies": { "@modelcontextprotocol/sdk": "^1.10.1", "@release-it/conventional-changelog": "^10.0.0", @@ -38,9 +38,5 @@ "@types/node": "^22.14.1", "typescript": "^5.8.3" }, - "publishConfig": { - "access": "public", - "registry": "https://bnpm.byted.org/" - }, "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e" } From 5ada86072ba88161a5d5a3dd58963b417c4737d2 Mon Sep 17 00:00:00 2001 From: Kingcean Tuan Date: Tue, 20 May 2025 23:47:58 +0800 Subject: [PATCH 2/6] Remove npm registry of TrafficRoute. --- server/mcp_server_traffic_route/nodejs/package.json | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/server/mcp_server_traffic_route/nodejs/package.json b/server/mcp_server_traffic_route/nodejs/package.json index 7c2cbc2..e4f7fd1 100644 --- a/server/mcp_server_traffic_route/nodejs/package.json +++ b/server/mcp_server_traffic_route/nodejs/package.json @@ -14,7 +14,7 @@ }, "keywords": [], "author": "Kingcean Tuan ", - "description": "The VolcEngine AI components based on model context protocol.", + "description": "The Volcengine DNS routing service that allows users to configure DNS rules to ensure that requests from clients reach the desired service nodes.", "dependencies": { "@modelcontextprotocol/sdk": "^1.10.1", "@release-it/conventional-changelog": "^10.0.0", @@ -38,9 +38,5 @@ "@types/node": "^22.14.1", "typescript": "^5.8.3" }, - "publishConfig": { - "access": "public", - "registry": "https://bnpm.byted.org/" - }, "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e" } From dcd47ea7543e6cc8637c390b0a26ef47d7b76d87 Mon Sep 17 00:00:00 2001 From: "xujian.captain" Date: Wed, 21 May 2025 17:09:24 +0800 Subject: [PATCH 3/6] feat: UPDATE VEEN Python Config --- server/mcp_server_veen/python/scripts/run.sh | 0 .../python/vcloud/utils/response.py | 12 +- .../python/vcloud/veen/api/api.py | 14 +- .../python/vcloud/veen/api/config.py | 2 +- .../python/vcloud/veen/mcp_server.py | 2 +- .../python/vcloud/veen/note.py | 1570 +++++++++-------- .../python/vcloud/veen/server.py | 25 +- 7 files changed, 830 insertions(+), 795 deletions(-) mode change 100644 => 100755 server/mcp_server_veen/python/scripts/run.sh diff --git a/server/mcp_server_veen/python/scripts/run.sh b/server/mcp_server_veen/python/scripts/run.sh old mode 100644 new mode 100755 diff --git a/server/mcp_server_veen/python/vcloud/utils/response.py b/server/mcp_server_veen/python/vcloud/utils/response.py index 80b9ed3..0385fce 100644 --- a/server/mcp_server_veen/python/vcloud/utils/response.py +++ b/server/mcp_server_veen/python/vcloud/utils/response.py @@ -4,11 +4,11 @@ def Error(message: str): def HandlerVolcResponse(response: dict): if ( - response - and hasattr(response, "ResponseMetadata") - and response.ResponseMetadata - and hasattr(response.ResponseMetadata, "Error") - and response.ResponseMetadata.Error + response + and response.get("ResponseMetadata") + and response["ResponseMetadata"] + and response["ResponseMetadata"].get("Error") + and response["ResponseMetadata"]["Error"] ): - return Error(response.ResponseMetadata.Error.Message) + return Error(response["ResponseMetadata"]["Error"]["Message"]) return str(response) diff --git a/server/mcp_server_veen/python/vcloud/veen/api/api.py b/server/mcp_server_veen/python/vcloud/veen/api/api.py index c2d8ebc..90f4c11 100644 --- a/server/mcp_server_veen/python/vcloud/veen/api/api.py +++ b/server/mcp_server_veen/python/vcloud/veen/api/api.py @@ -1,12 +1,20 @@ from vcloud.base.base_service import BaseService from .config import * -from ...base.aksk import get_ak, get_sk +import os + class VeenedgeAPI(BaseService): + def __init__(self): + if os.getenv("VOLCENGINE_REGION") is None: + region = "cn-north-1" + else: + region = os.getenv("VOLCENGINE_REGION") + super().__init__( - ak=get_ak(), - sk=get_sk(), + ak=os.getenv("VOLCENGINE_ACCESS_KEY"), + sk=os.getenv("VOLCENGINE_SECRET_KEY"), + region=region, service_info_map=service_info_map, ) self.set_api_info(api_info) diff --git a/server/mcp_server_veen/python/vcloud/veen/api/config.py b/server/mcp_server_veen/python/vcloud/veen/api/config.py index 521b1d8..04e6826 100644 --- a/server/mcp_server_veen/python/vcloud/veen/api/config.py +++ b/server/mcp_server_veen/python/vcloud/veen/api/config.py @@ -214,7 +214,7 @@ service_info_map = { "cn-north-1": ServiceInfo( "open.volcengineapi.com", - {"Accept": "application/json"}, + {"Accept": "application/json", "x-tt-mcp": "volc"}, Credentials("", "", "veenedge", "cn-north-1"), 60, 60, diff --git a/server/mcp_server_veen/python/vcloud/veen/mcp_server.py b/server/mcp_server_veen/python/vcloud/veen/mcp_server.py index f396a40..dd7893c 100644 --- a/server/mcp_server_veen/python/vcloud/veen/mcp_server.py +++ b/server/mcp_server_veen/python/vcloud/veen/mcp_server.py @@ -464,7 +464,7 @@ def build_image_by_vm(body: dict) -> str: return HandlerVolcResponse(reqs) - @mcp.tool() + # @mcp.tool() # def upload_url_image(body: dict) -> str: # """ # 本接口用于导入镜像。 diff --git a/server/mcp_server_veen/python/vcloud/veen/note.py b/server/mcp_server_veen/python/vcloud/veen/note.py index ee5cbea..14631bb 100644 --- a/server/mcp_server_veen/python/vcloud/veen/note.py +++ b/server/mcp_server_veen/python/vcloud/veen/note.py @@ -1,784 +1,790 @@ note = { - "start_cloud_server": """Args:""", - "delete_cloud_server": """Args:""", - "stop_cloud_server": """Args:""", - "reboot_cloud_server": """Args:""", - "create_cloud_server": """Args:body: A JSON structure - cloudserver_name (String): 是 边缘服务名称。命名规则如下: - - 允许 5~20 个字符。 - - 支持中文、大写字母、小写字母、数字。 - - 支持特殊字符 ()`~!@#$%^&*-+=_{}[]:;',.?/。 - - 不能包含双引号(")、反斜线( )和空格,且不能以正斜线(/)开头。 - spec_name (String): 是 边缘实例规格名称。您可以通过 ListInstanceTypes 接口查询可开通的实例规格。如果您需要的规格不在可开通实例规格列表,请提交工单申请。 - storage_config (Object of StorageConfig): 是 存储配置,包括系统盘和数据盘的类型和容量信息。 - 详情请参见 StorageConfig。 - - - - - - - network_config (Object of NetworkConfig): 是 网络配置。 - 详情请参见 NetworkConfigReq。 - - - - - secret_config (Object of SecretConfig): 是 边缘实例的登录密码设置。 - 详情请参见 SecretConfig。 - - - - - instance_area_nums (Array of InstanceAreaNums): 是 边缘实例的地域信息,包括地域的名称、运营商和边缘实例的个数等。 - 详情请参见 InstanceAreaNum。 - 如果不指定该参数,代表不创建边缘实例。 - - - - - - - schedule_strategy (Object of ScheduleStrategy): 是 调度策略。 - 不设置该参数时,默认按照城市分散、低价优先策略。 - 服务层级为城市级时,无需设置该参数,按照城市分散、低价优先策略。如果该参数设置为其他值,策略将不生效。建议您将该参数留空。 - 服务层级为大区级时,按照设置的策略生效。 - - - custom_data (Object of CustomData): 否 自定义数据。自定义数据为边缘实例的定制信息。最大可输入 16 KB 的自定义数据。 - - - - - billing_config (Object of BillingConfig): 否 计费方式,包括算力和带宽的计费方式。 - 详情请参见 CreateCloudServerBillingConfigs。 - - - - - advanced_configuration (Object of AdvancedConfiguration): 否 高级配置,用于自定义边缘实例名称、实例描述信息、主机名称。批量创建边缘实例时,将按照自定义名称顺序生成边缘实例名和主机名。 - - - - - - - project (String): 否 通过边缘服务创建的实例所属的项目。 - 如果不设置该参数或参数值为空字符串,采用默认值 default。 - disable_vga (Boolean): 否 是否禁用 VGA。取值范围: - - true:禁用VGA。 - - false:启用VGA。 - cloud_server_desc (String): 否 边缘服务的描述信息。最多可输入 80 个字符。 - create_instance_timeout (Long): 否 边缘实例的创建超时时间。单位:秒。最小值:120。 - 当边缘实例的创建时长超过设置的值时,边缘实例创建失败,其状态变为 open_fail。您可以通过控制台或 API 接口来删除相关实例。 - 如果不指定该参数的值,代表不限制实例创建时长。 - client_token (String): 否 - req_params_hash (String): 否 - -字段: StorageConfig - system_disk (Object of SystemDisk): 是 系统盘。 - 详情请参见 DiskSpec。 - - - - - - - data_disk (Object of DataDisk): 否 数据盘。该参数用于添加单块数据盘。 - 详情请参见 DiskSpec。 - - - - - - - data_disk_list (Array of DataDiskList): 否 数据盘列表。该参数用于添加一块或多块数据盘。 - 详情请参见 DiskSpec。 - - - - - - - - - - - - - -字段: NetworkConfig - bandwidth_peak (String): 否 公网带宽峰值。取值范围:[5,实例规格支持的带宽上限]。取值须是 5 的倍数。单位:Mbps。 - 当您选择 IPv4/IPv6 双栈边缘实例时,所设的带宽峰值将被 IPv4 和 IPv6 公网 IP 地址共享。 - disable_ipv4 设置为 true 时,无需配置 bandwidth_peak 参数。 - enable_ipv6 (Boolean): 否 是否启用 IPv6。取值范围: - - true :启用 IPv6。 - - false(默认值):禁用 IPv6。 - 默认分配 IPv4 地址。当您启用 IPv6 时,系统会为边缘实例分配 IPv4 和 IPv6 两个公网 IP 地址。 - disable_ipv4 (Boolean): 否 是否禁用 IPv4。取值范围: - - true :禁用 IPv4。 - - false(默认值):启用 IPv4。 - custom_internal_interface_name (String): 否 私网网卡的名称。目前仅 VLANVF 规格实例的私网网卡的名称可以被修改。 - custom_external_interface_name (String): 否 公网网卡的名称。目前仅 VLANVF 规格实例的公网网卡的名称可以被修改。 - dns_type (Object of DnsType): 否 DNS 类型: - - default:默认 DNS。 - - custom:自定义 DNS。 - 如果不设置该参数,代表使用默认的 DNS 配置,即首选 DNS 为 114.114.114.114,备用 DNS 为 223.6.6.6。 - 暂不支持为裸金属实例配置 DNS。当实例规格为裸金属时,无需设置 dns_type 和 dns_list 参数。 - dns_list (Array of String): 否 DNS 列表。前面的 IP 地址代表首选 DNS,后面的 IP 地址代表备用 DNS。 - - 当前最多支持一条首选 DNS 和一条备用 DNS。 - - 当 dns_type 设置为 default 时,不允许设置 dns_list。此时,采用默认的 DNS 配置,即首选 DNS 为 114.114.114.114,备用 DNS 为223.6.6.6。 - - 当 dns_type 设置为 custom 时,必须设置 dns_list。至少需要配置一条首选 DNS。可按需配置一条备用 DNS。 - secondary_internal_ip_num (Integer): 否 辅助私网 IP 的个数。 - bound_eip_share_bandwidth_peak (String): 否 弹性公网 IP 的共享带宽峰值。 - -字段: SecretConfig - secret_type (Object of SecretType): 是 边缘实例的登录密码的类型。取值范围: - - 2:自定义密码。 - - 3:SSH Key 类型密码。 - - 4: 代表不注入登录凭证。 - secret_data (String): 否 登录密码。 - - 自定义密码:密码输入规则如下: - - 允许 8 ~ 30个字符。密码须至少包含以下类型中的3种:大写字母、小写字母、数字和特殊字符。 - - 支持特殊字符 ()`~!@#$%^&*-+=_{}[]:;',.?/。 - - 不能包含双引号(")、反斜线( )和空格,且不能以正斜线(/)开头。 - - SSH Key 类型密码:输入SSH 密钥对的 ID。您可以通过 ListSSHKey 接口查询密钥对 ID。 - -字段: InstanceAreaNums - area_name (String): 是 区域名称。您可以通过 ListAvailableResourceInfo 接口查询实例规格支持的区域、城市、运营商、节点信息。 - isp (String): 是 运营商。您可以通过 ListAvailableResourceInfo 接口查询实例规格支持的区域、城市、运营商、节点信息。 - cluster_name (String): 否 节点名称。指定希望部署边缘服务的节点。您可以通过 ListAvailableResourceInfo 接口查询实例规格支持的区域、城市、运营商、节点信息。 - vpc_identity (String): 否 私有网络的 ID。该参数用于指定边缘服务部署到的私有网络。如果设置了 vpc_identity,必须同时设置 cluster_name。 - num (Integer): 是 实例的个数。 - host_name_list (Array of String): 否 主机名的列表。系统按顺序将主机名赋给创建的边缘实例。系统允许您同时使用 host_name_list 和 instance_host_name 参数。 这两个参数会同时生效,但是 host_name_list 的优先级高于 instance_host_name。举例:如果您批量创建了 3 个边缘实例,将 instance_host_name 指定为了 host,将 host_name_list 指定为了 "hosta","hostb",那么这 3 个边缘实例的名称将分别为 hosta,hostb 和 host-3。 - default_isp (String): 否 默认运营商。该参数仅适用于三线节点。 - 取值范围: - - CMCC - - CUCC - - CTCC - 注意: - - 当 external_network_mode 值为 single_interface_cmcc_ip、single_interface_cucc_ip、single_interface_ctcc_ip 时,default_isp 中指定的运营商须与 external_network_mode 中指定的运营商相同。 - - 当 external_network_mode 值为 single_interface_multi_ip 或 multi_interface_multi_ip 时,default_isp 参数必须指定,参数值可按需设置。 - - 当 external_network_mode 值为 single_interface_single_ip 或 no_interface 时,default_isp 无需指定。 - external_network_mode (Object of ExternalNetworkMode): 否 公网配置。该参数仅适用于三线节点。 - 取值范围: - - single_interface_multi_ip:单网卡多 IP。如果您是三线节点的新用户,那么需提交工单开通相关权限。 - - single_interface_cmcc_ip:单网卡移动 IP。需提交工单开通相关权限。 - - single_interface_cucc_ip:单网卡联通 IP。需提交工单开通相关权限。 - - single_interface_ctcc_ip:单网卡电信 IP。需提交工单开通相关权限。 - - multi_interface_multi_ip:多网卡多 IP。需提交工单开通相关权限。 - - single_interface_single_ip:单网卡单 IP。该模式下,系统将根据库存随机分配一个运营商的公网 IP 地址。 - - no_interface:无公网网卡。需提交工单开通相关权限。 - 默认值: - - 当有公网网卡时: - - 单网卡多IP权限开启:默认采用single_interface_multi_ip(单网卡多 IP)。 - - 单网卡多IP权限关闭:默认采用single_interface_single_ip(单网卡单 IP)。 - - 无公网网卡时,默认采用 no_interface。 - -字段: ScheduleStrategy - schedule_strategy (String): 是 调度策略: - - dispersion:城市分散。当您在多个区域创建多个边缘实例时,该策略表示系统优先选择不同城市的节点来下发边缘实例。 - - concentration:城市集中。当您在多个区域创建多个边缘实例时,该策略表示系统优先选择相同城市的节点来下发边缘实例。 - price_strategy (String): 是 价格策略: - - high_priority:优先高价。当您在多个区域创建多个边缘实例时,该策略表示系统优先选择带宽价格较高的城市的节点来下发边缘实例。 - - low_priority:优先低价。当您在多个区域创建多个边缘实例时,该策略表示系统优先选择带宽价格较低的城市的节点来下发边缘实例。 - -字段: CustomData - data (String): 是 自定义数据。自定义数据为边缘实例的定制信息。 - -字段: BillingConfig - computing_billing_method (Object of ComputingBillingMethod): 是 算力计费方式,取值范围: - - MonthlyPeak:按月峰值计费。 - - DailyPeak:按日峰值计费。 - bandwidth_billing_method (Object of BandwidthBillingMethod): 是 带宽计费方式,取值范围: - - MonthlyP95:按月 95 峰值计费。 - - DailyPeak:按日峰值计费。 - auto_prepay (Boolean): 否 - -字段: AdvancedConfiguration - instance_name (String): 否 边缘实例的名称。当您批量创建边缘实例时,系统将为自定义实例名称添加数字后缀。举例:-1,-2。 - instance_desc (String): 否 边缘实例的描述。当您批量创建边缘实例时,系统将为每个实例添加相同的描述。 - instance_host_name (String): 否 自定义的主机名。当您批量创建边缘实例时,系统将为自定义主机名称添加数字后缀。举例:-1,-2。 - -字段: SystemDisk - storage_type (String): 是 磁盘类型。取值范围: - - CloudBlockHDD:HDD 型云盘。 - - CloudBlockSSD:SSD 型云盘。 - capacity (String): 是 磁盘容量。单位:GB。容量范围: - - 系统云盘:40 ~ 100。 - - 数据云盘:20 ~ 1000。 - 取值须是 10 的倍数。如需更大磁盘容量,请提交工单申请。 - -字段: DataDisk - storage_type (String): 是 磁盘类型。取值范围: - - CloudBlockHDD:HDD 型云盘。 - - CloudBlockSSD:SSD 型云盘。 - capacity (String): 是 磁盘容量。单位:GB。容量范围: - - 系统云盘:40 ~ 100。 - - 数据云盘:20 ~ 1000。 - 取值须是 10 的倍数。如需更大磁盘容量,请提交工单申请。 - -字段: DataDiskList - storage_type (String): 是 磁盘类型。取值范围: - - CloudBlockHDD:HDD 型云盘。 - - CloudBlockSSD:SSD 型云盘。 - capacity (String): 是 磁盘容量。单位:GB。容量范围: - - 系统云盘:40 ~ 100。 - - 数据云盘:20 ~ 1000。 - 取值须是 10 的倍数。如需更大磁盘容量,请提交工单申请。""", - "update_cloud_server": """Args:body: A JSON structure - cloud_server_identity (String): 是 边缘服务 ID。您可以通过 ListCloudServers 接口查询边缘服务 ID。 - cloud_server_desc (String): 否 边缘服务的描述信息,最多可输入 80 个字符。 - 如果不指定该项参数值,代表不修改描述信息。 - image_identity (String): 否 镜像 ID。您可以通过 ListImages 接口查询镜像 ID。 - storage_config (Object of StorageConfig): 否 存储配置,包括系统盘和数据盘的类型和容量信息。 - 详情请参见 StorageConfig。 - - - - - - - secret_config (Object of SecretConfig): 否 边缘实例的登录密码设置,支持自定义类型和 SSH Key 类型的密码。 - 详情请参见 SecretConfig。 - 如果不指定该项参数值,代表不修改登录密码设置。 - - - - network_config (Object of NetworkConfig): 否 网络配置。 - 详情请参见 NetworkConfigUpdateReq。 - - - - - custom_data (Object of CustomData): 否 自定义数据。自定义数据为边缘实例的定制信息。最大可输入 16 KB 的自定义数据。 - 如果不指定该项参数值,代表不修改自定义数据。 - 说明: - - - 自定义数据只支持Shell脚本。您需要使用明文方式输入脚本,平台将自动对脚本进行Base64编码。请勿直接输入Base64编码后的脚本。对于Linux系统,脚本通常以 !/bin/bash 开头;对于Windows系统,脚本可以直接输入。 - - 输入的脚本将在边缘实例首次启动时执行。 - instance_project (String): 否 新增的边缘实例所属的项目。如果不设置该参数,将保留原来的取值。如果参数值为空字符串,采用默认值 default。 - advanced_configuration (Object of AdvancedConfiguration): 否 - billing_config (Object of BillingConfig): 否 - disable_vga (Boolean): 否 - -字段: StorageConfig - system_disk (Object of SystemDisk): 是 系统盘。 - 详情请参见 DiskSpec。 - - - - - - - data_disk (Object of DataDisk): 否 数据盘。该参数用于添加单块数据盘。 - 详情请参见 DiskSpec。 - - - - - - - data_disk_list (Array of DataDiskList): 否 数据盘列表。该参数用于添加一块或多块数据盘。 - 详情请参见 DiskSpec。 - - - - - - - - - - - - - -字段: SecretConfig - secret_type (Object of SecretType): 是 边缘实例的登录密码的类型。取值范围: - - 2:自定义密码。 - - 3:SSH Key 类型密码。 - - 4: 代表不注入登录凭证。 - secret_data (String): 否 登录密码。 - - 自定义密码:密码输入规则如下: - - 允许 8 ~ 30个字符。密码须至少包含以下类型中的3种:大写字母、小写字母、数字和特殊字符。 - - 支持特殊字符 ()`~!@#$%^&*-+=_{}[]:;',.?/。 - - 不能包含双引号(")、反斜线( )和空格,且不能以正斜线(/)开头。 - - SSH Key 类型密码:输入SSH 密钥对的 ID。您可以通过 ListSSHKey 接口查询密钥对 ID。 - -字段: NetworkConfig - bandwidth_peak (String): 否 公网带宽峰值。取值范围:[5,实例规格支持的带宽上限]。取值须是 5 的倍数。单位:Mbps。 - 当您选择 IPv4/IPv6 双栈边缘实例时,所设的带宽峰值将被 IPv4 和 IPv6 公网 IP 地址共享。 - disable_ipv4 设置为 true 时,无需配置 bandwidth_peak 参数。 - enable_ipv6 (Boolean): 否 是否启用 IPv6。取值范围: - - true :启用 IPv6。 - - false(默认值):禁用 IPv6。 - 默认分配 IPv4 地址。当您启用 IPv6 时,系统会为边缘实例分配 IPv4 和 IPv6 两个公网 IP 地址。 - disable_ipv4 (Boolean): 否 是否禁用 IPv4。取值范围: - - true :禁用 IPv4。 - - false(默认值):启用 IPv4。 - custom_internal_interface_name (String): 否 私网网卡的名称。目前仅 VLANVF 规格实例的私网网卡的名称可以被修改。 - custom_external_interface_name (String): 否 公网网卡的名称。目前仅 VLANVF 规格实例的公网网卡的名称可以被修改。 - dns_type (Object of DnsType): 否 DNS 类型: - - default:默认 DNS。 - - custom:自定义 DNS。 - 如果不设置该参数,代表使用默认的 DNS 配置,即首选 DNS 为114.114.114.114,备用 DNS 为 223.6.6.6。 - 暂不支持为裸金属实例配置 DNS。当实例规格为裸金属时,无需设置 dns_type 和 dns_list 参数。 - dns_list (Array of String): 否 DNS 列表。前面的 IP 地址代表首选 DNS,后面的 IP 地址代表备用 DNS。 - - 当前最多支持一条首选 DNS 和一条备用 DNS。 - - 当 dns_type 设置为 default 时,不允许设置 dns_list。此时,采用默认的 DNS 配置,即首选 DNS 为 114.114.114.114,备用 DNS 为223.6.6.6。 - - 当 dns_type 设置为 custom 时,必须设置 dns_list。至少需要配置一条首选 DNS。可按需配置一条备用 DNS。 - -字段: CustomData - data (String): 是 自定义数据。自定义数据为边缘实例的定制信息。 - -字段: AdvancedConfiguration - instance_name (String): 否 - instance_desc (String): 否 - instance_host_name (String): 否 - delete_protection (Boolean): 否 - -字段: BillingConfig - computing_billing_method (Object of ComputingBillingMethod): 是 - bandwidth_billing_method (Object of BandwidthBillingMethod): 是 - pre_paid_period (Object of PrePaidPeriod): 否 - pre_paid_period_number (Long): 否 - auto_renew (Boolean): 否 - auto_prepay (Boolean): 否 - -字段: SystemDisk - storage_type (String): 是 磁盘类型。取值范围: - - CloudBlockHDD:HDD 型云盘。 - - CloudBlockSSD:SSD 型云盘。 - capacity (String): 是 磁盘容量。单位:GB。容量范围: - - 系统云盘:40 ~ 100。 - - 数据云盘:20 ~ 1000。 - 取值须是 10 的倍数。如需更大磁盘容量,请提交工单申请。 - -字段: DataDisk - storage_type (String): 是 磁盘类型。取值范围: - - CloudBlockHDD:HDD 型云盘。 - - CloudBlockSSD:SSD 型云盘。 - capacity (String): 是 磁盘容量。单位:GB。容量范围: - - 系统云盘:40 ~ 100。 - - 数据云盘:20 ~ 1000。 - 取值须是 10 的倍数。如需更大磁盘容量,请提交工单申请。 - -字段: DataDiskList - storage_type (String): 是 磁盘类型。取值范围: - - CloudBlockHDD:HDD 型云盘。 - - CloudBlockSSD:SSD 型云盘。 - capacity (String): 是 磁盘容量。单位:GB。容量范围: - - 系统云盘:40 ~ 100。 - - 数据云盘:20 ~ 1000。 - 取值须是 10 的倍数。如需更大磁盘容量,请提交工单申请。""", - "get_cloud_server": """Args:params: A JSON structure - cloud_server_id (String): 是 边缘服务 ID。您可以通过 ListCloudServers 接口查询边缘服务 ID。""", - "reboot_instances": """Args:body: A JSON structure - instance_identities (Array of String): 是 边缘实例 ID 列表。您可以通过 ListInstances 接口查询边缘实例 ID。""", - "start_instances": """Args:body: A JSON structure - instance_identities (Array of String): 是 边缘实例 ID 列表。您可以通过 ListInstances 接口查询边缘实例 ID。""", - "stop_instances": """Args:body: A JSON structure - instance_identities (Array of String): 是 边缘实例 ID 列表。您可以通过 ListInstances 接口查询边缘实例 ID。""", - "list_instances": """Args:params: A JSON structure - countries (String): 否 国家。 - regions (String): 否 区域。区域之间用半角逗号(,)分隔。 - 您可以通过 ListAvailableResourceInfo 接口查询实例规格支持的区域、城市、运营商、节点信息。 - cities (String): 否 城市代码。城市之间用半角逗号(,)分隔。 - 您可以通过 ListAvailableResourceInfo 接口查询实例规格支持的区域、城市、运营商、节点信息。 - isps (String): 否 运营商。运营商之间用半角逗号(,)分隔。 - 您可以通过 ListAvailableResourceInfo 接口查询实例规格支持的区域、城市、运营商、节点信息。 - status (String): 否 边缘实例的状态。实例状态之间用半角逗号(,)分隔。取值范围: - - opening:创建中。 - - starting:启动中。 - - running:运行中。 - - stopping:停止中。 - - stop:已停止。 - - rebooting:重启中。 - - terminating:删除中。 - - open_fail:创建失败。 - cluster_names (String): 否 节点名称的列表。名称之间用半角逗号(,)分隔。 - ips (String): 否 IP 地址列表。IP 之间用半角逗号(,)分隔。 - cidrs (String): 否 子网 CIDR 地址列表。CIDR 地址之间用半角逗号(,)分隔。 - cloud_server_identities (String): 否 边缘服务 ID 列表。ID 之间用半角逗号(,)分隔。 - spec_names (String): 否 边缘实例规格名称。实例规格之间用半角逗号(,)分隔。 - instance_identities (String): 否 边缘实例 ID。ID 之间用半角逗号(,)分隔。 - instance_uuids (String): 否 边缘实例 UUID。UUID 之间用半角逗号(,)分隔。 - instance_names (String): 否 边缘实例名称。名称之间用半角逗号(,)分隔。 - fuzzy_ip_with_dots (String): 否 IPv4 地址。支持模糊查询。IP 地址采用点分十进制格式。 - vpc_identities (String): 否 私有网络 ID。ID 之间用半角逗号(,)分隔。 - page (Integer): 否 边缘实例列表的页码。 - 如果 page 和 limit 参数都不指定,将返回全量数据;如果仅指定 limit,不指定 page ,将返回第 1 页数据;如果仅指定 page,不指定 limit,将返回全量数据;如果 page 和 limit 都指定,将返回符合条件的数据。 - limit (Integer): 否 分页查询时设置的每页行数。 - 如果 page 和 limit 参数都不指定,将返回全量数据;如果仅指定 limit,不指定 page ,将返回第 1 页数据;如果仅指定 page,不指定 limit,将返回全量数据;如果 page 和 limit 都指定,将返回符合条件的数据。 - order_by (Integer): 否 查询出来的边缘实例的排列顺序,按照创建时间排序。取值范围: - - 1(默认值):按照降序排列。 - - 2:按照升序排列。""", - "get_instance": """Args:params: A JSON structure - instance_identity (String): 是 边缘实例 ID。您可以通过 ListInstances 接口获取边缘实例 ID。""", - "reset_login_credential": """Args:body: A JSON structure - instance_identity (String): 是 边缘实例 ID。您可以通过 ListInstances 接口查询边缘实例 ID。""", - "set_instance_name": """Args:body: A JSON structure - instance_identity (String): 是 边缘实例 ID。您可以通过 ListInstances 接口查询边缘实例 ID。 - instance_name (String): 是 实例名称。命名规则如下: - - 允许5~80个字符。 - - 支持中文、大写字母、小写字母、数字。 - - 支持特殊字符()`~!@#$%^&*-+=_{}[]:;',.?/。 - - 不能包含双引号(")、反斜线( )和空格,且不能以正斜线(/)开头。""", - "batch_reset_system": """Args:body: A JSON structure - instance_identities (Array of String): 是 边缘实例 ID 列表。您可以通过 ListInstances 接口查询边缘实例 ID。 - image_identity (String): 否 新镜像的 ID。您可以通过 ListImages 接口查询镜像 ID。 - 该参数用于为边缘实例更换镜像。如果您不指定该参数的值,代表不更换边缘实例的镜像。""", - "set_instances_bandwidth_peak": """Args:body: A JSON structure - instance_bandwidth_peak_map (JSON Map): 是 边缘实例的带宽峰值。 - - - - - - with_reboot (Boolean): 是 是否重启实例。取值范围: - - true:重启实例。 - - false:不重启实例。 - - 对于私有网络型实例,您在为其修改带宽峰值后无需重启实例。新的带宽峰值会直接生效。因此,建议您将 with_reboot 参数设置为 false。 - - 对于直通型实例,您在为其修改带宽峰值后必须重启实例。这样,新的带宽峰值才会生效。您可以将 with_reboot 参数设置为 true,系统将自动重启实例。 如需使用直通型实例,请提交工单。 - - 如果您指定的实例中既包含私有网络型实例又包含直通型实例,且您将 with_reboot 参数设置为 true,系统仅会重启直通型实例。""", - "enable_instances_i_pv6": """Args:body: A JSON structure - instance_identities (Array of String): 是 边缘实例 ID 列表。您可以通过 ListInstances 接口查询边缘实例 ID。 - with_reboot (Boolean): 是 是否重启实例。取值范围: - - true:重启实例。 - - false:不重启实例。 - 说明: - 重启实例后,IPv6 的配置才能生效。""", - "get_instances_i_pv6_upgrade_status": """Args:params: A JSON structure - instance_identities (String): 是 边缘实例 ID 列表。ID 之间用半角逗号(,)分隔。""", - "update_instances_spec": """Args:body: A JSON structure - instance_identities (Array of String): 是 边缘实例 ID 列表。您可以通过 ListInstances 接口查询边缘实例 ID。 - new_spec_name (String): 是 新的实例规格的名称。您可以通过 ListInstanceTypes 接口查询可开通的实例规格。""", - "list_instance_internal_ips": """Args:params: A JSON structure - instance_identity (String): 是 边缘实例 ID。您可以通过 ListInstances 接口查询边缘实例 ID。""", - "set_bound_eip_share_bandwidth_peak": """Args:body: A JSON structure - instance_identity (String): 是 边缘实例 ID。您可以通过 ListInstances 接口查询边缘实例 ID。 - bound_eip_share_bandwidth_peak (String): 是 弹性公网 IP 的共享带宽峰值。取值范围与弹性公网 IP 绑定的边缘实例的公网带宽峰值的范围一致。取值须是 5 的倍数。单位:Mbps。""", - "batch_bind_eip_to_internal_ips_randomly": """Args:body: A JSON structure - instance_identity (String): 是 边缘实例 ID。您可以通过 ListInstances 接口查询边缘实例 ID。 - internal_ips (Array of String): 是 需要绑定的私网 IP 地址的列表。您可以通过 ListInstanceInternalIps 接口查询边缘实例的私网 IP 地址。""", - "batch_delete_internal_ips": """Args:body: A JSON structure - instance_identity (String): 是 边缘实例 ID。您可以通过 ListInstances 接口查询边缘实例 ID。 - internal_ips (Array of String): 是 私网 IP 地址列表。您可以通过 ListInstanceInternalIps 接口查询边缘实例的私网 IP 地址。""", - "get_instance_cloud_disk_info": """Args:params: A JSON structure - instance_identity (String): 是 边缘实例 ID。您可以通过 ListInstances 接口查询边缘实例 ID。""", - "set_cloud_server_delete_protection": """Args:body: A JSON structure - cloud_server_identity (String): 是 边缘服务的 ID。您可以通过 ListCloudServers 接口查询边缘服务的 ID。 - cloud_server_delete_protection (Boolean): 否 是否为边缘服务开启删除保护。取值范围: - - true:开启删除保护。 - - false:关闭删除保护。""", - "set_instance_delete_protection": """Args:body: A JSON structure - instance_ids (Array of String): 是 边缘实例 ID 列表。您可以通过 ListInstances 接口查询边缘实例 ID。 - instance_delete_protection (Boolean): 否 是否为边缘实例开启删除保护。取值范围: - - true:开启删除保护。 - - false:关闭删除保护。""", - "list_cloud_servers": """Args:params: A JSON structure - fuzzy_name (String): 否 边缘服务名称。支持模糊查询。 - page (Integer): 否 边缘服务列表的页码。 - 如果 page 和 limit 参数都不指定,将返回全量数据;如果仅指定 limit,不指定 page ,将返回第 1 页数据;如果仅指定 page,不指定 limit,将返回全量数据;如果 page 和 limit 都指定,将返回符合条件的数据。 - limit (Integer): 否 分页查询时设置的每页行数。 - 默认值:10。 - 如果 page 和 limit 参数都不指定,将返回全量数据;如果仅指定 limit,不指定 page ,将返回第 1 页数据;如果仅指定 page,不指定 limit,将返回全量数据;如果 page 和 limit 都指定,将返回符合条件的数据。 - order_by (Integer): 否 查询出来的边缘服务的排列顺序,按照创建时间排序。取值范围: - - 1(默认值):按照降序排列。 - - 2:按照升序排列。""", - "list_instance_types": """Args:""", - "list_available_resource_info": """Args:params: A JSON structure - instance_type (String): 是 实例规格。您可以通过 ListInstanceTypes 接口获取可开通的实例规格。 - cloud_disk_type (String): 是 磁盘类型。取值范围: - - CloudHDD:HDD 型云盘。 - - CloudSSD:SSD 型云盘。""", - "create_instance": """Args:body: A JSON structure - cloud_server_identity (String): 是 边缘实例所属的边缘服务的 ID。您可以通过 ListCloudServers 接口查询边缘服务的 ID。 - instance_area_nums (Array of InstanceAreaNums): 是 边缘实例的地域信息。 - - - - - - - - -字段: InstanceAreaNums - area_name (String): 否 区域名称。您可以通过 ListAvailableResourceInfo 接口查询实例规格支持的区域、城市、运营商、节点信息。 - isp (String): 否 运营商。您可以通过 ListAvailableResourceInfo 接口查询实例规格支持的区域、城市、运营商、节点信息。 - cluster_name (String): 否 节点名称。指定希望部署边缘服务的节点。您可以通过 ListAvailableResourceInfo 接口查询实例规格支持的区域、城市、运营商、节点信息。 - vpc_identity (String): 否 私有网络的 ID。该参数用于指定边缘服务部署到的私有网络。如果设置了 vpc_identity,必须同时设置 cluster_name。 - num (Integer): 是 实例的个数。 - host_name_list (Array of String): 否 主机名的列表。系统按顺序将主机名赋给创建的边缘实例。系统允许您同时使用 host_name_list 和 instance_host_name 参数。 这两个参数会同时生效,但是 host_name_list 的优先级高于 instance_host_name。举例:如果您批量创建了 3 个边缘实例,将 instance_host_name 指定为了 host,将 host_name_list 指定为了 "hosta","hostb",那么这 3 个边缘实例的名称将分别为 hosta,hostb 和 host-3。 - default_isp (String): 否 默认运营商。该参数仅适用于三线节点。 - 取值范围: - - CMCC - - CUCC - - CTCC - 注意: - - 当 external_network_mode 值为 single_interface_cmcc_ip、single_interface_cucc_ip、single_interface_ctcc_ip 时,default_isp 中指定的运营商须与 external_network_mode 中指定的运营商相同。 - - 当 external_network_mode 值为 single_interface_multi_ip 或 multi_interface_multi_ip 时,default_isp 参数必须指定,参数值可按需设置。 - - 当 external_network_mode 值为 single_interface_single_ip 或 no_interface 时,default_isp 无需指定。 - external_network_mode (String): 否 公网配置。该参数仅适用于三线节点。 - 取值范围: - - single_interface_multi_ip:单网卡多 IP。如果您是三线节点的新用户,那么需提交工单开通相关权限。 - - single_interface_cmcc_ip:单网卡移动 IP。需提交工单开通相关权限。 - - single_interface_cucc_ip:单网卡联通 IP。需提交工单开通相关权限。 - - single_interface_ctcc_ip:单网卡电信 IP。需提交工单开通相关权限。 - - multi_interface_multi_ip:多网卡多 IP。需提交工单开通相关权限。 - - single_interface_single_ip:单网卡单 IP。该模式下,系统将根据库存随机分配一个运营商的公网 IP 地址。 - - no_interface:无公网网卡。需提交工单开通相关权限。 - 默认值: - - 当有公网网卡时: - - 单网卡多IP权限开启:默认采用single_interface_multi_ip(单网卡多 IP)。 - - 单网卡多IP权限关闭:默认采用single_interface_single_ip(单网卡单 IP)。 - - 无公网网卡时,默认采用 no_interface。""", - "create_secondary_internal_ip_and_reboot": """Args:body: A JSON structure - instance_identity (String): 是 边缘实例 ID。您可以通过 ListInstances 接口查询边缘实例 ID。 - num (Integer): 是 新增的辅助私网 IP 地址的数量。您可以通过 ListInstanceInternalIps 接口获取私网 IP 地址列表。""", - "bind_eip_to_internal_ip": """Args:body: A JSON structure - instance_identity (String): 是 边缘实例 ID。您可以通过 ListInstances 接口查询边缘实例 ID。 - eip_identity (String): 是 弹性公网 IP 的 ID。 - internal_ip (String): 是 私网 IP 地址列表。您可以通过 ListInstanceInternalIps 接口查询边缘实例的私网 IP 地址。""", - "list_images": """Args:params: A JSON structure - instance_type (String): 是 实例规格。您可以通过 ListInstanceTypes 接口获取可开通的实例规格。 - system_arch (String): 否 操作系统的架构。取值范围: - - Linux:Linux 操作系统。 - - Windows:Windows 操作系统。 - system_bit (String): 否 操作系统的位数。取值范围: - - 32:32位操作系统。 - - 64:64位操作系统。 - system_type (String): 否 操作系统的类型。取值范围: - Linux: - - CentOS - - Ubuntu - - Debian - Windows: - - Windows - system_version (String): 否 操作系统的版本。取值范围: - CentOS: - - 6.9 - - 7.2 - - 7.3 - - 7.4 - - 7.5 - - 7.6 - - 7.8 - - 7.9 - - 8.3 - Debian: - - 9 - - 10 - Ubuntu: - - Server 16.04 LTS - - Server 18.04 LTS - - Server 20.04 LTS - Windows: - - 10 - - 2012 R2 STD 标准版 - - 2016 STD 标准版 - - 2019 STD 标准版 - disk_size (Integer): 否 镜像的系统盘的大小。单位:GB。 - label (String): 否 镜像标签,取值范围: - - IPV6:IPv6。 - - MultiIPPriNet:辅助私网 IP。 - 镜像标签之间用半角逗号(,)分隔。 - 说明: - - label 参数仅在 property 参数的值为 PublicBaseImage生效。 - - 如果您没有开通 IPv6、辅助私网 IP 功能,无法通过指定 label 参数来列出相关镜像。如需开通相关功能,请提交工单申请。 - property (String): 否 镜像属性,取值范围: - - BENBuildImage:通过边缘实例创建的镜像。 - - LocalImage:本地镜像。 - - PublicBaseImage:公共镜像。 - - UrlImage:通过 URL 上传的镜像。""", - "get_image": """Args:params: A JSON structure - image_id (String): 是 镜像 ID。您可以通过 ListImages 接口查询镜像 ID。""", - "build_image_by_vm": """Args:body: A JSON structure - veen_vm_id (String): 是 用于创建镜像的边缘实例的 ID。您可以通过 ListInstances 接口查询边缘实例 ID。 - image_name (String): 是 镜像名称。命名规则如下: - - 允许 5~80 个字符。 - - 支持中文、大写字母、小写字母、数字。 - - 支持特殊字符 ()`~!@#$%^&*-+=_{}[]:;',.?/。 - - 不能包含双引号(")、反斜线( )和空格,且不能以正斜线(/)开头。 - description (String): 否 镜像的描述信息。""", - "upload_url_image": """Args:body: A JSON structure - image_name (String): 是 镜像名称。命名规则如下: - - 允许 5~80 个字符。 - - 支持中文、大写字母、小写字母、数字。 - - 支持特殊字符 ()`~!@#$%^&*-+=_{}[]:;',.?/。 - - 不能包含双引号(")、反斜线( )和空格,且不能以正斜线(/)开头。 - url (String): 是 上传的镜像的地址。 - system_arch (String): 是 操作系统。取值范围: - - Linux:Linux操作系统。 - - Windows:Windows操作系统。 - system_bit (String): 是 系统架构。取值范围: - - 32:32位操作系统。 - - 64:64位操作系统。 - system_type (String): 是 系统平台。取值范围: - Linux: - - CentOS - - Ubuntu - - Debian - Windows: - - Windows - system_version (String): 是 镜像系统版本。取值范围: - CentOS: - - 6.9 - - 7.2 - - 7.3 - - 7.4 - - 7.5 - - 7.6 - - 7.8 - - 7.9 - - 8.3 - Debian: - - 9 - - 10 - Ubuntu: - - Server 16.04 LTS - - Server 18.04 LTS - - Server 20.04 LTS - Windows: - - 10 - - 2012 R2 STD 标准版 - - 2016 STD 标准版 - - 2019 STD 标准版 - disk_size (Integer): 是 系统盘大小。该参数值代表您在使用该镜像创建边缘实例时,系统盘可选的最小值。单位:GB。取值范围:50~100。该参数值须为 10 的倍数。 - description (String): 否 镜像的描述信息。""", - "update_image": """Args:body: A JSON structure - image_id (String): 是 镜像 ID。 - image_name (String): 否 镜像名称。 - description (String): 否 镜像的描述信息。""", - "delete_image": """Args:body: A JSON structure - image_id (String): 是 镜像 ID。您可以通过 ListImages 接口查询镜像 ID。""", - "get_veen_instance_usage": """Args:params: A JSON structure - start_bill_cycle (String): 是 账单的起始时间。格式为 YYYY-MM。 - end_bill_cycle (String): 是 账单的结束时间。格式为 YYYY-MM。 - bill_method (String): 否 计费方式,取值范围: - - MonthlyPeak(默认值):按月峰值计费。 - - DailyPeak:按日峰值计费。如您有日峰值计费或其他方式计费需求,请提交工单。""", - "get_veew_instance_usage": """Args:params: A JSON structure - start_bill_cycle (String): 是 账单的起始时间。格式为 YYYY-MM。 - end_bill_cycle (String): 是 账单的结束时间。格式为 YYYY-MM。 - bill_method (String): 否 计费方式,取值范围: - - MonthlyPeak(默认值):按月峰值计费。 - - DailyPeak:按日峰值计费。如您有日峰值计费或其他方式计费需求,请提交工单。""", - "get_bandwidth_usage": """Args:params: A JSON structure - start_bill_cycle (String): 是 账单的起始时间。格式为 YYYY-MM。 - end_bill_cycle (String): 是 账单的结束时间。格式为 YYYY-MM。 - bill_method (String): 否 计费方式,取值范围: - - MonthlyP95(默认值 ):按月 95 峰值计费。 - - DailyPeak:按日峰值计费。如您有日峰值计费或其他方式计费需求,请提交工单。""", - "get_billing_usage_detail": """Args:params: A JSON structure - start_date (String): 是 统计起始时间。格式为 YYYY-MM-DD。 - end_date (String): 是 统计结束时间。格式为 YYYY-MM-DD。 - charge_item (String): 是 查询的计费项,取值范围: - - CPU:CPU 核数。 - - MEM:内存,单位:GB。 - - InstanceCount:实例数量。 - - Storage:存储,单位:GB。 - bill_method (String): 否 计费方式,取值范围: - - *MonthlyPeak *(默认值):按月峰值计费。 - - DailyPeak:按日峰值计费。如您有日峰值计费或其他方式计费需求,请提交工单。""", - "list_vpc_instances": """Args:params: A JSON structure - page (String): 否 私有网络列表的页码。 - limit (Integer): 否 分页查询时设置的每页行数。 - order_by (Integer): 否 查询出来的私有网络的排列顺序,按照创建时间排序。取值范围: - - 1:按照降序排列。 - - 2(默认值):按照升序排列。 - cluster_names (String): 否 节点名称的列表。多个节点之间用半角逗号(,)分隔。 - vpc_identity_list (String): 否 私有网络 ID 的列表。多个私有网络之间用半角逗号(,)分隔。 - fuzzy_vpc_id_or_name (String): 否 私有网络 ID 或者名称。支持模糊查询。 - with_resource_statistic (Boolean): 否 是否返回私有网络下的资源的统计数据。取值范围: - - true:返回资源的统计数据。 - - false:不返回资源的统计数据。""", - "set_vpc_instance_desc": """Args:body: A JSON structure - vpc_identity (String): 是 私有网络的 ID。 - desc (String): 否 私有网络的描述。如果不指定该参数或参数值为空字符串,原来的描述将被清空。""", - "list_route_tables": """Args:params: A JSON structure - route_table_list (String): 否 路由表 ID 列表。ID 之间用半角逗号(,)分隔。 - status_list (String): 否 路由表状态列表。路由表状态之间用半角逗号(,)分隔。取值范围: - - updating:变更中。 - - running:运行中。 - 如果不指定该参数,系统将查询所有状态的路由表。 - type_list (String): 否 路由表类型列表。路由表类型之间用半角逗号(,)分隔。取值范围: - - default:默认路由表。 - 如果不指定该参数,系统将查询所有类型的路由表。 - fuzzy_route_table_id (String): 否 路由表 ID。支持模糊查询。 - fuzzy_route_table_name (String): 否 路由表名称。支持模糊查询。 - fuzzy_vpc_id (String): 否 私有网络 ID。支持模糊查询。 - cluster_name_list (String): 否 节点列表。节点之间用半角逗号(,)分隔。 - page (Integer): 否 路由表列表的页码。如果不填,将返回第 1 页的数据。 - limit (Integer): 否 分页查询时设置的每页行数。 - 默认值:10。 - order_by (Integer): 否 查询出来的路由表的排列顺序,按照创建时间排序。取值范围: - - 1(默认值):按照降序排列。 - - 2:按照升序排列。""", - "get_route_table": """Args:params: A JSON structure - route_table_identity (String): 是 路由表 ID。您可以通过 ListRouteTables 接口获取路由表 ID。""", - "set_route_table_name_and_desc": """Args:body: A JSON structure - route_table_identity (String): 是 路由表 ID。您可以通过 ListRouteTables 接口获取路由表 ID。 - name (String): 否 路由表名称。命名规则如下: - - 允许 5~50 个字符。 - - 支持中文、大写字母、小写字母、数字。 - - 支持特殊字符 ()`~!@#$%^&*-+=_{}[]:;',.?/。 - - 不能包含双引号(")、反斜线( )和 空格,且不能以正斜线(/)开头。 - 如果不指定该参数,系统将保留原来的名称。 - desc (String): 否 路由表描述。 - 如果不指定该参数,系统将保留原来的描述。""", - "list_route_entries": """Args:params: A JSON structure - route_table_identity (String): 是 路由表 ID。您可以通过 ListRouteTables 接口获取路由表 ID。 - route_entry_type_list (String): 是 路由条目类型。取值范围: - - system:系统路由。 - - custom:自定义路由。 - route_entry_next_hop_list (String): 否 路由条目的下一跳列表。下一跳之间用半角逗号(,)分隔。 - 如果不指定该参数,系统将查询所有相关的路由条目。 - page (Integer): 否 路由条目列表的页码。如果不指定该参数,系统将返回第 1 页的数据。 - limit (Integer): 否 分页查询时设置的每页行数。 - 默认值:10。 - order_by (Integer): 否 查询出来的路由条目的排列顺序,按照创建时间排序。取值范围: - - 1(默认值):按照降序排列。 - - 2:按照升序排列。""", - "create_route_entries": """Args:body: A JSON structure - route_table_identity (String): 是 路由表 ID。您可以通过 ListRouteTables 接口获取路由表 ID。 - route_entry_list (Array of RouteEntryList): 是 要增加的路由条目的列表。 - - - - - - - - - - - - -字段: RouteEntryList - type (String): 是 路由条目的类型。取值范围: - - custom:自定义路由条目。 - dest_cidr (String): 是 目的地址。目的地址使用 CIDR 格式。不支持 IPv6 地址。 - next_hop_type (String): 是 下一跳类型。取值范围: - - veen:边缘实例。 - - vpc_vgw:边缘云网关。 - next_hop (String): 是 下一跳。 - desc (String): 否 路由条目的描述。最多可输入 80 个字符。 - is_enable (Boolean): 是 是否启用路由条目。取值范围: - - true:启用路由条目。 - - false:不启用路由条目。""", - "delete_route_entry": """Args:body: A JSON structure - route_table_identity (String): 是 路由表 ID。您可以通过 ListRouteTables 接口获取路由表 ID。 - route_entry_identity (String): 是 路由条目 ID。您可以通过 ListRouteEntries 接口获取路由条目 ID。""", - "enable_route_entry": """Args:body: A JSON structure - route_table_identity (String): 是 路由表 ID。您可以通过 ListRouteTables 接口获取路由表 ID。 - route_entry_identity (String): 是 路由条目 ID。您可以通过 ListRouteEntries 接口获取路由条目 ID。""", - "disable_route_entry": """Args:body: A JSON structure - route_table_identity (String): 是 路由表 ID。您可以通过 ListRouteTables 接口获取路由表 ID。 - route_entry_identity (String): 是 路由条目 ID。您可以通过 ListRouteEntries 接口获取路由条目 ID。""", - "set_route_entry_desc": """Args:body: A JSON structure - route_table_identity (String): 是 路由表 ID。您可以通过 ListRouteTables 接口获取路由表 ID。 - route_entry_identity (String): 是 路由条目 ID。您可以通过 ListRouteEntries 接口获取路由条目 ID。 - desc (String): 是 路由条目的描述。最多可输入 80 个字符。""", + "start_cloud_server": r""" + """, + "delete_cloud_server": r""" + """, + "stop_cloud_server": r""" + """, + "reboot_cloud_server": r""" + """, + "create_cloud_server": r""" + Args: + body: A JSON structure + cloudserver_name ( String ): 是 边缘服务名称。命名规则如下: + - 允许 5~20 个字符。 + - 支持中文、大写字母、小写字母、数字。 + - 支持特殊字符 ()`~!@#$%^&*-+=_{}[]:;',.?/。 + - 不能包含双引号(")、反斜线( )和空格,且不能以正斜线(/)开头。 + spec_name ( String ): 是 边缘实例规格名称。您可以通过 ListInstanceTypes 接口查询可开通的实例规格。如果您需要的规格不在可开通实例规格列表,请提交工单申请。 + storage_config ( Object of StorageConfig ): 是 存储配置,包括系统盘和数据盘的类型和容量信息。 + 详情请参见 StorageConfig。 + network_config ( Object of NetworkConfig ): 是 网络配置。 + 详情请参见 NetworkConfigReq。 + secret_config ( Object of SecretConfig ): 是 边缘实例的登录密码设置。 + 详情请参见 SecretConfig。 + instance_area_nums ( Array of InstanceAreaNums ): 是 边缘实例的地域信息,包括地域的名称、运营商和边缘实例的个数等。 + 详情请参见 InstanceAreaNum。 + 如果不指定该参数,代表不创建边缘实例。 + schedule_strategy ( Object of ScheduleStrategy ): 是 调度策略。 + 不设置该参数时,默认按照城市分散、低价优先策略。 + 服务层级为城市级时,无需设置该参数,按照城市分散、低价优先策略。如果该参数设置为其他值,策略将不生效。建议您将该参数留空。 + 服务层级为大区级时,按照设置的策略生效。 + custom_data ( Object of CustomData ): 否 自定义数据。自定义数据为边缘实例的定制信息。最大可输入 16 KB 的自定义数据。 + billing_config ( Object of BillingConfig ): 否 计费方式,包括算力和带宽的计费方式。 + 详情请参见 CreateCloudServerBillingConfigs。 + advanced_configuration ( Object of AdvancedConfiguration ): 否 高级配置,用于自定义边缘实例名称、实例描述信息、主机名称。批量创建边缘实例时,将按照自定义名称顺序生成边缘实例名和主机名。 + project ( String ): 否 通过边缘服务创建的实例所属的项目。 + 如果不设置该参数或参数值为空字符串,采用默认值 default。 + disable_vga ( Boolean ): 否 是否禁用 VGA。取值范围: + - true:禁用VGA。 + - false:启用VGA。 + cloud_server_desc ( String ): 否 边缘服务的描述信息。最多可输入 80 个字符。 + create_instance_timeout ( Long ): 否 边缘实例的创建超时时间。单位:秒。最小值:120。 + 当边缘实例的创建时长超过设置的值时,边缘实例创建失败,其状态变为 open_fail。您可以通过控制台或 API 接口来删除相关实例。 + 如果不指定该参数的值,代表不限制实例创建时长。 + client_token ( String ): 否 + req_params_hash ( String ): 否 + "字段": StorageConfig + system_disk ( Object of SystemDisk ): 是 系统盘。 + 详情请参见 DiskSpec。 + data_disk ( Object of DataDisk ): 否 数据盘。该参数用于添加单块数据盘。 + 详情请参见 DiskSpec。 + data_disk_list ( Array of DataDiskList ): 否 数据盘列表。该参数用于添加一块或多块数据盘。 + 详情请参见 DiskSpec。 + "字段": NetworkConfig + bandwidth_peak ( String ): 否 公网带宽峰值。取值范围:[5,实例规格支持的带宽上限]。取值须是 5 的倍数。单位:Mbps。 + 当您选择 IPv4/IPv6 双栈边缘实例时,所设的带宽峰值将被 IPv4 和 IPv6 公网 IP 地址共享。 + disable_ipv4 设置为 true 时,无需配置 bandwidth_peak 参数。 + enable_ipv6 ( Boolean ): 否 是否启用 IPv6。取值范围: + - true :启用 IPv6。 + - false(默认值):禁用 IPv6。 + 默认分配 IPv4 地址。当您启用 IPv6 时,系统会为边缘实例分配 IPv4 和 IPv6 两个公网 IP 地址。 + disable_ipv4 ( Boolean ): 否 是否禁用 IPv4。取值范围: + - true :禁用 IPv4。 + - false(默认值):启用 IPv4。 + custom_internal_interface_name ( String ): 否 私网网卡的名称。目前仅 VLANVF 规格实例的私网网卡的名称可以被修改。 + custom_external_interface_name ( String ): 否 公网网卡的名称。目前仅 VLANVF 规格实例的公网网卡的名称可以被修改。 + dns_type ( Object of DnsType ): 否 DNS 类型: + - default:默认 DNS。 + - custom:自定义 DNS。 + 如果不设置该参数,代表使用默认的 DNS 配置,即首选 DNS 为 114.114.114.114,备用 DNS 为 223.6.6.6。 + 暂不支持为裸金属实例配置 DNS。当实例规格为裸金属时,无需设置 dns_type 和 dns_list 参数。 + dns_list ( Array of String ): 否 DNS 列表。前面的 IP 地址代表首选 DNS,后面的 IP 地址代表备用 DNS。 + - 当前最多支持一条首选 DNS 和一条备用 DNS。 + - 当 dns_type 设置为 default 时,不允许设置 dns_list。此时,采用默认的 DNS 配置,即首选 DNS 为 114.114.114.114,备用 DNS 为223.6.6.6。 + - 当 dns_type 设置为 custom 时,必须设置 dns_list。至少需要配置一条首选 DNS。可按需配置一条备用 DNS。 + secondary_internal_ip_num ( Integer ): 否 辅助私网 IP 的个数。 + bound_eip_share_bandwidth_peak ( String ): 否 弹性公网 IP 的共享带宽峰值。 + "字段": SecretConfig + secret_type ( Object of SecretType ): 是 边缘实例的登录密码的类型。取值范围: + - 2:自定义密码。 + - 3:SSH Key 类型密码。 + - 4: 代表不注入登录凭证。 + secret_data ( String ): 否 登录密码。 + - 自定义密码:密码输入规则如下: + - 允许 8 ~ 30个字符。密码须至少包含以下类型中的3种:大写字母、小写字母、数字和特殊字符。 + - 支持特殊字符 ()`~!@#$%^&*-+=_{}[]:;',.?/。 + - 不能包含双引号(")、反斜线( )和空格,且不能以正斜线(/)开头。 + - SSH Key 类型密码:输入SSH 密钥对的 ID。您可以通过 ListSSHKey 接口查询密钥对 ID。 + "字段": InstanceAreaNums + area_name ( String ): 是 区域名称。您可以通过 ListAvailableResourceInfo 接口查询实例规格支持的区域、城市、运营商、节点信息。 + isp ( String ): 是 运营商。您可以通过 ListAvailableResourceInfo 接口查询实例规格支持的区域、城市、运营商、节点信息。 + cluster_name ( String ): 否 节点名称。指定希望部署边缘服务的节点。您可以通过 ListAvailableResourceInfo 接口查询实例规格支持的区域、城市、运营商、节点信息。 + vpc_identity ( String ): 否 私有网络的 ID。该参数用于指定边缘服务部署到的私有网络。如果设置了 vpc_identity,必须同时设置 cluster_name。 + num ( Integer ): 是 实例的个数。 + host_name_list ( Array of String ): 否 主机名的列表。系统按顺序将主机名赋给创建的边缘实例。系统允许您同时使用 host_name_list 和 instance_host_name 参数。 这两个参数会同时生效,但是 host_name_list 的优先级高于 instance_host_name。举例:如果您批量创建了 3 个边缘实例,将 instance_host_name 指定为了 host,将 host_name_list 指定为了 "hosta","hostb",那么这 3 个边缘实例的名称将分别为 hosta,hostb 和 host-3。 + default_isp ( String ): 否 默认运营商。该参数仅适用于三线节点。 + 取值范围: + - CMCC + - CUCC + - CTCC + 注意: + - 当 external_network_mode 值为 single_interface_cmcc_ip、single_interface_cucc_ip、single_interface_ctcc_ip 时,default_isp 中指定的运营商须与 external_network_mode 中指定的运营商相同。 + - 当 external_network_mode 值为 single_interface_multi_ip 或 multi_interface_multi_ip 时,default_isp 参数必须指定,参数值可按需设置。 + - 当 external_network_mode 值为 single_interface_single_ip 或 no_interface 时,default_isp 无需指定。 + external_network_mode ( Object of ExternalNetworkMode ): 否 公网配置。该参数仅适用于三线节点。 + 取值范围: + - single_interface_multi_ip:单网卡多 IP。如果您是三线节点的新用户,那么需提交工单开通相关权限。 + - single_interface_cmcc_ip:单网卡移动 IP。需提交工单开通相关权限。 + - single_interface_cucc_ip:单网卡联通 IP。需提交工单开通相关权限。 + - single_interface_ctcc_ip:单网卡电信 IP。需提交工单开通相关权限。 + - multi_interface_multi_ip:多网卡多 IP。需提交工单开通相关权限。 + - single_interface_single_ip:单网卡单 IP。该模式下,系统将根据库存随机分配一个运营商的公网 IP 地址。 + - no_interface:无公网网卡。需提交工单开通相关权限。 + 默认值: + - 当有公网网卡时: + - 单网卡多IP权限开启:默认采用single_interface_multi_ip(单网卡多 IP)。 + - 单网卡多IP权限关闭:默认采用single_interface_single_ip(单网卡单 IP)。 + - 无公网网卡时,默认采用 no_interface。 + "字段": ScheduleStrategy + schedule_strategy ( String ): 是 调度策略: + - dispersion:城市分散。当您在多个区域创建多个边缘实例时,该策略表示系统优先选择不同城市的节点来下发边缘实例。 + - concentration:城市集中。当您在多个区域创建多个边缘实例时,该策略表示系统优先选择相同城市的节点来下发边缘实例。 + price_strategy ( String ): 是 价格策略: + - high_priority:优先高价。当您在多个区域创建多个边缘实例时,该策略表示系统优先选择带宽价格较高的城市的节点来下发边缘实例。 + - low_priority:优先低价。当您在多个区域创建多个边缘实例时,该策略表示系统优先选择带宽价格较低的城市的节点来下发边缘实例。 + "字段": CustomData + data ( String ): 是 自定义数据。自定义数据为边缘实例的定制信息。 + "字段": BillingConfig + computing_billing_method ( Object of ComputingBillingMethod ): 是 算力计费方式,取值范围: + - MonthlyPeak:按月峰值计费。 + - DailyPeak:按日峰值计费。 + bandwidth_billing_method ( Object of BandwidthBillingMethod ): 是 带宽计费方式,取值范围: + - MonthlyP95:按月 95 峰值计费。 + - DailyPeak:按日峰值计费。 + auto_prepay ( Boolean ): 否 + "字段": AdvancedConfiguration + instance_name ( String ): 否 边缘实例的名称。当您批量创建边缘实例时,系统将为自定义实例名称添加数字后缀。举例:-1,-2。 + instance_desc ( String ): 否 边缘实例的描述。当您批量创建边缘实例时,系统将为每个实例添加相同的描述。 + instance_host_name ( String ): 否 自定义的主机名。当您批量创建边缘实例时,系统将为自定义主机名称添加数字后缀。举例:-1,-2。 + "字段": SystemDisk + storage_type ( String ): 是 磁盘类型。取值范围: + - CloudBlockHDD:HDD 型云盘。 + - CloudBlockSSD:SSD 型云盘。 + capacity ( String ): 是 磁盘容量。单位:GB。容量范围: + - 系统云盘:40 ~ 100。 + - 数据云盘:20 ~ 1000。 + 取值须是 10 的倍数。如需更大磁盘容量,请提交工单申请。 + "字段": DataDisk + storage_type ( String ): 是 磁盘类型。取值范围: + - CloudBlockHDD:HDD 型云盘。 + - CloudBlockSSD:SSD 型云盘。 + capacity ( String ): 是 磁盘容量。单位:GB。容量范围: + - 系统云盘:40 ~ 100。 + - 数据云盘:20 ~ 1000。 + 取值须是 10 的倍数。如需更大磁盘容量,请提交工单申请。 + "字段": DataDiskList + storage_type ( String ): 是 磁盘类型。取值范围: + - CloudBlockHDD:HDD 型云盘。 + - CloudBlockSSD:SSD 型云盘。 + capacity ( String ): 是 磁盘容量。单位:GB。容量范围: + - 系统云盘:40 ~ 100。 + - 数据云盘:20 ~ 1000。 + 取值须是 10 的倍数。如需更大磁盘容量,请提交工单申请。 + """, + "update_cloud_server": r""" + Args: + body: A JSON structure + cloud_server_identity ( String ): 是 边缘服务 ID。您可以通过 ListCloudServers 接口查询边缘服务 ID。 + cloud_server_desc ( String ): 否 边缘服务的描述信息,最多可输入 80 个字符。 + 如果不指定该项参数值,代表不修改描述信息。 + image_identity ( String ): 否 镜像 ID。您可以通过 ListImages 接口查询镜像 ID。 + storage_config ( Object of StorageConfig ): 否 存储配置,包括系统盘和数据盘的类型和容量信息。 + 详情请参见 StorageConfig。 + secret_config ( Object of SecretConfig ): 否 边缘实例的登录密码设置,支持自定义类型和 SSH Key 类型的密码。 + 详情请参见 SecretConfig。 + 如果不指定该项参数值,代表不修改登录密码设置。 + network_config ( Object of NetworkConfig ): 否 网络配置。 + 详情请参见 NetworkConfigUpdateReq。 + custom_data ( Object of CustomData ): 否 自定义数据。自定义数据为边缘实例的定制信息。最大可输入 16 KB 的自定义数据。 + 如果不指定该项参数值,代表不修改自定义数据。 + 说明: + - 自定义数据只支持Shell脚本。您需要使用明文方式输入脚本,平台将自动对脚本进行Base64编码。请勿直接输入Base64编码后的脚本。对于Linux系统,脚本通常以 !/bin/bash 开头;对于Windows系统,脚本可以直接输入。 + - 输入的脚本将在边缘实例首次启动时执行。 + instance_project ( String ): 否 新增的边缘实例所属的项目。如果不设置该参数,将保留原来的取值。如果参数值为空字符串,采用默认值 default。 + advanced_configuration ( Object of AdvancedConfiguration ): 否 + billing_config ( Object of BillingConfig ): 否 + disable_vga ( Boolean ): 否 + "字段": StorageConfig + system_disk ( Object of SystemDisk ): 是 系统盘。 + 详情请参见 DiskSpec。 + data_disk ( Object of DataDisk ): 否 数据盘。该参数用于添加单块数据盘。 + 详情请参见 DiskSpec。 + data_disk_list ( Array of DataDiskList ): 否 数据盘列表。该参数用于添加一块或多块数据盘。 + 详情请参见 DiskSpec。 + "字段": SecretConfig + secret_type ( Object of SecretType ): 是 边缘实例的登录密码的类型。取值范围: + - 2:自定义密码。 + - 3:SSH Key 类型密码。 + - 4: 代表不注入登录凭证。 + secret_data ( String ): 否 登录密码。 + - 自定义密码:密码输入规则如下: + - 允许 8 ~ 30个字符。密码须至少包含以下类型中的3种:大写字母、小写字母、数字和特殊字符。 + - 支持特殊字符 ()`~!@#$%^&*-+=_{}[]:;',.?/。 + - 不能包含双引号(")、反斜线( )和空格,且不能以正斜线(/)开头。 + - SSH Key 类型密码:输入SSH 密钥对的 ID。您可以通过 ListSSHKey 接口查询密钥对 ID。 + "字段": NetworkConfig + bandwidth_peak ( String ): 否 公网带宽峰值。取值范围:[5,实例规格支持的带宽上限]。取值须是 5 的倍数。单位:Mbps。 + 当您选择 IPv4/IPv6 双栈边缘实例时,所设的带宽峰值将被 IPv4 和 IPv6 公网 IP 地址共享。 + disable_ipv4 设置为 true 时,无需配置 bandwidth_peak 参数。 + enable_ipv6 ( Boolean ): 否 是否启用 IPv6。取值范围: + - true :启用 IPv6。 + - false(默认值):禁用 IPv6。 + 默认分配 IPv4 地址。当您启用 IPv6 时,系统会为边缘实例分配 IPv4 和 IPv6 两个公网 IP 地址。 + disable_ipv4 ( Boolean ): 否 是否禁用 IPv4。取值范围: + - true :禁用 IPv4。 + - false(默认值):启用 IPv4。 + custom_internal_interface_name ( String ): 否 私网网卡的名称。目前仅 VLANVF 规格实例的私网网卡的名称可以被修改。 + custom_external_interface_name ( String ): 否 公网网卡的名称。目前仅 VLANVF 规格实例的公网网卡的名称可以被修改。 + dns_type ( Object of DnsType ): 否 DNS 类型: + - default:默认 DNS。 + - custom:自定义 DNS。 + 如果不设置该参数,代表使用默认的 DNS 配置,即首选 DNS 为114.114.114.114,备用 DNS 为 223.6.6.6。 + 暂不支持为裸金属实例配置 DNS。当实例规格为裸金属时,无需设置 dns_type 和 dns_list 参数。 + dns_list ( Array of String ): 否 DNS 列表。前面的 IP 地址代表首选 DNS,后面的 IP 地址代表备用 DNS。 + - 当前最多支持一条首选 DNS 和一条备用 DNS。 + - 当 dns_type 设置为 default 时,不允许设置 dns_list。此时,采用默认的 DNS 配置,即首选 DNS 为 114.114.114.114,备用 DNS 为223.6.6.6。 + - 当 dns_type 设置为 custom 时,必须设置 dns_list。至少需要配置一条首选 DNS。可按需配置一条备用 DNS。 + "字段": CustomData + data ( String ): 是 自定义数据。自定义数据为边缘实例的定制信息。 + "字段": AdvancedConfiguration + instance_name ( String ): 否 + instance_desc ( String ): 否 + instance_host_name ( String ): 否 + delete_protection ( Boolean ): 否 + "字段": BillingConfig + computing_billing_method ( Object of ComputingBillingMethod ): 是 + bandwidth_billing_method ( Object of BandwidthBillingMethod ): 是 + pre_paid_period ( Object of PrePaidPeriod ): 否 + pre_paid_period_number ( Long ): 否 + auto_renew ( Boolean ): 否 + auto_prepay ( Boolean ): 否 + "字段": SystemDisk + storage_type ( String ): 是 磁盘类型。取值范围: + - CloudBlockHDD:HDD 型云盘。 + - CloudBlockSSD:SSD 型云盘。 + capacity ( String ): 是 磁盘容量。单位:GB。容量范围: + - 系统云盘:40 ~ 100。 + - 数据云盘:20 ~ 1000。 + 取值须是 10 的倍数。如需更大磁盘容量,请提交工单申请。 + "字段": DataDisk + storage_type ( String ): 是 磁盘类型。取值范围: + - CloudBlockHDD:HDD 型云盘。 + - CloudBlockSSD:SSD 型云盘。 + capacity ( String ): 是 磁盘容量。单位:GB。容量范围: + - 系统云盘:40 ~ 100。 + - 数据云盘:20 ~ 1000。 + 取值须是 10 的倍数。如需更大磁盘容量,请提交工单申请。 + "字段": DataDiskList + storage_type ( String ): 是 磁盘类型。取值范围: + - CloudBlockHDD:HDD 型云盘。 + - CloudBlockSSD:SSD 型云盘。 + capacity ( String ): 是 磁盘容量。单位:GB。容量范围: + - 系统云盘:40 ~ 100。 + - 数据云盘:20 ~ 1000。 + 取值须是 10 的倍数。如需更大磁盘容量,请提交工单申请。 + """, + "get_cloud_server": r""" + Args: + params: A JSON structure + cloud_server_id ( String ): 是 边缘服务 ID。您可以通过 ListCloudServers 接口查询边缘服务 ID。 + """, + "reboot_instances": r""" + Args: + body: A JSON structure + instance_identities ( Array of String ): 是 边缘实例 ID 列表。您可以通过 ListInstances 接口查询边缘实例 ID。 + """, + "start_instances": r""" + Args: + body: A JSON structure + instance_identities ( Array of String ): 是 边缘实例 ID 列表。您可以通过 ListInstances 接口查询边缘实例 ID。 + """, + "stop_instances": r""" + Args: + body: A JSON structure + instance_identities ( Array of String ): 是 边缘实例 ID 列表。您可以通过 ListInstances 接口查询边缘实例 ID。 + """, + "list_instances": r""" + Args: + params: A JSON structure + countries ( String ): 否 国家。 + regions ( String ): 否 区域。区域之间用半角逗号(,)分隔。 + 您可以通过 ListAvailableResourceInfo 接口查询实例规格支持的区域、城市、运营商、节点信息。 + cities ( String ): 否 城市代码。城市之间用半角逗号(,)分隔。 + 您可以通过 ListAvailableResourceInfo 接口查询实例规格支持的区域、城市、运营商、节点信息。 + isps ( String ): 否 运营商。运营商之间用半角逗号(,)分隔。 + 您可以通过 ListAvailableResourceInfo 接口查询实例规格支持的区域、城市、运营商、节点信息。 + status ( String ): 否 边缘实例的状态。实例状态之间用半角逗号(,)分隔。取值范围: + - opening:创建中。 + - starting:启动中。 + - running:运行中。 + - stopping:停止中。 + - stop:已停止。 + - rebooting:重启中。 + - terminating:删除中。 + - open_fail:创建失败。 + cluster_names ( String ): 否 节点名称的列表。名称之间用半角逗号(,)分隔。 + ips ( String ): 否 IP 地址列表。IP 之间用半角逗号(,)分隔。 + cidrs ( String ): 否 子网 CIDR 地址列表。CIDR 地址之间用半角逗号(,)分隔。 + cloud_server_identities ( String ): 否 边缘服务 ID 列表。ID 之间用半角逗号(,)分隔。 + spec_names ( String ): 否 边缘实例规格名称。实例规格之间用半角逗号(,)分隔。 + instance_identities ( String ): 否 边缘实例 ID。ID 之间用半角逗号(,)分隔。 + instance_uuids ( String ): 否 边缘实例 UUID。UUID 之间用半角逗号(,)分隔。 + instance_names ( String ): 否 边缘实例名称。名称之间用半角逗号(,)分隔。 + fuzzy_ip_with_dots ( String ): 否 IPv4 地址。支持模糊查询。IP 地址采用点分十进制格式。 + vpc_identities ( String ): 否 私有网络 ID。ID 之间用半角逗号(,)分隔。 + page ( Integer ): 否 边缘实例列表的页码。 + 如果 page 和 limit 参数都不指定,将返回全量数据;如果仅指定 limit,不指定 page ,将返回第 1 页数据;如果仅指定 page,不指定 limit,将返回全量数据;如果 page 和 limit 都指定,将返回符合条件的数据。 + limit ( Integer ): 否 分页查询时设置的每页行数。 + 如果 page 和 limit 参数都不指定,将返回全量数据;如果仅指定 limit,不指定 page ,将返回第 1 页数据;如果仅指定 page,不指定 limit,将返回全量数据;如果 page 和 limit 都指定,将返回符合条件的数据。 + order_by ( Integer ): 否 查询出来的边缘实例的排列顺序,按照创建时间排序。取值范围: + - 1(默认值):按照降序排列。 + - 2:按照升序排列。 + """, + "get_instance": r""" + Args: + params: A JSON structure + instance_identity ( String ): 是 边缘实例 ID。您可以通过 ListInstances 接口获取边缘实例 ID。 + """, + "reset_login_credential": r""" + Args: + body: A JSON structure + instance_identity ( String ): 是 边缘实例 ID。您可以通过 ListInstances 接口查询边缘实例 ID。 + """, + "set_instance_name": r""" + Args: + body: A JSON structure + instance_identity ( String ): 是 边缘实例 ID。您可以通过 ListInstances 接口查询边缘实例 ID。 + instance_name ( String ): 是 实例名称。命名规则如下: + - 允许5~80个字符。 + - 支持中文、大写字母、小写字母、数字。 + - 支持特殊字符()`~!@#$%^&*-+=_{}[]:;',.?/。 + - 不能包含双引号(")、反斜线( )和空格,且不能以正斜线(/)开头。 + """, + "batch_reset_system": r""" + Args: + body: A JSON structure + instance_identities ( Array of String ): 是 边缘实例 ID 列表。您可以通过 ListInstances 接口查询边缘实例 ID。 + image_identity ( String ): 否 新镜像的 ID。您可以通过 ListImages 接口查询镜像 ID。 + 该参数用于为边缘实例更换镜像。如果您不指定该参数的值,代表不更换边缘实例的镜像。 + """, + "set_instances_bandwidth_peak": r""" + Args: + body: A JSON structure + instance_bandwidth_peak_map ( JSON Map ): 是 边缘实例的带宽峰值。 + with_reboot ( Boolean ): 是 是否重启实例。取值范围: + - true:重启实例。 + - false:不重启实例。 + - 对于私有网络型实例,您在为其修改带宽峰值后无需重启实例。新的带宽峰值会直接生效。因此,建议您将 with_reboot 参数设置为 false。 + - 对于直通型实例,您在为其修改带宽峰值后必须重启实例。这样,新的带宽峰值才会生效。您可以将 with_reboot 参数设置为 true,系统将自动重启实例。 如需使用直通型实例,请提交工单。 + - 如果您指定的实例中既包含私有网络型实例又包含直通型实例,且您将 with_reboot 参数设置为 true,系统仅会重启直通型实例。 + """, + "enable_instances_i_pv6": r""" + Args: + body: A JSON structure + instance_identities ( Array of String ): 是 边缘实例 ID 列表。您可以通过 ListInstances 接口查询边缘实例 ID。 + with_reboot ( Boolean ): 是 是否重启实例。取值范围: + - true:重启实例。 + - false:不重启实例。 + 说明: + 重启实例后,IPv6 的配置才能生效。 + """, + "get_instances_i_pv6_upgrade_status": r""" + Args: + params: A JSON structure + instance_identities ( String ): 是 边缘实例 ID 列表。ID 之间用半角逗号(,)分隔。 + """, + "update_instances_spec": r""" + Args: + body: A JSON structure + instance_identities ( Array of String ): 是 边缘实例 ID 列表。您可以通过 ListInstances 接口查询边缘实例 ID。 + new_spec_name ( String ): 是 新的实例规格的名称。您可以通过 ListInstanceTypes 接口查询可开通的实例规格。 + """, + "list_instance_internal_ips": r""" + Args: + params: A JSON structure + instance_identity ( String ): 是 边缘实例 ID。您可以通过 ListInstances 接口查询边缘实例 ID。 + """, + "set_bound_eip_share_bandwidth_peak": r""" + Args: + body: A JSON structure + instance_identity ( String ): 是 边缘实例 ID。您可以通过 ListInstances 接口查询边缘实例 ID。 + bound_eip_share_bandwidth_peak ( String ): 是 弹性公网 IP 的共享带宽峰值。取值范围与弹性公网 IP 绑定的边缘实例的公网带宽峰值的范围一致。取值须是 5 的倍数。单位:Mbps。 + """, + "batch_bind_eip_to_internal_ips_randomly": r""" + Args: + body: A JSON structure + instance_identity ( String ): 是 边缘实例 ID。您可以通过 ListInstances 接口查询边缘实例 ID。 + internal_ips ( Array of String ): 是 需要绑定的私网 IP 地址的列表。您可以通过 ListInstanceInternalIps 接口查询边缘实例的私网 IP 地址。 + """, + "batch_delete_internal_ips": r""" + Args: + body: A JSON structure + instance_identity ( String ): 是 边缘实例 ID。您可以通过 ListInstances 接口查询边缘实例 ID。 + internal_ips ( Array of String ): 是 私网 IP 地址列表。您可以通过 ListInstanceInternalIps 接口查询边缘实例的私网 IP 地址。 + """, + "get_instance_cloud_disk_info": r""" + Args: + params: A JSON structure + instance_identity ( String ): 是 边缘实例 ID。您可以通过 ListInstances 接口查询边缘实例 ID。 + """, + "set_cloud_server_delete_protection": r""" + Args: + body: A JSON structure + cloud_server_identity ( String ): 是 边缘服务的 ID。您可以通过 ListCloudServers 接口查询边缘服务的 ID。 + cloud_server_delete_protection ( Boolean ): 否 是否为边缘服务开启删除保护。取值范围: + - true:开启删除保护。 + - false:关闭删除保护。 + """, + "set_instance_delete_protection": r""" + Args: + body: A JSON structure + instance_ids ( Array of String ): 是 边缘实例 ID 列表。您可以通过 ListInstances 接口查询边缘实例 ID。 + instance_delete_protection ( Boolean ): 否 是否为边缘实例开启删除保护。取值范围: + - true:开启删除保护。 + - false:关闭删除保护。 + """, + "list_cloud_servers": r""" + Args: + params: A JSON structure + fuzzy_name ( String ): 否 边缘服务名称。支持模糊查询。 + page ( Integer ): 否 边缘服务列表的页码。 + 如果 page 和 limit 参数都不指定,将返回全量数据;如果仅指定 limit,不指定 page ,将返回第 1 页数据;如果仅指定 page,不指定 limit,将返回全量数据;如果 page 和 limit 都指定,将返回符合条件的数据。 + limit ( Integer ): 否 分页查询时设置的每页行数。 + 默认值:10。 + 如果 page 和 limit 参数都不指定,将返回全量数据;如果仅指定 limit,不指定 page ,将返回第 1 页数据;如果仅指定 page,不指定 limit,将返回全量数据;如果 page 和 limit 都指定,将返回符合条件的数据。 + order_by ( Integer ): 否 查询出来的边缘服务的排列顺序,按照创建时间排序。取值范围: + - 1(默认值):按照降序排列。 + - 2:按照升序排列。 + """, + "list_instance_types": r""" + """, + "list_available_resource_info": r""" + Args: + params: A JSON structure + instance_type ( String ): 是 实例规格。您可以通过 ListInstanceTypes 接口获取可开通的实例规格。 + cloud_disk_type ( String ): 是 磁盘类型。取值范围: + - CloudHDD:HDD 型云盘。 + - CloudSSD:SSD 型云盘。 + """, + "create_instance": r""" + Args: + body: A JSON structure + cloud_server_identity ( String ): 是 边缘实例所属的边缘服务的 ID。您可以通过 ListCloudServers 接口查询边缘服务的 ID。 + instance_area_nums ( Array of InstanceAreaNums ): 是 边缘实例的地域信息。 + "字段": InstanceAreaNums + area_name ( String ): 否 区域名称。您可以通过 ListAvailableResourceInfo 接口查询实例规格支持的区域、城市、运营商、节点信息。 + isp ( String ): 否 运营商。您可以通过 ListAvailableResourceInfo 接口查询实例规格支持的区域、城市、运营商、节点信息。 + cluster_name ( String ): 否 节点名称。指定希望部署边缘服务的节点。您可以通过 ListAvailableResourceInfo 接口查询实例规格支持的区域、城市、运营商、节点信息。 + vpc_identity ( String ): 否 私有网络的 ID。该参数用于指定边缘服务部署到的私有网络。如果设置了 vpc_identity,必须同时设置 cluster_name。 + num ( Integer ): 是 实例的个数。 + host_name_list ( Array of String ): 否 主机名的列表。系统按顺序将主机名赋给创建的边缘实例。系统允许您同时使用 host_name_list 和 instance_host_name 参数。 这两个参数会同时生效,但是 host_name_list 的优先级高于 instance_host_name。举例:如果您批量创建了 3 个边缘实例,将 instance_host_name 指定为了 host,将 host_name_list 指定为了 "hosta","hostb",那么这 3 个边缘实例的名称将分别为 hosta,hostb 和 host-3。 + default_isp ( String ): 否 默认运营商。该参数仅适用于三线节点。 + 取值范围: + - CMCC + - CUCC + - CTCC + 注意: + - 当 external_network_mode 值为 single_interface_cmcc_ip、single_interface_cucc_ip、single_interface_ctcc_ip 时,default_isp 中指定的运营商须与 external_network_mode 中指定的运营商相同。 + - 当 external_network_mode 值为 single_interface_multi_ip 或 multi_interface_multi_ip 时,default_isp 参数必须指定,参数值可按需设置。 + - 当 external_network_mode 值为 single_interface_single_ip 或 no_interface 时,default_isp 无需指定。 + external_network_mode ( String ): 否 公网配置。该参数仅适用于三线节点。 + 取值范围: + - single_interface_multi_ip:单网卡多 IP。如果您是三线节点的新用户,那么需提交工单开通相关权限。 + - single_interface_cmcc_ip:单网卡移动 IP。需提交工单开通相关权限。 + - single_interface_cucc_ip:单网卡联通 IP。需提交工单开通相关权限。 + - single_interface_ctcc_ip:单网卡电信 IP。需提交工单开通相关权限。 + - multi_interface_multi_ip:多网卡多 IP。需提交工单开通相关权限。 + - single_interface_single_ip:单网卡单 IP。该模式下,系统将根据库存随机分配一个运营商的公网 IP 地址。 + - no_interface:无公网网卡。需提交工单开通相关权限。 + 默认值: + - 当有公网网卡时: + - 单网卡多IP权限开启:默认采用single_interface_multi_ip(单网卡多 IP)。 + - 单网卡多IP权限关闭:默认采用single_interface_single_ip(单网卡单 IP)。 + - 无公网网卡时,默认采用 no_interface。 + """, + "create_secondary_internal_ip_and_reboot": r""" + Args: + body: A JSON structure + instance_identity ( String ): 是 边缘实例 ID。您可以通过 ListInstances 接口查询边缘实例 ID。 + num ( Integer ): 是 新增的辅助私网 IP 地址的数量。您可以通过 ListInstanceInternalIps 接口获取私网 IP 地址列表。 + """, + "bind_eip_to_internal_ip": r""" + Args: + body: A JSON structure + instance_identity ( String ): 是 边缘实例 ID。您可以通过 ListInstances 接口查询边缘实例 ID。 + eip_identity ( String ): 是 弹性公网 IP 的 ID。 + internal_ip ( String ): 是 私网 IP 地址列表。您可以通过 ListInstanceInternalIps 接口查询边缘实例的私网 IP 地址。 + """, + "list_images": r""" + Args: + params: A JSON structure + instance_type ( String ): 是 实例规格。您可以通过 ListInstanceTypes 接口获取可开通的实例规格。 + system_arch ( String ): 否 操作系统的架构。取值范围: + - Linux:Linux 操作系统。 + - Windows:Windows 操作系统。 + system_bit ( String ): 否 操作系统的位数。取值范围: + - 32:32位操作系统。 + - 64:64位操作系统。 + system_type ( String ): 否 操作系统的类型。取值范围: + Linux: + - CentOS + - Ubuntu + - Debian + Windows: + - Windows + system_version ( String ): 否 操作系统的版本。取值范围: + CentOS: + - 6.9 + - 7.2 + - 7.3 + - 7.4 + - 7.5 + - 7.6 + - 7.8 + - 7.9 + - 8.3 + Debian: + - 9 + - 10 + Ubuntu: + - Server 16.04 LTS + - Server 18.04 LTS + - Server 20.04 LTS + Windows: + - 10 + - 2012 R2 STD 标准版 + - 2016 STD 标准版 + - 2019 STD 标准版 + disk_size ( Integer ): 否 镜像的系统盘的大小。单位:GB。 + label ( String ): 否 镜像标签,取值范围: + - IPV6:IPv6。 + - MultiIPPriNet:辅助私网 IP。 + 镜像标签之间用半角逗号(,)分隔。 + 说明: + - label 参数仅在 property 参数的值为 PublicBaseImage生效。 + - 如果您没有开通 IPv6、辅助私网 IP 功能,无法通过指定 label 参数来列出相关镜像。如需开通相关功能,请提交工单申请。 + property ( String ): 否 镜像属性,取值范围: + - BENBuildImage:通过边缘实例创建的镜像。 + - LocalImage:本地镜像。 + - PublicBaseImage:公共镜像。 + - UrlImage:通过 URL 上传的镜像。 + """, + "get_image": r""" + Args: + params: A JSON structure + image_id ( String ): 是 镜像 ID。您可以通过 ListImages 接口查询镜像 ID。 + """, + "build_image_by_vm": r""" + Args: + body: A JSON structure + veen_vm_id ( String ): 是 用于创建镜像的边缘实例的 ID。您可以通过 ListInstances 接口查询边缘实例 ID。 + image_name ( String ): 是 镜像名称。命名规则如下: + - 允许 5~80 个字符。 + - 支持中文、大写字母、小写字母、数字。 + - 支持特殊字符 ()`~!@#$%^&*-+=_{}[]:;',.?/。 + - 不能包含双引号(")、反斜线( )和空格,且不能以正斜线(/)开头。 + description ( String ): 否 镜像的描述信息。 + """, + "upload_url_image": r""" + Args: + body: A JSON structure + image_name ( String ): 是 镜像名称。命名规则如下: + - 允许 5~80 个字符。 + - 支持中文、大写字母、小写字母、数字。 + - 支持特殊字符 ()`~!@#$%^&*-+=_{}[]:;',.?/。 + - 不能包含双引号(")、反斜线( )和空格,且不能以正斜线(/)开头。 + url ( String ): 是 上传的镜像的地址。 + system_arch ( String ): 是 操作系统。取值范围: + - Linux:Linux操作系统。 + - Windows:Windows操作系统。 + system_bit ( String ): 是 系统架构。取值范围: + - 32:32位操作系统。 + - 64:64位操作系统。 + system_type ( String ): 是 系统平台。取值范围: + Linux: + - CentOS + - Ubuntu + - Debian + Windows: + - Windows + system_version ( String ): 是 镜像系统版本。取值范围: + CentOS: + - 6.9 + - 7.2 + - 7.3 + - 7.4 + - 7.5 + - 7.6 + - 7.8 + - 7.9 + - 8.3 + Debian: + - 9 + - 10 + Ubuntu: + - Server 16.04 LTS + - Server 18.04 LTS + - Server 20.04 LTS + Windows: + - 10 + - 2012 R2 STD 标准版 + - 2016 STD 标准版 + - 2019 STD 标准版 + disk_size ( Integer ): 是 系统盘大小。该参数值代表您在使用该镜像创建边缘实例时,系统盘可选的最小值。单位:GB。取值范围:50~100。该参数值须为 10 的倍数。 + description ( String ): 否 镜像的描述信息。 + """, + "update_image": r""" + Args: + body: A JSON structure + image_id ( String ): 是 镜像 ID。 + image_name ( String ): 否 镜像名称。 + description ( String ): 否 镜像的描述信息。 + """, + "delete_image": r""" + Args: + body: A JSON structure + image_id ( String ): 是 镜像 ID。您可以通过 ListImages 接口查询镜像 ID。 + """, + "get_veen_instance_usage": r""" + Args: + params: A JSON structure + start_bill_cycle ( String ): 是 账单的起始时间。格式为 YYYY-MM。 + end_bill_cycle ( String ): 是 账单的结束时间。格式为 YYYY-MM。 + bill_method ( String ): 否 计费方式,取值范围: + - MonthlyPeak(默认值):按月峰值计费。 + - DailyPeak:按日峰值计费。如您有日峰值计费或其他方式计费需求,请提交工单。 + """, + "get_veew_instance_usage": r""" + Args: + params: A JSON structure + start_bill_cycle ( String ): 是 账单的起始时间。格式为 YYYY-MM。 + end_bill_cycle ( String ): 是 账单的结束时间。格式为 YYYY-MM。 + bill_method ( String ): 否 计费方式,取值范围: + - MonthlyPeak(默认值):按月峰值计费。 + - DailyPeak:按日峰值计费。如您有日峰值计费或其他方式计费需求,请提交工单。 + """, + "get_bandwidth_usage": r""" + Args: + params: A JSON structure + start_bill_cycle ( String ): 是 账单的起始时间。格式为 YYYY-MM。 + end_bill_cycle ( String ): 是 账单的结束时间。格式为 YYYY-MM。 + bill_method ( String ): 否 计费方式,取值范围: + - MonthlyP95(默认值 ):按月 95 峰值计费。 + - DailyPeak:按日峰值计费。如您有日峰值计费或其他方式计费需求,请提交工单。 + """, + "get_billing_usage_detail": r""" + Args: + params: A JSON structure + start_date ( String ): 是 统计起始时间。格式为 YYYY-MM-DD。 + end_date ( String ): 是 统计结束时间。格式为 YYYY-MM-DD。 + charge_item ( String ): 是 查询的计费项,取值范围: + - CPU:CPU 核数。 + - MEM:内存,单位:GB。 + - InstanceCount:实例数量。 + - Storage:存储,单位:GB。 + bill_method ( String ): 否 计费方式,取值范围: + - *MonthlyPeak *(默认值):按月峰值计费。 + - DailyPeak:按日峰值计费。如您有日峰值计费或其他方式计费需求,请提交工单。 + """, + "list_vpc_instances": r""" + Args: + params: A JSON structure + page ( String ): 否 私有网络列表的页码。 + limit ( Integer ): 否 分页查询时设置的每页行数。 + order_by ( Integer ): 否 查询出来的私有网络的排列顺序,按照创建时间排序。取值范围: + - 1:按照降序排列。 + - 2(默认值):按照升序排列。 + cluster_names ( String ): 否 节点名称的列表。多个节点之间用半角逗号(,)分隔。 + vpc_identity_list ( String ): 否 私有网络 ID 的列表。多个私有网络之间用半角逗号(,)分隔。 + fuzzy_vpc_id_or_name ( String ): 否 私有网络 ID 或者名称。支持模糊查询。 + with_resource_statistic ( Boolean ): 否 是否返回私有网络下的资源的统计数据。取值范围: + - true:返回资源的统计数据。 + - false:不返回资源的统计数据。 + """, + "set_vpc_instance_desc": r""" + Args: + body: A JSON structure + vpc_identity ( String ): 是 私有网络的 ID。 + desc ( String ): 否 私有网络的描述。如果不指定该参数或参数值为空字符串,原来的描述将被清空。 + """, + "list_route_tables": r""" + Args: + params: A JSON structure + route_table_list ( String ): 否 路由表 ID 列表。ID 之间用半角逗号(,)分隔。 + status_list ( String ): 否 路由表状态列表。路由表状态之间用半角逗号(,)分隔。取值范围: + - updating:变更中。 + - running:运行中。 + 如果不指定该参数,系统将查询所有状态的路由表。 + type_list ( String ): 否 路由表类型列表。路由表类型之间用半角逗号(,)分隔。取值范围: + - default:默认路由表。 + 如果不指定该参数,系统将查询所有类型的路由表。 + fuzzy_route_table_id ( String ): 否 路由表 ID。支持模糊查询。 + fuzzy_route_table_name ( String ): 否 路由表名称。支持模糊查询。 + fuzzy_vpc_id ( String ): 否 私有网络 ID。支持模糊查询。 + cluster_name_list ( String ): 否 节点列表。节点之间用半角逗号(,)分隔。 + page ( Integer ): 否 路由表列表的页码。如果不填,将返回第 1 页的数据。 + limit ( Integer ): 否 分页查询时设置的每页行数。 + 默认值:10。 + order_by ( Integer ): 否 查询出来的路由表的排列顺序,按照创建时间排序。取值范围: + - 1(默认值):按照降序排列。 + - 2:按照升序排列。 + """, + "get_route_table": r""" + Args: + params: A JSON structure + route_table_identity ( String ): 是 路由表 ID。您可以通过 ListRouteTables 接口获取路由表 ID。 + """, + "set_route_table_name_and_desc": r""" + Args: + body: A JSON structure + route_table_identity ( String ): 是 路由表 ID。您可以通过 ListRouteTables 接口获取路由表 ID。 + name ( String ): 否 路由表名称。命名规则如下: + - 允许 5~50 个字符。 + - 支持中文、大写字母、小写字母、数字。 + - 支持特殊字符 ()`~!@#$%^&*-+=_{}[]:;',.?/。 + - 不能包含双引号(")、反斜线( )和 空格,且不能以正斜线(/)开头。 + 如果不指定该参数,系统将保留原来的名称。 + desc ( String ): 否 路由表描述。 + 如果不指定该参数,系统将保留原来的描述。 + """, + "list_route_entries": r""" + Args: + params: A JSON structure + route_table_identity ( String ): 是 路由表 ID。您可以通过 ListRouteTables 接口获取路由表 ID。 + route_entry_type_list ( String ): 是 路由条目类型。取值范围: + - system:系统路由。 + - custom:自定义路由。 + route_entry_next_hop_list ( String ): 否 路由条目的下一跳列表。下一跳之间用半角逗号(,)分隔。 + 如果不指定该参数,系统将查询所有相关的路由条目。 + page ( Integer ): 否 路由条目列表的页码。如果不指定该参数,系统将返回第 1 页的数据。 + limit ( Integer ): 否 分页查询时设置的每页行数。 + 默认值:10。 + order_by ( Integer ): 否 查询出来的路由条目的排列顺序,按照创建时间排序。取值范围: + - 1(默认值):按照降序排列。 + - 2:按照升序排列。 + """, + "create_route_entries": r""" + Args: + body: A JSON structure + route_table_identity ( String ): 是 路由表 ID。您可以通过 ListRouteTables 接口获取路由表 ID。 + route_entry_list ( Array of RouteEntryList ): 是 要增加的路由条目的列表。 + "字段": RouteEntryList + type ( String ): 是 路由条目的类型。取值范围: + - custom:自定义路由条目。 + dest_cidr ( String ): 是 目的地址。目的地址使用 CIDR 格式。不支持 IPv6 地址。 + next_hop_type ( String ): 是 下一跳类型。取值范围: + - veen:边缘实例。 + - vpc_vgw:边缘云网关。 + next_hop ( String ): 是 下一跳。 + desc ( String ): 否 路由条目的描述。最多可输入 80 个字符。 + is_enable ( Boolean ): 是 是否启用路由条目。取值范围: + - true:启用路由条目。 + - false:不启用路由条目。 + """, + "delete_route_entry": r""" + Args: + body: A JSON structure + route_table_identity ( String ): 是 路由表 ID。您可以通过 ListRouteTables 接口获取路由表 ID。 + route_entry_identity ( String ): 是 路由条目 ID。您可以通过 ListRouteEntries 接口获取路由条目 ID。 + """, + "enable_route_entry": r""" + Args: + body: A JSON structure + route_table_identity ( String ): 是 路由表 ID。您可以通过 ListRouteTables 接口获取路由表 ID。 + route_entry_identity ( String ): 是 路由条目 ID。您可以通过 ListRouteEntries 接口获取路由条目 ID。 + """, + "disable_route_entry": r""" + Args: + body: A JSON structure + route_table_identity ( String ): 是 路由表 ID。您可以通过 ListRouteTables 接口获取路由表 ID。 + route_entry_identity ( String ): 是 路由条目 ID。您可以通过 ListRouteEntries 接口获取路由条目 ID。 + """, + "set_route_entry_desc": r""" + Args: + body: A JSON structure + route_table_identity ( String ): 是 路由表 ID。您可以通过 ListRouteTables 接口获取路由表 ID。 + route_entry_identity ( String ): 是 路由条目 ID。您可以通过 ListRouteEntries 接口获取路由条目 ID。 + desc ( String ): 是 路由条目的描述。最多可输入 80 个字符。 + """, } diff --git a/server/mcp_server_veen/python/vcloud/veen/server.py b/server/mcp_server_veen/python/vcloud/veen/server.py index ebf8ef5..c0b2de5 100644 --- a/server/mcp_server_veen/python/vcloud/veen/server.py +++ b/server/mcp_server_veen/python/vcloud/veen/server.py @@ -3,9 +3,30 @@ from vcloud.veen.mcp_server import create_mcp_server from dotenv import load_dotenv import asyncio +import sys +import argparse load_dotenv() -mcp = create_mcp_server() + +def main(): + try: + parser = argparse.ArgumentParser(description="Run the VEEN MCP Server") + parser.add_argument( + "--transport", + "-t", + choices=["sse", "stdio"], + default="stdio", + help="Transport protocol to use (sse or stdio)", + ) + args = parser.parse_args() + print(args.transport) + mcp = create_mcp_server() + asyncio.run(mcp.run(transport=args.transport)) + except Exception as e: + print(f"Error occurred while starting the server: {e}", file=sys.stderr) + sys.exit(1) + + if __name__ == "__main__": - asyncio.run(mcp.run()) + main() From 60f5975316277d98ef53c517b7cdf7478f92ef0d Mon Sep 17 00:00:00 2001 From: "xujian.captain" Date: Wed, 21 May 2025 17:40:40 +0800 Subject: [PATCH 4/6] feat: Update VEEN Python Config --- .../python/build/lib/vcloud/base/aksk.py | 13 + .../build/lib/vcloud/base/base_service.py | 13 + .../build/lib/vcloud/base/base_trait.py | 55 ++ .../python/build/lib/vcloud/utils/__init__.py | 0 .../python/build/lib/vcloud/utils/response.py | 14 + .../python/build/lib/vcloud/veen/__init__.py | 0 .../build/lib/vcloud/veen/api/__init__.py | 0 .../python/build/lib/vcloud/veen/api/api.py | 20 + .../build/lib/vcloud/veen/api/config.py | 223 +++++ .../build/lib/vcloud/veen/mcp_server.py | 683 +++++++++++++++ .../python/build/lib/vcloud/veen/note.py | 790 ++++++++++++++++++ .../python/build/lib/vcloud/veen/server.py | 32 + server/mcp_server_veen/python/pyproject.toml | 11 +- server/mcp_server_veen/python/uv.lock | 382 ++++----- 14 files changed, 2042 insertions(+), 194 deletions(-) create mode 100644 server/mcp_server_veen/python/build/lib/vcloud/base/aksk.py create mode 100644 server/mcp_server_veen/python/build/lib/vcloud/base/base_service.py create mode 100644 server/mcp_server_veen/python/build/lib/vcloud/base/base_trait.py create mode 100644 server/mcp_server_veen/python/build/lib/vcloud/utils/__init__.py create mode 100644 server/mcp_server_veen/python/build/lib/vcloud/utils/response.py create mode 100644 server/mcp_server_veen/python/build/lib/vcloud/veen/__init__.py create mode 100644 server/mcp_server_veen/python/build/lib/vcloud/veen/api/__init__.py create mode 100644 server/mcp_server_veen/python/build/lib/vcloud/veen/api/api.py create mode 100644 server/mcp_server_veen/python/build/lib/vcloud/veen/api/config.py create mode 100644 server/mcp_server_veen/python/build/lib/vcloud/veen/mcp_server.py create mode 100644 server/mcp_server_veen/python/build/lib/vcloud/veen/note.py create mode 100644 server/mcp_server_veen/python/build/lib/vcloud/veen/server.py diff --git a/server/mcp_server_veen/python/build/lib/vcloud/base/aksk.py b/server/mcp_server_veen/python/build/lib/vcloud/base/aksk.py new file mode 100644 index 0000000..fedbec5 --- /dev/null +++ b/server/mcp_server_veen/python/build/lib/vcloud/base/aksk.py @@ -0,0 +1,13 @@ +import os + +def get_ak(): + s = os.getenv("VOLC_ACCESSKEY") + if (s is None): + s = os.getenv("VOLC_ACCESS_KEY_ID") + return s + +def get_sk(): + s = os.getenv("VOLC_SECRETKEY") + if (s is None): + s = os.getenv("VOLC_ACCESS_KEY_SECRET") + return s diff --git a/server/mcp_server_veen/python/build/lib/vcloud/base/base_service.py b/server/mcp_server_veen/python/build/lib/vcloud/base/base_service.py new file mode 100644 index 0000000..8350ad0 --- /dev/null +++ b/server/mcp_server_veen/python/build/lib/vcloud/base/base_service.py @@ -0,0 +1,13 @@ +# coding:utf-8 +from vcloud.base.base_trait import BaseTrait # Modify it if necessary + + +class BaseService(BaseTrait): + def __init__(self, region='cn-north-1', ak=None, sk=None, service_info_map=None,): + super().__init__({ + 'ak': ak, + 'sk': sk, + 'region': region, + 'service_info_map': service_info_map + }) + \ No newline at end of file diff --git a/server/mcp_server_veen/python/build/lib/vcloud/base/base_trait.py b/server/mcp_server_veen/python/build/lib/vcloud/base/base_trait.py new file mode 100644 index 0000000..b606c15 --- /dev/null +++ b/server/mcp_server_veen/python/build/lib/vcloud/base/base_trait.py @@ -0,0 +1,55 @@ +# coding:utf-8 +import json +from volcengine.base.Service import Service +from volcengine.const.Const import * +from volcengine.Policy import * +from volcengine.util.Util import * + + +api_info = { + +} + + +class BaseTrait(Service): + def __init__(self, param=None): + if param is None: + param = {} + self.param = param + region = param.get('region', REGION_CN_NORTH1) + service_info_map= param.get('service_info_map', {}) + self.service_info = BaseTrait.get_service_info(region,service_info_map) + self.api_info = BaseTrait.get_api_info() + if param.get('ak', None) and param.get('sk', None): + self.set_ak(param['ak']) + self.set_sk(param['sk']) + super(BaseTrait, self).__init__(self.service_info, self.api_info) + + @staticmethod + def get_service_info(region, service_info_map): + service_info = service_info_map.get(region, None) + if not service_info: + raise Exception('BaseService not support region %s' % region) + return service_info + + @staticmethod + def get_api_info(): + return api_info + def set_api_info(self, api_info): + self.api_info = {**self.api_info, **api_info} + return + + def mcp_get(self, action, params={}, doseq=0): + res = self.get(action, params, doseq) + if res == '': + raise Exception("%s: empty response" % action) + res_json = json.loads(json.dumps(res)) + return res_json + + def mcp_post(self, action, params={}, body={}): + res = self.json(action, params, body) + if res == '': + raise Exception("%s: empty response" % action) + res_json = json.loads(json.dumps(res)) + return res_json + \ No newline at end of file diff --git a/server/mcp_server_veen/python/build/lib/vcloud/utils/__init__.py b/server/mcp_server_veen/python/build/lib/vcloud/utils/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/server/mcp_server_veen/python/build/lib/vcloud/utils/response.py b/server/mcp_server_veen/python/build/lib/vcloud/utils/response.py new file mode 100644 index 0000000..0385fce --- /dev/null +++ b/server/mcp_server_veen/python/build/lib/vcloud/utils/response.py @@ -0,0 +1,14 @@ +def Error(message: str): + return "API Error: " + message + + +def HandlerVolcResponse(response: dict): + if ( + response + and response.get("ResponseMetadata") + and response["ResponseMetadata"] + and response["ResponseMetadata"].get("Error") + and response["ResponseMetadata"]["Error"] + ): + return Error(response["ResponseMetadata"]["Error"]["Message"]) + return str(response) diff --git a/server/mcp_server_veen/python/build/lib/vcloud/veen/__init__.py b/server/mcp_server_veen/python/build/lib/vcloud/veen/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/server/mcp_server_veen/python/build/lib/vcloud/veen/api/__init__.py b/server/mcp_server_veen/python/build/lib/vcloud/veen/api/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/server/mcp_server_veen/python/build/lib/vcloud/veen/api/api.py b/server/mcp_server_veen/python/build/lib/vcloud/veen/api/api.py new file mode 100644 index 0000000..90f4c11 --- /dev/null +++ b/server/mcp_server_veen/python/build/lib/vcloud/veen/api/api.py @@ -0,0 +1,20 @@ +from vcloud.base.base_service import BaseService +from .config import * +import os + + +class VeenedgeAPI(BaseService): + + def __init__(self): + if os.getenv("VOLCENGINE_REGION") is None: + region = "cn-north-1" + else: + region = os.getenv("VOLCENGINE_REGION") + + super().__init__( + ak=os.getenv("VOLCENGINE_ACCESS_KEY"), + sk=os.getenv("VOLCENGINE_SECRET_KEY"), + region=region, + service_info_map=service_info_map, + ) + self.set_api_info(api_info) diff --git a/server/mcp_server_veen/python/build/lib/vcloud/veen/api/config.py b/server/mcp_server_veen/python/build/lib/vcloud/veen/api/config.py new file mode 100644 index 0000000..04e6826 --- /dev/null +++ b/server/mcp_server_veen/python/build/lib/vcloud/veen/api/config.py @@ -0,0 +1,223 @@ +from volcengine.ServiceInfo import ServiceInfo +from volcengine.Credentials import Credentials +from volcengine.ApiInfo import ApiInfo + +api_info = { + "McpStartCloudServer": ApiInfo( + "POST", "/", {"Action": "StartCloudServer", "Version": "2021-04-30"}, {}, {} + ), + "McpDeleteCloudServer": ApiInfo( + "POST", "/", {"Action": "DeleteCloudServer", "Version": "2021-04-30"}, {}, {} + ), + "McpStopCloudServer": ApiInfo( + "POST", "/", {"Action": "StopCloudServer", "Version": "2021-04-30"}, {}, {} + ), + "McpRebootCloudServer": ApiInfo( + "POST", "/", {"Action": "RebootCloudServer", "Version": "2021-04-30"}, {}, {} + ), + "McpCreateCloudServer": ApiInfo( + "POST", "/", {"Action": "CreateCloudServer", "Version": "2021-04-30"}, {}, {} + ), + "McpUpdateCloudServer": ApiInfo( + "POST", "/", {"Action": "UpdateCloudServer", "Version": "2021-04-30"}, {}, {} + ), + "McpGetCloudServer": ApiInfo( + "GET", "/", {"Action": "GetCloudServer", "Version": "2021-04-30"}, {}, {} + ), + "McpRebootInstances": ApiInfo( + "POST", "/", {"Action": "RebootInstances", "Version": "2021-04-30"}, {}, {} + ), + "McpStartInstances": ApiInfo( + "POST", "/", {"Action": "StartInstances", "Version": "2021-04-30"}, {}, {} + ), + "McpStopInstances": ApiInfo( + "POST", "/", {"Action": "StopInstances", "Version": "2021-04-30"}, {}, {} + ), + "McpListInstances": ApiInfo( + "GET", "/", {"Action": "ListInstances", "Version": "2021-04-30"}, {}, {} + ), + "McpGetInstance": ApiInfo( + "GET", "/", {"Action": "GetInstance", "Version": "2021-04-30"}, {}, {} + ), + "McpResetLoginCredential": ApiInfo( + "POST", "/", {"Action": "ResetLoginCredential", "Version": "2021-04-30"}, {}, {} + ), + "McpSetInstanceName": ApiInfo( + "POST", "/", {"Action": "SetInstanceName", "Version": "2021-04-30"}, {}, {} + ), + "McpBatchResetSystem": ApiInfo( + "POST", "/", {"Action": "BatchResetSystem", "Version": "2021-04-30"}, {}, {} + ), + "McpSetInstancesBandwidthPeak": ApiInfo( + "POST", + "/", + {"Action": "SetInstancesBandwidthPeak", "Version": "2021-04-30"}, + {}, + {}, + ), + "McpEnableInstancesIPv6": ApiInfo( + "POST", "/", {"Action": "EnableInstancesIPv6", "Version": "2021-04-30"}, {}, {} + ), + "McpGetInstancesIPv6UpgradeStatus": ApiInfo( + "GET", + "/", + {"Action": "GetInstancesIPv6UpgradeStatus", "Version": "2021-04-30"}, + {}, + {}, + ), + "McpUpdateInstancesSpec": ApiInfo( + "POST", "/", {"Action": "UpdateInstancesSpec", "Version": "2021-04-30"}, {}, {} + ), + "McpListInstanceInternalIps": ApiInfo( + "GET", + "/", + {"Action": "ListInstanceInternalIps", "Version": "2021-04-30"}, + {}, + {}, + ), + "McpSetBoundEipShareBandwidthPeak": ApiInfo( + "POST", + "/", + {"Action": "SetBoundEipShareBandwidthPeak", "Version": "2021-04-30"}, + {}, + {}, + ), + "McpBatchBindEipToInternalIpsRandomly": ApiInfo( + "POST", + "/", + {"Action": "BatchBindEipToInternalIpsRandomly", "Version": "2021-04-30"}, + {}, + {}, + ), + "McpBatchDeleteInternalIps": ApiInfo( + "POST", + "/", + {"Action": "BatchDeleteInternalIps", "Version": "2021-04-30"}, + {}, + {}, + ), + "McpGetInstanceCloudDiskInfo": ApiInfo( + "GET", + "/", + {"Action": "GetInstanceCloudDiskInfo", "Version": "2021-04-30"}, + {}, + {}, + ), + "McpSetCloudServerDeleteProtection": ApiInfo( + "POST", + "/", + {"Action": "SetCloudServerDeleteProtection", "Version": "2021-04-30"}, + {}, + {}, + ), + "McpSetInstanceDeleteProtection": ApiInfo( + "POST", + "/", + {"Action": "SetInstanceDeleteProtection", "Version": "2021-04-30"}, + {}, + {}, + ), + "McpListCloudServers": ApiInfo( + "GET", "/", {"Action": "ListCloudServers", "Version": "2021-04-30"}, {}, {} + ), + "McpListInstanceTypes": ApiInfo( + "GET", "/", {"Action": "ListInstanceTypes", "Version": "2021-04-30"}, {}, {} + ), + "McpListAvailableResourceInfo": ApiInfo( + "GET", + "/", + {"Action": "ListAvailableResourceInfo", "Version": "2021-04-30"}, + {}, + {}, + ), + "McpCreateInstance": ApiInfo( + "POST", "/", {"Action": "CreateInstance", "Version": "2021-04-30"}, {}, {} + ), + "McpCreateSecondaryInternalIPAndReboot": ApiInfo( + "POST", + "/", + {"Action": "CreateSecondaryInternalIPAndReboot", "Version": "2021-04-30"}, + {}, + {}, + ), + "McpBindEipToInternalIP": ApiInfo( + "POST", "/", {"Action": "BindEipToInternalIP", "Version": "2021-04-30"}, {}, {} + ), + "McpListImages": ApiInfo( + "GET", "/", {"Action": "ListImages", "Version": "2021-04-30"}, {}, {} + ), + "McpGetImage": ApiInfo( + "GET", "/", {"Action": "GetImage", "Version": "2021-04-30"}, {}, {} + ), + "McpBuildImageByVM": ApiInfo( + "POST", "/", {"Action": "BuildImageByVM", "Version": "2021-04-30"}, {}, {} + ), + "McpUploadURLImage": ApiInfo( + "POST", "/", {"Action": "UploadURLImage", "Version": "2021-04-30"}, {}, {} + ), + "McpUpdateImage": ApiInfo( + "POST", "/", {"Action": "UpdateImage", "Version": "2021-04-30"}, {}, {} + ), + "McpDeleteImage": ApiInfo( + "POST", "/", {"Action": "DeleteImage", "Version": "2021-04-30"}, {}, {} + ), + "McpGetVEENInstanceUsage": ApiInfo( + "GET", "/", {"Action": "GetVEENInstanceUsage", "Version": "2021-04-30"}, {}, {} + ), + "McpGetVEEWInstanceUsage": ApiInfo( + "GET", "/", {"Action": "GetVEEWInstanceUsage", "Version": "2021-04-30"}, {}, {} + ), + "McpGetBandwidthUsage": ApiInfo( + "GET", "/", {"Action": "GetBandwidthUsage", "Version": "2021-04-30"}, {}, {} + ), + "McpGetBillingUsageDetail": ApiInfo( + "GET", "/", {"Action": "GetBillingUsageDetail", "Version": "2021-04-30"}, {}, {} + ), + "McpListVPCInstances": ApiInfo( + "GET", "/", {"Action": "ListVPCInstances", "Version": "2021-04-30"}, {}, {} + ), + "McpSetVPCInstanceDesc": ApiInfo( + "POST", "/", {"Action": "SetVPCInstanceDesc", "Version": "2021-04-30"}, {}, {} + ), + "McpListRouteTables": ApiInfo( + "GET", "/", {"Action": "ListRouteTables", "Version": "2021-04-30"}, {}, {} + ), + "McpGetRouteTable": ApiInfo( + "GET", "/", {"Action": "GetRouteTable", "Version": "2021-04-30"}, {}, {} + ), + "McpSetRouteTableNameAndDesc": ApiInfo( + "POST", + "/", + {"Action": "SetRouteTableNameAndDesc", "Version": "2021-04-30"}, + {}, + {}, + ), + "McpListRouteEntries": ApiInfo( + "GET", "/", {"Action": "ListRouteEntries", "Version": "2021-04-30"}, {}, {} + ), + "McpCreateRouteEntries": ApiInfo( + "POST", "/", {"Action": "CreateRouteEntries", "Version": "2021-04-30"}, {}, {} + ), + "McpDeleteRouteEntry": ApiInfo( + "POST", "/", {"Action": "DeleteRouteEntry", "Version": "2021-04-30"}, {}, {} + ), + "McpEnableRouteEntry": ApiInfo( + "POST", "/", {"Action": "EnableRouteEntry", "Version": "2021-04-30"}, {}, {} + ), + "McpDisableRouteEntry": ApiInfo( + "POST", "/", {"Action": "DisableRouteEntry", "Version": "2021-04-30"}, {}, {} + ), + "McpSetRouteEntryDesc": ApiInfo( + "POST", "/", {"Action": "SetRouteEntryDesc", "Version": "2021-04-30"}, {}, {} + ), +} +service_info_map = { + "cn-north-1": ServiceInfo( + "open.volcengineapi.com", + {"Accept": "application/json", "x-tt-mcp": "volc"}, + Credentials("", "", "veenedge", "cn-north-1"), + 60, + 60, + "http", + ), +} diff --git a/server/mcp_server_veen/python/build/lib/vcloud/veen/mcp_server.py b/server/mcp_server_veen/python/build/lib/vcloud/veen/mcp_server.py new file mode 100644 index 0000000..dd7893c --- /dev/null +++ b/server/mcp_server_veen/python/build/lib/vcloud/veen/mcp_server.py @@ -0,0 +1,683 @@ +from vcloud.veen.api.api import VeenedgeAPI +from mcp.server.fastmcp import FastMCP +from .note import note +from vcloud.utils.response import HandlerVolcResponse +import json + +def create_mcp_server(): + service = VeenedgeAPI() + mcp = FastMCP( + "VEEN MCP", + description="Apply, configure, and query for edge computing nodes, including virtual machines, images, bare metal, and corresponding network configurations.", + ) + + @mcp.tool() + def guide(): + """ + ## MCP Invocation Method Guide + - For task decomposition, it is necessary to use the mcp tool. + - The first step requires invoking the `get_note` function to obtain the parameter description. + - Subsequently, the corresponding method should be called to retrieve the data. + """ + return """use `guide` description to get how to use Mcp Server""" + + @mcp.tool() + def get_note(func_name: str) -> str: + """ + 获取参数描述 + + Args: + func_name: The function name to get the description for. + + """ + return note.get(func_name) + + @mcp.tool() + def start_cloud_server() -> str: + """ + 本接口用于根据边缘服务的 ID 启动边缘服务。 + Call steps: + 1. Pass "start_cloud_server" as an input parameter to invoke the `get_note` method to obtain the parameter description. + 2. After obtaining the parameter description, invoke start_cloud_server + """ + reqs = service.mcp_post("McpStartCloudServer", {}, json.dumps({})) + + return HandlerVolcResponse(reqs) + + # @mcp.tool() + # def delete_cloud_server() -> str: + # """ + # 本接口用于根据边缘服务 ID 删除边缘服务。 + # Call steps: + # 1. Pass "delete_cloud_server" as an input parameter to invoke the `get_note` method to obtain the parameter description. + # 2. After obtaining the parameter description, invoke delete_cloud_server + # """ + # reqs = service.mcp_post("McpDeleteCloudServer", {}, json.dumps({})) + + # return HandlerVolcResponse(reqs) + + # @mcp.tool() + # def stop_cloud_server() -> str: + # """ + # 本接口用于根据边缘服务的 ID 停止边缘服务。 + # Call steps: + # 1. Pass "stop_cloud_server" as an input parameter to invoke the `get_note` method to obtain the parameter description. + # 2. After obtaining the parameter description, invoke stop_cloud_server + # """ + # reqs = service.mcp_post("McpStopCloudServer", {}, json.dumps({})) + + # return HandlerVolcResponse(reqs) + + # @mcp.tool() + # def reboot_cloud_server() -> str: + # """ + # 本接口用于根据边缘服务的 ID 重启边缘服务。 + # Call steps: + # 1. Pass "reboot_cloud_server" as an input parameter to invoke the `get_note` method to obtain the parameter description. + # 2. After obtaining the parameter description, invoke reboot_cloud_server + # """ + # reqs = service.mcp_post("McpRebootCloudServer", {}, json.dumps({})) + + # return HandlerVolcResponse(reqs) + + @mcp.tool() + def create_cloud_server(body: dict) -> str: + """ + 本接口用于创建边缘服务。 + Call steps: + 1. Pass "create_cloud_server" as an input parameter to invoke the `get_note` method to obtain the parameter description. + 2. After obtaining the parameter description, invoke create_cloud_server + """ + reqs = service.mcp_post("McpCreateCloudServer", {}, json.dumps(body)) + + return HandlerVolcResponse(reqs) + + # @mcp.tool() + # def update_cloud_server(body: dict) -> str: + # """ + # 本接口用于修改边缘服务配置。 + # Call steps: + # 1. Pass "update_cloud_server" as an input parameter to invoke the `get_note` method to obtain the parameter description. + # 2. After obtaining the parameter description, invoke update_cloud_server + # """ + # reqs = service.mcp_post("McpUpdateCloudServer", {}, json.dumps(body)) + + # return HandlerVolcResponse(reqs) + + @mcp.tool() + def get_cloud_server(params: dict) -> str: + """ + 本接口用于根据边缘服务的 ID 获取边缘服务的详细信息。 + Call steps: + 1. Pass "get_cloud_server" as an input parameter to invoke the `get_note` method to obtain the parameter description. + 2. After obtaining the parameter description, invoke get_cloud_server + """ + reqs = service.mcp_get("McpGetCloudServer", params, json.dumps({})) + + return HandlerVolcResponse(reqs) + + # @mcp.tool() + # def reboot_instances(body: dict) -> str: + # """ + # 本接口用于根据边缘实例 ID 重启实例。 + # Call steps: + # 1. Pass "reboot_instances" as an input parameter to invoke the `get_note` method to obtain the parameter description. + # 2. After obtaining the parameter description, invoke reboot_instances + # """ + # reqs = service.mcp_post("McpRebootInstances", {}, json.dumps(body)) + + # return HandlerVolcResponse(reqs) + + @mcp.tool() + def start_instances(body: dict) -> str: + """ + 本接口用于根据边缘实例 ID 启动实例。 + Call steps: + 1. Pass "start_instances" as an input parameter to invoke the `get_note` method to obtain the parameter description. + 2. After obtaining the parameter description, invoke start_instances + """ + reqs = service.mcp_post("McpStartInstances", {}, json.dumps(body)) + + return HandlerVolcResponse(reqs) + + # @mcp.tool() + # def stop_instances(body: dict) -> str: + # """ + # 本接口用于根据边缘实例 ID 停止实例。 + # Call steps: + # 1. Pass "stop_instances" as an input parameter to invoke the `get_note` method to obtain the parameter description. + # 2. After obtaining the parameter description, invoke stop_instances + # """ + # reqs = service.mcp_post("McpStopInstances", {}, json.dumps(body)) + + # return HandlerVolcResponse(reqs) + + @mcp.tool() + def list_instances(params: dict) -> str: + """ + 本接口用于列出指定的边缘服务或所有边缘服务下的边缘实例。 + Call steps: + 1. Pass "list_instances" as an input parameter to invoke the `get_note` method to obtain the parameter description. + 2. After obtaining the parameter description, invoke list_instances + """ + reqs = service.mcp_get("McpListInstances", params, json.dumps({})) + + return HandlerVolcResponse(reqs) + + @mcp.tool() + def get_instance(params: dict) -> str: + """ + 本接口根据边缘实例 ID 获取实例详细信息。 + Call steps: + 1. Pass "get_instance" as an input parameter to invoke the `get_note` method to obtain the parameter description. + 2. After obtaining the parameter description, invoke get_instance + """ + reqs = service.mcp_get("McpGetInstance", params, json.dumps({})) + + return HandlerVolcResponse(reqs) + + # @mcp.tool() + # def reset_login_credential(body: dict) -> str: + # """ + # 本接口用于重置重置边缘实例的密码。密码类型允许修改。 + # Call steps: + # 1. Pass "reset_login_credential" as an input parameter to invoke the `get_note` method to obtain the parameter description. + # 2. After obtaining the parameter description, invoke reset_login_credential + # """ + # reqs = service.mcp_post("McpResetLoginCredential", {}, json.dumps(body)) + + # return HandlerVolcResponse(reqs) + + @mcp.tool() + def set_instance_name(body: dict) -> str: + """ + 本接口用于设置边缘实例的名称。 + Call steps: + 1. Pass "set_instance_name" as an input parameter to invoke the `get_note` method to obtain the parameter description. + 2. After obtaining the parameter description, invoke set_instance_name + """ + reqs = service.mcp_post("McpSetInstanceName", {}, json.dumps(body)) + + return HandlerVolcResponse(reqs) + + # @mcp.tool() + # def batch_reset_system(body: dict) -> str: + # """ + # 本接口用于重置指定边缘实例的操作系统或更换边缘实例的镜像。 + # Call steps: + # 1. Pass "batch_reset_system" as an input parameter to invoke the `get_note` method to obtain the parameter description. + # 2. After obtaining the parameter description, invoke batch_reset_system + # """ + # reqs = service.mcp_post("McpBatchResetSystem", {}, json.dumps(body)) + + # return HandlerVolcResponse(reqs) + + # @mcp.tool() + # def set_instances_bandwidth_peak(body: dict) -> str: + # """ + # 本接口用于批量设置边缘实例的带宽峰值。 + # Call steps: + # 1. Pass "set_instances_bandwidth_peak" as an input parameter to invoke the `get_note` method to obtain the parameter description. + # 2. After obtaining the parameter description, invoke set_instances_bandwidth_peak + # """ + # reqs = service.mcp_post("McpSetInstancesBandwidthPeak", {}, json.dumps(body)) + + # return HandlerVolcResponse(reqs) + + @mcp.tool() + def enable_instances_i_pv6(body: dict) -> str: + """ + 本接口用于批量开启边缘实例的 IPv6 功能。 + Call steps: + 1. Pass "enable_instances_i_pv6" as an input parameter to invoke the `get_note` method to obtain the parameter description. + 2. After obtaining the parameter description, invoke enable_instances_i_pv6 + """ + reqs = service.mcp_post("McpEnableInstancesIPv6", {}, json.dumps(body)) + + return HandlerVolcResponse(reqs) + + @mcp.tool() + def get_instances_i_pv6_upgrade_status(params: dict) -> str: + """ + 本接口用于获取边缘实例的 IPv6 开启状态。 + Call steps: + 1. Pass "get_instances_i_pv6_upgrade_status" as an input parameter to invoke the `get_note` method to obtain the parameter description. + 2. After obtaining the parameter description, invoke get_instances_i_pv6_upgrade_status + """ + reqs = service.mcp_get( + "McpGetInstancesIPv6UpgradeStatus", params, json.dumps({}) + ) + + return HandlerVolcResponse(reqs) + + # @mcp.tool() + # def update_instances_spec(body: dict) -> str: + # """ + # 本接口用于变更边缘实例的实例规格。 + # Call steps: + # 1. Pass "update_instances_spec" as an input parameter to invoke the `get_note` method to obtain the parameter description. + # 2. After obtaining the parameter description, invoke update_instances_spec + # """ + # reqs = service.mcp_post("McpUpdateInstancesSpec", {}, json.dumps(body)) + + # return HandlerVolcResponse(reqs) + + @mcp.tool() + def list_instance_internal_ips(params: dict) -> str: + """ + 本接口用于获取边缘实例的私网 IP 地址的列表。 + Call steps: + 1. Pass "list_instance_internal_ips" as an input parameter to invoke the `get_note` method to obtain the parameter description. + 2. After obtaining the parameter description, invoke list_instance_internal_ips + """ + reqs = service.mcp_get("McpListInstanceInternalIps", params, json.dumps({})) + + return HandlerVolcResponse(reqs) + + # @mcp.tool() + # def set_bound_eip_share_bandwidth_peak(body: dict) -> str: + # """ + # 本接口用于设置弹性公网 IP 的共享带宽峰值。共享带宽峰值指的是绑定在边缘实例私网 IP 地址(含主私网 IP 地址和辅助私网 IP 地址)上的所有弹性公网 IP 的共享公网带宽限速值。 + # Call steps: + # 1. Pass "set_bound_eip_share_bandwidth_peak" as an input parameter to invoke the `get_note` method to obtain the parameter description. + # 2. After obtaining the parameter description, invoke set_bound_eip_share_bandwidth_peak + # """ + # reqs = service.mcp_post( + # "McpSetBoundEipShareBandwidthPeak", {}, json.dumps(body) + # ) + + # return HandlerVolcResponse(reqs) + + # @mcp.tool() + # def batch_bind_eip_to_internal_ips_randomly(body: dict) -> str: + # """ + # 本接口用于批量随机绑定弹性公网 IP 到私网 IP 地址。 + # Call steps: + # 1. Pass "batch_bind_eip_to_internal_ips_randomly" as an input parameter to invoke the `get_note` method to obtain the parameter description. + # 2. After obtaining the parameter description, invoke batch_bind_eip_to_internal_ips_randomly + # """ + # reqs = service.mcp_post( + # "McpBatchBindEipToInternalIpsRandomly", {}, json.dumps(body) + # ) + + # return HandlerVolcResponse(reqs) + + # @mcp.tool() + # def batch_delete_internal_ips(body: dict) -> str: + # """ + # 本接口用于批量删除边缘实例的辅助私网 IP 地址。 + # Call steps: + # 1. Pass "batch_delete_internal_ips" as an input parameter to invoke the `get_note` method to obtain the parameter description. + # 2. After obtaining the parameter description, invoke batch_delete_internal_ips + # """ + # reqs = service.mcp_post("McpBatchDeleteInternalIps", {}, json.dumps(body)) + + # return HandlerVolcResponse(reqs) + + @mcp.tool() + def get_instance_cloud_disk_info(params: dict) -> str: + """ + 本接口用于获取边缘实例的云盘信息。 + Call steps: + 1. Pass "get_instance_cloud_disk_info" as an input parameter to invoke the `get_note` method to obtain the parameter description. + 2. After obtaining the parameter description, invoke get_instance_cloud_disk_info + """ + reqs = service.mcp_get("McpGetInstanceCloudDiskInfo", params, json.dumps({})) + + return HandlerVolcResponse(reqs) + + @mcp.tool() + def set_cloud_server_delete_protection(body: dict) -> str: + """ + 本接口用于为边缘服务配置删除保护。您可以通过该接口开启或关闭删除保护功能。 + 删除保护功能可以防止您的边缘服务被误删除,保障数据安全。 + Call steps: + 1. Pass "set_cloud_server_delete_protection" as an input parameter to invoke the `get_note` method to obtain the parameter description. + 2. After obtaining the parameter description, invoke set_cloud_server_delete_protection + """ + reqs = service.mcp_post( + "McpSetCloudServerDeleteProtection", {}, json.dumps(body) + ) + + return HandlerVolcResponse(reqs) + + @mcp.tool() + def set_instance_delete_protection(body: dict) -> str: + """ + 本接口用于为一个或多个边缘实例配置删除保护。您可以通过该接口开启或关闭删除保护功能。 + 删除保护功能可以防止您的边缘实例被误删除,保障数据安全。 + Call steps: + 1. Pass "set_instance_delete_protection" as an input parameter to invoke the `get_note` method to obtain the parameter description. + 2. After obtaining the parameter description, invoke set_instance_delete_protection + """ + reqs = service.mcp_post("McpSetInstanceDeleteProtection", {}, json.dumps(body)) + + return HandlerVolcResponse(reqs) + + @mcp.tool() + def list_cloud_servers(params: dict) -> str: + """ + 本接口用于列出账号下的所有边缘服务信息。 + Call steps: + 1. Pass "list_cloud_servers" as an input parameter to invoke the `get_note` method to obtain the parameter description. + 2. After obtaining the parameter description, invoke list_cloud_servers + """ + reqs = service.mcp_get("McpListCloudServers", params, json.dumps({})) + + return HandlerVolcResponse(reqs) + + @mcp.tool() + def list_instance_types() -> str: + """ + 本接口用于获取边缘服务下可开通的实例规格。 + Call steps: + 1. Pass "list_instance_types" as an input parameter to invoke the `get_note` method to obtain the parameter description. + 2. After obtaining the parameter description, invoke list_instance_types + """ + reqs = service.mcp_get("McpListInstanceTypes", {}, json.dumps({})) + + return HandlerVolcResponse(reqs) + + @mcp.tool() + def list_available_resource_info(params: dict) -> str: + """ + 本接口用于获取边缘服务下某实例规格支持的地域和运营商。 + Call steps: + 1. Pass "list_available_resource_info" as an input parameter to invoke the `get_note` method to obtain the parameter description. + 2. After obtaining the parameter description, invoke list_available_resource_info + """ + reqs = service.mcp_get("McpListAvailableResourceInfo", params, json.dumps({})) + + return HandlerVolcResponse(reqs) + + @mcp.tool() + def create_instance(body: dict) -> str: + """ + 本接口用于创建边缘实例。 + Call steps: + 1. Pass "create_instance" as an input parameter to invoke the `get_note` method to obtain the parameter description. + 2. After obtaining the parameter description, invoke create_instance + """ + reqs = service.mcp_post("McpCreateInstance", {}, json.dumps(body)) + + return HandlerVolcResponse(reqs) + + @mcp.tool() + def create_secondary_internal_ip_and_reboot(body: dict) -> str: + """ + 本接口用于为边缘实例新增辅助私网 IP 地址并重启该边缘实例。 + Call steps: + 1. Pass "create_secondary_internal_ip_and_reboot" as an input parameter to invoke the `get_note` method to obtain the parameter description. + 2. After obtaining the parameter description, invoke create_secondary_internal_ip_and_reboot + """ + reqs = service.mcp_post( + "McpCreateSecondaryInternalIPAndReboot", {}, json.dumps(body) + ) + + return HandlerVolcResponse(reqs) + + # @mcp.tool() + # def bind_eip_to_internal_ip(body: dict) -> str: + # """ + # 本接口用于绑定单个弹性公网 IP 到私网 IP 地址。 + # Call steps: + # 1. Pass "bind_eip_to_internal_ip" as an input parameter to invoke the `get_note` method to obtain the parameter description. + # 2. After obtaining the parameter description, invoke bind_eip_to_internal_ip + # """ + # reqs = service.mcp_post("McpBindEipToInternalIP", {}, json.dumps(body)) + + # return HandlerVolcResponse(reqs) + + @mcp.tool() + def list_images(params: dict) -> str: + """ + 本接口用于获取某一实例规格支持的镜像列表,包括公共镜像和自定义镜像。 + Call steps: + 1. Pass "list_images" as an input parameter to invoke the `get_note` method to obtain the parameter description. + 2. After obtaining the parameter description, invoke list_images + """ + reqs = service.mcp_get("McpListImages", params, json.dumps({})) + + return HandlerVolcResponse(reqs) + + @mcp.tool() + def get_image(params: dict) -> str: + """ + 本接口用于获取镜像详情。 + Call steps: + 1. Pass "get_image" as an input parameter to invoke the `get_note` method to obtain the parameter description. + 2. After obtaining the parameter description, invoke get_image + """ + reqs = service.mcp_get("McpGetImage", params, json.dumps({})) + + return HandlerVolcResponse(reqs) + + @mcp.tool() + def build_image_by_vm(body: dict) -> str: + """ + 本接口用于通过边缘实例创建镜像。 + Call steps: + 1. Pass "build_image_by_vm" as an input parameter to invoke the `get_note` method to obtain the parameter description. + 2. After obtaining the parameter description, invoke build_image_by_vm + """ + reqs = service.mcp_post("McpBuildImageByVM", {}, json.dumps(body)) + + return HandlerVolcResponse(reqs) + + # @mcp.tool() + # def upload_url_image(body: dict) -> str: + # """ + # 本接口用于导入镜像。 + # Call steps: + # 1. Pass "upload_url_image" as an input parameter to invoke the `get_note` method to obtain the parameter description. + # 2. After obtaining the parameter description, invoke upload_url_image + # """ + # reqs = service.mcp_post("McpUploadURLImage", {}, json.dumps(body)) + + # return HandlerVolcResponse(reqs) + + # @mcp.tool() + # def update_image(body: dict) -> str: + # """ + # 本接口用于编辑镜像的名称。 + # Call steps: + # 1. Pass "update_image" as an input parameter to invoke the `get_note` method to obtain the parameter description. + # 2. After obtaining the parameter description, invoke update_image + # """ + # reqs = service.mcp_post("McpUpdateImage", {}, json.dumps(body)) + + # return HandlerVolcResponse(reqs) + + # @mcp.tool() + # def delete_image(body: dict) -> str: + # """ + # 本接口用于删除镜像。 + # Call steps: + # 1. Pass "delete_image" as an input parameter to invoke the `get_note` method to obtain the parameter description. + # 2. After obtaining the parameter description, invoke delete_image + # """ + # reqs = service.mcp_post("McpDeleteImage", {}, json.dumps(body)) + + # return HandlerVolcResponse(reqs) + + @mcp.tool() + def get_veen_instance_usage(params: dict) -> str: + """ + 本接口用于获取指定时间范围内的算力用量。 + Call steps: + 1. Pass "get_veen_instance_usage" as an input parameter to invoke the `get_note` method to obtain the parameter description. + 2. After obtaining the parameter description, invoke get_veen_instance_usage + """ + reqs = service.mcp_get("McpGetVEENInstanceUsage", params, json.dumps({})) + + return HandlerVolcResponse(reqs) + + @mcp.tool() + def get_veew_instance_usage(params: dict) -> str: + """ + 本接口用于获取指定时间范围内的边缘网络的用量。 + Call steps: + 1. Pass "get_veew_instance_usage" as an input parameter to invoke the `get_note` method to obtain the parameter description. + 2. After obtaining the parameter description, invoke get_veew_instance_usage + """ + reqs = service.mcp_get("McpGetVEEWInstanceUsage", params, json.dumps({})) + + return HandlerVolcResponse(reqs) + + @mcp.tool() + def get_bandwidth_usage(params: dict) -> str: + """ + 本接口用于获取指定时间范围内的带宽用量。 + Call steps: + 1. Pass "get_bandwidth_usage" as an input parameter to invoke the `get_note` method to obtain the parameter description. + 2. After obtaining the parameter description, invoke get_bandwidth_usage + """ + reqs = service.mcp_get("McpGetBandwidthUsage", params, json.dumps({})) + + return HandlerVolcResponse(reqs) + + @mcp.tool() + def get_billing_usage_detail(params: dict) -> str: + """ + 本接口用于获取日用量趋势。 + Call steps: + 1. Pass "get_billing_usage_detail" as an input parameter to invoke the `get_note` method to obtain the parameter description. + 2. After obtaining the parameter description, invoke get_billing_usage_detail + """ + reqs = service.mcp_get("McpGetBillingUsageDetail", params, json.dumps({})) + + return HandlerVolcResponse(reqs) + + @mcp.tool() + def list_vpc_instances(params: dict) -> str: + """ + 本接口用于获取私有网络列表。 + Call steps: + 1. Pass "list_vpc_instances" as an input parameter to invoke the `get_note` method to obtain the parameter description. + 2. After obtaining the parameter description, invoke list_vpc_instances + """ + reqs = service.mcp_get("McpListVPCInstances", params, json.dumps({})) + + return HandlerVolcResponse(reqs) + + @mcp.tool() + def set_vpc_instance_desc(body: dict) -> str: + """ + 本接口用于修改私有网络的描述。 + Call steps: + 1. Pass "set_vpc_instance_desc" as an input parameter to invoke the `get_note` method to obtain the parameter description. + 2. After obtaining the parameter description, invoke set_vpc_instance_desc + """ + reqs = service.mcp_post("McpSetVPCInstanceDesc", {}, json.dumps(body)) + + return HandlerVolcResponse(reqs) + + @mcp.tool() + def list_route_tables(params: dict) -> str: + """ + 本接口用于查询路由表的列表。 + Call steps: + 1. Pass "list_route_tables" as an input parameter to invoke the `get_note` method to obtain the parameter description. + 2. After obtaining the parameter description, invoke list_route_tables + """ + reqs = service.mcp_get("McpListRouteTables", params, json.dumps({})) + + return HandlerVolcResponse(reqs) + + @mcp.tool() + def get_route_table(params: dict) -> str: + """ + 本接口用于查询路由表的详情。 + Call steps: + 1. Pass "get_route_table" as an input parameter to invoke the `get_note` method to obtain the parameter description. + 2. After obtaining the parameter description, invoke get_route_table + """ + reqs = service.mcp_get("McpGetRouteTable", params, json.dumps({})) + + return HandlerVolcResponse(reqs) + + @mcp.tool() + def set_route_table_name_and_desc(body: dict) -> str: + """ + 本接口用于修改路由表的名称和描述信息。 + Call steps: + 1. Pass "set_route_table_name_and_desc" as an input parameter to invoke the `get_note` method to obtain the parameter description. + 2. After obtaining the parameter description, invoke set_route_table_name_and_desc + """ + reqs = service.mcp_post("McpSetRouteTableNameAndDesc", {}, json.dumps(body)) + + return HandlerVolcResponse(reqs) + + @mcp.tool() + def list_route_entries(params: dict) -> str: + """ + 本接口用于查询路由条目列表。 + Call steps: + 1. Pass "list_route_entries" as an input parameter to invoke the `get_note` method to obtain the parameter description. + 2. After obtaining the parameter description, invoke list_route_entries + """ + reqs = service.mcp_get("McpListRouteEntries", params, json.dumps({})) + + return HandlerVolcResponse(reqs) + + @mcp.tool() + def create_route_entries(body: dict) -> str: + """ + 本接口用于批量增加自定义路由条目。 + Call steps: + 1. Pass "create_route_entries" as an input parameter to invoke the `get_note` method to obtain the parameter description. + 2. After obtaining the parameter description, invoke create_route_entries + """ + reqs = service.mcp_post("McpCreateRouteEntries", {}, json.dumps(body)) + + return HandlerVolcResponse(reqs) + + # @mcp.tool() + # def delete_route_entry(body: dict) -> str: + # """ + # 本接口用于删除路由条目。 + # Call steps: + # 1. Pass "delete_route_entry" as an input parameter to invoke the `get_note` method to obtain the parameter description. + # 2. After obtaining the parameter description, invoke delete_route_entry + # """ + # reqs = service.mcp_post("McpDeleteRouteEntry", {}, json.dumps(body)) + + # return HandlerVolcResponse(reqs) + + @mcp.tool() + def enable_route_entry(body: dict) -> str: + """ + 本接口用于启用路由条目。 + Call steps: + 1. Pass "enable_route_entry" as an input parameter to invoke the `get_note` method to obtain the parameter description. + 2. After obtaining the parameter description, invoke enable_route_entry + """ + reqs = service.mcp_post("McpEnableRouteEntry", {}, json.dumps(body)) + + return HandlerVolcResponse(reqs) + + # @mcp.tool() + # def disable_route_entry(body: dict) -> str: + # """ + # 本接口用于禁用路由条目。 + # Call steps: + # 1. Pass "disable_route_entry" as an input parameter to invoke the `get_note` method to obtain the parameter description. + # 2. After obtaining the parameter description, invoke disable_route_entry + # """ + # reqs = service.mcp_post("McpDisableRouteEntry", {}, json.dumps(body)) + + # return HandlerVolcResponse(reqs) + + @mcp.tool() + def set_route_entry_desc(body: dict) -> str: + """ + 本接口用于修改路由条目的描述信息。 + Call steps: + 1. Pass "set_route_entry_desc" as an input parameter to invoke the `get_note` method to obtain the parameter description. + 2. After obtaining the parameter description, invoke set_route_entry_desc + """ + reqs = service.mcp_post("McpSetRouteEntryDesc", {}, json.dumps(body)) + + return HandlerVolcResponse(reqs) + + return mcp diff --git a/server/mcp_server_veen/python/build/lib/vcloud/veen/note.py b/server/mcp_server_veen/python/build/lib/vcloud/veen/note.py new file mode 100644 index 0000000..14631bb --- /dev/null +++ b/server/mcp_server_veen/python/build/lib/vcloud/veen/note.py @@ -0,0 +1,790 @@ +note = { + "start_cloud_server": r""" + """, + "delete_cloud_server": r""" + """, + "stop_cloud_server": r""" + """, + "reboot_cloud_server": r""" + """, + "create_cloud_server": r""" + Args: + body: A JSON structure + cloudserver_name ( String ): 是 边缘服务名称。命名规则如下: + - 允许 5~20 个字符。 + - 支持中文、大写字母、小写字母、数字。 + - 支持特殊字符 ()`~!@#$%^&*-+=_{}[]:;',.?/。 + - 不能包含双引号(")、反斜线( )和空格,且不能以正斜线(/)开头。 + spec_name ( String ): 是 边缘实例规格名称。您可以通过 ListInstanceTypes 接口查询可开通的实例规格。如果您需要的规格不在可开通实例规格列表,请提交工单申请。 + storage_config ( Object of StorageConfig ): 是 存储配置,包括系统盘和数据盘的类型和容量信息。 + 详情请参见 StorageConfig。 + network_config ( Object of NetworkConfig ): 是 网络配置。 + 详情请参见 NetworkConfigReq。 + secret_config ( Object of SecretConfig ): 是 边缘实例的登录密码设置。 + 详情请参见 SecretConfig。 + instance_area_nums ( Array of InstanceAreaNums ): 是 边缘实例的地域信息,包括地域的名称、运营商和边缘实例的个数等。 + 详情请参见 InstanceAreaNum。 + 如果不指定该参数,代表不创建边缘实例。 + schedule_strategy ( Object of ScheduleStrategy ): 是 调度策略。 + 不设置该参数时,默认按照城市分散、低价优先策略。 + 服务层级为城市级时,无需设置该参数,按照城市分散、低价优先策略。如果该参数设置为其他值,策略将不生效。建议您将该参数留空。 + 服务层级为大区级时,按照设置的策略生效。 + custom_data ( Object of CustomData ): 否 自定义数据。自定义数据为边缘实例的定制信息。最大可输入 16 KB 的自定义数据。 + billing_config ( Object of BillingConfig ): 否 计费方式,包括算力和带宽的计费方式。 + 详情请参见 CreateCloudServerBillingConfigs。 + advanced_configuration ( Object of AdvancedConfiguration ): 否 高级配置,用于自定义边缘实例名称、实例描述信息、主机名称。批量创建边缘实例时,将按照自定义名称顺序生成边缘实例名和主机名。 + project ( String ): 否 通过边缘服务创建的实例所属的项目。 + 如果不设置该参数或参数值为空字符串,采用默认值 default。 + disable_vga ( Boolean ): 否 是否禁用 VGA。取值范围: + - true:禁用VGA。 + - false:启用VGA。 + cloud_server_desc ( String ): 否 边缘服务的描述信息。最多可输入 80 个字符。 + create_instance_timeout ( Long ): 否 边缘实例的创建超时时间。单位:秒。最小值:120。 + 当边缘实例的创建时长超过设置的值时,边缘实例创建失败,其状态变为 open_fail。您可以通过控制台或 API 接口来删除相关实例。 + 如果不指定该参数的值,代表不限制实例创建时长。 + client_token ( String ): 否 + req_params_hash ( String ): 否 + "字段": StorageConfig + system_disk ( Object of SystemDisk ): 是 系统盘。 + 详情请参见 DiskSpec。 + data_disk ( Object of DataDisk ): 否 数据盘。该参数用于添加单块数据盘。 + 详情请参见 DiskSpec。 + data_disk_list ( Array of DataDiskList ): 否 数据盘列表。该参数用于添加一块或多块数据盘。 + 详情请参见 DiskSpec。 + "字段": NetworkConfig + bandwidth_peak ( String ): 否 公网带宽峰值。取值范围:[5,实例规格支持的带宽上限]。取值须是 5 的倍数。单位:Mbps。 + 当您选择 IPv4/IPv6 双栈边缘实例时,所设的带宽峰值将被 IPv4 和 IPv6 公网 IP 地址共享。 + disable_ipv4 设置为 true 时,无需配置 bandwidth_peak 参数。 + enable_ipv6 ( Boolean ): 否 是否启用 IPv6。取值范围: + - true :启用 IPv6。 + - false(默认值):禁用 IPv6。 + 默认分配 IPv4 地址。当您启用 IPv6 时,系统会为边缘实例分配 IPv4 和 IPv6 两个公网 IP 地址。 + disable_ipv4 ( Boolean ): 否 是否禁用 IPv4。取值范围: + - true :禁用 IPv4。 + - false(默认值):启用 IPv4。 + custom_internal_interface_name ( String ): 否 私网网卡的名称。目前仅 VLANVF 规格实例的私网网卡的名称可以被修改。 + custom_external_interface_name ( String ): 否 公网网卡的名称。目前仅 VLANVF 规格实例的公网网卡的名称可以被修改。 + dns_type ( Object of DnsType ): 否 DNS 类型: + - default:默认 DNS。 + - custom:自定义 DNS。 + 如果不设置该参数,代表使用默认的 DNS 配置,即首选 DNS 为 114.114.114.114,备用 DNS 为 223.6.6.6。 + 暂不支持为裸金属实例配置 DNS。当实例规格为裸金属时,无需设置 dns_type 和 dns_list 参数。 + dns_list ( Array of String ): 否 DNS 列表。前面的 IP 地址代表首选 DNS,后面的 IP 地址代表备用 DNS。 + - 当前最多支持一条首选 DNS 和一条备用 DNS。 + - 当 dns_type 设置为 default 时,不允许设置 dns_list。此时,采用默认的 DNS 配置,即首选 DNS 为 114.114.114.114,备用 DNS 为223.6.6.6。 + - 当 dns_type 设置为 custom 时,必须设置 dns_list。至少需要配置一条首选 DNS。可按需配置一条备用 DNS。 + secondary_internal_ip_num ( Integer ): 否 辅助私网 IP 的个数。 + bound_eip_share_bandwidth_peak ( String ): 否 弹性公网 IP 的共享带宽峰值。 + "字段": SecretConfig + secret_type ( Object of SecretType ): 是 边缘实例的登录密码的类型。取值范围: + - 2:自定义密码。 + - 3:SSH Key 类型密码。 + - 4: 代表不注入登录凭证。 + secret_data ( String ): 否 登录密码。 + - 自定义密码:密码输入规则如下: + - 允许 8 ~ 30个字符。密码须至少包含以下类型中的3种:大写字母、小写字母、数字和特殊字符。 + - 支持特殊字符 ()`~!@#$%^&*-+=_{}[]:;',.?/。 + - 不能包含双引号(")、反斜线( )和空格,且不能以正斜线(/)开头。 + - SSH Key 类型密码:输入SSH 密钥对的 ID。您可以通过 ListSSHKey 接口查询密钥对 ID。 + "字段": InstanceAreaNums + area_name ( String ): 是 区域名称。您可以通过 ListAvailableResourceInfo 接口查询实例规格支持的区域、城市、运营商、节点信息。 + isp ( String ): 是 运营商。您可以通过 ListAvailableResourceInfo 接口查询实例规格支持的区域、城市、运营商、节点信息。 + cluster_name ( String ): 否 节点名称。指定希望部署边缘服务的节点。您可以通过 ListAvailableResourceInfo 接口查询实例规格支持的区域、城市、运营商、节点信息。 + vpc_identity ( String ): 否 私有网络的 ID。该参数用于指定边缘服务部署到的私有网络。如果设置了 vpc_identity,必须同时设置 cluster_name。 + num ( Integer ): 是 实例的个数。 + host_name_list ( Array of String ): 否 主机名的列表。系统按顺序将主机名赋给创建的边缘实例。系统允许您同时使用 host_name_list 和 instance_host_name 参数。 这两个参数会同时生效,但是 host_name_list 的优先级高于 instance_host_name。举例:如果您批量创建了 3 个边缘实例,将 instance_host_name 指定为了 host,将 host_name_list 指定为了 "hosta","hostb",那么这 3 个边缘实例的名称将分别为 hosta,hostb 和 host-3。 + default_isp ( String ): 否 默认运营商。该参数仅适用于三线节点。 + 取值范围: + - CMCC + - CUCC + - CTCC + 注意: + - 当 external_network_mode 值为 single_interface_cmcc_ip、single_interface_cucc_ip、single_interface_ctcc_ip 时,default_isp 中指定的运营商须与 external_network_mode 中指定的运营商相同。 + - 当 external_network_mode 值为 single_interface_multi_ip 或 multi_interface_multi_ip 时,default_isp 参数必须指定,参数值可按需设置。 + - 当 external_network_mode 值为 single_interface_single_ip 或 no_interface 时,default_isp 无需指定。 + external_network_mode ( Object of ExternalNetworkMode ): 否 公网配置。该参数仅适用于三线节点。 + 取值范围: + - single_interface_multi_ip:单网卡多 IP。如果您是三线节点的新用户,那么需提交工单开通相关权限。 + - single_interface_cmcc_ip:单网卡移动 IP。需提交工单开通相关权限。 + - single_interface_cucc_ip:单网卡联通 IP。需提交工单开通相关权限。 + - single_interface_ctcc_ip:单网卡电信 IP。需提交工单开通相关权限。 + - multi_interface_multi_ip:多网卡多 IP。需提交工单开通相关权限。 + - single_interface_single_ip:单网卡单 IP。该模式下,系统将根据库存随机分配一个运营商的公网 IP 地址。 + - no_interface:无公网网卡。需提交工单开通相关权限。 + 默认值: + - 当有公网网卡时: + - 单网卡多IP权限开启:默认采用single_interface_multi_ip(单网卡多 IP)。 + - 单网卡多IP权限关闭:默认采用single_interface_single_ip(单网卡单 IP)。 + - 无公网网卡时,默认采用 no_interface。 + "字段": ScheduleStrategy + schedule_strategy ( String ): 是 调度策略: + - dispersion:城市分散。当您在多个区域创建多个边缘实例时,该策略表示系统优先选择不同城市的节点来下发边缘实例。 + - concentration:城市集中。当您在多个区域创建多个边缘实例时,该策略表示系统优先选择相同城市的节点来下发边缘实例。 + price_strategy ( String ): 是 价格策略: + - high_priority:优先高价。当您在多个区域创建多个边缘实例时,该策略表示系统优先选择带宽价格较高的城市的节点来下发边缘实例。 + - low_priority:优先低价。当您在多个区域创建多个边缘实例时,该策略表示系统优先选择带宽价格较低的城市的节点来下发边缘实例。 + "字段": CustomData + data ( String ): 是 自定义数据。自定义数据为边缘实例的定制信息。 + "字段": BillingConfig + computing_billing_method ( Object of ComputingBillingMethod ): 是 算力计费方式,取值范围: + - MonthlyPeak:按月峰值计费。 + - DailyPeak:按日峰值计费。 + bandwidth_billing_method ( Object of BandwidthBillingMethod ): 是 带宽计费方式,取值范围: + - MonthlyP95:按月 95 峰值计费。 + - DailyPeak:按日峰值计费。 + auto_prepay ( Boolean ): 否 + "字段": AdvancedConfiguration + instance_name ( String ): 否 边缘实例的名称。当您批量创建边缘实例时,系统将为自定义实例名称添加数字后缀。举例:-1,-2。 + instance_desc ( String ): 否 边缘实例的描述。当您批量创建边缘实例时,系统将为每个实例添加相同的描述。 + instance_host_name ( String ): 否 自定义的主机名。当您批量创建边缘实例时,系统将为自定义主机名称添加数字后缀。举例:-1,-2。 + "字段": SystemDisk + storage_type ( String ): 是 磁盘类型。取值范围: + - CloudBlockHDD:HDD 型云盘。 + - CloudBlockSSD:SSD 型云盘。 + capacity ( String ): 是 磁盘容量。单位:GB。容量范围: + - 系统云盘:40 ~ 100。 + - 数据云盘:20 ~ 1000。 + 取值须是 10 的倍数。如需更大磁盘容量,请提交工单申请。 + "字段": DataDisk + storage_type ( String ): 是 磁盘类型。取值范围: + - CloudBlockHDD:HDD 型云盘。 + - CloudBlockSSD:SSD 型云盘。 + capacity ( String ): 是 磁盘容量。单位:GB。容量范围: + - 系统云盘:40 ~ 100。 + - 数据云盘:20 ~ 1000。 + 取值须是 10 的倍数。如需更大磁盘容量,请提交工单申请。 + "字段": DataDiskList + storage_type ( String ): 是 磁盘类型。取值范围: + - CloudBlockHDD:HDD 型云盘。 + - CloudBlockSSD:SSD 型云盘。 + capacity ( String ): 是 磁盘容量。单位:GB。容量范围: + - 系统云盘:40 ~ 100。 + - 数据云盘:20 ~ 1000。 + 取值须是 10 的倍数。如需更大磁盘容量,请提交工单申请。 + """, + "update_cloud_server": r""" + Args: + body: A JSON structure + cloud_server_identity ( String ): 是 边缘服务 ID。您可以通过 ListCloudServers 接口查询边缘服务 ID。 + cloud_server_desc ( String ): 否 边缘服务的描述信息,最多可输入 80 个字符。 + 如果不指定该项参数值,代表不修改描述信息。 + image_identity ( String ): 否 镜像 ID。您可以通过 ListImages 接口查询镜像 ID。 + storage_config ( Object of StorageConfig ): 否 存储配置,包括系统盘和数据盘的类型和容量信息。 + 详情请参见 StorageConfig。 + secret_config ( Object of SecretConfig ): 否 边缘实例的登录密码设置,支持自定义类型和 SSH Key 类型的密码。 + 详情请参见 SecretConfig。 + 如果不指定该项参数值,代表不修改登录密码设置。 + network_config ( Object of NetworkConfig ): 否 网络配置。 + 详情请参见 NetworkConfigUpdateReq。 + custom_data ( Object of CustomData ): 否 自定义数据。自定义数据为边缘实例的定制信息。最大可输入 16 KB 的自定义数据。 + 如果不指定该项参数值,代表不修改自定义数据。 + 说明: + - 自定义数据只支持Shell脚本。您需要使用明文方式输入脚本,平台将自动对脚本进行Base64编码。请勿直接输入Base64编码后的脚本。对于Linux系统,脚本通常以 !/bin/bash 开头;对于Windows系统,脚本可以直接输入。 + - 输入的脚本将在边缘实例首次启动时执行。 + instance_project ( String ): 否 新增的边缘实例所属的项目。如果不设置该参数,将保留原来的取值。如果参数值为空字符串,采用默认值 default。 + advanced_configuration ( Object of AdvancedConfiguration ): 否 + billing_config ( Object of BillingConfig ): 否 + disable_vga ( Boolean ): 否 + "字段": StorageConfig + system_disk ( Object of SystemDisk ): 是 系统盘。 + 详情请参见 DiskSpec。 + data_disk ( Object of DataDisk ): 否 数据盘。该参数用于添加单块数据盘。 + 详情请参见 DiskSpec。 + data_disk_list ( Array of DataDiskList ): 否 数据盘列表。该参数用于添加一块或多块数据盘。 + 详情请参见 DiskSpec。 + "字段": SecretConfig + secret_type ( Object of SecretType ): 是 边缘实例的登录密码的类型。取值范围: + - 2:自定义密码。 + - 3:SSH Key 类型密码。 + - 4: 代表不注入登录凭证。 + secret_data ( String ): 否 登录密码。 + - 自定义密码:密码输入规则如下: + - 允许 8 ~ 30个字符。密码须至少包含以下类型中的3种:大写字母、小写字母、数字和特殊字符。 + - 支持特殊字符 ()`~!@#$%^&*-+=_{}[]:;',.?/。 + - 不能包含双引号(")、反斜线( )和空格,且不能以正斜线(/)开头。 + - SSH Key 类型密码:输入SSH 密钥对的 ID。您可以通过 ListSSHKey 接口查询密钥对 ID。 + "字段": NetworkConfig + bandwidth_peak ( String ): 否 公网带宽峰值。取值范围:[5,实例规格支持的带宽上限]。取值须是 5 的倍数。单位:Mbps。 + 当您选择 IPv4/IPv6 双栈边缘实例时,所设的带宽峰值将被 IPv4 和 IPv6 公网 IP 地址共享。 + disable_ipv4 设置为 true 时,无需配置 bandwidth_peak 参数。 + enable_ipv6 ( Boolean ): 否 是否启用 IPv6。取值范围: + - true :启用 IPv6。 + - false(默认值):禁用 IPv6。 + 默认分配 IPv4 地址。当您启用 IPv6 时,系统会为边缘实例分配 IPv4 和 IPv6 两个公网 IP 地址。 + disable_ipv4 ( Boolean ): 否 是否禁用 IPv4。取值范围: + - true :禁用 IPv4。 + - false(默认值):启用 IPv4。 + custom_internal_interface_name ( String ): 否 私网网卡的名称。目前仅 VLANVF 规格实例的私网网卡的名称可以被修改。 + custom_external_interface_name ( String ): 否 公网网卡的名称。目前仅 VLANVF 规格实例的公网网卡的名称可以被修改。 + dns_type ( Object of DnsType ): 否 DNS 类型: + - default:默认 DNS。 + - custom:自定义 DNS。 + 如果不设置该参数,代表使用默认的 DNS 配置,即首选 DNS 为114.114.114.114,备用 DNS 为 223.6.6.6。 + 暂不支持为裸金属实例配置 DNS。当实例规格为裸金属时,无需设置 dns_type 和 dns_list 参数。 + dns_list ( Array of String ): 否 DNS 列表。前面的 IP 地址代表首选 DNS,后面的 IP 地址代表备用 DNS。 + - 当前最多支持一条首选 DNS 和一条备用 DNS。 + - 当 dns_type 设置为 default 时,不允许设置 dns_list。此时,采用默认的 DNS 配置,即首选 DNS 为 114.114.114.114,备用 DNS 为223.6.6.6。 + - 当 dns_type 设置为 custom 时,必须设置 dns_list。至少需要配置一条首选 DNS。可按需配置一条备用 DNS。 + "字段": CustomData + data ( String ): 是 自定义数据。自定义数据为边缘实例的定制信息。 + "字段": AdvancedConfiguration + instance_name ( String ): 否 + instance_desc ( String ): 否 + instance_host_name ( String ): 否 + delete_protection ( Boolean ): 否 + "字段": BillingConfig + computing_billing_method ( Object of ComputingBillingMethod ): 是 + bandwidth_billing_method ( Object of BandwidthBillingMethod ): 是 + pre_paid_period ( Object of PrePaidPeriod ): 否 + pre_paid_period_number ( Long ): 否 + auto_renew ( Boolean ): 否 + auto_prepay ( Boolean ): 否 + "字段": SystemDisk + storage_type ( String ): 是 磁盘类型。取值范围: + - CloudBlockHDD:HDD 型云盘。 + - CloudBlockSSD:SSD 型云盘。 + capacity ( String ): 是 磁盘容量。单位:GB。容量范围: + - 系统云盘:40 ~ 100。 + - 数据云盘:20 ~ 1000。 + 取值须是 10 的倍数。如需更大磁盘容量,请提交工单申请。 + "字段": DataDisk + storage_type ( String ): 是 磁盘类型。取值范围: + - CloudBlockHDD:HDD 型云盘。 + - CloudBlockSSD:SSD 型云盘。 + capacity ( String ): 是 磁盘容量。单位:GB。容量范围: + - 系统云盘:40 ~ 100。 + - 数据云盘:20 ~ 1000。 + 取值须是 10 的倍数。如需更大磁盘容量,请提交工单申请。 + "字段": DataDiskList + storage_type ( String ): 是 磁盘类型。取值范围: + - CloudBlockHDD:HDD 型云盘。 + - CloudBlockSSD:SSD 型云盘。 + capacity ( String ): 是 磁盘容量。单位:GB。容量范围: + - 系统云盘:40 ~ 100。 + - 数据云盘:20 ~ 1000。 + 取值须是 10 的倍数。如需更大磁盘容量,请提交工单申请。 + """, + "get_cloud_server": r""" + Args: + params: A JSON structure + cloud_server_id ( String ): 是 边缘服务 ID。您可以通过 ListCloudServers 接口查询边缘服务 ID。 + """, + "reboot_instances": r""" + Args: + body: A JSON structure + instance_identities ( Array of String ): 是 边缘实例 ID 列表。您可以通过 ListInstances 接口查询边缘实例 ID。 + """, + "start_instances": r""" + Args: + body: A JSON structure + instance_identities ( Array of String ): 是 边缘实例 ID 列表。您可以通过 ListInstances 接口查询边缘实例 ID。 + """, + "stop_instances": r""" + Args: + body: A JSON structure + instance_identities ( Array of String ): 是 边缘实例 ID 列表。您可以通过 ListInstances 接口查询边缘实例 ID。 + """, + "list_instances": r""" + Args: + params: A JSON structure + countries ( String ): 否 国家。 + regions ( String ): 否 区域。区域之间用半角逗号(,)分隔。 + 您可以通过 ListAvailableResourceInfo 接口查询实例规格支持的区域、城市、运营商、节点信息。 + cities ( String ): 否 城市代码。城市之间用半角逗号(,)分隔。 + 您可以通过 ListAvailableResourceInfo 接口查询实例规格支持的区域、城市、运营商、节点信息。 + isps ( String ): 否 运营商。运营商之间用半角逗号(,)分隔。 + 您可以通过 ListAvailableResourceInfo 接口查询实例规格支持的区域、城市、运营商、节点信息。 + status ( String ): 否 边缘实例的状态。实例状态之间用半角逗号(,)分隔。取值范围: + - opening:创建中。 + - starting:启动中。 + - running:运行中。 + - stopping:停止中。 + - stop:已停止。 + - rebooting:重启中。 + - terminating:删除中。 + - open_fail:创建失败。 + cluster_names ( String ): 否 节点名称的列表。名称之间用半角逗号(,)分隔。 + ips ( String ): 否 IP 地址列表。IP 之间用半角逗号(,)分隔。 + cidrs ( String ): 否 子网 CIDR 地址列表。CIDR 地址之间用半角逗号(,)分隔。 + cloud_server_identities ( String ): 否 边缘服务 ID 列表。ID 之间用半角逗号(,)分隔。 + spec_names ( String ): 否 边缘实例规格名称。实例规格之间用半角逗号(,)分隔。 + instance_identities ( String ): 否 边缘实例 ID。ID 之间用半角逗号(,)分隔。 + instance_uuids ( String ): 否 边缘实例 UUID。UUID 之间用半角逗号(,)分隔。 + instance_names ( String ): 否 边缘实例名称。名称之间用半角逗号(,)分隔。 + fuzzy_ip_with_dots ( String ): 否 IPv4 地址。支持模糊查询。IP 地址采用点分十进制格式。 + vpc_identities ( String ): 否 私有网络 ID。ID 之间用半角逗号(,)分隔。 + page ( Integer ): 否 边缘实例列表的页码。 + 如果 page 和 limit 参数都不指定,将返回全量数据;如果仅指定 limit,不指定 page ,将返回第 1 页数据;如果仅指定 page,不指定 limit,将返回全量数据;如果 page 和 limit 都指定,将返回符合条件的数据。 + limit ( Integer ): 否 分页查询时设置的每页行数。 + 如果 page 和 limit 参数都不指定,将返回全量数据;如果仅指定 limit,不指定 page ,将返回第 1 页数据;如果仅指定 page,不指定 limit,将返回全量数据;如果 page 和 limit 都指定,将返回符合条件的数据。 + order_by ( Integer ): 否 查询出来的边缘实例的排列顺序,按照创建时间排序。取值范围: + - 1(默认值):按照降序排列。 + - 2:按照升序排列。 + """, + "get_instance": r""" + Args: + params: A JSON structure + instance_identity ( String ): 是 边缘实例 ID。您可以通过 ListInstances 接口获取边缘实例 ID。 + """, + "reset_login_credential": r""" + Args: + body: A JSON structure + instance_identity ( String ): 是 边缘实例 ID。您可以通过 ListInstances 接口查询边缘实例 ID。 + """, + "set_instance_name": r""" + Args: + body: A JSON structure + instance_identity ( String ): 是 边缘实例 ID。您可以通过 ListInstances 接口查询边缘实例 ID。 + instance_name ( String ): 是 实例名称。命名规则如下: + - 允许5~80个字符。 + - 支持中文、大写字母、小写字母、数字。 + - 支持特殊字符()`~!@#$%^&*-+=_{}[]:;',.?/。 + - 不能包含双引号(")、反斜线( )和空格,且不能以正斜线(/)开头。 + """, + "batch_reset_system": r""" + Args: + body: A JSON structure + instance_identities ( Array of String ): 是 边缘实例 ID 列表。您可以通过 ListInstances 接口查询边缘实例 ID。 + image_identity ( String ): 否 新镜像的 ID。您可以通过 ListImages 接口查询镜像 ID。 + 该参数用于为边缘实例更换镜像。如果您不指定该参数的值,代表不更换边缘实例的镜像。 + """, + "set_instances_bandwidth_peak": r""" + Args: + body: A JSON structure + instance_bandwidth_peak_map ( JSON Map ): 是 边缘实例的带宽峰值。 + with_reboot ( Boolean ): 是 是否重启实例。取值范围: + - true:重启实例。 + - false:不重启实例。 + - 对于私有网络型实例,您在为其修改带宽峰值后无需重启实例。新的带宽峰值会直接生效。因此,建议您将 with_reboot 参数设置为 false。 + - 对于直通型实例,您在为其修改带宽峰值后必须重启实例。这样,新的带宽峰值才会生效。您可以将 with_reboot 参数设置为 true,系统将自动重启实例。 如需使用直通型实例,请提交工单。 + - 如果您指定的实例中既包含私有网络型实例又包含直通型实例,且您将 with_reboot 参数设置为 true,系统仅会重启直通型实例。 + """, + "enable_instances_i_pv6": r""" + Args: + body: A JSON structure + instance_identities ( Array of String ): 是 边缘实例 ID 列表。您可以通过 ListInstances 接口查询边缘实例 ID。 + with_reboot ( Boolean ): 是 是否重启实例。取值范围: + - true:重启实例。 + - false:不重启实例。 + 说明: + 重启实例后,IPv6 的配置才能生效。 + """, + "get_instances_i_pv6_upgrade_status": r""" + Args: + params: A JSON structure + instance_identities ( String ): 是 边缘实例 ID 列表。ID 之间用半角逗号(,)分隔。 + """, + "update_instances_spec": r""" + Args: + body: A JSON structure + instance_identities ( Array of String ): 是 边缘实例 ID 列表。您可以通过 ListInstances 接口查询边缘实例 ID。 + new_spec_name ( String ): 是 新的实例规格的名称。您可以通过 ListInstanceTypes 接口查询可开通的实例规格。 + """, + "list_instance_internal_ips": r""" + Args: + params: A JSON structure + instance_identity ( String ): 是 边缘实例 ID。您可以通过 ListInstances 接口查询边缘实例 ID。 + """, + "set_bound_eip_share_bandwidth_peak": r""" + Args: + body: A JSON structure + instance_identity ( String ): 是 边缘实例 ID。您可以通过 ListInstances 接口查询边缘实例 ID。 + bound_eip_share_bandwidth_peak ( String ): 是 弹性公网 IP 的共享带宽峰值。取值范围与弹性公网 IP 绑定的边缘实例的公网带宽峰值的范围一致。取值须是 5 的倍数。单位:Mbps。 + """, + "batch_bind_eip_to_internal_ips_randomly": r""" + Args: + body: A JSON structure + instance_identity ( String ): 是 边缘实例 ID。您可以通过 ListInstances 接口查询边缘实例 ID。 + internal_ips ( Array of String ): 是 需要绑定的私网 IP 地址的列表。您可以通过 ListInstanceInternalIps 接口查询边缘实例的私网 IP 地址。 + """, + "batch_delete_internal_ips": r""" + Args: + body: A JSON structure + instance_identity ( String ): 是 边缘实例 ID。您可以通过 ListInstances 接口查询边缘实例 ID。 + internal_ips ( Array of String ): 是 私网 IP 地址列表。您可以通过 ListInstanceInternalIps 接口查询边缘实例的私网 IP 地址。 + """, + "get_instance_cloud_disk_info": r""" + Args: + params: A JSON structure + instance_identity ( String ): 是 边缘实例 ID。您可以通过 ListInstances 接口查询边缘实例 ID。 + """, + "set_cloud_server_delete_protection": r""" + Args: + body: A JSON structure + cloud_server_identity ( String ): 是 边缘服务的 ID。您可以通过 ListCloudServers 接口查询边缘服务的 ID。 + cloud_server_delete_protection ( Boolean ): 否 是否为边缘服务开启删除保护。取值范围: + - true:开启删除保护。 + - false:关闭删除保护。 + """, + "set_instance_delete_protection": r""" + Args: + body: A JSON structure + instance_ids ( Array of String ): 是 边缘实例 ID 列表。您可以通过 ListInstances 接口查询边缘实例 ID。 + instance_delete_protection ( Boolean ): 否 是否为边缘实例开启删除保护。取值范围: + - true:开启删除保护。 + - false:关闭删除保护。 + """, + "list_cloud_servers": r""" + Args: + params: A JSON structure + fuzzy_name ( String ): 否 边缘服务名称。支持模糊查询。 + page ( Integer ): 否 边缘服务列表的页码。 + 如果 page 和 limit 参数都不指定,将返回全量数据;如果仅指定 limit,不指定 page ,将返回第 1 页数据;如果仅指定 page,不指定 limit,将返回全量数据;如果 page 和 limit 都指定,将返回符合条件的数据。 + limit ( Integer ): 否 分页查询时设置的每页行数。 + 默认值:10。 + 如果 page 和 limit 参数都不指定,将返回全量数据;如果仅指定 limit,不指定 page ,将返回第 1 页数据;如果仅指定 page,不指定 limit,将返回全量数据;如果 page 和 limit 都指定,将返回符合条件的数据。 + order_by ( Integer ): 否 查询出来的边缘服务的排列顺序,按照创建时间排序。取值范围: + - 1(默认值):按照降序排列。 + - 2:按照升序排列。 + """, + "list_instance_types": r""" + """, + "list_available_resource_info": r""" + Args: + params: A JSON structure + instance_type ( String ): 是 实例规格。您可以通过 ListInstanceTypes 接口获取可开通的实例规格。 + cloud_disk_type ( String ): 是 磁盘类型。取值范围: + - CloudHDD:HDD 型云盘。 + - CloudSSD:SSD 型云盘。 + """, + "create_instance": r""" + Args: + body: A JSON structure + cloud_server_identity ( String ): 是 边缘实例所属的边缘服务的 ID。您可以通过 ListCloudServers 接口查询边缘服务的 ID。 + instance_area_nums ( Array of InstanceAreaNums ): 是 边缘实例的地域信息。 + "字段": InstanceAreaNums + area_name ( String ): 否 区域名称。您可以通过 ListAvailableResourceInfo 接口查询实例规格支持的区域、城市、运营商、节点信息。 + isp ( String ): 否 运营商。您可以通过 ListAvailableResourceInfo 接口查询实例规格支持的区域、城市、运营商、节点信息。 + cluster_name ( String ): 否 节点名称。指定希望部署边缘服务的节点。您可以通过 ListAvailableResourceInfo 接口查询实例规格支持的区域、城市、运营商、节点信息。 + vpc_identity ( String ): 否 私有网络的 ID。该参数用于指定边缘服务部署到的私有网络。如果设置了 vpc_identity,必须同时设置 cluster_name。 + num ( Integer ): 是 实例的个数。 + host_name_list ( Array of String ): 否 主机名的列表。系统按顺序将主机名赋给创建的边缘实例。系统允许您同时使用 host_name_list 和 instance_host_name 参数。 这两个参数会同时生效,但是 host_name_list 的优先级高于 instance_host_name。举例:如果您批量创建了 3 个边缘实例,将 instance_host_name 指定为了 host,将 host_name_list 指定为了 "hosta","hostb",那么这 3 个边缘实例的名称将分别为 hosta,hostb 和 host-3。 + default_isp ( String ): 否 默认运营商。该参数仅适用于三线节点。 + 取值范围: + - CMCC + - CUCC + - CTCC + 注意: + - 当 external_network_mode 值为 single_interface_cmcc_ip、single_interface_cucc_ip、single_interface_ctcc_ip 时,default_isp 中指定的运营商须与 external_network_mode 中指定的运营商相同。 + - 当 external_network_mode 值为 single_interface_multi_ip 或 multi_interface_multi_ip 时,default_isp 参数必须指定,参数值可按需设置。 + - 当 external_network_mode 值为 single_interface_single_ip 或 no_interface 时,default_isp 无需指定。 + external_network_mode ( String ): 否 公网配置。该参数仅适用于三线节点。 + 取值范围: + - single_interface_multi_ip:单网卡多 IP。如果您是三线节点的新用户,那么需提交工单开通相关权限。 + - single_interface_cmcc_ip:单网卡移动 IP。需提交工单开通相关权限。 + - single_interface_cucc_ip:单网卡联通 IP。需提交工单开通相关权限。 + - single_interface_ctcc_ip:单网卡电信 IP。需提交工单开通相关权限。 + - multi_interface_multi_ip:多网卡多 IP。需提交工单开通相关权限。 + - single_interface_single_ip:单网卡单 IP。该模式下,系统将根据库存随机分配一个运营商的公网 IP 地址。 + - no_interface:无公网网卡。需提交工单开通相关权限。 + 默认值: + - 当有公网网卡时: + - 单网卡多IP权限开启:默认采用single_interface_multi_ip(单网卡多 IP)。 + - 单网卡多IP权限关闭:默认采用single_interface_single_ip(单网卡单 IP)。 + - 无公网网卡时,默认采用 no_interface。 + """, + "create_secondary_internal_ip_and_reboot": r""" + Args: + body: A JSON structure + instance_identity ( String ): 是 边缘实例 ID。您可以通过 ListInstances 接口查询边缘实例 ID。 + num ( Integer ): 是 新增的辅助私网 IP 地址的数量。您可以通过 ListInstanceInternalIps 接口获取私网 IP 地址列表。 + """, + "bind_eip_to_internal_ip": r""" + Args: + body: A JSON structure + instance_identity ( String ): 是 边缘实例 ID。您可以通过 ListInstances 接口查询边缘实例 ID。 + eip_identity ( String ): 是 弹性公网 IP 的 ID。 + internal_ip ( String ): 是 私网 IP 地址列表。您可以通过 ListInstanceInternalIps 接口查询边缘实例的私网 IP 地址。 + """, + "list_images": r""" + Args: + params: A JSON structure + instance_type ( String ): 是 实例规格。您可以通过 ListInstanceTypes 接口获取可开通的实例规格。 + system_arch ( String ): 否 操作系统的架构。取值范围: + - Linux:Linux 操作系统。 + - Windows:Windows 操作系统。 + system_bit ( String ): 否 操作系统的位数。取值范围: + - 32:32位操作系统。 + - 64:64位操作系统。 + system_type ( String ): 否 操作系统的类型。取值范围: + Linux: + - CentOS + - Ubuntu + - Debian + Windows: + - Windows + system_version ( String ): 否 操作系统的版本。取值范围: + CentOS: + - 6.9 + - 7.2 + - 7.3 + - 7.4 + - 7.5 + - 7.6 + - 7.8 + - 7.9 + - 8.3 + Debian: + - 9 + - 10 + Ubuntu: + - Server 16.04 LTS + - Server 18.04 LTS + - Server 20.04 LTS + Windows: + - 10 + - 2012 R2 STD 标准版 + - 2016 STD 标准版 + - 2019 STD 标准版 + disk_size ( Integer ): 否 镜像的系统盘的大小。单位:GB。 + label ( String ): 否 镜像标签,取值范围: + - IPV6:IPv6。 + - MultiIPPriNet:辅助私网 IP。 + 镜像标签之间用半角逗号(,)分隔。 + 说明: + - label 参数仅在 property 参数的值为 PublicBaseImage生效。 + - 如果您没有开通 IPv6、辅助私网 IP 功能,无法通过指定 label 参数来列出相关镜像。如需开通相关功能,请提交工单申请。 + property ( String ): 否 镜像属性,取值范围: + - BENBuildImage:通过边缘实例创建的镜像。 + - LocalImage:本地镜像。 + - PublicBaseImage:公共镜像。 + - UrlImage:通过 URL 上传的镜像。 + """, + "get_image": r""" + Args: + params: A JSON structure + image_id ( String ): 是 镜像 ID。您可以通过 ListImages 接口查询镜像 ID。 + """, + "build_image_by_vm": r""" + Args: + body: A JSON structure + veen_vm_id ( String ): 是 用于创建镜像的边缘实例的 ID。您可以通过 ListInstances 接口查询边缘实例 ID。 + image_name ( String ): 是 镜像名称。命名规则如下: + - 允许 5~80 个字符。 + - 支持中文、大写字母、小写字母、数字。 + - 支持特殊字符 ()`~!@#$%^&*-+=_{}[]:;',.?/。 + - 不能包含双引号(")、反斜线( )和空格,且不能以正斜线(/)开头。 + description ( String ): 否 镜像的描述信息。 + """, + "upload_url_image": r""" + Args: + body: A JSON structure + image_name ( String ): 是 镜像名称。命名规则如下: + - 允许 5~80 个字符。 + - 支持中文、大写字母、小写字母、数字。 + - 支持特殊字符 ()`~!@#$%^&*-+=_{}[]:;',.?/。 + - 不能包含双引号(")、反斜线( )和空格,且不能以正斜线(/)开头。 + url ( String ): 是 上传的镜像的地址。 + system_arch ( String ): 是 操作系统。取值范围: + - Linux:Linux操作系统。 + - Windows:Windows操作系统。 + system_bit ( String ): 是 系统架构。取值范围: + - 32:32位操作系统。 + - 64:64位操作系统。 + system_type ( String ): 是 系统平台。取值范围: + Linux: + - CentOS + - Ubuntu + - Debian + Windows: + - Windows + system_version ( String ): 是 镜像系统版本。取值范围: + CentOS: + - 6.9 + - 7.2 + - 7.3 + - 7.4 + - 7.5 + - 7.6 + - 7.8 + - 7.9 + - 8.3 + Debian: + - 9 + - 10 + Ubuntu: + - Server 16.04 LTS + - Server 18.04 LTS + - Server 20.04 LTS + Windows: + - 10 + - 2012 R2 STD 标准版 + - 2016 STD 标准版 + - 2019 STD 标准版 + disk_size ( Integer ): 是 系统盘大小。该参数值代表您在使用该镜像创建边缘实例时,系统盘可选的最小值。单位:GB。取值范围:50~100。该参数值须为 10 的倍数。 + description ( String ): 否 镜像的描述信息。 + """, + "update_image": r""" + Args: + body: A JSON structure + image_id ( String ): 是 镜像 ID。 + image_name ( String ): 否 镜像名称。 + description ( String ): 否 镜像的描述信息。 + """, + "delete_image": r""" + Args: + body: A JSON structure + image_id ( String ): 是 镜像 ID。您可以通过 ListImages 接口查询镜像 ID。 + """, + "get_veen_instance_usage": r""" + Args: + params: A JSON structure + start_bill_cycle ( String ): 是 账单的起始时间。格式为 YYYY-MM。 + end_bill_cycle ( String ): 是 账单的结束时间。格式为 YYYY-MM。 + bill_method ( String ): 否 计费方式,取值范围: + - MonthlyPeak(默认值):按月峰值计费。 + - DailyPeak:按日峰值计费。如您有日峰值计费或其他方式计费需求,请提交工单。 + """, + "get_veew_instance_usage": r""" + Args: + params: A JSON structure + start_bill_cycle ( String ): 是 账单的起始时间。格式为 YYYY-MM。 + end_bill_cycle ( String ): 是 账单的结束时间。格式为 YYYY-MM。 + bill_method ( String ): 否 计费方式,取值范围: + - MonthlyPeak(默认值):按月峰值计费。 + - DailyPeak:按日峰值计费。如您有日峰值计费或其他方式计费需求,请提交工单。 + """, + "get_bandwidth_usage": r""" + Args: + params: A JSON structure + start_bill_cycle ( String ): 是 账单的起始时间。格式为 YYYY-MM。 + end_bill_cycle ( String ): 是 账单的结束时间。格式为 YYYY-MM。 + bill_method ( String ): 否 计费方式,取值范围: + - MonthlyP95(默认值 ):按月 95 峰值计费。 + - DailyPeak:按日峰值计费。如您有日峰值计费或其他方式计费需求,请提交工单。 + """, + "get_billing_usage_detail": r""" + Args: + params: A JSON structure + start_date ( String ): 是 统计起始时间。格式为 YYYY-MM-DD。 + end_date ( String ): 是 统计结束时间。格式为 YYYY-MM-DD。 + charge_item ( String ): 是 查询的计费项,取值范围: + - CPU:CPU 核数。 + - MEM:内存,单位:GB。 + - InstanceCount:实例数量。 + - Storage:存储,单位:GB。 + bill_method ( String ): 否 计费方式,取值范围: + - *MonthlyPeak *(默认值):按月峰值计费。 + - DailyPeak:按日峰值计费。如您有日峰值计费或其他方式计费需求,请提交工单。 + """, + "list_vpc_instances": r""" + Args: + params: A JSON structure + page ( String ): 否 私有网络列表的页码。 + limit ( Integer ): 否 分页查询时设置的每页行数。 + order_by ( Integer ): 否 查询出来的私有网络的排列顺序,按照创建时间排序。取值范围: + - 1:按照降序排列。 + - 2(默认值):按照升序排列。 + cluster_names ( String ): 否 节点名称的列表。多个节点之间用半角逗号(,)分隔。 + vpc_identity_list ( String ): 否 私有网络 ID 的列表。多个私有网络之间用半角逗号(,)分隔。 + fuzzy_vpc_id_or_name ( String ): 否 私有网络 ID 或者名称。支持模糊查询。 + with_resource_statistic ( Boolean ): 否 是否返回私有网络下的资源的统计数据。取值范围: + - true:返回资源的统计数据。 + - false:不返回资源的统计数据。 + """, + "set_vpc_instance_desc": r""" + Args: + body: A JSON structure + vpc_identity ( String ): 是 私有网络的 ID。 + desc ( String ): 否 私有网络的描述。如果不指定该参数或参数值为空字符串,原来的描述将被清空。 + """, + "list_route_tables": r""" + Args: + params: A JSON structure + route_table_list ( String ): 否 路由表 ID 列表。ID 之间用半角逗号(,)分隔。 + status_list ( String ): 否 路由表状态列表。路由表状态之间用半角逗号(,)分隔。取值范围: + - updating:变更中。 + - running:运行中。 + 如果不指定该参数,系统将查询所有状态的路由表。 + type_list ( String ): 否 路由表类型列表。路由表类型之间用半角逗号(,)分隔。取值范围: + - default:默认路由表。 + 如果不指定该参数,系统将查询所有类型的路由表。 + fuzzy_route_table_id ( String ): 否 路由表 ID。支持模糊查询。 + fuzzy_route_table_name ( String ): 否 路由表名称。支持模糊查询。 + fuzzy_vpc_id ( String ): 否 私有网络 ID。支持模糊查询。 + cluster_name_list ( String ): 否 节点列表。节点之间用半角逗号(,)分隔。 + page ( Integer ): 否 路由表列表的页码。如果不填,将返回第 1 页的数据。 + limit ( Integer ): 否 分页查询时设置的每页行数。 + 默认值:10。 + order_by ( Integer ): 否 查询出来的路由表的排列顺序,按照创建时间排序。取值范围: + - 1(默认值):按照降序排列。 + - 2:按照升序排列。 + """, + "get_route_table": r""" + Args: + params: A JSON structure + route_table_identity ( String ): 是 路由表 ID。您可以通过 ListRouteTables 接口获取路由表 ID。 + """, + "set_route_table_name_and_desc": r""" + Args: + body: A JSON structure + route_table_identity ( String ): 是 路由表 ID。您可以通过 ListRouteTables 接口获取路由表 ID。 + name ( String ): 否 路由表名称。命名规则如下: + - 允许 5~50 个字符。 + - 支持中文、大写字母、小写字母、数字。 + - 支持特殊字符 ()`~!@#$%^&*-+=_{}[]:;',.?/。 + - 不能包含双引号(")、反斜线( )和 空格,且不能以正斜线(/)开头。 + 如果不指定该参数,系统将保留原来的名称。 + desc ( String ): 否 路由表描述。 + 如果不指定该参数,系统将保留原来的描述。 + """, + "list_route_entries": r""" + Args: + params: A JSON structure + route_table_identity ( String ): 是 路由表 ID。您可以通过 ListRouteTables 接口获取路由表 ID。 + route_entry_type_list ( String ): 是 路由条目类型。取值范围: + - system:系统路由。 + - custom:自定义路由。 + route_entry_next_hop_list ( String ): 否 路由条目的下一跳列表。下一跳之间用半角逗号(,)分隔。 + 如果不指定该参数,系统将查询所有相关的路由条目。 + page ( Integer ): 否 路由条目列表的页码。如果不指定该参数,系统将返回第 1 页的数据。 + limit ( Integer ): 否 分页查询时设置的每页行数。 + 默认值:10。 + order_by ( Integer ): 否 查询出来的路由条目的排列顺序,按照创建时间排序。取值范围: + - 1(默认值):按照降序排列。 + - 2:按照升序排列。 + """, + "create_route_entries": r""" + Args: + body: A JSON structure + route_table_identity ( String ): 是 路由表 ID。您可以通过 ListRouteTables 接口获取路由表 ID。 + route_entry_list ( Array of RouteEntryList ): 是 要增加的路由条目的列表。 + "字段": RouteEntryList + type ( String ): 是 路由条目的类型。取值范围: + - custom:自定义路由条目。 + dest_cidr ( String ): 是 目的地址。目的地址使用 CIDR 格式。不支持 IPv6 地址。 + next_hop_type ( String ): 是 下一跳类型。取值范围: + - veen:边缘实例。 + - vpc_vgw:边缘云网关。 + next_hop ( String ): 是 下一跳。 + desc ( String ): 否 路由条目的描述。最多可输入 80 个字符。 + is_enable ( Boolean ): 是 是否启用路由条目。取值范围: + - true:启用路由条目。 + - false:不启用路由条目。 + """, + "delete_route_entry": r""" + Args: + body: A JSON structure + route_table_identity ( String ): 是 路由表 ID。您可以通过 ListRouteTables 接口获取路由表 ID。 + route_entry_identity ( String ): 是 路由条目 ID。您可以通过 ListRouteEntries 接口获取路由条目 ID。 + """, + "enable_route_entry": r""" + Args: + body: A JSON structure + route_table_identity ( String ): 是 路由表 ID。您可以通过 ListRouteTables 接口获取路由表 ID。 + route_entry_identity ( String ): 是 路由条目 ID。您可以通过 ListRouteEntries 接口获取路由条目 ID。 + """, + "disable_route_entry": r""" + Args: + body: A JSON structure + route_table_identity ( String ): 是 路由表 ID。您可以通过 ListRouteTables 接口获取路由表 ID。 + route_entry_identity ( String ): 是 路由条目 ID。您可以通过 ListRouteEntries 接口获取路由条目 ID。 + """, + "set_route_entry_desc": r""" + Args: + body: A JSON structure + route_table_identity ( String ): 是 路由表 ID。您可以通过 ListRouteTables 接口获取路由表 ID。 + route_entry_identity ( String ): 是 路由条目 ID。您可以通过 ListRouteEntries 接口获取路由条目 ID。 + desc ( String ): 是 路由条目的描述。最多可输入 80 个字符。 + """, +} diff --git a/server/mcp_server_veen/python/build/lib/vcloud/veen/server.py b/server/mcp_server_veen/python/build/lib/vcloud/veen/server.py new file mode 100644 index 0000000..c0b2de5 --- /dev/null +++ b/server/mcp_server_veen/python/build/lib/vcloud/veen/server.py @@ -0,0 +1,32 @@ +# coding:utf-8 + +from vcloud.veen.mcp_server import create_mcp_server +from dotenv import load_dotenv +import asyncio +import sys +import argparse + +load_dotenv() + + +def main(): + try: + parser = argparse.ArgumentParser(description="Run the VEEN MCP Server") + parser.add_argument( + "--transport", + "-t", + choices=["sse", "stdio"], + default="stdio", + help="Transport protocol to use (sse or stdio)", + ) + args = parser.parse_args() + print(args.transport) + mcp = create_mcp_server() + asyncio.run(mcp.run(transport=args.transport)) + except Exception as e: + print(f"Error occurred while starting the server: {e}", file=sys.stderr) + sys.exit(1) + + +if __name__ == "__main__": + main() diff --git a/server/mcp_server_veen/python/pyproject.toml b/server/mcp_server_veen/python/pyproject.toml index d3de407..8487e7d 100644 --- a/server/mcp_server_veen/python/pyproject.toml +++ b/server/mcp_server_veen/python/pyproject.toml @@ -1,8 +1,9 @@ + [project] name = "mcp-server-veen" version = "0.1.0" -description = "Apply, configure, and query for edge computing nodes, including virtual machines, images, bare metal, and corresponding network configurations." -readme = "../README.md" +description = "MCP server for veenedge" +readme = "README.md" requires-python = ">=3.11" dependencies = [ "mcp>=1.6.0", @@ -13,9 +14,13 @@ dependencies = [ "volcengine>=1.0.180", ] +[project.scripts] +mcp-server-veen= "vcloud.veen.server:main" + + [build-system] requires = ["setuptools>=61.0"] build-backend = "setuptools.build_meta" [tool.setuptools.packages.find] -where = ["."] \ No newline at end of file +where = ["."] diff --git a/server/mcp_server_veen/python/uv.lock b/server/mcp_server_veen/python/uv.lock index c2e0273..1128b55 100644 --- a/server/mcp_server_veen/python/uv.lock +++ b/server/mcp_server_veen/python/uv.lock @@ -1,14 +1,14 @@ version = 1 -revision = 2 +revision = 1 requires-python = ">=3.11" [[package]] name = "annotated-types" version = "0.7.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", size = 16081, upload_time = "2024-05-20T21:33:25.928Z" } +sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", size = 16081 } wheels = [ - { url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643, upload_time = "2024-05-20T21:33:24.1Z" }, + { url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643 }, ] [[package]] @@ -20,9 +20,9 @@ dependencies = [ { name = "sniffio" }, { name = "typing-extensions", marker = "python_full_version < '3.13'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/95/7d/4c1bd541d4dffa1b52bd83fb8527089e097a106fc90b467a7313b105f840/anyio-4.9.0.tar.gz", hash = "sha256:673c0c244e15788651a4ff38710fea9675823028a6f08a5eda409e0c9840a028", size = 190949, upload_time = "2025-03-17T00:02:54.77Z" } +sdist = { url = "https://files.pythonhosted.org/packages/95/7d/4c1bd541d4dffa1b52bd83fb8527089e097a106fc90b467a7313b105f840/anyio-4.9.0.tar.gz", hash = "sha256:673c0c244e15788651a4ff38710fea9675823028a6f08a5eda409e0c9840a028", size = 190949 } wheels = [ - { url = "https://files.pythonhosted.org/packages/a1/ee/48ca1a7c89ffec8b6a0c5d02b89c305671d5ffd8d3c94acf8b8c408575bb/anyio-4.9.0-py3-none-any.whl", hash = "sha256:9f76d541cad6e36af7beb62e978876f3b41e3e04f2c1fbf0884604c0a9c4d93c", size = 100916, upload_time = "2025-03-17T00:02:52.713Z" }, + { url = "https://files.pythonhosted.org/packages/a1/ee/48ca1a7c89ffec8b6a0c5d02b89c305671d5ffd8d3c94acf8b8c408575bb/anyio-4.9.0-py3-none-any.whl", hash = "sha256:9f76d541cad6e36af7beb62e978876f3b41e3e04f2c1fbf0884604c0a9c4d93c", size = 100916 }, ] [[package]] @@ -33,66 +33,66 @@ dependencies = [ { name = "soupsieve" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/f0/3c/adaf39ce1fb4afdd21b611e3d530b183bb7759c9b673d60db0e347fd4439/beautifulsoup4-4.13.3.tar.gz", hash = "sha256:1bd32405dacc920b42b83ba01644747ed77456a65760e285fbc47633ceddaf8b", size = 619516, upload_time = "2025-02-04T20:05:01.681Z" } +sdist = { url = "https://files.pythonhosted.org/packages/f0/3c/adaf39ce1fb4afdd21b611e3d530b183bb7759c9b673d60db0e347fd4439/beautifulsoup4-4.13.3.tar.gz", hash = "sha256:1bd32405dacc920b42b83ba01644747ed77456a65760e285fbc47633ceddaf8b", size = 619516 } wheels = [ - { url = "https://files.pythonhosted.org/packages/f9/49/6abb616eb3cbab6a7cca303dc02fdf3836de2e0b834bf966a7f5271a34d8/beautifulsoup4-4.13.3-py3-none-any.whl", hash = "sha256:99045d7d3f08f91f0d656bc9b7efbae189426cd913d830294a15eefa0ea4df16", size = 186015, upload_time = "2025-02-04T20:05:03.729Z" }, + { url = "https://files.pythonhosted.org/packages/f9/49/6abb616eb3cbab6a7cca303dc02fdf3836de2e0b834bf966a7f5271a34d8/beautifulsoup4-4.13.3-py3-none-any.whl", hash = "sha256:99045d7d3f08f91f0d656bc9b7efbae189426cd913d830294a15eefa0ea4df16", size = 186015 }, ] [[package]] name = "certifi" version = "2025.1.31" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/1c/ab/c9f1e32b7b1bf505bf26f0ef697775960db7932abeb7b516de930ba2705f/certifi-2025.1.31.tar.gz", hash = "sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651", size = 167577, upload_time = "2025-01-31T02:16:47.166Z" } +sdist = { url = "https://files.pythonhosted.org/packages/1c/ab/c9f1e32b7b1bf505bf26f0ef697775960db7932abeb7b516de930ba2705f/certifi-2025.1.31.tar.gz", hash = "sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651", size = 167577 } wheels = [ - { url = "https://files.pythonhosted.org/packages/38/fc/bce832fd4fd99766c04d1ee0eead6b0ec6486fb100ae5e74c1d91292b982/certifi-2025.1.31-py3-none-any.whl", hash = "sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe", size = 166393, upload_time = "2025-01-31T02:16:45.015Z" }, + { url = "https://files.pythonhosted.org/packages/38/fc/bce832fd4fd99766c04d1ee0eead6b0ec6486fb100ae5e74c1d91292b982/certifi-2025.1.31-py3-none-any.whl", hash = "sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe", size = 166393 }, ] [[package]] name = "charset-normalizer" version = "3.4.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/16/b0/572805e227f01586461c80e0fd25d65a2115599cc9dad142fee4b747c357/charset_normalizer-3.4.1.tar.gz", hash = "sha256:44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3", size = 123188, upload_time = "2024-12-24T18:12:35.43Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/72/80/41ef5d5a7935d2d3a773e3eaebf0a9350542f2cab4eac59a7a4741fbbbbe/charset_normalizer-3.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8bfa33f4f2672964266e940dd22a195989ba31669bd84629f05fab3ef4e2d125", size = 194995, upload_time = "2024-12-24T18:10:12.838Z" }, - { url = "https://files.pythonhosted.org/packages/7a/28/0b9fefa7b8b080ec492110af6d88aa3dea91c464b17d53474b6e9ba5d2c5/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28bf57629c75e810b6ae989f03c0828d64d6b26a5e205535585f96093e405ed1", size = 139471, upload_time = "2024-12-24T18:10:14.101Z" }, - { url = "https://files.pythonhosted.org/packages/71/64/d24ab1a997efb06402e3fc07317e94da358e2585165930d9d59ad45fcae2/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f08ff5e948271dc7e18a35641d2f11a4cd8dfd5634f55228b691e62b37125eb3", size = 149831, upload_time = "2024-12-24T18:10:15.512Z" }, - { url = "https://files.pythonhosted.org/packages/37/ed/be39e5258e198655240db5e19e0b11379163ad7070962d6b0c87ed2c4d39/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:234ac59ea147c59ee4da87a0c0f098e9c8d169f4dc2a159ef720f1a61bbe27cd", size = 142335, upload_time = "2024-12-24T18:10:18.369Z" }, - { url = "https://files.pythonhosted.org/packages/88/83/489e9504711fa05d8dde1574996408026bdbdbd938f23be67deebb5eca92/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd4ec41f914fa74ad1b8304bbc634b3de73d2a0889bd32076342a573e0779e00", size = 143862, upload_time = "2024-12-24T18:10:19.743Z" }, - { url = "https://files.pythonhosted.org/packages/c6/c7/32da20821cf387b759ad24627a9aca289d2822de929b8a41b6241767b461/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eea6ee1db730b3483adf394ea72f808b6e18cf3cb6454b4d86e04fa8c4327a12", size = 145673, upload_time = "2024-12-24T18:10:21.139Z" }, - { url = "https://files.pythonhosted.org/packages/68/85/f4288e96039abdd5aeb5c546fa20a37b50da71b5cf01e75e87f16cd43304/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c96836c97b1238e9c9e3fe90844c947d5afbf4f4c92762679acfe19927d81d77", size = 140211, upload_time = "2024-12-24T18:10:22.382Z" }, - { url = "https://files.pythonhosted.org/packages/28/a3/a42e70d03cbdabc18997baf4f0227c73591a08041c149e710045c281f97b/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4d86f7aff21ee58f26dcf5ae81a9addbd914115cdebcbb2217e4f0ed8982e146", size = 148039, upload_time = "2024-12-24T18:10:24.802Z" }, - { url = "https://files.pythonhosted.org/packages/85/e4/65699e8ab3014ecbe6f5c71d1a55d810fb716bbfd74f6283d5c2aa87febf/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:09b5e6733cbd160dcc09589227187e242a30a49ca5cefa5a7edd3f9d19ed53fd", size = 151939, upload_time = "2024-12-24T18:10:26.124Z" }, - { url = "https://files.pythonhosted.org/packages/b1/82/8e9fe624cc5374193de6860aba3ea8070f584c8565ee77c168ec13274bd2/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:5777ee0881f9499ed0f71cc82cf873d9a0ca8af166dfa0af8ec4e675b7df48e6", size = 149075, upload_time = "2024-12-24T18:10:30.027Z" }, - { url = "https://files.pythonhosted.org/packages/3d/7b/82865ba54c765560c8433f65e8acb9217cb839a9e32b42af4aa8e945870f/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:237bdbe6159cff53b4f24f397d43c6336c6b0b42affbe857970cefbb620911c8", size = 144340, upload_time = "2024-12-24T18:10:32.679Z" }, - { url = "https://files.pythonhosted.org/packages/b5/b6/9674a4b7d4d99a0d2df9b215da766ee682718f88055751e1e5e753c82db0/charset_normalizer-3.4.1-cp311-cp311-win32.whl", hash = "sha256:8417cb1f36cc0bc7eaba8ccb0e04d55f0ee52df06df3ad55259b9a323555fc8b", size = 95205, upload_time = "2024-12-24T18:10:34.724Z" }, - { url = "https://files.pythonhosted.org/packages/1e/ab/45b180e175de4402dcf7547e4fb617283bae54ce35c27930a6f35b6bef15/charset_normalizer-3.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:d7f50a1f8c450f3925cb367d011448c39239bb3eb4117c36a6d354794de4ce76", size = 102441, upload_time = "2024-12-24T18:10:37.574Z" }, - { url = "https://files.pythonhosted.org/packages/0a/9a/dd1e1cdceb841925b7798369a09279bd1cf183cef0f9ddf15a3a6502ee45/charset_normalizer-3.4.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:73d94b58ec7fecbc7366247d3b0b10a21681004153238750bb67bd9012414545", size = 196105, upload_time = "2024-12-24T18:10:38.83Z" }, - { url = "https://files.pythonhosted.org/packages/d3/8c/90bfabf8c4809ecb648f39794cf2a84ff2e7d2a6cf159fe68d9a26160467/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dad3e487649f498dd991eeb901125411559b22e8d7ab25d3aeb1af367df5efd7", size = 140404, upload_time = "2024-12-24T18:10:44.272Z" }, - { url = "https://files.pythonhosted.org/packages/ad/8f/e410d57c721945ea3b4f1a04b74f70ce8fa800d393d72899f0a40526401f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c30197aa96e8eed02200a83fba2657b4c3acd0f0aa4bdc9f6c1af8e8962e0757", size = 150423, upload_time = "2024-12-24T18:10:45.492Z" }, - { url = "https://files.pythonhosted.org/packages/f0/b8/e6825e25deb691ff98cf5c9072ee0605dc2acfca98af70c2d1b1bc75190d/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa", size = 143184, upload_time = "2024-12-24T18:10:47.898Z" }, - { url = "https://files.pythonhosted.org/packages/3e/a2/513f6cbe752421f16d969e32f3583762bfd583848b763913ddab8d9bfd4f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc2722592d8998c870fa4e290c2eec2c1569b87fe58618e67d38b4665dfa680d", size = 145268, upload_time = "2024-12-24T18:10:50.589Z" }, - { url = "https://files.pythonhosted.org/packages/74/94/8a5277664f27c3c438546f3eb53b33f5b19568eb7424736bdc440a88a31f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffc9202a29ab3920fa812879e95a9e78b2465fd10be7fcbd042899695d75e616", size = 147601, upload_time = "2024-12-24T18:10:52.541Z" }, - { url = "https://files.pythonhosted.org/packages/7c/5f/6d352c51ee763623a98e31194823518e09bfa48be2a7e8383cf691bbb3d0/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:804a4d582ba6e5b747c625bf1255e6b1507465494a40a2130978bda7b932c90b", size = 141098, upload_time = "2024-12-24T18:10:53.789Z" }, - { url = "https://files.pythonhosted.org/packages/78/d4/f5704cb629ba5ab16d1d3d741396aec6dc3ca2b67757c45b0599bb010478/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0f55e69f030f7163dffe9fd0752b32f070566451afe180f99dbeeb81f511ad8d", size = 149520, upload_time = "2024-12-24T18:10:55.048Z" }, - { url = "https://files.pythonhosted.org/packages/c5/96/64120b1d02b81785f222b976c0fb79a35875457fa9bb40827678e54d1bc8/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c4c3e6da02df6fa1410a7680bd3f63d4f710232d3139089536310d027950696a", size = 152852, upload_time = "2024-12-24T18:10:57.647Z" }, - { url = "https://files.pythonhosted.org/packages/84/c9/98e3732278a99f47d487fd3468bc60b882920cef29d1fa6ca460a1fdf4e6/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:5df196eb874dae23dcfb968c83d4f8fdccb333330fe1fc278ac5ceeb101003a9", size = 150488, upload_time = "2024-12-24T18:10:59.43Z" }, - { url = "https://files.pythonhosted.org/packages/13/0e/9c8d4cb99c98c1007cc11eda969ebfe837bbbd0acdb4736d228ccaabcd22/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e358e64305fe12299a08e08978f51fc21fac060dcfcddd95453eabe5b93ed0e1", size = 146192, upload_time = "2024-12-24T18:11:00.676Z" }, - { url = "https://files.pythonhosted.org/packages/b2/21/2b6b5b860781a0b49427309cb8670785aa543fb2178de875b87b9cc97746/charset_normalizer-3.4.1-cp312-cp312-win32.whl", hash = "sha256:9b23ca7ef998bc739bf6ffc077c2116917eabcc901f88da1b9856b210ef63f35", size = 95550, upload_time = "2024-12-24T18:11:01.952Z" }, - { url = "https://files.pythonhosted.org/packages/21/5b/1b390b03b1d16c7e382b561c5329f83cc06623916aab983e8ab9239c7d5c/charset_normalizer-3.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:6ff8a4a60c227ad87030d76e99cd1698345d4491638dfa6673027c48b3cd395f", size = 102785, upload_time = "2024-12-24T18:11:03.142Z" }, - { url = "https://files.pythonhosted.org/packages/38/94/ce8e6f63d18049672c76d07d119304e1e2d7c6098f0841b51c666e9f44a0/charset_normalizer-3.4.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:aabfa34badd18f1da5ec1bc2715cadc8dca465868a4e73a0173466b688f29dda", size = 195698, upload_time = "2024-12-24T18:11:05.834Z" }, - { url = "https://files.pythonhosted.org/packages/24/2e/dfdd9770664aae179a96561cc6952ff08f9a8cd09a908f259a9dfa063568/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22e14b5d70560b8dd51ec22863f370d1e595ac3d024cb8ad7d308b4cd95f8313", size = 140162, upload_time = "2024-12-24T18:11:07.064Z" }, - { url = "https://files.pythonhosted.org/packages/24/4e/f646b9093cff8fc86f2d60af2de4dc17c759de9d554f130b140ea4738ca6/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8436c508b408b82d87dc5f62496973a1805cd46727c34440b0d29d8a2f50a6c9", size = 150263, upload_time = "2024-12-24T18:11:08.374Z" }, - { url = "https://files.pythonhosted.org/packages/5e/67/2937f8d548c3ef6e2f9aab0f6e21001056f692d43282b165e7c56023e6dd/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d074908e1aecee37a7635990b2c6d504cd4766c7bc9fc86d63f9c09af3fa11b", size = 142966, upload_time = "2024-12-24T18:11:09.831Z" }, - { url = "https://files.pythonhosted.org/packages/52/ed/b7f4f07de100bdb95c1756d3a4d17b90c1a3c53715c1a476f8738058e0fa/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:955f8851919303c92343d2f66165294848d57e9bba6cf6e3625485a70a038d11", size = 144992, upload_time = "2024-12-24T18:11:12.03Z" }, - { url = "https://files.pythonhosted.org/packages/96/2c/d49710a6dbcd3776265f4c923bb73ebe83933dfbaa841c5da850fe0fd20b/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:44ecbf16649486d4aebafeaa7ec4c9fed8b88101f4dd612dcaf65d5e815f837f", size = 147162, upload_time = "2024-12-24T18:11:13.372Z" }, - { url = "https://files.pythonhosted.org/packages/b4/41/35ff1f9a6bd380303dea55e44c4933b4cc3c4850988927d4082ada230273/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0924e81d3d5e70f8126529951dac65c1010cdf117bb75eb02dd12339b57749dd", size = 140972, upload_time = "2024-12-24T18:11:14.628Z" }, - { url = "https://files.pythonhosted.org/packages/fb/43/c6a0b685fe6910d08ba971f62cd9c3e862a85770395ba5d9cad4fede33ab/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2967f74ad52c3b98de4c3b32e1a44e32975e008a9cd2a8cc8966d6a5218c5cb2", size = 149095, upload_time = "2024-12-24T18:11:17.672Z" }, - { url = "https://files.pythonhosted.org/packages/4c/ff/a9a504662452e2d2878512115638966e75633519ec11f25fca3d2049a94a/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c75cb2a3e389853835e84a2d8fb2b81a10645b503eca9bcb98df6b5a43eb8886", size = 152668, upload_time = "2024-12-24T18:11:18.989Z" }, - { url = "https://files.pythonhosted.org/packages/6c/71/189996b6d9a4b932564701628af5cee6716733e9165af1d5e1b285c530ed/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:09b26ae6b1abf0d27570633b2b078a2a20419c99d66fb2823173d73f188ce601", size = 150073, upload_time = "2024-12-24T18:11:21.507Z" }, - { url = "https://files.pythonhosted.org/packages/e4/93/946a86ce20790e11312c87c75ba68d5f6ad2208cfb52b2d6a2c32840d922/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fa88b843d6e211393a37219e6a1c1df99d35e8fd90446f1118f4216e307e48cd", size = 145732, upload_time = "2024-12-24T18:11:22.774Z" }, - { url = "https://files.pythonhosted.org/packages/cd/e5/131d2fb1b0dddafc37be4f3a2fa79aa4c037368be9423061dccadfd90091/charset_normalizer-3.4.1-cp313-cp313-win32.whl", hash = "sha256:eb8178fe3dba6450a3e024e95ac49ed3400e506fd4e9e5c32d30adda88cbd407", size = 95391, upload_time = "2024-12-24T18:11:24.139Z" }, - { url = "https://files.pythonhosted.org/packages/27/f2/4f9a69cc7712b9b5ad8fdb87039fd89abba997ad5cbe690d1835d40405b0/charset_normalizer-3.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:b1ac5992a838106edb89654e0aebfc24f5848ae2547d22c2c3f66454daa11971", size = 102702, upload_time = "2024-12-24T18:11:26.535Z" }, - { url = "https://files.pythonhosted.org/packages/0e/f6/65ecc6878a89bb1c23a086ea335ad4bf21a588990c3f535a227b9eea9108/charset_normalizer-3.4.1-py3-none-any.whl", hash = "sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85", size = 49767, upload_time = "2024-12-24T18:12:32.852Z" }, +sdist = { url = "https://files.pythonhosted.org/packages/16/b0/572805e227f01586461c80e0fd25d65a2115599cc9dad142fee4b747c357/charset_normalizer-3.4.1.tar.gz", hash = "sha256:44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3", size = 123188 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/72/80/41ef5d5a7935d2d3a773e3eaebf0a9350542f2cab4eac59a7a4741fbbbbe/charset_normalizer-3.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8bfa33f4f2672964266e940dd22a195989ba31669bd84629f05fab3ef4e2d125", size = 194995 }, + { url = "https://files.pythonhosted.org/packages/7a/28/0b9fefa7b8b080ec492110af6d88aa3dea91c464b17d53474b6e9ba5d2c5/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28bf57629c75e810b6ae989f03c0828d64d6b26a5e205535585f96093e405ed1", size = 139471 }, + { url = "https://files.pythonhosted.org/packages/71/64/d24ab1a997efb06402e3fc07317e94da358e2585165930d9d59ad45fcae2/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f08ff5e948271dc7e18a35641d2f11a4cd8dfd5634f55228b691e62b37125eb3", size = 149831 }, + { url = "https://files.pythonhosted.org/packages/37/ed/be39e5258e198655240db5e19e0b11379163ad7070962d6b0c87ed2c4d39/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:234ac59ea147c59ee4da87a0c0f098e9c8d169f4dc2a159ef720f1a61bbe27cd", size = 142335 }, + { url = "https://files.pythonhosted.org/packages/88/83/489e9504711fa05d8dde1574996408026bdbdbd938f23be67deebb5eca92/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd4ec41f914fa74ad1b8304bbc634b3de73d2a0889bd32076342a573e0779e00", size = 143862 }, + { url = "https://files.pythonhosted.org/packages/c6/c7/32da20821cf387b759ad24627a9aca289d2822de929b8a41b6241767b461/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eea6ee1db730b3483adf394ea72f808b6e18cf3cb6454b4d86e04fa8c4327a12", size = 145673 }, + { url = "https://files.pythonhosted.org/packages/68/85/f4288e96039abdd5aeb5c546fa20a37b50da71b5cf01e75e87f16cd43304/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c96836c97b1238e9c9e3fe90844c947d5afbf4f4c92762679acfe19927d81d77", size = 140211 }, + { url = "https://files.pythonhosted.org/packages/28/a3/a42e70d03cbdabc18997baf4f0227c73591a08041c149e710045c281f97b/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4d86f7aff21ee58f26dcf5ae81a9addbd914115cdebcbb2217e4f0ed8982e146", size = 148039 }, + { url = "https://files.pythonhosted.org/packages/85/e4/65699e8ab3014ecbe6f5c71d1a55d810fb716bbfd74f6283d5c2aa87febf/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:09b5e6733cbd160dcc09589227187e242a30a49ca5cefa5a7edd3f9d19ed53fd", size = 151939 }, + { url = "https://files.pythonhosted.org/packages/b1/82/8e9fe624cc5374193de6860aba3ea8070f584c8565ee77c168ec13274bd2/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:5777ee0881f9499ed0f71cc82cf873d9a0ca8af166dfa0af8ec4e675b7df48e6", size = 149075 }, + { url = "https://files.pythonhosted.org/packages/3d/7b/82865ba54c765560c8433f65e8acb9217cb839a9e32b42af4aa8e945870f/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:237bdbe6159cff53b4f24f397d43c6336c6b0b42affbe857970cefbb620911c8", size = 144340 }, + { url = "https://files.pythonhosted.org/packages/b5/b6/9674a4b7d4d99a0d2df9b215da766ee682718f88055751e1e5e753c82db0/charset_normalizer-3.4.1-cp311-cp311-win32.whl", hash = "sha256:8417cb1f36cc0bc7eaba8ccb0e04d55f0ee52df06df3ad55259b9a323555fc8b", size = 95205 }, + { url = "https://files.pythonhosted.org/packages/1e/ab/45b180e175de4402dcf7547e4fb617283bae54ce35c27930a6f35b6bef15/charset_normalizer-3.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:d7f50a1f8c450f3925cb367d011448c39239bb3eb4117c36a6d354794de4ce76", size = 102441 }, + { url = "https://files.pythonhosted.org/packages/0a/9a/dd1e1cdceb841925b7798369a09279bd1cf183cef0f9ddf15a3a6502ee45/charset_normalizer-3.4.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:73d94b58ec7fecbc7366247d3b0b10a21681004153238750bb67bd9012414545", size = 196105 }, + { url = "https://files.pythonhosted.org/packages/d3/8c/90bfabf8c4809ecb648f39794cf2a84ff2e7d2a6cf159fe68d9a26160467/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dad3e487649f498dd991eeb901125411559b22e8d7ab25d3aeb1af367df5efd7", size = 140404 }, + { url = "https://files.pythonhosted.org/packages/ad/8f/e410d57c721945ea3b4f1a04b74f70ce8fa800d393d72899f0a40526401f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c30197aa96e8eed02200a83fba2657b4c3acd0f0aa4bdc9f6c1af8e8962e0757", size = 150423 }, + { url = "https://files.pythonhosted.org/packages/f0/b8/e6825e25deb691ff98cf5c9072ee0605dc2acfca98af70c2d1b1bc75190d/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa", size = 143184 }, + { url = "https://files.pythonhosted.org/packages/3e/a2/513f6cbe752421f16d969e32f3583762bfd583848b763913ddab8d9bfd4f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc2722592d8998c870fa4e290c2eec2c1569b87fe58618e67d38b4665dfa680d", size = 145268 }, + { url = "https://files.pythonhosted.org/packages/74/94/8a5277664f27c3c438546f3eb53b33f5b19568eb7424736bdc440a88a31f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffc9202a29ab3920fa812879e95a9e78b2465fd10be7fcbd042899695d75e616", size = 147601 }, + { url = "https://files.pythonhosted.org/packages/7c/5f/6d352c51ee763623a98e31194823518e09bfa48be2a7e8383cf691bbb3d0/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:804a4d582ba6e5b747c625bf1255e6b1507465494a40a2130978bda7b932c90b", size = 141098 }, + { url = "https://files.pythonhosted.org/packages/78/d4/f5704cb629ba5ab16d1d3d741396aec6dc3ca2b67757c45b0599bb010478/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0f55e69f030f7163dffe9fd0752b32f070566451afe180f99dbeeb81f511ad8d", size = 149520 }, + { url = "https://files.pythonhosted.org/packages/c5/96/64120b1d02b81785f222b976c0fb79a35875457fa9bb40827678e54d1bc8/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c4c3e6da02df6fa1410a7680bd3f63d4f710232d3139089536310d027950696a", size = 152852 }, + { url = "https://files.pythonhosted.org/packages/84/c9/98e3732278a99f47d487fd3468bc60b882920cef29d1fa6ca460a1fdf4e6/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:5df196eb874dae23dcfb968c83d4f8fdccb333330fe1fc278ac5ceeb101003a9", size = 150488 }, + { url = "https://files.pythonhosted.org/packages/13/0e/9c8d4cb99c98c1007cc11eda969ebfe837bbbd0acdb4736d228ccaabcd22/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e358e64305fe12299a08e08978f51fc21fac060dcfcddd95453eabe5b93ed0e1", size = 146192 }, + { url = "https://files.pythonhosted.org/packages/b2/21/2b6b5b860781a0b49427309cb8670785aa543fb2178de875b87b9cc97746/charset_normalizer-3.4.1-cp312-cp312-win32.whl", hash = "sha256:9b23ca7ef998bc739bf6ffc077c2116917eabcc901f88da1b9856b210ef63f35", size = 95550 }, + { url = "https://files.pythonhosted.org/packages/21/5b/1b390b03b1d16c7e382b561c5329f83cc06623916aab983e8ab9239c7d5c/charset_normalizer-3.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:6ff8a4a60c227ad87030d76e99cd1698345d4491638dfa6673027c48b3cd395f", size = 102785 }, + { url = "https://files.pythonhosted.org/packages/38/94/ce8e6f63d18049672c76d07d119304e1e2d7c6098f0841b51c666e9f44a0/charset_normalizer-3.4.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:aabfa34badd18f1da5ec1bc2715cadc8dca465868a4e73a0173466b688f29dda", size = 195698 }, + { url = "https://files.pythonhosted.org/packages/24/2e/dfdd9770664aae179a96561cc6952ff08f9a8cd09a908f259a9dfa063568/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22e14b5d70560b8dd51ec22863f370d1e595ac3d024cb8ad7d308b4cd95f8313", size = 140162 }, + { url = "https://files.pythonhosted.org/packages/24/4e/f646b9093cff8fc86f2d60af2de4dc17c759de9d554f130b140ea4738ca6/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8436c508b408b82d87dc5f62496973a1805cd46727c34440b0d29d8a2f50a6c9", size = 150263 }, + { url = "https://files.pythonhosted.org/packages/5e/67/2937f8d548c3ef6e2f9aab0f6e21001056f692d43282b165e7c56023e6dd/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d074908e1aecee37a7635990b2c6d504cd4766c7bc9fc86d63f9c09af3fa11b", size = 142966 }, + { url = "https://files.pythonhosted.org/packages/52/ed/b7f4f07de100bdb95c1756d3a4d17b90c1a3c53715c1a476f8738058e0fa/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:955f8851919303c92343d2f66165294848d57e9bba6cf6e3625485a70a038d11", size = 144992 }, + { url = "https://files.pythonhosted.org/packages/96/2c/d49710a6dbcd3776265f4c923bb73ebe83933dfbaa841c5da850fe0fd20b/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:44ecbf16649486d4aebafeaa7ec4c9fed8b88101f4dd612dcaf65d5e815f837f", size = 147162 }, + { url = "https://files.pythonhosted.org/packages/b4/41/35ff1f9a6bd380303dea55e44c4933b4cc3c4850988927d4082ada230273/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0924e81d3d5e70f8126529951dac65c1010cdf117bb75eb02dd12339b57749dd", size = 140972 }, + { url = "https://files.pythonhosted.org/packages/fb/43/c6a0b685fe6910d08ba971f62cd9c3e862a85770395ba5d9cad4fede33ab/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2967f74ad52c3b98de4c3b32e1a44e32975e008a9cd2a8cc8966d6a5218c5cb2", size = 149095 }, + { url = "https://files.pythonhosted.org/packages/4c/ff/a9a504662452e2d2878512115638966e75633519ec11f25fca3d2049a94a/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c75cb2a3e389853835e84a2d8fb2b81a10645b503eca9bcb98df6b5a43eb8886", size = 152668 }, + { url = "https://files.pythonhosted.org/packages/6c/71/189996b6d9a4b932564701628af5cee6716733e9165af1d5e1b285c530ed/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:09b26ae6b1abf0d27570633b2b078a2a20419c99d66fb2823173d73f188ce601", size = 150073 }, + { url = "https://files.pythonhosted.org/packages/e4/93/946a86ce20790e11312c87c75ba68d5f6ad2208cfb52b2d6a2c32840d922/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fa88b843d6e211393a37219e6a1c1df99d35e8fd90446f1118f4216e307e48cd", size = 145732 }, + { url = "https://files.pythonhosted.org/packages/cd/e5/131d2fb1b0dddafc37be4f3a2fa79aa4c037368be9423061dccadfd90091/charset_normalizer-3.4.1-cp313-cp313-win32.whl", hash = "sha256:eb8178fe3dba6450a3e024e95ac49ed3400e506fd4e9e5c32d30adda88cbd407", size = 95391 }, + { url = "https://files.pythonhosted.org/packages/27/f2/4f9a69cc7712b9b5ad8fdb87039fd89abba997ad5cbe690d1835d40405b0/charset_normalizer-3.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:b1ac5992a838106edb89654e0aebfc24f5848ae2547d22c2c3f66454daa11971", size = 102702 }, + { url = "https://files.pythonhosted.org/packages/0e/f6/65ecc6878a89bb1c23a086ea335ad4bf21a588990c3f535a227b9eea9108/charset_normalizer-3.4.1-py3-none-any.whl", hash = "sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85", size = 49767 }, ] [[package]] @@ -102,27 +102,27 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "colorama", marker = "sys_platform == 'win32'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a", size = 226593, upload_time = "2024-12-21T18:38:44.339Z" } +sdist = { url = "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a", size = 226593 } wheels = [ - { url = "https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2", size = 98188, upload_time = "2024-12-21T18:38:41.666Z" }, + { url = "https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2", size = 98188 }, ] [[package]] name = "colorama" version = "0.4.6" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload_time = "2022-10-25T02:36:22.414Z" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697 } wheels = [ - { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload_time = "2022-10-25T02:36:20.889Z" }, + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335 }, ] [[package]] name = "decorator" version = "5.2.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/43/fa/6d96a0978d19e17b68d634497769987b16c8f4cd0a7a05048bec693caa6b/decorator-5.2.1.tar.gz", hash = "sha256:65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360", size = 56711, upload_time = "2025-02-24T04:41:34.073Z" } +sdist = { url = "https://files.pythonhosted.org/packages/43/fa/6d96a0978d19e17b68d634497769987b16c8f4cd0a7a05048bec693caa6b/decorator-5.2.1.tar.gz", hash = "sha256:65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360", size = 56711 } wheels = [ - { url = "https://files.pythonhosted.org/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl", hash = "sha256:d316bb415a2d9e2d2b3abcc4084c6502fc09240e292cd76a76afc106a1c8e04a", size = 9190, upload_time = "2025-02-24T04:41:32.565Z" }, + { url = "https://files.pythonhosted.org/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl", hash = "sha256:d316bb415a2d9e2d2b3abcc4084c6502fc09240e292cd76a76afc106a1c8e04a", size = 9190 }, ] [[package]] @@ -132,18 +132,18 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "beautifulsoup4" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/89/97/b49c69893cddea912c7a660a4b6102c6b02cd268f8c7162dd70b7c16f753/google-3.0.0.tar.gz", hash = "sha256:143530122ee5130509ad5e989f0512f7cb218b2d4eddbafbad40fd10e8d8ccbe", size = 44978, upload_time = "2020-07-11T14:50:45.678Z" } +sdist = { url = "https://files.pythonhosted.org/packages/89/97/b49c69893cddea912c7a660a4b6102c6b02cd268f8c7162dd70b7c16f753/google-3.0.0.tar.gz", hash = "sha256:143530122ee5130509ad5e989f0512f7cb218b2d4eddbafbad40fd10e8d8ccbe", size = 44978 } wheels = [ - { url = "https://files.pythonhosted.org/packages/ac/35/17c9141c4ae21e9a29a43acdfd848e3e468a810517f862cad07977bf8fe9/google-3.0.0-py2.py3-none-any.whl", hash = "sha256:889cf695f84e4ae2c55fbc0cfdaf4c1e729417fa52ab1db0485202ba173e4935", size = 45258, upload_time = "2020-07-11T14:49:58.287Z" }, + { url = "https://files.pythonhosted.org/packages/ac/35/17c9141c4ae21e9a29a43acdfd848e3e468a810517f862cad07977bf8fe9/google-3.0.0-py2.py3-none-any.whl", hash = "sha256:889cf695f84e4ae2c55fbc0cfdaf4c1e729417fa52ab1db0485202ba173e4935", size = 45258 }, ] [[package]] name = "h11" version = "0.14.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f5/38/3af3d3633a34a3316095b39c8e8fb4853a28a536e55d347bd8d8e9a14b03/h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d", size = 100418, upload_time = "2022-09-25T15:40:01.519Z" } +sdist = { url = "https://files.pythonhosted.org/packages/f5/38/3af3d3633a34a3316095b39c8e8fb4853a28a536e55d347bd8d8e9a14b03/h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d", size = 100418 } wheels = [ - { url = "https://files.pythonhosted.org/packages/95/04/ff642e65ad6b90db43e668d70ffb6736436c7ce41fcc549f4e9472234127/h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761", size = 58259, upload_time = "2022-09-25T15:39:59.68Z" }, + { url = "https://files.pythonhosted.org/packages/95/04/ff642e65ad6b90db43e668d70ffb6736436c7ce41fcc549f4e9472234127/h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761", size = 58259 }, ] [[package]] @@ -154,9 +154,9 @@ dependencies = [ { name = "certifi" }, { name = "h11" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/9f/45/ad3e1b4d448f22c0cff4f5692f5ed0666658578e358b8d58a19846048059/httpcore-1.0.8.tar.gz", hash = "sha256:86e94505ed24ea06514883fd44d2bc02d90e77e7979c8eb71b90f41d364a1bad", size = 85385, upload_time = "2025-04-11T14:42:46.661Z" } +sdist = { url = "https://files.pythonhosted.org/packages/9f/45/ad3e1b4d448f22c0cff4f5692f5ed0666658578e358b8d58a19846048059/httpcore-1.0.8.tar.gz", hash = "sha256:86e94505ed24ea06514883fd44d2bc02d90e77e7979c8eb71b90f41d364a1bad", size = 85385 } wheels = [ - { url = "https://files.pythonhosted.org/packages/18/8d/f052b1e336bb2c1fc7ed1aaed898aa570c0b61a09707b108979d9fc6e308/httpcore-1.0.8-py3-none-any.whl", hash = "sha256:5254cf149bcb5f75e9d1b2b9f729ea4a4b883d1ad7379fc632b727cec23674be", size = 78732, upload_time = "2025-04-11T14:42:44.896Z" }, + { url = "https://files.pythonhosted.org/packages/18/8d/f052b1e336bb2c1fc7ed1aaed898aa570c0b61a09707b108979d9fc6e308/httpcore-1.0.8-py3-none-any.whl", hash = "sha256:5254cf149bcb5f75e9d1b2b9f729ea4a4b883d1ad7379fc632b727cec23674be", size = 78732 }, ] [[package]] @@ -169,27 +169,27 @@ dependencies = [ { name = "httpcore" }, { name = "idna" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", size = 141406, upload_time = "2024-12-06T15:37:23.222Z" } +sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", size = 141406 } wheels = [ - { url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 73517, upload_time = "2024-12-06T15:37:21.509Z" }, + { url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 73517 }, ] [[package]] name = "httpx-sse" version = "0.4.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/4c/60/8f4281fa9bbf3c8034fd54c0e7412e66edbab6bc74c4996bd616f8d0406e/httpx-sse-0.4.0.tar.gz", hash = "sha256:1e81a3a3070ce322add1d3529ed42eb5f70817f45ed6ec915ab753f961139721", size = 12624, upload_time = "2023-12-22T08:01:21.083Z" } +sdist = { url = "https://files.pythonhosted.org/packages/4c/60/8f4281fa9bbf3c8034fd54c0e7412e66edbab6bc74c4996bd616f8d0406e/httpx-sse-0.4.0.tar.gz", hash = "sha256:1e81a3a3070ce322add1d3529ed42eb5f70817f45ed6ec915ab753f961139721", size = 12624 } wheels = [ - { url = "https://files.pythonhosted.org/packages/e1/9b/a181f281f65d776426002f330c31849b86b31fc9d848db62e16f03ff739f/httpx_sse-0.4.0-py3-none-any.whl", hash = "sha256:f329af6eae57eaa2bdfd962b42524764af68075ea87370a2de920af5341e318f", size = 7819, upload_time = "2023-12-22T08:01:19.89Z" }, + { url = "https://files.pythonhosted.org/packages/e1/9b/a181f281f65d776426002f330c31849b86b31fc9d848db62e16f03ff739f/httpx_sse-0.4.0-py3-none-any.whl", hash = "sha256:f329af6eae57eaa2bdfd962b42524764af68075ea87370a2de920af5341e318f", size = 7819 }, ] [[package]] name = "idna" version = "3.10" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490, upload_time = "2024-09-15T18:07:39.745Z" } +sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490 } wheels = [ - { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442, upload_time = "2024-09-15T18:07:37.964Z" }, + { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442 }, ] [[package]] @@ -206,62 +206,39 @@ dependencies = [ { name = "starlette" }, { name = "uvicorn" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/95/d2/f587cb965a56e992634bebc8611c5b579af912b74e04eb9164bd49527d21/mcp-1.6.0.tar.gz", hash = "sha256:d9324876de2c5637369f43161cd71eebfd803df5a95e46225cab8d280e366723", size = 200031, upload_time = "2025-03-27T16:46:32.336Z" } +sdist = { url = "https://files.pythonhosted.org/packages/95/d2/f587cb965a56e992634bebc8611c5b579af912b74e04eb9164bd49527d21/mcp-1.6.0.tar.gz", hash = "sha256:d9324876de2c5637369f43161cd71eebfd803df5a95e46225cab8d280e366723", size = 200031 } wheels = [ - { url = "https://files.pythonhosted.org/packages/10/30/20a7f33b0b884a9d14dd3aa94ff1ac9da1479fe2ad66dd9e2736075d2506/mcp-1.6.0-py3-none-any.whl", hash = "sha256:7bd24c6ea042dbec44c754f100984d186620d8b841ec30f1b19eda9b93a634d0", size = 76077, upload_time = "2025-03-27T16:46:29.919Z" }, -] - -[[package]] -name = "mcp-server" -version = "0.1.0" -source = { editable = "." } -dependencies = [ - { name = "mcp" }, - { name = "pydantic" }, - { name = "python-dotenv" }, - { name = "retry" }, - { name = "starlette" }, - { name = "volcengine" }, -] - -[package.metadata] -requires-dist = [ - { name = "mcp", specifier = ">=1.6.0" }, - { name = "pydantic", specifier = ">=2.11.3" }, - { name = "python-dotenv", specifier = ">=1.1.0" }, - { name = "retry", specifier = ">=0.9.2" }, - { name = "starlette", specifier = ">=0.46.2" }, - { name = "volcengine", specifier = ">=1.0.180" }, + { url = "https://files.pythonhosted.org/packages/10/30/20a7f33b0b884a9d14dd3aa94ff1ac9da1479fe2ad66dd9e2736075d2506/mcp-1.6.0-py3-none-any.whl", hash = "sha256:7bd24c6ea042dbec44c754f100984d186620d8b841ec30f1b19eda9b93a634d0", size = 76077 }, ] [[package]] name = "protobuf" version = "6.30.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/c8/8c/cf2ac658216eebe49eaedf1e06bc06cbf6a143469236294a1171a51357c3/protobuf-6.30.2.tar.gz", hash = "sha256:35c859ae076d8c56054c25b59e5e59638d86545ed6e2b6efac6be0b6ea3ba048", size = 429315, upload_time = "2025-03-26T19:12:57.394Z" } +sdist = { url = "https://files.pythonhosted.org/packages/c8/8c/cf2ac658216eebe49eaedf1e06bc06cbf6a143469236294a1171a51357c3/protobuf-6.30.2.tar.gz", hash = "sha256:35c859ae076d8c56054c25b59e5e59638d86545ed6e2b6efac6be0b6ea3ba048", size = 429315 } wheels = [ - { url = "https://files.pythonhosted.org/packages/be/85/cd53abe6a6cbf2e0029243d6ae5fb4335da2996f6c177bb2ce685068e43d/protobuf-6.30.2-cp310-abi3-win32.whl", hash = "sha256:b12ef7df7b9329886e66404bef5e9ce6a26b54069d7f7436a0853ccdeb91c103", size = 419148, upload_time = "2025-03-26T19:12:41.359Z" }, - { url = "https://files.pythonhosted.org/packages/97/e9/7b9f1b259d509aef2b833c29a1f3c39185e2bf21c9c1be1cd11c22cb2149/protobuf-6.30.2-cp310-abi3-win_amd64.whl", hash = "sha256:7653c99774f73fe6b9301b87da52af0e69783a2e371e8b599b3e9cb4da4b12b9", size = 431003, upload_time = "2025-03-26T19:12:44.156Z" }, - { url = "https://files.pythonhosted.org/packages/8e/66/7f3b121f59097c93267e7f497f10e52ced7161b38295137a12a266b6c149/protobuf-6.30.2-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:0eb523c550a66a09a0c20f86dd554afbf4d32b02af34ae53d93268c1f73bc65b", size = 417579, upload_time = "2025-03-26T19:12:45.447Z" }, - { url = "https://files.pythonhosted.org/packages/d0/89/bbb1bff09600e662ad5b384420ad92de61cab2ed0f12ace1fd081fd4c295/protobuf-6.30.2-cp39-abi3-manylinux2014_aarch64.whl", hash = "sha256:50f32cc9fd9cb09c783ebc275611b4f19dfdfb68d1ee55d2f0c7fa040df96815", size = 317319, upload_time = "2025-03-26T19:12:46.999Z" }, - { url = "https://files.pythonhosted.org/packages/28/50/1925de813499546bc8ab3ae857e3ec84efe7d2f19b34529d0c7c3d02d11d/protobuf-6.30.2-cp39-abi3-manylinux2014_x86_64.whl", hash = "sha256:4f6c687ae8efae6cf6093389a596548214467778146b7245e886f35e1485315d", size = 316212, upload_time = "2025-03-26T19:12:48.458Z" }, - { url = "https://files.pythonhosted.org/packages/e5/a1/93c2acf4ade3c5b557d02d500b06798f4ed2c176fa03e3c34973ca92df7f/protobuf-6.30.2-py3-none-any.whl", hash = "sha256:ae86b030e69a98e08c77beab574cbcb9fff6d031d57209f574a5aea1445f4b51", size = 167062, upload_time = "2025-03-26T19:12:55.892Z" }, + { url = "https://files.pythonhosted.org/packages/be/85/cd53abe6a6cbf2e0029243d6ae5fb4335da2996f6c177bb2ce685068e43d/protobuf-6.30.2-cp310-abi3-win32.whl", hash = "sha256:b12ef7df7b9329886e66404bef5e9ce6a26b54069d7f7436a0853ccdeb91c103", size = 419148 }, + { url = "https://files.pythonhosted.org/packages/97/e9/7b9f1b259d509aef2b833c29a1f3c39185e2bf21c9c1be1cd11c22cb2149/protobuf-6.30.2-cp310-abi3-win_amd64.whl", hash = "sha256:7653c99774f73fe6b9301b87da52af0e69783a2e371e8b599b3e9cb4da4b12b9", size = 431003 }, + { url = "https://files.pythonhosted.org/packages/8e/66/7f3b121f59097c93267e7f497f10e52ced7161b38295137a12a266b6c149/protobuf-6.30.2-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:0eb523c550a66a09a0c20f86dd554afbf4d32b02af34ae53d93268c1f73bc65b", size = 417579 }, + { url = "https://files.pythonhosted.org/packages/d0/89/bbb1bff09600e662ad5b384420ad92de61cab2ed0f12ace1fd081fd4c295/protobuf-6.30.2-cp39-abi3-manylinux2014_aarch64.whl", hash = "sha256:50f32cc9fd9cb09c783ebc275611b4f19dfdfb68d1ee55d2f0c7fa040df96815", size = 317319 }, + { url = "https://files.pythonhosted.org/packages/28/50/1925de813499546bc8ab3ae857e3ec84efe7d2f19b34529d0c7c3d02d11d/protobuf-6.30.2-cp39-abi3-manylinux2014_x86_64.whl", hash = "sha256:4f6c687ae8efae6cf6093389a596548214467778146b7245e886f35e1485315d", size = 316212 }, + { url = "https://files.pythonhosted.org/packages/e5/a1/93c2acf4ade3c5b557d02d500b06798f4ed2c176fa03e3c34973ca92df7f/protobuf-6.30.2-py3-none-any.whl", hash = "sha256:ae86b030e69a98e08c77beab574cbcb9fff6d031d57209f574a5aea1445f4b51", size = 167062 }, ] [[package]] name = "py" version = "1.11.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/98/ff/fec109ceb715d2a6b4c4a85a61af3b40c723a961e8828319fbcb15b868dc/py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719", size = 207796, upload_time = "2021-11-04T17:17:01.377Z" } +sdist = { url = "https://files.pythonhosted.org/packages/98/ff/fec109ceb715d2a6b4c4a85a61af3b40c723a961e8828319fbcb15b868dc/py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719", size = 207796 } wheels = [ - { url = "https://files.pythonhosted.org/packages/f6/f0/10642828a8dfb741e5f3fbaac830550a518a775c7fff6f04a007259b0548/py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378", size = 98708, upload_time = "2021-11-04T17:17:00.152Z" }, + { url = "https://files.pythonhosted.org/packages/f6/f0/10642828a8dfb741e5f3fbaac830550a518a775c7fff6f04a007259b0548/py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378", size = 98708 }, ] [[package]] name = "pycryptodome" version = "3.9.9" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/c4/3a/5bca2cb1648b171afd6b7d29a11c6bca8b305bb75b7e2d78a0f5c61ff95e/pycryptodome-3.9.9.tar.gz", hash = "sha256:910e202a557e1131b1c1b3f17a63914d57aac55cf9fb9b51644962841c3995c4", size = 15488528, upload_time = "2020-11-03T13:15:26.723Z" } +sdist = { url = "https://files.pythonhosted.org/packages/c4/3a/5bca2cb1648b171afd6b7d29a11c6bca8b305bb75b7e2d78a0f5c61ff95e/pycryptodome-3.9.9.tar.gz", hash = "sha256:910e202a557e1131b1c1b3f17a63914d57aac55cf9fb9b51644962841c3995c4", size = 15488528 } [[package]] name = "pydantic" @@ -273,9 +250,9 @@ dependencies = [ { name = "typing-extensions" }, { name = "typing-inspection" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/10/2e/ca897f093ee6c5f3b0bee123ee4465c50e75431c3d5b6a3b44a47134e891/pydantic-2.11.3.tar.gz", hash = "sha256:7471657138c16adad9322fe3070c0116dd6c3ad8d649300e3cbdfe91f4db4ec3", size = 785513, upload_time = "2025-04-08T13:27:06.399Z" } +sdist = { url = "https://files.pythonhosted.org/packages/10/2e/ca897f093ee6c5f3b0bee123ee4465c50e75431c3d5b6a3b44a47134e891/pydantic-2.11.3.tar.gz", hash = "sha256:7471657138c16adad9322fe3070c0116dd6c3ad8d649300e3cbdfe91f4db4ec3", size = 785513 } wheels = [ - { url = "https://files.pythonhosted.org/packages/b0/1d/407b29780a289868ed696d1616f4aad49d6388e5a77f567dcd2629dcd7b8/pydantic-2.11.3-py3-none-any.whl", hash = "sha256:a082753436a07f9ba1289c6ffa01cd93db3548776088aa917cc43b63f68fa60f", size = 443591, upload_time = "2025-04-08T13:27:03.789Z" }, + { url = "https://files.pythonhosted.org/packages/b0/1d/407b29780a289868ed696d1616f4aad49d6388e5a77f567dcd2629dcd7b8/pydantic-2.11.3-py3-none-any.whl", hash = "sha256:a082753436a07f9ba1289c6ffa01cd93db3548776088aa917cc43b63f68fa60f", size = 443591 }, ] [[package]] @@ -285,62 +262,62 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/17/19/ed6a078a5287aea7922de6841ef4c06157931622c89c2a47940837b5eecd/pydantic_core-2.33.1.tar.gz", hash = "sha256:bcc9c6fdb0ced789245b02b7d6603e17d1563064ddcfc36f046b61c0c05dd9df", size = 434395, upload_time = "2025-04-02T09:49:41.8Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/d6/7f/c6298830cb780c46b4f46bb24298d01019ffa4d21769f39b908cd14bbd50/pydantic_core-2.33.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:6e966fc3caaf9f1d96b349b0341c70c8d6573bf1bac7261f7b0ba88f96c56c24", size = 2044224, upload_time = "2025-04-02T09:47:04.199Z" }, - { url = "https://files.pythonhosted.org/packages/a8/65/6ab3a536776cad5343f625245bd38165d6663256ad43f3a200e5936afd6c/pydantic_core-2.33.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bfd0adeee563d59c598ceabddf2c92eec77abcb3f4a391b19aa7366170bd9e30", size = 1858845, upload_time = "2025-04-02T09:47:05.686Z" }, - { url = "https://files.pythonhosted.org/packages/e9/15/9a22fd26ba5ee8c669d4b8c9c244238e940cd5d818649603ca81d1c69861/pydantic_core-2.33.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:91815221101ad3c6b507804178a7bb5cb7b2ead9ecd600041669c8d805ebd595", size = 1910029, upload_time = "2025-04-02T09:47:07.042Z" }, - { url = "https://files.pythonhosted.org/packages/d5/33/8cb1a62818974045086f55f604044bf35b9342900318f9a2a029a1bec460/pydantic_core-2.33.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9fea9c1869bb4742d174a57b4700c6dadea951df8b06de40c2fedb4f02931c2e", size = 1997784, upload_time = "2025-04-02T09:47:08.63Z" }, - { url = "https://files.pythonhosted.org/packages/c0/ca/49958e4df7715c71773e1ea5be1c74544923d10319173264e6db122543f9/pydantic_core-2.33.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d20eb4861329bb2484c021b9d9a977566ab16d84000a57e28061151c62b349a", size = 2141075, upload_time = "2025-04-02T09:47:10.267Z" }, - { url = "https://files.pythonhosted.org/packages/7b/a6/0b3a167a9773c79ba834b959b4e18c3ae9216b8319bd8422792abc8a41b1/pydantic_core-2.33.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fb935c5591573ae3201640579f30128ccc10739b45663f93c06796854405505", size = 2745849, upload_time = "2025-04-02T09:47:11.724Z" }, - { url = "https://files.pythonhosted.org/packages/0b/60/516484135173aa9e5861d7a0663dce82e4746d2e7f803627d8c25dfa5578/pydantic_core-2.33.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c964fd24e6166420d18fb53996d8c9fd6eac9bf5ae3ec3d03015be4414ce497f", size = 2005794, upload_time = "2025-04-02T09:47:13.099Z" }, - { url = "https://files.pythonhosted.org/packages/86/70/05b1eb77459ad47de00cf78ee003016da0cedf8b9170260488d7c21e9181/pydantic_core-2.33.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:681d65e9011f7392db5aa002b7423cc442d6a673c635668c227c6c8d0e5a4f77", size = 2123237, upload_time = "2025-04-02T09:47:14.355Z" }, - { url = "https://files.pythonhosted.org/packages/c7/57/12667a1409c04ae7dc95d3b43158948eb0368e9c790be8b095cb60611459/pydantic_core-2.33.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e100c52f7355a48413e2999bfb4e139d2977a904495441b374f3d4fb4a170961", size = 2086351, upload_time = "2025-04-02T09:47:15.676Z" }, - { url = "https://files.pythonhosted.org/packages/57/61/cc6d1d1c1664b58fdd6ecc64c84366c34ec9b606aeb66cafab6f4088974c/pydantic_core-2.33.1-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:048831bd363490be79acdd3232f74a0e9951b11b2b4cc058aeb72b22fdc3abe1", size = 2258914, upload_time = "2025-04-02T09:47:17Z" }, - { url = "https://files.pythonhosted.org/packages/d1/0a/edb137176a1f5419b2ddee8bde6a0a548cfa3c74f657f63e56232df8de88/pydantic_core-2.33.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:bdc84017d28459c00db6f918a7272a5190bec3090058334e43a76afb279eac7c", size = 2257385, upload_time = "2025-04-02T09:47:18.631Z" }, - { url = "https://files.pythonhosted.org/packages/26/3c/48ca982d50e4b0e1d9954919c887bdc1c2b462801bf408613ccc641b3daa/pydantic_core-2.33.1-cp311-cp311-win32.whl", hash = "sha256:32cd11c5914d1179df70406427097c7dcde19fddf1418c787540f4b730289896", size = 1923765, upload_time = "2025-04-02T09:47:20.34Z" }, - { url = "https://files.pythonhosted.org/packages/33/cd/7ab70b99e5e21559f5de38a0928ea84e6f23fdef2b0d16a6feaf942b003c/pydantic_core-2.33.1-cp311-cp311-win_amd64.whl", hash = "sha256:2ea62419ba8c397e7da28a9170a16219d310d2cf4970dbc65c32faf20d828c83", size = 1950688, upload_time = "2025-04-02T09:47:22.029Z" }, - { url = "https://files.pythonhosted.org/packages/4b/ae/db1fc237b82e2cacd379f63e3335748ab88b5adde98bf7544a1b1bd10a84/pydantic_core-2.33.1-cp311-cp311-win_arm64.whl", hash = "sha256:fc903512177361e868bc1f5b80ac8c8a6e05fcdd574a5fb5ffeac5a9982b9e89", size = 1908185, upload_time = "2025-04-02T09:47:23.385Z" }, - { url = "https://files.pythonhosted.org/packages/c8/ce/3cb22b07c29938f97ff5f5bb27521f95e2ebec399b882392deb68d6c440e/pydantic_core-2.33.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:1293d7febb995e9d3ec3ea09caf1a26214eec45b0f29f6074abb004723fc1de8", size = 2026640, upload_time = "2025-04-02T09:47:25.394Z" }, - { url = "https://files.pythonhosted.org/packages/19/78/f381d643b12378fee782a72126ec5d793081ef03791c28a0fd542a5bee64/pydantic_core-2.33.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:99b56acd433386c8f20be5c4000786d1e7ca0523c8eefc995d14d79c7a081498", size = 1852649, upload_time = "2025-04-02T09:47:27.417Z" }, - { url = "https://files.pythonhosted.org/packages/9d/2b/98a37b80b15aac9eb2c6cfc6dbd35e5058a352891c5cce3a8472d77665a6/pydantic_core-2.33.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:35a5ec3fa8c2fe6c53e1b2ccc2454398f95d5393ab398478f53e1afbbeb4d939", size = 1892472, upload_time = "2025-04-02T09:47:29.006Z" }, - { url = "https://files.pythonhosted.org/packages/4e/d4/3c59514e0f55a161004792b9ff3039da52448f43f5834f905abef9db6e4a/pydantic_core-2.33.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b172f7b9d2f3abc0efd12e3386f7e48b576ef309544ac3a63e5e9cdd2e24585d", size = 1977509, upload_time = "2025-04-02T09:47:33.464Z" }, - { url = "https://files.pythonhosted.org/packages/a9/b6/c2c7946ef70576f79a25db59a576bce088bdc5952d1b93c9789b091df716/pydantic_core-2.33.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9097b9f17f91eea659b9ec58148c0747ec354a42f7389b9d50701610d86f812e", size = 2128702, upload_time = "2025-04-02T09:47:34.812Z" }, - { url = "https://files.pythonhosted.org/packages/88/fe/65a880f81e3f2a974312b61f82a03d85528f89a010ce21ad92f109d94deb/pydantic_core-2.33.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cc77ec5b7e2118b152b0d886c7514a4653bcb58c6b1d760134a9fab915f777b3", size = 2679428, upload_time = "2025-04-02T09:47:37.315Z" }, - { url = "https://files.pythonhosted.org/packages/6f/ff/4459e4146afd0462fb483bb98aa2436d69c484737feaceba1341615fb0ac/pydantic_core-2.33.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d5e3d15245b08fa4a84cefc6c9222e6f37c98111c8679fbd94aa145f9a0ae23d", size = 2008753, upload_time = "2025-04-02T09:47:39.013Z" }, - { url = "https://files.pythonhosted.org/packages/7c/76/1c42e384e8d78452ededac8b583fe2550c84abfef83a0552e0e7478ccbc3/pydantic_core-2.33.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ef99779001d7ac2e2461d8ab55d3373fe7315caefdbecd8ced75304ae5a6fc6b", size = 2114849, upload_time = "2025-04-02T09:47:40.427Z" }, - { url = "https://files.pythonhosted.org/packages/00/72/7d0cf05095c15f7ffe0eb78914b166d591c0eed72f294da68378da205101/pydantic_core-2.33.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:fc6bf8869e193855e8d91d91f6bf59699a5cdfaa47a404e278e776dd7f168b39", size = 2069541, upload_time = "2025-04-02T09:47:42.01Z" }, - { url = "https://files.pythonhosted.org/packages/b3/69/94a514066bb7d8be499aa764926937409d2389c09be0b5107a970286ef81/pydantic_core-2.33.1-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:b1caa0bc2741b043db7823843e1bde8aaa58a55a58fda06083b0569f8b45693a", size = 2239225, upload_time = "2025-04-02T09:47:43.425Z" }, - { url = "https://files.pythonhosted.org/packages/84/b0/e390071eadb44b41f4f54c3cef64d8bf5f9612c92686c9299eaa09e267e2/pydantic_core-2.33.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:ec259f62538e8bf364903a7d0d0239447059f9434b284f5536e8402b7dd198db", size = 2248373, upload_time = "2025-04-02T09:47:44.979Z" }, - { url = "https://files.pythonhosted.org/packages/d6/b2/288b3579ffc07e92af66e2f1a11be3b056fe1214aab314748461f21a31c3/pydantic_core-2.33.1-cp312-cp312-win32.whl", hash = "sha256:e14f369c98a7c15772b9da98987f58e2b509a93235582838bd0d1d8c08b68fda", size = 1907034, upload_time = "2025-04-02T09:47:46.843Z" }, - { url = "https://files.pythonhosted.org/packages/02/28/58442ad1c22b5b6742b992ba9518420235adced665513868f99a1c2638a5/pydantic_core-2.33.1-cp312-cp312-win_amd64.whl", hash = "sha256:1c607801d85e2e123357b3893f82c97a42856192997b95b4d8325deb1cd0c5f4", size = 1956848, upload_time = "2025-04-02T09:47:48.404Z" }, - { url = "https://files.pythonhosted.org/packages/a1/eb/f54809b51c7e2a1d9f439f158b8dd94359321abcc98767e16fc48ae5a77e/pydantic_core-2.33.1-cp312-cp312-win_arm64.whl", hash = "sha256:8d13f0276806ee722e70a1c93da19748594f19ac4299c7e41237fc791d1861ea", size = 1903986, upload_time = "2025-04-02T09:47:49.839Z" }, - { url = "https://files.pythonhosted.org/packages/7a/24/eed3466a4308d79155f1cdd5c7432c80ddcc4530ba8623b79d5ced021641/pydantic_core-2.33.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:70af6a21237b53d1fe7b9325b20e65cbf2f0a848cf77bed492b029139701e66a", size = 2033551, upload_time = "2025-04-02T09:47:51.648Z" }, - { url = "https://files.pythonhosted.org/packages/ab/14/df54b1a0bc9b6ded9b758b73139d2c11b4e8eb43e8ab9c5847c0a2913ada/pydantic_core-2.33.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:282b3fe1bbbe5ae35224a0dbd05aed9ccabccd241e8e6b60370484234b456266", size = 1852785, upload_time = "2025-04-02T09:47:53.149Z" }, - { url = "https://files.pythonhosted.org/packages/fa/96/e275f15ff3d34bb04b0125d9bc8848bf69f25d784d92a63676112451bfb9/pydantic_core-2.33.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b315e596282bbb5822d0c7ee9d255595bd7506d1cb20c2911a4da0b970187d3", size = 1897758, upload_time = "2025-04-02T09:47:55.006Z" }, - { url = "https://files.pythonhosted.org/packages/b7/d8/96bc536e975b69e3a924b507d2a19aedbf50b24e08c80fb00e35f9baaed8/pydantic_core-2.33.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1dfae24cf9921875ca0ca6a8ecb4bb2f13c855794ed0d468d6abbec6e6dcd44a", size = 1986109, upload_time = "2025-04-02T09:47:56.532Z" }, - { url = "https://files.pythonhosted.org/packages/90/72/ab58e43ce7e900b88cb571ed057b2fcd0e95b708a2e0bed475b10130393e/pydantic_core-2.33.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6dd8ecfde08d8bfadaea669e83c63939af76f4cf5538a72597016edfa3fad516", size = 2129159, upload_time = "2025-04-02T09:47:58.088Z" }, - { url = "https://files.pythonhosted.org/packages/dc/3f/52d85781406886c6870ac995ec0ba7ccc028b530b0798c9080531b409fdb/pydantic_core-2.33.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2f593494876eae852dc98c43c6f260f45abdbfeec9e4324e31a481d948214764", size = 2680222, upload_time = "2025-04-02T09:47:59.591Z" }, - { url = "https://files.pythonhosted.org/packages/f4/56/6e2ef42f363a0eec0fd92f74a91e0ac48cd2e49b695aac1509ad81eee86a/pydantic_core-2.33.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:948b73114f47fd7016088e5186d13faf5e1b2fe83f5e320e371f035557fd264d", size = 2006980, upload_time = "2025-04-02T09:48:01.397Z" }, - { url = "https://files.pythonhosted.org/packages/4c/c0/604536c4379cc78359f9ee0aa319f4aedf6b652ec2854953f5a14fc38c5a/pydantic_core-2.33.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e11f3864eb516af21b01e25fac915a82e9ddad3bb0fb9e95a246067398b435a4", size = 2120840, upload_time = "2025-04-02T09:48:03.056Z" }, - { url = "https://files.pythonhosted.org/packages/1f/46/9eb764814f508f0edfb291a0f75d10854d78113fa13900ce13729aaec3ae/pydantic_core-2.33.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:549150be302428b56fdad0c23c2741dcdb5572413776826c965619a25d9c6bde", size = 2072518, upload_time = "2025-04-02T09:48:04.662Z" }, - { url = "https://files.pythonhosted.org/packages/42/e3/fb6b2a732b82d1666fa6bf53e3627867ea3131c5f39f98ce92141e3e3dc1/pydantic_core-2.33.1-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:495bc156026efafd9ef2d82372bd38afce78ddd82bf28ef5276c469e57c0c83e", size = 2248025, upload_time = "2025-04-02T09:48:06.226Z" }, - { url = "https://files.pythonhosted.org/packages/5c/9d/fbe8fe9d1aa4dac88723f10a921bc7418bd3378a567cb5e21193a3c48b43/pydantic_core-2.33.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ec79de2a8680b1a67a07490bddf9636d5c2fab609ba8c57597e855fa5fa4dacd", size = 2254991, upload_time = "2025-04-02T09:48:08.114Z" }, - { url = "https://files.pythonhosted.org/packages/aa/99/07e2237b8a66438d9b26482332cda99a9acccb58d284af7bc7c946a42fd3/pydantic_core-2.33.1-cp313-cp313-win32.whl", hash = "sha256:ee12a7be1742f81b8a65b36c6921022301d466b82d80315d215c4c691724986f", size = 1915262, upload_time = "2025-04-02T09:48:09.708Z" }, - { url = "https://files.pythonhosted.org/packages/8a/f4/e457a7849beeed1e5defbcf5051c6f7b3c91a0624dd31543a64fc9adcf52/pydantic_core-2.33.1-cp313-cp313-win_amd64.whl", hash = "sha256:ede9b407e39949d2afc46385ce6bd6e11588660c26f80576c11c958e6647bc40", size = 1956626, upload_time = "2025-04-02T09:48:11.288Z" }, - { url = "https://files.pythonhosted.org/packages/20/d0/e8d567a7cff7b04e017ae164d98011f1e1894269fe8e90ea187a3cbfb562/pydantic_core-2.33.1-cp313-cp313-win_arm64.whl", hash = "sha256:aa687a23d4b7871a00e03ca96a09cad0f28f443690d300500603bd0adba4b523", size = 1909590, upload_time = "2025-04-02T09:48:12.861Z" }, - { url = "https://files.pythonhosted.org/packages/ef/fd/24ea4302d7a527d672c5be06e17df16aabfb4e9fdc6e0b345c21580f3d2a/pydantic_core-2.33.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:401d7b76e1000d0dd5538e6381d28febdcacb097c8d340dde7d7fc6e13e9f95d", size = 1812963, upload_time = "2025-04-02T09:48:14.553Z" }, - { url = "https://files.pythonhosted.org/packages/5f/95/4fbc2ecdeb5c1c53f1175a32d870250194eb2fdf6291b795ab08c8646d5d/pydantic_core-2.33.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7aeb055a42d734c0255c9e489ac67e75397d59c6fbe60d155851e9782f276a9c", size = 1986896, upload_time = "2025-04-02T09:48:16.222Z" }, - { url = "https://files.pythonhosted.org/packages/71/ae/fe31e7f4a62431222d8f65a3bd02e3fa7e6026d154a00818e6d30520ea77/pydantic_core-2.33.1-cp313-cp313t-win_amd64.whl", hash = "sha256:338ea9b73e6e109f15ab439e62cb3b78aa752c7fd9536794112e14bee02c8d18", size = 1931810, upload_time = "2025-04-02T09:48:17.97Z" }, - { url = "https://files.pythonhosted.org/packages/0b/76/1794e440c1801ed35415238d2c728f26cd12695df9057154ad768b7b991c/pydantic_core-2.33.1-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:3a371dc00282c4b84246509a5ddc808e61b9864aa1eae9ecc92bb1268b82db4a", size = 2042858, upload_time = "2025-04-02T09:49:03.419Z" }, - { url = "https://files.pythonhosted.org/packages/73/b4/9cd7b081fb0b1b4f8150507cd59d27b275c3e22ad60b35cb19ea0977d9b9/pydantic_core-2.33.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:f59295ecc75a1788af8ba92f2e8c6eeaa5a94c22fc4d151e8d9638814f85c8fc", size = 1873745, upload_time = "2025-04-02T09:49:05.391Z" }, - { url = "https://files.pythonhosted.org/packages/e1/d7/9ddb7575d4321e40d0363903c2576c8c0c3280ebea137777e5ab58d723e3/pydantic_core-2.33.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:08530b8ac922003033f399128505f513e30ca770527cc8bbacf75a84fcc2c74b", size = 1904188, upload_time = "2025-04-02T09:49:07.352Z" }, - { url = "https://files.pythonhosted.org/packages/d1/a8/3194ccfe461bb08da19377ebec8cb4f13c9bd82e13baebc53c5c7c39a029/pydantic_core-2.33.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bae370459da6a5466978c0eacf90690cb57ec9d533f8e63e564ef3822bfa04fe", size = 2083479, upload_time = "2025-04-02T09:49:09.304Z" }, - { url = "https://files.pythonhosted.org/packages/42/c7/84cb569555d7179ca0b3f838cef08f66f7089b54432f5b8599aac6e9533e/pydantic_core-2.33.1-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e3de2777e3b9f4d603112f78006f4ae0acb936e95f06da6cb1a45fbad6bdb4b5", size = 2118415, upload_time = "2025-04-02T09:49:11.25Z" }, - { url = "https://files.pythonhosted.org/packages/3b/67/72abb8c73e0837716afbb58a59cc9e3ae43d1aa8677f3b4bc72c16142716/pydantic_core-2.33.1-pp311-pypy311_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:3a64e81e8cba118e108d7126362ea30e021291b7805d47e4896e52c791be2761", size = 2079623, upload_time = "2025-04-02T09:49:13.292Z" }, - { url = "https://files.pythonhosted.org/packages/0b/cd/c59707e35a47ba4cbbf153c3f7c56420c58653b5801b055dc52cccc8e2dc/pydantic_core-2.33.1-pp311-pypy311_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:52928d8c1b6bda03cc6d811e8923dffc87a2d3c8b3bfd2ce16471c7147a24850", size = 2250175, upload_time = "2025-04-02T09:49:15.597Z" }, - { url = "https://files.pythonhosted.org/packages/84/32/e4325a6676b0bed32d5b084566ec86ed7fd1e9bcbfc49c578b1755bde920/pydantic_core-2.33.1-pp311-pypy311_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:1b30d92c9412beb5ac6b10a3eb7ef92ccb14e3f2a8d7732e2d739f58b3aa7544", size = 2254674, upload_time = "2025-04-02T09:49:17.61Z" }, - { url = "https://files.pythonhosted.org/packages/12/6f/5596dc418f2e292ffc661d21931ab34591952e2843e7168ea5a52591f6ff/pydantic_core-2.33.1-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:f995719707e0e29f0f41a8aa3bcea6e761a36c9136104d3189eafb83f5cec5e5", size = 2080951, upload_time = "2025-04-02T09:49:19.559Z" }, +sdist = { url = "https://files.pythonhosted.org/packages/17/19/ed6a078a5287aea7922de6841ef4c06157931622c89c2a47940837b5eecd/pydantic_core-2.33.1.tar.gz", hash = "sha256:bcc9c6fdb0ced789245b02b7d6603e17d1563064ddcfc36f046b61c0c05dd9df", size = 434395 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d6/7f/c6298830cb780c46b4f46bb24298d01019ffa4d21769f39b908cd14bbd50/pydantic_core-2.33.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:6e966fc3caaf9f1d96b349b0341c70c8d6573bf1bac7261f7b0ba88f96c56c24", size = 2044224 }, + { url = "https://files.pythonhosted.org/packages/a8/65/6ab3a536776cad5343f625245bd38165d6663256ad43f3a200e5936afd6c/pydantic_core-2.33.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bfd0adeee563d59c598ceabddf2c92eec77abcb3f4a391b19aa7366170bd9e30", size = 1858845 }, + { url = "https://files.pythonhosted.org/packages/e9/15/9a22fd26ba5ee8c669d4b8c9c244238e940cd5d818649603ca81d1c69861/pydantic_core-2.33.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:91815221101ad3c6b507804178a7bb5cb7b2ead9ecd600041669c8d805ebd595", size = 1910029 }, + { url = "https://files.pythonhosted.org/packages/d5/33/8cb1a62818974045086f55f604044bf35b9342900318f9a2a029a1bec460/pydantic_core-2.33.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9fea9c1869bb4742d174a57b4700c6dadea951df8b06de40c2fedb4f02931c2e", size = 1997784 }, + { url = "https://files.pythonhosted.org/packages/c0/ca/49958e4df7715c71773e1ea5be1c74544923d10319173264e6db122543f9/pydantic_core-2.33.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d20eb4861329bb2484c021b9d9a977566ab16d84000a57e28061151c62b349a", size = 2141075 }, + { url = "https://files.pythonhosted.org/packages/7b/a6/0b3a167a9773c79ba834b959b4e18c3ae9216b8319bd8422792abc8a41b1/pydantic_core-2.33.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fb935c5591573ae3201640579f30128ccc10739b45663f93c06796854405505", size = 2745849 }, + { url = "https://files.pythonhosted.org/packages/0b/60/516484135173aa9e5861d7a0663dce82e4746d2e7f803627d8c25dfa5578/pydantic_core-2.33.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c964fd24e6166420d18fb53996d8c9fd6eac9bf5ae3ec3d03015be4414ce497f", size = 2005794 }, + { url = "https://files.pythonhosted.org/packages/86/70/05b1eb77459ad47de00cf78ee003016da0cedf8b9170260488d7c21e9181/pydantic_core-2.33.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:681d65e9011f7392db5aa002b7423cc442d6a673c635668c227c6c8d0e5a4f77", size = 2123237 }, + { url = "https://files.pythonhosted.org/packages/c7/57/12667a1409c04ae7dc95d3b43158948eb0368e9c790be8b095cb60611459/pydantic_core-2.33.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e100c52f7355a48413e2999bfb4e139d2977a904495441b374f3d4fb4a170961", size = 2086351 }, + { url = "https://files.pythonhosted.org/packages/57/61/cc6d1d1c1664b58fdd6ecc64c84366c34ec9b606aeb66cafab6f4088974c/pydantic_core-2.33.1-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:048831bd363490be79acdd3232f74a0e9951b11b2b4cc058aeb72b22fdc3abe1", size = 2258914 }, + { url = "https://files.pythonhosted.org/packages/d1/0a/edb137176a1f5419b2ddee8bde6a0a548cfa3c74f657f63e56232df8de88/pydantic_core-2.33.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:bdc84017d28459c00db6f918a7272a5190bec3090058334e43a76afb279eac7c", size = 2257385 }, + { url = "https://files.pythonhosted.org/packages/26/3c/48ca982d50e4b0e1d9954919c887bdc1c2b462801bf408613ccc641b3daa/pydantic_core-2.33.1-cp311-cp311-win32.whl", hash = "sha256:32cd11c5914d1179df70406427097c7dcde19fddf1418c787540f4b730289896", size = 1923765 }, + { url = "https://files.pythonhosted.org/packages/33/cd/7ab70b99e5e21559f5de38a0928ea84e6f23fdef2b0d16a6feaf942b003c/pydantic_core-2.33.1-cp311-cp311-win_amd64.whl", hash = "sha256:2ea62419ba8c397e7da28a9170a16219d310d2cf4970dbc65c32faf20d828c83", size = 1950688 }, + { url = "https://files.pythonhosted.org/packages/4b/ae/db1fc237b82e2cacd379f63e3335748ab88b5adde98bf7544a1b1bd10a84/pydantic_core-2.33.1-cp311-cp311-win_arm64.whl", hash = "sha256:fc903512177361e868bc1f5b80ac8c8a6e05fcdd574a5fb5ffeac5a9982b9e89", size = 1908185 }, + { url = "https://files.pythonhosted.org/packages/c8/ce/3cb22b07c29938f97ff5f5bb27521f95e2ebec399b882392deb68d6c440e/pydantic_core-2.33.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:1293d7febb995e9d3ec3ea09caf1a26214eec45b0f29f6074abb004723fc1de8", size = 2026640 }, + { url = "https://files.pythonhosted.org/packages/19/78/f381d643b12378fee782a72126ec5d793081ef03791c28a0fd542a5bee64/pydantic_core-2.33.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:99b56acd433386c8f20be5c4000786d1e7ca0523c8eefc995d14d79c7a081498", size = 1852649 }, + { url = "https://files.pythonhosted.org/packages/9d/2b/98a37b80b15aac9eb2c6cfc6dbd35e5058a352891c5cce3a8472d77665a6/pydantic_core-2.33.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:35a5ec3fa8c2fe6c53e1b2ccc2454398f95d5393ab398478f53e1afbbeb4d939", size = 1892472 }, + { url = "https://files.pythonhosted.org/packages/4e/d4/3c59514e0f55a161004792b9ff3039da52448f43f5834f905abef9db6e4a/pydantic_core-2.33.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b172f7b9d2f3abc0efd12e3386f7e48b576ef309544ac3a63e5e9cdd2e24585d", size = 1977509 }, + { url = "https://files.pythonhosted.org/packages/a9/b6/c2c7946ef70576f79a25db59a576bce088bdc5952d1b93c9789b091df716/pydantic_core-2.33.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9097b9f17f91eea659b9ec58148c0747ec354a42f7389b9d50701610d86f812e", size = 2128702 }, + { url = "https://files.pythonhosted.org/packages/88/fe/65a880f81e3f2a974312b61f82a03d85528f89a010ce21ad92f109d94deb/pydantic_core-2.33.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cc77ec5b7e2118b152b0d886c7514a4653bcb58c6b1d760134a9fab915f777b3", size = 2679428 }, + { url = "https://files.pythonhosted.org/packages/6f/ff/4459e4146afd0462fb483bb98aa2436d69c484737feaceba1341615fb0ac/pydantic_core-2.33.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d5e3d15245b08fa4a84cefc6c9222e6f37c98111c8679fbd94aa145f9a0ae23d", size = 2008753 }, + { url = "https://files.pythonhosted.org/packages/7c/76/1c42e384e8d78452ededac8b583fe2550c84abfef83a0552e0e7478ccbc3/pydantic_core-2.33.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ef99779001d7ac2e2461d8ab55d3373fe7315caefdbecd8ced75304ae5a6fc6b", size = 2114849 }, + { url = "https://files.pythonhosted.org/packages/00/72/7d0cf05095c15f7ffe0eb78914b166d591c0eed72f294da68378da205101/pydantic_core-2.33.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:fc6bf8869e193855e8d91d91f6bf59699a5cdfaa47a404e278e776dd7f168b39", size = 2069541 }, + { url = "https://files.pythonhosted.org/packages/b3/69/94a514066bb7d8be499aa764926937409d2389c09be0b5107a970286ef81/pydantic_core-2.33.1-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:b1caa0bc2741b043db7823843e1bde8aaa58a55a58fda06083b0569f8b45693a", size = 2239225 }, + { url = "https://files.pythonhosted.org/packages/84/b0/e390071eadb44b41f4f54c3cef64d8bf5f9612c92686c9299eaa09e267e2/pydantic_core-2.33.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:ec259f62538e8bf364903a7d0d0239447059f9434b284f5536e8402b7dd198db", size = 2248373 }, + { url = "https://files.pythonhosted.org/packages/d6/b2/288b3579ffc07e92af66e2f1a11be3b056fe1214aab314748461f21a31c3/pydantic_core-2.33.1-cp312-cp312-win32.whl", hash = "sha256:e14f369c98a7c15772b9da98987f58e2b509a93235582838bd0d1d8c08b68fda", size = 1907034 }, + { url = "https://files.pythonhosted.org/packages/02/28/58442ad1c22b5b6742b992ba9518420235adced665513868f99a1c2638a5/pydantic_core-2.33.1-cp312-cp312-win_amd64.whl", hash = "sha256:1c607801d85e2e123357b3893f82c97a42856192997b95b4d8325deb1cd0c5f4", size = 1956848 }, + { url = "https://files.pythonhosted.org/packages/a1/eb/f54809b51c7e2a1d9f439f158b8dd94359321abcc98767e16fc48ae5a77e/pydantic_core-2.33.1-cp312-cp312-win_arm64.whl", hash = "sha256:8d13f0276806ee722e70a1c93da19748594f19ac4299c7e41237fc791d1861ea", size = 1903986 }, + { url = "https://files.pythonhosted.org/packages/7a/24/eed3466a4308d79155f1cdd5c7432c80ddcc4530ba8623b79d5ced021641/pydantic_core-2.33.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:70af6a21237b53d1fe7b9325b20e65cbf2f0a848cf77bed492b029139701e66a", size = 2033551 }, + { url = "https://files.pythonhosted.org/packages/ab/14/df54b1a0bc9b6ded9b758b73139d2c11b4e8eb43e8ab9c5847c0a2913ada/pydantic_core-2.33.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:282b3fe1bbbe5ae35224a0dbd05aed9ccabccd241e8e6b60370484234b456266", size = 1852785 }, + { url = "https://files.pythonhosted.org/packages/fa/96/e275f15ff3d34bb04b0125d9bc8848bf69f25d784d92a63676112451bfb9/pydantic_core-2.33.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b315e596282bbb5822d0c7ee9d255595bd7506d1cb20c2911a4da0b970187d3", size = 1897758 }, + { url = "https://files.pythonhosted.org/packages/b7/d8/96bc536e975b69e3a924b507d2a19aedbf50b24e08c80fb00e35f9baaed8/pydantic_core-2.33.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1dfae24cf9921875ca0ca6a8ecb4bb2f13c855794ed0d468d6abbec6e6dcd44a", size = 1986109 }, + { url = "https://files.pythonhosted.org/packages/90/72/ab58e43ce7e900b88cb571ed057b2fcd0e95b708a2e0bed475b10130393e/pydantic_core-2.33.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6dd8ecfde08d8bfadaea669e83c63939af76f4cf5538a72597016edfa3fad516", size = 2129159 }, + { url = "https://files.pythonhosted.org/packages/dc/3f/52d85781406886c6870ac995ec0ba7ccc028b530b0798c9080531b409fdb/pydantic_core-2.33.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2f593494876eae852dc98c43c6f260f45abdbfeec9e4324e31a481d948214764", size = 2680222 }, + { url = "https://files.pythonhosted.org/packages/f4/56/6e2ef42f363a0eec0fd92f74a91e0ac48cd2e49b695aac1509ad81eee86a/pydantic_core-2.33.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:948b73114f47fd7016088e5186d13faf5e1b2fe83f5e320e371f035557fd264d", size = 2006980 }, + { url = "https://files.pythonhosted.org/packages/4c/c0/604536c4379cc78359f9ee0aa319f4aedf6b652ec2854953f5a14fc38c5a/pydantic_core-2.33.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e11f3864eb516af21b01e25fac915a82e9ddad3bb0fb9e95a246067398b435a4", size = 2120840 }, + { url = "https://files.pythonhosted.org/packages/1f/46/9eb764814f508f0edfb291a0f75d10854d78113fa13900ce13729aaec3ae/pydantic_core-2.33.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:549150be302428b56fdad0c23c2741dcdb5572413776826c965619a25d9c6bde", size = 2072518 }, + { url = "https://files.pythonhosted.org/packages/42/e3/fb6b2a732b82d1666fa6bf53e3627867ea3131c5f39f98ce92141e3e3dc1/pydantic_core-2.33.1-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:495bc156026efafd9ef2d82372bd38afce78ddd82bf28ef5276c469e57c0c83e", size = 2248025 }, + { url = "https://files.pythonhosted.org/packages/5c/9d/fbe8fe9d1aa4dac88723f10a921bc7418bd3378a567cb5e21193a3c48b43/pydantic_core-2.33.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ec79de2a8680b1a67a07490bddf9636d5c2fab609ba8c57597e855fa5fa4dacd", size = 2254991 }, + { url = "https://files.pythonhosted.org/packages/aa/99/07e2237b8a66438d9b26482332cda99a9acccb58d284af7bc7c946a42fd3/pydantic_core-2.33.1-cp313-cp313-win32.whl", hash = "sha256:ee12a7be1742f81b8a65b36c6921022301d466b82d80315d215c4c691724986f", size = 1915262 }, + { url = "https://files.pythonhosted.org/packages/8a/f4/e457a7849beeed1e5defbcf5051c6f7b3c91a0624dd31543a64fc9adcf52/pydantic_core-2.33.1-cp313-cp313-win_amd64.whl", hash = "sha256:ede9b407e39949d2afc46385ce6bd6e11588660c26f80576c11c958e6647bc40", size = 1956626 }, + { url = "https://files.pythonhosted.org/packages/20/d0/e8d567a7cff7b04e017ae164d98011f1e1894269fe8e90ea187a3cbfb562/pydantic_core-2.33.1-cp313-cp313-win_arm64.whl", hash = "sha256:aa687a23d4b7871a00e03ca96a09cad0f28f443690d300500603bd0adba4b523", size = 1909590 }, + { url = "https://files.pythonhosted.org/packages/ef/fd/24ea4302d7a527d672c5be06e17df16aabfb4e9fdc6e0b345c21580f3d2a/pydantic_core-2.33.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:401d7b76e1000d0dd5538e6381d28febdcacb097c8d340dde7d7fc6e13e9f95d", size = 1812963 }, + { url = "https://files.pythonhosted.org/packages/5f/95/4fbc2ecdeb5c1c53f1175a32d870250194eb2fdf6291b795ab08c8646d5d/pydantic_core-2.33.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7aeb055a42d734c0255c9e489ac67e75397d59c6fbe60d155851e9782f276a9c", size = 1986896 }, + { url = "https://files.pythonhosted.org/packages/71/ae/fe31e7f4a62431222d8f65a3bd02e3fa7e6026d154a00818e6d30520ea77/pydantic_core-2.33.1-cp313-cp313t-win_amd64.whl", hash = "sha256:338ea9b73e6e109f15ab439e62cb3b78aa752c7fd9536794112e14bee02c8d18", size = 1931810 }, + { url = "https://files.pythonhosted.org/packages/0b/76/1794e440c1801ed35415238d2c728f26cd12695df9057154ad768b7b991c/pydantic_core-2.33.1-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:3a371dc00282c4b84246509a5ddc808e61b9864aa1eae9ecc92bb1268b82db4a", size = 2042858 }, + { url = "https://files.pythonhosted.org/packages/73/b4/9cd7b081fb0b1b4f8150507cd59d27b275c3e22ad60b35cb19ea0977d9b9/pydantic_core-2.33.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:f59295ecc75a1788af8ba92f2e8c6eeaa5a94c22fc4d151e8d9638814f85c8fc", size = 1873745 }, + { url = "https://files.pythonhosted.org/packages/e1/d7/9ddb7575d4321e40d0363903c2576c8c0c3280ebea137777e5ab58d723e3/pydantic_core-2.33.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:08530b8ac922003033f399128505f513e30ca770527cc8bbacf75a84fcc2c74b", size = 1904188 }, + { url = "https://files.pythonhosted.org/packages/d1/a8/3194ccfe461bb08da19377ebec8cb4f13c9bd82e13baebc53c5c7c39a029/pydantic_core-2.33.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bae370459da6a5466978c0eacf90690cb57ec9d533f8e63e564ef3822bfa04fe", size = 2083479 }, + { url = "https://files.pythonhosted.org/packages/42/c7/84cb569555d7179ca0b3f838cef08f66f7089b54432f5b8599aac6e9533e/pydantic_core-2.33.1-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e3de2777e3b9f4d603112f78006f4ae0acb936e95f06da6cb1a45fbad6bdb4b5", size = 2118415 }, + { url = "https://files.pythonhosted.org/packages/3b/67/72abb8c73e0837716afbb58a59cc9e3ae43d1aa8677f3b4bc72c16142716/pydantic_core-2.33.1-pp311-pypy311_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:3a64e81e8cba118e108d7126362ea30e021291b7805d47e4896e52c791be2761", size = 2079623 }, + { url = "https://files.pythonhosted.org/packages/0b/cd/c59707e35a47ba4cbbf153c3f7c56420c58653b5801b055dc52cccc8e2dc/pydantic_core-2.33.1-pp311-pypy311_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:52928d8c1b6bda03cc6d811e8923dffc87a2d3c8b3bfd2ce16471c7147a24850", size = 2250175 }, + { url = "https://files.pythonhosted.org/packages/84/32/e4325a6676b0bed32d5b084566ec86ed7fd1e9bcbfc49c578b1755bde920/pydantic_core-2.33.1-pp311-pypy311_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:1b30d92c9412beb5ac6b10a3eb7ef92ccb14e3f2a8d7732e2d739f58b3aa7544", size = 2254674 }, + { url = "https://files.pythonhosted.org/packages/12/6f/5596dc418f2e292ffc661d21931ab34591952e2843e7168ea5a52591f6ff/pydantic_core-2.33.1-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:f995719707e0e29f0f41a8aa3bcea6e761a36c9136104d3189eafb83f5cec5e5", size = 2080951 }, ] [[package]] @@ -351,27 +328,27 @@ dependencies = [ { name = "pydantic" }, { name = "python-dotenv" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/88/82/c79424d7d8c29b994fb01d277da57b0a9b09cc03c3ff875f9bd8a86b2145/pydantic_settings-2.8.1.tar.gz", hash = "sha256:d5c663dfbe9db9d5e1c646b2e161da12f0d734d422ee56f567d0ea2cee4e8585", size = 83550, upload_time = "2025-02-27T10:10:32.338Z" } +sdist = { url = "https://files.pythonhosted.org/packages/88/82/c79424d7d8c29b994fb01d277da57b0a9b09cc03c3ff875f9bd8a86b2145/pydantic_settings-2.8.1.tar.gz", hash = "sha256:d5c663dfbe9db9d5e1c646b2e161da12f0d734d422ee56f567d0ea2cee4e8585", size = 83550 } wheels = [ - { url = "https://files.pythonhosted.org/packages/0b/53/a64f03044927dc47aafe029c42a5b7aabc38dfb813475e0e1bf71c4a59d0/pydantic_settings-2.8.1-py3-none-any.whl", hash = "sha256:81942d5ac3d905f7f3ee1a70df5dfb62d5569c12f51a5a647defc1c3d9ee2e9c", size = 30839, upload_time = "2025-02-27T10:10:30.711Z" }, + { url = "https://files.pythonhosted.org/packages/0b/53/a64f03044927dc47aafe029c42a5b7aabc38dfb813475e0e1bf71c4a59d0/pydantic_settings-2.8.1-py3-none-any.whl", hash = "sha256:81942d5ac3d905f7f3ee1a70df5dfb62d5569c12f51a5a647defc1c3d9ee2e9c", size = 30839 }, ] [[package]] name = "python-dotenv" version = "1.1.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/88/2c/7bb1416c5620485aa793f2de31d3df393d3686aa8a8506d11e10e13c5baf/python_dotenv-1.1.0.tar.gz", hash = "sha256:41f90bc6f5f177fb41f53e87666db362025010eb28f60a01c9143bfa33a2b2d5", size = 39920, upload_time = "2025-03-25T10:14:56.835Z" } +sdist = { url = "https://files.pythonhosted.org/packages/88/2c/7bb1416c5620485aa793f2de31d3df393d3686aa8a8506d11e10e13c5baf/python_dotenv-1.1.0.tar.gz", hash = "sha256:41f90bc6f5f177fb41f53e87666db362025010eb28f60a01c9143bfa33a2b2d5", size = 39920 } wheels = [ - { url = "https://files.pythonhosted.org/packages/1e/18/98a99ad95133c6a6e2005fe89faedf294a748bd5dc803008059409ac9b1e/python_dotenv-1.1.0-py3-none-any.whl", hash = "sha256:d7c01d9e2293916c18baf562d95698754b0dbbb5e74d457c45d4f6561fb9d55d", size = 20256, upload_time = "2025-03-25T10:14:55.034Z" }, + { url = "https://files.pythonhosted.org/packages/1e/18/98a99ad95133c6a6e2005fe89faedf294a748bd5dc803008059409ac9b1e/python_dotenv-1.1.0-py3-none-any.whl", hash = "sha256:d7c01d9e2293916c18baf562d95698754b0dbbb5e74d457c45d4f6561fb9d55d", size = 20256 }, ] [[package]] name = "pytz" version = "2020.5" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/70/44/404ec10dca553032900a65bcded8b8280cf7c64cc3b723324e2181bf93c9/pytz-2020.5.tar.gz", hash = "sha256:180befebb1927b16f6b57101720075a984c019ac16b1b7575673bea42c6c3da5", size = 314194, upload_time = "2020-12-24T20:58:07.498Z" } +sdist = { url = "https://files.pythonhosted.org/packages/70/44/404ec10dca553032900a65bcded8b8280cf7c64cc3b723324e2181bf93c9/pytz-2020.5.tar.gz", hash = "sha256:180befebb1927b16f6b57101720075a984c019ac16b1b7575673bea42c6c3da5", size = 314194 } wheels = [ - { url = "https://files.pythonhosted.org/packages/89/06/2c2d3034b4d6bf22f2a4ae546d16925898658a33b4400cfb7e2c1e2871a3/pytz-2020.5-py2.py3-none-any.whl", hash = "sha256:16962c5fb8db4a8f63a26646d8886e9d769b6c511543557bc84e9569fb9a9cb4", size = 510773, upload_time = "2020-12-24T20:58:04.098Z" }, + { url = "https://files.pythonhosted.org/packages/89/06/2c2d3034b4d6bf22f2a4ae546d16925898658a33b4400cfb7e2c1e2871a3/pytz-2020.5-py2.py3-none-any.whl", hash = "sha256:16962c5fb8db4a8f63a26646d8886e9d769b6c511543557bc84e9569fb9a9cb4", size = 510773 }, ] [[package]] @@ -384,9 +361,9 @@ dependencies = [ { name = "idna" }, { name = "urllib3" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/63/70/2bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913/requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760", size = 131218, upload_time = "2024-05-29T15:37:49.536Z" } +sdist = { url = "https://files.pythonhosted.org/packages/63/70/2bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913/requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760", size = 131218 } wheels = [ - { url = "https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6", size = 64928, upload_time = "2024-05-29T15:37:47.027Z" }, + { url = "https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6", size = 64928 }, ] [[package]] @@ -397,36 +374,36 @@ dependencies = [ { name = "decorator" }, { name = "py" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/9d/72/75d0b85443fbc8d9f38d08d2b1b67cc184ce35280e4a3813cda2f445f3a4/retry-0.9.2.tar.gz", hash = "sha256:f8bfa8b99b69c4506d6f5bd3b0aabf77f98cdb17f3c9fc3f5ca820033336fba4", size = 6448, upload_time = "2016-05-11T13:58:51.541Z" } +sdist = { url = "https://files.pythonhosted.org/packages/9d/72/75d0b85443fbc8d9f38d08d2b1b67cc184ce35280e4a3813cda2f445f3a4/retry-0.9.2.tar.gz", hash = "sha256:f8bfa8b99b69c4506d6f5bd3b0aabf77f98cdb17f3c9fc3f5ca820033336fba4", size = 6448 } wheels = [ - { url = "https://files.pythonhosted.org/packages/4b/0d/53aea75710af4528a25ed6837d71d117602b01946b307a3912cb3cfcbcba/retry-0.9.2-py2.py3-none-any.whl", hash = "sha256:ccddf89761fa2c726ab29391837d4327f819ea14d244c232a1d24c67a2f98606", size = 7986, upload_time = "2016-05-11T13:58:39.925Z" }, + { url = "https://files.pythonhosted.org/packages/4b/0d/53aea75710af4528a25ed6837d71d117602b01946b307a3912cb3cfcbcba/retry-0.9.2-py2.py3-none-any.whl", hash = "sha256:ccddf89761fa2c726ab29391837d4327f819ea14d244c232a1d24c67a2f98606", size = 7986 }, ] [[package]] name = "six" version = "1.17.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload_time = "2024-12-04T17:35:28.174Z" } +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031 } wheels = [ - { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload_time = "2024-12-04T17:35:26.475Z" }, + { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050 }, ] [[package]] name = "sniffio" version = "1.3.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc", size = 20372, upload_time = "2024-02-25T23:20:04.057Z" } +sdist = { url = "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc", size = 20372 } wheels = [ - { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235, upload_time = "2024-02-25T23:20:01.196Z" }, + { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] [[package]] name = "soupsieve" version = "2.6" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d7/ce/fbaeed4f9fb8b2daa961f90591662df6a86c1abf25c548329a86920aedfb/soupsieve-2.6.tar.gz", hash = "sha256:e2e68417777af359ec65daac1057404a3c8a5455bb8abc36f1a9866ab1a51abb", size = 101569, upload_time = "2024-08-13T13:39:12.166Z" } +sdist = { url = "https://files.pythonhosted.org/packages/d7/ce/fbaeed4f9fb8b2daa961f90591662df6a86c1abf25c548329a86920aedfb/soupsieve-2.6.tar.gz", hash = "sha256:e2e68417777af359ec65daac1057404a3c8a5455bb8abc36f1a9866ab1a51abb", size = 101569 } wheels = [ - { url = "https://files.pythonhosted.org/packages/d1/c2/fe97d779f3ef3b15f05c94a2f1e3d21732574ed441687474db9d342a7315/soupsieve-2.6-py3-none-any.whl", hash = "sha256:e72c4ff06e4fb6e4b5a9f0f55fe6e81514581fca1515028625d0f299c602ccc9", size = 36186, upload_time = "2024-08-13T13:39:10.986Z" }, + { url = "https://files.pythonhosted.org/packages/d1/c2/fe97d779f3ef3b15f05c94a2f1e3d21732574ed441687474db9d342a7315/soupsieve-2.6-py3-none-any.whl", hash = "sha256:e72c4ff06e4fb6e4b5a9f0f55fe6e81514581fca1515028625d0f299c602ccc9", size = 36186 }, ] [[package]] @@ -437,9 +414,9 @@ dependencies = [ { name = "anyio" }, { name = "starlette" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/71/a4/80d2a11af59fe75b48230846989e93979c892d3a20016b42bb44edb9e398/sse_starlette-2.2.1.tar.gz", hash = "sha256:54470d5f19274aeed6b2d473430b08b4b379ea851d953b11d7f1c4a2c118b419", size = 17376, upload_time = "2024-12-25T09:09:30.616Z" } +sdist = { url = "https://files.pythonhosted.org/packages/71/a4/80d2a11af59fe75b48230846989e93979c892d3a20016b42bb44edb9e398/sse_starlette-2.2.1.tar.gz", hash = "sha256:54470d5f19274aeed6b2d473430b08b4b379ea851d953b11d7f1c4a2c118b419", size = 17376 } wheels = [ - { url = "https://files.pythonhosted.org/packages/d9/e0/5b8bd393f27f4a62461c5cf2479c75a2cc2ffa330976f9f00f5f6e4f50eb/sse_starlette-2.2.1-py3-none-any.whl", hash = "sha256:6410a3d3ba0c89e7675d4c273a301d64649c03a5ef1ca101f10b47f895fd0e99", size = 10120, upload_time = "2024-12-25T09:09:26.761Z" }, + { url = "https://files.pythonhosted.org/packages/d9/e0/5b8bd393f27f4a62461c5cf2479c75a2cc2ffa330976f9f00f5f6e4f50eb/sse_starlette-2.2.1-py3-none-any.whl", hash = "sha256:6410a3d3ba0c89e7675d4c273a301d64649c03a5ef1ca101f10b47f895fd0e99", size = 10120 }, ] [[package]] @@ -449,18 +426,18 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anyio" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ce/20/08dfcd9c983f6a6f4a1000d934b9e6d626cff8d2eeb77a89a68eef20a2b7/starlette-0.46.2.tar.gz", hash = "sha256:7f7361f34eed179294600af672f565727419830b54b7b084efe44bb82d2fccd5", size = 2580846, upload_time = "2025-04-13T13:56:17.942Z" } +sdist = { url = "https://files.pythonhosted.org/packages/ce/20/08dfcd9c983f6a6f4a1000d934b9e6d626cff8d2eeb77a89a68eef20a2b7/starlette-0.46.2.tar.gz", hash = "sha256:7f7361f34eed179294600af672f565727419830b54b7b084efe44bb82d2fccd5", size = 2580846 } wheels = [ - { url = "https://files.pythonhosted.org/packages/8b/0c/9d30a4ebeb6db2b25a841afbb80f6ef9a854fc3b41be131d249a977b4959/starlette-0.46.2-py3-none-any.whl", hash = "sha256:595633ce89f8ffa71a015caed34a5b2dc1c0cdb3f0f1fbd1e69339cf2abeec35", size = 72037, upload_time = "2025-04-13T13:56:16.21Z" }, + { url = "https://files.pythonhosted.org/packages/8b/0c/9d30a4ebeb6db2b25a841afbb80f6ef9a854fc3b41be131d249a977b4959/starlette-0.46.2-py3-none-any.whl", hash = "sha256:595633ce89f8ffa71a015caed34a5b2dc1c0cdb3f0f1fbd1e69339cf2abeec35", size = 72037 }, ] [[package]] name = "typing-extensions" version = "4.13.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f6/37/23083fcd6e35492953e8d2aaaa68b860eb422b34627b13f2ce3eb6106061/typing_extensions-4.13.2.tar.gz", hash = "sha256:e6c81219bd689f51865d9e372991c540bda33a0379d5573cddb9a3a23f7caaef", size = 106967, upload_time = "2025-04-10T14:19:05.416Z" } +sdist = { url = "https://files.pythonhosted.org/packages/f6/37/23083fcd6e35492953e8d2aaaa68b860eb422b34627b13f2ce3eb6106061/typing_extensions-4.13.2.tar.gz", hash = "sha256:e6c81219bd689f51865d9e372991c540bda33a0379d5573cddb9a3a23f7caaef", size = 106967 } wheels = [ - { url = "https://files.pythonhosted.org/packages/8b/54/b1ae86c0973cc6f0210b53d508ca3641fb6d0c56823f288d108bc7ab3cc8/typing_extensions-4.13.2-py3-none-any.whl", hash = "sha256:a439e7c04b49fec3e5d3e2beaa21755cadbbdc391694e28ccdd36ca4a1408f8c", size = 45806, upload_time = "2025-04-10T14:19:03.967Z" }, + { url = "https://files.pythonhosted.org/packages/8b/54/b1ae86c0973cc6f0210b53d508ca3641fb6d0c56823f288d108bc7ab3cc8/typing_extensions-4.13.2-py3-none-any.whl", hash = "sha256:a439e7c04b49fec3e5d3e2beaa21755cadbbdc391694e28ccdd36ca4a1408f8c", size = 45806 }, ] [[package]] @@ -470,18 +447,18 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/82/5c/e6082df02e215b846b4b8c0b887a64d7d08ffaba30605502639d44c06b82/typing_inspection-0.4.0.tar.gz", hash = "sha256:9765c87de36671694a67904bf2c96e395be9c6439bb6c87b5142569dcdd65122", size = 76222, upload_time = "2025-02-25T17:27:59.638Z" } +sdist = { url = "https://files.pythonhosted.org/packages/82/5c/e6082df02e215b846b4b8c0b887a64d7d08ffaba30605502639d44c06b82/typing_inspection-0.4.0.tar.gz", hash = "sha256:9765c87de36671694a67904bf2c96e395be9c6439bb6c87b5142569dcdd65122", size = 76222 } wheels = [ - { url = "https://files.pythonhosted.org/packages/31/08/aa4fdfb71f7de5176385bd9e90852eaf6b5d622735020ad600f2bab54385/typing_inspection-0.4.0-py3-none-any.whl", hash = "sha256:50e72559fcd2a6367a19f7a7e610e6afcb9fac940c650290eed893d61386832f", size = 14125, upload_time = "2025-02-25T17:27:57.754Z" }, + { url = "https://files.pythonhosted.org/packages/31/08/aa4fdfb71f7de5176385bd9e90852eaf6b5d622735020ad600f2bab54385/typing_inspection-0.4.0-py3-none-any.whl", hash = "sha256:50e72559fcd2a6367a19f7a7e610e6afcb9fac940c650290eed893d61386832f", size = 14125 }, ] [[package]] name = "urllib3" version = "2.4.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/8a/78/16493d9c386d8e60e442a35feac5e00f0913c0f4b7c217c11e8ec2ff53e0/urllib3-2.4.0.tar.gz", hash = "sha256:414bc6535b787febd7567804cc015fee39daab8ad86268f1310a9250697de466", size = 390672, upload_time = "2025-04-10T15:23:39.232Z" } +sdist = { url = "https://files.pythonhosted.org/packages/8a/78/16493d9c386d8e60e442a35feac5e00f0913c0f4b7c217c11e8ec2ff53e0/urllib3-2.4.0.tar.gz", hash = "sha256:414bc6535b787febd7567804cc015fee39daab8ad86268f1310a9250697de466", size = 390672 } wheels = [ - { url = "https://files.pythonhosted.org/packages/6b/11/cc635220681e93a0183390e26485430ca2c7b5f9d33b15c74c2861cb8091/urllib3-2.4.0-py3-none-any.whl", hash = "sha256:4e16665048960a0900c702d4a66415956a584919c03361cac9f1df5c5dd7e813", size = 128680, upload_time = "2025-04-10T15:23:37.377Z" }, + { url = "https://files.pythonhosted.org/packages/6b/11/cc635220681e93a0183390e26485430ca2c7b5f9d33b15c74c2861cb8091/urllib3-2.4.0-py3-none-any.whl", hash = "sha256:4e16665048960a0900c702d4a66415956a584919c03361cac9f1df5c5dd7e813", size = 128680 }, ] [[package]] @@ -492,9 +469,32 @@ dependencies = [ { name = "click" }, { name = "h11" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/86/37/dd92f1f9cedb5eaf74d9999044306e06abe65344ff197864175dbbd91871/uvicorn-0.34.1.tar.gz", hash = "sha256:af981725fc4b7ffc5cb3b0e9eda6258a90c4b52cb2a83ce567ae0a7ae1757afc", size = 76755, upload_time = "2025-04-13T13:48:04.305Z" } +sdist = { url = "https://files.pythonhosted.org/packages/86/37/dd92f1f9cedb5eaf74d9999044306e06abe65344ff197864175dbbd91871/uvicorn-0.34.1.tar.gz", hash = "sha256:af981725fc4b7ffc5cb3b0e9eda6258a90c4b52cb2a83ce567ae0a7ae1757afc", size = 76755 } wheels = [ - { url = "https://files.pythonhosted.org/packages/5f/38/a5801450940a858c102a7ad9e6150146a25406a119851c993148d56ab041/uvicorn-0.34.1-py3-none-any.whl", hash = "sha256:984c3a8c7ca18ebaad15995ee7401179212c59521e67bfc390c07fa2b8d2e065", size = 62404, upload_time = "2025-04-13T13:48:02.408Z" }, + { url = "https://files.pythonhosted.org/packages/5f/38/a5801450940a858c102a7ad9e6150146a25406a119851c993148d56ab041/uvicorn-0.34.1-py3-none-any.whl", hash = "sha256:984c3a8c7ca18ebaad15995ee7401179212c59521e67bfc390c07fa2b8d2e065", size = 62404 }, +] + +[[package]] +name = "vcloud-mcp-server" +version = "0.1.0" +source = { editable = "." } +dependencies = [ + { name = "mcp" }, + { name = "pydantic" }, + { name = "python-dotenv" }, + { name = "retry" }, + { name = "starlette" }, + { name = "volcengine" }, +] + +[package.metadata] +requires-dist = [ + { name = "mcp", specifier = ">=1.6.0" }, + { name = "pydantic", specifier = ">=2.11.3" }, + { name = "python-dotenv", specifier = ">=1.1.0" }, + { name = "retry", specifier = ">=0.9.2" }, + { name = "starlette", specifier = ">=0.46.2" }, + { name = "volcengine", specifier = ">=1.0.180" }, ] [[package]] @@ -510,4 +510,4 @@ dependencies = [ { name = "retry" }, { name = "six" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/13/1a/917c723fe2acabdc4db3ea54e6e187cfeced9a1fc7937003c07cf75ed5c1/volcengine-1.0.180.tar.gz", hash = "sha256:3998979dc425a241e2155caa533ae33b2c0fdedb5a596c25b46f79223806efb7", size = 349390, upload_time = "2025-04-10T12:28:35.474Z" } +sdist = { url = "https://files.pythonhosted.org/packages/13/1a/917c723fe2acabdc4db3ea54e6e187cfeced9a1fc7937003c07cf75ed5c1/volcengine-1.0.180.tar.gz", hash = "sha256:3998979dc425a241e2155caa533ae33b2c0fdedb5a596c25b46f79223806efb7", size = 349390 } From 28959cd3d27bfe131c1cc80e19e815fcef247ee2 Mon Sep 17 00:00:00 2001 From: "xujian.captain" Date: Thu, 22 May 2025 16:22:13 +0800 Subject: [PATCH 5/6] UPDATE VEEN Python Server --- server/mcp_server_veen/README.md | 4 +- server/mcp_server_veen/README_zh.md | 4 +- .../build/lib/vcloud/veen/api/config.py | 2 +- server/mcp_server_veen/python/pyproject.toml | 2 +- server/mcp_server_veen/python/uv.lock | 382 +++++++++--------- .../python/vcloud/utils/response.py | 23 +- .../python/vcloud/veen/api/config.py | 2 +- 7 files changed, 212 insertions(+), 207 deletions(-) diff --git a/server/mcp_server_veen/README.md b/server/mcp_server_veen/README.md index b8838db..000e711 100644 --- a/server/mcp_server_veen/README.md +++ b/server/mcp_server_veen/README.md @@ -110,8 +110,8 @@ Use a client to interact with the server: "mcp-server-veen" ], "env": { - "VOLC_ACCESSKEY": "", - "VOLC_SECRETKEY": "" + "VOLCENGINE_ACCESS_KEY": "Your Volcengine AK", + "VOLCENGINE_SECRET_KEY": "Your Volcengine SK" } } } diff --git a/server/mcp_server_veen/README_zh.md b/server/mcp_server_veen/README_zh.md index 71cd78a..cfb7c07 100644 --- a/server/mcp_server_veen/README_zh.md +++ b/server/mcp_server_veen/README_zh.md @@ -110,8 +110,8 @@ uv run mcp-server-veen -t sse "mcp-server-veen" ], "env": { - "VOLC_ACCESSKEY": "", - "VOLC_SECRETKEY": "" + "VOLCENGINE_ACCESS_KEY": "Your Volcengine AK", + "VOLCENGINE_SECRET_KEY": "Your Volcengine SK" } } } diff --git a/server/mcp_server_veen/python/build/lib/vcloud/veen/api/config.py b/server/mcp_server_veen/python/build/lib/vcloud/veen/api/config.py index 04e6826..54bec9e 100644 --- a/server/mcp_server_veen/python/build/lib/vcloud/veen/api/config.py +++ b/server/mcp_server_veen/python/build/lib/vcloud/veen/api/config.py @@ -213,7 +213,7 @@ } service_info_map = { "cn-north-1": ServiceInfo( - "open.volcengineapi.com", + "veenedge.volcengineapi.com", {"Accept": "application/json", "x-tt-mcp": "volc"}, Credentials("", "", "veenedge", "cn-north-1"), 60, diff --git a/server/mcp_server_veen/python/pyproject.toml b/server/mcp_server_veen/python/pyproject.toml index 8487e7d..20664a3 100644 --- a/server/mcp_server_veen/python/pyproject.toml +++ b/server/mcp_server_veen/python/pyproject.toml @@ -2,7 +2,7 @@ [project] name = "mcp-server-veen" version = "0.1.0" -description = "MCP server for veenedge" +description = "MCP server for veen" readme = "README.md" requires-python = ">=3.11" dependencies = [ diff --git a/server/mcp_server_veen/python/uv.lock b/server/mcp_server_veen/python/uv.lock index 1128b55..ca9fc23 100644 --- a/server/mcp_server_veen/python/uv.lock +++ b/server/mcp_server_veen/python/uv.lock @@ -1,14 +1,14 @@ version = 1 -revision = 1 +revision = 2 requires-python = ">=3.11" [[package]] name = "annotated-types" version = "0.7.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", size = 16081 } +sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", size = 16081, upload-time = "2024-05-20T21:33:25.928Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643 }, + { url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643, upload-time = "2024-05-20T21:33:24.1Z" }, ] [[package]] @@ -20,9 +20,9 @@ dependencies = [ { name = "sniffio" }, { name = "typing-extensions", marker = "python_full_version < '3.13'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/95/7d/4c1bd541d4dffa1b52bd83fb8527089e097a106fc90b467a7313b105f840/anyio-4.9.0.tar.gz", hash = "sha256:673c0c244e15788651a4ff38710fea9675823028a6f08a5eda409e0c9840a028", size = 190949 } +sdist = { url = "https://files.pythonhosted.org/packages/95/7d/4c1bd541d4dffa1b52bd83fb8527089e097a106fc90b467a7313b105f840/anyio-4.9.0.tar.gz", hash = "sha256:673c0c244e15788651a4ff38710fea9675823028a6f08a5eda409e0c9840a028", size = 190949, upload-time = "2025-03-17T00:02:54.77Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a1/ee/48ca1a7c89ffec8b6a0c5d02b89c305671d5ffd8d3c94acf8b8c408575bb/anyio-4.9.0-py3-none-any.whl", hash = "sha256:9f76d541cad6e36af7beb62e978876f3b41e3e04f2c1fbf0884604c0a9c4d93c", size = 100916 }, + { url = "https://files.pythonhosted.org/packages/a1/ee/48ca1a7c89ffec8b6a0c5d02b89c305671d5ffd8d3c94acf8b8c408575bb/anyio-4.9.0-py3-none-any.whl", hash = "sha256:9f76d541cad6e36af7beb62e978876f3b41e3e04f2c1fbf0884604c0a9c4d93c", size = 100916, upload-time = "2025-03-17T00:02:52.713Z" }, ] [[package]] @@ -33,66 +33,66 @@ dependencies = [ { name = "soupsieve" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/f0/3c/adaf39ce1fb4afdd21b611e3d530b183bb7759c9b673d60db0e347fd4439/beautifulsoup4-4.13.3.tar.gz", hash = "sha256:1bd32405dacc920b42b83ba01644747ed77456a65760e285fbc47633ceddaf8b", size = 619516 } +sdist = { url = "https://files.pythonhosted.org/packages/f0/3c/adaf39ce1fb4afdd21b611e3d530b183bb7759c9b673d60db0e347fd4439/beautifulsoup4-4.13.3.tar.gz", hash = "sha256:1bd32405dacc920b42b83ba01644747ed77456a65760e285fbc47633ceddaf8b", size = 619516, upload-time = "2025-02-04T20:05:01.681Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f9/49/6abb616eb3cbab6a7cca303dc02fdf3836de2e0b834bf966a7f5271a34d8/beautifulsoup4-4.13.3-py3-none-any.whl", hash = "sha256:99045d7d3f08f91f0d656bc9b7efbae189426cd913d830294a15eefa0ea4df16", size = 186015 }, + { url = "https://files.pythonhosted.org/packages/f9/49/6abb616eb3cbab6a7cca303dc02fdf3836de2e0b834bf966a7f5271a34d8/beautifulsoup4-4.13.3-py3-none-any.whl", hash = "sha256:99045d7d3f08f91f0d656bc9b7efbae189426cd913d830294a15eefa0ea4df16", size = 186015, upload-time = "2025-02-04T20:05:03.729Z" }, ] [[package]] name = "certifi" version = "2025.1.31" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/1c/ab/c9f1e32b7b1bf505bf26f0ef697775960db7932abeb7b516de930ba2705f/certifi-2025.1.31.tar.gz", hash = "sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651", size = 167577 } +sdist = { url = "https://files.pythonhosted.org/packages/1c/ab/c9f1e32b7b1bf505bf26f0ef697775960db7932abeb7b516de930ba2705f/certifi-2025.1.31.tar.gz", hash = "sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651", size = 167577, upload-time = "2025-01-31T02:16:47.166Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/38/fc/bce832fd4fd99766c04d1ee0eead6b0ec6486fb100ae5e74c1d91292b982/certifi-2025.1.31-py3-none-any.whl", hash = "sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe", size = 166393 }, + { url = "https://files.pythonhosted.org/packages/38/fc/bce832fd4fd99766c04d1ee0eead6b0ec6486fb100ae5e74c1d91292b982/certifi-2025.1.31-py3-none-any.whl", hash = "sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe", size = 166393, upload-time = "2025-01-31T02:16:45.015Z" }, ] [[package]] name = "charset-normalizer" version = "3.4.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/16/b0/572805e227f01586461c80e0fd25d65a2115599cc9dad142fee4b747c357/charset_normalizer-3.4.1.tar.gz", hash = "sha256:44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3", size = 123188 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/72/80/41ef5d5a7935d2d3a773e3eaebf0a9350542f2cab4eac59a7a4741fbbbbe/charset_normalizer-3.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8bfa33f4f2672964266e940dd22a195989ba31669bd84629f05fab3ef4e2d125", size = 194995 }, - { url = "https://files.pythonhosted.org/packages/7a/28/0b9fefa7b8b080ec492110af6d88aa3dea91c464b17d53474b6e9ba5d2c5/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28bf57629c75e810b6ae989f03c0828d64d6b26a5e205535585f96093e405ed1", size = 139471 }, - { url = "https://files.pythonhosted.org/packages/71/64/d24ab1a997efb06402e3fc07317e94da358e2585165930d9d59ad45fcae2/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f08ff5e948271dc7e18a35641d2f11a4cd8dfd5634f55228b691e62b37125eb3", size = 149831 }, - { url = "https://files.pythonhosted.org/packages/37/ed/be39e5258e198655240db5e19e0b11379163ad7070962d6b0c87ed2c4d39/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:234ac59ea147c59ee4da87a0c0f098e9c8d169f4dc2a159ef720f1a61bbe27cd", size = 142335 }, - { url = "https://files.pythonhosted.org/packages/88/83/489e9504711fa05d8dde1574996408026bdbdbd938f23be67deebb5eca92/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd4ec41f914fa74ad1b8304bbc634b3de73d2a0889bd32076342a573e0779e00", size = 143862 }, - { url = "https://files.pythonhosted.org/packages/c6/c7/32da20821cf387b759ad24627a9aca289d2822de929b8a41b6241767b461/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eea6ee1db730b3483adf394ea72f808b6e18cf3cb6454b4d86e04fa8c4327a12", size = 145673 }, - { url = "https://files.pythonhosted.org/packages/68/85/f4288e96039abdd5aeb5c546fa20a37b50da71b5cf01e75e87f16cd43304/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c96836c97b1238e9c9e3fe90844c947d5afbf4f4c92762679acfe19927d81d77", size = 140211 }, - { url = "https://files.pythonhosted.org/packages/28/a3/a42e70d03cbdabc18997baf4f0227c73591a08041c149e710045c281f97b/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4d86f7aff21ee58f26dcf5ae81a9addbd914115cdebcbb2217e4f0ed8982e146", size = 148039 }, - { url = "https://files.pythonhosted.org/packages/85/e4/65699e8ab3014ecbe6f5c71d1a55d810fb716bbfd74f6283d5c2aa87febf/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:09b5e6733cbd160dcc09589227187e242a30a49ca5cefa5a7edd3f9d19ed53fd", size = 151939 }, - { url = "https://files.pythonhosted.org/packages/b1/82/8e9fe624cc5374193de6860aba3ea8070f584c8565ee77c168ec13274bd2/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:5777ee0881f9499ed0f71cc82cf873d9a0ca8af166dfa0af8ec4e675b7df48e6", size = 149075 }, - { url = "https://files.pythonhosted.org/packages/3d/7b/82865ba54c765560c8433f65e8acb9217cb839a9e32b42af4aa8e945870f/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:237bdbe6159cff53b4f24f397d43c6336c6b0b42affbe857970cefbb620911c8", size = 144340 }, - { url = "https://files.pythonhosted.org/packages/b5/b6/9674a4b7d4d99a0d2df9b215da766ee682718f88055751e1e5e753c82db0/charset_normalizer-3.4.1-cp311-cp311-win32.whl", hash = "sha256:8417cb1f36cc0bc7eaba8ccb0e04d55f0ee52df06df3ad55259b9a323555fc8b", size = 95205 }, - { url = "https://files.pythonhosted.org/packages/1e/ab/45b180e175de4402dcf7547e4fb617283bae54ce35c27930a6f35b6bef15/charset_normalizer-3.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:d7f50a1f8c450f3925cb367d011448c39239bb3eb4117c36a6d354794de4ce76", size = 102441 }, - { url = "https://files.pythonhosted.org/packages/0a/9a/dd1e1cdceb841925b7798369a09279bd1cf183cef0f9ddf15a3a6502ee45/charset_normalizer-3.4.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:73d94b58ec7fecbc7366247d3b0b10a21681004153238750bb67bd9012414545", size = 196105 }, - { url = "https://files.pythonhosted.org/packages/d3/8c/90bfabf8c4809ecb648f39794cf2a84ff2e7d2a6cf159fe68d9a26160467/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dad3e487649f498dd991eeb901125411559b22e8d7ab25d3aeb1af367df5efd7", size = 140404 }, - { url = "https://files.pythonhosted.org/packages/ad/8f/e410d57c721945ea3b4f1a04b74f70ce8fa800d393d72899f0a40526401f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c30197aa96e8eed02200a83fba2657b4c3acd0f0aa4bdc9f6c1af8e8962e0757", size = 150423 }, - { url = "https://files.pythonhosted.org/packages/f0/b8/e6825e25deb691ff98cf5c9072ee0605dc2acfca98af70c2d1b1bc75190d/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa", size = 143184 }, - { url = "https://files.pythonhosted.org/packages/3e/a2/513f6cbe752421f16d969e32f3583762bfd583848b763913ddab8d9bfd4f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc2722592d8998c870fa4e290c2eec2c1569b87fe58618e67d38b4665dfa680d", size = 145268 }, - { url = "https://files.pythonhosted.org/packages/74/94/8a5277664f27c3c438546f3eb53b33f5b19568eb7424736bdc440a88a31f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffc9202a29ab3920fa812879e95a9e78b2465fd10be7fcbd042899695d75e616", size = 147601 }, - { url = "https://files.pythonhosted.org/packages/7c/5f/6d352c51ee763623a98e31194823518e09bfa48be2a7e8383cf691bbb3d0/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:804a4d582ba6e5b747c625bf1255e6b1507465494a40a2130978bda7b932c90b", size = 141098 }, - { url = "https://files.pythonhosted.org/packages/78/d4/f5704cb629ba5ab16d1d3d741396aec6dc3ca2b67757c45b0599bb010478/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0f55e69f030f7163dffe9fd0752b32f070566451afe180f99dbeeb81f511ad8d", size = 149520 }, - { url = "https://files.pythonhosted.org/packages/c5/96/64120b1d02b81785f222b976c0fb79a35875457fa9bb40827678e54d1bc8/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c4c3e6da02df6fa1410a7680bd3f63d4f710232d3139089536310d027950696a", size = 152852 }, - { url = "https://files.pythonhosted.org/packages/84/c9/98e3732278a99f47d487fd3468bc60b882920cef29d1fa6ca460a1fdf4e6/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:5df196eb874dae23dcfb968c83d4f8fdccb333330fe1fc278ac5ceeb101003a9", size = 150488 }, - { url = "https://files.pythonhosted.org/packages/13/0e/9c8d4cb99c98c1007cc11eda969ebfe837bbbd0acdb4736d228ccaabcd22/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e358e64305fe12299a08e08978f51fc21fac060dcfcddd95453eabe5b93ed0e1", size = 146192 }, - { url = "https://files.pythonhosted.org/packages/b2/21/2b6b5b860781a0b49427309cb8670785aa543fb2178de875b87b9cc97746/charset_normalizer-3.4.1-cp312-cp312-win32.whl", hash = "sha256:9b23ca7ef998bc739bf6ffc077c2116917eabcc901f88da1b9856b210ef63f35", size = 95550 }, - { url = "https://files.pythonhosted.org/packages/21/5b/1b390b03b1d16c7e382b561c5329f83cc06623916aab983e8ab9239c7d5c/charset_normalizer-3.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:6ff8a4a60c227ad87030d76e99cd1698345d4491638dfa6673027c48b3cd395f", size = 102785 }, - { url = "https://files.pythonhosted.org/packages/38/94/ce8e6f63d18049672c76d07d119304e1e2d7c6098f0841b51c666e9f44a0/charset_normalizer-3.4.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:aabfa34badd18f1da5ec1bc2715cadc8dca465868a4e73a0173466b688f29dda", size = 195698 }, - { url = "https://files.pythonhosted.org/packages/24/2e/dfdd9770664aae179a96561cc6952ff08f9a8cd09a908f259a9dfa063568/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22e14b5d70560b8dd51ec22863f370d1e595ac3d024cb8ad7d308b4cd95f8313", size = 140162 }, - { url = "https://files.pythonhosted.org/packages/24/4e/f646b9093cff8fc86f2d60af2de4dc17c759de9d554f130b140ea4738ca6/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8436c508b408b82d87dc5f62496973a1805cd46727c34440b0d29d8a2f50a6c9", size = 150263 }, - { url = "https://files.pythonhosted.org/packages/5e/67/2937f8d548c3ef6e2f9aab0f6e21001056f692d43282b165e7c56023e6dd/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d074908e1aecee37a7635990b2c6d504cd4766c7bc9fc86d63f9c09af3fa11b", size = 142966 }, - { url = "https://files.pythonhosted.org/packages/52/ed/b7f4f07de100bdb95c1756d3a4d17b90c1a3c53715c1a476f8738058e0fa/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:955f8851919303c92343d2f66165294848d57e9bba6cf6e3625485a70a038d11", size = 144992 }, - { url = "https://files.pythonhosted.org/packages/96/2c/d49710a6dbcd3776265f4c923bb73ebe83933dfbaa841c5da850fe0fd20b/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:44ecbf16649486d4aebafeaa7ec4c9fed8b88101f4dd612dcaf65d5e815f837f", size = 147162 }, - { url = "https://files.pythonhosted.org/packages/b4/41/35ff1f9a6bd380303dea55e44c4933b4cc3c4850988927d4082ada230273/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0924e81d3d5e70f8126529951dac65c1010cdf117bb75eb02dd12339b57749dd", size = 140972 }, - { url = "https://files.pythonhosted.org/packages/fb/43/c6a0b685fe6910d08ba971f62cd9c3e862a85770395ba5d9cad4fede33ab/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2967f74ad52c3b98de4c3b32e1a44e32975e008a9cd2a8cc8966d6a5218c5cb2", size = 149095 }, - { url = "https://files.pythonhosted.org/packages/4c/ff/a9a504662452e2d2878512115638966e75633519ec11f25fca3d2049a94a/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c75cb2a3e389853835e84a2d8fb2b81a10645b503eca9bcb98df6b5a43eb8886", size = 152668 }, - { url = "https://files.pythonhosted.org/packages/6c/71/189996b6d9a4b932564701628af5cee6716733e9165af1d5e1b285c530ed/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:09b26ae6b1abf0d27570633b2b078a2a20419c99d66fb2823173d73f188ce601", size = 150073 }, - { url = "https://files.pythonhosted.org/packages/e4/93/946a86ce20790e11312c87c75ba68d5f6ad2208cfb52b2d6a2c32840d922/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fa88b843d6e211393a37219e6a1c1df99d35e8fd90446f1118f4216e307e48cd", size = 145732 }, - { url = "https://files.pythonhosted.org/packages/cd/e5/131d2fb1b0dddafc37be4f3a2fa79aa4c037368be9423061dccadfd90091/charset_normalizer-3.4.1-cp313-cp313-win32.whl", hash = "sha256:eb8178fe3dba6450a3e024e95ac49ed3400e506fd4e9e5c32d30adda88cbd407", size = 95391 }, - { url = "https://files.pythonhosted.org/packages/27/f2/4f9a69cc7712b9b5ad8fdb87039fd89abba997ad5cbe690d1835d40405b0/charset_normalizer-3.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:b1ac5992a838106edb89654e0aebfc24f5848ae2547d22c2c3f66454daa11971", size = 102702 }, - { url = "https://files.pythonhosted.org/packages/0e/f6/65ecc6878a89bb1c23a086ea335ad4bf21a588990c3f535a227b9eea9108/charset_normalizer-3.4.1-py3-none-any.whl", hash = "sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85", size = 49767 }, +sdist = { url = "https://files.pythonhosted.org/packages/16/b0/572805e227f01586461c80e0fd25d65a2115599cc9dad142fee4b747c357/charset_normalizer-3.4.1.tar.gz", hash = "sha256:44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3", size = 123188, upload-time = "2024-12-24T18:12:35.43Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/72/80/41ef5d5a7935d2d3a773e3eaebf0a9350542f2cab4eac59a7a4741fbbbbe/charset_normalizer-3.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8bfa33f4f2672964266e940dd22a195989ba31669bd84629f05fab3ef4e2d125", size = 194995, upload-time = "2024-12-24T18:10:12.838Z" }, + { url = "https://files.pythonhosted.org/packages/7a/28/0b9fefa7b8b080ec492110af6d88aa3dea91c464b17d53474b6e9ba5d2c5/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28bf57629c75e810b6ae989f03c0828d64d6b26a5e205535585f96093e405ed1", size = 139471, upload-time = "2024-12-24T18:10:14.101Z" }, + { url = "https://files.pythonhosted.org/packages/71/64/d24ab1a997efb06402e3fc07317e94da358e2585165930d9d59ad45fcae2/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f08ff5e948271dc7e18a35641d2f11a4cd8dfd5634f55228b691e62b37125eb3", size = 149831, upload-time = "2024-12-24T18:10:15.512Z" }, + { url = "https://files.pythonhosted.org/packages/37/ed/be39e5258e198655240db5e19e0b11379163ad7070962d6b0c87ed2c4d39/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:234ac59ea147c59ee4da87a0c0f098e9c8d169f4dc2a159ef720f1a61bbe27cd", size = 142335, upload-time = "2024-12-24T18:10:18.369Z" }, + { url = "https://files.pythonhosted.org/packages/88/83/489e9504711fa05d8dde1574996408026bdbdbd938f23be67deebb5eca92/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd4ec41f914fa74ad1b8304bbc634b3de73d2a0889bd32076342a573e0779e00", size = 143862, upload-time = "2024-12-24T18:10:19.743Z" }, + { url = "https://files.pythonhosted.org/packages/c6/c7/32da20821cf387b759ad24627a9aca289d2822de929b8a41b6241767b461/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eea6ee1db730b3483adf394ea72f808b6e18cf3cb6454b4d86e04fa8c4327a12", size = 145673, upload-time = "2024-12-24T18:10:21.139Z" }, + { url = "https://files.pythonhosted.org/packages/68/85/f4288e96039abdd5aeb5c546fa20a37b50da71b5cf01e75e87f16cd43304/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c96836c97b1238e9c9e3fe90844c947d5afbf4f4c92762679acfe19927d81d77", size = 140211, upload-time = "2024-12-24T18:10:22.382Z" }, + { url = "https://files.pythonhosted.org/packages/28/a3/a42e70d03cbdabc18997baf4f0227c73591a08041c149e710045c281f97b/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4d86f7aff21ee58f26dcf5ae81a9addbd914115cdebcbb2217e4f0ed8982e146", size = 148039, upload-time = "2024-12-24T18:10:24.802Z" }, + { url = "https://files.pythonhosted.org/packages/85/e4/65699e8ab3014ecbe6f5c71d1a55d810fb716bbfd74f6283d5c2aa87febf/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:09b5e6733cbd160dcc09589227187e242a30a49ca5cefa5a7edd3f9d19ed53fd", size = 151939, upload-time = "2024-12-24T18:10:26.124Z" }, + { url = "https://files.pythonhosted.org/packages/b1/82/8e9fe624cc5374193de6860aba3ea8070f584c8565ee77c168ec13274bd2/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:5777ee0881f9499ed0f71cc82cf873d9a0ca8af166dfa0af8ec4e675b7df48e6", size = 149075, upload-time = "2024-12-24T18:10:30.027Z" }, + { url = "https://files.pythonhosted.org/packages/3d/7b/82865ba54c765560c8433f65e8acb9217cb839a9e32b42af4aa8e945870f/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:237bdbe6159cff53b4f24f397d43c6336c6b0b42affbe857970cefbb620911c8", size = 144340, upload-time = "2024-12-24T18:10:32.679Z" }, + { url = "https://files.pythonhosted.org/packages/b5/b6/9674a4b7d4d99a0d2df9b215da766ee682718f88055751e1e5e753c82db0/charset_normalizer-3.4.1-cp311-cp311-win32.whl", hash = "sha256:8417cb1f36cc0bc7eaba8ccb0e04d55f0ee52df06df3ad55259b9a323555fc8b", size = 95205, upload-time = "2024-12-24T18:10:34.724Z" }, + { url = "https://files.pythonhosted.org/packages/1e/ab/45b180e175de4402dcf7547e4fb617283bae54ce35c27930a6f35b6bef15/charset_normalizer-3.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:d7f50a1f8c450f3925cb367d011448c39239bb3eb4117c36a6d354794de4ce76", size = 102441, upload-time = "2024-12-24T18:10:37.574Z" }, + { url = "https://files.pythonhosted.org/packages/0a/9a/dd1e1cdceb841925b7798369a09279bd1cf183cef0f9ddf15a3a6502ee45/charset_normalizer-3.4.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:73d94b58ec7fecbc7366247d3b0b10a21681004153238750bb67bd9012414545", size = 196105, upload-time = "2024-12-24T18:10:38.83Z" }, + { url = "https://files.pythonhosted.org/packages/d3/8c/90bfabf8c4809ecb648f39794cf2a84ff2e7d2a6cf159fe68d9a26160467/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dad3e487649f498dd991eeb901125411559b22e8d7ab25d3aeb1af367df5efd7", size = 140404, upload-time = "2024-12-24T18:10:44.272Z" }, + { url = "https://files.pythonhosted.org/packages/ad/8f/e410d57c721945ea3b4f1a04b74f70ce8fa800d393d72899f0a40526401f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c30197aa96e8eed02200a83fba2657b4c3acd0f0aa4bdc9f6c1af8e8962e0757", size = 150423, upload-time = "2024-12-24T18:10:45.492Z" }, + { url = "https://files.pythonhosted.org/packages/f0/b8/e6825e25deb691ff98cf5c9072ee0605dc2acfca98af70c2d1b1bc75190d/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa", size = 143184, upload-time = "2024-12-24T18:10:47.898Z" }, + { url = "https://files.pythonhosted.org/packages/3e/a2/513f6cbe752421f16d969e32f3583762bfd583848b763913ddab8d9bfd4f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc2722592d8998c870fa4e290c2eec2c1569b87fe58618e67d38b4665dfa680d", size = 145268, upload-time = "2024-12-24T18:10:50.589Z" }, + { url = "https://files.pythonhosted.org/packages/74/94/8a5277664f27c3c438546f3eb53b33f5b19568eb7424736bdc440a88a31f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffc9202a29ab3920fa812879e95a9e78b2465fd10be7fcbd042899695d75e616", size = 147601, upload-time = "2024-12-24T18:10:52.541Z" }, + { url = "https://files.pythonhosted.org/packages/7c/5f/6d352c51ee763623a98e31194823518e09bfa48be2a7e8383cf691bbb3d0/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:804a4d582ba6e5b747c625bf1255e6b1507465494a40a2130978bda7b932c90b", size = 141098, upload-time = "2024-12-24T18:10:53.789Z" }, + { url = "https://files.pythonhosted.org/packages/78/d4/f5704cb629ba5ab16d1d3d741396aec6dc3ca2b67757c45b0599bb010478/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0f55e69f030f7163dffe9fd0752b32f070566451afe180f99dbeeb81f511ad8d", size = 149520, upload-time = "2024-12-24T18:10:55.048Z" }, + { url = "https://files.pythonhosted.org/packages/c5/96/64120b1d02b81785f222b976c0fb79a35875457fa9bb40827678e54d1bc8/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c4c3e6da02df6fa1410a7680bd3f63d4f710232d3139089536310d027950696a", size = 152852, upload-time = "2024-12-24T18:10:57.647Z" }, + { url = "https://files.pythonhosted.org/packages/84/c9/98e3732278a99f47d487fd3468bc60b882920cef29d1fa6ca460a1fdf4e6/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:5df196eb874dae23dcfb968c83d4f8fdccb333330fe1fc278ac5ceeb101003a9", size = 150488, upload-time = "2024-12-24T18:10:59.43Z" }, + { url = "https://files.pythonhosted.org/packages/13/0e/9c8d4cb99c98c1007cc11eda969ebfe837bbbd0acdb4736d228ccaabcd22/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e358e64305fe12299a08e08978f51fc21fac060dcfcddd95453eabe5b93ed0e1", size = 146192, upload-time = "2024-12-24T18:11:00.676Z" }, + { url = "https://files.pythonhosted.org/packages/b2/21/2b6b5b860781a0b49427309cb8670785aa543fb2178de875b87b9cc97746/charset_normalizer-3.4.1-cp312-cp312-win32.whl", hash = "sha256:9b23ca7ef998bc739bf6ffc077c2116917eabcc901f88da1b9856b210ef63f35", size = 95550, upload-time = "2024-12-24T18:11:01.952Z" }, + { url = "https://files.pythonhosted.org/packages/21/5b/1b390b03b1d16c7e382b561c5329f83cc06623916aab983e8ab9239c7d5c/charset_normalizer-3.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:6ff8a4a60c227ad87030d76e99cd1698345d4491638dfa6673027c48b3cd395f", size = 102785, upload-time = "2024-12-24T18:11:03.142Z" }, + { url = "https://files.pythonhosted.org/packages/38/94/ce8e6f63d18049672c76d07d119304e1e2d7c6098f0841b51c666e9f44a0/charset_normalizer-3.4.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:aabfa34badd18f1da5ec1bc2715cadc8dca465868a4e73a0173466b688f29dda", size = 195698, upload-time = "2024-12-24T18:11:05.834Z" }, + { url = "https://files.pythonhosted.org/packages/24/2e/dfdd9770664aae179a96561cc6952ff08f9a8cd09a908f259a9dfa063568/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22e14b5d70560b8dd51ec22863f370d1e595ac3d024cb8ad7d308b4cd95f8313", size = 140162, upload-time = "2024-12-24T18:11:07.064Z" }, + { url = "https://files.pythonhosted.org/packages/24/4e/f646b9093cff8fc86f2d60af2de4dc17c759de9d554f130b140ea4738ca6/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8436c508b408b82d87dc5f62496973a1805cd46727c34440b0d29d8a2f50a6c9", size = 150263, upload-time = "2024-12-24T18:11:08.374Z" }, + { url = "https://files.pythonhosted.org/packages/5e/67/2937f8d548c3ef6e2f9aab0f6e21001056f692d43282b165e7c56023e6dd/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d074908e1aecee37a7635990b2c6d504cd4766c7bc9fc86d63f9c09af3fa11b", size = 142966, upload-time = "2024-12-24T18:11:09.831Z" }, + { url = "https://files.pythonhosted.org/packages/52/ed/b7f4f07de100bdb95c1756d3a4d17b90c1a3c53715c1a476f8738058e0fa/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:955f8851919303c92343d2f66165294848d57e9bba6cf6e3625485a70a038d11", size = 144992, upload-time = "2024-12-24T18:11:12.03Z" }, + { url = "https://files.pythonhosted.org/packages/96/2c/d49710a6dbcd3776265f4c923bb73ebe83933dfbaa841c5da850fe0fd20b/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:44ecbf16649486d4aebafeaa7ec4c9fed8b88101f4dd612dcaf65d5e815f837f", size = 147162, upload-time = "2024-12-24T18:11:13.372Z" }, + { url = "https://files.pythonhosted.org/packages/b4/41/35ff1f9a6bd380303dea55e44c4933b4cc3c4850988927d4082ada230273/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0924e81d3d5e70f8126529951dac65c1010cdf117bb75eb02dd12339b57749dd", size = 140972, upload-time = "2024-12-24T18:11:14.628Z" }, + { url = "https://files.pythonhosted.org/packages/fb/43/c6a0b685fe6910d08ba971f62cd9c3e862a85770395ba5d9cad4fede33ab/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2967f74ad52c3b98de4c3b32e1a44e32975e008a9cd2a8cc8966d6a5218c5cb2", size = 149095, upload-time = "2024-12-24T18:11:17.672Z" }, + { url = "https://files.pythonhosted.org/packages/4c/ff/a9a504662452e2d2878512115638966e75633519ec11f25fca3d2049a94a/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c75cb2a3e389853835e84a2d8fb2b81a10645b503eca9bcb98df6b5a43eb8886", size = 152668, upload-time = "2024-12-24T18:11:18.989Z" }, + { url = "https://files.pythonhosted.org/packages/6c/71/189996b6d9a4b932564701628af5cee6716733e9165af1d5e1b285c530ed/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:09b26ae6b1abf0d27570633b2b078a2a20419c99d66fb2823173d73f188ce601", size = 150073, upload-time = "2024-12-24T18:11:21.507Z" }, + { url = "https://files.pythonhosted.org/packages/e4/93/946a86ce20790e11312c87c75ba68d5f6ad2208cfb52b2d6a2c32840d922/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fa88b843d6e211393a37219e6a1c1df99d35e8fd90446f1118f4216e307e48cd", size = 145732, upload-time = "2024-12-24T18:11:22.774Z" }, + { url = "https://files.pythonhosted.org/packages/cd/e5/131d2fb1b0dddafc37be4f3a2fa79aa4c037368be9423061dccadfd90091/charset_normalizer-3.4.1-cp313-cp313-win32.whl", hash = "sha256:eb8178fe3dba6450a3e024e95ac49ed3400e506fd4e9e5c32d30adda88cbd407", size = 95391, upload-time = "2024-12-24T18:11:24.139Z" }, + { url = "https://files.pythonhosted.org/packages/27/f2/4f9a69cc7712b9b5ad8fdb87039fd89abba997ad5cbe690d1835d40405b0/charset_normalizer-3.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:b1ac5992a838106edb89654e0aebfc24f5848ae2547d22c2c3f66454daa11971", size = 102702, upload-time = "2024-12-24T18:11:26.535Z" }, + { url = "https://files.pythonhosted.org/packages/0e/f6/65ecc6878a89bb1c23a086ea335ad4bf21a588990c3f535a227b9eea9108/charset_normalizer-3.4.1-py3-none-any.whl", hash = "sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85", size = 49767, upload-time = "2024-12-24T18:12:32.852Z" }, ] [[package]] @@ -102,27 +102,27 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "colorama", marker = "sys_platform == 'win32'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a", size = 226593 } +sdist = { url = "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a", size = 226593, upload-time = "2024-12-21T18:38:44.339Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2", size = 98188 }, + { url = "https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2", size = 98188, upload-time = "2024-12-21T18:38:41.666Z" }, ] [[package]] name = "colorama" version = "0.4.6" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697 } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335 }, + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, ] [[package]] name = "decorator" version = "5.2.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/43/fa/6d96a0978d19e17b68d634497769987b16c8f4cd0a7a05048bec693caa6b/decorator-5.2.1.tar.gz", hash = "sha256:65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360", size = 56711 } +sdist = { url = "https://files.pythonhosted.org/packages/43/fa/6d96a0978d19e17b68d634497769987b16c8f4cd0a7a05048bec693caa6b/decorator-5.2.1.tar.gz", hash = "sha256:65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360", size = 56711, upload-time = "2025-02-24T04:41:34.073Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl", hash = "sha256:d316bb415a2d9e2d2b3abcc4084c6502fc09240e292cd76a76afc106a1c8e04a", size = 9190 }, + { url = "https://files.pythonhosted.org/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl", hash = "sha256:d316bb415a2d9e2d2b3abcc4084c6502fc09240e292cd76a76afc106a1c8e04a", size = 9190, upload-time = "2025-02-24T04:41:32.565Z" }, ] [[package]] @@ -132,18 +132,18 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "beautifulsoup4" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/89/97/b49c69893cddea912c7a660a4b6102c6b02cd268f8c7162dd70b7c16f753/google-3.0.0.tar.gz", hash = "sha256:143530122ee5130509ad5e989f0512f7cb218b2d4eddbafbad40fd10e8d8ccbe", size = 44978 } +sdist = { url = "https://files.pythonhosted.org/packages/89/97/b49c69893cddea912c7a660a4b6102c6b02cd268f8c7162dd70b7c16f753/google-3.0.0.tar.gz", hash = "sha256:143530122ee5130509ad5e989f0512f7cb218b2d4eddbafbad40fd10e8d8ccbe", size = 44978, upload-time = "2020-07-11T14:50:45.678Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ac/35/17c9141c4ae21e9a29a43acdfd848e3e468a810517f862cad07977bf8fe9/google-3.0.0-py2.py3-none-any.whl", hash = "sha256:889cf695f84e4ae2c55fbc0cfdaf4c1e729417fa52ab1db0485202ba173e4935", size = 45258 }, + { url = "https://files.pythonhosted.org/packages/ac/35/17c9141c4ae21e9a29a43acdfd848e3e468a810517f862cad07977bf8fe9/google-3.0.0-py2.py3-none-any.whl", hash = "sha256:889cf695f84e4ae2c55fbc0cfdaf4c1e729417fa52ab1db0485202ba173e4935", size = 45258, upload-time = "2020-07-11T14:49:58.287Z" }, ] [[package]] name = "h11" version = "0.14.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f5/38/3af3d3633a34a3316095b39c8e8fb4853a28a536e55d347bd8d8e9a14b03/h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d", size = 100418 } +sdist = { url = "https://files.pythonhosted.org/packages/f5/38/3af3d3633a34a3316095b39c8e8fb4853a28a536e55d347bd8d8e9a14b03/h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d", size = 100418, upload-time = "2022-09-25T15:40:01.519Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/95/04/ff642e65ad6b90db43e668d70ffb6736436c7ce41fcc549f4e9472234127/h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761", size = 58259 }, + { url = "https://files.pythonhosted.org/packages/95/04/ff642e65ad6b90db43e668d70ffb6736436c7ce41fcc549f4e9472234127/h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761", size = 58259, upload-time = "2022-09-25T15:39:59.68Z" }, ] [[package]] @@ -154,9 +154,9 @@ dependencies = [ { name = "certifi" }, { name = "h11" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/9f/45/ad3e1b4d448f22c0cff4f5692f5ed0666658578e358b8d58a19846048059/httpcore-1.0.8.tar.gz", hash = "sha256:86e94505ed24ea06514883fd44d2bc02d90e77e7979c8eb71b90f41d364a1bad", size = 85385 } +sdist = { url = "https://files.pythonhosted.org/packages/9f/45/ad3e1b4d448f22c0cff4f5692f5ed0666658578e358b8d58a19846048059/httpcore-1.0.8.tar.gz", hash = "sha256:86e94505ed24ea06514883fd44d2bc02d90e77e7979c8eb71b90f41d364a1bad", size = 85385, upload-time = "2025-04-11T14:42:46.661Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/18/8d/f052b1e336bb2c1fc7ed1aaed898aa570c0b61a09707b108979d9fc6e308/httpcore-1.0.8-py3-none-any.whl", hash = "sha256:5254cf149bcb5f75e9d1b2b9f729ea4a4b883d1ad7379fc632b727cec23674be", size = 78732 }, + { url = "https://files.pythonhosted.org/packages/18/8d/f052b1e336bb2c1fc7ed1aaed898aa570c0b61a09707b108979d9fc6e308/httpcore-1.0.8-py3-none-any.whl", hash = "sha256:5254cf149bcb5f75e9d1b2b9f729ea4a4b883d1ad7379fc632b727cec23674be", size = 78732, upload-time = "2025-04-11T14:42:44.896Z" }, ] [[package]] @@ -169,27 +169,27 @@ dependencies = [ { name = "httpcore" }, { name = "idna" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", size = 141406 } +sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", size = 141406, upload-time = "2024-12-06T15:37:23.222Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 73517 }, + { url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 73517, upload-time = "2024-12-06T15:37:21.509Z" }, ] [[package]] name = "httpx-sse" version = "0.4.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/4c/60/8f4281fa9bbf3c8034fd54c0e7412e66edbab6bc74c4996bd616f8d0406e/httpx-sse-0.4.0.tar.gz", hash = "sha256:1e81a3a3070ce322add1d3529ed42eb5f70817f45ed6ec915ab753f961139721", size = 12624 } +sdist = { url = "https://files.pythonhosted.org/packages/4c/60/8f4281fa9bbf3c8034fd54c0e7412e66edbab6bc74c4996bd616f8d0406e/httpx-sse-0.4.0.tar.gz", hash = "sha256:1e81a3a3070ce322add1d3529ed42eb5f70817f45ed6ec915ab753f961139721", size = 12624, upload-time = "2023-12-22T08:01:21.083Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e1/9b/a181f281f65d776426002f330c31849b86b31fc9d848db62e16f03ff739f/httpx_sse-0.4.0-py3-none-any.whl", hash = "sha256:f329af6eae57eaa2bdfd962b42524764af68075ea87370a2de920af5341e318f", size = 7819 }, + { url = "https://files.pythonhosted.org/packages/e1/9b/a181f281f65d776426002f330c31849b86b31fc9d848db62e16f03ff739f/httpx_sse-0.4.0-py3-none-any.whl", hash = "sha256:f329af6eae57eaa2bdfd962b42524764af68075ea87370a2de920af5341e318f", size = 7819, upload-time = "2023-12-22T08:01:19.89Z" }, ] [[package]] name = "idna" version = "3.10" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490 } +sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490, upload-time = "2024-09-15T18:07:39.745Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442 }, + { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442, upload-time = "2024-09-15T18:07:37.964Z" }, ] [[package]] @@ -206,39 +206,62 @@ dependencies = [ { name = "starlette" }, { name = "uvicorn" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/95/d2/f587cb965a56e992634bebc8611c5b579af912b74e04eb9164bd49527d21/mcp-1.6.0.tar.gz", hash = "sha256:d9324876de2c5637369f43161cd71eebfd803df5a95e46225cab8d280e366723", size = 200031 } +sdist = { url = "https://files.pythonhosted.org/packages/95/d2/f587cb965a56e992634bebc8611c5b579af912b74e04eb9164bd49527d21/mcp-1.6.0.tar.gz", hash = "sha256:d9324876de2c5637369f43161cd71eebfd803df5a95e46225cab8d280e366723", size = 200031, upload-time = "2025-03-27T16:46:32.336Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/10/30/20a7f33b0b884a9d14dd3aa94ff1ac9da1479fe2ad66dd9e2736075d2506/mcp-1.6.0-py3-none-any.whl", hash = "sha256:7bd24c6ea042dbec44c754f100984d186620d8b841ec30f1b19eda9b93a634d0", size = 76077 }, + { url = "https://files.pythonhosted.org/packages/10/30/20a7f33b0b884a9d14dd3aa94ff1ac9da1479fe2ad66dd9e2736075d2506/mcp-1.6.0-py3-none-any.whl", hash = "sha256:7bd24c6ea042dbec44c754f100984d186620d8b841ec30f1b19eda9b93a634d0", size = 76077, upload-time = "2025-03-27T16:46:29.919Z" }, +] + +[[package]] +name = "mcp-server-veen" +version = "0.1.0" +source = { editable = "." } +dependencies = [ + { name = "mcp" }, + { name = "pydantic" }, + { name = "python-dotenv" }, + { name = "retry" }, + { name = "starlette" }, + { name = "volcengine" }, +] + +[package.metadata] +requires-dist = [ + { name = "mcp", specifier = ">=1.6.0" }, + { name = "pydantic", specifier = ">=2.11.3" }, + { name = "python-dotenv", specifier = ">=1.1.0" }, + { name = "retry", specifier = ">=0.9.2" }, + { name = "starlette", specifier = ">=0.46.2" }, + { name = "volcengine", specifier = ">=1.0.180" }, ] [[package]] name = "protobuf" version = "6.30.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/c8/8c/cf2ac658216eebe49eaedf1e06bc06cbf6a143469236294a1171a51357c3/protobuf-6.30.2.tar.gz", hash = "sha256:35c859ae076d8c56054c25b59e5e59638d86545ed6e2b6efac6be0b6ea3ba048", size = 429315 } +sdist = { url = "https://files.pythonhosted.org/packages/c8/8c/cf2ac658216eebe49eaedf1e06bc06cbf6a143469236294a1171a51357c3/protobuf-6.30.2.tar.gz", hash = "sha256:35c859ae076d8c56054c25b59e5e59638d86545ed6e2b6efac6be0b6ea3ba048", size = 429315, upload-time = "2025-03-26T19:12:57.394Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/be/85/cd53abe6a6cbf2e0029243d6ae5fb4335da2996f6c177bb2ce685068e43d/protobuf-6.30.2-cp310-abi3-win32.whl", hash = "sha256:b12ef7df7b9329886e66404bef5e9ce6a26b54069d7f7436a0853ccdeb91c103", size = 419148 }, - { url = "https://files.pythonhosted.org/packages/97/e9/7b9f1b259d509aef2b833c29a1f3c39185e2bf21c9c1be1cd11c22cb2149/protobuf-6.30.2-cp310-abi3-win_amd64.whl", hash = "sha256:7653c99774f73fe6b9301b87da52af0e69783a2e371e8b599b3e9cb4da4b12b9", size = 431003 }, - { url = "https://files.pythonhosted.org/packages/8e/66/7f3b121f59097c93267e7f497f10e52ced7161b38295137a12a266b6c149/protobuf-6.30.2-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:0eb523c550a66a09a0c20f86dd554afbf4d32b02af34ae53d93268c1f73bc65b", size = 417579 }, - { url = "https://files.pythonhosted.org/packages/d0/89/bbb1bff09600e662ad5b384420ad92de61cab2ed0f12ace1fd081fd4c295/protobuf-6.30.2-cp39-abi3-manylinux2014_aarch64.whl", hash = "sha256:50f32cc9fd9cb09c783ebc275611b4f19dfdfb68d1ee55d2f0c7fa040df96815", size = 317319 }, - { url = "https://files.pythonhosted.org/packages/28/50/1925de813499546bc8ab3ae857e3ec84efe7d2f19b34529d0c7c3d02d11d/protobuf-6.30.2-cp39-abi3-manylinux2014_x86_64.whl", hash = "sha256:4f6c687ae8efae6cf6093389a596548214467778146b7245e886f35e1485315d", size = 316212 }, - { url = "https://files.pythonhosted.org/packages/e5/a1/93c2acf4ade3c5b557d02d500b06798f4ed2c176fa03e3c34973ca92df7f/protobuf-6.30.2-py3-none-any.whl", hash = "sha256:ae86b030e69a98e08c77beab574cbcb9fff6d031d57209f574a5aea1445f4b51", size = 167062 }, + { url = "https://files.pythonhosted.org/packages/be/85/cd53abe6a6cbf2e0029243d6ae5fb4335da2996f6c177bb2ce685068e43d/protobuf-6.30.2-cp310-abi3-win32.whl", hash = "sha256:b12ef7df7b9329886e66404bef5e9ce6a26b54069d7f7436a0853ccdeb91c103", size = 419148, upload-time = "2025-03-26T19:12:41.359Z" }, + { url = "https://files.pythonhosted.org/packages/97/e9/7b9f1b259d509aef2b833c29a1f3c39185e2bf21c9c1be1cd11c22cb2149/protobuf-6.30.2-cp310-abi3-win_amd64.whl", hash = "sha256:7653c99774f73fe6b9301b87da52af0e69783a2e371e8b599b3e9cb4da4b12b9", size = 431003, upload-time = "2025-03-26T19:12:44.156Z" }, + { url = "https://files.pythonhosted.org/packages/8e/66/7f3b121f59097c93267e7f497f10e52ced7161b38295137a12a266b6c149/protobuf-6.30.2-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:0eb523c550a66a09a0c20f86dd554afbf4d32b02af34ae53d93268c1f73bc65b", size = 417579, upload-time = "2025-03-26T19:12:45.447Z" }, + { url = "https://files.pythonhosted.org/packages/d0/89/bbb1bff09600e662ad5b384420ad92de61cab2ed0f12ace1fd081fd4c295/protobuf-6.30.2-cp39-abi3-manylinux2014_aarch64.whl", hash = "sha256:50f32cc9fd9cb09c783ebc275611b4f19dfdfb68d1ee55d2f0c7fa040df96815", size = 317319, upload-time = "2025-03-26T19:12:46.999Z" }, + { url = "https://files.pythonhosted.org/packages/28/50/1925de813499546bc8ab3ae857e3ec84efe7d2f19b34529d0c7c3d02d11d/protobuf-6.30.2-cp39-abi3-manylinux2014_x86_64.whl", hash = "sha256:4f6c687ae8efae6cf6093389a596548214467778146b7245e886f35e1485315d", size = 316212, upload-time = "2025-03-26T19:12:48.458Z" }, + { url = "https://files.pythonhosted.org/packages/e5/a1/93c2acf4ade3c5b557d02d500b06798f4ed2c176fa03e3c34973ca92df7f/protobuf-6.30.2-py3-none-any.whl", hash = "sha256:ae86b030e69a98e08c77beab574cbcb9fff6d031d57209f574a5aea1445f4b51", size = 167062, upload-time = "2025-03-26T19:12:55.892Z" }, ] [[package]] name = "py" version = "1.11.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/98/ff/fec109ceb715d2a6b4c4a85a61af3b40c723a961e8828319fbcb15b868dc/py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719", size = 207796 } +sdist = { url = "https://files.pythonhosted.org/packages/98/ff/fec109ceb715d2a6b4c4a85a61af3b40c723a961e8828319fbcb15b868dc/py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719", size = 207796, upload-time = "2021-11-04T17:17:01.377Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f6/f0/10642828a8dfb741e5f3fbaac830550a518a775c7fff6f04a007259b0548/py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378", size = 98708 }, + { url = "https://files.pythonhosted.org/packages/f6/f0/10642828a8dfb741e5f3fbaac830550a518a775c7fff6f04a007259b0548/py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378", size = 98708, upload-time = "2021-11-04T17:17:00.152Z" }, ] [[package]] name = "pycryptodome" version = "3.9.9" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/c4/3a/5bca2cb1648b171afd6b7d29a11c6bca8b305bb75b7e2d78a0f5c61ff95e/pycryptodome-3.9.9.tar.gz", hash = "sha256:910e202a557e1131b1c1b3f17a63914d57aac55cf9fb9b51644962841c3995c4", size = 15488528 } +sdist = { url = "https://files.pythonhosted.org/packages/c4/3a/5bca2cb1648b171afd6b7d29a11c6bca8b305bb75b7e2d78a0f5c61ff95e/pycryptodome-3.9.9.tar.gz", hash = "sha256:910e202a557e1131b1c1b3f17a63914d57aac55cf9fb9b51644962841c3995c4", size = 15488528, upload-time = "2020-11-03T13:15:26.723Z" } [[package]] name = "pydantic" @@ -250,9 +273,9 @@ dependencies = [ { name = "typing-extensions" }, { name = "typing-inspection" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/10/2e/ca897f093ee6c5f3b0bee123ee4465c50e75431c3d5b6a3b44a47134e891/pydantic-2.11.3.tar.gz", hash = "sha256:7471657138c16adad9322fe3070c0116dd6c3ad8d649300e3cbdfe91f4db4ec3", size = 785513 } +sdist = { url = "https://files.pythonhosted.org/packages/10/2e/ca897f093ee6c5f3b0bee123ee4465c50e75431c3d5b6a3b44a47134e891/pydantic-2.11.3.tar.gz", hash = "sha256:7471657138c16adad9322fe3070c0116dd6c3ad8d649300e3cbdfe91f4db4ec3", size = 785513, upload-time = "2025-04-08T13:27:06.399Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b0/1d/407b29780a289868ed696d1616f4aad49d6388e5a77f567dcd2629dcd7b8/pydantic-2.11.3-py3-none-any.whl", hash = "sha256:a082753436a07f9ba1289c6ffa01cd93db3548776088aa917cc43b63f68fa60f", size = 443591 }, + { url = "https://files.pythonhosted.org/packages/b0/1d/407b29780a289868ed696d1616f4aad49d6388e5a77f567dcd2629dcd7b8/pydantic-2.11.3-py3-none-any.whl", hash = "sha256:a082753436a07f9ba1289c6ffa01cd93db3548776088aa917cc43b63f68fa60f", size = 443591, upload-time = "2025-04-08T13:27:03.789Z" }, ] [[package]] @@ -262,62 +285,62 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/17/19/ed6a078a5287aea7922de6841ef4c06157931622c89c2a47940837b5eecd/pydantic_core-2.33.1.tar.gz", hash = "sha256:bcc9c6fdb0ced789245b02b7d6603e17d1563064ddcfc36f046b61c0c05dd9df", size = 434395 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/d6/7f/c6298830cb780c46b4f46bb24298d01019ffa4d21769f39b908cd14bbd50/pydantic_core-2.33.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:6e966fc3caaf9f1d96b349b0341c70c8d6573bf1bac7261f7b0ba88f96c56c24", size = 2044224 }, - { url = "https://files.pythonhosted.org/packages/a8/65/6ab3a536776cad5343f625245bd38165d6663256ad43f3a200e5936afd6c/pydantic_core-2.33.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bfd0adeee563d59c598ceabddf2c92eec77abcb3f4a391b19aa7366170bd9e30", size = 1858845 }, - { url = "https://files.pythonhosted.org/packages/e9/15/9a22fd26ba5ee8c669d4b8c9c244238e940cd5d818649603ca81d1c69861/pydantic_core-2.33.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:91815221101ad3c6b507804178a7bb5cb7b2ead9ecd600041669c8d805ebd595", size = 1910029 }, - { url = "https://files.pythonhosted.org/packages/d5/33/8cb1a62818974045086f55f604044bf35b9342900318f9a2a029a1bec460/pydantic_core-2.33.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9fea9c1869bb4742d174a57b4700c6dadea951df8b06de40c2fedb4f02931c2e", size = 1997784 }, - { url = "https://files.pythonhosted.org/packages/c0/ca/49958e4df7715c71773e1ea5be1c74544923d10319173264e6db122543f9/pydantic_core-2.33.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d20eb4861329bb2484c021b9d9a977566ab16d84000a57e28061151c62b349a", size = 2141075 }, - { url = "https://files.pythonhosted.org/packages/7b/a6/0b3a167a9773c79ba834b959b4e18c3ae9216b8319bd8422792abc8a41b1/pydantic_core-2.33.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fb935c5591573ae3201640579f30128ccc10739b45663f93c06796854405505", size = 2745849 }, - { url = "https://files.pythonhosted.org/packages/0b/60/516484135173aa9e5861d7a0663dce82e4746d2e7f803627d8c25dfa5578/pydantic_core-2.33.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c964fd24e6166420d18fb53996d8c9fd6eac9bf5ae3ec3d03015be4414ce497f", size = 2005794 }, - { url = "https://files.pythonhosted.org/packages/86/70/05b1eb77459ad47de00cf78ee003016da0cedf8b9170260488d7c21e9181/pydantic_core-2.33.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:681d65e9011f7392db5aa002b7423cc442d6a673c635668c227c6c8d0e5a4f77", size = 2123237 }, - { url = "https://files.pythonhosted.org/packages/c7/57/12667a1409c04ae7dc95d3b43158948eb0368e9c790be8b095cb60611459/pydantic_core-2.33.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e100c52f7355a48413e2999bfb4e139d2977a904495441b374f3d4fb4a170961", size = 2086351 }, - { url = "https://files.pythonhosted.org/packages/57/61/cc6d1d1c1664b58fdd6ecc64c84366c34ec9b606aeb66cafab6f4088974c/pydantic_core-2.33.1-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:048831bd363490be79acdd3232f74a0e9951b11b2b4cc058aeb72b22fdc3abe1", size = 2258914 }, - { url = "https://files.pythonhosted.org/packages/d1/0a/edb137176a1f5419b2ddee8bde6a0a548cfa3c74f657f63e56232df8de88/pydantic_core-2.33.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:bdc84017d28459c00db6f918a7272a5190bec3090058334e43a76afb279eac7c", size = 2257385 }, - { url = "https://files.pythonhosted.org/packages/26/3c/48ca982d50e4b0e1d9954919c887bdc1c2b462801bf408613ccc641b3daa/pydantic_core-2.33.1-cp311-cp311-win32.whl", hash = "sha256:32cd11c5914d1179df70406427097c7dcde19fddf1418c787540f4b730289896", size = 1923765 }, - { url = "https://files.pythonhosted.org/packages/33/cd/7ab70b99e5e21559f5de38a0928ea84e6f23fdef2b0d16a6feaf942b003c/pydantic_core-2.33.1-cp311-cp311-win_amd64.whl", hash = "sha256:2ea62419ba8c397e7da28a9170a16219d310d2cf4970dbc65c32faf20d828c83", size = 1950688 }, - { url = "https://files.pythonhosted.org/packages/4b/ae/db1fc237b82e2cacd379f63e3335748ab88b5adde98bf7544a1b1bd10a84/pydantic_core-2.33.1-cp311-cp311-win_arm64.whl", hash = "sha256:fc903512177361e868bc1f5b80ac8c8a6e05fcdd574a5fb5ffeac5a9982b9e89", size = 1908185 }, - { url = "https://files.pythonhosted.org/packages/c8/ce/3cb22b07c29938f97ff5f5bb27521f95e2ebec399b882392deb68d6c440e/pydantic_core-2.33.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:1293d7febb995e9d3ec3ea09caf1a26214eec45b0f29f6074abb004723fc1de8", size = 2026640 }, - { url = "https://files.pythonhosted.org/packages/19/78/f381d643b12378fee782a72126ec5d793081ef03791c28a0fd542a5bee64/pydantic_core-2.33.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:99b56acd433386c8f20be5c4000786d1e7ca0523c8eefc995d14d79c7a081498", size = 1852649 }, - { url = "https://files.pythonhosted.org/packages/9d/2b/98a37b80b15aac9eb2c6cfc6dbd35e5058a352891c5cce3a8472d77665a6/pydantic_core-2.33.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:35a5ec3fa8c2fe6c53e1b2ccc2454398f95d5393ab398478f53e1afbbeb4d939", size = 1892472 }, - { url = "https://files.pythonhosted.org/packages/4e/d4/3c59514e0f55a161004792b9ff3039da52448f43f5834f905abef9db6e4a/pydantic_core-2.33.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b172f7b9d2f3abc0efd12e3386f7e48b576ef309544ac3a63e5e9cdd2e24585d", size = 1977509 }, - { url = "https://files.pythonhosted.org/packages/a9/b6/c2c7946ef70576f79a25db59a576bce088bdc5952d1b93c9789b091df716/pydantic_core-2.33.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9097b9f17f91eea659b9ec58148c0747ec354a42f7389b9d50701610d86f812e", size = 2128702 }, - { url = "https://files.pythonhosted.org/packages/88/fe/65a880f81e3f2a974312b61f82a03d85528f89a010ce21ad92f109d94deb/pydantic_core-2.33.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cc77ec5b7e2118b152b0d886c7514a4653bcb58c6b1d760134a9fab915f777b3", size = 2679428 }, - { url = "https://files.pythonhosted.org/packages/6f/ff/4459e4146afd0462fb483bb98aa2436d69c484737feaceba1341615fb0ac/pydantic_core-2.33.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d5e3d15245b08fa4a84cefc6c9222e6f37c98111c8679fbd94aa145f9a0ae23d", size = 2008753 }, - { url = "https://files.pythonhosted.org/packages/7c/76/1c42e384e8d78452ededac8b583fe2550c84abfef83a0552e0e7478ccbc3/pydantic_core-2.33.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ef99779001d7ac2e2461d8ab55d3373fe7315caefdbecd8ced75304ae5a6fc6b", size = 2114849 }, - { url = "https://files.pythonhosted.org/packages/00/72/7d0cf05095c15f7ffe0eb78914b166d591c0eed72f294da68378da205101/pydantic_core-2.33.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:fc6bf8869e193855e8d91d91f6bf59699a5cdfaa47a404e278e776dd7f168b39", size = 2069541 }, - { url = "https://files.pythonhosted.org/packages/b3/69/94a514066bb7d8be499aa764926937409d2389c09be0b5107a970286ef81/pydantic_core-2.33.1-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:b1caa0bc2741b043db7823843e1bde8aaa58a55a58fda06083b0569f8b45693a", size = 2239225 }, - { url = "https://files.pythonhosted.org/packages/84/b0/e390071eadb44b41f4f54c3cef64d8bf5f9612c92686c9299eaa09e267e2/pydantic_core-2.33.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:ec259f62538e8bf364903a7d0d0239447059f9434b284f5536e8402b7dd198db", size = 2248373 }, - { url = "https://files.pythonhosted.org/packages/d6/b2/288b3579ffc07e92af66e2f1a11be3b056fe1214aab314748461f21a31c3/pydantic_core-2.33.1-cp312-cp312-win32.whl", hash = "sha256:e14f369c98a7c15772b9da98987f58e2b509a93235582838bd0d1d8c08b68fda", size = 1907034 }, - { url = "https://files.pythonhosted.org/packages/02/28/58442ad1c22b5b6742b992ba9518420235adced665513868f99a1c2638a5/pydantic_core-2.33.1-cp312-cp312-win_amd64.whl", hash = "sha256:1c607801d85e2e123357b3893f82c97a42856192997b95b4d8325deb1cd0c5f4", size = 1956848 }, - { url = "https://files.pythonhosted.org/packages/a1/eb/f54809b51c7e2a1d9f439f158b8dd94359321abcc98767e16fc48ae5a77e/pydantic_core-2.33.1-cp312-cp312-win_arm64.whl", hash = "sha256:8d13f0276806ee722e70a1c93da19748594f19ac4299c7e41237fc791d1861ea", size = 1903986 }, - { url = "https://files.pythonhosted.org/packages/7a/24/eed3466a4308d79155f1cdd5c7432c80ddcc4530ba8623b79d5ced021641/pydantic_core-2.33.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:70af6a21237b53d1fe7b9325b20e65cbf2f0a848cf77bed492b029139701e66a", size = 2033551 }, - { url = "https://files.pythonhosted.org/packages/ab/14/df54b1a0bc9b6ded9b758b73139d2c11b4e8eb43e8ab9c5847c0a2913ada/pydantic_core-2.33.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:282b3fe1bbbe5ae35224a0dbd05aed9ccabccd241e8e6b60370484234b456266", size = 1852785 }, - { url = "https://files.pythonhosted.org/packages/fa/96/e275f15ff3d34bb04b0125d9bc8848bf69f25d784d92a63676112451bfb9/pydantic_core-2.33.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b315e596282bbb5822d0c7ee9d255595bd7506d1cb20c2911a4da0b970187d3", size = 1897758 }, - { url = "https://files.pythonhosted.org/packages/b7/d8/96bc536e975b69e3a924b507d2a19aedbf50b24e08c80fb00e35f9baaed8/pydantic_core-2.33.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1dfae24cf9921875ca0ca6a8ecb4bb2f13c855794ed0d468d6abbec6e6dcd44a", size = 1986109 }, - { url = "https://files.pythonhosted.org/packages/90/72/ab58e43ce7e900b88cb571ed057b2fcd0e95b708a2e0bed475b10130393e/pydantic_core-2.33.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6dd8ecfde08d8bfadaea669e83c63939af76f4cf5538a72597016edfa3fad516", size = 2129159 }, - { url = "https://files.pythonhosted.org/packages/dc/3f/52d85781406886c6870ac995ec0ba7ccc028b530b0798c9080531b409fdb/pydantic_core-2.33.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2f593494876eae852dc98c43c6f260f45abdbfeec9e4324e31a481d948214764", size = 2680222 }, - { url = "https://files.pythonhosted.org/packages/f4/56/6e2ef42f363a0eec0fd92f74a91e0ac48cd2e49b695aac1509ad81eee86a/pydantic_core-2.33.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:948b73114f47fd7016088e5186d13faf5e1b2fe83f5e320e371f035557fd264d", size = 2006980 }, - { url = "https://files.pythonhosted.org/packages/4c/c0/604536c4379cc78359f9ee0aa319f4aedf6b652ec2854953f5a14fc38c5a/pydantic_core-2.33.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e11f3864eb516af21b01e25fac915a82e9ddad3bb0fb9e95a246067398b435a4", size = 2120840 }, - { url = "https://files.pythonhosted.org/packages/1f/46/9eb764814f508f0edfb291a0f75d10854d78113fa13900ce13729aaec3ae/pydantic_core-2.33.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:549150be302428b56fdad0c23c2741dcdb5572413776826c965619a25d9c6bde", size = 2072518 }, - { url = "https://files.pythonhosted.org/packages/42/e3/fb6b2a732b82d1666fa6bf53e3627867ea3131c5f39f98ce92141e3e3dc1/pydantic_core-2.33.1-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:495bc156026efafd9ef2d82372bd38afce78ddd82bf28ef5276c469e57c0c83e", size = 2248025 }, - { url = "https://files.pythonhosted.org/packages/5c/9d/fbe8fe9d1aa4dac88723f10a921bc7418bd3378a567cb5e21193a3c48b43/pydantic_core-2.33.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ec79de2a8680b1a67a07490bddf9636d5c2fab609ba8c57597e855fa5fa4dacd", size = 2254991 }, - { url = "https://files.pythonhosted.org/packages/aa/99/07e2237b8a66438d9b26482332cda99a9acccb58d284af7bc7c946a42fd3/pydantic_core-2.33.1-cp313-cp313-win32.whl", hash = "sha256:ee12a7be1742f81b8a65b36c6921022301d466b82d80315d215c4c691724986f", size = 1915262 }, - { url = "https://files.pythonhosted.org/packages/8a/f4/e457a7849beeed1e5defbcf5051c6f7b3c91a0624dd31543a64fc9adcf52/pydantic_core-2.33.1-cp313-cp313-win_amd64.whl", hash = "sha256:ede9b407e39949d2afc46385ce6bd6e11588660c26f80576c11c958e6647bc40", size = 1956626 }, - { url = "https://files.pythonhosted.org/packages/20/d0/e8d567a7cff7b04e017ae164d98011f1e1894269fe8e90ea187a3cbfb562/pydantic_core-2.33.1-cp313-cp313-win_arm64.whl", hash = "sha256:aa687a23d4b7871a00e03ca96a09cad0f28f443690d300500603bd0adba4b523", size = 1909590 }, - { url = "https://files.pythonhosted.org/packages/ef/fd/24ea4302d7a527d672c5be06e17df16aabfb4e9fdc6e0b345c21580f3d2a/pydantic_core-2.33.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:401d7b76e1000d0dd5538e6381d28febdcacb097c8d340dde7d7fc6e13e9f95d", size = 1812963 }, - { url = "https://files.pythonhosted.org/packages/5f/95/4fbc2ecdeb5c1c53f1175a32d870250194eb2fdf6291b795ab08c8646d5d/pydantic_core-2.33.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7aeb055a42d734c0255c9e489ac67e75397d59c6fbe60d155851e9782f276a9c", size = 1986896 }, - { url = "https://files.pythonhosted.org/packages/71/ae/fe31e7f4a62431222d8f65a3bd02e3fa7e6026d154a00818e6d30520ea77/pydantic_core-2.33.1-cp313-cp313t-win_amd64.whl", hash = "sha256:338ea9b73e6e109f15ab439e62cb3b78aa752c7fd9536794112e14bee02c8d18", size = 1931810 }, - { url = "https://files.pythonhosted.org/packages/0b/76/1794e440c1801ed35415238d2c728f26cd12695df9057154ad768b7b991c/pydantic_core-2.33.1-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:3a371dc00282c4b84246509a5ddc808e61b9864aa1eae9ecc92bb1268b82db4a", size = 2042858 }, - { url = "https://files.pythonhosted.org/packages/73/b4/9cd7b081fb0b1b4f8150507cd59d27b275c3e22ad60b35cb19ea0977d9b9/pydantic_core-2.33.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:f59295ecc75a1788af8ba92f2e8c6eeaa5a94c22fc4d151e8d9638814f85c8fc", size = 1873745 }, - { url = "https://files.pythonhosted.org/packages/e1/d7/9ddb7575d4321e40d0363903c2576c8c0c3280ebea137777e5ab58d723e3/pydantic_core-2.33.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:08530b8ac922003033f399128505f513e30ca770527cc8bbacf75a84fcc2c74b", size = 1904188 }, - { url = "https://files.pythonhosted.org/packages/d1/a8/3194ccfe461bb08da19377ebec8cb4f13c9bd82e13baebc53c5c7c39a029/pydantic_core-2.33.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bae370459da6a5466978c0eacf90690cb57ec9d533f8e63e564ef3822bfa04fe", size = 2083479 }, - { url = "https://files.pythonhosted.org/packages/42/c7/84cb569555d7179ca0b3f838cef08f66f7089b54432f5b8599aac6e9533e/pydantic_core-2.33.1-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e3de2777e3b9f4d603112f78006f4ae0acb936e95f06da6cb1a45fbad6bdb4b5", size = 2118415 }, - { url = "https://files.pythonhosted.org/packages/3b/67/72abb8c73e0837716afbb58a59cc9e3ae43d1aa8677f3b4bc72c16142716/pydantic_core-2.33.1-pp311-pypy311_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:3a64e81e8cba118e108d7126362ea30e021291b7805d47e4896e52c791be2761", size = 2079623 }, - { url = "https://files.pythonhosted.org/packages/0b/cd/c59707e35a47ba4cbbf153c3f7c56420c58653b5801b055dc52cccc8e2dc/pydantic_core-2.33.1-pp311-pypy311_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:52928d8c1b6bda03cc6d811e8923dffc87a2d3c8b3bfd2ce16471c7147a24850", size = 2250175 }, - { url = "https://files.pythonhosted.org/packages/84/32/e4325a6676b0bed32d5b084566ec86ed7fd1e9bcbfc49c578b1755bde920/pydantic_core-2.33.1-pp311-pypy311_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:1b30d92c9412beb5ac6b10a3eb7ef92ccb14e3f2a8d7732e2d739f58b3aa7544", size = 2254674 }, - { url = "https://files.pythonhosted.org/packages/12/6f/5596dc418f2e292ffc661d21931ab34591952e2843e7168ea5a52591f6ff/pydantic_core-2.33.1-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:f995719707e0e29f0f41a8aa3bcea6e761a36c9136104d3189eafb83f5cec5e5", size = 2080951 }, +sdist = { url = "https://files.pythonhosted.org/packages/17/19/ed6a078a5287aea7922de6841ef4c06157931622c89c2a47940837b5eecd/pydantic_core-2.33.1.tar.gz", hash = "sha256:bcc9c6fdb0ced789245b02b7d6603e17d1563064ddcfc36f046b61c0c05dd9df", size = 434395, upload-time = "2025-04-02T09:49:41.8Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d6/7f/c6298830cb780c46b4f46bb24298d01019ffa4d21769f39b908cd14bbd50/pydantic_core-2.33.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:6e966fc3caaf9f1d96b349b0341c70c8d6573bf1bac7261f7b0ba88f96c56c24", size = 2044224, upload-time = "2025-04-02T09:47:04.199Z" }, + { url = "https://files.pythonhosted.org/packages/a8/65/6ab3a536776cad5343f625245bd38165d6663256ad43f3a200e5936afd6c/pydantic_core-2.33.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bfd0adeee563d59c598ceabddf2c92eec77abcb3f4a391b19aa7366170bd9e30", size = 1858845, upload-time = "2025-04-02T09:47:05.686Z" }, + { url = "https://files.pythonhosted.org/packages/e9/15/9a22fd26ba5ee8c669d4b8c9c244238e940cd5d818649603ca81d1c69861/pydantic_core-2.33.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:91815221101ad3c6b507804178a7bb5cb7b2ead9ecd600041669c8d805ebd595", size = 1910029, upload-time = "2025-04-02T09:47:07.042Z" }, + { url = "https://files.pythonhosted.org/packages/d5/33/8cb1a62818974045086f55f604044bf35b9342900318f9a2a029a1bec460/pydantic_core-2.33.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9fea9c1869bb4742d174a57b4700c6dadea951df8b06de40c2fedb4f02931c2e", size = 1997784, upload-time = "2025-04-02T09:47:08.63Z" }, + { url = "https://files.pythonhosted.org/packages/c0/ca/49958e4df7715c71773e1ea5be1c74544923d10319173264e6db122543f9/pydantic_core-2.33.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d20eb4861329bb2484c021b9d9a977566ab16d84000a57e28061151c62b349a", size = 2141075, upload-time = "2025-04-02T09:47:10.267Z" }, + { url = "https://files.pythonhosted.org/packages/7b/a6/0b3a167a9773c79ba834b959b4e18c3ae9216b8319bd8422792abc8a41b1/pydantic_core-2.33.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fb935c5591573ae3201640579f30128ccc10739b45663f93c06796854405505", size = 2745849, upload-time = "2025-04-02T09:47:11.724Z" }, + { url = "https://files.pythonhosted.org/packages/0b/60/516484135173aa9e5861d7a0663dce82e4746d2e7f803627d8c25dfa5578/pydantic_core-2.33.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c964fd24e6166420d18fb53996d8c9fd6eac9bf5ae3ec3d03015be4414ce497f", size = 2005794, upload-time = "2025-04-02T09:47:13.099Z" }, + { url = "https://files.pythonhosted.org/packages/86/70/05b1eb77459ad47de00cf78ee003016da0cedf8b9170260488d7c21e9181/pydantic_core-2.33.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:681d65e9011f7392db5aa002b7423cc442d6a673c635668c227c6c8d0e5a4f77", size = 2123237, upload-time = "2025-04-02T09:47:14.355Z" }, + { url = "https://files.pythonhosted.org/packages/c7/57/12667a1409c04ae7dc95d3b43158948eb0368e9c790be8b095cb60611459/pydantic_core-2.33.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e100c52f7355a48413e2999bfb4e139d2977a904495441b374f3d4fb4a170961", size = 2086351, upload-time = "2025-04-02T09:47:15.676Z" }, + { url = "https://files.pythonhosted.org/packages/57/61/cc6d1d1c1664b58fdd6ecc64c84366c34ec9b606aeb66cafab6f4088974c/pydantic_core-2.33.1-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:048831bd363490be79acdd3232f74a0e9951b11b2b4cc058aeb72b22fdc3abe1", size = 2258914, upload-time = "2025-04-02T09:47:17Z" }, + { url = "https://files.pythonhosted.org/packages/d1/0a/edb137176a1f5419b2ddee8bde6a0a548cfa3c74f657f63e56232df8de88/pydantic_core-2.33.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:bdc84017d28459c00db6f918a7272a5190bec3090058334e43a76afb279eac7c", size = 2257385, upload-time = "2025-04-02T09:47:18.631Z" }, + { url = "https://files.pythonhosted.org/packages/26/3c/48ca982d50e4b0e1d9954919c887bdc1c2b462801bf408613ccc641b3daa/pydantic_core-2.33.1-cp311-cp311-win32.whl", hash = "sha256:32cd11c5914d1179df70406427097c7dcde19fddf1418c787540f4b730289896", size = 1923765, upload-time = "2025-04-02T09:47:20.34Z" }, + { url = "https://files.pythonhosted.org/packages/33/cd/7ab70b99e5e21559f5de38a0928ea84e6f23fdef2b0d16a6feaf942b003c/pydantic_core-2.33.1-cp311-cp311-win_amd64.whl", hash = "sha256:2ea62419ba8c397e7da28a9170a16219d310d2cf4970dbc65c32faf20d828c83", size = 1950688, upload-time = "2025-04-02T09:47:22.029Z" }, + { url = "https://files.pythonhosted.org/packages/4b/ae/db1fc237b82e2cacd379f63e3335748ab88b5adde98bf7544a1b1bd10a84/pydantic_core-2.33.1-cp311-cp311-win_arm64.whl", hash = "sha256:fc903512177361e868bc1f5b80ac8c8a6e05fcdd574a5fb5ffeac5a9982b9e89", size = 1908185, upload-time = "2025-04-02T09:47:23.385Z" }, + { url = "https://files.pythonhosted.org/packages/c8/ce/3cb22b07c29938f97ff5f5bb27521f95e2ebec399b882392deb68d6c440e/pydantic_core-2.33.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:1293d7febb995e9d3ec3ea09caf1a26214eec45b0f29f6074abb004723fc1de8", size = 2026640, upload-time = "2025-04-02T09:47:25.394Z" }, + { url = "https://files.pythonhosted.org/packages/19/78/f381d643b12378fee782a72126ec5d793081ef03791c28a0fd542a5bee64/pydantic_core-2.33.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:99b56acd433386c8f20be5c4000786d1e7ca0523c8eefc995d14d79c7a081498", size = 1852649, upload-time = "2025-04-02T09:47:27.417Z" }, + { url = "https://files.pythonhosted.org/packages/9d/2b/98a37b80b15aac9eb2c6cfc6dbd35e5058a352891c5cce3a8472d77665a6/pydantic_core-2.33.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:35a5ec3fa8c2fe6c53e1b2ccc2454398f95d5393ab398478f53e1afbbeb4d939", size = 1892472, upload-time = "2025-04-02T09:47:29.006Z" }, + { url = "https://files.pythonhosted.org/packages/4e/d4/3c59514e0f55a161004792b9ff3039da52448f43f5834f905abef9db6e4a/pydantic_core-2.33.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b172f7b9d2f3abc0efd12e3386f7e48b576ef309544ac3a63e5e9cdd2e24585d", size = 1977509, upload-time = "2025-04-02T09:47:33.464Z" }, + { url = "https://files.pythonhosted.org/packages/a9/b6/c2c7946ef70576f79a25db59a576bce088bdc5952d1b93c9789b091df716/pydantic_core-2.33.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9097b9f17f91eea659b9ec58148c0747ec354a42f7389b9d50701610d86f812e", size = 2128702, upload-time = "2025-04-02T09:47:34.812Z" }, + { url = "https://files.pythonhosted.org/packages/88/fe/65a880f81e3f2a974312b61f82a03d85528f89a010ce21ad92f109d94deb/pydantic_core-2.33.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cc77ec5b7e2118b152b0d886c7514a4653bcb58c6b1d760134a9fab915f777b3", size = 2679428, upload-time = "2025-04-02T09:47:37.315Z" }, + { url = "https://files.pythonhosted.org/packages/6f/ff/4459e4146afd0462fb483bb98aa2436d69c484737feaceba1341615fb0ac/pydantic_core-2.33.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d5e3d15245b08fa4a84cefc6c9222e6f37c98111c8679fbd94aa145f9a0ae23d", size = 2008753, upload-time = "2025-04-02T09:47:39.013Z" }, + { url = "https://files.pythonhosted.org/packages/7c/76/1c42e384e8d78452ededac8b583fe2550c84abfef83a0552e0e7478ccbc3/pydantic_core-2.33.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ef99779001d7ac2e2461d8ab55d3373fe7315caefdbecd8ced75304ae5a6fc6b", size = 2114849, upload-time = "2025-04-02T09:47:40.427Z" }, + { url = "https://files.pythonhosted.org/packages/00/72/7d0cf05095c15f7ffe0eb78914b166d591c0eed72f294da68378da205101/pydantic_core-2.33.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:fc6bf8869e193855e8d91d91f6bf59699a5cdfaa47a404e278e776dd7f168b39", size = 2069541, upload-time = "2025-04-02T09:47:42.01Z" }, + { url = "https://files.pythonhosted.org/packages/b3/69/94a514066bb7d8be499aa764926937409d2389c09be0b5107a970286ef81/pydantic_core-2.33.1-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:b1caa0bc2741b043db7823843e1bde8aaa58a55a58fda06083b0569f8b45693a", size = 2239225, upload-time = "2025-04-02T09:47:43.425Z" }, + { url = "https://files.pythonhosted.org/packages/84/b0/e390071eadb44b41f4f54c3cef64d8bf5f9612c92686c9299eaa09e267e2/pydantic_core-2.33.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:ec259f62538e8bf364903a7d0d0239447059f9434b284f5536e8402b7dd198db", size = 2248373, upload-time = "2025-04-02T09:47:44.979Z" }, + { url = "https://files.pythonhosted.org/packages/d6/b2/288b3579ffc07e92af66e2f1a11be3b056fe1214aab314748461f21a31c3/pydantic_core-2.33.1-cp312-cp312-win32.whl", hash = "sha256:e14f369c98a7c15772b9da98987f58e2b509a93235582838bd0d1d8c08b68fda", size = 1907034, upload-time = "2025-04-02T09:47:46.843Z" }, + { url = "https://files.pythonhosted.org/packages/02/28/58442ad1c22b5b6742b992ba9518420235adced665513868f99a1c2638a5/pydantic_core-2.33.1-cp312-cp312-win_amd64.whl", hash = "sha256:1c607801d85e2e123357b3893f82c97a42856192997b95b4d8325deb1cd0c5f4", size = 1956848, upload-time = "2025-04-02T09:47:48.404Z" }, + { url = "https://files.pythonhosted.org/packages/a1/eb/f54809b51c7e2a1d9f439f158b8dd94359321abcc98767e16fc48ae5a77e/pydantic_core-2.33.1-cp312-cp312-win_arm64.whl", hash = "sha256:8d13f0276806ee722e70a1c93da19748594f19ac4299c7e41237fc791d1861ea", size = 1903986, upload-time = "2025-04-02T09:47:49.839Z" }, + { url = "https://files.pythonhosted.org/packages/7a/24/eed3466a4308d79155f1cdd5c7432c80ddcc4530ba8623b79d5ced021641/pydantic_core-2.33.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:70af6a21237b53d1fe7b9325b20e65cbf2f0a848cf77bed492b029139701e66a", size = 2033551, upload-time = "2025-04-02T09:47:51.648Z" }, + { url = "https://files.pythonhosted.org/packages/ab/14/df54b1a0bc9b6ded9b758b73139d2c11b4e8eb43e8ab9c5847c0a2913ada/pydantic_core-2.33.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:282b3fe1bbbe5ae35224a0dbd05aed9ccabccd241e8e6b60370484234b456266", size = 1852785, upload-time = "2025-04-02T09:47:53.149Z" }, + { url = "https://files.pythonhosted.org/packages/fa/96/e275f15ff3d34bb04b0125d9bc8848bf69f25d784d92a63676112451bfb9/pydantic_core-2.33.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b315e596282bbb5822d0c7ee9d255595bd7506d1cb20c2911a4da0b970187d3", size = 1897758, upload-time = "2025-04-02T09:47:55.006Z" }, + { url = "https://files.pythonhosted.org/packages/b7/d8/96bc536e975b69e3a924b507d2a19aedbf50b24e08c80fb00e35f9baaed8/pydantic_core-2.33.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1dfae24cf9921875ca0ca6a8ecb4bb2f13c855794ed0d468d6abbec6e6dcd44a", size = 1986109, upload-time = "2025-04-02T09:47:56.532Z" }, + { url = "https://files.pythonhosted.org/packages/90/72/ab58e43ce7e900b88cb571ed057b2fcd0e95b708a2e0bed475b10130393e/pydantic_core-2.33.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6dd8ecfde08d8bfadaea669e83c63939af76f4cf5538a72597016edfa3fad516", size = 2129159, upload-time = "2025-04-02T09:47:58.088Z" }, + { url = "https://files.pythonhosted.org/packages/dc/3f/52d85781406886c6870ac995ec0ba7ccc028b530b0798c9080531b409fdb/pydantic_core-2.33.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2f593494876eae852dc98c43c6f260f45abdbfeec9e4324e31a481d948214764", size = 2680222, upload-time = "2025-04-02T09:47:59.591Z" }, + { url = "https://files.pythonhosted.org/packages/f4/56/6e2ef42f363a0eec0fd92f74a91e0ac48cd2e49b695aac1509ad81eee86a/pydantic_core-2.33.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:948b73114f47fd7016088e5186d13faf5e1b2fe83f5e320e371f035557fd264d", size = 2006980, upload-time = "2025-04-02T09:48:01.397Z" }, + { url = "https://files.pythonhosted.org/packages/4c/c0/604536c4379cc78359f9ee0aa319f4aedf6b652ec2854953f5a14fc38c5a/pydantic_core-2.33.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e11f3864eb516af21b01e25fac915a82e9ddad3bb0fb9e95a246067398b435a4", size = 2120840, upload-time = "2025-04-02T09:48:03.056Z" }, + { url = "https://files.pythonhosted.org/packages/1f/46/9eb764814f508f0edfb291a0f75d10854d78113fa13900ce13729aaec3ae/pydantic_core-2.33.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:549150be302428b56fdad0c23c2741dcdb5572413776826c965619a25d9c6bde", size = 2072518, upload-time = "2025-04-02T09:48:04.662Z" }, + { url = "https://files.pythonhosted.org/packages/42/e3/fb6b2a732b82d1666fa6bf53e3627867ea3131c5f39f98ce92141e3e3dc1/pydantic_core-2.33.1-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:495bc156026efafd9ef2d82372bd38afce78ddd82bf28ef5276c469e57c0c83e", size = 2248025, upload-time = "2025-04-02T09:48:06.226Z" }, + { url = "https://files.pythonhosted.org/packages/5c/9d/fbe8fe9d1aa4dac88723f10a921bc7418bd3378a567cb5e21193a3c48b43/pydantic_core-2.33.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ec79de2a8680b1a67a07490bddf9636d5c2fab609ba8c57597e855fa5fa4dacd", size = 2254991, upload-time = "2025-04-02T09:48:08.114Z" }, + { url = "https://files.pythonhosted.org/packages/aa/99/07e2237b8a66438d9b26482332cda99a9acccb58d284af7bc7c946a42fd3/pydantic_core-2.33.1-cp313-cp313-win32.whl", hash = "sha256:ee12a7be1742f81b8a65b36c6921022301d466b82d80315d215c4c691724986f", size = 1915262, upload-time = "2025-04-02T09:48:09.708Z" }, + { url = "https://files.pythonhosted.org/packages/8a/f4/e457a7849beeed1e5defbcf5051c6f7b3c91a0624dd31543a64fc9adcf52/pydantic_core-2.33.1-cp313-cp313-win_amd64.whl", hash = "sha256:ede9b407e39949d2afc46385ce6bd6e11588660c26f80576c11c958e6647bc40", size = 1956626, upload-time = "2025-04-02T09:48:11.288Z" }, + { url = "https://files.pythonhosted.org/packages/20/d0/e8d567a7cff7b04e017ae164d98011f1e1894269fe8e90ea187a3cbfb562/pydantic_core-2.33.1-cp313-cp313-win_arm64.whl", hash = "sha256:aa687a23d4b7871a00e03ca96a09cad0f28f443690d300500603bd0adba4b523", size = 1909590, upload-time = "2025-04-02T09:48:12.861Z" }, + { url = "https://files.pythonhosted.org/packages/ef/fd/24ea4302d7a527d672c5be06e17df16aabfb4e9fdc6e0b345c21580f3d2a/pydantic_core-2.33.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:401d7b76e1000d0dd5538e6381d28febdcacb097c8d340dde7d7fc6e13e9f95d", size = 1812963, upload-time = "2025-04-02T09:48:14.553Z" }, + { url = "https://files.pythonhosted.org/packages/5f/95/4fbc2ecdeb5c1c53f1175a32d870250194eb2fdf6291b795ab08c8646d5d/pydantic_core-2.33.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7aeb055a42d734c0255c9e489ac67e75397d59c6fbe60d155851e9782f276a9c", size = 1986896, upload-time = "2025-04-02T09:48:16.222Z" }, + { url = "https://files.pythonhosted.org/packages/71/ae/fe31e7f4a62431222d8f65a3bd02e3fa7e6026d154a00818e6d30520ea77/pydantic_core-2.33.1-cp313-cp313t-win_amd64.whl", hash = "sha256:338ea9b73e6e109f15ab439e62cb3b78aa752c7fd9536794112e14bee02c8d18", size = 1931810, upload-time = "2025-04-02T09:48:17.97Z" }, + { url = "https://files.pythonhosted.org/packages/0b/76/1794e440c1801ed35415238d2c728f26cd12695df9057154ad768b7b991c/pydantic_core-2.33.1-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:3a371dc00282c4b84246509a5ddc808e61b9864aa1eae9ecc92bb1268b82db4a", size = 2042858, upload-time = "2025-04-02T09:49:03.419Z" }, + { url = "https://files.pythonhosted.org/packages/73/b4/9cd7b081fb0b1b4f8150507cd59d27b275c3e22ad60b35cb19ea0977d9b9/pydantic_core-2.33.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:f59295ecc75a1788af8ba92f2e8c6eeaa5a94c22fc4d151e8d9638814f85c8fc", size = 1873745, upload-time = "2025-04-02T09:49:05.391Z" }, + { url = "https://files.pythonhosted.org/packages/e1/d7/9ddb7575d4321e40d0363903c2576c8c0c3280ebea137777e5ab58d723e3/pydantic_core-2.33.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:08530b8ac922003033f399128505f513e30ca770527cc8bbacf75a84fcc2c74b", size = 1904188, upload-time = "2025-04-02T09:49:07.352Z" }, + { url = "https://files.pythonhosted.org/packages/d1/a8/3194ccfe461bb08da19377ebec8cb4f13c9bd82e13baebc53c5c7c39a029/pydantic_core-2.33.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bae370459da6a5466978c0eacf90690cb57ec9d533f8e63e564ef3822bfa04fe", size = 2083479, upload-time = "2025-04-02T09:49:09.304Z" }, + { url = "https://files.pythonhosted.org/packages/42/c7/84cb569555d7179ca0b3f838cef08f66f7089b54432f5b8599aac6e9533e/pydantic_core-2.33.1-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e3de2777e3b9f4d603112f78006f4ae0acb936e95f06da6cb1a45fbad6bdb4b5", size = 2118415, upload-time = "2025-04-02T09:49:11.25Z" }, + { url = "https://files.pythonhosted.org/packages/3b/67/72abb8c73e0837716afbb58a59cc9e3ae43d1aa8677f3b4bc72c16142716/pydantic_core-2.33.1-pp311-pypy311_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:3a64e81e8cba118e108d7126362ea30e021291b7805d47e4896e52c791be2761", size = 2079623, upload-time = "2025-04-02T09:49:13.292Z" }, + { url = "https://files.pythonhosted.org/packages/0b/cd/c59707e35a47ba4cbbf153c3f7c56420c58653b5801b055dc52cccc8e2dc/pydantic_core-2.33.1-pp311-pypy311_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:52928d8c1b6bda03cc6d811e8923dffc87a2d3c8b3bfd2ce16471c7147a24850", size = 2250175, upload-time = "2025-04-02T09:49:15.597Z" }, + { url = "https://files.pythonhosted.org/packages/84/32/e4325a6676b0bed32d5b084566ec86ed7fd1e9bcbfc49c578b1755bde920/pydantic_core-2.33.1-pp311-pypy311_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:1b30d92c9412beb5ac6b10a3eb7ef92ccb14e3f2a8d7732e2d739f58b3aa7544", size = 2254674, upload-time = "2025-04-02T09:49:17.61Z" }, + { url = "https://files.pythonhosted.org/packages/12/6f/5596dc418f2e292ffc661d21931ab34591952e2843e7168ea5a52591f6ff/pydantic_core-2.33.1-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:f995719707e0e29f0f41a8aa3bcea6e761a36c9136104d3189eafb83f5cec5e5", size = 2080951, upload-time = "2025-04-02T09:49:19.559Z" }, ] [[package]] @@ -328,27 +351,27 @@ dependencies = [ { name = "pydantic" }, { name = "python-dotenv" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/88/82/c79424d7d8c29b994fb01d277da57b0a9b09cc03c3ff875f9bd8a86b2145/pydantic_settings-2.8.1.tar.gz", hash = "sha256:d5c663dfbe9db9d5e1c646b2e161da12f0d734d422ee56f567d0ea2cee4e8585", size = 83550 } +sdist = { url = "https://files.pythonhosted.org/packages/88/82/c79424d7d8c29b994fb01d277da57b0a9b09cc03c3ff875f9bd8a86b2145/pydantic_settings-2.8.1.tar.gz", hash = "sha256:d5c663dfbe9db9d5e1c646b2e161da12f0d734d422ee56f567d0ea2cee4e8585", size = 83550, upload-time = "2025-02-27T10:10:32.338Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/0b/53/a64f03044927dc47aafe029c42a5b7aabc38dfb813475e0e1bf71c4a59d0/pydantic_settings-2.8.1-py3-none-any.whl", hash = "sha256:81942d5ac3d905f7f3ee1a70df5dfb62d5569c12f51a5a647defc1c3d9ee2e9c", size = 30839 }, + { url = "https://files.pythonhosted.org/packages/0b/53/a64f03044927dc47aafe029c42a5b7aabc38dfb813475e0e1bf71c4a59d0/pydantic_settings-2.8.1-py3-none-any.whl", hash = "sha256:81942d5ac3d905f7f3ee1a70df5dfb62d5569c12f51a5a647defc1c3d9ee2e9c", size = 30839, upload-time = "2025-02-27T10:10:30.711Z" }, ] [[package]] name = "python-dotenv" version = "1.1.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/88/2c/7bb1416c5620485aa793f2de31d3df393d3686aa8a8506d11e10e13c5baf/python_dotenv-1.1.0.tar.gz", hash = "sha256:41f90bc6f5f177fb41f53e87666db362025010eb28f60a01c9143bfa33a2b2d5", size = 39920 } +sdist = { url = "https://files.pythonhosted.org/packages/88/2c/7bb1416c5620485aa793f2de31d3df393d3686aa8a8506d11e10e13c5baf/python_dotenv-1.1.0.tar.gz", hash = "sha256:41f90bc6f5f177fb41f53e87666db362025010eb28f60a01c9143bfa33a2b2d5", size = 39920, upload-time = "2025-03-25T10:14:56.835Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/1e/18/98a99ad95133c6a6e2005fe89faedf294a748bd5dc803008059409ac9b1e/python_dotenv-1.1.0-py3-none-any.whl", hash = "sha256:d7c01d9e2293916c18baf562d95698754b0dbbb5e74d457c45d4f6561fb9d55d", size = 20256 }, + { url = "https://files.pythonhosted.org/packages/1e/18/98a99ad95133c6a6e2005fe89faedf294a748bd5dc803008059409ac9b1e/python_dotenv-1.1.0-py3-none-any.whl", hash = "sha256:d7c01d9e2293916c18baf562d95698754b0dbbb5e74d457c45d4f6561fb9d55d", size = 20256, upload-time = "2025-03-25T10:14:55.034Z" }, ] [[package]] name = "pytz" version = "2020.5" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/70/44/404ec10dca553032900a65bcded8b8280cf7c64cc3b723324e2181bf93c9/pytz-2020.5.tar.gz", hash = "sha256:180befebb1927b16f6b57101720075a984c019ac16b1b7575673bea42c6c3da5", size = 314194 } +sdist = { url = "https://files.pythonhosted.org/packages/70/44/404ec10dca553032900a65bcded8b8280cf7c64cc3b723324e2181bf93c9/pytz-2020.5.tar.gz", hash = "sha256:180befebb1927b16f6b57101720075a984c019ac16b1b7575673bea42c6c3da5", size = 314194, upload-time = "2020-12-24T20:58:07.498Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/89/06/2c2d3034b4d6bf22f2a4ae546d16925898658a33b4400cfb7e2c1e2871a3/pytz-2020.5-py2.py3-none-any.whl", hash = "sha256:16962c5fb8db4a8f63a26646d8886e9d769b6c511543557bc84e9569fb9a9cb4", size = 510773 }, + { url = "https://files.pythonhosted.org/packages/89/06/2c2d3034b4d6bf22f2a4ae546d16925898658a33b4400cfb7e2c1e2871a3/pytz-2020.5-py2.py3-none-any.whl", hash = "sha256:16962c5fb8db4a8f63a26646d8886e9d769b6c511543557bc84e9569fb9a9cb4", size = 510773, upload-time = "2020-12-24T20:58:04.098Z" }, ] [[package]] @@ -361,9 +384,9 @@ dependencies = [ { name = "idna" }, { name = "urllib3" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/63/70/2bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913/requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760", size = 131218 } +sdist = { url = "https://files.pythonhosted.org/packages/63/70/2bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913/requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760", size = 131218, upload-time = "2024-05-29T15:37:49.536Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6", size = 64928 }, + { url = "https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6", size = 64928, upload-time = "2024-05-29T15:37:47.027Z" }, ] [[package]] @@ -374,36 +397,36 @@ dependencies = [ { name = "decorator" }, { name = "py" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/9d/72/75d0b85443fbc8d9f38d08d2b1b67cc184ce35280e4a3813cda2f445f3a4/retry-0.9.2.tar.gz", hash = "sha256:f8bfa8b99b69c4506d6f5bd3b0aabf77f98cdb17f3c9fc3f5ca820033336fba4", size = 6448 } +sdist = { url = "https://files.pythonhosted.org/packages/9d/72/75d0b85443fbc8d9f38d08d2b1b67cc184ce35280e4a3813cda2f445f3a4/retry-0.9.2.tar.gz", hash = "sha256:f8bfa8b99b69c4506d6f5bd3b0aabf77f98cdb17f3c9fc3f5ca820033336fba4", size = 6448, upload-time = "2016-05-11T13:58:51.541Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/4b/0d/53aea75710af4528a25ed6837d71d117602b01946b307a3912cb3cfcbcba/retry-0.9.2-py2.py3-none-any.whl", hash = "sha256:ccddf89761fa2c726ab29391837d4327f819ea14d244c232a1d24c67a2f98606", size = 7986 }, + { url = "https://files.pythonhosted.org/packages/4b/0d/53aea75710af4528a25ed6837d71d117602b01946b307a3912cb3cfcbcba/retry-0.9.2-py2.py3-none-any.whl", hash = "sha256:ccddf89761fa2c726ab29391837d4327f819ea14d244c232a1d24c67a2f98606", size = 7986, upload-time = "2016-05-11T13:58:39.925Z" }, ] [[package]] name = "six" version = "1.17.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031 } +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050 }, + { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" }, ] [[package]] name = "sniffio" version = "1.3.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc", size = 20372 } +sdist = { url = "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc", size = 20372, upload-time = "2024-02-25T23:20:04.057Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, + { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235, upload-time = "2024-02-25T23:20:01.196Z" }, ] [[package]] name = "soupsieve" version = "2.6" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d7/ce/fbaeed4f9fb8b2daa961f90591662df6a86c1abf25c548329a86920aedfb/soupsieve-2.6.tar.gz", hash = "sha256:e2e68417777af359ec65daac1057404a3c8a5455bb8abc36f1a9866ab1a51abb", size = 101569 } +sdist = { url = "https://files.pythonhosted.org/packages/d7/ce/fbaeed4f9fb8b2daa961f90591662df6a86c1abf25c548329a86920aedfb/soupsieve-2.6.tar.gz", hash = "sha256:e2e68417777af359ec65daac1057404a3c8a5455bb8abc36f1a9866ab1a51abb", size = 101569, upload-time = "2024-08-13T13:39:12.166Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d1/c2/fe97d779f3ef3b15f05c94a2f1e3d21732574ed441687474db9d342a7315/soupsieve-2.6-py3-none-any.whl", hash = "sha256:e72c4ff06e4fb6e4b5a9f0f55fe6e81514581fca1515028625d0f299c602ccc9", size = 36186 }, + { url = "https://files.pythonhosted.org/packages/d1/c2/fe97d779f3ef3b15f05c94a2f1e3d21732574ed441687474db9d342a7315/soupsieve-2.6-py3-none-any.whl", hash = "sha256:e72c4ff06e4fb6e4b5a9f0f55fe6e81514581fca1515028625d0f299c602ccc9", size = 36186, upload-time = "2024-08-13T13:39:10.986Z" }, ] [[package]] @@ -414,9 +437,9 @@ dependencies = [ { name = "anyio" }, { name = "starlette" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/71/a4/80d2a11af59fe75b48230846989e93979c892d3a20016b42bb44edb9e398/sse_starlette-2.2.1.tar.gz", hash = "sha256:54470d5f19274aeed6b2d473430b08b4b379ea851d953b11d7f1c4a2c118b419", size = 17376 } +sdist = { url = "https://files.pythonhosted.org/packages/71/a4/80d2a11af59fe75b48230846989e93979c892d3a20016b42bb44edb9e398/sse_starlette-2.2.1.tar.gz", hash = "sha256:54470d5f19274aeed6b2d473430b08b4b379ea851d953b11d7f1c4a2c118b419", size = 17376, upload-time = "2024-12-25T09:09:30.616Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d9/e0/5b8bd393f27f4a62461c5cf2479c75a2cc2ffa330976f9f00f5f6e4f50eb/sse_starlette-2.2.1-py3-none-any.whl", hash = "sha256:6410a3d3ba0c89e7675d4c273a301d64649c03a5ef1ca101f10b47f895fd0e99", size = 10120 }, + { url = "https://files.pythonhosted.org/packages/d9/e0/5b8bd393f27f4a62461c5cf2479c75a2cc2ffa330976f9f00f5f6e4f50eb/sse_starlette-2.2.1-py3-none-any.whl", hash = "sha256:6410a3d3ba0c89e7675d4c273a301d64649c03a5ef1ca101f10b47f895fd0e99", size = 10120, upload-time = "2024-12-25T09:09:26.761Z" }, ] [[package]] @@ -426,18 +449,18 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anyio" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ce/20/08dfcd9c983f6a6f4a1000d934b9e6d626cff8d2eeb77a89a68eef20a2b7/starlette-0.46.2.tar.gz", hash = "sha256:7f7361f34eed179294600af672f565727419830b54b7b084efe44bb82d2fccd5", size = 2580846 } +sdist = { url = "https://files.pythonhosted.org/packages/ce/20/08dfcd9c983f6a6f4a1000d934b9e6d626cff8d2eeb77a89a68eef20a2b7/starlette-0.46.2.tar.gz", hash = "sha256:7f7361f34eed179294600af672f565727419830b54b7b084efe44bb82d2fccd5", size = 2580846, upload-time = "2025-04-13T13:56:17.942Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/8b/0c/9d30a4ebeb6db2b25a841afbb80f6ef9a854fc3b41be131d249a977b4959/starlette-0.46.2-py3-none-any.whl", hash = "sha256:595633ce89f8ffa71a015caed34a5b2dc1c0cdb3f0f1fbd1e69339cf2abeec35", size = 72037 }, + { url = "https://files.pythonhosted.org/packages/8b/0c/9d30a4ebeb6db2b25a841afbb80f6ef9a854fc3b41be131d249a977b4959/starlette-0.46.2-py3-none-any.whl", hash = "sha256:595633ce89f8ffa71a015caed34a5b2dc1c0cdb3f0f1fbd1e69339cf2abeec35", size = 72037, upload-time = "2025-04-13T13:56:16.21Z" }, ] [[package]] name = "typing-extensions" version = "4.13.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f6/37/23083fcd6e35492953e8d2aaaa68b860eb422b34627b13f2ce3eb6106061/typing_extensions-4.13.2.tar.gz", hash = "sha256:e6c81219bd689f51865d9e372991c540bda33a0379d5573cddb9a3a23f7caaef", size = 106967 } +sdist = { url = "https://files.pythonhosted.org/packages/f6/37/23083fcd6e35492953e8d2aaaa68b860eb422b34627b13f2ce3eb6106061/typing_extensions-4.13.2.tar.gz", hash = "sha256:e6c81219bd689f51865d9e372991c540bda33a0379d5573cddb9a3a23f7caaef", size = 106967, upload-time = "2025-04-10T14:19:05.416Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/8b/54/b1ae86c0973cc6f0210b53d508ca3641fb6d0c56823f288d108bc7ab3cc8/typing_extensions-4.13.2-py3-none-any.whl", hash = "sha256:a439e7c04b49fec3e5d3e2beaa21755cadbbdc391694e28ccdd36ca4a1408f8c", size = 45806 }, + { url = "https://files.pythonhosted.org/packages/8b/54/b1ae86c0973cc6f0210b53d508ca3641fb6d0c56823f288d108bc7ab3cc8/typing_extensions-4.13.2-py3-none-any.whl", hash = "sha256:a439e7c04b49fec3e5d3e2beaa21755cadbbdc391694e28ccdd36ca4a1408f8c", size = 45806, upload-time = "2025-04-10T14:19:03.967Z" }, ] [[package]] @@ -447,18 +470,18 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/82/5c/e6082df02e215b846b4b8c0b887a64d7d08ffaba30605502639d44c06b82/typing_inspection-0.4.0.tar.gz", hash = "sha256:9765c87de36671694a67904bf2c96e395be9c6439bb6c87b5142569dcdd65122", size = 76222 } +sdist = { url = "https://files.pythonhosted.org/packages/82/5c/e6082df02e215b846b4b8c0b887a64d7d08ffaba30605502639d44c06b82/typing_inspection-0.4.0.tar.gz", hash = "sha256:9765c87de36671694a67904bf2c96e395be9c6439bb6c87b5142569dcdd65122", size = 76222, upload-time = "2025-02-25T17:27:59.638Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/31/08/aa4fdfb71f7de5176385bd9e90852eaf6b5d622735020ad600f2bab54385/typing_inspection-0.4.0-py3-none-any.whl", hash = "sha256:50e72559fcd2a6367a19f7a7e610e6afcb9fac940c650290eed893d61386832f", size = 14125 }, + { url = "https://files.pythonhosted.org/packages/31/08/aa4fdfb71f7de5176385bd9e90852eaf6b5d622735020ad600f2bab54385/typing_inspection-0.4.0-py3-none-any.whl", hash = "sha256:50e72559fcd2a6367a19f7a7e610e6afcb9fac940c650290eed893d61386832f", size = 14125, upload-time = "2025-02-25T17:27:57.754Z" }, ] [[package]] name = "urllib3" version = "2.4.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/8a/78/16493d9c386d8e60e442a35feac5e00f0913c0f4b7c217c11e8ec2ff53e0/urllib3-2.4.0.tar.gz", hash = "sha256:414bc6535b787febd7567804cc015fee39daab8ad86268f1310a9250697de466", size = 390672 } +sdist = { url = "https://files.pythonhosted.org/packages/8a/78/16493d9c386d8e60e442a35feac5e00f0913c0f4b7c217c11e8ec2ff53e0/urllib3-2.4.0.tar.gz", hash = "sha256:414bc6535b787febd7567804cc015fee39daab8ad86268f1310a9250697de466", size = 390672, upload-time = "2025-04-10T15:23:39.232Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/6b/11/cc635220681e93a0183390e26485430ca2c7b5f9d33b15c74c2861cb8091/urllib3-2.4.0-py3-none-any.whl", hash = "sha256:4e16665048960a0900c702d4a66415956a584919c03361cac9f1df5c5dd7e813", size = 128680 }, + { url = "https://files.pythonhosted.org/packages/6b/11/cc635220681e93a0183390e26485430ca2c7b5f9d33b15c74c2861cb8091/urllib3-2.4.0-py3-none-any.whl", hash = "sha256:4e16665048960a0900c702d4a66415956a584919c03361cac9f1df5c5dd7e813", size = 128680, upload-time = "2025-04-10T15:23:37.377Z" }, ] [[package]] @@ -469,32 +492,9 @@ dependencies = [ { name = "click" }, { name = "h11" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/86/37/dd92f1f9cedb5eaf74d9999044306e06abe65344ff197864175dbbd91871/uvicorn-0.34.1.tar.gz", hash = "sha256:af981725fc4b7ffc5cb3b0e9eda6258a90c4b52cb2a83ce567ae0a7ae1757afc", size = 76755 } +sdist = { url = "https://files.pythonhosted.org/packages/86/37/dd92f1f9cedb5eaf74d9999044306e06abe65344ff197864175dbbd91871/uvicorn-0.34.1.tar.gz", hash = "sha256:af981725fc4b7ffc5cb3b0e9eda6258a90c4b52cb2a83ce567ae0a7ae1757afc", size = 76755, upload-time = "2025-04-13T13:48:04.305Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/5f/38/a5801450940a858c102a7ad9e6150146a25406a119851c993148d56ab041/uvicorn-0.34.1-py3-none-any.whl", hash = "sha256:984c3a8c7ca18ebaad15995ee7401179212c59521e67bfc390c07fa2b8d2e065", size = 62404 }, -] - -[[package]] -name = "vcloud-mcp-server" -version = "0.1.0" -source = { editable = "." } -dependencies = [ - { name = "mcp" }, - { name = "pydantic" }, - { name = "python-dotenv" }, - { name = "retry" }, - { name = "starlette" }, - { name = "volcengine" }, -] - -[package.metadata] -requires-dist = [ - { name = "mcp", specifier = ">=1.6.0" }, - { name = "pydantic", specifier = ">=2.11.3" }, - { name = "python-dotenv", specifier = ">=1.1.0" }, - { name = "retry", specifier = ">=0.9.2" }, - { name = "starlette", specifier = ">=0.46.2" }, - { name = "volcengine", specifier = ">=1.0.180" }, + { url = "https://files.pythonhosted.org/packages/5f/38/a5801450940a858c102a7ad9e6150146a25406a119851c993148d56ab041/uvicorn-0.34.1-py3-none-any.whl", hash = "sha256:984c3a8c7ca18ebaad15995ee7401179212c59521e67bfc390c07fa2b8d2e065", size = 62404, upload-time = "2025-04-13T13:48:02.408Z" }, ] [[package]] @@ -510,4 +510,4 @@ dependencies = [ { name = "retry" }, { name = "six" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/13/1a/917c723fe2acabdc4db3ea54e6e187cfeced9a1fc7937003c07cf75ed5c1/volcengine-1.0.180.tar.gz", hash = "sha256:3998979dc425a241e2155caa533ae33b2c0fdedb5a596c25b46f79223806efb7", size = 349390 } +sdist = { url = "https://files.pythonhosted.org/packages/13/1a/917c723fe2acabdc4db3ea54e6e187cfeced9a1fc7937003c07cf75ed5c1/volcengine-1.0.180.tar.gz", hash = "sha256:3998979dc425a241e2155caa533ae33b2c0fdedb5a596c25b46f79223806efb7", size = 349390, upload-time = "2025-04-10T12:28:35.474Z" } diff --git a/server/mcp_server_veen/python/vcloud/utils/response.py b/server/mcp_server_veen/python/vcloud/utils/response.py index 0385fce..a20e4bb 100644 --- a/server/mcp_server_veen/python/vcloud/utils/response.py +++ b/server/mcp_server_veen/python/vcloud/utils/response.py @@ -1,14 +1,19 @@ +import json + + def Error(message: str): return "API Error: " + message def HandlerVolcResponse(response: dict): - if ( - response - and response.get("ResponseMetadata") - and response["ResponseMetadata"] - and response["ResponseMetadata"].get("Error") - and response["ResponseMetadata"]["Error"] - ): - return Error(response["ResponseMetadata"]["Error"]["Message"]) - return str(response) + if not response: + return Error("Empty response") + + json_response = response if not isinstance(response, str) else json.loads(response) + error = json_response.get("ResponseMetadata", {}).get("Error") + + if error and isinstance(error, dict): + message = error.get("Message", "Unknown error") + return Error(message) + + return str(response) \ No newline at end of file diff --git a/server/mcp_server_veen/python/vcloud/veen/api/config.py b/server/mcp_server_veen/python/vcloud/veen/api/config.py index 04e6826..54bec9e 100644 --- a/server/mcp_server_veen/python/vcloud/veen/api/config.py +++ b/server/mcp_server_veen/python/vcloud/veen/api/config.py @@ -213,7 +213,7 @@ } service_info_map = { "cn-north-1": ServiceInfo( - "open.volcengineapi.com", + "veenedge.volcengineapi.com", {"Accept": "application/json", "x-tt-mcp": "volc"}, Credentials("", "", "veenedge", "cn-north-1"), 60, From e0f22b5e58d2d2bb7440089528f777f320ab281f Mon Sep 17 00:00:00 2001 From: "xujian.captain" Date: Thu, 22 May 2025 17:15:21 +0800 Subject: [PATCH 6/6] VOLC -> VOLCENGINE --- .../mcp_server_veen/python/build/lib/vcloud/base/aksk.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/server/mcp_server_veen/python/build/lib/vcloud/base/aksk.py b/server/mcp_server_veen/python/build/lib/vcloud/base/aksk.py index fedbec5..ba3b391 100644 --- a/server/mcp_server_veen/python/build/lib/vcloud/base/aksk.py +++ b/server/mcp_server_veen/python/build/lib/vcloud/base/aksk.py @@ -1,13 +1,13 @@ import os def get_ak(): - s = os.getenv("VOLC_ACCESSKEY") + s = os.getenv("VOLCENGINE_ACCESS_KEY") if (s is None): - s = os.getenv("VOLC_ACCESS_KEY_ID") + s = os.getenv("VOLCENGINE_ACCESS_KEY_ID") return s def get_sk(): - s = os.getenv("VOLC_SECRETKEY") + s = os.getenv("VOLCENGINE_SECRET_KEY") if (s is None): - s = os.getenv("VOLC_ACCESS_KEY_SECRET") + s = os.getenv("VOLCENGINE_SECRET_KEY_SECRET") return s