有兴趣为 SwanLab 做出贡献吗?我们欢迎社区的贡献!本指南讨论swanlab的开发工作流和内部结构。
-
浏览 GitHub 上的Issues,查看你愿意添加的功能或修复的错误,以及它们是否已被 Pull Request。
- 如果没有,请创建一个新 Issue——这将帮助项目跟踪功能请求和错误报告,并确保不重复工作。
-
如果你是第一次为开源项目贡献代码,请转到 本项目首页 并单击右上角的"Fork" 按钮。这将创建你用于开发的仓库的个人副本。
- 将 Fork 的项目克隆到你的计算机,并添加指向
swanlab项目的远程链接:
git clone https://github.com/<your-username>/swanlab.git cd swanlab git remote add upstream https://github.com/swanhubx/swanlab.git
- 将 Fork 的项目克隆到你的计算机,并添加指向
-
开发你的贡献
- 确保您的 Fork 与主存储库同步:
git checkout main git pull upstream main
- 创建一个
git分支,您将在其中发展您的贡献。为分支使用合理的名称,例如:
git checkout -b <username>/<short-dash-seperated-feature-description>
- 当你取得进展时,在本地提交你的改动,例如:
git add changed-file.py tests/test-changed-file.py git commit -m "feat(integrations): Add integration with the `awesomepyml` library" -
发起贡献:
- Github Pull Request
- 当您的贡献准备就绪后,将您的分支推送到 GitHub:
git push origin <username>/<short-dash-seperated-feature-description>
-
分支上传后,
GitHub将打印一个 URL,用于将您的贡献作为拉取请求提交。在浏览器中打开该 URL,为您的拉取请求编写信息丰富的标题和详细描述,然后提交。 -
请将相关 Issue(现有 Issue 或您创建的 Issue)链接到您的 PR。请参阅 PR 页面的右栏。或者,在 PR 描述中提及“修复问题链接” - GitHub 将自动进行链接。
-
我们将审查您的贡献并提供反馈。要合并审阅者建议的更改,请将编辑提交到您的分支,然后再次推送到分支(无需重新创建拉取请求,它将自动跟踪对分支的修改),例如:
git add tests/test-changed-file.py git commit -m "test(sdk): Add a test case to address reviewer feedback" git push origin <username>/<short-dash-seperated-feature-description>
- 一旦您的拉取请求被审阅者批准,它将被合并到存储库的主分支中。
SwanLab 使用 uv 管理依赖和测试,使用 hatch 进行构建。
进行测试的前提是你已经安装完毕所有的所需依赖。
在完成你的改动后,可以将你用于测试的 python 脚本放到根目录或test文件夹下,然后通过VSCode 脚本中的"
运行当前文件"来运行你的 Python 测试脚本, 这样你的脚本运行将使用到已改动后的 swanlab。