Contributing
We welcome contributions to HybridInference!
Development Setup
Fork the repository
Clone your fork:
git clone https://github.com/your-username/hybridInference.git cd hybridInference
Set up development environment:
make setup-dev
Code Quality Standards
This project follows industry best practices:
Code Style: Google Python Style Guide (formatted with ruff)
Linting: ruff with extensive rule sets
Type Checking: mypy with strict mode
Documentation: Google-style docstrings (pydocstyle)
Pre-commit Hooks
Pre-commit hooks run automatically on git commit:
# Install pre-commit hooks (done by make setup-dev)
pre-commit install
# Run manually on all files
pre-commit run --all-files
Development Workflow
Create a feature branch:
git checkout -b feature/your-feature-name
Make your changes
Run quality checks:
make all # Format, lint, typecheck, and test
Commit your changes:
git add . git commit -m "feat: add your feature description"
Push to your fork and submit a pull request
Testing
# Run all tests
make test
# Run with coverage
make test-cov
# Run specific test file
uv run pytest test/test_routing.py
Documentation
Update documentation when adding new features:
# Build documentation locally
cd docs
make html
# View in browser
open build/html/index.html
Pull Request Guidelines
Write clear, descriptive commit messages
Update documentation for new features
Add tests for new functionality
Ensure all CI checks pass
Keep PRs focused on a single feature or fix