Contributing¶
Thank you for your interest in contributing to OrientedDet!
Getting Started¶
- Fork the repository
- Clone your fork:
- Create a venv and install in development mode (uv):
Development Setup¶
Running Tests¶
CI runs pytest tests/ on GitHub Actions (CPU PyTorch). Locally:
# Run all tests
pytest
# Run specific test file
pytest tests/test_geometry.py
# With coverage
pytest --cov=oriented_det tests/
Code Style¶
We use black for formatting and ruff for linting:
Contribution Guidelines¶
Code Style¶
- Follow PEP 8
- Use type hints where appropriate
- Write docstrings (Google style)
- Keep functions focused and small
Testing¶
- Add tests for new features
- Ensure all tests pass
- Aim for good test coverage
Documentation¶
- Update docstrings for new functions/classes
- Add tool scripts or examples to user guide if applicable
- Update API reference
Pull Requests¶
- Create a feature branch
- Make your changes
- Add tests
- Update documentation
- Ensure all tests pass
- Submit a pull request
Project Structure¶
oriented_det/
├── geometry/ # Core geometry primitives
├── ops/ # IoU and NMS operations
├── data/ # Dataset loading and utilities
├── models/ # Model architectures
├── train/ # Training utilities
└── utils/ # Configuration and visualization
Areas for Contribution¶
Aligned with the Roadmap:
- v0.2–v0.3: Faster R-CNN probiou Hub publish; Rotated FCOS model and configs
- v0.4: HRSC2016 and FAIR1M dataset loaders
- v0.5: RTMDet-R and native YOLO-OBB (clean-room, no Ultralytics)
- Docs: Tutorials, hosted MkDocs, eval reports
- Ops: Fused CUDA rotated IoU/NMS kernels
- Bug fixes and tool scripts
Questions?¶
Feel free to open an issue for questions or discussions!