Thank you for your interest in contributing to TinyQ! This document outlines the process for contributing to this project.
- Fork the repository
- Clone your fork:
git clone https://github.com/afondiel/TinyQ.git
cd TinyQ- Install dependencies:
# Create and activate conda environment
conda create -n qenv python=3.8
conda activate qenv
# Install dependencies
pip install -r requirements.txt- Create a new branch:
git checkout -b feature/your-feature-name- Make your changes
- Test your changes:
# Run the example script
python examples.py --model_path "Salesforce/codegen-350M-mono" --qm w8a32- Commit your changes:
git add .
git commit -m "Add: brief description of your changes"- Update documentation if needed
- Push to your fork and submit a pull request
- Wait for review and address any feedback
- Follow PEP 8 style guide
- Add docstrings for new functions/classes
- Include type hints where appropriate
- Keep functions focused and single-purpose
- Focus on one feature per PR
- Add tests for new functionality
- Update README.md if needed
- Maintain backward compatibility
Please include:
- Python version
- PyTorch version
- Model being quantized
- Steps to reproduce
- Expected vs actual behavior
- Check roadmap first
- Describe use case clearly
- Explain benefits
- Consider implementation complexity
By contributing, you agree that your contributions will be licensed under the MIT License.