Pull Request已成功合入, 合并人@openeuler-ci-bot
(感谢 lichenguang 的贡献)Welcome To openEuler Community
Hey @kr-space , thanks for your contribution to the community.
Bot Usage Manual
I'm the Bot here serving you. You can find the instructions on how to interact with me at Here . That means you can comment below every pull request or issue to trigger Bot Commands. You can self-configure the PR merge rules for this repository. For more details, please refer to Here.
Contact Guide
If you have any questions, please contact the SIG: TC ,
and any of the maintainers: @Charlie_li1, @HelloWorld_lvcongqing, @Jingwiw, @blue0613, @bugflyfly, @cellfaint, @cf-zhao, @chenmaodong, @dillon_chen, @geliangtang, @genedna, @georgecao, @jimmieme, @jimmy_hou, @juntianlinux, @kailiu42, @kaitiandu, @oekernel, @shinwell_hu, @solarhu, @stonefly128, @vonhust, @wu_fengguang, @yalogr, @yaqiangchen, @yeqinglong01, @zhujianwei001 ,


| Check Name | Build Result | Build Details |
|---|---|---|
| Infra Check | ✅ SUCCESS | #Infra » community_check_v3 #13273 |


以下为 openEuler-Advisor 的 review_tool 生成审视要求清单
如果您是第一次给 openEuler 提交 PR,建议您花一点时间阅读 AtomGit工作流说明
[✅] 审视者确认符合要求 | [🔴] 审视者认为不符合要求 | [◯] 审视者认为与本PR无关 | [❓] 审视者无法确认是否符合要求 | [🔵] 审视过程中
注意: 通过评论 "/review status[go/nogo/na/question/ongoing]:number_list[0,1,2 ...] ..." 更新检查项状态.
例如: "/review go:0,1,2 nogo:3,4,5" 或者 "/review go:0-2 nogo:3-5".
如果你想更新所有条目的状态,请评论 "/review status[go/nogo/na/question/ongoing]:999".
如果你想重新触发,请评论 "/review retrigger".
| 审视项编号 | 审视类别 | 审视要求 | 审视要求说明 | 审视结果 |
|---|---|---|---|---|
| 0 | PR提交规范 | PR的标题清晰易懂 | 提交标题应该一句话说明本提交实现的内容。 | [🔵] |
| 1 | PR提交规范 | PR的内容描述详细具体 | 提交的描述应该用一段话说明本提交的背景和实现原理。 | [🔵] |
| 2 | PR提交规范 | PR和实际代码修改和内容描述一致 | 提交的说明文字应该和实际代码修改内容保持一致。 | [🔵] |
| 3 | PR提交规范 | PR符合AtomGit的规范检查要求 | AtomGit对提交的缺陷扫描、规范扫描告警每一条都需要确认。 | [🔵] |
| 4 | PR提交规范 | 建议PR中只有一次提交 | 如果PR中包含多次提交,建议整合成一个,保持提交记录整洁。[AtomGit work flow] | [🔵] |
| 5 | PR提交规范 | PR中不包含临时文件 | 不能提交临时或无用文件。 | [🔵] |
| 6 | 开源合规性 | 新增代码文件起始包含License信息 | 代码文件开头需要有Copyright和License信息,所使用的License需和本项目使用的License兼容。 | [🔵] |
| 7 | 安全及隐私 | 新增代码不包含密码、口令、token、密钥等敏感数据 | 提交的代码不应包含密码等敏感数据。 | [🔵] |
| 8 | 定制项 | sig-python-modules 已同意更新 SIG 信息 | @shinwell_hu @yangzhao_kl 中是否有代表通过在此 PR 的 review 中留下 "/lgtm" 表示同意。 | [✅] |
| 9 | 定制项 | 已正确提供代码仓上游信息 | 使用软件社区的正式官方网址,或者无单独正式官网的情况下,提供主流代码托管商上面对应的项目网址(如github)。不可使用maven等托管库作为官方网址。 | [🔵] |
| 10 | 定制项 | 代码仓名称规范 | 代码仓名称必须和上游官网/社区保持一致,不可随意命名。不允许以软件包中的子模块作为代码仓名。当软件是某个语言的开发库时,可以使用前缀予以规范化管理(如 python-,perl-等)。 | [🔵] |
| 11 | 定制项 | 新引入代码仓的上游仍处于生命周期内 | 已经衰退的软件,生命周期结束,社区停运,或超过5年没有任何更新的软件,原则上不引入openEuler。如果提交者认为非常有必要,可以考虑在 openeuler 中 fork 以后独立维护。 | [🔵] |
| 12 | 定制项 | 新引入的代码仓的 License 授权与 openEuler 兼容 | openEuler只能接纳可以被允许集成的软件。 | [🔵] |
| 13 | 定制项 | 新引入的代码仓有 Copyright 信息 | 我们期望软件有明确的 Copyright 信息。 | [🔵] |
| 14 | 定制项 | committer的权限或其维护的仓库发生变更,要得到其同意 | 需要 @desert-sailor 在此 PR 的 review 中留下 "/lgtm" 表示确认同意其权限或维护的仓库发生变更。 | [🔵] |


