Thank you for your interest in improving IR-SIM! Whether you’re fixing a typo, adding a new feature, or writing documentation, your contribution is welcome by opening an issue or a pull request to the main branch. Below are a few guidelines to help you get started.
-
Source Code
- New features (sensors, controllers, kinematic models)
- Bug fixes and performance improvements
-
Documentation
- Fix typos, clarify API descriptions
- Add new tutorials or usage guides
- Improve examples under
docs/
-
Usage Examples & Tests
- Extend or polish the
usage/directory - Add unit tests for new features
- Extend or polish the
-
Discussion & Design
- Propose architectural changes
- Provide feedback on roadmap or UX
We use Ruff to format and lint Python code. Before opening a PR, run:
pip install ruff
ruff checkTo enable automatic checks on each commit, install the pre-commit hook:
pip install pre-commit
pre-commit installIR-SIM’s documentation lives in the docs/ directory and uses the PyData Sphinx Theme. To build the docs locally:
cd docs
make html- New tutorials or guides belong in
docs/or underusage/ - The API reference is auto-generated from docstrings
Current support of sensors, behaviors, and robot kinematics models can be seen in the support.
New features to support more platforms and scenarios to make IR-SIM more versatile are welcome. Please open an issue to discuss the design. If you prefer, you can also email hanrh@connect.hku.hk for a design discussion.
We use pytest for our test suite. To run all tests:
pytestPlease add tests for any new functionality or bug fix.
Thanks again for helping make IR-SIM better!