Contributing

Table of contents

  1. What to contribute

  2. Feedback

  3. Code

What to contribute

We welcome contributions to the project from anyone who wants to:

  • give feedback

  • add features

  • fix bugs

  • improve documentation

  • add examples

Feedback

Use the form below to provide feedback:

Code

https://img.shields.io/bitbucket/pipelines/agiletekengineering/pyqalx:alt:BitbucketPipelines https://api.codacy.com/project/badge/Grade/fdfb81fd286a474098b624b426d63c41 https://api.codacy.com/project/badge/Coverage/fdfb81fd286a474098b624b426d63c41

Note

The pyqalx code will become fully open source on release of version 1.0. Until then you must request access to the codebase hosted at Bitbucket. Send an email to request access.

All code contributions should be made in through pull requests and there are some simple rules to follow:

  • check that the issue hasn’t been submitted previously or is being worked on by someone else

  • follow the git flow branching system. Always branch off the develop branch to add new features.

  • always add tests to cover any code you add if possible these should be unit tests but some types of feature (mainly relating to bots) are better to address in functional tests.

  • ensure that your code complies with black and flake8. The build chain will fail if it doesn’t. You can make your life easier by doing pre-commit install once you’ve installed the requirements (poetry install). This adds a series of pre-commit hooks which handle formatting for you and will prevent a commit if not compliant.

  • add emojis to the start of commit messages to give a quick visual indicator of the content of the commit (use win + . keyboard shortcut to bring up emoji on windows):

    Commit type

    Emoji

    Initial commit

    🎉 :tada:

    Version tag

    🔖 :bookmark:

    New feature

    ✨ :sparkles:

    Bugfix

    🐛 :bug:

    Documentation

    📚 :books:

    Documenting source code

    💡 :bulb:

    Performance

    🐎 :racehorse:

    Cosmetic

    💄 :lipstick:

    Adding a test

    ✅ :white_heavy_check_mark:

    Make a test pass

    ✔ :heavy_check_mark:

    General update

    ⚡ :zap:

    Improve format/structure

    🎨 :art:

    Refactor code

    🔨 :hammer:

    Removing code/files

    🔥 :fire:

    Continuous Integration

    💚 :green_heart:

    Security

    🔒 :lock:

    Upgrading dependencies

    ⬆ :arrow_up:

    Downgrading dependencies

    ⬇ :arrow_down:

    Critical hotfix

    🚑 :ambulance:

    Deployment

    🚀 :rocket:

    Fixing on Linux

    🐧 :penguin:

    Fixing on Windows

    🔲 :black_square_button:

    Work in progress

    🚧 :construction:

    Merging branches

    🔀 :twisted_rightwards_arrows:

    Bad code / need improv.

    💩 :hankey:

    Reverting changes

    ⏪ :rewind:

    Breaking changes

    💥 :boom:

    Code review changes

    👌 :ok_hand:

    Bots code

    🤖 :robot_face:

    Adapters code

    🔌 :electric_plug: