Thank you for your interest in contributing to PyEPISuite! This document provides guidelines for contributing to the project.
- Fork the repository
- Clone your fork:
git clone https://github.com/yourusername/PyEPISuite.git cd PyEPISuite - Create a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
- Install the package in development mode:
pip install -e ".[dev]"
- Follow PEP 8 style guidelines
- Use type hints where possible
- Write descriptive docstrings for all functions and classes
- Keep line length under 88 characters (Black default)
- Write tests for new functionality
- Ensure all tests pass before submitting a PR:
pytest
- Run linting and type checking:
flake8 src tests mypy src
- Update documentation for any new features
- Test documentation builds locally:
mkdocs serve
- Ensure all docstrings are complete and accurate
- Create a new branch for your feature:
git checkout -b feature/your-feature-name
- Make your changes
- Add tests for your changes
- Update documentation if needed
- Run the test suite
- Commit your changes with a descriptive commit message
- Push to your fork and submit a pull request
- Provide a clear description of the changes
- Reference any related issues
- Include screenshots for UI changes
- Ensure CI checks pass
- Be responsive to feedback
When reporting issues, please include:
- Python version
- PyEPISuite version
- Operating system
- Steps to reproduce the issue
- Expected vs actual behavior
- Error messages (if any)
- Be respectful and inclusive
- Focus on constructive feedback
- Help create a welcoming environment for all contributors
If you have questions about contributing, feel free to open an issue or reach out to the maintainers.