1=================
2Development Guide
3=================
4
5Some general guidelines regarding development in pytest for maintainers and contributors. Nothing here
6is set in stone and can't be changed, feel free to suggest improvements or changes in the workflow.
7
8
9Code Style
10----------
11
12* `PEP-8 <https://www.python.org/dev/peps/pep-0008>`_
13* `flake8 <https://pypi.org/project/flake8/>`_ for quality checks
14* `invoke <http://www.pyinvoke.org/>`_ to automate development tasks
15
16
17Branches
18--------
19
20We have two long term branches:
21
22* ``master``: contains the code for the next bugfix release.
23* ``features``: contains the code with new features for the next minor release.
24
25The official repository usually does not contain topic branches, developers and contributors should create topic
26branches in their own forks.
27
28Exceptions can be made for cases where more than one contributor is working on the same
29topic or where it makes sense to use some automatic capability of the main repository, such as automatic docs from
30`readthedocs <readthedocs.org>`_ for a branch dealing with documentation refactoring.
31
32Issues
33------
34
35Any question, feature, bug or proposal is welcome as an issue. Users are encouraged to use them whenever they need.
36
37GitHub issues should use labels to categorize them. Labels should be created sporadically, to fill a niche; we should
38avoid creating labels just for the sake of creating them.
39
40Each label should include a description in the GitHub's interface stating its purpose.
41
42Temporary labels
43~~~~~~~~~~~~~~~~
44
45To classify issues for a special event it is encouraged to create a temporary label. This helps those involved to find
46the relevant issues to work on. Examples of that are sprints in Python events or global hacking events.
47
48* ``temporary: EP2017 sprint``: candidate issues or PRs tackled during the EuroPython 2017
49
50Issues created at those events should have other relevant labels added as well.
51
52Those labels should be removed after they are no longer relevant.
53
54
55.. include:: ../../HOWTORELEASE.rst
56