Contributing
July 11, 2026 · View on GitHub
Thank you for your interest in contributing to OrientedDet!
Getting Started
- Fork the repository
- Clone your fork:
git clone https://github.com/DL4EO/oriented-det.git cd oriented-det - Create a venv and install in development mode (uv):
uv venv --python 3.12 source .venv/bin/activate uv pip install -r requirements.txt uv pip install -e ".[dev]"
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:
# Format code
black oriented_det/ tests/
# Lint
ruff check oriented_det/ tests/
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!