In this document you will find out about all rules and criteria for successful contributions to the repository. It is important to maintain some standards, specially regarding code style and documentation formatting. Read code style and documentation conventions carefully, since their violation will most probably lead to requests for you to fix your contributions.
All Python code follows the Style Guide for Python Code, which can be automatically enforced using linters such as autopep8
or flake8
. Furthermore, mypy
is used to ensure static data type usage and type hinting notation.
All Python docstrings follow the Google Docstring Format conventions. These docstrings can be further parsed by Sphinx using the napoleon
extension. This contributes to a more legible and easier to write code documentation.
You should start by taking a look at the active issue list in order to collaborate efficiently. If the functionality/bug you intend to implement/solve is not listed there, you can always create a new issue and explain your idea.
After that, go ahead and fork the repository. This will enable you to create new branches and implement your changes.
Once all changes have been committed and pushed, feel free to create a pull request (do not forget to link it to the issue you opened before!) and publish all modifications. Most probably, the PR will be blocked due to several reasons (apart from the standard Git conflict reasons):
Block reason | Solution |
---|---|
The PR is not reviewed | Await revision |
There are unresolved conversations | Await resolution confirmation |
The branch is not updated | Click the Update branch button or merge latest changes manually |
Status checks are not passing | Take a look at workflow logs and solve compatibility issues |
Go ahead and have some fun adding your grain of sand to the project. Thank you for the help!