Skip to content

Latest commit

 

History

History
75 lines (51 loc) · 4.8 KB

CONTRIBUTING.md

File metadata and controls

75 lines (51 loc) · 4.8 KB

PyFlow - Contributing guide

Pytest badge Pylint badge Unit coverage badge Integration coverage badge

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.

Getting started

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.

Git Commit Messages

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.

Creating a new block type

You can checkout this commit which contains the minimal amount of code required to create a new block type.

Version Numbers

Version numbers will be assigned according to the Semantic Versioning scheme. This means, given a version number MAJOR.MINOR.PATCH, we will increment the:

  1. MAJOR version when we make incompatible API changes,
  2. MINOR version when we add functionality in a backwards compatible manner, and
  3. PATCH version when we make backwards compatible bug fixes.