First off, thank you for considering contributing to this project! 🎉
By participating in this project, you are expected to uphold professional and respectful behavior.
Before creating bug reports, please check existing issues to avoid duplicates. When creating a bug report, include:
- Clear title and description
- Steps to reproduce the issue
- Expected vs actual behavior
- Screenshots if applicable
- Environment details (OS, Python version, etc.)
Enhancement suggestions are tracked as GitHub issues. When creating an enhancement suggestion:
- Use a clear and descriptive title
- Provide a detailed description of the suggested enhancement
- Explain why this enhancement would be useful
- List any alternative solutions you've considered
-
Fork the repository and create your branch from
maingit checkout -b feature/amazing-feature
-
Make your changes following our coding standards:
- Write clear, commented code
- Follow PEP 8 style guidelines for Python
- Add docstrings to functions and classes
- Update documentation as needed
-
Test your changes:
- Ensure the application runs without errors
- Test all affected features
- Add tests if applicable
-
Commit your changes:
git commit -m "Add amazing feature"- Use present tense ("Add feature" not "Added feature")
- Use imperative mood ("Move cursor to..." not "Moves cursor to...")
- Reference issues and pull requests when relevant
-
Push to your fork:
git push origin feature/amazing-feature
-
Open a Pull Request:
- Provide a clear description of the changes
- Link to any related issues
- Include screenshots for UI changes
-
Clone your fork:
git clone https://github.com/your-username/image-processing-vision-project.git cd image-processing-vision-project -
Create a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
-
Run the application:
streamlit run app.py
- Follow PEP 8
- Use 4 spaces for indentation (no tabs)
- Maximum line length: 88 characters (Black formatter standard)
- Use meaningful variable and function names
- Add docstrings to all functions, classes, and modules
- Use inline comments for complex logic
- Update README.md for significant changes
Good commit message structure:
Short summary (50 chars or less)
More detailed explanation if necessary. Wrap at 72 characters.
Include motivation for the change and contrast with previous behavior.
- Bullet points are okay
- Use hyphen or asterisk for bullets
image-processing-vision-project/
├── app.py # Main application (keep modular)
├── utils/ # Helper functions (if needed)
├── tests/ # Unit tests (if applicable)
└── docs/ # Additional documentation
- Test all image processing operations
- Verify UI components render correctly
- Check error handling for edge cases
- Test with various image formats and sizes
- Open an issue with the
questionlabel - Check existing issues and pull requests
- Review the project README
Contributors will be acknowledged in the project. Thank you for making this project better! 🚀
Remember: The goal is to make image processing accessible and educational. Every contribution helps!