Contributing
We welcome contributions to PhenoQC! This document provides guidelines for contributing to the project.
Setting Up Development Environment
Fork the repository on GitHub
Clone your fork locally:
git clone https://github.com/YOUR_USERNAME/PhenoQC.git cd PhenoQC
Create a virtual environment and install dependencies:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -e ".[dev]"
Install pre-commit hooks:
pre-commit install
Making Changes
Create a new branch for your changes:
git checkout -b feature-name
Make your changes
Add tests for any new functionality
Run the test suite:
pytest
Format your code:
black .Commit your changes:
git add . git commit -m "Description of changes"
Push to your fork:
git push origin feature-name
Submit a Pull Request
Pull Request Guidelines
Include tests for any new functionality
Update documentation as needed
Follow the existing code style
Include a clear description of the changes
Link any related issues
Code Style
We use Black for code formatting and follow PEP 8 guidelines.
Running Tests
Run the full test suite:
pytest
Run with coverage:
pytest --cov=src tests/
Building Documentation
Build the documentation locally:
cd docs
make html
The built documentation will be in docs/build/html.