Skip to content

Latest commit

 

History

History
79 lines (49 loc) · 3.75 KB

CONTRIBUTING.md

File metadata and controls

79 lines (49 loc) · 3.75 KB

Contribution Guidelines

Welcome! Thank you for showing interest in contributing to this package 🥰🥳

The following information comprises of some guidelines & details important in ensuring you're first contribution is as smooth as possible. Following the guidelines also helps communicate that you respect the time of the maintainers and your intent to help develop this project.

How to contribute to the project

1. Report a bug 🐛

In case you have enountered any bug while utilizing this package, please ensure:

  • You are using the latest release.

After confirming the above, browse through our tickets and ensure the bug has not been reported already. If it hasn't been reported yet, open a ticket with the as much informations as possible like:

  • What you expected to happen
  • What actually happened
  • Logs and other interesting information
  • All steps to reproduce the issue

2. Suggest Enhancements or New Features 🔥

Feature and enhancement requests are always welcome! We ask you ensure the following details are provided while opening a ticket, in order to start a constructive discussion:

  • Describe the feature/enhancement in detail.
  • Explain why the feature/enhancement is needed.
  • Describe how the feature/enhancement should work
  • List any advantages & disadvantages of implementing the feature/enhancement

3. Code Contributions / Pull Requests 🖥️

Pull requests are wholeheartedly welcome!❤️ If you are unsure about how to make your first pull request, here are some helpful resources:

In order to make it easier for us to facilitate the smooth merging of your pull request, please make sure the following standards are met within your pull request.

  • Code & commits follow our styleguides.
  • Setup your development environment as advised here.
  • Implement / Update tests that need to be updated and ensure that they pass.

With the above points in mind feel free to comment on one of our beginner-friendly issues expressing your intent to work on it.

Setting up your development environment

This project utilizes pipenv, one can setup the pipenv environment by running the following:

$ pipenv install --dev
$ pipenv shell
$ pre-commit install

If you aren't comfortable utilizing pipenv but are comfortable in utilizing virtualenv. You can run the following to setup the environment within a virtualenv:

$ pip install pipenv
$ pipenv install --dev
$ pre-commit install

Styleguides

Git commit messages

Git commits help communicate what has changed within the project. Making it easier to track down changes or implementation within the codebase. Before contributing please read the following article by Chris Beams on How to Write a Git Commit Message.

Python code styleguide

This project utilizes a variety of python code linters & formatters. Most of these checks are run before a commit is made as long as one has setup the project as defined in Setting up your development environment.

If you'd like to manually run the checks, run the following command.

$ tox