Thank you for your interest in contributing to CacheFlow! Our community is open to everyone and welcomes all kinds of contributions, no matter how small or large. There are several ways you can contribute to the project:
- Identify and report any issues or bugs.
- Request or add a new model.
- Suggest or implement new features.
However, remember that contributions aren't just about code. We believe in the power of community support; thus, answering queries, assisting others, and enhancing the documentation are highly regarded and beneficial contributions.
Finally, one of the most impactful ways to support us is by raising awareness about CacheFlow. Talk about it in your blog posts, highlighting how it's driving your incredible projects. Express your support on Twitter if CacheFlow aids you, or simply offer your appreciation by starring our repository.
pip install -r requirements.txt
pip install -e . # This may take several minutes.
pip install -r requirements-dev.txt
# Static type checking
mypy
# Unit tests
pytest tests/
Note: Currently, the repository does not pass the mypy tests.
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. If not, please file a new issue, providing as much relevant information as possible.
In general, we adhere to Google Python style guide and Google C++ style guide.
When submitting a pull request:
- Make sure your code has been rebased on top of the latest commit on the main branch.
- Include a detailed description of the changes in the pull request. Explain why you made the changes you did. If your pull request fixes an open issue, please include a reference to it in the description.
All submissions, including submissions by project members, require a code review. To make the review process as smooth as possible, please:
- Keep your changes as concise as possible. If your pull request involves multiple unrelated changes, consider splitting it into separate pull requests.
- Respond to all comments within a reasonable time frame. If a comment isn't clear or you disagree with a suggestion, feel free to ask for clarification or discuss the suggestion.
Finally, thank you for taking the time to read these guidelines and for your interest in contributing to CacheFlow. Your contributions make CacheFlow a great tool for everyone!