Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 23 additions & 18 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
<!-- The PR title should summarize the changes, for example "Add `Grid._build_face_dimension` function".
Avoid non-descriptive titles such as "Addresses issue #229". -->

<!-- Replace XXX with the number of the issue that this PR will resolve. If this PR closed more than one,
you may add a comma separated sequence-->
<!-- Replace XXX with the issue number resolved by this PR, if this PR fully resolves an issue.
If it does not fully resolve any issues, replace with something like "Related to #XXX",
or "Fixes part of #YYY but does not fully close it."
If it resolves multiple issues, repeat "closes" for each, like "Closes #XXX, closes #YYY." -->
Closes #XXX

## Overview
<!-- Please provide a few bullet points summarizing the changes in this PR. This should include
points on any bug fixes, new functions, or other changes that have been made. -->

## Expected Usage
<!-- If you are adding a feature into the Internal API, please produce a short example of it in action.
<!-- If this PR adds a new feature, please provide a short example of it in action.
You may ignore this step if it is not applicable (comment out this section). -->
```Python
import uxarray as ux
Expand All @@ -25,43 +27,46 @@ some_output = uxds.some_function()

# this is another way to use this function
other_output = uxds.some_function(some_param = True)

```

## PR Checklist
<!-- Please mark any checkboxes that do not apply to this PR as [N/A]. If an entire section doesn't
apply to this PR, comment it out or delete it. -->
<!-- Please mark any checkboxes that do not apply to this PR as [N/A]. -->

**General**
- [ ] An issue is linked created and linked
- [ ] Add appropriate labels
- [ ] An issue is created and linked
- [ ] Added appropriate labels (if your uxarray repo permissions allow it)
- [ ] Filled out Overview and Expected Usage (if applicable) sections

**Testing**
**Testing & Benchmarking**
<!-- If this PR does not update any functionality or tests and is not intended to improve efficiency,
e.g. by reducing computation time or memory usage, remove this section (Testing & Benchmarking) -->
- [ ] Adequate tests are created if there is new functionality
- [ ] Tests cover all possible logical paths in your function
- [ ] Tests are not too basic (such as simply calling a function and nothing else)
- [ ] At least one ASV benchmark demonstrates improvements, if expected (add a new benchmark if necessary)

@erogluorhan erogluorhan Jul 29, 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.

This (also related things on Lines 41&42) is okay, but not 100% sure to have them here still:

  • Benchmarks do not apply to majority of PRs, so should we bother all contributions with this?
  • When they apply, this should somehow be addressed already in practice:
    • the PR owner already knows most of the time (via PR label, milestone, etc.) that they need to look into benchmarks
    • the reviewer knows to look into benchmarks for such PRs

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Thank you for your feedback, I understand what you're saying and I agree many contributions might not need this. But, for contributions where it is relevant, it may serve as a nice reminder.

I was motivated to look into it a bit further in order to reply, and I think I found a few good recent examples where benchmarks maybe should have been run, but were not:

Maybe the proposed checklist item should be rephrased to something more neutral like this? "If expecting performance efficiency changes, at least one ASV benchmark shows changes (add new benchmarks if necessary)."


**Documentation**
<!-- If this PR does not update any functionality or docstrings, remove this section (Documentation) -->
- [ ] Docstrings have been added to all new functions
- [ ] Docstrings have updated with any function changes
- [ ] Internal functions have a preceding underscore (`_`) and have been added to `docs/internal_api/index.rst`
- [ ] User functions have been added to `docs/user_api/index.rst`
- [ ] Docstrings have been updated with any function changes
- [ ] User (public) functions have been added to `docs/api.rst`
- [ ] Internal (private) function names start with an underscore (`_`)

**Examples**
Comment thread
erogluorhan marked this conversation as resolved.
- [ ] Any new notebook examples added to `docs/examples/` folder
- [ ] Clear the output of all cells before committing
- [ ] New notebook files added to `docs/examples.rst` toctree
- [ ] New notebook files added to new entry in `docs/gallery.yml` with appropriate thumbnail photo in `docs/_static/thumbnails/`
<!-- If this PR does not update any examples, remove this section (Examples) -->

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.

This helps. I don't know if we should be further clear, leaving it up to you regarding something like this: "If this PR does not require any work examples (e.g. new functionality, changes to docs, etc.), remove this section (Examples)"

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

I have a preference for the current phrasing, mostly because I am a bit concerned that implying these types of changes require adding examples is too high a bar to require of all contributors. E.g., including "new functionality" as a reason makes it feel a little like we're effectively saying "if you added a new function, make sure you also updated a notebook or added a new notebook to show how it is used!"

It's hard for me to think of general sorts of changes which actually require adding example notebooks.

The other concern might be that functionality changes could affect existing example notebooks. But, I feel like the burden of checking that existing notebooks still look okay should probably fall onto uxarray's testing suite, e.g. raise an error or warning if a notebook fails to run properly?

- [ ] **All** notebook examples cleared the output of all cells before committing
- [ ] New notebook examples added to appropriate folder (gallery: `docs/examples/`; guide: `docs/user-guide/`; quickstart: `docs/getting-started/`)
- [ ] New notebook examples referenced in appropriate .rst file (gallery: `docs/gallery.rst`; guide: `docs/userguide.rst`; quickstart: `docs/quickstart.rst`)
- [ ] New notebook gallery examples added entry in `docs/gallery.yml` with appropriate thumbnail photo in `docs/_static/thumbnails/`

<!--
Thank you so much for your PR! To help us review your contribution, please
consider the following points:

**PR Etiquette Reminders**
- This PR should be listed as a draft PR until you are ready to request reviewers
- This PR should be listed as a draft PR until you are ready for it to be reviewed

- After making changes in accordance with the reviews, re-request your reviewers
- After making changes in accordance with any reviews, re-request reviews from the same reviewers

- Do *not* mark conversations as resolved if you didn't start them

Expand Down