1.. _reporting-bugs:
2
3*****************
4Dealing with Bugs
5*****************
6
7Python is a mature programming language which has established a reputation for
8stability.  In order to maintain this reputation, the developers would like to
9know of any deficiencies you find in Python.
10
11It can be sometimes faster to fix bugs yourself and contribute patches to
12Python as it streamlines the process and involves less people. Learn how to
13:ref:`contribute <contributing-to-python>`.
14
15Documentation bugs
16==================
17
18If you find a bug in this documentation or would like to propose an improvement,
19please submit a bug report on the :ref:`tracker <using-the-tracker>`.  If you
20have a suggestion on how to fix it, include that as well.
21
22If you're short on time, you can also email documentation bug reports to
23docs@python.org (behavioral bugs can be sent to python-list@python.org).
24'docs@' is a mailing list run by volunteers; your request will be noticed,
25though it may take a while to be processed.
26
27.. seealso::
28
29   `Documentation bugs`_
30      A list of documentation bugs that have been submitted to the Python issue tracker.
31
32   `Issue Tracking <https://devguide.python.org/tracker/>`_
33      Overview of the process involved in reporting an improvement on the tracker.
34
35   `Helping with Documentation <https://devguide.python.org/docquality/#helping-with-documentation>`_
36      Comprehensive guide for individuals that are interested in contributing to Python documentation.
37
38.. _using-the-tracker:
39
40Using the Python issue tracker
41==============================
42
43Bug reports for Python itself should be submitted via the Python Bug Tracker
44(https://bugs.python.org/).  The bug tracker offers a Web form which allows
45pertinent information to be entered and submitted to the developers.
46
47The first step in filing a report is to determine whether the problem has
48already been reported.  The advantage in doing so, aside from saving the
49developers time, is that you learn what has been done to fix it; it may be that
50the problem has already been fixed for the next release, or additional
51information is needed (in which case you are welcome to provide it if you can!).
52To do this, search the bug database using the search box on the top of the page.
53
54If the problem you're reporting is not already in the bug tracker, go back to
55the Python Bug Tracker and log in.  If you don't already have a tracker account,
56select the "Register" link or, if you use OpenID, one of the OpenID provider
57logos in the sidebar.  It is not possible to submit a bug report anonymously.
58
59Being now logged in, you can submit a bug.  Select the "Create New" link in the
60sidebar to open the bug reporting form.
61
62The submission form has a number of fields.  For the "Title" field, enter a
63*very* short description of the problem; less than ten words is good.  In the
64"Type" field, select the type of your problem; also select the "Component" and
65"Versions" to which the bug relates.
66
67In the "Comment" field, describe the problem in detail, including what you
68expected to happen and what did happen.  Be sure to include whether any
69extension modules were involved, and what hardware and software platform you
70were using (including version information as appropriate).
71
72Each bug report will be assigned to a developer who will determine what needs to
73be done to correct the problem.  You will receive an update each time action is
74taken on the bug.
75
76
77.. seealso::
78
79   `How to Report Bugs Effectively <https://www.chiark.greenend.org.uk/~sgtatham/bugs.html>`_
80      Article which goes into some detail about how to create a useful bug report.
81      This describes what kind of information is useful and why it is useful.
82
83   `Bug Report Writing Guidelines <https://developer.mozilla.org/en-US/docs/Mozilla/QA/Bug_writing_guidelines>`_
84      Information about writing a good bug report.  Some of this is specific to the
85      Mozilla project, but describes general good practices.
86
87.. _contributing-to-python:
88
89Getting started contributing to Python yourself
90===============================================
91
92Beyond just reporting bugs that you find, you are also welcome to submit
93patches to fix them.  You can find more information on how to get started
94patching Python in the `Python Developer's Guide`_.  If you have questions,
95the `core-mentorship mailing list`_ is a friendly place to get answers to
96any and all questions pertaining to the process of fixing issues in Python.
97
98.. _Documentation bugs: https://bugs.python.org/issue?@filter=status&@filter=components&components=4&status=1&@columns=id,activity,title,status&@sort=-activity
99.. _Python Developer's Guide: https://devguide.python.org/
100.. _core-mentorship mailing list: https://mail.python.org/mailman3/lists/core-mentorship.python.org/
101