Skip to content

MNT: Simplify PR template#32100

Open
timhoffm wants to merge 1 commit into
matplotlib:mainfrom
timhoffm:pr-template
Open

MNT: Simplify PR template#32100
timhoffm wants to merge 1 commit into
matplotlib:mainfrom
timhoffm:pr-template

Conversation

@timhoffm

Copy link
Copy Markdown
Member

Closes #32093.

This is radically reduced to the essence.

We many discuss the single quality check box. But I felt ticking one box may still be a reasonable checkpoint to rethink the PR. If quality check was only informative text, it would likely be ignored much more. My fear is rather that people do not understand that they should tick the box.

Note: this is a template I myself would be willing to use :)

@story645

story645 commented Jul 22, 2026

Copy link
Copy Markdown
Member

. My fear is rather that people do not understand that they should tick the box.

In last week's meeting we discussed maybe using one of the AI review bots and @melissawm is doing a survey. The reason I think we can get rid of the checkboxes all together is b/c I'm guessing the coding guidelines are more or less a skills document.

Comment thread .github/PULL_REQUEST_TEMPLATE.md
Comment thread .github/PULL_REQUEST_TEMPLATE.md Outdated
Comment on lines -9 to -11
- Why is this change necessary?
- What problem does it solve?
- What is the reasoning for this implementation?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can this language maybe get moved to https://matplotlib.org/devdocs/devel/contribute.html#first-contributions b/c that's what it was aimed for

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Uh, oh that section has a verbatim copy of the PR template - will also need and upate, but not today anymore.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Uh, oh that section has a verbatim copy of the PR template - will also need and upate, but not today anymore.

That dropdown is an include to this file specifically so that they're always in sync:

.. dropdown:: `Pull request template <https://github.com/matplotlib/matplotlib/blob/main/.github/PULL_REQUEST_TEMPLATE.md>`_
:open:
.. literalinclude:: ../../.github/PULL_REQUEST_TEMPLATE.md
:language: markdown

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have no strong opinions on this other than that it's too detailed for the PR template. Would you be ok with making a PR with your wording on that topic, or create an issue and assign it to me? I don't what to have the bikeshedding of the first-contribution changes in this PR.

