Contributing
Begin an Issue
The first place to begin contributing is to identify an issue that you can help with. You can find issues that need help by looking at the issues page. For quick questions, you can contact a developer at admin@cannlytics.com.
-
Please don't hesitate before asking your question through a GitHub issue, unless the bug is security related and then you should email dev@cannlytics.com directly and do not create an issue.
-
When creating an issue on the repository, please provide as much info as possible:
- Version being used.
- Operating system.
- Version of Python.
- Errors in console.
- Detailed description of the problem.
- Examples for reproducing the error. You can post pictures, but if specific text or code is required to reproduce the issue, then please provide the text in a plain text format for easy copy/paste.
The more information provided, the greater the chance that someone will be able to answer, implement, or fix your issue in a timely manner.
-
Please be prepared to potentially field follow-up questions or provide additional information.
Add a feature
You can request new features by submitting an issue to our GitHub Repository. If you would like to implement a new feature, then you are welcome to submit an issue for your work first, so other Cannlytics contributors can be aware of your efforts. Please consider what kind of change you are proposing:
-
For a major feature, we kindly request that you initiate a conversation by opening an issue. This would allow us to discuss your wonderful ideas in-depth. Doing so facilitates better coordination amongst all contributors, ensures we avoid redundant efforts, and assists you in shaping the proposal so that it seamlessly fits into the project. Your proactive approach to collaboration is genuinely appreciated.
-
For small features and bugs you're welcome to craft and submit directly as a Pull Request. We sincerely value every contribution. However, please understand that while we'd love to incorporate every feature, inclusion in the
main
branch will be based on the broader benefit to the project and our cherished community. Your understanding and continued support mean a lot to us.
Submission guidelines
Submitting an issue
We want to fix all the issues as soon as possible, but before fixing a bug we need to reproduce and confirm it. In order to expedite the process, please provide as much information as you can as to how to recreate the bug. We may not be able to investigate / fix bugs that we can not reproduce.
Submitting a Pull Request (PR)
When you are ready to start your contribution, follow these 3 steps.
-
Development: Fork the project, set up the development environment, make your changes in a separate git branch and add descriptive messages to your commits.
-
Build: Before submitting a pull request, build the project. Being able to build the project is a mandatory requirement for your PR to get accepted, as the project should at all times be installable through GitHub.
-
Pull Request: After building the project, make a final commit, push your branch to GitHub and send a PR to
cannlytics:main
. If we suggest changes, then please make the required updates, rebase your branch and push the changes to your GitHub repository, which will automatically update your PR.
After your PR is merged, you can safely delete your branch and pull the changes from the main (upstream) repository. Thank you for growing Cannlytics 🌱