From 3a2959d86c206b924e15eb87e5ac962ef909682e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B9=B0=E5=AE=9A=E4=B8=8D=E7=A6=BB=E6=89=8B?= <12640033+msz-006@user.noreply.gitee.com> Date: Mon, 14 Jul 2025 03:36:06 +0800 Subject: [PATCH 01/11] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0SQLite=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=BA=93=E6=94=AF=E6=8C=81=E6=A0=B8=E5=BF=83=E6=96=87?= =?UTF-8?q?=E4=BB=B6\n\n-=20=E6=96=B0=E5=A2=9E=20async=5Fsqlite=5Fdb.py:?= =?UTF-8?q?=20SQLite=E5=BC=82=E6=AD=A5=E6=95=B0=E6=8D=AE=E5=BA=93=E6=93=8D?= =?UTF-8?q?=E4=BD=9C=E5=B0=81=E8=A3=85\n-=20=E6=96=B0=E5=A2=9E=20schema/sq?= =?UTF-8?q?lite=5Ftables.sql:=20SQLite=E6=95=B0=E6=8D=AE=E5=BA=93=E8=A1=A8?= =?UTF-8?q?=E7=BB=93=E6=9E=84=E5=AE=9A=E4=B9=89\n-=20=E6=96=B0=E5=A2=9E=20?= =?UTF-8?q?schema/sqlite=5Ftables.db:=20SQLite=E6=95=B0=E6=8D=AE=E5=BA=93?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- async_sqlite_db.py | 111 ++++++++ schema/sqlite_tables.db | Bin 0 -> 374293 bytes schema/sqlite_tables.sql | 567 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 678 insertions(+) create mode 100644 async_sqlite_db.py create mode 100644 schema/sqlite_tables.db create mode 100644 schema/sqlite_tables.sql diff --git a/async_sqlite_db.py b/async_sqlite_db.py new file mode 100644 index 0000000..d9409bd --- /dev/null +++ b/async_sqlite_db.py @@ -0,0 +1,111 @@ +# 声明:本代码仅供学习和研究目的使用。使用者应遵守以下原则: +# 1. 不得用于任何商业用途。 +# 2. 使用时应遵守目标平台的使用条款和robots.txt规则。 +# 3. 不得进行大规模爬取或对平台造成运营干扰。 +# 4. 应合理控制请求频率,避免给目标平台带来不必要的负担。 +# 5. 不得用于任何非法或不当的用途。 +# +# 详细许可条款请参阅项目根目录下的LICENSE文件。 +# 使用本代码即表示您同意遵守上述原则和LICENSE中的所有条款。 + + +# -*- coding: utf-8 -*- +# @Author : relakkes@gmail.com +# @Time : 2024/4/6 14:21 +# @Desc : 异步SQLite的增删改查封装 +from typing import Any, Dict, List, Union + +import aiosqlite + + +class AsyncSqliteDB: + def __init__(self, db_path: str) -> None: + self.__db_path = db_path + + async def query(self, sql: str, *args: Union[str, int]) -> List[Dict[str, Any]]: + """ + 从给定的 SQL 中查询记录,返回的是一个列表 + :param sql: 查询的sql + :param args: sql中传递动态参数列表 + :return: + """ + async with aiosqlite.connect(self.__db_path) as conn: + conn.row_factory = aiosqlite.Row + async with conn.execute(sql, args) as cursor: + rows = await cursor.fetchall() + return [dict(row) for row in rows] if rows else [] + + async def get_first(self, sql: str, *args: Union[str, int]) -> Union[Dict[str, Any], None]: + """ + 从给定的 SQL 中查询记录,返回的是符合条件的第一个结果 + :param sql: 查询的sql + :param args:sql中传递动态参数列表 + :return: + """ + async with aiosqlite.connect(self.__db_path) as conn: + conn.row_factory = aiosqlite.Row + async with conn.execute(sql, args) as cursor: + row = await cursor.fetchone() + return dict(row) if row else None + + async def item_to_table(self, table_name: str, item: Dict[str, Any]) -> int: + """ + 表中插入数据 + :param table_name: 表名 + :param item: 一条记录的字典信息 + :return: + """ + fields = list(item.keys()) + values = list(item.values()) + fieldstr = ','.join(fields) + valstr = ','.join(['?'] * len(item)) + sql = f"INSERT INTO {table_name} ({fieldstr}) VALUES({valstr})" + async with aiosqlite.connect(self.__db_path) as conn: + async with conn.execute(sql, values) as cursor: + await conn.commit() + return cursor.lastrowid + + async def update_table(self, table_name: str, updates: Dict[str, Any], field_where: str, + value_where: Union[str, int, float]) -> int: + """ + 更新指定表的记录 + :param table_name: 表名 + :param updates: 需要更新的字段和值的 key - value 映射 + :param field_where: update 语句 where 条件中的字段名 + :param value_where: update 语句 where 条件中的字段值 + :return: + """ + upsets = [] + values = [] + for k, v in updates.items(): + upsets.append(f'{k}=?') + values.append(v) + upsets_str = ','.join(upsets) + values.append(value_where) + sql = f'UPDATE {table_name} SET {upsets_str} WHERE {field_where}=?' + async with aiosqlite.connect(self.__db_path) as conn: + async with conn.execute(sql, values) as cursor: + await conn.commit() + return cursor.rowcount + + async def execute(self, sql: str, *args: Union[str, int]) -> int: + """ + 需要更新、写入等操作的 excute 执行语句 + :param sql: + :param args: + :return: + """ + async with aiosqlite.connect(self.__db_path) as conn: + async with conn.execute(sql, args) as cursor: + await conn.commit() + return cursor.rowcount + + async def executescript(self, sql_script: str) -> None: + """ + 执行SQL脚本,用于初始化数据库表结构 + :param sql_script: SQL脚本内容 + :return: + """ + async with aiosqlite.connect(self.__db_path) as conn: + await conn.executescript(sql_script) + await conn.commit() \ No newline at end of file diff --git a/schema/sqlite_tables.db b/schema/sqlite_tables.db new file mode 100644 index 0000000000000000000000000000000000000000..193ec5edc685ad2af92092d5dc8382f78f60b6de GIT binary patch literal 374293 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

q& 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%0DvytTbC~WzGLi3!VU&XrH3NN^yg1 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 literal 0 HcmV?d00001 diff --git a/schema/sqlite_tables.sql b/schema/sqlite_tables.sql new file mode 100644 index 0000000..dc5adb7 --- /dev/null +++ b/schema/sqlite_tables.sql @@ -0,0 +1,567 @@ +-- SQLite版本的MediaCrawler数据库表结构 +-- 从MySQL tables.sql转换而来,适配SQLite语法 + +-- ---------------------------- +-- Table structure for bilibili_video +-- ---------------------------- +DROP TABLE IF EXISTS bilibili_video; +CREATE TABLE bilibili_video ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + user_id TEXT DEFAULT NULL, + nickname TEXT DEFAULT NULL, + avatar TEXT DEFAULT NULL, + add_ts INTEGER NOT NULL, + last_modify_ts INTEGER NOT NULL, + video_id TEXT NOT NULL, + video_type TEXT NOT NULL, + title TEXT DEFAULT NULL, + desc TEXT, + create_time INTEGER NOT NULL, + liked_count TEXT DEFAULT NULL, + disliked_count TEXT DEFAULT NULL, + video_play_count TEXT DEFAULT NULL, + video_favorite_count TEXT DEFAULT NULL, + video_share_count TEXT DEFAULT NULL, + video_coin_count TEXT DEFAULT NULL, + video_danmaku TEXT DEFAULT NULL, + video_comment TEXT DEFAULT NULL, + video_url TEXT DEFAULT NULL, + video_cover_url TEXT DEFAULT NULL, + source_keyword TEXT DEFAULT '' +); + +CREATE INDEX idx_bilibili_vi_video_i_31c36e ON bilibili_video(video_id); +CREATE INDEX idx_bilibili_vi_create__73e0ec ON bilibili_video(create_time); + +-- ---------------------------- +-- Table structure for bilibili_video_comment +-- ---------------------------- +DROP TABLE IF EXISTS bilibili_video_comment; +CREATE TABLE bilibili_video_comment ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + user_id TEXT DEFAULT NULL, + nickname TEXT DEFAULT NULL, + sex TEXT DEFAULT NULL, + sign TEXT DEFAULT NULL, + avatar TEXT DEFAULT NULL, + add_ts INTEGER NOT NULL, + last_modify_ts INTEGER NOT NULL, + comment_id TEXT NOT NULL, + video_id TEXT NOT NULL, + content TEXT, + create_time INTEGER NOT NULL, + sub_comment_count TEXT NOT NULL, + parent_comment_id TEXT DEFAULT NULL, + like_count TEXT NOT NULL DEFAULT '0' +); + +CREATE INDEX idx_bilibili_vi_comment_41c34e ON bilibili_video_comment(comment_id); +CREATE INDEX idx_bilibili_vi_video_i_f22873 ON bilibili_video_comment(video_id); + +-- ---------------------------- +-- Table structure for bilibili_up_info +-- ---------------------------- +DROP TABLE IF EXISTS bilibili_up_info; +CREATE TABLE bilibili_up_info ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + user_id TEXT DEFAULT NULL, + nickname TEXT DEFAULT NULL, + sex TEXT DEFAULT NULL, + sign TEXT DEFAULT NULL, + avatar TEXT DEFAULT NULL, + add_ts INTEGER NOT NULL, + last_modify_ts INTEGER NOT NULL, + total_fans INTEGER DEFAULT NULL, + total_liked INTEGER DEFAULT NULL, + user_rank INTEGER DEFAULT NULL, + is_official INTEGER DEFAULT NULL +); + +CREATE INDEX idx_bilibili_vi_user_123456 ON bilibili_up_info(user_id); + +-- ---------------------------- +-- Table structure for bilibili_contact_info +-- ---------------------------- +DROP TABLE IF EXISTS bilibili_contact_info; +CREATE TABLE bilibili_contact_info ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + up_id TEXT DEFAULT NULL, + fan_id TEXT DEFAULT NULL, + up_name TEXT DEFAULT NULL, + fan_name TEXT DEFAULT NULL, + up_sign TEXT DEFAULT NULL, + fan_sign TEXT DEFAULT NULL, + up_avatar TEXT DEFAULT NULL, + fan_avatar TEXT DEFAULT NULL, + add_ts INTEGER NOT NULL, + last_modify_ts INTEGER NOT NULL +); + +CREATE INDEX idx_bilibili_contact_info_up_id ON bilibili_contact_info(up_id); +CREATE INDEX idx_bilibili_contact_info_fan_id ON bilibili_contact_info(fan_id); + +-- ---------------------------- +-- Table structure for bilibili_up_dynamic +-- ---------------------------- +DROP TABLE IF EXISTS bilibili_up_dynamic; +CREATE TABLE bilibili_up_dynamic ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + dynamic_id TEXT DEFAULT NULL, + user_id TEXT DEFAULT NULL, + user_name TEXT DEFAULT NULL, + text TEXT DEFAULT NULL, + type TEXT DEFAULT NULL, + pub_ts INTEGER DEFAULT NULL, + total_comments INTEGER DEFAULT NULL, + total_forwards INTEGER DEFAULT NULL, + total_liked INTEGER DEFAULT NULL, + add_ts INTEGER NOT NULL, + last_modify_ts INTEGER NOT NULL +); + +CREATE INDEX idx_bilibili_up_dynamic_dynamic_id ON bilibili_up_dynamic(dynamic_id); + +-- ---------------------------- +-- Table structure for douyin_aweme +-- ---------------------------- +DROP TABLE IF EXISTS douyin_aweme; +CREATE TABLE douyin_aweme ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + user_id TEXT DEFAULT NULL, + sec_uid TEXT DEFAULT NULL, + short_user_id TEXT DEFAULT NULL, + user_unique_id TEXT DEFAULT NULL, + nickname TEXT DEFAULT NULL, + avatar TEXT DEFAULT NULL, + user_signature TEXT DEFAULT NULL, + ip_location TEXT DEFAULT NULL, + add_ts INTEGER NOT NULL, + last_modify_ts INTEGER NOT NULL, + aweme_id TEXT NOT NULL, + aweme_type TEXT NOT NULL, + title TEXT DEFAULT NULL, + desc TEXT, + create_time INTEGER NOT NULL, + liked_count TEXT DEFAULT NULL, + comment_count TEXT DEFAULT NULL, + share_count TEXT DEFAULT NULL, + collected_count TEXT DEFAULT NULL, + aweme_url TEXT DEFAULT NULL, + cover_url TEXT DEFAULT NULL, + video_download_url TEXT DEFAULT NULL, + source_keyword TEXT DEFAULT '' +); + +CREATE INDEX idx_douyin_awem_aweme_i_6f7bc6 ON douyin_aweme(aweme_id); +CREATE INDEX idx_douyin_awem_create__299dfe ON douyin_aweme(create_time); + +-- ---------------------------- +-- Table structure for douyin_aweme_comment +-- ---------------------------- +DROP TABLE IF EXISTS douyin_aweme_comment; +CREATE TABLE douyin_aweme_comment ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + user_id TEXT DEFAULT NULL, + sec_uid TEXT DEFAULT NULL, + short_user_id TEXT DEFAULT NULL, + user_unique_id TEXT DEFAULT NULL, + nickname TEXT DEFAULT NULL, + avatar TEXT DEFAULT NULL, + user_signature TEXT DEFAULT NULL, + ip_location TEXT DEFAULT NULL, + add_ts INTEGER NOT NULL, + last_modify_ts INTEGER NOT NULL, + comment_id TEXT NOT NULL, + aweme_id TEXT NOT NULL, + content TEXT, + create_time INTEGER NOT NULL, + sub_comment_count TEXT NOT NULL, + parent_comment_id TEXT DEFAULT NULL, + like_count TEXT NOT NULL DEFAULT '0', + pictures TEXT NOT NULL DEFAULT '' +); + +CREATE INDEX idx_douyin_awem_comment_fcd7e4 ON douyin_aweme_comment(comment_id); +CREATE INDEX idx_douyin_awem_aweme_i_c50049 ON douyin_aweme_comment(aweme_id); + +-- ---------------------------- +-- Table structure for dy_creator +-- ---------------------------- +DROP TABLE IF EXISTS dy_creator; +CREATE TABLE dy_creator ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + user_id TEXT NOT NULL, + nickname TEXT DEFAULT NULL, + avatar TEXT DEFAULT NULL, + ip_location TEXT DEFAULT NULL, + add_ts INTEGER NOT NULL, + last_modify_ts INTEGER NOT NULL, + desc TEXT, + gender TEXT DEFAULT NULL, + follows TEXT DEFAULT NULL, + fans TEXT DEFAULT NULL, + interaction TEXT DEFAULT NULL, + videos_count TEXT DEFAULT NULL +); + +-- ---------------------------- +-- Table structure for kuaishou_video +-- ---------------------------- +DROP TABLE IF EXISTS kuaishou_video; +CREATE TABLE kuaishou_video ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + user_id TEXT DEFAULT NULL, + nickname TEXT DEFAULT NULL, + avatar TEXT DEFAULT NULL, + add_ts INTEGER NOT NULL, + last_modify_ts INTEGER NOT NULL, + video_id TEXT NOT NULL, + video_type TEXT NOT NULL, + title TEXT DEFAULT NULL, + desc TEXT, + create_time INTEGER NOT NULL, + liked_count TEXT DEFAULT NULL, + viewd_count TEXT DEFAULT NULL, + video_url TEXT DEFAULT NULL, + video_cover_url TEXT DEFAULT NULL, + video_play_url TEXT DEFAULT NULL, + source_keyword TEXT DEFAULT '' +); + +CREATE INDEX idx_kuaishou_vi_video_i_c5c6a6 ON kuaishou_video(video_id); +CREATE INDEX idx_kuaishou_vi_create__a10dee ON kuaishou_video(create_time); + +-- ---------------------------- +-- Table structure for kuaishou_video_comment +-- ---------------------------- +DROP TABLE IF EXISTS kuaishou_video_comment; +CREATE TABLE kuaishou_video_comment ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + user_id TEXT DEFAULT NULL, + nickname TEXT DEFAULT NULL, + avatar TEXT DEFAULT NULL, + add_ts INTEGER NOT NULL, + last_modify_ts INTEGER NOT NULL, + comment_id TEXT NOT NULL, + video_id TEXT NOT NULL, + content TEXT, + create_time INTEGER NOT NULL, + sub_comment_count TEXT NOT NULL +); + +CREATE INDEX idx_kuaishou_vi_comment_ed48fa ON kuaishou_video_comment(comment_id); +CREATE INDEX idx_kuaishou_vi_video_i_e50914 ON kuaishou_video_comment(video_id); + +-- ---------------------------- +-- Table structure for weibo_note +-- ---------------------------- +DROP TABLE IF EXISTS weibo_note; +CREATE TABLE weibo_note ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + user_id TEXT DEFAULT NULL, + nickname TEXT DEFAULT NULL, + avatar TEXT DEFAULT NULL, + gender TEXT DEFAULT NULL, + profile_url TEXT DEFAULT NULL, + ip_location TEXT DEFAULT '', + add_ts INTEGER NOT NULL, + last_modify_ts INTEGER NOT NULL, + note_id TEXT NOT NULL, + content TEXT, + create_time INTEGER NOT NULL, + create_date_time TEXT NOT NULL, + liked_count TEXT DEFAULT NULL, + comments_count TEXT DEFAULT NULL, + shared_count TEXT DEFAULT NULL, + note_url TEXT DEFAULT NULL, + source_keyword TEXT DEFAULT '' +); + +CREATE INDEX idx_weibo_note_note_id_f95b1a ON weibo_note(note_id); +CREATE INDEX idx_weibo_note_create__692709 ON weibo_note(create_time); +CREATE INDEX idx_weibo_note_create__d05ed2 ON weibo_note(create_date_time); + +-- ---------------------------- +-- Table structure for weibo_note_comment +-- ---------------------------- +DROP TABLE IF EXISTS weibo_note_comment; +CREATE TABLE weibo_note_comment ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + user_id TEXT DEFAULT NULL, + nickname TEXT DEFAULT NULL, + avatar TEXT DEFAULT NULL, + gender TEXT DEFAULT NULL, + profile_url TEXT DEFAULT NULL, + ip_location TEXT DEFAULT '', + add_ts INTEGER NOT NULL, + last_modify_ts INTEGER NOT NULL, + comment_id TEXT NOT NULL, + note_id TEXT NOT NULL, + content TEXT, + create_time INTEGER NOT NULL, + create_date_time TEXT NOT NULL, + comment_like_count TEXT NOT NULL, + sub_comment_count TEXT NOT NULL, + parent_comment_id TEXT DEFAULT NULL +); + +CREATE INDEX idx_weibo_note__comment_c7611c ON weibo_note_comment(comment_id); +CREATE INDEX idx_weibo_note__note_id_24f108 ON weibo_note_comment(note_id); +CREATE INDEX idx_weibo_note__create__667fe3 ON weibo_note_comment(create_date_time); + +-- ---------------------------- +-- Table structure for weibo_creator +-- ---------------------------- +DROP TABLE IF EXISTS weibo_creator; +CREATE TABLE weibo_creator ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + user_id TEXT NOT NULL, + nickname TEXT DEFAULT NULL, + avatar TEXT DEFAULT NULL, + ip_location TEXT DEFAULT NULL, + add_ts INTEGER NOT NULL, + last_modify_ts INTEGER NOT NULL, + desc TEXT, + gender TEXT DEFAULT NULL, + follows TEXT DEFAULT NULL, + fans TEXT DEFAULT NULL, + tag_list TEXT +); + +-- ---------------------------- +-- Table structure for xhs_creator +-- ---------------------------- +DROP TABLE IF EXISTS xhs_creator; +CREATE TABLE xhs_creator ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + user_id TEXT NOT NULL, + nickname TEXT DEFAULT NULL, + avatar TEXT DEFAULT NULL, + ip_location TEXT DEFAULT NULL, + add_ts INTEGER NOT NULL, + last_modify_ts INTEGER NOT NULL, + desc TEXT, + gender TEXT DEFAULT NULL, + follows TEXT DEFAULT NULL, + fans TEXT DEFAULT NULL, + interaction TEXT DEFAULT NULL, + tag_list TEXT +); + +-- ---------------------------- +-- Table structure for xhs_note +-- ---------------------------- +DROP TABLE IF EXISTS xhs_note; +CREATE TABLE xhs_note ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + user_id TEXT NOT NULL, + nickname TEXT DEFAULT NULL, + avatar TEXT DEFAULT NULL, + ip_location TEXT DEFAULT NULL, + add_ts INTEGER NOT NULL, + last_modify_ts INTEGER NOT NULL, + note_id TEXT NOT NULL, + type TEXT DEFAULT NULL, + title TEXT DEFAULT NULL, + desc TEXT, + video_url TEXT, + time INTEGER NOT NULL, + last_update_time INTEGER NOT NULL, + liked_count TEXT DEFAULT NULL, + collected_count TEXT DEFAULT NULL, + comment_count TEXT DEFAULT NULL, + share_count TEXT DEFAULT NULL, + image_list TEXT, + tag_list TEXT, + note_url TEXT DEFAULT NULL, + source_keyword TEXT DEFAULT '', + xsec_token TEXT DEFAULT NULL +); + +CREATE INDEX idx_xhs_note_note_id_209457 ON xhs_note(note_id); +CREATE INDEX idx_xhs_note_time_eaa910 ON xhs_note(time); + +-- ---------------------------- +-- Table structure for xhs_note_comment +-- ---------------------------- +DROP TABLE IF EXISTS xhs_note_comment; +CREATE TABLE xhs_note_comment ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + user_id TEXT NOT NULL, + nickname TEXT DEFAULT NULL, + avatar TEXT DEFAULT NULL, + ip_location TEXT DEFAULT NULL, + add_ts INTEGER NOT NULL, + last_modify_ts INTEGER NOT NULL, + comment_id TEXT NOT NULL, + create_time INTEGER NOT NULL, + note_id TEXT NOT NULL, + content TEXT NOT NULL, + sub_comment_count INTEGER NOT NULL, + pictures TEXT DEFAULT NULL, + parent_comment_id TEXT DEFAULT NULL, + like_count TEXT DEFAULT NULL +); + +CREATE INDEX idx_xhs_note_co_comment_8e8349 ON xhs_note_comment(comment_id); +CREATE INDEX idx_xhs_note_co_create__204f8d ON xhs_note_comment(create_time); + +-- ---------------------------- +-- Table structure for tieba_note +-- ---------------------------- +DROP TABLE IF EXISTS tieba_note; +CREATE TABLE tieba_note ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + note_id TEXT NOT NULL, + title TEXT NOT NULL, + desc TEXT, + note_url TEXT NOT NULL, + publish_time TEXT NOT NULL, + user_link TEXT DEFAULT '', + user_nickname TEXT DEFAULT '', + user_avatar TEXT DEFAULT '', + tieba_id TEXT DEFAULT '', + tieba_name TEXT NOT NULL, + tieba_link TEXT NOT NULL, + total_replay_num INTEGER DEFAULT 0, + total_replay_page INTEGER DEFAULT 0, + ip_location TEXT DEFAULT '', + add_ts INTEGER NOT NULL, + last_modify_ts INTEGER NOT NULL, + source_keyword TEXT DEFAULT '' +); + +CREATE INDEX idx_tieba_note_note_id ON tieba_note(note_id); +CREATE INDEX idx_tieba_note_publish_time ON tieba_note(publish_time); + +-- ---------------------------- +-- Table structure for tieba_comment +-- ---------------------------- +DROP TABLE IF EXISTS tieba_comment; +CREATE TABLE tieba_comment ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + comment_id TEXT NOT NULL, + parent_comment_id TEXT DEFAULT '', + content TEXT NOT NULL, + user_link TEXT DEFAULT '', + user_nickname TEXT DEFAULT '', + user_avatar TEXT DEFAULT '', + tieba_id TEXT DEFAULT '', + tieba_name TEXT NOT NULL, + tieba_link TEXT NOT NULL, + publish_time TEXT DEFAULT '', + ip_location TEXT DEFAULT '', + sub_comment_count INTEGER DEFAULT 0, + note_id TEXT NOT NULL, + note_url TEXT NOT NULL, + add_ts INTEGER NOT NULL, + last_modify_ts INTEGER NOT NULL +); + +CREATE INDEX idx_tieba_comment_comment_id ON tieba_comment(comment_id); +CREATE INDEX idx_tieba_comment_note_id ON tieba_comment(note_id); +CREATE INDEX idx_tieba_comment_publish_time ON tieba_comment(publish_time); + +-- ---------------------------- +-- Table structure for tieba_creator +-- ---------------------------- +DROP TABLE IF EXISTS tieba_creator; +CREATE TABLE tieba_creator ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + user_id TEXT NOT NULL, + user_name TEXT NOT NULL, + nickname TEXT DEFAULT NULL, + avatar TEXT DEFAULT NULL, + ip_location TEXT DEFAULT NULL, + add_ts INTEGER NOT NULL, + last_modify_ts INTEGER NOT NULL, + gender TEXT DEFAULT NULL, + follows TEXT DEFAULT NULL, + fans TEXT DEFAULT NULL, + registration_duration TEXT DEFAULT NULL +); + +-- ---------------------------- +-- Table structure for zhihu_content +-- ---------------------------- +DROP TABLE IF EXISTS zhihu_content; +CREATE TABLE zhihu_content ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + content_id TEXT NOT NULL, + content_type TEXT NOT NULL, + content_text TEXT, + content_url TEXT NOT NULL, + question_id TEXT DEFAULT NULL, + title TEXT NOT NULL, + desc TEXT, + created_time TEXT NOT NULL, + updated_time TEXT NOT NULL, + voteup_count INTEGER NOT NULL DEFAULT 0, + comment_count INTEGER NOT NULL DEFAULT 0, + source_keyword TEXT DEFAULT NULL, + user_id TEXT NOT NULL, + user_link TEXT NOT NULL, + user_nickname TEXT NOT NULL, + user_avatar TEXT NOT NULL, + user_url_token TEXT NOT NULL, + add_ts INTEGER NOT NULL, + last_modify_ts INTEGER NOT NULL +); + +CREATE INDEX idx_zhihu_content_content_id ON zhihu_content(content_id); +CREATE INDEX idx_zhihu_content_created_time ON zhihu_content(created_time); + +-- ---------------------------- +-- Table structure for zhihu_comment +-- ---------------------------- +DROP TABLE IF EXISTS zhihu_comment; +CREATE TABLE zhihu_comment ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + comment_id TEXT NOT NULL, + parent_comment_id TEXT DEFAULT NULL, + content TEXT NOT NULL, + publish_time TEXT NOT NULL, + ip_location TEXT DEFAULT NULL, + sub_comment_count INTEGER NOT NULL DEFAULT 0, + like_count INTEGER NOT NULL DEFAULT 0, + dislike_count INTEGER NOT NULL DEFAULT 0, + content_id TEXT NOT NULL, + content_type TEXT NOT NULL, + user_id TEXT NOT NULL, + user_link TEXT NOT NULL, + user_nickname TEXT NOT NULL, + user_avatar TEXT NOT NULL, + add_ts INTEGER NOT NULL, + last_modify_ts INTEGER NOT NULL +); + +CREATE INDEX idx_zhihu_comment_comment_id ON zhihu_comment(comment_id); +CREATE INDEX idx_zhihu_comment_content_id ON zhihu_comment(content_id); +CREATE INDEX idx_zhihu_comment_publish_time ON zhihu_comment(publish_time); + +-- ---------------------------- +-- Table structure for zhihu_creator +-- ---------------------------- +DROP TABLE IF EXISTS zhihu_creator; +CREATE TABLE zhihu_creator ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + user_id TEXT NOT NULL UNIQUE, + user_link TEXT NOT NULL, + user_nickname TEXT NOT NULL, + user_avatar TEXT NOT NULL, + url_token TEXT NOT NULL, + gender TEXT DEFAULT NULL, + ip_location TEXT DEFAULT NULL, + follows INTEGER NOT NULL DEFAULT 0, + fans INTEGER NOT NULL DEFAULT 0, + anwser_count INTEGER NOT NULL DEFAULT 0, + video_count INTEGER NOT NULL DEFAULT 0, + question_count INTEGER NOT NULL DEFAULT 0, + article_count INTEGER NOT NULL DEFAULT 0, + column_count INTEGER NOT NULL DEFAULT 0, + get_voteup_count INTEGER NOT NULL DEFAULT 0, + add_ts INTEGER NOT NULL, + last_modify_ts INTEGER NOT NULL +); + +CREATE UNIQUE INDEX idx_zhihu_creator_user_id ON zhihu_creator(user_id); \ No newline at end of file From fb938f38aa7a08235c212322bb7a409412544acd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B9=B0=E5=AE=9A=E4=B8=8D=E7=A6=BB=E6=89=8B?= <12640033+msz-006@user.noreply.gitee.com> Date: Mon, 14 Jul 2025 03:36:20 +0800 Subject: [PATCH 02/11] =?UTF-8?q?feat:=20=E6=9B=B4=E6=96=B0=E5=90=84?= =?UTF-8?q?=E5=B9=B3=E5=8F=B0store=20SQL=E6=96=87=E4=BB=B6=E4=BB=A5?= =?UTF-8?q?=E6=94=AF=E6=8C=81SQLite\n\n-=20=E6=9B=B4=E6=96=B0=20store/kuai?= =?UTF-8?q?shou/kuaishou=5Fstore=5Fsql.py:=20=E5=BF=AB=E6=89=8B=E5=B9=B3?= =?UTF-8?q?=E5=8F=B0SQLite=E9=80=82=E9=85=8D\n-=20=E6=9B=B4=E6=96=B0=20sto?= =?UTF-8?q?re/tieba/tieba=5Fstore=5Fsql.py:=20=E8=B4=B4=E5=90=A7=E5=B9=B3?= =?UTF-8?q?=E5=8F=B0SQLite=E9=80=82=E9=85=8D\n-=20=E6=9B=B4=E6=96=B0=20sto?= =?UTF-8?q?re/weibo/weibo=5Fstore=5Fsql.py:=20=E5=BE=AE=E5=8D=9A=E5=B9=B3?= =?UTF-8?q?=E5=8F=B0SQLite=E9=80=82=E9=85=8D\n-=20=E6=9B=B4=E6=96=B0=20sto?= =?UTF-8?q?re/xhs/xhs=5Fstore=5Fsql.py:=20=E5=B0=8F=E7=BA=A2=E4=B9=A6?= =?UTF-8?q?=E5=B9=B3=E5=8F=B0SQLite=E9=80=82=E9=85=8D\n-=20=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=20store/zhihu/zhihu=5Fstore=5Fsql.py:=20=E7=9F=A5?= =?UTF-8?q?=E4=B9=8E=E5=B9=B3=E5=8F=B0SQLite=E9=80=82=E9=85=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- store/kuaishou/kuaishou_store_sql.py | 17 +++++++++-------- store/tieba/tieba_store_sql.py | 23 ++++++++++++----------- store/weibo/weibo_store_sql.py | 23 ++++++++++++----------- store/xhs/xhs_store_sql.py | 23 ++++++++++++----------- store/zhihu/zhihu_store_sql.py | 23 ++++++++++++----------- 5 files changed, 57 insertions(+), 52 deletions(-) diff --git a/store/kuaishou/kuaishou_store_sql.py b/store/kuaishou/kuaishou_store_sql.py index 410a91c..953f00f 100644 --- a/store/kuaishou/kuaishou_store_sql.py +++ b/store/kuaishou/kuaishou_store_sql.py @@ -14,9 +14,10 @@ # @Time : 2024/4/6 15:30 # @Desc : sql接口集合 -from typing import Dict, List +from typing import Dict, List, Union -from db import AsyncMysqlDB +from async_db import AsyncMysqlDB +from async_sqlite_db import AsyncSqliteDB from var import media_crawler_db_var @@ -29,7 +30,7 @@ async def query_content_by_content_id(content_id: str) -> Dict: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() sql: str = f"select * from kuaishou_video where video_id = '{content_id}'" rows: List[Dict] = await async_db_conn.query(sql) if len(rows) > 0: @@ -46,7 +47,7 @@ async def add_new_content(content_item: Dict) -> int: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() last_row_id: int = await async_db_conn.item_to_table("kuaishou_video", content_item) return last_row_id @@ -61,7 +62,7 @@ async def update_content_by_content_id(content_id: str, content_item: Dict) -> i Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() effect_row: int = await async_db_conn.update_table("kuaishou_video", content_item, "video_id", content_id) return effect_row @@ -76,7 +77,7 @@ async def query_comment_by_comment_id(comment_id: str) -> Dict: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() sql: str = f"select * from kuaishou_video_comment where comment_id = '{comment_id}'" rows: List[Dict] = await async_db_conn.query(sql) if len(rows) > 0: @@ -93,7 +94,7 @@ async def add_new_comment(comment_item: Dict) -> int: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() last_row_id: int = await async_db_conn.item_to_table("kuaishou_video_comment", comment_item) return last_row_id @@ -108,6 +109,6 @@ async def update_comment_by_comment_id(comment_id: str, comment_item: Dict) -> i Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() effect_row: int = await async_db_conn.update_table("kuaishou_video_comment", comment_item, "comment_id", comment_id) return effect_row diff --git a/store/tieba/tieba_store_sql.py b/store/tieba/tieba_store_sql.py index 404d0fb..702ddac 100644 --- a/store/tieba/tieba_store_sql.py +++ b/store/tieba/tieba_store_sql.py @@ -10,9 +10,10 @@ # -*- coding: utf-8 -*- -from typing import Dict, List +from typing import Dict, List, Union -from db import AsyncMysqlDB +from async_db import AsyncMysqlDB +from async_sqlite_db import AsyncSqliteDB from var import media_crawler_db_var @@ -25,7 +26,7 @@ async def query_content_by_content_id(content_id: str) -> Dict: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() sql: str = f"select * from tieba_note where note_id = '{content_id}'" rows: List[Dict] = await async_db_conn.query(sql) if len(rows) > 0: @@ -42,7 +43,7 @@ async def add_new_content(content_item: Dict) -> int: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() last_row_id: int = await async_db_conn.item_to_table("tieba_note", content_item) return last_row_id @@ -57,7 +58,7 @@ async def update_content_by_content_id(content_id: str, content_item: Dict) -> i Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() effect_row: int = await async_db_conn.update_table("tieba_note", content_item, "note_id", content_id) return effect_row @@ -72,7 +73,7 @@ async def query_comment_by_comment_id(comment_id: str) -> Dict: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() sql: str = f"select * from tieba_comment where comment_id = '{comment_id}'" rows: List[Dict] = await async_db_conn.query(sql) if len(rows) > 0: @@ -89,7 +90,7 @@ async def add_new_comment(comment_item: Dict) -> int: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() last_row_id: int = await async_db_conn.item_to_table("tieba_comment", comment_item) return last_row_id @@ -104,7 +105,7 @@ async def update_comment_by_comment_id(comment_id: str, comment_item: Dict) -> i Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() effect_row: int = await async_db_conn.update_table("tieba_comment", comment_item, "comment_id", comment_id) return effect_row @@ -118,7 +119,7 @@ async def query_creator_by_user_id(user_id: str) -> Dict: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() sql: str = f"select * from tieba_creator where user_id = '{user_id}'" rows: List[Dict] = await async_db_conn.query(sql) if len(rows) > 0: @@ -135,7 +136,7 @@ async def add_new_creator(creator_item: Dict) -> int: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() last_row_id: int = await async_db_conn.item_to_table("tieba_creator", creator_item) return last_row_id @@ -150,6 +151,6 @@ async def update_creator_by_user_id(user_id: str, creator_item: Dict) -> int: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() effect_row: int = await async_db_conn.update_table("tieba_creator", creator_item, "user_id", user_id) return effect_row \ No newline at end of file diff --git a/store/weibo/weibo_store_sql.py b/store/weibo/weibo_store_sql.py index ed957ee..e6c7767 100644 --- a/store/weibo/weibo_store_sql.py +++ b/store/weibo/weibo_store_sql.py @@ -14,9 +14,10 @@ # @Time : 2024/4/6 15:30 # @Desc : sql接口集合 -from typing import Dict, List +from typing import Dict, List, Union -from db import AsyncMysqlDB +from async_db import AsyncMysqlDB +from async_sqlite_db import AsyncSqliteDB from var import media_crawler_db_var @@ -29,7 +30,7 @@ async def query_content_by_content_id(content_id: str) -> Dict: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() sql: str = f"select * from weibo_note where note_id = '{content_id}'" rows: List[Dict] = await async_db_conn.query(sql) if len(rows) > 0: @@ -46,7 +47,7 @@ async def add_new_content(content_item: Dict) -> int: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() last_row_id: int = await async_db_conn.item_to_table("weibo_note", content_item) return last_row_id @@ -61,7 +62,7 @@ async def update_content_by_content_id(content_id: str, content_item: Dict) -> i Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() effect_row: int = await async_db_conn.update_table("weibo_note", content_item, "note_id", content_id) return effect_row @@ -76,7 +77,7 @@ async def query_comment_by_comment_id(comment_id: str) -> Dict: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() sql: str = f"select * from weibo_note_comment where comment_id = '{comment_id}'" rows: List[Dict] = await async_db_conn.query(sql) if len(rows) > 0: @@ -93,7 +94,7 @@ async def add_new_comment(comment_item: Dict) -> int: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() last_row_id: int = await async_db_conn.item_to_table("weibo_note_comment", comment_item) return last_row_id @@ -108,7 +109,7 @@ async def update_comment_by_comment_id(comment_id: str, comment_item: Dict) -> i Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() effect_row: int = await async_db_conn.update_table("weibo_note_comment", comment_item, "comment_id", comment_id) return effect_row @@ -122,7 +123,7 @@ async def query_creator_by_user_id(user_id: str) -> Dict: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() sql: str = f"select * from weibo_creator where user_id = '{user_id}'" rows: List[Dict] = await async_db_conn.query(sql) if len(rows) > 0: @@ -139,7 +140,7 @@ async def add_new_creator(creator_item: Dict) -> int: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() last_row_id: int = await async_db_conn.item_to_table("weibo_creator", creator_item) return last_row_id @@ -154,6 +155,6 @@ async def update_creator_by_user_id(user_id: str, creator_item: Dict) -> int: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() effect_row: int = await async_db_conn.update_table("weibo_creator", creator_item, "user_id", user_id) return effect_row \ No newline at end of file diff --git a/store/xhs/xhs_store_sql.py b/store/xhs/xhs_store_sql.py index 772f2c8..3da130e 100644 --- a/store/xhs/xhs_store_sql.py +++ b/store/xhs/xhs_store_sql.py @@ -14,9 +14,10 @@ # @Time : 2024/4/6 15:30 # @Desc : sql接口集合 -from typing import Dict, List +from typing import Dict, List, Union -from db import AsyncMysqlDB +from async_db import AsyncMysqlDB +from async_sqlite_db import AsyncSqliteDB from var import media_crawler_db_var @@ -29,7 +30,7 @@ async def query_content_by_content_id(content_id: str) -> Dict: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() sql: str = f"select * from xhs_note where note_id = '{content_id}'" rows: List[Dict] = await async_db_conn.query(sql) if len(rows) > 0: @@ -46,7 +47,7 @@ async def add_new_content(content_item: Dict) -> int: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() last_row_id: int = await async_db_conn.item_to_table("xhs_note", content_item) return last_row_id @@ -61,7 +62,7 @@ async def update_content_by_content_id(content_id: str, content_item: Dict) -> i Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() effect_row: int = await async_db_conn.update_table("xhs_note", content_item, "note_id", content_id) return effect_row @@ -76,7 +77,7 @@ async def query_comment_by_comment_id(comment_id: str) -> Dict: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() sql: str = f"select * from xhs_note_comment where comment_id = '{comment_id}'" rows: List[Dict] = await async_db_conn.query(sql) if len(rows) > 0: @@ -93,7 +94,7 @@ async def add_new_comment(comment_item: Dict) -> int: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() last_row_id: int = await async_db_conn.item_to_table("xhs_note_comment", comment_item) return last_row_id @@ -108,7 +109,7 @@ async def update_comment_by_comment_id(comment_id: str, comment_item: Dict) -> i Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() effect_row: int = await async_db_conn.update_table("xhs_note_comment", comment_item, "comment_id", comment_id) return effect_row @@ -122,7 +123,7 @@ async def query_creator_by_user_id(user_id: str) -> Dict: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() sql: str = f"select * from xhs_creator where user_id = '{user_id}'" rows: List[Dict] = await async_db_conn.query(sql) if len(rows) > 0: @@ -139,7 +140,7 @@ async def add_new_creator(creator_item: Dict) -> int: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() last_row_id: int = await async_db_conn.item_to_table("xhs_creator", creator_item) return last_row_id @@ -154,6 +155,6 @@ async def update_creator_by_user_id(user_id: str, creator_item: Dict) -> int: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() effect_row: int = await async_db_conn.update_table("xhs_creator", creator_item, "user_id", user_id) return effect_row \ No newline at end of file diff --git a/store/zhihu/zhihu_store_sql.py b/store/zhihu/zhihu_store_sql.py index 9a9443a..5c0ef89 100644 --- a/store/zhihu/zhihu_store_sql.py +++ b/store/zhihu/zhihu_store_sql.py @@ -10,9 +10,10 @@ # -*- coding: utf-8 -*- -from typing import Dict, List +from typing import Dict, List, Union -from db import AsyncMysqlDB +from async_db import AsyncMysqlDB +from async_sqlite_db import AsyncSqliteDB from var import media_crawler_db_var @@ -25,7 +26,7 @@ async def query_content_by_content_id(content_id: str) -> Dict: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() sql: str = f"select * from zhihu_content where content_id = '{content_id}'" rows: List[Dict] = await async_db_conn.query(sql) if len(rows) > 0: @@ -42,7 +43,7 @@ async def add_new_content(content_item: Dict) -> int: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() last_row_id: int = await async_db_conn.item_to_table("zhihu_content", content_item) return last_row_id @@ -57,7 +58,7 @@ async def update_content_by_content_id(content_id: str, content_item: Dict) -> i Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() effect_row: int = await async_db_conn.update_table("zhihu_content", content_item, "content_id", content_id) return effect_row @@ -72,7 +73,7 @@ async def query_comment_by_comment_id(comment_id: str) -> Dict: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() sql: str = f"select * from zhihu_comment where comment_id = '{comment_id}'" rows: List[Dict] = await async_db_conn.query(sql) if len(rows) > 0: @@ -89,7 +90,7 @@ async def add_new_comment(comment_item: Dict) -> int: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() last_row_id: int = await async_db_conn.item_to_table("zhihu_comment", comment_item) return last_row_id @@ -104,7 +105,7 @@ async def update_comment_by_comment_id(comment_id: str, comment_item: Dict) -> i Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() effect_row: int = await async_db_conn.update_table("zhihu_comment", comment_item, "comment_id", comment_id) return effect_row @@ -118,7 +119,7 @@ async def query_creator_by_user_id(user_id: str) -> Dict: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() sql: str = f"select * from zhihu_creator where user_id = '{user_id}'" rows: List[Dict] = await async_db_conn.query(sql) if len(rows) > 0: @@ -135,7 +136,7 @@ async def add_new_creator(creator_item: Dict) -> int: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() last_row_id: int = await async_db_conn.item_to_table("zhihu_creator", creator_item) return last_row_id @@ -150,6 +151,6 @@ async def update_creator_by_user_id(user_id: str, creator_item: Dict) -> int: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() effect_row: int = await async_db_conn.update_table("zhihu_creator", creator_item, "user_id", user_id) return effect_row \ No newline at end of file From 6f274d476b95a8dff334292668b60c4058a0731f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B9=B0=E5=AE=9A=E4=B8=8D=E7=A6=BB=E6=89=8B?= <12640033+msz-006@user.noreply.gitee.com> Date: Mon, 14 Jul 2025 03:36:36 +0800 Subject: [PATCH 03/11] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E5=90=84?= =?UTF-8?q?=E5=B9=B3=E5=8F=B0SQLite=E5=AD=98=E5=82=A8=E5=AE=9E=E7=8E=B0?= =?UTF-8?q?=E6=96=87=E4=BB=B6\n\n-=20=E6=96=B0=E5=A2=9E=20store/bilibili/b?= =?UTF-8?q?ilibili=5Fstore=5Fimpl.py:=20B=E7=AB=99SQLite=E5=AD=98=E5=82=A8?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0\n-=20=E6=96=B0=E5=A2=9E=20store/douyin/douyi?= =?UTF-8?q?n=5Fstore=5Fimpl.py:=20=E6=8A=96=E9=9F=B3SQLite=E5=AD=98?= =?UTF-8?q?=E5=82=A8=E5=AE=9E=E7=8E=B0\n-=20=E6=96=B0=E5=A2=9E=20store/kua?= =?UTF-8?q?ishou/kuaishou=5Fstore=5Fimpl.py:=20=E5=BF=AB=E6=89=8BSQLite?= =?UTF-8?q?=E5=AD=98=E5=82=A8=E5=AE=9E=E7=8E=B0\n-=20=E6=96=B0=E5=A2=9E=20?= =?UTF-8?q?store/tieba/tieba=5Fstore=5Fimpl.py:=20=E8=B4=B4=E5=90=A7SQLite?= =?UTF-8?q?=E5=AD=98=E5=82=A8=E5=AE=9E=E7=8E=B0\n-=20=E6=96=B0=E5=A2=9E=20?= =?UTF-8?q?store/weibo/weibo=5Fstore=5Fimpl.py:=20=E5=BE=AE=E5=8D=9ASQLite?= =?UTF-8?q?=E5=AD=98=E5=82=A8=E5=AE=9E=E7=8E=B0\n-=20=E6=96=B0=E5=A2=9E=20?= =?UTF-8?q?store/xhs/xhs=5Fstore=5Fimpl.py:=20=E5=B0=8F=E7=BA=A2=E4=B9=A6S?= =?UTF-8?q?QLite=E5=AD=98=E5=82=A8=E5=AE=9E=E7=8E=B0\n-=20=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=20store/zhihu/zhihu=5Fstore=5Fimpl.py:=20=E7=9F=A5?= =?UTF-8?q?=E4=B9=8ESQLite=E5=AD=98=E5=82=A8=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- store/bilibili/bilibili_store_impl.py | 111 ++++++++++++++++++++++++++ store/douyin/douyin_store_impl.py | 66 ++++++++++++++- store/kuaishou/kuaishou_store_impl.py | 56 ++++++++++++- store/tieba/tieba_store_impl.py | 62 ++++++++++++++ store/weibo/weibo_store_impl.py | 64 +++++++++++++++ store/xhs/xhs_store_impl.py | 61 ++++++++++++++ store/zhihu/zhihu_store_impl.py | 62 ++++++++++++++ 7 files changed, 480 insertions(+), 2 deletions(-) diff --git a/store/bilibili/bilibili_store_impl.py b/store/bilibili/bilibili_store_impl.py index 0fa1504..d16a0a2 100644 --- a/store/bilibili/bilibili_store_impl.py +++ b/store/bilibili/bilibili_store_impl.py @@ -352,3 +352,114 @@ class BiliJsonStoreImplement(AbstractStore): """ await self.save_data_to_json(save_item=dynamic_item, store_type="dynamics") + + +class BiliSqliteStoreImplement(AbstractStore): + async def store_content(self, content_item: Dict): + """ + Bilibili content SQLite storage implementation + Args: + content_item: content item dict + + Returns: + + """ + + from .bilibili_store_sql import (add_new_content, + query_content_by_content_id, + update_content_by_content_id) + video_id = content_item.get("video_id") + video_detail: Dict = await query_content_by_content_id(content_id=video_id) + if not video_detail: + content_item["add_ts"] = utils.get_current_timestamp() + await add_new_content(content_item) + else: + await update_content_by_content_id(video_id, content_item=content_item) + + async def store_comment(self, comment_item: Dict): + """ + Bilibili comment SQLite storage implementation + Args: + comment_item: comment item dict + + Returns: + + """ + + from .bilibili_store_sql import (add_new_comment, + query_comment_by_comment_id, + update_comment_by_comment_id) + comment_id = comment_item.get("comment_id") + comment_detail: Dict = await query_comment_by_comment_id(comment_id=comment_id) + if not comment_detail: + comment_item["add_ts"] = utils.get_current_timestamp() + await add_new_comment(comment_item) + else: + await update_comment_by_comment_id(comment_id, comment_item=comment_item) + + async def store_creator(self, creator: Dict): + """ + Bilibili creator SQLite storage implementation + Args: + creator: creator item dict + + Returns: + + """ + + from .bilibili_store_sql import (add_new_creator, + query_creator_by_creator_id, + update_creator_by_creator_id) + creator_id = creator.get("user_id") + creator_detail: Dict = await query_creator_by_creator_id(creator_id=creator_id) + if not creator_detail: + creator["add_ts"] = utils.get_current_timestamp() + await add_new_creator(creator) + else: + await update_creator_by_creator_id(creator_id, creator_item=creator) + + async def store_contact(self, contact_item: Dict): + """ + Bilibili contact SQLite storage implementation + Args: + contact_item: contact item dict + + Returns: + + """ + + from .bilibili_store_sql import (add_new_contact, + query_contact_by_up_and_fan, + update_contact_by_id, ) + + up_id = contact_item.get("up_id") + fan_id = contact_item.get("fan_id") + contact_detail: Dict = await query_contact_by_up_and_fan(up_id=up_id, fan_id=fan_id) + if not contact_detail: + contact_item["add_ts"] = utils.get_current_timestamp() + await add_new_contact(contact_item) + else: + key_id = contact_detail.get("id") + await update_contact_by_id(id=key_id, contact_item=contact_item) + + async def store_dynamic(self, dynamic_item): + """ + Bilibili dynamic SQLite storage implementation + Args: + dynamic_item: dynamic item dict + + Returns: + + """ + + from .bilibili_store_sql import (add_new_dynamic, + query_dynamic_by_dynamic_id, + update_dynamic_by_dynamic_id) + + dynamic_id = dynamic_item.get("dynamic_id") + dynamic_detail = await query_dynamic_by_dynamic_id(dynamic_id=dynamic_id) + if not dynamic_detail: + dynamic_item["add_ts"] = utils.get_current_timestamp() + await add_new_dynamic(dynamic_item) + else: + await update_dynamic_by_dynamic_id(dynamic_id, dynamic_item=dynamic_item) diff --git a/store/douyin/douyin_store_impl.py b/store/douyin/douyin_store_impl.py index 30c993c..8cd3196 100644 --- a/store/douyin/douyin_store_impl.py +++ b/store/douyin/douyin_store_impl.py @@ -257,4 +257,68 @@ class DouyinJsonStoreImplement(AbstractStore): Returns: """ - await self.save_data_to_json(save_item=creator, store_type="creator") \ No newline at end of file + await self.save_data_to_json(save_item=creator, store_type="creator") + + +class DouyinSqliteStoreImplement(AbstractStore): + async def store_content(self, content_item: Dict): + """ + Douyin content SQLite storage implementation + Args: + content_item: content item dict + + Returns: + + """ + + from .douyin_store_sql import (add_new_content, + query_content_by_content_id, + update_content_by_content_id) + aweme_id = content_item.get("aweme_id") + aweme_detail: Dict = await query_content_by_content_id(content_id=aweme_id) + if not aweme_detail: + content_item["add_ts"] = utils.get_current_timestamp() + if content_item.get("title"): + await add_new_content(content_item) + else: + await update_content_by_content_id(aweme_id, content_item=content_item) + + async def store_comment(self, comment_item: Dict): + """ + Douyin comment SQLite storage implementation + Args: + comment_item: comment item dict + + Returns: + + """ + from .douyin_store_sql import (add_new_comment, + query_comment_by_comment_id, + update_comment_by_comment_id) + comment_id = comment_item.get("comment_id") + comment_detail: Dict = await query_comment_by_comment_id(comment_id=comment_id) + if not comment_detail: + comment_item["add_ts"] = utils.get_current_timestamp() + await add_new_comment(comment_item) + else: + await update_comment_by_comment_id(comment_id, comment_item=comment_item) + + async def store_creator(self, creator: Dict): + """ + Douyin creator SQLite storage implementation + Args: + creator: creator dict + + Returns: + + """ + from .douyin_store_sql import (add_new_creator, + query_creator_by_user_id, + update_creator_by_user_id) + user_id = creator.get("user_id") + user_detail: Dict = await query_creator_by_user_id(user_id) + if not user_detail: + creator["add_ts"] = utils.get_current_timestamp() + await add_new_creator(creator) + else: + await update_creator_by_user_id(user_id, creator) \ No newline at end of file diff --git a/store/kuaishou/kuaishou_store_impl.py b/store/kuaishou/kuaishou_store_impl.py index 4866796..950f3a2 100644 --- a/store/kuaishou/kuaishou_store_impl.py +++ b/store/kuaishou/kuaishou_store_impl.py @@ -233,4 +233,58 @@ class KuaishouJsonStoreImplement(AbstractStore): Returns: """ - await self.save_data_to_json(creator, "creator") \ No newline at end of file + await self.save_data_to_json(creator, "creator") + + +class KuaishouSqliteStoreImplement(AbstractStore): + async def store_content(self, content_item: Dict): + """ + Kuaishou content SQLite storage implementation + Args: + content_item: content item dict + + Returns: + + """ + + from .kuaishou_store_sql import (add_new_content, + query_content_by_content_id, + update_content_by_content_id) + video_id = content_item.get("video_id") + video_detail: Dict = await query_content_by_content_id(content_id=video_id) + if not video_detail: + content_item["add_ts"] = utils.get_current_timestamp() + await add_new_content(content_item) + else: + await update_content_by_content_id(video_id, content_item=content_item) + + async def store_comment(self, comment_item: Dict): + """ + Kuaishou comment SQLite storage implementation + Args: + comment_item: comment item dict + + Returns: + + """ + from .kuaishou_store_sql import (add_new_comment, + query_comment_by_comment_id, + update_comment_by_comment_id) + comment_id = comment_item.get("comment_id") + comment_detail: Dict = await query_comment_by_comment_id(comment_id=comment_id) + if not comment_detail: + comment_item["add_ts"] = utils.get_current_timestamp() + await add_new_comment(comment_item) + else: + await update_comment_by_comment_id(comment_id, comment_item=comment_item) + + async def store_creator(self, creator: Dict): + """ + Kuaishou creator SQLite storage implementation + Args: + creator: creator dict + + Returns: + + """ + pass \ No newline at end of file diff --git a/store/tieba/tieba_store_impl.py b/store/tieba/tieba_store_impl.py index ff5da80..84267e4 100644 --- a/store/tieba/tieba_store_impl.py +++ b/store/tieba/tieba_store_impl.py @@ -254,3 +254,65 @@ class TieBaJsonStoreImplement(AbstractStore): """ await self.save_data_to_json(creator, "creator") + + +class TieBaSqliteStoreImplement(AbstractStore): + async def store_content(self, content_item: Dict): + """ + tieba content SQLite storage implementation + Args: + content_item: content item dict + + Returns: + + """ + from .tieba_store_sql import (add_new_content, + query_content_by_content_id, + update_content_by_content_id) + note_id = content_item.get("note_id") + note_detail: Dict = await query_content_by_content_id(content_id=note_id) + if not note_detail: + content_item["add_ts"] = utils.get_current_timestamp() + await add_new_content(content_item) + else: + await update_content_by_content_id(note_id, content_item=content_item) + + async def store_comment(self, comment_item: Dict): + """ + tieba comment SQLite storage implementation + Args: + comment_item: comment item dict + + Returns: + + """ + from .tieba_store_sql import (add_new_comment, + query_comment_by_comment_id, + update_comment_by_comment_id) + comment_id = comment_item.get("comment_id") + comment_detail: Dict = await query_comment_by_comment_id(comment_id=comment_id) + if not comment_detail: + comment_item["add_ts"] = utils.get_current_timestamp() + await add_new_comment(comment_item) + else: + await update_comment_by_comment_id(comment_id, comment_item=comment_item) + + async def store_creator(self, creator: Dict): + """ + tieba creator SQLite storage implementation + Args: + creator: creator dict + + Returns: + + """ + from .tieba_store_sql import (add_new_creator, + query_creator_by_user_id, + update_creator_by_user_id) + user_id = creator.get("user_id") + user_detail: Dict = await query_creator_by_user_id(user_id) + if not user_detail: + creator["add_ts"] = utils.get_current_timestamp() + await add_new_creator(creator) + else: + await update_creator_by_user_id(user_id, creator) diff --git a/store/weibo/weibo_store_impl.py b/store/weibo/weibo_store_impl.py index 7348fec..2efd7f3 100644 --- a/store/weibo/weibo_store_impl.py +++ b/store/weibo/weibo_store_impl.py @@ -260,3 +260,67 @@ class WeiboJsonStoreImplement(AbstractStore): """ await self.save_data_to_json(creator, "creators") + + +class WeiboSqliteStoreImplement(AbstractStore): + async def store_content(self, content_item: Dict): + """ + Weibo content SQLite storage implementation + Args: + content_item: content item dict + + Returns: + + """ + + from .weibo_store_sql import (add_new_content, + query_content_by_content_id, + update_content_by_content_id) + note_id = content_item.get("note_id") + note_detail: Dict = await query_content_by_content_id(content_id=note_id) + if not note_detail: + content_item["add_ts"] = utils.get_current_timestamp() + await add_new_content(content_item) + else: + await update_content_by_content_id(note_id, content_item=content_item) + + async def store_comment(self, comment_item: Dict): + """ + Weibo comment SQLite storage implementation + Args: + comment_item: comment item dict + + Returns: + + """ + from .weibo_store_sql import (add_new_comment, + query_comment_by_comment_id, + update_comment_by_comment_id) + comment_id = comment_item.get("comment_id") + comment_detail: Dict = await query_comment_by_comment_id(comment_id=comment_id) + if not comment_detail: + comment_item["add_ts"] = utils.get_current_timestamp() + await add_new_comment(comment_item) + else: + await update_comment_by_comment_id(comment_id, comment_item=comment_item) + + async def store_creator(self, creator: Dict): + """ + Weibo creator SQLite storage implementation + Args: + creator: + + Returns: + + """ + + from .weibo_store_sql import (add_new_creator, + query_creator_by_user_id, + update_creator_by_user_id) + user_id = creator.get("user_id") + user_detail: Dict = await query_creator_by_user_id(user_id) + if not user_detail: + creator["add_ts"] = utils.get_current_timestamp() + await add_new_creator(creator) + else: + await update_creator_by_user_id(user_id, creator) diff --git a/store/xhs/xhs_store_impl.py b/store/xhs/xhs_store_impl.py index 5ad4979..063b01b 100644 --- a/store/xhs/xhs_store_impl.py +++ b/store/xhs/xhs_store_impl.py @@ -255,3 +255,64 @@ class XhsJsonStoreImplement(AbstractStore): """ await self.save_data_to_json(creator, "creator") + + +class XhsSqliteStoreImplement(AbstractStore): + async def store_content(self, content_item: Dict): + """ + Xiaohongshu content SQLite storage implementation + Args: + content_item: content item dict + + Returns: + + """ + from .xhs_store_sql import (add_new_content, + query_content_by_content_id, + update_content_by_content_id) + note_id = content_item.get("note_id") + note_detail: Dict = await query_content_by_content_id(content_id=note_id) + if not note_detail: + content_item["add_ts"] = utils.get_current_timestamp() + await add_new_content(content_item) + else: + await update_content_by_content_id(note_id, content_item=content_item) + + async def store_comment(self, comment_item: Dict): + """ + Xiaohongshu comment SQLite storage implementation + Args: + comment_item: comment item dict + + Returns: + + """ + from .xhs_store_sql import (add_new_comment, + query_comment_by_comment_id, + update_comment_by_comment_id) + comment_id = comment_item.get("comment_id") + comment_detail: Dict = await query_comment_by_comment_id(comment_id=comment_id) + if not comment_detail: + comment_item["add_ts"] = utils.get_current_timestamp() + await add_new_comment(comment_item) + else: + await update_comment_by_comment_id(comment_id, comment_item=comment_item) + + async def store_creator(self, creator: Dict): + """ + Xiaohongshu creator SQLite storage implementation + Args: + creator: creator dict + + Returns: + + """ + from .xhs_store_sql import (add_new_creator, query_creator_by_user_id, + update_creator_by_user_id) + user_id = creator.get("user_id") + user_detail: Dict = await query_creator_by_user_id(user_id) + if not user_detail: + creator["add_ts"] = utils.get_current_timestamp() + await add_new_creator(creator) + else: + await update_creator_by_user_id(user_id, creator) diff --git a/store/zhihu/zhihu_store_impl.py b/store/zhihu/zhihu_store_impl.py index 34d0a5b..84d5c06 100644 --- a/store/zhihu/zhihu_store_impl.py +++ b/store/zhihu/zhihu_store_impl.py @@ -254,3 +254,65 @@ class ZhihuJsonStoreImplement(AbstractStore): """ await self.save_data_to_json(creator, "creator") + + +class ZhihuSqliteStoreImplement(AbstractStore): + async def store_content(self, content_item: Dict): + """ + Zhihu content SQLite storage implementation + Args: + content_item: content item dict + + Returns: + + """ + from .zhihu_store_sql import (add_new_content, + query_content_by_content_id, + update_content_by_content_id) + note_id = content_item.get("note_id") + note_detail: Dict = await query_content_by_content_id(content_id=note_id) + if not note_detail: + content_item["add_ts"] = utils.get_current_timestamp() + await add_new_content(content_item) + else: + await update_content_by_content_id(note_id, content_item=content_item) + + async def store_comment(self, comment_item: Dict): + """ + Zhihu comment SQLite storage implementation + Args: + comment_item: comment item dict + + Returns: + + """ + from .zhihu_store_sql import (add_new_comment, + query_comment_by_comment_id, + update_comment_by_comment_id) + comment_id = comment_item.get("comment_id") + comment_detail: Dict = await query_comment_by_comment_id(comment_id=comment_id) + if not comment_detail: + comment_item["add_ts"] = utils.get_current_timestamp() + await add_new_comment(comment_item) + else: + await update_comment_by_comment_id(comment_id, comment_item=comment_item) + + async def store_creator(self, creator: Dict): + """ + Zhihu creator SQLite storage implementation + Args: + creator: creator dict + + Returns: + + """ + from .zhihu_store_sql import (add_new_creator, + query_creator_by_user_id, + update_creator_by_user_id) + user_id = creator.get("user_id") + user_detail: Dict = await query_creator_by_user_id(user_id) + if not user_detail: + creator["add_ts"] = utils.get_current_timestamp() + await add_new_creator(creator) + else: + await update_creator_by_user_id(user_id, creator) From f5fbbb36ba8d7c4fc14f0993c6d4035fe445c551 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B9=B0=E5=AE=9A=E4=B8=8D=E7=A6=BB=E6=89=8B?= <12640033+msz-006@user.noreply.gitee.com> Date: Mon, 14 Jul 2025 03:36:48 +0800 Subject: [PATCH 04/11] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8DSQLite=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=BA=93=E5=88=9D=E5=A7=8B=E5=8C=96=E5=92=8C=E5=85=B3?= =?UTF-8?q?=E9=97=AD=E9=80=BB=E8=BE=91\n\n-=20=E6=9B=B4=E6=96=B0=20main.py?= =?UTF-8?q?:=20=E4=BF=AE=E5=A4=8D=E6=95=B0=E6=8D=AE=E5=BA=93=E5=88=9D?= =?UTF-8?q?=E5=A7=8B=E5=8C=96=E6=9D=A1=E4=BB=B6=EF=BC=8C=E6=94=AF=E6=8C=81?= =?UTF-8?q?sqlite=E9=80=89=E9=A1=B9\n-=20=E6=9B=B4=E6=96=B0=20db.py:=20?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0SQLite=E6=95=B0=E6=8D=AE=E5=BA=93=E5=88=9D?= =?UTF-8?q?=E5=A7=8B=E5=8C=96=E5=92=8C=E5=85=B3=E9=97=AD=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db.py | 144 +++++++++++++++++++++++++++++++++++++++++++++++--------- main.py | 4 +- 2 files changed, 124 insertions(+), 24 deletions(-) diff --git a/db.py b/db.py index 2e6b1ac..d3d55c8 100644 --- a/db.py +++ b/db.py @@ -22,6 +22,7 @@ import aiomysql import config from async_db import AsyncMysqlDB +from async_sqlite_db import AsyncSqliteDB from tools import utils from var import db_conn_pool_var, media_crawler_db_var @@ -33,11 +34,11 @@ async def init_mediacrawler_db(): """ pool = await aiomysql.create_pool( - host=config.RELATION_DB_HOST, - port=config.RELATION_DB_PORT, - user=config.RELATION_DB_USER, - password=config.RELATION_DB_PWD, - db=config.RELATION_DB_NAME, + host=config.MYSQL_DB_HOST, + port=config.MYSQL_DB_PORT, + user=config.MYSQL_DB_USER, + password=config.MYSQL_DB_PWD, + db=config.MYSQL_DB_NAME, autocommit=True, ) async_db_obj = AsyncMysqlDB(pool) @@ -47,6 +48,18 @@ async def init_mediacrawler_db(): media_crawler_db_var.set(async_db_obj) +async def init_sqlite_db(): + """ + 初始化SQLite数据库对象,并将该对象塞给media_crawler_db_var上下文变量 + Returns: + + """ + async_db_obj = AsyncSqliteDB(config.SQLITE_DB_PATH) + + # 将SQLite数据库对象放到上下文变量中 + media_crawler_db_var.set(async_db_obj) + + async def init_db(): """ 初始化db连接池 @@ -54,37 +67,124 @@ async def init_db(): """ utils.logger.info("[init_db] start init mediacrawler db connect object") - await init_mediacrawler_db() - utils.logger.info("[init_db] end init mediacrawler db connect object") + if config.SAVE_DATA_OPTION == "sqlite": + await init_sqlite_db() + utils.logger.info("[init_db] end init sqlite db connect object") + else: + await init_mediacrawler_db() + utils.logger.info("[init_db] end init mysql db connect object") async def close(): """ - 关闭连接池 + 关闭数据库连接 Returns: """ - utils.logger.info("[close] close mediacrawler db pool") - db_pool: aiomysql.Pool = db_conn_pool_var.get() - if db_pool is not None: - db_pool.close() + utils.logger.info("[close] close mediacrawler db connection") + if config.SAVE_DATA_OPTION == "sqlite": + # SQLite数据库连接会在AsyncSqliteDB对象销毁时自动关闭 + utils.logger.info("[close] sqlite db connection will be closed automatically") + else: + # MySQL连接池关闭 + db_pool: aiomysql.Pool = db_conn_pool_var.get() + if db_pool is not None: + db_pool.close() + utils.logger.info("[close] mysql db pool closed") -async def init_table_schema(): +async def init_table_schema(db_type: str = None): """ 用来初始化数据库表结构,请在第一次需要创建表结构的时候使用,多次执行该函数会将已有的表以及数据全部删除 + Args: + db_type: 数据库类型,可选值为 'sqlite' 或 'mysql',如果不指定则使用配置文件中的设置 Returns: """ - utils.logger.info("[init_table_schema] begin init mysql table schema ...") - await init_mediacrawler_db() - async_db_obj: AsyncMysqlDB = media_crawler_db_var.get() - async with aiofiles.open("schema/tables.sql", mode="r", encoding="utf-8") as f: - schema_sql = await f.read() - await async_db_obj.execute(schema_sql) - utils.logger.info("[init_table_schema] mediacrawler table schema init successful") - await close() + # 如果没有指定数据库类型,则使用配置文件中的设置 + if db_type is None: + db_type = config.SAVE_DATA_OPTION + + if db_type == "sqlite": + utils.logger.info("[init_table_schema] begin init sqlite table schema ...") + await init_sqlite_db() + async_db_obj: AsyncSqliteDB = media_crawler_db_var.get() + async with aiofiles.open("schema/sqlite_tables.sql", mode="r", encoding="utf-8") as f: + schema_sql = await f.read() + await async_db_obj.executescript(schema_sql) + utils.logger.info("[init_table_schema] sqlite table schema init successful") + elif db_type == "mysql": + utils.logger.info("[init_table_schema] begin init mysql table schema ...") + await init_mediacrawler_db() + async_db_obj: AsyncMysqlDB = media_crawler_db_var.get() + async with aiofiles.open("schema/tables.sql", mode="r", encoding="utf-8") as f: + schema_sql = await f.read() + await async_db_obj.execute(schema_sql) + utils.logger.info("[init_table_schema] mysql table schema init successful") + await close() + else: + utils.logger.error(f"[init_table_schema] 不支持的数据库类型: {db_type}") + raise ValueError(f"不支持的数据库类型: {db_type},支持的类型: sqlite, mysql") + + +def show_database_options(): + """ + 显示支持的数据库选项 + """ + print("\n=== MediaCrawler 数据库初始化工具 ===") + print("支持的数据库类型:") + print("1. sqlite - SQLite 数据库 (轻量级,无需额外配置)") + print("2. mysql - MySQL 数据库 (需要配置数据库连接信息)") + print("3. config - 使用配置文件中的设置") + print("4. exit - 退出程序") + print("="*50) + + +def get_user_choice(): + """ + 获取用户选择的数据库类型 + Returns: + str: 用户选择的数据库类型 + """ + while True: + choice = input("请输入数据库类型 (sqlite/mysql/config/exit): ").strip().lower() + + if choice in ['sqlite', 'mysql', 'config', 'exit']: + return choice + else: + print("❌ 无效的选择,请输入: sqlite, mysql, config 或 exit") + + +async def main(): + """ + 主函数,处理用户交互和数据库初始化 + """ + try: + show_database_options() + + while True: + choice = get_user_choice() + + if choice == 'exit': + print("👋 程序已退出") + break + elif choice == 'config': + print(f"📋 使用配置文件中的设置: {config.SAVE_DATA_OPTION}") + await init_table_schema() + print("✅ 数据库表结构初始化完成!") + break + else: + print(f"🚀 开始初始化 {choice.upper()} 数据库...") + await init_table_schema(choice) + print("✅ 数据库表结构初始化完成!") + break + + except KeyboardInterrupt: + print("\n\n⚠️ 用户中断操作") + except Exception as e: + print(f"\n❌ 初始化失败: {str(e)}") + utils.logger.error(f"[main] 数据库初始化失败: {str(e)}") if __name__ == '__main__': - asyncio.get_event_loop().run_until_complete(init_table_schema()) + asyncio.get_event_loop().run_until_complete(main()) diff --git a/main.py b/main.py index 7292701..707f02c 100644 --- a/main.py +++ b/main.py @@ -50,13 +50,13 @@ async def main(): await cmd_arg.parse_cmd() # init db - if config.SAVE_DATA_OPTION == "db": + if config.SAVE_DATA_OPTION in ["db", "sqlite"]: await db.init_db() crawler = CrawlerFactory.create_crawler(platform=config.PLATFORM) await crawler.start() - if config.SAVE_DATA_OPTION == "db": + if config.SAVE_DATA_OPTION in ["db", "sqlite"]: await db.close() From 36d4a086ddfb806995e2e742b32e266118710b1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B9=B0=E5=AE=9A=E4=B8=8D=E7=A6=BB=E6=89=8B?= <12640033+msz-006@user.noreply.gitee.com> Date: Mon, 14 Jul 2025 03:36:59 +0800 Subject: [PATCH 05/11] =?UTF-8?q?docs:=20=E5=9C=A8=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E8=AF=B4=E6=98=8E=E6=96=87=E6=A1=A3=E4=B8=AD=E5=8A=A0=E5=85=A5?= =?UTF-8?q?SQLite=E6=94=AF=E6=8C=81=E8=AF=B4=E6=98=8E\n\n-=20=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=20docs/index.md=20=E6=96=87=E4=BB=B6=EF=BC=8C?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=AF=B9SQLite=E6=95=B0=E6=8D=AE=E5=BA=93?= =?UTF-8?q?=E7=9A=84=E6=94=AF=E6=8C=81=E8=AF=B4=E6=98=8E\n-=20=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0SQLite=E4=BD=BF=E7=94=A8=E7=A4=BA=E4=BE=8B=E5=92=8C?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/index.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/index.md b/docs/index.md index 351a19e..6018b81 100644 --- a/docs/index.md +++ b/docs/index.md @@ -41,6 +41,12 @@ # 从配置文件中读取指定的帖子ID列表获取指定帖子的信息与评论信息 python main.py --platform xhs --lt qrcode --type detail + + # 使用SQLite数据库存储数据(推荐个人用户使用) + python main.py --platform xhs --lt qrcode --type search --save_data_option sqlite + + # 使用MySQL数据库存储数据 + python main.py --platform xhs --lt qrcode --type search --save_data_option db # 打开对应APP扫二维码登录 @@ -51,6 +57,10 @@ ## 数据保存 - 支持关系型数据库Mysql中保存(需要提前创建数据库) - 执行 `python db.py` 初始化数据库数据库表结构(只在首次执行) +- 支持轻量级SQLite数据库保存(无需额外安装数据库服务器) + - 本地文件数据库,适合个人使用和小规模数据存储 + - 使用参数 `--save_data_option sqlite` 启用SQLite存储 + - 数据库文件自动创建在项目目录下(schema/sqlite_tables.db) - 支持保存到csv中(data/目录下) - 支持保存到json中(data/目录下) From c6b96b7e28cfc8f2996eb258b086ddf4de3cf7d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B9=B0=E5=AE=9A=E4=B8=8D=E7=A6=BB=E6=89=8B?= <12640033+msz-006@user.noreply.gitee.com> Date: Mon, 14 Jul 2025 03:37:10 +0800 Subject: [PATCH 06/11] =?UTF-8?q?chore:=20=E6=9B=B4=E6=96=B0=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E4=BE=9D=E8=B5=96=E9=94=81=E5=AE=9A=E6=96=87=E4=BB=B6?= =?UTF-8?q?\n\n-=20=E6=9B=B4=E6=96=B0=20uv.lock:=20=E5=90=8C=E6=AD=A5?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E4=BE=9D=E8=B5=96=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- uv.lock | 2170 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 1092 insertions(+), 1078 deletions(-) diff --git a/uv.lock b/uv.lock index 8ed36f3..637a7f3 100644 --- a/uv.lock +++ b/uv.lock @@ -19,144 +19,156 @@ resolution-markers = [ [[package]] name = "aiofiles" version = "23.2.1" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/af/41/cfed10bc64d774f497a86e5ede9248e1d062db675504b41c320954d99641/aiofiles-23.2.1.tar.gz", hash = "sha256:84ec2218d8419404abcb9f0c02df3f34c6e0a68ed41072acfb1cef5cbc29051a" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/af/41/cfed10bc64d774f497a86e5ede9248e1d062db675504b41c320954d99641/aiofiles-23.2.1.tar.gz", hash = "sha256:84ec2218d8419404abcb9f0c02df3f34c6e0a68ed41072acfb1cef5cbc29051a", size = 32072, upload-time = "2023-08-09T15:23:11.564Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/c5/19/5af6804c4cc0fed83f47bff6e413a98a36618e7d40185cd36e69737f3b0e/aiofiles-23.2.1-py3-none-any.whl", hash = "sha256:19297512c647d4b27a2cf7c34caa7e405c0d60b5560618a29a9fe027b18b0107" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/c5/19/5af6804c4cc0fed83f47bff6e413a98a36618e7d40185cd36e69737f3b0e/aiofiles-23.2.1-py3-none-any.whl", hash = "sha256:19297512c647d4b27a2cf7c34caa7e405c0d60b5560618a29a9fe027b18b0107", size = 15727, upload-time = "2023-08-09T15:23:09.774Z" }, ] [[package]] name = "aiomysql" version = "0.2.0" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } dependencies = [ { name = "pymysql" }, ] -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/67/76/2c5b55e4406a1957ffdfd933a94c2517455291c97d2b81cec6813754791a/aiomysql-0.2.0.tar.gz", hash = "sha256:558b9c26d580d08b8c5fd1be23c5231ce3aeff2dadad989540fee740253deb67" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/67/76/2c5b55e4406a1957ffdfd933a94c2517455291c97d2b81cec6813754791a/aiomysql-0.2.0.tar.gz", hash = "sha256:558b9c26d580d08b8c5fd1be23c5231ce3aeff2dadad989540fee740253deb67", size = 114706, upload-time = "2023-06-11T19:57:53.608Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/42/87/c982ee8b333c85b8ae16306387d703a1fcdfc81a2f3f15a24820ab1a512d/aiomysql-0.2.0-py3-none-any.whl", hash = "sha256:b7c26da0daf23a5ec5e0b133c03d20657276e4eae9b73e040b72787f6f6ade0a" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/42/87/c982ee8b333c85b8ae16306387d703a1fcdfc81a2f3f15a24820ab1a512d/aiomysql-0.2.0-py3-none-any.whl", hash = "sha256:b7c26da0daf23a5ec5e0b133c03d20657276e4eae9b73e040b72787f6f6ade0a", size = 44215, upload-time = "2023-06-11T19:57:51.09Z" }, +] + +[[package]] +name = "aiosqlite" +version = "0.21.0" +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/13/7d/8bca2bf9a247c2c5dfeec1d7a5f40db6518f88d314b8bca9da29670d2671/aiosqlite-0.21.0.tar.gz", hash = "sha256:131bb8056daa3bc875608c631c678cda73922a2d4ba8aec373b19f18c17e7aa3", size = 13454, upload-time = "2025-02-03T07:30:16.235Z" } +wheels = [ + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/f5/10/6c25ed6de94c49f88a91fa5018cb4c0f3625f31d5be9f771ebe5cc7cd506/aiosqlite-0.21.0-py3-none-any.whl", hash = "sha256:2549cf4057f95f53dcba16f2b64e8e2791d7e1adedb13197dd8ed77bb226d7d0", size = 15792, upload-time = "2025-02-03T07:30:13.6Z" }, ] [[package]] name = "annotated-types" version = "0.7.0" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", size = 16081, upload-time = "2024-05-20T21:33:25.928Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643, upload-time = "2024-05-20T21:33:24.1Z" }, ] [[package]] name = "anyio" version = "4.9.0" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } dependencies = [ { name = "exceptiongroup", marker = "python_full_version < '3.11'" }, { name = "idna" }, { name = "sniffio" }, { name = "typing-extensions", marker = "python_full_version < '3.13'" }, ] -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/95/7d/4c1bd541d4dffa1b52bd83fb8527089e097a106fc90b467a7313b105f840/anyio-4.9.0.tar.gz", hash = "sha256:673c0c244e15788651a4ff38710fea9675823028a6f08a5eda409e0c9840a028" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/95/7d/4c1bd541d4dffa1b52bd83fb8527089e097a106fc90b467a7313b105f840/anyio-4.9.0.tar.gz", hash = "sha256:673c0c244e15788651a4ff38710fea9675823028a6f08a5eda409e0c9840a028", size = 190949, upload-time = "2025-03-17T00:02:54.77Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/a1/ee/48ca1a7c89ffec8b6a0c5d02b89c305671d5ffd8d3c94acf8b8c408575bb/anyio-4.9.0-py3-none-any.whl", hash = "sha256:9f76d541cad6e36af7beb62e978876f3b41e3e04f2c1fbf0884604c0a9c4d93c" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a1/ee/48ca1a7c89ffec8b6a0c5d02b89c305671d5ffd8d3c94acf8b8c408575bb/anyio-4.9.0-py3-none-any.whl", hash = "sha256:9f76d541cad6e36af7beb62e978876f3b41e3e04f2c1fbf0884604c0a9c4d93c", size = 100916, upload-time = "2025-03-17T00:02:52.713Z" }, ] [[package]] name = "async-timeout" version = "5.0.1" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/a5/ae/136395dfbfe00dfc94da3f3e136d0b13f394cba8f4841120e34226265780/async_timeout-5.0.1.tar.gz", hash = "sha256:d9321a7a3d5a6a5e187e824d2fa0793ce379a202935782d555d6e9d2735677d3" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a5/ae/136395dfbfe00dfc94da3f3e136d0b13f394cba8f4841120e34226265780/async_timeout-5.0.1.tar.gz", hash = "sha256:d9321a7a3d5a6a5e187e824d2fa0793ce379a202935782d555d6e9d2735677d3", size = 9274, upload-time = "2024-11-06T16:41:39.6Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/fe/ba/e2081de779ca30d473f21f5b30e0e737c438205440784c7dfc81efc2b029/async_timeout-5.0.1-py3-none-any.whl", hash = "sha256:39e3809566ff85354557ec2398b55e096c8364bacac9405a7a1fa429e77fe76c" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/fe/ba/e2081de779ca30d473f21f5b30e0e737c438205440784c7dfc81efc2b029/async_timeout-5.0.1-py3-none-any.whl", hash = "sha256:39e3809566ff85354557ec2398b55e096c8364bacac9405a7a1fa429e77fe76c", size = 6233, upload-time = "2024-11-06T16:41:37.9Z" }, ] [[package]] name = "certifi" version = "2025.6.15" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/73/f7/f14b46d4bcd21092d7d3ccef689615220d8a08fb25e564b65d20738e672e/certifi-2025.6.15.tar.gz", hash = "sha256:d747aa5a8b9bbbb1bb8c22bb13e22bd1f18e9796defa16bab421f7f7a317323b" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/73/f7/f14b46d4bcd21092d7d3ccef689615220d8a08fb25e564b65d20738e672e/certifi-2025.6.15.tar.gz", hash = "sha256:d747aa5a8b9bbbb1bb8c22bb13e22bd1f18e9796defa16bab421f7f7a317323b", size = 158753, upload-time = "2025-06-15T02:45:51.329Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/84/ae/320161bd181fc06471eed047ecce67b693fd7515b16d495d8932db763426/certifi-2025.6.15-py3-none-any.whl", hash = "sha256:2e0c7ce7cb5d8f8634ca55d2ba7e6ec2689a2fd6537d8dec1296a477a4910057" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/84/ae/320161bd181fc06471eed047ecce67b693fd7515b16d495d8932db763426/certifi-2025.6.15-py3-none-any.whl", hash = "sha256:2e0c7ce7cb5d8f8634ca55d2ba7e6ec2689a2fd6537d8dec1296a477a4910057", size = 157650, upload-time = "2025-06-15T02:45:49.977Z" }, ] [[package]] name = "charset-normalizer" version = "3.4.2" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/e4/33/89c2ced2b67d1c2a61c19c6751aa8902d46ce3dacb23600a283619f5a12d/charset_normalizer-3.4.2.tar.gz", hash = "sha256:5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/e4/33/89c2ced2b67d1c2a61c19c6751aa8902d46ce3dacb23600a283619f5a12d/charset_normalizer-3.4.2.tar.gz", hash = "sha256:5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63", size = 126367, upload-time = "2025-05-02T08:34:42.01Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/95/28/9901804da60055b406e1a1c5ba7aac1276fb77f1dde635aabfc7fd84b8ab/charset_normalizer-3.4.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7c48ed483eb946e6c04ccbe02c6b4d1d48e51944b6db70f697e089c193404941" }, - { url = "https://mirrors.aliyun.com/pypi/packages/d9/9b/892a8c8af9110935e5adcbb06d9c6fe741b6bb02608c6513983048ba1a18/charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b2d318c11350e10662026ad0eb71bb51c7812fc8590825304ae0bdd4ac283acd" }, - { url = "https://mirrors.aliyun.com/pypi/packages/7b/a5/4179abd063ff6414223575e008593861d62abfc22455b5d1a44995b7c101/charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9cbfacf36cb0ec2897ce0ebc5d08ca44213af24265bd56eca54bee7923c48fd6" }, - { url = "https://mirrors.aliyun.com/pypi/packages/3b/95/bc08c7dfeddd26b4be8c8287b9bb055716f31077c8b0ea1cd09553794665/charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:18dd2e350387c87dabe711b86f83c9c78af772c748904d372ade190b5c7c9d4d" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a8/2d/7a5b635aa65284bf3eab7653e8b4151ab420ecbae918d3e359d1947b4d61/charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8075c35cd58273fee266c58c0c9b670947c19df5fb98e7b66710e04ad4e9ff86" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ae/38/51fc6ac74251fd331a8cfdb7ec57beba8c23fd5493f1050f71c87ef77ed0/charset_normalizer-3.4.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5bf4545e3b962767e5c06fe1738f951f77d27967cb2caa64c28be7c4563e162c" }, - { url = "https://mirrors.aliyun.com/pypi/packages/b7/17/edee1e32215ee6e9e46c3e482645b46575a44a2d72c7dfd49e49f60ce6bf/charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7a6ab32f7210554a96cd9e33abe3ddd86732beeafc7a28e9955cdf22ffadbab0" }, - { url = "https://mirrors.aliyun.com/pypi/packages/26/2c/ea3e66f2b5f21fd00b2825c94cafb8c326ea6240cd80a91eb09e4a285830/charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:b33de11b92e9f75a2b545d6e9b6f37e398d86c3e9e9653c4864eb7e89c5773ef" }, - { url = "https://mirrors.aliyun.com/pypi/packages/52/47/7be7fa972422ad062e909fd62460d45c3ef4c141805b7078dbab15904ff7/charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8755483f3c00d6c9a77f490c17e6ab0c8729e39e6390328e42521ef175380ae6" }, - { url = "https://mirrors.aliyun.com/pypi/packages/2f/42/9f02c194da282b2b340f28e5fb60762de1151387a36842a92b533685c61e/charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:68a328e5f55ec37c57f19ebb1fdc56a248db2e3e9ad769919a58672958e8f366" }, - { url = "https://mirrors.aliyun.com/pypi/packages/67/44/89cacd6628f31fb0b63201a618049be4be2a7435a31b55b5eb1c3674547a/charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:21b2899062867b0e1fde9b724f8aecb1af14f2778d69aacd1a5a1853a597a5db" }, - { url = "https://mirrors.aliyun.com/pypi/packages/1f/79/4b8da9f712bc079c0f16b6d67b099b0b8d808c2292c937f267d816ec5ecc/charset_normalizer-3.4.2-cp310-cp310-win32.whl", hash = "sha256:e8082b26888e2f8b36a042a58307d5b917ef2b1cacab921ad3323ef91901c71a" }, - { url = "https://mirrors.aliyun.com/pypi/packages/7d/d7/96970afb4fb66497a40761cdf7bd4f6fca0fc7bafde3a84f836c1f57a926/charset_normalizer-3.4.2-cp310-cp310-win_amd64.whl", hash = "sha256:f69a27e45c43520f5487f27627059b64aaf160415589230992cec34c5e18a509" }, - { url = "https://mirrors.aliyun.com/pypi/packages/05/85/4c40d00dcc6284a1c1ad5de5e0996b06f39d8232f1031cd23c2f5c07ee86/charset_normalizer-3.4.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:be1e352acbe3c78727a16a455126d9ff83ea2dfdcbc83148d2982305a04714c2" }, - { url = "https://mirrors.aliyun.com/pypi/packages/41/d9/7a6c0b9db952598e97e93cbdfcb91bacd89b9b88c7c983250a77c008703c/charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa88ca0b1932e93f2d961bf3addbb2db902198dca337d88c89e1559e066e7645" }, - { url = "https://mirrors.aliyun.com/pypi/packages/66/82/a37989cda2ace7e37f36c1a8ed16c58cf48965a79c2142713244bf945c89/charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d524ba3f1581b35c03cb42beebab4a13e6cdad7b36246bd22541fa585a56cccd" }, - { url = "https://mirrors.aliyun.com/pypi/packages/df/68/a576b31b694d07b53807269d05ec3f6f1093e9545e8607121995ba7a8313/charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28a1005facc94196e1fb3e82a3d442a9d9110b8434fc1ded7a24a2983c9888d8" }, - { url = "https://mirrors.aliyun.com/pypi/packages/92/9b/ad67f03d74554bed3aefd56fe836e1623a50780f7c998d00ca128924a499/charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fdb20a30fe1175ecabed17cbf7812f7b804b8a315a25f24678bcdf120a90077f" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a6/e6/8aebae25e328160b20e31a7e9929b1578bbdc7f42e66f46595a432f8539e/charset_normalizer-3.4.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0f5d9ed7f254402c9e7d35d2f5972c9bbea9040e99cd2861bd77dc68263277c7" }, - { url = "https://mirrors.aliyun.com/pypi/packages/8b/f2/b3c2f07dbcc248805f10e67a0262c93308cfa149a4cd3d1fe01f593e5fd2/charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:efd387a49825780ff861998cd959767800d54f8308936b21025326de4b5a42b9" }, - { url = "https://mirrors.aliyun.com/pypi/packages/60/5b/c3f3a94bc345bc211622ea59b4bed9ae63c00920e2e8f11824aa5708e8b7/charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:f0aa37f3c979cf2546b73e8222bbfa3dc07a641585340179d768068e3455e544" }, - { url = "https://mirrors.aliyun.com/pypi/packages/e2/4d/ff460c8b474122334c2fa394a3f99a04cf11c646da895f81402ae54f5c42/charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:e70e990b2137b29dc5564715de1e12701815dacc1d056308e2b17e9095372a82" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a2/2b/b964c6a2fda88611a1fe3d4c400d39c66a42d6c169c924818c848f922415/charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:0c8c57f84ccfc871a48a47321cfa49ae1df56cd1d965a09abe84066f6853b9c0" }, - { url = "https://mirrors.aliyun.com/pypi/packages/59/2e/d3b9811db26a5ebf444bc0fa4f4be5aa6d76fc6e1c0fd537b16c14e849b6/charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6b66f92b17849b85cad91259efc341dce9c1af48e2173bf38a85c6329f1033e5" }, - { url = "https://mirrors.aliyun.com/pypi/packages/90/07/c5fd7c11eafd561bb51220d600a788f1c8d77c5eef37ee49454cc5c35575/charset_normalizer-3.4.2-cp311-cp311-win32.whl", hash = "sha256:daac4765328a919a805fa5e2720f3e94767abd632ae410a9062dff5412bae65a" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a8/05/5e33dbef7e2f773d672b6d79f10ec633d4a71cd96db6673625838a4fd532/charset_normalizer-3.4.2-cp311-cp311-win_amd64.whl", hash = "sha256:e53efc7c7cee4c1e70661e2e112ca46a575f90ed9ae3fef200f2a25e954f4b28" }, - { url = "https://mirrors.aliyun.com/pypi/packages/d7/a4/37f4d6035c89cac7930395a35cc0f1b872e652eaafb76a6075943754f095/charset_normalizer-3.4.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0c29de6a1a95f24b9a1aa7aefd27d2487263f00dfd55a77719b530788f75cff7" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ee/8a/1a5e33b73e0d9287274f899d967907cd0bf9c343e651755d9307e0dbf2b3/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cddf7bd982eaa998934a91f69d182aec997c6c468898efe6679af88283b498d3" }, - { url = "https://mirrors.aliyun.com/pypi/packages/66/52/59521f1d8e6ab1482164fa21409c5ef44da3e9f653c13ba71becdd98dec3/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcbe676a55d7445b22c10967bceaaf0ee69407fbe0ece4d032b6eb8d4565982a" }, - { url = "https://mirrors.aliyun.com/pypi/packages/86/2d/fb55fdf41964ec782febbf33cb64be480a6b8f16ded2dbe8db27a405c09f/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d41c4d287cfc69060fa91cae9683eacffad989f1a10811995fa309df656ec214" }, - { url = "https://mirrors.aliyun.com/pypi/packages/8c/73/6ede2ec59bce19b3edf4209d70004253ec5f4e319f9a2e3f2f15601ed5f7/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e594135de17ab3866138f496755f302b72157d115086d100c3f19370839dd3a" }, - { url = "https://mirrors.aliyun.com/pypi/packages/09/14/957d03c6dc343c04904530b6bef4e5efae5ec7d7990a7cbb868e4595ee30/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cf713fe9a71ef6fd5adf7a79670135081cd4431c2943864757f0fa3a65b1fafd" }, - { url = "https://mirrors.aliyun.com/pypi/packages/0d/c8/8174d0e5c10ccebdcb1b53cc959591c4c722a3ad92461a273e86b9f5a302/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a370b3e078e418187da8c3674eddb9d983ec09445c99a3a263c2011993522981" }, - { url = "https://mirrors.aliyun.com/pypi/packages/58/aa/8904b84bc8084ac19dc52feb4f5952c6df03ffb460a887b42615ee1382e8/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a955b438e62efdf7e0b7b52a64dc5c3396e2634baa62471768a64bc2adb73d5c" }, - { url = "https://mirrors.aliyun.com/pypi/packages/c2/26/89ee1f0e264d201cb65cf054aca6038c03b1a0c6b4ae998070392a3ce605/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:7222ffd5e4de8e57e03ce2cef95a4c43c98fcb72ad86909abdfc2c17d227fc1b" }, - { url = "https://mirrors.aliyun.com/pypi/packages/fd/07/68e95b4b345bad3dbbd3a8681737b4338ff2c9df29856a6d6d23ac4c73cb/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:bee093bf902e1d8fc0ac143c88902c3dfc8941f7ea1d6a8dd2bcb786d33db03d" }, - { url = "https://mirrors.aliyun.com/pypi/packages/77/1a/5eefc0ce04affb98af07bc05f3bac9094513c0e23b0562d64af46a06aae4/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:dedb8adb91d11846ee08bec4c8236c8549ac721c245678282dcb06b221aab59f" }, - { url = "https://mirrors.aliyun.com/pypi/packages/37/a0/2410e5e6032a174c95e0806b1a6585eb21e12f445ebe239fac441995226a/charset_normalizer-3.4.2-cp312-cp312-win32.whl", hash = "sha256:db4c7bf0e07fc3b7d89ac2a5880a6a8062056801b83ff56d8464b70f65482b6c" }, - { url = "https://mirrors.aliyun.com/pypi/packages/6c/4f/c02d5c493967af3eda9c771ad4d2bbc8df6f99ddbeb37ceea6e8716a32bc/charset_normalizer-3.4.2-cp312-cp312-win_amd64.whl", hash = "sha256:5a9979887252a82fefd3d3ed2a8e3b937a7a809f65dcb1e068b090e165bbe99e" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ea/12/a93df3366ed32db1d907d7593a94f1fe6293903e3e92967bebd6950ed12c/charset_normalizer-3.4.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:926ca93accd5d36ccdabd803392ddc3e03e6d4cd1cf17deff3b989ab8e9dbcf0" }, - { url = "https://mirrors.aliyun.com/pypi/packages/04/93/bf204e6f344c39d9937d3c13c8cd5bbfc266472e51fc8c07cb7f64fcd2de/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eba9904b0f38a143592d9fc0e19e2df0fa2e41c3c3745554761c5f6447eedabf" }, - { url = "https://mirrors.aliyun.com/pypi/packages/22/2a/ea8a2095b0bafa6c5b5a55ffdc2f924455233ee7b91c69b7edfcc9e02284/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3fddb7e2c84ac87ac3a947cb4e66d143ca5863ef48e4a5ecb83bd48619e4634e" }, - { url = "https://mirrors.aliyun.com/pypi/packages/b6/57/1b090ff183d13cef485dfbe272e2fe57622a76694061353c59da52c9a659/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98f862da73774290f251b9df8d11161b6cf25b599a66baf087c1ffe340e9bfd1" }, - { url = "https://mirrors.aliyun.com/pypi/packages/e2/28/ffc026b26f441fc67bd21ab7f03b313ab3fe46714a14b516f931abe1a2d8/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c9379d65defcab82d07b2a9dfbfc2e95bc8fe0ebb1b176a3190230a3ef0e07c" }, - { url = "https://mirrors.aliyun.com/pypi/packages/c0/0f/9abe9bd191629c33e69e47c6ef45ef99773320e9ad8e9cb08b8ab4a8d4cb/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e635b87f01ebc977342e2697d05b56632f5f879a4f15955dfe8cef2448b51691" }, - { url = "https://mirrors.aliyun.com/pypi/packages/67/7c/a123bbcedca91d5916c056407f89a7f5e8fdfce12ba825d7d6b9954a1a3c/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1c95a1e2902a8b722868587c0e1184ad5c55631de5afc0eb96bc4b0d738092c0" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ec/fe/1ac556fa4899d967b83e9893788e86b6af4d83e4726511eaaad035e36595/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ef8de666d6179b009dce7bcb2ad4c4a779f113f12caf8dc77f0162c29d20490b" }, - { url = "https://mirrors.aliyun.com/pypi/packages/2b/ff/acfc0b0a70b19e3e54febdd5301a98b72fa07635e56f24f60502e954c461/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:32fc0341d72e0f73f80acb0a2c94216bd704f4f0bce10aedea38f30502b271ff" }, - { url = "https://mirrors.aliyun.com/pypi/packages/92/08/95b458ce9c740d0645feb0e96cea1f5ec946ea9c580a94adfe0b617f3573/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:289200a18fa698949d2b39c671c2cc7a24d44096784e76614899a7ccf2574b7b" }, - { url = "https://mirrors.aliyun.com/pypi/packages/78/be/8392efc43487ac051eee6c36d5fbd63032d78f7728cb37aebcc98191f1ff/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4a476b06fbcf359ad25d34a057b7219281286ae2477cc5ff5e3f70a246971148" }, - { url = "https://mirrors.aliyun.com/pypi/packages/44/96/392abd49b094d30b91d9fbda6a69519e95802250b777841cf3bda8fe136c/charset_normalizer-3.4.2-cp313-cp313-win32.whl", hash = "sha256:aaeeb6a479c7667fbe1099af9617c83aaca22182d6cf8c53966491a0f1b7ffb7" }, - { url = "https://mirrors.aliyun.com/pypi/packages/e9/b0/0200da600134e001d91851ddc797809e2fe0ea72de90e09bec5a2fbdaccb/charset_normalizer-3.4.2-cp313-cp313-win_amd64.whl", hash = "sha256:aa6af9e7d59f9c12b33ae4e9450619cf2488e2bbe9b44030905877f0b2324980" }, - { url = "https://mirrors.aliyun.com/pypi/packages/28/f8/dfb01ff6cc9af38552c69c9027501ff5a5117c4cc18dcd27cb5259fa1888/charset_normalizer-3.4.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:005fa3432484527f9732ebd315da8da8001593e2cf46a3d817669f062c3d9ed4" }, - { url = "https://mirrors.aliyun.com/pypi/packages/32/fb/74e26ee556a9dbfe3bd264289b67be1e6d616329403036f6507bb9f3f29c/charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e92fca20c46e9f5e1bb485887d074918b13543b1c2a1185e69bb8d17ab6236a7" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ad/06/8499ee5aa7addc6f6d72e068691826ff093329fe59891e83b092ae4c851c/charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:50bf98d5e563b83cc29471fa114366e6806bc06bc7a25fd59641e41445327836" }, - { url = "https://mirrors.aliyun.com/pypi/packages/f1/a2/5e4c187680728219254ef107a6949c60ee0e9a916a5dadb148c7ae82459c/charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:721c76e84fe669be19c5791da68232ca2e05ba5185575086e384352e2c309597" }, - { url = "https://mirrors.aliyun.com/pypi/packages/4c/fe/56aca740dda674f0cc1ba1418c4d84534be51f639b5f98f538b332dc9a95/charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:82d8fd25b7f4675d0c47cf95b594d4e7b158aca33b76aa63d07186e13c0e0ab7" }, - { url = "https://mirrors.aliyun.com/pypi/packages/53/13/db2e7779f892386b589173dd689c1b1e304621c5792046edd8a978cbf9e0/charset_normalizer-3.4.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b3daeac64d5b371dea99714f08ffc2c208522ec6b06fbc7866a450dd446f5c0f" }, - { url = "https://mirrors.aliyun.com/pypi/packages/69/35/e52ab9a276186f729bce7a0638585d2982f50402046e4b0faa5d2c3ef2da/charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:dccab8d5fa1ef9bfba0590ecf4d46df048d18ffe3eec01eeb73a42e0d9e7a8ba" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a6/d8/af7333f732fc2e7635867d56cb7c349c28c7094910c72267586947561b4b/charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:aaf27faa992bfee0264dc1f03f4c75e9fcdda66a519db6b957a3f826e285cf12" }, - { url = "https://mirrors.aliyun.com/pypi/packages/7a/3d/a5b2e48acef264d71e036ff30bcc49e51bde80219bb628ba3e00cf59baac/charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:eb30abc20df9ab0814b5a2524f23d75dcf83cde762c161917a2b4b7b55b1e518" }, - { url = "https://mirrors.aliyun.com/pypi/packages/85/d8/23e2c112532a29f3eef374375a8684a4f3b8e784f62b01da931186f43494/charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:c72fbbe68c6f32f251bdc08b8611c7b3060612236e960ef848e0a517ddbe76c5" }, - { url = "https://mirrors.aliyun.com/pypi/packages/c7/57/93e0169f08ecc20fe82d12254a200dfaceddc1c12a4077bf454ecc597e33/charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:982bb1e8b4ffda883b3d0a521e23abcd6fd17418f6d2c4118d257a10199c0ce3" }, - { url = "https://mirrors.aliyun.com/pypi/packages/2c/9d/9bf2b005138e7e060d7ebdec7503d0ef3240141587651f4b445bdf7286c2/charset_normalizer-3.4.2-cp39-cp39-win32.whl", hash = "sha256:43e0933a0eff183ee85833f341ec567c0980dae57c464d8a508e1b2ceb336471" }, - { url = "https://mirrors.aliyun.com/pypi/packages/6d/24/5849d46cf4311bbf21b424c443b09b459f5b436b1558c04e45dbb7cc478b/charset_normalizer-3.4.2-cp39-cp39-win_amd64.whl", hash = "sha256:d11b54acf878eef558599658b0ffca78138c8c3655cf4f3a4a673c437e67732e" }, - { url = "https://mirrors.aliyun.com/pypi/packages/20/94/c5790835a017658cbfabd07f3bfb549140c3ac458cfc196323996b10095a/charset_normalizer-3.4.2-py3-none-any.whl", hash = "sha256:7f56930ab0abd1c45cd15be65cc741c28b1c9a34876ce8c17a2fa107810c0af0" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/95/28/9901804da60055b406e1a1c5ba7aac1276fb77f1dde635aabfc7fd84b8ab/charset_normalizer-3.4.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7c48ed483eb946e6c04ccbe02c6b4d1d48e51944b6db70f697e089c193404941", size = 201818, upload-time = "2025-05-02T08:31:46.725Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/d9/9b/892a8c8af9110935e5adcbb06d9c6fe741b6bb02608c6513983048ba1a18/charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b2d318c11350e10662026ad0eb71bb51c7812fc8590825304ae0bdd4ac283acd", size = 144649, upload-time = "2025-05-02T08:31:48.889Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/7b/a5/4179abd063ff6414223575e008593861d62abfc22455b5d1a44995b7c101/charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9cbfacf36cb0ec2897ce0ebc5d08ca44213af24265bd56eca54bee7923c48fd6", size = 155045, upload-time = "2025-05-02T08:31:50.757Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/3b/95/bc08c7dfeddd26b4be8c8287b9bb055716f31077c8b0ea1cd09553794665/charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:18dd2e350387c87dabe711b86f83c9c78af772c748904d372ade190b5c7c9d4d", size = 147356, upload-time = "2025-05-02T08:31:52.634Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a8/2d/7a5b635aa65284bf3eab7653e8b4151ab420ecbae918d3e359d1947b4d61/charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8075c35cd58273fee266c58c0c9b670947c19df5fb98e7b66710e04ad4e9ff86", size = 149471, upload-time = "2025-05-02T08:31:56.207Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ae/38/51fc6ac74251fd331a8cfdb7ec57beba8c23fd5493f1050f71c87ef77ed0/charset_normalizer-3.4.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5bf4545e3b962767e5c06fe1738f951f77d27967cb2caa64c28be7c4563e162c", size = 151317, upload-time = "2025-05-02T08:31:57.613Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/b7/17/edee1e32215ee6e9e46c3e482645b46575a44a2d72c7dfd49e49f60ce6bf/charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7a6ab32f7210554a96cd9e33abe3ddd86732beeafc7a28e9955cdf22ffadbab0", size = 146368, upload-time = "2025-05-02T08:31:59.468Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/26/2c/ea3e66f2b5f21fd00b2825c94cafb8c326ea6240cd80a91eb09e4a285830/charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:b33de11b92e9f75a2b545d6e9b6f37e398d86c3e9e9653c4864eb7e89c5773ef", size = 154491, upload-time = "2025-05-02T08:32:01.219Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/52/47/7be7fa972422ad062e909fd62460d45c3ef4c141805b7078dbab15904ff7/charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8755483f3c00d6c9a77f490c17e6ab0c8729e39e6390328e42521ef175380ae6", size = 157695, upload-time = "2025-05-02T08:32:03.045Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/2f/42/9f02c194da282b2b340f28e5fb60762de1151387a36842a92b533685c61e/charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:68a328e5f55ec37c57f19ebb1fdc56a248db2e3e9ad769919a58672958e8f366", size = 154849, upload-time = "2025-05-02T08:32:04.651Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/67/44/89cacd6628f31fb0b63201a618049be4be2a7435a31b55b5eb1c3674547a/charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:21b2899062867b0e1fde9b724f8aecb1af14f2778d69aacd1a5a1853a597a5db", size = 150091, upload-time = "2025-05-02T08:32:06.719Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/1f/79/4b8da9f712bc079c0f16b6d67b099b0b8d808c2292c937f267d816ec5ecc/charset_normalizer-3.4.2-cp310-cp310-win32.whl", hash = "sha256:e8082b26888e2f8b36a042a58307d5b917ef2b1cacab921ad3323ef91901c71a", size = 98445, upload-time = "2025-05-02T08:32:08.66Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/7d/d7/96970afb4fb66497a40761cdf7bd4f6fca0fc7bafde3a84f836c1f57a926/charset_normalizer-3.4.2-cp310-cp310-win_amd64.whl", hash = "sha256:f69a27e45c43520f5487f27627059b64aaf160415589230992cec34c5e18a509", size = 105782, upload-time = "2025-05-02T08:32:10.46Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/05/85/4c40d00dcc6284a1c1ad5de5e0996b06f39d8232f1031cd23c2f5c07ee86/charset_normalizer-3.4.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:be1e352acbe3c78727a16a455126d9ff83ea2dfdcbc83148d2982305a04714c2", size = 198794, upload-time = "2025-05-02T08:32:11.945Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/41/d9/7a6c0b9db952598e97e93cbdfcb91bacd89b9b88c7c983250a77c008703c/charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa88ca0b1932e93f2d961bf3addbb2db902198dca337d88c89e1559e066e7645", size = 142846, upload-time = "2025-05-02T08:32:13.946Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/66/82/a37989cda2ace7e37f36c1a8ed16c58cf48965a79c2142713244bf945c89/charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d524ba3f1581b35c03cb42beebab4a13e6cdad7b36246bd22541fa585a56cccd", size = 153350, upload-time = "2025-05-02T08:32:15.873Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/df/68/a576b31b694d07b53807269d05ec3f6f1093e9545e8607121995ba7a8313/charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28a1005facc94196e1fb3e82a3d442a9d9110b8434fc1ded7a24a2983c9888d8", size = 145657, upload-time = "2025-05-02T08:32:17.283Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/92/9b/ad67f03d74554bed3aefd56fe836e1623a50780f7c998d00ca128924a499/charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fdb20a30fe1175ecabed17cbf7812f7b804b8a315a25f24678bcdf120a90077f", size = 147260, upload-time = "2025-05-02T08:32:18.807Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a6/e6/8aebae25e328160b20e31a7e9929b1578bbdc7f42e66f46595a432f8539e/charset_normalizer-3.4.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0f5d9ed7f254402c9e7d35d2f5972c9bbea9040e99cd2861bd77dc68263277c7", size = 149164, upload-time = "2025-05-02T08:32:20.333Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/8b/f2/b3c2f07dbcc248805f10e67a0262c93308cfa149a4cd3d1fe01f593e5fd2/charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:efd387a49825780ff861998cd959767800d54f8308936b21025326de4b5a42b9", size = 144571, upload-time = "2025-05-02T08:32:21.86Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/60/5b/c3f3a94bc345bc211622ea59b4bed9ae63c00920e2e8f11824aa5708e8b7/charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:f0aa37f3c979cf2546b73e8222bbfa3dc07a641585340179d768068e3455e544", size = 151952, upload-time = "2025-05-02T08:32:23.434Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/e2/4d/ff460c8b474122334c2fa394a3f99a04cf11c646da895f81402ae54f5c42/charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:e70e990b2137b29dc5564715de1e12701815dacc1d056308e2b17e9095372a82", size = 155959, upload-time = "2025-05-02T08:32:24.993Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a2/2b/b964c6a2fda88611a1fe3d4c400d39c66a42d6c169c924818c848f922415/charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:0c8c57f84ccfc871a48a47321cfa49ae1df56cd1d965a09abe84066f6853b9c0", size = 153030, upload-time = "2025-05-02T08:32:26.435Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/59/2e/d3b9811db26a5ebf444bc0fa4f4be5aa6d76fc6e1c0fd537b16c14e849b6/charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6b66f92b17849b85cad91259efc341dce9c1af48e2173bf38a85c6329f1033e5", size = 148015, upload-time = "2025-05-02T08:32:28.376Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/90/07/c5fd7c11eafd561bb51220d600a788f1c8d77c5eef37ee49454cc5c35575/charset_normalizer-3.4.2-cp311-cp311-win32.whl", hash = "sha256:daac4765328a919a805fa5e2720f3e94767abd632ae410a9062dff5412bae65a", size = 98106, upload-time = "2025-05-02T08:32:30.281Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a8/05/5e33dbef7e2f773d672b6d79f10ec633d4a71cd96db6673625838a4fd532/charset_normalizer-3.4.2-cp311-cp311-win_amd64.whl", hash = "sha256:e53efc7c7cee4c1e70661e2e112ca46a575f90ed9ae3fef200f2a25e954f4b28", size = 105402, upload-time = "2025-05-02T08:32:32.191Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/d7/a4/37f4d6035c89cac7930395a35cc0f1b872e652eaafb76a6075943754f095/charset_normalizer-3.4.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0c29de6a1a95f24b9a1aa7aefd27d2487263f00dfd55a77719b530788f75cff7", size = 199936, upload-time = "2025-05-02T08:32:33.712Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ee/8a/1a5e33b73e0d9287274f899d967907cd0bf9c343e651755d9307e0dbf2b3/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cddf7bd982eaa998934a91f69d182aec997c6c468898efe6679af88283b498d3", size = 143790, upload-time = "2025-05-02T08:32:35.768Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/66/52/59521f1d8e6ab1482164fa21409c5ef44da3e9f653c13ba71becdd98dec3/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcbe676a55d7445b22c10967bceaaf0ee69407fbe0ece4d032b6eb8d4565982a", size = 153924, upload-time = "2025-05-02T08:32:37.284Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/86/2d/fb55fdf41964ec782febbf33cb64be480a6b8f16ded2dbe8db27a405c09f/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d41c4d287cfc69060fa91cae9683eacffad989f1a10811995fa309df656ec214", size = 146626, upload-time = "2025-05-02T08:32:38.803Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/8c/73/6ede2ec59bce19b3edf4209d70004253ec5f4e319f9a2e3f2f15601ed5f7/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e594135de17ab3866138f496755f302b72157d115086d100c3f19370839dd3a", size = 148567, upload-time = "2025-05-02T08:32:40.251Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/09/14/957d03c6dc343c04904530b6bef4e5efae5ec7d7990a7cbb868e4595ee30/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cf713fe9a71ef6fd5adf7a79670135081cd4431c2943864757f0fa3a65b1fafd", size = 150957, upload-time = "2025-05-02T08:32:41.705Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/0d/c8/8174d0e5c10ccebdcb1b53cc959591c4c722a3ad92461a273e86b9f5a302/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a370b3e078e418187da8c3674eddb9d983ec09445c99a3a263c2011993522981", size = 145408, upload-time = "2025-05-02T08:32:43.709Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/58/aa/8904b84bc8084ac19dc52feb4f5952c6df03ffb460a887b42615ee1382e8/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a955b438e62efdf7e0b7b52a64dc5c3396e2634baa62471768a64bc2adb73d5c", size = 153399, upload-time = "2025-05-02T08:32:46.197Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/c2/26/89ee1f0e264d201cb65cf054aca6038c03b1a0c6b4ae998070392a3ce605/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:7222ffd5e4de8e57e03ce2cef95a4c43c98fcb72ad86909abdfc2c17d227fc1b", size = 156815, upload-time = "2025-05-02T08:32:48.105Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/fd/07/68e95b4b345bad3dbbd3a8681737b4338ff2c9df29856a6d6d23ac4c73cb/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:bee093bf902e1d8fc0ac143c88902c3dfc8941f7ea1d6a8dd2bcb786d33db03d", size = 154537, upload-time = "2025-05-02T08:32:49.719Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/77/1a/5eefc0ce04affb98af07bc05f3bac9094513c0e23b0562d64af46a06aae4/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:dedb8adb91d11846ee08bec4c8236c8549ac721c245678282dcb06b221aab59f", size = 149565, upload-time = "2025-05-02T08:32:51.404Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/37/a0/2410e5e6032a174c95e0806b1a6585eb21e12f445ebe239fac441995226a/charset_normalizer-3.4.2-cp312-cp312-win32.whl", hash = "sha256:db4c7bf0e07fc3b7d89ac2a5880a6a8062056801b83ff56d8464b70f65482b6c", size = 98357, upload-time = "2025-05-02T08:32:53.079Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/6c/4f/c02d5c493967af3eda9c771ad4d2bbc8df6f99ddbeb37ceea6e8716a32bc/charset_normalizer-3.4.2-cp312-cp312-win_amd64.whl", hash = "sha256:5a9979887252a82fefd3d3ed2a8e3b937a7a809f65dcb1e068b090e165bbe99e", size = 105776, upload-time = "2025-05-02T08:32:54.573Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ea/12/a93df3366ed32db1d907d7593a94f1fe6293903e3e92967bebd6950ed12c/charset_normalizer-3.4.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:926ca93accd5d36ccdabd803392ddc3e03e6d4cd1cf17deff3b989ab8e9dbcf0", size = 199622, upload-time = "2025-05-02T08:32:56.363Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/04/93/bf204e6f344c39d9937d3c13c8cd5bbfc266472e51fc8c07cb7f64fcd2de/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eba9904b0f38a143592d9fc0e19e2df0fa2e41c3c3745554761c5f6447eedabf", size = 143435, upload-time = "2025-05-02T08:32:58.551Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/22/2a/ea8a2095b0bafa6c5b5a55ffdc2f924455233ee7b91c69b7edfcc9e02284/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3fddb7e2c84ac87ac3a947cb4e66d143ca5863ef48e4a5ecb83bd48619e4634e", size = 153653, upload-time = "2025-05-02T08:33:00.342Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/b6/57/1b090ff183d13cef485dfbe272e2fe57622a76694061353c59da52c9a659/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98f862da73774290f251b9df8d11161b6cf25b599a66baf087c1ffe340e9bfd1", size = 146231, upload-time = "2025-05-02T08:33:02.081Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/e2/28/ffc026b26f441fc67bd21ab7f03b313ab3fe46714a14b516f931abe1a2d8/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c9379d65defcab82d07b2a9dfbfc2e95bc8fe0ebb1b176a3190230a3ef0e07c", size = 148243, upload-time = "2025-05-02T08:33:04.063Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/c0/0f/9abe9bd191629c33e69e47c6ef45ef99773320e9ad8e9cb08b8ab4a8d4cb/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e635b87f01ebc977342e2697d05b56632f5f879a4f15955dfe8cef2448b51691", size = 150442, upload-time = "2025-05-02T08:33:06.418Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/67/7c/a123bbcedca91d5916c056407f89a7f5e8fdfce12ba825d7d6b9954a1a3c/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1c95a1e2902a8b722868587c0e1184ad5c55631de5afc0eb96bc4b0d738092c0", size = 145147, upload-time = "2025-05-02T08:33:08.183Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ec/fe/1ac556fa4899d967b83e9893788e86b6af4d83e4726511eaaad035e36595/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ef8de666d6179b009dce7bcb2ad4c4a779f113f12caf8dc77f0162c29d20490b", size = 153057, upload-time = "2025-05-02T08:33:09.986Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/2b/ff/acfc0b0a70b19e3e54febdd5301a98b72fa07635e56f24f60502e954c461/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:32fc0341d72e0f73f80acb0a2c94216bd704f4f0bce10aedea38f30502b271ff", size = 156454, upload-time = "2025-05-02T08:33:11.814Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/92/08/95b458ce9c740d0645feb0e96cea1f5ec946ea9c580a94adfe0b617f3573/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:289200a18fa698949d2b39c671c2cc7a24d44096784e76614899a7ccf2574b7b", size = 154174, upload-time = "2025-05-02T08:33:13.707Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/78/be/8392efc43487ac051eee6c36d5fbd63032d78f7728cb37aebcc98191f1ff/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4a476b06fbcf359ad25d34a057b7219281286ae2477cc5ff5e3f70a246971148", size = 149166, upload-time = "2025-05-02T08:33:15.458Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/44/96/392abd49b094d30b91d9fbda6a69519e95802250b777841cf3bda8fe136c/charset_normalizer-3.4.2-cp313-cp313-win32.whl", hash = "sha256:aaeeb6a479c7667fbe1099af9617c83aaca22182d6cf8c53966491a0f1b7ffb7", size = 98064, upload-time = "2025-05-02T08:33:17.06Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/e9/b0/0200da600134e001d91851ddc797809e2fe0ea72de90e09bec5a2fbdaccb/charset_normalizer-3.4.2-cp313-cp313-win_amd64.whl", hash = "sha256:aa6af9e7d59f9c12b33ae4e9450619cf2488e2bbe9b44030905877f0b2324980", size = 105641, upload-time = "2025-05-02T08:33:18.753Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/28/f8/dfb01ff6cc9af38552c69c9027501ff5a5117c4cc18dcd27cb5259fa1888/charset_normalizer-3.4.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:005fa3432484527f9732ebd315da8da8001593e2cf46a3d817669f062c3d9ed4", size = 201671, upload-time = "2025-05-02T08:34:12.696Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/32/fb/74e26ee556a9dbfe3bd264289b67be1e6d616329403036f6507bb9f3f29c/charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e92fca20c46e9f5e1bb485887d074918b13543b1c2a1185e69bb8d17ab6236a7", size = 144744, upload-time = "2025-05-02T08:34:14.665Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ad/06/8499ee5aa7addc6f6d72e068691826ff093329fe59891e83b092ae4c851c/charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:50bf98d5e563b83cc29471fa114366e6806bc06bc7a25fd59641e41445327836", size = 154993, upload-time = "2025-05-02T08:34:17.134Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/f1/a2/5e4c187680728219254ef107a6949c60ee0e9a916a5dadb148c7ae82459c/charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:721c76e84fe669be19c5791da68232ca2e05ba5185575086e384352e2c309597", size = 147382, upload-time = "2025-05-02T08:34:19.081Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/4c/fe/56aca740dda674f0cc1ba1418c4d84534be51f639b5f98f538b332dc9a95/charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:82d8fd25b7f4675d0c47cf95b594d4e7b158aca33b76aa63d07186e13c0e0ab7", size = 149536, upload-time = "2025-05-02T08:34:21.073Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/53/13/db2e7779f892386b589173dd689c1b1e304621c5792046edd8a978cbf9e0/charset_normalizer-3.4.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b3daeac64d5b371dea99714f08ffc2c208522ec6b06fbc7866a450dd446f5c0f", size = 151349, upload-time = "2025-05-02T08:34:23.193Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/69/35/e52ab9a276186f729bce7a0638585d2982f50402046e4b0faa5d2c3ef2da/charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:dccab8d5fa1ef9bfba0590ecf4d46df048d18ffe3eec01eeb73a42e0d9e7a8ba", size = 146365, upload-time = "2025-05-02T08:34:25.187Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a6/d8/af7333f732fc2e7635867d56cb7c349c28c7094910c72267586947561b4b/charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:aaf27faa992bfee0264dc1f03f4c75e9fcdda66a519db6b957a3f826e285cf12", size = 154499, upload-time = "2025-05-02T08:34:27.359Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/7a/3d/a5b2e48acef264d71e036ff30bcc49e51bde80219bb628ba3e00cf59baac/charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:eb30abc20df9ab0814b5a2524f23d75dcf83cde762c161917a2b4b7b55b1e518", size = 157735, upload-time = "2025-05-02T08:34:29.798Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/85/d8/23e2c112532a29f3eef374375a8684a4f3b8e784f62b01da931186f43494/charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:c72fbbe68c6f32f251bdc08b8611c7b3060612236e960ef848e0a517ddbe76c5", size = 154786, upload-time = "2025-05-02T08:34:31.858Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/c7/57/93e0169f08ecc20fe82d12254a200dfaceddc1c12a4077bf454ecc597e33/charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:982bb1e8b4ffda883b3d0a521e23abcd6fd17418f6d2c4118d257a10199c0ce3", size = 150203, upload-time = "2025-05-02T08:34:33.88Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/2c/9d/9bf2b005138e7e060d7ebdec7503d0ef3240141587651f4b445bdf7286c2/charset_normalizer-3.4.2-cp39-cp39-win32.whl", hash = "sha256:43e0933a0eff183ee85833f341ec567c0980dae57c464d8a508e1b2ceb336471", size = 98436, upload-time = "2025-05-02T08:34:35.907Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/6d/24/5849d46cf4311bbf21b424c443b09b459f5b436b1558c04e45dbb7cc478b/charset_normalizer-3.4.2-cp39-cp39-win_amd64.whl", hash = "sha256:d11b54acf878eef558599658b0ffca78138c8c3655cf4f3a4a673c437e67732e", size = 105772, upload-time = "2025-05-02T08:34:37.935Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/20/94/c5790835a017658cbfabd07f3bfb549140c3ac458cfc196323996b10095a/charset_normalizer-3.4.2-py3-none-any.whl", hash = "sha256:7f56930ab0abd1c45cd15be65cc741c28b1c9a34876ce8c17a2fa107810c0af0", size = 52626, upload-time = "2025-05-02T08:34:40.053Z" }, ] [[package]] name = "click" version = "8.1.8" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } resolution-markers = [ "python_full_version < '3.10' and platform_machine == 'arm64' and sys_platform == 'darwin'", "python_full_version < '3.10' and platform_machine == 'aarch64' and sys_platform == 'linux'", @@ -165,15 +177,15 @@ resolution-markers = [ dependencies = [ { name = "colorama", marker = "python_full_version < '3.10' and sys_platform == 'win32'" }, ] -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a", size = 226593, upload-time = "2024-12-21T18:38:44.339Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2", size = 98188, upload-time = "2024-12-21T18:38:41.666Z" }, ] [[package]] name = "click" version = "8.2.1" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } resolution-markers = [ "python_full_version >= '3.12' and sys_platform == 'darwin'", "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", @@ -188,104 +200,104 @@ resolution-markers = [ dependencies = [ { name = "colorama", marker = "python_full_version >= '3.10' and sys_platform == 'win32'" }, ] -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/60/6c/8ca2efa64cf75a977a0d7fac081354553ebe483345c734fb6b6515d96bbc/click-8.2.1.tar.gz", hash = "sha256:27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/60/6c/8ca2efa64cf75a977a0d7fac081354553ebe483345c734fb6b6515d96bbc/click-8.2.1.tar.gz", hash = "sha256:27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202", size = 286342, upload-time = "2025-05-20T23:19:49.832Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/85/32/10bb5764d90a8eee674e9dc6f4db6a0ab47c8c4d0d83c27f7c39ac415a4d/click-8.2.1-py3-none-any.whl", hash = "sha256:61a3265b914e850b85317d0b3109c7f8cd35a670f963866005d6ef1d5175a12b" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/85/32/10bb5764d90a8eee674e9dc6f4db6a0ab47c8c4d0d83c27f7c39ac415a4d/click-8.2.1-py3-none-any.whl", hash = "sha256:61a3265b914e850b85317d0b3109c7f8cd35a670f963866005d6ef1d5175a12b", size = 102215, upload-time = "2025-05-20T23:19:47.796Z" }, ] [[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" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, ] [[package]] name = "contourpy" version = "1.3.0" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } resolution-markers = [ "python_full_version < '3.10' and platform_machine == 'arm64' and sys_platform == 'darwin'", "python_full_version < '3.10' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version < '3.10' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.10' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.10' and sys_platform != 'darwin' and sys_platform != 'linux')", ] dependencies = [ - { name = "numpy", version = "2.0.2", source = { registry = "https://mirrors.aliyun.com/pypi/simple" }, marker = "python_full_version < '3.10'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" }, marker = "python_full_version < '3.10'" }, ] -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/f5/f6/31a8f28b4a2a4fa0e01085e542f3081ab0588eff8e589d39d775172c9792/contourpy-1.3.0.tar.gz", hash = "sha256:7ffa0db17717a8ffb127efd0c95a4362d996b892c2904db72428d5b52e1938a4" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/f5/f6/31a8f28b4a2a4fa0e01085e542f3081ab0588eff8e589d39d775172c9792/contourpy-1.3.0.tar.gz", hash = "sha256:7ffa0db17717a8ffb127efd0c95a4362d996b892c2904db72428d5b52e1938a4", size = 13464370, upload-time = "2024-08-27T21:00:03.328Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/6c/e0/be8dcc796cfdd96708933e0e2da99ba4bb8f9b2caa9d560a50f3f09a65f3/contourpy-1.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:880ea32e5c774634f9fcd46504bf9f080a41ad855f4fef54f5380f5133d343c7" }, - { url = "https://mirrors.aliyun.com/pypi/packages/50/d6/c953b400219443535d412fcbbc42e7a5e823291236bc0bb88936e3cc9317/contourpy-1.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:76c905ef940a4474a6289c71d53122a4f77766eef23c03cd57016ce19d0f7b42" }, - { url = "https://mirrors.aliyun.com/pypi/packages/6f/b4/6fffdf213ffccc28483c524b9dad46bb78332851133b36ad354b856ddc7c/contourpy-1.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:92f8557cbb07415a4d6fa191f20fd9d2d9eb9c0b61d1b2f52a8926e43c6e9af7" }, - { url = "https://mirrors.aliyun.com/pypi/packages/cf/6c/118fc917b4050f0afe07179a6dcbe4f3f4ec69b94f36c9e128c4af480fb8/contourpy-1.3.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:36f965570cff02b874773c49bfe85562b47030805d7d8360748f3eca570f4cab" }, - { url = "https://mirrors.aliyun.com/pypi/packages/f9/a4/30ff110a81bfe3abf7b9673284d21ddce8cc1278f6f77393c91199da4c90/contourpy-1.3.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cacd81e2d4b6f89c9f8a5b69b86490152ff39afc58a95af002a398273e5ce589" }, - { url = "https://mirrors.aliyun.com/pypi/packages/99/e6/d11966962b1aa515f5586d3907ad019f4b812c04e4546cc19ebf62b5178e/contourpy-1.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:69375194457ad0fad3a839b9e29aa0b0ed53bb54db1bfb6c3ae43d111c31ce41" }, - { url = "https://mirrors.aliyun.com/pypi/packages/4d/e3/182383743751d22b7b59c3c753277b6aee3637049197624f333dac5b4c80/contourpy-1.3.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7a52040312b1a858b5e31ef28c2e865376a386c60c0e248370bbea2d3f3b760d" }, - { url = "https://mirrors.aliyun.com/pypi/packages/78/53/974400c815b2e605f252c8fb9297e2204347d1755a5374354ee77b1ea259/contourpy-1.3.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3faeb2998e4fcb256542e8a926d08da08977f7f5e62cf733f3c211c2a5586223" }, - { url = "https://mirrors.aliyun.com/pypi/packages/52/29/99f849faed5593b2926a68a31882af98afbeac39c7fdf7de491d9c85ec6a/contourpy-1.3.0-cp310-cp310-win32.whl", hash = "sha256:36e0cff201bcb17a0a8ecc7f454fe078437fa6bda730e695a92f2d9932bd507f" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a9/97/3f89bba79ff6ff2b07a3cbc40aa693c360d5efa90d66e914f0ff03b95ec7/contourpy-1.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:87ddffef1dbe5e669b5c2440b643d3fdd8622a348fe1983fad7a0f0ccb1cd67b" }, - { url = "https://mirrors.aliyun.com/pypi/packages/b3/1f/9375917786cb39270b0ee6634536c0e22abf225825602688990d8f5c6c19/contourpy-1.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0fa4c02abe6c446ba70d96ece336e621efa4aecae43eaa9b030ae5fb92b309ad" }, - { url = "https://mirrors.aliyun.com/pypi/packages/05/46/9256dd162ea52790c127cb58cfc3b9e3413a6e3478917d1f811d420772ec/contourpy-1.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:834e0cfe17ba12f79963861e0f908556b2cedd52e1f75e6578801febcc6a9f49" }, - { url = "https://mirrors.aliyun.com/pypi/packages/e1/5d/3056c167fa4486900dfbd7e26a2fdc2338dc58eee36d490a0ed3ddda5ded/contourpy-1.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dbc4c3217eee163fa3984fd1567632b48d6dfd29216da3ded3d7b844a8014a66" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ca/c2/1a612e475492e07f11c8e267ea5ec1ce0d89971be496c195e27afa97e14a/contourpy-1.3.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4865cd1d419e0c7a7bf6de1777b185eebdc51470800a9f42b9e9decf17762081" }, - { url = "https://mirrors.aliyun.com/pypi/packages/45/cf/2c2fc6bb5874158277b4faf136847f0689e1b1a1f640a36d76d52e78907c/contourpy-1.3.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:303c252947ab4b14c08afeb52375b26781ccd6a5ccd81abcdfc1fafd14cf93c1" }, - { url = "https://mirrors.aliyun.com/pypi/packages/03/33/003065374f38894cdf1040cef474ad0546368eea7e3a51d48b8a423961f8/contourpy-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:637f674226be46f6ba372fd29d9523dd977a291f66ab2a74fbeb5530bb3f445d" }, - { url = "https://mirrors.aliyun.com/pypi/packages/42/80/e637326e85e4105a802e42959f56cff2cd39a6b5ef68d5d9aee3ea5f0e4c/contourpy-1.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:76a896b2f195b57db25d6b44e7e03f221d32fe318d03ede41f8b4d9ba1bff53c" }, - { url = "https://mirrors.aliyun.com/pypi/packages/7c/3b/8cbd6416ca1bbc0202b50f9c13b2e0b922b64be888f9d9ee88e6cfabfb51/contourpy-1.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e1fd23e9d01591bab45546c089ae89d926917a66dceb3abcf01f6105d927e2cb" }, - { url = "https://mirrors.aliyun.com/pypi/packages/4d/2c/021a7afaa52fe891f25535506cc861c30c3c4e5a1c1ce94215e04b293e72/contourpy-1.3.0-cp311-cp311-win32.whl", hash = "sha256:d402880b84df3bec6eab53cd0cf802cae6a2ef9537e70cf75e91618a3801c20c" }, - { url = "https://mirrors.aliyun.com/pypi/packages/8d/2f/804f02ff30a7fae21f98198828d0857439ec4c91a96e20cf2d6c49372966/contourpy-1.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:6cb6cc968059db9c62cb35fbf70248f40994dfcd7aa10444bbf8b3faeb7c2d67" }, - { url = "https://mirrors.aliyun.com/pypi/packages/c9/92/8e0bbfe6b70c0e2d3d81272b58c98ac69ff1a4329f18c73bd64824d8b12e/contourpy-1.3.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:570ef7cf892f0afbe5b2ee410c507ce12e15a5fa91017a0009f79f7d93a1268f" }, - { url = "https://mirrors.aliyun.com/pypi/packages/e3/04/33351c5d5108460a8ce6d512307690b023f0cfcad5899499f5c83b9d63b1/contourpy-1.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:da84c537cb8b97d153e9fb208c221c45605f73147bd4cadd23bdae915042aad6" }, - { url = "https://mirrors.aliyun.com/pypi/packages/51/3d/aa0fe6ae67e3ef9f178389e4caaaa68daf2f9024092aa3c6032e3d174670/contourpy-1.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0be4d8425bfa755e0fd76ee1e019636ccc7c29f77a7c86b4328a9eb6a26d0639" }, - { url = "https://mirrors.aliyun.com/pypi/packages/56/c3/c85a7e3e0cab635575d3b657f9535443a6f5d20fac1a1911eaa4bbe1aceb/contourpy-1.3.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9c0da700bf58f6e0b65312d0a5e695179a71d0163957fa381bb3c1f72972537c" }, - { url = "https://mirrors.aliyun.com/pypi/packages/dd/8d/20f7a211a7be966a53f474bc90b1a8202e9844b3f1ef85f3ae45a77151ee/contourpy-1.3.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eb8b141bb00fa977d9122636b16aa67d37fd40a3d8b52dd837e536d64b9a4d06" }, - { url = "https://mirrors.aliyun.com/pypi/packages/6e/be/524e377567defac0e21a46e2a529652d165fed130a0d8a863219303cee18/contourpy-1.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3634b5385c6716c258d0419c46d05c8aa7dc8cb70326c9a4fb66b69ad2b52e09" }, - { url = "https://mirrors.aliyun.com/pypi/packages/0f/96/fdb2552a172942d888915f3a6663812e9bc3d359d53dafd4289a0fb462f0/contourpy-1.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0dce35502151b6bd35027ac39ba6e5a44be13a68f55735c3612c568cac3805fd" }, - { url = "https://mirrors.aliyun.com/pypi/packages/2a/25/632eab595e3140adfa92f1322bf8915f68c932bac468e89eae9974cf1c00/contourpy-1.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:aea348f053c645100612b333adc5983d87be69acdc6d77d3169c090d3b01dc35" }, - { url = "https://mirrors.aliyun.com/pypi/packages/73/e3/69738782e315a1d26d29d71a550dbbe3eb6c653b028b150f70c1a5f4f229/contourpy-1.3.0-cp312-cp312-win32.whl", hash = "sha256:90f73a5116ad1ba7174341ef3ea5c3150ddf20b024b98fb0c3b29034752c8aeb" }, - { url = "https://mirrors.aliyun.com/pypi/packages/0c/89/9830ba00d88e43d15e53d64931e66b8792b46eb25e2050a88fec4a0df3d5/contourpy-1.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:b11b39aea6be6764f84360fce6c82211a9db32a7c7de8fa6dd5397cf1d079c3b" }, - { url = "https://mirrors.aliyun.com/pypi/packages/53/a1/d20415febfb2267af2d7f06338e82171824d08614084714fb2c1dac9901f/contourpy-1.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:3e1c7fa44aaae40a2247e2e8e0627f4bea3dd257014764aa644f319a5f8600e3" }, - { url = "https://mirrors.aliyun.com/pypi/packages/aa/45/5a28a3570ff6218d8bdfc291a272a20d2648104815f01f0177d103d985e1/contourpy-1.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:364174c2a76057feef647c802652f00953b575723062560498dc7930fc9b1cb7" }, - { url = "https://mirrors.aliyun.com/pypi/packages/39/1c/d3f51540108e3affa84f095c8b04f0aa833bb797bc8baa218a952a98117d/contourpy-1.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32b238b3b3b649e09ce9aaf51f0c261d38644bdfa35cbaf7b263457850957a84" }, - { url = "https://mirrors.aliyun.com/pypi/packages/00/56/1348a44fb6c3a558c1a3a0cd23d329d604c99d81bf5a4b58c6b71aab328f/contourpy-1.3.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d51fca85f9f7ad0b65b4b9fe800406d0d77017d7270d31ec3fb1cc07358fdea0" }, - { url = "https://mirrors.aliyun.com/pypi/packages/2b/23/00d665ba67e1bb666152131da07e0f24c95c3632d7722caa97fb61470eca/contourpy-1.3.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:732896af21716b29ab3e988d4ce14bc5133733b85956316fb0c56355f398099b" }, - { url = "https://mirrors.aliyun.com/pypi/packages/5a/42/3cf40f7040bb8362aea19af9a5fb7b32ce420f645dd1590edcee2c657cd5/contourpy-1.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d73f659398a0904e125280836ae6f88ba9b178b2fed6884f3b1f95b989d2c8da" }, - { url = "https://mirrors.aliyun.com/pypi/packages/05/32/f3bfa3fc083b25e1a7ae09197f897476ee68e7386e10404bdf9aac7391f0/contourpy-1.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c6c7c2408b7048082932cf4e641fa3b8ca848259212f51c8c59c45aa7ac18f14" }, - { url = "https://mirrors.aliyun.com/pypi/packages/1c/1e/1019d34473a736664f2439542b890b2dc4c6245f5c0d8cdfc0ccc2cab80c/contourpy-1.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f317576606de89da6b7e0861cf6061f6146ead3528acabff9236458a6ba467f8" }, - { url = "https://mirrors.aliyun.com/pypi/packages/22/85/4f8bfd83972cf8909a4d36d16b177f7b8bdd942178ea4bf877d4a380a91c/contourpy-1.3.0-cp313-cp313-win32.whl", hash = "sha256:31cd3a85dbdf1fc002280c65caa7e2b5f65e4a973fcdf70dd2fdcb9868069294" }, - { url = "https://mirrors.aliyun.com/pypi/packages/cc/4a/fb3c83c1baba64ba90443626c228ca14f19a87c51975d3b1de308dd2cf08/contourpy-1.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:4553c421929ec95fb07b3aaca0fae668b2eb5a5203d1217ca7c34c063c53d087" }, - { url = "https://mirrors.aliyun.com/pypi/packages/76/65/702f4064f397821fea0cb493f7d3bc95a5d703e20954dce7d6d39bacf378/contourpy-1.3.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:345af746d7766821d05d72cb8f3845dfd08dd137101a2cb9b24de277d716def8" }, - { url = "https://mirrors.aliyun.com/pypi/packages/80/85/21f5bba56dba75c10a45ec00ad3b8190dbac7fd9a8a8c46c6116c933e9cf/contourpy-1.3.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3bb3808858a9dc68f6f03d319acd5f1b8a337e6cdda197f02f4b8ff67ad2057b" }, - { url = "https://mirrors.aliyun.com/pypi/packages/0a/64/084c86ab71d43149f91ab3a4054ccf18565f0a8af36abfa92b1467813ed6/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:420d39daa61aab1221567b42eecb01112908b2cab7f1b4106a52caaec8d36973" }, - { url = "https://mirrors.aliyun.com/pypi/packages/3d/ff/d61a4c288dc42da0084b8d9dc2aa219a850767165d7d9a9c364ff530b509/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4d63ee447261e963af02642ffcb864e5a2ee4cbfd78080657a9880b8b1868e18" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ca/aa/00d2313d35ec03f188e8f0786c2fc61f589306e02fdc158233697546fd58/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:167d6c890815e1dac9536dca00828b445d5d0df4d6a8c6adb4a7ec3166812fa8" }, - { url = "https://mirrors.aliyun.com/pypi/packages/8d/6a/b5242c8cb32d87f6abf4f5e3044ca397cb1a76712e3fa2424772e3ff495f/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:710a26b3dc80c0e4febf04555de66f5fd17e9cf7170a7b08000601a10570bda6" }, - { url = "https://mirrors.aliyun.com/pypi/packages/6f/a6/73e929d43028a9079aca4bde107494864d54f0d72d9db508a51ff0878593/contourpy-1.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:75ee7cb1a14c617f34a51d11fa7524173e56551646828353c4af859c56b766e2" }, - { url = "https://mirrors.aliyun.com/pypi/packages/2b/1e/1e726ba66eddf21c940821df8cf1a7d15cb165f0682d62161eaa5e93dae1/contourpy-1.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:33c92cdae89ec5135d036e7218e69b0bb2851206077251f04a6c4e0e21f03927" }, - { url = "https://mirrors.aliyun.com/pypi/packages/b3/e3/b9f72758adb6ef7397327ceb8b9c39c75711affb220e4f53c745ea1d5a9a/contourpy-1.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a11077e395f67ffc2c44ec2418cfebed032cd6da3022a94fc227b6faf8e2acb8" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ec/22/19f5b948367ab5260fb41d842c7a78dae645603881ea6bc39738bcfcabf6/contourpy-1.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e8134301d7e204c88ed7ab50028ba06c683000040ede1d617298611f9dc6240c" }, - { url = "https://mirrors.aliyun.com/pypi/packages/26/76/0c7d43263dd00ae21a91a24381b7e813d286a3294d95d179ef3a7b9fb1d7/contourpy-1.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e12968fdfd5bb45ffdf6192a590bd8ddd3ba9e58360b29683c6bb71a7b41edca" }, - { url = "https://mirrors.aliyun.com/pypi/packages/96/3b/cadff6773e89f2a5a492c1a8068e21d3fccaf1a1c1df7d65e7c8e3ef60ba/contourpy-1.3.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fd2a0fc506eccaaa7595b7e1418951f213cf8255be2600f1ea1b61e46a60c55f" }, - { url = "https://mirrors.aliyun.com/pypi/packages/e1/86/158cc43aa549d2081a955ab11c6bdccc7a22caacc2af93186d26f5f48746/contourpy-1.3.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4cfb5c62ce023dfc410d6059c936dcf96442ba40814aefbfa575425a3a7f19dc" }, - { url = "https://mirrors.aliyun.com/pypi/packages/05/11/57335544a3027e9b96a05948c32e566328e3a2f84b7b99a325b7a06d2b06/contourpy-1.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:68a32389b06b82c2fdd68276148d7b9275b5f5cf13e5417e4252f6d1a34f72a2" }, - { url = "https://mirrors.aliyun.com/pypi/packages/0b/e3/02114f96543f4a1b694333b92a6dcd4f8eebbefcc3a5f3bbb1316634178f/contourpy-1.3.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:94e848a6b83da10898cbf1311a815f770acc9b6a3f2d646f330d57eb4e87592e" }, - { url = "https://mirrors.aliyun.com/pypi/packages/f3/3b/bfe4c81c6d5881c1c643dde6620be0b42bf8aab155976dd644595cfab95c/contourpy-1.3.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:d78ab28a03c854a873787a0a42254a0ccb3cb133c672f645c9f9c8f3ae9d0800" }, - { url = "https://mirrors.aliyun.com/pypi/packages/f1/17/c52d2970784383cafb0bd918b6fb036d98d96bbf0bc1befb5d1e31a07a70/contourpy-1.3.0-cp39-cp39-win32.whl", hash = "sha256:81cb5ed4952aae6014bc9d0421dec7c5835c9c8c31cdf51910b708f548cf58e5" }, - { url = "https://mirrors.aliyun.com/pypi/packages/53/23/db9f69676308e094d3c45f20cc52e12d10d64f027541c995d89c11ad5c75/contourpy-1.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:14e262f67bd7e6eb6880bc564dcda30b15e351a594657e55b7eec94b6ef72843" }, - { url = "https://mirrors.aliyun.com/pypi/packages/d1/09/60e486dc2b64c94ed33e58dcfb6f808192c03dfc5574c016218b9b7680dc/contourpy-1.3.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:fe41b41505a5a33aeaed2a613dccaeaa74e0e3ead6dd6fd3a118fb471644fd6c" }, - { url = "https://mirrors.aliyun.com/pypi/packages/19/20/b57f9f7174fcd439a7789fb47d764974ab646fa34d1790551de386457a8e/contourpy-1.3.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eca7e17a65f72a5133bdbec9ecf22401c62bcf4821361ef7811faee695799779" }, - { url = "https://mirrors.aliyun.com/pypi/packages/74/fc/5040d42623a1845d4f17a418e590fd7a79ae8cb2bad2b2f83de63c3bdca4/contourpy-1.3.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:1ec4dc6bf570f5b22ed0d7efba0dfa9c5b9e0431aeea7581aa217542d9e809a4" }, - { url = "https://mirrors.aliyun.com/pypi/packages/2b/24/dc3dcd77ac7460ab7e9d2b01a618cb31406902e50e605a8d6091f0a8f7cc/contourpy-1.3.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:00ccd0dbaad6d804ab259820fa7cb0b8036bda0686ef844d24125d8287178ce0" }, - { url = "https://mirrors.aliyun.com/pypi/packages/b1/db/531642a01cfec39d1682e46b5457b07cf805e3c3c584ec27e2a6223f8f6c/contourpy-1.3.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ca947601224119117f7c19c9cdf6b3ab54c5726ef1d906aa4a69dfb6dd58102" }, - { url = "https://mirrors.aliyun.com/pypi/packages/38/1e/94bda024d629f254143a134eead69e21c836429a2a6ce82209a00ddcb79a/contourpy-1.3.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:c6ec93afeb848a0845a18989da3beca3eec2c0f852322efe21af1931147d12cb" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/6c/e0/be8dcc796cfdd96708933e0e2da99ba4bb8f9b2caa9d560a50f3f09a65f3/contourpy-1.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:880ea32e5c774634f9fcd46504bf9f080a41ad855f4fef54f5380f5133d343c7", size = 265366, upload-time = "2024-08-27T20:50:09.947Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/50/d6/c953b400219443535d412fcbbc42e7a5e823291236bc0bb88936e3cc9317/contourpy-1.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:76c905ef940a4474a6289c71d53122a4f77766eef23c03cd57016ce19d0f7b42", size = 249226, upload-time = "2024-08-27T20:50:16.1Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/6f/b4/6fffdf213ffccc28483c524b9dad46bb78332851133b36ad354b856ddc7c/contourpy-1.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:92f8557cbb07415a4d6fa191f20fd9d2d9eb9c0b61d1b2f52a8926e43c6e9af7", size = 308460, upload-time = "2024-08-27T20:50:22.536Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/cf/6c/118fc917b4050f0afe07179a6dcbe4f3f4ec69b94f36c9e128c4af480fb8/contourpy-1.3.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:36f965570cff02b874773c49bfe85562b47030805d7d8360748f3eca570f4cab", size = 347623, upload-time = "2024-08-27T20:50:28.806Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/f9/a4/30ff110a81bfe3abf7b9673284d21ddce8cc1278f6f77393c91199da4c90/contourpy-1.3.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cacd81e2d4b6f89c9f8a5b69b86490152ff39afc58a95af002a398273e5ce589", size = 317761, upload-time = "2024-08-27T20:50:35.126Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/99/e6/d11966962b1aa515f5586d3907ad019f4b812c04e4546cc19ebf62b5178e/contourpy-1.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:69375194457ad0fad3a839b9e29aa0b0ed53bb54db1bfb6c3ae43d111c31ce41", size = 322015, upload-time = "2024-08-27T20:50:40.318Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/4d/e3/182383743751d22b7b59c3c753277b6aee3637049197624f333dac5b4c80/contourpy-1.3.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7a52040312b1a858b5e31ef28c2e865376a386c60c0e248370bbea2d3f3b760d", size = 1262672, upload-time = "2024-08-27T20:50:55.643Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/78/53/974400c815b2e605f252c8fb9297e2204347d1755a5374354ee77b1ea259/contourpy-1.3.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3faeb2998e4fcb256542e8a926d08da08977f7f5e62cf733f3c211c2a5586223", size = 1321688, upload-time = "2024-08-27T20:51:11.293Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/52/29/99f849faed5593b2926a68a31882af98afbeac39c7fdf7de491d9c85ec6a/contourpy-1.3.0-cp310-cp310-win32.whl", hash = "sha256:36e0cff201bcb17a0a8ecc7f454fe078437fa6bda730e695a92f2d9932bd507f", size = 171145, upload-time = "2024-08-27T20:51:15.2Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a9/97/3f89bba79ff6ff2b07a3cbc40aa693c360d5efa90d66e914f0ff03b95ec7/contourpy-1.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:87ddffef1dbe5e669b5c2440b643d3fdd8622a348fe1983fad7a0f0ccb1cd67b", size = 216019, upload-time = "2024-08-27T20:51:19.365Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/b3/1f/9375917786cb39270b0ee6634536c0e22abf225825602688990d8f5c6c19/contourpy-1.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0fa4c02abe6c446ba70d96ece336e621efa4aecae43eaa9b030ae5fb92b309ad", size = 266356, upload-time = "2024-08-27T20:51:24.146Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/05/46/9256dd162ea52790c127cb58cfc3b9e3413a6e3478917d1f811d420772ec/contourpy-1.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:834e0cfe17ba12f79963861e0f908556b2cedd52e1f75e6578801febcc6a9f49", size = 250915, upload-time = "2024-08-27T20:51:28.683Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/e1/5d/3056c167fa4486900dfbd7e26a2fdc2338dc58eee36d490a0ed3ddda5ded/contourpy-1.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dbc4c3217eee163fa3984fd1567632b48d6dfd29216da3ded3d7b844a8014a66", size = 310443, upload-time = "2024-08-27T20:51:33.675Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ca/c2/1a612e475492e07f11c8e267ea5ec1ce0d89971be496c195e27afa97e14a/contourpy-1.3.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4865cd1d419e0c7a7bf6de1777b185eebdc51470800a9f42b9e9decf17762081", size = 348548, upload-time = "2024-08-27T20:51:39.322Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/45/cf/2c2fc6bb5874158277b4faf136847f0689e1b1a1f640a36d76d52e78907c/contourpy-1.3.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:303c252947ab4b14c08afeb52375b26781ccd6a5ccd81abcdfc1fafd14cf93c1", size = 319118, upload-time = "2024-08-27T20:51:44.717Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/03/33/003065374f38894cdf1040cef474ad0546368eea7e3a51d48b8a423961f8/contourpy-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:637f674226be46f6ba372fd29d9523dd977a291f66ab2a74fbeb5530bb3f445d", size = 323162, upload-time = "2024-08-27T20:51:49.683Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/42/80/e637326e85e4105a802e42959f56cff2cd39a6b5ef68d5d9aee3ea5f0e4c/contourpy-1.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:76a896b2f195b57db25d6b44e7e03f221d32fe318d03ede41f8b4d9ba1bff53c", size = 1265396, upload-time = "2024-08-27T20:52:04.926Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/7c/3b/8cbd6416ca1bbc0202b50f9c13b2e0b922b64be888f9d9ee88e6cfabfb51/contourpy-1.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e1fd23e9d01591bab45546c089ae89d926917a66dceb3abcf01f6105d927e2cb", size = 1324297, upload-time = "2024-08-27T20:52:21.843Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/4d/2c/021a7afaa52fe891f25535506cc861c30c3c4e5a1c1ce94215e04b293e72/contourpy-1.3.0-cp311-cp311-win32.whl", hash = "sha256:d402880b84df3bec6eab53cd0cf802cae6a2ef9537e70cf75e91618a3801c20c", size = 171808, upload-time = "2024-08-27T20:52:25.163Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/8d/2f/804f02ff30a7fae21f98198828d0857439ec4c91a96e20cf2d6c49372966/contourpy-1.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:6cb6cc968059db9c62cb35fbf70248f40994dfcd7aa10444bbf8b3faeb7c2d67", size = 217181, upload-time = "2024-08-27T20:52:29.13Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/c9/92/8e0bbfe6b70c0e2d3d81272b58c98ac69ff1a4329f18c73bd64824d8b12e/contourpy-1.3.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:570ef7cf892f0afbe5b2ee410c507ce12e15a5fa91017a0009f79f7d93a1268f", size = 267838, upload-time = "2024-08-27T20:52:33.911Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/e3/04/33351c5d5108460a8ce6d512307690b023f0cfcad5899499f5c83b9d63b1/contourpy-1.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:da84c537cb8b97d153e9fb208c221c45605f73147bd4cadd23bdae915042aad6", size = 251549, upload-time = "2024-08-27T20:52:39.179Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/51/3d/aa0fe6ae67e3ef9f178389e4caaaa68daf2f9024092aa3c6032e3d174670/contourpy-1.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0be4d8425bfa755e0fd76ee1e019636ccc7c29f77a7c86b4328a9eb6a26d0639", size = 303177, upload-time = "2024-08-27T20:52:44.789Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/56/c3/c85a7e3e0cab635575d3b657f9535443a6f5d20fac1a1911eaa4bbe1aceb/contourpy-1.3.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9c0da700bf58f6e0b65312d0a5e695179a71d0163957fa381bb3c1f72972537c", size = 341735, upload-time = "2024-08-27T20:52:51.05Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/dd/8d/20f7a211a7be966a53f474bc90b1a8202e9844b3f1ef85f3ae45a77151ee/contourpy-1.3.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eb8b141bb00fa977d9122636b16aa67d37fd40a3d8b52dd837e536d64b9a4d06", size = 314679, upload-time = "2024-08-27T20:52:58.473Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/6e/be/524e377567defac0e21a46e2a529652d165fed130a0d8a863219303cee18/contourpy-1.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3634b5385c6716c258d0419c46d05c8aa7dc8cb70326c9a4fb66b69ad2b52e09", size = 320549, upload-time = "2024-08-27T20:53:06.593Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/0f/96/fdb2552a172942d888915f3a6663812e9bc3d359d53dafd4289a0fb462f0/contourpy-1.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0dce35502151b6bd35027ac39ba6e5a44be13a68f55735c3612c568cac3805fd", size = 1263068, upload-time = "2024-08-27T20:53:23.442Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/2a/25/632eab595e3140adfa92f1322bf8915f68c932bac468e89eae9974cf1c00/contourpy-1.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:aea348f053c645100612b333adc5983d87be69acdc6d77d3169c090d3b01dc35", size = 1322833, upload-time = "2024-08-27T20:53:39.243Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/73/e3/69738782e315a1d26d29d71a550dbbe3eb6c653b028b150f70c1a5f4f229/contourpy-1.3.0-cp312-cp312-win32.whl", hash = "sha256:90f73a5116ad1ba7174341ef3ea5c3150ddf20b024b98fb0c3b29034752c8aeb", size = 172681, upload-time = "2024-08-27T20:53:43.05Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/0c/89/9830ba00d88e43d15e53d64931e66b8792b46eb25e2050a88fec4a0df3d5/contourpy-1.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:b11b39aea6be6764f84360fce6c82211a9db32a7c7de8fa6dd5397cf1d079c3b", size = 218283, upload-time = "2024-08-27T20:53:47.232Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/53/a1/d20415febfb2267af2d7f06338e82171824d08614084714fb2c1dac9901f/contourpy-1.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:3e1c7fa44aaae40a2247e2e8e0627f4bea3dd257014764aa644f319a5f8600e3", size = 267879, upload-time = "2024-08-27T20:53:51.597Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/aa/45/5a28a3570ff6218d8bdfc291a272a20d2648104815f01f0177d103d985e1/contourpy-1.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:364174c2a76057feef647c802652f00953b575723062560498dc7930fc9b1cb7", size = 251573, upload-time = "2024-08-27T20:53:55.659Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/39/1c/d3f51540108e3affa84f095c8b04f0aa833bb797bc8baa218a952a98117d/contourpy-1.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32b238b3b3b649e09ce9aaf51f0c261d38644bdfa35cbaf7b263457850957a84", size = 303184, upload-time = "2024-08-27T20:54:00.225Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/00/56/1348a44fb6c3a558c1a3a0cd23d329d604c99d81bf5a4b58c6b71aab328f/contourpy-1.3.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d51fca85f9f7ad0b65b4b9fe800406d0d77017d7270d31ec3fb1cc07358fdea0", size = 340262, upload-time = "2024-08-27T20:54:05.234Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/2b/23/00d665ba67e1bb666152131da07e0f24c95c3632d7722caa97fb61470eca/contourpy-1.3.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:732896af21716b29ab3e988d4ce14bc5133733b85956316fb0c56355f398099b", size = 313806, upload-time = "2024-08-27T20:54:09.889Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/5a/42/3cf40f7040bb8362aea19af9a5fb7b32ce420f645dd1590edcee2c657cd5/contourpy-1.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d73f659398a0904e125280836ae6f88ba9b178b2fed6884f3b1f95b989d2c8da", size = 319710, upload-time = "2024-08-27T20:54:14.536Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/05/32/f3bfa3fc083b25e1a7ae09197f897476ee68e7386e10404bdf9aac7391f0/contourpy-1.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c6c7c2408b7048082932cf4e641fa3b8ca848259212f51c8c59c45aa7ac18f14", size = 1264107, upload-time = "2024-08-27T20:54:29.735Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/1c/1e/1019d34473a736664f2439542b890b2dc4c6245f5c0d8cdfc0ccc2cab80c/contourpy-1.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f317576606de89da6b7e0861cf6061f6146ead3528acabff9236458a6ba467f8", size = 1322458, upload-time = "2024-08-27T20:54:45.507Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/22/85/4f8bfd83972cf8909a4d36d16b177f7b8bdd942178ea4bf877d4a380a91c/contourpy-1.3.0-cp313-cp313-win32.whl", hash = "sha256:31cd3a85dbdf1fc002280c65caa7e2b5f65e4a973fcdf70dd2fdcb9868069294", size = 172643, upload-time = "2024-08-27T20:55:52.754Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/cc/4a/fb3c83c1baba64ba90443626c228ca14f19a87c51975d3b1de308dd2cf08/contourpy-1.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:4553c421929ec95fb07b3aaca0fae668b2eb5a5203d1217ca7c34c063c53d087", size = 218301, upload-time = "2024-08-27T20:55:56.509Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/76/65/702f4064f397821fea0cb493f7d3bc95a5d703e20954dce7d6d39bacf378/contourpy-1.3.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:345af746d7766821d05d72cb8f3845dfd08dd137101a2cb9b24de277d716def8", size = 278972, upload-time = "2024-08-27T20:54:50.347Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/80/85/21f5bba56dba75c10a45ec00ad3b8190dbac7fd9a8a8c46c6116c933e9cf/contourpy-1.3.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3bb3808858a9dc68f6f03d319acd5f1b8a337e6cdda197f02f4b8ff67ad2057b", size = 263375, upload-time = "2024-08-27T20:54:54.909Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/0a/64/084c86ab71d43149f91ab3a4054ccf18565f0a8af36abfa92b1467813ed6/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:420d39daa61aab1221567b42eecb01112908b2cab7f1b4106a52caaec8d36973", size = 307188, upload-time = "2024-08-27T20:55:00.184Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/3d/ff/d61a4c288dc42da0084b8d9dc2aa219a850767165d7d9a9c364ff530b509/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4d63ee447261e963af02642ffcb864e5a2ee4cbfd78080657a9880b8b1868e18", size = 345644, upload-time = "2024-08-27T20:55:05.673Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ca/aa/00d2313d35ec03f188e8f0786c2fc61f589306e02fdc158233697546fd58/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:167d6c890815e1dac9536dca00828b445d5d0df4d6a8c6adb4a7ec3166812fa8", size = 317141, upload-time = "2024-08-27T20:55:11.047Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/8d/6a/b5242c8cb32d87f6abf4f5e3044ca397cb1a76712e3fa2424772e3ff495f/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:710a26b3dc80c0e4febf04555de66f5fd17e9cf7170a7b08000601a10570bda6", size = 323469, upload-time = "2024-08-27T20:55:15.914Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/6f/a6/73e929d43028a9079aca4bde107494864d54f0d72d9db508a51ff0878593/contourpy-1.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:75ee7cb1a14c617f34a51d11fa7524173e56551646828353c4af859c56b766e2", size = 1260894, upload-time = "2024-08-27T20:55:31.553Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/2b/1e/1e726ba66eddf21c940821df8cf1a7d15cb165f0682d62161eaa5e93dae1/contourpy-1.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:33c92cdae89ec5135d036e7218e69b0bb2851206077251f04a6c4e0e21f03927", size = 1314829, upload-time = "2024-08-27T20:55:47.837Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/b3/e3/b9f72758adb6ef7397327ceb8b9c39c75711affb220e4f53c745ea1d5a9a/contourpy-1.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a11077e395f67ffc2c44ec2418cfebed032cd6da3022a94fc227b6faf8e2acb8", size = 265518, upload-time = "2024-08-27T20:56:01.333Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ec/22/19f5b948367ab5260fb41d842c7a78dae645603881ea6bc39738bcfcabf6/contourpy-1.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e8134301d7e204c88ed7ab50028ba06c683000040ede1d617298611f9dc6240c", size = 249350, upload-time = "2024-08-27T20:56:05.432Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/26/76/0c7d43263dd00ae21a91a24381b7e813d286a3294d95d179ef3a7b9fb1d7/contourpy-1.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e12968fdfd5bb45ffdf6192a590bd8ddd3ba9e58360b29683c6bb71a7b41edca", size = 309167, upload-time = "2024-08-27T20:56:10.034Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/96/3b/cadff6773e89f2a5a492c1a8068e21d3fccaf1a1c1df7d65e7c8e3ef60ba/contourpy-1.3.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fd2a0fc506eccaaa7595b7e1418951f213cf8255be2600f1ea1b61e46a60c55f", size = 348279, upload-time = "2024-08-27T20:56:15.41Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/e1/86/158cc43aa549d2081a955ab11c6bdccc7a22caacc2af93186d26f5f48746/contourpy-1.3.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4cfb5c62ce023dfc410d6059c936dcf96442ba40814aefbfa575425a3a7f19dc", size = 318519, upload-time = "2024-08-27T20:56:21.813Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/05/11/57335544a3027e9b96a05948c32e566328e3a2f84b7b99a325b7a06d2b06/contourpy-1.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:68a32389b06b82c2fdd68276148d7b9275b5f5cf13e5417e4252f6d1a34f72a2", size = 321922, upload-time = "2024-08-27T20:56:26.983Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/0b/e3/02114f96543f4a1b694333b92a6dcd4f8eebbefcc3a5f3bbb1316634178f/contourpy-1.3.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:94e848a6b83da10898cbf1311a815f770acc9b6a3f2d646f330d57eb4e87592e", size = 1258017, upload-time = "2024-08-27T20:56:42.246Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/f3/3b/bfe4c81c6d5881c1c643dde6620be0b42bf8aab155976dd644595cfab95c/contourpy-1.3.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:d78ab28a03c854a873787a0a42254a0ccb3cb133c672f645c9f9c8f3ae9d0800", size = 1316773, upload-time = "2024-08-27T20:56:58.58Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/f1/17/c52d2970784383cafb0bd918b6fb036d98d96bbf0bc1befb5d1e31a07a70/contourpy-1.3.0-cp39-cp39-win32.whl", hash = "sha256:81cb5ed4952aae6014bc9d0421dec7c5835c9c8c31cdf51910b708f548cf58e5", size = 171353, upload-time = "2024-08-27T20:57:02.718Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/53/23/db9f69676308e094d3c45f20cc52e12d10d64f027541c995d89c11ad5c75/contourpy-1.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:14e262f67bd7e6eb6880bc564dcda30b15e351a594657e55b7eec94b6ef72843", size = 211817, upload-time = "2024-08-27T20:57:06.328Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/d1/09/60e486dc2b64c94ed33e58dcfb6f808192c03dfc5574c016218b9b7680dc/contourpy-1.3.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:fe41b41505a5a33aeaed2a613dccaeaa74e0e3ead6dd6fd3a118fb471644fd6c", size = 261886, upload-time = "2024-08-27T20:57:10.863Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/19/20/b57f9f7174fcd439a7789fb47d764974ab646fa34d1790551de386457a8e/contourpy-1.3.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eca7e17a65f72a5133bdbec9ecf22401c62bcf4821361ef7811faee695799779", size = 311008, upload-time = "2024-08-27T20:57:15.588Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/74/fc/5040d42623a1845d4f17a418e590fd7a79ae8cb2bad2b2f83de63c3bdca4/contourpy-1.3.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:1ec4dc6bf570f5b22ed0d7efba0dfa9c5b9e0431aeea7581aa217542d9e809a4", size = 215690, upload-time = "2024-08-27T20:57:19.321Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/2b/24/dc3dcd77ac7460ab7e9d2b01a618cb31406902e50e605a8d6091f0a8f7cc/contourpy-1.3.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:00ccd0dbaad6d804ab259820fa7cb0b8036bda0686ef844d24125d8287178ce0", size = 261894, upload-time = "2024-08-27T20:57:23.873Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/b1/db/531642a01cfec39d1682e46b5457b07cf805e3c3c584ec27e2a6223f8f6c/contourpy-1.3.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ca947601224119117f7c19c9cdf6b3ab54c5726ef1d906aa4a69dfb6dd58102", size = 311099, upload-time = "2024-08-27T20:57:28.58Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/38/1e/94bda024d629f254143a134eead69e21c836429a2a6ce82209a00ddcb79a/contourpy-1.3.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:c6ec93afeb848a0845a18989da3beca3eec2c0f852322efe21af1931147d12cb", size = 215838, upload-time = "2024-08-27T20:57:32.913Z" }, ] [[package]] name = "contourpy" version = "1.3.2" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } resolution-markers = [ "python_full_version >= '3.12' and sys_platform == 'darwin'", "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", @@ -298,391 +310,391 @@ resolution-markers = [ "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", ] dependencies = [ - { name = "numpy", version = "2.2.6", source = { registry = "https://mirrors.aliyun.com/pypi/simple" }, marker = "python_full_version == '3.10.*'" }, - { name = "numpy", version = "2.3.1", source = { registry = "https://mirrors.aliyun.com/pypi/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" }, marker = "python_full_version == '3.10.*'" }, + { name = "numpy", version = "2.3.1", source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" }, marker = "python_full_version >= '3.11'" }, ] -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/66/54/eb9bfc647b19f2009dd5c7f5ec51c4e6ca831725f1aea7a993034f483147/contourpy-1.3.2.tar.gz", hash = "sha256:b6945942715a034c671b7fc54f9588126b0b8bf23db2696e3ca8328f3ff0ab54" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/66/54/eb9bfc647b19f2009dd5c7f5ec51c4e6ca831725f1aea7a993034f483147/contourpy-1.3.2.tar.gz", hash = "sha256:b6945942715a034c671b7fc54f9588126b0b8bf23db2696e3ca8328f3ff0ab54", size = 13466130, upload-time = "2025-04-15T17:47:53.79Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/12/a3/da4153ec8fe25d263aa48c1a4cbde7f49b59af86f0b6f7862788c60da737/contourpy-1.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ba38e3f9f330af820c4b27ceb4b9c7feee5fe0493ea53a8720f4792667465934" }, - { url = "https://mirrors.aliyun.com/pypi/packages/2f/6c/330de89ae1087eb622bfca0177d32a7ece50c3ef07b28002de4757d9d875/contourpy-1.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:dc41ba0714aa2968d1f8674ec97504a8f7e334f48eeacebcaa6256213acb0989" }, - { url = "https://mirrors.aliyun.com/pypi/packages/c1/bd/20c6726b1b7f81a8bee5271bed5c165f0a8e1f572578a9d27e2ccb763cb2/contourpy-1.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9be002b31c558d1ddf1b9b415b162c603405414bacd6932d031c5b5a8b757f0d" }, - { url = "https://mirrors.aliyun.com/pypi/packages/22/fc/a9665c88f8a2473f823cf1ec601de9e5375050f1958cbb356cdf06ef1ab6/contourpy-1.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8d2e74acbcba3bfdb6d9d8384cdc4f9260cae86ed9beee8bd5f54fee49a430b9" }, - { url = "https://mirrors.aliyun.com/pypi/packages/25/eb/9f0a0238f305ad8fb7ef42481020d6e20cf15e46be99a1fcf939546a177e/contourpy-1.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e259bced5549ac64410162adc973c5e2fb77f04df4a439d00b478e57a0e65512" }, - { url = "https://mirrors.aliyun.com/pypi/packages/32/5c/1ee32d1c7956923202f00cf8d2a14a62ed7517bdc0ee1e55301227fc273c/contourpy-1.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad687a04bc802cbe8b9c399c07162a3c35e227e2daccf1668eb1f278cb698631" }, - { url = "https://mirrors.aliyun.com/pypi/packages/83/bf/9baed89785ba743ef329c2b07fd0611d12bfecbedbdd3eeecf929d8d3b52/contourpy-1.3.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:cdd22595308f53ef2f891040ab2b93d79192513ffccbd7fe19be7aa773a5e09f" }, - { url = "https://mirrors.aliyun.com/pypi/packages/d4/cc/74e5e83d1e35de2d28bd97033426b450bc4fd96e092a1f7a63dc7369b55d/contourpy-1.3.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b4f54d6a2defe9f257327b0f243612dd051cc43825587520b1bf74a31e2f6ef2" }, - { url = "https://mirrors.aliyun.com/pypi/packages/0c/42/17f3b798fd5e033b46a16f8d9fcb39f1aba051307f5ebf441bad1ecf78f8/contourpy-1.3.2-cp310-cp310-win32.whl", hash = "sha256:f939a054192ddc596e031e50bb13b657ce318cf13d264f095ce9db7dc6ae81c0" }, - { url = "https://mirrors.aliyun.com/pypi/packages/54/ec/5162b8582f2c994721018d0c9ece9dc6ff769d298a8ac6b6a652c307e7df/contourpy-1.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:c440093bbc8fc21c637c03bafcbef95ccd963bc6e0514ad887932c18ca2a759a" }, - { url = "https://mirrors.aliyun.com/pypi/packages/b3/b9/ede788a0b56fc5b071639d06c33cb893f68b1178938f3425debebe2dab78/contourpy-1.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6a37a2fb93d4df3fc4c0e363ea4d16f83195fc09c891bc8ce072b9d084853445" }, - { url = "https://mirrors.aliyun.com/pypi/packages/e6/75/3469f011d64b8bbfa04f709bfc23e1dd71be54d05b1b083be9f5b22750d1/contourpy-1.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b7cd50c38f500bbcc9b6a46643a40e0913673f869315d8e70de0438817cb7773" }, - { url = "https://mirrors.aliyun.com/pypi/packages/8d/2f/95adb8dae08ce0ebca4fd8e7ad653159565d9739128b2d5977806656fcd2/contourpy-1.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d6658ccc7251a4433eebd89ed2672c2ed96fba367fd25ca9512aa92a4b46c4f1" }, - { url = "https://mirrors.aliyun.com/pypi/packages/c3/a6/8ccf97a50f31adfa36917707fe39c9a0cbc24b3bbb58185577f119736cc9/contourpy-1.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:70771a461aaeb335df14deb6c97439973d253ae70660ca085eec25241137ef43" }, - { url = "https://mirrors.aliyun.com/pypi/packages/1d/b6/7925ab9b77386143f39d9c3243fdd101621b4532eb126743201160ffa7e6/contourpy-1.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65a887a6e8c4cd0897507d814b14c54a8c2e2aa4ac9f7686292f9769fcf9a6ab" }, - { url = "https://mirrors.aliyun.com/pypi/packages/c2/f3/20c5d1ef4f4748e52d60771b8560cf00b69d5c6368b5c2e9311bcfa2a08b/contourpy-1.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3859783aefa2b8355697f16642695a5b9792e7a46ab86da1118a4a23a51a33d7" }, - { url = "https://mirrors.aliyun.com/pypi/packages/8c/e5/9dae809e7e0b2d9d70c52b3d24cba134dd3dad979eb3e5e71f5df22ed1f5/contourpy-1.3.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:eab0f6db315fa4d70f1d8ab514e527f0366ec021ff853d7ed6a2d33605cf4b83" }, - { url = "https://mirrors.aliyun.com/pypi/packages/e2/4a/0058ba34aeea35c0b442ae61a4f4d4ca84d6df8f91309bc2d43bb8dd248f/contourpy-1.3.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d91a3ccc7fea94ca0acab82ceb77f396d50a1f67412efe4c526f5d20264e6ecd" }, - { url = "https://mirrors.aliyun.com/pypi/packages/09/33/7174bdfc8b7767ef2c08ed81244762d93d5c579336fc0b51ca57b33d1b80/contourpy-1.3.2-cp311-cp311-win32.whl", hash = "sha256:1c48188778d4d2f3d48e4643fb15d8608b1d01e4b4d6b0548d9b336c28fc9b6f" }, - { url = "https://mirrors.aliyun.com/pypi/packages/5e/fe/4029038b4e1c4485cef18e480b0e2cd2d755448bb071eb9977caac80b77b/contourpy-1.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:5ebac872ba09cb8f2131c46b8739a7ff71de28a24c869bcad554477eb089a878" }, - { url = "https://mirrors.aliyun.com/pypi/packages/34/f7/44785876384eff370c251d58fd65f6ad7f39adce4a093c934d4a67a7c6b6/contourpy-1.3.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4caf2bcd2969402bf77edc4cb6034c7dd7c0803213b3523f111eb7460a51b8d2" }, - { url = "https://mirrors.aliyun.com/pypi/packages/93/3b/0004767622a9826ea3d95f0e9d98cd8729015768075d61f9fea8eeca42a8/contourpy-1.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:82199cb78276249796419fe36b7386bd8d2cc3f28b3bc19fe2454fe2e26c4c15" }, - { url = "https://mirrors.aliyun.com/pypi/packages/e7/bb/7bd49e1f4fa805772d9fd130e0d375554ebc771ed7172f48dfcd4ca61549/contourpy-1.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:106fab697af11456fcba3e352ad50effe493a90f893fca6c2ca5c033820cea92" }, - { url = "https://mirrors.aliyun.com/pypi/packages/fc/97/e1d5dbbfa170725ef78357a9a0edc996b09ae4af170927ba8ce977e60a5f/contourpy-1.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d14f12932a8d620e307f715857107b1d1845cc44fdb5da2bc8e850f5ceba9f87" }, - { url = "https://mirrors.aliyun.com/pypi/packages/6f/66/e69e6e904f5ecf6901be3dd16e7e54d41b6ec6ae3405a535286d4418ffb4/contourpy-1.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:532fd26e715560721bb0d5fc7610fce279b3699b018600ab999d1be895b09415" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a8/32/b8a1c8965e4f72482ff2d1ac2cd670ce0b542f203c8e1d34e7c3e6925da7/contourpy-1.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26b383144cf2d2c29f01a1e8170f50dacf0eac02d64139dcd709a8ac4eb3cfe" }, - { url = "https://mirrors.aliyun.com/pypi/packages/30/c6/12a7e6811d08757c7162a541ca4c5c6a34c0f4e98ef2b338791093518e40/contourpy-1.3.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:c49f73e61f1f774650a55d221803b101d966ca0c5a2d6d5e4320ec3997489441" }, - { url = "https://mirrors.aliyun.com/pypi/packages/2a/8a/bebe5a3f68b484d3a2b8ffaf84704b3e343ef1addea528132ef148e22b3b/contourpy-1.3.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3d80b2c0300583228ac98d0a927a1ba6a2ba6b8a742463c564f1d419ee5b211e" }, - { url = "https://mirrors.aliyun.com/pypi/packages/34/db/fcd325f19b5978fb509a7d55e06d99f5f856294c1991097534360b307cf1/contourpy-1.3.2-cp312-cp312-win32.whl", hash = "sha256:90df94c89a91b7362e1142cbee7568f86514412ab8a2c0d0fca72d7e91b62912" }, - { url = "https://mirrors.aliyun.com/pypi/packages/01/c8/fadd0b92ffa7b5eb5949bf340a63a4a496a6930a6c37a7ba0f12acb076d6/contourpy-1.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:8c942a01d9163e2e5cfb05cb66110121b8d07ad438a17f9e766317bcb62abf73" }, - { url = "https://mirrors.aliyun.com/pypi/packages/2e/61/5673f7e364b31e4e7ef6f61a4b5121c5f170f941895912f773d95270f3a2/contourpy-1.3.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:de39db2604ae755316cb5967728f4bea92685884b1e767b7c24e983ef5f771cb" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ff/66/a40badddd1223822c95798c55292844b7e871e50f6bfd9f158cb25e0bd39/contourpy-1.3.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3f9e896f447c5c8618f1edb2bafa9a4030f22a575ec418ad70611450720b5b08" }, - { url = "https://mirrors.aliyun.com/pypi/packages/1e/c7/cf9fdee8200805c9bc3b148f49cb9482a4e3ea2719e772602a425c9b09f8/contourpy-1.3.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71e2bd4a1c4188f5c2b8d274da78faab884b59df20df63c34f74aa1813c4427c" }, - { url = "https://mirrors.aliyun.com/pypi/packages/dd/e7/ccb9bec80e1ba121efbffad7f38021021cda5be87532ec16fd96533bb2e0/contourpy-1.3.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de425af81b6cea33101ae95ece1f696af39446db9682a0b56daaa48cfc29f38f" }, - { url = "https://mirrors.aliyun.com/pypi/packages/dc/49/ca13bb2da90391fa4219fdb23b078d6065ada886658ac7818e5441448b78/contourpy-1.3.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:977e98a0e0480d3fe292246417239d2d45435904afd6d7332d8455981c408b85" }, - { url = "https://mirrors.aliyun.com/pypi/packages/c8/65/5245ce8c548a8422236c13ffcdcdada6a2a812c361e9e0c70548bb40b661/contourpy-1.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:434f0adf84911c924519d2b08fc10491dd282b20bdd3fa8f60fd816ea0b48841" }, - { url = "https://mirrors.aliyun.com/pypi/packages/72/30/669b8eb48e0a01c660ead3752a25b44fdb2e5ebc13a55782f639170772f9/contourpy-1.3.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c66c4906cdbc50e9cba65978823e6e00b45682eb09adbb78c9775b74eb222422" }, - { url = "https://mirrors.aliyun.com/pypi/packages/05/5a/b569f4250decee6e8d54498be7bdf29021a4c256e77fe8138c8319ef8eb3/contourpy-1.3.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8b7fc0cd78ba2f4695fd0a6ad81a19e7e3ab825c31b577f384aa9d7817dc3bef" }, - { url = "https://mirrors.aliyun.com/pypi/packages/19/ba/b227c3886d120e60e41b28740ac3617b2f2b971b9f601c835661194579f1/contourpy-1.3.2-cp313-cp313-win32.whl", hash = "sha256:15ce6ab60957ca74cff444fe66d9045c1fd3e92c8936894ebd1f3eef2fff075f" }, - { url = "https://mirrors.aliyun.com/pypi/packages/12/6e/2fed56cd47ca739b43e892707ae9a13790a486a3173be063681ca67d2262/contourpy-1.3.2-cp313-cp313-win_amd64.whl", hash = "sha256:e1578f7eafce927b168752ed7e22646dad6cd9bca673c60bff55889fa236ebf9" }, - { url = "https://mirrors.aliyun.com/pypi/packages/54/4c/e76fe2a03014a7c767d79ea35c86a747e9325537a8b7627e0e5b3ba266b4/contourpy-1.3.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0475b1f6604896bc7c53bb070e355e9321e1bc0d381735421a2d2068ec56531f" }, - { url = "https://mirrors.aliyun.com/pypi/packages/7b/e2/5aba47debd55d668e00baf9651b721e7733975dc9fc27264a62b0dd26eb8/contourpy-1.3.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:c85bb486e9be652314bb5b9e2e3b0d1b2e643d5eec4992c0fbe8ac71775da739" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a1/37/cd45f1f051fe6230f751cc5cdd2728bb3a203f5619510ef11e732109593c/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:745b57db7758f3ffc05a10254edd3182a2a83402a89c00957a8e8a22f5582823" }, - { url = "https://mirrors.aliyun.com/pypi/packages/8b/a2/36ea6140c306c9ff6dd38e3bcec80b3b018474ef4d17eb68ceecd26675f4/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:970e9173dbd7eba9b4e01aab19215a48ee5dd3f43cef736eebde064a171f89a5" }, - { url = "https://mirrors.aliyun.com/pypi/packages/95/b7/2fc76bc539693180488f7b6cc518da7acbbb9e3b931fd9280504128bf956/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c6c4639a9c22230276b7bffb6a850dfc8258a2521305e1faefe804d006b2e532" }, - { url = "https://mirrors.aliyun.com/pypi/packages/f4/10/76d4f778458b0aa83f96e59d65ece72a060bacb20cfbee46cf6cd5ceba41/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc829960f34ba36aad4302e78eabf3ef16a3a100863f0d4eeddf30e8a485a03b" }, - { url = "https://mirrors.aliyun.com/pypi/packages/43/a3/10cf483ea683f9f8ab096c24bad3cce20e0d1dd9a4baa0e2093c1c962d9d/contourpy-1.3.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:d32530b534e986374fc19eaa77fcb87e8a99e5431499949b828312bdcd20ac52" }, - { url = "https://mirrors.aliyun.com/pypi/packages/78/73/69dd9a024444489e22d86108e7b913f3528f56cfc312b5c5727a44188471/contourpy-1.3.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:e298e7e70cf4eb179cc1077be1c725b5fd131ebc81181bf0c03525c8abc297fd" }, - { url = "https://mirrors.aliyun.com/pypi/packages/0f/1b/96d586ccf1b1a9d2004dd519b25fbf104a11589abfd05484ff12199cca21/contourpy-1.3.2-cp313-cp313t-win32.whl", hash = "sha256:d0e589ae0d55204991450bb5c23f571c64fe43adaa53f93fc902a84c96f52fe1" }, - { url = "https://mirrors.aliyun.com/pypi/packages/b0/e6/6000d0094e8a5e32ad62591c8609e269febb6e4db83a1c75ff8868b42731/contourpy-1.3.2-cp313-cp313t-win_amd64.whl", hash = "sha256:78e9253c3de756b3f6a5174d024c4835acd59eb3f8e2ca13e775dbffe1558f69" }, - { url = "https://mirrors.aliyun.com/pypi/packages/33/05/b26e3c6ecc05f349ee0013f0bb850a761016d89cec528a98193a48c34033/contourpy-1.3.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:fd93cc7f3139b6dd7aab2f26a90dde0aa9fc264dbf70f6740d498a70b860b82c" }, - { url = "https://mirrors.aliyun.com/pypi/packages/2b/25/ac07d6ad12affa7d1ffed11b77417d0a6308170f44ff20fa1d5aa6333f03/contourpy-1.3.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:107ba8a6a7eec58bb475329e6d3b95deba9440667c4d62b9b6063942b61d7f16" }, - { url = "https://mirrors.aliyun.com/pypi/packages/8f/4d/5bb3192bbe9d3f27e3061a6a8e7733c9120e203cb8515767d30973f71030/contourpy-1.3.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ded1706ed0c1049224531b81128efbd5084598f18d8a2d9efae833edbd2b40ad" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ff/c0/91f1215d0d9f9f343e4773ba6c9b89e8c0cc7a64a6263f21139da639d848/contourpy-1.3.2-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5f5964cdad279256c084b69c3f412b7801e15356b16efa9d78aa974041903da0" }, - { url = "https://mirrors.aliyun.com/pypi/packages/d4/79/6be7e90c955c0487e7712660d6cead01fa17bff98e0ea275737cc2bc8e71/contourpy-1.3.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49b65a95d642d4efa8f64ba12558fcb83407e58a2dfba9d796d77b63ccfcaff5" }, - { url = "https://mirrors.aliyun.com/pypi/packages/87/68/7f46fb537958e87427d98a4074bcde4b67a70b04900cfc5ce29bc2f556c1/contourpy-1.3.2-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:8c5acb8dddb0752bf252e01a3035b21443158910ac16a3b0d20e7fed7d534ce5" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/12/a3/da4153ec8fe25d263aa48c1a4cbde7f49b59af86f0b6f7862788c60da737/contourpy-1.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ba38e3f9f330af820c4b27ceb4b9c7feee5fe0493ea53a8720f4792667465934", size = 268551, upload-time = "2025-04-15T17:34:46.581Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/2f/6c/330de89ae1087eb622bfca0177d32a7ece50c3ef07b28002de4757d9d875/contourpy-1.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:dc41ba0714aa2968d1f8674ec97504a8f7e334f48eeacebcaa6256213acb0989", size = 253399, upload-time = "2025-04-15T17:34:51.427Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/c1/bd/20c6726b1b7f81a8bee5271bed5c165f0a8e1f572578a9d27e2ccb763cb2/contourpy-1.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9be002b31c558d1ddf1b9b415b162c603405414bacd6932d031c5b5a8b757f0d", size = 312061, upload-time = "2025-04-15T17:34:55.961Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/22/fc/a9665c88f8a2473f823cf1ec601de9e5375050f1958cbb356cdf06ef1ab6/contourpy-1.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8d2e74acbcba3bfdb6d9d8384cdc4f9260cae86ed9beee8bd5f54fee49a430b9", size = 351956, upload-time = "2025-04-15T17:35:00.992Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/25/eb/9f0a0238f305ad8fb7ef42481020d6e20cf15e46be99a1fcf939546a177e/contourpy-1.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e259bced5549ac64410162adc973c5e2fb77f04df4a439d00b478e57a0e65512", size = 320872, upload-time = "2025-04-15T17:35:06.177Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/32/5c/1ee32d1c7956923202f00cf8d2a14a62ed7517bdc0ee1e55301227fc273c/contourpy-1.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad687a04bc802cbe8b9c399c07162a3c35e227e2daccf1668eb1f278cb698631", size = 325027, upload-time = "2025-04-15T17:35:11.244Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/83/bf/9baed89785ba743ef329c2b07fd0611d12bfecbedbdd3eeecf929d8d3b52/contourpy-1.3.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:cdd22595308f53ef2f891040ab2b93d79192513ffccbd7fe19be7aa773a5e09f", size = 1306641, upload-time = "2025-04-15T17:35:26.701Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/d4/cc/74e5e83d1e35de2d28bd97033426b450bc4fd96e092a1f7a63dc7369b55d/contourpy-1.3.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b4f54d6a2defe9f257327b0f243612dd051cc43825587520b1bf74a31e2f6ef2", size = 1374075, upload-time = "2025-04-15T17:35:43.204Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/0c/42/17f3b798fd5e033b46a16f8d9fcb39f1aba051307f5ebf441bad1ecf78f8/contourpy-1.3.2-cp310-cp310-win32.whl", hash = "sha256:f939a054192ddc596e031e50bb13b657ce318cf13d264f095ce9db7dc6ae81c0", size = 177534, upload-time = "2025-04-15T17:35:46.554Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/54/ec/5162b8582f2c994721018d0c9ece9dc6ff769d298a8ac6b6a652c307e7df/contourpy-1.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:c440093bbc8fc21c637c03bafcbef95ccd963bc6e0514ad887932c18ca2a759a", size = 221188, upload-time = "2025-04-15T17:35:50.064Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/b3/b9/ede788a0b56fc5b071639d06c33cb893f68b1178938f3425debebe2dab78/contourpy-1.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6a37a2fb93d4df3fc4c0e363ea4d16f83195fc09c891bc8ce072b9d084853445", size = 269636, upload-time = "2025-04-15T17:35:54.473Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/e6/75/3469f011d64b8bbfa04f709bfc23e1dd71be54d05b1b083be9f5b22750d1/contourpy-1.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b7cd50c38f500bbcc9b6a46643a40e0913673f869315d8e70de0438817cb7773", size = 254636, upload-time = "2025-04-15T17:35:58.283Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/8d/2f/95adb8dae08ce0ebca4fd8e7ad653159565d9739128b2d5977806656fcd2/contourpy-1.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d6658ccc7251a4433eebd89ed2672c2ed96fba367fd25ca9512aa92a4b46c4f1", size = 313053, upload-time = "2025-04-15T17:36:03.235Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/c3/a6/8ccf97a50f31adfa36917707fe39c9a0cbc24b3bbb58185577f119736cc9/contourpy-1.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:70771a461aaeb335df14deb6c97439973d253ae70660ca085eec25241137ef43", size = 352985, upload-time = "2025-04-15T17:36:08.275Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/1d/b6/7925ab9b77386143f39d9c3243fdd101621b4532eb126743201160ffa7e6/contourpy-1.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65a887a6e8c4cd0897507d814b14c54a8c2e2aa4ac9f7686292f9769fcf9a6ab", size = 323750, upload-time = "2025-04-15T17:36:13.29Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/c2/f3/20c5d1ef4f4748e52d60771b8560cf00b69d5c6368b5c2e9311bcfa2a08b/contourpy-1.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3859783aefa2b8355697f16642695a5b9792e7a46ab86da1118a4a23a51a33d7", size = 326246, upload-time = "2025-04-15T17:36:18.329Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/8c/e5/9dae809e7e0b2d9d70c52b3d24cba134dd3dad979eb3e5e71f5df22ed1f5/contourpy-1.3.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:eab0f6db315fa4d70f1d8ab514e527f0366ec021ff853d7ed6a2d33605cf4b83", size = 1308728, upload-time = "2025-04-15T17:36:33.878Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/e2/4a/0058ba34aeea35c0b442ae61a4f4d4ca84d6df8f91309bc2d43bb8dd248f/contourpy-1.3.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d91a3ccc7fea94ca0acab82ceb77f396d50a1f67412efe4c526f5d20264e6ecd", size = 1375762, upload-time = "2025-04-15T17:36:51.295Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/09/33/7174bdfc8b7767ef2c08ed81244762d93d5c579336fc0b51ca57b33d1b80/contourpy-1.3.2-cp311-cp311-win32.whl", hash = "sha256:1c48188778d4d2f3d48e4643fb15d8608b1d01e4b4d6b0548d9b336c28fc9b6f", size = 178196, upload-time = "2025-04-15T17:36:55.002Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/5e/fe/4029038b4e1c4485cef18e480b0e2cd2d755448bb071eb9977caac80b77b/contourpy-1.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:5ebac872ba09cb8f2131c46b8739a7ff71de28a24c869bcad554477eb089a878", size = 222017, upload-time = "2025-04-15T17:36:58.576Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/34/f7/44785876384eff370c251d58fd65f6ad7f39adce4a093c934d4a67a7c6b6/contourpy-1.3.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4caf2bcd2969402bf77edc4cb6034c7dd7c0803213b3523f111eb7460a51b8d2", size = 271580, upload-time = "2025-04-15T17:37:03.105Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/93/3b/0004767622a9826ea3d95f0e9d98cd8729015768075d61f9fea8eeca42a8/contourpy-1.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:82199cb78276249796419fe36b7386bd8d2cc3f28b3bc19fe2454fe2e26c4c15", size = 255530, upload-time = "2025-04-15T17:37:07.026Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/e7/bb/7bd49e1f4fa805772d9fd130e0d375554ebc771ed7172f48dfcd4ca61549/contourpy-1.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:106fab697af11456fcba3e352ad50effe493a90f893fca6c2ca5c033820cea92", size = 307688, upload-time = "2025-04-15T17:37:11.481Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/fc/97/e1d5dbbfa170725ef78357a9a0edc996b09ae4af170927ba8ce977e60a5f/contourpy-1.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d14f12932a8d620e307f715857107b1d1845cc44fdb5da2bc8e850f5ceba9f87", size = 347331, upload-time = "2025-04-15T17:37:18.212Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/6f/66/e69e6e904f5ecf6901be3dd16e7e54d41b6ec6ae3405a535286d4418ffb4/contourpy-1.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:532fd26e715560721bb0d5fc7610fce279b3699b018600ab999d1be895b09415", size = 318963, upload-time = "2025-04-15T17:37:22.76Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a8/32/b8a1c8965e4f72482ff2d1ac2cd670ce0b542f203c8e1d34e7c3e6925da7/contourpy-1.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26b383144cf2d2c29f01a1e8170f50dacf0eac02d64139dcd709a8ac4eb3cfe", size = 323681, upload-time = "2025-04-15T17:37:33.001Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/30/c6/12a7e6811d08757c7162a541ca4c5c6a34c0f4e98ef2b338791093518e40/contourpy-1.3.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:c49f73e61f1f774650a55d221803b101d966ca0c5a2d6d5e4320ec3997489441", size = 1308674, upload-time = "2025-04-15T17:37:48.64Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/2a/8a/bebe5a3f68b484d3a2b8ffaf84704b3e343ef1addea528132ef148e22b3b/contourpy-1.3.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3d80b2c0300583228ac98d0a927a1ba6a2ba6b8a742463c564f1d419ee5b211e", size = 1380480, upload-time = "2025-04-15T17:38:06.7Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/34/db/fcd325f19b5978fb509a7d55e06d99f5f856294c1991097534360b307cf1/contourpy-1.3.2-cp312-cp312-win32.whl", hash = "sha256:90df94c89a91b7362e1142cbee7568f86514412ab8a2c0d0fca72d7e91b62912", size = 178489, upload-time = "2025-04-15T17:38:10.338Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/01/c8/fadd0b92ffa7b5eb5949bf340a63a4a496a6930a6c37a7ba0f12acb076d6/contourpy-1.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:8c942a01d9163e2e5cfb05cb66110121b8d07ad438a17f9e766317bcb62abf73", size = 223042, upload-time = "2025-04-15T17:38:14.239Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/2e/61/5673f7e364b31e4e7ef6f61a4b5121c5f170f941895912f773d95270f3a2/contourpy-1.3.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:de39db2604ae755316cb5967728f4bea92685884b1e767b7c24e983ef5f771cb", size = 271630, upload-time = "2025-04-15T17:38:19.142Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ff/66/a40badddd1223822c95798c55292844b7e871e50f6bfd9f158cb25e0bd39/contourpy-1.3.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3f9e896f447c5c8618f1edb2bafa9a4030f22a575ec418ad70611450720b5b08", size = 255670, upload-time = "2025-04-15T17:38:23.688Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/1e/c7/cf9fdee8200805c9bc3b148f49cb9482a4e3ea2719e772602a425c9b09f8/contourpy-1.3.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71e2bd4a1c4188f5c2b8d274da78faab884b59df20df63c34f74aa1813c4427c", size = 306694, upload-time = "2025-04-15T17:38:28.238Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/dd/e7/ccb9bec80e1ba121efbffad7f38021021cda5be87532ec16fd96533bb2e0/contourpy-1.3.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de425af81b6cea33101ae95ece1f696af39446db9682a0b56daaa48cfc29f38f", size = 345986, upload-time = "2025-04-15T17:38:33.502Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/dc/49/ca13bb2da90391fa4219fdb23b078d6065ada886658ac7818e5441448b78/contourpy-1.3.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:977e98a0e0480d3fe292246417239d2d45435904afd6d7332d8455981c408b85", size = 318060, upload-time = "2025-04-15T17:38:38.672Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/c8/65/5245ce8c548a8422236c13ffcdcdada6a2a812c361e9e0c70548bb40b661/contourpy-1.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:434f0adf84911c924519d2b08fc10491dd282b20bdd3fa8f60fd816ea0b48841", size = 322747, upload-time = "2025-04-15T17:38:43.712Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/72/30/669b8eb48e0a01c660ead3752a25b44fdb2e5ebc13a55782f639170772f9/contourpy-1.3.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c66c4906cdbc50e9cba65978823e6e00b45682eb09adbb78c9775b74eb222422", size = 1308895, upload-time = "2025-04-15T17:39:00.224Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/05/5a/b569f4250decee6e8d54498be7bdf29021a4c256e77fe8138c8319ef8eb3/contourpy-1.3.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8b7fc0cd78ba2f4695fd0a6ad81a19e7e3ab825c31b577f384aa9d7817dc3bef", size = 1379098, upload-time = "2025-04-15T17:43:29.649Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/19/ba/b227c3886d120e60e41b28740ac3617b2f2b971b9f601c835661194579f1/contourpy-1.3.2-cp313-cp313-win32.whl", hash = "sha256:15ce6ab60957ca74cff444fe66d9045c1fd3e92c8936894ebd1f3eef2fff075f", size = 178535, upload-time = "2025-04-15T17:44:44.532Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/12/6e/2fed56cd47ca739b43e892707ae9a13790a486a3173be063681ca67d2262/contourpy-1.3.2-cp313-cp313-win_amd64.whl", hash = "sha256:e1578f7eafce927b168752ed7e22646dad6cd9bca673c60bff55889fa236ebf9", size = 223096, upload-time = "2025-04-15T17:44:48.194Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/54/4c/e76fe2a03014a7c767d79ea35c86a747e9325537a8b7627e0e5b3ba266b4/contourpy-1.3.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0475b1f6604896bc7c53bb070e355e9321e1bc0d381735421a2d2068ec56531f", size = 285090, upload-time = "2025-04-15T17:43:34.084Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/7b/e2/5aba47debd55d668e00baf9651b721e7733975dc9fc27264a62b0dd26eb8/contourpy-1.3.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:c85bb486e9be652314bb5b9e2e3b0d1b2e643d5eec4992c0fbe8ac71775da739", size = 268643, upload-time = "2025-04-15T17:43:38.626Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a1/37/cd45f1f051fe6230f751cc5cdd2728bb3a203f5619510ef11e732109593c/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:745b57db7758f3ffc05a10254edd3182a2a83402a89c00957a8e8a22f5582823", size = 310443, upload-time = "2025-04-15T17:43:44.522Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/8b/a2/36ea6140c306c9ff6dd38e3bcec80b3b018474ef4d17eb68ceecd26675f4/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:970e9173dbd7eba9b4e01aab19215a48ee5dd3f43cef736eebde064a171f89a5", size = 349865, upload-time = "2025-04-15T17:43:49.545Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/95/b7/2fc76bc539693180488f7b6cc518da7acbbb9e3b931fd9280504128bf956/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c6c4639a9c22230276b7bffb6a850dfc8258a2521305e1faefe804d006b2e532", size = 321162, upload-time = "2025-04-15T17:43:54.203Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/f4/10/76d4f778458b0aa83f96e59d65ece72a060bacb20cfbee46cf6cd5ceba41/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc829960f34ba36aad4302e78eabf3ef16a3a100863f0d4eeddf30e8a485a03b", size = 327355, upload-time = "2025-04-15T17:44:01.025Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/43/a3/10cf483ea683f9f8ab096c24bad3cce20e0d1dd9a4baa0e2093c1c962d9d/contourpy-1.3.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:d32530b534e986374fc19eaa77fcb87e8a99e5431499949b828312bdcd20ac52", size = 1307935, upload-time = "2025-04-15T17:44:17.322Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/78/73/69dd9a024444489e22d86108e7b913f3528f56cfc312b5c5727a44188471/contourpy-1.3.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:e298e7e70cf4eb179cc1077be1c725b5fd131ebc81181bf0c03525c8abc297fd", size = 1372168, upload-time = "2025-04-15T17:44:33.43Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/0f/1b/96d586ccf1b1a9d2004dd519b25fbf104a11589abfd05484ff12199cca21/contourpy-1.3.2-cp313-cp313t-win32.whl", hash = "sha256:d0e589ae0d55204991450bb5c23f571c64fe43adaa53f93fc902a84c96f52fe1", size = 189550, upload-time = "2025-04-15T17:44:37.092Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/b0/e6/6000d0094e8a5e32ad62591c8609e269febb6e4db83a1c75ff8868b42731/contourpy-1.3.2-cp313-cp313t-win_amd64.whl", hash = "sha256:78e9253c3de756b3f6a5174d024c4835acd59eb3f8e2ca13e775dbffe1558f69", size = 238214, upload-time = "2025-04-15T17:44:40.827Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/33/05/b26e3c6ecc05f349ee0013f0bb850a761016d89cec528a98193a48c34033/contourpy-1.3.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:fd93cc7f3139b6dd7aab2f26a90dde0aa9fc264dbf70f6740d498a70b860b82c", size = 265681, upload-time = "2025-04-15T17:44:59.314Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/2b/25/ac07d6ad12affa7d1ffed11b77417d0a6308170f44ff20fa1d5aa6333f03/contourpy-1.3.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:107ba8a6a7eec58bb475329e6d3b95deba9440667c4d62b9b6063942b61d7f16", size = 315101, upload-time = "2025-04-15T17:45:04.165Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/8f/4d/5bb3192bbe9d3f27e3061a6a8e7733c9120e203cb8515767d30973f71030/contourpy-1.3.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ded1706ed0c1049224531b81128efbd5084598f18d8a2d9efae833edbd2b40ad", size = 220599, upload-time = "2025-04-15T17:45:08.456Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ff/c0/91f1215d0d9f9f343e4773ba6c9b89e8c0cc7a64a6263f21139da639d848/contourpy-1.3.2-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5f5964cdad279256c084b69c3f412b7801e15356b16efa9d78aa974041903da0", size = 266807, upload-time = "2025-04-15T17:45:15.535Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/d4/79/6be7e90c955c0487e7712660d6cead01fa17bff98e0ea275737cc2bc8e71/contourpy-1.3.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49b65a95d642d4efa8f64ba12558fcb83407e58a2dfba9d796d77b63ccfcaff5", size = 318729, upload-time = "2025-04-15T17:45:20.166Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/87/68/7f46fb537958e87427d98a4074bcde4b67a70b04900cfc5ce29bc2f556c1/contourpy-1.3.2-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:8c5acb8dddb0752bf252e01a3035b21443158910ac16a3b0d20e7fed7d534ce5", size = 221791, upload-time = "2025-04-15T17:45:24.794Z" }, ] [[package]] name = "cssselect" version = "1.3.0" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/72/0a/c3ea9573b1dc2e151abfe88c7fe0c26d1892fe6ed02d0cdb30f0d57029d5/cssselect-1.3.0.tar.gz", hash = "sha256:57f8a99424cfab289a1b6a816a43075a4b00948c86b4dcf3ef4ee7e15f7ab0c7" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/72/0a/c3ea9573b1dc2e151abfe88c7fe0c26d1892fe6ed02d0cdb30f0d57029d5/cssselect-1.3.0.tar.gz", hash = "sha256:57f8a99424cfab289a1b6a816a43075a4b00948c86b4dcf3ef4ee7e15f7ab0c7", size = 42870, upload-time = "2025-03-10T09:30:29.638Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/ee/58/257350f7db99b4ae12b614a36256d9cc870d71d9e451e79c2dc3b23d7c3c/cssselect-1.3.0-py3-none-any.whl", hash = "sha256:56d1bf3e198080cc1667e137bc51de9cadfca259f03c2d4e09037b3e01e30f0d" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ee/58/257350f7db99b4ae12b614a36256d9cc870d71d9e451e79c2dc3b23d7c3c/cssselect-1.3.0-py3-none-any.whl", hash = "sha256:56d1bf3e198080cc1667e137bc51de9cadfca259f03c2d4e09037b3e01e30f0d", size = 18786, upload-time = "2025-03-10T09:30:28.048Z" }, ] [[package]] name = "cycler" version = "0.12.1" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/a9/95/a3dbbb5028f35eafb79008e7522a75244477d2838f38cbb722248dabc2a8/cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a9/95/a3dbbb5028f35eafb79008e7522a75244477d2838f38cbb722248dabc2a8/cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30" }, ] [[package]] name = "exceptiongroup" version = "1.3.0" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } dependencies = [ { name = "typing-extensions", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/0b/9f/a65090624ecf468cdca03533906e7c69ed7588582240cfe7cc9e770b50eb/exceptiongroup-1.3.0.tar.gz", hash = "sha256:b241f5885f560bc56a59ee63ca4c6a8bfa46ae4ad651af316d4e81817bb9fd88" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/0b/9f/a65090624ecf468cdca03533906e7c69ed7588582240cfe7cc9e770b50eb/exceptiongroup-1.3.0.tar.gz", hash = "sha256:b241f5885f560bc56a59ee63ca4c6a8bfa46ae4ad651af316d4e81817bb9fd88", size = 29749, upload-time = "2025-05-10T17:42:51.123Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/36/f4/c6e662dade71f56cd2f3735141b265c3c79293c109549c1e6933b0651ffc/exceptiongroup-1.3.0-py3-none-any.whl", hash = "sha256:4d111e6e0c13d0644cad6ddaa7ed0261a0b36971f6d23e7ec9b4b9097da78a10" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/36/f4/c6e662dade71f56cd2f3735141b265c3c79293c109549c1e6933b0651ffc/exceptiongroup-1.3.0-py3-none-any.whl", hash = "sha256:4d111e6e0c13d0644cad6ddaa7ed0261a0b36971f6d23e7ec9b4b9097da78a10", size = 16674, upload-time = "2025-05-10T17:42:49.33Z" }, ] [[package]] name = "fastapi" version = "0.110.2" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } dependencies = [ { name = "pydantic" }, { name = "starlette" }, { name = "typing-extensions" }, ] -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/3e/50/59805603199f4f18b1ba73de2d146b568cd83d68e807cad6a4746ce84ea9/fastapi-0.110.2.tar.gz", hash = "sha256:b53d673652da3b65e8cd787ad214ec0fe303cad00d2b529b86ce7db13f17518d" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/3e/50/59805603199f4f18b1ba73de2d146b568cd83d68e807cad6a4746ce84ea9/fastapi-0.110.2.tar.gz", hash = "sha256:b53d673652da3b65e8cd787ad214ec0fe303cad00d2b529b86ce7db13f17518d", size = 11992951, upload-time = "2024-04-19T00:34:25.495Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/ad/0f/feb7fd8957714498fc4a6be7f13408869619f868f418698a2d934afa82a7/fastapi-0.110.2-py3-none-any.whl", hash = "sha256:239403f2c0a3dda07a9420f95157a7f014ddb2b770acdbc984f9bdf3ead7afdb" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ad/0f/feb7fd8957714498fc4a6be7f13408869619f868f418698a2d934afa82a7/fastapi-0.110.2-py3-none-any.whl", hash = "sha256:239403f2c0a3dda07a9420f95157a7f014ddb2b770acdbc984f9bdf3ead7afdb", size = 91870, upload-time = "2024-04-19T00:34:21.659Z" }, ] [[package]] name = "fonttools" version = "4.58.4" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/2e/5a/1124b2c8cb3a8015faf552e92714040bcdbc145dfa29928891b02d147a18/fonttools-4.58.4.tar.gz", hash = "sha256:928a8009b9884ed3aae17724b960987575155ca23c6f0b8146e400cc9e0d44ba" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/2e/5a/1124b2c8cb3a8015faf552e92714040bcdbc145dfa29928891b02d147a18/fonttools-4.58.4.tar.gz", hash = "sha256:928a8009b9884ed3aae17724b960987575155ca23c6f0b8146e400cc9e0d44ba", size = 3525026, upload-time = "2025-06-13T17:25:15.426Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/ed/86/d22c24caa574449b56e994ed1a96d23b23af85557fb62a92df96439d3f6c/fonttools-4.58.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:834542f13fee7625ad753b2db035edb674b07522fcbdd0ed9e9a9e2a1034467f" }, - { url = "https://mirrors.aliyun.com/pypi/packages/f9/b8/384aca93856def00e7de30341f1e27f439694857d82c35d74a809c705ed0/fonttools-4.58.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2e6c61ce330142525296170cd65666e46121fc0d44383cbbcfa39cf8f58383df" }, - { url = "https://mirrors.aliyun.com/pypi/packages/1a/f2/273edfdc8d9db89ecfbbf659bd894f7e07b6d53448b19837a4bdba148d17/fonttools-4.58.4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e9c75f8faa29579c0fbf29b56ae6a3660c6c025f3b671803cb6a9caa7e4e3a98" }, - { url = "https://mirrors.aliyun.com/pypi/packages/13/fa/403703548c093c30b52ab37e109b369558afa221130e67f06bef7513f28a/fonttools-4.58.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:88dedcedbd5549e35b2ea3db3de02579c27e62e51af56779c021e7b33caadd0e" }, - { url = "https://mirrors.aliyun.com/pypi/packages/6e/a8/3380e1e0bff6defb0f81c9abf274a5b4a0f30bc8cab4fd4e346c6f923b4c/fonttools-4.58.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ae80a895adab43586f4da1521d58fd4f4377cef322ee0cc205abcefa3a5effc3" }, - { url = "https://mirrors.aliyun.com/pypi/packages/cd/1b/99e47eb17a8ca51d808622a4658584fa8f340857438a4e9d7ac326d4a041/fonttools-4.58.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:0d3acc7f0d151da116e87a182aefb569cf0a3c8e0fd4c9cd0a7c1e7d3e7adb26" }, - { url = "https://mirrors.aliyun.com/pypi/packages/31/75/415254408f038e35b36c8525fc31feb8561f98445688dd2267c23eafd7a2/fonttools-4.58.4-cp310-cp310-win32.whl", hash = "sha256:1244f69686008e7e8d2581d9f37eef330a73fee3843f1107993eb82c9d306577" }, - { url = "https://mirrors.aliyun.com/pypi/packages/c5/69/f019a15ed2946317c5318e1bcc8876f8a54a313848604ad1d4cfc4c07916/fonttools-4.58.4-cp310-cp310-win_amd64.whl", hash = "sha256:2a66c0af8a01eb2b78645af60f3b787de5fe5eb1fd8348163715b80bdbfbde1f" }, - { url = "https://mirrors.aliyun.com/pypi/packages/17/7b/cc6e9bb41bab223bd2dc70ba0b21386b85f604e27f4c3206b4205085a2ab/fonttools-4.58.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a3841991c9ee2dc0562eb7f23d333d34ce81e8e27c903846f0487da21e0028eb" }, - { url = "https://mirrors.aliyun.com/pypi/packages/3d/15/98d75df9f2b4e7605f3260359ad6e18e027c11fa549f74fce567270ac891/fonttools-4.58.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3c98f91b6a9604e7ffb5ece6ea346fa617f967c2c0944228801246ed56084664" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a8/c8/dc92b80f5452c9c40164e01b3f78f04b835a00e673bd9355ca257008ff61/fonttools-4.58.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ab9f891eb687ddf6a4e5f82901e00f992e18012ca97ab7acd15f13632acd14c1" }, - { url = "https://mirrors.aliyun.com/pypi/packages/19/48/8322cf177680505d6b0b6062e204f01860cb573466a88077a9b795cb70e8/fonttools-4.58.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:891c5771e8f0094b7c0dc90eda8fc75e72930b32581418f2c285a9feedfd9a68" }, - { url = "https://mirrors.aliyun.com/pypi/packages/14/e0/2aff149ed7eb0916de36da513d473c6fff574a7146891ce42de914899395/fonttools-4.58.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:43ba4d9646045c375d22e3473b7d82b18b31ee2ac715cd94220ffab7bc2d5c1d" }, - { url = "https://mirrors.aliyun.com/pypi/packages/e6/6f/4d9829b29a64a2e63a121cb11ecb1b6a9524086eef3e35470949837a1692/fonttools-4.58.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:33d19f16e6d2ffd6669bda574a6589941f6c99a8d5cfb9f464038244c71555de" }, - { url = "https://mirrors.aliyun.com/pypi/packages/6f/1e/2d656ddd1b0cd0d222f44b2d008052c2689e66b702b9af1cd8903ddce319/fonttools-4.58.4-cp311-cp311-win32.whl", hash = "sha256:b59e5109b907da19dc9df1287454821a34a75f2632a491dd406e46ff432c2a24" }, - { url = "https://mirrors.aliyun.com/pypi/packages/fb/83/ba71ad053fddf4157cb0697c8da8eff6718d059f2a22986fa5f312b49c92/fonttools-4.58.4-cp311-cp311-win_amd64.whl", hash = "sha256:3d471a5b567a0d1648f2e148c9a8bcf00d9ac76eb89e976d9976582044cc2509" }, - { url = "https://mirrors.aliyun.com/pypi/packages/04/3c/1d1792bfe91ef46f22a3d23b4deb514c325e73c17d4f196b385b5e2faf1c/fonttools-4.58.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:462211c0f37a278494e74267a994f6be9a2023d0557aaa9ecbcbfce0f403b5a6" }, - { url = "https://mirrors.aliyun.com/pypi/packages/2a/1f/2b261689c901a1c3bc57a6690b0b9fc21a9a93a8b0c83aae911d3149f34e/fonttools-4.58.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:0c7a12fb6f769165547f00fcaa8d0df9517603ae7e04b625e5acb8639809b82d" }, - { url = "https://mirrors.aliyun.com/pypi/packages/fe/6b/4607add1755a1e6581ae1fc0c9a640648e0d9cdd6591cc2d581c2e07b8c3/fonttools-4.58.4-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:2d42c63020a922154add0a326388a60a55504629edc3274bc273cd3806b4659f" }, - { url = "https://mirrors.aliyun.com/pypi/packages/cd/95/34b4f483643d0cb11a1f830b72c03fdd18dbd3792d77a2eb2e130a96fada/fonttools-4.58.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8f2b4e6fd45edc6805f5f2c355590b092ffc7e10a945bd6a569fc66c1d2ae7aa" }, - { url = "https://mirrors.aliyun.com/pypi/packages/81/ac/9bafbdb7694059c960de523e643fa5a61dd2f698f3f72c0ca18ae99257c7/fonttools-4.58.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f155b927f6efb1213a79334e4cb9904d1e18973376ffc17a0d7cd43d31981f1e" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ae/44/a3a3b70d5709405f7525bb7cb497b4e46151e0c02e3c8a0e40e5e9fe030b/fonttools-4.58.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e38f687d5de97c7fb7da3e58169fb5ba349e464e141f83c3c2e2beb91d317816" }, - { url = "https://mirrors.aliyun.com/pypi/packages/21/cb/e8923d197c78969454eb876a4a55a07b59c9c4c46598f02b02411dc3b45c/fonttools-4.58.4-cp312-cp312-win32.whl", hash = "sha256:636c073b4da9db053aa683db99580cac0f7c213a953b678f69acbca3443c12cc" }, - { url = "https://mirrors.aliyun.com/pypi/packages/46/e6/fe50183b1a0e1018e7487ee740fa8bb127b9f5075a41e20d017201e8ab14/fonttools-4.58.4-cp312-cp312-win_amd64.whl", hash = "sha256:82e8470535743409b30913ba2822e20077acf9ea70acec40b10fcf5671dceb58" }, - { url = "https://mirrors.aliyun.com/pypi/packages/d4/4f/c05cab5fc1a4293e6bc535c6cb272607155a0517700f5418a4165b7f9ec8/fonttools-4.58.4-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:5f4a64846495c543796fa59b90b7a7a9dff6839bd852741ab35a71994d685c6d" }, - { url = "https://mirrors.aliyun.com/pypi/packages/3e/d3/49211b1f96ae49308f4f78ca7664742377a6867f00f704cdb31b57e4b432/fonttools-4.58.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e80661793a5d4d7ad132a2aa1eae2e160fbdbb50831a0edf37c7c63b2ed36574" }, - { url = "https://mirrors.aliyun.com/pypi/packages/b2/11/c9972e46a6abd752a40a46960e431c795ad1f306775fc1f9e8c3081a1274/fonttools-4.58.4-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:fe5807fc64e4ba5130f1974c045a6e8d795f3b7fb6debfa511d1773290dbb76b" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ea/24/5017c01c9ef8df572cc9eaf9f12be83ad8ed722ff6dc67991d3d752956e4/fonttools-4.58.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b610b9bef841cb8f4b50472494158b1e347d15cad56eac414c722eda695a6cfd" }, - { url = "https://mirrors.aliyun.com/pypi/packages/79/b0/538cc4d0284b5a8826b4abed93a69db52e358525d4b55c47c8cef3669767/fonttools-4.58.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:2daa7f0e213c38f05f054eb5e1730bd0424aebddbeac094489ea1585807dd187" }, - { url = "https://mirrors.aliyun.com/pypi/packages/5a/9b/a891446b7a8250e65bffceb248508587958a94db467ffd33972723ab86c9/fonttools-4.58.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:66cccb6c0b944496b7f26450e9a66e997739c513ffaac728d24930df2fd9d35b" }, - { url = "https://mirrors.aliyun.com/pypi/packages/17/b2/c4d2872cff3ace3ddd1388bf15b76a1d8d5313f0a61f234e9aed287e674d/fonttools-4.58.4-cp313-cp313-win32.whl", hash = "sha256:94d2aebb5ca59a5107825520fde596e344652c1f18170ef01dacbe48fa60c889" }, - { url = "https://mirrors.aliyun.com/pypi/packages/98/57/cddf8bcc911d4f47dfca1956c1e3aeeb9f7c9b8e88b2a312fe8c22714e0b/fonttools-4.58.4-cp313-cp313-win_amd64.whl", hash = "sha256:b554bd6e80bba582fd326ddab296e563c20c64dca816d5e30489760e0c41529f" }, - { url = "https://mirrors.aliyun.com/pypi/packages/45/20/787d70ba4cb831706fa587c56ee472a88ebc28752be660f4b58e598af6fc/fonttools-4.58.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:ca773fe7812e4e1197ee4e63b9691e89650ab55f679e12ac86052d2fe0d152cd" }, - { url = "https://mirrors.aliyun.com/pypi/packages/4d/a5/ccb7ef1b8ab4bbf48f7753b6df512b61e73af82cd27aa486a03d6afb8635/fonttools-4.58.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e31289101221910f44245472e02b1a2f7d671c6d06a45c07b354ecb25829ad92" }, - { url = "https://mirrors.aliyun.com/pypi/packages/20/5c/b361a7eae95950afaadb7049f55b214b619cb5368086cb3253726fe0c478/fonttools-4.58.4-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:90c9e3c01475bb9602cb617f69f02c4ba7ab7784d93f0b0d685e84286f4c1a10" }, - { url = "https://mirrors.aliyun.com/pypi/packages/d5/2f/3006fbb1f57704cd60af82fb8127788cfb102f12d39c39fb5996af595cf3/fonttools-4.58.4-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e00a826f2bc745a010341ac102082fe5e3fb9f0861b90ed9ff32277598813711" }, - { url = "https://mirrors.aliyun.com/pypi/packages/c2/42/ea79e2c3d5e4441e4508d6456b268a7de275452f3dba3a13fc9d73f3e03d/fonttools-4.58.4-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:bc75e72e9d2a4ad0935c59713bd38679d51c6fefab1eadde80e3ed4c2a11ea84" }, - { url = "https://mirrors.aliyun.com/pypi/packages/d4/70/90a196f57faa2bcd1485710c6d08eedceca500cdf2166640b3478e72072c/fonttools-4.58.4-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:f57a795e540059ce3de68508acfaaf177899b39c36ef0a2833b2308db98c71f1" }, - { url = "https://mirrors.aliyun.com/pypi/packages/cb/3f/a7d38e606e98701dbcb6198406c8b554a77ed06c5b21e425251813fd3775/fonttools-4.58.4-cp39-cp39-win32.whl", hash = "sha256:a7d04f64c88b48ede655abcf76f2b2952f04933567884d99be7c89e0a4495131" }, - { url = "https://mirrors.aliyun.com/pypi/packages/37/6e/08158deaebeb5b0c7a0fb251ca6827defb5f5159958a23ba427e0b677e95/fonttools-4.58.4-cp39-cp39-win_amd64.whl", hash = "sha256:5a8bc5dfd425c89b1c38380bc138787b0a830f761b82b37139aa080915503b69" }, - { url = "https://mirrors.aliyun.com/pypi/packages/0b/2f/c536b5b9bb3c071e91d536a4d11f969e911dbb6b227939f4c5b0bca090df/fonttools-4.58.4-py3-none-any.whl", hash = "sha256:a10ce13a13f26cbb9f37512a4346bb437ad7e002ff6fa966a7ce7ff5ac3528bd" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ed/86/d22c24caa574449b56e994ed1a96d23b23af85557fb62a92df96439d3f6c/fonttools-4.58.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:834542f13fee7625ad753b2db035edb674b07522fcbdd0ed9e9a9e2a1034467f", size = 2748349, upload-time = "2025-06-13T17:23:49.179Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/f9/b8/384aca93856def00e7de30341f1e27f439694857d82c35d74a809c705ed0/fonttools-4.58.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2e6c61ce330142525296170cd65666e46121fc0d44383cbbcfa39cf8f58383df", size = 2318565, upload-time = "2025-06-13T17:23:52.144Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/1a/f2/273edfdc8d9db89ecfbbf659bd894f7e07b6d53448b19837a4bdba148d17/fonttools-4.58.4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e9c75f8faa29579c0fbf29b56ae6a3660c6c025f3b671803cb6a9caa7e4e3a98", size = 4838855, upload-time = "2025-06-13T17:23:54.039Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/13/fa/403703548c093c30b52ab37e109b369558afa221130e67f06bef7513f28a/fonttools-4.58.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:88dedcedbd5549e35b2ea3db3de02579c27e62e51af56779c021e7b33caadd0e", size = 4767637, upload-time = "2025-06-13T17:23:56.17Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/6e/a8/3380e1e0bff6defb0f81c9abf274a5b4a0f30bc8cab4fd4e346c6f923b4c/fonttools-4.58.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ae80a895adab43586f4da1521d58fd4f4377cef322ee0cc205abcefa3a5effc3", size = 4819397, upload-time = "2025-06-13T17:23:58.263Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/cd/1b/99e47eb17a8ca51d808622a4658584fa8f340857438a4e9d7ac326d4a041/fonttools-4.58.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:0d3acc7f0d151da116e87a182aefb569cf0a3c8e0fd4c9cd0a7c1e7d3e7adb26", size = 4926641, upload-time = "2025-06-13T17:24:00.368Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/31/75/415254408f038e35b36c8525fc31feb8561f98445688dd2267c23eafd7a2/fonttools-4.58.4-cp310-cp310-win32.whl", hash = "sha256:1244f69686008e7e8d2581d9f37eef330a73fee3843f1107993eb82c9d306577", size = 2201917, upload-time = "2025-06-13T17:24:02.587Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/c5/69/f019a15ed2946317c5318e1bcc8876f8a54a313848604ad1d4cfc4c07916/fonttools-4.58.4-cp310-cp310-win_amd64.whl", hash = "sha256:2a66c0af8a01eb2b78645af60f3b787de5fe5eb1fd8348163715b80bdbfbde1f", size = 2246327, upload-time = "2025-06-13T17:24:04.087Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/17/7b/cc6e9bb41bab223bd2dc70ba0b21386b85f604e27f4c3206b4205085a2ab/fonttools-4.58.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a3841991c9ee2dc0562eb7f23d333d34ce81e8e27c903846f0487da21e0028eb", size = 2768901, upload-time = "2025-06-13T17:24:05.901Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/3d/15/98d75df9f2b4e7605f3260359ad6e18e027c11fa549f74fce567270ac891/fonttools-4.58.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3c98f91b6a9604e7ffb5ece6ea346fa617f967c2c0944228801246ed56084664", size = 2328696, upload-time = "2025-06-13T17:24:09.18Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a8/c8/dc92b80f5452c9c40164e01b3f78f04b835a00e673bd9355ca257008ff61/fonttools-4.58.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ab9f891eb687ddf6a4e5f82901e00f992e18012ca97ab7acd15f13632acd14c1", size = 5018830, upload-time = "2025-06-13T17:24:11.282Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/19/48/8322cf177680505d6b0b6062e204f01860cb573466a88077a9b795cb70e8/fonttools-4.58.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:891c5771e8f0094b7c0dc90eda8fc75e72930b32581418f2c285a9feedfd9a68", size = 4960922, upload-time = "2025-06-13T17:24:14.9Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/14/e0/2aff149ed7eb0916de36da513d473c6fff574a7146891ce42de914899395/fonttools-4.58.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:43ba4d9646045c375d22e3473b7d82b18b31ee2ac715cd94220ffab7bc2d5c1d", size = 4997135, upload-time = "2025-06-13T17:24:16.959Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/e6/6f/4d9829b29a64a2e63a121cb11ecb1b6a9524086eef3e35470949837a1692/fonttools-4.58.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:33d19f16e6d2ffd6669bda574a6589941f6c99a8d5cfb9f464038244c71555de", size = 5108701, upload-time = "2025-06-13T17:24:18.849Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/6f/1e/2d656ddd1b0cd0d222f44b2d008052c2689e66b702b9af1cd8903ddce319/fonttools-4.58.4-cp311-cp311-win32.whl", hash = "sha256:b59e5109b907da19dc9df1287454821a34a75f2632a491dd406e46ff432c2a24", size = 2200177, upload-time = "2025-06-13T17:24:20.823Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/fb/83/ba71ad053fddf4157cb0697c8da8eff6718d059f2a22986fa5f312b49c92/fonttools-4.58.4-cp311-cp311-win_amd64.whl", hash = "sha256:3d471a5b567a0d1648f2e148c9a8bcf00d9ac76eb89e976d9976582044cc2509", size = 2247892, upload-time = "2025-06-13T17:24:22.927Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/04/3c/1d1792bfe91ef46f22a3d23b4deb514c325e73c17d4f196b385b5e2faf1c/fonttools-4.58.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:462211c0f37a278494e74267a994f6be9a2023d0557aaa9ecbcbfce0f403b5a6", size = 2754082, upload-time = "2025-06-13T17:24:24.862Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/2a/1f/2b261689c901a1c3bc57a6690b0b9fc21a9a93a8b0c83aae911d3149f34e/fonttools-4.58.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:0c7a12fb6f769165547f00fcaa8d0df9517603ae7e04b625e5acb8639809b82d", size = 2321677, upload-time = "2025-06-13T17:24:26.815Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/fe/6b/4607add1755a1e6581ae1fc0c9a640648e0d9cdd6591cc2d581c2e07b8c3/fonttools-4.58.4-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:2d42c63020a922154add0a326388a60a55504629edc3274bc273cd3806b4659f", size = 4896354, upload-time = "2025-06-13T17:24:28.428Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/cd/95/34b4f483643d0cb11a1f830b72c03fdd18dbd3792d77a2eb2e130a96fada/fonttools-4.58.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8f2b4e6fd45edc6805f5f2c355590b092ffc7e10a945bd6a569fc66c1d2ae7aa", size = 4941633, upload-time = "2025-06-13T17:24:30.568Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/81/ac/9bafbdb7694059c960de523e643fa5a61dd2f698f3f72c0ca18ae99257c7/fonttools-4.58.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f155b927f6efb1213a79334e4cb9904d1e18973376ffc17a0d7cd43d31981f1e", size = 4886170, upload-time = "2025-06-13T17:24:32.724Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ae/44/a3a3b70d5709405f7525bb7cb497b4e46151e0c02e3c8a0e40e5e9fe030b/fonttools-4.58.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e38f687d5de97c7fb7da3e58169fb5ba349e464e141f83c3c2e2beb91d317816", size = 5037851, upload-time = "2025-06-13T17:24:35.034Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/21/cb/e8923d197c78969454eb876a4a55a07b59c9c4c46598f02b02411dc3b45c/fonttools-4.58.4-cp312-cp312-win32.whl", hash = "sha256:636c073b4da9db053aa683db99580cac0f7c213a953b678f69acbca3443c12cc", size = 2187428, upload-time = "2025-06-13T17:24:36.996Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/46/e6/fe50183b1a0e1018e7487ee740fa8bb127b9f5075a41e20d017201e8ab14/fonttools-4.58.4-cp312-cp312-win_amd64.whl", hash = "sha256:82e8470535743409b30913ba2822e20077acf9ea70acec40b10fcf5671dceb58", size = 2236649, upload-time = "2025-06-13T17:24:38.985Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/d4/4f/c05cab5fc1a4293e6bc535c6cb272607155a0517700f5418a4165b7f9ec8/fonttools-4.58.4-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:5f4a64846495c543796fa59b90b7a7a9dff6839bd852741ab35a71994d685c6d", size = 2745197, upload-time = "2025-06-13T17:24:40.645Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/3e/d3/49211b1f96ae49308f4f78ca7664742377a6867f00f704cdb31b57e4b432/fonttools-4.58.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e80661793a5d4d7ad132a2aa1eae2e160fbdbb50831a0edf37c7c63b2ed36574", size = 2317272, upload-time = "2025-06-13T17:24:43.428Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/b2/11/c9972e46a6abd752a40a46960e431c795ad1f306775fc1f9e8c3081a1274/fonttools-4.58.4-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:fe5807fc64e4ba5130f1974c045a6e8d795f3b7fb6debfa511d1773290dbb76b", size = 4877184, upload-time = "2025-06-13T17:24:45.527Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ea/24/5017c01c9ef8df572cc9eaf9f12be83ad8ed722ff6dc67991d3d752956e4/fonttools-4.58.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b610b9bef841cb8f4b50472494158b1e347d15cad56eac414c722eda695a6cfd", size = 4939445, upload-time = "2025-06-13T17:24:47.647Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/79/b0/538cc4d0284b5a8826b4abed93a69db52e358525d4b55c47c8cef3669767/fonttools-4.58.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:2daa7f0e213c38f05f054eb5e1730bd0424aebddbeac094489ea1585807dd187", size = 4878800, upload-time = "2025-06-13T17:24:49.766Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/5a/9b/a891446b7a8250e65bffceb248508587958a94db467ffd33972723ab86c9/fonttools-4.58.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:66cccb6c0b944496b7f26450e9a66e997739c513ffaac728d24930df2fd9d35b", size = 5021259, upload-time = "2025-06-13T17:24:51.754Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/17/b2/c4d2872cff3ace3ddd1388bf15b76a1d8d5313f0a61f234e9aed287e674d/fonttools-4.58.4-cp313-cp313-win32.whl", hash = "sha256:94d2aebb5ca59a5107825520fde596e344652c1f18170ef01dacbe48fa60c889", size = 2185824, upload-time = "2025-06-13T17:24:54.324Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/98/57/cddf8bcc911d4f47dfca1956c1e3aeeb9f7c9b8e88b2a312fe8c22714e0b/fonttools-4.58.4-cp313-cp313-win_amd64.whl", hash = "sha256:b554bd6e80bba582fd326ddab296e563c20c64dca816d5e30489760e0c41529f", size = 2236382, upload-time = "2025-06-13T17:24:56.291Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/45/20/787d70ba4cb831706fa587c56ee472a88ebc28752be660f4b58e598af6fc/fonttools-4.58.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:ca773fe7812e4e1197ee4e63b9691e89650ab55f679e12ac86052d2fe0d152cd", size = 2754537, upload-time = "2025-06-13T17:24:57.851Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/4d/a5/ccb7ef1b8ab4bbf48f7753b6df512b61e73af82cd27aa486a03d6afb8635/fonttools-4.58.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e31289101221910f44245472e02b1a2f7d671c6d06a45c07b354ecb25829ad92", size = 2321715, upload-time = "2025-06-13T17:24:59.863Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/20/5c/b361a7eae95950afaadb7049f55b214b619cb5368086cb3253726fe0c478/fonttools-4.58.4-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:90c9e3c01475bb9602cb617f69f02c4ba7ab7784d93f0b0d685e84286f4c1a10", size = 4819004, upload-time = "2025-06-13T17:25:01.591Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/d5/2f/3006fbb1f57704cd60af82fb8127788cfb102f12d39c39fb5996af595cf3/fonttools-4.58.4-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e00a826f2bc745a010341ac102082fe5e3fb9f0861b90ed9ff32277598813711", size = 4749072, upload-time = "2025-06-13T17:25:03.334Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/c2/42/ea79e2c3d5e4441e4508d6456b268a7de275452f3dba3a13fc9d73f3e03d/fonttools-4.58.4-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:bc75e72e9d2a4ad0935c59713bd38679d51c6fefab1eadde80e3ed4c2a11ea84", size = 4802023, upload-time = "2025-06-13T17:25:05.486Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/d4/70/90a196f57faa2bcd1485710c6d08eedceca500cdf2166640b3478e72072c/fonttools-4.58.4-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:f57a795e540059ce3de68508acfaaf177899b39c36ef0a2833b2308db98c71f1", size = 4911103, upload-time = "2025-06-13T17:25:07.505Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/cb/3f/a7d38e606e98701dbcb6198406c8b554a77ed06c5b21e425251813fd3775/fonttools-4.58.4-cp39-cp39-win32.whl", hash = "sha256:a7d04f64c88b48ede655abcf76f2b2952f04933567884d99be7c89e0a4495131", size = 1471393, upload-time = "2025-06-13T17:25:09.587Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/37/6e/08158deaebeb5b0c7a0fb251ca6827defb5f5159958a23ba427e0b677e95/fonttools-4.58.4-cp39-cp39-win_amd64.whl", hash = "sha256:5a8bc5dfd425c89b1c38380bc138787b0a830f761b82b37139aa080915503b69", size = 1515901, upload-time = "2025-06-13T17:25:11.336Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/0b/2f/c536b5b9bb3c071e91d536a4d11f969e911dbb6b227939f4c5b0bca090df/fonttools-4.58.4-py3-none-any.whl", hash = "sha256:a10ce13a13f26cbb9f37512a4346bb437ad7e002ff6fa966a7ce7ff5ac3528bd", size = 1114660, upload-time = "2025-06-13T17:25:13.321Z" }, ] [[package]] name = "greenlet" version = "3.0.3" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/17/14/3bddb1298b9a6786539ac609ba4b7c9c0842e12aa73aaa4d8d73ec8f8185/greenlet-3.0.3.tar.gz", hash = "sha256:43374442353259554ce33599da8b692d5aa96f8976d567d4badf263371fbe491" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/17/14/3bddb1298b9a6786539ac609ba4b7c9c0842e12aa73aaa4d8d73ec8f8185/greenlet-3.0.3.tar.gz", hash = "sha256:43374442353259554ce33599da8b692d5aa96f8976d567d4badf263371fbe491", size = 182013, upload-time = "2023-12-21T22:02:54.659Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/a6/64/bea53c592e3e45799f7c8039a8ee7d6883c518eafef1fcae60beb776070f/greenlet-3.0.3-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:9da2bd29ed9e4f15955dd1595ad7bc9320308a3b766ef7f837e23ad4b4aac31a" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a6/d6/408ad9603339db28ce334021b1403dfcfbcb7501a435d49698408d928de7/greenlet-3.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d353cadd6083fdb056bb46ed07e4340b0869c305c8ca54ef9da3421acbdf6881" }, - { url = "https://mirrors.aliyun.com/pypi/packages/6c/90/5b14670653f7363fb3e1665f8da6d64bd4c31d53a796d09ef69f48be7273/greenlet-3.0.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dca1e2f3ca00b84a396bc1bce13dd21f680f035314d2379c4160c98153b2059b" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ef/17/e8e72cabfb5a906c0d976d7fbcc88310df292beea0f816efbefdaf694284/greenlet-3.0.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3ed7fb269f15dc662787f4119ec300ad0702fa1b19d2135a37c2c4de6fadfd4a" }, - { url = "https://mirrors.aliyun.com/pypi/packages/1c/2f/64628f6ae48e05f585e0eb3fb7399b52e240ef99f602107b445bf6be23ef/greenlet-3.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd4f49ae60e10adbc94b45c0b5e6a179acc1736cf7a90160b404076ee283cf83" }, - { url = "https://mirrors.aliyun.com/pypi/packages/24/35/945d5b10648fec9b20bcc6df8952d20bb3bba76413cd71c1fdbee98f5616/greenlet-3.0.3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:73a411ef564e0e097dbe7e866bb2dda0f027e072b04da387282b02c308807405" }, - { url = "https://mirrors.aliyun.com/pypi/packages/74/00/27e2da76b926e9b5a2c97d3f4c0baf1b7d8181209d3026c0171f621ae6c0/greenlet-3.0.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:7f362975f2d179f9e26928c5b517524e89dd48530a0202570d55ad6ca5d8a56f" }, - { url = "https://mirrors.aliyun.com/pypi/packages/e1/65/506e0a80931170b0dac1a03d36b7fc299f3fa3576235b916718602fff2c3/greenlet-3.0.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:649dde7de1a5eceb258f9cb00bdf50e978c9db1b996964cd80703614c86495eb" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a6/76/e1ee9f290bb0d46b09704c2fb0e609cae329eb308ad404c0ee6fa1ecb8a5/greenlet-3.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:68834da854554926fbedd38c76e60c4a2e3198c6fbed520b106a8986445caaf9" }, - { url = "https://mirrors.aliyun.com/pypi/packages/6e/20/68a278a6f93fa36e21cfc3d7599399a8a831225644eb3b6b18755cd3d6fc/greenlet-3.0.3-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:b1b5667cced97081bf57b8fa1d6bfca67814b0afd38208d52538316e9422fc61" }, - { url = "https://mirrors.aliyun.com/pypi/packages/21/b4/90e06e07c78513ab03855768200bdb35c8e764e805b3f14fb488e56f82dc/greenlet-3.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:52f59dd9c96ad2fc0d5724107444f76eb20aaccb675bf825df6435acb7703559" }, - { url = "https://mirrors.aliyun.com/pypi/packages/f6/a2/0ed21078039072f9dc738bbf3af12b103a84106b1385ac4723841f846ce7/greenlet-3.0.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:afaff6cf5200befd5cec055b07d1c0a5a06c040fe5ad148abcd11ba6ab9b114e" }, - { url = "https://mirrors.aliyun.com/pypi/packages/42/11/42ad6b1104c357826bbee7d7b9e4f24dbd9fde94899a03efb004aab62963/greenlet-3.0.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fe754d231288e1e64323cfad462fcee8f0288654c10bdf4f603a39ed923bef33" }, - { url = "https://mirrors.aliyun.com/pypi/packages/bb/6b/384dee7e0121cbd1757bdc1824a5ee28e43d8d4e3f99aa59521f629442fe/greenlet-3.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2797aa5aedac23af156bbb5a6aa2cd3427ada2972c828244eb7d1b9255846379" }, - { url = "https://mirrors.aliyun.com/pypi/packages/c6/1f/12d5a6cc26e8b483c2e7975f9c22e088ac735c0d8dcb8a8f72d31a4e5f04/greenlet-3.0.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b7f009caad047246ed379e1c4dbcb8b020f0a390667ea74d2387be2998f58a22" }, - { url = "https://mirrors.aliyun.com/pypi/packages/c7/ec/85b647e59e0f137c7792a809156f413e38379cf7f3f2e1353c37f4be4026/greenlet-3.0.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c5e1536de2aad7bf62e27baf79225d0d64360d4168cf2e6becb91baf1ed074f3" }, - { url = "https://mirrors.aliyun.com/pypi/packages/94/ed/1e5f4bca691a81700e5a88e86d6f0e538acb10188cd2cc17140e523255ef/greenlet-3.0.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:894393ce10ceac937e56ec00bb71c4c2f8209ad516e96033e4b3b1de270e200d" }, - { url = "https://mirrors.aliyun.com/pypi/packages/47/79/26d54d7d700ef65b689fc2665a40846d13e834da0486674a8d4f0f371a47/greenlet-3.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:1ea188d4f49089fc6fb283845ab18a2518d279c7cd9da1065d7a84e991748728" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a2/2f/461615adc53ba81e99471303b15ac6b2a6daa8d2a0f7f77fd15605e16d5b/greenlet-3.0.3-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:70fb482fdf2c707765ab5f0b6655e9cfcf3780d8d87355a063547b41177599be" }, - { url = "https://mirrors.aliyun.com/pypi/packages/e9/55/2c3cfa3cdbb940cf7321fbcf544f0e9c74898eed43bf678abf416812d132/greenlet-3.0.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4d1ac74f5c0c0524e4a24335350edad7e5f03b9532da7ea4d3c54d527784f2e" }, - { url = "https://mirrors.aliyun.com/pypi/packages/38/77/efb21ab402651896c74f24a172eb4d7479f9f53898bd5e56b9e20bb24ffd/greenlet-3.0.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:149e94a2dd82d19838fe4b2259f1b6b9957d5ba1b25640d2380bea9c5df37676" }, - { url = "https://mirrors.aliyun.com/pypi/packages/74/3a/92f188ace0190f0066dca3636cf1b09481d0854c46e92ec5e29c7cefe5b1/greenlet-3.0.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:15d79dd26056573940fcb8c7413d84118086f2ec1a8acdfa854631084393efcc" }, - { url = "https://mirrors.aliyun.com/pypi/packages/63/0f/847ed02cdfce10f0e6e3425cd054296bddb11a17ef1b34681fa01a055187/greenlet-3.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:881b7db1ebff4ba09aaaeae6aa491daeb226c8150fc20e836ad00041bcb11230" }, - { url = "https://mirrors.aliyun.com/pypi/packages/bd/37/56b0da468a85e7704f3b2bc045015301bdf4be2184a44868c71f6dca6fe2/greenlet-3.0.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fcd2469d6a2cf298f198f0487e0a5b1a47a42ca0fa4dfd1b6862c999f018ebbf" }, - { url = "https://mirrors.aliyun.com/pypi/packages/7c/68/b5f4084c0a252d7e9c0d95fc1cfc845d08622037adb74e05be3a49831186/greenlet-3.0.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:1f672519db1796ca0d8753f9e78ec02355e862d0998193038c7073045899f305" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a4/fa/31e22345518adcd69d1d6ab5087a12c178aa7f3c51103f6d5d702199d243/greenlet-3.0.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2516a9957eed41dd8f1ec0c604f1cdc86758b587d964668b5b196a9db5bfcde6" }, - { url = "https://mirrors.aliyun.com/pypi/packages/53/80/3d94d5999b4179d91bcc93745d1b0815b073d61be79dd546b840d17adb18/greenlet-3.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:bba5387a6975598857d86de9eac14210a49d554a77eb8261cc68b7d082f78ce2" }, - { url = "https://mirrors.aliyun.com/pypi/packages/0b/8a/f5140c8713f919af0e98e6aaa40cb20edaaf3739d18c4a077581e2422ac4/greenlet-3.0.3-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:da70d4d51c8b306bb7a031d5cff6cc25ad253affe89b70352af5f1cb68e74b53" }, - { url = "https://mirrors.aliyun.com/pypi/packages/cf/5b/2de4a398840d3b4d99c4a3476cda0d82badfa349f3f89846ada2e32e9500/greenlet-3.0.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:086152f8fbc5955df88382e8a75984e2bb1c892ad2e3c80a2508954e52295257" }, - { url = "https://mirrors.aliyun.com/pypi/packages/dc/c3/06ca5f34b01af6d6e2fd2f97c0ad3673123a442bf4a3add548d374b1cc7c/greenlet-3.0.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d73a9fe764d77f87f8ec26a0c85144d6a951a6c438dfe50487df5595c6373eac" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a2/92/f11dbbcf33809421447b24d2eefee0575c59c8569d6d03f7ca4d2b34d56f/greenlet-3.0.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7dcbe92cc99f08c8dd11f930de4d99ef756c3591a5377d1d9cd7dd5e896da71" }, - { url = "https://mirrors.aliyun.com/pypi/packages/9d/ea/8bc7ed08ba274bdaff08f2cb546d832b8f44af267e03ca6e449840486915/greenlet-3.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1551a8195c0d4a68fac7a4325efac0d541b48def35feb49d803674ac32582f61" }, - { url = "https://mirrors.aliyun.com/pypi/packages/af/05/b7e068070a6c143f34dfcd7e9144684271b8067e310f6da68269580db1d8/greenlet-3.0.3-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:64d7675ad83578e3fc149b617a444fab8efdafc9385471f868eb5ff83e446b8b" }, - { url = "https://mirrors.aliyun.com/pypi/packages/74/82/9737e7dee4ccb9e1be2a8f17cf760458be2c36c6ff7bbaef55cbe279e729/greenlet-3.0.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b37eef18ea55f2ffd8f00ff8fe7c8d3818abd3e25fb73fae2ca3b672e333a7a6" }, - { url = "https://mirrors.aliyun.com/pypi/packages/54/4b/965a542baf157f23912e466b50fa9c49dd66132d9495d201e6c607ea16f2/greenlet-3.0.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:77457465d89b8263bca14759d7c1684df840b6811b2499838cc5b040a8b5b113" }, - { url = "https://mirrors.aliyun.com/pypi/packages/20/70/2f99bdcb4e3912d844dee279e077ee670ec43161d96670a9dfad16b89dd1/greenlet-3.0.3-cp39-cp39-win32.whl", hash = "sha256:57e8974f23e47dac22b83436bdcf23080ade568ce77df33159e019d161ce1d1e" }, - { url = "https://mirrors.aliyun.com/pypi/packages/c3/80/01ff837bc7122d049971960123d749ed16adbd43cbc008afdb780a40e3fa/greenlet-3.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:c5ee858cfe08f34712f548c3c363e807e7186f03ad7a5039ebadb29e8c6be067" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a6/64/bea53c592e3e45799f7c8039a8ee7d6883c518eafef1fcae60beb776070f/greenlet-3.0.3-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:9da2bd29ed9e4f15955dd1595ad7bc9320308a3b766ef7f837e23ad4b4aac31a", size = 270098, upload-time = "2023-12-21T22:01:50.6Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a6/d6/408ad9603339db28ce334021b1403dfcfbcb7501a435d49698408d928de7/greenlet-3.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d353cadd6083fdb056bb46ed07e4340b0869c305c8ca54ef9da3421acbdf6881", size = 651930, upload-time = "2023-12-21T22:29:24.374Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/6c/90/5b14670653f7363fb3e1665f8da6d64bd4c31d53a796d09ef69f48be7273/greenlet-3.0.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dca1e2f3ca00b84a396bc1bce13dd21f680f035314d2379c4160c98153b2059b", size = 667643, upload-time = "2023-12-21T22:26:19.296Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ef/17/e8e72cabfb5a906c0d976d7fbcc88310df292beea0f816efbefdaf694284/greenlet-3.0.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3ed7fb269f15dc662787f4119ec300ad0702fa1b19d2135a37c2c4de6fadfd4a", size = 659188, upload-time = "2023-12-21T22:31:32.77Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/1c/2f/64628f6ae48e05f585e0eb3fb7399b52e240ef99f602107b445bf6be23ef/greenlet-3.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd4f49ae60e10adbc94b45c0b5e6a179acc1736cf7a90160b404076ee283cf83", size = 662673, upload-time = "2023-12-21T22:03:11.143Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/24/35/945d5b10648fec9b20bcc6df8952d20bb3bba76413cd71c1fdbee98f5616/greenlet-3.0.3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:73a411ef564e0e097dbe7e866bb2dda0f027e072b04da387282b02c308807405", size = 616002, upload-time = "2023-12-21T22:03:01.774Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/74/00/27e2da76b926e9b5a2c97d3f4c0baf1b7d8181209d3026c0171f621ae6c0/greenlet-3.0.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:7f362975f2d179f9e26928c5b517524e89dd48530a0202570d55ad6ca5d8a56f", size = 1150603, upload-time = "2023-12-21T22:30:55.699Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/e1/65/506e0a80931170b0dac1a03d36b7fc299f3fa3576235b916718602fff2c3/greenlet-3.0.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:649dde7de1a5eceb258f9cb00bdf50e978c9db1b996964cd80703614c86495eb", size = 1176756, upload-time = "2023-12-21T22:04:16.172Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a6/76/e1ee9f290bb0d46b09704c2fb0e609cae329eb308ad404c0ee6fa1ecb8a5/greenlet-3.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:68834da854554926fbedd38c76e60c4a2e3198c6fbed520b106a8986445caaf9", size = 292349, upload-time = "2023-12-21T22:33:13.902Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/6e/20/68a278a6f93fa36e21cfc3d7599399a8a831225644eb3b6b18755cd3d6fc/greenlet-3.0.3-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:b1b5667cced97081bf57b8fa1d6bfca67814b0afd38208d52538316e9422fc61", size = 271666, upload-time = "2023-12-21T22:02:20.66Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/21/b4/90e06e07c78513ab03855768200bdb35c8e764e805b3f14fb488e56f82dc/greenlet-3.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:52f59dd9c96ad2fc0d5724107444f76eb20aaccb675bf825df6435acb7703559", size = 657689, upload-time = "2023-12-21T22:29:26.823Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/f6/a2/0ed21078039072f9dc738bbf3af12b103a84106b1385ac4723841f846ce7/greenlet-3.0.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:afaff6cf5200befd5cec055b07d1c0a5a06c040fe5ad148abcd11ba6ab9b114e", size = 673009, upload-time = "2023-12-21T22:26:21.802Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/42/11/42ad6b1104c357826bbee7d7b9e4f24dbd9fde94899a03efb004aab62963/greenlet-3.0.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fe754d231288e1e64323cfad462fcee8f0288654c10bdf4f603a39ed923bef33", size = 667432, upload-time = "2023-12-21T22:31:34.29Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/bb/6b/384dee7e0121cbd1757bdc1824a5ee28e43d8d4e3f99aa59521f629442fe/greenlet-3.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2797aa5aedac23af156bbb5a6aa2cd3427ada2972c828244eb7d1b9255846379", size = 667442, upload-time = "2023-12-21T22:03:13.273Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/c6/1f/12d5a6cc26e8b483c2e7975f9c22e088ac735c0d8dcb8a8f72d31a4e5f04/greenlet-3.0.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b7f009caad047246ed379e1c4dbcb8b020f0a390667ea74d2387be2998f58a22", size = 620032, upload-time = "2023-12-21T22:03:04.267Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/c7/ec/85b647e59e0f137c7792a809156f413e38379cf7f3f2e1353c37f4be4026/greenlet-3.0.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c5e1536de2aad7bf62e27baf79225d0d64360d4168cf2e6becb91baf1ed074f3", size = 1154218, upload-time = "2023-12-21T22:30:57.945Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/94/ed/1e5f4bca691a81700e5a88e86d6f0e538acb10188cd2cc17140e523255ef/greenlet-3.0.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:894393ce10ceac937e56ec00bb71c4c2f8209ad516e96033e4b3b1de270e200d", size = 1180754, upload-time = "2023-12-21T22:04:18.344Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/47/79/26d54d7d700ef65b689fc2665a40846d13e834da0486674a8d4f0f371a47/greenlet-3.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:1ea188d4f49089fc6fb283845ab18a2518d279c7cd9da1065d7a84e991748728", size = 292822, upload-time = "2023-12-21T22:29:32.85Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a2/2f/461615adc53ba81e99471303b15ac6b2a6daa8d2a0f7f77fd15605e16d5b/greenlet-3.0.3-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:70fb482fdf2c707765ab5f0b6655e9cfcf3780d8d87355a063547b41177599be", size = 273085, upload-time = "2023-12-21T22:03:01.176Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/e9/55/2c3cfa3cdbb940cf7321fbcf544f0e9c74898eed43bf678abf416812d132/greenlet-3.0.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4d1ac74f5c0c0524e4a24335350edad7e5f03b9532da7ea4d3c54d527784f2e", size = 660514, upload-time = "2023-12-21T22:29:28.62Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/38/77/efb21ab402651896c74f24a172eb4d7479f9f53898bd5e56b9e20bb24ffd/greenlet-3.0.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:149e94a2dd82d19838fe4b2259f1b6b9957d5ba1b25640d2380bea9c5df37676", size = 674295, upload-time = "2023-12-21T22:26:24.101Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/74/3a/92f188ace0190f0066dca3636cf1b09481d0854c46e92ec5e29c7cefe5b1/greenlet-3.0.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:15d79dd26056573940fcb8c7413d84118086f2ec1a8acdfa854631084393efcc", size = 669395, upload-time = "2023-12-21T22:31:35.992Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/63/0f/847ed02cdfce10f0e6e3425cd054296bddb11a17ef1b34681fa01a055187/greenlet-3.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:881b7db1ebff4ba09aaaeae6aa491daeb226c8150fc20e836ad00041bcb11230", size = 670455, upload-time = "2023-12-21T22:03:16.291Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/bd/37/56b0da468a85e7704f3b2bc045015301bdf4be2184a44868c71f6dca6fe2/greenlet-3.0.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fcd2469d6a2cf298f198f0487e0a5b1a47a42ca0fa4dfd1b6862c999f018ebbf", size = 625692, upload-time = "2023-12-21T22:03:06.294Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/7c/68/b5f4084c0a252d7e9c0d95fc1cfc845d08622037adb74e05be3a49831186/greenlet-3.0.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:1f672519db1796ca0d8753f9e78ec02355e862d0998193038c7073045899f305", size = 1152597, upload-time = "2023-12-21T22:31:00.412Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a4/fa/31e22345518adcd69d1d6ab5087a12c178aa7f3c51103f6d5d702199d243/greenlet-3.0.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2516a9957eed41dd8f1ec0c604f1cdc86758b587d964668b5b196a9db5bfcde6", size = 1181043, upload-time = "2023-12-21T22:04:20.032Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/53/80/3d94d5999b4179d91bcc93745d1b0815b073d61be79dd546b840d17adb18/greenlet-3.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:bba5387a6975598857d86de9eac14210a49d554a77eb8261cc68b7d082f78ce2", size = 293635, upload-time = "2023-12-21T22:26:01.555Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/0b/8a/f5140c8713f919af0e98e6aaa40cb20edaaf3739d18c4a077581e2422ac4/greenlet-3.0.3-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:da70d4d51c8b306bb7a031d5cff6cc25ad253affe89b70352af5f1cb68e74b53", size = 269242, upload-time = "2023-12-21T22:03:35.938Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/cf/5b/2de4a398840d3b4d99c4a3476cda0d82badfa349f3f89846ada2e32e9500/greenlet-3.0.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:086152f8fbc5955df88382e8a75984e2bb1c892ad2e3c80a2508954e52295257", size = 650174, upload-time = "2023-12-21T22:29:34.906Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/dc/c3/06ca5f34b01af6d6e2fd2f97c0ad3673123a442bf4a3add548d374b1cc7c/greenlet-3.0.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d73a9fe764d77f87f8ec26a0c85144d6a951a6c438dfe50487df5595c6373eac", size = 666285, upload-time = "2023-12-21T22:26:31.302Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a2/92/f11dbbcf33809421447b24d2eefee0575c59c8569d6d03f7ca4d2b34d56f/greenlet-3.0.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7dcbe92cc99f08c8dd11f930de4d99ef756c3591a5377d1d9cd7dd5e896da71", size = 658521, upload-time = "2023-12-21T22:31:41.32Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/9d/ea/8bc7ed08ba274bdaff08f2cb546d832b8f44af267e03ca6e449840486915/greenlet-3.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1551a8195c0d4a68fac7a4325efac0d541b48def35feb49d803674ac32582f61", size = 660753, upload-time = "2023-12-21T22:03:22.064Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/af/05/b7e068070a6c143f34dfcd7e9144684271b8067e310f6da68269580db1d8/greenlet-3.0.3-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:64d7675ad83578e3fc149b617a444fab8efdafc9385471f868eb5ff83e446b8b", size = 614348, upload-time = "2023-12-21T22:03:11.364Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/74/82/9737e7dee4ccb9e1be2a8f17cf760458be2c36c6ff7bbaef55cbe279e729/greenlet-3.0.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b37eef18ea55f2ffd8f00ff8fe7c8d3818abd3e25fb73fae2ca3b672e333a7a6", size = 1149569, upload-time = "2023-12-21T22:31:06.99Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/54/4b/965a542baf157f23912e466b50fa9c49dd66132d9495d201e6c607ea16f2/greenlet-3.0.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:77457465d89b8263bca14759d7c1684df840b6811b2499838cc5b040a8b5b113", size = 1176361, upload-time = "2023-12-21T22:04:26.228Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/20/70/2f99bdcb4e3912d844dee279e077ee670ec43161d96670a9dfad16b89dd1/greenlet-3.0.3-cp39-cp39-win32.whl", hash = "sha256:57e8974f23e47dac22b83436bdcf23080ade568ce77df33159e019d161ce1d1e", size = 272960, upload-time = "2023-12-21T22:43:33.12Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/c3/80/01ff837bc7122d049971960123d749ed16adbd43cbc008afdb780a40e3fa/greenlet-3.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:c5ee858cfe08f34712f548c3c363e807e7186f03ad7a5039ebadb29e8c6be067", size = 290843, upload-time = "2023-12-21T22:35:39.245Z" }, ] [[package]] name = "h11" version = "0.14.0" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/f5/38/3af3d3633a34a3316095b39c8e8fb4853a28a536e55d347bd8d8e9a14b03/h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/f5/38/3af3d3633a34a3316095b39c8e8fb4853a28a536e55d347bd8d8e9a14b03/h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d", size = 100418, upload-time = "2022-09-25T15:40:01.519Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/95/04/ff642e65ad6b90db43e668d70ffb6736436c7ce41fcc549f4e9472234127/h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/95/04/ff642e65ad6b90db43e668d70ffb6736436c7ce41fcc549f4e9472234127/h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761", size = 58259, upload-time = "2022-09-25T15:39:59.68Z" }, ] [[package]] name = "httpcore" version = "0.17.3" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } dependencies = [ { name = "anyio" }, { name = "certifi" }, { name = "h11" }, { name = "sniffio" }, ] -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/63/ad/c98ecdbfe04417e71e143bf2f2fb29128e4787d78d1cedba21bd250c7e7a/httpcore-0.17.3.tar.gz", hash = "sha256:a6f30213335e34c1ade7be6ec7c47f19f50c56db36abef1a9dfa3815b1cb3888" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/63/ad/c98ecdbfe04417e71e143bf2f2fb29128e4787d78d1cedba21bd250c7e7a/httpcore-0.17.3.tar.gz", hash = "sha256:a6f30213335e34c1ade7be6ec7c47f19f50c56db36abef1a9dfa3815b1cb3888", size = 62676, upload-time = "2023-07-05T12:09:31.29Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/94/2c/2bde7ff8dd2064395555220cbf7cba79991172bf5315a07eb3ac7688d9f1/httpcore-0.17.3-py3-none-any.whl", hash = "sha256:c2789b767ddddfa2a5782e3199b2b7f6894540b17b16ec26b2c4d8e103510b87" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/94/2c/2bde7ff8dd2064395555220cbf7cba79991172bf5315a07eb3ac7688d9f1/httpcore-0.17.3-py3-none-any.whl", hash = "sha256:c2789b767ddddfa2a5782e3199b2b7f6894540b17b16ec26b2c4d8e103510b87", size = 74513, upload-time = "2023-07-05T12:09:29.425Z" }, ] [[package]] name = "httpx" version = "0.24.0" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } dependencies = [ { name = "certifi" }, { name = "httpcore" }, { name = "idna" }, { name = "sniffio" }, ] -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/ae/23/f7beaf11a8b95fc173b8979c4bfd23ea7711c5ebd458d657d24a59df7e9f/httpx-0.24.0.tar.gz", hash = "sha256:507d676fc3e26110d41df7d35ebd8b3b8585052450f4097401c9be59d928c63e" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ae/23/f7beaf11a8b95fc173b8979c4bfd23ea7711c5ebd458d657d24a59df7e9f/httpx-0.24.0.tar.gz", hash = "sha256:507d676fc3e26110d41df7d35ebd8b3b8585052450f4097401c9be59d928c63e", size = 81136, upload-time = "2023-04-11T10:01:40.999Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/4e/c1/692013f1e6115a061a14f6c7d05947515a1eb7b85ef6e9bf0ffbf0e92738/httpx-0.24.0-py3-none-any.whl", hash = "sha256:447556b50c1921c351ea54b4fe79d91b724ed2b027462ab9a329465d147d5a4e" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/4e/c1/692013f1e6115a061a14f6c7d05947515a1eb7b85ef6e9bf0ffbf0e92738/httpx-0.24.0-py3-none-any.whl", hash = "sha256:447556b50c1921c351ea54b4fe79d91b724ed2b027462ab9a329465d147d5a4e", size = 75282, upload-time = "2023-04-11T10:01:39.679Z" }, ] [[package]] name = "idna" version = "3.10" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490, upload-time = "2024-09-15T18:07:39.745Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442, upload-time = "2024-09-15T18:07:37.964Z" }, ] [[package]] name = "importlib-resources" version = "6.5.2" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } dependencies = [ { name = "zipp", marker = "python_full_version < '3.10'" }, ] -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/cf/8c/f834fbf984f691b4f7ff60f50b514cc3de5cc08abfc3295564dd89c5e2e7/importlib_resources-6.5.2.tar.gz", hash = "sha256:185f87adef5bcc288449d98fb4fba07cea78bc036455dd44c5fc4a2fe78fed2c" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/cf/8c/f834fbf984f691b4f7ff60f50b514cc3de5cc08abfc3295564dd89c5e2e7/importlib_resources-6.5.2.tar.gz", hash = "sha256:185f87adef5bcc288449d98fb4fba07cea78bc036455dd44c5fc4a2fe78fed2c", size = 44693, upload-time = "2025-01-03T18:51:56.698Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/a4/ed/1f1afb2e9e7f38a545d628f864d562a5ae64fe6f7a10e28ffb9b185b4e89/importlib_resources-6.5.2-py3-none-any.whl", hash = "sha256:789cfdc3ed28c78b67a06acb8126751ced69a3d5f79c095a98298cd8a760ccec" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a4/ed/1f1afb2e9e7f38a545d628f864d562a5ae64fe6f7a10e28ffb9b185b4e89/importlib_resources-6.5.2-py3-none-any.whl", hash = "sha256:789cfdc3ed28c78b67a06acb8126751ced69a3d5f79c095a98298cd8a760ccec", size = 37461, upload-time = "2025-01-03T18:51:54.306Z" }, ] [[package]] name = "jieba" version = "0.42.1" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/c6/cb/18eeb235f833b726522d7ebed54f2278ce28ba9438e3135ab0278d9792a2/jieba-0.42.1.tar.gz", hash = "sha256:055ca12f62674fafed09427f176506079bc135638a14e23e25be909131928db2" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/c6/cb/18eeb235f833b726522d7ebed54f2278ce28ba9438e3135ab0278d9792a2/jieba-0.42.1.tar.gz", hash = "sha256:055ca12f62674fafed09427f176506079bc135638a14e23e25be909131928db2", size = 19214172, upload-time = "2020-01-20T14:27:23.5Z" } [[package]] name = "jmespath" version = "1.0.1" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/00/2a/e867e8531cf3e36b41201936b7fa7ba7b5702dbef42922193f05c8976cd6/jmespath-1.0.1.tar.gz", hash = "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/00/2a/e867e8531cf3e36b41201936b7fa7ba7b5702dbef42922193f05c8976cd6/jmespath-1.0.1.tar.gz", hash = "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe", size = 25843, upload-time = "2022-06-17T18:00:12.224Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/31/b4/b9b800c45527aadd64d5b442f9b932b00648617eb5d63d2c7a6587b7cafc/jmespath-1.0.1-py3-none-any.whl", hash = "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/31/b4/b9b800c45527aadd64d5b442f9b932b00648617eb5d63d2c7a6587b7cafc/jmespath-1.0.1-py3-none-any.whl", hash = "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980", size = 20256, upload-time = "2022-06-17T18:00:10.251Z" }, ] [[package]] name = "kiwisolver" version = "1.4.7" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } resolution-markers = [ "python_full_version < '3.10' and platform_machine == 'arm64' and sys_platform == 'darwin'", "python_full_version < '3.10' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version < '3.10' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.10' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.10' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/85/4d/2255e1c76304cbd60b48cee302b66d1dde4468dc5b1160e4b7cb43778f2a/kiwisolver-1.4.7.tar.gz", hash = "sha256:9893ff81bd7107f7b685d3017cc6583daadb4fc26e4a888350df530e41980a60" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/85/4d/2255e1c76304cbd60b48cee302b66d1dde4468dc5b1160e4b7cb43778f2a/kiwisolver-1.4.7.tar.gz", hash = "sha256:9893ff81bd7107f7b685d3017cc6583daadb4fc26e4a888350df530e41980a60", size = 97286, upload-time = "2024-09-04T09:39:44.302Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/97/14/fc943dd65268a96347472b4fbe5dcc2f6f55034516f80576cd0dd3a8930f/kiwisolver-1.4.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8a9c83f75223d5e48b0bc9cb1bf2776cf01563e00ade8775ffe13b0b6e1af3a6" }, - { url = "https://mirrors.aliyun.com/pypi/packages/1e/46/e68fed66236b69dd02fcdb506218c05ac0e39745d696d22709498896875d/kiwisolver-1.4.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:58370b1ffbd35407444d57057b57da5d6549d2d854fa30249771775c63b5fe17" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ef/fa/65de49c85838681fc9cb05de2a68067a683717321e01ddafb5b8024286f0/kiwisolver-1.4.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:aa0abdf853e09aff551db11fce173e2177d00786c688203f52c87ad7fcd91ef9" }, - { url = "https://mirrors.aliyun.com/pypi/packages/42/9c/cc8d90f6ef550f65443bad5872ffa68f3dee36de4974768628bea7c14979/kiwisolver-1.4.7-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8d53103597a252fb3ab8b5845af04c7a26d5e7ea8122303dd7a021176a87e8b9" }, - { url = "https://mirrors.aliyun.com/pypi/packages/55/91/0a57ce324caf2ff5403edab71c508dd8f648094b18cfbb4c8cc0fde4a6ac/kiwisolver-1.4.7-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:88f17c5ffa8e9462fb79f62746428dd57b46eb931698e42e990ad63103f35e6c" }, - { url = "https://mirrors.aliyun.com/pypi/packages/12/5d/c36140313f2510e20207708adf36ae4919416d697ee0236b0ddfb6fd1050/kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88a9ca9c710d598fd75ee5de59d5bda2684d9db36a9f50b6125eaea3969c2599" }, - { url = "https://mirrors.aliyun.com/pypi/packages/56/d0/786e524f9ed648324a466ca8df86298780ef2b29c25313d9a4f16992d3cf/kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f4d742cb7af1c28303a51b7a27aaee540e71bb8e24f68c736f6f2ffc82f2bf05" }, - { url = "https://mirrors.aliyun.com/pypi/packages/67/5a/77851f2f201e6141d63c10a0708e996a1363efaf9e1609ad0441b343763b/kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e28c7fea2196bf4c2f8d46a0415c77a1c480cc0724722f23d7410ffe9842c407" }, - { url = "https://mirrors.aliyun.com/pypi/packages/06/5f/1f5eaab84355885e224a6fc8d73089e8713dc7e91c121f00b9a1c58a2195/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e968b84db54f9d42046cf154e02911e39c0435c9801681e3fc9ce8a3c4130278" }, - { url = "https://mirrors.aliyun.com/pypi/packages/b5/28/9152a3bfe976a0ae21d445415defc9d1cd8614b2910b7614b30b27a47270/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0c18ec74c0472de033e1bebb2911c3c310eef5649133dd0bedf2a169a1b269e5" }, - { url = "https://mirrors.aliyun.com/pypi/packages/26/f6/453d1904c52ac3b400f4d5e240ac5fec25263716723e44be65f4d7149d13/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8f0ea6da6d393d8b2e187e6a5e3fb81f5862010a40c3945e2c6d12ae45cfb2ad" }, - { url = "https://mirrors.aliyun.com/pypi/packages/5a/9a/d4968499441b9ae187e81745e3277a8b4d7c60840a52dc9d535a7909fac3/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:f106407dda69ae456dd1227966bf445b157ccc80ba0dff3802bb63f30b74e895" }, - { url = "https://mirrors.aliyun.com/pypi/packages/07/c9/032267192e7828520dacb64dfdb1d74f292765f179e467c1cba97687f17d/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:84ec80df401cfee1457063732d90022f93951944b5b58975d34ab56bb150dfb3" }, - { url = "https://mirrors.aliyun.com/pypi/packages/6c/ad/db0aedb638a58b2951da46ddaeecf204be8b4f5454df020d850c7fa8dca8/kiwisolver-1.4.7-cp310-cp310-win32.whl", hash = "sha256:71bb308552200fb2c195e35ef05de12f0c878c07fc91c270eb3d6e41698c3bcc" }, - { url = "https://mirrors.aliyun.com/pypi/packages/12/ca/d0f7b7ffbb0be1e7c2258b53554efec1fd652921f10d7d85045aff93ab61/kiwisolver-1.4.7-cp310-cp310-win_amd64.whl", hash = "sha256:44756f9fd339de0fb6ee4f8c1696cfd19b2422e0d70b4cefc1cc7f1f64045a8c" }, - { url = "https://mirrors.aliyun.com/pypi/packages/97/6c/cfcc128672f47a3e3c0d918ecb67830600078b025bfc32d858f2e2d5c6a4/kiwisolver-1.4.7-cp310-cp310-win_arm64.whl", hash = "sha256:78a42513018c41c2ffd262eb676442315cbfe3c44eed82385c2ed043bc63210a" }, - { url = "https://mirrors.aliyun.com/pypi/packages/e9/44/77429fa0a58f941d6e1c58da9efe08597d2e86bf2b2cce6626834f49d07b/kiwisolver-1.4.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d2b0e12a42fb4e72d509fc994713d099cbb15ebf1103545e8a45f14da2dfca54" }, - { url = "https://mirrors.aliyun.com/pypi/packages/e5/20/8c75caed8f2462d63c7fd65e16c832b8f76cda331ac9e615e914ee80bac9/kiwisolver-1.4.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2a8781ac3edc42ea4b90bc23e7d37b665d89423818e26eb6df90698aa2287c95" }, - { url = "https://mirrors.aliyun.com/pypi/packages/f4/98/fe010f15dc7230f45bc4cf367b012d651367fd203caaa992fd1f5963560e/kiwisolver-1.4.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:46707a10836894b559e04b0fd143e343945c97fd170d69a2d26d640b4e297935" }, - { url = "https://mirrors.aliyun.com/pypi/packages/8b/1b/b5d618f4e58c0675654c1e5051bcf42c776703edb21c02b8c74135541f60/kiwisolver-1.4.7-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ef97b8df011141c9b0f6caf23b29379f87dd13183c978a30a3c546d2c47314cb" }, - { url = "https://mirrors.aliyun.com/pypi/packages/b8/01/946852b13057a162a8c32c4c8d2e9ed79f0bb5d86569a40c0b5fb103e373/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ab58c12a2cd0fc769089e6d38466c46d7f76aced0a1f54c77652446733d2d02" }, - { url = "https://mirrors.aliyun.com/pypi/packages/70/d1/c9f96df26b459e15cf8a965304e6e6f4eb291e0f7a9460b4ad97b047561e/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:803b8e1459341c1bb56d1c5c010406d5edec8a0713a0945851290a7930679b51" }, - { url = "https://mirrors.aliyun.com/pypi/packages/d3/73/2686990eb8b02d05f3de759d6a23a4ee7d491e659007dd4c075fede4b5d0/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f9a9e8a507420fe35992ee9ecb302dab68550dedc0da9e2880dd88071c5fb052" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a7/4b/2db7af3ed3af7c35f388d5f53c28e155cd402a55432d800c543dc6deb731/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18077b53dc3bb490e330669a99920c5e6a496889ae8c63b58fbc57c3d7f33a18" }, - { url = "https://mirrors.aliyun.com/pypi/packages/05/83/2857317d04ea46dc5d115f0df7e676997bbd968ced8e2bd6f7f19cfc8d7f/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6af936f79086a89b3680a280c47ea90b4df7047b5bdf3aa5c524bbedddb9e545" }, - { url = "https://mirrors.aliyun.com/pypi/packages/0d/b5/866f86f5897cd4ab6d25d22e403404766a123f138bd6a02ecb2cdde52c18/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:3abc5b19d24af4b77d1598a585b8a719beb8569a71568b66f4ebe1fb0449460b" }, - { url = "https://mirrors.aliyun.com/pypi/packages/c1/ee/73de8385403faba55f782a41260210528fe3273d0cddcf6d51648202d6d0/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:933d4de052939d90afbe6e9d5273ae05fb836cc86c15b686edd4b3560cc0ee36" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a1/e7/cd101d8cd2cdfaa42dc06c433df17c8303d31129c9fdd16c0ea37672af91/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:65e720d2ab2b53f1f72fb5da5fb477455905ce2c88aaa671ff0a447c2c80e8e3" }, - { url = "https://mirrors.aliyun.com/pypi/packages/e1/72/84f09d45a10bc57a40bb58b81b99d8f22b58b2040c912b7eb97ebf625bf2/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3bf1ed55088f214ba6427484c59553123fdd9b218a42bbc8c6496d6754b1e523" }, - { url = "https://mirrors.aliyun.com/pypi/packages/d2/d4/71828f32b956612dc36efd7be1788980cb1e66bfb3706e6dec9acad9b4f9/kiwisolver-1.4.7-cp311-cp311-win32.whl", hash = "sha256:4c00336b9dd5ad96d0a558fd18a8b6f711b7449acce4c157e7343ba92dd0cf3d" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a1/65/d43e9a20aabcf2e798ad1aff6c143ae3a42cf506754bcb6a7ed8259c8425/kiwisolver-1.4.7-cp311-cp311-win_amd64.whl", hash = "sha256:929e294c1ac1e9f615c62a4e4313ca1823ba37326c164ec720a803287c4c499b" }, - { url = "https://mirrors.aliyun.com/pypi/packages/35/b3/9f75a2e06f1b4ca00b2b192bc2b739334127d27f1d0625627ff8479302ba/kiwisolver-1.4.7-cp311-cp311-win_arm64.whl", hash = "sha256:e33e8fbd440c917106b237ef1a2f1449dfbb9b6f6e1ce17c94cd6a1e0d438376" }, - { url = "https://mirrors.aliyun.com/pypi/packages/97/9c/0a11c714cf8b6ef91001c8212c4ef207f772dd84540104952c45c1f0a249/kiwisolver-1.4.7-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:5360cc32706dab3931f738d3079652d20982511f7c0ac5711483e6eab08efff2" }, - { url = "https://mirrors.aliyun.com/pypi/packages/f2/d8/0fe8c5f5d35878ddd135f44f2af0e4e1d379e1c7b0716f97cdcb88d4fd27/kiwisolver-1.4.7-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:942216596dc64ddb25adb215c3c783215b23626f8d84e8eff8d6d45c3f29f75a" }, - { url = "https://mirrors.aliyun.com/pypi/packages/80/c5/57fa58276dfdfa612241d640a64ca2f76adc6ffcebdbd135b4ef60095098/kiwisolver-1.4.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:48b571ecd8bae15702e4f22d3ff6a0f13e54d3d00cd25216d5e7f658242065ee" }, - { url = "https://mirrors.aliyun.com/pypi/packages/8b/e9/26d3edd4c4ad1c5b891d8747a4f81b1b0aba9fb9721de6600a4adc09773b/kiwisolver-1.4.7-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ad42ba922c67c5f219097b28fae965e10045ddf145d2928bfac2eb2e17673640" }, - { url = "https://mirrors.aliyun.com/pypi/packages/b6/67/3f4850b5e6cffb75ec40577ddf54f7b82b15269cc5097ff2e968ee32ea7d/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:612a10bdae23404a72941a0fc8fa2660c6ea1217c4ce0dbcab8a8f6543ea9e7f" }, - { url = "https://mirrors.aliyun.com/pypi/packages/52/be/86cbb9c9a315e98a8dc6b1d23c43cffd91d97d49318854f9c37b0e41cd68/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9e838bba3a3bac0fe06d849d29772eb1afb9745a59710762e4ba3f4cb8424483" }, - { url = "https://mirrors.aliyun.com/pypi/packages/0f/00/65061acf64bd5fd34c1f4ae53f20b43b0a017a541f242a60b135b9d1e301/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:22f499f6157236c19f4bbbd472fa55b063db77a16cd74d49afe28992dff8c258" }, - { url = "https://mirrors.aliyun.com/pypi/packages/21/e4/c0b6746fd2eb62fe702118b3ca0cb384ce95e1261cfada58ff693aeec08a/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:693902d433cf585133699972b6d7c42a8b9f8f826ebcaf0132ff55200afc599e" }, - { url = "https://mirrors.aliyun.com/pypi/packages/0a/0f/529d0a9fffb4d514f2782c829b0b4b371f7f441d61aa55f1de1c614c4ef3/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4e77f2126c3e0b0d055f44513ed349038ac180371ed9b52fe96a32aa071a5107" }, - { url = "https://mirrors.aliyun.com/pypi/packages/d1/e1/66603ad779258843036d45adcbe1af0d1a889a07af4635f8b4ec7dccda35/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:657a05857bda581c3656bfc3b20e353c232e9193eb167766ad2dc58b56504948" }, - { url = "https://mirrors.aliyun.com/pypi/packages/8d/61/de5fb1ca7ad1f9ab7970e340a5b833d735df24689047de6ae71ab9d8d0e7/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4bfa75a048c056a411f9705856abfc872558e33c055d80af6a380e3658766038" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ba/d2/0edc00a852e369827f7e05fd008275f550353f1f9bcd55db9363d779fc63/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:34ea1de54beef1c104422d210c47c7d2a4999bdecf42c7b5718fbe59a4cac383" }, - { url = "https://mirrors.aliyun.com/pypi/packages/84/15/adc15a483506aec6986c01fb7f237c3aec4d9ed4ac10b756e98a76835933/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:90da3b5f694b85231cf93586dad5e90e2d71b9428f9aad96952c99055582f520" }, - { url = "https://mirrors.aliyun.com/pypi/packages/36/08/3a5bb2c53c89660863a5aa1ee236912269f2af8762af04a2e11df851d7b2/kiwisolver-1.4.7-cp312-cp312-win32.whl", hash = "sha256:18e0cca3e008e17fe9b164b55735a325140a5a35faad8de92dd80265cd5eb80b" }, - { url = "https://mirrors.aliyun.com/pypi/packages/19/93/c05f0a6d825c643779fc3c70876bff1ac221f0e31e6f701f0e9578690d70/kiwisolver-1.4.7-cp312-cp312-win_amd64.whl", hash = "sha256:58cb20602b18f86f83a5c87d3ee1c766a79c0d452f8def86d925e6c60fbf7bfb" }, - { url = "https://mirrors.aliyun.com/pypi/packages/d2/f9/3828d8f21b6de4279f0667fb50a9f5215e6fe57d5ec0d61905914f5b6099/kiwisolver-1.4.7-cp312-cp312-win_arm64.whl", hash = "sha256:f5a8b53bdc0b3961f8b6125e198617c40aeed638b387913bf1ce78afb1b0be2a" }, - { url = "https://mirrors.aliyun.com/pypi/packages/c4/06/7da99b04259b0f18b557a4effd1b9c901a747f7fdd84cf834ccf520cb0b2/kiwisolver-1.4.7-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2e6039dcbe79a8e0f044f1c39db1986a1b8071051efba3ee4d74f5b365f5226e" }, - { url = "https://mirrors.aliyun.com/pypi/packages/97/f5/b8a370d1aa593c17882af0a6f6755aaecd643640c0ed72dcfd2eafc388b9/kiwisolver-1.4.7-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a1ecf0ac1c518487d9d23b1cd7139a6a65bc460cd101ab01f1be82ecf09794b6" }, - { url = "https://mirrors.aliyun.com/pypi/packages/2a/fc/6c0374f7503522539e2d4d1b497f5ebad3f8ed07ab51aed2af988dd0fb65/kiwisolver-1.4.7-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7ab9ccab2b5bd5702ab0803676a580fffa2aa178c2badc5557a84cc943fcf750" }, - { url = "https://mirrors.aliyun.com/pypi/packages/bf/3e/0b7172793d0f41cae5c923492da89a2ffcd1adf764c16159ca047463ebd3/kiwisolver-1.4.7-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f816dd2277f8d63d79f9c8473a79fe54047bc0467754962840782c575522224d" }, - { url = "https://mirrors.aliyun.com/pypi/packages/77/92/47d050d6f6aced2d634258123f2688fbfef8ded3c5baf2c79d94d91f1f58/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf8bcc23ceb5a1b624572a1623b9f79d2c3b337c8c455405ef231933a10da379" }, - { url = "https://mirrors.aliyun.com/pypi/packages/9c/1b/8f80b18e20b3b294546a1adb41701e79ae21915f4175f311a90d042301cf/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dea0bf229319828467d7fca8c7c189780aa9ff679c94539eed7532ebe33ed37c" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a4/fe/fe8e72f3be0a844f257cadd72689c0848c6d5c51bc1d60429e2d14ad776e/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c06a4c7cf15ec739ce0e5971b26c93638730090add60e183530d70848ebdd34" }, - { url = "https://mirrors.aliyun.com/pypi/packages/39/fa/cdc0b6105d90eadc3bee525fecc9179e2b41e1ce0293caaf49cb631a6aaf/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:913983ad2deb14e66d83c28b632fd35ba2b825031f2fa4ca29675e665dfecbe1" }, - { url = "https://mirrors.aliyun.com/pypi/packages/6e/5c/0c03c4e542720c6177d4f408e56d1c8315899db72d46261a4e15b8b33a41/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5337ec7809bcd0f424c6b705ecf97941c46279cf5ed92311782c7c9c2026f07f" }, - { url = "https://mirrors.aliyun.com/pypi/packages/3d/ee/55ef86d5a574f4e767df7da3a3a7ff4954c996e12d4fbe9c408170cd7dcc/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:4c26ed10c4f6fa6ddb329a5120ba3b6db349ca192ae211e882970bfc9d91420b" }, - { url = "https://mirrors.aliyun.com/pypi/packages/0f/6d/73ad36170b4bff4825dc588acf4f3e6319cb97cd1fb3eb04d9faa6b6f212/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c619b101e6de2222c1fcb0531e1b17bbffbe54294bfba43ea0d411d428618c27" }, - { url = "https://mirrors.aliyun.com/pypi/packages/0b/16/fa531ff9199d3b6473bb4d0f47416cdb08d556c03b8bc1cccf04e756b56d/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:073a36c8273647592ea332e816e75ef8da5c303236ec0167196793eb1e34657a" }, - { url = "https://mirrors.aliyun.com/pypi/packages/78/7e/aa9422e78419db0cbe75fb86d8e72b433818f2e62e2e394992d23d23a583/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:3ce6b2b0231bda412463e152fc18335ba32faf4e8c23a754ad50ffa70e4091ee" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a8/b2/15f7f556df0a6e5b3772a1e076a9d9f6c538ce5f05bd590eca8106508e06/kiwisolver-1.4.7-cp313-cp313-win32.whl", hash = "sha256:f4c9aee212bc89d4e13f58be11a56cc8036cabad119259d12ace14b34476fd07" }, - { url = "https://mirrors.aliyun.com/pypi/packages/0b/db/32e897e43a330eee8e4770bfd2737a9584b23e33587a0812b8e20aac38f7/kiwisolver-1.4.7-cp313-cp313-win_amd64.whl", hash = "sha256:8a3ec5aa8e38fc4c8af308917ce12c536f1c88452ce554027e55b22cbbfbff76" }, - { url = "https://mirrors.aliyun.com/pypi/packages/c8/a4/df2bdca5270ca85fd25253049eb6708d4127be2ed0e5c2650217450b59e9/kiwisolver-1.4.7-cp313-cp313-win_arm64.whl", hash = "sha256:76c8094ac20ec259471ac53e774623eb62e6e1f56cd8690c67ce6ce4fcb05650" }, - { url = "https://mirrors.aliyun.com/pypi/packages/11/88/37ea0ea64512997b13d69772db8dcdc3bfca5442cda3a5e4bb943652ee3e/kiwisolver-1.4.7-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3f9362ecfca44c863569d3d3c033dbe8ba452ff8eed6f6b5806382741a1334bd" }, - { url = "https://mirrors.aliyun.com/pypi/packages/4e/45/5a5c46078362cb3882dcacad687c503089263c017ca1241e0483857791eb/kiwisolver-1.4.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e8df2eb9b2bac43ef8b082e06f750350fbbaf2887534a5be97f6cf07b19d9583" }, - { url = "https://mirrors.aliyun.com/pypi/packages/8a/be/a6ae58978772f685d48dd2e84460937761c53c4bbd84e42b0336473d9775/kiwisolver-1.4.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f32d6edbc638cde7652bd690c3e728b25332acbadd7cad670cc4a02558d9c417" }, - { url = "https://mirrors.aliyun.com/pypi/packages/f4/04/18ef6f452d311e1e1eb180c9bf5589187fa1f042db877e6fe443ef10099c/kiwisolver-1.4.7-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:e2e6c39bd7b9372b0be21456caab138e8e69cc0fc1190a9dfa92bd45a1e6e904" }, - { url = "https://mirrors.aliyun.com/pypi/packages/21/b1/40655f6c3fa11ce740e8a964fa8e4c0479c87d6a7944b95af799c7a55dfe/kiwisolver-1.4.7-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:dda56c24d869b1193fcc763f1284b9126550eaf84b88bbc7256e15028f19188a" }, - { url = "https://mirrors.aliyun.com/pypi/packages/fd/93/af67dbcfb9b3323bbd2c2db1385a7139d8f77630e4a37bb945b57188eb2d/kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79849239c39b5e1fd906556c474d9b0439ea6792b637511f3fe3a41158d89ca8" }, - { url = "https://mirrors.aliyun.com/pypi/packages/40/6f/d60770ef98e77b365d96061d090c0cd9e23418121c55fff188fa4bdf0b54/kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5e3bc157fed2a4c02ec468de4ecd12a6e22818d4f09cde2c31ee3226ffbefab2" }, - { url = "https://mirrors.aliyun.com/pypi/packages/fa/3a/5f38667d313e983c432f3fcd86932177519ed8790c724e07d77d1de0188a/kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3da53da805b71e41053dc670f9a820d1157aae77b6b944e08024d17bcd51ef88" }, - { url = "https://mirrors.aliyun.com/pypi/packages/cb/3b/1520301a47326e6a6043b502647e42892be33b3f051e9791cc8bb43f1a32/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:8705f17dfeb43139a692298cb6637ee2e59c0194538153e83e9ee0c75c2eddde" }, - { url = "https://mirrors.aliyun.com/pypi/packages/cf/c4/eb52da300c166239a2233f1f9c4a1b767dfab98fae27681bfb7ea4873cb6/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:82a5c2f4b87c26bb1a0ef3d16b5c4753434633b83d365cc0ddf2770c93829e3c" }, - { url = "https://mirrors.aliyun.com/pypi/packages/1a/cb/42b92fd5eadd708dd9107c089e817945500685f3437ce1fd387efebc6d6e/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ce8be0466f4c0d585cdb6c1e2ed07232221df101a4c6f28821d2aa754ca2d9e2" }, - { url = "https://mirrors.aliyun.com/pypi/packages/4f/eb/be25aa791fe5fc75a8b1e0c965e00f942496bc04635c9aae8035f6b76dcd/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:409afdfe1e2e90e6ee7fc896f3df9a7fec8e793e58bfa0d052c8a82f99c37abb" }, - { url = "https://mirrors.aliyun.com/pypi/packages/c5/22/30a66be7f3368d76ff95689e1c2e28d382383952964ab15330a15d8bfd03/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5b9c3f4ee0b9a439d2415012bd1b1cc2df59e4d6a9939f4d669241d30b414327" }, - { url = "https://mirrors.aliyun.com/pypi/packages/35/d3/5f2ecb94b5211c8a04f218a76133cc8d6d153b0f9cd0b45fad79907f0689/kiwisolver-1.4.7-cp39-cp39-win32.whl", hash = "sha256:a79ae34384df2b615eefca647a2873842ac3b596418032bef9a7283675962644" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ef/17/cd10d020578764ea91740204edc6b3236ed8106228a46f568d716b11feb2/kiwisolver-1.4.7-cp39-cp39-win_amd64.whl", hash = "sha256:cf0438b42121a66a3a667de17e779330fc0f20b0d97d59d2f2121e182b0505e4" }, - { url = "https://mirrors.aliyun.com/pypi/packages/91/84/32232502020bd78d1d12be7afde15811c64a95ed1f606c10456db4e4c3ac/kiwisolver-1.4.7-cp39-cp39-win_arm64.whl", hash = "sha256:764202cc7e70f767dab49e8df52c7455e8de0df5d858fa801a11aa0d882ccf3f" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ac/59/741b79775d67ab67ced9bb38552da688c0305c16e7ee24bba7a2be253fb7/kiwisolver-1.4.7-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:94252291e3fe68001b1dd747b4c0b3be12582839b95ad4d1b641924d68fd4643" }, - { url = "https://mirrors.aliyun.com/pypi/packages/58/cc/fb239294c29a5656e99e3527f7369b174dd9cc7c3ef2dea7cb3c54a8737b/kiwisolver-1.4.7-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:5b7dfa3b546da08a9f622bb6becdb14b3e24aaa30adba66749d38f3cc7ea9706" }, - { url = "https://mirrors.aliyun.com/pypi/packages/3b/ef/2f009ac1f7aab9f81efb2d837301d255279d618d27b6015780115ac64bdd/kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bd3de6481f4ed8b734da5df134cd5a6a64fe32124fe83dde1e5b5f29fe30b1e6" }, - { url = "https://mirrors.aliyun.com/pypi/packages/81/e1/c64f50987f85b68b1c52b464bb5bf73e71570c0f7782d626d1eb283ad620/kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a91b5f9f1205845d488c928e8570dcb62b893372f63b8b6e98b863ebd2368ff2" }, - { url = "https://mirrors.aliyun.com/pypi/packages/fd/71/1687c5c0a0be2cee39a5c9c389e546f9c6e215e46b691d00d9f646892083/kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40fa14dbd66b8b8f470d5fc79c089a66185619d31645f9b0773b88b19f7223c4" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ea/8b/d7497df4a1cae9367adf21665dd1f896c2a7aeb8769ad77b662c5e2bcce7/kiwisolver-1.4.7-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:eb542fe7933aa09d8d8f9d9097ef37532a7df6497819d16efe4359890a2f417a" }, - { url = "https://mirrors.aliyun.com/pypi/packages/d5/df/ce37d9b26f07ab90880923c94d12a6ff4d27447096b4c849bfc4339ccfdf/kiwisolver-1.4.7-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:8b01aac285f91ca889c800042c35ad3b239e704b150cfd3382adfc9dcc780e39" }, - { url = "https://mirrors.aliyun.com/pypi/packages/b0/d3/e4b04f43bc629ac8e186b77b2b1a251cdfa5b7610fa189dc0db622672ce6/kiwisolver-1.4.7-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:48be928f59a1f5c8207154f935334d374e79f2b5d212826307d072595ad76a2e" }, - { url = "https://mirrors.aliyun.com/pypi/packages/30/1c/752df58e2d339e670a535514d2db4fe8c842ce459776b8080fbe08ebb98e/kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f37cfe618a117e50d8c240555331160d73d0411422b59b5ee217843d7b693608" }, - { url = "https://mirrors.aliyun.com/pypi/packages/f0/f8/fe6484e847bc6e238ec9f9828089fb2c0bb53f2f5f3a79351fde5b565e4f/kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:599b5c873c63a1f6ed7eead644a8a380cfbdf5db91dcb6f85707aaab213b1674" }, - { url = "https://mirrors.aliyun.com/pypi/packages/9b/57/d7163c0379f250ef763aba85330a19feefb5ce6cb541ade853aaba881524/kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:801fa7802e5cfabe3ab0c81a34c323a319b097dfb5004be950482d882f3d7225" }, - { url = "https://mirrors.aliyun.com/pypi/packages/8c/95/4a103776c265d13b3d2cd24fb0494d4e04ea435a8ef97e1b2c026d43250b/kiwisolver-1.4.7-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:0c6c43471bc764fad4bc99c5c2d6d16a676b1abf844ca7c8702bdae92df01ee0" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/97/14/fc943dd65268a96347472b4fbe5dcc2f6f55034516f80576cd0dd3a8930f/kiwisolver-1.4.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8a9c83f75223d5e48b0bc9cb1bf2776cf01563e00ade8775ffe13b0b6e1af3a6", size = 122440, upload-time = "2024-09-04T09:03:44.9Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/1e/46/e68fed66236b69dd02fcdb506218c05ac0e39745d696d22709498896875d/kiwisolver-1.4.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:58370b1ffbd35407444d57057b57da5d6549d2d854fa30249771775c63b5fe17", size = 65758, upload-time = "2024-09-04T09:03:46.582Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ef/fa/65de49c85838681fc9cb05de2a68067a683717321e01ddafb5b8024286f0/kiwisolver-1.4.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:aa0abdf853e09aff551db11fce173e2177d00786c688203f52c87ad7fcd91ef9", size = 64311, upload-time = "2024-09-04T09:03:47.973Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/42/9c/cc8d90f6ef550f65443bad5872ffa68f3dee36de4974768628bea7c14979/kiwisolver-1.4.7-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8d53103597a252fb3ab8b5845af04c7a26d5e7ea8122303dd7a021176a87e8b9", size = 1637109, upload-time = "2024-09-04T09:03:49.281Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/55/91/0a57ce324caf2ff5403edab71c508dd8f648094b18cfbb4c8cc0fde4a6ac/kiwisolver-1.4.7-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:88f17c5ffa8e9462fb79f62746428dd57b46eb931698e42e990ad63103f35e6c", size = 1617814, upload-time = "2024-09-04T09:03:51.444Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/12/5d/c36140313f2510e20207708adf36ae4919416d697ee0236b0ddfb6fd1050/kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88a9ca9c710d598fd75ee5de59d5bda2684d9db36a9f50b6125eaea3969c2599", size = 1400881, upload-time = "2024-09-04T09:03:53.357Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/56/d0/786e524f9ed648324a466ca8df86298780ef2b29c25313d9a4f16992d3cf/kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f4d742cb7af1c28303a51b7a27aaee540e71bb8e24f68c736f6f2ffc82f2bf05", size = 1512972, upload-time = "2024-09-04T09:03:55.082Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/67/5a/77851f2f201e6141d63c10a0708e996a1363efaf9e1609ad0441b343763b/kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e28c7fea2196bf4c2f8d46a0415c77a1c480cc0724722f23d7410ffe9842c407", size = 1444787, upload-time = "2024-09-04T09:03:56.588Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/06/5f/1f5eaab84355885e224a6fc8d73089e8713dc7e91c121f00b9a1c58a2195/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e968b84db54f9d42046cf154e02911e39c0435c9801681e3fc9ce8a3c4130278", size = 2199212, upload-time = "2024-09-04T09:03:58.557Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/b5/28/9152a3bfe976a0ae21d445415defc9d1cd8614b2910b7614b30b27a47270/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0c18ec74c0472de033e1bebb2911c3c310eef5649133dd0bedf2a169a1b269e5", size = 2346399, upload-time = "2024-09-04T09:04:00.178Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/26/f6/453d1904c52ac3b400f4d5e240ac5fec25263716723e44be65f4d7149d13/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8f0ea6da6d393d8b2e187e6a5e3fb81f5862010a40c3945e2c6d12ae45cfb2ad", size = 2308688, upload-time = "2024-09-04T09:04:02.216Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/5a/9a/d4968499441b9ae187e81745e3277a8b4d7c60840a52dc9d535a7909fac3/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:f106407dda69ae456dd1227966bf445b157ccc80ba0dff3802bb63f30b74e895", size = 2445493, upload-time = "2024-09-04T09:04:04.571Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/07/c9/032267192e7828520dacb64dfdb1d74f292765f179e467c1cba97687f17d/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:84ec80df401cfee1457063732d90022f93951944b5b58975d34ab56bb150dfb3", size = 2262191, upload-time = "2024-09-04T09:04:05.969Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/6c/ad/db0aedb638a58b2951da46ddaeecf204be8b4f5454df020d850c7fa8dca8/kiwisolver-1.4.7-cp310-cp310-win32.whl", hash = "sha256:71bb308552200fb2c195e35ef05de12f0c878c07fc91c270eb3d6e41698c3bcc", size = 46644, upload-time = "2024-09-04T09:04:07.408Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/12/ca/d0f7b7ffbb0be1e7c2258b53554efec1fd652921f10d7d85045aff93ab61/kiwisolver-1.4.7-cp310-cp310-win_amd64.whl", hash = "sha256:44756f9fd339de0fb6ee4f8c1696cfd19b2422e0d70b4cefc1cc7f1f64045a8c", size = 55877, upload-time = "2024-09-04T09:04:08.869Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/97/6c/cfcc128672f47a3e3c0d918ecb67830600078b025bfc32d858f2e2d5c6a4/kiwisolver-1.4.7-cp310-cp310-win_arm64.whl", hash = "sha256:78a42513018c41c2ffd262eb676442315cbfe3c44eed82385c2ed043bc63210a", size = 48347, upload-time = "2024-09-04T09:04:10.106Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/e9/44/77429fa0a58f941d6e1c58da9efe08597d2e86bf2b2cce6626834f49d07b/kiwisolver-1.4.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d2b0e12a42fb4e72d509fc994713d099cbb15ebf1103545e8a45f14da2dfca54", size = 122442, upload-time = "2024-09-04T09:04:11.432Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/e5/20/8c75caed8f2462d63c7fd65e16c832b8f76cda331ac9e615e914ee80bac9/kiwisolver-1.4.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2a8781ac3edc42ea4b90bc23e7d37b665d89423818e26eb6df90698aa2287c95", size = 65762, upload-time = "2024-09-04T09:04:12.468Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/f4/98/fe010f15dc7230f45bc4cf367b012d651367fd203caaa992fd1f5963560e/kiwisolver-1.4.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:46707a10836894b559e04b0fd143e343945c97fd170d69a2d26d640b4e297935", size = 64319, upload-time = "2024-09-04T09:04:13.635Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/8b/1b/b5d618f4e58c0675654c1e5051bcf42c776703edb21c02b8c74135541f60/kiwisolver-1.4.7-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ef97b8df011141c9b0f6caf23b29379f87dd13183c978a30a3c546d2c47314cb", size = 1334260, upload-time = "2024-09-04T09:04:14.878Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/b8/01/946852b13057a162a8c32c4c8d2e9ed79f0bb5d86569a40c0b5fb103e373/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ab58c12a2cd0fc769089e6d38466c46d7f76aced0a1f54c77652446733d2d02", size = 1426589, upload-time = "2024-09-04T09:04:16.514Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/70/d1/c9f96df26b459e15cf8a965304e6e6f4eb291e0f7a9460b4ad97b047561e/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:803b8e1459341c1bb56d1c5c010406d5edec8a0713a0945851290a7930679b51", size = 1541080, upload-time = "2024-09-04T09:04:18.322Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/d3/73/2686990eb8b02d05f3de759d6a23a4ee7d491e659007dd4c075fede4b5d0/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f9a9e8a507420fe35992ee9ecb302dab68550dedc0da9e2880dd88071c5fb052", size = 1470049, upload-time = "2024-09-04T09:04:20.266Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a7/4b/2db7af3ed3af7c35f388d5f53c28e155cd402a55432d800c543dc6deb731/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18077b53dc3bb490e330669a99920c5e6a496889ae8c63b58fbc57c3d7f33a18", size = 1426376, upload-time = "2024-09-04T09:04:22.419Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/05/83/2857317d04ea46dc5d115f0df7e676997bbd968ced8e2bd6f7f19cfc8d7f/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6af936f79086a89b3680a280c47ea90b4df7047b5bdf3aa5c524bbedddb9e545", size = 2222231, upload-time = "2024-09-04T09:04:24.526Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/0d/b5/866f86f5897cd4ab6d25d22e403404766a123f138bd6a02ecb2cdde52c18/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:3abc5b19d24af4b77d1598a585b8a719beb8569a71568b66f4ebe1fb0449460b", size = 2368634, upload-time = "2024-09-04T09:04:25.899Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/c1/ee/73de8385403faba55f782a41260210528fe3273d0cddcf6d51648202d6d0/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:933d4de052939d90afbe6e9d5273ae05fb836cc86c15b686edd4b3560cc0ee36", size = 2329024, upload-time = "2024-09-04T09:04:28.523Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a1/e7/cd101d8cd2cdfaa42dc06c433df17c8303d31129c9fdd16c0ea37672af91/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:65e720d2ab2b53f1f72fb5da5fb477455905ce2c88aaa671ff0a447c2c80e8e3", size = 2468484, upload-time = "2024-09-04T09:04:30.547Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/e1/72/84f09d45a10bc57a40bb58b81b99d8f22b58b2040c912b7eb97ebf625bf2/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3bf1ed55088f214ba6427484c59553123fdd9b218a42bbc8c6496d6754b1e523", size = 2284078, upload-time = "2024-09-04T09:04:33.218Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/d2/d4/71828f32b956612dc36efd7be1788980cb1e66bfb3706e6dec9acad9b4f9/kiwisolver-1.4.7-cp311-cp311-win32.whl", hash = "sha256:4c00336b9dd5ad96d0a558fd18a8b6f711b7449acce4c157e7343ba92dd0cf3d", size = 46645, upload-time = "2024-09-04T09:04:34.371Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a1/65/d43e9a20aabcf2e798ad1aff6c143ae3a42cf506754bcb6a7ed8259c8425/kiwisolver-1.4.7-cp311-cp311-win_amd64.whl", hash = "sha256:929e294c1ac1e9f615c62a4e4313ca1823ba37326c164ec720a803287c4c499b", size = 56022, upload-time = "2024-09-04T09:04:35.786Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/35/b3/9f75a2e06f1b4ca00b2b192bc2b739334127d27f1d0625627ff8479302ba/kiwisolver-1.4.7-cp311-cp311-win_arm64.whl", hash = "sha256:e33e8fbd440c917106b237ef1a2f1449dfbb9b6f6e1ce17c94cd6a1e0d438376", size = 48536, upload-time = "2024-09-04T09:04:37.525Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/97/9c/0a11c714cf8b6ef91001c8212c4ef207f772dd84540104952c45c1f0a249/kiwisolver-1.4.7-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:5360cc32706dab3931f738d3079652d20982511f7c0ac5711483e6eab08efff2", size = 121808, upload-time = "2024-09-04T09:04:38.637Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/f2/d8/0fe8c5f5d35878ddd135f44f2af0e4e1d379e1c7b0716f97cdcb88d4fd27/kiwisolver-1.4.7-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:942216596dc64ddb25adb215c3c783215b23626f8d84e8eff8d6d45c3f29f75a", size = 65531, upload-time = "2024-09-04T09:04:39.694Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/80/c5/57fa58276dfdfa612241d640a64ca2f76adc6ffcebdbd135b4ef60095098/kiwisolver-1.4.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:48b571ecd8bae15702e4f22d3ff6a0f13e54d3d00cd25216d5e7f658242065ee", size = 63894, upload-time = "2024-09-04T09:04:41.6Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/8b/e9/26d3edd4c4ad1c5b891d8747a4f81b1b0aba9fb9721de6600a4adc09773b/kiwisolver-1.4.7-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ad42ba922c67c5f219097b28fae965e10045ddf145d2928bfac2eb2e17673640", size = 1369296, upload-time = "2024-09-04T09:04:42.886Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/b6/67/3f4850b5e6cffb75ec40577ddf54f7b82b15269cc5097ff2e968ee32ea7d/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:612a10bdae23404a72941a0fc8fa2660c6ea1217c4ce0dbcab8a8f6543ea9e7f", size = 1461450, upload-time = "2024-09-04T09:04:46.284Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/52/be/86cbb9c9a315e98a8dc6b1d23c43cffd91d97d49318854f9c37b0e41cd68/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9e838bba3a3bac0fe06d849d29772eb1afb9745a59710762e4ba3f4cb8424483", size = 1579168, upload-time = "2024-09-04T09:04:47.91Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/0f/00/65061acf64bd5fd34c1f4ae53f20b43b0a017a541f242a60b135b9d1e301/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:22f499f6157236c19f4bbbd472fa55b063db77a16cd74d49afe28992dff8c258", size = 1507308, upload-time = "2024-09-04T09:04:49.465Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/21/e4/c0b6746fd2eb62fe702118b3ca0cb384ce95e1261cfada58ff693aeec08a/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:693902d433cf585133699972b6d7c42a8b9f8f826ebcaf0132ff55200afc599e", size = 1464186, upload-time = "2024-09-04T09:04:50.949Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/0a/0f/529d0a9fffb4d514f2782c829b0b4b371f7f441d61aa55f1de1c614c4ef3/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4e77f2126c3e0b0d055f44513ed349038ac180371ed9b52fe96a32aa071a5107", size = 2247877, upload-time = "2024-09-04T09:04:52.388Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/d1/e1/66603ad779258843036d45adcbe1af0d1a889a07af4635f8b4ec7dccda35/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:657a05857bda581c3656bfc3b20e353c232e9193eb167766ad2dc58b56504948", size = 2404204, upload-time = "2024-09-04T09:04:54.385Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/8d/61/de5fb1ca7ad1f9ab7970e340a5b833d735df24689047de6ae71ab9d8d0e7/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4bfa75a048c056a411f9705856abfc872558e33c055d80af6a380e3658766038", size = 2352461, upload-time = "2024-09-04T09:04:56.307Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ba/d2/0edc00a852e369827f7e05fd008275f550353f1f9bcd55db9363d779fc63/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:34ea1de54beef1c104422d210c47c7d2a4999bdecf42c7b5718fbe59a4cac383", size = 2501358, upload-time = "2024-09-04T09:04:57.922Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/84/15/adc15a483506aec6986c01fb7f237c3aec4d9ed4ac10b756e98a76835933/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:90da3b5f694b85231cf93586dad5e90e2d71b9428f9aad96952c99055582f520", size = 2314119, upload-time = "2024-09-04T09:04:59.332Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/36/08/3a5bb2c53c89660863a5aa1ee236912269f2af8762af04a2e11df851d7b2/kiwisolver-1.4.7-cp312-cp312-win32.whl", hash = "sha256:18e0cca3e008e17fe9b164b55735a325140a5a35faad8de92dd80265cd5eb80b", size = 46367, upload-time = "2024-09-04T09:05:00.804Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/19/93/c05f0a6d825c643779fc3c70876bff1ac221f0e31e6f701f0e9578690d70/kiwisolver-1.4.7-cp312-cp312-win_amd64.whl", hash = "sha256:58cb20602b18f86f83a5c87d3ee1c766a79c0d452f8def86d925e6c60fbf7bfb", size = 55884, upload-time = "2024-09-04T09:05:01.924Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/d2/f9/3828d8f21b6de4279f0667fb50a9f5215e6fe57d5ec0d61905914f5b6099/kiwisolver-1.4.7-cp312-cp312-win_arm64.whl", hash = "sha256:f5a8b53bdc0b3961f8b6125e198617c40aeed638b387913bf1ce78afb1b0be2a", size = 48528, upload-time = "2024-09-04T09:05:02.983Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/c4/06/7da99b04259b0f18b557a4effd1b9c901a747f7fdd84cf834ccf520cb0b2/kiwisolver-1.4.7-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2e6039dcbe79a8e0f044f1c39db1986a1b8071051efba3ee4d74f5b365f5226e", size = 121913, upload-time = "2024-09-04T09:05:04.072Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/97/f5/b8a370d1aa593c17882af0a6f6755aaecd643640c0ed72dcfd2eafc388b9/kiwisolver-1.4.7-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a1ecf0ac1c518487d9d23b1cd7139a6a65bc460cd101ab01f1be82ecf09794b6", size = 65627, upload-time = "2024-09-04T09:05:05.119Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/2a/fc/6c0374f7503522539e2d4d1b497f5ebad3f8ed07ab51aed2af988dd0fb65/kiwisolver-1.4.7-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7ab9ccab2b5bd5702ab0803676a580fffa2aa178c2badc5557a84cc943fcf750", size = 63888, upload-time = "2024-09-04T09:05:06.191Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/bf/3e/0b7172793d0f41cae5c923492da89a2ffcd1adf764c16159ca047463ebd3/kiwisolver-1.4.7-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f816dd2277f8d63d79f9c8473a79fe54047bc0467754962840782c575522224d", size = 1369145, upload-time = "2024-09-04T09:05:07.919Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/77/92/47d050d6f6aced2d634258123f2688fbfef8ded3c5baf2c79d94d91f1f58/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf8bcc23ceb5a1b624572a1623b9f79d2c3b337c8c455405ef231933a10da379", size = 1461448, upload-time = "2024-09-04T09:05:10.01Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/9c/1b/8f80b18e20b3b294546a1adb41701e79ae21915f4175f311a90d042301cf/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dea0bf229319828467d7fca8c7c189780aa9ff679c94539eed7532ebe33ed37c", size = 1578750, upload-time = "2024-09-04T09:05:11.598Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a4/fe/fe8e72f3be0a844f257cadd72689c0848c6d5c51bc1d60429e2d14ad776e/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c06a4c7cf15ec739ce0e5971b26c93638730090add60e183530d70848ebdd34", size = 1507175, upload-time = "2024-09-04T09:05:13.22Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/39/fa/cdc0b6105d90eadc3bee525fecc9179e2b41e1ce0293caaf49cb631a6aaf/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:913983ad2deb14e66d83c28b632fd35ba2b825031f2fa4ca29675e665dfecbe1", size = 1463963, upload-time = "2024-09-04T09:05:15.925Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/6e/5c/0c03c4e542720c6177d4f408e56d1c8315899db72d46261a4e15b8b33a41/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5337ec7809bcd0f424c6b705ecf97941c46279cf5ed92311782c7c9c2026f07f", size = 2248220, upload-time = "2024-09-04T09:05:17.434Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/3d/ee/55ef86d5a574f4e767df7da3a3a7ff4954c996e12d4fbe9c408170cd7dcc/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:4c26ed10c4f6fa6ddb329a5120ba3b6db349ca192ae211e882970bfc9d91420b", size = 2404463, upload-time = "2024-09-04T09:05:18.997Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/0f/6d/73ad36170b4bff4825dc588acf4f3e6319cb97cd1fb3eb04d9faa6b6f212/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c619b101e6de2222c1fcb0531e1b17bbffbe54294bfba43ea0d411d428618c27", size = 2352842, upload-time = "2024-09-04T09:05:21.299Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/0b/16/fa531ff9199d3b6473bb4d0f47416cdb08d556c03b8bc1cccf04e756b56d/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:073a36c8273647592ea332e816e75ef8da5c303236ec0167196793eb1e34657a", size = 2501635, upload-time = "2024-09-04T09:05:23.588Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/78/7e/aa9422e78419db0cbe75fb86d8e72b433818f2e62e2e394992d23d23a583/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:3ce6b2b0231bda412463e152fc18335ba32faf4e8c23a754ad50ffa70e4091ee", size = 2314556, upload-time = "2024-09-04T09:05:25.907Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a8/b2/15f7f556df0a6e5b3772a1e076a9d9f6c538ce5f05bd590eca8106508e06/kiwisolver-1.4.7-cp313-cp313-win32.whl", hash = "sha256:f4c9aee212bc89d4e13f58be11a56cc8036cabad119259d12ace14b34476fd07", size = 46364, upload-time = "2024-09-04T09:05:27.184Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/0b/db/32e897e43a330eee8e4770bfd2737a9584b23e33587a0812b8e20aac38f7/kiwisolver-1.4.7-cp313-cp313-win_amd64.whl", hash = "sha256:8a3ec5aa8e38fc4c8af308917ce12c536f1c88452ce554027e55b22cbbfbff76", size = 55887, upload-time = "2024-09-04T09:05:28.372Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/c8/a4/df2bdca5270ca85fd25253049eb6708d4127be2ed0e5c2650217450b59e9/kiwisolver-1.4.7-cp313-cp313-win_arm64.whl", hash = "sha256:76c8094ac20ec259471ac53e774623eb62e6e1f56cd8690c67ce6ce4fcb05650", size = 48530, upload-time = "2024-09-04T09:05:30.225Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/11/88/37ea0ea64512997b13d69772db8dcdc3bfca5442cda3a5e4bb943652ee3e/kiwisolver-1.4.7-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3f9362ecfca44c863569d3d3c033dbe8ba452ff8eed6f6b5806382741a1334bd", size = 122449, upload-time = "2024-09-04T09:05:55.311Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/4e/45/5a5c46078362cb3882dcacad687c503089263c017ca1241e0483857791eb/kiwisolver-1.4.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e8df2eb9b2bac43ef8b082e06f750350fbbaf2887534a5be97f6cf07b19d9583", size = 65757, upload-time = "2024-09-04T09:05:56.906Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/8a/be/a6ae58978772f685d48dd2e84460937761c53c4bbd84e42b0336473d9775/kiwisolver-1.4.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f32d6edbc638cde7652bd690c3e728b25332acbadd7cad670cc4a02558d9c417", size = 64312, upload-time = "2024-09-04T09:05:58.384Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/f4/04/18ef6f452d311e1e1eb180c9bf5589187fa1f042db877e6fe443ef10099c/kiwisolver-1.4.7-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:e2e6c39bd7b9372b0be21456caab138e8e69cc0fc1190a9dfa92bd45a1e6e904", size = 1626966, upload-time = "2024-09-04T09:05:59.855Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/21/b1/40655f6c3fa11ce740e8a964fa8e4c0479c87d6a7944b95af799c7a55dfe/kiwisolver-1.4.7-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:dda56c24d869b1193fcc763f1284b9126550eaf84b88bbc7256e15028f19188a", size = 1607044, upload-time = "2024-09-04T09:06:02.16Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/fd/93/af67dbcfb9b3323bbd2c2db1385a7139d8f77630e4a37bb945b57188eb2d/kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79849239c39b5e1fd906556c474d9b0439ea6792b637511f3fe3a41158d89ca8", size = 1391879, upload-time = "2024-09-04T09:06:03.908Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/40/6f/d60770ef98e77b365d96061d090c0cd9e23418121c55fff188fa4bdf0b54/kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5e3bc157fed2a4c02ec468de4ecd12a6e22818d4f09cde2c31ee3226ffbefab2", size = 1504751, upload-time = "2024-09-04T09:06:05.58Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/fa/3a/5f38667d313e983c432f3fcd86932177519ed8790c724e07d77d1de0188a/kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3da53da805b71e41053dc670f9a820d1157aae77b6b944e08024d17bcd51ef88", size = 1436990, upload-time = "2024-09-04T09:06:08.126Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/cb/3b/1520301a47326e6a6043b502647e42892be33b3f051e9791cc8bb43f1a32/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:8705f17dfeb43139a692298cb6637ee2e59c0194538153e83e9ee0c75c2eddde", size = 2191122, upload-time = "2024-09-04T09:06:10.345Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/cf/c4/eb52da300c166239a2233f1f9c4a1b767dfab98fae27681bfb7ea4873cb6/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:82a5c2f4b87c26bb1a0ef3d16b5c4753434633b83d365cc0ddf2770c93829e3c", size = 2338126, upload-time = "2024-09-04T09:06:12.321Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/1a/cb/42b92fd5eadd708dd9107c089e817945500685f3437ce1fd387efebc6d6e/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ce8be0466f4c0d585cdb6c1e2ed07232221df101a4c6f28821d2aa754ca2d9e2", size = 2298313, upload-time = "2024-09-04T09:06:14.562Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/4f/eb/be25aa791fe5fc75a8b1e0c965e00f942496bc04635c9aae8035f6b76dcd/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:409afdfe1e2e90e6ee7fc896f3df9a7fec8e793e58bfa0d052c8a82f99c37abb", size = 2437784, upload-time = "2024-09-04T09:06:16.767Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/c5/22/30a66be7f3368d76ff95689e1c2e28d382383952964ab15330a15d8bfd03/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5b9c3f4ee0b9a439d2415012bd1b1cc2df59e4d6a9939f4d669241d30b414327", size = 2253988, upload-time = "2024-09-04T09:06:18.705Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/35/d3/5f2ecb94b5211c8a04f218a76133cc8d6d153b0f9cd0b45fad79907f0689/kiwisolver-1.4.7-cp39-cp39-win32.whl", hash = "sha256:a79ae34384df2b615eefca647a2873842ac3b596418032bef9a7283675962644", size = 46980, upload-time = "2024-09-04T09:06:20.106Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ef/17/cd10d020578764ea91740204edc6b3236ed8106228a46f568d716b11feb2/kiwisolver-1.4.7-cp39-cp39-win_amd64.whl", hash = "sha256:cf0438b42121a66a3a667de17e779330fc0f20b0d97d59d2f2121e182b0505e4", size = 55847, upload-time = "2024-09-04T09:06:21.407Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/91/84/32232502020bd78d1d12be7afde15811c64a95ed1f606c10456db4e4c3ac/kiwisolver-1.4.7-cp39-cp39-win_arm64.whl", hash = "sha256:764202cc7e70f767dab49e8df52c7455e8de0df5d858fa801a11aa0d882ccf3f", size = 48494, upload-time = "2024-09-04T09:06:22.648Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ac/59/741b79775d67ab67ced9bb38552da688c0305c16e7ee24bba7a2be253fb7/kiwisolver-1.4.7-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:94252291e3fe68001b1dd747b4c0b3be12582839b95ad4d1b641924d68fd4643", size = 59491, upload-time = "2024-09-04T09:06:24.188Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/58/cc/fb239294c29a5656e99e3527f7369b174dd9cc7c3ef2dea7cb3c54a8737b/kiwisolver-1.4.7-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:5b7dfa3b546da08a9f622bb6becdb14b3e24aaa30adba66749d38f3cc7ea9706", size = 57648, upload-time = "2024-09-04T09:06:25.559Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/3b/ef/2f009ac1f7aab9f81efb2d837301d255279d618d27b6015780115ac64bdd/kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bd3de6481f4ed8b734da5df134cd5a6a64fe32124fe83dde1e5b5f29fe30b1e6", size = 84257, upload-time = "2024-09-04T09:06:27.038Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/81/e1/c64f50987f85b68b1c52b464bb5bf73e71570c0f7782d626d1eb283ad620/kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a91b5f9f1205845d488c928e8570dcb62b893372f63b8b6e98b863ebd2368ff2", size = 80906, upload-time = "2024-09-04T09:06:28.48Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/fd/71/1687c5c0a0be2cee39a5c9c389e546f9c6e215e46b691d00d9f646892083/kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40fa14dbd66b8b8f470d5fc79c089a66185619d31645f9b0773b88b19f7223c4", size = 79951, upload-time = "2024-09-04T09:06:29.966Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ea/8b/d7497df4a1cae9367adf21665dd1f896c2a7aeb8769ad77b662c5e2bcce7/kiwisolver-1.4.7-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:eb542fe7933aa09d8d8f9d9097ef37532a7df6497819d16efe4359890a2f417a", size = 55715, upload-time = "2024-09-04T09:06:31.489Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/d5/df/ce37d9b26f07ab90880923c94d12a6ff4d27447096b4c849bfc4339ccfdf/kiwisolver-1.4.7-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:8b01aac285f91ca889c800042c35ad3b239e704b150cfd3382adfc9dcc780e39", size = 58666, upload-time = "2024-09-04T09:06:43.756Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/b0/d3/e4b04f43bc629ac8e186b77b2b1a251cdfa5b7610fa189dc0db622672ce6/kiwisolver-1.4.7-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:48be928f59a1f5c8207154f935334d374e79f2b5d212826307d072595ad76a2e", size = 57088, upload-time = "2024-09-04T09:06:45.406Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/30/1c/752df58e2d339e670a535514d2db4fe8c842ce459776b8080fbe08ebb98e/kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f37cfe618a117e50d8c240555331160d73d0411422b59b5ee217843d7b693608", size = 84321, upload-time = "2024-09-04T09:06:47.557Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/f0/f8/fe6484e847bc6e238ec9f9828089fb2c0bb53f2f5f3a79351fde5b565e4f/kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:599b5c873c63a1f6ed7eead644a8a380cfbdf5db91dcb6f85707aaab213b1674", size = 80776, upload-time = "2024-09-04T09:06:49.235Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/9b/57/d7163c0379f250ef763aba85330a19feefb5ce6cb541ade853aaba881524/kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:801fa7802e5cfabe3ab0c81a34c323a319b097dfb5004be950482d882f3d7225", size = 79984, upload-time = "2024-09-04T09:06:51.336Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/8c/95/4a103776c265d13b3d2cd24fb0494d4e04ea435a8ef97e1b2c026d43250b/kiwisolver-1.4.7-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:0c6c43471bc764fad4bc99c5c2d6d16a676b1abf844ca7c8702bdae92df01ee0", size = 55811, upload-time = "2024-09-04T09:06:53.078Z" }, ] [[package]] name = "kiwisolver" version = "1.4.8" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } resolution-markers = [ "python_full_version >= '3.12' and sys_platform == 'darwin'", "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", @@ -694,233 +706,233 @@ resolution-markers = [ "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/82/59/7c91426a8ac292e1cdd53a63b6d9439abd573c875c3f92c146767dd33faf/kiwisolver-1.4.8.tar.gz", hash = "sha256:23d5f023bdc8c7e54eb65f03ca5d5bb25b601eac4d7f1a042888a1f45237987e" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/82/59/7c91426a8ac292e1cdd53a63b6d9439abd573c875c3f92c146767dd33faf/kiwisolver-1.4.8.tar.gz", hash = "sha256:23d5f023bdc8c7e54eb65f03ca5d5bb25b601eac4d7f1a042888a1f45237987e", size = 97538, upload-time = "2024-12-24T18:30:51.519Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/47/5f/4d8e9e852d98ecd26cdf8eaf7ed8bc33174033bba5e07001b289f07308fd/kiwisolver-1.4.8-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:88c6f252f6816a73b1f8c904f7bbe02fd67c09a69f7cb8a0eecdbf5ce78e63db" }, - { url = "https://mirrors.aliyun.com/pypi/packages/1d/70/7f5af2a18a76fe92ea14675f8bd88ce53ee79e37900fa5f1a1d8e0b42998/kiwisolver-1.4.8-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c72941acb7b67138f35b879bbe85be0f6c6a70cab78fe3ef6db9c024d9223e5b" }, - { url = "https://mirrors.aliyun.com/pypi/packages/c6/13/e15f804a142353aefd089fadc8f1d985561a15358c97aca27b0979cb0785/kiwisolver-1.4.8-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ce2cf1e5688edcb727fdf7cd1bbd0b6416758996826a8be1d958f91880d0809d" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ce/6d/67d36c4d2054e83fb875c6b59d0809d5c530de8148846b1370475eeeece9/kiwisolver-1.4.8-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:c8bf637892dc6e6aad2bc6d4d69d08764166e5e3f69d469e55427b6ac001b19d" }, - { url = "https://mirrors.aliyun.com/pypi/packages/de/c6/7b9bb8044e150d4d1558423a1568e4f227193662a02231064e3824f37e0a/kiwisolver-1.4.8-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:034d2c891f76bd3edbdb3ea11140d8510dca675443da7304205a2eaa45d8334c" }, - { url = "https://mirrors.aliyun.com/pypi/packages/b6/38/ad10d437563063eaaedbe2c3540a71101fc7fb07a7e71f855e93ea4de605/kiwisolver-1.4.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d47b28d1dfe0793d5e96bce90835e17edf9a499b53969b03c6c47ea5985844c3" }, - { url = "https://mirrors.aliyun.com/pypi/packages/52/ce/c0106b3bd7f9e665c5f5bc1e07cc95b5dabd4e08e3dad42dbe2faad467e7/kiwisolver-1.4.8-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb158fe28ca0c29f2260cca8c43005329ad58452c36f0edf298204de32a9a3ed" }, - { url = "https://mirrors.aliyun.com/pypi/packages/d0/87/efb704b1d75dc9758087ba374c0f23d3254505edaedd09cf9d247f7878b9/kiwisolver-1.4.8-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5536185fce131780ebd809f8e623bf4030ce1b161353166c49a3c74c287897f" }, - { url = "https://mirrors.aliyun.com/pypi/packages/eb/b3/fd760dc214ec9a8f208b99e42e8f0130ff4b384eca8b29dd0efc62052176/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:369b75d40abedc1da2c1f4de13f3482cb99e3237b38726710f4a793432b1c5ff" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a2/09/a27fb36cca3fc01700687cc45dae7a6a5f8eeb5f657b9f710f788748e10d/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:641f2ddf9358c80faa22e22eb4c9f54bd3f0e442e038728f500e3b978d00aa7d" }, - { url = "https://mirrors.aliyun.com/pypi/packages/3d/c3/ba0a0346db35fe4dc1f2f2cf8b99362fbb922d7562e5f911f7ce7a7b60fa/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:d561d2d8883e0819445cfe58d7ddd673e4015c3c57261d7bdcd3710d0d14005c" }, - { url = "https://mirrors.aliyun.com/pypi/packages/41/52/942cf69e562f5ed253ac67d5c92a693745f0bed3c81f49fc0cbebe4d6b00/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:1732e065704b47c9afca7ffa272f845300a4eb959276bf6970dc07265e73b605" }, - { url = "https://mirrors.aliyun.com/pypi/packages/32/26/2d9668f30d8a494b0411d4d7d4ea1345ba12deb6a75274d58dd6ea01e951/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:bcb1ebc3547619c3b58a39e2448af089ea2ef44b37988caf432447374941574e" }, - { url = "https://mirrors.aliyun.com/pypi/packages/98/99/0dd05071654aa44fe5d5e350729961e7bb535372935a45ac89a8924316e6/kiwisolver-1.4.8-cp310-cp310-win_amd64.whl", hash = "sha256:89c107041f7b27844179ea9c85d6da275aa55ecf28413e87624d033cf1f6b751" }, - { url = "https://mirrors.aliyun.com/pypi/packages/6c/fc/822e532262a97442989335394d441cd1d0448c2e46d26d3e04efca84df22/kiwisolver-1.4.8-cp310-cp310-win_arm64.whl", hash = "sha256:b5773efa2be9eb9fcf5415ea3ab70fc785d598729fd6057bea38d539ead28271" }, - { url = "https://mirrors.aliyun.com/pypi/packages/da/ed/c913ee28936c371418cb167b128066ffb20bbf37771eecc2c97edf8a6e4c/kiwisolver-1.4.8-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a4d3601908c560bdf880f07d94f31d734afd1bb71e96585cace0e38ef44c6d84" }, - { url = "https://mirrors.aliyun.com/pypi/packages/4c/45/4a7f896f7467aaf5f56ef093d1f329346f3b594e77c6a3c327b2d415f521/kiwisolver-1.4.8-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:856b269c4d28a5c0d5e6c1955ec36ebfd1651ac00e1ce0afa3e28da95293b561" }, - { url = "https://mirrors.aliyun.com/pypi/packages/5f/b4/c12b3ac0852a3a68f94598d4c8d569f55361beef6159dce4e7b624160da2/kiwisolver-1.4.8-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c2b9a96e0f326205af81a15718a9073328df1173a2619a68553decb7097fd5d7" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a9/98/1df4089b1ed23d83d410adfdc5947245c753bddfbe06541c4aae330e9e70/kiwisolver-1.4.8-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c5020c83e8553f770cb3b5fc13faac40f17e0b205bd237aebd21d53d733adb03" }, - { url = "https://mirrors.aliyun.com/pypi/packages/8d/bf/b4b169b050c8421a7c53ea1ea74e4ef9c335ee9013216c558a047f162d20/kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dace81d28c787956bfbfbbfd72fdcef014f37d9b48830829e488fdb32b49d954" }, - { url = "https://mirrors.aliyun.com/pypi/packages/66/5a/e13bd341fbcf73325ea60fdc8af752addf75c5079867af2e04cc41f34434/kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:11e1022b524bd48ae56c9b4f9296bce77e15a2e42a502cceba602f804b32bb79" }, - { url = "https://mirrors.aliyun.com/pypi/packages/9b/4f/5955dcb376ba4a830384cc6fab7d7547bd6759fe75a09564910e9e3bb8ea/kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3b9b4d2892fefc886f30301cdd80debd8bb01ecdf165a449eb6e78f79f0fabd6" }, - { url = "https://mirrors.aliyun.com/pypi/packages/3a/97/5edbed69a9d0caa2e4aa616ae7df8127e10f6586940aa683a496c2c280b9/kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a96c0e790ee875d65e340ab383700e2b4891677b7fcd30a699146f9384a2bb0" }, - { url = "https://mirrors.aliyun.com/pypi/packages/13/fc/e756382cb64e556af6c1809a1bbb22c141bbc2445049f2da06b420fe52bf/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:23454ff084b07ac54ca8be535f4174170c1094a4cff78fbae4f73a4bcc0d4dab" }, - { url = "https://mirrors.aliyun.com/pypi/packages/76/15/e59e45829d7f41c776d138245cabae6515cb4eb44b418f6d4109c478b481/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:87b287251ad6488e95b4f0b4a79a6d04d3ea35fde6340eb38fbd1ca9cd35bbbc" }, - { url = "https://mirrors.aliyun.com/pypi/packages/e9/39/483558c2a913ab8384d6e4b66a932406f87c95a6080112433da5ed668559/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:b21dbe165081142b1232a240fc6383fd32cdd877ca6cc89eab93e5f5883e1c25" }, - { url = "https://mirrors.aliyun.com/pypi/packages/01/aa/efad1fbca6570a161d29224f14b082960c7e08268a133fe5dc0f6906820e/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:768cade2c2df13db52475bd28d3a3fac8c9eff04b0e9e2fda0f3760f20b3f7fc" }, - { url = "https://mirrors.aliyun.com/pypi/packages/c9/4f/15988966ba46bcd5ab9d0c8296914436720dd67fca689ae1a75b4ec1c72f/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d47cfb2650f0e103d4bf68b0b5804c68da97272c84bb12850d877a95c056bd67" }, - { url = "https://mirrors.aliyun.com/pypi/packages/2d/27/bdf1c769c83f74d98cbc34483a972f221440703054894a37d174fba8aa68/kiwisolver-1.4.8-cp311-cp311-win_amd64.whl", hash = "sha256:ed33ca2002a779a2e20eeb06aea7721b6e47f2d4b8a8ece979d8ba9e2a167e34" }, - { url = "https://mirrors.aliyun.com/pypi/packages/4a/c9/9642ea855604aeb2968a8e145fc662edf61db7632ad2e4fb92424be6b6c0/kiwisolver-1.4.8-cp311-cp311-win_arm64.whl", hash = "sha256:16523b40aab60426ffdebe33ac374457cf62863e330a90a0383639ce14bf44b2" }, - { url = "https://mirrors.aliyun.com/pypi/packages/fc/aa/cea685c4ab647f349c3bc92d2daf7ae34c8e8cf405a6dcd3a497f58a2ac3/kiwisolver-1.4.8-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:d6af5e8815fd02997cb6ad9bbed0ee1e60014438ee1a5c2444c96f87b8843502" }, - { url = "https://mirrors.aliyun.com/pypi/packages/c5/0b/8db6d2e2452d60d5ebc4ce4b204feeb16176a851fd42462f66ade6808084/kiwisolver-1.4.8-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:bade438f86e21d91e0cf5dd7c0ed00cda0f77c8c1616bd83f9fc157fa6760d31" }, - { url = "https://mirrors.aliyun.com/pypi/packages/60/26/d6a0db6785dd35d3ba5bf2b2df0aedc5af089962c6eb2cbf67a15b81369e/kiwisolver-1.4.8-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b83dc6769ddbc57613280118fb4ce3cd08899cc3369f7d0e0fab518a7cf37fdb" }, - { url = "https://mirrors.aliyun.com/pypi/packages/c9/ed/1d97f7e3561e09757a196231edccc1bcf59d55ddccefa2afc9c615abd8e0/kiwisolver-1.4.8-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:111793b232842991be367ed828076b03d96202c19221b5ebab421ce8bcad016f" }, - { url = "https://mirrors.aliyun.com/pypi/packages/29/61/39d30b99954e6b46f760e6289c12fede2ab96a254c443639052d1b573fbc/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:257af1622860e51b1a9d0ce387bf5c2c4f36a90594cb9514f55b074bcc787cfc" }, - { url = "https://mirrors.aliyun.com/pypi/packages/0c/3e/804163b932f7603ef256e4a715e5843a9600802bb23a68b4e08c8c0ff61d/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:69b5637c3f316cab1ec1c9a12b8c5f4750a4c4b71af9157645bf32830e39c03a" }, - { url = "https://mirrors.aliyun.com/pypi/packages/8a/9e/60eaa75169a154700be74f875a4d9961b11ba048bef315fbe89cb6999056/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:782bb86f245ec18009890e7cb8d13a5ef54dcf2ebe18ed65f795e635a96a1c6a" }, - { url = "https://mirrors.aliyun.com/pypi/packages/bc/b3/9458adb9472e61a998c8c4d95cfdfec91c73c53a375b30b1428310f923e4/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc978a80a0db3a66d25767b03688f1147a69e6237175c0f4ffffaaedf744055a" }, - { url = "https://mirrors.aliyun.com/pypi/packages/e4/7a/0a42d9571e35798de80aef4bb43a9b672aa7f8e58643d7bd1950398ffb0a/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:36dbbfd34838500a31f52c9786990d00150860e46cd5041386f217101350f0d3" }, - { url = "https://mirrors.aliyun.com/pypi/packages/d9/07/1255dc8d80271400126ed8db35a1795b1a2c098ac3a72645075d06fe5c5d/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:eaa973f1e05131de5ff3569bbba7f5fd07ea0595d3870ed4a526d486fe57fa1b" }, - { url = "https://mirrors.aliyun.com/pypi/packages/84/df/5a3b4cf13780ef6f6942df67b138b03b7e79e9f1f08f57c49957d5867f6e/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:a66f60f8d0c87ab7f59b6fb80e642ebb29fec354a4dfad687ca4092ae69d04f4" }, - { url = "https://mirrors.aliyun.com/pypi/packages/8f/10/2348d068e8b0f635c8c86892788dac7a6b5c0cb12356620ab575775aad89/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:858416b7fb777a53f0c59ca08190ce24e9abbd3cffa18886a5781b8e3e26f65d" }, - { url = "https://mirrors.aliyun.com/pypi/packages/32/d8/014b89fee5d4dce157d814303b0fce4d31385a2af4c41fed194b173b81ac/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:085940635c62697391baafaaeabdf3dd7a6c3643577dde337f4d66eba021b2b8" }, - { url = "https://mirrors.aliyun.com/pypi/packages/bd/72/dfff0cc97f2a0776e1c9eb5bef1ddfd45f46246c6533b0191887a427bca5/kiwisolver-1.4.8-cp312-cp312-win_amd64.whl", hash = "sha256:01c3d31902c7db5fb6182832713d3b4122ad9317c2c5877d0539227d96bb2e50" }, - { url = "https://mirrors.aliyun.com/pypi/packages/dc/85/220d13d914485c0948a00f0b9eb419efaf6da81b7d72e88ce2391f7aed8d/kiwisolver-1.4.8-cp312-cp312-win_arm64.whl", hash = "sha256:a3c44cb68861de93f0c4a8175fbaa691f0aa22550c331fefef02b618a9dcb476" }, - { url = "https://mirrors.aliyun.com/pypi/packages/79/b3/e62464a652f4f8cd9006e13d07abad844a47df1e6537f73ddfbf1bc997ec/kiwisolver-1.4.8-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:1c8ceb754339793c24aee1c9fb2485b5b1f5bb1c2c214ff13368431e51fc9a09" }, - { url = "https://mirrors.aliyun.com/pypi/packages/8d/2d/f13d06998b546a2ad4f48607a146e045bbe48030774de29f90bdc573df15/kiwisolver-1.4.8-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:54a62808ac74b5e55a04a408cda6156f986cefbcf0ada13572696b507cc92fa1" }, - { url = "https://mirrors.aliyun.com/pypi/packages/59/e3/b8bd14b0a54998a9fd1e8da591c60998dc003618cb19a3f94cb233ec1511/kiwisolver-1.4.8-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:68269e60ee4929893aad82666821aaacbd455284124817af45c11e50a4b42e3c" }, - { url = "https://mirrors.aliyun.com/pypi/packages/f0/1c/6c86f6d85ffe4d0ce04228d976f00674f1df5dc893bf2dd4f1928748f187/kiwisolver-1.4.8-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:34d142fba9c464bc3bbfeff15c96eab0e7310343d6aefb62a79d51421fcc5f1b" }, - { url = "https://mirrors.aliyun.com/pypi/packages/4e/b9/1c6e9f6dcb103ac5cf87cb695845f5fa71379021500153566d8a8a9fc291/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ddc373e0eef45b59197de815b1b28ef89ae3955e7722cc9710fb91cd77b7f47" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ee/81/aca1eb176de671f8bda479b11acdc42c132b61a2ac861c883907dde6debb/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:77e6f57a20b9bd4e1e2cedda4d0b986ebd0216236f0106e55c28aea3d3d69b16" }, - { url = "https://mirrors.aliyun.com/pypi/packages/49/f4/e081522473671c97b2687d380e9e4c26f748a86363ce5af48b4a28e48d06/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:08e77738ed7538f036cd1170cbed942ef749137b1311fa2bbe2a7fda2f6bf3cc" }, - { url = "https://mirrors.aliyun.com/pypi/packages/8f/e9/6a7d025d8da8c4931522922cd706105aa32b3291d1add8c5427cdcd66e63/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a5ce1e481a74b44dd5e92ff03ea0cb371ae7a0268318e202be06c8f04f4f1246" }, - { url = "https://mirrors.aliyun.com/pypi/packages/82/13/13fa685ae167bee5d94b415991c4fc7bb0a1b6ebea6e753a87044b209678/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:fc2ace710ba7c1dfd1a3b42530b62b9ceed115f19a1656adefce7b1782a37794" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ef/92/bb7c9395489b99a6cb41d502d3686bac692586db2045adc19e45ee64ed23/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:3452046c37c7692bd52b0e752b87954ef86ee2224e624ef7ce6cb21e8c41cc1b" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ed/12/87f0e9271e2b63d35d0d8524954145837dd1a6c15b62a2d8c1ebe0f182b4/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:7e9a60b50fe8b2ec6f448fe8d81b07e40141bfced7f896309df271a0b92f80f3" }, - { url = "https://mirrors.aliyun.com/pypi/packages/02/6e/c8af39288edbce8bf0fa35dee427b082758a4b71e9c91ef18fa667782138/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:918139571133f366e8362fa4a297aeba86c7816b7ecf0bc79168080e2bd79957" }, - { url = "https://mirrors.aliyun.com/pypi/packages/13/78/df381bc7b26e535c91469f77f16adcd073beb3e2dd25042efd064af82323/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e063ef9f89885a1d68dd8b2e18f5ead48653176d10a0e324e3b0030e3a69adeb" }, - { url = "https://mirrors.aliyun.com/pypi/packages/d0/dc/c1abe38c37c071d0fc71c9a474fd0b9ede05d42f5a458d584619cfd2371a/kiwisolver-1.4.8-cp313-cp313-win_amd64.whl", hash = "sha256:a17b7c4f5b2c51bb68ed379defd608a03954a1845dfed7cc0117f1cc8a9b7fd2" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a0/b6/21529d595b126ac298fdd90b705d87d4c5693de60023e0efcb4f387ed99e/kiwisolver-1.4.8-cp313-cp313-win_arm64.whl", hash = "sha256:3cd3bc628b25f74aedc6d374d5babf0166a92ff1317f46267f12d2ed54bc1d30" }, - { url = "https://mirrors.aliyun.com/pypi/packages/34/bd/b89380b7298e3af9b39f49334e3e2a4af0e04819789f04b43d560516c0c8/kiwisolver-1.4.8-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:370fd2df41660ed4e26b8c9d6bbcad668fbe2560462cba151a721d49e5b6628c" }, - { url = "https://mirrors.aliyun.com/pypi/packages/83/41/5857dc72e5e4148eaac5aa76e0703e594e4465f8ab7ec0fc60e3a9bb8fea/kiwisolver-1.4.8-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:84a2f830d42707de1d191b9490ac186bf7997a9495d4e9072210a1296345f7dc" }, - { url = "https://mirrors.aliyun.com/pypi/packages/e1/d1/be059b8db56ac270489fb0b3297fd1e53d195ba76e9bbb30e5401fa6b759/kiwisolver-1.4.8-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:7a3ad337add5148cf51ce0b55642dc551c0b9d6248458a757f98796ca7348712" }, - { url = "https://mirrors.aliyun.com/pypi/packages/e1/83/4b73975f149819eb7dcf9299ed467eba068ecb16439a98990dcb12e63fdd/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7506488470f41169b86d8c9aeff587293f530a23a23a49d6bc64dab66bedc71e" }, - { url = "https://mirrors.aliyun.com/pypi/packages/c7/2c/30a5cdde5102958e602c07466bce058b9d7cb48734aa7a4327261ac8e002/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f0121b07b356a22fb0414cec4666bbe36fd6d0d759db3d37228f496ed67c880" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ff/9b/1e71db1c000385aa069704f5990574b8244cce854ecd83119c19e83c9586/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d6d6bd87df62c27d4185de7c511c6248040afae67028a8a22012b010bc7ad062" }, - { url = "https://mirrors.aliyun.com/pypi/packages/85/92/c8fec52ddf06231b31cbb779af77e99b8253cd96bd135250b9498144c78b/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:291331973c64bb9cce50bbe871fb2e675c4331dab4f31abe89f175ad7679a4d7" }, - { url = "https://mirrors.aliyun.com/pypi/packages/0b/51/9eb7e2cd07a15d8bdd976f6190c0164f92ce1904e5c0c79198c4972926b7/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:893f5525bb92d3d735878ec00f781b2de998333659507d29ea4466208df37bed" }, - { url = "https://mirrors.aliyun.com/pypi/packages/0f/95/c5a00387a5405e68ba32cc64af65ce881a39b98d73cc394b24143bebc5b8/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:b47a465040146981dc9db8647981b8cb96366fbc8d452b031e4f8fdffec3f26d" }, - { url = "https://mirrors.aliyun.com/pypi/packages/44/83/eeb7af7d706b8347548313fa3a3a15931f404533cc54fe01f39e830dd231/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:99cea8b9dd34ff80c521aef46a1dddb0dcc0283cf18bde6d756f1e6f31772165" }, - { url = "https://mirrors.aliyun.com/pypi/packages/05/f9/27e94c1b3eb29e6933b6986ffc5fa1177d2cd1f0c8efc5f02c91c9ac61de/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:151dffc4865e5fe6dafce5480fab84f950d14566c480c08a53c663a0020504b6" }, - { url = "https://mirrors.aliyun.com/pypi/packages/d9/d4/3c9735faa36ac591a4afcc2980d2691000506050b7a7e80bcfe44048daa7/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:577facaa411c10421314598b50413aa1ebcf5126f704f1e5d72d7e4e9f020d90" }, - { url = "https://mirrors.aliyun.com/pypi/packages/4c/fa/be89a49c640930180657482a74970cdcf6f7072c8d2471e1babe17a222dc/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:be4816dc51c8a471749d664161b434912eee82f2ea66bd7628bd14583a833e85" }, - { url = "https://mirrors.aliyun.com/pypi/packages/1f/f9/ae81c47a43e33b93b0a9819cac6723257f5da2a5a60daf46aa5c7226ea85/kiwisolver-1.4.8-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:e7a019419b7b510f0f7c9dceff8c5eae2392037eae483a7f9162625233802b0a" }, - { url = "https://mirrors.aliyun.com/pypi/packages/58/ca/f92b5cb6f4ce0c1ebfcfe3e2e42b96917e16f7090e45b21102941924f18f/kiwisolver-1.4.8-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:286b18e86682fd2217a48fc6be6b0f20c1d0ed10958d8dc53453ad58d7be0bf8" }, - { url = "https://mirrors.aliyun.com/pypi/packages/80/28/ae0240f732f0484d3a4dc885d055653c47144bdf59b670aae0ec3c65a7c8/kiwisolver-1.4.8-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4191ee8dfd0be1c3666ccbac178c5a05d5f8d689bbe3fc92f3c4abec817f8fe0" }, - { url = "https://mirrors.aliyun.com/pypi/packages/5d/eb/78d50346c51db22c7203c1611f9b513075f35c4e0e4877c5dde378d66043/kiwisolver-1.4.8-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7cd2785b9391f2873ad46088ed7599a6a71e762e1ea33e87514b1a441ed1da1c" }, - { url = "https://mirrors.aliyun.com/pypi/packages/43/f8/7259f18c77adca88d5f64f9a522792e178b2691f3748817a8750c2d216ef/kiwisolver-1.4.8-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c07b29089b7ba090b6f1a669f1411f27221c3662b3a1b7010e67b59bb5a6f10b" }, - { url = "https://mirrors.aliyun.com/pypi/packages/3a/1d/50ad811d1c5dae091e4cf046beba925bcae0a610e79ae4c538f996f63ed5/kiwisolver-1.4.8-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:65ea09a5a3faadd59c2ce96dc7bf0f364986a315949dc6374f04396b0d60e09b" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/47/5f/4d8e9e852d98ecd26cdf8eaf7ed8bc33174033bba5e07001b289f07308fd/kiwisolver-1.4.8-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:88c6f252f6816a73b1f8c904f7bbe02fd67c09a69f7cb8a0eecdbf5ce78e63db", size = 124623, upload-time = "2024-12-24T18:28:17.687Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/1d/70/7f5af2a18a76fe92ea14675f8bd88ce53ee79e37900fa5f1a1d8e0b42998/kiwisolver-1.4.8-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c72941acb7b67138f35b879bbe85be0f6c6a70cab78fe3ef6db9c024d9223e5b", size = 66720, upload-time = "2024-12-24T18:28:19.158Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/c6/13/e15f804a142353aefd089fadc8f1d985561a15358c97aca27b0979cb0785/kiwisolver-1.4.8-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ce2cf1e5688edcb727fdf7cd1bbd0b6416758996826a8be1d958f91880d0809d", size = 65413, upload-time = "2024-12-24T18:28:20.064Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ce/6d/67d36c4d2054e83fb875c6b59d0809d5c530de8148846b1370475eeeece9/kiwisolver-1.4.8-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:c8bf637892dc6e6aad2bc6d4d69d08764166e5e3f69d469e55427b6ac001b19d", size = 1650826, upload-time = "2024-12-24T18:28:21.203Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/de/c6/7b9bb8044e150d4d1558423a1568e4f227193662a02231064e3824f37e0a/kiwisolver-1.4.8-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:034d2c891f76bd3edbdb3ea11140d8510dca675443da7304205a2eaa45d8334c", size = 1628231, upload-time = "2024-12-24T18:28:23.851Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/b6/38/ad10d437563063eaaedbe2c3540a71101fc7fb07a7e71f855e93ea4de605/kiwisolver-1.4.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d47b28d1dfe0793d5e96bce90835e17edf9a499b53969b03c6c47ea5985844c3", size = 1408938, upload-time = "2024-12-24T18:28:26.687Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/52/ce/c0106b3bd7f9e665c5f5bc1e07cc95b5dabd4e08e3dad42dbe2faad467e7/kiwisolver-1.4.8-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb158fe28ca0c29f2260cca8c43005329ad58452c36f0edf298204de32a9a3ed", size = 1422799, upload-time = "2024-12-24T18:28:30.538Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/d0/87/efb704b1d75dc9758087ba374c0f23d3254505edaedd09cf9d247f7878b9/kiwisolver-1.4.8-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5536185fce131780ebd809f8e623bf4030ce1b161353166c49a3c74c287897f", size = 1354362, upload-time = "2024-12-24T18:28:32.943Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/eb/b3/fd760dc214ec9a8f208b99e42e8f0130ff4b384eca8b29dd0efc62052176/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:369b75d40abedc1da2c1f4de13f3482cb99e3237b38726710f4a793432b1c5ff", size = 2222695, upload-time = "2024-12-24T18:28:35.641Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a2/09/a27fb36cca3fc01700687cc45dae7a6a5f8eeb5f657b9f710f788748e10d/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:641f2ddf9358c80faa22e22eb4c9f54bd3f0e442e038728f500e3b978d00aa7d", size = 2370802, upload-time = "2024-12-24T18:28:38.357Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/3d/c3/ba0a0346db35fe4dc1f2f2cf8b99362fbb922d7562e5f911f7ce7a7b60fa/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:d561d2d8883e0819445cfe58d7ddd673e4015c3c57261d7bdcd3710d0d14005c", size = 2334646, upload-time = "2024-12-24T18:28:40.941Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/41/52/942cf69e562f5ed253ac67d5c92a693745f0bed3c81f49fc0cbebe4d6b00/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:1732e065704b47c9afca7ffa272f845300a4eb959276bf6970dc07265e73b605", size = 2467260, upload-time = "2024-12-24T18:28:42.273Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/32/26/2d9668f30d8a494b0411d4d7d4ea1345ba12deb6a75274d58dd6ea01e951/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:bcb1ebc3547619c3b58a39e2448af089ea2ef44b37988caf432447374941574e", size = 2288633, upload-time = "2024-12-24T18:28:44.87Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/98/99/0dd05071654aa44fe5d5e350729961e7bb535372935a45ac89a8924316e6/kiwisolver-1.4.8-cp310-cp310-win_amd64.whl", hash = "sha256:89c107041f7b27844179ea9c85d6da275aa55ecf28413e87624d033cf1f6b751", size = 71885, upload-time = "2024-12-24T18:28:47.346Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/6c/fc/822e532262a97442989335394d441cd1d0448c2e46d26d3e04efca84df22/kiwisolver-1.4.8-cp310-cp310-win_arm64.whl", hash = "sha256:b5773efa2be9eb9fcf5415ea3ab70fc785d598729fd6057bea38d539ead28271", size = 65175, upload-time = "2024-12-24T18:28:49.651Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/da/ed/c913ee28936c371418cb167b128066ffb20bbf37771eecc2c97edf8a6e4c/kiwisolver-1.4.8-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a4d3601908c560bdf880f07d94f31d734afd1bb71e96585cace0e38ef44c6d84", size = 124635, upload-time = "2024-12-24T18:28:51.826Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/4c/45/4a7f896f7467aaf5f56ef093d1f329346f3b594e77c6a3c327b2d415f521/kiwisolver-1.4.8-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:856b269c4d28a5c0d5e6c1955ec36ebfd1651ac00e1ce0afa3e28da95293b561", size = 66717, upload-time = "2024-12-24T18:28:54.256Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/5f/b4/c12b3ac0852a3a68f94598d4c8d569f55361beef6159dce4e7b624160da2/kiwisolver-1.4.8-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c2b9a96e0f326205af81a15718a9073328df1173a2619a68553decb7097fd5d7", size = 65413, upload-time = "2024-12-24T18:28:55.184Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a9/98/1df4089b1ed23d83d410adfdc5947245c753bddfbe06541c4aae330e9e70/kiwisolver-1.4.8-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c5020c83e8553f770cb3b5fc13faac40f17e0b205bd237aebd21d53d733adb03", size = 1343994, upload-time = "2024-12-24T18:28:57.493Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/8d/bf/b4b169b050c8421a7c53ea1ea74e4ef9c335ee9013216c558a047f162d20/kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dace81d28c787956bfbfbbfd72fdcef014f37d9b48830829e488fdb32b49d954", size = 1434804, upload-time = "2024-12-24T18:29:00.077Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/66/5a/e13bd341fbcf73325ea60fdc8af752addf75c5079867af2e04cc41f34434/kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:11e1022b524bd48ae56c9b4f9296bce77e15a2e42a502cceba602f804b32bb79", size = 1450690, upload-time = "2024-12-24T18:29:01.401Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/9b/4f/5955dcb376ba4a830384cc6fab7d7547bd6759fe75a09564910e9e3bb8ea/kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3b9b4d2892fefc886f30301cdd80debd8bb01ecdf165a449eb6e78f79f0fabd6", size = 1376839, upload-time = "2024-12-24T18:29:02.685Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/3a/97/5edbed69a9d0caa2e4aa616ae7df8127e10f6586940aa683a496c2c280b9/kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a96c0e790ee875d65e340ab383700e2b4891677b7fcd30a699146f9384a2bb0", size = 1435109, upload-time = "2024-12-24T18:29:04.113Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/13/fc/e756382cb64e556af6c1809a1bbb22c141bbc2445049f2da06b420fe52bf/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:23454ff084b07ac54ca8be535f4174170c1094a4cff78fbae4f73a4bcc0d4dab", size = 2245269, upload-time = "2024-12-24T18:29:05.488Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/76/15/e59e45829d7f41c776d138245cabae6515cb4eb44b418f6d4109c478b481/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:87b287251ad6488e95b4f0b4a79a6d04d3ea35fde6340eb38fbd1ca9cd35bbbc", size = 2393468, upload-time = "2024-12-24T18:29:06.79Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/e9/39/483558c2a913ab8384d6e4b66a932406f87c95a6080112433da5ed668559/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:b21dbe165081142b1232a240fc6383fd32cdd877ca6cc89eab93e5f5883e1c25", size = 2355394, upload-time = "2024-12-24T18:29:08.24Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/01/aa/efad1fbca6570a161d29224f14b082960c7e08268a133fe5dc0f6906820e/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:768cade2c2df13db52475bd28d3a3fac8c9eff04b0e9e2fda0f3760f20b3f7fc", size = 2490901, upload-time = "2024-12-24T18:29:09.653Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/c9/4f/15988966ba46bcd5ab9d0c8296914436720dd67fca689ae1a75b4ec1c72f/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d47cfb2650f0e103d4bf68b0b5804c68da97272c84bb12850d877a95c056bd67", size = 2312306, upload-time = "2024-12-24T18:29:12.644Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/2d/27/bdf1c769c83f74d98cbc34483a972f221440703054894a37d174fba8aa68/kiwisolver-1.4.8-cp311-cp311-win_amd64.whl", hash = "sha256:ed33ca2002a779a2e20eeb06aea7721b6e47f2d4b8a8ece979d8ba9e2a167e34", size = 71966, upload-time = "2024-12-24T18:29:14.089Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/4a/c9/9642ea855604aeb2968a8e145fc662edf61db7632ad2e4fb92424be6b6c0/kiwisolver-1.4.8-cp311-cp311-win_arm64.whl", hash = "sha256:16523b40aab60426ffdebe33ac374457cf62863e330a90a0383639ce14bf44b2", size = 65311, upload-time = "2024-12-24T18:29:15.892Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/fc/aa/cea685c4ab647f349c3bc92d2daf7ae34c8e8cf405a6dcd3a497f58a2ac3/kiwisolver-1.4.8-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:d6af5e8815fd02997cb6ad9bbed0ee1e60014438ee1a5c2444c96f87b8843502", size = 124152, upload-time = "2024-12-24T18:29:16.85Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/c5/0b/8db6d2e2452d60d5ebc4ce4b204feeb16176a851fd42462f66ade6808084/kiwisolver-1.4.8-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:bade438f86e21d91e0cf5dd7c0ed00cda0f77c8c1616bd83f9fc157fa6760d31", size = 66555, upload-time = "2024-12-24T18:29:19.146Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/60/26/d6a0db6785dd35d3ba5bf2b2df0aedc5af089962c6eb2cbf67a15b81369e/kiwisolver-1.4.8-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b83dc6769ddbc57613280118fb4ce3cd08899cc3369f7d0e0fab518a7cf37fdb", size = 65067, upload-time = "2024-12-24T18:29:20.096Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/c9/ed/1d97f7e3561e09757a196231edccc1bcf59d55ddccefa2afc9c615abd8e0/kiwisolver-1.4.8-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:111793b232842991be367ed828076b03d96202c19221b5ebab421ce8bcad016f", size = 1378443, upload-time = "2024-12-24T18:29:22.843Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/29/61/39d30b99954e6b46f760e6289c12fede2ab96a254c443639052d1b573fbc/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:257af1622860e51b1a9d0ce387bf5c2c4f36a90594cb9514f55b074bcc787cfc", size = 1472728, upload-time = "2024-12-24T18:29:24.463Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/0c/3e/804163b932f7603ef256e4a715e5843a9600802bb23a68b4e08c8c0ff61d/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:69b5637c3f316cab1ec1c9a12b8c5f4750a4c4b71af9157645bf32830e39c03a", size = 1478388, upload-time = "2024-12-24T18:29:25.776Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/8a/9e/60eaa75169a154700be74f875a4d9961b11ba048bef315fbe89cb6999056/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:782bb86f245ec18009890e7cb8d13a5ef54dcf2ebe18ed65f795e635a96a1c6a", size = 1413849, upload-time = "2024-12-24T18:29:27.202Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/bc/b3/9458adb9472e61a998c8c4d95cfdfec91c73c53a375b30b1428310f923e4/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc978a80a0db3a66d25767b03688f1147a69e6237175c0f4ffffaaedf744055a", size = 1475533, upload-time = "2024-12-24T18:29:28.638Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/e4/7a/0a42d9571e35798de80aef4bb43a9b672aa7f8e58643d7bd1950398ffb0a/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:36dbbfd34838500a31f52c9786990d00150860e46cd5041386f217101350f0d3", size = 2268898, upload-time = "2024-12-24T18:29:30.368Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/d9/07/1255dc8d80271400126ed8db35a1795b1a2c098ac3a72645075d06fe5c5d/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:eaa973f1e05131de5ff3569bbba7f5fd07ea0595d3870ed4a526d486fe57fa1b", size = 2425605, upload-time = "2024-12-24T18:29:33.151Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/84/df/5a3b4cf13780ef6f6942df67b138b03b7e79e9f1f08f57c49957d5867f6e/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:a66f60f8d0c87ab7f59b6fb80e642ebb29fec354a4dfad687ca4092ae69d04f4", size = 2375801, upload-time = "2024-12-24T18:29:34.584Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/8f/10/2348d068e8b0f635c8c86892788dac7a6b5c0cb12356620ab575775aad89/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:858416b7fb777a53f0c59ca08190ce24e9abbd3cffa18886a5781b8e3e26f65d", size = 2520077, upload-time = "2024-12-24T18:29:36.138Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/32/d8/014b89fee5d4dce157d814303b0fce4d31385a2af4c41fed194b173b81ac/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:085940635c62697391baafaaeabdf3dd7a6c3643577dde337f4d66eba021b2b8", size = 2338410, upload-time = "2024-12-24T18:29:39.991Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/bd/72/dfff0cc97f2a0776e1c9eb5bef1ddfd45f46246c6533b0191887a427bca5/kiwisolver-1.4.8-cp312-cp312-win_amd64.whl", hash = "sha256:01c3d31902c7db5fb6182832713d3b4122ad9317c2c5877d0539227d96bb2e50", size = 71853, upload-time = "2024-12-24T18:29:42.006Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/dc/85/220d13d914485c0948a00f0b9eb419efaf6da81b7d72e88ce2391f7aed8d/kiwisolver-1.4.8-cp312-cp312-win_arm64.whl", hash = "sha256:a3c44cb68861de93f0c4a8175fbaa691f0aa22550c331fefef02b618a9dcb476", size = 65424, upload-time = "2024-12-24T18:29:44.38Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/79/b3/e62464a652f4f8cd9006e13d07abad844a47df1e6537f73ddfbf1bc997ec/kiwisolver-1.4.8-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:1c8ceb754339793c24aee1c9fb2485b5b1f5bb1c2c214ff13368431e51fc9a09", size = 124156, upload-time = "2024-12-24T18:29:45.368Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/8d/2d/f13d06998b546a2ad4f48607a146e045bbe48030774de29f90bdc573df15/kiwisolver-1.4.8-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:54a62808ac74b5e55a04a408cda6156f986cefbcf0ada13572696b507cc92fa1", size = 66555, upload-time = "2024-12-24T18:29:46.37Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/59/e3/b8bd14b0a54998a9fd1e8da591c60998dc003618cb19a3f94cb233ec1511/kiwisolver-1.4.8-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:68269e60ee4929893aad82666821aaacbd455284124817af45c11e50a4b42e3c", size = 65071, upload-time = "2024-12-24T18:29:47.333Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/f0/1c/6c86f6d85ffe4d0ce04228d976f00674f1df5dc893bf2dd4f1928748f187/kiwisolver-1.4.8-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:34d142fba9c464bc3bbfeff15c96eab0e7310343d6aefb62a79d51421fcc5f1b", size = 1378053, upload-time = "2024-12-24T18:29:49.636Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/4e/b9/1c6e9f6dcb103ac5cf87cb695845f5fa71379021500153566d8a8a9fc291/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ddc373e0eef45b59197de815b1b28ef89ae3955e7722cc9710fb91cd77b7f47", size = 1472278, upload-time = "2024-12-24T18:29:51.164Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ee/81/aca1eb176de671f8bda479b11acdc42c132b61a2ac861c883907dde6debb/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:77e6f57a20b9bd4e1e2cedda4d0b986ebd0216236f0106e55c28aea3d3d69b16", size = 1478139, upload-time = "2024-12-24T18:29:52.594Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/49/f4/e081522473671c97b2687d380e9e4c26f748a86363ce5af48b4a28e48d06/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:08e77738ed7538f036cd1170cbed942ef749137b1311fa2bbe2a7fda2f6bf3cc", size = 1413517, upload-time = "2024-12-24T18:29:53.941Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/8f/e9/6a7d025d8da8c4931522922cd706105aa32b3291d1add8c5427cdcd66e63/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a5ce1e481a74b44dd5e92ff03ea0cb371ae7a0268318e202be06c8f04f4f1246", size = 1474952, upload-time = "2024-12-24T18:29:56.523Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/82/13/13fa685ae167bee5d94b415991c4fc7bb0a1b6ebea6e753a87044b209678/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:fc2ace710ba7c1dfd1a3b42530b62b9ceed115f19a1656adefce7b1782a37794", size = 2269132, upload-time = "2024-12-24T18:29:57.989Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ef/92/bb7c9395489b99a6cb41d502d3686bac692586db2045adc19e45ee64ed23/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:3452046c37c7692bd52b0e752b87954ef86ee2224e624ef7ce6cb21e8c41cc1b", size = 2425997, upload-time = "2024-12-24T18:29:59.393Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ed/12/87f0e9271e2b63d35d0d8524954145837dd1a6c15b62a2d8c1ebe0f182b4/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:7e9a60b50fe8b2ec6f448fe8d81b07e40141bfced7f896309df271a0b92f80f3", size = 2376060, upload-time = "2024-12-24T18:30:01.338Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/02/6e/c8af39288edbce8bf0fa35dee427b082758a4b71e9c91ef18fa667782138/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:918139571133f366e8362fa4a297aeba86c7816b7ecf0bc79168080e2bd79957", size = 2520471, upload-time = "2024-12-24T18:30:04.574Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/13/78/df381bc7b26e535c91469f77f16adcd073beb3e2dd25042efd064af82323/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e063ef9f89885a1d68dd8b2e18f5ead48653176d10a0e324e3b0030e3a69adeb", size = 2338793, upload-time = "2024-12-24T18:30:06.25Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/d0/dc/c1abe38c37c071d0fc71c9a474fd0b9ede05d42f5a458d584619cfd2371a/kiwisolver-1.4.8-cp313-cp313-win_amd64.whl", hash = "sha256:a17b7c4f5b2c51bb68ed379defd608a03954a1845dfed7cc0117f1cc8a9b7fd2", size = 71855, upload-time = "2024-12-24T18:30:07.535Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a0/b6/21529d595b126ac298fdd90b705d87d4c5693de60023e0efcb4f387ed99e/kiwisolver-1.4.8-cp313-cp313-win_arm64.whl", hash = "sha256:3cd3bc628b25f74aedc6d374d5babf0166a92ff1317f46267f12d2ed54bc1d30", size = 65430, upload-time = "2024-12-24T18:30:08.504Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/34/bd/b89380b7298e3af9b39f49334e3e2a4af0e04819789f04b43d560516c0c8/kiwisolver-1.4.8-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:370fd2df41660ed4e26b8c9d6bbcad668fbe2560462cba151a721d49e5b6628c", size = 126294, upload-time = "2024-12-24T18:30:09.508Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/83/41/5857dc72e5e4148eaac5aa76e0703e594e4465f8ab7ec0fc60e3a9bb8fea/kiwisolver-1.4.8-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:84a2f830d42707de1d191b9490ac186bf7997a9495d4e9072210a1296345f7dc", size = 67736, upload-time = "2024-12-24T18:30:11.039Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/e1/d1/be059b8db56ac270489fb0b3297fd1e53d195ba76e9bbb30e5401fa6b759/kiwisolver-1.4.8-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:7a3ad337add5148cf51ce0b55642dc551c0b9d6248458a757f98796ca7348712", size = 66194, upload-time = "2024-12-24T18:30:14.886Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/e1/83/4b73975f149819eb7dcf9299ed467eba068ecb16439a98990dcb12e63fdd/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7506488470f41169b86d8c9aeff587293f530a23a23a49d6bc64dab66bedc71e", size = 1465942, upload-time = "2024-12-24T18:30:18.927Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/c7/2c/30a5cdde5102958e602c07466bce058b9d7cb48734aa7a4327261ac8e002/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f0121b07b356a22fb0414cec4666bbe36fd6d0d759db3d37228f496ed67c880", size = 1595341, upload-time = "2024-12-24T18:30:22.102Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ff/9b/1e71db1c000385aa069704f5990574b8244cce854ecd83119c19e83c9586/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d6d6bd87df62c27d4185de7c511c6248040afae67028a8a22012b010bc7ad062", size = 1598455, upload-time = "2024-12-24T18:30:24.947Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/85/92/c8fec52ddf06231b31cbb779af77e99b8253cd96bd135250b9498144c78b/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:291331973c64bb9cce50bbe871fb2e675c4331dab4f31abe89f175ad7679a4d7", size = 1522138, upload-time = "2024-12-24T18:30:26.286Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/0b/51/9eb7e2cd07a15d8bdd976f6190c0164f92ce1904e5c0c79198c4972926b7/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:893f5525bb92d3d735878ec00f781b2de998333659507d29ea4466208df37bed", size = 1582857, upload-time = "2024-12-24T18:30:28.86Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/0f/95/c5a00387a5405e68ba32cc64af65ce881a39b98d73cc394b24143bebc5b8/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:b47a465040146981dc9db8647981b8cb96366fbc8d452b031e4f8fdffec3f26d", size = 2293129, upload-time = "2024-12-24T18:30:30.34Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/44/83/eeb7af7d706b8347548313fa3a3a15931f404533cc54fe01f39e830dd231/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:99cea8b9dd34ff80c521aef46a1dddb0dcc0283cf18bde6d756f1e6f31772165", size = 2421538, upload-time = "2024-12-24T18:30:33.334Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/05/f9/27e94c1b3eb29e6933b6986ffc5fa1177d2cd1f0c8efc5f02c91c9ac61de/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:151dffc4865e5fe6dafce5480fab84f950d14566c480c08a53c663a0020504b6", size = 2390661, upload-time = "2024-12-24T18:30:34.939Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/d9/d4/3c9735faa36ac591a4afcc2980d2691000506050b7a7e80bcfe44048daa7/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:577facaa411c10421314598b50413aa1ebcf5126f704f1e5d72d7e4e9f020d90", size = 2546710, upload-time = "2024-12-24T18:30:37.281Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/4c/fa/be89a49c640930180657482a74970cdcf6f7072c8d2471e1babe17a222dc/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:be4816dc51c8a471749d664161b434912eee82f2ea66bd7628bd14583a833e85", size = 2349213, upload-time = "2024-12-24T18:30:40.019Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/1f/f9/ae81c47a43e33b93b0a9819cac6723257f5da2a5a60daf46aa5c7226ea85/kiwisolver-1.4.8-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:e7a019419b7b510f0f7c9dceff8c5eae2392037eae483a7f9162625233802b0a", size = 60403, upload-time = "2024-12-24T18:30:41.372Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/58/ca/f92b5cb6f4ce0c1ebfcfe3e2e42b96917e16f7090e45b21102941924f18f/kiwisolver-1.4.8-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:286b18e86682fd2217a48fc6be6b0f20c1d0ed10958d8dc53453ad58d7be0bf8", size = 58657, upload-time = "2024-12-24T18:30:42.392Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/80/28/ae0240f732f0484d3a4dc885d055653c47144bdf59b670aae0ec3c65a7c8/kiwisolver-1.4.8-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4191ee8dfd0be1c3666ccbac178c5a05d5f8d689bbe3fc92f3c4abec817f8fe0", size = 84948, upload-time = "2024-12-24T18:30:44.703Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/5d/eb/78d50346c51db22c7203c1611f9b513075f35c4e0e4877c5dde378d66043/kiwisolver-1.4.8-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7cd2785b9391f2873ad46088ed7599a6a71e762e1ea33e87514b1a441ed1da1c", size = 81186, upload-time = "2024-12-24T18:30:45.654Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/43/f8/7259f18c77adca88d5f64f9a522792e178b2691f3748817a8750c2d216ef/kiwisolver-1.4.8-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c07b29089b7ba090b6f1a669f1411f27221c3662b3a1b7010e67b59bb5a6f10b", size = 80279, upload-time = "2024-12-24T18:30:47.951Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/3a/1d/50ad811d1c5dae091e4cf046beba925bcae0a610e79ae4c538f996f63ed5/kiwisolver-1.4.8-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:65ea09a5a3faadd59c2ce96dc7bf0f364986a315949dc6374f04396b0d60e09b", size = 71762, upload-time = "2024-12-24T18:30:48.903Z" }, ] [[package]] name = "lxml" version = "6.0.0" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/c5/ed/60eb6fa2923602fba988d9ca7c5cdbd7cf25faa795162ed538b527a35411/lxml-6.0.0.tar.gz", hash = "sha256:032e65120339d44cdc3efc326c9f660f5f7205f3a535c1fdbf898b29ea01fb72" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/c5/ed/60eb6fa2923602fba988d9ca7c5cdbd7cf25faa795162ed538b527a35411/lxml-6.0.0.tar.gz", hash = "sha256:032e65120339d44cdc3efc326c9f660f5f7205f3a535c1fdbf898b29ea01fb72", size = 4096938, upload-time = "2025-06-26T16:28:19.373Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/4b/e9/9c3ca02fbbb7585116c2e274b354a2d92b5c70561687dd733ec7b2018490/lxml-6.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:35bc626eec405f745199200ccb5c6b36f202675d204aa29bb52e27ba2b71dea8" }, - { url = "https://mirrors.aliyun.com/pypi/packages/86/25/10a6e9001191854bf283515020f3633b1b1f96fd1b39aa30bf8fff7aa666/lxml-6.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:246b40f8a4aec341cbbf52617cad8ab7c888d944bfe12a6abd2b1f6cfb6f6082" }, - { url = "https://mirrors.aliyun.com/pypi/packages/f5/a5/378033415ff61d9175c81de23e7ad20a3ffb614df4ffc2ffc86bc6746ffd/lxml-6.0.0-cp310-cp310-manylinux2010_i686.manylinux2014_i686.manylinux_2_12_i686.manylinux_2_17_i686.whl", hash = "sha256:2793a627e95d119e9f1e19720730472f5543a6d84c50ea33313ce328d870f2dd" }, - { url = "https://mirrors.aliyun.com/pypi/packages/5a/a6/19c87c4f3b9362b08dc5452a3c3bce528130ac9105fc8fff97ce895ce62e/lxml-6.0.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:46b9ed911f36bfeb6338e0b482e7fe7c27d362c52fde29f221fddbc9ee2227e7" }, - { url = "https://mirrors.aliyun.com/pypi/packages/09/d1/e9b7ad4b4164d359c4d87ed8c49cb69b443225cb495777e75be0478da5d5/lxml-6.0.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:2b4790b558bee331a933e08883c423f65bbcd07e278f91b2272489e31ab1e2b4" }, - { url = "https://mirrors.aliyun.com/pypi/packages/56/d6/b3eba234dc1584744b0b374a7f6c26ceee5dc2147369a7e7526e25a72332/lxml-6.0.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e2030956cf4886b10be9a0285c6802e078ec2391e1dd7ff3eb509c2c95a69b76" }, - { url = "https://mirrors.aliyun.com/pypi/packages/8e/47/897142dd9385dcc1925acec0c4afe14cc16d310ce02c41fcd9010ac5d15d/lxml-6.0.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4d23854ecf381ab1facc8f353dcd9adeddef3652268ee75297c1164c987c11dc" }, - { url = "https://mirrors.aliyun.com/pypi/packages/fb/db/551ad84515c6f415cea70193a0ff11d70210174dc0563219f4ce711655c6/lxml-6.0.0-cp310-cp310-manylinux_2_31_armv7l.whl", hash = "sha256:43fe5af2d590bf4691531b1d9a2495d7aab2090547eaacd224a3afec95706d76" }, - { url = "https://mirrors.aliyun.com/pypi/packages/e0/14/c4a77ab4f89aaf35037a03c472f1ccc54147191888626079bd05babd6808/lxml-6.0.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:74e748012f8c19b47f7d6321ac929a9a94ee92ef12bc4298c47e8b7219b26541" }, - { url = "https://mirrors.aliyun.com/pypi/packages/70/b4/12ae6a51b8da106adec6a2e9c60f532350a24ce954622367f39269e509b1/lxml-6.0.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:43cfbb7db02b30ad3926e8fceaef260ba2fb7df787e38fa2df890c1ca7966c3b" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a9/b6/2e82d34d49f6219cdcb6e3e03837ca5fb8b7f86c2f35106fb8610ac7f5b8/lxml-6.0.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:34190a1ec4f1e84af256495436b2d196529c3f2094f0af80202947567fdbf2e7" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a1/e6/b83ddc903b05cd08a5723fefd528eee84b0edd07bdf87f6c53a1fda841fd/lxml-6.0.0-cp310-cp310-win32.whl", hash = "sha256:5967fe415b1920a3877a4195e9a2b779249630ee49ece22021c690320ff07452" }, - { url = "https://mirrors.aliyun.com/pypi/packages/40/af/874fb368dd0c663c030acb92612341005e52e281a102b72a4c96f42942e1/lxml-6.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:f3389924581d9a770c6caa4df4e74b606180869043b9073e2cec324bad6e306e" }, - { url = "https://mirrors.aliyun.com/pypi/packages/4a/f4/d296bc22c17d5607653008f6dd7b46afdfda12efd31021705b507df652bb/lxml-6.0.0-cp310-cp310-win_arm64.whl", hash = "sha256:522fe7abb41309e9543b0d9b8b434f2b630c5fdaf6482bee642b34c8c70079c8" }, - { url = "https://mirrors.aliyun.com/pypi/packages/7c/23/828d4cc7da96c611ec0ce6147bbcea2fdbde023dc995a165afa512399bbf/lxml-6.0.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:4ee56288d0df919e4aac43b539dd0e34bb55d6a12a6562038e8d6f3ed07f9e36" }, - { url = "https://mirrors.aliyun.com/pypi/packages/f1/33/5ac521212c5bcb097d573145d54b2b4a3c9766cda88af5a0e91f66037c6e/lxml-6.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b8dd6dd0e9c1992613ccda2bcb74fc9d49159dbe0f0ca4753f37527749885c25" }, - { url = "https://mirrors.aliyun.com/pypi/packages/2b/2e/45b7ca8bee304c07f54933c37afe7dd4d39ff61ba2757f519dcc71bc5d44/lxml-6.0.0-cp311-cp311-manylinux2010_i686.manylinux2014_i686.manylinux_2_12_i686.manylinux_2_17_i686.whl", hash = "sha256:d7ae472f74afcc47320238b5dbfd363aba111a525943c8a34a1b657c6be934c3" }, - { url = "https://mirrors.aliyun.com/pypi/packages/32/23/526d19f7eb2b85da1f62cffb2556f647b049ebe2a5aa8d4d41b1fb2c7d36/lxml-6.0.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5592401cdf3dc682194727c1ddaa8aa0f3ddc57ca64fd03226a430b955eab6f6" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ac/cc/f6be27a5c656a43a5344e064d9ae004d4dcb1d3c9d4f323c8189ddfe4d13/lxml-6.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:58ffd35bd5425c3c3b9692d078bf7ab851441434531a7e517c4984d5634cd65b" }, - { url = "https://mirrors.aliyun.com/pypi/packages/3b/e6/8ec91b5bfbe6972458bc105aeb42088e50e4b23777170404aab5dfb0c62d/lxml-6.0.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f720a14aa102a38907c6d5030e3d66b3b680c3e6f6bc95473931ea3c00c59967" }, - { url = "https://mirrors.aliyun.com/pypi/packages/33/cf/05e78e613840a40e5be3e40d892c48ad3e475804db23d4bad751b8cadb9b/lxml-6.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c2a5e8d207311a0170aca0eb6b160af91adc29ec121832e4ac151a57743a1e1e" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ac/8c/6b306b3e35c59d5f0b32e3b9b6b3b0739b32c0dc42a295415ba111e76495/lxml-6.0.0-cp311-cp311-manylinux_2_31_armv7l.whl", hash = "sha256:2dd1cc3ea7e60bfb31ff32cafe07e24839df573a5e7c2d33304082a5019bcd58" }, - { url = "https://mirrors.aliyun.com/pypi/packages/59/43/0bd96bece5f7eea14b7220476835a60d2b27f8e9ca99c175f37c085cb154/lxml-6.0.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:2cfcf84f1defed7e5798ef4f88aa25fcc52d279be731ce904789aa7ccfb7e8d2" }, - { url = "https://mirrors.aliyun.com/pypi/packages/e2/3d/32103036287a8ca012d8518071f8852c68f2b3bfe048cef2a0202eb05910/lxml-6.0.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:a52a4704811e2623b0324a18d41ad4b9fabf43ce5ff99b14e40a520e2190c851" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ca/a8/7be5d17df12d637d81854bd8648cd329f29640a61e9a72a3f77add4a311b/lxml-6.0.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c16304bba98f48a28ae10e32a8e75c349dd742c45156f297e16eeb1ba9287a1f" }, - { url = "https://mirrors.aliyun.com/pypi/packages/cd/d0/6cb96174c25e0d749932557c8d51d60c6e292c877b46fae616afa23ed31a/lxml-6.0.0-cp311-cp311-win32.whl", hash = "sha256:f8d19565ae3eb956d84da3ef367aa7def14a2735d05bd275cd54c0301f0d0d6c" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ca/77/6ad43b165dfc6dead001410adeb45e88597b25185f4479b7ca3b16a5808f/lxml-6.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:b2d71cdefda9424adff9a3607ba5bbfc60ee972d73c21c7e3c19e71037574816" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a0/bc/4c50ec0eb14f932a18efc34fc86ee936a66c0eb5f2fe065744a2da8a68b2/lxml-6.0.0-cp311-cp311-win_arm64.whl", hash = "sha256:8a2e76efbf8772add72d002d67a4c3d0958638696f541734304c7f28217a9cab" }, - { url = "https://mirrors.aliyun.com/pypi/packages/89/c3/d01d735c298d7e0ddcedf6f028bf556577e5ab4f4da45175ecd909c79378/lxml-6.0.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:78718d8454a6e928470d511bf8ac93f469283a45c354995f7d19e77292f26108" }, - { url = "https://mirrors.aliyun.com/pypi/packages/06/37/0e3eae3043d366b73da55a86274a590bae76dc45aa004b7042e6f97803b1/lxml-6.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:84ef591495ffd3f9dcabffd6391db7bb70d7230b5c35ef5148354a134f56f2be" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a3/28/e1a9a881e6d6e29dda13d633885d13acb0058f65e95da67841c8dd02b4a8/lxml-6.0.0-cp312-cp312-manylinux2010_i686.manylinux2014_i686.manylinux_2_12_i686.manylinux_2_17_i686.whl", hash = "sha256:2930aa001a3776c3e2601cb8e0a15d21b8270528d89cc308be4843ade546b9ab" }, - { url = "https://mirrors.aliyun.com/pypi/packages/9a/55/2cb24ea48aa30c99f805921c1c7860c1f45c0e811e44ee4e6a155668de06/lxml-6.0.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:219e0431ea8006e15005767f0351e3f7f9143e793e58519dc97fe9e07fae5563" }, - { url = "https://mirrors.aliyun.com/pypi/packages/31/c0/b25d9528df296b9a3306ba21ff982fc5b698c45ab78b94d18c2d6ae71fd9/lxml-6.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:bd5913b4972681ffc9718bc2d4c53cde39ef81415e1671ff93e9aa30b46595e7" }, - { url = "https://mirrors.aliyun.com/pypi/packages/e9/af/681a8b3e4f668bea6e6514cbcb297beb6de2b641e70f09d3d78655f4f44c/lxml-6.0.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:390240baeb9f415a82eefc2e13285016f9c8b5ad71ec80574ae8fa9605093cd7" }, - { url = "https://mirrors.aliyun.com/pypi/packages/99/b6/3a7971aa05b7be7dfebc7ab57262ec527775c2c3c5b2f43675cac0458cad/lxml-6.0.0-cp312-cp312-manylinux_2_27_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:d6e200909a119626744dd81bae409fc44134389e03fbf1d68ed2a55a2fb10991" }, - { url = "https://mirrors.aliyun.com/pypi/packages/69/f8/693b1a10a891197143c0673fcce5b75fc69132afa81a36e4568c12c8faba/lxml-6.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ca50bd612438258a91b5b3788c6621c1f05c8c478e7951899f492be42defc0da" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a8/96/e08ff98f2c6426c98c8964513c5dab8d6eb81dadcd0af6f0c538ada78d33/lxml-6.0.0-cp312-cp312-manylinux_2_31_armv7l.whl", hash = "sha256:c24b8efd9c0f62bad0439283c2c795ef916c5a6b75f03c17799775c7ae3c0c9e" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a8/83/6184aba6cc94d7413959f6f8f54807dc318fdcd4985c347fe3ea6937f772/lxml-6.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:afd27d8629ae94c5d863e32ab0e1d5590371d296b87dae0a751fb22bf3685741" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ee/01/8bf1f4035852d0ff2e36a4d9aacdbcc57e93a6cd35a54e05fa984cdf73ab/lxml-6.0.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:54c4855eabd9fc29707d30141be99e5cd1102e7d2258d2892314cf4c110726c3" }, - { url = "https://mirrors.aliyun.com/pypi/packages/29/31/c0267d03b16954a85ed6b065116b621d37f559553d9339c7dcc4943a76f1/lxml-6.0.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c907516d49f77f6cd8ead1322198bdfd902003c3c330c77a1c5f3cc32a0e4d16" }, - { url = "https://mirrors.aliyun.com/pypi/packages/5c/f7/5495829a864bc5f8b0798d2b52a807c89966523140f3d6fa3a58ab6720ea/lxml-6.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:36531f81c8214e293097cd2b7873f178997dae33d3667caaae8bdfb9666b76c0" }, - { url = "https://mirrors.aliyun.com/pypi/packages/79/56/6b8edb79d9ed294ccc4e881f4db1023af56ba451909b9ce79f2a2cd7c532/lxml-6.0.0-cp312-cp312-win32.whl", hash = "sha256:690b20e3388a7ec98e899fd54c924e50ba6693874aa65ef9cb53de7f7de9d64a" }, - { url = "https://mirrors.aliyun.com/pypi/packages/0b/1e/cc32034b40ad6af80b6fd9b66301fc0f180f300002e5c3eb5a6110a93317/lxml-6.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:310b719b695b3dd442cdfbbe64936b2f2e231bb91d998e99e6f0daf991a3eba3" }, - { url = "https://mirrors.aliyun.com/pypi/packages/55/10/dc8e5290ae4c94bdc1a4c55865be7e1f31dfd857a88b21cbba68b5fea61b/lxml-6.0.0-cp312-cp312-win_arm64.whl", hash = "sha256:8cb26f51c82d77483cdcd2b4a53cda55bbee29b3c2f3ddeb47182a2a9064e4eb" }, - { url = "https://mirrors.aliyun.com/pypi/packages/79/21/6e7c060822a3c954ff085e5e1b94b4a25757c06529eac91e550f3f5cd8b8/lxml-6.0.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6da7cd4f405fd7db56e51e96bff0865b9853ae70df0e6720624049da76bde2da" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a4/f6/051b1607a459db670fc3a244fa4f06f101a8adf86cda263d1a56b3a4f9d5/lxml-6.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b34339898bb556a2351a1830f88f751679f343eabf9cf05841c95b165152c9e7" }, - { url = "https://mirrors.aliyun.com/pypi/packages/8e/74/dd595d92a40bda3c687d70d4487b2c7eff93fd63b568acd64fedd2ba00fe/lxml-6.0.0-cp313-cp313-manylinux2010_i686.manylinux2014_i686.manylinux_2_12_i686.manylinux_2_17_i686.whl", hash = "sha256:51a5e4c61a4541bd1cd3ba74766d0c9b6c12d6a1a4964ef60026832aac8e79b3" }, - { url = "https://mirrors.aliyun.com/pypi/packages/52/46/3572761efc1bd45fcafb44a63b3b0feeb5b3f0066886821e94b0254f9253/lxml-6.0.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d18a25b19ca7307045581b18b3ec9ead2b1db5ccd8719c291f0cd0a5cec6cb81" }, - { url = "https://mirrors.aliyun.com/pypi/packages/94/8a/5e40de920e67c4f2eef9151097deb9b52d86c95762d8ee238134aff2125d/lxml-6.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d4f0c66df4386b75d2ab1e20a489f30dc7fd9a06a896d64980541506086be1f1" }, - { url = "https://mirrors.aliyun.com/pypi/packages/7c/4b/20555bdd75d57945bdabfbc45fdb1a36a1a0ff9eae4653e951b2b79c9209/lxml-6.0.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9f4b481b6cc3a897adb4279216695150bbe7a44c03daba3c894f49d2037e0a24" }, - { url = "https://mirrors.aliyun.com/pypi/packages/b6/6e/cf03b412f3763d4ca23b25e70c96a74cfece64cec3addf1c4ec639586b13/lxml-6.0.0-cp313-cp313-manylinux_2_27_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8a78d6c9168f5bcb20971bf3329c2b83078611fbe1f807baadc64afc70523b3a" }, - { url = "https://mirrors.aliyun.com/pypi/packages/d4/dd/39c8507c16db6031f8c1ddf70ed95dbb0a6d466a40002a3522c128aba472/lxml-6.0.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2ae06fbab4f1bb7db4f7c8ca9897dc8db4447d1a2b9bee78474ad403437bcc29" }, - { url = "https://mirrors.aliyun.com/pypi/packages/4d/56/732d49def0631ad633844cfb2664563c830173a98d5efd9b172e89a4800d/lxml-6.0.0-cp313-cp313-manylinux_2_31_armv7l.whl", hash = "sha256:1fa377b827ca2023244a06554c6e7dc6828a10aaf74ca41965c5d8a4925aebb4" }, - { url = "https://mirrors.aliyun.com/pypi/packages/8f/7f/6b956fab95fa73462bca25d1ea7fc8274ddf68fb8e60b78d56c03b65278e/lxml-6.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1676b56d48048a62ef77a250428d1f31f610763636e0784ba67a9740823988ca" }, - { url = "https://mirrors.aliyun.com/pypi/packages/97/06/e851ac2924447e8b15a294855caf3d543424364a143c001014d22c8ca94c/lxml-6.0.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:0e32698462aacc5c1cf6bdfebc9c781821b7e74c79f13e5ffc8bfe27c42b1abf" }, - { url = "https://mirrors.aliyun.com/pypi/packages/06/d4/fd216f3cd6625022c25b336c7570d11f4a43adbaf0a56106d3d496f727a7/lxml-6.0.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4d6036c3a296707357efb375cfc24bb64cd955b9ec731abf11ebb1e40063949f" }, - { url = "https://mirrors.aliyun.com/pypi/packages/52/03/0e764ce00b95e008d76b99d432f1807f3574fb2945b496a17807a1645dbd/lxml-6.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:7488a43033c958637b1a08cddc9188eb06d3ad36582cebc7d4815980b47e27ef" }, - { url = "https://mirrors.aliyun.com/pypi/packages/5f/01/d48cc141bc47bc1644d20fe97bbd5e8afb30415ec94f146f2f76d0d9d098/lxml-6.0.0-cp313-cp313-win32.whl", hash = "sha256:5fcd7d3b1d8ecb91445bd71b9c88bdbeae528fefee4f379895becfc72298d181" }, - { url = "https://mirrors.aliyun.com/pypi/packages/f4/87/6456b9541d186ee7d4cb53bf1b9a0d7f3b1068532676940fdd594ac90865/lxml-6.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:2f34687222b78fff795feeb799a7d44eca2477c3d9d3a46ce17d51a4f383e32e" }, - { url = "https://mirrors.aliyun.com/pypi/packages/b7/42/85b3aa8f06ca0d24962f8100f001828e1f1f1a38c954c16e71154ed7d53a/lxml-6.0.0-cp313-cp313-win_arm64.whl", hash = "sha256:21db1ec5525780fd07251636eb5f7acb84003e9382c72c18c542a87c416ade03" }, - { url = "https://mirrors.aliyun.com/pypi/packages/dc/04/a53941fb0d7c60eed08301942c70aa63650a59308d15e05eb823acbce41d/lxml-6.0.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:85b14a4689d5cff426c12eefe750738648706ea2753b20c2f973b2a000d3d261" }, - { url = "https://mirrors.aliyun.com/pypi/packages/44/d2/e1d4526e903afebe147f858322f1c0b36e44969d5c87e5d243c23f81987f/lxml-6.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f64ccf593916e93b8d36ed55401bb7fe9c7d5de3180ce2e10b08f82a8f397316" }, - { url = "https://mirrors.aliyun.com/pypi/packages/61/aa/b0a8ee233c00f2f437dbb6e7bd2df115a996d8211b7d03f4ab029b8e3378/lxml-6.0.0-cp39-cp39-manylinux2010_i686.manylinux2014_i686.manylinux_2_12_i686.manylinux_2_17_i686.whl", hash = "sha256:b372d10d17a701b0945f67be58fae4664fd056b85e0ff0fbc1e6c951cdbc0512" }, - { url = "https://mirrors.aliyun.com/pypi/packages/53/7f/e6f377489b2ac4289418b879c34ed664e5a1174b2a91590936ec4174e773/lxml-6.0.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:a674c0948789e9136d69065cc28009c1b1874c6ea340253db58be7622ce6398f" }, - { url = "https://mirrors.aliyun.com/pypi/packages/c6/05/ae239e997374680741b768044545251a29abc21ada42248638dbed749a0a/lxml-6.0.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:edf6e4c8fe14dfe316939711e3ece3f9a20760aabf686051b537a7562f4da91a" }, - { url = "https://mirrors.aliyun.com/pypi/packages/2a/da/4f27222570d008fd2386e19d6923af6e64c317ee6116bbb2b98247f98f31/lxml-6.0.0-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:048a930eb4572829604982e39a0c7289ab5dc8abc7fc9f5aabd6fbc08c154e93" }, - { url = "https://mirrors.aliyun.com/pypi/packages/1f/65/12552caf7b3e3b9b9aba12349370dc53a36d4058e4ed482811f1d262deee/lxml-6.0.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c0b5fa5eda84057a4f1bbb4bb77a8c28ff20ae7ce211588d698ae453e13c6281" }, - { url = "https://mirrors.aliyun.com/pypi/packages/3e/6a/f053a8369fdf4e3b8127a6ffb079c519167e684e956a1281392c5c3679b6/lxml-6.0.0-cp39-cp39-manylinux_2_31_armv7l.whl", hash = "sha256:c352fc8f36f7e9727db17adbf93f82499457b3d7e5511368569b4c5bd155a922" }, - { url = "https://mirrors.aliyun.com/pypi/packages/df/7b/b2a392ad34ce37a17d1cf3aec303e15125768061cf0e355a92d292d20d37/lxml-6.0.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:8db5dc617cb937ae17ff3403c3a70a7de9df4852a046f93e71edaec678f721d0" }, - { url = "https://mirrors.aliyun.com/pypi/packages/80/0e/6459ff8ae7d87188e1f99f11691d0f32831caa6429599c3b289de9f08b21/lxml-6.0.0-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:2181e4b1d07dde53986023482673c0f1fba5178ef800f9ab95ad791e8bdded6a" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ca/78/4186f573805ff623d28a8736788a3b29eeaf589afdcf0233de2c9bb9fc50/lxml-6.0.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:b3c98d5b24c6095e89e03d65d5c574705be3d49c0d8ca10c17a8a4b5201b72f5" }, - { url = "https://mirrors.aliyun.com/pypi/packages/e8/97/352e07992901473529c8e19dbfdba6430ba6a37f6b46a4d0fa93321f8fee/lxml-6.0.0-cp39-cp39-win32.whl", hash = "sha256:04d67ceee6db4bcb92987ccb16e53bef6b42ced872509f333c04fb58a3315256" }, - { url = "https://mirrors.aliyun.com/pypi/packages/71/93/8f3b880e2618e548fb0ca157349abb526d81cb4f01ef5ea3a0f22bd4d0df/lxml-6.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:e0b1520ef900e9ef62e392dd3d7ae4f5fa224d1dd62897a792cf353eb20b6cae" }, - { url = "https://mirrors.aliyun.com/pypi/packages/e7/8a/046cbf5b262dd2858c6e65833339100fd5f1c017b37b26bc47c92d4584d7/lxml-6.0.0-cp39-cp39-win_arm64.whl", hash = "sha256:e35e8aaaf3981489f42884b59726693de32dabfc438ac10ef4eb3409961fd402" }, - { url = "https://mirrors.aliyun.com/pypi/packages/66/e1/2c22a3cff9e16e1d717014a1e6ec2bf671bf56ea8716bb64466fcf820247/lxml-6.0.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:dbdd7679a6f4f08152818043dbb39491d1af3332128b3752c3ec5cebc0011a72" }, - { url = "https://mirrors.aliyun.com/pypi/packages/2b/3a/d68cbcb4393a2a0a867528741fafb7ce92dac5c9f4a1680df98e5e53e8f5/lxml-6.0.0-pp310-pypy310_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:40442e2a4456e9910875ac12951476d36c0870dcb38a68719f8c4686609897c4" }, - { url = "https://mirrors.aliyun.com/pypi/packages/15/8f/d9bfb13dff715ee3b2a1ec2f4a021347ea3caf9aba93dea0cfe54c01969b/lxml-6.0.0-pp310-pypy310_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:db0efd6bae1c4730b9c863fc4f5f3c0fa3e8f05cae2c44ae141cb9dfc7d091dc" }, - { url = "https://mirrors.aliyun.com/pypi/packages/01/8b/fde194529ee8a27e6f5966d7eef05fa16f0567e4a8e8abc3b855ef6b3400/lxml-6.0.0-pp310-pypy310_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9ab542c91f5a47aaa58abdd8ea84b498e8e49fe4b883d67800017757a3eb78e8" }, - { url = "https://mirrors.aliyun.com/pypi/packages/99/a8/3b8e2581b4f8370fc9e8dc343af4abdfadd9b9229970fc71e67bd31c7df1/lxml-6.0.0-pp310-pypy310_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:013090383863b72c62a702d07678b658fa2567aa58d373d963cca245b017e065" }, - { url = "https://mirrors.aliyun.com/pypi/packages/e7/a5/899a4719e02ff4383f3f96e5d1878f882f734377f10dfb69e73b5f223e44/lxml-6.0.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:c86df1c9af35d903d2b52d22ea3e66db8058d21dc0f59842ca5deb0595921141" }, - { url = "https://mirrors.aliyun.com/pypi/packages/93/e3/ef14f1d23aea1dec1eccbe2c07a93b6d0be693fd9d5f248a47155e436701/lxml-6.0.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:4337e4aec93b7c011f7ee2e357b0d30562edd1955620fdd4aeab6aacd90d43c5" }, - { url = "https://mirrors.aliyun.com/pypi/packages/09/8a/1410b9e1ec43f606f9aac0661d09892509d86032e229711798906e1b5e7a/lxml-6.0.0-pp39-pypy39_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ae74f7c762270196d2dda56f8dd7309411f08a4084ff2dfcc0b095a218df2e06" }, - { url = "https://mirrors.aliyun.com/pypi/packages/79/cb/6696ce0d1712c5ae94b18bdf225086a5fb04b23938ac4d2011b323b3860b/lxml-6.0.0-pp39-pypy39_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:059c4cbf3973a621b62ea3132934ae737da2c132a788e6cfb9b08d63a0ef73f9" }, - { url = "https://mirrors.aliyun.com/pypi/packages/f3/98/04997f61d720cf320a0daee66b3096e3a3b57453e15549c14b87058c2acd/lxml-6.0.0-pp39-pypy39_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:17f090a9bc0ce8da51a5632092f98a7e7f84bca26f33d161a98b57f7fb0004ca" }, - { url = "https://mirrors.aliyun.com/pypi/packages/e6/86/e5f6fa80154a5f5bf2c1e89d6265892299942edeb115081ca72afe7c7199/lxml-6.0.0-pp39-pypy39_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9da022c14baeec36edfcc8daf0e281e2f55b950249a455776f0d1adeeada4734" }, - { url = "https://mirrors.aliyun.com/pypi/packages/18/a6/ae69e0e6f5fb6293eb8cbfbf8a259e37d71608bbae3658a768dd26b69f3e/lxml-6.0.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a55da151d0b0c6ab176b4e761670ac0e2667817a1e0dadd04a01d0561a219349" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/4b/e9/9c3ca02fbbb7585116c2e274b354a2d92b5c70561687dd733ec7b2018490/lxml-6.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:35bc626eec405f745199200ccb5c6b36f202675d204aa29bb52e27ba2b71dea8", size = 8399057, upload-time = "2025-06-26T16:25:02.169Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/86/25/10a6e9001191854bf283515020f3633b1b1f96fd1b39aa30bf8fff7aa666/lxml-6.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:246b40f8a4aec341cbbf52617cad8ab7c888d944bfe12a6abd2b1f6cfb6f6082", size = 4569676, upload-time = "2025-06-26T16:25:05.431Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/f5/a5/378033415ff61d9175c81de23e7ad20a3ffb614df4ffc2ffc86bc6746ffd/lxml-6.0.0-cp310-cp310-manylinux2010_i686.manylinux2014_i686.manylinux_2_12_i686.manylinux_2_17_i686.whl", hash = "sha256:2793a627e95d119e9f1e19720730472f5543a6d84c50ea33313ce328d870f2dd", size = 5291361, upload-time = "2025-06-26T16:25:07.901Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/5a/a6/19c87c4f3b9362b08dc5452a3c3bce528130ac9105fc8fff97ce895ce62e/lxml-6.0.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:46b9ed911f36bfeb6338e0b482e7fe7c27d362c52fde29f221fddbc9ee2227e7", size = 5008290, upload-time = "2025-06-28T18:47:13.196Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/09/d1/e9b7ad4b4164d359c4d87ed8c49cb69b443225cb495777e75be0478da5d5/lxml-6.0.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:2b4790b558bee331a933e08883c423f65bbcd07e278f91b2272489e31ab1e2b4", size = 5163192, upload-time = "2025-06-28T18:47:17.279Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/56/d6/b3eba234dc1584744b0b374a7f6c26ceee5dc2147369a7e7526e25a72332/lxml-6.0.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e2030956cf4886b10be9a0285c6802e078ec2391e1dd7ff3eb509c2c95a69b76", size = 5076973, upload-time = "2025-06-26T16:25:10.936Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/8e/47/897142dd9385dcc1925acec0c4afe14cc16d310ce02c41fcd9010ac5d15d/lxml-6.0.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4d23854ecf381ab1facc8f353dcd9adeddef3652268ee75297c1164c987c11dc", size = 5297795, upload-time = "2025-06-26T16:25:14.282Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/fb/db/551ad84515c6f415cea70193a0ff11d70210174dc0563219f4ce711655c6/lxml-6.0.0-cp310-cp310-manylinux_2_31_armv7l.whl", hash = "sha256:43fe5af2d590bf4691531b1d9a2495d7aab2090547eaacd224a3afec95706d76", size = 4776547, upload-time = "2025-06-26T16:25:17.123Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/e0/14/c4a77ab4f89aaf35037a03c472f1ccc54147191888626079bd05babd6808/lxml-6.0.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:74e748012f8c19b47f7d6321ac929a9a94ee92ef12bc4298c47e8b7219b26541", size = 5124904, upload-time = "2025-06-26T16:25:19.485Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/70/b4/12ae6a51b8da106adec6a2e9c60f532350a24ce954622367f39269e509b1/lxml-6.0.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:43cfbb7db02b30ad3926e8fceaef260ba2fb7df787e38fa2df890c1ca7966c3b", size = 4805804, upload-time = "2025-06-26T16:25:21.949Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a9/b6/2e82d34d49f6219cdcb6e3e03837ca5fb8b7f86c2f35106fb8610ac7f5b8/lxml-6.0.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:34190a1ec4f1e84af256495436b2d196529c3f2094f0af80202947567fdbf2e7", size = 5323477, upload-time = "2025-06-26T16:25:24.475Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a1/e6/b83ddc903b05cd08a5723fefd528eee84b0edd07bdf87f6c53a1fda841fd/lxml-6.0.0-cp310-cp310-win32.whl", hash = "sha256:5967fe415b1920a3877a4195e9a2b779249630ee49ece22021c690320ff07452", size = 3613840, upload-time = "2025-06-26T16:25:27.345Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/40/af/874fb368dd0c663c030acb92612341005e52e281a102b72a4c96f42942e1/lxml-6.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:f3389924581d9a770c6caa4df4e74b606180869043b9073e2cec324bad6e306e", size = 3993584, upload-time = "2025-06-26T16:25:29.391Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/4a/f4/d296bc22c17d5607653008f6dd7b46afdfda12efd31021705b507df652bb/lxml-6.0.0-cp310-cp310-win_arm64.whl", hash = "sha256:522fe7abb41309e9543b0d9b8b434f2b630c5fdaf6482bee642b34c8c70079c8", size = 3681400, upload-time = "2025-06-26T16:25:31.421Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/7c/23/828d4cc7da96c611ec0ce6147bbcea2fdbde023dc995a165afa512399bbf/lxml-6.0.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:4ee56288d0df919e4aac43b539dd0e34bb55d6a12a6562038e8d6f3ed07f9e36", size = 8438217, upload-time = "2025-06-26T16:25:34.349Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/f1/33/5ac521212c5bcb097d573145d54b2b4a3c9766cda88af5a0e91f66037c6e/lxml-6.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b8dd6dd0e9c1992613ccda2bcb74fc9d49159dbe0f0ca4753f37527749885c25", size = 4590317, upload-time = "2025-06-26T16:25:38.103Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/2b/2e/45b7ca8bee304c07f54933c37afe7dd4d39ff61ba2757f519dcc71bc5d44/lxml-6.0.0-cp311-cp311-manylinux2010_i686.manylinux2014_i686.manylinux_2_12_i686.manylinux_2_17_i686.whl", hash = "sha256:d7ae472f74afcc47320238b5dbfd363aba111a525943c8a34a1b657c6be934c3", size = 5221628, upload-time = "2025-06-26T16:25:40.878Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/32/23/526d19f7eb2b85da1f62cffb2556f647b049ebe2a5aa8d4d41b1fb2c7d36/lxml-6.0.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5592401cdf3dc682194727c1ddaa8aa0f3ddc57ca64fd03226a430b955eab6f6", size = 4949429, upload-time = "2025-06-28T18:47:20.046Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ac/cc/f6be27a5c656a43a5344e064d9ae004d4dcb1d3c9d4f323c8189ddfe4d13/lxml-6.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:58ffd35bd5425c3c3b9692d078bf7ab851441434531a7e517c4984d5634cd65b", size = 5087909, upload-time = "2025-06-28T18:47:22.834Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/3b/e6/8ec91b5bfbe6972458bc105aeb42088e50e4b23777170404aab5dfb0c62d/lxml-6.0.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f720a14aa102a38907c6d5030e3d66b3b680c3e6f6bc95473931ea3c00c59967", size = 5031713, upload-time = "2025-06-26T16:25:43.226Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/33/cf/05e78e613840a40e5be3e40d892c48ad3e475804db23d4bad751b8cadb9b/lxml-6.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c2a5e8d207311a0170aca0eb6b160af91adc29ec121832e4ac151a57743a1e1e", size = 5232417, upload-time = "2025-06-26T16:25:46.111Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ac/8c/6b306b3e35c59d5f0b32e3b9b6b3b0739b32c0dc42a295415ba111e76495/lxml-6.0.0-cp311-cp311-manylinux_2_31_armv7l.whl", hash = "sha256:2dd1cc3ea7e60bfb31ff32cafe07e24839df573a5e7c2d33304082a5019bcd58", size = 4681443, upload-time = "2025-06-26T16:25:48.837Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/59/43/0bd96bece5f7eea14b7220476835a60d2b27f8e9ca99c175f37c085cb154/lxml-6.0.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:2cfcf84f1defed7e5798ef4f88aa25fcc52d279be731ce904789aa7ccfb7e8d2", size = 5074542, upload-time = "2025-06-26T16:25:51.65Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/e2/3d/32103036287a8ca012d8518071f8852c68f2b3bfe048cef2a0202eb05910/lxml-6.0.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:a52a4704811e2623b0324a18d41ad4b9fabf43ce5ff99b14e40a520e2190c851", size = 4729471, upload-time = "2025-06-26T16:25:54.571Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ca/a8/7be5d17df12d637d81854bd8648cd329f29640a61e9a72a3f77add4a311b/lxml-6.0.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c16304bba98f48a28ae10e32a8e75c349dd742c45156f297e16eeb1ba9287a1f", size = 5256285, upload-time = "2025-06-26T16:25:56.997Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/cd/d0/6cb96174c25e0d749932557c8d51d60c6e292c877b46fae616afa23ed31a/lxml-6.0.0-cp311-cp311-win32.whl", hash = "sha256:f8d19565ae3eb956d84da3ef367aa7def14a2735d05bd275cd54c0301f0d0d6c", size = 3612004, upload-time = "2025-06-26T16:25:59.11Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ca/77/6ad43b165dfc6dead001410adeb45e88597b25185f4479b7ca3b16a5808f/lxml-6.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:b2d71cdefda9424adff9a3607ba5bbfc60ee972d73c21c7e3c19e71037574816", size = 4003470, upload-time = "2025-06-26T16:26:01.655Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a0/bc/4c50ec0eb14f932a18efc34fc86ee936a66c0eb5f2fe065744a2da8a68b2/lxml-6.0.0-cp311-cp311-win_arm64.whl", hash = "sha256:8a2e76efbf8772add72d002d67a4c3d0958638696f541734304c7f28217a9cab", size = 3682477, upload-time = "2025-06-26T16:26:03.808Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/89/c3/d01d735c298d7e0ddcedf6f028bf556577e5ab4f4da45175ecd909c79378/lxml-6.0.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:78718d8454a6e928470d511bf8ac93f469283a45c354995f7d19e77292f26108", size = 8429515, upload-time = "2025-06-26T16:26:06.776Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/06/37/0e3eae3043d366b73da55a86274a590bae76dc45aa004b7042e6f97803b1/lxml-6.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:84ef591495ffd3f9dcabffd6391db7bb70d7230b5c35ef5148354a134f56f2be", size = 4601387, upload-time = "2025-06-26T16:26:09.511Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a3/28/e1a9a881e6d6e29dda13d633885d13acb0058f65e95da67841c8dd02b4a8/lxml-6.0.0-cp312-cp312-manylinux2010_i686.manylinux2014_i686.manylinux_2_12_i686.manylinux_2_17_i686.whl", hash = "sha256:2930aa001a3776c3e2601cb8e0a15d21b8270528d89cc308be4843ade546b9ab", size = 5228928, upload-time = "2025-06-26T16:26:12.337Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/9a/55/2cb24ea48aa30c99f805921c1c7860c1f45c0e811e44ee4e6a155668de06/lxml-6.0.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:219e0431ea8006e15005767f0351e3f7f9143e793e58519dc97fe9e07fae5563", size = 4952289, upload-time = "2025-06-28T18:47:25.602Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/31/c0/b25d9528df296b9a3306ba21ff982fc5b698c45ab78b94d18c2d6ae71fd9/lxml-6.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:bd5913b4972681ffc9718bc2d4c53cde39ef81415e1671ff93e9aa30b46595e7", size = 5111310, upload-time = "2025-06-28T18:47:28.136Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/e9/af/681a8b3e4f668bea6e6514cbcb297beb6de2b641e70f09d3d78655f4f44c/lxml-6.0.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:390240baeb9f415a82eefc2e13285016f9c8b5ad71ec80574ae8fa9605093cd7", size = 5025457, upload-time = "2025-06-26T16:26:15.068Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/99/b6/3a7971aa05b7be7dfebc7ab57262ec527775c2c3c5b2f43675cac0458cad/lxml-6.0.0-cp312-cp312-manylinux_2_27_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:d6e200909a119626744dd81bae409fc44134389e03fbf1d68ed2a55a2fb10991", size = 5657016, upload-time = "2025-07-03T19:19:06.008Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/69/f8/693b1a10a891197143c0673fcce5b75fc69132afa81a36e4568c12c8faba/lxml-6.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ca50bd612438258a91b5b3788c6621c1f05c8c478e7951899f492be42defc0da", size = 5257565, upload-time = "2025-06-26T16:26:17.906Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a8/96/e08ff98f2c6426c98c8964513c5dab8d6eb81dadcd0af6f0c538ada78d33/lxml-6.0.0-cp312-cp312-manylinux_2_31_armv7l.whl", hash = "sha256:c24b8efd9c0f62bad0439283c2c795ef916c5a6b75f03c17799775c7ae3c0c9e", size = 4713390, upload-time = "2025-06-26T16:26:20.292Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a8/83/6184aba6cc94d7413959f6f8f54807dc318fdcd4985c347fe3ea6937f772/lxml-6.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:afd27d8629ae94c5d863e32ab0e1d5590371d296b87dae0a751fb22bf3685741", size = 5066103, upload-time = "2025-06-26T16:26:22.765Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ee/01/8bf1f4035852d0ff2e36a4d9aacdbcc57e93a6cd35a54e05fa984cdf73ab/lxml-6.0.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:54c4855eabd9fc29707d30141be99e5cd1102e7d2258d2892314cf4c110726c3", size = 4791428, upload-time = "2025-06-26T16:26:26.461Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/29/31/c0267d03b16954a85ed6b065116b621d37f559553d9339c7dcc4943a76f1/lxml-6.0.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c907516d49f77f6cd8ead1322198bdfd902003c3c330c77a1c5f3cc32a0e4d16", size = 5678523, upload-time = "2025-07-03T19:19:09.837Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/5c/f7/5495829a864bc5f8b0798d2b52a807c89966523140f3d6fa3a58ab6720ea/lxml-6.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:36531f81c8214e293097cd2b7873f178997dae33d3667caaae8bdfb9666b76c0", size = 5281290, upload-time = "2025-06-26T16:26:29.406Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/79/56/6b8edb79d9ed294ccc4e881f4db1023af56ba451909b9ce79f2a2cd7c532/lxml-6.0.0-cp312-cp312-win32.whl", hash = "sha256:690b20e3388a7ec98e899fd54c924e50ba6693874aa65ef9cb53de7f7de9d64a", size = 3613495, upload-time = "2025-06-26T16:26:31.588Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/0b/1e/cc32034b40ad6af80b6fd9b66301fc0f180f300002e5c3eb5a6110a93317/lxml-6.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:310b719b695b3dd442cdfbbe64936b2f2e231bb91d998e99e6f0daf991a3eba3", size = 4014711, upload-time = "2025-06-26T16:26:33.723Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/55/10/dc8e5290ae4c94bdc1a4c55865be7e1f31dfd857a88b21cbba68b5fea61b/lxml-6.0.0-cp312-cp312-win_arm64.whl", hash = "sha256:8cb26f51c82d77483cdcd2b4a53cda55bbee29b3c2f3ddeb47182a2a9064e4eb", size = 3674431, upload-time = "2025-06-26T16:26:35.959Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/79/21/6e7c060822a3c954ff085e5e1b94b4a25757c06529eac91e550f3f5cd8b8/lxml-6.0.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6da7cd4f405fd7db56e51e96bff0865b9853ae70df0e6720624049da76bde2da", size = 8414372, upload-time = "2025-06-26T16:26:39.079Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a4/f6/051b1607a459db670fc3a244fa4f06f101a8adf86cda263d1a56b3a4f9d5/lxml-6.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b34339898bb556a2351a1830f88f751679f343eabf9cf05841c95b165152c9e7", size = 4593940, upload-time = "2025-06-26T16:26:41.891Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/8e/74/dd595d92a40bda3c687d70d4487b2c7eff93fd63b568acd64fedd2ba00fe/lxml-6.0.0-cp313-cp313-manylinux2010_i686.manylinux2014_i686.manylinux_2_12_i686.manylinux_2_17_i686.whl", hash = "sha256:51a5e4c61a4541bd1cd3ba74766d0c9b6c12d6a1a4964ef60026832aac8e79b3", size = 5214329, upload-time = "2025-06-26T16:26:44.669Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/52/46/3572761efc1bd45fcafb44a63b3b0feeb5b3f0066886821e94b0254f9253/lxml-6.0.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d18a25b19ca7307045581b18b3ec9ead2b1db5ccd8719c291f0cd0a5cec6cb81", size = 4947559, upload-time = "2025-06-28T18:47:31.091Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/94/8a/5e40de920e67c4f2eef9151097deb9b52d86c95762d8ee238134aff2125d/lxml-6.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d4f0c66df4386b75d2ab1e20a489f30dc7fd9a06a896d64980541506086be1f1", size = 5102143, upload-time = "2025-06-28T18:47:33.612Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/7c/4b/20555bdd75d57945bdabfbc45fdb1a36a1a0ff9eae4653e951b2b79c9209/lxml-6.0.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9f4b481b6cc3a897adb4279216695150bbe7a44c03daba3c894f49d2037e0a24", size = 5021931, upload-time = "2025-06-26T16:26:47.503Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/b6/6e/cf03b412f3763d4ca23b25e70c96a74cfece64cec3addf1c4ec639586b13/lxml-6.0.0-cp313-cp313-manylinux_2_27_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8a78d6c9168f5bcb20971bf3329c2b83078611fbe1f807baadc64afc70523b3a", size = 5645469, upload-time = "2025-07-03T19:19:13.32Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/d4/dd/39c8507c16db6031f8c1ddf70ed95dbb0a6d466a40002a3522c128aba472/lxml-6.0.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2ae06fbab4f1bb7db4f7c8ca9897dc8db4447d1a2b9bee78474ad403437bcc29", size = 5247467, upload-time = "2025-06-26T16:26:49.998Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/4d/56/732d49def0631ad633844cfb2664563c830173a98d5efd9b172e89a4800d/lxml-6.0.0-cp313-cp313-manylinux_2_31_armv7l.whl", hash = "sha256:1fa377b827ca2023244a06554c6e7dc6828a10aaf74ca41965c5d8a4925aebb4", size = 4720601, upload-time = "2025-06-26T16:26:52.564Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/8f/7f/6b956fab95fa73462bca25d1ea7fc8274ddf68fb8e60b78d56c03b65278e/lxml-6.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1676b56d48048a62ef77a250428d1f31f610763636e0784ba67a9740823988ca", size = 5060227, upload-time = "2025-06-26T16:26:55.054Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/97/06/e851ac2924447e8b15a294855caf3d543424364a143c001014d22c8ca94c/lxml-6.0.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:0e32698462aacc5c1cf6bdfebc9c781821b7e74c79f13e5ffc8bfe27c42b1abf", size = 4790637, upload-time = "2025-06-26T16:26:57.384Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/06/d4/fd216f3cd6625022c25b336c7570d11f4a43adbaf0a56106d3d496f727a7/lxml-6.0.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4d6036c3a296707357efb375cfc24bb64cd955b9ec731abf11ebb1e40063949f", size = 5662049, upload-time = "2025-07-03T19:19:16.409Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/52/03/0e764ce00b95e008d76b99d432f1807f3574fb2945b496a17807a1645dbd/lxml-6.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:7488a43033c958637b1a08cddc9188eb06d3ad36582cebc7d4815980b47e27ef", size = 5272430, upload-time = "2025-06-26T16:27:00.031Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/5f/01/d48cc141bc47bc1644d20fe97bbd5e8afb30415ec94f146f2f76d0d9d098/lxml-6.0.0-cp313-cp313-win32.whl", hash = "sha256:5fcd7d3b1d8ecb91445bd71b9c88bdbeae528fefee4f379895becfc72298d181", size = 3612896, upload-time = "2025-06-26T16:27:04.251Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/f4/87/6456b9541d186ee7d4cb53bf1b9a0d7f3b1068532676940fdd594ac90865/lxml-6.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:2f34687222b78fff795feeb799a7d44eca2477c3d9d3a46ce17d51a4f383e32e", size = 4013132, upload-time = "2025-06-26T16:27:06.415Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/b7/42/85b3aa8f06ca0d24962f8100f001828e1f1f1a38c954c16e71154ed7d53a/lxml-6.0.0-cp313-cp313-win_arm64.whl", hash = "sha256:21db1ec5525780fd07251636eb5f7acb84003e9382c72c18c542a87c416ade03", size = 3672642, upload-time = "2025-06-26T16:27:09.888Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/dc/04/a53941fb0d7c60eed08301942c70aa63650a59308d15e05eb823acbce41d/lxml-6.0.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:85b14a4689d5cff426c12eefe750738648706ea2753b20c2f973b2a000d3d261", size = 8407699, upload-time = "2025-06-26T16:27:28.167Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/44/d2/e1d4526e903afebe147f858322f1c0b36e44969d5c87e5d243c23f81987f/lxml-6.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f64ccf593916e93b8d36ed55401bb7fe9c7d5de3180ce2e10b08f82a8f397316", size = 4574678, upload-time = "2025-06-26T16:27:30.888Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/61/aa/b0a8ee233c00f2f437dbb6e7bd2df115a996d8211b7d03f4ab029b8e3378/lxml-6.0.0-cp39-cp39-manylinux2010_i686.manylinux2014_i686.manylinux_2_12_i686.manylinux_2_17_i686.whl", hash = "sha256:b372d10d17a701b0945f67be58fae4664fd056b85e0ff0fbc1e6c951cdbc0512", size = 5292694, upload-time = "2025-06-26T16:27:34.037Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/53/7f/e6f377489b2ac4289418b879c34ed664e5a1174b2a91590936ec4174e773/lxml-6.0.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:a674c0948789e9136d69065cc28009c1b1874c6ea340253db58be7622ce6398f", size = 5009177, upload-time = "2025-06-28T18:47:39.377Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/c6/05/ae239e997374680741b768044545251a29abc21ada42248638dbed749a0a/lxml-6.0.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:edf6e4c8fe14dfe316939711e3ece3f9a20760aabf686051b537a7562f4da91a", size = 5163787, upload-time = "2025-06-28T18:47:42.452Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/2a/da/4f27222570d008fd2386e19d6923af6e64c317ee6116bbb2b98247f98f31/lxml-6.0.0-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:048a930eb4572829604982e39a0c7289ab5dc8abc7fc9f5aabd6fbc08c154e93", size = 5075755, upload-time = "2025-06-26T16:27:36.611Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/1f/65/12552caf7b3e3b9b9aba12349370dc53a36d4058e4ed482811f1d262deee/lxml-6.0.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c0b5fa5eda84057a4f1bbb4bb77a8c28ff20ae7ce211588d698ae453e13c6281", size = 5297070, upload-time = "2025-06-26T16:27:39.232Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/3e/6a/f053a8369fdf4e3b8127a6ffb079c519167e684e956a1281392c5c3679b6/lxml-6.0.0-cp39-cp39-manylinux_2_31_armv7l.whl", hash = "sha256:c352fc8f36f7e9727db17adbf93f82499457b3d7e5511368569b4c5bd155a922", size = 4779864, upload-time = "2025-06-26T16:27:41.713Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/df/7b/b2a392ad34ce37a17d1cf3aec303e15125768061cf0e355a92d292d20d37/lxml-6.0.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:8db5dc617cb937ae17ff3403c3a70a7de9df4852a046f93e71edaec678f721d0", size = 5122039, upload-time = "2025-06-26T16:27:44.252Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/80/0e/6459ff8ae7d87188e1f99f11691d0f32831caa6429599c3b289de9f08b21/lxml-6.0.0-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:2181e4b1d07dde53986023482673c0f1fba5178ef800f9ab95ad791e8bdded6a", size = 4805117, upload-time = "2025-06-26T16:27:46.769Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ca/78/4186f573805ff623d28a8736788a3b29eeaf589afdcf0233de2c9bb9fc50/lxml-6.0.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:b3c98d5b24c6095e89e03d65d5c574705be3d49c0d8ca10c17a8a4b5201b72f5", size = 5322300, upload-time = "2025-06-26T16:27:49.278Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/e8/97/352e07992901473529c8e19dbfdba6430ba6a37f6b46a4d0fa93321f8fee/lxml-6.0.0-cp39-cp39-win32.whl", hash = "sha256:04d67ceee6db4bcb92987ccb16e53bef6b42ced872509f333c04fb58a3315256", size = 3615832, upload-time = "2025-06-26T16:27:51.728Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/71/93/8f3b880e2618e548fb0ca157349abb526d81cb4f01ef5ea3a0f22bd4d0df/lxml-6.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:e0b1520ef900e9ef62e392dd3d7ae4f5fa224d1dd62897a792cf353eb20b6cae", size = 4038551, upload-time = "2025-06-26T16:27:54.193Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/e7/8a/046cbf5b262dd2858c6e65833339100fd5f1c017b37b26bc47c92d4584d7/lxml-6.0.0-cp39-cp39-win_arm64.whl", hash = "sha256:e35e8aaaf3981489f42884b59726693de32dabfc438ac10ef4eb3409961fd402", size = 3684237, upload-time = "2025-06-26T16:27:57.117Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/66/e1/2c22a3cff9e16e1d717014a1e6ec2bf671bf56ea8716bb64466fcf820247/lxml-6.0.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:dbdd7679a6f4f08152818043dbb39491d1af3332128b3752c3ec5cebc0011a72", size = 3898804, upload-time = "2025-06-26T16:27:59.751Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/2b/3a/d68cbcb4393a2a0a867528741fafb7ce92dac5c9f4a1680df98e5e53e8f5/lxml-6.0.0-pp310-pypy310_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:40442e2a4456e9910875ac12951476d36c0870dcb38a68719f8c4686609897c4", size = 4216406, upload-time = "2025-06-28T18:47:45.518Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/15/8f/d9bfb13dff715ee3b2a1ec2f4a021347ea3caf9aba93dea0cfe54c01969b/lxml-6.0.0-pp310-pypy310_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:db0efd6bae1c4730b9c863fc4f5f3c0fa3e8f05cae2c44ae141cb9dfc7d091dc", size = 4326455, upload-time = "2025-06-28T18:47:48.411Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/01/8b/fde194529ee8a27e6f5966d7eef05fa16f0567e4a8e8abc3b855ef6b3400/lxml-6.0.0-pp310-pypy310_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9ab542c91f5a47aaa58abdd8ea84b498e8e49fe4b883d67800017757a3eb78e8", size = 4268788, upload-time = "2025-06-26T16:28:02.776Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/99/a8/3b8e2581b4f8370fc9e8dc343af4abdfadd9b9229970fc71e67bd31c7df1/lxml-6.0.0-pp310-pypy310_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:013090383863b72c62a702d07678b658fa2567aa58d373d963cca245b017e065", size = 4411394, upload-time = "2025-06-26T16:28:05.179Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/e7/a5/899a4719e02ff4383f3f96e5d1878f882f734377f10dfb69e73b5f223e44/lxml-6.0.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:c86df1c9af35d903d2b52d22ea3e66db8058d21dc0f59842ca5deb0595921141", size = 3517946, upload-time = "2025-06-26T16:28:07.665Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/93/e3/ef14f1d23aea1dec1eccbe2c07a93b6d0be693fd9d5f248a47155e436701/lxml-6.0.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:4337e4aec93b7c011f7ee2e357b0d30562edd1955620fdd4aeab6aacd90d43c5", size = 3892325, upload-time = "2025-06-26T16:28:10.024Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/09/8a/1410b9e1ec43f606f9aac0661d09892509d86032e229711798906e1b5e7a/lxml-6.0.0-pp39-pypy39_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ae74f7c762270196d2dda56f8dd7309411f08a4084ff2dfcc0b095a218df2e06", size = 4210839, upload-time = "2025-06-28T18:47:50.768Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/79/cb/6696ce0d1712c5ae94b18bdf225086a5fb04b23938ac4d2011b323b3860b/lxml-6.0.0-pp39-pypy39_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:059c4cbf3973a621b62ea3132934ae737da2c132a788e6cfb9b08d63a0ef73f9", size = 4321235, upload-time = "2025-06-28T18:47:53.338Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/f3/98/04997f61d720cf320a0daee66b3096e3a3b57453e15549c14b87058c2acd/lxml-6.0.0-pp39-pypy39_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:17f090a9bc0ce8da51a5632092f98a7e7f84bca26f33d161a98b57f7fb0004ca", size = 4265071, upload-time = "2025-06-26T16:28:12.367Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/e6/86/e5f6fa80154a5f5bf2c1e89d6265892299942edeb115081ca72afe7c7199/lxml-6.0.0-pp39-pypy39_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9da022c14baeec36edfcc8daf0e281e2f55b950249a455776f0d1adeeada4734", size = 4406816, upload-time = "2025-06-26T16:28:14.744Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/18/a6/ae69e0e6f5fb6293eb8cbfbf8a259e37d71608bbae3658a768dd26b69f3e/lxml-6.0.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a55da151d0b0c6ab176b4e761670ac0e2667817a1e0dadd04a01d0561a219349", size = 3515499, upload-time = "2025-06-26T16:28:17.035Z" }, ] [[package]] name = "matplotlib" version = "3.9.0" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } dependencies = [ - { name = "contourpy", version = "1.3.0", source = { registry = "https://mirrors.aliyun.com/pypi/simple" }, marker = "python_full_version < '3.10'" }, - { name = "contourpy", version = "1.3.2", source = { registry = "https://mirrors.aliyun.com/pypi/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "contourpy", version = "1.3.0", source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" }, marker = "python_full_version < '3.10'" }, + { name = "contourpy", version = "1.3.2", source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" }, marker = "python_full_version >= '3.10'" }, { name = "cycler" }, { name = "fonttools" }, { name = "importlib-resources", marker = "python_full_version < '3.10'" }, - { name = "kiwisolver", version = "1.4.7", source = { registry = "https://mirrors.aliyun.com/pypi/simple" }, marker = "python_full_version < '3.10'" }, - { name = "kiwisolver", version = "1.4.8", source = { registry = "https://mirrors.aliyun.com/pypi/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "numpy", version = "2.0.2", source = { registry = "https://mirrors.aliyun.com/pypi/simple" }, marker = "python_full_version < '3.10'" }, - { name = "numpy", version = "2.2.6", source = { registry = "https://mirrors.aliyun.com/pypi/simple" }, marker = "python_full_version == '3.10.*'" }, - { name = "numpy", version = "2.3.1", source = { registry = "https://mirrors.aliyun.com/pypi/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "kiwisolver", version = "1.4.7", source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" }, marker = "python_full_version < '3.10'" }, + { name = "kiwisolver", version = "1.4.8", source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" }, marker = "python_full_version < '3.10'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" }, marker = "python_full_version == '3.10.*'" }, + { name = "numpy", version = "2.3.1", source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" }, marker = "python_full_version >= '3.11'" }, { name = "packaging" }, { name = "pillow" }, { name = "pyparsing" }, { name = "python-dateutil" }, ] -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/c5/a4/a7236bf8b0137deff48737c6ccf2154ef4486e57c6a5b7c309bf515992bd/matplotlib-3.9.0.tar.gz", hash = "sha256:e6d29ea6c19e34b30fb7d88b7081f869a03014f66fe06d62cc77d5a6ea88ed7a" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/c5/a4/a7236bf8b0137deff48737c6ccf2154ef4486e57c6a5b7c309bf515992bd/matplotlib-3.9.0.tar.gz", hash = "sha256:e6d29ea6c19e34b30fb7d88b7081f869a03014f66fe06d62cc77d5a6ea88ed7a", size = 36069890, upload-time = "2024-05-15T23:38:15.591Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/03/a0/669c37c6e6737de909c19eb30d7b17d1d6be6d896aa2f5dc63e66231b7f4/matplotlib-3.9.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2bcee1dffaf60fe7656183ac2190bd630842ff87b3153afb3e384d966b57fe56" }, - { url = "https://mirrors.aliyun.com/pypi/packages/f7/1f/a0f1a692af13b85335a9d7bd226fc0cae8d0062f1fb940980bc9b38d3b5c/matplotlib-3.9.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3f988bafb0fa39d1074ddd5bacd958c853e11def40800c5824556eb630f94d3b" }, - { url = "https://mirrors.aliyun.com/pypi/packages/fc/3d/58182994c955ff2fc722f883e96ad9de3439d3ead668fce33ad1c3fe4242/matplotlib-3.9.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fe428e191ea016bb278758c8ee82a8129c51d81d8c4bc0846c09e7e8e9057241" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a7/68/16e7b9154fae61fb29f0f3450b39b855b89e6d2c598d67302e70f96883af/matplotlib-3.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eaf3978060a106fab40c328778b148f590e27f6fa3cd15a19d6892575bce387d" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ef/66/ad8d69aa13fd6e1b09fe7b91b512d07eaf175a0b0e7c4bcba87e8d2e01d6/matplotlib-3.9.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:2e7f03e5cbbfacdd48c8ea394d365d91ee8f3cae7e6ec611409927b5ed997ee4" }, - { url = "https://mirrors.aliyun.com/pypi/packages/b9/55/6138ad64c789bad13d18e0240da75e73dbd364fdc0aa670fff87a5eef5ab/matplotlib-3.9.0-cp310-cp310-win_amd64.whl", hash = "sha256:13beb4840317d45ffd4183a778685e215939be7b08616f431c7795276e067463" }, - { url = "https://mirrors.aliyun.com/pypi/packages/09/49/569b50eb5e5a75b61f7a0bacb6029e9ea9c8a1190df55a39a31789244e09/matplotlib-3.9.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:063af8587fceeac13b0936c42a2b6c732c2ab1c98d38abc3337e430e1ff75e38" }, - { url = "https://mirrors.aliyun.com/pypi/packages/f4/b4/c1700c8b2ff8d379c187f37055e61bd7a611eb2c544466600a7734793d54/matplotlib-3.9.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9a2fa6d899e17ddca6d6526cf6e7ba677738bf2a6a9590d702c277204a7c6152" }, - { url = "https://mirrors.aliyun.com/pypi/packages/bc/9e/b09513717f60071fefcb28c7c783aa658f939f3d4ba1cefb6c05138c6657/matplotlib-3.9.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:550cdda3adbd596078cca7d13ed50b77879104e2e46392dcd7c75259d8f00e85" }, - { url = "https://mirrors.aliyun.com/pypi/packages/41/f1/115e7c79b4506b4f0533acba742babd9718ff92eeca6d4205843173b6173/matplotlib-3.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:76cce0f31b351e3551d1f3779420cf8f6ec0d4a8cf9c0237a3b549fd28eb4abb" }, - { url = "https://mirrors.aliyun.com/pypi/packages/7a/a2/5c1a64d188c4cae7368ebb8c28a354e3f262cb86b28c38ffa6ee3ad532ba/matplotlib-3.9.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c53aeb514ccbbcbab55a27f912d79ea30ab21ee0531ee2c09f13800efb272674" }, - { url = "https://mirrors.aliyun.com/pypi/packages/c6/c8/6936e8c7b279a5abac82f399d8d72ac25da530cf5f78a0e40063e492558c/matplotlib-3.9.0-cp311-cp311-win_amd64.whl", hash = "sha256:a5be985db2596d761cdf0c2eaf52396f26e6a64ab46bd8cd810c48972349d1be" }, - { url = "https://mirrors.aliyun.com/pypi/packages/af/43/54b7dfd91ed33da92973dc5d50231ef7b2d0622c8ae72babbad26bc1a319/matplotlib-3.9.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:c79f3a585f1368da6049318bdf1f85568d8d04b2e89fc24b7e02cc9b62017382" }, - { url = "https://mirrors.aliyun.com/pypi/packages/4c/88/15bbb864b0d871707294ff325f9ffd0dfa486db2637eb34dd5f8dcf5b9bf/matplotlib-3.9.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:bdd1ecbe268eb3e7653e04f451635f0fb0f77f07fd070242b44c076c9106da84" }, - { url = "https://mirrors.aliyun.com/pypi/packages/57/af/8ed9b852fc041fc5bd101f9964682874ccbf24f9c08323edee6a1600eb04/matplotlib-3.9.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d38e85a1a6d732f645f1403ce5e6727fd9418cd4574521d5803d3d94911038e5" }, - { url = "https://mirrors.aliyun.com/pypi/packages/f4/ff/da311c1e679eed54d3aed67754a4e859bd3b773060c2fa187962e60fcb85/matplotlib-3.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0a490715b3b9984fa609116481b22178348c1a220a4499cda79132000a79b4db" }, - { url = "https://mirrors.aliyun.com/pypi/packages/db/8c/1014baa6776503914865d87e1e8a803ee9faa7b722ca5e655463b79c966e/matplotlib-3.9.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8146ce83cbc5dc71c223a74a1996d446cd35cfb6a04b683e1446b7e6c73603b7" }, - { url = "https://mirrors.aliyun.com/pypi/packages/17/91/febbb6c1063ae05a62fdbe038c2917b348b1b35f0482cee4738e6870a44a/matplotlib-3.9.0-cp312-cp312-win_amd64.whl", hash = "sha256:d91a4ffc587bacf5c4ce4ecfe4bcd23a4b675e76315f2866e588686cc97fccdf" }, - { url = "https://mirrors.aliyun.com/pypi/packages/f9/17/7fae59bf7c5ff97abaea6baad2d21cc3f68aed2c82323b0cdaac743959d5/matplotlib-3.9.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:616fabf4981a3b3c5a15cd95eba359c8489c4e20e03717aea42866d8d0465956" }, - { url = "https://mirrors.aliyun.com/pypi/packages/9c/2b/3b82a88735fb2fff513990963ce288f67b78b08c9ec528210387fb3a2757/matplotlib-3.9.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:cd53c79fd02f1c1808d2cfc87dd3cf4dbc63c5244a58ee7944497107469c8d8a" }, - { url = "https://mirrors.aliyun.com/pypi/packages/8a/de/ed28038ba354617c442a8b09c1fc4848ac50460747577c4ebfb5ef71de53/matplotlib-3.9.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:06a478f0d67636554fa78558cfbcd7b9dba85b51f5c3b5a0c9be49010cf5f321" }, - { url = "https://mirrors.aliyun.com/pypi/packages/d3/6d/45837c5b3d0005a5a9b04729b218a16bf3aa195701c6b33b2cc39ae943b6/matplotlib-3.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:81c40af649d19c85f8073e25e5806926986806fa6d54be506fbf02aef47d5a89" }, - { url = "https://mirrors.aliyun.com/pypi/packages/96/92/7a534d63958f6ec837857b112b50ac29996e60f39d4b55ae39c6e64c8a1a/matplotlib-3.9.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:52146fc3bd7813cc784562cb93a15788be0b2875c4655e2cc6ea646bfa30344b" }, - { url = "https://mirrors.aliyun.com/pypi/packages/58/ea/7f029057338138643d745fd4a88d745f8ec810ef81652cc43103324ec549/matplotlib-3.9.0-cp39-cp39-win_amd64.whl", hash = "sha256:0fc51eaa5262553868461c083d9adadb11a6017315f3a757fc45ec6ec5f02888" }, - { url = "https://mirrors.aliyun.com/pypi/packages/e8/af/824734d3b5381688da89748c0ad71a3c414bf5322f55ccbb049197ce5d19/matplotlib-3.9.0-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:bd4f2831168afac55b881db82a7730992aa41c4f007f1913465fb182d6fb20c0" }, - { url = "https://mirrors.aliyun.com/pypi/packages/fc/5f/2bb0cd3a28f1d4ede70d3d47ded36dcf0d0cbe012bcafc4cd8053eb53d1c/matplotlib-3.9.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:290d304e59be2b33ef5c2d768d0237f5bd132986bdcc66f80bc9bcc300066a03" }, - { url = "https://mirrors.aliyun.com/pypi/packages/2e/62/ce7c20b5bbf49bbbd679400d8c38a17d40f0eaaece364f7e602fe8112d75/matplotlib-3.9.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ff2e239c26be4f24bfa45860c20ffccd118d270c5b5d081fa4ea409b5469fcd" }, - { url = "https://mirrors.aliyun.com/pypi/packages/c4/d4/668a809e3e12cb20fc73f34f7fd886a314e512073484bea48fa3480687ad/matplotlib-3.9.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:af4001b7cae70f7eaacfb063db605280058246de590fa7874f00f62259f2df7e" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/03/a0/669c37c6e6737de909c19eb30d7b17d1d6be6d896aa2f5dc63e66231b7f4/matplotlib-3.9.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2bcee1dffaf60fe7656183ac2190bd630842ff87b3153afb3e384d966b57fe56", size = 7883911, upload-time = "2024-05-15T23:37:04.927Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/f7/1f/a0f1a692af13b85335a9d7bd226fc0cae8d0062f1fb940980bc9b38d3b5c/matplotlib-3.9.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3f988bafb0fa39d1074ddd5bacd958c853e11def40800c5824556eb630f94d3b", size = 7765903, upload-time = "2024-05-15T23:37:08.116Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/fc/3d/58182994c955ff2fc722f883e96ad9de3439d3ead668fce33ad1c3fe4242/matplotlib-3.9.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fe428e191ea016bb278758c8ee82a8129c51d81d8c4bc0846c09e7e8e9057241", size = 8183679, upload-time = "2024-05-15T23:37:09.974Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a7/68/16e7b9154fae61fb29f0f3450b39b855b89e6d2c598d67302e70f96883af/matplotlib-3.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eaf3978060a106fab40c328778b148f590e27f6fa3cd15a19d6892575bce387d", size = 8296303, upload-time = "2024-05-15T23:37:12.202Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ef/66/ad8d69aa13fd6e1b09fe7b91b512d07eaf175a0b0e7c4bcba87e8d2e01d6/matplotlib-3.9.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:2e7f03e5cbbfacdd48c8ea394d365d91ee8f3cae7e6ec611409927b5ed997ee4", size = 8594927, upload-time = "2024-05-15T23:37:14.735Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/b9/55/6138ad64c789bad13d18e0240da75e73dbd364fdc0aa670fff87a5eef5ab/matplotlib-3.9.0-cp310-cp310-win_amd64.whl", hash = "sha256:13beb4840317d45ffd4183a778685e215939be7b08616f431c7795276e067463", size = 7954080, upload-time = "2024-05-15T23:37:17.146Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/09/49/569b50eb5e5a75b61f7a0bacb6029e9ea9c8a1190df55a39a31789244e09/matplotlib-3.9.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:063af8587fceeac13b0936c42a2b6c732c2ab1c98d38abc3337e430e1ff75e38", size = 7893678, upload-time = "2024-05-15T23:37:20.035Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/f4/b4/c1700c8b2ff8d379c187f37055e61bd7a611eb2c544466600a7734793d54/matplotlib-3.9.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9a2fa6d899e17ddca6d6526cf6e7ba677738bf2a6a9590d702c277204a7c6152", size = 7775027, upload-time = "2024-05-15T23:37:22.783Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/bc/9e/b09513717f60071fefcb28c7c783aa658f939f3d4ba1cefb6c05138c6657/matplotlib-3.9.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:550cdda3adbd596078cca7d13ed50b77879104e2e46392dcd7c75259d8f00e85", size = 8192694, upload-time = "2024-05-15T23:37:24.789Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/41/f1/115e7c79b4506b4f0533acba742babd9718ff92eeca6d4205843173b6173/matplotlib-3.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:76cce0f31b351e3551d1f3779420cf8f6ec0d4a8cf9c0237a3b549fd28eb4abb", size = 8307002, upload-time = "2024-05-15T23:37:27.243Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/7a/a2/5c1a64d188c4cae7368ebb8c28a354e3f262cb86b28c38ffa6ee3ad532ba/matplotlib-3.9.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c53aeb514ccbbcbab55a27f912d79ea30ab21ee0531ee2c09f13800efb272674", size = 8600548, upload-time = "2024-05-15T23:37:29.701Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/c6/c8/6936e8c7b279a5abac82f399d8d72ac25da530cf5f78a0e40063e492558c/matplotlib-3.9.0-cp311-cp311-win_amd64.whl", hash = "sha256:a5be985db2596d761cdf0c2eaf52396f26e6a64ab46bd8cd810c48972349d1be", size = 7963606, upload-time = "2024-05-15T23:37:32.803Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/af/43/54b7dfd91ed33da92973dc5d50231ef7b2d0622c8ae72babbad26bc1a319/matplotlib-3.9.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:c79f3a585f1368da6049318bdf1f85568d8d04b2e89fc24b7e02cc9b62017382", size = 7884612, upload-time = "2024-05-15T23:37:35.246Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/4c/88/15bbb864b0d871707294ff325f9ffd0dfa486db2637eb34dd5f8dcf5b9bf/matplotlib-3.9.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:bdd1ecbe268eb3e7653e04f451635f0fb0f77f07fd070242b44c076c9106da84", size = 7769852, upload-time = "2024-05-15T23:37:37.21Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/57/af/8ed9b852fc041fc5bd101f9964682874ccbf24f9c08323edee6a1600eb04/matplotlib-3.9.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d38e85a1a6d732f645f1403ce5e6727fd9418cd4574521d5803d3d94911038e5", size = 8185646, upload-time = "2024-05-15T23:37:39.971Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/f4/ff/da311c1e679eed54d3aed67754a4e859bd3b773060c2fa187962e60fcb85/matplotlib-3.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0a490715b3b9984fa609116481b22178348c1a220a4499cda79132000a79b4db", size = 8298411, upload-time = "2024-05-15T23:37:42.471Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/db/8c/1014baa6776503914865d87e1e8a803ee9faa7b722ca5e655463b79c966e/matplotlib-3.9.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8146ce83cbc5dc71c223a74a1996d446cd35cfb6a04b683e1446b7e6c73603b7", size = 8591196, upload-time = "2024-05-15T23:37:44.94Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/17/91/febbb6c1063ae05a62fdbe038c2917b348b1b35f0482cee4738e6870a44a/matplotlib-3.9.0-cp312-cp312-win_amd64.whl", hash = "sha256:d91a4ffc587bacf5c4ce4ecfe4bcd23a4b675e76315f2866e588686cc97fccdf", size = 7968581, upload-time = "2024-05-15T23:37:47.839Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/f9/17/7fae59bf7c5ff97abaea6baad2d21cc3f68aed2c82323b0cdaac743959d5/matplotlib-3.9.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:616fabf4981a3b3c5a15cd95eba359c8489c4e20e03717aea42866d8d0465956", size = 7884763, upload-time = "2024-05-15T23:37:50.374Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/9c/2b/3b82a88735fb2fff513990963ce288f67b78b08c9ec528210387fb3a2757/matplotlib-3.9.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:cd53c79fd02f1c1808d2cfc87dd3cf4dbc63c5244a58ee7944497107469c8d8a", size = 7766727, upload-time = "2024-05-15T23:37:52.439Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/8a/de/ed28038ba354617c442a8b09c1fc4848ac50460747577c4ebfb5ef71de53/matplotlib-3.9.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:06a478f0d67636554fa78558cfbcd7b9dba85b51f5c3b5a0c9be49010cf5f321", size = 8185424, upload-time = "2024-05-15T23:37:54.608Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/d3/6d/45837c5b3d0005a5a9b04729b218a16bf3aa195701c6b33b2cc39ae943b6/matplotlib-3.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:81c40af649d19c85f8073e25e5806926986806fa6d54be506fbf02aef47d5a89", size = 8298763, upload-time = "2024-05-15T23:37:57.035Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/96/92/7a534d63958f6ec837857b112b50ac29996e60f39d4b55ae39c6e64c8a1a/matplotlib-3.9.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:52146fc3bd7813cc784562cb93a15788be0b2875c4655e2cc6ea646bfa30344b", size = 8597376, upload-time = "2024-05-15T23:37:59.529Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/58/ea/7f029057338138643d745fd4a88d745f8ec810ef81652cc43103324ec549/matplotlib-3.9.0-cp39-cp39-win_amd64.whl", hash = "sha256:0fc51eaa5262553868461c083d9adadb11a6017315f3a757fc45ec6ec5f02888", size = 7949603, upload-time = "2024-05-15T23:38:02.935Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/e8/af/824734d3b5381688da89748c0ad71a3c414bf5322f55ccbb049197ce5d19/matplotlib-3.9.0-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:bd4f2831168afac55b881db82a7730992aa41c4f007f1913465fb182d6fb20c0", size = 7873642, upload-time = "2024-05-15T23:38:05.145Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/fc/5f/2bb0cd3a28f1d4ede70d3d47ded36dcf0d0cbe012bcafc4cd8053eb53d1c/matplotlib-3.9.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:290d304e59be2b33ef5c2d768d0237f5bd132986bdcc66f80bc9bcc300066a03", size = 7757288, upload-time = "2024-05-15T23:38:07.567Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/2e/62/ce7c20b5bbf49bbbd679400d8c38a17d40f0eaaece364f7e602fe8112d75/matplotlib-3.9.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ff2e239c26be4f24bfa45860c20ffccd118d270c5b5d081fa4ea409b5469fcd", size = 8298454, upload-time = "2024-05-15T23:38:10.23Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/c4/d4/668a809e3e12cb20fc73f34f7fd886a314e512073484bea48fa3480687ad/matplotlib-3.9.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:af4001b7cae70f7eaacfb063db605280058246de590fa7874f00f62259f2df7e", size = 7974664, upload-time = "2024-05-15T23:38:12.481Z" }, ] [[package]] @@ -930,6 +942,7 @@ source = { virtual = "." } dependencies = [ { name = "aiofiles" }, { name = "aiomysql" }, + { name = "aiosqlite" }, { name = "fastapi" }, { name = "httpx" }, { name = "jieba" }, @@ -953,6 +966,7 @@ dependencies = [ requires-dist = [ { name = "aiofiles", specifier = "~=23.2.1" }, { name = "aiomysql", specifier = "==0.2.0" }, + { name = "aiosqlite", specifier = ">=0.21.0" }, { name = "fastapi", specifier = "==0.110.2" }, { name = "httpx", specifier = "==0.24.0" }, { name = "jieba", specifier = "==0.42.1" }, @@ -975,131 +989,131 @@ requires-dist = [ [[package]] name = "numpy" version = "2.0.2" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } resolution-markers = [ "python_full_version < '3.10' and platform_machine == 'arm64' and sys_platform == 'darwin'", "python_full_version < '3.10' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version < '3.10' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.10' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.10' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/a9/75/10dd1f8116a8b796cb2c737b674e02d02e80454bda953fa7e65d8c12b016/numpy-2.0.2.tar.gz", hash = "sha256:883c987dee1880e2a864ab0dc9892292582510604156762362d9326444636e78" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a9/75/10dd1f8116a8b796cb2c737b674e02d02e80454bda953fa7e65d8c12b016/numpy-2.0.2.tar.gz", hash = "sha256:883c987dee1880e2a864ab0dc9892292582510604156762362d9326444636e78", size = 18902015, upload-time = "2024-08-26T20:19:40.945Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/21/91/3495b3237510f79f5d81f2508f9f13fea78ebfdf07538fc7444badda173d/numpy-2.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:51129a29dbe56f9ca83438b706e2e69a39892b5eda6cedcb6b0c9fdc9b0d3ece" }, - { url = "https://mirrors.aliyun.com/pypi/packages/05/33/26178c7d437a87082d11019292dce6d3fe6f0e9026b7b2309cbf3e489b1d/numpy-2.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f15975dfec0cf2239224d80e32c3170b1d168335eaedee69da84fbe9f1f9cd04" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ec/31/cc46e13bf07644efc7a4bf68df2df5fb2a1a88d0cd0da9ddc84dc0033e51/numpy-2.0.2-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:8c5713284ce4e282544c68d1c3b2c7161d38c256d2eefc93c1d683cf47683e66" }, - { url = "https://mirrors.aliyun.com/pypi/packages/6e/16/7bfcebf27bb4f9d7ec67332ffebee4d1bf085c84246552d52dbb548600e7/numpy-2.0.2-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:becfae3ddd30736fe1889a37f1f580e245ba79a5855bff5f2a29cb3ccc22dd7b" }, - { url = "https://mirrors.aliyun.com/pypi/packages/f9/a3/561c531c0e8bf082c5bef509d00d56f82e0ea7e1e3e3a7fc8fa78742a6e5/numpy-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2da5960c3cf0df7eafefd806d4e612c5e19358de82cb3c343631188991566ccd" }, - { url = "https://mirrors.aliyun.com/pypi/packages/fa/66/f7177ab331876200ac7563a580140643d1179c8b4b6a6b0fc9838de2a9b8/numpy-2.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:496f71341824ed9f3d2fd36cf3ac57ae2e0165c143b55c3a035ee219413f3318" }, - { url = "https://mirrors.aliyun.com/pypi/packages/25/7f/0b209498009ad6453e4efc2c65bcdf0ae08a182b2b7877d7ab38a92dc542/numpy-2.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a61ec659f68ae254e4d237816e33171497e978140353c0c2038d46e63282d0c8" }, - { url = "https://mirrors.aliyun.com/pypi/packages/3e/df/2619393b1e1b565cd2d4c4403bdd979621e2c4dea1f8532754b2598ed63b/numpy-2.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d731a1c6116ba289c1e9ee714b08a8ff882944d4ad631fd411106a30f083c326" }, - { url = "https://mirrors.aliyun.com/pypi/packages/22/ad/77e921b9f256d5da36424ffb711ae79ca3f451ff8489eeca544d0701d74a/numpy-2.0.2-cp310-cp310-win32.whl", hash = "sha256:984d96121c9f9616cd33fbd0618b7f08e0cfc9600a7ee1d6fd9b239186d19d97" }, - { url = "https://mirrors.aliyun.com/pypi/packages/10/05/3442317535028bc29cf0c0dd4c191a4481e8376e9f0db6bcf29703cadae6/numpy-2.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:c7b0be4ef08607dd04da4092faee0b86607f111d5ae68036f16cc787e250a131" }, - { url = "https://mirrors.aliyun.com/pypi/packages/8b/cf/034500fb83041aa0286e0fb16e7c76e5c8b67c0711bb6e9e9737a717d5fe/numpy-2.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:49ca4decb342d66018b01932139c0961a8f9ddc7589611158cb3c27cbcf76448" }, - { url = "https://mirrors.aliyun.com/pypi/packages/4a/d9/32de45561811a4b87fbdee23b5797394e3d1504b4a7cf40c10199848893e/numpy-2.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:11a76c372d1d37437857280aa142086476136a8c0f373b2e648ab2c8f18fb195" }, - { url = "https://mirrors.aliyun.com/pypi/packages/c1/ca/2f384720020c7b244d22508cb7ab23d95f179fcfff33c31a6eeba8d6c512/numpy-2.0.2-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:807ec44583fd708a21d4a11d94aedf2f4f3c3719035c76a2bbe1fe8e217bdc57" }, - { url = "https://mirrors.aliyun.com/pypi/packages/0e/78/a3e4f9fb6aa4e6fdca0c5428e8ba039408514388cf62d89651aade838269/numpy-2.0.2-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:8cafab480740e22f8d833acefed5cc87ce276f4ece12fdaa2e8903db2f82897a" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a0/72/cfc3a1beb2caf4efc9d0b38a15fe34025230da27e1c08cc2eb9bfb1c7231/numpy-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a15f476a45e6e5a3a79d8a14e62161d27ad897381fecfa4a09ed5322f2085669" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ba/a8/c17acf65a931ce551fee11b72e8de63bf7e8a6f0e21add4c937c83563538/numpy-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13e689d772146140a252c3a28501da66dfecd77490b498b168b501835041f951" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ba/86/8767f3d54f6ae0165749f84648da9dcc8cd78ab65d415494962c86fac80f/numpy-2.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9ea91dfb7c3d1c56a0e55657c0afb38cf1eeae4544c208dc465c3c9f3a7c09f9" }, - { url = "https://mirrors.aliyun.com/pypi/packages/df/87/f76450e6e1c14e5bb1eae6836478b1028e096fd02e85c1c37674606ab752/numpy-2.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c1c9307701fec8f3f7a1e6711f9089c06e6284b3afbbcd259f7791282d660a15" }, - { url = "https://mirrors.aliyun.com/pypi/packages/5c/ca/0f0f328e1e59f73754f06e1adfb909de43726d4f24c6a3f8805f34f2b0fa/numpy-2.0.2-cp311-cp311-win32.whl", hash = "sha256:a392a68bd329eafac5817e5aefeb39038c48b671afd242710b451e76090e81f4" }, - { url = "https://mirrors.aliyun.com/pypi/packages/eb/57/3a3f14d3a759dcf9bf6e9eda905794726b758819df4663f217d658a58695/numpy-2.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:286cd40ce2b7d652a6f22efdfc6d1edf879440e53e76a75955bc0c826c7e64dc" }, - { url = "https://mirrors.aliyun.com/pypi/packages/45/40/2e117be60ec50d98fa08c2f8c48e09b3edea93cfcabd5a9ff6925d54b1c2/numpy-2.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:df55d490dea7934f330006d0f81e8551ba6010a5bf035a249ef61a94f21c500b" }, - { url = "https://mirrors.aliyun.com/pypi/packages/46/92/1b8b8dee833f53cef3e0a3f69b2374467789e0bb7399689582314df02651/numpy-2.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8df823f570d9adf0978347d1f926b2a867d5608f434a7cff7f7908c6570dcf5e" }, - { url = "https://mirrors.aliyun.com/pypi/packages/7f/19/e2793bde475f1edaea6945be141aef6c8b4c669b90c90a300a8954d08f0a/numpy-2.0.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:9a92ae5c14811e390f3767053ff54eaee3bf84576d99a2456391401323f4ec2c" }, - { url = "https://mirrors.aliyun.com/pypi/packages/e3/ff/ddf6dac2ff0dd50a7327bcdba45cb0264d0e96bb44d33324853f781a8f3c/numpy-2.0.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:a842d573724391493a97a62ebbb8e731f8a5dcc5d285dfc99141ca15a3302d0c" }, - { url = "https://mirrors.aliyun.com/pypi/packages/72/21/67f36eac8e2d2cd652a2e69595a54128297cdcb1ff3931cfc87838874bd4/numpy-2.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c05e238064fc0610c840d1cf6a13bf63d7e391717d247f1bf0318172e759e692" }, - { url = "https://mirrors.aliyun.com/pypi/packages/39/68/e9f1126d757653496dbc096cb429014347a36b228f5a991dae2c6b6cfd40/numpy-2.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0123ffdaa88fa4ab64835dcbde75dcdf89c453c922f18dced6e27c90d1d0ec5a" }, - { url = "https://mirrors.aliyun.com/pypi/packages/d1/e9/1f5333281e4ebf483ba1c888b1d61ba7e78d7e910fdd8e6499667041cc35/numpy-2.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:96a55f64139912d61de9137f11bf39a55ec8faec288c75a54f93dfd39f7eb40c" }, - { url = "https://mirrors.aliyun.com/pypi/packages/71/af/a469674070c8d8408384e3012e064299f7a2de540738a8e414dcfd639996/numpy-2.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ec9852fb39354b5a45a80bdab5ac02dd02b15f44b3804e9f00c556bf24b4bded" }, - { url = "https://mirrors.aliyun.com/pypi/packages/d0/3d/08ea9f239d0e0e939b6ca52ad403c84a2bce1bde301a8eb4888c1c1543f1/numpy-2.0.2-cp312-cp312-win32.whl", hash = "sha256:671bec6496f83202ed2d3c8fdc486a8fc86942f2e69ff0e986140339a63bcbe5" }, - { url = "https://mirrors.aliyun.com/pypi/packages/b2/b5/4ac39baebf1fdb2e72585c8352c56d063b6126be9fc95bd2bb5ef5770c20/numpy-2.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:cfd41e13fdc257aa5778496b8caa5e856dc4896d4ccf01841daee1d96465467a" }, - { url = "https://mirrors.aliyun.com/pypi/packages/43/c1/41c8f6df3162b0c6ffd4437d729115704bd43363de0090c7f913cfbc2d89/numpy-2.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9059e10581ce4093f735ed23f3b9d283b9d517ff46009ddd485f1747eb22653c" }, - { url = "https://mirrors.aliyun.com/pypi/packages/39/bc/fd298f308dcd232b56a4031fd6ddf11c43f9917fbc937e53762f7b5a3bb1/numpy-2.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:423e89b23490805d2a5a96fe40ec507407b8ee786d66f7328be214f9679df6dd" }, - { url = "https://mirrors.aliyun.com/pypi/packages/96/ff/06d1aa3eeb1c614eda245c1ba4fb88c483bee6520d361641331872ac4b82/numpy-2.0.2-cp39-cp39-macosx_14_0_arm64.whl", hash = "sha256:2b2955fa6f11907cf7a70dab0d0755159bca87755e831e47932367fc8f2f2d0b" }, - { url = "https://mirrors.aliyun.com/pypi/packages/2d/98/121996dcfb10a6087a05e54453e28e58694a7db62c5a5a29cee14c6e047b/numpy-2.0.2-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:97032a27bd9d8988b9a97a8c4d2c9f2c15a81f61e2f21404d7e8ef00cb5be729" }, - { url = "https://mirrors.aliyun.com/pypi/packages/15/31/9dffc70da6b9bbf7968f6551967fc21156207366272c2a40b4ed6008dc9b/numpy-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e795a8be3ddbac43274f18588329c72939870a16cae810c2b73461c40718ab1" }, - { url = "https://mirrors.aliyun.com/pypi/packages/b9/14/78635daab4b07c0930c919d451b8bf8c164774e6a3413aed04a6d95758ce/numpy-2.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26b258c385842546006213344c50655ff1555a9338e2e5e02a0756dc3e803dd" }, - { url = "https://mirrors.aliyun.com/pypi/packages/26/4c/0eeca4614003077f68bfe7aac8b7496f04221865b3a5e7cb230c9d055afd/numpy-2.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5fec9451a7789926bcf7c2b8d187292c9f93ea30284802a0ab3f5be8ab36865d" }, - { url = "https://mirrors.aliyun.com/pypi/packages/f1/46/ea25b98b13dccaebddf1a803f8c748680d972e00507cd9bc6dcdb5aa2ac1/numpy-2.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:9189427407d88ff25ecf8f12469d4d39d35bee1db5d39fc5c168c6f088a6956d" }, - { url = "https://mirrors.aliyun.com/pypi/packages/c8/a6/177dd88d95ecf07e722d21008b1b40e681a929eb9e329684d449c36586b2/numpy-2.0.2-cp39-cp39-win32.whl", hash = "sha256:905d16e0c60200656500c95b6b8dca5d109e23cb24abc701d41c02d74c6b3afa" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ea/2b/7fc9f4e7ae5b507c1a3a21f0f15ed03e794c1242ea8a242ac158beb56034/numpy-2.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:a3f4ab0caa7f053f6797fcd4e1e25caee367db3112ef2b6ef82d749530768c73" }, - { url = "https://mirrors.aliyun.com/pypi/packages/8f/3b/df5a870ac6a3be3a86856ce195ef42eec7ae50d2a202be1f5a4b3b340e14/numpy-2.0.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:7f0a0c6f12e07fa94133c8a67404322845220c06a9e80e85999afe727f7438b8" }, - { url = "https://mirrors.aliyun.com/pypi/packages/2c/97/51af92f18d6f6f2d9ad8b482a99fb74e142d71372da5d834b3a2747a446e/numpy-2.0.2-pp39-pypy39_pp73-macosx_14_0_x86_64.whl", hash = "sha256:312950fdd060354350ed123c0e25a71327d3711584beaef30cdaa93320c392d4" }, - { url = "https://mirrors.aliyun.com/pypi/packages/12/46/de1fbd0c1b5ccaa7f9a005b66761533e2f6a3e560096682683a223631fe9/numpy-2.0.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26df23238872200f63518dd2aa984cfca675d82469535dc7162dc2ee52d9dd5c" }, - { url = "https://mirrors.aliyun.com/pypi/packages/cc/dc/d330a6faefd92b446ec0f0dfea4c3207bb1fef3c4771d19cf4543efd2c78/numpy-2.0.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a46288ec55ebbd58947d31d72be2c63cbf839f0a63b49cb755022310792a3385" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/21/91/3495b3237510f79f5d81f2508f9f13fea78ebfdf07538fc7444badda173d/numpy-2.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:51129a29dbe56f9ca83438b706e2e69a39892b5eda6cedcb6b0c9fdc9b0d3ece", size = 21165245, upload-time = "2024-08-26T20:04:14.625Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/05/33/26178c7d437a87082d11019292dce6d3fe6f0e9026b7b2309cbf3e489b1d/numpy-2.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f15975dfec0cf2239224d80e32c3170b1d168335eaedee69da84fbe9f1f9cd04", size = 13738540, upload-time = "2024-08-26T20:04:36.784Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ec/31/cc46e13bf07644efc7a4bf68df2df5fb2a1a88d0cd0da9ddc84dc0033e51/numpy-2.0.2-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:8c5713284ce4e282544c68d1c3b2c7161d38c256d2eefc93c1d683cf47683e66", size = 5300623, upload-time = "2024-08-26T20:04:46.491Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/6e/16/7bfcebf27bb4f9d7ec67332ffebee4d1bf085c84246552d52dbb548600e7/numpy-2.0.2-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:becfae3ddd30736fe1889a37f1f580e245ba79a5855bff5f2a29cb3ccc22dd7b", size = 6901774, upload-time = "2024-08-26T20:04:58.173Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/f9/a3/561c531c0e8bf082c5bef509d00d56f82e0ea7e1e3e3a7fc8fa78742a6e5/numpy-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2da5960c3cf0df7eafefd806d4e612c5e19358de82cb3c343631188991566ccd", size = 13907081, upload-time = "2024-08-26T20:05:19.098Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/fa/66/f7177ab331876200ac7563a580140643d1179c8b4b6a6b0fc9838de2a9b8/numpy-2.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:496f71341824ed9f3d2fd36cf3ac57ae2e0165c143b55c3a035ee219413f3318", size = 19523451, upload-time = "2024-08-26T20:05:47.479Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/25/7f/0b209498009ad6453e4efc2c65bcdf0ae08a182b2b7877d7ab38a92dc542/numpy-2.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a61ec659f68ae254e4d237816e33171497e978140353c0c2038d46e63282d0c8", size = 19927572, upload-time = "2024-08-26T20:06:17.137Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/3e/df/2619393b1e1b565cd2d4c4403bdd979621e2c4dea1f8532754b2598ed63b/numpy-2.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d731a1c6116ba289c1e9ee714b08a8ff882944d4ad631fd411106a30f083c326", size = 14400722, upload-time = "2024-08-26T20:06:39.16Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/22/ad/77e921b9f256d5da36424ffb711ae79ca3f451ff8489eeca544d0701d74a/numpy-2.0.2-cp310-cp310-win32.whl", hash = "sha256:984d96121c9f9616cd33fbd0618b7f08e0cfc9600a7ee1d6fd9b239186d19d97", size = 6472170, upload-time = "2024-08-26T20:06:50.361Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/10/05/3442317535028bc29cf0c0dd4c191a4481e8376e9f0db6bcf29703cadae6/numpy-2.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:c7b0be4ef08607dd04da4092faee0b86607f111d5ae68036f16cc787e250a131", size = 15905558, upload-time = "2024-08-26T20:07:13.881Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/8b/cf/034500fb83041aa0286e0fb16e7c76e5c8b67c0711bb6e9e9737a717d5fe/numpy-2.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:49ca4decb342d66018b01932139c0961a8f9ddc7589611158cb3c27cbcf76448", size = 21169137, upload-time = "2024-08-26T20:07:45.345Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/4a/d9/32de45561811a4b87fbdee23b5797394e3d1504b4a7cf40c10199848893e/numpy-2.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:11a76c372d1d37437857280aa142086476136a8c0f373b2e648ab2c8f18fb195", size = 13703552, upload-time = "2024-08-26T20:08:06.666Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/c1/ca/2f384720020c7b244d22508cb7ab23d95f179fcfff33c31a6eeba8d6c512/numpy-2.0.2-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:807ec44583fd708a21d4a11d94aedf2f4f3c3719035c76a2bbe1fe8e217bdc57", size = 5298957, upload-time = "2024-08-26T20:08:15.83Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/0e/78/a3e4f9fb6aa4e6fdca0c5428e8ba039408514388cf62d89651aade838269/numpy-2.0.2-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:8cafab480740e22f8d833acefed5cc87ce276f4ece12fdaa2e8903db2f82897a", size = 6905573, upload-time = "2024-08-26T20:08:27.185Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a0/72/cfc3a1beb2caf4efc9d0b38a15fe34025230da27e1c08cc2eb9bfb1c7231/numpy-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a15f476a45e6e5a3a79d8a14e62161d27ad897381fecfa4a09ed5322f2085669", size = 13914330, upload-time = "2024-08-26T20:08:48.058Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ba/a8/c17acf65a931ce551fee11b72e8de63bf7e8a6f0e21add4c937c83563538/numpy-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13e689d772146140a252c3a28501da66dfecd77490b498b168b501835041f951", size = 19534895, upload-time = "2024-08-26T20:09:16.536Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ba/86/8767f3d54f6ae0165749f84648da9dcc8cd78ab65d415494962c86fac80f/numpy-2.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9ea91dfb7c3d1c56a0e55657c0afb38cf1eeae4544c208dc465c3c9f3a7c09f9", size = 19937253, upload-time = "2024-08-26T20:09:46.263Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/df/87/f76450e6e1c14e5bb1eae6836478b1028e096fd02e85c1c37674606ab752/numpy-2.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c1c9307701fec8f3f7a1e6711f9089c06e6284b3afbbcd259f7791282d660a15", size = 14414074, upload-time = "2024-08-26T20:10:08.483Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/5c/ca/0f0f328e1e59f73754f06e1adfb909de43726d4f24c6a3f8805f34f2b0fa/numpy-2.0.2-cp311-cp311-win32.whl", hash = "sha256:a392a68bd329eafac5817e5aefeb39038c48b671afd242710b451e76090e81f4", size = 6470640, upload-time = "2024-08-26T20:10:19.732Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/eb/57/3a3f14d3a759dcf9bf6e9eda905794726b758819df4663f217d658a58695/numpy-2.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:286cd40ce2b7d652a6f22efdfc6d1edf879440e53e76a75955bc0c826c7e64dc", size = 15910230, upload-time = "2024-08-26T20:10:43.413Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/45/40/2e117be60ec50d98fa08c2f8c48e09b3edea93cfcabd5a9ff6925d54b1c2/numpy-2.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:df55d490dea7934f330006d0f81e8551ba6010a5bf035a249ef61a94f21c500b", size = 20895803, upload-time = "2024-08-26T20:11:13.916Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/46/92/1b8b8dee833f53cef3e0a3f69b2374467789e0bb7399689582314df02651/numpy-2.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8df823f570d9adf0978347d1f926b2a867d5608f434a7cff7f7908c6570dcf5e", size = 13471835, upload-time = "2024-08-26T20:11:34.779Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/7f/19/e2793bde475f1edaea6945be141aef6c8b4c669b90c90a300a8954d08f0a/numpy-2.0.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:9a92ae5c14811e390f3767053ff54eaee3bf84576d99a2456391401323f4ec2c", size = 5038499, upload-time = "2024-08-26T20:11:43.902Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/e3/ff/ddf6dac2ff0dd50a7327bcdba45cb0264d0e96bb44d33324853f781a8f3c/numpy-2.0.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:a842d573724391493a97a62ebbb8e731f8a5dcc5d285dfc99141ca15a3302d0c", size = 6633497, upload-time = "2024-08-26T20:11:55.09Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/72/21/67f36eac8e2d2cd652a2e69595a54128297cdcb1ff3931cfc87838874bd4/numpy-2.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c05e238064fc0610c840d1cf6a13bf63d7e391717d247f1bf0318172e759e692", size = 13621158, upload-time = "2024-08-26T20:12:14.95Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/39/68/e9f1126d757653496dbc096cb429014347a36b228f5a991dae2c6b6cfd40/numpy-2.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0123ffdaa88fa4ab64835dcbde75dcdf89c453c922f18dced6e27c90d1d0ec5a", size = 19236173, upload-time = "2024-08-26T20:12:44.049Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/d1/e9/1f5333281e4ebf483ba1c888b1d61ba7e78d7e910fdd8e6499667041cc35/numpy-2.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:96a55f64139912d61de9137f11bf39a55ec8faec288c75a54f93dfd39f7eb40c", size = 19634174, upload-time = "2024-08-26T20:13:13.634Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/71/af/a469674070c8d8408384e3012e064299f7a2de540738a8e414dcfd639996/numpy-2.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ec9852fb39354b5a45a80bdab5ac02dd02b15f44b3804e9f00c556bf24b4bded", size = 14099701, upload-time = "2024-08-26T20:13:34.851Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/d0/3d/08ea9f239d0e0e939b6ca52ad403c84a2bce1bde301a8eb4888c1c1543f1/numpy-2.0.2-cp312-cp312-win32.whl", hash = "sha256:671bec6496f83202ed2d3c8fdc486a8fc86942f2e69ff0e986140339a63bcbe5", size = 6174313, upload-time = "2024-08-26T20:13:45.653Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/b2/b5/4ac39baebf1fdb2e72585c8352c56d063b6126be9fc95bd2bb5ef5770c20/numpy-2.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:cfd41e13fdc257aa5778496b8caa5e856dc4896d4ccf01841daee1d96465467a", size = 15606179, upload-time = "2024-08-26T20:14:08.786Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/43/c1/41c8f6df3162b0c6ffd4437d729115704bd43363de0090c7f913cfbc2d89/numpy-2.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9059e10581ce4093f735ed23f3b9d283b9d517ff46009ddd485f1747eb22653c", size = 21169942, upload-time = "2024-08-26T20:14:40.108Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/39/bc/fd298f308dcd232b56a4031fd6ddf11c43f9917fbc937e53762f7b5a3bb1/numpy-2.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:423e89b23490805d2a5a96fe40ec507407b8ee786d66f7328be214f9679df6dd", size = 13711512, upload-time = "2024-08-26T20:15:00.985Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/96/ff/06d1aa3eeb1c614eda245c1ba4fb88c483bee6520d361641331872ac4b82/numpy-2.0.2-cp39-cp39-macosx_14_0_arm64.whl", hash = "sha256:2b2955fa6f11907cf7a70dab0d0755159bca87755e831e47932367fc8f2f2d0b", size = 5306976, upload-time = "2024-08-26T20:15:10.876Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/2d/98/121996dcfb10a6087a05e54453e28e58694a7db62c5a5a29cee14c6e047b/numpy-2.0.2-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:97032a27bd9d8988b9a97a8c4d2c9f2c15a81f61e2f21404d7e8ef00cb5be729", size = 6906494, upload-time = "2024-08-26T20:15:22.055Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/15/31/9dffc70da6b9bbf7968f6551967fc21156207366272c2a40b4ed6008dc9b/numpy-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e795a8be3ddbac43274f18588329c72939870a16cae810c2b73461c40718ab1", size = 13912596, upload-time = "2024-08-26T20:15:42.452Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/b9/14/78635daab4b07c0930c919d451b8bf8c164774e6a3413aed04a6d95758ce/numpy-2.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26b258c385842546006213344c50655ff1555a9338e2e5e02a0756dc3e803dd", size = 19526099, upload-time = "2024-08-26T20:16:11.048Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/26/4c/0eeca4614003077f68bfe7aac8b7496f04221865b3a5e7cb230c9d055afd/numpy-2.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5fec9451a7789926bcf7c2b8d187292c9f93ea30284802a0ab3f5be8ab36865d", size = 19932823, upload-time = "2024-08-26T20:16:40.171Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/f1/46/ea25b98b13dccaebddf1a803f8c748680d972e00507cd9bc6dcdb5aa2ac1/numpy-2.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:9189427407d88ff25ecf8f12469d4d39d35bee1db5d39fc5c168c6f088a6956d", size = 14404424, upload-time = "2024-08-26T20:17:02.604Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/c8/a6/177dd88d95ecf07e722d21008b1b40e681a929eb9e329684d449c36586b2/numpy-2.0.2-cp39-cp39-win32.whl", hash = "sha256:905d16e0c60200656500c95b6b8dca5d109e23cb24abc701d41c02d74c6b3afa", size = 6476809, upload-time = "2024-08-26T20:17:13.553Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ea/2b/7fc9f4e7ae5b507c1a3a21f0f15ed03e794c1242ea8a242ac158beb56034/numpy-2.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:a3f4ab0caa7f053f6797fcd4e1e25caee367db3112ef2b6ef82d749530768c73", size = 15911314, upload-time = "2024-08-26T20:17:36.72Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/8f/3b/df5a870ac6a3be3a86856ce195ef42eec7ae50d2a202be1f5a4b3b340e14/numpy-2.0.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:7f0a0c6f12e07fa94133c8a67404322845220c06a9e80e85999afe727f7438b8", size = 21025288, upload-time = "2024-08-26T20:18:07.732Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/2c/97/51af92f18d6f6f2d9ad8b482a99fb74e142d71372da5d834b3a2747a446e/numpy-2.0.2-pp39-pypy39_pp73-macosx_14_0_x86_64.whl", hash = "sha256:312950fdd060354350ed123c0e25a71327d3711584beaef30cdaa93320c392d4", size = 6762793, upload-time = "2024-08-26T20:18:19.125Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/12/46/de1fbd0c1b5ccaa7f9a005b66761533e2f6a3e560096682683a223631fe9/numpy-2.0.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26df23238872200f63518dd2aa984cfca675d82469535dc7162dc2ee52d9dd5c", size = 19334885, upload-time = "2024-08-26T20:18:47.237Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/cc/dc/d330a6faefd92b446ec0f0dfea4c3207bb1fef3c4771d19cf4543efd2c78/numpy-2.0.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a46288ec55ebbd58947d31d72be2c63cbf839f0a63b49cb755022310792a3385", size = 15828784, upload-time = "2024-08-26T20:19:11.19Z" }, ] [[package]] name = "numpy" version = "2.2.6" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } resolution-markers = [ "python_full_version == '3.10.*' and sys_platform == 'darwin'", "python_full_version == '3.10.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.10.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.10.*' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/76/21/7d2a95e4bba9dc13d043ee156a356c0a8f0c6309dff6b21b4d71a073b8a8/numpy-2.2.6.tar.gz", hash = "sha256:e29554e2bef54a90aa5cc07da6ce955accb83f21ab5de01a62c8478897b264fd" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/76/21/7d2a95e4bba9dc13d043ee156a356c0a8f0c6309dff6b21b4d71a073b8a8/numpy-2.2.6.tar.gz", hash = "sha256:e29554e2bef54a90aa5cc07da6ce955accb83f21ab5de01a62c8478897b264fd", size = 20276440, upload-time = "2025-05-17T22:38:04.611Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/9a/3e/ed6db5be21ce87955c0cbd3009f2803f59fa08df21b5df06862e2d8e2bdd/numpy-2.2.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b412caa66f72040e6d268491a59f2c43bf03eb6c96dd8f0307829feb7fa2b6fb" }, - { url = "https://mirrors.aliyun.com/pypi/packages/22/c2/4b9221495b2a132cc9d2eb862e21d42a009f5a60e45fc44b00118c174bff/numpy-2.2.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8e41fd67c52b86603a91c1a505ebaef50b3314de0213461c7a6e99c9a3beff90" }, - { url = "https://mirrors.aliyun.com/pypi/packages/fd/77/dc2fcfc66943c6410e2bf598062f5959372735ffda175b39906d54f02349/numpy-2.2.6-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:37e990a01ae6ec7fe7fa1c26c55ecb672dd98b19c3d0e1d1f326fa13cb38d163" }, - { url = "https://mirrors.aliyun.com/pypi/packages/7a/4f/1cb5fdc353a5f5cc7feb692db9b8ec2c3d6405453f982435efc52561df58/numpy-2.2.6-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:5a6429d4be8ca66d889b7cf70f536a397dc45ba6faeb5f8c5427935d9592e9cf" }, - { url = "https://mirrors.aliyun.com/pypi/packages/eb/17/96a3acd228cec142fcb8723bd3cc39c2a474f7dcf0a5d16731980bcafa95/numpy-2.2.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:efd28d4e9cd7d7a8d39074a4d44c63eda73401580c5c76acda2ce969e0a38e83" }, - { url = "https://mirrors.aliyun.com/pypi/packages/b4/63/3de6a34ad7ad6646ac7d2f55ebc6ad439dbbf9c4370017c50cf403fb19b5/numpy-2.2.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc7b73d02efb0e18c000e9ad8b83480dfcd5dfd11065997ed4c6747470ae8915" }, - { url = "https://mirrors.aliyun.com/pypi/packages/07/b6/89d837eddef52b3d0cec5c6ba0456c1bf1b9ef6a6672fc2b7873c3ec4e2e/numpy-2.2.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:74d4531beb257d2c3f4b261bfb0fc09e0f9ebb8842d82a7b4209415896adc680" }, - { url = "https://mirrors.aliyun.com/pypi/packages/01/c8/dc6ae86e3c61cfec1f178e5c9f7858584049b6093f843bca541f94120920/numpy-2.2.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8fc377d995680230e83241d8a96def29f204b5782f371c532579b4f20607a289" }, - { url = "https://mirrors.aliyun.com/pypi/packages/5b/c5/0064b1b7e7c89137b471ccec1fd2282fceaae0ab3a9550f2568782d80357/numpy-2.2.6-cp310-cp310-win32.whl", hash = "sha256:b093dd74e50a8cba3e873868d9e93a85b78e0daf2e98c6797566ad8044e8363d" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a3/dd/4b822569d6b96c39d1215dbae0582fd99954dcbcf0c1a13c61783feaca3f/numpy-2.2.6-cp310-cp310-win_amd64.whl", hash = "sha256:f0fd6321b839904e15c46e0d257fdd101dd7f530fe03fd6359c1ea63738703f3" }, - { url = "https://mirrors.aliyun.com/pypi/packages/da/a8/4f83e2aa666a9fbf56d6118faaaf5f1974d456b1823fda0a176eff722839/numpy-2.2.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f9f1adb22318e121c5c69a09142811a201ef17ab257a1e66ca3025065b7f53ae" }, - { url = "https://mirrors.aliyun.com/pypi/packages/b3/2b/64e1affc7972decb74c9e29e5649fac940514910960ba25cd9af4488b66c/numpy-2.2.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c820a93b0255bc360f53eca31a0e676fd1101f673dda8da93454a12e23fc5f7a" }, - { url = "https://mirrors.aliyun.com/pypi/packages/4a/9f/0121e375000b5e50ffdd8b25bf78d8e1a5aa4cca3f185d41265198c7b834/numpy-2.2.6-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:3d70692235e759f260c3d837193090014aebdf026dfd167834bcba43e30c2a42" }, - { url = "https://mirrors.aliyun.com/pypi/packages/31/0d/b48c405c91693635fbe2dcd7bc84a33a602add5f63286e024d3b6741411c/numpy-2.2.6-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:481b49095335f8eed42e39e8041327c05b0f6f4780488f61286ed3c01368d491" }, - { url = "https://mirrors.aliyun.com/pypi/packages/52/b8/7f0554d49b565d0171eab6e99001846882000883998e7b7d9f0d98b1f934/numpy-2.2.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b64d8d4d17135e00c8e346e0a738deb17e754230d7e0810ac5012750bbd85a5a" }, - { url = "https://mirrors.aliyun.com/pypi/packages/b3/dd/2238b898e51bd6d389b7389ffb20d7f4c10066d80351187ec8e303a5a475/numpy-2.2.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba10f8411898fc418a521833e014a77d3ca01c15b0c6cdcce6a0d2897e6dbbdf" }, - { url = "https://mirrors.aliyun.com/pypi/packages/83/6c/44d0325722cf644f191042bf47eedad61c1e6df2432ed65cbe28509d404e/numpy-2.2.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:bd48227a919f1bafbdda0583705e547892342c26fb127219d60a5c36882609d1" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ae/9d/81e8216030ce66be25279098789b665d49ff19eef08bfa8cb96d4957f422/numpy-2.2.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:9551a499bf125c1d4f9e250377c1ee2eddd02e01eac6644c080162c0c51778ab" }, - { url = "https://mirrors.aliyun.com/pypi/packages/6a/fd/e19617b9530b031db51b0926eed5345ce8ddc669bb3bc0044b23e275ebe8/numpy-2.2.6-cp311-cp311-win32.whl", hash = "sha256:0678000bb9ac1475cd454c6b8c799206af8107e310843532b04d49649c717a47" }, - { url = "https://mirrors.aliyun.com/pypi/packages/31/0a/f354fb7176b81747d870f7991dc763e157a934c717b67b58456bc63da3df/numpy-2.2.6-cp311-cp311-win_amd64.whl", hash = "sha256:e8213002e427c69c45a52bbd94163084025f533a55a59d6f9c5b820774ef3303" }, - { url = "https://mirrors.aliyun.com/pypi/packages/82/5d/c00588b6cf18e1da539b45d3598d3557084990dcc4331960c15ee776ee41/numpy-2.2.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:41c5a21f4a04fa86436124d388f6ed60a9343a6f767fced1a8a71c3fbca038ff" }, - { url = "https://mirrors.aliyun.com/pypi/packages/66/ee/560deadcdde6c2f90200450d5938f63a34b37e27ebff162810f716f6a230/numpy-2.2.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:de749064336d37e340f640b05f24e9e3dd678c57318c7289d222a8a2f543e90c" }, - { url = "https://mirrors.aliyun.com/pypi/packages/3c/65/4baa99f1c53b30adf0acd9a5519078871ddde8d2339dc5a7fde80d9d87da/numpy-2.2.6-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:894b3a42502226a1cac872f840030665f33326fc3dac8e57c607905773cdcde3" }, - { url = "https://mirrors.aliyun.com/pypi/packages/cc/89/e5a34c071a0570cc40c9a54eb472d113eea6d002e9ae12bb3a8407fb912e/numpy-2.2.6-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:71594f7c51a18e728451bb50cc60a3ce4e6538822731b2933209a1f3614e9282" }, - { url = "https://mirrors.aliyun.com/pypi/packages/f8/35/8c80729f1ff76b3921d5c9487c7ac3de9b2a103b1cd05e905b3090513510/numpy-2.2.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f2618db89be1b4e05f7a1a847a9c1c0abd63e63a1607d892dd54668dd92faf87" }, - { url = "https://mirrors.aliyun.com/pypi/packages/8c/3d/1e1db36cfd41f895d266b103df00ca5b3cbe965184df824dec5c08c6b803/numpy-2.2.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd83c01228a688733f1ded5201c678f0c53ecc1006ffbc404db9f7a899ac6249" }, - { url = "https://mirrors.aliyun.com/pypi/packages/61/c6/03ed30992602c85aa3cd95b9070a514f8b3c33e31124694438d88809ae36/numpy-2.2.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:37c0ca431f82cd5fa716eca9506aefcabc247fb27ba69c5062a6d3ade8cf8f49" }, - { url = "https://mirrors.aliyun.com/pypi/packages/b7/25/5761d832a81df431e260719ec45de696414266613c9ee268394dd5ad8236/numpy-2.2.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fe27749d33bb772c80dcd84ae7e8df2adc920ae8297400dabec45f0dedb3f6de" }, - { url = "https://mirrors.aliyun.com/pypi/packages/57/0a/72d5a3527c5ebffcd47bde9162c39fae1f90138c961e5296491ce778e682/numpy-2.2.6-cp312-cp312-win32.whl", hash = "sha256:4eeaae00d789f66c7a25ac5f34b71a7035bb474e679f410e5e1a94deb24cf2d4" }, - { url = "https://mirrors.aliyun.com/pypi/packages/36/fa/8c9210162ca1b88529ab76b41ba02d433fd54fecaf6feb70ef9f124683f1/numpy-2.2.6-cp312-cp312-win_amd64.whl", hash = "sha256:c1f9540be57940698ed329904db803cf7a402f3fc200bfe599334c9bd84a40b2" }, - { url = "https://mirrors.aliyun.com/pypi/packages/f9/5c/6657823f4f594f72b5471f1db1ab12e26e890bb2e41897522d134d2a3e81/numpy-2.2.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0811bb762109d9708cca4d0b13c4f67146e3c3b7cf8d34018c722adb2d957c84" }, - { url = "https://mirrors.aliyun.com/pypi/packages/dc/9e/14520dc3dadf3c803473bd07e9b2bd1b69bc583cb2497b47000fed2fa92f/numpy-2.2.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:287cc3162b6f01463ccd86be154f284d0893d2b3ed7292439ea97eafa8170e0b" }, - { url = "https://mirrors.aliyun.com/pypi/packages/4f/06/7e96c57d90bebdce9918412087fc22ca9851cceaf5567a45c1f404480e9e/numpy-2.2.6-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:f1372f041402e37e5e633e586f62aa53de2eac8d98cbfb822806ce4bbefcb74d" }, - { url = "https://mirrors.aliyun.com/pypi/packages/73/ed/63d920c23b4289fdac96ddbdd6132e9427790977d5457cd132f18e76eae0/numpy-2.2.6-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:55a4d33fa519660d69614a9fad433be87e5252f4b03850642f88993f7b2ca566" }, - { url = "https://mirrors.aliyun.com/pypi/packages/85/c5/e19c8f99d83fd377ec8c7e0cf627a8049746da54afc24ef0a0cb73d5dfb5/numpy-2.2.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f92729c95468a2f4f15e9bb94c432a9229d0d50de67304399627a943201baa2f" }, - { url = "https://mirrors.aliyun.com/pypi/packages/19/49/4df9123aafa7b539317bf6d342cb6d227e49f7a35b99c287a6109b13dd93/numpy-2.2.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1bc23a79bfabc5d056d106f9befb8d50c31ced2fbc70eedb8155aec74a45798f" }, - { url = "https://mirrors.aliyun.com/pypi/packages/b2/6c/04b5f47f4f32f7c2b0e7260442a8cbcf8168b0e1a41ff1495da42f42a14f/numpy-2.2.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e3143e4451880bed956e706a3220b4e5cf6172ef05fcc397f6f36a550b1dd868" }, - { url = "https://mirrors.aliyun.com/pypi/packages/17/0a/5cd92e352c1307640d5b6fec1b2ffb06cd0dabe7d7b8227f97933d378422/numpy-2.2.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b4f13750ce79751586ae2eb824ba7e1e8dba64784086c98cdbbcc6a42112ce0d" }, - { url = "https://mirrors.aliyun.com/pypi/packages/f0/3b/5cba2b1d88760ef86596ad0f3d484b1cbff7c115ae2429678465057c5155/numpy-2.2.6-cp313-cp313-win32.whl", hash = "sha256:5beb72339d9d4fa36522fc63802f469b13cdbe4fdab4a288f0c441b74272ebfd" }, - { url = "https://mirrors.aliyun.com/pypi/packages/cb/3b/d58c12eafcb298d4e6d0d40216866ab15f59e55d148a5658bb3132311fcf/numpy-2.2.6-cp313-cp313-win_amd64.whl", hash = "sha256:b0544343a702fa80c95ad5d3d608ea3599dd54d4632df855e4c8d24eb6ecfa1c" }, - { url = "https://mirrors.aliyun.com/pypi/packages/6b/9e/4bf918b818e516322db999ac25d00c75788ddfd2d2ade4fa66f1f38097e1/numpy-2.2.6-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0bca768cd85ae743b2affdc762d617eddf3bcf8724435498a1e80132d04879e6" }, - { url = "https://mirrors.aliyun.com/pypi/packages/61/66/d2de6b291507517ff2e438e13ff7b1e2cdbdb7cb40b3ed475377aece69f9/numpy-2.2.6-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:fc0c5673685c508a142ca65209b4e79ed6740a4ed6b2267dbba90f34b0b3cfda" }, - { url = "https://mirrors.aliyun.com/pypi/packages/e4/25/480387655407ead912e28ba3a820bc69af9adf13bcbe40b299d454ec011f/numpy-2.2.6-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:5bd4fc3ac8926b3819797a7c0e2631eb889b4118a9898c84f585a54d475b7e40" }, - { url = "https://mirrors.aliyun.com/pypi/packages/aa/4a/6e313b5108f53dcbf3aca0c0f3e9c92f4c10ce57a0a721851f9785872895/numpy-2.2.6-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:fee4236c876c4e8369388054d02d0e9bb84821feb1a64dd59e137e6511a551f8" }, - { url = "https://mirrors.aliyun.com/pypi/packages/b7/30/172c2d5c4be71fdf476e9de553443cf8e25feddbe185e0bd88b096915bcc/numpy-2.2.6-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e1dda9c7e08dc141e0247a5b8f49cf05984955246a327d4c48bda16821947b2f" }, - { url = "https://mirrors.aliyun.com/pypi/packages/12/fb/9e743f8d4e4d3c710902cf87af3512082ae3d43b945d5d16563f26ec251d/numpy-2.2.6-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f447e6acb680fd307f40d3da4852208af94afdfab89cf850986c3ca00562f4fa" }, - { url = "https://mirrors.aliyun.com/pypi/packages/12/75/ee20da0e58d3a66f204f38916757e01e33a9737d0b22373b3eb5a27358f9/numpy-2.2.6-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:389d771b1623ec92636b0786bc4ae56abafad4a4c513d36a55dce14bd9ce8571" }, - { url = "https://mirrors.aliyun.com/pypi/packages/76/95/bef5b37f29fc5e739947e9ce5179ad402875633308504a52d188302319c8/numpy-2.2.6-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8e9ace4a37db23421249ed236fdcdd457d671e25146786dfc96835cd951aa7c1" }, - { url = "https://mirrors.aliyun.com/pypi/packages/09/04/f2f83279d287407cf36a7a8053a5abe7be3622a4363337338f2585e4afda/numpy-2.2.6-cp313-cp313t-win32.whl", hash = "sha256:038613e9fb8c72b0a41f025a7e4c3f0b7a1b5d768ece4796b674c8f3fe13efff" }, - { url = "https://mirrors.aliyun.com/pypi/packages/67/0e/35082d13c09c02c011cf21570543d202ad929d961c02a147493cb0c2bdf5/numpy-2.2.6-cp313-cp313t-win_amd64.whl", hash = "sha256:6031dd6dfecc0cf9f668681a37648373bddd6421fff6c66ec1624eed0180ee06" }, - { url = "https://mirrors.aliyun.com/pypi/packages/9e/3b/d94a75f4dbf1ef5d321523ecac21ef23a3cd2ac8b78ae2aac40873590229/numpy-2.2.6-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:0b605b275d7bd0c640cad4e5d30fa701a8d59302e127e5f79138ad62762c3e3d" }, - { url = "https://mirrors.aliyun.com/pypi/packages/17/f4/09b2fa1b58f0fb4f7c7963a1649c64c4d315752240377ed74d9cd878f7b5/numpy-2.2.6-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:7befc596a7dc9da8a337f79802ee8adb30a552a94f792b9c9d18c840055907db" }, - { url = "https://mirrors.aliyun.com/pypi/packages/af/30/feba75f143bdc868a1cc3f44ccfa6c4b9ec522b36458e738cd00f67b573f/numpy-2.2.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce47521a4754c8f4593837384bd3424880629f718d87c5d44f8ed763edd63543" }, - { url = "https://mirrors.aliyun.com/pypi/packages/37/48/ac2a9584402fb6c0cd5b5d1a91dcf176b15760130dd386bbafdbfe3640bf/numpy-2.2.6-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:d042d24c90c41b54fd506da306759e06e568864df8ec17ccc17e9e884634fd00" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/9a/3e/ed6db5be21ce87955c0cbd3009f2803f59fa08df21b5df06862e2d8e2bdd/numpy-2.2.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b412caa66f72040e6d268491a59f2c43bf03eb6c96dd8f0307829feb7fa2b6fb", size = 21165245, upload-time = "2025-05-17T21:27:58.555Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/22/c2/4b9221495b2a132cc9d2eb862e21d42a009f5a60e45fc44b00118c174bff/numpy-2.2.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8e41fd67c52b86603a91c1a505ebaef50b3314de0213461c7a6e99c9a3beff90", size = 14360048, upload-time = "2025-05-17T21:28:21.406Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/fd/77/dc2fcfc66943c6410e2bf598062f5959372735ffda175b39906d54f02349/numpy-2.2.6-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:37e990a01ae6ec7fe7fa1c26c55ecb672dd98b19c3d0e1d1f326fa13cb38d163", size = 5340542, upload-time = "2025-05-17T21:28:30.931Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/7a/4f/1cb5fdc353a5f5cc7feb692db9b8ec2c3d6405453f982435efc52561df58/numpy-2.2.6-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:5a6429d4be8ca66d889b7cf70f536a397dc45ba6faeb5f8c5427935d9592e9cf", size = 6878301, upload-time = "2025-05-17T21:28:41.613Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/eb/17/96a3acd228cec142fcb8723bd3cc39c2a474f7dcf0a5d16731980bcafa95/numpy-2.2.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:efd28d4e9cd7d7a8d39074a4d44c63eda73401580c5c76acda2ce969e0a38e83", size = 14297320, upload-time = "2025-05-17T21:29:02.78Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/b4/63/3de6a34ad7ad6646ac7d2f55ebc6ad439dbbf9c4370017c50cf403fb19b5/numpy-2.2.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc7b73d02efb0e18c000e9ad8b83480dfcd5dfd11065997ed4c6747470ae8915", size = 16801050, upload-time = "2025-05-17T21:29:27.675Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/07/b6/89d837eddef52b3d0cec5c6ba0456c1bf1b9ef6a6672fc2b7873c3ec4e2e/numpy-2.2.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:74d4531beb257d2c3f4b261bfb0fc09e0f9ebb8842d82a7b4209415896adc680", size = 15807034, upload-time = "2025-05-17T21:29:51.102Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/01/c8/dc6ae86e3c61cfec1f178e5c9f7858584049b6093f843bca541f94120920/numpy-2.2.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8fc377d995680230e83241d8a96def29f204b5782f371c532579b4f20607a289", size = 18614185, upload-time = "2025-05-17T21:30:18.703Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/5b/c5/0064b1b7e7c89137b471ccec1fd2282fceaae0ab3a9550f2568782d80357/numpy-2.2.6-cp310-cp310-win32.whl", hash = "sha256:b093dd74e50a8cba3e873868d9e93a85b78e0daf2e98c6797566ad8044e8363d", size = 6527149, upload-time = "2025-05-17T21:30:29.788Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a3/dd/4b822569d6b96c39d1215dbae0582fd99954dcbcf0c1a13c61783feaca3f/numpy-2.2.6-cp310-cp310-win_amd64.whl", hash = "sha256:f0fd6321b839904e15c46e0d257fdd101dd7f530fe03fd6359c1ea63738703f3", size = 12904620, upload-time = "2025-05-17T21:30:48.994Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/da/a8/4f83e2aa666a9fbf56d6118faaaf5f1974d456b1823fda0a176eff722839/numpy-2.2.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f9f1adb22318e121c5c69a09142811a201ef17ab257a1e66ca3025065b7f53ae", size = 21176963, upload-time = "2025-05-17T21:31:19.36Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/b3/2b/64e1affc7972decb74c9e29e5649fac940514910960ba25cd9af4488b66c/numpy-2.2.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c820a93b0255bc360f53eca31a0e676fd1101f673dda8da93454a12e23fc5f7a", size = 14406743, upload-time = "2025-05-17T21:31:41.087Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/4a/9f/0121e375000b5e50ffdd8b25bf78d8e1a5aa4cca3f185d41265198c7b834/numpy-2.2.6-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:3d70692235e759f260c3d837193090014aebdf026dfd167834bcba43e30c2a42", size = 5352616, upload-time = "2025-05-17T21:31:50.072Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/31/0d/b48c405c91693635fbe2dcd7bc84a33a602add5f63286e024d3b6741411c/numpy-2.2.6-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:481b49095335f8eed42e39e8041327c05b0f6f4780488f61286ed3c01368d491", size = 6889579, upload-time = "2025-05-17T21:32:01.712Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/52/b8/7f0554d49b565d0171eab6e99001846882000883998e7b7d9f0d98b1f934/numpy-2.2.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b64d8d4d17135e00c8e346e0a738deb17e754230d7e0810ac5012750bbd85a5a", size = 14312005, upload-time = "2025-05-17T21:32:23.332Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/b3/dd/2238b898e51bd6d389b7389ffb20d7f4c10066d80351187ec8e303a5a475/numpy-2.2.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba10f8411898fc418a521833e014a77d3ca01c15b0c6cdcce6a0d2897e6dbbdf", size = 16821570, upload-time = "2025-05-17T21:32:47.991Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/83/6c/44d0325722cf644f191042bf47eedad61c1e6df2432ed65cbe28509d404e/numpy-2.2.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:bd48227a919f1bafbdda0583705e547892342c26fb127219d60a5c36882609d1", size = 15818548, upload-time = "2025-05-17T21:33:11.728Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ae/9d/81e8216030ce66be25279098789b665d49ff19eef08bfa8cb96d4957f422/numpy-2.2.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:9551a499bf125c1d4f9e250377c1ee2eddd02e01eac6644c080162c0c51778ab", size = 18620521, upload-time = "2025-05-17T21:33:39.139Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/6a/fd/e19617b9530b031db51b0926eed5345ce8ddc669bb3bc0044b23e275ebe8/numpy-2.2.6-cp311-cp311-win32.whl", hash = "sha256:0678000bb9ac1475cd454c6b8c799206af8107e310843532b04d49649c717a47", size = 6525866, upload-time = "2025-05-17T21:33:50.273Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/31/0a/f354fb7176b81747d870f7991dc763e157a934c717b67b58456bc63da3df/numpy-2.2.6-cp311-cp311-win_amd64.whl", hash = "sha256:e8213002e427c69c45a52bbd94163084025f533a55a59d6f9c5b820774ef3303", size = 12907455, upload-time = "2025-05-17T21:34:09.135Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/82/5d/c00588b6cf18e1da539b45d3598d3557084990dcc4331960c15ee776ee41/numpy-2.2.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:41c5a21f4a04fa86436124d388f6ed60a9343a6f767fced1a8a71c3fbca038ff", size = 20875348, upload-time = "2025-05-17T21:34:39.648Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/66/ee/560deadcdde6c2f90200450d5938f63a34b37e27ebff162810f716f6a230/numpy-2.2.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:de749064336d37e340f640b05f24e9e3dd678c57318c7289d222a8a2f543e90c", size = 14119362, upload-time = "2025-05-17T21:35:01.241Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/3c/65/4baa99f1c53b30adf0acd9a5519078871ddde8d2339dc5a7fde80d9d87da/numpy-2.2.6-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:894b3a42502226a1cac872f840030665f33326fc3dac8e57c607905773cdcde3", size = 5084103, upload-time = "2025-05-17T21:35:10.622Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/cc/89/e5a34c071a0570cc40c9a54eb472d113eea6d002e9ae12bb3a8407fb912e/numpy-2.2.6-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:71594f7c51a18e728451bb50cc60a3ce4e6538822731b2933209a1f3614e9282", size = 6625382, upload-time = "2025-05-17T21:35:21.414Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/f8/35/8c80729f1ff76b3921d5c9487c7ac3de9b2a103b1cd05e905b3090513510/numpy-2.2.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f2618db89be1b4e05f7a1a847a9c1c0abd63e63a1607d892dd54668dd92faf87", size = 14018462, upload-time = "2025-05-17T21:35:42.174Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/8c/3d/1e1db36cfd41f895d266b103df00ca5b3cbe965184df824dec5c08c6b803/numpy-2.2.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd83c01228a688733f1ded5201c678f0c53ecc1006ffbc404db9f7a899ac6249", size = 16527618, upload-time = "2025-05-17T21:36:06.711Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/61/c6/03ed30992602c85aa3cd95b9070a514f8b3c33e31124694438d88809ae36/numpy-2.2.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:37c0ca431f82cd5fa716eca9506aefcabc247fb27ba69c5062a6d3ade8cf8f49", size = 15505511, upload-time = "2025-05-17T21:36:29.965Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/b7/25/5761d832a81df431e260719ec45de696414266613c9ee268394dd5ad8236/numpy-2.2.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fe27749d33bb772c80dcd84ae7e8df2adc920ae8297400dabec45f0dedb3f6de", size = 18313783, upload-time = "2025-05-17T21:36:56.883Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/57/0a/72d5a3527c5ebffcd47bde9162c39fae1f90138c961e5296491ce778e682/numpy-2.2.6-cp312-cp312-win32.whl", hash = "sha256:4eeaae00d789f66c7a25ac5f34b71a7035bb474e679f410e5e1a94deb24cf2d4", size = 6246506, upload-time = "2025-05-17T21:37:07.368Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/36/fa/8c9210162ca1b88529ab76b41ba02d433fd54fecaf6feb70ef9f124683f1/numpy-2.2.6-cp312-cp312-win_amd64.whl", hash = "sha256:c1f9540be57940698ed329904db803cf7a402f3fc200bfe599334c9bd84a40b2", size = 12614190, upload-time = "2025-05-17T21:37:26.213Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/f9/5c/6657823f4f594f72b5471f1db1ab12e26e890bb2e41897522d134d2a3e81/numpy-2.2.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0811bb762109d9708cca4d0b13c4f67146e3c3b7cf8d34018c722adb2d957c84", size = 20867828, upload-time = "2025-05-17T21:37:56.699Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/dc/9e/14520dc3dadf3c803473bd07e9b2bd1b69bc583cb2497b47000fed2fa92f/numpy-2.2.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:287cc3162b6f01463ccd86be154f284d0893d2b3ed7292439ea97eafa8170e0b", size = 14143006, upload-time = "2025-05-17T21:38:18.291Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/4f/06/7e96c57d90bebdce9918412087fc22ca9851cceaf5567a45c1f404480e9e/numpy-2.2.6-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:f1372f041402e37e5e633e586f62aa53de2eac8d98cbfb822806ce4bbefcb74d", size = 5076765, upload-time = "2025-05-17T21:38:27.319Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/73/ed/63d920c23b4289fdac96ddbdd6132e9427790977d5457cd132f18e76eae0/numpy-2.2.6-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:55a4d33fa519660d69614a9fad433be87e5252f4b03850642f88993f7b2ca566", size = 6617736, upload-time = "2025-05-17T21:38:38.141Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/85/c5/e19c8f99d83fd377ec8c7e0cf627a8049746da54afc24ef0a0cb73d5dfb5/numpy-2.2.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f92729c95468a2f4f15e9bb94c432a9229d0d50de67304399627a943201baa2f", size = 14010719, upload-time = "2025-05-17T21:38:58.433Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/19/49/4df9123aafa7b539317bf6d342cb6d227e49f7a35b99c287a6109b13dd93/numpy-2.2.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1bc23a79bfabc5d056d106f9befb8d50c31ced2fbc70eedb8155aec74a45798f", size = 16526072, upload-time = "2025-05-17T21:39:22.638Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/b2/6c/04b5f47f4f32f7c2b0e7260442a8cbcf8168b0e1a41ff1495da42f42a14f/numpy-2.2.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e3143e4451880bed956e706a3220b4e5cf6172ef05fcc397f6f36a550b1dd868", size = 15503213, upload-time = "2025-05-17T21:39:45.865Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/17/0a/5cd92e352c1307640d5b6fec1b2ffb06cd0dabe7d7b8227f97933d378422/numpy-2.2.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b4f13750ce79751586ae2eb824ba7e1e8dba64784086c98cdbbcc6a42112ce0d", size = 18316632, upload-time = "2025-05-17T21:40:13.331Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/f0/3b/5cba2b1d88760ef86596ad0f3d484b1cbff7c115ae2429678465057c5155/numpy-2.2.6-cp313-cp313-win32.whl", hash = "sha256:5beb72339d9d4fa36522fc63802f469b13cdbe4fdab4a288f0c441b74272ebfd", size = 6244532, upload-time = "2025-05-17T21:43:46.099Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/cb/3b/d58c12eafcb298d4e6d0d40216866ab15f59e55d148a5658bb3132311fcf/numpy-2.2.6-cp313-cp313-win_amd64.whl", hash = "sha256:b0544343a702fa80c95ad5d3d608ea3599dd54d4632df855e4c8d24eb6ecfa1c", size = 12610885, upload-time = "2025-05-17T21:44:05.145Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/6b/9e/4bf918b818e516322db999ac25d00c75788ddfd2d2ade4fa66f1f38097e1/numpy-2.2.6-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0bca768cd85ae743b2affdc762d617eddf3bcf8724435498a1e80132d04879e6", size = 20963467, upload-time = "2025-05-17T21:40:44Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/61/66/d2de6b291507517ff2e438e13ff7b1e2cdbdb7cb40b3ed475377aece69f9/numpy-2.2.6-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:fc0c5673685c508a142ca65209b4e79ed6740a4ed6b2267dbba90f34b0b3cfda", size = 14225144, upload-time = "2025-05-17T21:41:05.695Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/e4/25/480387655407ead912e28ba3a820bc69af9adf13bcbe40b299d454ec011f/numpy-2.2.6-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:5bd4fc3ac8926b3819797a7c0e2631eb889b4118a9898c84f585a54d475b7e40", size = 5200217, upload-time = "2025-05-17T21:41:15.903Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/aa/4a/6e313b5108f53dcbf3aca0c0f3e9c92f4c10ce57a0a721851f9785872895/numpy-2.2.6-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:fee4236c876c4e8369388054d02d0e9bb84821feb1a64dd59e137e6511a551f8", size = 6712014, upload-time = "2025-05-17T21:41:27.321Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/b7/30/172c2d5c4be71fdf476e9de553443cf8e25feddbe185e0bd88b096915bcc/numpy-2.2.6-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e1dda9c7e08dc141e0247a5b8f49cf05984955246a327d4c48bda16821947b2f", size = 14077935, upload-time = "2025-05-17T21:41:49.738Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/12/fb/9e743f8d4e4d3c710902cf87af3512082ae3d43b945d5d16563f26ec251d/numpy-2.2.6-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f447e6acb680fd307f40d3da4852208af94afdfab89cf850986c3ca00562f4fa", size = 16600122, upload-time = "2025-05-17T21:42:14.046Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/12/75/ee20da0e58d3a66f204f38916757e01e33a9737d0b22373b3eb5a27358f9/numpy-2.2.6-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:389d771b1623ec92636b0786bc4ae56abafad4a4c513d36a55dce14bd9ce8571", size = 15586143, upload-time = "2025-05-17T21:42:37.464Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/76/95/bef5b37f29fc5e739947e9ce5179ad402875633308504a52d188302319c8/numpy-2.2.6-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8e9ace4a37db23421249ed236fdcdd457d671e25146786dfc96835cd951aa7c1", size = 18385260, upload-time = "2025-05-17T21:43:05.189Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/09/04/f2f83279d287407cf36a7a8053a5abe7be3622a4363337338f2585e4afda/numpy-2.2.6-cp313-cp313t-win32.whl", hash = "sha256:038613e9fb8c72b0a41f025a7e4c3f0b7a1b5d768ece4796b674c8f3fe13efff", size = 6377225, upload-time = "2025-05-17T21:43:16.254Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/67/0e/35082d13c09c02c011cf21570543d202ad929d961c02a147493cb0c2bdf5/numpy-2.2.6-cp313-cp313t-win_amd64.whl", hash = "sha256:6031dd6dfecc0cf9f668681a37648373bddd6421fff6c66ec1624eed0180ee06", size = 12771374, upload-time = "2025-05-17T21:43:35.479Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/9e/3b/d94a75f4dbf1ef5d321523ecac21ef23a3cd2ac8b78ae2aac40873590229/numpy-2.2.6-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:0b605b275d7bd0c640cad4e5d30fa701a8d59302e127e5f79138ad62762c3e3d", size = 21040391, upload-time = "2025-05-17T21:44:35.948Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/17/f4/09b2fa1b58f0fb4f7c7963a1649c64c4d315752240377ed74d9cd878f7b5/numpy-2.2.6-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:7befc596a7dc9da8a337f79802ee8adb30a552a94f792b9c9d18c840055907db", size = 6786754, upload-time = "2025-05-17T21:44:47.446Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/af/30/feba75f143bdc868a1cc3f44ccfa6c4b9ec522b36458e738cd00f67b573f/numpy-2.2.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce47521a4754c8f4593837384bd3424880629f718d87c5d44f8ed763edd63543", size = 16643476, upload-time = "2025-05-17T21:45:11.871Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/37/48/ac2a9584402fb6c0cd5b5d1a91dcf176b15760130dd386bbafdbfe3640bf/numpy-2.2.6-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:d042d24c90c41b54fd506da306759e06e568864df8ec17ccc17e9e884634fd00", size = 12812666, upload-time = "2025-05-17T21:45:31.426Z" }, ] [[package]] name = "numpy" version = "2.3.1" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } resolution-markers = [ "python_full_version >= '3.12' and sys_platform == 'darwin'", "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux'", @@ -1108,149 +1122,149 @@ resolution-markers = [ "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux'", "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", ] -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/2e/19/d7c972dfe90a353dbd3efbbe1d14a5951de80c99c9dc1b93cd998d51dc0f/numpy-2.3.1.tar.gz", hash = "sha256:1ec9ae20a4226da374362cca3c62cd753faf2f951440b0e3b98e93c235441d2b" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/2e/19/d7c972dfe90a353dbd3efbbe1d14a5951de80c99c9dc1b93cd998d51dc0f/numpy-2.3.1.tar.gz", hash = "sha256:1ec9ae20a4226da374362cca3c62cd753faf2f951440b0e3b98e93c235441d2b", size = 20390372, upload-time = "2025-06-21T12:28:33.469Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/b0/c7/87c64d7ab426156530676000c94784ef55676df2f13b2796f97722464124/numpy-2.3.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6ea9e48336a402551f52cd8f593343699003d2353daa4b72ce8d34f66b722070" }, - { url = "https://mirrors.aliyun.com/pypi/packages/58/0e/0966c2f44beeac12af8d836e5b5f826a407cf34c45cb73ddcdfce9f5960b/numpy-2.3.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5ccb7336eaf0e77c1635b232c141846493a588ec9ea777a7c24d7166bb8533ae" }, - { url = "https://mirrors.aliyun.com/pypi/packages/7d/31/6e35a247acb1bfc19226791dfc7d4c30002cd4e620e11e58b0ddf836fe52/numpy-2.3.1-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:0bb3a4a61e1d327e035275d2a993c96fa786e4913aa089843e6a2d9dd205c66a" }, - { url = "https://mirrors.aliyun.com/pypi/packages/b0/25/93b621219bb6f5a2d4e713a824522c69ab1f06a57cd571cda70e2e31af44/numpy-2.3.1-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:e344eb79dab01f1e838ebb67aab09965fb271d6da6b00adda26328ac27d4a66e" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ef/60/6b06ed98d11fb32e27fb59468b42383f3877146d3ee639f733776b6ac596/numpy-2.3.1-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:467db865b392168ceb1ef1ffa6f5a86e62468c43e0cfb4ab6da667ede10e58db" }, - { url = "https://mirrors.aliyun.com/pypi/packages/75/c9/9bec03675192077467a9c7c2bdd1f2e922bd01d3a69b15c3a0fdcd8548f6/numpy-2.3.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:afed2ce4a84f6b0fc6c1ce734ff368cbf5a5e24e8954a338f3bdffa0718adffb" }, - { url = "https://mirrors.aliyun.com/pypi/packages/6a/e2/5756a00cabcf50a3f527a0c968b2b4881c62b1379223931853114fa04cda/numpy-2.3.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0025048b3c1557a20bc80d06fdeb8cc7fc193721484cca82b2cfa072fec71a93" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ff/86/a471f65f0a86f1ca62dcc90b9fa46174dd48f50214e5446bc16a775646c5/numpy-2.3.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a5ee121b60aa509679b682819c602579e1df14a5b07fe95671c8849aad8f2115" }, - { url = "https://mirrors.aliyun.com/pypi/packages/43/a6/482a53e469b32be6500aaf61cfafd1de7a0b0d484babf679209c3298852e/numpy-2.3.1-cp311-cp311-win32.whl", hash = "sha256:a8b740f5579ae4585831b3cf0e3b0425c667274f82a484866d2adf9570539369" }, - { url = "https://mirrors.aliyun.com/pypi/packages/6b/fb/bb613f4122c310a13ec67585c70e14b03bfc7ebabd24f4d5138b97371d7c/numpy-2.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:d4580adadc53311b163444f877e0789f1c8861e2698f6b2a4ca852fda154f3ff" }, - { url = "https://mirrors.aliyun.com/pypi/packages/51/58/2d842825af9a0c041aca246dc92eb725e1bc5e1c9ac89712625db0c4e11c/numpy-2.3.1-cp311-cp311-win_arm64.whl", hash = "sha256:ec0bdafa906f95adc9a0c6f26a4871fa753f25caaa0e032578a30457bff0af6a" }, - { url = "https://mirrors.aliyun.com/pypi/packages/c6/56/71ad5022e2f63cfe0ca93559403d0edef14aea70a841d640bd13cdba578e/numpy-2.3.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:2959d8f268f3d8ee402b04a9ec4bb7604555aeacf78b360dc4ec27f1d508177d" }, - { url = "https://mirrors.aliyun.com/pypi/packages/25/65/2db52ba049813670f7f987cc5db6dac9be7cd95e923cc6832b3d32d87cef/numpy-2.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:762e0c0c6b56bdedfef9a8e1d4538556438288c4276901ea008ae44091954e29" }, - { url = "https://mirrors.aliyun.com/pypi/packages/57/dd/28fa3c17b0e751047ac928c1e1b6990238faad76e9b147e585b573d9d1bd/numpy-2.3.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:867ef172a0976aaa1f1d1b63cf2090de8b636a7674607d514505fb7276ab08fc" }, - { url = "https://mirrors.aliyun.com/pypi/packages/c9/fc/84ea0cba8e760c4644b708b6819d91784c290288c27aca916115e3311d17/numpy-2.3.1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:4e602e1b8682c2b833af89ba641ad4176053aaa50f5cacda1a27004352dde943" }, - { url = "https://mirrors.aliyun.com/pypi/packages/61/b2/512b0c2ddec985ad1e496b0bd853eeb572315c0f07cd6997473ced8f15e2/numpy-2.3.1-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:8e333040d069eba1652fb08962ec5b76af7f2c7bce1df7e1418c8055cf776f25" }, - { url = "https://mirrors.aliyun.com/pypi/packages/6e/45/c51cb248e679a6c6ab14b7a8e3ead3f4a3fe7425fc7a6f98b3f147bec532/numpy-2.3.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:e7cbf5a5eafd8d230a3ce356d892512185230e4781a361229bd902ff403bc660" }, - { url = "https://mirrors.aliyun.com/pypi/packages/e4/ff/feb4be2e5c09a3da161b412019caf47183099cbea1132fd98061808c2df2/numpy-2.3.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5f1b8f26d1086835f442286c1d9b64bb3974b0b1e41bb105358fd07d20872952" }, - { url = "https://mirrors.aliyun.com/pypi/packages/bc/6d/ceafe87587101e9ab0d370e4f6e5f3f3a85b9a697f2318738e5e7e176ce3/numpy-2.3.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ee8340cb48c9b7a5899d1149eece41ca535513a9698098edbade2a8e7a84da77" }, - { url = "https://mirrors.aliyun.com/pypi/packages/2b/19/0fb49a3ea088be691f040c9bf1817e4669a339d6e98579f91859b902c636/numpy-2.3.1-cp312-cp312-win32.whl", hash = "sha256:e772dda20a6002ef7061713dc1e2585bc1b534e7909b2030b5a46dae8ff077ab" }, - { url = "https://mirrors.aliyun.com/pypi/packages/b1/3e/e28f4c1dd9e042eb57a3eb652f200225e311b608632bc727ae378623d4f8/numpy-2.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:cfecc7822543abdea6de08758091da655ea2210b8ffa1faf116b940693d3df76" }, - { url = "https://mirrors.aliyun.com/pypi/packages/04/a8/8a5e9079dc722acf53522b8f8842e79541ea81835e9b5483388701421073/numpy-2.3.1-cp312-cp312-win_arm64.whl", hash = "sha256:7be91b2239af2658653c5bb6f1b8bccafaf08226a258caf78ce44710a0160d30" }, - { url = "https://mirrors.aliyun.com/pypi/packages/d4/bd/35ad97006d8abff8631293f8ea6adf07b0108ce6fec68da3c3fcca1197f2/numpy-2.3.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:25a1992b0a3fdcdaec9f552ef10d8103186f5397ab45e2d25f8ac51b1a6b97e8" }, - { url = "https://mirrors.aliyun.com/pypi/packages/f1/4f/df5923874d8095b6062495b39729178eef4a922119cee32a12ee1bd4664c/numpy-2.3.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7dea630156d39b02a63c18f508f85010230409db5b2927ba59c8ba4ab3e8272e" }, - { url = "https://mirrors.aliyun.com/pypi/packages/8c/0f/a1f269b125806212a876f7efb049b06c6f8772cf0121139f97774cd95626/numpy-2.3.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:bada6058dd886061f10ea15f230ccf7dfff40572e99fef440a4a857c8728c9c0" }, - { url = "https://mirrors.aliyun.com/pypi/packages/6d/63/a7f7fd5f375b0361682f6ffbf686787e82b7bbd561268e4f30afad2bb3c0/numpy-2.3.1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:a894f3816eb17b29e4783e5873f92faf55b710c2519e5c351767c51f79d8526d" }, - { url = "https://mirrors.aliyun.com/pypi/packages/bf/0d/1854a4121af895aab383f4aa233748f1df4671ef331d898e32426756a8a6/numpy-2.3.1-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:18703df6c4a4fee55fd3d6e5a253d01c5d33a295409b03fda0c86b3ca2ff41a1" }, - { url = "https://mirrors.aliyun.com/pypi/packages/50/30/af1b277b443f2fb08acf1c55ce9d68ee540043f158630d62cef012750f9f/numpy-2.3.1-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:5902660491bd7a48b2ec16c23ccb9124b8abfd9583c5fdfa123fe6b421e03de1" }, - { url = "https://mirrors.aliyun.com/pypi/packages/6e/ec/3b68220c277e463095342d254c61be8144c31208db18d3fd8ef02712bcd6/numpy-2.3.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:36890eb9e9d2081137bd78d29050ba63b8dab95dff7912eadf1185e80074b2a0" }, - { url = "https://mirrors.aliyun.com/pypi/packages/77/2b/4014f2bcc4404484021c74d4c5ee8eb3de7e3f7ac75f06672f8dcf85140a/numpy-2.3.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a780033466159c2270531e2b8ac063704592a0bc62ec4a1b991c7c40705eb0e8" }, - { url = "https://mirrors.aliyun.com/pypi/packages/40/8d/2ddd6c9b30fcf920837b8672f6c65590c7d92e43084c25fc65edc22e93ca/numpy-2.3.1-cp313-cp313-win32.whl", hash = "sha256:39bff12c076812595c3a306f22bfe49919c5513aa1e0e70fac756a0be7c2a2b8" }, - { url = "https://mirrors.aliyun.com/pypi/packages/dd/c8/beaba449925988d415efccb45bf977ff8327a02f655090627318f6398c7b/numpy-2.3.1-cp313-cp313-win_amd64.whl", hash = "sha256:8d5ee6eec45f08ce507a6570e06f2f879b374a552087a4179ea7838edbcbfa42" }, - { url = "https://mirrors.aliyun.com/pypi/packages/0b/c3/5c0c575d7ec78c1126998071f58facfc124006635da75b090805e642c62e/numpy-2.3.1-cp313-cp313-win_arm64.whl", hash = "sha256:0c4d9e0a8368db90f93bd192bfa771ace63137c3488d198ee21dfb8e7771916e" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ea/19/a029cd335cf72f79d2644dcfc22d90f09caa86265cbbde3b5702ccef6890/numpy-2.3.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:b0b5397374f32ec0649dd98c652a1798192042e715df918c20672c62fb52d4b8" }, - { url = "https://mirrors.aliyun.com/pypi/packages/25/91/8ea8894406209107d9ce19b66314194675d31761fe2cb3c84fe2eeae2f37/numpy-2.3.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:c5bdf2015ccfcee8253fb8be695516ac4457c743473a43290fd36eba6a1777eb" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a6/7f/06187b0066eefc9e7ce77d5f2ddb4e314a55220ad62dd0bfc9f2c44bac14/numpy-2.3.1-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:d70f20df7f08b90a2062c1f07737dd340adccf2068d0f1b9b3d56e2038979fee" }, - { url = "https://mirrors.aliyun.com/pypi/packages/e8/ec/a926c293c605fa75e9cfb09f1e4840098ed46d2edaa6e2152ee35dc01ed3/numpy-2.3.1-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:2fb86b7e58f9ac50e1e9dd1290154107e47d1eef23a0ae9145ded06ea606f992" }, - { url = "https://mirrors.aliyun.com/pypi/packages/e3/62/d68e52fb6fde5586650d4c0ce0b05ff3a48ad4df4ffd1b8866479d1d671d/numpy-2.3.1-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:23ab05b2d241f76cb883ce8b9a93a680752fbfcbd51c50eff0b88b979e471d8c" }, - { url = "https://mirrors.aliyun.com/pypi/packages/fc/ec/b74d3f2430960044bdad6900d9f5edc2dc0fb8bf5a0be0f65287bf2cbe27/numpy-2.3.1-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:ce2ce9e5de4703a673e705183f64fd5da5bf36e7beddcb63a25ee2286e71ca48" }, - { url = "https://mirrors.aliyun.com/pypi/packages/0d/15/def96774b9d7eb198ddadfcbd20281b20ebb510580419197e225f5c55c3e/numpy-2.3.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:c4913079974eeb5c16ccfd2b1f09354b8fed7e0d6f2cab933104a09a6419b1ee" }, - { url = "https://mirrors.aliyun.com/pypi/packages/2b/57/c3203974762a759540c6ae71d0ea2341c1fa41d84e4971a8e76d7141678a/numpy-2.3.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:010ce9b4f00d5c036053ca684c77441f2f2c934fd23bee058b4d6f196efd8280" }, - { url = "https://mirrors.aliyun.com/pypi/packages/22/8a/ccdf201457ed8ac6245187850aff4ca56a79edbea4829f4e9f14d46fa9a5/numpy-2.3.1-cp313-cp313t-win32.whl", hash = "sha256:6269b9edfe32912584ec496d91b00b6d34282ca1d07eb10e82dfc780907d6c2e" }, - { url = "https://mirrors.aliyun.com/pypi/packages/f1/7e/7f431d8bd8eb7e03d79294aed238b1b0b174b3148570d03a8a8a8f6a0da9/numpy-2.3.1-cp313-cp313t-win_amd64.whl", hash = "sha256:2a809637460e88a113e186e87f228d74ae2852a2e0c44de275263376f17b5bdc" }, - { url = "https://mirrors.aliyun.com/pypi/packages/d4/ca/af82bf0fad4c3e573c6930ed743b5308492ff19917c7caaf2f9b6f9e2e98/numpy-2.3.1-cp313-cp313t-win_arm64.whl", hash = "sha256:eccb9a159db9aed60800187bc47a6d3451553f0e1b08b068d8b277ddfbb9b244" }, - { url = "https://mirrors.aliyun.com/pypi/packages/e8/34/facc13b9b42ddca30498fc51f7f73c3d0f2be179943a4b4da8686e259740/numpy-2.3.1-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:ad506d4b09e684394c42c966ec1527f6ebc25da7f4da4b1b056606ffe446b8a3" }, - { url = "https://mirrors.aliyun.com/pypi/packages/65/b6/41b705d9dbae04649b529fc9bd3387664c3281c7cd78b404a4efe73dcc45/numpy-2.3.1-pp311-pypy311_pp73-macosx_14_0_arm64.whl", hash = "sha256:ebb8603d45bc86bbd5edb0d63e52c5fd9e7945d3a503b77e486bd88dde67a19b" }, - { url = "https://mirrors.aliyun.com/pypi/packages/7a/b4/fe3ac1902bff7a4934a22d49e1c9d71a623204d654d4cc43c6e8fe337fcb/numpy-2.3.1-pp311-pypy311_pp73-macosx_14_0_x86_64.whl", hash = "sha256:15aa4c392ac396e2ad3d0a2680c0f0dee420f9fed14eef09bdb9450ee6dcb7b7" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ae/ee/89bedf69c36ace1ac8f59e97811c1f5031e179a37e4821c3a230bf750142/numpy-2.3.1-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:c6e0bf9d1a2f50d2b65a7cf56db37c095af17b59f6c132396f7c6d5dd76484df" }, - { url = "https://mirrors.aliyun.com/pypi/packages/15/08/e00e7070ede29b2b176165eba18d6f9784d5349be3c0c1218338e79c27fd/numpy-2.3.1-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:eabd7e8740d494ce2b4ea0ff05afa1b7b291e978c0ae075487c51e8bd93c0c68" }, - { url = "https://mirrors.aliyun.com/pypi/packages/48/6b/1c6b515a83d5564b1698a61efa245727c8feecf308f4091f565988519d20/numpy-2.3.1-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:e610832418a2bc09d974cc9fecebfa51e9532d6190223bc5ef6a7402ebf3b5cb" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/b0/c7/87c64d7ab426156530676000c94784ef55676df2f13b2796f97722464124/numpy-2.3.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6ea9e48336a402551f52cd8f593343699003d2353daa4b72ce8d34f66b722070", size = 21199346, upload-time = "2025-06-21T11:47:47.57Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/58/0e/0966c2f44beeac12af8d836e5b5f826a407cf34c45cb73ddcdfce9f5960b/numpy-2.3.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5ccb7336eaf0e77c1635b232c141846493a588ec9ea777a7c24d7166bb8533ae", size = 14361143, upload-time = "2025-06-21T11:48:10.766Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/7d/31/6e35a247acb1bfc19226791dfc7d4c30002cd4e620e11e58b0ddf836fe52/numpy-2.3.1-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:0bb3a4a61e1d327e035275d2a993c96fa786e4913aa089843e6a2d9dd205c66a", size = 5378989, upload-time = "2025-06-21T11:48:19.998Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/b0/25/93b621219bb6f5a2d4e713a824522c69ab1f06a57cd571cda70e2e31af44/numpy-2.3.1-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:e344eb79dab01f1e838ebb67aab09965fb271d6da6b00adda26328ac27d4a66e", size = 6912890, upload-time = "2025-06-21T11:48:31.376Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ef/60/6b06ed98d11fb32e27fb59468b42383f3877146d3ee639f733776b6ac596/numpy-2.3.1-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:467db865b392168ceb1ef1ffa6f5a86e62468c43e0cfb4ab6da667ede10e58db", size = 14569032, upload-time = "2025-06-21T11:48:52.563Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/75/c9/9bec03675192077467a9c7c2bdd1f2e922bd01d3a69b15c3a0fdcd8548f6/numpy-2.3.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:afed2ce4a84f6b0fc6c1ce734ff368cbf5a5e24e8954a338f3bdffa0718adffb", size = 16930354, upload-time = "2025-06-21T11:49:17.473Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/6a/e2/5756a00cabcf50a3f527a0c968b2b4881c62b1379223931853114fa04cda/numpy-2.3.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0025048b3c1557a20bc80d06fdeb8cc7fc193721484cca82b2cfa072fec71a93", size = 15879605, upload-time = "2025-06-21T11:49:41.161Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ff/86/a471f65f0a86f1ca62dcc90b9fa46174dd48f50214e5446bc16a775646c5/numpy-2.3.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a5ee121b60aa509679b682819c602579e1df14a5b07fe95671c8849aad8f2115", size = 18666994, upload-time = "2025-06-21T11:50:08.516Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/43/a6/482a53e469b32be6500aaf61cfafd1de7a0b0d484babf679209c3298852e/numpy-2.3.1-cp311-cp311-win32.whl", hash = "sha256:a8b740f5579ae4585831b3cf0e3b0425c667274f82a484866d2adf9570539369", size = 6603672, upload-time = "2025-06-21T11:50:19.584Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/6b/fb/bb613f4122c310a13ec67585c70e14b03bfc7ebabd24f4d5138b97371d7c/numpy-2.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:d4580adadc53311b163444f877e0789f1c8861e2698f6b2a4ca852fda154f3ff", size = 13024015, upload-time = "2025-06-21T11:50:39.139Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/51/58/2d842825af9a0c041aca246dc92eb725e1bc5e1c9ac89712625db0c4e11c/numpy-2.3.1-cp311-cp311-win_arm64.whl", hash = "sha256:ec0bdafa906f95adc9a0c6f26a4871fa753f25caaa0e032578a30457bff0af6a", size = 10456989, upload-time = "2025-06-21T11:50:55.616Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/c6/56/71ad5022e2f63cfe0ca93559403d0edef14aea70a841d640bd13cdba578e/numpy-2.3.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:2959d8f268f3d8ee402b04a9ec4bb7604555aeacf78b360dc4ec27f1d508177d", size = 20896664, upload-time = "2025-06-21T12:15:30.845Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/25/65/2db52ba049813670f7f987cc5db6dac9be7cd95e923cc6832b3d32d87cef/numpy-2.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:762e0c0c6b56bdedfef9a8e1d4538556438288c4276901ea008ae44091954e29", size = 14131078, upload-time = "2025-06-21T12:15:52.23Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/57/dd/28fa3c17b0e751047ac928c1e1b6990238faad76e9b147e585b573d9d1bd/numpy-2.3.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:867ef172a0976aaa1f1d1b63cf2090de8b636a7674607d514505fb7276ab08fc", size = 5112554, upload-time = "2025-06-21T12:16:01.434Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/c9/fc/84ea0cba8e760c4644b708b6819d91784c290288c27aca916115e3311d17/numpy-2.3.1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:4e602e1b8682c2b833af89ba641ad4176053aaa50f5cacda1a27004352dde943", size = 6646560, upload-time = "2025-06-21T12:16:11.895Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/61/b2/512b0c2ddec985ad1e496b0bd853eeb572315c0f07cd6997473ced8f15e2/numpy-2.3.1-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:8e333040d069eba1652fb08962ec5b76af7f2c7bce1df7e1418c8055cf776f25", size = 14260638, upload-time = "2025-06-21T12:16:32.611Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/6e/45/c51cb248e679a6c6ab14b7a8e3ead3f4a3fe7425fc7a6f98b3f147bec532/numpy-2.3.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:e7cbf5a5eafd8d230a3ce356d892512185230e4781a361229bd902ff403bc660", size = 16632729, upload-time = "2025-06-21T12:16:57.439Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/e4/ff/feb4be2e5c09a3da161b412019caf47183099cbea1132fd98061808c2df2/numpy-2.3.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5f1b8f26d1086835f442286c1d9b64bb3974b0b1e41bb105358fd07d20872952", size = 15565330, upload-time = "2025-06-21T12:17:20.638Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/bc/6d/ceafe87587101e9ab0d370e4f6e5f3f3a85b9a697f2318738e5e7e176ce3/numpy-2.3.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ee8340cb48c9b7a5899d1149eece41ca535513a9698098edbade2a8e7a84da77", size = 18361734, upload-time = "2025-06-21T12:17:47.938Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/2b/19/0fb49a3ea088be691f040c9bf1817e4669a339d6e98579f91859b902c636/numpy-2.3.1-cp312-cp312-win32.whl", hash = "sha256:e772dda20a6002ef7061713dc1e2585bc1b534e7909b2030b5a46dae8ff077ab", size = 6320411, upload-time = "2025-06-21T12:17:58.475Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/b1/3e/e28f4c1dd9e042eb57a3eb652f200225e311b608632bc727ae378623d4f8/numpy-2.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:cfecc7822543abdea6de08758091da655ea2210b8ffa1faf116b940693d3df76", size = 12734973, upload-time = "2025-06-21T12:18:17.601Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/04/a8/8a5e9079dc722acf53522b8f8842e79541ea81835e9b5483388701421073/numpy-2.3.1-cp312-cp312-win_arm64.whl", hash = "sha256:7be91b2239af2658653c5bb6f1b8bccafaf08226a258caf78ce44710a0160d30", size = 10191491, upload-time = "2025-06-21T12:18:33.585Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/d4/bd/35ad97006d8abff8631293f8ea6adf07b0108ce6fec68da3c3fcca1197f2/numpy-2.3.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:25a1992b0a3fdcdaec9f552ef10d8103186f5397ab45e2d25f8ac51b1a6b97e8", size = 20889381, upload-time = "2025-06-21T12:19:04.103Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/f1/4f/df5923874d8095b6062495b39729178eef4a922119cee32a12ee1bd4664c/numpy-2.3.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7dea630156d39b02a63c18f508f85010230409db5b2927ba59c8ba4ab3e8272e", size = 14152726, upload-time = "2025-06-21T12:19:25.599Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/8c/0f/a1f269b125806212a876f7efb049b06c6f8772cf0121139f97774cd95626/numpy-2.3.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:bada6058dd886061f10ea15f230ccf7dfff40572e99fef440a4a857c8728c9c0", size = 5105145, upload-time = "2025-06-21T12:19:34.782Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/6d/63/a7f7fd5f375b0361682f6ffbf686787e82b7bbd561268e4f30afad2bb3c0/numpy-2.3.1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:a894f3816eb17b29e4783e5873f92faf55b710c2519e5c351767c51f79d8526d", size = 6639409, upload-time = "2025-06-21T12:19:45.228Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/bf/0d/1854a4121af895aab383f4aa233748f1df4671ef331d898e32426756a8a6/numpy-2.3.1-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:18703df6c4a4fee55fd3d6e5a253d01c5d33a295409b03fda0c86b3ca2ff41a1", size = 14257630, upload-time = "2025-06-21T12:20:06.544Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/50/30/af1b277b443f2fb08acf1c55ce9d68ee540043f158630d62cef012750f9f/numpy-2.3.1-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:5902660491bd7a48b2ec16c23ccb9124b8abfd9583c5fdfa123fe6b421e03de1", size = 16627546, upload-time = "2025-06-21T12:20:31.002Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/6e/ec/3b68220c277e463095342d254c61be8144c31208db18d3fd8ef02712bcd6/numpy-2.3.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:36890eb9e9d2081137bd78d29050ba63b8dab95dff7912eadf1185e80074b2a0", size = 15562538, upload-time = "2025-06-21T12:20:54.322Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/77/2b/4014f2bcc4404484021c74d4c5ee8eb3de7e3f7ac75f06672f8dcf85140a/numpy-2.3.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a780033466159c2270531e2b8ac063704592a0bc62ec4a1b991c7c40705eb0e8", size = 18360327, upload-time = "2025-06-21T12:21:21.053Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/40/8d/2ddd6c9b30fcf920837b8672f6c65590c7d92e43084c25fc65edc22e93ca/numpy-2.3.1-cp313-cp313-win32.whl", hash = "sha256:39bff12c076812595c3a306f22bfe49919c5513aa1e0e70fac756a0be7c2a2b8", size = 6312330, upload-time = "2025-06-21T12:25:07.447Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/dd/c8/beaba449925988d415efccb45bf977ff8327a02f655090627318f6398c7b/numpy-2.3.1-cp313-cp313-win_amd64.whl", hash = "sha256:8d5ee6eec45f08ce507a6570e06f2f879b374a552087a4179ea7838edbcbfa42", size = 12731565, upload-time = "2025-06-21T12:25:26.444Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/0b/c3/5c0c575d7ec78c1126998071f58facfc124006635da75b090805e642c62e/numpy-2.3.1-cp313-cp313-win_arm64.whl", hash = "sha256:0c4d9e0a8368db90f93bd192bfa771ace63137c3488d198ee21dfb8e7771916e", size = 10190262, upload-time = "2025-06-21T12:25:42.196Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ea/19/a029cd335cf72f79d2644dcfc22d90f09caa86265cbbde3b5702ccef6890/numpy-2.3.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:b0b5397374f32ec0649dd98c652a1798192042e715df918c20672c62fb52d4b8", size = 20987593, upload-time = "2025-06-21T12:21:51.664Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/25/91/8ea8894406209107d9ce19b66314194675d31761fe2cb3c84fe2eeae2f37/numpy-2.3.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:c5bdf2015ccfcee8253fb8be695516ac4457c743473a43290fd36eba6a1777eb", size = 14300523, upload-time = "2025-06-21T12:22:13.583Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a6/7f/06187b0066eefc9e7ce77d5f2ddb4e314a55220ad62dd0bfc9f2c44bac14/numpy-2.3.1-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:d70f20df7f08b90a2062c1f07737dd340adccf2068d0f1b9b3d56e2038979fee", size = 5227993, upload-time = "2025-06-21T12:22:22.53Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/e8/ec/a926c293c605fa75e9cfb09f1e4840098ed46d2edaa6e2152ee35dc01ed3/numpy-2.3.1-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:2fb86b7e58f9ac50e1e9dd1290154107e47d1eef23a0ae9145ded06ea606f992", size = 6736652, upload-time = "2025-06-21T12:22:33.629Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/e3/62/d68e52fb6fde5586650d4c0ce0b05ff3a48ad4df4ffd1b8866479d1d671d/numpy-2.3.1-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:23ab05b2d241f76cb883ce8b9a93a680752fbfcbd51c50eff0b88b979e471d8c", size = 14331561, upload-time = "2025-06-21T12:22:55.056Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/fc/ec/b74d3f2430960044bdad6900d9f5edc2dc0fb8bf5a0be0f65287bf2cbe27/numpy-2.3.1-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:ce2ce9e5de4703a673e705183f64fd5da5bf36e7beddcb63a25ee2286e71ca48", size = 16693349, upload-time = "2025-06-21T12:23:20.53Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/0d/15/def96774b9d7eb198ddadfcbd20281b20ebb510580419197e225f5c55c3e/numpy-2.3.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:c4913079974eeb5c16ccfd2b1f09354b8fed7e0d6f2cab933104a09a6419b1ee", size = 15642053, upload-time = "2025-06-21T12:23:43.697Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/2b/57/c3203974762a759540c6ae71d0ea2341c1fa41d84e4971a8e76d7141678a/numpy-2.3.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:010ce9b4f00d5c036053ca684c77441f2f2c934fd23bee058b4d6f196efd8280", size = 18434184, upload-time = "2025-06-21T12:24:10.708Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/22/8a/ccdf201457ed8ac6245187850aff4ca56a79edbea4829f4e9f14d46fa9a5/numpy-2.3.1-cp313-cp313t-win32.whl", hash = "sha256:6269b9edfe32912584ec496d91b00b6d34282ca1d07eb10e82dfc780907d6c2e", size = 6440678, upload-time = "2025-06-21T12:24:21.596Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/f1/7e/7f431d8bd8eb7e03d79294aed238b1b0b174b3148570d03a8a8a8f6a0da9/numpy-2.3.1-cp313-cp313t-win_amd64.whl", hash = "sha256:2a809637460e88a113e186e87f228d74ae2852a2e0c44de275263376f17b5bdc", size = 12870697, upload-time = "2025-06-21T12:24:40.644Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/d4/ca/af82bf0fad4c3e573c6930ed743b5308492ff19917c7caaf2f9b6f9e2e98/numpy-2.3.1-cp313-cp313t-win_arm64.whl", hash = "sha256:eccb9a159db9aed60800187bc47a6d3451553f0e1b08b068d8b277ddfbb9b244", size = 10260376, upload-time = "2025-06-21T12:24:56.884Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/e8/34/facc13b9b42ddca30498fc51f7f73c3d0f2be179943a4b4da8686e259740/numpy-2.3.1-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:ad506d4b09e684394c42c966ec1527f6ebc25da7f4da4b1b056606ffe446b8a3", size = 21070637, upload-time = "2025-06-21T12:26:12.518Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/65/b6/41b705d9dbae04649b529fc9bd3387664c3281c7cd78b404a4efe73dcc45/numpy-2.3.1-pp311-pypy311_pp73-macosx_14_0_arm64.whl", hash = "sha256:ebb8603d45bc86bbd5edb0d63e52c5fd9e7945d3a503b77e486bd88dde67a19b", size = 5304087, upload-time = "2025-06-21T12:26:22.294Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/7a/b4/fe3ac1902bff7a4934a22d49e1c9d71a623204d654d4cc43c6e8fe337fcb/numpy-2.3.1-pp311-pypy311_pp73-macosx_14_0_x86_64.whl", hash = "sha256:15aa4c392ac396e2ad3d0a2680c0f0dee420f9fed14eef09bdb9450ee6dcb7b7", size = 6817588, upload-time = "2025-06-21T12:26:32.939Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ae/ee/89bedf69c36ace1ac8f59e97811c1f5031e179a37e4821c3a230bf750142/numpy-2.3.1-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:c6e0bf9d1a2f50d2b65a7cf56db37c095af17b59f6c132396f7c6d5dd76484df", size = 14399010, upload-time = "2025-06-21T12:26:54.086Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/15/08/e00e7070ede29b2b176165eba18d6f9784d5349be3c0c1218338e79c27fd/numpy-2.3.1-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:eabd7e8740d494ce2b4ea0ff05afa1b7b291e978c0ae075487c51e8bd93c0c68", size = 16752042, upload-time = "2025-06-21T12:27:19.018Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/48/6b/1c6b515a83d5564b1698a61efa245727c8feecf308f4091f565988519d20/numpy-2.3.1-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:e610832418a2bc09d974cc9fecebfa51e9532d6190223bc5ef6a7402ebf3b5cb", size = 12927246, upload-time = "2025-06-21T12:27:38.618Z" }, ] [[package]] name = "opencv-python" version = "4.11.0.86" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } dependencies = [ - { name = "numpy", version = "2.0.2", source = { registry = "https://mirrors.aliyun.com/pypi/simple" }, marker = "python_full_version < '3.10'" }, - { name = "numpy", version = "2.2.6", source = { registry = "https://mirrors.aliyun.com/pypi/simple" }, marker = "python_full_version == '3.10.*'" }, - { name = "numpy", version = "2.3.1", source = { registry = "https://mirrors.aliyun.com/pypi/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" }, marker = "python_full_version < '3.10'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" }, marker = "python_full_version == '3.10.*'" }, + { name = "numpy", version = "2.3.1", source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" }, marker = "python_full_version >= '3.11'" }, ] -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/17/06/68c27a523103dad5837dc5b87e71285280c4f098c60e4fe8a8db6486ab09/opencv-python-4.11.0.86.tar.gz", hash = "sha256:03d60ccae62304860d232272e4a4fda93c39d595780cb40b161b310244b736a4" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/17/06/68c27a523103dad5837dc5b87e71285280c4f098c60e4fe8a8db6486ab09/opencv-python-4.11.0.86.tar.gz", hash = "sha256:03d60ccae62304860d232272e4a4fda93c39d595780cb40b161b310244b736a4", size = 95171956, upload-time = "2025-01-16T13:52:24.737Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/05/4d/53b30a2a3ac1f75f65a59eb29cf2ee7207ce64867db47036ad61743d5a23/opencv_python-4.11.0.86-cp37-abi3-macosx_13_0_arm64.whl", hash = "sha256:432f67c223f1dc2824f5e73cdfcd9db0efc8710647d4e813012195dc9122a52a" }, - { url = "https://mirrors.aliyun.com/pypi/packages/3b/84/0a67490741867eacdfa37bc18df96e08a9d579583b419010d7f3da8ff503/opencv_python-4.11.0.86-cp37-abi3-macosx_13_0_x86_64.whl", hash = "sha256:9d05ef13d23fe97f575153558653e2d6e87103995d54e6a35db3f282fe1f9c66" }, - { url = "https://mirrors.aliyun.com/pypi/packages/f3/bd/29c126788da65c1fb2b5fb621b7fed0ed5f9122aa22a0868c5e2c15c6d23/opencv_python-4.11.0.86-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b92ae2c8852208817e6776ba1ea0d6b1e0a1b5431e971a2a0ddd2a8cc398202" }, - { url = "https://mirrors.aliyun.com/pypi/packages/2c/8b/90eb44a40476fa0e71e05a0283947cfd74a5d36121a11d926ad6f3193cc4/opencv_python-4.11.0.86-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b02611523803495003bd87362db3e1d2a0454a6a63025dc6658a9830570aa0d" }, - { url = "https://mirrors.aliyun.com/pypi/packages/fb/d7/1d5941a9dde095468b288d989ff6539dd69cd429dbf1b9e839013d21b6f0/opencv_python-4.11.0.86-cp37-abi3-win32.whl", hash = "sha256:810549cb2a4aedaa84ad9a1c92fbfdfc14090e2749cedf2c1589ad8359aa169b" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a4/7d/f1c30a92854540bf789e9cd5dde7ef49bbe63f855b85a2e6b3db8135c591/opencv_python-4.11.0.86-cp37-abi3-win_amd64.whl", hash = "sha256:085ad9b77c18853ea66283e98affefe2de8cc4c1f43eda4c100cf9b2721142ec" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/05/4d/53b30a2a3ac1f75f65a59eb29cf2ee7207ce64867db47036ad61743d5a23/opencv_python-4.11.0.86-cp37-abi3-macosx_13_0_arm64.whl", hash = "sha256:432f67c223f1dc2824f5e73cdfcd9db0efc8710647d4e813012195dc9122a52a", size = 37326322, upload-time = "2025-01-16T13:52:25.887Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/3b/84/0a67490741867eacdfa37bc18df96e08a9d579583b419010d7f3da8ff503/opencv_python-4.11.0.86-cp37-abi3-macosx_13_0_x86_64.whl", hash = "sha256:9d05ef13d23fe97f575153558653e2d6e87103995d54e6a35db3f282fe1f9c66", size = 56723197, upload-time = "2025-01-16T13:55:21.222Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/f3/bd/29c126788da65c1fb2b5fb621b7fed0ed5f9122aa22a0868c5e2c15c6d23/opencv_python-4.11.0.86-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b92ae2c8852208817e6776ba1ea0d6b1e0a1b5431e971a2a0ddd2a8cc398202", size = 42230439, upload-time = "2025-01-16T13:51:35.822Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/2c/8b/90eb44a40476fa0e71e05a0283947cfd74a5d36121a11d926ad6f3193cc4/opencv_python-4.11.0.86-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b02611523803495003bd87362db3e1d2a0454a6a63025dc6658a9830570aa0d", size = 62986597, upload-time = "2025-01-16T13:52:08.836Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/fb/d7/1d5941a9dde095468b288d989ff6539dd69cd429dbf1b9e839013d21b6f0/opencv_python-4.11.0.86-cp37-abi3-win32.whl", hash = "sha256:810549cb2a4aedaa84ad9a1c92fbfdfc14090e2749cedf2c1589ad8359aa169b", size = 29384337, upload-time = "2025-01-16T13:52:13.549Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a4/7d/f1c30a92854540bf789e9cd5dde7ef49bbe63f855b85a2e6b3db8135c591/opencv_python-4.11.0.86-cp37-abi3-win_amd64.whl", hash = "sha256:085ad9b77c18853ea66283e98affefe2de8cc4c1f43eda4c100cf9b2721142ec", size = 39488044, upload-time = "2025-01-16T13:52:21.928Z" }, ] [[package]] name = "packaging" version = "25.0" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f", size = 165727, upload-time = "2025-04-19T11:48:59.673Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size = 66469, upload-time = "2025-04-19T11:48:57.875Z" }, ] [[package]] name = "pandas" version = "2.2.3" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } dependencies = [ - { name = "numpy", version = "2.0.2", source = { registry = "https://mirrors.aliyun.com/pypi/simple" }, marker = "python_full_version < '3.10'" }, - { name = "numpy", version = "2.2.6", source = { registry = "https://mirrors.aliyun.com/pypi/simple" }, marker = "python_full_version == '3.10.*'" }, - { name = "numpy", version = "2.3.1", source = { registry = "https://mirrors.aliyun.com/pypi/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" }, marker = "python_full_version < '3.10'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" }, marker = "python_full_version == '3.10.*'" }, + { name = "numpy", version = "2.3.1", source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" }, marker = "python_full_version >= '3.11'" }, { name = "python-dateutil" }, { name = "pytz" }, { name = "tzdata" }, ] -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/9c/d6/9f8431bacc2e19dca897724cd097b1bb224a6ad5433784a44b587c7c13af/pandas-2.2.3.tar.gz", hash = "sha256:4f18ba62b61d7e192368b84517265a99b4d7ee8912f8708660fb4a366cc82667" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/9c/d6/9f8431bacc2e19dca897724cd097b1bb224a6ad5433784a44b587c7c13af/pandas-2.2.3.tar.gz", hash = "sha256:4f18ba62b61d7e192368b84517265a99b4d7ee8912f8708660fb4a366cc82667", size = 4399213, upload-time = "2024-09-20T13:10:04.827Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/aa/70/c853aec59839bceed032d52010ff5f1b8d87dc3114b762e4ba2727661a3b/pandas-2.2.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1948ddde24197a0f7add2bdc4ca83bf2b1ef84a1bc8ccffd95eda17fd836ecb5" }, - { url = "https://mirrors.aliyun.com/pypi/packages/99/f2/c4527768739ffa4469b2b4fff05aa3768a478aed89a2f271a79a40eee984/pandas-2.2.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:381175499d3802cde0eabbaf6324cce0c4f5d52ca6f8c377c29ad442f50f6348" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ed/12/86c1747ea27989d7a4064f806ce2bae2c6d575b950be087837bdfcabacc9/pandas-2.2.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d9c45366def9a3dd85a6454c0e7908f2b3b8e9c138f5dc38fed7ce720d8453ed" }, - { url = "https://mirrors.aliyun.com/pypi/packages/44/50/7db2cd5e6373ae796f0ddad3675268c8d59fb6076e66f0c339d61cea886b/pandas-2.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86976a1c5b25ae3f8ccae3a5306e443569ee3c3faf444dfd0f41cda24667ad57" }, - { url = "https://mirrors.aliyun.com/pypi/packages/61/61/a89015a6d5536cb0d6c3ba02cebed51a95538cf83472975275e28ebf7d0c/pandas-2.2.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b8661b0238a69d7aafe156b7fa86c44b881387509653fdf857bebc5e4008ad42" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ce/0d/4cc7b69ce37fac07645a94e1d4b0880b15999494372c1523508511b09e40/pandas-2.2.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:37e0aced3e8f539eccf2e099f65cdb9c8aa85109b0be6e93e2baff94264bdc6f" }, - { url = "https://mirrors.aliyun.com/pypi/packages/31/9e/6ebb433de864a6cd45716af52a4d7a8c3c9aaf3a98368e61db9e69e69a9c/pandas-2.2.3-cp310-cp310-win_amd64.whl", hash = "sha256:56534ce0746a58afaf7942ba4863e0ef81c9c50d3f0ae93e9497d6a41a057645" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a8/44/d9502bf0ed197ba9bf1103c9867d5904ddcaf869e52329787fc54ed70cc8/pandas-2.2.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:66108071e1b935240e74525006034333f98bcdb87ea116de573a6a0dccb6c039" }, - { url = "https://mirrors.aliyun.com/pypi/packages/52/11/9eac327a38834f162b8250aab32a6781339c69afe7574368fffe46387edf/pandas-2.2.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7c2875855b0ff77b2a64a0365e24455d9990730d6431b9e0ee18ad8acee13dbd" }, - { url = "https://mirrors.aliyun.com/pypi/packages/45/fb/c4beeb084718598ba19aa9f5abbc8aed8b42f90930da861fcb1acdb54c3a/pandas-2.2.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:cd8d0c3be0515c12fed0bdbae072551c8b54b7192c7b1fda0ba56059a0179698" }, - { url = "https://mirrors.aliyun.com/pypi/packages/cd/5f/4dba1d39bb9c38d574a9a22548c540177f78ea47b32f99c0ff2ec499fac5/pandas-2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c124333816c3a9b03fbeef3a9f230ba9a737e9e5bb4060aa2107a86cc0a497fc" }, - { url = "https://mirrors.aliyun.com/pypi/packages/b9/57/708135b90391995361636634df1f1130d03ba456e95bcf576fada459115a/pandas-2.2.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:63cc132e40a2e084cf01adf0775b15ac515ba905d7dcca47e9a251819c575ef3" }, - { url = "https://mirrors.aliyun.com/pypi/packages/86/4a/03ed6b7ee323cf30404265c284cee9c65c56a212e0a08d9ee06984ba2240/pandas-2.2.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:29401dbfa9ad77319367d36940cd8a0b3a11aba16063e39632d98b0e931ddf32" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ed/8c/87ddf1fcb55d11f9f847e3c69bb1c6f8e46e2f40ab1a2d2abadb2401b007/pandas-2.2.3-cp311-cp311-win_amd64.whl", hash = "sha256:3fc6873a41186404dad67245896a6e440baacc92f5b716ccd1bc9ed2995ab2c5" }, - { url = "https://mirrors.aliyun.com/pypi/packages/17/a3/fb2734118db0af37ea7433f57f722c0a56687e14b14690edff0cdb4b7e58/pandas-2.2.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b1d432e8d08679a40e2a6d8b2f9770a5c21793a6f9f47fdd52c5ce1948a5a8a9" }, - { url = "https://mirrors.aliyun.com/pypi/packages/e1/0c/ad295fd74bfac85358fd579e271cded3ac969de81f62dd0142c426b9da91/pandas-2.2.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a5a1595fe639f5988ba6a8e5bc9649af3baf26df3998a0abe56c02609392e0a4" }, - { url = "https://mirrors.aliyun.com/pypi/packages/c6/2a/4bba3f03f7d07207481fed47f5b35f556c7441acddc368ec43d6643c5777/pandas-2.2.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5de54125a92bb4d1c051c0659e6fcb75256bf799a732a87184e5ea503965bce3" }, - { url = "https://mirrors.aliyun.com/pypi/packages/38/f8/d8fddee9ed0d0c0f4a2132c1dfcf0e3e53265055da8df952a53e7eaf178c/pandas-2.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fffb8ae78d8af97f849404f21411c95062db1496aeb3e56f146f0355c9989319" }, - { url = "https://mirrors.aliyun.com/pypi/packages/20/e8/45a05d9c39d2cea61ab175dbe6a2de1d05b679e8de2011da4ee190d7e748/pandas-2.2.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6dfcb5ee8d4d50c06a51c2fffa6cff6272098ad6540aed1a76d15fb9318194d8" }, - { url = "https://mirrors.aliyun.com/pypi/packages/1d/99/617d07a6a5e429ff90c90da64d428516605a1ec7d7bea494235e1c3882de/pandas-2.2.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:062309c1b9ea12a50e8ce661145c6aab431b1e99530d3cd60640e255778bd43a" }, - { url = "https://mirrors.aliyun.com/pypi/packages/29/d4/1244ab8edf173a10fd601f7e13b9566c1b525c4f365d6bee918e68381889/pandas-2.2.3-cp312-cp312-win_amd64.whl", hash = "sha256:59ef3764d0fe818125a5097d2ae867ca3fa64df032331b7e0917cf5d7bf66b13" }, - { url = "https://mirrors.aliyun.com/pypi/packages/64/22/3b8f4e0ed70644e85cfdcd57454686b9057c6c38d2f74fe4b8bc2527214a/pandas-2.2.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f00d1345d84d8c86a63e476bb4955e46458b304b9575dcf71102b5c705320015" }, - { url = "https://mirrors.aliyun.com/pypi/packages/e4/93/b3f5d1838500e22c8d793625da672f3eec046b1a99257666c94446969282/pandas-2.2.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3508d914817e153ad359d7e069d752cdd736a247c322d932eb89e6bc84217f28" }, - { url = "https://mirrors.aliyun.com/pypi/packages/f5/94/6c79b07f0e5aab1dcfa35a75f4817f5c4f677931d4234afcd75f0e6a66ca/pandas-2.2.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:22a9d949bfc9a502d320aa04e5d02feab689d61da4e7764b62c30b991c42c5f0" }, - { url = "https://mirrors.aliyun.com/pypi/packages/e8/31/aa8da88ca0eadbabd0a639788a6da13bb2ff6edbbb9f29aa786450a30a91/pandas-2.2.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3a255b2c19987fbbe62a9dfd6cff7ff2aa9ccab3fc75218fd4b7530f01efa24" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ee/7c/c6dbdb0cb2a4344cacfb8de1c5808ca885b2e4dcfde8008266608f9372af/pandas-2.2.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:800250ecdadb6d9c78eae4990da62743b857b470883fa27f652db8bdde7f6659" }, - { url = "https://mirrors.aliyun.com/pypi/packages/57/b7/8b757e7d92023b832869fa8881a992696a0bfe2e26f72c9ae9f255988d42/pandas-2.2.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6374c452ff3ec675a8f46fd9ab25c4ad0ba590b71cf0656f8b6daa5202bca3fb" }, - { url = "https://mirrors.aliyun.com/pypi/packages/3b/bc/4b18e2b8c002572c5a441a64826252ce5da2aa738855747247a971988043/pandas-2.2.3-cp313-cp313-win_amd64.whl", hash = "sha256:61c5ad4043f791b61dd4752191d9f07f0ae412515d59ba8f005832a532f8736d" }, - { url = "https://mirrors.aliyun.com/pypi/packages/76/a3/a5d88146815e972d40d19247b2c162e88213ef51c7c25993942c39dbf41d/pandas-2.2.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:3b71f27954685ee685317063bf13c7709a7ba74fc996b84fc6821c59b0f06468" }, - { url = "https://mirrors.aliyun.com/pypi/packages/9c/8c/f0fd18f6140ddafc0c24122c8a964e48294acc579d47def376fef12bcb4a/pandas-2.2.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:38cf8125c40dae9d5acc10fa66af8ea6fdf760b2714ee482ca691fc66e6fcb18" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ed/f9/e995754eab9c0f14c6777401f7eece0943840b7a9fc932221c19d1abee9f/pandas-2.2.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ba96630bc17c875161df3818780af30e43be9b166ce51c9a18c1feae342906c2" }, - { url = "https://mirrors.aliyun.com/pypi/packages/25/b0/98d6ae2e1abac4f35230aa756005e8654649d305df9a28b16b9ae4353bff/pandas-2.2.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1db71525a1538b30142094edb9adc10be3f3e176748cd7acc2240c2f2e5aa3a4" }, - { url = "https://mirrors.aliyun.com/pypi/packages/cc/57/0f72a10f9db6a4628744c8e8f0df4e6e21de01212c7c981d31e50ffc8328/pandas-2.2.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:15c0e1e02e93116177d29ff83e8b1619c93ddc9c49083f237d4312337a61165d" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ab/5f/b38085618b950b79d2d9164a711c52b10aefc0ae6833b96f626b7021b2ed/pandas-2.2.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:ad5b65698ab28ed8d7f18790a0dc58005c7629f227be9ecc1072aa74c0c1d43a" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ca/8c/8848a4c9b8fdf5a534fe2077af948bf53cd713d77ffbcd7bd15710348fd7/pandas-2.2.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bc6b93f9b966093cb0fd62ff1a7e4c09e6d546ad7c1de191767baffc57628f39" }, - { url = "https://mirrors.aliyun.com/pypi/packages/9c/b9/5cead4f63b6d31bdefeb21a679bc5a7f4aaf262ca7e07e2bc1c341b68470/pandas-2.2.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5dbca4c1acd72e8eeef4753eeca07de9b1db4f398669d5994086f788a5d7cc30" }, - { url = "https://mirrors.aliyun.com/pypi/packages/31/af/89e35619fb573366fa68dc26dad6ad2c08c17b8004aad6d98f1a31ce4bb3/pandas-2.2.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8cd6d7cc958a3910f934ea8dbdf17b2364827bb4dafc38ce6eef6bb3d65ff09c" }, - { url = "https://mirrors.aliyun.com/pypi/packages/3d/dd/bed19c2974296661493d7acc4407b1d2db4e2a482197df100f8f965b6225/pandas-2.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99df71520d25fade9db7c1076ac94eb994f4d2673ef2aa2e86ee039b6746d20c" }, - { url = "https://mirrors.aliyun.com/pypi/packages/31/a3/18508e10a31ea108d746c848b5a05c0711e0278fa0d6f1c52a8ec52b80a5/pandas-2.2.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:31d0ced62d4ea3e231a9f228366919a5ea0b07440d9d4dac345376fd8e1477ea" }, - { url = "https://mirrors.aliyun.com/pypi/packages/c4/a5/3429bd13d82bebc78f4d78c3945efedef63a7cd0c15c17b2eeb838d1121f/pandas-2.2.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7eee9e7cea6adf3e3d24e304ac6b8300646e2a5d1cd3a3c2abed9101b0846761" }, - { url = "https://mirrors.aliyun.com/pypi/packages/2f/49/5c30646e96c684570925b772eac4eb0a8cb0ca590fa978f56c5d3ae73ea1/pandas-2.2.3-cp39-cp39-win_amd64.whl", hash = "sha256:4850ba03528b6dd51d6c5d273c46f183f39a9baf3f0143e566b89450965b105e" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/aa/70/c853aec59839bceed032d52010ff5f1b8d87dc3114b762e4ba2727661a3b/pandas-2.2.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1948ddde24197a0f7add2bdc4ca83bf2b1ef84a1bc8ccffd95eda17fd836ecb5", size = 12580827, upload-time = "2024-09-20T13:08:42.347Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/99/f2/c4527768739ffa4469b2b4fff05aa3768a478aed89a2f271a79a40eee984/pandas-2.2.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:381175499d3802cde0eabbaf6324cce0c4f5d52ca6f8c377c29ad442f50f6348", size = 11303897, upload-time = "2024-09-20T13:08:45.807Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ed/12/86c1747ea27989d7a4064f806ce2bae2c6d575b950be087837bdfcabacc9/pandas-2.2.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d9c45366def9a3dd85a6454c0e7908f2b3b8e9c138f5dc38fed7ce720d8453ed", size = 66480908, upload-time = "2024-09-20T18:37:13.513Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/44/50/7db2cd5e6373ae796f0ddad3675268c8d59fb6076e66f0c339d61cea886b/pandas-2.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86976a1c5b25ae3f8ccae3a5306e443569ee3c3faf444dfd0f41cda24667ad57", size = 13064210, upload-time = "2024-09-20T13:08:48.325Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/61/61/a89015a6d5536cb0d6c3ba02cebed51a95538cf83472975275e28ebf7d0c/pandas-2.2.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b8661b0238a69d7aafe156b7fa86c44b881387509653fdf857bebc5e4008ad42", size = 16754292, upload-time = "2024-09-20T19:01:54.443Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ce/0d/4cc7b69ce37fac07645a94e1d4b0880b15999494372c1523508511b09e40/pandas-2.2.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:37e0aced3e8f539eccf2e099f65cdb9c8aa85109b0be6e93e2baff94264bdc6f", size = 14416379, upload-time = "2024-09-20T13:08:50.882Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/31/9e/6ebb433de864a6cd45716af52a4d7a8c3c9aaf3a98368e61db9e69e69a9c/pandas-2.2.3-cp310-cp310-win_amd64.whl", hash = "sha256:56534ce0746a58afaf7942ba4863e0ef81c9c50d3f0ae93e9497d6a41a057645", size = 11598471, upload-time = "2024-09-20T13:08:53.332Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a8/44/d9502bf0ed197ba9bf1103c9867d5904ddcaf869e52329787fc54ed70cc8/pandas-2.2.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:66108071e1b935240e74525006034333f98bcdb87ea116de573a6a0dccb6c039", size = 12602222, upload-time = "2024-09-20T13:08:56.254Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/52/11/9eac327a38834f162b8250aab32a6781339c69afe7574368fffe46387edf/pandas-2.2.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7c2875855b0ff77b2a64a0365e24455d9990730d6431b9e0ee18ad8acee13dbd", size = 11321274, upload-time = "2024-09-20T13:08:58.645Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/45/fb/c4beeb084718598ba19aa9f5abbc8aed8b42f90930da861fcb1acdb54c3a/pandas-2.2.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:cd8d0c3be0515c12fed0bdbae072551c8b54b7192c7b1fda0ba56059a0179698", size = 15579836, upload-time = "2024-09-20T19:01:57.571Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/cd/5f/4dba1d39bb9c38d574a9a22548c540177f78ea47b32f99c0ff2ec499fac5/pandas-2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c124333816c3a9b03fbeef3a9f230ba9a737e9e5bb4060aa2107a86cc0a497fc", size = 13058505, upload-time = "2024-09-20T13:09:01.501Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/b9/57/708135b90391995361636634df1f1130d03ba456e95bcf576fada459115a/pandas-2.2.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:63cc132e40a2e084cf01adf0775b15ac515ba905d7dcca47e9a251819c575ef3", size = 16744420, upload-time = "2024-09-20T19:02:00.678Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/86/4a/03ed6b7ee323cf30404265c284cee9c65c56a212e0a08d9ee06984ba2240/pandas-2.2.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:29401dbfa9ad77319367d36940cd8a0b3a11aba16063e39632d98b0e931ddf32", size = 14440457, upload-time = "2024-09-20T13:09:04.105Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ed/8c/87ddf1fcb55d11f9f847e3c69bb1c6f8e46e2f40ab1a2d2abadb2401b007/pandas-2.2.3-cp311-cp311-win_amd64.whl", hash = "sha256:3fc6873a41186404dad67245896a6e440baacc92f5b716ccd1bc9ed2995ab2c5", size = 11617166, upload-time = "2024-09-20T13:09:06.917Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/17/a3/fb2734118db0af37ea7433f57f722c0a56687e14b14690edff0cdb4b7e58/pandas-2.2.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b1d432e8d08679a40e2a6d8b2f9770a5c21793a6f9f47fdd52c5ce1948a5a8a9", size = 12529893, upload-time = "2024-09-20T13:09:09.655Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/e1/0c/ad295fd74bfac85358fd579e271cded3ac969de81f62dd0142c426b9da91/pandas-2.2.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a5a1595fe639f5988ba6a8e5bc9649af3baf26df3998a0abe56c02609392e0a4", size = 11363475, upload-time = "2024-09-20T13:09:14.718Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/c6/2a/4bba3f03f7d07207481fed47f5b35f556c7441acddc368ec43d6643c5777/pandas-2.2.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5de54125a92bb4d1c051c0659e6fcb75256bf799a732a87184e5ea503965bce3", size = 15188645, upload-time = "2024-09-20T19:02:03.88Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/38/f8/d8fddee9ed0d0c0f4a2132c1dfcf0e3e53265055da8df952a53e7eaf178c/pandas-2.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fffb8ae78d8af97f849404f21411c95062db1496aeb3e56f146f0355c9989319", size = 12739445, upload-time = "2024-09-20T13:09:17.621Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/20/e8/45a05d9c39d2cea61ab175dbe6a2de1d05b679e8de2011da4ee190d7e748/pandas-2.2.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6dfcb5ee8d4d50c06a51c2fffa6cff6272098ad6540aed1a76d15fb9318194d8", size = 16359235, upload-time = "2024-09-20T19:02:07.094Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/1d/99/617d07a6a5e429ff90c90da64d428516605a1ec7d7bea494235e1c3882de/pandas-2.2.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:062309c1b9ea12a50e8ce661145c6aab431b1e99530d3cd60640e255778bd43a", size = 14056756, upload-time = "2024-09-20T13:09:20.474Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/29/d4/1244ab8edf173a10fd601f7e13b9566c1b525c4f365d6bee918e68381889/pandas-2.2.3-cp312-cp312-win_amd64.whl", hash = "sha256:59ef3764d0fe818125a5097d2ae867ca3fa64df032331b7e0917cf5d7bf66b13", size = 11504248, upload-time = "2024-09-20T13:09:23.137Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/64/22/3b8f4e0ed70644e85cfdcd57454686b9057c6c38d2f74fe4b8bc2527214a/pandas-2.2.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f00d1345d84d8c86a63e476bb4955e46458b304b9575dcf71102b5c705320015", size = 12477643, upload-time = "2024-09-20T13:09:25.522Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/e4/93/b3f5d1838500e22c8d793625da672f3eec046b1a99257666c94446969282/pandas-2.2.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3508d914817e153ad359d7e069d752cdd736a247c322d932eb89e6bc84217f28", size = 11281573, upload-time = "2024-09-20T13:09:28.012Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/f5/94/6c79b07f0e5aab1dcfa35a75f4817f5c4f677931d4234afcd75f0e6a66ca/pandas-2.2.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:22a9d949bfc9a502d320aa04e5d02feab689d61da4e7764b62c30b991c42c5f0", size = 15196085, upload-time = "2024-09-20T19:02:10.451Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/e8/31/aa8da88ca0eadbabd0a639788a6da13bb2ff6edbbb9f29aa786450a30a91/pandas-2.2.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3a255b2c19987fbbe62a9dfd6cff7ff2aa9ccab3fc75218fd4b7530f01efa24", size = 12711809, upload-time = "2024-09-20T13:09:30.814Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ee/7c/c6dbdb0cb2a4344cacfb8de1c5808ca885b2e4dcfde8008266608f9372af/pandas-2.2.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:800250ecdadb6d9c78eae4990da62743b857b470883fa27f652db8bdde7f6659", size = 16356316, upload-time = "2024-09-20T19:02:13.825Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/57/b7/8b757e7d92023b832869fa8881a992696a0bfe2e26f72c9ae9f255988d42/pandas-2.2.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6374c452ff3ec675a8f46fd9ab25c4ad0ba590b71cf0656f8b6daa5202bca3fb", size = 14022055, upload-time = "2024-09-20T13:09:33.462Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/3b/bc/4b18e2b8c002572c5a441a64826252ce5da2aa738855747247a971988043/pandas-2.2.3-cp313-cp313-win_amd64.whl", hash = "sha256:61c5ad4043f791b61dd4752191d9f07f0ae412515d59ba8f005832a532f8736d", size = 11481175, upload-time = "2024-09-20T13:09:35.871Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/76/a3/a5d88146815e972d40d19247b2c162e88213ef51c7c25993942c39dbf41d/pandas-2.2.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:3b71f27954685ee685317063bf13c7709a7ba74fc996b84fc6821c59b0f06468", size = 12615650, upload-time = "2024-09-20T13:09:38.685Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/9c/8c/f0fd18f6140ddafc0c24122c8a964e48294acc579d47def376fef12bcb4a/pandas-2.2.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:38cf8125c40dae9d5acc10fa66af8ea6fdf760b2714ee482ca691fc66e6fcb18", size = 11290177, upload-time = "2024-09-20T13:09:41.141Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ed/f9/e995754eab9c0f14c6777401f7eece0943840b7a9fc932221c19d1abee9f/pandas-2.2.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ba96630bc17c875161df3818780af30e43be9b166ce51c9a18c1feae342906c2", size = 14651526, upload-time = "2024-09-20T19:02:16.905Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/25/b0/98d6ae2e1abac4f35230aa756005e8654649d305df9a28b16b9ae4353bff/pandas-2.2.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1db71525a1538b30142094edb9adc10be3f3e176748cd7acc2240c2f2e5aa3a4", size = 11871013, upload-time = "2024-09-20T13:09:44.39Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/cc/57/0f72a10f9db6a4628744c8e8f0df4e6e21de01212c7c981d31e50ffc8328/pandas-2.2.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:15c0e1e02e93116177d29ff83e8b1619c93ddc9c49083f237d4312337a61165d", size = 15711620, upload-time = "2024-09-20T19:02:20.639Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ab/5f/b38085618b950b79d2d9164a711c52b10aefc0ae6833b96f626b7021b2ed/pandas-2.2.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:ad5b65698ab28ed8d7f18790a0dc58005c7629f227be9ecc1072aa74c0c1d43a", size = 13098436, upload-time = "2024-09-20T13:09:48.112Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ca/8c/8848a4c9b8fdf5a534fe2077af948bf53cd713d77ffbcd7bd15710348fd7/pandas-2.2.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bc6b93f9b966093cb0fd62ff1a7e4c09e6d546ad7c1de191767baffc57628f39", size = 12595535, upload-time = "2024-09-20T13:09:51.339Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/9c/b9/5cead4f63b6d31bdefeb21a679bc5a7f4aaf262ca7e07e2bc1c341b68470/pandas-2.2.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5dbca4c1acd72e8eeef4753eeca07de9b1db4f398669d5994086f788a5d7cc30", size = 11319822, upload-time = "2024-09-20T13:09:54.31Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/31/af/89e35619fb573366fa68dc26dad6ad2c08c17b8004aad6d98f1a31ce4bb3/pandas-2.2.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8cd6d7cc958a3910f934ea8dbdf17b2364827bb4dafc38ce6eef6bb3d65ff09c", size = 15625439, upload-time = "2024-09-20T19:02:23.689Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/3d/dd/bed19c2974296661493d7acc4407b1d2db4e2a482197df100f8f965b6225/pandas-2.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99df71520d25fade9db7c1076ac94eb994f4d2673ef2aa2e86ee039b6746d20c", size = 13068928, upload-time = "2024-09-20T13:09:56.746Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/31/a3/18508e10a31ea108d746c848b5a05c0711e0278fa0d6f1c52a8ec52b80a5/pandas-2.2.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:31d0ced62d4ea3e231a9f228366919a5ea0b07440d9d4dac345376fd8e1477ea", size = 16783266, upload-time = "2024-09-20T19:02:26.247Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/c4/a5/3429bd13d82bebc78f4d78c3945efedef63a7cd0c15c17b2eeb838d1121f/pandas-2.2.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7eee9e7cea6adf3e3d24e304ac6b8300646e2a5d1cd3a3c2abed9101b0846761", size = 14450871, upload-time = "2024-09-20T13:09:59.779Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/2f/49/5c30646e96c684570925b772eac4eb0a8cb0ca590fa978f56c5d3ae73ea1/pandas-2.2.3-cp39-cp39-win_amd64.whl", hash = "sha256:4850ba03528b6dd51d6c5d273c46f183f39a9baf3f0143e566b89450965b105e", size = 11618011, upload-time = "2024-09-20T13:10:02.351Z" }, ] [[package]] name = "parsel" version = "1.9.1" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } dependencies = [ { name = "cssselect" }, { name = "jmespath" }, @@ -1258,416 +1272,416 @@ dependencies = [ { name = "packaging" }, { name = "w3lib" }, ] -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/87/bd/b982085f091367ca25ccb61f2d127655a0daac1716ecfde014ab7c538116/parsel-1.9.1.tar.gz", hash = "sha256:14e00dc07731c9030db620c195fcae884b5b4848e9f9c523c6119f708ccfa9ac" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/87/bd/b982085f091367ca25ccb61f2d127655a0daac1716ecfde014ab7c538116/parsel-1.9.1.tar.gz", hash = "sha256:14e00dc07731c9030db620c195fcae884b5b4848e9f9c523c6119f708ccfa9ac", size = 51225, upload-time = "2024-04-08T08:12:24.943Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/85/7e/e3f1a7ff69303a4e08a8742a285406e5786650d8218ff194743eff292a1e/parsel-1.9.1-py2.py3-none-any.whl", hash = "sha256:c4a777ee6c3ff5e39652b58e351c5cf02c12ff420d05b07a7966aebb68ab1700" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/85/7e/e3f1a7ff69303a4e08a8742a285406e5786650d8218ff194743eff292a1e/parsel-1.9.1-py2.py3-none-any.whl", hash = "sha256:c4a777ee6c3ff5e39652b58e351c5cf02c12ff420d05b07a7966aebb68ab1700", size = 17116, upload-time = "2024-04-08T08:12:23.16Z" }, ] [[package]] name = "pillow" version = "9.5.0" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/00/d5/4903f310765e0ff2b8e91ffe55031ac6af77d982f0156061e20a4d1a8b2d/Pillow-9.5.0.tar.gz", hash = "sha256:bf548479d336726d7a0eceb6e767e179fbde37833ae42794602631a070d630f1" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/00/d5/4903f310765e0ff2b8e91ffe55031ac6af77d982f0156061e20a4d1a8b2d/Pillow-9.5.0.tar.gz", hash = "sha256:bf548479d336726d7a0eceb6e767e179fbde37833ae42794602631a070d630f1", size = 50488147, upload-time = "2023-04-01T09:31:37.159Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/1b/bc/cff591742feea45f88a3b8a83f7cab4a1dcdb4bcdfc51a06d92f96c81165/Pillow-9.5.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:ace6ca218308447b9077c14ea4ef381ba0b67ee78d64046b3f19cf4e1139ad16" }, - { url = "https://mirrors.aliyun.com/pypi/packages/38/06/de304914ecd2c911939a28579546bd4d9b6ae0b3c07ce5fe9bd7d100eb34/Pillow-9.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d3d403753c9d5adc04d4694d35cf0391f0f3d57c8e0030aac09d7678fa8030aa" }, - { url = "https://mirrors.aliyun.com/pypi/packages/9a/57/7864b6a22acb5f1d4b70af8c92cbd5e3af25f4d5869c24cd8074ca1f3593/Pillow-9.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5ba1b81ee69573fe7124881762bb4cd2e4b6ed9dd28c9c60a632902fe8db8b38" }, - { url = "https://mirrors.aliyun.com/pypi/packages/62/88/46a35f690ee4f8b08aef5fdb47f63d29c34f6874834155e52bf4456d9566/Pillow-9.5.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fe7e1c262d3392afcf5071df9afa574544f28eac825284596ac6db56e6d11062" }, - { url = "https://mirrors.aliyun.com/pypi/packages/59/1d/26a56ed1deae695a8c7d13fb514284ba8b9fd62bab9ebe6d6b474523b8b0/Pillow-9.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f36397bf3f7d7c6a3abdea815ecf6fd14e7fcd4418ab24bae01008d8d8ca15e" }, - { url = "https://mirrors.aliyun.com/pypi/packages/d4/36/d22b0fac821a14572fdb9a8015b2bf19ee81eaa560ea25a6772760c86a30/Pillow-9.5.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:252a03f1bdddce077eff2354c3861bf437c892fb1832f75ce813ee94347aa9b5" }, - { url = "https://mirrors.aliyun.com/pypi/packages/25/6b/d3c35d207c9c0b6c2f855420f62e64ef43d348e8c797ad1c32b9f2106a19/Pillow-9.5.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:85ec677246533e27770b0de5cf0f9d6e4ec0c212a1f89dfc941b64b21226009d" }, - { url = "https://mirrors.aliyun.com/pypi/packages/7a/6a/a7df39c502caeadd942d8bf97bc2fdfc819fbdc7499a2ab05e7db43611ac/Pillow-9.5.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:b416f03d37d27290cb93597335a2f85ed446731200705b22bb927405320de903" }, - { url = "https://mirrors.aliyun.com/pypi/packages/2e/ad/d29c8c48498da680521665b8483beb78a9343269bbd0730970e9396b01f0/Pillow-9.5.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1781a624c229cb35a2ac31cc4a77e28cafc8900733a864870c49bfeedacd106a" }, - { url = "https://mirrors.aliyun.com/pypi/packages/93/54/9d7f01fd3fe4069c88827728646e3c8f1aff0995e8422d841b38f034f39a/Pillow-9.5.0-cp310-cp310-win32.whl", hash = "sha256:8507eda3cd0608a1f94f58c64817e83ec12fa93a9436938b191b80d9e4c0fc44" }, - { url = "https://mirrors.aliyun.com/pypi/packages/3e/14/0030e542f2acfea43635e55584c114e6cfd94d342393a5f71f74c172dc35/Pillow-9.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:d3c6b54e304c60c4181da1c9dadf83e4a54fd266a99c70ba646a9baa626819eb" }, - { url = "https://mirrors.aliyun.com/pypi/packages/78/a8/3c2d737d856eb9cd8c18e78f6fe0ed08a2805bded74cbb0455584859023b/Pillow-9.5.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:7ec6f6ce99dab90b52da21cf0dc519e21095e332ff3b399a357c187b1a5eee32" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a9/15/310cde63cb15a091de889ded26281924cf9cfa5c000b36b06bd0c7f50261/Pillow-9.5.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:560737e70cb9c6255d6dcba3de6578a9e2ec4b573659943a5e7e4af13f298f5c" }, - { url = "https://mirrors.aliyun.com/pypi/packages/17/66/20db69c0361902a2f6ee2086d3e83c70133e3fb4cb31470e59a8ed37184e/Pillow-9.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:96e88745a55b88a7c64fa49bceff363a1a27d9a64e04019c2281049444a571e3" }, - { url = "https://mirrors.aliyun.com/pypi/packages/5c/a8/ff526cdec6b56eb20c992e7083f02c8065049ed1e62fbc159390d7a3dd5e/Pillow-9.5.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d9c206c29b46cfd343ea7cdfe1232443072bbb270d6a46f59c259460db76779a" }, - { url = "https://mirrors.aliyun.com/pypi/packages/3b/70/e9a45a2e9c58c23e023fcda5af9686f5b42c718cc9bc86194e0025cf0ec5/Pillow-9.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cfcc2c53c06f2ccb8976fb5c71d448bdd0a07d26d8e07e321c103416444c7ad1" }, - { url = "https://mirrors.aliyun.com/pypi/packages/61/a5/ee306d6cc53c9a30c23ba2313b43b67fdf76c611ca5afd0cdd62922cbd3e/Pillow-9.5.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:a0f9bb6c80e6efcde93ffc51256d5cfb2155ff8f78292f074f60f9e70b942d99" }, - { url = "https://mirrors.aliyun.com/pypi/packages/3d/59/e6bd2c3715ace343d9739276ceed79657fe116923238d102cf731ab463dd/Pillow-9.5.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:8d935f924bbab8f0a9a28404422da8af4904e36d5c33fc6f677e4c4485515625" }, - { url = "https://mirrors.aliyun.com/pypi/packages/9a/6d/9beb596ba5a5e61081c843187bcdbb42a5c9a9ef552751b554894247da7a/Pillow-9.5.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:fed1e1cf6a42577953abbe8e6cf2fe2f566daebde7c34724ec8803c4c0cda579" }, - { url = "https://mirrors.aliyun.com/pypi/packages/1e/e4/de633d85be3b3c770c554a37a89e8273069bd19c34b15a419c2795600310/Pillow-9.5.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c1170d6b195555644f0616fd6ed929dfcf6333b8675fcca044ae5ab110ded296" }, - { url = "https://mirrors.aliyun.com/pypi/packages/46/a0/e410f655300932308e70e883dd60c0c51e6f74bed138641ea9193e64fd7c/Pillow-9.5.0-cp311-cp311-win32.whl", hash = "sha256:54f7102ad31a3de5666827526e248c3530b3a33539dbda27c6843d19d72644ec" }, - { url = "https://mirrors.aliyun.com/pypi/packages/0c/02/7729c8aecbc525b560c7eb283ffa34c6f5a6d0ed6d1339570c65a3e63088/Pillow-9.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:cfa4561277f677ecf651e2b22dc43e8f5368b74a25a8f7d1d4a3a243e573f2d4" }, - { url = "https://mirrors.aliyun.com/pypi/packages/b9/8b/d38cc68796be4ac238db327682a1acfbc5deccf64a150aa44ee1efbaafae/Pillow-9.5.0-cp311-cp311-win_arm64.whl", hash = "sha256:965e4a05ef364e7b973dd17fc765f42233415974d773e82144c9bbaaaea5d089" }, - { url = "https://mirrors.aliyun.com/pypi/packages/5d/38/b7bcbab3bfe1946ba9cf71c1fa03e541b498069457be49eadcdc229412ef/Pillow-9.5.0-cp312-cp312-win32.whl", hash = "sha256:22baf0c3cf0c7f26e82d6e1adf118027afb325e703922c8dfc1d5d0156bb2eeb" }, - { url = "https://mirrors.aliyun.com/pypi/packages/29/8a/f4cf3f32bc554f9260b645ea1151449ac13525796d3d1a42076d75945d8d/Pillow-9.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:432b975c009cf649420615388561c0ce7cc31ce9b2e374db659ee4f7d57a1f8b" }, - { url = "https://mirrors.aliyun.com/pypi/packages/64/46/672289c0ff87733fb93854dedf3a8d65642a25c0bfc88e7f6d722f9161a5/Pillow-9.5.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:482877592e927fd263028c105b36272398e3e1be3269efda09f6ba21fd83ec66" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a9/70/9259e93534d01f846f7d0501f19bb7d8cc1751741bc20826fc8d3a20fe32/Pillow-9.5.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3ded42b9ad70e5f1754fb7c2e2d6465a9c842e41d178f262e08b8c85ed8a1d8e" }, - { url = "https://mirrors.aliyun.com/pypi/packages/95/62/8a943681db5f6588498ed86aa1568dd31c63f6afdabe50841589fc662c68/Pillow-9.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c446d2245ba29820d405315083d55299a796695d747efceb5717a8b450324115" }, - { url = "https://mirrors.aliyun.com/pypi/packages/f2/43/0892913d499c8df2c88dee69d59e77de19e0c51754a9be82023880641c09/Pillow-9.5.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8aca1152d93dcc27dc55395604dcfc55bed5f25ef4c98716a928bacba90d33a3" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ff/fc/48a51c0fe2a00d5def57b9981a1e0f8339b516351da7a51500383d833bc8/Pillow-9.5.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:608488bdcbdb4ba7837461442b90ea6f3079397ddc968c31265c1e056964f1ef" }, - { url = "https://mirrors.aliyun.com/pypi/packages/af/b7/f9faf80e3c93b02712c5748f10c75a8948e74eca61ec2408f7e1d4c9dd16/Pillow-9.5.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:60037a8db8750e474af7ffc9faa9b5859e6c6d0a50e55c45576bf28be7419705" }, - { url = "https://mirrors.aliyun.com/pypi/packages/3b/2b/57915b8af178e2c20bfd403ffed4521947881f9dbbfbaba48210dc59b9d7/Pillow-9.5.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:07999f5834bdc404c442146942a2ecadd1cb6292f5229f4ed3b31e0a108746b1" }, - { url = "https://mirrors.aliyun.com/pypi/packages/e7/2a/f3ed578595f8486ee2cc07434460097d89aedd406a3db849b890ca8ec416/Pillow-9.5.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:a127ae76092974abfbfa38ca2d12cbeddcdeac0fb71f9627cc1135bedaf9d51a" }, - { url = "https://mirrors.aliyun.com/pypi/packages/28/a2/f2d0d584d45100a5419fd70a1233ade8f12469ffe6e8e3acd40364beaadb/Pillow-9.5.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:489f8389261e5ed43ac8ff7b453162af39c3e8abd730af8363587ba64bb2e865" }, - { url = "https://mirrors.aliyun.com/pypi/packages/51/3a/a6701b987007aaa43559b7d8510629845b25686f09a0eb29f8946a62d767/Pillow-9.5.0-cp39-cp39-win32.whl", hash = "sha256:9b1af95c3a967bf1da94f253e56b6286b50af23392a886720f563c547e48e964" }, - { url = "https://mirrors.aliyun.com/pypi/packages/69/72/48cc52bff8731cf72bc4101e34dc44807a410c171f921afb582a511da50e/Pillow-9.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:77165c4a5e7d5a284f10a6efaa39a0ae8ba839da344f20b111d62cc932fa4e5d" }, - { url = "https://mirrors.aliyun.com/pypi/packages/24/35/92032a00f41bea9bf93f19d48f15daac27d1365c0038fe22dc4e7fc7c8b0/Pillow-9.5.0-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:c380b27d041209b849ed246b111b7c166ba36d7933ec6e41175fd15ab9eb1572" }, - { url = "https://mirrors.aliyun.com/pypi/packages/50/ce/d39869c22904558ce32e664904cf72f13a9d47703b72392e881d9e7b6082/Pillow-9.5.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7c9af5a3b406a50e313467e3565fc99929717f780164fe6fbb7704edba0cebbe" }, - { url = "https://mirrors.aliyun.com/pypi/packages/7a/75/4a382d1567efc6f4e3054f693167f8ce2d1ad939c5f6f12aa5c50f74b997/Pillow-9.5.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5671583eab84af046a397d6d0ba25343c00cd50bce03787948e0fff01d4fd9b1" }, - { url = "https://mirrors.aliyun.com/pypi/packages/51/d2/c10f72c44e000d08e41f822083cf322bb59afa7ed01ae7e3e47875b47600/Pillow-9.5.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:84a6f19ce086c1bf894644b43cd129702f781ba5751ca8572f08aa40ef0ab7b7" }, - { url = "https://mirrors.aliyun.com/pypi/packages/02/4a/d362f7f44f1e5801c6726f0eaaeaf869d0d43c554b717072b2c5540cefb4/Pillow-9.5.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:1e7723bd90ef94eda669a3c2c19d549874dd5badaeefabefd26053304abe5799" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/1b/bc/cff591742feea45f88a3b8a83f7cab4a1dcdb4bcdfc51a06d92f96c81165/Pillow-9.5.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:ace6ca218308447b9077c14ea4ef381ba0b67ee78d64046b3f19cf4e1139ad16", size = 3395758, upload-time = "2023-04-01T09:28:03.251Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/38/06/de304914ecd2c911939a28579546bd4d9b6ae0b3c07ce5fe9bd7d100eb34/Pillow-9.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d3d403753c9d5adc04d4694d35cf0391f0f3d57c8e0030aac09d7678fa8030aa", size = 3077111, upload-time = "2023-04-01T09:28:07.916Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/9a/57/7864b6a22acb5f1d4b70af8c92cbd5e3af25f4d5869c24cd8074ca1f3593/Pillow-9.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5ba1b81ee69573fe7124881762bb4cd2e4b6ed9dd28c9c60a632902fe8db8b38", size = 3112529, upload-time = "2023-04-01T09:28:10.564Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/62/88/46a35f690ee4f8b08aef5fdb47f63d29c34f6874834155e52bf4456d9566/Pillow-9.5.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fe7e1c262d3392afcf5071df9afa574544f28eac825284596ac6db56e6d11062", size = 3386670, upload-time = "2023-04-01T09:28:13.539Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/59/1d/26a56ed1deae695a8c7d13fb514284ba8b9fd62bab9ebe6d6b474523b8b0/Pillow-9.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f36397bf3f7d7c6a3abdea815ecf6fd14e7fcd4418ab24bae01008d8d8ca15e", size = 3308572, upload-time = "2023-04-01T09:28:16.585Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/d4/36/d22b0fac821a14572fdb9a8015b2bf19ee81eaa560ea25a6772760c86a30/Pillow-9.5.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:252a03f1bdddce077eff2354c3861bf437c892fb1832f75ce813ee94347aa9b5", size = 3163999, upload-time = "2023-04-01T09:28:19.777Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/25/6b/d3c35d207c9c0b6c2f855420f62e64ef43d348e8c797ad1c32b9f2106a19/Pillow-9.5.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:85ec677246533e27770b0de5cf0f9d6e4ec0c212a1f89dfc941b64b21226009d", size = 3415623, upload-time = "2023-04-01T09:28:23.176Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/7a/6a/a7df39c502caeadd942d8bf97bc2fdfc819fbdc7499a2ab05e7db43611ac/Pillow-9.5.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:b416f03d37d27290cb93597335a2f85ed446731200705b22bb927405320de903", size = 3350658, upload-time = "2023-04-01T09:28:26.277Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/2e/ad/d29c8c48498da680521665b8483beb78a9343269bbd0730970e9396b01f0/Pillow-9.5.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1781a624c229cb35a2ac31cc4a77e28cafc8900733a864870c49bfeedacd106a", size = 3414574, upload-time = "2023-04-01T09:28:30.143Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/93/54/9d7f01fd3fe4069c88827728646e3c8f1aff0995e8422d841b38f034f39a/Pillow-9.5.0-cp310-cp310-win32.whl", hash = "sha256:8507eda3cd0608a1f94f58c64817e83ec12fa93a9436938b191b80d9e4c0fc44", size = 2211916, upload-time = "2023-04-01T09:28:33.723Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/3e/14/0030e542f2acfea43635e55584c114e6cfd94d342393a5f71f74c172dc35/Pillow-9.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:d3c6b54e304c60c4181da1c9dadf83e4a54fd266a99c70ba646a9baa626819eb", size = 2511474, upload-time = "2023-04-01T09:28:35.846Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/78/a8/3c2d737d856eb9cd8c18e78f6fe0ed08a2805bded74cbb0455584859023b/Pillow-9.5.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:7ec6f6ce99dab90b52da21cf0dc519e21095e332ff3b399a357c187b1a5eee32", size = 3395792, upload-time = "2023-04-01T09:28:38.917Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a9/15/310cde63cb15a091de889ded26281924cf9cfa5c000b36b06bd0c7f50261/Pillow-9.5.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:560737e70cb9c6255d6dcba3de6578a9e2ec4b573659943a5e7e4af13f298f5c", size = 3077092, upload-time = "2023-04-01T09:28:41.28Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/17/66/20db69c0361902a2f6ee2086d3e83c70133e3fb4cb31470e59a8ed37184e/Pillow-9.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:96e88745a55b88a7c64fa49bceff363a1a27d9a64e04019c2281049444a571e3", size = 3112543, upload-time = "2023-04-01T09:28:43.89Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/5c/a8/ff526cdec6b56eb20c992e7083f02c8065049ed1e62fbc159390d7a3dd5e/Pillow-9.5.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d9c206c29b46cfd343ea7cdfe1232443072bbb270d6a46f59c259460db76779a", size = 3386654, upload-time = "2023-04-01T09:28:46.378Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/3b/70/e9a45a2e9c58c23e023fcda5af9686f5b42c718cc9bc86194e0025cf0ec5/Pillow-9.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cfcc2c53c06f2ccb8976fb5c71d448bdd0a07d26d8e07e321c103416444c7ad1", size = 3308566, upload-time = "2023-04-01T09:28:49.521Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/61/a5/ee306d6cc53c9a30c23ba2313b43b67fdf76c611ca5afd0cdd62922cbd3e/Pillow-9.5.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:a0f9bb6c80e6efcde93ffc51256d5cfb2155ff8f78292f074f60f9e70b942d99", size = 3164027, upload-time = "2023-04-01T09:28:52.295Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/3d/59/e6bd2c3715ace343d9739276ceed79657fe116923238d102cf731ab463dd/Pillow-9.5.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:8d935f924bbab8f0a9a28404422da8af4904e36d5c33fc6f677e4c4485515625", size = 3415610, upload-time = "2023-04-01T09:28:54.667Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/9a/6d/9beb596ba5a5e61081c843187bcdbb42a5c9a9ef552751b554894247da7a/Pillow-9.5.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:fed1e1cf6a42577953abbe8e6cf2fe2f566daebde7c34724ec8803c4c0cda579", size = 3350704, upload-time = "2023-04-01T09:28:57.098Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/1e/e4/de633d85be3b3c770c554a37a89e8273069bd19c34b15a419c2795600310/Pillow-9.5.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c1170d6b195555644f0616fd6ed929dfcf6333b8675fcca044ae5ab110ded296", size = 3414604, upload-time = "2023-04-01T09:29:03.375Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/46/a0/e410f655300932308e70e883dd60c0c51e6f74bed138641ea9193e64fd7c/Pillow-9.5.0-cp311-cp311-win32.whl", hash = "sha256:54f7102ad31a3de5666827526e248c3530b3a33539dbda27c6843d19d72644ec", size = 2211929, upload-time = "2023-04-01T09:29:06.338Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/0c/02/7729c8aecbc525b560c7eb283ffa34c6f5a6d0ed6d1339570c65a3e63088/Pillow-9.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:cfa4561277f677ecf651e2b22dc43e8f5368b74a25a8f7d1d4a3a243e573f2d4", size = 2511551, upload-time = "2023-04-01T09:29:08.636Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/b9/8b/d38cc68796be4ac238db327682a1acfbc5deccf64a150aa44ee1efbaafae/Pillow-9.5.0-cp311-cp311-win_arm64.whl", hash = "sha256:965e4a05ef364e7b973dd17fc765f42233415974d773e82144c9bbaaaea5d089", size = 2489206, upload-time = "2023-04-01T20:01:51.312Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/5d/38/b7bcbab3bfe1946ba9cf71c1fa03e541b498069457be49eadcdc229412ef/Pillow-9.5.0-cp312-cp312-win32.whl", hash = "sha256:22baf0c3cf0c7f26e82d6e1adf118027afb325e703922c8dfc1d5d0156bb2eeb", size = 2211914, upload-time = "2023-04-01T09:29:10.935Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/29/8a/f4cf3f32bc554f9260b645ea1151449ac13525796d3d1a42076d75945d8d/Pillow-9.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:432b975c009cf649420615388561c0ce7cc31ce9b2e374db659ee4f7d57a1f8b", size = 2511483, upload-time = "2023-04-01T09:29:13.217Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/64/46/672289c0ff87733fb93854dedf3a8d65642a25c0bfc88e7f6d722f9161a5/Pillow-9.5.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:482877592e927fd263028c105b36272398e3e1be3269efda09f6ba21fd83ec66", size = 3395750, upload-time = "2023-04-01T09:30:10.542Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a9/70/9259e93534d01f846f7d0501f19bb7d8cc1751741bc20826fc8d3a20fe32/Pillow-9.5.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3ded42b9ad70e5f1754fb7c2e2d6465a9c842e41d178f262e08b8c85ed8a1d8e", size = 3077133, upload-time = "2023-04-01T09:30:13.386Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/95/62/8a943681db5f6588498ed86aa1568dd31c63f6afdabe50841589fc662c68/Pillow-9.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c446d2245ba29820d405315083d55299a796695d747efceb5717a8b450324115", size = 3112534, upload-time = "2023-04-01T09:30:15.616Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/f2/43/0892913d499c8df2c88dee69d59e77de19e0c51754a9be82023880641c09/Pillow-9.5.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8aca1152d93dcc27dc55395604dcfc55bed5f25ef4c98716a928bacba90d33a3", size = 3386725, upload-time = "2023-04-01T09:30:19.221Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ff/fc/48a51c0fe2a00d5def57b9981a1e0f8339b516351da7a51500383d833bc8/Pillow-9.5.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:608488bdcbdb4ba7837461442b90ea6f3079397ddc968c31265c1e056964f1ef", size = 3308605, upload-time = "2023-04-01T09:30:29.279Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/af/b7/f9faf80e3c93b02712c5748f10c75a8948e74eca61ec2408f7e1d4c9dd16/Pillow-9.5.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:60037a8db8750e474af7ffc9faa9b5859e6c6d0a50e55c45576bf28be7419705", size = 3164057, upload-time = "2023-04-01T09:30:32.484Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/3b/2b/57915b8af178e2c20bfd403ffed4521947881f9dbbfbaba48210dc59b9d7/Pillow-9.5.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:07999f5834bdc404c442146942a2ecadd1cb6292f5229f4ed3b31e0a108746b1", size = 3415613, upload-time = "2023-04-01T09:30:34.978Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/e7/2a/f3ed578595f8486ee2cc07434460097d89aedd406a3db849b890ca8ec416/Pillow-9.5.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:a127ae76092974abfbfa38ca2d12cbeddcdeac0fb71f9627cc1135bedaf9d51a", size = 3350667, upload-time = "2023-04-01T09:30:37.849Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/28/a2/f2d0d584d45100a5419fd70a1233ade8f12469ffe6e8e3acd40364beaadb/Pillow-9.5.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:489f8389261e5ed43ac8ff7b453162af39c3e8abd730af8363587ba64bb2e865", size = 3414552, upload-time = "2023-04-01T09:30:48.682Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/51/3a/a6701b987007aaa43559b7d8510629845b25686f09a0eb29f8946a62d767/Pillow-9.5.0-cp39-cp39-win32.whl", hash = "sha256:9b1af95c3a967bf1da94f253e56b6286b50af23392a886720f563c547e48e964", size = 2229361, upload-time = "2023-04-01T09:30:51.739Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/69/72/48cc52bff8731cf72bc4101e34dc44807a410c171f921afb582a511da50e/Pillow-9.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:77165c4a5e7d5a284f10a6efaa39a0ae8ba839da344f20b111d62cc932fa4e5d", size = 2538580, upload-time = "2023-04-01T09:30:54.345Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/24/35/92032a00f41bea9bf93f19d48f15daac27d1365c0038fe22dc4e7fc7c8b0/Pillow-9.5.0-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:c380b27d041209b849ed246b111b7c166ba36d7933ec6e41175fd15ab9eb1572", size = 3349772, upload-time = "2023-04-01T09:31:13.438Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/50/ce/d39869c22904558ce32e664904cf72f13a9d47703b72392e881d9e7b6082/Pillow-9.5.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7c9af5a3b406a50e313467e3565fc99929717f780164fe6fbb7704edba0cebbe", size = 3281583, upload-time = "2023-04-01T09:31:16.7Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/7a/75/4a382d1567efc6f4e3054f693167f8ce2d1ad939c5f6f12aa5c50f74b997/Pillow-9.5.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5671583eab84af046a397d6d0ba25343c00cd50bce03787948e0fff01d4fd9b1", size = 3222603, upload-time = "2023-04-01T09:31:19.548Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/51/d2/c10f72c44e000d08e41f822083cf322bb59afa7ed01ae7e3e47875b47600/Pillow-9.5.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:84a6f19ce086c1bf894644b43cd129702f781ba5751ca8572f08aa40ef0ab7b7", size = 3298174, upload-time = "2023-04-01T09:31:23.005Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/02/4a/d362f7f44f1e5801c6726f0eaaeaf869d0d43c554b717072b2c5540cefb4/Pillow-9.5.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:1e7723bd90ef94eda669a3c2c19d549874dd5badaeefabefd26053304abe5799", size = 2538628, upload-time = "2023-04-01T09:31:26.082Z" }, ] [[package]] name = "playwright" version = "1.45.0" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } dependencies = [ { name = "greenlet" }, { name = "pyee" }, ] wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/99/ee/5ffdf7557b601a00fb4e0cc29b140cefc584e8d394ea21cc3a4eb05b4d45/playwright-1.45.0-py3-none-macosx_10_13_x86_64.whl", hash = "sha256:7d49aee5907d8e72060f04bc299cb6851c2dc44cb227540ade89d7aa529e907a" }, - { url = "https://mirrors.aliyun.com/pypi/packages/f4/4e/d7df2eb27e2f228ec5fb2be453d3c780001ab9b3bd0f7ec5b6568adfe46e/playwright-1.45.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:210c9f848820f58b5b5ed48047748620b780ca3acc3e2b7560dafb2bfdd6d90a" }, - { url = "https://mirrors.aliyun.com/pypi/packages/f0/4f/2f364f0586d1c0e0b82ee1118505fc5a495f2b385e34575967b8a5fc8302/playwright-1.45.0-py3-none-macosx_11_0_universal2.whl", hash = "sha256:13b5398831f5499580e819ddc996633446a93bf88029e89451e51da188e16ae3" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a4/3e/d68323360efc63c9565f8f9bc84d1074bb2d4726ec5bb45bd8c9fb72fe1b/playwright-1.45.0-py3-none-manylinux1_x86_64.whl", hash = "sha256:0ba5a39f25fb9b9cf1bd48678f44536a29f6d83376329de2dee1567dac220afe" }, - { url = "https://mirrors.aliyun.com/pypi/packages/3a/b8/329494128bc9c90ad4a705e11e33bc1d90e79faf90ee27673c568ad0c8ba/playwright-1.45.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b09fa76614ba2926d45a4c0581f710c13652d5e32290ba6a1490fbafff7f0be8" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a5/73/cde84614e51de244fe0cd1d0be7edb4cdedee7d7306f9646468807a22b6b/playwright-1.45.0-py3-none-win32.whl", hash = "sha256:97a7d53af89af54208b69c051046b462675fcf5b93f7fbfb7c0fa7f813424ee2" }, - { url = "https://mirrors.aliyun.com/pypi/packages/87/0f/c8dcadb2f0dcfdab6052d5ecf57ccf19b439c0adc29fc510ed0830349345/playwright-1.45.0-py3-none-win_amd64.whl", hash = "sha256:701db496928429aec103739e48e3110806bd5cf49456cc95b89f28e1abda71da" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/99/ee/5ffdf7557b601a00fb4e0cc29b140cefc584e8d394ea21cc3a4eb05b4d45/playwright-1.45.0-py3-none-macosx_10_13_x86_64.whl", hash = "sha256:7d49aee5907d8e72060f04bc299cb6851c2dc44cb227540ade89d7aa529e907a", size = 34747285, upload-time = "2024-07-03T10:32:40.434Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/f4/4e/d7df2eb27e2f228ec5fb2be453d3c780001ab9b3bd0f7ec5b6568adfe46e/playwright-1.45.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:210c9f848820f58b5b5ed48047748620b780ca3acc3e2b7560dafb2bfdd6d90a", size = 33064579, upload-time = "2024-07-03T10:32:45.423Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/f0/4f/2f364f0586d1c0e0b82ee1118505fc5a495f2b385e34575967b8a5fc8302/playwright-1.45.0-py3-none-macosx_11_0_universal2.whl", hash = "sha256:13b5398831f5499580e819ddc996633446a93bf88029e89451e51da188e16ae3", size = 34747281, upload-time = "2024-07-03T10:32:49.78Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a4/3e/d68323360efc63c9565f8f9bc84d1074bb2d4726ec5bb45bd8c9fb72fe1b/playwright-1.45.0-py3-none-manylinux1_x86_64.whl", hash = "sha256:0ba5a39f25fb9b9cf1bd48678f44536a29f6d83376329de2dee1567dac220afe", size = 37861759, upload-time = "2024-07-03T10:32:54.375Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/3a/b8/329494128bc9c90ad4a705e11e33bc1d90e79faf90ee27673c568ad0c8ba/playwright-1.45.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b09fa76614ba2926d45a4c0581f710c13652d5e32290ba6a1490fbafff7f0be8", size = 37605929, upload-time = "2024-07-03T10:32:58.548Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a5/73/cde84614e51de244fe0cd1d0be7edb4cdedee7d7306f9646468807a22b6b/playwright-1.45.0-py3-none-win32.whl", hash = "sha256:97a7d53af89af54208b69c051046b462675fcf5b93f7fbfb7c0fa7f813424ee2", size = 29692683, upload-time = "2024-07-03T10:33:02.508Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/87/0f/c8dcadb2f0dcfdab6052d5ecf57ccf19b439c0adc29fc510ed0830349345/playwright-1.45.0-py3-none-win_amd64.whl", hash = "sha256:701db496928429aec103739e48e3110806bd5cf49456cc95b89f28e1abda71da", size = 29692683, upload-time = "2024-07-03T10:33:07.171Z" }, ] [[package]] name = "pydantic" version = "2.5.2" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } dependencies = [ { name = "annotated-types" }, { name = "pydantic-core" }, { name = "typing-extensions" }, ] -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/b7/41/3c8108f79fb7da2d2b17f35744232af4ffcd9e764ebe1e3fd4b26669b325/pydantic-2.5.2.tar.gz", hash = "sha256:ff177ba64c6faf73d7afa2e8cad38fd456c0dbe01c9954e71038001cd15a6edd" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/b7/41/3c8108f79fb7da2d2b17f35744232af4ffcd9e764ebe1e3fd4b26669b325/pydantic-2.5.2.tar.gz", hash = "sha256:ff177ba64c6faf73d7afa2e8cad38fd456c0dbe01c9954e71038001cd15a6edd", size = 652158, upload-time = "2023-11-22T13:52:04.923Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/0a/2b/64066de1c4cf3d4ed623beeb3bbf3f8d0cc26661f1e7d180ec5eb66b75a5/pydantic-2.5.2-py3-none-any.whl", hash = "sha256:80c50fb8e3dcecfddae1adbcc00ec5822918490c99ab31f6cf6140ca1c1429f0" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/0a/2b/64066de1c4cf3d4ed623beeb3bbf3f8d0cc26661f1e7d180ec5eb66b75a5/pydantic-2.5.2-py3-none-any.whl", hash = "sha256:80c50fb8e3dcecfddae1adbcc00ec5822918490c99ab31f6cf6140ca1c1429f0", size = 381874, upload-time = "2023-11-22T13:52:00.23Z" }, ] [[package]] name = "pydantic-core" version = "2.14.5" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } dependencies = [ { name = "typing-extensions" }, ] -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/64/26/cffb93fe9c6b5a91c497f37fae14a4b073ecbc47fc36a9979c7aa888b245/pydantic_core-2.14.5.tar.gz", hash = "sha256:6d30226dfc816dd0fdf120cae611dd2215117e4f9b124af8c60ab9093b6e8e71" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/64/26/cffb93fe9c6b5a91c497f37fae14a4b073ecbc47fc36a9979c7aa888b245/pydantic_core-2.14.5.tar.gz", hash = "sha256:6d30226dfc816dd0fdf120cae611dd2215117e4f9b124af8c60ab9093b6e8e71", size = 360131, upload-time = "2023-11-22T13:06:43.091Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/c0/d2/b31c030802f29c35fa0c8ab92891bee9dcedd2793df560041b6d38f5fd49/pydantic_core-2.14.5-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:7e88f5696153dc516ba6e79f82cc4747e87027205f0e02390c21f7cb3bd8abfd" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ba/9b/5246600a17467ad8071174250d7727b34f5dc0dfe74abf3e99dbdf1beee1/pydantic_core-2.14.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4641e8ad4efb697f38a9b64ca0523b557c7931c5f84e0fd377a9a3b05121f0de" }, - { url = "https://mirrors.aliyun.com/pypi/packages/05/7b/9083133f247b9f712f5718c66b3e39194ea679fbe85567bf4dc9d08557bb/pydantic_core-2.14.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:774de879d212db5ce02dfbf5b0da9a0ea386aeba12b0b95674a4ce0593df3d07" }, - { url = "https://mirrors.aliyun.com/pypi/packages/7d/de/df454233c7960a899846f037209204df1d8ab761bb81a7561abb4daf2288/pydantic_core-2.14.5-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ebb4e035e28f49b6f1a7032920bb9a0c064aedbbabe52c543343d39341a5b2a3" }, - { url = "https://mirrors.aliyun.com/pypi/packages/36/53/d4ae1f5273cbc83d5a4c158916a9235c1bfc8194be63958b4b5ff11bf838/pydantic_core-2.14.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b53e9ad053cd064f7e473a5f29b37fc4cc9dc6d35f341e6afc0155ea257fc911" }, - { url = "https://mirrors.aliyun.com/pypi/packages/78/ef/4fd3b40a82ea729a2566575aeec119449b0bf1b4c13d9255e8ac2a40a58b/pydantic_core-2.14.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8aa1768c151cf562a9992462239dfc356b3d1037cc5a3ac829bb7f3bda7cc1f9" }, - { url = "https://mirrors.aliyun.com/pypi/packages/7c/f5/3e59681bd53955da311a7f4efbb6315d01006e9d18b8a06b527a22d3d923/pydantic_core-2.14.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eac5c82fc632c599f4639a5886f96867ffced74458c7db61bc9a66ccb8ee3113" }, - { url = "https://mirrors.aliyun.com/pypi/packages/46/df/5159aa30c4b2128f14634f3b3e9e19df228364c2107cda7910d058cc1bca/pydantic_core-2.14.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d2ae91f50ccc5810b2f1b6b858257c9ad2e08da70bf890dee02de1775a387c66" }, - { url = "https://mirrors.aliyun.com/pypi/packages/2c/43/d94f10d82ccffc86bd69bfac73c54589703008236d63965dd40005a80af9/pydantic_core-2.14.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:6b9ff467ffbab9110e80e8c8de3bcfce8e8b0fd5661ac44a09ae5901668ba997" }, - { url = "https://mirrors.aliyun.com/pypi/packages/66/11/f3e35b74745b5167df5f1dc15bd2368dbaa9e70d2ad8438a0c9485b78da5/pydantic_core-2.14.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:61ea96a78378e3bd5a0be99b0e5ed00057b71f66115f5404d0dae4819f495093" }, - { url = "https://mirrors.aliyun.com/pypi/packages/f7/e8/d2a534d8c555f6e375296f7d534405dbc247b0da91f1c067cdca5220d95f/pydantic_core-2.14.5-cp310-none-win32.whl", hash = "sha256:bb4c2eda937a5e74c38a41b33d8c77220380a388d689bcdb9b187cf6224c9720" }, - { url = "https://mirrors.aliyun.com/pypi/packages/3d/9f/bd9a41853a8ad6854cf126e72bb19a4849f79efe2d544b1a44f5351b9748/pydantic_core-2.14.5-cp310-none-win_amd64.whl", hash = "sha256:b7851992faf25eac90bfcb7bfd19e1f5ffa00afd57daec8a0042e63c74a4551b" }, - { url = "https://mirrors.aliyun.com/pypi/packages/12/00/bd693e0bf24fa016c7194ac9ca671903b0938a5aa2603f7b5779070a15a0/pydantic_core-2.14.5-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:4e40f2bd0d57dac3feb3a3aed50f17d83436c9e6b09b16af271b6230a2915459" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ab/43/77d8f56eb332e84097f18fc294346d214e9f0d22fb9ec67ebed4b8e90e35/pydantic_core-2.14.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ab1cdb0f14dc161ebc268c09db04d2c9e6f70027f3b42446fa11c153521c0e88" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a4/09/90f5a03ab19e21601c6fec11fc9dea30e3228731e12b2f75f58d02430b85/pydantic_core-2.14.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aae7ea3a1c5bb40c93cad361b3e869b180ac174656120c42b9fadebf685d121b" }, - { url = "https://mirrors.aliyun.com/pypi/packages/22/11/3f332887a888217e28b23c115c343ef89ccf5f49bbbd88d9317c707b00ac/pydantic_core-2.14.5-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:60b7607753ba62cf0739177913b858140f11b8af72f22860c28eabb2f0a61937" }, - { url = "https://mirrors.aliyun.com/pypi/packages/41/0a/1c0372929f3723587d66c188cbdd0c47d269447e0ac8f231f0db0f9bb03c/pydantic_core-2.14.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2248485b0322c75aee7565d95ad0e16f1c67403a470d02f94da7344184be770f" }, - { url = "https://mirrors.aliyun.com/pypi/packages/63/e6/8887679b7f923290db2638bf80733c609aaefaae29b9fe99b83f800c1910/pydantic_core-2.14.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:823fcc638f67035137a5cd3f1584a4542d35a951c3cc68c6ead1df7dac825c26" }, - { url = "https://mirrors.aliyun.com/pypi/packages/bf/ed/ee221482b51f368884ea6453f3784eeaeb17f5b737589d39d68a89bffde7/pydantic_core-2.14.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96581cfefa9123accc465a5fd0cc833ac4d75d55cc30b633b402e00e7ced00a6" }, - { url = "https://mirrors.aliyun.com/pypi/packages/75/cf/2f6e6410ae735c11df32c391948a6c601a22f40f414b5dfc24f2def8c064/pydantic_core-2.14.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a33324437018bf6ba1bb0f921788788641439e0ed654b233285b9c69704c27b4" }, - { url = "https://mirrors.aliyun.com/pypi/packages/28/81/f5452ccf3b15aa280188fbf2b6ab39ed700623df4fcc28675f19eee9634a/pydantic_core-2.14.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:9bd18fee0923ca10f9a3ff67d4851c9d3e22b7bc63d1eddc12f439f436f2aada" }, - { url = "https://mirrors.aliyun.com/pypi/packages/af/ab/79c2126e5504a3f0ecc0b1d97768594f9baa090134b0053309a2d938efaa/pydantic_core-2.14.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:853a2295c00f1d4429db4c0fb9475958543ee80cfd310814b5c0ef502de24dda" }, - { url = "https://mirrors.aliyun.com/pypi/packages/2f/eb/4b07b31c4a728b02cae14cc2a447ebd460dfdf7076fe56a074ff7e27be4f/pydantic_core-2.14.5-cp311-none-win32.whl", hash = "sha256:cb774298da62aea5c80a89bd58c40205ab4c2abf4834453b5de207d59d2e1651" }, - { url = "https://mirrors.aliyun.com/pypi/packages/04/a1/36cea283ded0641e8c374cdcacfdab035c102467ac5ec721b7527c8ac1cf/pydantic_core-2.14.5-cp311-none-win_amd64.whl", hash = "sha256:e87fc540c6cac7f29ede02e0f989d4233f88ad439c5cdee56f693cc9c1c78077" }, - { url = "https://mirrors.aliyun.com/pypi/packages/e6/7c/af522a1bce278dda0f0fdc9e64a081af51cbfedeafe44cbb6a4cc8617dad/pydantic_core-2.14.5-cp311-none-win_arm64.whl", hash = "sha256:57d52fa717ff445cb0a5ab5237db502e6be50809b43a596fb569630c665abddf" }, - { url = "https://mirrors.aliyun.com/pypi/packages/3a/dd/fc81e3ea962a356a705fa06965a7dbc0b204da014f238df95f1cd276bfab/pydantic_core-2.14.5-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:e60f112ac88db9261ad3a52032ea46388378034f3279c643499edb982536a093" }, - { url = "https://mirrors.aliyun.com/pypi/packages/eb/45/5eef8d36c2bf4c63e73e598fe523a0bc15069a97994481e27bef933ff423/pydantic_core-2.14.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6e227c40c02fd873c2a73a98c1280c10315cbebe26734c196ef4514776120aeb" }, - { url = "https://mirrors.aliyun.com/pypi/packages/9e/f3/9e3d334976b5051cd18e3feef06516ead3230efb8b9af8514bc52b2795b1/pydantic_core-2.14.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f0cbc7fff06a90bbd875cc201f94ef0ee3929dfbd5c55a06674b60857b8b85ed" }, - { url = "https://mirrors.aliyun.com/pypi/packages/89/5c/e0584d534863639757e05479a3c1172550e3d3dab0c39b79e41692d1804d/pydantic_core-2.14.5-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:103ef8d5b58596a731b690112819501ba1db7a36f4ee99f7892c40da02c3e189" }, - { url = "https://mirrors.aliyun.com/pypi/packages/9c/52/2fc8b7e07f360993bc3d5f9ea743aac9f59287002035887c7d4f45bc6fb6/pydantic_core-2.14.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c949f04ecad823f81b1ba94e7d189d9dfb81edbb94ed3f8acfce41e682e48cef" }, - { url = "https://mirrors.aliyun.com/pypi/packages/7e/ff/72d57544a70f4f37a06c40cfe1c4a038bc21db308e916a277faa1854a1d8/pydantic_core-2.14.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c1452a1acdf914d194159439eb21e56b89aa903f2e1c65c60b9d874f9b950e5d" }, - { url = "https://mirrors.aliyun.com/pypi/packages/8f/af/b202d44845f89e9c997f2f351be35a76ff78304eb926b1bdb33929de40db/pydantic_core-2.14.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb4679d4c2b089e5ef89756bc73e1926745e995d76e11925e3e96a76d5fa51fc" }, - { url = "https://mirrors.aliyun.com/pypi/packages/cb/96/27421976cde52555eb20636d59743621d4fa3bba278a0e4dbb4751e3f5c1/pydantic_core-2.14.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:cf9d3fe53b1ee360e2421be95e62ca9b3296bf3f2fb2d3b83ca49ad3f925835e" }, - { url = "https://mirrors.aliyun.com/pypi/packages/90/6f/52cb83061430628878c34fdb199ccc8313a104f1390d99bff4a29b2ff6fe/pydantic_core-2.14.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:70f4b4851dbb500129681d04cc955be2a90b2248d69273a787dda120d5cf1f69" }, - { url = "https://mirrors.aliyun.com/pypi/packages/10/89/bbb9bb3bd59b1cb36a87c2f6b6e3b2858fdb6ac438539f67a6c93a91ba5e/pydantic_core-2.14.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:59986de5710ad9613ff61dd9b02bdd2f615f1a7052304b79cc8fa2eb4e336d2d" }, - { url = "https://mirrors.aliyun.com/pypi/packages/8c/80/b7678c547b947cec35c136d88baf315fa6837500d9f8ce7353347f50a521/pydantic_core-2.14.5-cp312-none-win32.whl", hash = "sha256:699156034181e2ce106c89ddb4b6504c30db8caa86e0c30de47b3e0654543260" }, - { url = "https://mirrors.aliyun.com/pypi/packages/60/5a/3161e1a1c138407cd2037b12ecdbe29f4890ccda1c0a0be69438c7d0065d/pydantic_core-2.14.5-cp312-none-win_amd64.whl", hash = "sha256:5baab5455c7a538ac7e8bf1feec4278a66436197592a9bed538160a2e7d11e36" }, - { url = "https://mirrors.aliyun.com/pypi/packages/cf/b7/9bacf7f9439f785b2fe6d8199e28ad75ad25406f97f33c0186274a48a36d/pydantic_core-2.14.5-cp312-none-win_arm64.whl", hash = "sha256:e47e9a08bcc04d20975b6434cc50bf82665fbc751bcce739d04a3120428f3e27" }, - { url = "https://mirrors.aliyun.com/pypi/packages/9a/e1/c33fcdbdad7f5c29376fa2e57f8d60f966c44fc77fc36a70d0ae03bbe813/pydantic_core-2.14.5-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:a6a16f4a527aae4f49c875da3cdc9508ac7eef26e7977952608610104244e1b7" }, - { url = "https://mirrors.aliyun.com/pypi/packages/bf/d2/4820db26970effb5d6fdee68f578585448b2eb6dd7344ab55b20958a0874/pydantic_core-2.14.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:abf058be9517dc877227ec3223f0300034bd0e9f53aebd63cf4456c8cb1e0863" }, - { url = "https://mirrors.aliyun.com/pypi/packages/4f/10/c44d89cb2fa31a27766aeb39b11380ad2e01bdab7f4bf63b18dfea20ec00/pydantic_core-2.14.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:49b08aae5013640a3bfa25a8eebbd95638ec3f4b2eaf6ed82cf0c7047133f03b" }, - { url = "https://mirrors.aliyun.com/pypi/packages/4a/5c/cc41dad06acd213f093581454812d6bb20311524ecf265f893e05e4fbe84/pydantic_core-2.14.5-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c2d97e906b4ff36eb464d52a3bc7d720bd6261f64bc4bcdbcd2c557c02081ed2" }, - { url = "https://mirrors.aliyun.com/pypi/packages/b2/83/ae5698f7a8121599b239ea547f58f7b135e299e87cfe1a88fb1e6319d57c/pydantic_core-2.14.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3128e0bbc8c091ec4375a1828d6118bc20404883169ac95ffa8d983b293611e6" }, - { url = "https://mirrors.aliyun.com/pypi/packages/d4/bb/923eeeb3e87ba9024e311e0f3d1f0a4baad609ed7bfc7da7341e95981bd4/pydantic_core-2.14.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:88e74ab0cdd84ad0614e2750f903bb0d610cc8af2cc17f72c28163acfcf372a4" }, - { url = "https://mirrors.aliyun.com/pypi/packages/2a/b7/f85e5fd4504fae0df3eadd4bf9e0c495ecbdb804dc9be65653119454571e/pydantic_core-2.14.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c339dabd8ee15f8259ee0f202679b6324926e5bc9e9a40bf981ce77c038553db" }, - { url = "https://mirrors.aliyun.com/pypi/packages/d2/d7/0f13f8cce749c4c5484ddfe60239bcce21a2a6cdcea250f13ae471cb86cb/pydantic_core-2.14.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3387277f1bf659caf1724e1afe8ee7dbc9952a82d90f858ebb931880216ea955" }, - { url = "https://mirrors.aliyun.com/pypi/packages/1a/b8/7f1ca7c80dcb44bd525ba5e5feba5e45be686daeee535b434628be0f6cd7/pydantic_core-2.14.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ba6b6b3846cfc10fdb4c971980a954e49d447cd215ed5a77ec8190bc93dd7bc5" }, - { url = "https://mirrors.aliyun.com/pypi/packages/19/1c/d9ba54c20c76706eb04491187d2d22ce56982ec3d999c6915ceb16755ebd/pydantic_core-2.14.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ca61d858e4107ce5e1330a74724fe757fc7135190eb5ce5c9d0191729f033209" }, - { url = "https://mirrors.aliyun.com/pypi/packages/4e/77/02bb9e292fdce2c25cf690a5d7a63487eaf264ff200ecba03ffeff3376da/pydantic_core-2.14.5-cp39-none-win32.whl", hash = "sha256:ec1e72d6412f7126eb7b2e3bfca42b15e6e389e1bc88ea0069d0cc1742f477c6" }, - { url = "https://mirrors.aliyun.com/pypi/packages/41/64/43de643a6d2d157a8ac508a7c2a6a9746c941a659a6c64e00ebd13d5db4f/pydantic_core-2.14.5-cp39-none-win_amd64.whl", hash = "sha256:c0b97ec434041827935044bbbe52b03d6018c2897349670ff8fe11ed24d1d4ab" }, - { url = "https://mirrors.aliyun.com/pypi/packages/00/47/88baa62574f06e2dd5b9c0285b5b9b300c79e3d808c5d5a81f04e0817b82/pydantic_core-2.14.5-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:79e0a2cdbdc7af3f4aee3210b1172ab53d7ddb6a2d8c24119b5706e622b346d0" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a6/c6/01758bde5022817fd202ee9de506ea5ba3cedc9aa4b421edabda0d1b9fa4/pydantic_core-2.14.5-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:678265f7b14e138d9a541ddabbe033012a2953315739f8cfa6d754cc8063e8ca" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a9/2b/f1dca235271785f19e0f3696b31140d6a69ff5349970253c034f9c603b8e/pydantic_core-2.14.5-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:95b15e855ae44f0c6341ceb74df61b606e11f1087e87dcb7482377374aac6abe" }, - { url = "https://mirrors.aliyun.com/pypi/packages/1d/0f/bb0bd20e5bbabdf99d0a25858cf77b74926826a75d0458dc4842cf360ea5/pydantic_core-2.14.5-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:09b0e985fbaf13e6b06a56d21694d12ebca6ce5414b9211edf6f17738d82b0f8" }, - { url = "https://mirrors.aliyun.com/pypi/packages/f2/a4/fcb082e0723f9e4fcdbc5564879255c7f6de1f3d4d6acdd1b8799a86aa97/pydantic_core-2.14.5-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3ad873900297bb36e4b6b3f7029d88ff9829ecdc15d5cf20161775ce12306f8a" }, - { url = "https://mirrors.aliyun.com/pypi/packages/0b/32/0a6ee79ed34e8934a54548495883017dfaf3fc742b0d0d02afa154f1f49d/pydantic_core-2.14.5-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:2d0ae0d8670164e10accbeb31d5ad45adb71292032d0fdb9079912907f0085f4" }, - { url = "https://mirrors.aliyun.com/pypi/packages/fb/84/f7e4556343ea0a483fa4e18505efaf10002581d2e980867a5b1ed22bfd21/pydantic_core-2.14.5-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:d37f8ec982ead9ba0a22a996129594938138a1503237b87318392a48882d50b7" }, - { url = "https://mirrors.aliyun.com/pypi/packages/dc/1b/eb3861748a1669865f7b01dd73dedc185f1e2dad84c56a0fd00672e7fac8/pydantic_core-2.14.5-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:35613015f0ba7e14c29ac6c2483a657ec740e5ac5758d993fdd5870b07a61d8b" }, - { url = "https://mirrors.aliyun.com/pypi/packages/6c/ba/f3eee66c90f2e4f468fc01cace46ec633f9d47d53e1610ef3bc6003fc936/pydantic_core-2.14.5-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:7f8210297b04e53bc3da35db08b7302a6a1f4889c79173af69b72ec9754796b8" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a7/be/6be1245f78b72da970cf52cf4c55d8abcfd1655114d122ee6cf5641fc3f5/pydantic_core-2.14.5-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:8c8a8812fe6f43a3a5b054af6ac2d7b8605c7bcab2804a8a7d68b53f3cd86e00" }, - { url = "https://mirrors.aliyun.com/pypi/packages/84/01/079cd694491f1e05a1caae15a2ee32321a8fa748a34a183f6a38bf885af9/pydantic_core-2.14.5-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:206ed23aecd67c71daf5c02c3cd19c0501b01ef3cbf7782db9e4e051426b3d0d" }, - { url = "https://mirrors.aliyun.com/pypi/packages/03/99/f7eb0cc34ea21e94aa0610a9c0794064847adc38ab824c8722e9fe35ebba/pydantic_core-2.14.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c2027d05c8aebe61d898d4cffd774840a9cb82ed356ba47a90d99ad768f39789" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ed/b0/afd8f57e4ac5eaa4f1562b6f04cf10140cd6596c97d378aae2af6a236234/pydantic_core-2.14.5-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:40180930807ce806aa71eda5a5a5447abb6b6a3c0b4b3b1b1962651906484d68" }, - { url = "https://mirrors.aliyun.com/pypi/packages/5a/cf/1348242330768c4014ba26c51a847c23db105da6b21bdcefbc9087926af3/pydantic_core-2.14.5-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:615a0a4bff11c45eb3c1996ceed5bdaa2f7b432425253a7c2eed33bb86d80abc" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ef/e9/ffaec12924f90d4f2f589b0f6f510b671a561b02dce47ce9fad559b41ac3/pydantic_core-2.14.5-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f5e412d717366e0677ef767eac93566582518fe8be923361a5c204c1a62eaafe" }, - { url = "https://mirrors.aliyun.com/pypi/packages/08/01/ced0c6a1ac6737cfddbe8e81ec73278f3ec6e2627890fbf052b3ece56b48/pydantic_core-2.14.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:513b07e99c0a267b1d954243845d8a833758a6726a3b5d8948306e3fe14675e3" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/c0/d2/b31c030802f29c35fa0c8ab92891bee9dcedd2793df560041b6d38f5fd49/pydantic_core-2.14.5-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:7e88f5696153dc516ba6e79f82cc4747e87027205f0e02390c21f7cb3bd8abfd", size = 1861818, upload-time = "2023-11-22T13:02:19.514Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ba/9b/5246600a17467ad8071174250d7727b34f5dc0dfe74abf3e99dbdf1beee1/pydantic_core-2.14.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4641e8ad4efb697f38a9b64ca0523b557c7931c5f84e0fd377a9a3b05121f0de", size = 1735406, upload-time = "2023-11-22T13:02:21.975Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/05/7b/9083133f247b9f712f5718c66b3e39194ea679fbe85567bf4dc9d08557bb/pydantic_core-2.14.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:774de879d212db5ce02dfbf5b0da9a0ea386aeba12b0b95674a4ce0593df3d07", size = 1829696, upload-time = "2023-11-22T13:02:23.956Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/7d/de/df454233c7960a899846f037209204df1d8ab761bb81a7561abb4daf2288/pydantic_core-2.14.5-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ebb4e035e28f49b6f1a7032920bb9a0c064aedbbabe52c543343d39341a5b2a3", size = 1854038, upload-time = "2023-11-22T13:02:26.456Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/36/53/d4ae1f5273cbc83d5a4c158916a9235c1bfc8194be63958b4b5ff11bf838/pydantic_core-2.14.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b53e9ad053cd064f7e473a5f29b37fc4cc9dc6d35f341e6afc0155ea257fc911", size = 2006079, upload-time = "2023-11-22T13:02:29.251Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/78/ef/4fd3b40a82ea729a2566575aeec119449b0bf1b4c13d9255e8ac2a40a58b/pydantic_core-2.14.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8aa1768c151cf562a9992462239dfc356b3d1037cc5a3ac829bb7f3bda7cc1f9", size = 2985938, upload-time = "2023-11-22T13:02:31.34Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/7c/f5/3e59681bd53955da311a7f4efbb6315d01006e9d18b8a06b527a22d3d923/pydantic_core-2.14.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eac5c82fc632c599f4639a5886f96867ffced74458c7db61bc9a66ccb8ee3113", size = 2069435, upload-time = "2023-11-22T13:02:33.611Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/46/df/5159aa30c4b2128f14634f3b3e9e19df228364c2107cda7910d058cc1bca/pydantic_core-2.14.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d2ae91f50ccc5810b2f1b6b858257c9ad2e08da70bf890dee02de1775a387c66", size = 1915671, upload-time = "2023-11-22T13:02:35.498Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/2c/43/d94f10d82ccffc86bd69bfac73c54589703008236d63965dd40005a80af9/pydantic_core-2.14.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:6b9ff467ffbab9110e80e8c8de3bcfce8e8b0fd5661ac44a09ae5901668ba997", size = 2010232, upload-time = "2023-11-22T13:02:38.219Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/66/11/f3e35b74745b5167df5f1dc15bd2368dbaa9e70d2ad8438a0c9485b78da5/pydantic_core-2.14.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:61ea96a78378e3bd5a0be99b0e5ed00057b71f66115f5404d0dae4819f495093", size = 2136951, upload-time = "2023-11-22T13:02:40.773Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/f7/e8/d2a534d8c555f6e375296f7d534405dbc247b0da91f1c067cdca5220d95f/pydantic_core-2.14.5-cp310-none-win32.whl", hash = "sha256:bb4c2eda937a5e74c38a41b33d8c77220380a388d689bcdb9b187cf6224c9720", size = 1730860, upload-time = "2023-11-22T13:02:42.903Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/3d/9f/bd9a41853a8ad6854cf126e72bb19a4849f79efe2d544b1a44f5351b9748/pydantic_core-2.14.5-cp310-none-win_amd64.whl", hash = "sha256:b7851992faf25eac90bfcb7bfd19e1f5ffa00afd57daec8a0042e63c74a4551b", size = 1887073, upload-time = "2023-11-22T13:02:45.407Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/12/00/bd693e0bf24fa016c7194ac9ca671903b0938a5aa2603f7b5779070a15a0/pydantic_core-2.14.5-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:4e40f2bd0d57dac3feb3a3aed50f17d83436c9e6b09b16af271b6230a2915459", size = 1858563, upload-time = "2023-11-22T13:02:47.368Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ab/43/77d8f56eb332e84097f18fc294346d214e9f0d22fb9ec67ebed4b8e90e35/pydantic_core-2.14.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ab1cdb0f14dc161ebc268c09db04d2c9e6f70027f3b42446fa11c153521c0e88", size = 1735080, upload-time = "2023-11-22T13:02:50.034Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a4/09/90f5a03ab19e21601c6fec11fc9dea30e3228731e12b2f75f58d02430b85/pydantic_core-2.14.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aae7ea3a1c5bb40c93cad361b3e869b180ac174656120c42b9fadebf685d121b", size = 1826884, upload-time = "2023-11-22T13:02:52.116Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/22/11/3f332887a888217e28b23c115c343ef89ccf5f49bbbd88d9317c707b00ac/pydantic_core-2.14.5-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:60b7607753ba62cf0739177913b858140f11b8af72f22860c28eabb2f0a61937", size = 1851648, upload-time = "2023-11-22T13:02:54.873Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/41/0a/1c0372929f3723587d66c188cbdd0c47d269447e0ac8f231f0db0f9bb03c/pydantic_core-2.14.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2248485b0322c75aee7565d95ad0e16f1c67403a470d02f94da7344184be770f", size = 2003694, upload-time = "2023-11-22T13:02:57.367Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/63/e6/8887679b7f923290db2638bf80733c609aaefaae29b9fe99b83f800c1910/pydantic_core-2.14.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:823fcc638f67035137a5cd3f1584a4542d35a951c3cc68c6ead1df7dac825c26", size = 2984596, upload-time = "2023-11-22T13:02:59.962Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/bf/ed/ee221482b51f368884ea6453f3784eeaeb17f5b737589d39d68a89bffde7/pydantic_core-2.14.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96581cfefa9123accc465a5fd0cc833ac4d75d55cc30b633b402e00e7ced00a6", size = 2068579, upload-time = "2023-11-22T13:03:02.174Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/75/cf/2f6e6410ae735c11df32c391948a6c601a22f40f414b5dfc24f2def8c064/pydantic_core-2.14.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a33324437018bf6ba1bb0f921788788641439e0ed654b233285b9c69704c27b4", size = 1913142, upload-time = "2023-11-22T13:03:04.489Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/28/81/f5452ccf3b15aa280188fbf2b6ab39ed700623df4fcc28675f19eee9634a/pydantic_core-2.14.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:9bd18fee0923ca10f9a3ff67d4851c9d3e22b7bc63d1eddc12f439f436f2aada", size = 2007100, upload-time = "2023-11-22T13:03:06.583Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/af/ab/79c2126e5504a3f0ecc0b1d97768594f9baa090134b0053309a2d938efaa/pydantic_core-2.14.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:853a2295c00f1d4429db4c0fb9475958543ee80cfd310814b5c0ef502de24dda", size = 2134232, upload-time = "2023-11-22T13:03:08.95Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/2f/eb/4b07b31c4a728b02cae14cc2a447ebd460dfdf7076fe56a074ff7e27be4f/pydantic_core-2.14.5-cp311-none-win32.whl", hash = "sha256:cb774298da62aea5c80a89bd58c40205ab4c2abf4834453b5de207d59d2e1651", size = 1730376, upload-time = "2023-11-22T13:03:10.921Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/04/a1/36cea283ded0641e8c374cdcacfdab035c102467ac5ec721b7527c8ac1cf/pydantic_core-2.14.5-cp311-none-win_amd64.whl", hash = "sha256:e87fc540c6cac7f29ede02e0f989d4233f88ad439c5cdee56f693cc9c1c78077", size = 1886861, upload-time = "2023-11-22T13:03:13.096Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/e6/7c/af522a1bce278dda0f0fdc9e64a081af51cbfedeafe44cbb6a4cc8617dad/pydantic_core-2.14.5-cp311-none-win_arm64.whl", hash = "sha256:57d52fa717ff445cb0a5ab5237db502e6be50809b43a596fb569630c665abddf", size = 1848339, upload-time = "2023-11-22T13:03:15.174Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/3a/dd/fc81e3ea962a356a705fa06965a7dbc0b204da014f238df95f1cd276bfab/pydantic_core-2.14.5-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:e60f112ac88db9261ad3a52032ea46388378034f3279c643499edb982536a093", size = 1851038, upload-time = "2023-11-22T13:03:17.358Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/eb/45/5eef8d36c2bf4c63e73e598fe523a0bc15069a97994481e27bef933ff423/pydantic_core-2.14.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6e227c40c02fd873c2a73a98c1280c10315cbebe26734c196ef4514776120aeb", size = 1713179, upload-time = "2023-11-22T13:03:19.575Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/9e/f3/9e3d334976b5051cd18e3feef06516ead3230efb8b9af8514bc52b2795b1/pydantic_core-2.14.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f0cbc7fff06a90bbd875cc201f94ef0ee3929dfbd5c55a06674b60857b8b85ed", size = 1823940, upload-time = "2023-11-22T13:03:21.772Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/89/5c/e0584d534863639757e05479a3c1172550e3d3dab0c39b79e41692d1804d/pydantic_core-2.14.5-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:103ef8d5b58596a731b690112819501ba1db7a36f4ee99f7892c40da02c3e189", size = 1834525, upload-time = "2023-11-22T13:03:23.727Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/9c/52/2fc8b7e07f360993bc3d5f9ea743aac9f59287002035887c7d4f45bc6fb6/pydantic_core-2.14.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c949f04ecad823f81b1ba94e7d189d9dfb81edbb94ed3f8acfce41e682e48cef", size = 1994576, upload-time = "2023-11-22T13:03:26.057Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/7e/ff/72d57544a70f4f37a06c40cfe1c4a038bc21db308e916a277faa1854a1d8/pydantic_core-2.14.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c1452a1acdf914d194159439eb21e56b89aa903f2e1c65c60b9d874f9b950e5d", size = 3039433, upload-time = "2023-11-22T13:03:28.023Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/8f/af/b202d44845f89e9c997f2f351be35a76ff78304eb926b1bdb33929de40db/pydantic_core-2.14.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb4679d4c2b089e5ef89756bc73e1926745e995d76e11925e3e96a76d5fa51fc", size = 2063479, upload-time = "2023-11-22T13:03:30.83Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/cb/96/27421976cde52555eb20636d59743621d4fa3bba278a0e4dbb4751e3f5c1/pydantic_core-2.14.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:cf9d3fe53b1ee360e2421be95e62ca9b3296bf3f2fb2d3b83ca49ad3f925835e", size = 1919434, upload-time = "2023-11-22T13:03:32.827Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/90/6f/52cb83061430628878c34fdb199ccc8313a104f1390d99bff4a29b2ff6fe/pydantic_core-2.14.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:70f4b4851dbb500129681d04cc955be2a90b2248d69273a787dda120d5cf1f69", size = 2004054, upload-time = "2023-11-22T13:03:35.273Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/10/89/bbb9bb3bd59b1cb36a87c2f6b6e3b2858fdb6ac438539f67a6c93a91ba5e/pydantic_core-2.14.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:59986de5710ad9613ff61dd9b02bdd2f615f1a7052304b79cc8fa2eb4e336d2d", size = 2126498, upload-time = "2023-11-22T13:03:37.237Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/8c/80/b7678c547b947cec35c136d88baf315fa6837500d9f8ce7353347f50a521/pydantic_core-2.14.5-cp312-none-win32.whl", hash = "sha256:699156034181e2ce106c89ddb4b6504c30db8caa86e0c30de47b3e0654543260", size = 1741746, upload-time = "2023-11-22T13:03:39.553Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/60/5a/3161e1a1c138407cd2037b12ecdbe29f4890ccda1c0a0be69438c7d0065d/pydantic_core-2.14.5-cp312-none-win_amd64.whl", hash = "sha256:5baab5455c7a538ac7e8bf1feec4278a66436197592a9bed538160a2e7d11e36", size = 1874829, upload-time = "2023-11-22T13:03:42.438Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/cf/b7/9bacf7f9439f785b2fe6d8199e28ad75ad25406f97f33c0186274a48a36d/pydantic_core-2.14.5-cp312-none-win_arm64.whl", hash = "sha256:e47e9a08bcc04d20975b6434cc50bf82665fbc751bcce739d04a3120428f3e27", size = 1844793, upload-time = "2023-11-22T13:03:44.466Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/9a/e1/c33fcdbdad7f5c29376fa2e57f8d60f966c44fc77fc36a70d0ae03bbe813/pydantic_core-2.14.5-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:a6a16f4a527aae4f49c875da3cdc9508ac7eef26e7977952608610104244e1b7", size = 1861617, upload-time = "2023-11-22T13:04:46.936Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/bf/d2/4820db26970effb5d6fdee68f578585448b2eb6dd7344ab55b20958a0874/pydantic_core-2.14.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:abf058be9517dc877227ec3223f0300034bd0e9f53aebd63cf4456c8cb1e0863", size = 1739010, upload-time = "2023-11-22T13:04:49.744Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/4f/10/c44d89cb2fa31a27766aeb39b11380ad2e01bdab7f4bf63b18dfea20ec00/pydantic_core-2.14.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:49b08aae5013640a3bfa25a8eebbd95638ec3f4b2eaf6ed82cf0c7047133f03b", size = 1829873, upload-time = "2023-11-22T13:04:52.706Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/4a/5c/cc41dad06acd213f093581454812d6bb20311524ecf265f893e05e4fbe84/pydantic_core-2.14.5-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c2d97e906b4ff36eb464d52a3bc7d720bd6261f64bc4bcdbcd2c557c02081ed2", size = 1853845, upload-time = "2023-11-22T13:04:55.211Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/b2/83/ae5698f7a8121599b239ea547f58f7b135e299e87cfe1a88fb1e6319d57c/pydantic_core-2.14.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3128e0bbc8c091ec4375a1828d6118bc20404883169ac95ffa8d983b293611e6", size = 2005879, upload-time = "2023-11-22T13:04:58.369Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/d4/bb/923eeeb3e87ba9024e311e0f3d1f0a4baad609ed7bfc7da7341e95981bd4/pydantic_core-2.14.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:88e74ab0cdd84ad0614e2750f903bb0d610cc8af2cc17f72c28163acfcf372a4", size = 2987768, upload-time = "2023-11-22T13:05:01.599Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/2a/b7/f85e5fd4504fae0df3eadd4bf9e0c495ecbdb804dc9be65653119454571e/pydantic_core-2.14.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c339dabd8ee15f8259ee0f202679b6324926e5bc9e9a40bf981ce77c038553db", size = 2069500, upload-time = "2023-11-22T13:05:06.077Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/d2/d7/0f13f8cce749c4c5484ddfe60239bcce21a2a6cdcea250f13ae471cb86cb/pydantic_core-2.14.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3387277f1bf659caf1724e1afe8ee7dbc9952a82d90f858ebb931880216ea955", size = 1915855, upload-time = "2023-11-22T13:05:08.645Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/1a/b8/7f1ca7c80dcb44bd525ba5e5feba5e45be686daeee535b434628be0f6cd7/pydantic_core-2.14.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ba6b6b3846cfc10fdb4c971980a954e49d447cd215ed5a77ec8190bc93dd7bc5", size = 2008972, upload-time = "2023-11-22T13:05:11.36Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/19/1c/d9ba54c20c76706eb04491187d2d22ce56982ec3d999c6915ceb16755ebd/pydantic_core-2.14.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ca61d858e4107ce5e1330a74724fe757fc7135190eb5ce5c9d0191729f033209", size = 2136776, upload-time = "2023-11-22T13:05:13.935Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/4e/77/02bb9e292fdce2c25cf690a5d7a63487eaf264ff200ecba03ffeff3376da/pydantic_core-2.14.5-cp39-none-win32.whl", hash = "sha256:ec1e72d6412f7126eb7b2e3bfca42b15e6e389e1bc88ea0069d0cc1742f477c6", size = 1730674, upload-time = "2023-11-22T13:05:16.94Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/41/64/43de643a6d2d157a8ac508a7c2a6a9746c941a659a6c64e00ebd13d5db4f/pydantic_core-2.14.5-cp39-none-win_amd64.whl", hash = "sha256:c0b97ec434041827935044bbbe52b03d6018c2897349670ff8fe11ed24d1d4ab", size = 1888170, upload-time = "2023-11-22T13:05:19.731Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/00/47/88baa62574f06e2dd5b9c0285b5b9b300c79e3d808c5d5a81f04e0817b82/pydantic_core-2.14.5-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:79e0a2cdbdc7af3f4aee3210b1172ab53d7ddb6a2d8c24119b5706e622b346d0", size = 1857942, upload-time = "2023-11-22T13:05:22.436Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a6/c6/01758bde5022817fd202ee9de506ea5ba3cedc9aa4b421edabda0d1b9fa4/pydantic_core-2.14.5-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:678265f7b14e138d9a541ddabbe033012a2953315739f8cfa6d754cc8063e8ca", size = 1741454, upload-time = "2023-11-22T13:05:24.768Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a9/2b/f1dca235271785f19e0f3696b31140d6a69ff5349970253c034f9c603b8e/pydantic_core-2.14.5-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:95b15e855ae44f0c6341ceb74df61b606e11f1087e87dcb7482377374aac6abe", size = 1819377, upload-time = "2023-11-22T13:05:27.309Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/1d/0f/bb0bd20e5bbabdf99d0a25858cf77b74926826a75d0458dc4842cf360ea5/pydantic_core-2.14.5-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:09b0e985fbaf13e6b06a56d21694d12ebca6ce5414b9211edf6f17738d82b0f8", size = 1952395, upload-time = "2023-11-22T13:05:29.679Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/f2/a4/fcb082e0723f9e4fcdbc5564879255c7f6de1f3d4d6acdd1b8799a86aa97/pydantic_core-2.14.5-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3ad873900297bb36e4b6b3f7029d88ff9829ecdc15d5cf20161775ce12306f8a", size = 1903315, upload-time = "2023-11-22T13:05:32.475Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/0b/32/0a6ee79ed34e8934a54548495883017dfaf3fc742b0d0d02afa154f1f49d/pydantic_core-2.14.5-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:2d0ae0d8670164e10accbeb31d5ad45adb71292032d0fdb9079912907f0085f4", size = 2000022, upload-time = "2023-11-22T13:05:35.022Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/fb/84/f7e4556343ea0a483fa4e18505efaf10002581d2e980867a5b1ed22bfd21/pydantic_core-2.14.5-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:d37f8ec982ead9ba0a22a996129594938138a1503237b87318392a48882d50b7", size = 2130197, upload-time = "2023-11-22T13:05:37.488Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/dc/1b/eb3861748a1669865f7b01dd73dedc185f1e2dad84c56a0fd00672e7fac8/pydantic_core-2.14.5-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:35613015f0ba7e14c29ac6c2483a657ec740e5ac5758d993fdd5870b07a61d8b", size = 1991642, upload-time = "2023-11-22T13:05:40.365Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/6c/ba/f3eee66c90f2e4f468fc01cace46ec633f9d47d53e1610ef3bc6003fc936/pydantic_core-2.14.5-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:7f8210297b04e53bc3da35db08b7302a6a1f4889c79173af69b72ec9754796b8", size = 1857920, upload-time = "2023-11-22T13:06:19.709Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a7/be/6be1245f78b72da970cf52cf4c55d8abcfd1655114d122ee6cf5641fc3f5/pydantic_core-2.14.5-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:8c8a8812fe6f43a3a5b054af6ac2d7b8605c7bcab2804a8a7d68b53f3cd86e00", size = 1741506, upload-time = "2023-11-22T13:06:22.661Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/84/01/079cd694491f1e05a1caae15a2ee32321a8fa748a34a183f6a38bf885af9/pydantic_core-2.14.5-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:206ed23aecd67c71daf5c02c3cd19c0501b01ef3cbf7782db9e4e051426b3d0d", size = 1819445, upload-time = "2023-11-22T13:06:25.923Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/03/99/f7eb0cc34ea21e94aa0610a9c0794064847adc38ab824c8722e9fe35ebba/pydantic_core-2.14.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c2027d05c8aebe61d898d4cffd774840a9cb82ed356ba47a90d99ad768f39789", size = 1952396, upload-time = "2023-11-22T13:06:29.399Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ed/b0/afd8f57e4ac5eaa4f1562b6f04cf10140cd6596c97d378aae2af6a236234/pydantic_core-2.14.5-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:40180930807ce806aa71eda5a5a5447abb6b6a3c0b4b3b1b1962651906484d68", size = 1903310, upload-time = "2023-11-22T13:06:32.09Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/5a/cf/1348242330768c4014ba26c51a847c23db105da6b21bdcefbc9087926af3/pydantic_core-2.14.5-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:615a0a4bff11c45eb3c1996ceed5bdaa2f7b432425253a7c2eed33bb86d80abc", size = 1999952, upload-time = "2023-11-22T13:06:34.682Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ef/e9/ffaec12924f90d4f2f589b0f6f510b671a561b02dce47ce9fad559b41ac3/pydantic_core-2.14.5-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f5e412d717366e0677ef767eac93566582518fe8be923361a5c204c1a62eaafe", size = 2130223, upload-time = "2023-11-22T13:06:37.369Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/08/01/ced0c6a1ac6737cfddbe8e81ec73278f3ec6e2627890fbf052b3ece56b48/pydantic_core-2.14.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:513b07e99c0a267b1d954243845d8a833758a6726a3b5d8948306e3fe14675e3", size = 1991649, upload-time = "2023-11-22T13:06:40.096Z" }, ] [[package]] name = "pyee" version = "11.1.0" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } dependencies = [ { name = "typing-extensions" }, ] -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/f7/22/b4c7f3d9579204a014c4eda0e019e6bfe56af52a96cacc82004b60eec079/pyee-11.1.0.tar.gz", hash = "sha256:b53af98f6990c810edd9b56b87791021a8f54fd13db4edd1142438d44ba2263f" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/f7/22/b4c7f3d9579204a014c4eda0e019e6bfe56af52a96cacc82004b60eec079/pyee-11.1.0.tar.gz", hash = "sha256:b53af98f6990c810edd9b56b87791021a8f54fd13db4edd1142438d44ba2263f", size = 29806, upload-time = "2023-11-23T17:13:25.913Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/16/cc/5cea8a0a0d3deb90b5a0d39ad1a6a1ccaa40a9ea86d793eb8a49d32a6ed0/pyee-11.1.0-py3-none-any.whl", hash = "sha256:5d346a7d0f861a4b2e6c47960295bd895f816725b27d656181947346be98d7c1" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/16/cc/5cea8a0a0d3deb90b5a0d39ad1a6a1ccaa40a9ea86d793eb8a49d32a6ed0/pyee-11.1.0-py3-none-any.whl", hash = "sha256:5d346a7d0f861a4b2e6c47960295bd895f816725b27d656181947346be98d7c1", size = 15263, upload-time = "2023-11-23T17:13:24.486Z" }, ] [[package]] name = "pyexecjs" version = "1.5.1" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } dependencies = [ { name = "six" }, ] -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/ba/8e/aedef81641c8dca6fd0fb7294de5bed9c45f3397d67fddf755c1042c2642/PyExecJS-1.5.1.tar.gz", hash = "sha256:34cc1d070976918183ff7bdc0ad71f8157a891c92708c00c5fbbff7a769f505c" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ba/8e/aedef81641c8dca6fd0fb7294de5bed9c45f3397d67fddf755c1042c2642/PyExecJS-1.5.1.tar.gz", hash = "sha256:34cc1d070976918183ff7bdc0ad71f8157a891c92708c00c5fbbff7a769f505c", size = 13344, upload-time = "2018-01-18T04:33:55.126Z" } [[package]] name = "pymysql" version = "1.1.1" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/b3/8f/ce59b5e5ed4ce8512f879ff1fa5ab699d211ae2495f1adaa5fbba2a1eada/pymysql-1.1.1.tar.gz", hash = "sha256:e127611aaf2b417403c60bf4dc570124aeb4a57f5f37b8e95ae399a42f904cd0" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/b3/8f/ce59b5e5ed4ce8512f879ff1fa5ab699d211ae2495f1adaa5fbba2a1eada/pymysql-1.1.1.tar.gz", hash = "sha256:e127611aaf2b417403c60bf4dc570124aeb4a57f5f37b8e95ae399a42f904cd0", size = 47678, upload-time = "2024-05-21T11:03:43.722Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/0c/94/e4181a1f6286f545507528c78016e00065ea913276888db2262507693ce5/PyMySQL-1.1.1-py3-none-any.whl", hash = "sha256:4de15da4c61dc132f4fb9ab763063e693d521a80fd0e87943b9a453dd4c19d6c" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/0c/94/e4181a1f6286f545507528c78016e00065ea913276888db2262507693ce5/PyMySQL-1.1.1-py3-none-any.whl", hash = "sha256:4de15da4c61dc132f4fb9ab763063e693d521a80fd0e87943b9a453dd4c19d6c", size = 44972, upload-time = "2024-05-21T11:03:41.216Z" }, ] [[package]] name = "pyparsing" version = "3.2.3" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/bb/22/f1129e69d94ffff626bdb5c835506b3a5b4f3d070f17ea295e12c2c6f60f/pyparsing-3.2.3.tar.gz", hash = "sha256:b9c13f1ab8b3b542f72e28f634bad4de758ab3ce4546e4301970ad6fa77c38be" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/bb/22/f1129e69d94ffff626bdb5c835506b3a5b4f3d070f17ea295e12c2c6f60f/pyparsing-3.2.3.tar.gz", hash = "sha256:b9c13f1ab8b3b542f72e28f634bad4de758ab3ce4546e4301970ad6fa77c38be", size = 1088608, upload-time = "2025-03-25T05:01:28.114Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/05/e7/df2285f3d08fee213f2d041540fa4fc9ca6c2d44cf36d3a035bf2a8d2bcc/pyparsing-3.2.3-py3-none-any.whl", hash = "sha256:a749938e02d6fd0b59b356ca504a24982314bb090c383e3cf201c95ef7e2bfcf" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/05/e7/df2285f3d08fee213f2d041540fa4fc9ca6c2d44cf36d3a035bf2a8d2bcc/pyparsing-3.2.3-py3-none-any.whl", hash = "sha256:a749938e02d6fd0b59b356ca504a24982314bb090c383e3cf201c95ef7e2bfcf", size = 111120, upload-time = "2025-03-25T05:01:24.908Z" }, ] [[package]] name = "python-dateutil" version = "2.9.0.post0" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } dependencies = [ { name = "six" }, ] -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432, upload-time = "2024-03-01T18:36:20.211Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" }, ] [[package]] name = "python-dotenv" version = "1.0.1" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/bc/57/e84d88dfe0aec03b7a2d4327012c1627ab5f03652216c63d49846d7a6c58/python-dotenv-1.0.1.tar.gz", hash = "sha256:e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/bc/57/e84d88dfe0aec03b7a2d4327012c1627ab5f03652216c63d49846d7a6c58/python-dotenv-1.0.1.tar.gz", hash = "sha256:e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca", size = 39115, upload-time = "2024-01-23T06:33:00.505Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/6a/3e/b68c118422ec867fa7ab88444e1274aa40681c606d59ac27de5a5588f082/python_dotenv-1.0.1-py3-none-any.whl", hash = "sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/6a/3e/b68c118422ec867fa7ab88444e1274aa40681c606d59ac27de5a5588f082/python_dotenv-1.0.1-py3-none-any.whl", hash = "sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a", size = 19863, upload-time = "2024-01-23T06:32:58.246Z" }, ] [[package]] name = "pytz" version = "2025.2" -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" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/f8/bf/abbd3cdfb8fbc7fb3d4d38d320f2441b1e7cbe29be4f23797b4a2b5d8aac/pytz-2025.2.tar.gz", hash = "sha256:360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3", size = 320884, upload-time = "2025-03-25T02:25:00.538Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/81/c4/34e93fe5f5429d7570ec1fa436f1986fb1f00c3e0f43a589fe2bbcd22c3f/pytz-2025.2-py2.py3-none-any.whl", hash = "sha256:5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/81/c4/34e93fe5f5429d7570ec1fa436f1986fb1f00c3e0f43a589fe2bbcd22c3f/pytz-2025.2-py2.py3-none-any.whl", hash = "sha256:5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00", size = 509225, upload-time = "2025-03-25T02:24:58.468Z" }, ] [[package]] name = "redis" version = "4.6.0" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } dependencies = [ { name = "async-timeout", marker = "python_full_version <= '3.11.2'" }, ] -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/73/88/63d802c2b18dd9eaa5b846cbf18917c6b2882f20efda398cc16a7500b02c/redis-4.6.0.tar.gz", hash = "sha256:585dc516b9eb042a619ef0a39c3d7d55fe81bdb4df09a52c9cdde0d07bf1aa7d" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/73/88/63d802c2b18dd9eaa5b846cbf18917c6b2882f20efda398cc16a7500b02c/redis-4.6.0.tar.gz", hash = "sha256:585dc516b9eb042a619ef0a39c3d7d55fe81bdb4df09a52c9cdde0d07bf1aa7d", size = 4561721, upload-time = "2023-06-25T13:13:57.139Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/20/2e/409703d645363352a20c944f5d119bdae3eb3034051a53724a7c5fee12b8/redis-4.6.0-py3-none-any.whl", hash = "sha256:e2b03db868160ee4591de3cb90d40ebb50a90dd302138775937f6a42b7ed183c" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/20/2e/409703d645363352a20c944f5d119bdae3eb3034051a53724a7c5fee12b8/redis-4.6.0-py3-none-any.whl", hash = "sha256:e2b03db868160ee4591de3cb90d40ebb50a90dd302138775937f6a42b7ed183c", size = 241149, upload-time = "2023-06-25T13:13:54.563Z" }, ] [[package]] name = "requests" version = "2.32.3" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } dependencies = [ { name = "certifi" }, { name = "charset-normalizer" }, { name = "idna" }, { name = "urllib3" }, ] -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/63/70/2bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913/requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/63/70/2bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913/requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760", size = 131218, upload-time = "2024-05-29T15:37:49.536Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6", size = 64928, upload-time = "2024-05-29T15:37:47.027Z" }, ] [[package]] name = "six" version = "1.17.0" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" }, ] [[package]] name = "sniffio" version = "1.3.1" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc", size = 20372, upload-time = "2024-02-25T23:20:04.057Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235, upload-time = "2024-02-25T23:20:01.196Z" }, ] [[package]] name = "starlette" version = "0.37.2" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } dependencies = [ { name = "anyio" }, { name = "typing-extensions", marker = "python_full_version < '3.10'" }, ] -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/61/b5/6bceb93ff20bd7ca36e6f7c540581abb18f53130fabb30ba526e26fd819b/starlette-0.37.2.tar.gz", hash = "sha256:9af890290133b79fc3db55474ade20f6220a364a0402e0b556e7cd5e1e093823" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/61/b5/6bceb93ff20bd7ca36e6f7c540581abb18f53130fabb30ba526e26fd819b/starlette-0.37.2.tar.gz", hash = "sha256:9af890290133b79fc3db55474ade20f6220a364a0402e0b556e7cd5e1e093823", size = 2843736, upload-time = "2024-03-05T16:16:54.267Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/fd/18/31fa32ed6c68ba66220204ef0be798c349d0a20c1901f9d4a794e08c76d8/starlette-0.37.2-py3-none-any.whl", hash = "sha256:6fe59f29268538e5d0d182f2791a479a0c64638e6935d1c6989e63fb2699c6ee" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/fd/18/31fa32ed6c68ba66220204ef0be798c349d0a20c1901f9d4a794e08c76d8/starlette-0.37.2-py3-none-any.whl", hash = "sha256:6fe59f29268538e5d0d182f2791a479a0c64638e6935d1c6989e63fb2699c6ee", size = 71908, upload-time = "2024-03-05T16:16:50.957Z" }, ] [[package]] name = "tenacity" version = "8.2.2" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/d3/f0/6ccd8854f4421ce1f227caf3421d9be2979aa046939268c9300030c0d250/tenacity-8.2.2.tar.gz", hash = "sha256:43af037822bd0029025877f3b2d97cc4d7bb0c2991000a3d59d71517c5c969e0" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/d3/f0/6ccd8854f4421ce1f227caf3421d9be2979aa046939268c9300030c0d250/tenacity-8.2.2.tar.gz", hash = "sha256:43af037822bd0029025877f3b2d97cc4d7bb0c2991000a3d59d71517c5c969e0", size = 40186, upload-time = "2023-02-28T14:22:08.249Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/e7/b0/c23bd61e1b32c9b96fbca996c87784e196a812da8d621d8d04851f6c8181/tenacity-8.2.2-py3-none-any.whl", hash = "sha256:2f277afb21b851637e8f52e6a613ff08734c347dc19ade928e519d7d2d8569b0" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/e7/b0/c23bd61e1b32c9b96fbca996c87784e196a812da8d621d8d04851f6c8181/tenacity-8.2.2-py3-none-any.whl", hash = "sha256:2f277afb21b851637e8f52e6a613ff08734c347dc19ade928e519d7d2d8569b0", size = 24390, upload-time = "2023-02-28T14:22:06.432Z" }, ] [[package]] name = "typing-extensions" version = "4.14.0" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/d1/bc/51647cd02527e87d05cb083ccc402f93e441606ff1f01739a62c8ad09ba5/typing_extensions-4.14.0.tar.gz", hash = "sha256:8676b788e32f02ab42d9e7c61324048ae4c6d844a399eebace3d4979d75ceef4" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/d1/bc/51647cd02527e87d05cb083ccc402f93e441606ff1f01739a62c8ad09ba5/typing_extensions-4.14.0.tar.gz", hash = "sha256:8676b788e32f02ab42d9e7c61324048ae4c6d844a399eebace3d4979d75ceef4", size = 107423, upload-time = "2025-06-02T14:52:11.399Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/69/e0/552843e0d356fbb5256d21449fa957fa4eff3bbc135a74a691ee70c7c5da/typing_extensions-4.14.0-py3-none-any.whl", hash = "sha256:a1514509136dd0b477638fc68d6a91497af5076466ad0fa6c338e44e359944af" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/69/e0/552843e0d356fbb5256d21449fa957fa4eff3bbc135a74a691ee70c7c5da/typing_extensions-4.14.0-py3-none-any.whl", hash = "sha256:a1514509136dd0b477638fc68d6a91497af5076466ad0fa6c338e44e359944af", size = 43839, upload-time = "2025-06-02T14:52:10.026Z" }, ] [[package]] name = "tzdata" version = "2025.2" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/95/32/1a225d6164441be760d75c2c42e2780dc0873fe382da3e98a2e1e48361e5/tzdata-2025.2.tar.gz", hash = "sha256:b60a638fcc0daffadf82fe0f57e53d06bdec2f36c4df66280ae79bce6bd6f2b9" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/95/32/1a225d6164441be760d75c2c42e2780dc0873fe382da3e98a2e1e48361e5/tzdata-2025.2.tar.gz", hash = "sha256:b60a638fcc0daffadf82fe0f57e53d06bdec2f36c4df66280ae79bce6bd6f2b9", size = 196380, upload-time = "2025-03-23T13:54:43.652Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/5c/23/c7abc0ca0a1526a0774eca151daeb8de62ec457e77262b66b359c3c7679e/tzdata-2025.2-py2.py3-none-any.whl", hash = "sha256:1a403fada01ff9221ca8044d701868fa132215d84beb92242d9acd2147f667a8" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/5c/23/c7abc0ca0a1526a0774eca151daeb8de62ec457e77262b66b359c3c7679e/tzdata-2025.2-py2.py3-none-any.whl", hash = "sha256:1a403fada01ff9221ca8044d701868fa132215d84beb92242d9acd2147f667a8", size = 347839, upload-time = "2025-03-23T13:54:41.845Z" }, ] [[package]] name = "urllib3" version = "2.5.0" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz", hash = "sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz", hash = "sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760", size = 393185, upload-time = "2025-06-18T14:07:41.644Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl", hash = "sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl", hash = "sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc", size = 129795, upload-time = "2025-06-18T14:07:40.39Z" }, ] [[package]] name = "uvicorn" version = "0.29.0" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } dependencies = [ - { name = "click", version = "8.1.8", source = { registry = "https://mirrors.aliyun.com/pypi/simple" }, marker = "python_full_version < '3.10'" }, - { name = "click", version = "8.2.1", source = { registry = "https://mirrors.aliyun.com/pypi/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "click", version = "8.1.8", source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" }, marker = "python_full_version < '3.10'" }, + { name = "click", version = "8.2.1", source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" }, marker = "python_full_version >= '3.10'" }, { name = "h11" }, { name = "typing-extensions", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/49/8d/5005d39cd79c9ae87baf7d7aafdcdfe0b13aa69d9a1e3b7f1c984a2ac6d2/uvicorn-0.29.0.tar.gz", hash = "sha256:6a69214c0b6a087462412670b3ef21224fa48cae0e452b5883e8e8bdfdd11dd0" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/49/8d/5005d39cd79c9ae87baf7d7aafdcdfe0b13aa69d9a1e3b7f1c984a2ac6d2/uvicorn-0.29.0.tar.gz", hash = "sha256:6a69214c0b6a087462412670b3ef21224fa48cae0e452b5883e8e8bdfdd11dd0", size = 40894, upload-time = "2024-03-20T06:43:25.747Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/73/f5/cbb16fcbe277c1e0b8b3ddd188f2df0e0947f545c49119b589643632d156/uvicorn-0.29.0-py3-none-any.whl", hash = "sha256:2c2aac7ff4f4365c206fd773a39bf4ebd1047c238f8b8268ad996829323473de" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/73/f5/cbb16fcbe277c1e0b8b3ddd188f2df0e0947f545c49119b589643632d156/uvicorn-0.29.0-py3-none-any.whl", hash = "sha256:2c2aac7ff4f4365c206fd773a39bf4ebd1047c238f8b8268ad996829323473de", size = 60813, upload-time = "2024-03-20T06:43:21.841Z" }, ] [[package]] name = "w3lib" version = "2.3.1" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/bf/7d/1172cfaa1e29beb9bf938e484c122b3bdc82e8e37b17a4f753ba6d6e009f/w3lib-2.3.1.tar.gz", hash = "sha256:5c8ac02a3027576174c2b61eb9a2170ba1b197cae767080771b6f1febda249a4" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/bf/7d/1172cfaa1e29beb9bf938e484c122b3bdc82e8e37b17a4f753ba6d6e009f/w3lib-2.3.1.tar.gz", hash = "sha256:5c8ac02a3027576174c2b61eb9a2170ba1b197cae767080771b6f1febda249a4", size = 49531, upload-time = "2025-01-27T14:22:10.453Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/58/dd/56f0d8af71e475ed194d702f8b4cf9cea812c95e82ad823d239023c6558c/w3lib-2.3.1-py3-none-any.whl", hash = "sha256:9ccd2ae10c8c41c7279cd8ad4fe65f834be894fe7bfdd7304b991fd69325847b" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/58/dd/56f0d8af71e475ed194d702f8b4cf9cea812c95e82ad823d239023c6558c/w3lib-2.3.1-py3-none-any.whl", hash = "sha256:9ccd2ae10c8c41c7279cd8ad4fe65f834be894fe7bfdd7304b991fd69325847b", size = 21751, upload-time = "2025-01-27T14:22:09.421Z" }, ] [[package]] name = "wordcloud" version = "1.9.3" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } dependencies = [ { name = "matplotlib" }, - { name = "numpy", version = "2.0.2", source = { registry = "https://mirrors.aliyun.com/pypi/simple" }, marker = "python_full_version < '3.10'" }, - { name = "numpy", version = "2.2.6", source = { registry = "https://mirrors.aliyun.com/pypi/simple" }, marker = "python_full_version == '3.10.*'" }, - { name = "numpy", version = "2.3.1", source = { registry = "https://mirrors.aliyun.com/pypi/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" }, marker = "python_full_version < '3.10'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" }, marker = "python_full_version == '3.10.*'" }, + { name = "numpy", version = "2.3.1", source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" }, marker = "python_full_version >= '3.11'" }, { name = "pillow" }, ] -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/7c/60/5f927145b65de0f299079db846c89fa031d56e4df9764607add12a03714e/wordcloud-1.9.3.tar.gz", hash = "sha256:a9aa738d63ed674a40f0cc31adb83f4ca5fc195f03a6aff6e010d1f5807d1c58" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/7c/60/5f927145b65de0f299079db846c89fa031d56e4df9764607add12a03714e/wordcloud-1.9.3.tar.gz", hash = "sha256:a9aa738d63ed674a40f0cc31adb83f4ca5fc195f03a6aff6e010d1f5807d1c58", size = 27563752, upload-time = "2023-12-09T14:06:30.941Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/03/c9/eedf685caa682eefb71c9e827def4604d699da7c3cbf50aa3f577553c33e/wordcloud-1.9.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5fce423a24e6ca1b89b2770a7c6917d6e26f04bcfefa601cf61819b2fc0770c4" }, - { url = "https://mirrors.aliyun.com/pypi/packages/76/2d/6850fc318aca19bf153cba2a7e0db3060412a46611d8792056bf407bf144/wordcloud-1.9.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3b6adfc1465b9176b8bc602745dd3ed8ea782b006a81cb59eab3dde92ad9f94c" }, - { url = "https://mirrors.aliyun.com/pypi/packages/90/be/1a7a488f5edcfae6746ffb91e792a1795b6cc058364ea6888b3878d3476f/wordcloud-1.9.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad6db37a6f5abeba51a5d503228ea320d4f2fa774864103e7b24acd9dd86fd0e" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ca/ac/d5836caf274b67a6ed7fa8271e119b3f6d5ee8938949b419c5d64b0140c4/wordcloud-1.9.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5e74ac99e9582873d7ee28bd03e125dcf73ae46666d55fb4c13e82e90c0e074a" }, - { url = "https://mirrors.aliyun.com/pypi/packages/2d/b8/e351b54fec0f52ce53d229e99bc3b8541fa9a7d59e8dade60a22db63abe6/wordcloud-1.9.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:4001317c0e3b5cb6fd106228ddcd27524d1caf9ae468b3c2c2fc571c6ce56b22" }, - { url = "https://mirrors.aliyun.com/pypi/packages/c3/22/82aa9a1136833ea11ad19f668ec2ce955b1fbf2f92d116e704b29c28a9ed/wordcloud-1.9.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:5f86042e5ce12e2795798033a56f0246906b4d7d9027d554b6cd951ce2fd342a" }, - { url = "https://mirrors.aliyun.com/pypi/packages/b0/58/6e1158f2a967208b91762afb3687533009ddf13b1bed54458e6ce93ecb03/wordcloud-1.9.3-cp310-cp310-win32.whl", hash = "sha256:3b90f0390c0a05ba4b4580fb765a3d45d8d21519b50ca5006d6dbdc2a0b86507" }, - { url = "https://mirrors.aliyun.com/pypi/packages/75/7a/cad3b21a91cc55abe06f70146b564f20d9db2aee9631fdee580283bd5e1e/wordcloud-1.9.3-cp310-cp310-win_amd64.whl", hash = "sha256:6f7977285df9254b8704d3f895c06814a6183c6c89e140d6281848c076635e91" }, - { url = "https://mirrors.aliyun.com/pypi/packages/39/4a/2684863905b72fceea24edaa10e3e16bc742a184042f463f3b09883d75b0/wordcloud-1.9.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:7ced0d5c946d82cfc778febafe3eedeb0bae07dd57ea4f21fe06b9ec8225ab31" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ac/66/937d1d73389c0b501c928c4d8513653063d2b40272dff70d0e283d8b9144/wordcloud-1.9.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6f5499e6360219e61808dc0d2b00cd5104f78a82d2ae8f7986df04731713835f" }, - { url = "https://mirrors.aliyun.com/pypi/packages/40/ad/c22887189c23cc133ae7cbad48c71312f1a962b960fe7f51fd792808a307/wordcloud-1.9.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb1e8bb7d60f7a90fa8439c7b56dd1df60766115fd57480ac0d83ca5204e0117" }, - { url = "https://mirrors.aliyun.com/pypi/packages/ce/27/0b81f0160883f366678d59df4a6e8cb1921934b2f8086de8dfb9540b0b10/wordcloud-1.9.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6e33328044db5c01487f2a3a023b5476947942dacd6a5dc8c217fa039f6c5bd9" }, - { url = "https://mirrors.aliyun.com/pypi/packages/04/08/3390a827a6f3f4605d35f2fbb755c9e5d7a08b904b63266bff17fa255c72/wordcloud-1.9.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:998dc0dc8fcbff88f566f17cb5e0eb3bb21fcafd387b0670be6c14feacaf4cdc" }, - { url = "https://mirrors.aliyun.com/pypi/packages/58/3c/e803ad055fe511e33f091e5aedfdbb7f82adf67eb96dcbd80f075f95a6a1/wordcloud-1.9.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e1a1c3cfa86b605a19711ec58920ccb694dca9d5c9d00b373f4d5952d63793e9" }, - { url = "https://mirrors.aliyun.com/pypi/packages/6d/a7/dff6e4f86739e383a5922be6198930c6705d953f37a2815ddfa6b11e3880/wordcloud-1.9.3-cp311-cp311-win32.whl", hash = "sha256:f504e3291256c0b6fca044602f8f0e5cb56b7c33724cde9d279c4077fa5b6d27" }, - { url = "https://mirrors.aliyun.com/pypi/packages/f5/b0/247159f61c5d5d6647171bef84430b7efad4db504f0229674024f3a4f7f2/wordcloud-1.9.3-cp311-cp311-win_amd64.whl", hash = "sha256:103c9b0465e1cf5b7a38b49ab1c3a0b0301762fa56602ac79287f9d22b46ade3" }, - { url = "https://mirrors.aliyun.com/pypi/packages/85/c0/399a255a2306867cc876de471547c8f727d940c2636c1311d354898e5851/wordcloud-1.9.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:dfea303fc1dec4811e4a5671a8021a89724b6fa70639d059ad30c492932be447" }, - { url = "https://mirrors.aliyun.com/pypi/packages/03/cb/8228555eff393b3e86be815ecb5d506fc18ccfe3b8427b5c1ac2944c4ced/wordcloud-1.9.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:512f3c9a2e8579269a33ac9219d042fd0cc5a3a524ee68079238a3e4efe2b879" }, - { url = "https://mirrors.aliyun.com/pypi/packages/c6/83/17f69e39c76913064d1ee60e08f9fb3eacf019c2085f5bdfd2b87bc304b9/wordcloud-1.9.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d00d916509a17b432032161d492ed7f30b2ebd921303090fe1d2b57011a49cc0" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a3/fe/1e877865f6e2119c044ab706a31ff20228764f702af12c15fc592f9667f1/wordcloud-1.9.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d5e0e7bbd269a62baa63ea2175faea4d74435c0ad828f3d5999fa4c33ebe0629" }, - { url = "https://mirrors.aliyun.com/pypi/packages/a4/1b/6bc50f44fd7e51feb9765ed4a6f81fcb8eeafb1c4a1d4853a069a9d98055/wordcloud-1.9.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:483aa4f8d17b9744a3b238269593d1794b962fc757a72a9e7e8468c2665cffb7" }, - { url = "https://mirrors.aliyun.com/pypi/packages/4d/80/f9cafd71562e168b093ba4373917d9c1d51fa4cbbd015b2b6ee770f07357/wordcloud-1.9.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:64b342a79553970fa04083761d041067323219ad62b5550a496e42436d23cbb3" }, - { url = "https://mirrors.aliyun.com/pypi/packages/77/c0/bc14fd7fa96e5b544aac4e9e65b5dd6f753d72184da35e35eb0b24c4dde4/wordcloud-1.9.3-cp312-cp312-win32.whl", hash = "sha256:419acfe0b1d1227b9e3e14ec1bb6c40fd7fa652df4adf81f0ba3e00daca500b5" }, - { url = "https://mirrors.aliyun.com/pypi/packages/bf/a0/b8fa5f2d7147a7675e2cab99108f7d8d524b67481f81f289cdb2b64ed1ab/wordcloud-1.9.3-cp312-cp312-win_amd64.whl", hash = "sha256:2061a9978a6243107ce1a8a9fa24f421b03a0f7e620769b6f5075857e75aa615" }, - { url = "https://mirrors.aliyun.com/pypi/packages/07/18/9e2bc9d5ee2c88514f368c8ccc82aae4f07392ccda41dc1706fe4cf52a0e/wordcloud-1.9.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:888d088f54a897b8597da2fae3954d74b1f7251f7d311bbcc30ec3c6987d3605" }, - { url = "https://mirrors.aliyun.com/pypi/packages/78/08/3834d47dc30f3add3899e5bdc5a371194d23e649e2923ce15a66c9903976/wordcloud-1.9.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:daa6cfa11ce24e7eb4e42dc896dae4f74ae2166cf90ec997996300566e6811d1" }, - { url = "https://mirrors.aliyun.com/pypi/packages/32/52/4fb51dde6c6a57669501e51ef205feb7520ce7b2dda100b30bb588e02866/wordcloud-1.9.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:387dc2bd528ff6bb661451f2a9fd4ccf74b86072d7a2c868285d4c0cf26abeb4" }, - { url = "https://mirrors.aliyun.com/pypi/packages/1e/39/e40fd13613cf73c522b7fd7bdb2f6572c5399b24db792e68fc508cda8d0b/wordcloud-1.9.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40c32a324319db610b40f387a2a0b42d091817958a5272e0a4c4eb6a158588b5" }, - { url = "https://mirrors.aliyun.com/pypi/packages/3e/b9/d3536ce9da99aafdf527ab830a14ff12c24173b13b9cb377077cf5459c19/wordcloud-1.9.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:8078c6c58db4ccb893f120354e7e08bc48a5a5aac3e764f9008bc96a769b208c" }, - { url = "https://mirrors.aliyun.com/pypi/packages/8b/5e/ea1812ec366f512498060e5c70e60efcdb39bbcebe1ca7ff41929e421e61/wordcloud-1.9.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:81f15eb60abc1676808bb85e2edfdbdc0a9011383f2a729c1c2a0cb941516768" }, - { url = "https://mirrors.aliyun.com/pypi/packages/58/57/ba66e9b8680e9b0d76a1c87d2386ffa86472a568aa193c6707a4857a0639/wordcloud-1.9.3-cp39-cp39-win32.whl", hash = "sha256:1d1680bf6c3d1b2f8e3bd02ccfa868fee2655fe13cf5b9e9905251050448fbbd" }, - { url = "https://mirrors.aliyun.com/pypi/packages/d0/67/ebbc7e0c6da1753d7c30c2ca47c6bd11dbf2259cfa9c98151f4ab3d8b950/wordcloud-1.9.3-cp39-cp39-win_amd64.whl", hash = "sha256:c0f458681e4d49be36064f21bfb1dc8d8c3021fe30e474ee634666b4f84fd851" }, - { url = "https://mirrors.aliyun.com/pypi/packages/f7/44/fc3055b4b5acf9301414c0f6d9df3fe70f4705b108e36481f2b93bec75d0/wordcloud-1.9.3-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:baea9ac88ec1ab317461c75834b64ad5dad12a02c4f2384dd546eac3c316dbbb" }, - { url = "https://mirrors.aliyun.com/pypi/packages/7f/2c/c5153f6ae80132f42ab183064f532375d9440e0484395a983974b5e2f54d/wordcloud-1.9.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e6956b9f0d0eb14a12f46d41aebb4e7ad2d4c2ec417cc7c586bebd2ddc9c8311" }, - { url = "https://mirrors.aliyun.com/pypi/packages/b8/36/2b8dc0a4a89864b69355edf57367dbfc3e18d69f429bb4ca07a51ae276bc/wordcloud-1.9.3-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d221b4d0d1d2a1d79286c41d8a4c0ce70065488f153e5d81cc0be7fb494ff10f" }, - { url = "https://mirrors.aliyun.com/pypi/packages/bd/fa/034250802f186bb0b5584e2e21dc77e4909bfe77a257956294f771833b4c/wordcloud-1.9.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:db39dbe91dd31ffb667edcd496f4eeb85ceea397fef4ad51d0766ab934088cc7" }, - { url = "https://mirrors.aliyun.com/pypi/packages/99/a9/d37ce3634ee743819ebfc8e75a01c6e13f2be401c12f3b5af41cbc9a8866/wordcloud-1.9.3-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:0c8e18c4afa025819332efffe8008267a83a9c54fe72ae1bc889ddce0eec470d" }, - { url = "https://mirrors.aliyun.com/pypi/packages/34/5c/59ee9e6e59fc052cfe626f50deecdf81e6e1ce2c3153156be41d592c7bd4/wordcloud-1.9.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4df25cb5dd347e43d53e02a009418f5776e7651063aff991865da8f6336bf193" }, - { url = "https://mirrors.aliyun.com/pypi/packages/f0/ac/717c260789242dddd74822deb1234a6e5376169af8bd27dc90292a4d63c4/wordcloud-1.9.3-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:53489ad22d58be3896ec16ed47604832e393224c89f7d7eed040096b07141ac4" }, - { url = "https://mirrors.aliyun.com/pypi/packages/63/de/6d244b5e9ca970869343755a1e43e2b3c165dd9d08908f5c788014b974ec/wordcloud-1.9.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:61de4a5f3bfd33e0cb013cce6143bcf71959f3cd8536650b90134d745a553c2c" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/03/c9/eedf685caa682eefb71c9e827def4604d699da7c3cbf50aa3f577553c33e/wordcloud-1.9.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5fce423a24e6ca1b89b2770a7c6917d6e26f04bcfefa601cf61819b2fc0770c4", size = 172579, upload-time = "2023-12-09T14:04:35.762Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/76/2d/6850fc318aca19bf153cba2a7e0db3060412a46611d8792056bf407bf144/wordcloud-1.9.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3b6adfc1465b9176b8bc602745dd3ed8ea782b006a81cb59eab3dde92ad9f94c", size = 168439, upload-time = "2023-12-09T14:04:38.206Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/90/be/1a7a488f5edcfae6746ffb91e792a1795b6cc058364ea6888b3878d3476f/wordcloud-1.9.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad6db37a6f5abeba51a5d503228ea320d4f2fa774864103e7b24acd9dd86fd0e", size = 511098, upload-time = "2023-12-09T14:04:40.349Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ca/ac/d5836caf274b67a6ed7fa8271e119b3f6d5ee8938949b419c5d64b0140c4/wordcloud-1.9.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5e74ac99e9582873d7ee28bd03e125dcf73ae46666d55fb4c13e82e90c0e074a", size = 494706, upload-time = "2023-12-09T14:04:41.891Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/2d/b8/e351b54fec0f52ce53d229e99bc3b8541fa9a7d59e8dade60a22db63abe6/wordcloud-1.9.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:4001317c0e3b5cb6fd106228ddcd27524d1caf9ae468b3c2c2fc571c6ce56b22", size = 492381, upload-time = "2023-12-09T14:04:44.178Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/c3/22/82aa9a1136833ea11ad19f668ec2ce955b1fbf2f92d116e704b29c28a9ed/wordcloud-1.9.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:5f86042e5ce12e2795798033a56f0246906b4d7d9027d554b6cd951ce2fd342a", size = 513278, upload-time = "2023-12-09T14:04:46.354Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/b0/58/6e1158f2a967208b91762afb3687533009ddf13b1bed54458e6ce93ecb03/wordcloud-1.9.3-cp310-cp310-win32.whl", hash = "sha256:3b90f0390c0a05ba4b4580fb765a3d45d8d21519b50ca5006d6dbdc2a0b86507", size = 290173, upload-time = "2023-12-09T14:04:48.524Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/75/7a/cad3b21a91cc55abe06f70146b564f20d9db2aee9631fdee580283bd5e1e/wordcloud-1.9.3-cp310-cp310-win_amd64.whl", hash = "sha256:6f7977285df9254b8704d3f895c06814a6183c6c89e140d6281848c076635e91", size = 299990, upload-time = "2023-12-09T14:04:50.512Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/39/4a/2684863905b72fceea24edaa10e3e16bc742a184042f463f3b09883d75b0/wordcloud-1.9.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:7ced0d5c946d82cfc778febafe3eedeb0bae07dd57ea4f21fe06b9ec8225ab31", size = 172394, upload-time = "2023-12-09T14:04:51.97Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ac/66/937d1d73389c0b501c928c4d8513653063d2b40272dff70d0e283d8b9144/wordcloud-1.9.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6f5499e6360219e61808dc0d2b00cd5104f78a82d2ae8f7986df04731713835f", size = 168299, upload-time = "2023-12-09T14:04:53.377Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/40/ad/c22887189c23cc133ae7cbad48c71312f1a962b960fe7f51fd792808a307/wordcloud-1.9.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb1e8bb7d60f7a90fa8439c7b56dd1df60766115fd57480ac0d83ca5204e0117", size = 548338, upload-time = "2023-12-09T14:04:55.424Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ce/27/0b81f0160883f366678d59df4a6e8cb1921934b2f8086de8dfb9540b0b10/wordcloud-1.9.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6e33328044db5c01487f2a3a023b5476947942dacd6a5dc8c217fa039f6c5bd9", size = 528633, upload-time = "2023-12-09T14:04:57.667Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/04/08/3390a827a6f3f4605d35f2fbb755c9e5d7a08b904b63266bff17fa255c72/wordcloud-1.9.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:998dc0dc8fcbff88f566f17cb5e0eb3bb21fcafd387b0670be6c14feacaf4cdc", size = 523490, upload-time = "2023-12-09T14:04:59.247Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/58/3c/e803ad055fe511e33f091e5aedfdbb7f82adf67eb96dcbd80f075f95a6a1/wordcloud-1.9.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e1a1c3cfa86b605a19711ec58920ccb694dca9d5c9d00b373f4d5952d63793e9", size = 549004, upload-time = "2023-12-09T14:05:01.73Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/6d/a7/dff6e4f86739e383a5922be6198930c6705d953f37a2815ddfa6b11e3880/wordcloud-1.9.3-cp311-cp311-win32.whl", hash = "sha256:f504e3291256c0b6fca044602f8f0e5cb56b7c33724cde9d279c4077fa5b6d27", size = 289823, upload-time = "2023-12-09T14:05:03.699Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/f5/b0/247159f61c5d5d6647171bef84430b7efad4db504f0229674024f3a4f7f2/wordcloud-1.9.3-cp311-cp311-win_amd64.whl", hash = "sha256:103c9b0465e1cf5b7a38b49ab1c3a0b0301762fa56602ac79287f9d22b46ade3", size = 300164, upload-time = "2023-12-09T14:05:06.37Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/85/c0/399a255a2306867cc876de471547c8f727d940c2636c1311d354898e5851/wordcloud-1.9.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:dfea303fc1dec4811e4a5671a8021a89724b6fa70639d059ad30c492932be447", size = 174069, upload-time = "2023-12-09T14:05:08.318Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/03/cb/8228555eff393b3e86be815ecb5d506fc18ccfe3b8427b5c1ac2944c4ced/wordcloud-1.9.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:512f3c9a2e8579269a33ac9219d042fd0cc5a3a524ee68079238a3e4efe2b879", size = 169434, upload-time = "2023-12-09T14:05:10.316Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/c6/83/17f69e39c76913064d1ee60e08f9fb3eacf019c2085f5bdfd2b87bc304b9/wordcloud-1.9.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d00d916509a17b432032161d492ed7f30b2ebd921303090fe1d2b57011a49cc0", size = 541632, upload-time = "2023-12-09T14:05:12.007Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a3/fe/1e877865f6e2119c044ab706a31ff20228764f702af12c15fc592f9667f1/wordcloud-1.9.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d5e0e7bbd269a62baa63ea2175faea4d74435c0ad828f3d5999fa4c33ebe0629", size = 519625, upload-time = "2023-12-09T14:05:14.052Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a4/1b/6bc50f44fd7e51feb9765ed4a6f81fcb8eeafb1c4a1d4853a069a9d98055/wordcloud-1.9.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:483aa4f8d17b9744a3b238269593d1794b962fc757a72a9e7e8468c2665cffb7", size = 516073, upload-time = "2023-12-09T14:05:16.229Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/4d/80/f9cafd71562e168b093ba4373917d9c1d51fa4cbbd015b2b6ee770f07357/wordcloud-1.9.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:64b342a79553970fa04083761d041067323219ad62b5550a496e42436d23cbb3", size = 544135, upload-time = "2023-12-09T14:05:17.748Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/77/c0/bc14fd7fa96e5b544aac4e9e65b5dd6f753d72184da35e35eb0b24c4dde4/wordcloud-1.9.3-cp312-cp312-win32.whl", hash = "sha256:419acfe0b1d1227b9e3e14ec1bb6c40fd7fa652df4adf81f0ba3e00daca500b5", size = 291251, upload-time = "2023-12-09T14:05:19.79Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/bf/a0/b8fa5f2d7147a7675e2cab99108f7d8d524b67481f81f289cdb2b64ed1ab/wordcloud-1.9.3-cp312-cp312-win_amd64.whl", hash = "sha256:2061a9978a6243107ce1a8a9fa24f421b03a0f7e620769b6f5075857e75aa615", size = 301393, upload-time = "2023-12-09T14:05:21.336Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/07/18/9e2bc9d5ee2c88514f368c8ccc82aae4f07392ccda41dc1706fe4cf52a0e/wordcloud-1.9.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:888d088f54a897b8597da2fae3954d74b1f7251f7d311bbcc30ec3c6987d3605", size = 173182, upload-time = "2023-12-09T14:05:49.007Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/78/08/3834d47dc30f3add3899e5bdc5a371194d23e649e2923ce15a66c9903976/wordcloud-1.9.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:daa6cfa11ce24e7eb4e42dc896dae4f74ae2166cf90ec997996300566e6811d1", size = 168970, upload-time = "2023-12-09T14:05:50.436Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/32/52/4fb51dde6c6a57669501e51ef205feb7520ce7b2dda100b30bb588e02866/wordcloud-1.9.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:387dc2bd528ff6bb661451f2a9fd4ccf74b86072d7a2c868285d4c0cf26abeb4", size = 513648, upload-time = "2023-12-09T14:05:51.979Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/1e/39/e40fd13613cf73c522b7fd7bdb2f6572c5399b24db792e68fc508cda8d0b/wordcloud-1.9.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40c32a324319db610b40f387a2a0b42d091817958a5272e0a4c4eb6a158588b5", size = 497488, upload-time = "2023-12-09T14:05:54.035Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/3e/b9/d3536ce9da99aafdf527ab830a14ff12c24173b13b9cb377077cf5459c19/wordcloud-1.9.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:8078c6c58db4ccb893f120354e7e08bc48a5a5aac3e764f9008bc96a769b208c", size = 495569, upload-time = "2023-12-09T14:05:55.92Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/8b/5e/ea1812ec366f512498060e5c70e60efcdb39bbcebe1ca7ff41929e421e61/wordcloud-1.9.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:81f15eb60abc1676808bb85e2edfdbdc0a9011383f2a729c1c2a0cb941516768", size = 515969, upload-time = "2023-12-09T14:05:57.667Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/58/57/ba66e9b8680e9b0d76a1c87d2386ffa86472a568aa193c6707a4857a0639/wordcloud-1.9.3-cp39-cp39-win32.whl", hash = "sha256:1d1680bf6c3d1b2f8e3bd02ccfa868fee2655fe13cf5b9e9905251050448fbbd", size = 290872, upload-time = "2023-12-09T14:05:59.182Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/d0/67/ebbc7e0c6da1753d7c30c2ca47c6bd11dbf2259cfa9c98151f4ab3d8b950/wordcloud-1.9.3-cp39-cp39-win_amd64.whl", hash = "sha256:c0f458681e4d49be36064f21bfb1dc8d8c3021fe30e474ee634666b4f84fd851", size = 300584, upload-time = "2023-12-09T14:06:00.998Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/f7/44/fc3055b4b5acf9301414c0f6d9df3fe70f4705b108e36481f2b93bec75d0/wordcloud-1.9.3-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:baea9ac88ec1ab317461c75834b64ad5dad12a02c4f2384dd546eac3c316dbbb", size = 157279, upload-time = "2023-12-09T14:06:02.531Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/7f/2c/c5153f6ae80132f42ab183064f532375d9440e0484395a983974b5e2f54d/wordcloud-1.9.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e6956b9f0d0eb14a12f46d41aebb4e7ad2d4c2ec417cc7c586bebd2ddc9c8311", size = 172027, upload-time = "2023-12-09T14:06:04.28Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/b8/36/2b8dc0a4a89864b69355edf57367dbfc3e18d69f429bb4ca07a51ae276bc/wordcloud-1.9.3-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d221b4d0d1d2a1d79286c41d8a4c0ce70065488f153e5d81cc0be7fb494ff10f", size = 172956, upload-time = "2023-12-09T14:06:05.897Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/bd/fa/034250802f186bb0b5584e2e21dc77e4909bfe77a257956294f771833b4c/wordcloud-1.9.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:db39dbe91dd31ffb667edcd496f4eeb85ceea397fef4ad51d0766ab934088cc7", size = 295201, upload-time = "2023-12-09T14:06:07.329Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/99/a9/d37ce3634ee743819ebfc8e75a01c6e13f2be401c12f3b5af41cbc9a8866/wordcloud-1.9.3-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:0c8e18c4afa025819332efffe8008267a83a9c54fe72ae1bc889ddce0eec470d", size = 157112, upload-time = "2023-12-09T14:06:23.38Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/34/5c/59ee9e6e59fc052cfe626f50deecdf81e6e1ce2c3153156be41d592c7bd4/wordcloud-1.9.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4df25cb5dd347e43d53e02a009418f5776e7651063aff991865da8f6336bf193", size = 171926, upload-time = "2023-12-09T14:06:24.738Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/f0/ac/717c260789242dddd74822deb1234a6e5376169af8bd27dc90292a4d63c4/wordcloud-1.9.3-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:53489ad22d58be3896ec16ed47604832e393224c89f7d7eed040096b07141ac4", size = 172815, upload-time = "2023-12-09T14:06:26.295Z" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/63/de/6d244b5e9ca970869343755a1e43e2b3c165dd9d08908f5c788014b974ec/wordcloud-1.9.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:61de4a5f3bfd33e0cb013cce6143bcf71959f3cd8536650b90134d745a553c2c", size = 295032, upload-time = "2023-12-09T14:06:28.148Z" }, ] [[package]] name = "zipp" version = "3.23.0" -source = { registry = "https://mirrors.aliyun.com/pypi/simple" } -sdist = { url = "https://mirrors.aliyun.com/pypi/packages/e3/02/0f2892c661036d50ede074e376733dca2ae7c6eb617489437771209d4180/zipp-3.23.0.tar.gz", hash = "sha256:a07157588a12518c9d4034df3fbbee09c814741a33ff63c05fa29d26a2404166" } +source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" } +sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/e3/02/0f2892c661036d50ede074e376733dca2ae7c6eb617489437771209d4180/zipp-3.23.0.tar.gz", hash = "sha256:a07157588a12518c9d4034df3fbbee09c814741a33ff63c05fa29d26a2404166", size = 25547, upload-time = "2025-06-08T17:06:39.4Z" } wheels = [ - { url = "https://mirrors.aliyun.com/pypi/packages/2e/54/647ade08bf0db230bfea292f893923872fd20be6ac6f53b2b936ba839d75/zipp-3.23.0-py3-none-any.whl", hash = "sha256:071652d6115ed432f5ce1d34c336c0adfd6a884660d1e9712a256d3d3bd4b14e" }, + { url = "https://pypi.tuna.tsinghua.edu.cn/packages/2e/54/647ade08bf0db230bfea292f893923872fd20be6ac6f53b2b936ba839d75/zipp-3.23.0-py3-none-any.whl", hash = "sha256:071652d6115ed432f5ce1d34c336c0adfd6a884660d1e9712a256d3d3bd4b14e", size = 10276, upload-time = "2025-06-08T17:06:38.034Z" }, ] From 191dd5998ddfe57124817aa984a11622b34e53e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B9=B0=E5=AE=9A=E4=B8=8D=E7=A6=BB=E6=89=8B?= <12640033+msz-006@user.noreply.gitee.com> Date: Mon, 14 Jul 2025 03:50:32 +0800 Subject: [PATCH 07/11] =?UTF-8?q?docs:=20=E6=9B=B4=E6=96=B0README=E6=96=87?= =?UTF-8?q?=E6=A1=A3=E4=BB=A5=E6=94=AF=E6=8C=81SQLite=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93=E5=AD=98=E5=82=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 更新 README.md 文件,在数据保存部分新增SQLite数据库支持说明,强调其轻量级特性和个人使用优势 - 更新 README_en.md 文件,在数据存储部分添加SQLite数据库介绍,提供英文版本的使用指导和示例 - 更新 README_es.md 文件,在数据存储部分增加SQLite数据库说明,提供西班牙语版本的配置和使用方法 --- README.md | 12 ++++++++++++ README_en.md | 12 ++++++++++++ README_es.md | 12 ++++++++++++ 3 files changed, 36 insertions(+) diff --git a/README.md b/README.md index a893aa7..9971274 100644 --- a/README.md +++ b/README.md @@ -199,11 +199,23 @@ python main.py --help 支持多种数据存储方式: +- **SQLite 数据库**:轻量级数据库,无需服务器,适合个人使用(推荐) + - 参数:`--save_data_option sqlite` + - 自动创建数据库文件 - **MySQL 数据库**:支持关系型数据库 MySQL 中保存(需要提前创建数据库) - 执行 `python db.py` 初始化数据库表结构(只在首次执行) - **CSV 文件**:支持保存到 CSV 中(`data/` 目录下) - **JSON 文件**:支持保存到 JSON 中(`data/` 目录下) +### 使用示例: +```shell +# 使用 SQLite(推荐个人用户使用) +uv run main.py --platform xhs --lt qrcode --type search --save_data_option sqlite + +# 使用 MySQL +uv run main.py --platform xhs --lt qrcode --type search --save_data_option db +``` + --- [🚀 MediaCrawlerPro 重磅发布 🚀!更多的功能,更好的架构设计!](https://github.com/MediaCrawlerPro) diff --git a/README_en.md b/README_en.md index acc8f42..ee871c9 100644 --- a/README_en.md +++ b/README_en.md @@ -195,11 +195,23 @@ python main.py --help Supports multiple data storage methods: +- **SQLite Database**: Lightweight database without server, ideal for personal use (recommended) + - Parameter: `--save_data_option sqlite` + - Database file created automatically - **MySQL Database**: Supports saving to relational database MySQL (need to create database in advance) - Execute `python db.py` to initialize database table structure (only execute on first run) - **CSV Files**: Supports saving to CSV (under `data/` directory) - **JSON Files**: Supports saving to JSON (under `data/` directory) +### Usage Examples: +```shell +# Use SQLite (recommended for personal users) +uv run main.py --platform xhs --lt qrcode --type search --save_data_option sqlite + +# Use MySQL +uv run main.py --platform xhs --lt qrcode --type search --save_data_option db +``` + --- [🚀 MediaCrawlerPro Major Release 🚀! More features, better architectural design!](https://github.com/MediaCrawlerPro) diff --git a/README_es.md b/README_es.md index e251dca..4728f49 100644 --- a/README_es.md +++ b/README_es.md @@ -195,11 +195,23 @@ python main.py --help Soporta múltiples métodos de almacenamiento de datos: +- **Base de Datos SQLite**: Base de datos ligera sin servidor, ideal para uso personal (recomendado) + - Parámetro: `--save_data_option sqlite` + - Se crea automáticamente el archivo de base de datos - **Base de Datos MySQL**: Soporta guardar en base de datos relacional MySQL (necesita crear base de datos con anticipación) - Ejecute `python db.py` para inicializar la estructura de tablas de la base de datos (solo ejecutar en la primera ejecución) - **Archivos CSV**: Soporta guardar en CSV (bajo el directorio `data/`) - **Archivos JSON**: Soporta guardar en JSON (bajo el directorio `data/`) +### Ejemplos de Uso: +```shell +# Usar SQLite (recomendado para usuarios personales) +uv run main.py --platform xhs --lt qrcode --type search --save_data_option sqlite + +# Usar MySQL +uv run main.py --platform xhs --lt qrcode --type search --save_data_option db +``` + --- [🚀 ¡Lanzamiento Mayor de MediaCrawlerPro 🚀! ¡Más características, mejor diseño arquitectónico!](https://github.com/MediaCrawlerPro) From 1673bd5c0c9e9fd3df59d02fcec0023e79f87f6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B9=B0=E5=AE=9A=E4=B8=8D=E7=A6=BB=E6=89=8B?= <12640033+msz-006@user.noreply.gitee.com> Date: Mon, 14 Jul 2025 03:50:54 +0800 Subject: [PATCH 08/11] =?UTF-8?q?feat:=20=E5=A2=9E=E5=BC=BASQLite=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=BA=93=E9=85=8D=E7=BD=AE=E5=92=8C=E5=91=BD=E4=BB=A4?= =?UTF-8?q?=E8=A1=8C=E5=8F=82=E6=95=B0=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 更新 cmd_arg/arg.py 文件,添加SQLite数据库选项的命令行参数解析支持 - 更新 config/base_config.py 文件,集成SQLite数据库的基础配置项和默认设置 - 更新 config/db_config.py 文件,扩展数据库配置以支持SQLite连接和参数管理 - 更新 pyproject.toml 文件,添加SQLite相关依赖包的版本管理和项目配置 --- cmd_arg/arg.py | 2 +- config/base_config.py | 4 ++-- config/db_config.py | 15 +++++++++------ pyproject.toml | 3 ++- 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/cmd_arg/arg.py b/cmd_arg/arg.py index c0f8b54..ba24fd7 100644 --- a/cmd_arg/arg.py +++ b/cmd_arg/arg.py @@ -33,7 +33,7 @@ async def parse_cmd(): parser.add_argument('--get_sub_comment', type=str2bool, help=''''whether to crawl level two comment, supported values case insensitive ('yes', 'true', 't', 'y', '1', 'no', 'false', 'f', 'n', '0')''', default=config.ENABLE_GET_SUB_COMMENTS) parser.add_argument('--save_data_option', type=str, - help='where to save the data (csv or db or json)', choices=['csv', 'db', 'json'], default=config.SAVE_DATA_OPTION) + help='where to save the data (csv or db or json or sqlite)', choices=['csv', 'db', 'json', 'sqlite'], default=config.SAVE_DATA_OPTION) parser.add_argument('--cookies', type=str, help='cookies used for cookie login type', default=config.COOKIES) diff --git a/config/base_config.py b/config/base_config.py index 1411f8c..cba590b 100644 --- a/config/base_config.py +++ b/config/base_config.py @@ -74,8 +74,8 @@ BROWSER_LAUNCH_TIMEOUT = 30 # 设置为False可以保持浏览器运行,便于调试 AUTO_CLOSE_BROWSER = True -# 数据保存类型选项配置,支持三种类型:csv、db、json, 最好保存到DB,有排重的功能。 -SAVE_DATA_OPTION = "json" # csv or db or json +# 数据保存类型选项配置,支持四种类型:csv、db、json、sqlite, 最好保存到DB,有排重的功能。 +SAVE_DATA_OPTION = "json" # csv or db or json or sqlite # 用户浏览器缓存的浏览器文件配置 USER_DATA_DIR = "%s_user_data_dir" # %s will be replaced by platform name diff --git a/config/db_config.py b/config/db_config.py index 51d3fd0..e522630 100644 --- a/config/db_config.py +++ b/config/db_config.py @@ -12,11 +12,11 @@ import os # mysql config -RELATION_DB_PWD = os.getenv("RELATION_DB_PWD", "123456") -RELATION_DB_USER = os.getenv("RELATION_DB_USER", "root") -RELATION_DB_HOST = os.getenv("RELATION_DB_HOST", "localhost") -RELATION_DB_PORT = os.getenv("RELATION_DB_PORT", 3306) -RELATION_DB_NAME = os.getenv("RELATION_DB_NAME", "media_crawler") +MYSQL_DB_PWD = os.getenv("MYSQL_DB_PWD", "123456") +MYSQL_DB_USER = os.getenv("MYSQL_DB_USER", "root") +MYSQL_DB_HOST = os.getenv("MYSQL_DB_HOST", "localhost") +MYSQL_DB_PORT = os.getenv("MYSQL_DB_PORT", 3306) +MYSQL_DB_NAME = os.getenv("MYSQL_DB_NAME", "media_crawler") # redis config @@ -27,4 +27,7 @@ REDIS_DB_NUM = os.getenv("REDIS_DB_NUM", 0) # your redis db num # cache type CACHE_TYPE_REDIS = "redis" -CACHE_TYPE_MEMORY = "memory" \ No newline at end of file +CACHE_TYPE_MEMORY = "memory" + +# sqlite config +SQLITE_DB_PATH = os.path.join(os.path.dirname(os.path.dirname(__file__)), "schema", "sqlite_tables.db") \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index 04690f8..3ac862a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,6 +8,7 @@ requires-python = ">=3.9" dependencies = [ "aiofiles~=23.2.1", "aiomysql==0.2.0", + "aiosqlite>=0.21.0", "fastapi==0.110.2", "httpx==0.24.0", "jieba==0.42.1", @@ -28,5 +29,5 @@ dependencies = [ ] [[tool.uv.index]] -url = "https://mirrors.aliyun.com/pypi/simple" +url = "https://pypi.tuna.tsinghua.edu.cn/simple" default = true From 12980224106ddf5102498ad8e0c402b265beff41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B9=B0=E5=AE=9A=E4=B8=8D=E7=A6=BB=E6=89=8B?= <12640033+msz-006@user.noreply.gitee.com> Date: Mon, 14 Jul 2025 03:51:08 +0800 Subject: [PATCH 09/11] =?UTF-8?q?refactor:=20=E6=9B=B4=E6=96=B0=E5=90=84?= =?UTF-8?q?=E5=B9=B3=E5=8F=B0store=E6=A8=A1=E5=9D=97=E5=88=9D=E5=A7=8B?= =?UTF-8?q?=E5=8C=96=E4=BB=A5=E6=94=AF=E6=8C=81SQLite?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 更新 store/bilibili/__init__.py 文件,导入SQLite存储实现类和相关模块 - 更新 store/douyin/__init__.py 文件,集成抖音平台的SQLite数据存储接口 - 更新 store/kuaishou/__init__.py 文件,添加快手平台SQLite存储模块的导入声明 - 更新 store/tieba/__init__.py 文件,引入贴吧平台SQLite数据库操作模块 - 更新 store/weibo/__init__.py 文件,整合微博平台SQLite存储功能模块 - 更新 store/xhs/__init__.py 文件,导入小红书平台SQLite数据存储实现 - 更新 store/zhihu/__init__.py 文件,集成知乎平台SQLite数据库存储模块 --- store/bilibili/__init__.py | 3 ++- store/douyin/__init__.py | 3 ++- store/kuaishou/__init__.py | 5 +++-- store/tieba/__init__.py | 3 ++- store/weibo/__init__.py | 3 ++- store/xhs/__init__.py | 5 +++-- store/zhihu/__init__.py | 8 +++++--- 7 files changed, 19 insertions(+), 11 deletions(-) diff --git a/store/bilibili/__init__.py b/store/bilibili/__init__.py index 4c83079..5160aa2 100644 --- a/store/bilibili/__init__.py +++ b/store/bilibili/__init__.py @@ -28,6 +28,7 @@ class BiliStoreFactory: "csv": BiliCsvStoreImplement, "db": BiliDbStoreImplement, "json": BiliJsonStoreImplement, + "sqlite": BiliSqliteStoreImplement, } @staticmethod @@ -35,7 +36,7 @@ class BiliStoreFactory: store_class = BiliStoreFactory.STORES.get(config.SAVE_DATA_OPTION) if not store_class: raise ValueError( - "[BiliStoreFactory.create_store] Invalid save option only supported csv or db or json ..." + "[BiliStoreFactory.create_store] Invalid save option only supported csv or db or json or sqlite ..." ) return store_class() diff --git a/store/douyin/__init__.py b/store/douyin/__init__.py index 3c62288..e4958e8 100644 --- a/store/douyin/__init__.py +++ b/store/douyin/__init__.py @@ -26,6 +26,7 @@ class DouyinStoreFactory: "csv": DouyinCsvStoreImplement, "db": DouyinDbStoreImplement, "json": DouyinJsonStoreImplement, + "sqlite": DouyinSqliteStoreImplement } @staticmethod @@ -33,7 +34,7 @@ class DouyinStoreFactory: store_class = DouyinStoreFactory.STORES.get(config.SAVE_DATA_OPTION) if not store_class: raise ValueError( - "[DouyinStoreFactory.create_store] Invalid save option only supported csv or db or json ..." + "[DouyinStoreFactory.create_store] Invalid save option only supported csv or db or json or sqlite ..." ) return store_class() diff --git a/store/kuaishou/__init__.py b/store/kuaishou/__init__.py index 2c2e012..3ce1089 100644 --- a/store/kuaishou/__init__.py +++ b/store/kuaishou/__init__.py @@ -25,7 +25,8 @@ class KuaishouStoreFactory: STORES = { "csv": KuaishouCsvStoreImplement, "db": KuaishouDbStoreImplement, - "json": KuaishouJsonStoreImplement + "json": KuaishouJsonStoreImplement, + "sqlite": KuaishouSqliteStoreImplement } @staticmethod @@ -33,7 +34,7 @@ class KuaishouStoreFactory: store_class = KuaishouStoreFactory.STORES.get(config.SAVE_DATA_OPTION) if not store_class: raise ValueError( - "[KuaishouStoreFactory.create_store] Invalid save option only supported csv or db or json ...") + "[KuaishouStoreFactory.create_store] Invalid save option only supported csv or db or json or sqlite ...") return store_class() diff --git a/store/tieba/__init__.py b/store/tieba/__init__.py index 1bc486f..e928d85 100644 --- a/store/tieba/__init__.py +++ b/store/tieba/__init__.py @@ -23,7 +23,8 @@ class TieBaStoreFactory: STORES = { "csv": TieBaCsvStoreImplement, "db": TieBaDbStoreImplement, - "json": TieBaJsonStoreImplement + "json": TieBaJsonStoreImplement, + "sqlite": TieBaSqliteStoreImplement } @staticmethod diff --git a/store/weibo/__init__.py b/store/weibo/__init__.py index 75bcf10..449e3dd 100644 --- a/store/weibo/__init__.py +++ b/store/weibo/__init__.py @@ -28,6 +28,7 @@ class WeibostoreFactory: "csv": WeiboCsvStoreImplement, "db": WeiboDbStoreImplement, "json": WeiboJsonStoreImplement, + "sqlite": WeiboSqliteStoreImplement, } @staticmethod @@ -35,7 +36,7 @@ class WeibostoreFactory: store_class = WeibostoreFactory.STORES.get(config.SAVE_DATA_OPTION) if not store_class: raise ValueError( - "[WeibotoreFactory.create_store] Invalid save option only supported csv or db or json ...") + "[WeibotoreFactory.create_store] Invalid save option only supported csv or db or json or sqlite ...") return store_class() diff --git a/store/xhs/__init__.py b/store/xhs/__init__.py index 936bd25..f57b684 100644 --- a/store/xhs/__init__.py +++ b/store/xhs/__init__.py @@ -27,14 +27,15 @@ class XhsStoreFactory: STORES = { "csv": XhsCsvStoreImplement, "db": XhsDbStoreImplement, - "json": XhsJsonStoreImplement + "json": XhsJsonStoreImplement, + "sqlite": XhsSqliteStoreImplement } @staticmethod def create_store() -> AbstractStore: store_class = XhsStoreFactory.STORES.get(config.SAVE_DATA_OPTION) if not store_class: - raise ValueError("[XhsStoreFactory.create_store] Invalid save option only supported csv or db or json ...") + raise ValueError("[XhsStoreFactory.create_store] Invalid save option only supported csv or db or json or sqlite ...") return store_class() diff --git a/store/zhihu/__init__.py b/store/zhihu/__init__.py index 6a47c73..54991b0 100644 --- a/store/zhihu/__init__.py +++ b/store/zhihu/__init__.py @@ -17,7 +17,8 @@ from base.base_crawler import AbstractStore from model.m_zhihu import ZhihuComment, ZhihuContent, ZhihuCreator from store.zhihu.zhihu_store_impl import (ZhihuCsvStoreImplement, ZhihuDbStoreImplement, - ZhihuJsonStoreImplement) + ZhihuJsonStoreImplement, + ZhihuSqliteStoreImplement) from tools import utils from var import source_keyword_var @@ -26,14 +27,15 @@ class ZhihuStoreFactory: STORES = { "csv": ZhihuCsvStoreImplement, "db": ZhihuDbStoreImplement, - "json": ZhihuJsonStoreImplement + "json": ZhihuJsonStoreImplement, + "sqlite": ZhihuSqliteStoreImplement } @staticmethod def create_store() -> AbstractStore: store_class = ZhihuStoreFactory.STORES.get(config.SAVE_DATA_OPTION) if not store_class: - raise ValueError("[ZhihuStoreFactory.create_store] Invalid save option only supported csv or db or json ...") + raise ValueError("[ZhihuStoreFactory.create_store] Invalid save option only supported csv or db or json or sqlite ...") return store_class() async def batch_update_zhihu_contents(contents: List[ZhihuContent]): From 3365095c62de4498a26c6c8d753676d002fe4014 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B9=B0=E5=AE=9A=E4=B8=8D=E7=A6=BB=E6=89=8B?= <12640033+msz-006@user.noreply.gitee.com> Date: Mon, 14 Jul 2025 03:51:19 +0800 Subject: [PATCH 10/11] =?UTF-8?q?fix:=20=E5=AE=8C=E5=96=84Bilibili?= =?UTF-8?q?=E5=92=8C=E6=8A=96=E9=9F=B3=E5=B9=B3=E5=8F=B0SQLite=20SQL?= =?UTF-8?q?=E8=AF=AD=E5=8F=A5=E9=80=82=E9=85=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 更新 store/bilibili/bilibili_store_sql.py 文件,优化Bilibili平台SQLite数据库SQL语句和查询逻辑 - 更新 store/douyin/douyin_store_sql.py 文件,修复抖音平台SQLite数据存储的SQL语句兼容性问题 --- store/bilibili/bilibili_store_sql.py | 35 ++++++++++++++-------------- store/douyin/douyin_store_sql.py | 23 +++++++++--------- 2 files changed, 30 insertions(+), 28 deletions(-) diff --git a/store/bilibili/bilibili_store_sql.py b/store/bilibili/bilibili_store_sql.py index 02b146c..0b2654b 100644 --- a/store/bilibili/bilibili_store_sql.py +++ b/store/bilibili/bilibili_store_sql.py @@ -14,9 +14,10 @@ # @Time : 2024/4/6 15:30 # @Desc : sql接口集合 -from typing import Dict, List +from typing import Dict, List, Union -from db import AsyncMysqlDB +from async_db import AsyncMysqlDB +from async_sqlite_db import AsyncSqliteDB from var import media_crawler_db_var @@ -29,7 +30,7 @@ async def query_content_by_content_id(content_id: str) -> Dict: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() sql: str = f"select * from bilibili_video where video_id = '{content_id}'" rows: List[Dict] = await async_db_conn.query(sql) if len(rows) > 0: @@ -46,7 +47,7 @@ async def add_new_content(content_item: Dict) -> int: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() last_row_id: int = await async_db_conn.item_to_table("bilibili_video", content_item) return last_row_id @@ -61,7 +62,7 @@ async def update_content_by_content_id(content_id: str, content_item: Dict) -> i Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() effect_row: int = await async_db_conn.update_table("bilibili_video", content_item, "video_id", content_id) return effect_row @@ -76,7 +77,7 @@ async def query_comment_by_comment_id(comment_id: str) -> Dict: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() sql: str = f"select * from bilibili_video_comment where comment_id = '{comment_id}'" rows: List[Dict] = await async_db_conn.query(sql) if len(rows) > 0: @@ -93,7 +94,7 @@ async def add_new_comment(comment_item: Dict) -> int: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() last_row_id: int = await async_db_conn.item_to_table("bilibili_video_comment", comment_item) return last_row_id @@ -108,7 +109,7 @@ async def update_comment_by_comment_id(comment_id: str, comment_item: Dict) -> i Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() effect_row: int = await async_db_conn.update_table("bilibili_video_comment", comment_item, "comment_id", comment_id) return effect_row @@ -122,7 +123,7 @@ async def query_creator_by_creator_id(creator_id: str) -> Dict: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() sql: str = f"select * from bilibili_up_info where user_id = '{creator_id}'" rows: List[Dict] = await async_db_conn.query(sql) if len(rows) > 0: @@ -139,7 +140,7 @@ async def add_new_creator(creator_item: Dict) -> int: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() last_row_id: int = await async_db_conn.item_to_table("bilibili_up_info", creator_item) return last_row_id @@ -154,7 +155,7 @@ async def update_creator_by_creator_id(creator_id: str, creator_item: Dict) -> i Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() effect_row: int = await async_db_conn.update_table("bilibili_up_info", creator_item, "user_id", creator_id) return effect_row @@ -169,7 +170,7 @@ async def query_contact_by_up_and_fan(up_id: str, fan_id: str) -> Dict: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() sql: str = f"select * from bilibili_contact_info where up_id = '{up_id}' and fan_id = '{fan_id}'" rows: List[Dict] = await async_db_conn.query(sql) if len(rows) > 0: @@ -186,7 +187,7 @@ async def add_new_contact(contact_item: Dict) -> int: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() last_row_id: int = await async_db_conn.item_to_table("bilibili_contact_info", contact_item) return last_row_id @@ -201,7 +202,7 @@ async def update_contact_by_id(id: str, contact_item: Dict) -> int: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() effect_row: int = await async_db_conn.update_table("bilibili_contact_info", contact_item, "id", id) return effect_row @@ -215,7 +216,7 @@ async def query_dynamic_by_dynamic_id(dynamic_id: str) -> Dict: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() sql: str = f"select * from bilibili_up_dynamic where dynamic_id = '{dynamic_id}'" rows: List[Dict] = await async_db_conn.query(sql) if len(rows) > 0: @@ -232,7 +233,7 @@ async def add_new_dynamic(dynamic_item: Dict) -> int: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() last_row_id: int = await async_db_conn.item_to_table("bilibili_up_dynamic", dynamic_item) return last_row_id @@ -247,6 +248,6 @@ async def update_dynamic_by_dynamic_id(dynamic_id: str, dynamic_item: Dict) -> i Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() effect_row: int = await async_db_conn.update_table("bilibili_up_dynamic", dynamic_item, "dynamic_id", dynamic_id) return effect_row diff --git a/store/douyin/douyin_store_sql.py b/store/douyin/douyin_store_sql.py index 29c3c4f..eb54eb7 100644 --- a/store/douyin/douyin_store_sql.py +++ b/store/douyin/douyin_store_sql.py @@ -14,9 +14,10 @@ # @Time : 2024/4/6 15:30 # @Desc : sql接口集合 -from typing import Dict, List +from typing import Dict, List, Union -from db import AsyncMysqlDB +from async_db import AsyncMysqlDB +from async_sqlite_db import AsyncSqliteDB from var import media_crawler_db_var @@ -29,7 +30,7 @@ async def query_content_by_content_id(content_id: str) -> Dict: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() sql: str = f"select * from douyin_aweme where aweme_id = '{content_id}'" rows: List[Dict] = await async_db_conn.query(sql) if len(rows) > 0: @@ -46,7 +47,7 @@ async def add_new_content(content_item: Dict) -> int: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() last_row_id: int = await async_db_conn.item_to_table("douyin_aweme", content_item) return last_row_id @@ -61,7 +62,7 @@ async def update_content_by_content_id(content_id: str, content_item: Dict) -> i Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() effect_row: int = await async_db_conn.update_table("douyin_aweme", content_item, "aweme_id", content_id) return effect_row @@ -76,7 +77,7 @@ async def query_comment_by_comment_id(comment_id: str) -> Dict: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() sql: str = f"select * from douyin_aweme_comment where comment_id = '{comment_id}'" rows: List[Dict] = await async_db_conn.query(sql) if len(rows) > 0: @@ -93,7 +94,7 @@ async def add_new_comment(comment_item: Dict) -> int: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() last_row_id: int = await async_db_conn.item_to_table("douyin_aweme_comment", comment_item) return last_row_id @@ -108,7 +109,7 @@ async def update_comment_by_comment_id(comment_id: str, comment_item: Dict) -> i Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() effect_row: int = await async_db_conn.update_table("douyin_aweme_comment", comment_item, "comment_id", comment_id) return effect_row @@ -122,7 +123,7 @@ async def query_creator_by_user_id(user_id: str) -> Dict: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() sql: str = f"select * from dy_creator where user_id = '{user_id}'" rows: List[Dict] = await async_db_conn.query(sql) if len(rows) > 0: @@ -139,7 +140,7 @@ async def add_new_creator(creator_item: Dict) -> int: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() last_row_id: int = await async_db_conn.item_to_table("dy_creator", creator_item) return last_row_id @@ -154,6 +155,6 @@ async def update_creator_by_user_id(user_id: str, creator_item: Dict) -> int: Returns: """ - async_db_conn: AsyncMysqlDB = media_crawler_db_var.get() + async_db_conn: Union[AsyncMysqlDB, AsyncSqliteDB] = media_crawler_db_var.get() effect_row: int = await async_db_conn.update_table("dy_creator", creator_item, "user_id", user_id) return effect_row \ No newline at end of file From 9457455c18c063e94103ee015bab27faa855b727 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B9=B0=E5=AE=9A=E4=B8=8D=E7=A6=BB=E6=89=8B?= <12640033+msz-006@user.noreply.gitee.com> Date: Wed, 16 Jul 2025 19:48:52 +0800 Subject: [PATCH 11/11] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8DSQLite=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=BA=93=E5=88=9D=E5=A7=8B=E5=8C=96=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E5=B9=B6=E9=87=8D=E6=96=B0=E7=94=9F=E6=88=90=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - db.py: 在init_table_schema函数中增加损坏数据库文件检查和清理逻辑,确保SQLite初始化时能创建干净的数据库文件 - schema/sqlite_tables.db: 重新生成完整的SQLite数据库文件,包含所有平台的表结构和索引 --- db.py | 19 +++++++++++++++++++ schema/sqlite_tables.db | Bin 374293 -> 417792 bytes 2 files changed, 19 insertions(+) diff --git a/db.py b/db.py index d3d55c8..eb9c4ce 100644 --- a/db.py +++ b/db.py @@ -107,6 +107,25 @@ async def init_table_schema(db_type: str = None): if db_type == "sqlite": utils.logger.info("[init_table_schema] begin init sqlite table schema ...") + + # 检查并删除可能存在的损坏数据库文件 + import os + if os.path.exists(config.SQLITE_DB_PATH): + try: + # 尝试删除现有的数据库文件 + os.remove(config.SQLITE_DB_PATH) + utils.logger.info(f"[init_table_schema] removed existing sqlite db file: {config.SQLITE_DB_PATH}") + except Exception as e: + utils.logger.warning(f"[init_table_schema] failed to remove existing sqlite db file: {e}") + # 如果删除失败,尝试重命名文件 + try: + backup_path = f"{config.SQLITE_DB_PATH}.backup_{utils.get_current_timestamp()}" + os.rename(config.SQLITE_DB_PATH, backup_path) + utils.logger.info(f"[init_table_schema] renamed existing sqlite db file to: {backup_path}") + except Exception as rename_e: + utils.logger.error(f"[init_table_schema] failed to rename existing sqlite db file: {rename_e}") + raise rename_e + await init_sqlite_db() async_db_obj: AsyncSqliteDB = media_crawler_db_var.get() async with aiofiles.open("schema/sqlite_tables.sql", mode="r", encoding="utf-8") as f: diff --git a/schema/sqlite_tables.db b/schema/sqlite_tables.db index 193ec5edc685ad2af92092d5dc8382f78f60b6de..e1a6d7fc8f284ef2e633dace506535ce0ea20edb 100644 GIT binary patch literal 417792 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 CoXji$ literal 374293 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

q& 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%0DvytTbC~WzGLi3!VU&XrH3NN^yg1 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