Contributing to OPAL¶
We welcome contributions to OPAL! This guide will help you get started.
Getting Started¶
- Fork the repository on GitHub
- Clone your fork locally:
- Create a new branch for your feature:
Development Setup¶
-
Create a virtual environment:
-
Install dependencies:
-
Install development dependencies:
Contribution Guidelines¶
Code Style¶
- Follow PEP 8 guidelines
- Use meaningful variable and function names
- Add docstrings to all functions and classes
- Keep lines under 88 characters (Black's default)
Testing¶
- Write tests for new features
- Ensure all tests pass before submitting
- Run tests with:
pytest tests/
Documentation¶
- Update documentation for new features
- Include docstrings in your code
- Update README if needed
Submitting Changes¶
-
Commit your changes:
-
Push to your fork:
-
Create a Pull Request on GitHub
Pull Request Process¶
- Ensure your code follows the style guidelines
- Update documentation as needed
- Add tests for new functionality
- Ensure all tests pass
- Update the CHANGELOG.md with your changes
Adding New Parsers¶
When contributing a new parser:
- Follow the BaseParser structure
- Include comprehensive error handling
- Add documentation to the parser class
- Create an example in the documentation
- Test with various edge cases
Reporting Issues¶
- Use GitHub Issues to report bugs
- Include detailed reproduction steps
- Provide error messages and logs
- Specify your Python version and OS
Code of Conduct¶
- Be respectful and inclusive
- Welcome newcomers and help them get started
- Focus on constructive criticism
- Respect differing viewpoints
Questions?¶
Feel free to open an issue for any questions about contributing!