|
| 1 | +# Contributing to CacheFlow |
| 2 | + |
| 3 | +Thank you for your interest in contributing to CacheFlow! |
| 4 | +Our community is open to everyone and welcomes all kinds of contributions, no matter how small or large. |
| 5 | +There are several ways you can contribute to the project: |
| 6 | + |
| 7 | +- Identify and report any issues or bugs. |
| 8 | +- Request or add a new model. |
| 9 | +- Suggest or implement new features. |
| 10 | + |
| 11 | +However, remember that contributions aren't just about code. |
| 12 | +We believe in the power of community support; thus, answering queries, assisting others, and enhancing the documentation are highly regarded and beneficial contributions. |
| 13 | + |
| 14 | +Finally, one of the most impactful ways to support us is by raising awareness about CacheFlow. |
| 15 | +Talk about it in your blog posts, highlighting how it's driving your incredible projects. |
| 16 | +Express your support on Twitter if CacheFlow aids you, or simply offer your appreciation by starring our repository. |
| 17 | + |
| 18 | + |
| 19 | +## Setup for development |
| 20 | + |
| 21 | +### Build from source |
| 22 | + |
| 23 | +```bash |
| 24 | +pip install -r requirements.txt |
| 25 | +pip install -e . # This may take several minutes. |
| 26 | +``` |
| 27 | + |
| 28 | +### Testing |
| 29 | + |
| 30 | +```bash |
| 31 | +pip install -r requirements-dev.txt |
| 32 | + |
| 33 | +# Static type checking |
| 34 | +mypy |
| 35 | +# Unit tests |
| 36 | +pytest tests/ |
| 37 | +``` |
| 38 | +**Note:** Currently, the repository does not pass the mypy tests. |
| 39 | + |
| 40 | + |
| 41 | +## Contributing Guidelines |
| 42 | + |
| 43 | +### Issue Reporting |
| 44 | + |
| 45 | +If you encounter a bug or have a feature request, please check our issues page first to see if someone else has already reported it. |
| 46 | +If not, please file a new issue, providing as much relevant information as possible. |
| 47 | + |
| 48 | +### Coding Style Guide |
| 49 | + |
| 50 | +In general, we adhere to [Google Python style guide](https://google.github.io/styleguide/pyguide.html) and [Google C++ style guide](https://google.github.io/styleguide/cppguide.html). |
| 51 | + |
| 52 | +### Pull Requests |
| 53 | + |
| 54 | +When submitting a pull request: |
| 55 | + |
| 56 | +1. Make sure your code has been rebased on top of the latest commit on the main branch. |
| 57 | +2. Include a detailed description of the changes in the pull request. |
| 58 | +Explain why you made the changes you did. |
| 59 | +If your pull request fixes an open issue, please include a reference to it in the description. |
| 60 | + |
| 61 | +### Code Reviews |
| 62 | + |
| 63 | +All submissions, including submissions by project members, require a code review. |
| 64 | +To make the review process as smooth as possible, please: |
| 65 | + |
| 66 | +1. Keep your changes as concise as possible. |
| 67 | +If your pull request involves multiple unrelated changes, consider splitting it into separate pull requests. |
| 68 | +2. Respond to all comments within a reasonable time frame. |
| 69 | +If a comment isn't clear or you disagree with a suggestion, feel free to ask for clarification or discuss the suggestion. |
| 70 | + |
| 71 | +### Thank You |
| 72 | + |
| 73 | +Finally, thank you for taking the time to read these guidelines and for your interest in contributing to CacheFlow. |
| 74 | +Your contributions make CacheFlow a great tool for everyone! |
0 commit comments