| Check Name | Build Result | Build Details |
|---|---|---|
| Infra Check | ✅ SUCCESS | #Infra » community_check_v3 #13274 |


/lgtm
核对 5 个包:
- 上游全部可核实:
rogdham/backports.zstd、sethmlarson/truststore、tox-dev/python-discovery、pydantic/httpx2(httpcore2就是该仓库src/httpcore2子包,PyPI 上httpcore2的 Homepage 也指向这里) - 5 个
src-openeuler/python-*仓库当前均不存在,不构成重复 sig/sig-python-modules/sig-info.yaml的 repositories 列表与 5 个 yaml 文件一一对应,字段格式与同目录其它包一致


/lgtm
/approve


当前PR是否有AI参与:
PR功能描述 / 为什么需要这个合入:
python-hatch升级到 1.18.1 后,其运行时依赖闭包在 openEuler mainline 中无法满足,安装校验报nothing provides python3.11dist(...)。本 PR 为其中 5 个尚不存在的依赖新建src-openeuler仓库,是后续提交 spec 的前提。主要变更
新增
sig/sig-python-modules/src-openeuler/p/下的 5 个仓库定义文件,字段与同目录既有文件(如python-hatch.yaml)一致:name/description/upstream/branches/type。每个仓库仅包含master(type: protected),无create_from,无rename_from。在
sig/sig-python-modules/sig-info.yaml的repositories列表中登记上述 5 个仓库,位置紧邻python-hatch,便于后续维护。验证
本地执行
python3 ci-scripts/sanity_check.py /workspace/community,Check 0 ~ Check 8 与 Check Last 全部PASS WITHOUT ISSUES FOUND。另逐项确认:
name:、所在目录(首字母p)三者一致;description长度 ≥ 10,upstream非空且为 HTTPS;branches中恰有一个master且为type: protected;zh/technical-committee/governance/blacklist-software.yaml中;sig-info.yaml的repositories无重复项,且不包含 SIG 目录树中不存在的仓库。该PR关联的issue
(格式为fixes #<issue号>, 或者resolves #<issue号>): 无
希望检视人员了解:
命名选型:
python-python-discovery沿用同目录python-python-multipart先例——上游 PyPI 分发名为python-discovery,openEuler 约定仓库名前缀python-,故得python-python-discovery,RPM 名将是python3-python-discovery,可正确提供python3.11dist(python-discovery)。httpcore2与httpx2版本必须完全相同(2.16.0):httpx2的元数据是精确约束httpcore2==2.16.0,两者需同时进入 mainline,否则安装校验仍会失败。License 未变更:本 PR 只新增仓库定义,不含任何上游代码;
upstream字段与 PyPIproject_urls中的 Source/Homepage 一致。元数据一致性:本 PR 模型信息为
GitHub Copilot (DeepSeek-V4.1-Flash),与 commit 的Co-Authored-By: GitHub Copilot (DeepSeek-V4.1-Flash) <noreply@github.com>一致。Release note: