Thank you for your interest in contributing to Rhesis SDK! This document provides guidelines and instructions for contributing.
- Clone the repository:
git clone https://github.com/rhesis-ai/rhesis-sdk.git
cd rhesis-sdk
- Install Poetry (our dependency manager):
curl -sSL https://install.python-poetry.org | python3 -
- Install dependencies including development tools:
poetry install --with dev
Optionally, you can install the development tools and documentation:
poetry install --with dev,docs
- Create a new branch for your feature:
git checkout -b feature/your-feature-name
- Enable pre-commit hooks:
poetry run pre-commit install
- Make your changes and ensure all checks pass:
poetry run black . # Format code
poetry run flake8 # Lint code
poetry run mypy # Type check
poetry run pytest # Run tests
- Commit your changes:
git add .
git commit -m "feat: your descriptive commit message"
- Push your changes and create a Pull Request:
git push origin feature/your-feature-name
- Follow the Conventional Commits specification for commit messages
- Include tests for new features
- Update documentation as needed
- Ensure all checks pass before requesting review
We use several tools to maintain code quality:
- Black for code formatting
- Flake8 for style guide enforcement
- MyPy for static type checking
- Pre-commit for automated checks
- Write tests for all new features and bug fixes
- Tests should be placed in the
tests/
directory - Run the test suite with
poetry run pytest
- Update documentation for any changed functionality
- Include docstrings for new functions and classes
- Keep the README.md up to date with any user-facing changes
If you have questions or need help with the contribution process:
- Contact us at [email protected]
- Create an issue in the repository
- Check our documentation