From 3743f23debbf9ee0ea1761a99350aea4e591e302 Mon Sep 17 00:00:00 2001 From: Zachary Ware Date: Wed, 9 Oct 2024 13:34:30 -0500 Subject: [PATCH 1/7] Remove obsolete 'custom builders' section (#1435) --- testing/buildbots.rst | 32 -------------------------------- 1 file changed, 32 deletions(-) diff --git a/testing/buildbots.rst b/testing/buildbots.rst index 38e6063647..22962faaf6 100644 --- a/testing/buildbots.rst +++ b/testing/buildbots.rst @@ -223,37 +223,5 @@ and unpredictable, the issue should be reported on the bug tracker; even better if it can be diagnosed and suppressed by fixing the test's implementation, or by making its parameters - such as a timeout - more robust. - -Custom builders -=============== - -.. highlight:: console - -When working on a platform-specific issue, you may want to test your changes on -the buildbot fleet rather than just on GitHub Actions and Azure Pipelines. To do so, you can -make use of the `custom builders -`_. -These builders track the ``buildbot-custom`` short-lived branch of the -``python/cpython`` repository, which is only accessible to core developers. - -To start a build on the custom builders, push the commit you want to test to -the ``buildbot-custom`` branch:: - - $ git push upstream :buildbot-custom - -You may run into conflicts if another developer is currently using the custom -builders or forgot to delete the branch when they finished. In that case, make -sure the other developer is finished and either delete the branch or force-push -(add the ``-f`` option) over it. - -When you have gotten the results of your tests, delete the branch:: - - $ git push upstream :buildbot-custom # or use the GitHub UI - -If you are interested in the results of a specific test file only, we -recommend you change (temporarily, of course) the contents of the -``buildbottest`` clause in ``Makefile.pre.in``; or, for Windows builders, -the ``Tools/buildbot/test.bat`` script. - .. seealso:: :ref:`buildworker` From 356fea2853505515f5da8899e2f8c1c4a988f665 Mon Sep 17 00:00:00 2001 From: Zachary Ware Date: Wed, 9 Oct 2024 13:56:47 -0500 Subject: [PATCH 2/7] Restore support for Python 3.10 to build (#1436) `/usr/bin/python3` is still 3.10 in some widely-used distros and the support requirement is not onerous, needing only to use a longer-lived alias for the same object (`assert datetime.UTC is datetime.timezone.utc` holds where both exist). --- .ruff.toml | 2 +- _tools/generate_release_cycle.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.ruff.toml b/.ruff.toml index 550f27e614..af448e5b6e 100644 --- a/.ruff.toml +++ b/.ruff.toml @@ -1,4 +1,4 @@ -target-version = "py311" +target-version = "py310" fix = true output-format = "full" line-length = 88 diff --git a/_tools/generate_release_cycle.py b/_tools/generate_release_cycle.py index ed27424ddb..3a8fefec02 100644 --- a/_tools/generate_release_cycle.py +++ b/_tools/generate_release_cycle.py @@ -45,7 +45,7 @@ def __init__(self) -> None: def write_csv(self) -> None: """Output CSV files.""" - now_str = str(dt.datetime.now(dt.UTC)) + now_str = str(dt.datetime.now(dt.timezone.utc)) versions_by_category = {"branches": {}, "end-of-life": {}} headers = None From 97ad6943bb33b082b175f819c9c84b540d5e4354 Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> Date: Thu, 10 Oct 2024 08:47:42 +0300 Subject: [PATCH 3/7] Remove mentions of EOL Python 3.8 (#1434) --- developer-workflow/development-cycle.rst | 24 +++++++++++------------- getting-started/setup-building.rst | 8 ++++---- internals/garbage-collector.rst | 2 +- 3 files changed, 16 insertions(+), 18 deletions(-) diff --git a/developer-workflow/development-cycle.rst b/developer-workflow/development-cycle.rst index 9c156abbd5..c7cf6a8b2b 100644 --- a/developer-workflow/development-cycle.rst +++ b/developer-workflow/development-cycle.rst @@ -37,7 +37,7 @@ Branches -------- There is a branch for each *feature version*, whether released or not (for -example, 3.7, 3.8). +example, 3.12, 3.13). .. _indevbranch: @@ -51,13 +51,11 @@ changes, performance improvements, bug fixes. At some point during the life-cycle of a release, a new :ref:`maintenance branch ` is created to host all bug fixing -activity for further micro versions in a feature version (3.8.1, 3.8.2, etc.). +activity for further micro versions in a feature version (3.12.1, 3.12.2, and so +on). -For versions 3.4 and before, this was conventionally done when the final -release was cut (for example, 3.4.0 final). - -Starting with the 3.5 release, we create the release maintenance branch -(``3.5``) at the time we enter beta (3.5.0 beta 1). This allows +We create the release maintenance branch +(``3.14``) at the time we enter beta (3.14.0 beta 1). This allows feature development for the release 3.n+1 to occur within the main branch alongside the beta and release candidate stabilization periods for release 3.n. @@ -79,7 +77,7 @@ releases; the terms are used interchangeably. These releases have a The only changes allowed to occur in a maintenance branch without debate are bug fixes, test improvements, and edits to the documentation. Also, a general rule for maintenance branches is that compatibility -must not be broken at any point between sibling micro releases (3.5.1, 3.5.2, +must not be broken at any point between sibling micro releases (3.12.1, 3.12.2, etc.). For both rules, only rare exceptions are accepted and **must** be discussed first. @@ -97,9 +95,9 @@ that maintenance branch. Sometime following the final release (3.x.0), the maintenance branch for the previous minor version will go into :ref:`security mode `, usually after at least one more bugfix release at the discretion of the -release manager. For example, the 3.4 maintenance branch was put into -:ref:`security mode ` after the 3.4.4 bugfix release -which followed the release of 3.5.1. +release manager. For example, the 3.11 maintenance branch was put into +:ref:`security mode ` after the 3.11.9 bugfix release +which followed the release of 3.12.2. .. _secbranch: @@ -131,7 +129,7 @@ End-of-life branches The code base for a release cycle which has reached end-of-life status is frozen and no longer has a branch in the repo. The final state of the end-of-lifed branch is recorded as a tag with the same name as the -former branch, for example, ``3.3`` or ``2.6``. +former branch, for example, ``3.8`` or ``2.7``. The :ref:`versions` page contains list of active and end-of-life branches. @@ -347,7 +345,7 @@ Current administrators | Pablo Galindo | Python 3.10 and 3.11 Release Manager, | pablogsal | | | Maintainer of buildbot.python.org | | +-------------------+----------------------------------------------------------+-----------------+ -| Łukasz Langa | Python 3.8 and 3.9 Release Manager, | ambv | +| Łukasz Langa | Python 3.9 Release Manager, | ambv | | | PSF CPython Developer in Residence 2021-present | | +-------------------+----------------------------------------------------------+-----------------+ | Brett Cannon | | brettcannon | diff --git a/getting-started/setup-building.rst b/getting-started/setup-building.rst index 4f7478dbce..dc5634c2fa 100644 --- a/getting-started/setup-building.rst +++ b/getting-started/setup-building.rst @@ -116,8 +116,8 @@ in the ``cpython`` directory and two remotes that refer to your own GitHub fork If you want a working copy of an already-released version of Python, that is, a version in :ref:`maintenance mode `, you can checkout -a release branch. For instance, to checkout a working copy of Python 3.8, -do ``git switch 3.8``. +a release branch. For instance, to checkout a working copy of Python 3.13, +do ``git switch 3.13``. You will need to re-compile CPython when you do such an update. @@ -730,9 +730,9 @@ some of CPython's modules (for example, ``zlib``). ./configure --with-pydebug \ --with-openssl="$(brew --prefix openssl@3)" - .. tab:: Python 3.8-3.10 + .. tab:: Python 3.9-3.10 - For Python 3.8, 3.9, and 3.10:: + For Python 3.9 and 3.10:: $ CPPFLAGS="-I$(brew --prefix gdbm)/include -I$(brew --prefix xz)/include" \ LDFLAGS="-L$(brew --prefix gdbm)/lib -L$(brew --prefix xz)/lib" \ diff --git a/internals/garbage-collector.rst b/internals/garbage-collector.rst index 5b220bfe50..e84a53c229 100644 --- a/internals/garbage-collector.rst +++ b/internals/garbage-collector.rst @@ -167,7 +167,7 @@ C APIs Specific APIs are offered to allocate, deallocate, initialize, track, and untrack objects with GC support. These APIs can be found in the `Garbage Collector C API -documentation `_. +documentation `_. Apart from this object structure, the type object for objects supporting garbage collection must include the ``Py_TPFLAGS_HAVE_GC`` in its ``tp_flags`` slot and From e661e33bfe2fcdf39f81a9d93cd6e1fabb00cd5b Mon Sep 17 00:00:00 2001 From: Zachary Ware Date: Thu, 10 Oct 2024 03:46:22 -0500 Subject: [PATCH 4/7] Fix linkcheck issues (#1437) * Update linkcheck configuration for unavoidable link issues * Update the home of the python-checkins webhook * Fix broken extlink usage (The extlink extension does not handle the `!` prefix.) * Fix renamed PEP-0 section link * Update redirected links * Fix links to labels with spaces * Remove dead link --- conf.py | 17 +++++++++++------ core-developers/motivations.rst | 2 +- developer-workflow/communication-channels.rst | 4 ++-- developer-workflow/extension-modules.rst | 2 +- developer-workflow/lang-changes.rst | 2 +- getting-started/git-boot-camp.rst | 2 +- getting-started/setup-building.rst | 2 +- triage/issue-tracker.rst | 2 +- triage/labels.rst | 5 +++-- 9 files changed, 22 insertions(+), 16 deletions(-) diff --git a/conf.py b/conf.py index 64d7c68b90..aed6592c38 100644 --- a/conf.py +++ b/conf.py @@ -67,6 +67,7 @@ # Login page r"https://github.com/python/buildmaster-config/issues/new.*": r"https://github.com/login.*", # noqa: E501 r"https://github.com/python/core-workflow/issues/new.*": r"https://github.com/login.*", # noqa: E501 + r"https://github.com/orgs/python/teams.*": r"https://github.com/login.*", # noqa: E501 # Archive redirect r"https://github.com/python/cpython/archive/main.zip": r"https://codeload.github.com/python/cpython/zip/refs/heads/main", # noqa: E501 # Blob to tree @@ -89,6 +90,13 @@ r'\/.*', ] +# Check the link itself, but ignore anchors that are added by JS +# https://www.sphinx-doc.org/en/master/usage/configuration.html#confval-linkcheck_anchors_ignore_for_url +linkcheck_anchors_ignore_for_url = [ + # GitHub + r'https://github.com/.*', +] + linkcheck_ignore = [ # The voters repo is private and appears as a 404 'https://github.com/python/voters', @@ -98,17 +106,14 @@ 'https://discuss.python.org/groups/staff', 'https://discuss.python.org/groups/moderators', 'https://discuss.python.org/groups/admins', - # The crawler gets "Anchor not found" for GitHub anchors - r'https://github.com.+?#L\d+', - r'https://github.com/cli/cli#installation', - r'https://github.com/github/renaming#renaming-existing-branches', - r'https://github.com/python/bedevere/#pr-state-machine', # "Anchor not found": r'https://packaging.python.org/.*#', # "-rate limited-", causing a timeout r'https://stackoverflow.com/.*', # Discord doesn't allow robot crawlers: "403 Client Error: Forbidden" - 'https://support.discord.com/hc/en-us/articles/219070107-Server-Nicknames', + r'https://support.discord.com/hc/en-us/articles/219070107-Server-Nicknames', + # Patreon also gives 403 to the GHA linkcheck runner + r'https://www.patreon.com/.*', ] rediraffe_redirects = { diff --git a/core-developers/motivations.rst b/core-developers/motivations.rst index dfe41d5aeb..b805a7c67f 100644 --- a/core-developers/motivations.rst +++ b/core-developers/motivations.rst @@ -261,7 +261,7 @@ participating in the CPython core development process: .. topic:: Carol Willing (United States) - * Noteable: ``__ (VP Engineering) + * Noteable (VP Engineering) * Personal site: `Willing Consulting `_ * `Extended bio `__ * Project Jupyter (Software Council, Core Team for JupyterHub/Binder) diff --git a/developer-workflow/communication-channels.rst b/developer-workflow/communication-channels.rst index 60ba90339b..499ca9b964 100644 --- a/developer-workflow/communication-channels.rst +++ b/developer-workflow/communication-channels.rst @@ -263,7 +263,7 @@ Other core workflow tools are: * `blurb_it`_ * `miss-islington`_ * `cla-bot`_ -* `cpython-emailer-webhook`_ +* `webhook-mailer`_ Python `Performance Benchmark`_ project is intended to be an authoritative source of benchmarks for all Python implementations. @@ -274,5 +274,5 @@ source of benchmarks for all Python implementations. .. _blurb_it: https://github.com/python/blurb_it .. _miss-islington: https://github.com/python/miss-islington .. _cla-bot: https://github.com/ambv/cla-bot -.. _cpython-emailer-webhook: https://github.com/berkerpeksag/cpython-emailer-webhook +.. _webhook-mailer: https://github.com/python/webhook-mailer .. _Performance Benchmark: https://github.com/python/pyperformance diff --git a/developer-workflow/extension-modules.rst b/developer-workflow/extension-modules.rst index 118fe02d23..6150bb7c40 100644 --- a/developer-workflow/extension-modules.rst +++ b/developer-workflow/extension-modules.rst @@ -75,7 +75,7 @@ with the following :func:`!foo.greet` function: Instead of using the Python implementation of :func:`!foo.greet`, we want to use its corresponding C extension implementation exposed in the :mod:`!_foo` -module. Ideally, we want to modify :cpy-file:`!Lib/foo.py` as follows: +module. Ideally, we want to modify ``Lib/foo.py`` as follows: .. code-block:: python :caption: Lib/foo.py diff --git a/developer-workflow/lang-changes.rst b/developer-workflow/lang-changes.rst index 70ecd679d9..52aabb15dd 100644 --- a/developer-workflow/lang-changes.rst +++ b/developer-workflow/lang-changes.rst @@ -45,7 +45,7 @@ The `Ideas Discourse category`_ is specifically intended for discussion of new features and language changes. Please don't be disappointed if your idea isn't met with universal approval: as the :pep:`long list of Withdrawn and Rejected PEPs -<0#abandoned-withdrawn-and-rejected-peps>` +<0#rejected-superseded-and-withdrawn-peps>` in the :pep:`PEP Index <0>` attests, and as befits a reasonably mature programming language, getting significant changes into Python isn't a simple task. diff --git a/getting-started/git-boot-camp.rst b/getting-started/git-boot-camp.rst index f28ebefbce..15952d6bd2 100644 --- a/getting-started/git-boot-camp.rst +++ b/getting-started/git-boot-camp.rst @@ -341,7 +341,7 @@ example, backports to other branches), so this features is only useful if you know for sure that a single PR is enough to address and close the issue. .. _bedevere: https://github.com/python/bedevere -.. _special keywords: https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword +.. _special keywords: https://docs.github.com/en/issues/tracking-your-work-with-issues/using-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword Updating your CPython fork -------------------------- diff --git a/getting-started/setup-building.rst b/getting-started/setup-building.rst index dc5634c2fa..8c55bc625a 100644 --- a/getting-started/setup-building.rst +++ b/getting-started/setup-building.rst @@ -47,7 +47,7 @@ itself. Git is easily available for all common operating systems. or the `Git project instructions `_ for step-by-step installation directions. You may also want to consider a graphical client such as `TortoiseGit `_ or - `GitHub Desktop `_. + `GitHub Desktop `_. - **Configure** diff --git a/triage/issue-tracker.rst b/triage/issue-tracker.rst index a38e8d9e01..63076e7a19 100644 --- a/triage/issue-tracker.rst +++ b/triage/issue-tracker.rst @@ -159,6 +159,6 @@ reason either as ``complete`` or ``not planned``. .. _Python Discourse: https://discuss.python.org/ .. _autolinks: https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/autolinked-references-and-urls .. _checklists: https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/about-task-lists -.. _duplicates: https://docs.github.com/en/issues/tracking-your-work-with-issues/marking-issues-or-pull-requests-as-a-duplicate +.. _duplicates: https://docs.github.com/en/issues/tracking-your-work-with-issues/administering-issues/marking-issues-or-pull-requests-as-a-duplicate .. _Core Development Discourse category: https://discuss.python.org/c/core-dev/23 .. _old bug tracker: https://bugs.python.org/ diff --git a/triage/labels.rst b/triage/labels.rst index b75f757213..c2981f666d 100644 --- a/triage/labels.rst +++ b/triage/labels.rst @@ -147,9 +147,10 @@ to trigger specific bot behaviors. by these labels. See also :ref:`the status of the Python branches ` for a list of branches and the type of PRs that can be backported to them. -* :gh-label:`skip issue`: for trivial changes (such as typo fixes, comment +* :gh-label:`skip issue `: for trivial changes (such as + typo fixes, comment changes, and section rephrases) that don't require a corresponding issue. -* :gh-label:`skip news`: for PRs that don't need a NEWS entry. +* :gh-label:`skip news `: for PRs that don't need a NEWS entry. The :ref:`news-entry` section covers in details in which cases the NEWS entry can be skipped. * :gh-label:`test-with-buildbots`: used to test the latest commit with From 64b5b0e30870a7e1cfa8aac62dbaf3093558b926 Mon Sep 17 00:00:00 2001 From: Zachary Ware Date: Thu, 10 Oct 2024 10:43:13 -0500 Subject: [PATCH 5/7] Fix reference warnings caused by removal of __file__ from cpython docs (#1438) --- developer-workflow/extension-modules.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/developer-workflow/extension-modules.rst b/developer-workflow/extension-modules.rst index 6150bb7c40..7e32283c2e 100644 --- a/developer-workflow/extension-modules.rst +++ b/developer-workflow/extension-modules.rst @@ -31,7 +31,7 @@ Extension modules can be classified into two categories: * A *built-in* extension module is a module built and shipped with the Python interpreter. A built-in module is *statically* linked - into the interpreter, thereby lacking a :attr:`__file__` attribute. + into the interpreter, thereby lacking a :attr:`!__file__` attribute. .. seealso:: :data:`sys.builtin_module_names` --- names of built-in modules. @@ -41,7 +41,7 @@ Extension modules can be classified into two categories: * A *shared* (or *dynamic*) extension module is built as a shared library (``.so`` or ``.dll`` file) and is *dynamically* linked into the interpreter. - In particular, the module's :attr:`__file__` attribute contains the path + In particular, the module's :attr:`!__file__` attribute contains the path to the ``.so`` or ``.dll`` file. Shared modules are built with the :c:macro:`!Py_BUILD_CORE_MODULE` From 9c777785ee1c47dff8606f1be7f07f31fe4576e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Langa?= Date: Thu, 10 Oct 2024 20:03:55 +0200 Subject: [PATCH 6/7] Add Matt Page to core developers (#1439) --- core-developers/developers.csv | 1 + 1 file changed, 1 insertion(+) diff --git a/core-developers/developers.csv b/core-developers/developers.csv index 3808e76c92..52bbf00dd0 100644 --- a/core-developers/developers.csv +++ b/core-developers/developers.csv @@ -1,3 +1,4 @@ +Matt Page,mpage,2024-10-10,, Kirill Podoprigora,Eclips4,2024-09-20,, Ned Batchelder,nedbat,2024-07-16,, Tian Gao,gaogaotiantian,2024-06-06,, From 8ec03f998290751ba7414de4580dc59232a3104f Mon Sep 17 00:00:00 2001 From: Jacob Coffee Date: Thu, 10 Oct 2024 14:42:48 -0500 Subject: [PATCH 7/7] Infra: Use GitHub issue forms (#1414) Co-authored-by: Ezio Melotti Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com> --- .github/ISSUE_TEMPLATE/bug_report.md | 25 -------------- .github/ISSUE_TEMPLATE/bug_report.yml | 39 ++++++++++++++++++++++ .github/ISSUE_TEMPLATE/config.yml | 14 ++++++++ .github/ISSUE_TEMPLATE/feature_request.md | 22 ------------ .github/ISSUE_TEMPLATE/feature_request.yml | 39 ++++++++++++++++++++++ 5 files changed, 92 insertions(+), 47 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml create mode 100644 .github/ISSUE_TEMPLATE/config.yml delete mode 100644 .github/ISSUE_TEMPLATE/feature_request.md create mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index 78aa34d6bb..0000000000 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -name: Bug report -about: Create a report to help us improve -title: '' -labels: '' -assignees: '' - ---- - -> Note: This repo is for the Python devguide. If you are requesting an -enhancement for the Python language or CPython interpreter, -then the CPython issue tracker is better -suited for this report: https://github.com/python/cpython/issues - -**Describe the bug** -A clear and concise description of what the bug is. - -**Expected behavior** -A clear and concise description of what you expected to happen. - -**Screenshots** -If applicable, add screenshots to help explain your problem. - -**Additional context** -Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000000..b160c6ea11 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,39 @@ +name: "Bug report" +description: Create a report to help us improve the Python devguide +title: "Bug: " +labels: ["bug"] +assignees: [] + +body: + - type: markdown + attributes: + value: | + > [!NOTE] + > This repo is for the [Python developer's guide](https://devguide.python.org/). + > If you are reporting a bug for the Python language or + > CPython interpreter, then use the + > [CPython issue tracker](https://github.com/python/cpython/issues) instead. + + - type: textarea + id: bug_description + attributes: + label: "Describe the bug" + description: A clear and concise description of what the bug is and, optionally, what you expected to happen. + validations: + required: true + + - type: textarea + id: screenshots + attributes: + label: "Screenshots" + description: If applicable, add screenshots to help explain your problem. + validations: + required: false + + - type: textarea + id: additional_context + attributes: + label: "Additional context" + description: Add any other context about the problem here. + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000000..cd8c31d2a9 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,14 @@ +blank_issues_enabled: false +contact_links: + - name: CPython Documentation + url: https://docs.python.org/ + about: Official CPython documentation - please check here before opening an issue. + - name: Python Website + url: https://python.org/ + about: For all things Python + - name: PyPI Issues / Support + url: https://github.com/pypi/support + about: For issues with PyPI itself, PyPI accounts, or with packages hosted on PyPI. + - name: CPython Issues + url: https://github.com/python/cpython/issues + about: For issues with the CPython interpreter itself. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index eff8cb8f7a..0000000000 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -name: Feature request -about: Suggest an idea for this project -title: '' -labels: '' -assignees: '' - ---- - -> Note: This repo is for the Python devguide. If you are requesting an -enhancement for the Python language or CPython interpreter, -then the CPython issue tracker is better -suited for this report: https://github.com/python/cpython/issues - -**Describe the enhancement or feature you'd like** -A clear and concise description of what you want to happen. - -**Describe alternatives you've considered** -A clear and concise description of any alternative solutions or features you've considered. - -**Additional context** -Add any other context or screenshots about the feature request here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 0000000000..a4413c137a --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,39 @@ +name: "Feature request" +description: Suggest an idea for the Python devguide +title: "Feature: <title>" +labels: ["enhancement"] +assignees: [] + +body: + - type: markdown + attributes: + value: | + > [!NOTE] + > This repo is for the [Python developer's guide](https://devguide.python.org/). + > If you are requesting an enhancement for the Python language or + > CPython interpreter, then use the + > [CPython issue tracker](https://github.com/python/cpython/issues) instead. + + - type: textarea + id: feature_description + attributes: + label: "Describe the enhancement or feature you would like" + description: A clear and concise description of what you want to happen. + validations: + required: true + + - type: textarea + id: alternatives + attributes: + label: "Describe alternatives you have considered" + description: A clear and concise description of any alternative solutions or features you have considered. + validations: + required: false + + - type: textarea + id: additional_context + attributes: + label: "Additional context" + description: Add any other context or screenshots about the feature request here. + validations: + required: false