Contributing
We welcome contributions from the community! This guide will help you get started.
For detailed contributing guidelines, see the CONTRIBUTING.md file in the repository root.
Quick Start
Fork the repository on GitHub
Clone your fork locally
Create a new branch for your feature or bugfix
Make your changes with tests
Run the test suite to ensure everything works
Submit a pull request with a clear description
Development Setup
# Clone the repository
git clone https://github.com/Be-Wagile-India/toonverter.git
cd toonverter
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install in development mode with all dependencies
pip install -e ".[all,dev]"
# Install pre-commit hooks
pre-commit install
Running Tests
# Run all tests
pytest
# Run with coverage
pytest --cov=toonverter --cov-report=html
# Run specific test file
pytest tests/unit/test_encoder.py
# Run tests in parallel
pytest -n auto
Code Quality
We use several tools to maintain code quality:
ruff: Linting and formatting
mypy: Static type checking
pytest: Testing framework
pre-commit: Git hooks for code quality
# Format code
ruff format src/ tests/
# Check linting
ruff check src/ tests/
# Type checking
mypy src/
Contribution Areas
We welcome contributions in many areas:
Code: New features, bug fixes, performance improvements
Documentation: Improvements to docs, examples, tutorials
Testing: New tests, test coverage improvements
Integrations: New framework integrations (e.g., Haystack, DSPy)
Bug Reports: Detailed bug reports with reproduction steps
Feature Requests: Well-described feature proposals
How to Report Bugs
Check if the bug has already been reported in GitHub Issues
Create a new issue with:
Clear, descriptive title
Steps to reproduce
Expected vs actual behavior
Python version and OS
Code samples if applicable
How to Request Features
Check if the feature has already been requested
Create a new issue with:
Clear description of the feature
Use case and motivation
Possible implementation approach
Examples of how it would be used
Code Review Process
All submissions require review
Maintainers will review your PR within a few days
Address any feedback or requested changes
Once approved, your PR will be merged
License
By contributing, you agree that your contributions will be licensed under the MIT License.
Thank You!
Your contributions make this project better for everyone. We appreciate your time and effort!