summaryrefslogtreecommitdiffstats
path: root/third_party/python/Click/CONTRIBUTING.rst
blob: 4db9b65a3a17eb3d3f0e98982c2f7ce41072e26f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
==========================
How to contribute to Click
==========================

Thanks for considering contributing to Click.

Support questions
=================

Please, don't use the issue tracker for this. Check whether the
``#pocoo`` IRC channel on Freenode can help with your issue. If your problem
is not strictly Click-specific, ``#python`` on Freenode is generally more
active.  `StackOverflow <https://stackoverflow.com/>`_ is also worth
considering.

Reporting issues
================

- Under which versions of Python does this happen? This is even more important
  if your issue is encoding related.

- Under which versions of Click does this happen? Check if this issue is fixed
  in the repository.

Submitting patches
==================

- Include tests if your patch is supposed to solve a bug, and explain clearly
  under which circumstances the bug happens. Make sure the test fails without
  your patch.

- Try to follow `PEP8 <http://legacy.python.org/dev/peps/pep-0008/>`_, but you
  may ignore the line-length-limit if following it would make the code uglier.

- For features: Consider whether your feature would be a better fit for an
  `external package <https://click.palletsprojects.com/en/7.x/contrib/>`_

- For docs and bug fixes: Submit against the latest maintenance branch instead of master!

Running the testsuite
---------------------

You probably want to set up a `virtualenv
<https://virtualenv.readthedocs.io/en/latest/index.html>`_.

The minimal requirement for running the testsuite is ``py.test``.  You can
install it with::

    pip install pytest

Then you can run the testsuite with::

    py.test

For a more isolated test environment, you can also install ``tox`` instead of
``pytest``. You can install it with::

    pip install tox

The ``tox`` command will then run all tests against multiple combinations of
Python versions and dependency versions.