11.3. 如何贡献 PikaPython 模块
11.3.1. 帮助完善已有的模块
11.3.1.1. 拉取最新的模块
在向已有的模块添加新的内容时,请确保已经拉取了最新的模块。
拉取最新的模块的方法是在 requestment.txt 中使用 latest 版本。
例如:
STM32G0==latest
删除 reqeustment.txt 中需要开发的模块,防止误操作(比如再次拉取模块)导致正在开发的模块被覆盖掉。
11.3.1.2. 修改模块并测试
为模块添加新的 Python 接口 –> [module].pyi
或者提供更好的实现 –> pikascript-lib/[module]/*.c
(可选)在 pikapython/README.md 和 pikapython/README_zh.md 中更新模块信息。
11.3.1.3. 提交模块的文件
11.3.1.3.1. 方案一(推荐) 使用模块贡献引导,即可快速提交模块。
在模块名称中输入要更新的模块名。
11.3.1.3.2. 方案二 手动 fork 然后 pullrequest:
fork 一份 pikapython 仓库,然后 clone 到本地。
复制 [module].pyi 到 pikascript-lib/[module] 文件夹中。
复制整个修改后的 pikascript-lib/[module] 文件夹到 fork 后的 pikapython/package 文件夹中。
git add 添加文件,并 git commit 提交一次。
git log 查看提交后的 commit id,在 fork 后的 pikapython/packages.toml 中填写新的版本名,并复制当前的 commit id。
例如:
[[packages]]
name = "STM32G0"
releases = [
"v1.0.2 0052a28582ac8a85cc48e1d676d9a3be5cb1b93f",
"<新的版本名> <当前的commit id>",
]
git commit -a再提交一次,添加packages.toml的修改。
git push到你fork后的仓库中。
提交pull request。
11.3.2. 提交新的模块
新建 [module].pyi 文件和pikascript-lib/[module]文件夹。
开发和测试新的模块。
(可选)在 pikapython/README.md 和 pikapython/README_zh.md 中更新模块信息。
提交模块的文件
11.3.2.1. 使用模块贡献引导,即可快速提交模块。
11.3.2.2. 方案一(推荐) 使用模块贡献引导,即可快速提交模块
在模块名称中输入新模块名即可。
11.3.2.3. 方案二 手动 fork 然后 pullrequest:
fork一份pikapython仓库,然后clone到本地。
复制 [module].pyi 到pikascript-lib/[module]文件夹中。
复制整个pikascript-lib/[module]文件夹到fork后的pikascript/package文件夹中。
git add 添加文件,并git commit 提交一次。
git log 查看提交后的commit id,在fork后的pikascript/packages.toml中新增新的模块,填写模块名、版本名和当前的commit id。
例如:
[[packages]]
name = "<新模块名>"
releases = [
"<新的版本名> <当前的commit id>",
]
git commit -a再提交一次,添加packages.toml的修改。
git push到你fork后的仓库中。
提交pull request。