Comment thread .github/PULL_REQUEST_TEMPLATE.md Outdated
- [ ] *New Features* and *API Changes* are noted with a [directive and release note](https://matplotlib.org/devdocs/devel/api_changes.html#announce-changes-deprecations-and-new-features)
- [ ] Documentation complies with [general](https://matplotlib.org/devdocs/devel/document.html#write-rest-pages) and [docstring](https://matplotlib.org/devdocs/devel/document.html#write-docstrings) guidelines
## PR quality check
<!-- Make sure to conform with the project standards. Please check the following box! -->

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don' t think this needs the free text explanation of the checkbox

Suggested change
<!-- Make sure to conform with the project standards. Please check the following box! -->

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Without explanation and with the shorted checkbox text, will users still understand that they should tick the box?

@story645 story645 Jul 22, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the folks who aren't checking just aren't checking, but you can also make it sound like an attestation?

- [ ] I affirm that this PR complies with [matplotlib pull request guidelines](https://matplotlib.org/devdocs/devel/pr_guide.html#pull-request-guidelines)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think if there are checkboxes with no explanation, it can be ambiguous whether the author or the reviewer is supposed to mark them off.

@story645 story645 Jul 23, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

- [ ] My PR complies with [matplotlib pull request guidelines](https://matplotlib.org/devdocs/devel/pr_guide.html#pull-request-guidelines)

@story645 story645 Jul 23, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or going more formal but nothing gets stashed in a comment:

- [ ] I, the author of this PR, affirm that my PR complies with [matplotlib pull request guidelines](https://matplotlib.org/devdocs/devel/pr_guide.html#pull-request-guidelines)

Comment thread .github/PULL_REQUEST_TEMPLATE.md Outdated
the recommended next step seems overly demanding, if you would like help in
addressing a reviewer's comments, or if you have been waiting too long to hear
back on your PR.-->
- [ ] I am aware of and have followed the [matplotlib pull request guidelines](https://matplotlib.org/devdocs/devel/pr_guide.html#pull-request-guidelines)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- [ ] I am aware of and have followed the [matplotlib pull request guidelines](https://matplotlib.org/devdocs/devel/pr_guide.html#pull-request-guidelines)
- [ ] this PR complies with [matplotlib pull request guidelines](https://matplotlib.org/devdocs/devel/pr_guide.html#pull-request-guidelines)

@timhoffm

Copy link
Copy Markdown
Member Author

In last week's meeting we discussed maybe using one of the AI review bots

How does this relate to the PR template? Do you mean using it to evaluate the PR description?

@story645

Copy link
Copy Markdown
Member

How does this relate to the PR template?

That it'd be doing the "this PR complies w/ project standards" check just like the CI already handles most of the other checks. I don't know who the checkbox is for that isn't handled w/ the nudge at the top.

@rcomer

rcomer commented Jul 23, 2026

Copy link
Copy Markdown
Member

I think it is good to have a checkbox rather than just a nudge in the comments.

  1. It is more visible: personally when I am writing GitHub comments I tend to flick to the “Preview” to proof-read, and of course the checkbox appears there whereas the nudge does not.
  2. A lot of the AI PRs make their own checklist, and I’d rather point out that we already had one they should have used.

Removing the existing checklist probably means I will forget to add directives more often!

Closes matplotlib#32093.

This is radically reduced to the essence.

We many discuss the single quality check box. But I felt ticking one box may still be a reasonable checkpoint to rethink the PR. If quality check was only informative text, it would likely be ignored much more. My fear is rather that people do not understand that they should tick the box.

Note: this is a template I myself would be willing to use :)
@timhoffm

Copy link
Copy Markdown
Member Author

Based on #32100 (comment) I have scaled back and left the original checkboxes for now. We can do bikeshedding on the checks later in a follow-up.

It may also be a good idea to sync and mirror the checklist items from the PR guide(https://matplotlib.org/devdocs/devel/pr_guide.html#summary-for-pull-request-authors) here in an abbreviated form so that we don't have to have all the individual links here. Links are notoriously ugly in the PR template as it is read and edited as raw text. But that likely needs a synced rewrite in the template and PR guide, which is beyond the scope of this PR.

@story645

Copy link
Copy Markdown
Member

But that likely needs a synced rewrite in the template and PR guide, which is beyond the scope of this PR.

Would you be opposed to something like the include we do for the new contributors guide?

@timhoffm

Copy link
Copy Markdown
Member Author

Would you be opposed to something like the include we do for the new contributors guide?

I would do different fomatting, and maybe even verbosity.

The template should only have a single top-level link and short checkpoints, e.g.:

<!--
Make sure to conform with the project standards: https://matplotlib.org/devdocs/devel/pr_guide.html#pull-request-guidelines 
Please check the following box!
-->
- [ ] new and changed code is tested
- [ ] release notes for new features and API changes are added

The PR guide could have links and if suitable slightly longer explanations, e.g.:

## PR quality check
<!--
Make sure to conform with the project standards: https://matplotlib.org/devdocs/devel/pr_guide.html#pull-request-guidelines
Please check the following box!

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Please check the following box!
Please check the relevant boxes below!

?

@scottshambaugh scottshambaugh left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bikeshedded, big +1 to cutting this down in general so people actually read it.

non-numeric input to set_xlim" and avoid non-descriptive titles such as "Addresses
issue #8576".
## AI Disclosure
<!-- Please describe if and how AI is used. See also our AI policy: https://matplotlib.org/devdocs/devel/contribute.html#use-of-generative-ai -->

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Either here or in the AI policy I'd like to add a line about not having AI write or clean up / polish PR descriptions or comments

-->

## PR checklist
<!-- Please mark any checkboxes that do not apply to this PR as [N/A].-->

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think checkboxes without some direction on what to do when they don't apply is confusing.

## PR checklist
<!-- Please mark any checkboxes that do not apply to this PR as [N/A].-->

- [ ] "closes #0000" is in the body of the PR description to [link the related issue](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would prefer to keep this.

- [ ] "closes #0000" is in the body of the PR description to [link the related issue](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue)
- [ ] new and changed code is [tested](https://matplotlib.org/devdocs/devel/testing.html)
- [ ] *Plotting related* features are demonstrated in an [example](https://matplotlib.org/devdocs/devel/document.html#write-examples-and-tutorials)
- [ ] *New Features* and *API Changes* are noted with a [directive and release note](https://matplotlib.org/devdocs/devel/api_changes.html#announce-changes-deprecations-and-new-features)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- [ ] *New Features* and *API Changes* are noted with a [directive and release note](https://matplotlib.org/devdocs/devel/api_changes.html#announce-changes-deprecations-and-new-features)
- [ ] *New Features* and *API Changes* have [release notes](https://matplotlib.org/devdocs/devel/api_changes.html#announce-changes-deprecations-and-new-features)

<!-- Please mark any checkboxes that do not apply to this PR as [N/A].-->

- [ ] "closes #0000" is in the body of the PR description to [link the related issue](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue)
- [ ] new and changed code is [tested](https://matplotlib.org/devdocs/devel/testing.html)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- [ ] new and changed code is [tested](https://matplotlib.org/devdocs/devel/testing.html)
- [ ] New and changed code is [tested](https://matplotlib.org/devdocs/devel/testing.html)


## PR summary
<!-- Please describe the pull request, using the questions below as guidance, and link to any relevant issues and PRs:
<!-- Please describe what issue is resolved and why you chose this solution. -->

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<!-- Please describe what issue is resolved and why you chose this solution. -->
<!--
Please describe what problem this resolves and why you chose this solution.
Write "Closes #00000" if this fixes [an existing issue](https://github.com/matplotlib/matplotlib/issues).
-->

I think this should remain either here or in the checklist.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suggested we use issue instead of problem b/c they're close enough synonyms but Issue contains the link back to issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[MNT]: Simplified PR template

4 participants