Contributing¶
We welcome contributions to the Generator Builder project!
How to Contribute¶
Reporting Issues¶
Found a bug or have a suggestion? Please:
- Check existing issues to avoid duplicates
- Provide a clear description of the problem
- Include steps to reproduce (if applicable)
- Mention your Python version and environment
Submitting Changes¶
- Fork the repository
- Create a branch for your changes
- Write tests for new features
- Update documentation as needed
- Submit a pull request with a clear description
Development Setup¶
# Clone the repository
git clone https://github.com/pjritee/generator_builder.git
cd generator_builder
# Run tests
python3 generator_builder.py
python3 waveforms.py
# Generate MicroPython versions
python3 strip_type_hints.py generator_builder.py generator_builder_mp.py
python3 strip_type_hints.py waveforms.py waveforms_mp.py
Code Style¶
- Follow PEP 8 conventions
- Use meaningful variable names
- Add docstrings to public classes and methods
- Keep functions focused and composable
Documentation¶
- Update docstrings when modifying behavior
- Add examples for new features
- Update API documentation in
docs/api/ - Keep the README and guides current
Testing¶
- Test new features thoroughly
- Ensure MicroPython compatibility
- Test with the
_mp.pyversions - Include both unit tests and integration examples
License¶
All contributions are under the MIT License. By submitting a pull request, you agree to license your contribution under the MIT License.
Thank you for contributing! 🎉