diff --git a/.env b/.env index dd734d6..bb14d21 100644 --- a/.env +++ b/.env @@ -2,4 +2,6 @@ AUTH_LDAP_SERVER_URI='ldap://dns.paisat.cn:389' AUTH_LDAP_BIND_DN='CN=Administrator,CN=Users,DC=sstc,DC=ctu' AUTH_LDAP_BIND_PASSWORD='WXWX2019!!!!!!' BASE_DN='OU=all,DC=sstc,DC=ctu' -FILTER_STR='(sAMAccountName=%(user)s)' \ No newline at end of file +FILTER_STR='(sAMAccountName=%(user)s)' + +AUTH_LDAP_SERVER_URI_IP='ldap://192.168.0.201:389' \ No newline at end of file diff --git a/.python-version b/.python-version index 24ee5b1..2c45fe3 100644 --- a/.python-version +++ b/.python-version @@ -1 +1 @@ -3.13 +3.13.11 diff --git a/apps/createDocument/controllers/__pycache__/dg.cpython-313.pyc b/apps/createDocument/controllers/__pycache__/dg.cpython-313.pyc index 37ecbd9..723c51e 100644 Binary files a/apps/createDocument/controllers/__pycache__/dg.cpython-313.pyc and b/apps/createDocument/controllers/__pycache__/dg.cpython-313.pyc differ diff --git a/apps/createDocument/controllers/__pycache__/hsm.cpython-313.pyc b/apps/createDocument/controllers/__pycache__/hsm.cpython-313.pyc index b671034..c95a0ad 100644 Binary files a/apps/createDocument/controllers/__pycache__/hsm.cpython-313.pyc and b/apps/createDocument/controllers/__pycache__/hsm.cpython-313.pyc differ diff --git a/apps/createDocument/controllers/dg.py b/apps/createDocument/controllers/dg.py index ec10cd5..7ee8ee8 100644 --- a/apps/createDocument/controllers/dg.py +++ b/apps/createDocument/controllers/dg.py @@ -1,8 +1,6 @@ from datetime import datetime from ninja.errors import HttpError from ninja_extra import ControllerBase, api_controller, route -from ninja_extra.permissions import IsAuthenticated -from ninja_jwt.authentication import JWTAuth from django.db import transaction from django.db.models import Q from docxtpl import DocxTemplate @@ -14,7 +12,6 @@ from apps.dict.models import Dict # 导入工具函数 from utils.util import get_str_dict, get_list_dict, get_testType, get_ident, get_str_abbr from utils.chapter_tools.csx_chapter import create_csx_chapter_dict -from utils.util import MyHTMLParser_p from django.shortcuts import get_object_or_404 from django.forms.models import model_to_dict from apps.createDocument.extensions.util import create_dg_docx @@ -25,6 +22,8 @@ from utils.path_utils import project_path from apps.createSeiTaiDocument.extensions.logger import GenerateLogger # 导入mixins-处理文档片段 from apps.createDocument.extensions.mixins import FragementToolsMixin +# 导入工具 +from apps.createDocument.extensions.tools import demand_sort_by_designKey # @api_controller("/generate", tags=['生成大纲文档'], auth=JWTAuth(), permissions=[IsAuthenticated]) @api_controller("/generate", tags=['生成大纲文档']) @@ -47,10 +46,12 @@ class GenerateControllerDG(ControllerBase, FragementToolsMixin): # 查出第一轮所有testdemand project_round_one = project_qs.pField.filter(key=0).first() - testDemand_qs = project_round_one.rtField.all() + testDemand_qs = project_round_one.rtField.all().select_related('design') + # 按照自己key排序,这样可以按照design的key排序 + sorted_demand_qs = sorted(testDemand_qs, key=demand_sort_by_designKey) # 遍历第一轮测试项:默认是ID排序 - for single_qs in testDemand_qs: + for single_qs in sorted_demand_qs: type_index = type_number_list.index(int(single_qs.testType)) # 先查询其testDemandContent信息 content_list = [] @@ -665,7 +666,6 @@ class GenerateControllerDG(ControllerBase, FragementToolsMixin): test_items = design.dtField.all() # 连接两个QuerySet,默认去重 test_items = test_items.union(design.odField.all()) - print('ok:', test_items) for test_item in test_items: reveal_ident = "_".join( ["XQ", get_testType(test_item.testType, "testType"), test_item.ident]) diff --git a/apps/createDocument/controllers/hsm.py b/apps/createDocument/controllers/hsm.py index 23f56b7..a0efc7a 100644 --- a/apps/createDocument/controllers/hsm.py +++ b/apps/createDocument/controllers/hsm.py @@ -1,23 +1,17 @@ -import base64 -import io from pathlib import Path from copy import deepcopy from typing import Union from ninja_extra import api_controller, ControllerBase, route -from ninja_extra.permissions import IsAuthenticated -from ninja_jwt.authentication import JWTAuth -from ninja.errors import HttpError from django.db import transaction from django.shortcuts import get_object_or_404 from django.db.models import QuerySet, Q -from docxtpl import DocxTemplate, RichText, InlineImage -from docx.shared import Mm +from docxtpl import DocxTemplate from docx import Document # 导入模型 from apps.project.models import Project, Round, Dut -from apps.dict.models import Dict, DictItem +from apps.dict.models import Dict # 导入项目工具 -from utils.util import get_list_dict, get_str_dict, MyHTMLParser, get_ident, get_case_ident, get_testType +from utils.util import get_list_dict, get_str_dict, get_ident, get_case_ident, get_testType from utils.chapter_tools.csx_chapter import create_csx_chapter_dict from utils.chen_response import ChenResponse from apps.createDocument.extensions import util @@ -27,6 +21,8 @@ from apps.createDocument.extensions.parse_rich_text import RichParser from apps.createDocument.extensions.documentTime import DocTime # 导入生成日志记录模块 from apps.createSeiTaiDocument.extensions.logger import GenerateLogger +# 导入排序 +from apps.createDocument.extensions.tools import demand_sort_by_designKey chinese_round_name: list = ['一', '二', '三', '四', '五', '六', '七', '八', '九', '十'] @@ -266,9 +262,7 @@ class GenerateControllerHSM(ControllerBase): @route.get("/create/hdemand", url_name="create-hdemand") @transaction.atomic def create_hdemand(self, id: int): - """ - 生成非第一轮的多个测试需求 - """ + """生成非第一轮的多个测试需求""" project_path_str = project_path(id) tpl_path = Path.cwd() / 'media' / project_path_str / 'form_template/hsm' / '回归测试需求.docx' doc = DocxTemplate(tpl_path) @@ -284,9 +278,13 @@ class GenerateControllerHSM(ControllerBase): test_type_len = Dict.objects.get(code='testType').dictItem.count() type_number_list = [i for i in range(1, test_type_len + 1)] list_list = [[] for j in range(1, test_type_len + 1)] + # 获得本轮次所有testDemand - testDemand_qs = hround.rtField.all() - for demand in testDemand_qs: + testDemand_qs = hround.rtField.all().select_related('design') + # 根据自己key排序 + sorted_demand_qs = sorted(testDemand_qs, key=demand_sort_by_designKey) + + for demand in sorted_demand_qs: type_index = type_number_list.index(int(demand.testType)) content_list = [] for (index, content) in enumerate(demand.testQField.all()): @@ -324,7 +322,7 @@ class GenerateControllerHSM(ControllerBase): "doc_list": doc_list, "design_description": parser.get_final_list(doc), "test_demand_content": content_list, - "testMethod": testmethod_str, + "testMethod": testmethod_str.strip(), "adequacy": demand.adequacy.replace("\n", "\a"), "testDesciption": demand.testDesciption.replace("\n", "\a") # 测试项描述 } diff --git a/apps/createDocument/extensions/__pycache__/tools.cpython-313.pyc b/apps/createDocument/extensions/__pycache__/tools.cpython-313.pyc new file mode 100644 index 0000000..ad5d0c7 Binary files /dev/null and b/apps/createDocument/extensions/__pycache__/tools.cpython-313.pyc differ diff --git a/apps/createDocument/extensions/tools.py b/apps/createDocument/extensions/tools.py new file mode 100644 index 0000000..b0cdfac --- /dev/null +++ b/apps/createDocument/extensions/tools.py @@ -0,0 +1,9 @@ +from apps.project.models import TestDemand + +def demand_sort_by_designKey(demand_obj: TestDemand) -> tuple[int, ...]: + """仅限于测试项排序函数,传入sorted函数的key里面""" + parts = demand_obj.key.split('-') + sort_tuple = tuple(int(part) for part in parts) + return sort_tuple + +__all__ = ['demand_sort_by_designKey'] diff --git a/apps/project/controllers/__pycache__/design.cpython-313.pyc b/apps/project/controllers/__pycache__/design.cpython-313.pyc index 34c6ea5..164f517 100644 Binary files a/apps/project/controllers/__pycache__/design.cpython-313.pyc and b/apps/project/controllers/__pycache__/design.cpython-313.pyc differ diff --git a/apps/project/controllers/design.py b/apps/project/controllers/design.py index 0755b33..1a341fa 100644 --- a/apps/project/controllers/design.py +++ b/apps/project/controllers/design.py @@ -23,6 +23,7 @@ from apps.project.schemas.design import DeleteSchema, DesignFilterSchema, Design from apps.project.tools.delete_change_key import design_delete_sub_node_key from utils.smallTools.interfaceTools import conditionNoneToBlank from apps.project.tools.auto_create_data import auto_create_renji +from apps.project.tool.dragAndDrop import DesignDrapAtoB @api_controller("/project", auth=JWTAuth(), permissions=[IsAuthenticated], tags=['设计需求数据']) class DesignController(ControllerBase): @@ -66,7 +67,10 @@ class DesignController(ControllerBase): # 处理树状数据 @route.get("/getDesignDemandInfo", response=List[DesignTreeReturnSchema], url_name="design-info") def get_design_tree(self, payload: DesignTreeInputSchema = Query(...)): - qs = Design.objects.filter(project__id=payload.project_id, dut__key=payload.key).order_by('id') + qs = Design.objects.filter( + project__id=payload.project_id, + dut__key=payload.key + ).select_related('project', 'dut') return qs # 添加设计需求 @@ -241,3 +245,24 @@ class DesignController(ControllerBase): # 最后记得save new_design_obj.save() return ChenResponse(status=200, code=200, message='复制当前设计需求成功', data="") + + # 拖拽更变desing的key,同dut下其他design也变动 + @route.get("/switch_position", url_name='design-switch-position') + @transaction.atomic + def switch_position(self, from_key: str, to_key: str, pos: int, project_id: int): + from_key_list = from_key.split("-") + to_key_list = to_key.split("-") + # 如果两个设计需求被测件或轮次不一样则报错 + if from_key_list[:-1] != to_key_list[:-1]: + return ChenResponse(status=422, code=40022, message="无法交换不同父节点的设计需求") + # 先查询两个design + from_design_obj: Design = Design.objects.filter(key=from_key, project_id=project_id).first() + to_design_obj: Design = Design.objects.filter(key=to_key, project_id=project_id).first() + if not from_design_obj or not to_design_obj: + return ChenResponse(status=404, code=40004, message="设计需求不存在") + # 获取父节点下所有design + parant_dut = from_design_obj.dut + design_qs = parant_dut.rsField.all() + # 根据pos将from排到后面 + return_key = DesignDrapAtoB(from_design_obj, to_design_obj, design_qs, pos) + return ChenResponse(status=200, data=return_key) diff --git a/apps/project/tool/__pycache__/dragAndDrop.cpython-313.pyc b/apps/project/tool/__pycache__/dragAndDrop.cpython-313.pyc new file mode 100644 index 0000000..cc3535d Binary files /dev/null and b/apps/project/tool/__pycache__/dragAndDrop.cpython-313.pyc differ diff --git a/apps/project/tool/dragAndDrop.py b/apps/project/tool/dragAndDrop.py new file mode 100644 index 0000000..ddd97cc --- /dev/null +++ b/apps/project/tool/dragAndDrop.py @@ -0,0 +1,43 @@ +from django.db.models import QuerySet + +from apps.project.models import Design, TestDemand +from typing import Union + +def DesignDrapAtoB(a: Design, + b: Design, + origin_qs: QuerySet[Design, Design], + pos: Union[-1 | 1]) -> str: + """该函数传入拖拽design和释放到的design,然后更改排序,完成key的重新设置""" + # 判断是移动到b前面还是后面 + list_qs = list(origin_qs) + list_qs.remove(a) + b_index = list_qs.index(b) + if pos == -1: + list_qs.insert(b_index, a) + elif pos == 1: + list_qs.insert(b_index + 1, a) + # 重新完成排序后调整key + prefix = "".join([a.dut.key, "-"]) + for index, obj in enumerate(list_qs): + obj.key = "".join([prefix, str(index)]) + # 需要测试项调整key + designConvertDemadnKey(obj) + obj.save() + return a.key + +def designConvertDemadnKey(desgin_obj: Design): + """传入Design对象,集体修改demand和case的key""" + for demand in desgin_obj.dtField.all(): + design_key = desgin_obj.key + demand_last_key = demand.key.split("-")[-1] + demand.key = "-".join([design_key, demand_last_key]) + demandConvertCaseKey(demand) + demand.save() + +def demandConvertCaseKey(demand_obj:TestDemand): + """传入Demand对象集体修改case的key""" + for case in demand_obj.tcField.all(): + demand_key = demand_obj.key + case_last_key = case.key.split("-")[-1] + case.key = "-".join([demand_key, case_last_key]) + case.save() diff --git a/apps/user/__pycache__/controllers.cpython-313.pyc b/apps/user/__pycache__/controllers.cpython-313.pyc index 79e777f..cdf35bc 100644 Binary files a/apps/user/__pycache__/controllers.cpython-313.pyc and b/apps/user/__pycache__/controllers.cpython-313.pyc differ diff --git a/apps/user/__pycache__/schema.cpython-313.pyc b/apps/user/__pycache__/schema.cpython-313.pyc index b941ab8..4dfe607 100644 Binary files a/apps/user/__pycache__/schema.cpython-313.pyc and b/apps/user/__pycache__/schema.cpython-313.pyc differ diff --git a/apps/user/controllers.py b/apps/user/controllers.py index d355e4e..edfbd77 100644 --- a/apps/user/controllers.py +++ b/apps/user/controllers.py @@ -8,7 +8,6 @@ from ninja import Query from django.db import transaction from django.contrib.auth import authenticate from django.shortcuts import get_object_or_404 -from ninja_jwt.tokens import RefreshToken from ninja_jwt.authentication import JWTAuth from ninja_jwt.controller import TokenObtainPairController from ninja_jwt import schema @@ -17,37 +16,25 @@ from utils.chen_response import ChenResponse from apps.user.schema import UserInfoOutSchema, CreateUserSchema, CreateUserOutSchema, \ UserRetrieveInputSchema, \ UserRetrieveOutSchema, UpdateDeleteUserSchema, UpdateDeleteUserOutSchema, DeleteUserSchema, LogOutSchema, \ - LogInputSchema, LogDeleteInSchema, AdminModifyPasswordSchema + LogInputSchema, LogDeleteInSchema, AdminModifyPasswordSchema, MyTokenObtainPairOutSchema, \ + MyTokenObtainPairInputSchema from apps.user.models import TableOperationLog, Users as UserClass from apps.project.models import Project # 工具函数 from utils.chen_crud import update, multi_delete from apps.user.tools.ldap_tools import load_ldap_users -# 导入登录日志函数 -from utils.log_util.request_util import save_login_log -Users: UserClass = get_user_model() # type:ignore +Users = get_user_model() # 定义用户登录接口,包含token刷新和生成 @api_controller("/system", tags=['用户token控制和登录接口']) class UserTokenController(TokenObtainPairController): auto_import = True - @route.post("/login", url_name='login') - def obtain_token(self, user_token: schema.TokenObtainPairSerializer): - """新版本有特性,后期修改""" - # 注意TokenObtainPairSerializer是老版本,所以兼容,本质是TokenObtainPairInputSchema - user: UserClass = user_token._user - if user: - # 判断是否为启用状态 - if user.status == '2': - return ChenResponse(status=500, code=500, message='账号已被禁用,请联系管理员...') - save_login_log(request=self.context.request, user=user) # 保存登录日志 - refresh = RefreshToken.for_user(user) - token = refresh.access_token # type:ignore - return ChenResponse(code=200, - data={'token': str(token), 'refresh': str(refresh), - 'token_exp_data': datetime.fromtimestamp(token["exp"], tz=timezone.utc)}) + @route.post("/login", response=MyTokenObtainPairOutSchema, url_name='login') + def obtain_token(self, user_token: MyTokenObtainPairInputSchema): + user_token.check_user_authentication_rule() + return user_token.to_response_schema() @route.get("/getInfo", response=UserInfoOutSchema, url_name="get_info", auth=JWTAuth()) def get_user_info(self): diff --git a/apps/user/schema.py b/apps/user/schema.py index 0870f96..05c8e73 100644 --- a/apps/user/schema.py +++ b/apps/user/schema.py @@ -3,9 +3,13 @@ from django.contrib.auth.models import Group from ninja_schema import ModelSchema, model_validator, Schema from ninja_extra.exceptions import APIException from ninja_extra import status -from datetime import datetime -from typing import List +from datetime import datetime, timezone +from typing import List, Type, Dict from ninja import Field +from ninja.errors import HttpError +from ninja_jwt.schema import TokenObtainInputSchemaBase +from ninja_jwt.tokens import RefreshToken +from utils.log_util.request_util import save_login_log UserModel = Users @@ -113,3 +117,34 @@ class AdminModifyPasswordSchema(Schema): newPassword: str newPassword_confirmation: str oldPassword: str + +# ~~~~~~~~~~~~~~~~~~~~JWT~~~~~~~~~~~~~~~~~~~~ +# 定义输出的内容,修改了输出access变为token,新增token_exp_data字段 +class MyTokenObtainPairOutSchema(Schema): + token: str + refresh: str + token_exp_data: datetime + +class MyTokenObtainPairInputSchema(TokenObtainInputSchemaBase): + @classmethod + def get_response_schema(cls) -> Type[Schema]: + """修改默认的返回Schema""" + return MyTokenObtainPairOutSchema + + @classmethod + def get_token(cls, user) -> Dict: + """因为输出Schema修改,这里修改输出的token字典字段""" + values = {} + refresh = RefreshToken.for_user(user) + token = refresh.access_token + values["token"] = str(token) # 修改在这里 # type:ignore + values['refresh'] = str(refresh) + values["token_exp_data"] = datetime.fromtimestamp(token["exp"], tz=timezone.utc) + return values + + def authenticate(self, request, credentials: Dict): + super().authenticate(request, credentials) + if self._user: + save_login_log(request, self._user) + if self._user.status == '2': # type:ignore + raise HttpError(401, "账号已被禁用,请联系管理员...") diff --git a/apps/user/tools/__pycache__/ldap_tools.cpython-313.pyc b/apps/user/tools/__pycache__/ldap_tools.cpython-313.pyc index 080ec65..a7eb1bc 100644 Binary files a/apps/user/tools/__pycache__/ldap_tools.cpython-313.pyc and b/apps/user/tools/__pycache__/ldap_tools.cpython-313.pyc differ diff --git a/apps/user/tools/ldap_tools.py b/apps/user/tools/ldap_tools.py index 24cd19f..87fd300 100644 --- a/apps/user/tools/ldap_tools.py +++ b/apps/user/tools/ldap_tools.py @@ -7,12 +7,16 @@ env = environ.Env() # 2. LDAP服务器host和port server_uri = env('AUTH_LDAP_SERVER_URI', default='ldap://dns.paisat.cn:389') +dn = env('AUTH_LDAP_BIND_DN',default='CN=Administrator,CN=Users,DC=sstc,DC=ctu') +password = env('AUTH_LDAP_BIND_PASSWORD',default='WXWX2019!!!!!!') +base_dn = env('BASE_DN',default='OU=all,DC=sstc,DC=ctu') +filter_str = env('FILTER_STR',default='(sAMAccountName=%(user)s)') # 3. 连接LDAP服务器进行操作 def load_ldap_users(url=server_uri, - dn="CN=Administrator,CN=Users,DC=sstc,DC=ctu", - pwd="WXWX2019!!!!!!", - search_dn="OU=ALL,DC=sstc,DC=ctu", + dn=dn, + pwd=password, + search_dn=base_dn, search_filter='(&(sAMAccountName=*))'): Users = get_user_model() @@ -50,6 +54,7 @@ def load_ldap_users(url=server_uri, c_user.email = user_dict['email'] update_flag = True if update_flag: + c_user.set_password('wxwx2018!!!') c_user.save() else: user_dict['remark'] = '自动同步LDAP数据用户' diff --git a/cdtestplant_v1/__pycache__/settings.cpython-313.pyc b/cdtestplant_v1/__pycache__/settings.cpython-313.pyc index fe87751..e69674f 100644 Binary files a/cdtestplant_v1/__pycache__/settings.cpython-313.pyc and b/cdtestplant_v1/__pycache__/settings.cpython-313.pyc differ diff --git a/cdtestplant_v1/settings.py b/cdtestplant_v1/settings.py index 189ca8d..4e81b38 100644 --- a/cdtestplant_v1/settings.py +++ b/cdtestplant_v1/settings.py @@ -155,6 +155,7 @@ API_OPERATION_EXCLUDE_START = [ '/api/system/abbreviation/index', '/api/project/dut/soExist', '/api/system/log/', + '/api/system/dict/' ] # 配置单次请求最大字节数(base64图片和上传需求文档适用) diff --git a/conf/__pycache__/env.cpython-313.pyc b/conf/__pycache__/env.cpython-313.pyc index c429c55..9ff8cc5 100644 Binary files a/conf/__pycache__/env.cpython-313.pyc and b/conf/__pycache__/env.cpython-313.pyc differ diff --git a/conf/base_document/form_template/jl/测试用例记录.docx b/conf/base_document/form_template/jl/测试用例记录.docx index ffd0632..1730fa2 100644 Binary files a/conf/base_document/form_template/jl/测试用例记录.docx and b/conf/base_document/form_template/jl/测试用例记录.docx differ diff --git a/conf/base_document/form_template/products/测评大纲.docx b/conf/base_document/form_template/products/测评大纲.docx index fa2506b..3b7e8e6 100644 Binary files a/conf/base_document/form_template/products/测评大纲.docx and b/conf/base_document/form_template/products/测评大纲.docx differ diff --git a/conf/base_document/form_template/products/测试记录.docx b/conf/base_document/form_template/products/测试记录.docx index 0bb93ad..46d7b64 100644 Binary files a/conf/base_document/form_template/products/测试记录.docx and b/conf/base_document/form_template/products/测试记录.docx differ diff --git a/logs/generates_logs b/logs/generates_logs index 66c937f..2a9e228 100644 --- a/logs/generates_logs +++ b/logs/generates_logs @@ -1 +1,2 @@ [WARNING][2025-04-29 14:20:41,997][logger.py:25][回归测试记录模块][单个问题单表格]片段:问题单4未关联用例,请检查 +[WARNING][2026-01-20 16:34:34,986][logger.py:25][回归测试说明模块][当前文档全部片段]片段:该项目没有创建轮次 diff --git a/logs/root_log b/logs/root_log index 090fc81..2d73fa0 100644 --- a/logs/root_log +++ b/logs/root_log @@ -2211,3 +2211,282 @@ apps.dict.models.Dict.DoesNotExist: Dict matching query does not exist. [WARNING][2025-12-24 16:39:23,788][log.py:249]Unauthorized: /api/system/getInfo [WARNING][2025-12-24 16:39:23,853][log.py:249]Unauthorized: /api/system/logout [WARNING][2025-12-24 16:39:28,506][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) +[WARNING][2025-12-29 15:33:48,008][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) +[WARNING][2025-12-29 15:43:37,401][log.py:249]Payment Required: /api/project/create_renji/ +[WARNING][2025-12-29 15:47:52,855][operation.py:131]"POST - UploadController[upload_xq_docx] /api/dut_upload/upload_xq_docx/" ("file 'C:\\Users\\31429\\AppData\\Local\\Temp\\tmpcpy143v1\\21352标校软件需求规格说明V1.01(公开).doc' is not a Word file, content type is 'application/vnd.openxmlformats-officedocument.themeManager+xml'",) +[ERROR][2025-12-29 15:47:52,855][errors.py:131]file 'C:\Users\31429\AppData\Local\Temp\tmpcpy143v1\21352标校软件需求规格说明V1.01(公开).doc' is not a Word file, content type is 'application/vnd.openxmlformats-officedocument.themeManager+xml' +Traceback (most recent call last): + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run + result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view + result = self.route.view_func( + ctx.controller_instance, *args, **ctx.view_func_kwargs + ) + File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\dut.py", line 252, in upload_xq_docx + extracter = DocxChapterExtractor(docx_path) + File "E:\pycharmProjects\cdtestplant_v1\apps\project\tool\xq_parse.py", line 18, in __init__ + self.doc = docx.Document(docx_path) # 解析文档 + ~~~~~~~~~~~~~^^^^^^^^^^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\api.py", line 30, in Document + raise ValueError(tmpl % (docx, document_part.content_type)) +ValueError: file 'C:\Users\31429\AppData\Local\Temp\tmpcpy143v1\21352标校软件需求规格说明V1.01(公开).doc' is not a Word file, content type is 'application/vnd.openxmlformats-officedocument.themeManager+xml' +[ERROR][2025-12-29 15:47:52,858][log.py:249]Internal Server Error: /api/dut_upload/upload_xq_docx/ +[WARNING][2025-12-29 15:48:14,809][operation.py:131]"POST - UploadController[upload_xq_docx] /api/dut_upload/upload_xq_docx/" ("file 'C:\\Users\\31429\\AppData\\Local\\Temp\\tmp_n55usen\\21352标校软件需求规格说明V1.01(公开).doc' is not a Word file, content type is 'application/vnd.openxmlformats-officedocument.themeManager+xml'",) +[ERROR][2025-12-29 15:48:14,810][errors.py:131]file 'C:\Users\31429\AppData\Local\Temp\tmp_n55usen\21352标校软件需求规格说明V1.01(公开).doc' is not a Word file, content type is 'application/vnd.openxmlformats-officedocument.themeManager+xml' +Traceback (most recent call last): + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run + result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view + result = self.route.view_func( + ctx.controller_instance, *args, **ctx.view_func_kwargs + ) + File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\dut.py", line 252, in upload_xq_docx + extracter = DocxChapterExtractor(docx_path) + File "E:\pycharmProjects\cdtestplant_v1\apps\project\tool\xq_parse.py", line 18, in __init__ + self.doc = docx.Document(docx_path) # 解析文档 + ~~~~~~~~~~~~~^^^^^^^^^^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\api.py", line 30, in Document + raise ValueError(tmpl % (docx, document_part.content_type)) +ValueError: file 'C:\Users\31429\AppData\Local\Temp\tmp_n55usen\21352标校软件需求规格说明V1.01(公开).doc' is not a Word file, content type is 'application/vnd.openxmlformats-officedocument.themeManager+xml' +[ERROR][2025-12-29 15:48:14,811][log.py:249]Internal Server Error: /api/dut_upload/upload_xq_docx/ +[WARNING][2025-12-29 16:07:51,156][log.py:249]Bad Request: /api/project/testDemand/solveRelatedTestDemand +[WARNING][2025-12-30 09:08:25,722][log.py:249]Unauthorized: /api/system/getInfo +[WARNING][2025-12-30 09:08:25,816][log.py:249]Unauthorized: /api/system/logout +[WARNING][2025-12-30 09:09:35,244][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) +[WARNING][2026-01-05 15:36:48,015][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) +[WARNING][2026-01-12 09:53:36,139][log.py:249]Unauthorized: /api/system/getInfo +[WARNING][2026-01-12 09:53:36,226][log.py:249]Unauthorized: /api/system/logout +[WARNING][2026-01-12 09:53:40,193][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) +[WARNING][2026-01-12 10:22:18,307][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) +[WARNING][2026-01-12 10:22:27,314][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) +[WARNING][2026-01-12 10:22:30,857][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) +[WARNING][2026-01-12 10:23:39,227][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) +[WARNING][2026-01-12 10:23:39,511][operation.py:131]"POST - UserTokenController[obtain_token] /api/system/login" () +[ERROR][2026-01-12 10:23:39,511][errors.py:131]3 validation errors for NinjaResponseSchema +response.token + Field required [type=missing, input_value=, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.12/v/missing +response.refresh + Field required [type=missing, input_value=, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.12/v/missing +response.token_exp_data + Field required [type=missing, input_value=, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.12/v/missing +Traceback (most recent call last): + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 214, in run + _processed_results = self._result_to_response( + request, result, ctx.response + ) + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja\operation.py", line 280, in _result_to_response + validated_object = response_model.model_validate( + resp_object, context={"request": request, "response_status": status} + ) + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\pydantic\main.py", line 716, in model_validate + return cls.__pydantic_validator__.validate_python( + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ + obj, + ^^^^ + ...<5 lines>... + by_name=by_name, + ^^^^^^^^^^^^^^^^ + ) + ^ +pydantic_core._pydantic_core.ValidationError: 3 validation errors for NinjaResponseSchema +response.token + Field required [type=missing, input_value=, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.12/v/missing +response.refresh + Field required [type=missing, input_value=, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.12/v/missing +response.token_exp_data + Field required [type=missing, input_value=, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.12/v/missing +[ERROR][2026-01-12 10:23:39,522][log.py:249]Internal Server Error: /api/system/login +[WARNING][2026-01-12 10:24:08,914][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) +[WARNING][2026-01-12 10:24:09,211][operation.py:131]"POST - UserTokenController[obtain_token] /api/system/login" () +[ERROR][2026-01-12 10:24:09,211][errors.py:131]3 validation errors for NinjaResponseSchema +response.token + Field required [type=missing, input_value=, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.12/v/missing +response.refresh + Field required [type=missing, input_value=, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.12/v/missing +response.token_exp_data + Field required [type=missing, input_value=, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.12/v/missing +Traceback (most recent call last): + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 214, in run + _processed_results = self._result_to_response( + request, result, ctx.response + ) + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja\operation.py", line 280, in _result_to_response + validated_object = response_model.model_validate( + resp_object, context={"request": request, "response_status": status} + ) + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\pydantic\main.py", line 716, in model_validate + return cls.__pydantic_validator__.validate_python( + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ + obj, + ^^^^ + ...<5 lines>... + by_name=by_name, + ^^^^^^^^^^^^^^^^ + ) + ^ +pydantic_core._pydantic_core.ValidationError: 3 validation errors for NinjaResponseSchema +response.token + Field required [type=missing, input_value=, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.12/v/missing +response.refresh + Field required [type=missing, input_value=, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.12/v/missing +response.token_exp_data + Field required [type=missing, input_value=, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.12/v/missing +[ERROR][2026-01-12 10:24:09,213][log.py:249]Internal Server Error: /api/system/login +[WARNING][2026-01-12 10:24:09,825][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) +[WARNING][2026-01-12 10:24:10,314][operation.py:131]"POST - UserTokenController[obtain_token] /api/system/login" () +[ERROR][2026-01-12 10:24:10,314][errors.py:131]3 validation errors for NinjaResponseSchema +response.token + Field required [type=missing, input_value=, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.12/v/missing +response.refresh + Field required [type=missing, input_value=, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.12/v/missing +response.token_exp_data + Field required [type=missing, input_value=, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.12/v/missing +Traceback (most recent call last): + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 214, in run + _processed_results = self._result_to_response( + request, result, ctx.response + ) + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja\operation.py", line 280, in _result_to_response + validated_object = response_model.model_validate( + resp_object, context={"request": request, "response_status": status} + ) + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\pydantic\main.py", line 716, in model_validate + return cls.__pydantic_validator__.validate_python( + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ + obj, + ^^^^ + ...<5 lines>... + by_name=by_name, + ^^^^^^^^^^^^^^^^ + ) + ^ +pydantic_core._pydantic_core.ValidationError: 3 validation errors for NinjaResponseSchema +response.token + Field required [type=missing, input_value=, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.12/v/missing +response.refresh + Field required [type=missing, input_value=, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.12/v/missing +response.token_exp_data + Field required [type=missing, input_value=, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.12/v/missing +[ERROR][2026-01-12 10:24:10,315][log.py:249]Internal Server Error: /api/system/login +[WARNING][2026-01-12 10:24:14,108][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) +[WARNING][2026-01-12 10:24:14,620][operation.py:131]"POST - UserTokenController[obtain_token] /api/system/login" () +[ERROR][2026-01-12 10:24:14,620][errors.py:131]3 validation errors for NinjaResponseSchema +response.token + Field required [type=missing, input_value=, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.12/v/missing +response.refresh + Field required [type=missing, input_value=, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.12/v/missing +response.token_exp_data + Field required [type=missing, input_value=, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.12/v/missing +Traceback (most recent call last): + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 214, in run + _processed_results = self._result_to_response( + request, result, ctx.response + ) + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja\operation.py", line 280, in _result_to_response + validated_object = response_model.model_validate( + resp_object, context={"request": request, "response_status": status} + ) + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\pydantic\main.py", line 716, in model_validate + return cls.__pydantic_validator__.validate_python( + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ + obj, + ^^^^ + ...<5 lines>... + by_name=by_name, + ^^^^^^^^^^^^^^^^ + ) + ^ +pydantic_core._pydantic_core.ValidationError: 3 validation errors for NinjaResponseSchema +response.token + Field required [type=missing, input_value=, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.12/v/missing +response.refresh + Field required [type=missing, input_value=, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.12/v/missing +response.token_exp_data + Field required [type=missing, input_value=, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.12/v/missing +[ERROR][2026-01-12 10:24:14,630][log.py:249]Internal Server Error: /api/system/login +[WARNING][2026-01-12 10:25:39,666][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) +[WARNING][2026-01-12 10:25:52,819][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) +[WARNING][2026-01-20 15:35:49,614][log.py:249]Not Found: / +[WARNING][2026-01-20 15:35:49,619][log.py:249]Not Found: / +[WARNING][2026-01-20 15:35:49,623][log.py:249]Not Found: / +[WARNING][2026-01-20 15:35:49,627][log.py:249]Not Found: / +[WARNING][2026-01-20 15:35:49,756][log.py:249]Not Found: /favicon.ico +[WARNING][2026-01-20 15:35:49,811][log.py:249]Not Found: /favicon.ico +[WARNING][2026-01-20 15:35:49,847][log.py:249]Not Found: /favicon.ico +[WARNING][2026-01-20 15:35:49,887][log.py:249]Not Found: /favicon.ico +[WARNING][2026-01-20 15:36:36,008][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) +[WARNING][2026-01-20 16:34:34,986][logger.py:25][回归测试说明模块][当前文档全部片段]片段:该项目没有创建轮次 +[WARNING][2026-01-20 16:34:34,987][log.py:249]Bad Request: /api/generateHSM/create/basicInformation +[WARNING][2026-01-21 09:08:12,013][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) +[WARNING][2026-01-21 09:20:15,753][log.py:249]Unprocessable Content: /api/project/switch_position +[WARNING][2026-01-21 09:20:20,719][log.py:249]Unprocessable Content: /api/project/switch_position +[WARNING][2026-01-21 09:59:44,017][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) +[WARNING][2026-01-21 10:11:27,647][operation.py:131]"GET - DesignController[switch_position] /api/project/switch_position" ('str.join() takes exactly one argument (2 given)',) +[ERROR][2026-01-21 10:11:27,647][errors.py:131]str.join() takes exactly one argument (2 given) +Traceback (most recent call last): + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run + result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view + result = self.route.view_func( + ctx.controller_instance, *args, **ctx.view_func_kwargs + ) + File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\contextlib.py", line 85, in inner + return func(*args, **kwds) + File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\design.py", line 268, in switch_position + return_key = DesignDrapAtoB(from_design_obj, to_design_obj, design_qs, pos) + File "E:\pycharmProjects\cdtestplant_v1\apps\project\tool\dragAndDrop.py", line 20, in DesignDrapAtoB + prefix = "".join(a.dut.key, "-") +TypeError: str.join() takes exactly one argument (2 given) +[ERROR][2026-01-21 10:11:27,651][log.py:249]Internal Server Error: /api/project/switch_position +[WARNING][2026-01-21 10:13:50,072][operation.py:131]"GET - DesignController[switch_position] /api/project/switch_position" ('cannot unpack non-iterable Design object',) +[ERROR][2026-01-21 10:13:50,073][errors.py:131]cannot unpack non-iterable Design object +Traceback (most recent call last): + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run + result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view + result = self.route.view_func( + ctx.controller_instance, *args, **ctx.view_func_kwargs + ) + File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\contextlib.py", line 85, in inner + return func(*args, **kwds) + File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\design.py", line 268, in switch_position + return_key = DesignDrapAtoB(from_design_obj, to_design_obj, design_qs, pos) + File "E:\pycharmProjects\cdtestplant_v1\apps\project\tool\dragAndDrop.py", line 21, in DesignDrapAtoB + for index, obj in list_qs: + ^^^^^^^^^^ +TypeError: cannot unpack non-iterable Design object +[ERROR][2026-01-21 10:13:50,075][log.py:249]Internal Server Error: /api/project/switch_position +[WARNING][2026-01-26 09:29:52,516][log.py:249]Unauthorized: /api/system/getInfo +[WARNING][2026-01-26 09:29:52,614][log.py:249]Unauthorized: /api/system/logout +[WARNING][2026-01-26 09:34:15,617][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) +[WARNING][2026-01-26 10:18:20,468][log.py:249]Unprocessable Content: /api/project/switch_position +[ERROR][2026-01-26 10:43:44,242][log.py:249]Internal Server Error: /api/project/case/create_by_demand +[WARNING][2026-01-26 10:55:06,736][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) +[WARNING][2026-01-27 13:17:05,789][log.py:249]Unauthorized: /api/system/getInfo +[WARNING][2026-01-27 13:17:05,892][log.py:249]Unauthorized: /api/system/logout +[WARNING][2026-01-27 13:18:15,840][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) +[WARNING][2026-01-28 12:13:49,105][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) diff --git a/media/R25138/final_seitai/测评大纲.docx b/media/R25138/final_seitai/测评大纲.docx index 17d6388..2e71f9c 100644 Binary files a/media/R25138/final_seitai/测评大纲.docx and b/media/R25138/final_seitai/测评大纲.docx differ diff --git a/media/R25138/output_dir/主要功能和性能指标.docx b/media/R25138/output_dir/主要功能和性能指标.docx index 8a97ddb..dbe54ae 100644 Binary files a/media/R25138/output_dir/主要功能和性能指标.docx and b/media/R25138/output_dir/主要功能和性能指标.docx differ diff --git a/media/R25138/output_dir/代码质量度量分析表.docx b/media/R25138/output_dir/代码质量度量分析表.docx index f70f980..77b38c2 100644 Binary files a/media/R25138/output_dir/代码质量度量分析表.docx and b/media/R25138/output_dir/代码质量度量分析表.docx differ diff --git a/media/R25138/output_dir/动态测试环境说明.docx b/media/R25138/output_dir/动态测试环境说明.docx index e246758..4b3b7cd 100644 Binary files a/media/R25138/output_dir/动态测试环境说明.docx and b/media/R25138/output_dir/动态测试环境说明.docx differ diff --git a/media/R25138/output_dir/动态硬件和固件项.docx b/media/R25138/output_dir/动态硬件和固件项.docx index 63953ad..3ae1c99 100644 Binary files a/media/R25138/output_dir/动态硬件和固件项.docx and b/media/R25138/output_dir/动态硬件和固件项.docx differ diff --git a/media/R25138/output_dir/动态软件项.docx b/media/R25138/output_dir/动态软件项.docx index f8aa8d3..a4b03f7 100644 Binary files a/media/R25138/output_dir/动态软件项.docx and b/media/R25138/output_dir/动态软件项.docx differ diff --git a/media/R25138/output_dir/反向需求规格追踪表.docx b/media/R25138/output_dir/反向需求规格追踪表.docx index 5c6bd7b..7896ca7 100644 Binary files a/media/R25138/output_dir/反向需求规格追踪表.docx and b/media/R25138/output_dir/反向需求规格追踪表.docx differ diff --git a/media/R25138/output_dir/技术依据文件.docx b/media/R25138/output_dir/技术依据文件.docx index baa6053..f28d2d2 100644 Binary files a/media/R25138/output_dir/技术依据文件.docx and b/media/R25138/output_dir/技术依据文件.docx differ diff --git a/media/R25138/output_dir/标准依据文件.docx b/media/R25138/output_dir/标准依据文件.docx index 232c65a..6d2e205 100644 Binary files a/media/R25138/output_dir/标准依据文件.docx and b/media/R25138/output_dir/标准依据文件.docx differ diff --git a/media/R25138/output_dir/测评对象.docx b/media/R25138/output_dir/测评对象.docx index 211b91b..225d7a1 100644 Binary files a/media/R25138/output_dir/测评对象.docx and b/media/R25138/output_dir/测评对象.docx differ diff --git a/media/R25138/output_dir/测评数据.docx b/media/R25138/output_dir/测评数据.docx index 1a1c707..6526b13 100644 Binary files a/media/R25138/output_dir/测评数据.docx and b/media/R25138/output_dir/测评数据.docx differ diff --git a/media/R25138/output_dir/测评时间和地点.docx b/media/R25138/output_dir/测评时间和地点.docx index 3994f46..231a5ff 100644 Binary files a/media/R25138/output_dir/测评时间和地点.docx and b/media/R25138/output_dir/测评时间和地点.docx differ diff --git a/media/R25138/output_dir/测评条件保障.docx b/media/R25138/output_dir/测评条件保障.docx index 82ab440..696e9e7 100644 Binary files a/media/R25138/output_dir/测评条件保障.docx and b/media/R25138/output_dir/测评条件保障.docx differ diff --git a/media/R25138/output_dir/测评组织及任务分工.docx b/media/R25138/output_dir/测评组织及任务分工.docx index 6cea28e..294054e 100644 Binary files a/media/R25138/output_dir/测评组织及任务分工.docx and b/media/R25138/output_dir/测评组织及任务分工.docx differ diff --git a/media/R25138/output_dir/测试内容充分性及测试方法有效性分析.docx b/media/R25138/output_dir/测试内容充分性及测试方法有效性分析.docx index f71a8ff..db13e58 100644 Binary files a/media/R25138/output_dir/测试内容充分性及测试方法有效性分析.docx and b/media/R25138/output_dir/测试内容充分性及测试方法有效性分析.docx differ diff --git a/media/R25138/output_dir/测试策略.docx b/media/R25138/output_dir/测试策略.docx index 6a93460..aaaaef2 100644 Binary files a/media/R25138/output_dir/测试策略.docx and b/media/R25138/output_dir/测试策略.docx differ diff --git a/media/R25138/output_dir/测试级别和测试类型.docx b/media/R25138/output_dir/测试级别和测试类型.docx index ad8adc3..385273e 100644 Binary files a/media/R25138/output_dir/测试级别和测试类型.docx and b/media/R25138/output_dir/测试级别和测试类型.docx differ diff --git a/media/R25138/output_dir/测试项及方法.docx b/media/R25138/output_dir/测试项及方法.docx index acd2d93..070eb4f 100644 Binary files a/media/R25138/output_dir/测试项及方法.docx and b/media/R25138/output_dir/测试项及方法.docx differ diff --git a/media/R25138/output_dir/环境差异性分析.docx b/media/R25138/output_dir/环境差异性分析.docx index dfc58b6..01c3ea4 100644 Binary files a/media/R25138/output_dir/环境差异性分析.docx and b/media/R25138/output_dir/环境差异性分析.docx differ diff --git a/media/R25138/output_dir/研制总要求追踪表.docx b/media/R25138/output_dir/研制总要求追踪表.docx index e21871b..63654a9 100644 Binary files a/media/R25138/output_dir/研制总要求追踪表.docx and b/media/R25138/output_dir/研制总要求追踪表.docx differ diff --git a/media/R25138/output_dir/缩略语.docx b/media/R25138/output_dir/缩略语.docx index 349478d..b06e683 100644 Binary files a/media/R25138/output_dir/缩略语.docx and b/media/R25138/output_dir/缩略语.docx differ diff --git a/media/R25138/output_dir/联系人和方式.docx b/media/R25138/output_dir/联系人和方式.docx index b544630..6e333ad 100644 Binary files a/media/R25138/output_dir/联系人和方式.docx and b/media/R25138/output_dir/联系人和方式.docx differ diff --git a/media/R25138/output_dir/被测软件基本信息.docx b/media/R25138/output_dir/被测软件基本信息.docx index 01c796a..f602081 100644 Binary files a/media/R25138/output_dir/被测软件基本信息.docx and b/media/R25138/output_dir/被测软件基本信息.docx differ diff --git a/media/R25138/output_dir/被测软件接口.docx b/media/R25138/output_dir/被测软件接口.docx index 5f794d0..18f6f9e 100644 Binary files a/media/R25138/output_dir/被测软件接口.docx and b/media/R25138/output_dir/被测软件接口.docx differ diff --git a/media/R25138/output_dir/需求规格说明追踪表.docx b/media/R25138/output_dir/需求规格说明追踪表.docx index ea2947c..07d8385 100644 Binary files a/media/R25138/output_dir/需求规格说明追踪表.docx and b/media/R25138/output_dir/需求规格说明追踪表.docx differ diff --git a/media/R25138/output_dir/静态测试环境说明.docx b/media/R25138/output_dir/静态测试环境说明.docx index 775953c..47e0968 100644 Binary files a/media/R25138/output_dir/静态测试环境说明.docx and b/media/R25138/output_dir/静态测试环境说明.docx differ diff --git a/media/R25138/output_dir/静态硬件和固件项.docx b/media/R25138/output_dir/静态硬件和固件项.docx index 2686f2d..0fff295 100644 Binary files a/media/R25138/output_dir/静态硬件和固件项.docx and b/media/R25138/output_dir/静态硬件和固件项.docx differ diff --git a/media/R25138/output_dir/静态软件项.docx b/media/R25138/output_dir/静态软件项.docx index 21c5526..ce6f38f 100644 Binary files a/media/R25138/output_dir/静态软件项.docx and b/media/R25138/output_dir/静态软件项.docx differ diff --git a/media/R25138/output_dir/顶层技术文件.docx b/media/R25138/output_dir/顶层技术文件.docx index 465cbae..6553560 100644 Binary files a/media/R25138/output_dir/顶层技术文件.docx and b/media/R25138/output_dir/顶层技术文件.docx differ diff --git a/media/R25138/temp/测评大纲.docx b/media/R25138/temp/测评大纲.docx index 17d6388..d8bd290 100644 Binary files a/media/R25138/temp/测评大纲.docx and b/media/R25138/temp/测评大纲.docx differ diff --git a/media/R25999/final_seitai/测评大纲.docx b/media/R25999/final_seitai/测评大纲.docx new file mode 100644 index 0000000..efa942c Binary files /dev/null and b/media/R25999/final_seitai/测评大纲.docx differ diff --git a/media/R25999/final_seitai/测评报告.docx b/media/R25999/final_seitai/测评报告.docx new file mode 100644 index 0000000..8efe642 Binary files /dev/null and b/media/R25999/final_seitai/测评报告.docx differ diff --git a/media/R25999/final_seitai/测试记录.docx b/media/R25999/final_seitai/测试记录.docx new file mode 100644 index 0000000..5e77d17 Binary files /dev/null and b/media/R25999/final_seitai/测试记录.docx differ diff --git a/media/R25999/final_seitai/测试说明.docx b/media/R25999/final_seitai/测试说明.docx new file mode 100644 index 0000000..007dbaf Binary files /dev/null and b/media/R25999/final_seitai/测试说明.docx differ diff --git a/media/R25999/final_seitai/第二轮回归测试说明.docx b/media/R25999/final_seitai/第二轮回归测试说明.docx new file mode 100644 index 0000000..d4c1b26 Binary files /dev/null and b/media/R25999/final_seitai/第二轮回归测试说明.docx differ diff --git a/media/R25999/final_seitai/问题单.docx b/media/R25999/final_seitai/问题单.docx new file mode 100644 index 0000000..81b76b6 Binary files /dev/null and b/media/R25999/final_seitai/问题单.docx differ diff --git a/media/R25999/form_template/bg/temporary/研总需归追踪_temp.docx b/media/R25999/form_template/bg/temporary/研总需归追踪_temp.docx new file mode 100644 index 0000000..186f7ed Binary files /dev/null and b/media/R25999/form_template/bg/temporary/研总需归追踪_temp.docx differ diff --git a/media/R25999/form_template/bg/总体结论.docx b/media/R25999/form_template/bg/总体结论.docx new file mode 100644 index 0000000..0e8e52a Binary files /dev/null and b/media/R25999/form_template/bg/总体结论.docx differ diff --git a/media/R25999/form_template/bg/技术依据文件.docx b/media/R25999/form_template/bg/技术依据文件.docx new file mode 100644 index 0000000..a04e4ba Binary files /dev/null and b/media/R25999/form_template/bg/技术依据文件.docx differ diff --git a/media/R25999/form_template/bg/摸底清单.docx b/media/R25999/form_template/bg/摸底清单.docx new file mode 100644 index 0000000..910f097 Binary files /dev/null and b/media/R25999/form_template/bg/摸底清单.docx differ diff --git a/media/R25999/form_template/bg/测评完成情况.docx b/media/R25999/form_template/bg/测评完成情况.docx new file mode 100644 index 0000000..c996bf7 Binary files /dev/null and b/media/R25999/form_template/bg/测评完成情况.docx differ diff --git a/media/R25999/form_template/bg/测评时间和地点.docx b/media/R25999/form_template/bg/测评时间和地点.docx new file mode 100644 index 0000000..18ab5bb Binary files /dev/null and b/media/R25999/form_template/bg/测评时间和地点.docx differ diff --git a/media/R25999/form_template/bg/测试内容和结果_第一轮次.docx b/media/R25999/form_template/bg/测试内容和结果_第一轮次.docx new file mode 100644 index 0000000..18e9f80 Binary files /dev/null and b/media/R25999/form_template/bg/测试内容和结果_第一轮次.docx differ diff --git a/media/R25999/form_template/bg/测试内容和结果_第二轮次.docx b/media/R25999/form_template/bg/测试内容和结果_第二轮次.docx new file mode 100644 index 0000000..951a26e Binary files /dev/null and b/media/R25999/form_template/bg/测试内容和结果_第二轮次.docx differ diff --git a/media/R25999/form_template/bg/测试有效性充分性说明.docx b/media/R25999/form_template/bg/测试有效性充分性说明.docx new file mode 100644 index 0000000..020a48d Binary files /dev/null and b/media/R25999/form_template/bg/测试有效性充分性说明.docx differ diff --git a/media/R25999/form_template/bg/研总需归追踪.docx b/media/R25999/form_template/bg/研总需归追踪.docx new file mode 100644 index 0000000..051f263 Binary files /dev/null and b/media/R25999/form_template/bg/研总需归追踪.docx differ diff --git a/media/R25999/form_template/bg/综述.docx b/media/R25999/form_template/bg/综述.docx new file mode 100644 index 0000000..afdb36a Binary files /dev/null and b/media/R25999/form_template/bg/综述.docx differ diff --git a/media/R25999/form_template/bg/被测软件基本信息.docx b/media/R25999/form_template/bg/被测软件基本信息.docx new file mode 100644 index 0000000..7dc9a6a Binary files /dev/null and b/media/R25999/form_template/bg/被测软件基本信息.docx differ diff --git a/media/R25999/form_template/bg/软件质量评价.docx b/media/R25999/form_template/bg/软件质量评价.docx new file mode 100644 index 0000000..605e42b Binary files /dev/null and b/media/R25999/form_template/bg/软件质量评价.docx differ diff --git a/media/R25999/form_template/bg/软件问题统计.docx b/media/R25999/form_template/bg/软件问题统计.docx new file mode 100644 index 0000000..cb0a4bb Binary files /dev/null and b/media/R25999/form_template/bg/软件问题统计.docx differ diff --git a/media/R25999/form_template/bg/问题汇总表.docx b/media/R25999/form_template/bg/问题汇总表.docx new file mode 100644 index 0000000..3af92f6 Binary files /dev/null and b/media/R25999/form_template/bg/问题汇总表.docx differ diff --git a/media/R25999/form_template/bg/需求指标符合性情况.docx b/media/R25999/form_template/bg/需求指标符合性情况.docx new file mode 100644 index 0000000..91ec078 Binary files /dev/null and b/media/R25999/form_template/bg/需求指标符合性情况.docx differ diff --git a/media/R25999/form_template/dg/主要功能和性能指标.docx b/media/R25999/form_template/dg/主要功能和性能指标.docx new file mode 100644 index 0000000..b6df75e Binary files /dev/null and b/media/R25999/form_template/dg/主要功能和性能指标.docx differ diff --git a/media/R25999/form_template/dg/主要战技指标.docx b/media/R25999/form_template/dg/主要战技指标.docx new file mode 100644 index 0000000..26d6665 Binary files /dev/null and b/media/R25999/form_template/dg/主要战技指标.docx differ diff --git a/media/R25999/form_template/dg/代码质量度量分析表.docx b/media/R25999/form_template/dg/代码质量度量分析表.docx new file mode 100644 index 0000000..cd23618 Binary files /dev/null and b/media/R25999/form_template/dg/代码质量度量分析表.docx differ diff --git a/media/R25999/form_template/dg/动态测试环境说明.docx b/media/R25999/form_template/dg/动态测试环境说明.docx new file mode 100644 index 0000000..6eef1eb Binary files /dev/null and b/media/R25999/form_template/dg/动态测试环境说明.docx differ diff --git a/media/R25999/form_template/dg/动态硬件和固件项.docx b/media/R25999/form_template/dg/动态硬件和固件项.docx new file mode 100644 index 0000000..268c1f7 Binary files /dev/null and b/media/R25999/form_template/dg/动态硬件和固件项.docx differ diff --git a/media/R25999/form_template/dg/动态软件项.docx b/media/R25999/form_template/dg/动态软件项.docx new file mode 100644 index 0000000..190492f Binary files /dev/null and b/media/R25999/form_template/dg/动态软件项.docx differ diff --git a/media/R25999/form_template/dg/反向需求规格追踪表.docx b/media/R25999/form_template/dg/反向需求规格追踪表.docx new file mode 100644 index 0000000..acfa8c3 Binary files /dev/null and b/media/R25999/form_template/dg/反向需求规格追踪表.docx differ diff --git a/media/R25999/form_template/dg/技术依据文件.docx b/media/R25999/form_template/dg/技术依据文件.docx new file mode 100644 index 0000000..c6c2284 Binary files /dev/null and b/media/R25999/form_template/dg/技术依据文件.docx differ diff --git a/media/R25999/form_template/dg/标准依据文件.docx b/media/R25999/form_template/dg/标准依据文件.docx new file mode 100644 index 0000000..a2762d0 Binary files /dev/null and b/media/R25999/form_template/dg/标准依据文件.docx differ diff --git a/media/R25999/form_template/dg/测评对象.docx b/media/R25999/form_template/dg/测评对象.docx new file mode 100644 index 0000000..56f9764 Binary files /dev/null and b/media/R25999/form_template/dg/测评对象.docx differ diff --git a/media/R25999/form_template/dg/测评数据.docx b/media/R25999/form_template/dg/测评数据.docx new file mode 100644 index 0000000..bf7f29b Binary files /dev/null and b/media/R25999/form_template/dg/测评数据.docx differ diff --git a/media/R25999/form_template/dg/测评时间和地点.docx b/media/R25999/form_template/dg/测评时间和地点.docx new file mode 100644 index 0000000..4e397ce Binary files /dev/null and b/media/R25999/form_template/dg/测评时间和地点.docx differ diff --git a/media/R25999/form_template/dg/测评条件保障.docx b/media/R25999/form_template/dg/测评条件保障.docx new file mode 100644 index 0000000..4a9ed25 Binary files /dev/null and b/media/R25999/form_template/dg/测评条件保障.docx differ diff --git a/media/R25999/form_template/dg/测评组织及任务分工.docx b/media/R25999/form_template/dg/测评组织及任务分工.docx new file mode 100644 index 0000000..4340f53 Binary files /dev/null and b/media/R25999/form_template/dg/测评组织及任务分工.docx differ diff --git a/media/R25999/form_template/dg/测试内容充分性及测试方法有效性分析.docx b/media/R25999/form_template/dg/测试内容充分性及测试方法有效性分析.docx new file mode 100644 index 0000000..c05d6af Binary files /dev/null and b/media/R25999/form_template/dg/测试内容充分性及测试方法有效性分析.docx differ diff --git a/media/R25999/form_template/dg/测试策略.docx b/media/R25999/form_template/dg/测试策略.docx new file mode 100644 index 0000000..f698332 Binary files /dev/null and b/media/R25999/form_template/dg/测试策略.docx differ diff --git a/media/R25999/form_template/dg/测试级别和测试类型.docx b/media/R25999/form_template/dg/测试级别和测试类型.docx new file mode 100644 index 0000000..ed7b513 Binary files /dev/null and b/media/R25999/form_template/dg/测试级别和测试类型.docx differ diff --git a/media/R25999/form_template/dg/测试项及方法.docx b/media/R25999/form_template/dg/测试项及方法.docx new file mode 100644 index 0000000..2d814f2 Binary files /dev/null and b/media/R25999/form_template/dg/测试项及方法.docx differ diff --git a/media/R25999/form_template/dg/环境差异性分析.docx b/media/R25999/form_template/dg/环境差异性分析.docx new file mode 100644 index 0000000..02b21e6 Binary files /dev/null and b/media/R25999/form_template/dg/环境差异性分析.docx differ diff --git a/media/R25999/form_template/dg/研制总要求追踪表.docx b/media/R25999/form_template/dg/研制总要求追踪表.docx new file mode 100644 index 0000000..7ca3674 Binary files /dev/null and b/media/R25999/form_template/dg/研制总要求追踪表.docx differ diff --git a/media/R25999/form_template/dg/缩略语.docx b/media/R25999/form_template/dg/缩略语.docx new file mode 100644 index 0000000..09b549f Binary files /dev/null and b/media/R25999/form_template/dg/缩略语.docx differ diff --git a/media/R25999/form_template/dg/联系人和方式.docx b/media/R25999/form_template/dg/联系人和方式.docx new file mode 100644 index 0000000..9ab57cd Binary files /dev/null and b/media/R25999/form_template/dg/联系人和方式.docx differ diff --git a/media/R25999/form_template/dg/被测软件功能.docx b/media/R25999/form_template/dg/被测软件功能.docx new file mode 100644 index 0000000..578aeec Binary files /dev/null and b/media/R25999/form_template/dg/被测软件功能.docx differ diff --git a/media/R25999/form_template/dg/被测软件基本信息.docx b/media/R25999/form_template/dg/被测软件基本信息.docx new file mode 100644 index 0000000..f7cbc5f Binary files /dev/null and b/media/R25999/form_template/dg/被测软件基本信息.docx differ diff --git a/media/R25999/form_template/dg/被测软件性能.docx b/media/R25999/form_template/dg/被测软件性能.docx new file mode 100644 index 0000000..d8c18aa Binary files /dev/null and b/media/R25999/form_template/dg/被测软件性能.docx differ diff --git a/media/R25999/form_template/dg/被测软件接口.docx b/media/R25999/form_template/dg/被测软件接口.docx new file mode 100644 index 0000000..9529c67 Binary files /dev/null and b/media/R25999/form_template/dg/被测软件接口.docx differ diff --git a/media/R25999/form_template/dg/需求规格说明追踪表.docx b/media/R25999/form_template/dg/需求规格说明追踪表.docx new file mode 100644 index 0000000..192b96e Binary files /dev/null and b/media/R25999/form_template/dg/需求规格说明追踪表.docx differ diff --git a/media/R25999/form_template/dg/静态测试环境说明.docx b/media/R25999/form_template/dg/静态测试环境说明.docx new file mode 100644 index 0000000..8074344 Binary files /dev/null and b/media/R25999/form_template/dg/静态测试环境说明.docx differ diff --git a/media/R25999/form_template/dg/静态硬件和固件项.docx b/media/R25999/form_template/dg/静态硬件和固件项.docx new file mode 100644 index 0000000..85fdffe Binary files /dev/null and b/media/R25999/form_template/dg/静态硬件和固件项.docx differ diff --git a/media/R25999/form_template/dg/静态软件项.docx b/media/R25999/form_template/dg/静态软件项.docx new file mode 100644 index 0000000..dc64c0e Binary files /dev/null and b/media/R25999/form_template/dg/静态软件项.docx differ diff --git a/media/R25999/form_template/dg/顶层技术文件.docx b/media/R25999/form_template/dg/顶层技术文件.docx new file mode 100644 index 0000000..1442924 Binary files /dev/null and b/media/R25999/form_template/dg/顶层技术文件.docx differ diff --git a/media/R25999/form_template/hjl/测试用例记录.docx b/media/R25999/form_template/hjl/测试用例记录.docx new file mode 100644 index 0000000..0e1009b Binary files /dev/null and b/media/R25999/form_template/hjl/测试用例记录.docx differ diff --git a/media/R25999/form_template/hjl/被测软件基本信息.docx b/media/R25999/form_template/hjl/被测软件基本信息.docx new file mode 100644 index 0000000..6ddc8d8 Binary files /dev/null and b/media/R25999/form_template/hjl/被测软件基本信息.docx differ diff --git a/media/R25999/form_template/hsm/temporary/第三轮用例追踪_temp.docx b/media/R25999/form_template/hsm/temporary/第三轮用例追踪_temp.docx new file mode 100644 index 0000000..2f25e93 Binary files /dev/null and b/media/R25999/form_template/hsm/temporary/第三轮用例追踪_temp.docx differ diff --git a/media/R25999/form_template/hsm/temporary/第二轮用例追踪_temp.docx b/media/R25999/form_template/hsm/temporary/第二轮用例追踪_temp.docx new file mode 100644 index 0000000..02261c9 Binary files /dev/null and b/media/R25999/form_template/hsm/temporary/第二轮用例追踪_temp.docx differ diff --git a/media/R25999/form_template/hsm/回归测试用例概述.docx b/media/R25999/form_template/hsm/回归测试用例概述.docx new file mode 100644 index 0000000..4439f7a Binary files /dev/null and b/media/R25999/form_template/hsm/回归测试用例概述.docx differ diff --git a/media/R25999/form_template/hsm/回归测试需求.docx b/media/R25999/form_template/hsm/回归测试需求.docx new file mode 100644 index 0000000..b99716b Binary files /dev/null and b/media/R25999/form_template/hsm/回归测试需求.docx differ diff --git a/media/R25999/form_template/hsm/技术依据文件.docx b/media/R25999/form_template/hsm/技术依据文件.docx new file mode 100644 index 0000000..19e32c5 Binary files /dev/null and b/media/R25999/form_template/hsm/技术依据文件.docx differ diff --git a/media/R25999/form_template/hsm/文档概述.docx b/media/R25999/form_template/hsm/文档概述.docx new file mode 100644 index 0000000..3c2ca5d Binary files /dev/null and b/media/R25999/form_template/hsm/文档概述.docx differ diff --git a/media/R25999/form_template/hsm/测试用例.docx b/media/R25999/form_template/hsm/测试用例.docx new file mode 100644 index 0000000..6988be8 Binary files /dev/null and b/media/R25999/form_template/hsm/测试用例.docx differ diff --git a/media/R25999/form_template/hsm/用例追踪.docx b/media/R25999/form_template/hsm/用例追踪.docx new file mode 100644 index 0000000..293e7be Binary files /dev/null and b/media/R25999/form_template/hsm/用例追踪.docx differ diff --git a/media/R25999/form_template/hsm/被测软件基本信息.docx b/media/R25999/form_template/hsm/被测软件基本信息.docx new file mode 100644 index 0000000..08bb234 Binary files /dev/null and b/media/R25999/form_template/hsm/被测软件基本信息.docx differ diff --git a/media/R25999/form_template/hsm/软件更改部分.docx b/media/R25999/form_template/hsm/软件更改部分.docx new file mode 100644 index 0000000..dad9c64 Binary files /dev/null and b/media/R25999/form_template/hsm/软件更改部分.docx differ diff --git a/media/R25999/form_template/jl/测试用例记录.docx b/media/R25999/form_template/jl/测试用例记录.docx new file mode 100644 index 0000000..ffd0632 Binary files /dev/null and b/media/R25999/form_template/jl/测试用例记录.docx differ diff --git a/media/R25999/form_template/products/回归测试记录.docx b/media/R25999/form_template/products/回归测试记录.docx new file mode 100644 index 0000000..65d4486 Binary files /dev/null and b/media/R25999/form_template/products/回归测试记录.docx differ diff --git a/media/R25999/form_template/products/回归测试说明.docx b/media/R25999/form_template/products/回归测试说明.docx new file mode 100644 index 0000000..75ec53c Binary files /dev/null and b/media/R25999/form_template/products/回归测试说明.docx differ diff --git a/media/R25999/form_template/products/测评大纲.docx b/media/R25999/form_template/products/测评大纲.docx new file mode 100644 index 0000000..3b7e8e6 Binary files /dev/null and b/media/R25999/form_template/products/测评大纲.docx differ diff --git a/media/R25999/form_template/products/测评报告.docx b/media/R25999/form_template/products/测评报告.docx new file mode 100644 index 0000000..d527a5f Binary files /dev/null and b/media/R25999/form_template/products/测评报告.docx differ diff --git a/media/R25999/form_template/products/测试记录.docx b/media/R25999/form_template/products/测试记录.docx new file mode 100644 index 0000000..0bb93ad Binary files /dev/null and b/media/R25999/form_template/products/测试记录.docx differ diff --git a/media/R25999/form_template/products/测试说明.docx b/media/R25999/form_template/products/测试说明.docx new file mode 100644 index 0000000..4552bf5 Binary files /dev/null and b/media/R25999/form_template/products/测试说明.docx differ diff --git a/media/R25999/form_template/products/问题单.docx b/media/R25999/form_template/products/问题单.docx new file mode 100644 index 0000000..f8beeda Binary files /dev/null and b/media/R25999/form_template/products/问题单.docx differ diff --git a/media/R25999/form_template/sm/temporary/说明追踪_temp.docx b/media/R25999/form_template/sm/temporary/说明追踪_temp.docx new file mode 100644 index 0000000..56cf2c1 Binary files /dev/null and b/media/R25999/form_template/sm/temporary/说明追踪_temp.docx differ diff --git a/media/R25999/form_template/sm/技术依据文件.docx b/media/R25999/form_template/sm/技术依据文件.docx new file mode 100644 index 0000000..1bc11ce Binary files /dev/null and b/media/R25999/form_template/sm/技术依据文件.docx differ diff --git a/media/R25999/form_template/sm/测试用例.docx b/media/R25999/form_template/sm/测试用例.docx new file mode 100644 index 0000000..20c5115 Binary files /dev/null and b/media/R25999/form_template/sm/测试用例.docx differ diff --git a/media/R25999/form_template/sm/用例说明.docx b/media/R25999/form_template/sm/用例说明.docx new file mode 100644 index 0000000..abfbdd5 Binary files /dev/null and b/media/R25999/form_template/sm/用例说明.docx differ diff --git a/media/R25999/form_template/sm/说明追踪.docx b/media/R25999/form_template/sm/说明追踪.docx new file mode 100644 index 0000000..f902712 Binary files /dev/null and b/media/R25999/form_template/sm/说明追踪.docx differ diff --git a/media/R25999/form_template/wtd/问题详情表.docx b/media/R25999/form_template/wtd/问题详情表.docx new file mode 100644 index 0000000..d9d3369 Binary files /dev/null and b/media/R25999/form_template/wtd/问题详情表.docx differ diff --git a/media/R25999/output_dir/bg/总体结论.docx b/media/R25999/output_dir/bg/总体结论.docx new file mode 100644 index 0000000..2c236aa Binary files /dev/null and b/media/R25999/output_dir/bg/总体结论.docx differ diff --git a/media/R25999/output_dir/bg/技术依据文件.docx b/media/R25999/output_dir/bg/技术依据文件.docx new file mode 100644 index 0000000..6661f15 Binary files /dev/null and b/media/R25999/output_dir/bg/技术依据文件.docx differ diff --git a/media/R25999/output_dir/bg/摸底清单.docx b/media/R25999/output_dir/bg/摸底清单.docx new file mode 100644 index 0000000..5d31e4d Binary files /dev/null and b/media/R25999/output_dir/bg/摸底清单.docx differ diff --git a/media/R25999/output_dir/bg/测评完成情况.docx b/media/R25999/output_dir/bg/测评完成情况.docx new file mode 100644 index 0000000..0f3d36a Binary files /dev/null and b/media/R25999/output_dir/bg/测评完成情况.docx differ diff --git a/media/R25999/output_dir/bg/测评时间和地点.docx b/media/R25999/output_dir/bg/测评时间和地点.docx new file mode 100644 index 0000000..4fd1e37 Binary files /dev/null and b/media/R25999/output_dir/bg/测评时间和地点.docx differ diff --git a/media/R25999/output_dir/bg/测试内容和结果_第一轮次.docx b/media/R25999/output_dir/bg/测试内容和结果_第一轮次.docx new file mode 100644 index 0000000..5ffdbd6 Binary files /dev/null and b/media/R25999/output_dir/bg/测试内容和结果_第一轮次.docx differ diff --git a/media/R25999/output_dir/bg/测试内容和结果_第二轮次.docx b/media/R25999/output_dir/bg/测试内容和结果_第二轮次.docx new file mode 100644 index 0000000..495992f Binary files /dev/null and b/media/R25999/output_dir/bg/测试内容和结果_第二轮次.docx differ diff --git a/media/R25999/output_dir/bg/测试有效性充分性说明.docx b/media/R25999/output_dir/bg/测试有效性充分性说明.docx new file mode 100644 index 0000000..b1d9447 Binary files /dev/null and b/media/R25999/output_dir/bg/测试有效性充分性说明.docx differ diff --git a/media/R25999/output_dir/bg/研总需归追踪.docx b/media/R25999/output_dir/bg/研总需归追踪.docx new file mode 100644 index 0000000..71040bb Binary files /dev/null and b/media/R25999/output_dir/bg/研总需归追踪.docx differ diff --git a/media/R25999/output_dir/bg/综述.docx b/media/R25999/output_dir/bg/综述.docx new file mode 100644 index 0000000..f9044bf Binary files /dev/null and b/media/R25999/output_dir/bg/综述.docx differ diff --git a/media/R25999/output_dir/bg/被测软件基本信息.docx b/media/R25999/output_dir/bg/被测软件基本信息.docx new file mode 100644 index 0000000..0e309b1 Binary files /dev/null and b/media/R25999/output_dir/bg/被测软件基本信息.docx differ diff --git a/media/R25999/output_dir/bg/软件质量评价.docx b/media/R25999/output_dir/bg/软件质量评价.docx new file mode 100644 index 0000000..9c2e0ec Binary files /dev/null and b/media/R25999/output_dir/bg/软件质量评价.docx differ diff --git a/media/R25999/output_dir/bg/软件问题统计.docx b/media/R25999/output_dir/bg/软件问题统计.docx new file mode 100644 index 0000000..2759409 Binary files /dev/null and b/media/R25999/output_dir/bg/软件问题统计.docx differ diff --git a/media/R25999/output_dir/bg/问题汇总表.docx b/media/R25999/output_dir/bg/问题汇总表.docx new file mode 100644 index 0000000..6af70f0 Binary files /dev/null and b/media/R25999/output_dir/bg/问题汇总表.docx differ diff --git a/media/R25999/output_dir/bg/需求指标符合性情况.docx b/media/R25999/output_dir/bg/需求指标符合性情况.docx new file mode 100644 index 0000000..686c399 Binary files /dev/null and b/media/R25999/output_dir/bg/需求指标符合性情况.docx differ diff --git a/media/R25999/output_dir/hsm/第二轮回归测试用例概述.docx b/media/R25999/output_dir/hsm/第二轮回归测试用例概述.docx new file mode 100644 index 0000000..f17c5c9 Binary files /dev/null and b/media/R25999/output_dir/hsm/第二轮回归测试用例概述.docx differ diff --git a/media/R25999/output_dir/hsm/第二轮回归测试需求.docx b/media/R25999/output_dir/hsm/第二轮回归测试需求.docx new file mode 100644 index 0000000..c7a6216 Binary files /dev/null and b/media/R25999/output_dir/hsm/第二轮回归测试需求.docx differ diff --git a/media/R25999/output_dir/hsm/第二轮技术依据文件.docx b/media/R25999/output_dir/hsm/第二轮技术依据文件.docx new file mode 100644 index 0000000..08d74cd Binary files /dev/null and b/media/R25999/output_dir/hsm/第二轮技术依据文件.docx differ diff --git a/media/R25999/output_dir/hsm/第二轮文档概述.docx b/media/R25999/output_dir/hsm/第二轮文档概述.docx new file mode 100644 index 0000000..8247146 Binary files /dev/null and b/media/R25999/output_dir/hsm/第二轮文档概述.docx differ diff --git a/media/R25999/output_dir/hsm/第二轮测试用例.docx b/media/R25999/output_dir/hsm/第二轮测试用例.docx new file mode 100644 index 0000000..570baa4 Binary files /dev/null and b/media/R25999/output_dir/hsm/第二轮测试用例.docx differ diff --git a/media/R25999/output_dir/hsm/第二轮用例追踪.docx b/media/R25999/output_dir/hsm/第二轮用例追踪.docx new file mode 100644 index 0000000..298bb09 Binary files /dev/null and b/media/R25999/output_dir/hsm/第二轮用例追踪.docx differ diff --git a/media/R25999/output_dir/hsm/第二轮被测软件基本信息.docx b/media/R25999/output_dir/hsm/第二轮被测软件基本信息.docx new file mode 100644 index 0000000..64b0b20 Binary files /dev/null and b/media/R25999/output_dir/hsm/第二轮被测软件基本信息.docx differ diff --git a/media/R25999/output_dir/hsm/第二轮软件更改部分.docx b/media/R25999/output_dir/hsm/第二轮软件更改部分.docx new file mode 100644 index 0000000..5c6f12e Binary files /dev/null and b/media/R25999/output_dir/hsm/第二轮软件更改部分.docx differ diff --git a/media/R25999/output_dir/jl/测试用例记录.docx b/media/R25999/output_dir/jl/测试用例记录.docx new file mode 100644 index 0000000..8c0d429 Binary files /dev/null and b/media/R25999/output_dir/jl/测试用例记录.docx differ diff --git a/media/R25999/output_dir/sm/技术依据文件.docx b/media/R25999/output_dir/sm/技术依据文件.docx new file mode 100644 index 0000000..6454bed Binary files /dev/null and b/media/R25999/output_dir/sm/技术依据文件.docx differ diff --git a/media/R25999/output_dir/sm/测试用例.docx b/media/R25999/output_dir/sm/测试用例.docx new file mode 100644 index 0000000..e035706 Binary files /dev/null and b/media/R25999/output_dir/sm/测试用例.docx differ diff --git a/media/R25999/output_dir/sm/用例说明.docx b/media/R25999/output_dir/sm/用例说明.docx new file mode 100644 index 0000000..bd8e16a Binary files /dev/null and b/media/R25999/output_dir/sm/用例说明.docx differ diff --git a/media/R25999/output_dir/sm/说明追踪.docx b/media/R25999/output_dir/sm/说明追踪.docx new file mode 100644 index 0000000..fe86516 Binary files /dev/null and b/media/R25999/output_dir/sm/说明追踪.docx differ diff --git a/media/R25999/output_dir/wtd/问题详情表.docx b/media/R25999/output_dir/wtd/问题详情表.docx new file mode 100644 index 0000000..16aee18 Binary files /dev/null and b/media/R25999/output_dir/wtd/问题详情表.docx differ diff --git a/media/R25999/output_dir/主要功能和性能指标.docx b/media/R25999/output_dir/主要功能和性能指标.docx new file mode 100644 index 0000000..1d78202 Binary files /dev/null and b/media/R25999/output_dir/主要功能和性能指标.docx differ diff --git a/media/R25999/output_dir/代码质量度量分析表.docx b/media/R25999/output_dir/代码质量度量分析表.docx new file mode 100644 index 0000000..9969f1f Binary files /dev/null and b/media/R25999/output_dir/代码质量度量分析表.docx differ diff --git a/media/R25999/output_dir/动态测试环境说明.docx b/media/R25999/output_dir/动态测试环境说明.docx new file mode 100644 index 0000000..5097ede Binary files /dev/null and b/media/R25999/output_dir/动态测试环境说明.docx differ diff --git a/media/R25999/output_dir/动态硬件和固件项.docx b/media/R25999/output_dir/动态硬件和固件项.docx new file mode 100644 index 0000000..7cd3daf Binary files /dev/null and b/media/R25999/output_dir/动态硬件和固件项.docx differ diff --git a/media/R25999/output_dir/动态软件项.docx b/media/R25999/output_dir/动态软件项.docx new file mode 100644 index 0000000..7fbcd04 Binary files /dev/null and b/media/R25999/output_dir/动态软件项.docx differ diff --git a/media/R25999/output_dir/反向需求规格追踪表.docx b/media/R25999/output_dir/反向需求规格追踪表.docx new file mode 100644 index 0000000..be8db08 Binary files /dev/null and b/media/R25999/output_dir/反向需求规格追踪表.docx differ diff --git a/media/R25999/output_dir/技术依据文件.docx b/media/R25999/output_dir/技术依据文件.docx new file mode 100644 index 0000000..1194525 Binary files /dev/null and b/media/R25999/output_dir/技术依据文件.docx differ diff --git a/media/R25999/output_dir/标准依据文件.docx b/media/R25999/output_dir/标准依据文件.docx new file mode 100644 index 0000000..3d721d1 Binary files /dev/null and b/media/R25999/output_dir/标准依据文件.docx differ diff --git a/media/R25999/output_dir/测评对象.docx b/media/R25999/output_dir/测评对象.docx new file mode 100644 index 0000000..cf4977c Binary files /dev/null and b/media/R25999/output_dir/测评对象.docx differ diff --git a/media/R25999/output_dir/测评数据.docx b/media/R25999/output_dir/测评数据.docx new file mode 100644 index 0000000..8a31afb Binary files /dev/null and b/media/R25999/output_dir/测评数据.docx differ diff --git a/media/R25999/output_dir/测评时间和地点.docx b/media/R25999/output_dir/测评时间和地点.docx new file mode 100644 index 0000000..5cec2ec Binary files /dev/null and b/media/R25999/output_dir/测评时间和地点.docx differ diff --git a/media/R25999/output_dir/测评条件保障.docx b/media/R25999/output_dir/测评条件保障.docx new file mode 100644 index 0000000..66fecd0 Binary files /dev/null and b/media/R25999/output_dir/测评条件保障.docx differ diff --git a/media/R25999/output_dir/测评组织及任务分工.docx b/media/R25999/output_dir/测评组织及任务分工.docx new file mode 100644 index 0000000..772f02a Binary files /dev/null and b/media/R25999/output_dir/测评组织及任务分工.docx differ diff --git a/media/R25999/output_dir/测试内容充分性及测试方法有效性分析.docx b/media/R25999/output_dir/测试内容充分性及测试方法有效性分析.docx new file mode 100644 index 0000000..898d128 Binary files /dev/null and b/media/R25999/output_dir/测试内容充分性及测试方法有效性分析.docx differ diff --git a/media/R25999/output_dir/测试策略.docx b/media/R25999/output_dir/测试策略.docx new file mode 100644 index 0000000..02a7f6a Binary files /dev/null and b/media/R25999/output_dir/测试策略.docx differ diff --git a/media/R25999/output_dir/测试级别和测试类型.docx b/media/R25999/output_dir/测试级别和测试类型.docx new file mode 100644 index 0000000..9b13aa1 Binary files /dev/null and b/media/R25999/output_dir/测试级别和测试类型.docx differ diff --git a/media/R25999/output_dir/测试项及方法.docx b/media/R25999/output_dir/测试项及方法.docx new file mode 100644 index 0000000..8aa281e Binary files /dev/null and b/media/R25999/output_dir/测试项及方法.docx differ diff --git a/media/R25999/output_dir/环境差异性分析.docx b/media/R25999/output_dir/环境差异性分析.docx new file mode 100644 index 0000000..1ee47ca Binary files /dev/null and b/media/R25999/output_dir/环境差异性分析.docx differ diff --git a/media/R25999/output_dir/研制总要求追踪表.docx b/media/R25999/output_dir/研制总要求追踪表.docx new file mode 100644 index 0000000..6bb60b1 Binary files /dev/null and b/media/R25999/output_dir/研制总要求追踪表.docx differ diff --git a/media/R25999/output_dir/缩略语.docx b/media/R25999/output_dir/缩略语.docx new file mode 100644 index 0000000..3b071a5 Binary files /dev/null and b/media/R25999/output_dir/缩略语.docx differ diff --git a/media/R25999/output_dir/联系人和方式.docx b/media/R25999/output_dir/联系人和方式.docx new file mode 100644 index 0000000..4c8e0ac Binary files /dev/null and b/media/R25999/output_dir/联系人和方式.docx differ diff --git a/media/R25999/output_dir/被测软件基本信息.docx b/media/R25999/output_dir/被测软件基本信息.docx new file mode 100644 index 0000000..93f660b Binary files /dev/null and b/media/R25999/output_dir/被测软件基本信息.docx differ diff --git a/media/R25999/output_dir/被测软件接口.docx b/media/R25999/output_dir/被测软件接口.docx new file mode 100644 index 0000000..9d760b1 Binary files /dev/null and b/media/R25999/output_dir/被测软件接口.docx differ diff --git a/media/R25999/output_dir/需求规格说明追踪表.docx b/media/R25999/output_dir/需求规格说明追踪表.docx new file mode 100644 index 0000000..60e9a00 Binary files /dev/null and b/media/R25999/output_dir/需求规格说明追踪表.docx differ diff --git a/media/R25999/output_dir/静态测试环境说明.docx b/media/R25999/output_dir/静态测试环境说明.docx new file mode 100644 index 0000000..c3738b7 Binary files /dev/null and b/media/R25999/output_dir/静态测试环境说明.docx differ diff --git a/media/R25999/output_dir/静态硬件和固件项.docx b/media/R25999/output_dir/静态硬件和固件项.docx new file mode 100644 index 0000000..10c7e5e Binary files /dev/null and b/media/R25999/output_dir/静态硬件和固件项.docx differ diff --git a/media/R25999/output_dir/静态软件项.docx b/media/R25999/output_dir/静态软件项.docx new file mode 100644 index 0000000..159262c Binary files /dev/null and b/media/R25999/output_dir/静态软件项.docx differ diff --git a/media/R25999/output_dir/顶层技术文件.docx b/media/R25999/output_dir/顶层技术文件.docx new file mode 100644 index 0000000..eefdca2 Binary files /dev/null and b/media/R25999/output_dir/顶层技术文件.docx differ diff --git a/media/R25999/reuse/basic_doc.docx b/media/R25999/reuse/basic_doc.docx new file mode 100644 index 0000000..1e42259 Binary files /dev/null and b/media/R25999/reuse/basic_doc.docx differ diff --git a/media/R25999/temp/测评大纲.docx b/media/R25999/temp/测评大纲.docx new file mode 100644 index 0000000..8a605db Binary files /dev/null and b/media/R25999/temp/测评大纲.docx differ diff --git a/media/R25999/temp/测评报告.docx b/media/R25999/temp/测评报告.docx new file mode 100644 index 0000000..a032fa5 Binary files /dev/null and b/media/R25999/temp/测评报告.docx differ diff --git a/media/R25999/temp/测试记录.docx b/media/R25999/temp/测试记录.docx new file mode 100644 index 0000000..642f212 Binary files /dev/null and b/media/R25999/temp/测试记录.docx differ diff --git a/media/R25999/temp/测试说明.docx b/media/R25999/temp/测试说明.docx new file mode 100644 index 0000000..93ee3aa Binary files /dev/null and b/media/R25999/temp/测试说明.docx differ diff --git a/media/R25999/temp/第二轮回归测试说明.docx b/media/R25999/temp/第二轮回归测试说明.docx new file mode 100644 index 0000000..eb3f1aa Binary files /dev/null and b/media/R25999/temp/第二轮回归测试说明.docx differ diff --git a/media/R25999/temp/问题单.docx b/media/R25999/temp/问题单.docx new file mode 100644 index 0000000..2afd603 Binary files /dev/null and b/media/R25999/temp/问题单.docx differ diff --git a/pyproject.toml b/pyproject.toml index 39184af..b327b82 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,28 +3,30 @@ name = "cdtestplant-v1" version = "0.1.0" description = "测试管理平台后端程序" readme = "README.md" -requires-python = ">=3.13" +requires-python = ">=3.13.11" dependencies = [ "beautifulsoup4>=4.14.3", - "django>=6.0", - "django-auth-ldap>=5.2.0", + "django>=6.0.1", + "django-auth-ldap>=5.3.0", "django-environ>=0.12.0", - "django-ninja>=1.5.1", - "django-ninja-extra>=0.30.8", - "django-ninja-jwt>=5.4.2", + "django-ninja>=1.5.3", + "django-ninja-extra>=0.30.9", + "django-ninja-jwt>=5.4.4", "django-redis>=6.0.0", "django-shortuuidfield>=0.1.3", "django-tinymce>=5.0.0", "docxtpl>=0.20.2", - "faker>=39.0.0", - "lizard>=1.19.0", + "faker==40.1.2", + "ipykernel>=7.1.0", + "lizard>=1.20.0", "mysqlclient>=2.2.7", "ninja-schema>=0.14.3", - "numpy>=2.4.0", + "numpy>=2.4.1", "orjson", - "pandas>=2.3.3", + "pandas>=3.0.0", "python-docx>=1.2.0", "python-ldap", + "ua-parser-builtins>=202601", "user-agents>=2.2.0", ] diff --git a/test.ipynb b/test.ipynb new file mode 100644 index 0000000..ce9a1bb --- /dev/null +++ b/test.ipynb @@ -0,0 +1,55 @@ +{ + "cells": [ + { + "cell_type": "code", + "id": "initial_id", + "metadata": { + "collapsed": true, + "ExecuteTime": { + "end_time": "2026-01-28T04:26:42.103401300Z", + "start_time": "2026-01-28T04:26:42.066578300Z" + } + }, + "source": [ + "arr = [1, 2, 3, 4, 5]\n", + "a = 1\n", + "b = 3\n", + "b_index = arr.index(b)\n", + "arr.remove(a)\n", + "arr.insert(b_index - 1, a)\n", + "print(arr)" + ], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[2, 1, 3, 4, 5]\n" + ] + } + ], + "execution_count": 2 + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.6" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/uv.lock b/uv.lock index e07ef67..c624970 100644 --- a/uv.lock +++ b/uv.lock @@ -1,6 +1,14 @@ version = 1 revision = 3 -requires-python = ">=3.13" +requires-python = ">=3.13.11" +resolution-markers = [ + "python_full_version >= '3.14' and sys_platform == 'win32'", + "python_full_version >= '3.14' and sys_platform == 'emscripten'", + "python_full_version >= '3.14' and sys_platform != 'emscripten' and sys_platform != 'win32'", + "python_full_version < '3.14' and sys_platform == 'win32'", + "python_full_version < '3.14' and sys_platform == 'emscripten'", + "python_full_version < '3.14' and sys_platform != 'emscripten' and sys_platform != 'win32'", +] [[package]] name = "annotated-types" @@ -11,6 +19,15 @@ wheels = [ { url = "https://mirrors.aliyun.com/pypi/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53" }, ] +[[package]] +name = "appnope" +version = "0.1.4" +source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/35/5d/752690df9ef5b76e169e68d6a129fa6d08a7100ca7f754c89495db3c6019/appnope-0.1.4.tar.gz", hash = "sha256:1de3860566df9caf38f01f86f65e0e13e379af54f9e4bee1e66b48f2efffd1ee" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/81/29/5ecc3a15d5a33e31b26c11426c45c501e439cb865d0bff96315d86443b78/appnope-0.1.4-py2.py3-none-any.whl", hash = "sha256:502575ee11cd7a28c0205f379b525beefebab9d161b7c964670864014ed7213c" }, +] + [[package]] name = "asgiref" version = "3.11.0" @@ -20,6 +37,15 @@ wheels = [ { url = "https://mirrors.aliyun.com/pypi/packages/91/be/317c2c55b8bbec407257d45f5c8d1b6867abc76d12043f2d3d58c538a4ea/asgiref-3.11.0-py3-none-any.whl", hash = "sha256:1db9021efadb0d9512ce8ffaf72fcef601c7b73a8807a1bb2ef143dc6b14846d" }, ] +[[package]] +name = "asttokens" +version = "3.0.1" +source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/be/a5/8e3f9b6771b0b408517c82d97aed8f2036509bc247d46114925e32fe33f0/asttokens-3.0.1.tar.gz", hash = "sha256:71a4ee5de0bde6a31d64f6b13f2293ac190344478f081c3d1bccfcf5eacb0cb7" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/d2/39/e7eaf1799466a4aef85b6a4fe7bd175ad2b1c6345066aa33f1f58d4b18d0/asttokens-3.0.1-py3-none-any.whl", hash = "sha256:15a3ebc0f43c2d0a50eeafea25e19046c68398e487b9f1f5b517f7c0f40f976a" }, +] + [[package]] name = "beautifulsoup4" version = "4.14.3" @@ -50,6 +76,7 @@ dependencies = [ { name = "django-tinymce" }, { name = "docxtpl" }, { name = "faker" }, + { name = "ipykernel" }, { name = "lizard" }, { name = "mysqlclient" }, { name = "ninja-schema" }, @@ -58,31 +85,34 @@ dependencies = [ { name = "pandas" }, { name = "python-docx" }, { name = "python-ldap" }, + { name = "ua-parser-builtins" }, { name = "user-agents" }, ] [package.metadata] requires-dist = [ { name = "beautifulsoup4", specifier = ">=4.14.3" }, - { name = "django", specifier = ">=6.0" }, - { name = "django-auth-ldap", specifier = ">=5.2.0" }, + { name = "django", specifier = ">=6.0.1" }, + { name = "django-auth-ldap", specifier = ">=5.3.0" }, { name = "django-environ", specifier = ">=0.12.0" }, - { name = "django-ninja", specifier = ">=1.5.1" }, - { name = "django-ninja-extra", specifier = ">=0.30.8" }, - { name = "django-ninja-jwt", specifier = ">=5.4.2" }, + { name = "django-ninja", specifier = ">=1.5.3" }, + { name = "django-ninja-extra", specifier = ">=0.30.9" }, + { name = "django-ninja-jwt", specifier = ">=5.4.4" }, { name = "django-redis", specifier = ">=6.0.0" }, { name = "django-shortuuidfield", specifier = ">=0.1.3" }, { name = "django-tinymce", specifier = ">=5.0.0" }, { name = "docxtpl", specifier = ">=0.20.2" }, - { name = "faker", specifier = ">=39.0.0" }, - { name = "lizard", specifier = ">=1.19.0" }, + { name = "faker", specifier = "==40.1.2" }, + { name = "ipykernel", specifier = ">=7.1.0" }, + { name = "lizard", specifier = ">=1.20.0" }, { name = "mysqlclient", specifier = ">=2.2.7" }, { name = "ninja-schema", specifier = ">=0.14.3" }, - { name = "numpy", specifier = ">=2.4.0" }, + { name = "numpy", specifier = ">=2.4.1" }, { name = "orjson" }, - { name = "pandas", specifier = ">=2.3.3" }, + { name = "pandas", specifier = ">=3.0.0" }, { name = "python-docx", specifier = ">=1.2.0" }, { name = "python-ldap", path = "python_ldap-3.4.5-cp313-cp313-win_amd64.whl" }, + { name = "ua-parser-builtins", specifier = ">=202601" }, { name = "user-agents", specifier = ">=2.2.0" }, ] @@ -131,6 +161,24 @@ wheels = [ { url = "https://mirrors.aliyun.com/pypi/packages/ae/3a/dbeec9d1ee0844c679f6bb5d6ad4e9f198b1224f4e7a32825f47f6192b0c/cffi-2.0.0-cp314-cp314t-win_arm64.whl", hash = "sha256:0a1527a803f0a659de1af2e1fd700213caba79377e27e4693648c2923da066f9" }, ] +[[package]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6" }, +] + +[[package]] +name = "comm" +version = "0.2.3" +source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/4c/13/7d740c5849255756bc17888787313b61fd38a0a8304fc4f073dfc46122aa/comm-0.2.3.tar.gz", hash = "sha256:2dc8048c10962d55d7ad693be1e7045d891b7ce8d999c97963a5e3e99c055971" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/60/97/891a0971e1e4a8c5d2b20bbe0e524dc04548d2307fee33cdeba148fd4fc7/comm-0.2.3-py3-none-any.whl", hash = "sha256:c615d91d75f7f04f095b30d1c1711babd43bdc6419c1be9886a85f2f4e489417" }, +] + [[package]] name = "contextlib2" version = "21.6.0" @@ -196,31 +244,57 @@ wheels = [ { url = "https://mirrors.aliyun.com/pypi/packages/e8/cb/2da4cc83f5edb9c3257d09e1e7ab7b23f049c7962cae8d842bbef0a9cec9/cryptography-46.0.3-cp38-abi3-win_arm64.whl", hash = "sha256:d89c3468de4cdc4f08a57e214384d0471911a3830fcdaf7a8cc587e42a866372" }, ] +[[package]] +name = "debugpy" +version = "1.8.19" +source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/73/75/9e12d4d42349b817cd545b89247696c67917aab907012ae5b64bbfea3199/debugpy-1.8.19.tar.gz", hash = "sha256:eea7e5987445ab0b5ed258093722d5ecb8bb72217c5c9b1e21f64efe23ddebdb" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/71/3d/388035a31a59c26f1ecc8d86af607d0c42e20ef80074147cd07b180c4349/debugpy-1.8.19-cp313-cp313-macosx_15_0_universal2.whl", hash = "sha256:91e35db2672a0abaf325f4868fcac9c1674a0d9ad9bb8a8c849c03a5ebba3e6d" }, + { url = "https://mirrors.aliyun.com/pypi/packages/4a/19/c93a0772d0962294f083dbdb113af1a7427bb632d36e5314297068f55db7/debugpy-1.8.19-cp313-cp313-manylinux_2_34_x86_64.whl", hash = "sha256:85016a73ab84dea1c1f1dcd88ec692993bcbe4532d1b49ecb5f3c688ae50c606" }, + { url = "https://mirrors.aliyun.com/pypi/packages/5c/56/09e48ab796b0a77e3d7dc250f95251832b8bf6838c9632f6100c98bdf426/debugpy-1.8.19-cp313-cp313-win32.whl", hash = "sha256:b605f17e89ba0ecee994391194285fada89cee111cfcd29d6f2ee11cbdc40976" }, + { url = "https://mirrors.aliyun.com/pypi/packages/fb/4e/931480b9552c7d0feebe40c73725dd7703dcc578ba9efc14fe0e6d31cfd1/debugpy-1.8.19-cp313-cp313-win_amd64.whl", hash = "sha256:c30639998a9f9cd9699b4b621942c0179a6527f083c72351f95c6ab1728d5b73" }, + { url = "https://mirrors.aliyun.com/pypi/packages/f6/b9/cbec520c3a00508327476c7fce26fbafef98f412707e511eb9d19a2ef467/debugpy-1.8.19-cp314-cp314-macosx_15_0_universal2.whl", hash = "sha256:1e8c4d1bd230067bf1bbcdbd6032e5a57068638eb28b9153d008ecde288152af" }, + { url = "https://mirrors.aliyun.com/pypi/packages/88/5e/cf4e4dc712a141e10d58405c58c8268554aec3c35c09cdcda7535ff13f76/debugpy-1.8.19-cp314-cp314-manylinux_2_34_x86_64.whl", hash = "sha256:d40c016c1f538dbf1762936e3aeb43a89b965069d9f60f9e39d35d9d25e6b809" }, + { url = "https://mirrors.aliyun.com/pypi/packages/82/a3/c91a087ab21f1047db328c1d3eb5d1ff0e52de9e74f9f6f6fa14cdd93d58/debugpy-1.8.19-cp314-cp314-win32.whl", hash = "sha256:0601708223fe1cd0e27c6cce67a899d92c7d68e73690211e6788a4b0e1903f5b" }, + { url = "https://mirrors.aliyun.com/pypi/packages/17/b8/bfdc30b6e94f1eff09f2dc9cc1f9cd1c6cde3d996bcbd36ce2d9a4956e99/debugpy-1.8.19-cp314-cp314-win_amd64.whl", hash = "sha256:8e19a725f5d486f20e53a1dde2ab8bb2c9607c40c00a42ab646def962b41125f" }, + { url = "https://mirrors.aliyun.com/pypi/packages/25/3e/e27078370414ef35fafad2c06d182110073daaeb5d3bf734b0b1eeefe452/debugpy-1.8.19-py2.py3-none-any.whl", hash = "sha256:360ffd231a780abbc414ba0f005dad409e71c78637efe8f2bd75837132a41d38" }, +] + +[[package]] +name = "decorator" +version = "5.2.1" +source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/43/fa/6d96a0978d19e17b68d634497769987b16c8f4cd0a7a05048bec693caa6b/decorator-5.2.1.tar.gz", hash = "sha256:65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl", hash = "sha256:d316bb415a2d9e2d2b3abcc4084c6502fc09240e292cd76a76afc106a1c8e04a" }, +] + [[package]] name = "django" -version = "6.0" +version = "6.0.1" source = { registry = "https://mirrors.aliyun.com/pypi/simple" } dependencies = [ { name = "asgiref" }, { name = "sqlparse" }, { name = "tzdata", marker = "sys_platform == 'win32'" }, ] -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/15/75/19762bfc4ea556c303d9af8e36f0cd910ab17dff6c8774644314427a2120/django-6.0.tar.gz", hash = "sha256:7b0c1f50c0759bbe6331c6a39c89ae022a84672674aeda908784617ef47d8e26" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/b5/9b/016f7e55e855ee738a352b05139d4f8b278d0b451bd01ebef07456ef3b0e/django-6.0.1.tar.gz", hash = "sha256:ed76a7af4da21551573b3d9dfc1f53e20dd2e6c7d70a3adc93eedb6338130a5f" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/d7/ae/f19e24789a5ad852670d6885f5480f5e5895576945fcc01817dfd9bc002a/django-6.0-py3-none-any.whl", hash = "sha256:1cc2c7344303bbfb7ba5070487c17f7fc0b7174bbb0a38cebf03c675f5f19b6d" }, + { url = "https://mirrors.aliyun.com/pypi/packages/95/b5/814ed98bd21235c116fd3436a7ed44d47560329a6d694ec8aac2982dbb93/django-6.0.1-py3-none-any.whl", hash = "sha256:a92a4ff14f664a896f9849009cb8afaca7abe0d6fc53325f3d1895a15253433d" }, ] [[package]] name = "django-auth-ldap" -version = "5.2.0" +version = "5.3.0" source = { registry = "https://mirrors.aliyun.com/pypi/simple" } dependencies = [ { name = "django" }, { name = "python-ldap" }, ] -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/88/70/6f6a89474667376080f8362f7c17c744d1c52720f0eb085cf74182149efe/django_auth_ldap-5.2.0.tar.gz", hash = "sha256:08ba6efc0340d9874725a962311b14991e29a33593eb150a8fb640709dbfa80f" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/a6/6d/d3ceb4b49e7153811a4b2d92bbe198a5ef2e2820469add3d6dc129ef2fab/django_auth_ldap-5.3.0.tar.gz", hash = "sha256:743d8107b146240b46f7e97207dc06cb11facc0cd70dce490b7ca09dd5643d19" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/a1/65/0d26a8b5c19039305d7ae0e8e702613a9a1fe1ef3ebbd6206b9e104b7c43/django_auth_ldap-5.2.0-py3-none-any.whl", hash = "sha256:7dc6eb576ba36051850b580e4bdf4464e04bbe7367c3827a3121b4d7c51fb175" }, + { url = "https://mirrors.aliyun.com/pypi/packages/a9/91/38ba24b9d76925ce166b2eebe1b4ea460063b8ba8cf91d39d97ee3bad517/django_auth_ldap-5.3.0-py3-none-any.whl", hash = "sha256:aa880415983149b072f876d976ef8ec755a438090e176817998263a6ed9e1038" }, ] [[package]] @@ -234,20 +308,20 @@ wheels = [ [[package]] name = "django-ninja" -version = "1.5.1" +version = "1.5.3" source = { registry = "https://mirrors.aliyun.com/pypi/simple" } dependencies = [ { name = "django" }, { name = "pydantic" }, ] -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/42/8e/10b4299aa37017bb026ae091b2192d05b3d4b78a9dc57d59c4f362551907/django_ninja-1.5.1.tar.gz", hash = "sha256:6acda68a64d60934c6fdccb4d97c3ac7f02cfefd78a5d87ae053effe081b17c7" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/02/84/27a5fceac29bd85eb8dc8a6697e93019a8742d626180f0d67b894e20a8a1/django_ninja-1.5.3.tar.gz", hash = "sha256:974803944965ad0566071633ffd4999a956f2ad1ecbed815c0de37c1c969592b" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/0a/fc/124c3f999fbc77680777ff331ac9552227d7a6753639ef66dbba780fc6b4/django_ninja-1.5.1-py3-none-any.whl", hash = "sha256:135aaa1117dce8dfd7a1e80b4487a8cccee3a4182c3c8b562d08ea94e4d2cbdf" }, + { url = "https://mirrors.aliyun.com/pypi/packages/f4/b3/30600696c2532fcf026259f2f4980b364cb6847518bb4b3365d42a4a3afe/django_ninja-1.5.3-py3-none-any.whl", hash = "sha256:0a6ead5b4e57ec1050b584eb6f36f105f256b8f4ac70d12e774d8b6dd91e2198" }, ] [[package]] name = "django-ninja-extra" -version = "0.30.8" +version = "0.30.9" source = { registry = "https://mirrors.aliyun.com/pypi/simple" } dependencies = [ { name = "asgiref" }, @@ -256,14 +330,14 @@ dependencies = [ { name = "django-ninja" }, { name = "injector" }, ] -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/f9/f7/a089cbcb3a00a925d7da0b6e8230f92696f7dafca6c49e833a6617f9eb52/django_ninja_extra-0.30.8.tar.gz", hash = "sha256:f18089ed87067342f1641c01c023472834d3eae26a396389da1432f1ee0c270d" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/0f/75/8adbbe27c57910b4d7ecca840b97c9ab1acfac57a5332a3ee1c697078095/django_ninja_extra-0.30.9.tar.gz", hash = "sha256:db6f4a269ed74febd2fc71183117abb684084345c8e73ac4c3a448a706b2e5de" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/8d/ed/98d84f78246abfc33b48db479b00649cfc5d779ab5e931cbc5a66fa470fd/django_ninja_extra-0.30.8-py3-none-any.whl", hash = "sha256:ac0de87aae3d21f4ed7f120c41334c9277346efc393d4891fa0ba99c9ffdd8d5" }, + { url = "https://mirrors.aliyun.com/pypi/packages/b0/6f/5f29b8823ac033e19ce4f72803bd688799beb6ef3380053f03a73fb799b7/django_ninja_extra-0.30.9-py3-none-any.whl", hash = "sha256:b464657e36a7ff56fca2d07c8b47e87ba064d1a869a723534a53ee4b97c361bb" }, ] [[package]] name = "django-ninja-jwt" -version = "5.4.2" +version = "5.4.4" source = { registry = "https://mirrors.aliyun.com/pypi/simple" } dependencies = [ { name = "django" }, @@ -271,9 +345,9 @@ dependencies = [ { name = "pydantic-settings" }, { name = "pyjwt", extra = ["crypto"] }, ] -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/d0/fd/db6f0f3b5b3616296864ec642acf8ccd3ab17d26c678f48ec6aa6a227358/django_ninja_jwt-5.4.2.tar.gz", hash = "sha256:91a5eb1d7bd6a3752631bf476676430277877f55d7fca682e62857b9528c6bbe" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/3e/15/819d52707db7b9f1fb16f021c961a3d7825c9000061d272b3918658654fd/django_ninja_jwt-5.4.4.tar.gz", hash = "sha256:14b145b89955ac5c89ed23a430dac388118f7bd9479cbb562fc076f1c3e13f6c" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/9b/69/5bae9e7d90997fed7d18b0c03e7d1b247c86863840242a0692bcf84df8a6/django_ninja_jwt-5.4.2-py3-none-any.whl", hash = "sha256:93315eb78ab43b2c4410e7efafc61b220eab9c3e773f4c4d50af1b69d4e6ab19" }, + { url = "https://mirrors.aliyun.com/pypi/packages/26/b3/cc46af94ed93537d0680fffe5ca80080a3e9a7f4996051625a04b611689f/django_ninja_jwt-5.4.4-py3-none-any.whl", hash = "sha256:cc27b86542b4255fa21af0dc652aea15b59066ad5f46296f0c6faa193c5e5924" }, ] [[package]] @@ -348,16 +422,25 @@ wheels = [ { url = "https://mirrors.aliyun.com/pypi/packages/de/15/545e2b6cf2e3be84bc1ed85613edd75b8aea69807a71c26f4ca6a9258e82/email_validator-2.3.0-py3-none-any.whl", hash = "sha256:80f13f623413e6b197ae73bb10bf4eb0908faf509ad8362c5edeb0be7fd450b4" }, ] +[[package]] +name = "executing" +version = "2.2.1" +source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/cc/28/c14e053b6762b1044f34a13aab6859bbf40456d37d23aa286ac24cfd9a5d/executing-2.2.1.tar.gz", hash = "sha256:3632cc370565f6648cc328b32435bd120a1e4ebb20c77e3fdde9a13cd1e533c4" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/c1/ea/53f2148663b321f21b5a606bd5f191517cf40b7072c0497d3c92c4a13b1e/executing-2.2.1-py2.py3-none-any.whl", hash = "sha256:760643d3452b4d777d295bb167ccc74c64a81df23fb5e08eff250c425a4b2017" }, +] + [[package]] name = "faker" -version = "39.0.0" +version = "40.1.2" source = { registry = "https://mirrors.aliyun.com/pypi/simple" } dependencies = [ - { name = "tzdata" }, + { name = "tzdata", marker = "sys_platform == 'win32'" }, ] -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/30/b9/0897fb5888ddda099dc0f314a8a9afb5faa7e52eaf6865c00686dfb394db/faker-39.0.0.tar.gz", hash = "sha256:ddae46d3b27e01cea7894651d687b33bcbe19a45ef044042c721ceac6d3da0ff" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/5e/77/1c3ff07b6739b9a1d23ca01ec0a90a309a33b78e345a3eb52f9ce9240e36/faker-40.1.2.tar.gz", hash = "sha256:b76a68163aa5f171d260fc24827a8349bc1db672f6a665359e8d0095e8135d30" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/eb/5a/26cdb1b10a55ac6eb11a738cea14865fa753606c4897d7be0f5dc230df00/faker-39.0.0-py3-none-any.whl", hash = "sha256:c72f1fca8f1a24b8da10fcaa45739135a19772218ddd61b86b7ea1b8c790dce7" }, + { url = "https://mirrors.aliyun.com/pypi/packages/46/ec/91a434c8a53d40c3598966621dea9c50512bec6ce8e76fa1751015e74cef/faker-40.1.2-py3-none-any.whl", hash = "sha256:93503165c165d330260e4379fd6dc07c94da90c611ed3191a0174d2ab9966a42" }, ] [[package]] @@ -371,11 +454,80 @@ wheels = [ [[package]] name = "injector" -version = "0.23.0" +version = "0.24.0" source = { registry = "https://mirrors.aliyun.com/pypi/simple" } -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/1f/f5/060088d45fd57db2e2164ae289a96066d3e48320c0c99bba5e50eb245d22/injector-0.23.0.tar.gz", hash = "sha256:7e59db84faa5358474c8ee05abca6ab6bd02519fbefcf175e0b230ee7d2d4bac" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/17/6c/de0f64b2b8d7d8cd3206bd6fb54ebb0c7c2e2fe0f2d16103756ff1bf803b/injector-0.24.0.tar.gz", hash = "sha256:e85a75d1516cff2f03170f3fd1219f56acb25c9a05e307819ae0dcde3dad3d3f" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/54/52/2e771b1acc010f0351e703d524702db72b80ad8b375dccac8488ccc02a61/injector-0.23.0-py2.py3-none-any.whl", hash = "sha256:86ab389805b4aaabfe235b2b2b85ff515af4d0209faccf1d60de2872c92c1fa0" }, + { url = "https://mirrors.aliyun.com/pypi/packages/5f/db/953aeee405f1466832f212f61496ee07c29f7f027f7591b71b06bd08a418/injector-0.24.0-py3-none-any.whl", hash = "sha256:47294c7a7fdb811f0d1b442a1e0152bb2fc28b2ccaaba4cba44e5e125e0da2d0" }, +] + +[[package]] +name = "ipykernel" +version = "7.1.0" +source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +dependencies = [ + { name = "appnope", marker = "sys_platform == 'darwin'" }, + { name = "comm" }, + { name = "debugpy" }, + { name = "ipython" }, + { name = "jupyter-client" }, + { name = "jupyter-core" }, + { name = "matplotlib-inline" }, + { name = "nest-asyncio" }, + { name = "packaging" }, + { name = "psutil" }, + { name = "pyzmq" }, + { name = "tornado" }, + { name = "traitlets" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/b9/a4/4948be6eb88628505b83a1f2f40d90254cab66abf2043b3c40fa07dfce0f/ipykernel-7.1.0.tar.gz", hash = "sha256:58a3fc88533d5930c3546dc7eac66c6d288acde4f801e2001e65edc5dc9cf0db" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/a3/17/20c2552266728ceba271967b87919664ecc0e33efca29c3efc6baf88c5f9/ipykernel-7.1.0-py3-none-any.whl", hash = "sha256:763b5ec6c5b7776f6a8d7ce09b267693b4e5ce75cb50ae696aaefb3c85e1ea4c" }, +] + +[[package]] +name = "ipython" +version = "9.9.0" +source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "decorator" }, + { name = "ipython-pygments-lexers" }, + { name = "jedi" }, + { name = "matplotlib-inline" }, + { name = "pexpect", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, + { name = "prompt-toolkit" }, + { name = "pygments" }, + { name = "stack-data" }, + { name = "traitlets" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/46/dd/fb08d22ec0c27e73c8bc8f71810709870d51cadaf27b7ddd3f011236c100/ipython-9.9.0.tar.gz", hash = "sha256:48fbed1b2de5e2c7177eefa144aba7fcb82dac514f09b57e2ac9da34ddb54220" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/86/92/162cfaee4ccf370465c5af1ce36a9eacec1becb552f2033bb3584e6f640a/ipython-9.9.0-py3-none-any.whl", hash = "sha256:b457fe9165df2b84e8ec909a97abcf2ed88f565970efba16b1f7229c283d252b" }, +] + +[[package]] +name = "ipython-pygments-lexers" +version = "1.1.1" +source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +dependencies = [ + { name = "pygments" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/ef/4c/5dd1d8af08107f88c7f741ead7a40854b8ac24ddf9ae850afbcf698aa552/ipython_pygments_lexers-1.1.1.tar.gz", hash = "sha256:09c0138009e56b6854f9535736f4171d855c8c08a563a0dcd8022f78355c7e81" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/d9/33/1f075bf72b0b747cb3288d011319aaf64083cf2efef8354174e3ed4540e2/ipython_pygments_lexers-1.1.1-py3-none-any.whl", hash = "sha256:a9462224a505ade19a605f71f8fa63c2048833ce50abc86768a0d81d876dc81c" }, +] + +[[package]] +name = "jedi" +version = "0.19.2" +source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +dependencies = [ + { name = "parso" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/72/3a/79a912fbd4d8dd6fbb02bf69afd3bb72cf0c729bb3063c6f4498603db17a/jedi-0.19.2.tar.gz", hash = "sha256:4770dc3de41bde3966b02eb84fbcf557fb33cce26ad23da12c742fb50ecb11f0" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/c0/5a/9cac0c82afec3d09ccd97c8b6502d48f165f9124db81b4bcb90b4af974ee/jedi-0.19.2-py2.py3-none-any.whl", hash = "sha256:a8ef22bde8490f57fe5c7681a3c83cb58874daf72b4784de3cce5b6ef6edb5b9" }, ] [[package]] @@ -390,17 +542,46 @@ wheels = [ { url = "https://mirrors.aliyun.com/pypi/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67" }, ] +[[package]] +name = "jupyter-client" +version = "8.8.0" +source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +dependencies = [ + { name = "jupyter-core" }, + { name = "python-dateutil" }, + { name = "pyzmq" }, + { name = "tornado" }, + { name = "traitlets" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/05/e4/ba649102a3bc3fbca54e7239fb924fd434c766f855693d86de0b1f2bec81/jupyter_client-8.8.0.tar.gz", hash = "sha256:d556811419a4f2d96c869af34e854e3f059b7cc2d6d01a9cd9c85c267691be3e" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/2d/0b/ceb7694d864abc0a047649aec263878acb9f792e1fec3e676f22dc9015e3/jupyter_client-8.8.0-py3-none-any.whl", hash = "sha256:f93a5b99c5e23a507b773d3a1136bd6e16c67883ccdbd9a829b0bbdb98cd7d7a" }, +] + +[[package]] +name = "jupyter-core" +version = "5.9.1" +source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +dependencies = [ + { name = "platformdirs" }, + { name = "traitlets" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/02/49/9d1284d0dc65e2c757b74c6687b6d319b02f822ad039e5c512df9194d9dd/jupyter_core-5.9.1.tar.gz", hash = "sha256:4d09aaff303b9566c3ce657f580bd089ff5c91f5f89cf7d8846c3cdf465b5508" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/e7/e7/80988e32bf6f73919a113473a604f5a8f09094de312b9d52b79c2df7612b/jupyter_core-5.9.1-py3-none-any.whl", hash = "sha256:ebf87fdc6073d142e114c72c9e29a9d7ca03fad818c5d300ce2adc1fb0743407" }, +] + [[package]] name = "lizard" -version = "1.19.0" +version = "1.20.0" source = { registry = "https://mirrors.aliyun.com/pypi/simple" } dependencies = [ { name = "pathspec" }, { name = "pygments" }, ] -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/1e/fc/3da7cf04de5de4a1416b8a4084679e95932684bae7d7ba1dcb0e68bbdde7/lizard-1.19.0.tar.gz", hash = "sha256:3e26336ac876bdd2491dbb4afa0d20fe615af11cb59784b8b0ca39b21559ed5c" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/2d/5c/091de55d1baa3b13e6d2c8ca2ff33f12b28c2a90b3b6b199a83156f4ac53/lizard-1.20.0.tar.gz", hash = "sha256:81280ba1b5f54fd6d0ac444eed67ade9a237703034d82e81b14d8bb3b2a76466" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/fd/e7/ddeecbfd0b28d9f01b4ea9eef0055bae30a0181b16ae3eaaae44f4e19e04/lizard-1.19.0-py2.py3-none-any.whl", hash = "sha256:47ce752610c567b9ce427ac2cb4662a0a7631f0791e5ebafdc3572874ea8004f" }, + { url = "https://mirrors.aliyun.com/pypi/packages/8c/d0/e4c7f12924824fddf194b4aacbe767ab36a50c0b6be0bc2a200afc673c3e/lizard-1.20.0-py2.py3-none-any.whl", hash = "sha256:7c03c6731838b156cc098154a8554fc3a13dc77ebdf4e0d37ff9c2da5a17d573" }, ] [[package]] @@ -517,6 +698,18 @@ wheels = [ { url = "https://mirrors.aliyun.com/pypi/packages/70/bc/6f1c2f612465f5fa89b95bead1f44dcb607670fd42891d8fdcd5d039f4f4/markupsafe-3.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:32001d6a8fc98c8cb5c947787c5d08b0a50663d139f1305bac5885d98d9b40fa" }, ] +[[package]] +name = "matplotlib-inline" +version = "0.2.1" +source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +dependencies = [ + { name = "traitlets" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/c7/74/97e72a36efd4ae2bccb3463284300f8953f199b5ffbc04cbbb0ec78f74b1/matplotlib_inline-0.2.1.tar.gz", hash = "sha256:e1ee949c340d771fc39e241ea75683deb94762c8fa5f2927ec57c83c4dffa9fe" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/af/33/ee4519fa02ed11a94aef9559552f3b17bb863f2ecfe1a35dc7f548cde231/matplotlib_inline-0.2.1-py3-none-any.whl", hash = "sha256:d56ce5156ba6085e00a9d54fead6ed29a9c47e215cd1bba2e976ef39f5710a76" }, +] + [[package]] name = "mysqlclient" version = "2.2.7" @@ -526,6 +719,15 @@ wheels = [ { url = "https://mirrors.aliyun.com/pypi/packages/29/01/e80141f1cd0459e4c9a5dd309dee135bbae41d6c6c121252fdd853001a8a/mysqlclient-2.2.7-cp313-cp313-win_amd64.whl", hash = "sha256:201a6faa301011dd07bca6b651fe5aaa546d7c9a5426835a06c3172e1056a3c5" }, ] +[[package]] +name = "nest-asyncio" +version = "1.6.0" +source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/83/f8/51569ac65d696c8ecbee95938f89d4abf00f47d58d48f6fbabfe8f0baefe/nest_asyncio-1.6.0.tar.gz", hash = "sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl", hash = "sha256:87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c" }, +] + [[package]] name = "ninja-schema" version = "0.14.3" @@ -541,52 +743,52 @@ wheels = [ [[package]] name = "numpy" -version = "2.4.0" +version = "2.4.1" source = { registry = "https://mirrors.aliyun.com/pypi/simple" } -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/a4/7a/6a3d14e205d292b738db449d0de649b373a59edb0d0b4493821d0a3e8718/numpy-2.4.0.tar.gz", hash = "sha256:6e504f7b16118198f138ef31ba24d985b124c2c469fe8467007cf30fd992f934" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/24/62/ae72ff66c0f1fd959925b4c11f8c2dea61f47f6acaea75a08512cdfe3fed/numpy-2.4.1.tar.gz", hash = "sha256:a1ceafc5042451a858231588a104093474c6a5c57dcc724841f5c888d237d690" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/a7/0d/853fd96372eda07c824d24adf02e8bc92bb3731b43a9b2a39161c3667cc4/numpy-2.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a152d86a3ae00ba5f47b3acf3b827509fd0b6cb7d3259665e63dafbad22a75ea" }, - { url = "https://mirrors.aliyun.com/pypi/packages/e3/37/cc636f1f2a9f585434e20a3e6e63422f70bfe4f7f6698e941db52ea1ac9a/numpy-2.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:39b19251dec4de8ff8496cd0806cbe27bf0684f765abb1f4809554de93785f2d" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ed/69/0b78f37ca3690969beee54103ce5f6021709134e8020767e93ba691a72f1/numpy-2.4.0-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:009bd0ea12d3c784b6639a8457537016ce5172109e585338e11334f6a7bb88ee" }, - { url = "https://mirrors.aliyun.com/pypi/packages/1d/2a/08569f8252abf590294dbb09a430543ec8f8cc710383abfb3e75cc73aeda/numpy-2.4.0-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:5fe44e277225fd3dff6882d86d3d447205d43532c3627313d17e754fb3905a0e" }, - { url = "https://mirrors.aliyun.com/pypi/packages/93/e9/a949885a4e177493d61519377952186b6cbfdf1d6002764c664ba28349b5/numpy-2.4.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f935c4493eda9069851058fa0d9e39dbf6286be690066509305e52912714dbb2" }, - { url = "https://mirrors.aliyun.com/pypi/packages/99/98/9d4ad53b0e9ef901c2ef1d550d2136f5ac42d3fd2988390a6def32e23e48/numpy-2.4.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8cfa5f29a695cb7438965e6c3e8d06e0416060cf0d709c1b1c1653a939bf5c2a" }, - { url = "https://mirrors.aliyun.com/pypi/packages/28/de/5f3711a38341d6e8dd619f6353251a0cdd07f3d6d101a8fd46f4ef87f895/numpy-2.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ba0cb30acd3ef11c94dc27fbfba68940652492bc107075e7ffe23057f9425681" }, - { url = "https://mirrors.aliyun.com/pypi/packages/2a/5b/2a3753dc43916501b4183532e7ace862e13211042bceafa253afb5c71272/numpy-2.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:60e8c196cd82cbbd4f130b5290007e13e6de3eca79f0d4d38014769d96a7c475" }, - { url = "https://mirrors.aliyun.com/pypi/packages/2c/c5/a18bcdd07a941db3076ef489d036ab16d2bfc2eae0cf27e5a26e29189434/numpy-2.4.0-cp313-cp313-win32.whl", hash = "sha256:5f48cb3e88fbc294dc90e215d86fbaf1c852c63dbdb6c3a3e63f45c4b57f7344" }, - { url = "https://mirrors.aliyun.com/pypi/packages/4f/f1/719010ff8061da6e8a26e1980cf090412d4f5f8060b31f0c45d77dd67a01/numpy-2.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:a899699294f28f7be8992853c0c60741f16ff199205e2e6cdca155762cbaa59d" }, - { url = "https://mirrors.aliyun.com/pypi/packages/f5/5a/b3d259083ed8b4d335270c76966cb6cf14a5d1b69e1a608994ac57a659e6/numpy-2.4.0-cp313-cp313-win_arm64.whl", hash = "sha256:9198f447e1dc5647d07c9a6bbe2063cc0132728cc7175b39dbc796da5b54920d" }, - { url = "https://mirrors.aliyun.com/pypi/packages/31/01/95edcffd1bb6c0633df4e808130545c4f07383ab629ac7e316fb44fff677/numpy-2.4.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:74623f2ab5cc3f7c886add4f735d1031a1d2be4a4ae63c0546cfd74e7a31ddf6" }, - { url = "https://mirrors.aliyun.com/pypi/packages/59/ea/5644b8baa92cc1c7163b4b4458c8679852733fa74ca49c942cfa82ded4e0/numpy-2.4.0-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:0804a8e4ab070d1d35496e65ffd3cf8114c136a2b81f61dfab0de4b218aacfd5" }, - { url = "https://mirrors.aliyun.com/pypi/packages/26/4e/e10938106d70bc21319bd6a86ae726da37edc802ce35a3a71ecdf1fdfe7f/numpy-2.4.0-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:02a2038eb27f9443a8b266a66911e926566b5a6ffd1a689b588f7f35b81e7dc3" }, - { url = "https://mirrors.aliyun.com/pypi/packages/b3/8d/a8828e3eaf5c0b4ab116924df82f24ce3416fa38d0674d8f708ddc6c8aac/numpy-2.4.0-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1889b3a3f47a7b5bee16bc25a2145bd7cb91897f815ce3499db64c7458b6d91d" }, - { url = "https://mirrors.aliyun.com/pypi/packages/68/a1/17d97609d87d4520aa5ae2dcfb32305654550ac6a35effb946d303e594ce/numpy-2.4.0-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:85eef4cb5625c47ee6425c58a3502555e10f45ee973da878ac8248ad58c136f3" }, - { url = "https://mirrors.aliyun.com/pypi/packages/18/32/0f13c1b2d22bea1118356b8b963195446f3af124ed7a5adfa8fdecb1b6ca/numpy-2.4.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6dc8b7e2f4eb184b37655195f421836cfae6f58197b67e3ffc501f1333d993fa" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ae/23/48f21e3d309fbc137c068a1475358cbd3a901b3987dcfc97a029ab3068e2/numpy-2.4.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:44aba2f0cafd287871a495fb3163408b0bd25bbce135c6f621534a07f4f7875c" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ac/52/41f3d71296a3dcaa4f456aaa3c6fc8e745b43d0552b6bde56571bb4b4a0f/numpy-2.4.0-cp313-cp313t-win32.whl", hash = "sha256:20c115517513831860c573996e395707aa9fb691eb179200125c250e895fcd93" }, - { url = "https://mirrors.aliyun.com/pypi/packages/35/ff/46fbfe60ab0710d2a2b16995f708750307d30eccbb4c38371ea9e986866e/numpy-2.4.0-cp313-cp313t-win_amd64.whl", hash = "sha256:b48e35f4ab6f6a7597c46e301126ceba4c44cd3280e3750f85db48b082624fa4" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a3/e3/9189ab319c01d2ed556c932ccf55064c5d75bb5850d1df7a482ce0badead/numpy-2.4.0-cp313-cp313t-win_arm64.whl", hash = "sha256:4d1cfce39e511069b11e67cd0bd78ceff31443b7c9e5c04db73c7a19f572967c" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ab/ed/52eac27de39d5e5a6c9aadabe672bc06f55e24a3d9010cd1183948055d76/numpy-2.4.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:c95eb6db2884917d86cde0b4d4cf31adf485c8ec36bf8696dd66fa70de96f36b" }, - { url = "https://mirrors.aliyun.com/pypi/packages/77/c0/990ce1b7fcd4e09aeaa574e2a0a839589e4b08b2ca68070f1acb1fea6736/numpy-2.4.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:65167da969cd1ec3a1df31cb221ca3a19a8aaa25370ecb17d428415e93c1935e" }, - { url = "https://mirrors.aliyun.com/pypi/packages/37/7c/8c5e389c6ae8f5fd2277a988600d79e9625db3fff011a2d87ac80b881a4c/numpy-2.4.0-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:3de19cfecd1465d0dcf8a5b5ea8b3155b42ed0b639dba4b71e323d74f2a3be5e" }, - { url = "https://mirrors.aliyun.com/pypi/packages/e6/94/ca5b3bd6a8a70a5eec9a0b8dd7f980c1eff4b8a54970a9a7fef248ef564f/numpy-2.4.0-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:6c05483c3136ac4c91b4e81903cb53a8707d316f488124d0398499a4f8e8ef51" }, - { url = "https://mirrors.aliyun.com/pypi/packages/79/43/993eb7bb5be6761dde2b3a3a594d689cec83398e3f58f4758010f3b85727/numpy-2.4.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:36667db4d6c1cea79c8930ab72fadfb4060feb4bfe724141cd4bd064d2e5f8ce" }, - { url = "https://mirrors.aliyun.com/pypi/packages/03/75/d4c43b61de473912496317a854dac54f1efec3eeb158438da6884b70bb90/numpy-2.4.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9a818668b674047fd88c4cddada7ab8f1c298812783e8328e956b78dc4807f9f" }, - { url = "https://mirrors.aliyun.com/pypi/packages/b8/0a/b54615b47ee8736a6461a4bb6749128dd3435c5a759d5663f11f0e9af4ac/numpy-2.4.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:1ee32359fb7543b7b7bd0b2f46294db27e29e7bbdf70541e81b190836cd83ded" }, - { url = "https://mirrors.aliyun.com/pypi/packages/98/ce/ea207769aacad6246525ec6c6bbd66a2bf56c72443dc10e2f90feed29290/numpy-2.4.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:e493962256a38f58283de033d8af176c5c91c084ea30f15834f7545451c42059" }, - { url = "https://mirrors.aliyun.com/pypi/packages/17/ef/ec409437aa962ea372ed601c519a2b141701683ff028f894b7466f0ab42b/numpy-2.4.0-cp314-cp314-win32.whl", hash = "sha256:6bbaebf0d11567fa8926215ae731e1d58e6ec28a8a25235b8a47405d301332db" }, - { url = "https://mirrors.aliyun.com/pypi/packages/5f/4a/5cb94c787a3ed1ac65e1271b968686521169a7b3ec0b6544bb3ca32960b0/numpy-2.4.0-cp314-cp314-win_amd64.whl", hash = "sha256:3d857f55e7fdf7c38ab96c4558c95b97d1c685be6b05c249f5fdafcbd6f9899e" }, - { url = "https://mirrors.aliyun.com/pypi/packages/48/a0/04b89db963af9de1104975e2544f30de89adbf75b9e75f7dd2599be12c79/numpy-2.4.0-cp314-cp314-win_arm64.whl", hash = "sha256:bb50ce5fb202a26fd5404620e7ef820ad1ab3558b444cb0b55beb7ef66cd2d63" }, - { url = "https://mirrors.aliyun.com/pypi/packages/53/e5/d74b5ccf6712c06c7a545025a6a71bfa03bdc7e0568b405b0d655232fd92/numpy-2.4.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:355354388cba60f2132df297e2d53053d4063f79077b67b481d21276d61fc4df" }, - { url = "https://mirrors.aliyun.com/pypi/packages/c2/08/3ca9cc2ddf54dfee7ae9a6479c071092a228c68aef08252aa08dac2af002/numpy-2.4.0-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:1d8f9fde5f6dc1b6fc34df8162f3b3079365468703fee7f31d4e0cc8c63baed9" }, - { url = "https://mirrors.aliyun.com/pypi/packages/87/74/0bb63a68394c0c1e52670cfff2e309afa41edbe11b3327d9af29e4383f34/numpy-2.4.0-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:e0434aa22c821f44eeb4c650b81c7fbdd8c0122c6c4b5a576a76d5a35625ecd9" }, - { url = "https://mirrors.aliyun.com/pypi/packages/06/8f/9264d9bdbcf8236af2823623fe2f3981d740fc3461e2787e231d97c38c28/numpy-2.4.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:40483b2f2d3ba7aad426443767ff5632ec3156ef09742b96913787d13c336471" }, - { url = "https://mirrors.aliyun.com/pypi/packages/8c/d9/f9a69ae564bbc7236a35aa883319364ef5fd41f72aa320cc1cbe66148fe2/numpy-2.4.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d9e6a7664ddd9746e20b7325351fe1a8408d0a2bf9c63b5e898290ddc8f09544" }, - { url = "https://mirrors.aliyun.com/pypi/packages/34/c7/39241501408dde7f885d241a98caba5421061a2c6d2b2197ac5e3aa842d8/numpy-2.4.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:ecb0019d44f4cdb50b676c5d0cb4b1eae8e15d1ed3d3e6639f986fc92b2ec52c" }, - { url = "https://mirrors.aliyun.com/pypi/packages/7c/95/cae7effd90e065a95e59fe710eeee05d7328ed169776dfdd9f789e032125/numpy-2.4.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:d0ffd9e2e4441c96a9c91ec1783285d80bf835b677853fc2770a89d50c1e48ac" }, - { url = "https://mirrors.aliyun.com/pypi/packages/96/df/3c6c279accd2bfb968a76298e5b276310bd55d243df4fa8ac5816d79347d/numpy-2.4.0-cp314-cp314t-win32.whl", hash = "sha256:77f0d13fa87036d7553bf81f0e1fe3ce68d14c9976c9851744e4d3e91127e95f" }, - { url = "https://mirrors.aliyun.com/pypi/packages/92/8d/f23033cce252e7a75cae853d17f582e86534c46404dea1c8ee094a9d6d84/numpy-2.4.0-cp314-cp314t-win_amd64.whl", hash = "sha256:b1f5b45829ac1848893f0ddf5cb326110604d6df96cdc255b0bf9edd154104d4" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a4/4f/1f8475907d1a7c4ef9020edf7f39ea2422ec896849245f00688e4b268a71/numpy-2.4.0-cp314-cp314t-win_arm64.whl", hash = "sha256:23a3e9d1a6f360267e8fbb38ba5db355a6a7e9be71d7fce7ab3125e88bb646c8" }, + { url = "https://mirrors.aliyun.com/pypi/packages/04/68/732d4b7811c00775f3bd522a21e8dd5a23f77eb11acdeb663e4a4ebf0ef4/numpy-2.4.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:d797454e37570cfd61143b73b8debd623c3c0952959adb817dd310a483d58a1b" }, + { url = "https://mirrors.aliyun.com/pypi/packages/20/ca/857722353421a27f1465652b2c66813eeeccea9d76d5f7b74b99f298e60e/numpy-2.4.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:82c55962006156aeef1629b953fd359064aa47e4d82cfc8e67f0918f7da3344f" }, + { url = "https://mirrors.aliyun.com/pypi/packages/81/0d/2377c917513449cc6240031a79d30eb9a163d32a91e79e0da47c43f2c0c8/numpy-2.4.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:71abbea030f2cfc3092a0ff9f8c8fdefdc5e0bf7d9d9c99663538bb0ecdac0b9" }, + { url = "https://mirrors.aliyun.com/pypi/packages/17/39/569452228de3f5de9064ac75137082c6214be1f5c532016549a7923ab4b5/numpy-2.4.1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:5b55aa56165b17aaf15520beb9cbd33c9039810e0d9643dd4379e44294c7303e" }, + { url = "https://mirrors.aliyun.com/pypi/packages/8c/a4/77333f4d1e4dac4395385482557aeecf4826e6ff517e32ca48e1dafbe42a/numpy-2.4.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c0faba4a331195bfa96f93dd9dfaa10b2c7aa8cda3a02b7fd635e588fe821bf5" }, + { url = "https://mirrors.aliyun.com/pypi/packages/ba/87/d341e519956273b39d8d47969dd1eaa1af740615394fe67d06f1efa68773/numpy-2.4.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d3e3087f53e2b4428766b54932644d148613c5a595150533ae7f00dab2f319a8" }, + { url = "https://mirrors.aliyun.com/pypi/packages/32/91/789132c6666288eaa20ae8066bb99eba1939362e8f1a534949a215246e97/numpy-2.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:49e792ec351315e16da54b543db06ca8a86985ab682602d90c60ef4ff4db2a9c" }, + { url = "https://mirrors.aliyun.com/pypi/packages/cf/b8/090b8bd27b82a844bb22ff8fdf7935cb1980b48d6e439ae116f53cdc2143/numpy-2.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:79e9e06c4c2379db47f3f6fc7a8652e7498251789bf8ff5bd43bf478ef314ca2" }, + { url = "https://mirrors.aliyun.com/pypi/packages/67/78/722b62bd31842ff029412271556a1a27a98f45359dea78b1548a3a9996aa/numpy-2.4.1-cp313-cp313-win32.whl", hash = "sha256:3d1a100e48cb266090a031397863ff8a30050ceefd798f686ff92c67a486753d" }, + { url = "https://mirrors.aliyun.com/pypi/packages/da/a6/cf32198b0b6e18d4fbfa9a21a992a7fca535b9bb2b0cdd217d4a3445b5ca/numpy-2.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:92a0e65272fd60bfa0d9278e0484c2f52fe03b97aedc02b357f33fe752c52ffb" }, + { url = "https://mirrors.aliyun.com/pypi/packages/44/6c/534d692bfb7d0afe30611320c5fb713659dcb5104d7cc182aff2aea092f5/numpy-2.4.1-cp313-cp313-win_arm64.whl", hash = "sha256:20d4649c773f66cc2fc36f663e091f57c3b7655f936a4c681b4250855d1da8f5" }, + { url = "https://mirrors.aliyun.com/pypi/packages/da/a1/354583ac5c4caa566de6ddfbc42744409b515039e085fab6e0ff942e0df5/numpy-2.4.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:f93bc6892fe7b0663e5ffa83b61aab510aacffd58c16e012bb9352d489d90cb7" }, + { url = "https://mirrors.aliyun.com/pypi/packages/51/b0/42807c6e8cce58c00127b1dc24d365305189991f2a7917aa694a109c8d7d/numpy-2.4.1-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:178de8f87948163d98a4c9ab5bee4ce6519ca918926ec8df195af582de28544d" }, + { url = "https://mirrors.aliyun.com/pypi/packages/fe/55/7a621694010d92375ed82f312b2f28017694ed784775269115323e37f5e2/numpy-2.4.1-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:98b35775e03ab7f868908b524fc0a84d38932d8daf7b7e1c3c3a1b6c7a2c9f15" }, + { url = "https://mirrors.aliyun.com/pypi/packages/50/96/9fa8635ed9d7c847d87e30c834f7109fac5e88549d79ef3324ab5c20919f/numpy-2.4.1-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:941c2a93313d030f219f3a71fd3d91a728b82979a5e8034eb2e60d394a2b83f9" }, + { url = "https://mirrors.aliyun.com/pypi/packages/03/d1/8cf62d8bb2062da4fb82dd5d49e47c923f9c0738032f054e0a75342faba7/numpy-2.4.1-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:529050522e983e00a6c1c6b67411083630de8b57f65e853d7b03d9281b8694d2" }, + { url = "https://mirrors.aliyun.com/pypi/packages/86/1c/95c86e17c6b0b31ce6ef219da00f71113b220bcb14938c8d9a05cee0ff53/numpy-2.4.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:2302dc0224c1cbc49bb94f7064f3f923a971bfae45c33870dcbff63a2a550505" }, + { url = "https://mirrors.aliyun.com/pypi/packages/30/b4/e7f5ff8697274c9d0fa82398b6a372a27e5cef069b37df6355ccb1f1db1a/numpy-2.4.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:9171a42fcad32dcf3fa86f0a4faa5e9f8facefdb276f54b8b390d90447cff4e2" }, + { url = "https://mirrors.aliyun.com/pypi/packages/37/a4/b073f3e9d77f9aec8debe8ca7f9f6a09e888ad1ba7488f0c3b36a94c03ac/numpy-2.4.1-cp313-cp313t-win32.whl", hash = "sha256:382ad67d99ef49024f11d1ce5dcb5ad8432446e4246a4b014418ba3a1175a1f4" }, + { url = "https://mirrors.aliyun.com/pypi/packages/16/16/af42337b53844e67752a092481ab869c0523bc95c4e5c98e4dac4e9581ac/numpy-2.4.1-cp313-cp313t-win_amd64.whl", hash = "sha256:62fea415f83ad8fdb6c20840578e5fbaf5ddd65e0ec6c3c47eda0f69da172510" }, + { url = "https://mirrors.aliyun.com/pypi/packages/6c/f8/fa85b2eac68ec631d0b631abc448552cb17d39afd17ec53dcbcc3537681a/numpy-2.4.1-cp313-cp313t-win_arm64.whl", hash = "sha256:a7870e8c5fc11aef57d6fea4b4085e537a3a60ad2cdd14322ed531fdca68d261" }, + { url = "https://mirrors.aliyun.com/pypi/packages/1b/a7/ef08d25698e0e4b4efbad8d55251d20fe2a15f6d9aa7c9b30cd03c165e6f/numpy-2.4.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:3869ea1ee1a1edc16c29bbe3a2f2a4e515cc3a44d43903ad41e0cacdbaf733dc" }, + { url = "https://mirrors.aliyun.com/pypi/packages/8f/39/e378b3e3ca13477e5ac70293ec027c438d1927f18637e396fe90b1addd72/numpy-2.4.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:e867df947d427cdd7a60e3e271729090b0f0df80f5f10ab7dd436f40811699c3" }, + { url = "https://mirrors.aliyun.com/pypi/packages/c3/74/7ec6154f0006910ed1fdbb7591cf4432307033102b8a22041599935f8969/numpy-2.4.1-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:e3bd2cb07841166420d2fa7146c96ce00cb3410664cbc1a6be028e456c4ee220" }, + { url = "https://mirrors.aliyun.com/pypi/packages/f7/b7/053ac11820d84e42f8feea5cb81cc4fcd1091499b45b1ed8c7415b1bf831/numpy-2.4.1-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:f0a90aba7d521e6954670550e561a4cb925713bd944445dbe9e729b71f6cabee" }, + { url = "https://mirrors.aliyun.com/pypi/packages/c0/c4/2e7908915c0e32ca636b92e4e4a3bdec4cb1e7eb0f8aedf1ed3c68a0d8cd/numpy-2.4.1-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5d558123217a83b2d1ba316b986e9248a1ed1971ad495963d555ccd75dcb1556" }, + { url = "https://mirrors.aliyun.com/pypi/packages/eb/c0/3ed5083d94e7ffd7c404e54619c088e11f2e1939a9544f5397f4adb1b8ba/numpy-2.4.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2f44de05659b67d20499cbc96d49f2650769afcb398b79b324bb6e297bfe3844" }, + { url = "https://mirrors.aliyun.com/pypi/packages/0e/68/42b66f1852bf525050a67315a4fb94586ab7e9eaa541b1bef530fab0c5dd/numpy-2.4.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:69e7419c9012c4aaf695109564e3387f1259f001b4326dfa55907b098af082d3" }, + { url = "https://mirrors.aliyun.com/pypi/packages/d2/40/e8714fc933d85f82c6bfc7b998a0649ad9769a32f3494ba86598aaf18a48/numpy-2.4.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:2ffd257026eb1b34352e749d7cc1678b5eeec3e329ad8c9965a797e08ccba205" }, + { url = "https://mirrors.aliyun.com/pypi/packages/80/9a/0d44b468cad50315127e884802351723daca7cf1c98d102929468c81d439/numpy-2.4.1-cp314-cp314-win32.whl", hash = "sha256:727c6c3275ddefa0dc078524a85e064c057b4f4e71ca5ca29a19163c607be745" }, + { url = "https://mirrors.aliyun.com/pypi/packages/7e/bb/c6513edcce5a831810e2dddc0d3452ce84d208af92405a0c2e58fd8e7881/numpy-2.4.1-cp314-cp314-win_amd64.whl", hash = "sha256:7d5d7999df434a038d75a748275cd6c0094b0ecdb0837342b332a82defc4dc4d" }, + { url = "https://mirrors.aliyun.com/pypi/packages/e9/da/a598d5cb260780cf4d255102deba35c1d072dc028c4547832f45dd3323a8/numpy-2.4.1-cp314-cp314-win_arm64.whl", hash = "sha256:ce9ce141a505053b3c7bce3216071f3bf5c182b8b28930f14cd24d43932cd2df" }, + { url = "https://mirrors.aliyun.com/pypi/packages/de/bc/ea3f2c96fcb382311827231f911723aeff596364eb6e1b6d1d91128aa29b/numpy-2.4.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:4e53170557d37ae404bf8d542ca5b7c629d6efa1117dac6a83e394142ea0a43f" }, + { url = "https://mirrors.aliyun.com/pypi/packages/aa/ab/ef9d939fe4a812648c7a712610b2ca6140b0853c5efea361301006c02ae5/numpy-2.4.1-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:a73044b752f5d34d4232f25f18160a1cc418ea4507f5f11e299d8ac36875f8a0" }, + { url = "https://mirrors.aliyun.com/pypi/packages/bd/31/d381368e2a95c3b08b8cf7faac6004849e960f4a042d920337f71cef0cae/numpy-2.4.1-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:fb1461c99de4d040666ca0444057b06541e5642f800b71c56e6ea92d6a853a0c" }, + { url = "https://mirrors.aliyun.com/pypi/packages/c8/e5/0989b44ade47430be6323d05c23207636d67d7362a1796ccbccac6773dd2/numpy-2.4.1-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:423797bdab2eeefbe608d7c1ec7b2b4fd3c58d51460f1ee26c7500a1d9c9ee93" }, + { url = "https://mirrors.aliyun.com/pypi/packages/10/a7/cfbe475c35371cae1358e61f20c5f075badc18c4797ab4354140e1d283cf/numpy-2.4.1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:52b5f61bdb323b566b528899cc7db2ba5d1015bda7ea811a8bcf3c89c331fa42" }, + { url = "https://mirrors.aliyun.com/pypi/packages/f8/a3/0c63fe66b534888fa5177cc7cef061541064dbe2b4b60dcc60ffaf0d2157/numpy-2.4.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:42d7dd5fa36d16d52a84f821eb96031836fd405ee6955dd732f2023724d0aa01" }, + { url = "https://mirrors.aliyun.com/pypi/packages/6b/2b/55d980cfa2c93bd40ff4c290bf824d792bd41d2fe3487b07707559071760/numpy-2.4.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:e7b6b5e28bbd47b7532698e5db2fe1db693d84b58c254e4389d99a27bb9b8f6b" }, + { url = "https://mirrors.aliyun.com/pypi/packages/23/12/8b5fc6b9c487a09a7957188e0943c9ff08432c65e34567cabc1623b03a51/numpy-2.4.1-cp314-cp314t-win32.whl", hash = "sha256:5de60946f14ebe15e713a6f22850c2372fa72f4ff9a432ab44aa90edcadaa65a" }, + { url = "https://mirrors.aliyun.com/pypi/packages/00/a5/9f8ca5856b8940492fc24fbe13c1bc34d65ddf4079097cf9e53164d094e1/numpy-2.4.1-cp314-cp314t-win_amd64.whl", hash = "sha256:8f085da926c0d491ffff3096f91078cc97ea67e7e6b65e490bc8dcda65663be2" }, + { url = "https://mirrors.aliyun.com/pypi/packages/ad/0d/eca3d962f9eef265f01a8e0d20085c6dd1f443cbffc11b6dede81fd82356/numpy-2.4.1-cp314-cp314t-win_arm64.whl", hash = "sha256:6436cffb4f2bf26c974344439439c95e152c9a527013f26b3577be6c2ca64295" }, ] [[package]] @@ -627,62 +829,163 @@ wheels = [ { url = "https://mirrors.aliyun.com/pypi/packages/8f/dd/f4fff4a6fe601b4f8f3ba3aa6da8ac33d17d124491a3b804c662a70e1636/orjson-3.11.5-cp314-cp314-win_arm64.whl", hash = "sha256:38b22f476c351f9a1c43e5b07d8b5a02eb24a6ab8e75f700f7d479d4568346a5" }, ] +[[package]] +name = "packaging" +version = "26.0" +source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/65/ee/299d360cdc32edc7d2cf530f3accf79c4fca01e96ffc950d8a52213bd8e4/packaging-26.0.tar.gz", hash = "sha256:00243ae351a257117b6a241061796684b084ed1c516a08c48a3f7e147a9d80b4" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/b7/b9/c538f279a4e237a006a2c98387d081e9eb060d203d8ed34467cc0f0b9b53/packaging-26.0-py3-none-any.whl", hash = "sha256:b36f1fef9334a5588b4166f8bcd26a14e521f2b55e6b9de3aaa80d3ff7a37529" }, +] + [[package]] name = "pandas" -version = "2.3.3" +version = "3.0.0" source = { registry = "https://mirrors.aliyun.com/pypi/simple" } dependencies = [ { name = "numpy" }, { name = "python-dateutil" }, - { name = "pytz" }, - { name = "tzdata" }, + { name = "tzdata", marker = "sys_platform == 'emscripten' or sys_platform == 'win32'" }, ] -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/33/01/d40b85317f86cf08d853a4f495195c73815fdf205eef3993821720274518/pandas-2.3.3.tar.gz", hash = "sha256:e05e1af93b977f7eafa636d043f9f94c7ee3ac81af99c13508215942e64c993b" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/de/da/b1dc0481ab8d55d0f46e343cfe67d4551a0e14fcee52bd38ca1bd73258d8/pandas-3.0.0.tar.gz", hash = "sha256:0facf7e87d38f721f0af46fe70d97373a37701b1c09f7ed7aeeb292ade5c050f" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/cd/4b/18b035ee18f97c1040d94debd8f2e737000ad70ccc8f5513f4eefad75f4b/pandas-2.3.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:56851a737e3470de7fa88e6131f41281ed440d29a9268dcbf0002da5ac366713" }, - { url = "https://mirrors.aliyun.com/pypi/packages/31/94/72fac03573102779920099bcac1c3b05975c2cb5f01eac609faf34bed1ca/pandas-2.3.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:bdcd9d1167f4885211e401b3036c0c8d9e274eee67ea8d0758a256d60704cfe8" }, - { url = "https://mirrors.aliyun.com/pypi/packages/16/87/9472cf4a487d848476865321de18cc8c920b8cab98453ab79dbbc98db63a/pandas-2.3.3-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e32e7cc9af0f1cc15548288a51a3b681cc2a219faa838e995f7dc53dbab1062d" }, - { url = "https://mirrors.aliyun.com/pypi/packages/15/07/284f757f63f8a8d69ed4472bfd85122bd086e637bf4ed09de572d575a693/pandas-2.3.3-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:318d77e0e42a628c04dc56bcef4b40de67918f7041c2b061af1da41dcff670ac" }, - { url = "https://mirrors.aliyun.com/pypi/packages/33/81/a3afc88fca4aa925804a27d2676d22dcd2031c2ebe08aabd0ae55b9ff282/pandas-2.3.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4e0a175408804d566144e170d0476b15d78458795bb18f1304fb94160cabf40c" }, - { url = "https://mirrors.aliyun.com/pypi/packages/8d/0f/b4d4ae743a83742f1153464cf1a8ecfafc3ac59722a0b5c8602310cb7158/pandas-2.3.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:93c2d9ab0fc11822b5eece72ec9587e172f63cff87c00b062f6e37448ced4493" }, - { url = "https://mirrors.aliyun.com/pypi/packages/4f/c7/e54682c96a895d0c808453269e0b5928a07a127a15704fedb643e9b0a4c8/pandas-2.3.3-cp313-cp313-win_amd64.whl", hash = "sha256:f8bfc0e12dc78f777f323f55c58649591b2cd0c43534e8355c51d3fede5f4dee" }, - { url = "https://mirrors.aliyun.com/pypi/packages/f9/ca/3f8d4f49740799189e1395812f3bf23b5e8fc7c190827d55a610da72ce55/pandas-2.3.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:75ea25f9529fdec2d2e93a42c523962261e567d250b0013b16210e1d40d7c2e5" }, - { url = "https://mirrors.aliyun.com/pypi/packages/0e/5a/f43efec3e8c0cc92c4663ccad372dbdff72b60bdb56b2749f04aa1d07d7e/pandas-2.3.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:74ecdf1d301e812db96a465a525952f4dde225fdb6d8e5a521d47e1f42041e21" }, - { url = "https://mirrors.aliyun.com/pypi/packages/46/b1/85331edfc591208c9d1a63a06baa67b21d332e63b7a591a5ba42a10bb507/pandas-2.3.3-cp313-cp313t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6435cb949cb34ec11cc9860246ccb2fdc9ecd742c12d3304989017d53f039a78" }, - { url = "https://mirrors.aliyun.com/pypi/packages/44/23/78d645adc35d94d1ac4f2a3c4112ab6f5b8999f4898b8cdf01252f8df4a9/pandas-2.3.3-cp313-cp313t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:900f47d8f20860de523a1ac881c4c36d65efcb2eb850e6948140fa781736e110" }, - { url = "https://mirrors.aliyun.com/pypi/packages/53/da/d10013df5e6aaef6b425aa0c32e1fc1f3e431e4bcabd420517dceadce354/pandas-2.3.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:a45c765238e2ed7d7c608fc5bc4a6f88b642f2f01e70c0c23d2224dd21829d86" }, - { url = "https://mirrors.aliyun.com/pypi/packages/bd/17/e756653095a083d8a37cbd816cb87148debcfcd920129b25f99dd8d04271/pandas-2.3.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:c4fc4c21971a1a9f4bdb4c73978c7f7256caa3e62b323f70d6cb80db583350bc" }, - { url = "https://mirrors.aliyun.com/pypi/packages/04/fd/74903979833db8390b73b3a8a7d30d146d710bd32703724dd9083950386f/pandas-2.3.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:ee15f284898e7b246df8087fc82b87b01686f98ee67d85a17b7ab44143a3a9a0" }, - { url = "https://mirrors.aliyun.com/pypi/packages/21/00/266d6b357ad5e6d3ad55093a7e8efc7dd245f5a842b584db9f30b0f0a287/pandas-2.3.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:1611aedd912e1ff81ff41c745822980c49ce4a7907537be8692c8dbc31924593" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ca/05/d01ef80a7a3a12b2f8bbf16daba1e17c98a2f039cbc8e2f77a2c5a63d382/pandas-2.3.3-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6d2cefc361461662ac48810cb14365a365ce864afe85ef1f447ff5a1e99ea81c" }, - { url = "https://mirrors.aliyun.com/pypi/packages/15/b2/0e62f78c0c5ba7e3d2c5945a82456f4fac76c480940f805e0b97fcbc2f65/pandas-2.3.3-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ee67acbbf05014ea6c763beb097e03cd629961c8a632075eeb34247120abcb4b" }, - { url = "https://mirrors.aliyun.com/pypi/packages/c5/33/dd70400631b62b9b29c3c93d2feee1d0964dc2bae2e5ad7a6c73a7f25325/pandas-2.3.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:c46467899aaa4da076d5abc11084634e2d197e9460643dd455ac3db5856b24d6" }, - { url = "https://mirrors.aliyun.com/pypi/packages/d3/18/b5d48f55821228d0d2692b34fd5034bb185e854bdb592e9c640f6290e012/pandas-2.3.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:6253c72c6a1d990a410bc7de641d34053364ef8bcd3126f7e7450125887dffe3" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a6/3d/124ac75fcd0ecc09b8fdccb0246ef65e35b012030defb0e0eba2cbbbe948/pandas-2.3.3-cp314-cp314-win_amd64.whl", hash = "sha256:1b07204a219b3b7350abaae088f451860223a52cfb8a6c53358e7948735158e5" }, - { url = "https://mirrors.aliyun.com/pypi/packages/89/9c/0e21c895c38a157e0faa1fb64587a9226d6dd46452cac4532d80c3c4a244/pandas-2.3.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:2462b1a365b6109d275250baaae7b760fd25c726aaca0054649286bcfbb3e8ec" }, - { url = "https://mirrors.aliyun.com/pypi/packages/d7/82/b69a1c95df796858777b68fbe6a81d37443a33319761d7c652ce77797475/pandas-2.3.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:0242fe9a49aa8b4d78a4fa03acb397a58833ef6199e9aa40a95f027bb3a1b6e7" }, - { url = "https://mirrors.aliyun.com/pypi/packages/f9/88/702bde3ba0a94b8c73a0181e05144b10f13f29ebfc2150c3a79062a8195d/pandas-2.3.3-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a21d830e78df0a515db2b3d2f5570610f5e6bd2e27749770e8bb7b524b89b450" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a4/1e/1bac1a839d12e6a82ec6cb40cda2edde64a2013a66963293696bbf31fbbb/pandas-2.3.3-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2e3ebdb170b5ef78f19bfb71b0dc5dc58775032361fa188e814959b74d726dd5" }, - { url = "https://mirrors.aliyun.com/pypi/packages/44/91/483de934193e12a3b1d6ae7c8645d083ff88dec75f46e827562f1e4b4da6/pandas-2.3.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:d051c0e065b94b7a3cea50eb1ec32e912cd96dba41647eb24104b6c6c14c5788" }, - { url = "https://mirrors.aliyun.com/pypi/packages/70/44/5191d2e4026f86a2a109053e194d3ba7a31a2d10a9c2348368c63ed4e85a/pandas-2.3.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:3869faf4bd07b3b66a9f462417d0ca3a9df29a9f6abd5d0d0dbab15dac7abe87" }, + { url = "https://mirrors.aliyun.com/pypi/packages/6f/fa/7f0ac4ca8877c57537aaff2a842f8760e630d8e824b730eb2e859ffe96ca/pandas-3.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b78d646249b9a2bc191040988c7bb524c92fa8534fb0898a0741d7e6f2ffafa6" }, + { url = "https://mirrors.aliyun.com/pypi/packages/6f/11/28a221815dcea4c0c9414dfc845e34a84a6a7dabc6da3194498ed5ba4361/pandas-3.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:bc9cba7b355cb4162442a88ce495e01cb605f17ac1e27d6596ac963504e0305f" }, + { url = "https://mirrors.aliyun.com/pypi/packages/ba/da/53bbc8c5363b7e5bd10f9ae59ab250fc7a382ea6ba08e4d06d8694370354/pandas-3.0.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3c9a1a149aed3b6c9bf246033ff91e1b02d529546c5d6fb6b74a28fea0cf4c70" }, + { url = "https://mirrors.aliyun.com/pypi/packages/f7/a3/51e02ebc2a14974170d51e2410dfdab58870ea9bcd37cda15bd553d24dc4/pandas-3.0.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:95683af6175d884ee89471842acfca29172a85031fccdabc35e50c0984470a0e" }, + { url = "https://mirrors.aliyun.com/pypi/packages/a5/fe/05a51e3cac11d161472b8297bd41723ea98013384dd6d76d115ce3482f9b/pandas-3.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1fbbb5a7288719e36b76b4f18d46ede46e7f916b6c8d9915b756b0a6c3f792b3" }, + { url = "https://mirrors.aliyun.com/pypi/packages/ee/56/ba620583225f9b85a4d3e69c01df3e3870659cc525f67929b60e9f21dcd1/pandas-3.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8e8b9808590fa364416b49b2a35c1f4cf2785a6c156935879e57f826df22038e" }, + { url = "https://mirrors.aliyun.com/pypi/packages/c9/8c/c6638d9f67e45e07656b3826405c5cc5f57f6fd07c8b2572ade328c86e22/pandas-3.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:98212a38a709feb90ae658cb6227ea3657c22ba8157d4b8f913cd4c950de5e7e" }, + { url = "https://mirrors.aliyun.com/pypi/packages/7b/bf/bd1335c3bf1770b6d8fed2799993b11c4971af93bb1b729b9ebbc02ca2ec/pandas-3.0.0-cp313-cp313-win_arm64.whl", hash = "sha256:177d9df10b3f43b70307a149d7ec49a1229a653f907aa60a48f1877d0e6be3be" }, + { url = "https://mirrors.aliyun.com/pypi/packages/8e/c6/f5e2171914d5e29b9171d495344097d54e3ffe41d2d85d8115baba4dc483/pandas-3.0.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:2713810ad3806767b89ad3b7b69ba153e1c6ff6d9c20f9c2140379b2a98b6c98" }, + { url = "https://mirrors.aliyun.com/pypi/packages/51/88/9a0164f99510a1acb9f548691f022c756c2314aad0d8330a24616c14c462/pandas-3.0.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:15d59f885ee5011daf8335dff47dcb8a912a27b4ad7826dc6cbe809fd145d327" }, + { url = "https://mirrors.aliyun.com/pypi/packages/e0/53/b34d78084d88d8ae2b848591229da8826d1e65aacf00b3abe34023467648/pandas-3.0.0-cp313-cp313t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:24e6547fb64d2c92665dd2adbfa4e85fa4fd70a9c070e7cfb03b629a0bbab5eb" }, + { url = "https://mirrors.aliyun.com/pypi/packages/5b/d3/bee792e7c3d6930b74468d990604325701412e55d7aaf47460a22311d1a5/pandas-3.0.0-cp313-cp313t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:48ee04b90e2505c693d3f8e8f524dab8cb8aaf7ddcab52c92afa535e717c4812" }, + { url = "https://mirrors.aliyun.com/pypi/packages/55/db/2570bc40fb13aaed1cbc3fbd725c3a60ee162477982123c3adc8971e7ac1/pandas-3.0.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:66f72fb172959af42a459e27a8d8d2c7e311ff4c1f7db6deb3b643dbc382ae08" }, + { url = "https://mirrors.aliyun.com/pypi/packages/bc/2e/297ac7f21c8181b62a4cccebad0a70caf679adf3ae5e83cb676194c8acc3/pandas-3.0.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4a4a400ca18230976724a5066f20878af785f36c6756e498e94c2a5e5d57779c" }, + { url = "https://mirrors.aliyun.com/pypi/packages/0a/46/e1c6876d71c14332be70239acce9ad435975a80541086e5ffba2f249bcf6/pandas-3.0.0-cp313-cp313t-win_amd64.whl", hash = "sha256:940eebffe55528074341a5a36515f3e4c5e25e958ebbc764c9502cfc35ba3faa" }, + { url = "https://mirrors.aliyun.com/pypi/packages/c0/db/0270ad9d13c344b7a36fa77f5f8344a46501abf413803e885d22864d10bf/pandas-3.0.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:597c08fb9fef0edf1e4fa2f9828dd27f3d78f9b8c9b4a748d435ffc55732310b" }, + { url = "https://mirrors.aliyun.com/pypi/packages/09/9f/c176f5e9717f7c91becfe0f55a52ae445d3f7326b4a2cf355978c51b7913/pandas-3.0.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:447b2d68ac5edcbf94655fe909113a6dba6ef09ad7f9f60c80477825b6c489fe" }, + { url = "https://mirrors.aliyun.com/pypi/packages/d9/e7/63ad4cc10b257b143e0a5ebb04304ad806b4e1a61c5da25f55896d2ca0f4/pandas-3.0.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:debb95c77ff3ed3ba0d9aa20c3a2f19165cc7956362f9873fce1ba0a53819d70" }, + { url = "https://mirrors.aliyun.com/pypi/packages/9e/0e/4e4c2d8210f20149fd2248ef3fff26623604922bd564d915f935a06dd63d/pandas-3.0.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fedabf175e7cd82b69b74c30adbaa616de301291a5231138d7242596fc296a8d" }, + { url = "https://mirrors.aliyun.com/pypi/packages/c6/60/c9de8ac906ba1f4d2250f8a951abe5135b404227a55858a75ad26f84db47/pandas-3.0.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:412d1a89aab46889f3033a386912efcdfa0f1131c5705ff5b668dda88305e986" }, + { url = "https://mirrors.aliyun.com/pypi/packages/a1/69/806e6637c70920e5787a6d6896fd707f8134c2c55cd761e7249a97b7dc5a/pandas-3.0.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:e979d22316f9350c516479dd3a92252be2937a9531ed3a26ec324198a99cdd49" }, + { url = "https://mirrors.aliyun.com/pypi/packages/cb/de/918621e46af55164c400ab0ef389c9d969ab85a43d59ad1207d4ddbe30a5/pandas-3.0.0-cp314-cp314-win_amd64.whl", hash = "sha256:083b11415b9970b6e7888800c43c82e81a06cd6b06755d84804444f0007d6bb7" }, + { url = "https://mirrors.aliyun.com/pypi/packages/91/a1/3562a18dd0bd8c73344bfa26ff90c53c72f827df119d6d6b1dacc84d13e3/pandas-3.0.0-cp314-cp314-win_arm64.whl", hash = "sha256:5db1e62cb99e739fa78a28047e861b256d17f88463c76b8dafc7c1338086dca8" }, + { url = "https://mirrors.aliyun.com/pypi/packages/ce/26/430d91257eaf366f1737d7a1c158677caaf6267f338ec74e3a1ec444111c/pandas-3.0.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:697b8f7d346c68274b1b93a170a70974cdc7d7354429894d5927c1effdcccd73" }, + { url = "https://mirrors.aliyun.com/pypi/packages/ec/1a/954eb47736c2b7f7fe6a9d56b0cb6987773c00faa3c6451a43db4beb3254/pandas-3.0.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:8cb3120f0d9467ed95e77f67a75e030b67545bcfa08964e349252d674171def2" }, + { url = "https://mirrors.aliyun.com/pypi/packages/20/fc/b96f3a5a28b250cd1b366eb0108df2501c0f38314a00847242abab71bb3a/pandas-3.0.0-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:33fd3e6baa72899746b820c31e4b9688c8e1b7864d7aec2de7ab5035c285277a" }, + { url = "https://mirrors.aliyun.com/pypi/packages/90/b3/d0e2952f103b4fbef1ef22d0c2e314e74fc9064b51cee30890b5e3286ee6/pandas-3.0.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a8942e333dc67ceda1095227ad0febb05a3b36535e520154085db632c40ad084" }, + { url = "https://mirrors.aliyun.com/pypi/packages/76/81/832894f286df828993dc5fd61c63b231b0fb73377e99f6c6c369174cf97e/pandas-3.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:783ac35c4d0fe0effdb0d67161859078618b1b6587a1af15928137525217a721" }, + { url = "https://mirrors.aliyun.com/pypi/packages/34/a0/ed160a00fb4f37d806406bc0a79a8b62fe67f29d00950f8d16203ff3409b/pandas-3.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:125eb901e233f155b268bbef9abd9afb5819db74f0e677e89a61b246228c71ac" }, + { url = "https://mirrors.aliyun.com/pypi/packages/36/c8/2ac00d7255252c5e3cf61b35ca92ca25704b0188f7454ca4aec08a33cece/pandas-3.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:b86d113b6c109df3ce0ad5abbc259fe86a1bd4adfd4a31a89da42f84f65509bb" }, + { url = "https://mirrors.aliyun.com/pypi/packages/e6/3f/a80ac00acbc6b35166b42850e98a4f466e2c0d9c64054161ba9620f95680/pandas-3.0.0-cp314-cp314t-win_arm64.whl", hash = "sha256:1c39eab3ad38f2d7a249095f0a3d8f8c22cc0f847e98ccf5bbe732b272e2d9fa" }, +] + +[[package]] +name = "parso" +version = "0.8.5" +source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/d4/de/53e0bcf53d13e005bd8c92e7855142494f41171b34c2536b86187474184d/parso-0.8.5.tar.gz", hash = "sha256:034d7354a9a018bdce352f48b2a8a450f05e9d6ee85db84764e9b6bd96dafe5a" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/16/32/f8e3c85d1d5250232a5d3477a2a28cc291968ff175caeadaf3cc19ce0e4a/parso-0.8.5-py2.py3-none-any.whl", hash = "sha256:646204b5ee239c396d040b90f9e272e9a8017c630092bf59980beb62fd033887" }, ] [[package]] name = "pathspec" -version = "0.12.1" +version = "1.0.4" source = { registry = "https://mirrors.aliyun.com/pypi/simple" } -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/ca/bc/f35b8446f4531a7cb215605d100cd88b7ac6f44ab3fc94870c120ab3adbf/pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/fa/36/e27608899f9b8d4dff0617b2d9ab17ca5608956ca44461ac14ac48b44015/pathspec-1.0.4.tar.gz", hash = "sha256:0210e2ae8a21a9137c0d470578cb0e595af87edaa6ebf12ff176f14a02e0e645" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08" }, + { url = "https://mirrors.aliyun.com/pypi/packages/ef/3c/2c197d226f9ea224a9ab8d197933f9da0ae0aac5b6e0f884e2b8d9c8e9f7/pathspec-1.0.4-py3-none-any.whl", hash = "sha256:fb6ae2fd4e7c921a165808a552060e722767cfa526f99ca5156ed2ce45a5c723" }, +] + +[[package]] +name = "pexpect" +version = "4.9.0" +source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +dependencies = [ + { name = "ptyprocess", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/42/92/cc564bf6381ff43ce1f4d06852fc19a2f11d180f23dc32d9588bee2f149d/pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523" }, +] + +[[package]] +name = "platformdirs" +version = "4.5.1" +source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/cf/86/0248f086a84f01b37aaec0fa567b397df1a119f73c16f6c7a9aac73ea309/platformdirs-4.5.1.tar.gz", hash = "sha256:61d5cdcc6065745cdd94f0f878977f8de9437be93de97c1c12f853c9c0cdcbda" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/cb/28/3bfe2fa5a7b9c46fe7e13c97bda14c895fb10fa2ebf1d0abb90e0cea7ee1/platformdirs-4.5.1-py3-none-any.whl", hash = "sha256:d03afa3963c806a9bed9d5125c8f4cb2fdaf74a55ab60e5d59b3fde758104d31" }, +] + +[[package]] +name = "prompt-toolkit" +version = "3.0.52" +source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +dependencies = [ + { name = "wcwidth" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/a1/96/06e01a7b38dce6fe1db213e061a4602dd6032a8a97ef6c1a862537732421/prompt_toolkit-3.0.52.tar.gz", hash = "sha256:28cde192929c8e7321de85de1ddbe736f1375148b02f2e17edd840042b1be855" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/84/03/0d3ce49e2505ae70cf43bc5bb3033955d2fc9f932163e84dc0779cc47f48/prompt_toolkit-3.0.52-py3-none-any.whl", hash = "sha256:9aac639a3bbd33284347de5ad8d68ecc044b91a762dc39b7c21095fcd6a19955" }, +] + +[[package]] +name = "psutil" +version = "7.2.1" +source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/73/cb/09e5184fb5fc0358d110fc3ca7f6b1d033800734d34cac10f4136cfac10e/psutil-7.2.1.tar.gz", hash = "sha256:f7583aec590485b43ca601dd9cea0dcd65bd7bb21d30ef4ddbf4ea6b5ed1bdd3" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/77/8e/f0c242053a368c2aa89584ecd1b054a18683f13d6e5a318fc9ec36582c94/psutil-7.2.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:ba9f33bb525b14c3ea563b2fd521a84d2fa214ec59e3e6a2858f78d0844dd60d" }, + { url = "https://mirrors.aliyun.com/pypi/packages/26/97/a58a4968f8990617decee234258a2b4fc7cd9e35668387646c1963e69f26/psutil-7.2.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:81442dac7abfc2f4f4385ea9e12ddf5a796721c0f6133260687fec5c3780fa49" }, + { url = "https://mirrors.aliyun.com/pypi/packages/db/6d/ed44901e830739af5f72a85fa7ec5ff1edea7f81bfbf4875e409007149bd/psutil-7.2.1-cp313-cp313t-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ea46c0d060491051d39f0d2cff4f98d5c72b288289f57a21556cc7d504db37fc" }, + { url = "https://mirrors.aliyun.com/pypi/packages/c7/65/b628f8459bca4efbfae50d4bf3feaab803de9a160b9d5f3bd9295a33f0c2/psutil-7.2.1-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:35630d5af80d5d0d49cfc4d64c1c13838baf6717a13effb35869a5919b854cdf" }, + { url = "https://mirrors.aliyun.com/pypi/packages/fb/23/851cadc9764edcc18f0effe7d0bf69f727d4cf2442deb4a9f78d4e4f30f2/psutil-7.2.1-cp313-cp313t-win_amd64.whl", hash = "sha256:923f8653416604e356073e6e0bccbe7c09990acef442def2f5640dd0faa9689f" }, + { url = "https://mirrors.aliyun.com/pypi/packages/59/82/d63e8494ec5758029f31c6cb06d7d161175d8281e91d011a4a441c8a43b5/psutil-7.2.1-cp313-cp313t-win_arm64.whl", hash = "sha256:cfbe6b40ca48019a51827f20d830887b3107a74a79b01ceb8cc8de4ccb17b672" }, + { url = "https://mirrors.aliyun.com/pypi/packages/05/c2/5fb764bd61e40e1fe756a44bd4c21827228394c17414ade348e28f83cd79/psutil-7.2.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:494c513ccc53225ae23eec7fe6e1482f1b8a44674241b54561f755a898650679" }, + { url = "https://mirrors.aliyun.com/pypi/packages/c9/d2/935039c20e06f615d9ca6ca0ab756cf8408a19d298ffaa08666bc18dc805/psutil-7.2.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:3fce5f92c22b00cdefd1645aa58ab4877a01679e901555067b1bd77039aa589f" }, + { url = "https://mirrors.aliyun.com/pypi/packages/77/69/19f1eb0e01d24c2b3eacbc2f78d3b5add8a89bf0bb69465bc8d563cc33de/psutil-7.2.1-cp314-cp314t-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:93f3f7b0bb07711b49626e7940d6fe52aa9940ad86e8f7e74842e73189712129" }, + { url = "https://mirrors.aliyun.com/pypi/packages/e1/6d/7e18b1b4fa13ad370787626c95887b027656ad4829c156bb6569d02f3262/psutil-7.2.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d34d2ca888208eea2b5c68186841336a7f5e0b990edec929be909353a202768a" }, + { url = "https://mirrors.aliyun.com/pypi/packages/98/60/1672114392dd879586d60dd97896325df47d9a130ac7401318005aab28ec/psutil-7.2.1-cp314-cp314t-win_amd64.whl", hash = "sha256:2ceae842a78d1603753561132d5ad1b2f8a7979cb0c283f5b52fb4e6e14b1a79" }, + { url = "https://mirrors.aliyun.com/pypi/packages/fb/7b/d0e9d4513c46e46897b46bcfc410d51fc65735837ea57a25170f298326e6/psutil-7.2.1-cp314-cp314t-win_arm64.whl", hash = "sha256:08a2f175e48a898c8eb8eace45ce01777f4785bc744c90aa2cc7f2fa5462a266" }, + { url = "https://mirrors.aliyun.com/pypi/packages/c5/cf/5180eb8c8bdf6a503c6919f1da28328bd1e6b3b1b5b9d5b01ae64f019616/psutil-7.2.1-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:b2e953fcfaedcfbc952b44744f22d16575d3aa78eb4f51ae74165b4e96e55f42" }, + { url = "https://mirrors.aliyun.com/pypi/packages/c5/2c/78e4a789306a92ade5000da4f5de3255202c534acdadc3aac7b5458fadef/psutil-7.2.1-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:05cc68dbb8c174828624062e73078e7e35406f4ca2d0866c272c2410d8ef06d1" }, + { url = "https://mirrors.aliyun.com/pypi/packages/29/f8/40e01c350ad9a2b3cb4e6adbcc8a83b17ee50dd5792102b6142385937db5/psutil-7.2.1-cp36-abi3-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5e38404ca2bb30ed7267a46c02f06ff842e92da3bb8c5bfdadbd35a5722314d8" }, + { url = "https://mirrors.aliyun.com/pypi/packages/06/e4/b751cdf839c011a9714a783f120e6a86b7494eb70044d7d81a25a5cd295f/psutil-7.2.1-cp36-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ab2b98c9fc19f13f59628d94df5cc4cc4844bc572467d113a8b517d634e362c6" }, + { url = "https://mirrors.aliyun.com/pypi/packages/44/ad/bbf6595a8134ee1e94a4487af3f132cef7fce43aef4a93b49912a48c3af7/psutil-7.2.1-cp36-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:f78baafb38436d5a128f837fab2d92c276dfb48af01a240b861ae02b2413ada8" }, + { url = "https://mirrors.aliyun.com/pypi/packages/1c/15/dd6fd869753ce82ff64dcbc18356093471a5a5adf4f77ed1f805d473d859/psutil-7.2.1-cp36-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:99a4cd17a5fdd1f3d014396502daa70b5ec21bf4ffe38393e152f8e449757d67" }, + { url = "https://mirrors.aliyun.com/pypi/packages/34/68/d9317542e3f2b180c4306e3f45d3c922d7e86d8ce39f941bb9e2e9d8599e/psutil-7.2.1-cp37-abi3-win_amd64.whl", hash = "sha256:b1b0671619343aa71c20ff9767eced0483e4fc9e1f489d50923738caf6a03c17" }, + { url = "https://mirrors.aliyun.com/pypi/packages/3e/73/2ce007f4198c80fcf2cb24c169884f833fe93fbc03d55d302627b094ee91/psutil-7.2.1-cp37-abi3-win_arm64.whl", hash = "sha256:0d67c1822c355aa6f7314d92018fb4268a76668a536f133599b91edd48759442" }, +] + +[[package]] +name = "ptyprocess" +version = "0.7.0" +source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/20/e5/16ff212c1e452235a90aeb09066144d0c5a6a8c0834397e03f5224495c4e/ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35" }, +] + +[[package]] +name = "pure-eval" +version = "0.2.3" +source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/cd/05/0a34433a064256a578f1783a10da6df098ceaa4a57bbeaa96a6c0352786b/pure_eval-0.2.3.tar.gz", hash = "sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl", hash = "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0" }, ] [[package]] name = "pyasn1" -version = "0.6.1" +version = "0.6.2" source = { registry = "https://mirrors.aliyun.com/pypi/simple" } -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/ba/e9/01f1a64245b89f039897cb0130016d79f77d52669aae6ee7b159a6c4c018/pyasn1-0.6.1.tar.gz", hash = "sha256:6f580d2bdd84365380830acf45550f2511469f673cb4a5ae3857a3170128b034" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/fe/b6/6e630dff89739fcd427e3f72b3d905ce0acb85a45d4ec3e2678718a3487f/pyasn1-0.6.2.tar.gz", hash = "sha256:9b59a2b25ba7e4f8197db7686c09fb33e658b98339fadb826e9512629017833b" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/c8/f1/d6a797abb14f6283c0ddff96bbdd46937f64122b8c925cab503dd37f8214/pyasn1-0.6.1-py3-none-any.whl", hash = "sha256:0d632f46f2ba09143da3a8afe9e33fb6f92fa2320ab7e886e2d0f7672af84629" }, + { url = "https://mirrors.aliyun.com/pypi/packages/44/b5/a96872e5184f354da9c84ae119971a0a4c221fe9b27a4d94bd43f2596727/pyasn1-0.6.2-py3-none-any.whl", hash = "sha256:1eb26d860996a18e9b6ed05e7aae0e9fc21619fcee6af91cca9bad4fbea224bf" }, ] [[package]] @@ -699,11 +1002,11 @@ wheels = [ [[package]] name = "pycparser" -version = "2.23" +version = "3.0" source = { registry = "https://mirrors.aliyun.com/pypi/simple" } -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/fe/cf/d2d3b9f5699fb1e4615c8e32ff220203e43b248e1dfcc6736ad9057731ca/pycparser-2.23.tar.gz", hash = "sha256:78816d4f24add8f10a06d6f05b4d424ad9e96cfebf68a4ddc99c65c0720d00c2" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/1b/7d/92392ff7815c21062bea51aa7b87d45576f649f16458d78b7cf94b9ab2e6/pycparser-3.0.tar.gz", hash = "sha256:600f49d217304a5902ac3c37e1281c9fe94e4d0489de643a9504c5cdfdfc6b29" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/a0/e3/59cd50310fc9b59512193629e1984c1f95e5c8ae6e5d8c69532ccc65a7fe/pycparser-2.23-py3-none-any.whl", hash = "sha256:e5c6e8d3fbad53479cab09ac03729e0a9faf2bee3db8208a550daf5af81a5934" }, + { url = "https://mirrors.aliyun.com/pypi/packages/0c/c3/44f3fbbfa403ea2a7c779186dc20772604442dde72947e7d01069cbe98e3/pycparser-3.0-py3-none-any.whl", hash = "sha256:b727414169a36b7d524c1c3e31839a521725078d7b2ff038656844266160a992" }, ] [[package]] @@ -869,12 +1172,46 @@ requires-dist = [ ] [[package]] -name = "pytz" -version = "2025.2" +name = "pyzmq" +version = "27.1.0" source = { registry = "https://mirrors.aliyun.com/pypi/simple" } -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/f8/bf/abbd3cdfb8fbc7fb3d4d38d320f2441b1e7cbe29be4f23797b4a2b5d8aac/pytz-2025.2.tar.gz", hash = "sha256:360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3" } +dependencies = [ + { name = "cffi", marker = "implementation_name == 'pypy'" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/04/0b/3c9baedbdf613ecaa7aa07027780b8867f57b6293b6ee50de316c9f3222b/pyzmq-27.1.0.tar.gz", hash = "sha256:ac0765e3d44455adb6ddbf4417dcce460fc40a05978c08efdf2948072f6db540" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/81/c4/34e93fe5f5429d7570ec1fa436f1986fb1f00c3e0f43a589fe2bbcd22c3f/pytz-2025.2-py2.py3-none-any.whl", hash = "sha256:5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00" }, + { url = "https://mirrors.aliyun.com/pypi/packages/92/e7/038aab64a946d535901103da16b953c8c9cc9c961dadcbf3609ed6428d23/pyzmq-27.1.0-cp312-abi3-macosx_10_15_universal2.whl", hash = "sha256:452631b640340c928fa343801b0d07eb0c3789a5ffa843f6e1a9cee0ba4eb4fc" }, + { url = "https://mirrors.aliyun.com/pypi/packages/e8/5e/c3c49fdd0f535ef45eefcc16934648e9e59dace4a37ee88fc53f6cd8e641/pyzmq-27.1.0-cp312-abi3-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:1c179799b118e554b66da67d88ed66cd37a169f1f23b5d9f0a231b4e8d44a113" }, + { url = "https://mirrors.aliyun.com/pypi/packages/f8/e5/b0b2504cb4e903a74dcf1ebae157f9e20ebb6ea76095f6cfffea28c42ecd/pyzmq-27.1.0-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3837439b7f99e60312f0c926a6ad437b067356dc2bc2ec96eb395fd0fe804233" }, + { url = "https://mirrors.aliyun.com/pypi/packages/f8/9b/c108cdb55560eaf253f0cbdb61b29971e9fb34d9c3499b0e96e4e60ed8a5/pyzmq-27.1.0-cp312-abi3-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:43ad9a73e3da1fab5b0e7e13402f0b2fb934ae1c876c51d0afff0e7c052eca31" }, + { url = "https://mirrors.aliyun.com/pypi/packages/c2/bb/b79798ca177b9eb0825b4c9998c6af8cd2a7f15a6a1a4272c1d1a21d382f/pyzmq-27.1.0-cp312-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:0de3028d69d4cdc475bfe47a6128eb38d8bc0e8f4d69646adfbcd840facbac28" }, + { url = "https://mirrors.aliyun.com/pypi/packages/9c/80/2df2e7977c4ede24c79ae39dcef3899bfc5f34d1ca7a5b24f182c9b7a9ca/pyzmq-27.1.0-cp312-abi3-musllinux_1_2_i686.whl", hash = "sha256:cf44a7763aea9298c0aa7dbf859f87ed7012de8bda0f3977b6fb1d96745df856" }, + { url = "https://mirrors.aliyun.com/pypi/packages/46/bd/2d45ad24f5f5ae7e8d01525eb76786fa7557136555cac7d929880519e33a/pyzmq-27.1.0-cp312-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:f30f395a9e6fbca195400ce833c731e7b64c3919aa481af4d88c3759e0cb7496" }, + { url = "https://mirrors.aliyun.com/pypi/packages/e6/2f/104c0a3c778d7c2ab8190e9db4f62f0b6957b53c9d87db77c284b69f33ea/pyzmq-27.1.0-cp312-abi3-win32.whl", hash = "sha256:250e5436a4ba13885494412b3da5d518cd0d3a278a1ae640e113c073a5f88edd" }, + { url = "https://mirrors.aliyun.com/pypi/packages/fc/7f/a21b20d577e4100c6a41795842028235998a643b1ad406a6d4163ea8f53e/pyzmq-27.1.0-cp312-abi3-win_amd64.whl", hash = "sha256:9ce490cf1d2ca2ad84733aa1d69ce6855372cb5ce9223802450c9b2a7cba0ccf" }, + { url = "https://mirrors.aliyun.com/pypi/packages/78/c2/c012beae5f76b72f007a9e91ee9401cb88c51d0f83c6257a03e785c81cc2/pyzmq-27.1.0-cp312-abi3-win_arm64.whl", hash = "sha256:75a2f36223f0d535a0c919e23615fc85a1e23b71f40c7eb43d7b1dedb4d8f15f" }, + { url = "https://mirrors.aliyun.com/pypi/packages/60/cb/84a13459c51da6cec1b7b1dc1a47e6db6da50b77ad7fd9c145842750a011/pyzmq-27.1.0-cp313-cp313-android_24_arm64_v8a.whl", hash = "sha256:93ad4b0855a664229559e45c8d23797ceac03183c7b6f5b4428152a6b06684a5" }, + { url = "https://mirrors.aliyun.com/pypi/packages/dc/b6/94414759a69a26c3dd674570a81813c46a078767d931a6c70ad29fc585cb/pyzmq-27.1.0-cp313-cp313-android_24_x86_64.whl", hash = "sha256:fbb4f2400bfda24f12f009cba62ad5734148569ff4949b1b6ec3b519444342e6" }, + { url = "https://mirrors.aliyun.com/pypi/packages/a5/ad/15906493fd40c316377fd8a8f6b1f93104f97a752667763c9b9c1b71d42d/pyzmq-27.1.0-cp313-cp313t-macosx_10_15_universal2.whl", hash = "sha256:e343d067f7b151cfe4eb3bb796a7752c9d369eed007b91231e817071d2c2fec7" }, + { url = "https://mirrors.aliyun.com/pypi/packages/14/1d/d343f3ce13db53a54cb8946594e567410b2125394dafcc0268d8dda027e0/pyzmq-27.1.0-cp313-cp313t-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:08363b2011dec81c354d694bdecaef4770e0ae96b9afea70b3f47b973655cc05" }, + { url = "https://mirrors.aliyun.com/pypi/packages/69/2d/d83dd6d7ca929a2fc67d2c3005415cdf322af7751d773524809f9e585129/pyzmq-27.1.0-cp313-cp313t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d54530c8c8b5b8ddb3318f481297441af102517602b569146185fa10b63f4fa9" }, + { url = "https://mirrors.aliyun.com/pypi/packages/3e/cd/9822a7af117f4bc0f1952dbe9ef8358eb50a24928efd5edf54210b850259/pyzmq-27.1.0-cp313-cp313t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6f3afa12c392f0a44a2414056d730eebc33ec0926aae92b5ad5cf26ebb6cc128" }, + { url = "https://mirrors.aliyun.com/pypi/packages/9a/12/f003e824a19ed73be15542f172fd0ec4ad0b60cf37436652c93b9df7c585/pyzmq-27.1.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:c65047adafe573ff023b3187bb93faa583151627bc9c51fc4fb2c561ed689d39" }, + { url = "https://mirrors.aliyun.com/pypi/packages/d5/4a/e82d788ed58e9a23995cee70dbc20c9aded3d13a92d30d57ec2291f1e8a3/pyzmq-27.1.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:90e6e9441c946a8b0a667356f7078d96411391a3b8f80980315455574177ec97" }, + { url = "https://mirrors.aliyun.com/pypi/packages/d9/94/2da0a60841f757481e402b34bf4c8bf57fa54a5466b965de791b1e6f747d/pyzmq-27.1.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:add071b2d25f84e8189aaf0882d39a285b42fa3853016ebab234a5e78c7a43db" }, + { url = "https://mirrors.aliyun.com/pypi/packages/4f/6f/55c10e2e49ad52d080dc24e37adb215e5b0d64990b57598abc2e3f01725b/pyzmq-27.1.0-cp313-cp313t-win32.whl", hash = "sha256:7ccc0700cfdf7bd487bea8d850ec38f204478681ea02a582a8da8171b7f90a1c" }, + { url = "https://mirrors.aliyun.com/pypi/packages/87/4d/2534970ba63dd7c522d8ca80fb92777f362c0f321900667c615e2067cb29/pyzmq-27.1.0-cp313-cp313t-win_amd64.whl", hash = "sha256:8085a9fba668216b9b4323be338ee5437a235fe275b9d1610e422ccc279733e2" }, + { url = "https://mirrors.aliyun.com/pypi/packages/f6/fa/f8aea7a28b0641f31d40dea42d7ef003fded31e184ef47db696bc74cd610/pyzmq-27.1.0-cp313-cp313t-win_arm64.whl", hash = "sha256:6bb54ca21bcfe361e445256c15eedf083f153811c37be87e0514934d6913061e" }, + { url = "https://mirrors.aliyun.com/pypi/packages/87/45/19efbb3000956e82d0331bafca5d9ac19ea2857722fa2caacefb6042f39d/pyzmq-27.1.0-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:ce980af330231615756acd5154f29813d553ea555485ae712c491cd483df6b7a" }, + { url = "https://mirrors.aliyun.com/pypi/packages/48/43/d72ccdbf0d73d1343936296665826350cb1e825f92f2db9db3e61c2162a2/pyzmq-27.1.0-cp314-cp314t-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:1779be8c549e54a1c38f805e56d2a2e5c009d26de10921d7d51cfd1c8d4632ea" }, + { url = "https://mirrors.aliyun.com/pypi/packages/2f/2e/a483f73a10b65a9ef0161e817321d39a770b2acf8bcf3004a28d90d14a94/pyzmq-27.1.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7200bb0f03345515df50d99d3db206a0a6bee1955fbb8c453c76f5bf0e08fb96" }, + { url = "https://mirrors.aliyun.com/pypi/packages/f5/d2/5f36552c2d3e5685abe60dfa56f91169f7a2d99bbaf67c5271022ab40863/pyzmq-27.1.0-cp314-cp314t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:01c0e07d558b06a60773744ea6251f769cd79a41a97d11b8bf4ab8f034b0424d" }, + { url = "https://mirrors.aliyun.com/pypi/packages/c4/2a/404b331f2b7bf3198e9945f75c4c521f0c6a3a23b51f7a4a401b94a13833/pyzmq-27.1.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:80d834abee71f65253c91540445d37c4c561e293ba6e741b992f20a105d69146" }, + { url = "https://mirrors.aliyun.com/pypi/packages/1c/0b/f4107e33f62a5acf60e3ded67ed33d79b4ce18de432625ce2fc5093d6388/pyzmq-27.1.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:544b4e3b7198dde4a62b8ff6685e9802a9a1ebf47e77478a5eb88eca2a82f2fd" }, + { url = "https://mirrors.aliyun.com/pypi/packages/0d/01/add31fe76512642fd6e40e3a3bd21f4b47e242c8ba33efb6809e37076d9b/pyzmq-27.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:cedc4c68178e59a4046f97eca31b148ddcf51e88677de1ef4e78cf06c5376c9a" }, + { url = "https://mirrors.aliyun.com/pypi/packages/c4/59/a5f38970f9bf07cee96128de79590bb354917914a9be11272cfc7ff26af0/pyzmq-27.1.0-cp314-cp314t-win32.whl", hash = "sha256:1f0b2a577fd770aa6f053211a55d1c47901f4d537389a034c690291485e5fe92" }, + { url = "https://mirrors.aliyun.com/pypi/packages/70/d8/78b1bad170f93fcf5e3536e70e8fadac55030002275c9a29e8f5719185de/pyzmq-27.1.0-cp314-cp314t-win_amd64.whl", hash = "sha256:19c9468ae0437f8074af379e986c5d3d7d7bfe033506af442e8c879732bedbe0" }, + { url = "https://mirrors.aliyun.com/pypi/packages/81/d6/4bfbb40c9a0b42fc53c7cf442f6385db70b40f74a783130c5d0a5aa62228/pyzmq-27.1.0-cp314-cp314t-win_arm64.whl", hash = "sha256:dc5dbf68a7857b59473f7df42650c621d7e8923fb03fa74a526890f4d33cc4d7" }, ] [[package]] @@ -906,11 +1243,11 @@ wheels = [ [[package]] name = "soupsieve" -version = "2.8.1" +version = "2.8.3" source = { registry = "https://mirrors.aliyun.com/pypi/simple" } -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/89/23/adf3796d740536d63a6fbda113d07e60c734b6ed5d3058d1e47fc0495e47/soupsieve-2.8.1.tar.gz", hash = "sha256:4cf733bc50fa805f5df4b8ef4740fc0e0fa6218cf3006269afd3f9d6d80fd350" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/7b/ae/2d9c981590ed9999a0d91755b47fc74f74de286b0f5cee14c9269041e6c4/soupsieve-2.8.3.tar.gz", hash = "sha256:3267f1eeea4251fb42728b6dfb746edc9acaffc4a45b27e19450b676586e8349" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/48/f3/b67d6ea49ca9154453b6d70b34ea22f3996b9fa55da105a79d8732227adc/soupsieve-2.8.1-py3-none-any.whl", hash = "sha256:a11fe2a6f3d76ab3cf2de04eb339c1be5b506a8a47f2ceb6d139803177f85434" }, + { url = "https://mirrors.aliyun.com/pypi/packages/46/2c/1462b1d0a634697ae9e55b3cecdcb64788e8b7d63f54d923fcd0bb140aed/soupsieve-2.8.3-py3-none-any.whl", hash = "sha256:ed64f2ba4eebeab06cc4962affce381647455978ffc1e36bb79a545b91f45a95" }, ] [[package]] @@ -922,6 +1259,48 @@ wheels = [ { url = "https://mirrors.aliyun.com/pypi/packages/49/4b/359f28a903c13438ef59ebeee215fb25da53066db67b305c125f1c6d2a25/sqlparse-0.5.5-py3-none-any.whl", hash = "sha256:12a08b3bf3eec877c519589833aed092e2444e68240a3577e8e26148acc7b1ba" }, ] +[[package]] +name = "stack-data" +version = "0.6.3" +source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +dependencies = [ + { name = "asttokens" }, + { name = "executing" }, + { name = "pure-eval" }, +] +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/28/e3/55dcc2cfbc3ca9c29519eb6884dd1415ecb53b0e934862d3559ddcb7e20b/stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695" }, +] + +[[package]] +name = "tornado" +version = "6.5.4" +source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/37/1d/0a336abf618272d53f62ebe274f712e213f5a03c0b2339575430b8362ef2/tornado-6.5.4.tar.gz", hash = "sha256:a22fa9047405d03260b483980635f0b041989d8bcc9a313f8fe18b411d84b1d7" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/ab/a9/e94a9d5224107d7ce3cc1fab8d5dc97f5ea351ccc6322ee4fb661da94e35/tornado-6.5.4-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:d6241c1a16b1c9e4cc28148b1cda97dd1c6cb4fb7068ac1bedc610768dff0ba9" }, + { url = "https://mirrors.aliyun.com/pypi/packages/db/7e/f7b8d8c4453f305a51f80dbb49014257bb7d28ccb4bbb8dd328ea995ecad/tornado-6.5.4-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:2d50f63dda1d2cac3ae1fa23d254e16b5e38153758470e9956cbc3d813d40843" }, + { url = "https://mirrors.aliyun.com/pypi/packages/ba/b5/206f82d51e1bfa940ba366a8d2f83904b15942c45a78dd978b599870ab44/tornado-6.5.4-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d1cf66105dc6acb5af613c054955b8137e34a03698aa53272dbda4afe252be17" }, + { url = "https://mirrors.aliyun.com/pypi/packages/8e/9d/1a3338e0bd30ada6ad4356c13a0a6c35fbc859063fa7eddb309183364ac1/tornado-6.5.4-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:50ff0a58b0dc97939d29da29cd624da010e7f804746621c78d14b80238669335" }, + { url = "https://mirrors.aliyun.com/pypi/packages/50/d4/e51d52047e7eb9a582da59f32125d17c0482d065afd5d3bc435ff2120dc5/tornado-6.5.4-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e5fb5e04efa54cf0baabdd10061eb4148e0be137166146fff835745f59ab9f7f" }, + { url = "https://mirrors.aliyun.com/pypi/packages/27/07/2273972f69ca63dbc139694a3fc4684edec3ea3f9efabf77ed32483b875c/tornado-6.5.4-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:9c86b1643b33a4cd415f8d0fe53045f913bf07b4a3ef646b735a6a86047dda84" }, + { url = "https://mirrors.aliyun.com/pypi/packages/d1/83/41c52e47502bf7260044413b6770d1a48dda2f0246f95ee1384a3cd9c44a/tornado-6.5.4-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:6eb82872335a53dd063a4f10917b3efd28270b56a33db69009606a0312660a6f" }, + { url = "https://mirrors.aliyun.com/pypi/packages/10/c7/bc96917f06cbee182d44735d4ecde9c432e25b84f4c2086143013e7b9e52/tornado-6.5.4-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:6076d5dda368c9328ff41ab5d9dd3608e695e8225d1cd0fd1e006f05da3635a8" }, + { url = "https://mirrors.aliyun.com/pypi/packages/0c/1a/d7592328d037d36f2d2462f4bc1fbb383eec9278bc786c1b111cbbd44cfa/tornado-6.5.4-cp39-abi3-win32.whl", hash = "sha256:1768110f2411d5cd281bac0a090f707223ce77fd110424361092859e089b38d1" }, + { url = "https://mirrors.aliyun.com/pypi/packages/d6/6d/c69be695a0a64fd37a97db12355a035a6d90f79067a3cf936ec2b1dc38cd/tornado-6.5.4-cp39-abi3-win_amd64.whl", hash = "sha256:fa07d31e0cd85c60713f2b995da613588aa03e1303d75705dca6af8babc18ddc" }, + { url = "https://mirrors.aliyun.com/pypi/packages/50/49/8dc3fd90902f70084bd2cd059d576ddb4f8bb44c2c7c0e33a11422acb17e/tornado-6.5.4-cp39-abi3-win_arm64.whl", hash = "sha256:053e6e16701eb6cbe641f308f4c1a9541f91b6261991160391bfc342e8a551a1" }, +] + +[[package]] +name = "traitlets" +version = "5.14.3" +source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/eb/79/72064e6a701c2183016abbbfedaba506d81e30e232a68c9f0d6f6fcd1574/traitlets-5.14.3.tar.gz", hash = "sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl", hash = "sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f" }, +] + [[package]] name = "typing-extensions" version = "4.15.0" @@ -966,10 +1345,10 @@ wheels = [ [[package]] name = "ua-parser-builtins" -version = "0.18.0.post1" +version = "202601" source = { registry = "https://mirrors.aliyun.com/pypi/simple" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/6f/d3/13adff37f15489c784cc7669c35a6c3bf94b87540229eedf52ef2a1d0175/ua_parser_builtins-0.18.0.post1-py3-none-any.whl", hash = "sha256:eb4f93504040c3a990a6b0742a2afd540d87d7f9f05fd66e94c101db1564674d" }, + { url = "https://mirrors.aliyun.com/pypi/packages/fd/82/aab481e2fc6dee0a13ce35c750e97dbe3f270fb327089c99a8f5e6900e0c/ua_parser_builtins-202601-py3-none-any.whl", hash = "sha256:f5dc93b0f53724dcd5c3eb79edb0aea281cb304a2c02a9436cbeb8cfb8bc4ad1" }, ] [[package]] @@ -983,3 +1362,12 @@ sdist = { url = "https://mirrors.aliyun.com/pypi/packages/e3/e1/63c5bfb485a94501 wheels = [ { url = "https://mirrors.aliyun.com/pypi/packages/8f/1c/20bb3d7b2bad56d881e3704131ddedbb16eb787101306887dff349064662/user_agents-2.2.0-py3-none-any.whl", hash = "sha256:a98c4dc72ecbc64812c4534108806fb0a0b3a11ec3fd1eafe807cee5b0a942e7" }, ] + +[[package]] +name = "wcwidth" +version = "0.5.0" +source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/64/6e/62daec357285b927e82263a81f3b4c1790215bc77c42530ce4a69d501a43/wcwidth-0.5.0.tar.gz", hash = "sha256:f89c103c949a693bf563377b2153082bf58e309919dfb7f27b04d862a0089333" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/f2/3e/45583b67c2ff08ad5a582d316fcb2f11d6cf0a50c7707ac09d212d25bc98/wcwidth-0.5.0-py3-none-any.whl", hash = "sha256:1efe1361b83b0ff7877b81ba57c8562c99cf812158b778988ce17ec061095695" }, +]