Skip to content

Latest commit

 

History

History
89 lines (62 loc) · 3.2 KB

CONTRIBUTING.md

File metadata and controls

89 lines (62 loc) · 3.2 KB

Contributing

All contributions are welcome, including new features, bug fixes, and documentation improvements. Please follow the guidelines below to make the contribution process as smooth as possible.

Style guide

Branch Naming

We use the Git-Flow branching model. The branch names are prefixed with feature/, bugfix/, hotfix/, docs/ or ci/. The main branch is the stable branch. Your pull requests should be made against the main branch.

Commit Convention

All of commits should follow the Conventional Commits convention. This convention is used to generate the changelog and bump project version by commitizen. So, please follow the convention when you commit.

Code Style

All of code should follow the PEP 8 -- Style Guide for Python Code. The pre-commit hooks are defined in pre-commit config file. The hooks will check and format the code style automatically when you commit. If you don't know how to use pre-commit, please refer pre-commit documentation.

Pull Request

The title of the pull request should be the same as the title of the branch. If branch name is feature/awesome-feature, the title of the pull request should be feat: awesome feature.

Dependency Management

We use poetry for dependency management. Our dependencies are defined in pyproject.toml file and poetry.lock file. Do not edit this file manually. If you want to add or remove dependencies, please use poetry add or poetry remove command.

Activate virtual environment

poetry shell

This command will activate the virtual environment and install all dependencies.

Install dependencies

poetry install

Do not use pip install command. If you want to install dependencies for production, use poetry install command.

poetry install --with <group>

Use --with option to install dependencies for specific group. If all keyword is used, all dependencies will be installed.

Our dependencies are divided into 3 groups: dev, test, and docs.

  • dev: dependencies for development
  • test: dependencies for testing
  • docs: dependencies for documentation

How to develop

Note: The poetry are required to contribute this project. If you don't know how to use it, please refer dependency management section.

  1. Fork the repository on GitHub
  2. Create a branch for the new feature
  3. Make your changes, committing at logical breaks
  4. Push your changes to a topic branch in your fork of the repository.
  5. Submit a pull request to the original repository

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository. The version bump is done by commitizen and the Github Actions. If you want to see this mechanism, please refer our bump-version action or commitizen documentation.