为 IR-SIM 做贡献#

感谢您对改进 IR-SIM 的关注!无论是修复拼写错误、添加新功能还是编写文档,我们都欢迎您通过向 main 分支提交 issue 或 pull request 来贡献。以下是一些帮助您入门的指南。


您可以贡献什么#

  • 源代码

    • 新功能(传感器、控制器、运动学模型)

    • 错误修复和性能改进

  • 文档

    • 修复拼写错误,完善 API 描述

    • 添加新的教程或使用指南

    • 改进 docs/ 下的示例

  • 使用示例与测试

    • 扩展或完善 usage/ 目录

    • 为新功能添加单元测试

  • 讨论与设计

    • 提出架构变更建议

    • 对路线图或用户体验提供反馈


代码风格#

我们使用 Ruff 来格式化和检查 Python 代码。在提交 PR 之前,请运行:

pip install ruff
ruff check

要在每次提交时启用自动检查,请安装 pre-commit 钩子:

pip install pre-commit
pre-commit install

文档#

IR-SIM 的文档位于 docs/ 目录,使用 PyData Sphinx Theme。要在本地构建文档:

cd docs
make html
  • 新的教程或指南应放在 docs/usage/ 目录下

  • API 参考文档由 docstring 自动生成


添加新功能#

当前支持的传感器、行为和机器人运动学模型可在 support 中查看。

欢迎添加新功能以支持更多平台和场景,使 IR-SIM 更加通用。请提交 issue 讨论设计方案。如果您愿意,也可以发送邮件至 hanrh@connect.hku.hk 进行设计讨论。


测试#

我们使用 pytest 作为测试框架。要运行所有测试:

pytest

请为任何新功能或错误修复添加测试。


再次感谢您帮助改进 IR-SIM!