Important
This is part of aDraft of the Python Contributor’s Guide.Text in square brackets are notes about content to fill in.Currently, the devguide and this new Contributor’s Guide co-exist in therepo. We are using Sphinx include directives to demonstrate the re-organization.The final Contributor’s Guide will replace the devguide with content in only oneplace.We welcome help with this!
The[Plan for the Contributor’s Guide] page has more details about the current state of this draftandhow you can help. See more info about the Contributor Guide in thediscussion forum:Refactoring the DevGuide.
[This is the existingIssue tracker page from the devguide]
If you think you have found a bug in Python, you can report it to theissue tracker. Theissue tracker is now hosted on GitHub, alongsidethe codebase and pull requests. Documentation bugs can also be reported there.
If you would like to file an issue about this devguide, please do so at thedevguide repo.
Note
Prior to moving the issue tracker to GitHub,Python used to use a dedicatedRoundup instance as its issue tracker.Thatold bug tracker was hosted under the domainbugs.python.org
(sometimes calledbpo
for short). A read-only version isavailable on that domain for historical purposes. Allbpo
data has beenmigrated to the currentissue tracker on GitHub.
If you’re familiar withbpo
and would like to learn more about GitHubissues, please read this page, and theTriaging an issue page as theyprovide good introductory material. There is also aGitHub issues for BPO usersdocument to answer some of the more popular questions.
The first step before filing an issue report is to see whether the problem hasalready been reported. Checking if the problem is an existing issue will:
help you see if the problem has already been resolved or has been fixed forthe next release
save time for you and the developers
help you learn what needs to be done to fix it
determine if additional information, such as how to replicate the issue,is needed
To see if an issue already exists, search the bug database using the search boxabove the list of bugs on the issues page. A form-basedadvanced search querybuilder is also available on GitHub to help creating the text query you need.
If the problem you’re reporting is not already in theissue tracker, youcan report it using the greenNew issue button on the right of the searchbox above the list of bugs. If you’re not already signed in to GitHub, itwill ask you to do so now.
First you need to select what kind of problem you want to report. Theavailable choices include, for example:
Bug report: an existing feature isn’t working as expected.
Documentation: there is missing, invalid, or misleading documentation.
Feature or enhancement: suggest a new feature for Python.
Report a security vulnerability: privately report a security vulnerability.
Depending on your choice, a dedicated form template will appear.In particular, you’ll notice that the last button actually takes you tothePython Discourse (discuss.python.org
),where many Python-related discussions take place.
The submission form has only two fields that you need to fill:
in theTitle field, enter avery short description of the problem;less than ten words is good;
in theWrite field, describe the problem in detail using hints fromthe template that was put in that field for you. Be sure to include whatyou expected to happen, what did happen, and how to replicate theproblem. Be sure to include whether any extension modules were involved,and what hardware and software platform you were using (including versioninformation as appropriate). In particular,what version of Python youwere using.
You can tag someone, with@username
in a comment,if you think the issue should be brought to their attention.Use theExperts index to know who wants to betagged or assigned for specific areas.
There are a number of additional fields likeAssignees,Labels,andProjects. Those are filled by triagers and coredevelopers and are covered in theTriaging an issue page. You don’t needto worry about those when reporting issues as a Python user.
The following abbreviations can be used in a comment to generate a link:
GH-NNN
: to link to another issue or PR;
PEP-NNN
: to link to a specific PEP;
BPO-NNN
: to link to a bugs.python.org issue;
See also thelist of autolinks supported by GitHub.
If you want to subscribe yourself to an issue, click the🔔 Subscribebutton in the sidebar. Similarly, if you were tagged by somebody else butdecided this issue is not for you, click the🔕 Unsubscribebutton in the sidebar. Note that you are automatically subscribed toissues you created.
It is possible to usechecklists to track dependencies or,in case of meta-issues, to link to the other related issues.
By writingDuplicateof#NNN
in a comment, you canmark issues and PRs as duplicates.
As humans, we will have differences of opinions from time to time. First andforemost, please be respectful that care, thought, and volunteer time went intothe resolution.
With this in mind, take some time to consider any comments made in associationwith the resolution of the issue. On reflection, the resolution steps may seemmore reasonable than you initially thought.
If you still feel the resolution is incorrect, then raise a thoughtful questionon theCore Development Discourse category.Further argument and disrespectful responsesafter a consensus has been reached amongst the core developers is unlikely towin any converts.
As a reminder, issues closed by a core developer have already been carefullyconsidered. Please do not reopen a closed issue. An issue can be closed withreason either ascomplete
ornotplanned
.
See also
Where to report issues about Python.