Skip to content

Contributing

Become a Sponsor

Open source projects take time and money. Help support the project by becoming a sponsor. You can add your support at any tier you feel comfortable with. No amount is too little. We also accept one time contributions via PayPal.

GitHub Sponsors PayPal

Bug Reports

  1. 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.

  2. 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.

  3. Please be prepared to potentially field follow-up questions or provide additional information.

Reviewing Code

You are welcome to take part in reviewing pull requests and/or reviewing direct commits. Please feel free to make suggestions to improve the code and discuss solutions to overcome weaknesses in the software.

Answering Questions Asked in Issues

When you are answering questions put forward in issues, indicate that you have seen the questions and give a minimal description of how you may begin to answer the question. Then, follow up with a thorough answer to the question or request more information if needed. Feel free to share your experience to help others out.

Pull Requests

Pull requests are welcome, and a great way to help fix bugs and add new features. If you are interested in directly contributing to the code base, then please see the development guide for more information on the environment and process.

Documentation Improvements

A ton of time has been spent not only creating and supporting this tool and related extensions, but also spent making this documentation. If you want a good place to contribute, then you are welcome to help improve the documentation. The development guide has more details about improving the documentation.

Have a question or problem?

For quick questions there's no need to open an issue as you can reach us at dev@cannlytics.com.

Missing 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, first open an issue and outline your proposal so that it can be discussed. This will also allow us to better coordinate our efforts, prevent duplication of work, and help you to craft the change so that it is successfully accepted into the project.

  • Small features and bugs can be crafted and directly submitted as a Pull Request. However, there is no guarantee that your feature will make it into the master, depending on the benefits to the overall functionality of the project and the community.

Submission guidelines

Submitting an issue

Before you submit an issue, please search the issue tracker, maybe an issue for your problem already exists and the discussion might inform you of workarounds readily available.

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.

  1. Development: Fork the project, set up the development environment, make your changes in a separate git branch and add descriptive messages to your commits.

  2. 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.

  3. Pull Request: After building the project, make a final commit, push your branch to GitHub and send a PR to cannlytics:master. 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 🌱