Whenever you encounter a 🪲 bug or have 🎉 feature request, report this via GitHub issues.
We are happy to receive contributions in the form of pull requests via GitHub.
Feel free to fork the repository, implement your changes and create a merge request to the dev branch.
First, make sure you have python
installed. You will need to install all the requirements
and the requirements-dev
using the following commands:
pip install -r requirements.txt
pip install -r requirements-dev.txt
You can run the program with python main.py
Before doing your pull request, check using pylint
and pytest
that there were no code regressions.
pylint .\pyflow\
Some pylint
issues can be fixed automatically using black
, with the following command:
black .
pytest --cov=pyflow --cov-report=html tests/unit
We want to keep the Pylint score above 9.0.
The comments and docstrings should preferably follow these guidelines.
Commits should start with a Capital letter and should be written in present tense (e.g. :tada: Add cool new feature
instead of :tada: Added cool new feature
).
You should also start your commit message with one or two applicable emoji. This does not only look great but also makes you rethink what to add to a commit. Make many but small commits!
Emoji | Description |
---|---|
🎉 :tada: |
When you add a cool new feature |
🪲 :beetle: |
When you fixed a bug |
🔥 :fire: |
When you removed something |
🚚 :truck: |
When you moved/renamed something |
🔧 :wrench: |
When you improved/refactored a small piece of code |
🔨 :hammer: |
When you improved/refactored a large piece of code |
✨ :sparkles: |
When you improved code quality (pylint, PEP, ...) |
🎨 :art: |
When you improved/added design assets |
🚀 :rocket: |
When you improved performance. |
📝 :memo: |
When you wrote documentation. |
☔ :umbrella: |
When you improved coverage |
🔀 :twisted_rightwards_arrows: |
When you merge a branch |
This section was inspired by This repository.
You can checkout this commit which contains the minimal amount of code required to create a new block type.
Version numbers will be assigned according to the Semantic Versioning scheme. This means, given a version number MAJOR.MINOR.PATCH, we will increment the:
- MAJOR version when we make incompatible API changes,
- MINOR version when we add functionality in a backwards compatible manner, and
- PATCH version when we make backwards compatible bug fixes.