How to contribute¶
Dependencies¶
We use poetry to manage the dependencies.
To install them you would need to run install
command:
poetry install
To activate your virtualenv
run poetry shell
.
One magic command¶
Run make test
to run everything we have!
Tests¶
We use flake8
for quality control.
We also use wemake_python_styleguide to enforce the code quality.
To run linting:
flake8 .
Keep in mind: default virtual environment folder excluded by flake8 style checking is .venv
.
If you want to customize this parameter, you should do this in setup.cfg
.
These steps are mandatory during the CI.
Submitting your code¶
We use trunk based
development (we also sometimes call it wemake-git-flow
).
What the point of this method?
We use protected
master
branch, so the only way to push your code is via pull requestWe use issue branches: to implement a new feature or to fix a bug create a new branch named
issue-$TASKNUMBER
Then create a pull request to
master
branchWe use
git tag
s to make releases, so we can track what has changed since the latest release
So, this way we achieve an easy and scalable development process which frees us from merging hell and long-living branches.
In this method, the latest version of the app is always in the master
branch.
Before submitting¶
Before submitting your code please do the following steps:
Add any changes you want
Add tests for the new changes
Edit documentation if you have changed something significant
Update
CHANGELOG.md
with a quick summary of your changesRun
flake8
to ensure that style is correctRun
doc8
to ensure that docs are correct
Other help¶
You can contribute by spreading a word about this library. It would also be a huge contribution to write a short article on how you are using this project. You can also share your best practices with us.