# How to Contribute

Everyone is welcome to contribute to PyTango project. If you don’t feel comfortable with writing core PyTango we are looking for contributors to documentation or/and tests.

## Workflow

A normal Git workflow is used. You can find how to automate your git branching workflow example. Good practices:

- There is no special policy regarding commit messages. They should be short (50 chars or less) and contain summary of all changes,
- A CONTRIBUTING file is required,
- Pull requests should be ALWAYS made to develop branch, not to a master branch.

## reStructuredText and Sphinx

Documentation is written in reStructuredText and built with Sphinx - it’s easy to contribute. It also uses autodoc importing docstrings from tango package. Theme is not important, a theme prepared for Tango Community can be also used.

## Source code standard

All code should be PEP8 compatible. We have set up checking code quality with Codacy which uses PyLint under the hood. You can see how well your code is rated on your PR’s page.

Note

The accepted policy is that your code cannot introduce more issues than it solves!

You can also use other tools for checking PEP8 compliance for your personal use. One good example of such a tool is Flake8 which combines PEP8 and PyFlakes. There are plugins for various IDEs so that you can use your favourite tool easily.