- Be polite, kind and respectful towards everyone
- Welcome diversities and divergences of viewpoints
- Do not go offtopic when commenting on issues
- Be professional and do your best
You can contribute with issues by:
- Proposing/requesting a
new feature
- Reporting a
bug
- Pointing out errors or lack of information on the
documentation
- Asking a
question
- Presenting a better way to do something with a
better code
- Giving tips for better project
management
practices
I've highlighted the labels that will be used in each case.
Code contributions can only be made if there is an open issue related to the
changes you want to make, where we have discussed and come to an agreement about
them. Such issues will be tagged with the approved
label. Comment on the issue
saying that you will work on it and I will assign it to you.
After forking the repository, clone the dev
branch with:
~$ git clone --branch dev --single-branch https://github.com/your_username/miraiml.git
Then change directory and checkout to a new branch named after the issue you want
to work on (e.g.: issue-42
)
~$ cd miraiml
~/miraiml$ git checkout -b issue-42
Install the development dependencies with make develop
and now you're all set.
Please follow the PEP8 guidelines while coding, although the maximum line
length is 100 instead of 79. Using flake8 is highly recommended and you
can do so by calling ~/miraiml$ make flake
.
Remember to document everything you code. You can see the rendered version of the
documentation by calling ~/miraiml$ make docs
(requires Sphinx and
sphinx-rtd-theme).
After coding the functionality, please write the respective unit test in the
tests
folder. In order to test it, you'll need to install the lib with your code
by calling make install
and then call make tests
.
Feel free to call ~/miraiml$ make help
for more information on make directives.
Before commiting your changes, remember to increment the package version according
to the Semantic Versioning specification. The version is defined as a
string on miraiml/__init__.py
.
Commit your changes and push them to the corresponding branch (e.g.: issue-42
)
of your own fork of the repository and then go to the
original repository page. You should be able to see a button to open a
pull request.
Make sure you select the dev
branch as the target of your merge request. Insert
the link of to the issue on your pull request description and Github will
automatically mention that reference on the issue after you open the pull request.
It will make things a lot easier to keep track of.