Skip to content

Latest commit

 

History

History
87 lines (62 loc) · 2.44 KB

CONTRIBUTING.md

File metadata and controls

87 lines (62 loc) · 2.44 KB

Contributing to nujo

First off, thank you for considering contributing to nujo. It's people like you that make nujo such a great tool.

Reporting issues

  • Describe what you expect to happen
  • Describe what happened
  • If you could, include a minimal reproducible example
  • List vesions of your Python, NumPy and GarphViz

Submiting code

  • It is recommended to use Visual Studio Code
  • All commits will be tested against flake8 linter, so make sure to abide by PEP8

Commit messages

  • "[up:branch] commit-message" - creating bugs
  • "[fix:branch] commit-message" - correcting bugs
  • "[rm:branch] commit-message" - delete files
  • For the branch name, skip the type(feature, release, hotfix)

Branching strategy

We are using Gitflow as a branching strategy. We have the following branches:

  • master - stable, production ready code; latest stable release
  • develop - main branch for developing, all other branches get merged here
  • feature/feature-name - implementation of specific features
  • release/release-tag - release cycle; a release is made out of the develop branch
  • hotfix/hotfix-name - fixing important bugs in releases quickly

Gitflow reference

Task Management Tool

The Kanban tool used for this project is Trello

Getting started

Prerequisites

  • Python - The Programming Language used (version 3.6+)
  • Poetry - Dependency and Virtual Environment Management

Download for Mac OSX using Homebrew

$ brew install python poetry

Installing and setting up nujo

Run the following in the terminal:

$ git clone https://github.com/VIVelev/nujo && cd nujo
$ poetry install && poetry shell

Running the tests

Once you have Installed and set up nujo, run:

$ pytest

Your First Contribution

coming soon...

When and how to write unit tests?

coming soon...

Pyhton Docstrings format

Use the following format to document python code.

''' Name of the Python object you are documenting

Short description

Parameters:
-----------
 - param_name : param type, description...

Returns:
--------
 - return_name : return type, description...

'''