|
| 1 | +# Contributing to QuantLLM |
| 2 | + |
| 3 | +We love your input! We want to make contributing to QuantLLM as easy and transparent as possible, whether it's: |
| 4 | + |
| 5 | +- Reporting a bug |
| 6 | +- Discussing the current state of the code |
| 7 | +- Submitting a fix |
| 8 | +- Proposing new features |
| 9 | +- Becoming a maintainer |
| 10 | + |
| 11 | +## Development Process |
| 12 | + |
| 13 | +We use GitHub to host code, to track issues and feature requests, as well as accept pull requests. |
| 14 | + |
| 15 | +1. Fork the repo and create your branch from `main` |
| 16 | +2. If you've added code that should be tested, add tests |
| 17 | +3. If you've changed APIs, update the documentation |
| 18 | +4. Ensure the test suite passes |
| 19 | +5. Make sure your code lints |
| 20 | +6. Issue that pull request! |
| 21 | + |
| 22 | +## Development Setup |
| 23 | + |
| 24 | +1. Clone your fork: |
| 25 | +```bash |
| 26 | +git clone https://github.com/codewithdark-git/QuantLLM.git |
| 27 | +cd QuantLLM |
| 28 | +``` |
| 29 | + |
| 30 | +2. Create a virtual environment: |
| 31 | +```bash |
| 32 | +python -m venv venv |
| 33 | +source venv/bin/activate # On Windows: venv\Scripts\activate |
| 34 | +``` |
| 35 | + |
| 36 | +3. Install development dependencies: |
| 37 | +```bash |
| 38 | +pip install -e ".[dev]" |
| 39 | +``` |
| 40 | + |
| 41 | +## Testing |
| 42 | + |
| 43 | +Run tests with: |
| 44 | +```bash |
| 45 | +pytest tests/ |
| 46 | +``` |
| 47 | + |
| 48 | +For coverage report: |
| 49 | +```bash |
| 50 | +pytest --cov=quantllm tests/ |
| 51 | +``` |
| 52 | + |
| 53 | +## Code Style |
| 54 | + |
| 55 | +- We use [black](https://github.com/psf/black) for Python code formatting |
| 56 | +- [isort](https://pycqa.github.io/isort/) for import sorting |
| 57 | +- [flake8](https://flake8.pycqa.org/) for style guide enforcement |
| 58 | + |
| 59 | +Run linting: |
| 60 | +```bash |
| 61 | +black . |
| 62 | +isort . |
| 63 | +flake8 . |
| 64 | +``` |
| 65 | + |
| 66 | +## Documentation |
| 67 | + |
| 68 | +- Documentation is written in reStructuredText |
| 69 | +- Built using Sphinx |
| 70 | +- Hosted on Read the Docs |
| 71 | + |
| 72 | +Build docs locally: |
| 73 | +```bash |
| 74 | +cd docs |
| 75 | +make html |
| 76 | +``` |
| 77 | + |
| 78 | +## Pull Request Process |
| 79 | + |
| 80 | +1. Update the README.md with details of changes to the interface |
| 81 | +2. Update the docs/ directory with any new documentation |
| 82 | +3. Update the tests/ directory with relevant test cases |
| 83 | +4. The PR will be merged once you have the sign-off of two other developers |
| 84 | + |
| 85 | +## Any contributions you make will be under the MIT Software License |
| 86 | + |
| 87 | +In short, when you submit code changes, your submissions are understood to be under the same [MIT License](http://choosealicense.com/licenses/mit/) that covers the project. Feel free to contact the maintainers if that's a concern. |
| 88 | + |
| 89 | +## Report bugs using GitHub's [issue tracker](https://github.com/codfewithdark-git/QuantLLM/issues) |
| 90 | + |
| 91 | +We use GitHub issues to track public bugs. Report a bug by [opening a new issue](https://github.com/codewithdark-git/QuantLLM/issues/new). |
| 92 | + |
| 93 | +## Write bug reports with detail, background, and sample code |
| 94 | + |
| 95 | +**Great Bug Reports** tend to have: |
| 96 | + |
| 97 | +- A quick summary and/or background |
| 98 | +- Steps to reproduce |
| 99 | + - Be specific! |
| 100 | + - Give sample code if you can |
| 101 | +- What you expected would happen |
| 102 | +- What actually happens |
| 103 | +- Notes (possibly including why you think this might be happening, or stuff you tried that didn't work) |
| 104 | + |
| 105 | +## License |
| 106 | + |
| 107 | +By contributing, you agree that your contributions will be licensed under its MIT License. |
0 commit comments