When contributing to this repository, please first discuss the change you wish to make via issue, email, or any other method with the owners of this repository before making a change. Please note we have a code of conduct, please follow it in all your interactions with the project. Code of Conduct
- Fork the repository and create a separate branch regarding your contribution.
- Update the CHANGELOG file with details of changes to the interface, this includes new environment variables, exposed ports, useful file locations, and container parameters.
- Changes to README file should be commited ONLY when there are changes relevant to the essence of the project, or the ways to deploy it!
- Issue a pull request and ask us to review it. Don't forget to link the PR to a relevant issue if it exists, If not CREATE it!
- Ensure that your code follows the PEP 8 Style guide for Python code before submitting a pull request. We have also set up Flake8 to ensure that our style guides are being followed(PR's that dont pass this may not get reviewed until those are solved)
Note: If your PR do not meet one of the requirements, the PR will not be reviewed!
• This project is following commit convention and it has to be followed through
• Make sure the commit is signed-off
- Set yourself as an Assignee
- Set whoever you want to review your PR as a reviewer (can be multiple)
- Make SMALLER pull requests
- Write useful descriptions and titles
- You may merge the Pull Request once you have the sign-off of two other developers, or if you do not have permission to do that, you may request the maintainers to merge it for you.
- Making changes/Creating XFILE
- Empty line
- What?
- Why?
- How?
- Testing?
- Screenshots(if needed)
- Anything else?
- Always provide constructive feedback
- Keep your ego out of code reviews
- Be precise about what needs to be improved
- Don't just hope for the code to work, Check it yourself!
- Be strict about temporary code
- Visualize the bigger picture
Scan through our existing issues to find one that interests you. You can narrow down the search using labels as filters. See Labels for more information. We assign issues to specific contributors, although you are more than welcome to open a PR with a fix if you find an issue to work on.
If you spot a problem/bug or think that some changes are needed , search if an issue already exists. If a related issue doesn't exist, you can open a new issue using a relevant issue form.
• When describing issues try to phrase your issue in terms of the behavior you think needs changing rather than the code you think needs changing.
• If reporting a bug, then try to include a pull request with a failing test case. This will help us quickly identify if there is a valid issue, and make sure that it gets fixed more quickly if there is one.
• Closing an issue doesn't necessarily mean the end of a discussion. If you believe your issue has been closed incorrectly, explain why and we'll consider if it needs to be reopened.
• Title Must be clear, concise, and accurately describe what the issue is about.
• Description Must include a clear explanation about the reasons for doing the work. Preferably in the form of a user story that clearly mentions the stakeholders involved and their wishes.
• Acceptance criteria Must be a list of measurable achievements that indicate the work in the issue is done.
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to make participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
• Using welcoming and inclusive language
• Being respectful of differing viewpoints and experiences
• Gracefully accepting constructive criticism
• Focusing on what is best for the community
• Showing empathy towards other community members
• The use of sexualized language or imagery and unwelcome sexual attention or advances
• Trolling, insulting/derogatory comments, and personal or political attacks
• Public or private harassment
• Publishing others' private information, such as a physical or electronic address, without explicit permission
• Other conduct which could reasonably be considered inappropriate in a professional setting
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
Instances of abusive, harassing or otherwise unacceptable behavior may be reported by contacting the project team on GitHub. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality about the reporter of an incident. Further details of specific enforcement policies may be posted separately. Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
This Code of Conduct is adapted from the Contributor Covenant, version 1.4, available at http://contributor-covenant.org/version/1/4