Draft PR review guidelines
See original GitHub issuePeer review checklist
PR itself (on GitHub)
- PR has a descriptive and succinct title.
- PR has a brief description of what was changed.
- PR is addressing a change that has already been brought up in an issue. This will ensure that the change you propose is desired by the maintainers, and may provide a chance to discuss implementation details prior to PRing which will save everyone time.
- PR cites any related issues in the PR description and uses closing keywords for any issues that should be closed as a result of the PR.
- PR does not have any extraneous file changes associated with it. One common example of an extraneous change is one that was already made in the target branch, but is showing up as part of this PR under
Files changed. - PR does not have any unresolved merge conflicts.
- If implementing a major new feature or algorithm, a notebook demonstrating the proof of effectiveness is linked in the PR description. Depending on the feature, this kind of validation may take too long to run as a test or in a tutorial notebook.
Style
- Code follows Python variable naming conventions, one description is here. Most variables should be
snake_caseand classes shoud be defined asUpperCamelCase, for example. - Code uses descriptive variable names throughout.
- Code has no commented out “junk code.”
- Line lengths are short (recommended <88 chars). This includes docstrings. Note: black tries to shorten line lengths but sometimes it is unable to do so automatically, especially for docstrings.
- New files have the appropriate header (example).
Documentation
- Any new public classes/functions have docstrings.
- Any new public classes/functions have been added to the appropriate
.rstfile here to be rendered bySphinx. - Any major new features (like a new algorithm) are accompanied by a succinct tutorial notebook. Or, if it is agreed upon with the maintainers that this is out of scope for the current PR, a new issue has been created specifying that we need a tutorial notebook for this functionality.
- Any new tutorial notebooks have been added to the appropriate folder here and included in the
.rstfile here to be rendered bySphinx. - Notebooks are cleared, that is, they do not have any run cell output. This is to allow
Sphinxto run the notebooks every time the documentation is built which ensures nothing has broken. - Modifications to the documentation render appropriately in the
Netlifybuild. - References to parameters in the documentation are wrapped in double backticks (`` on either side of the parameter).
- References to classes/function/documentation outside of this package use intersphinx to automatically link to the relevant documentation pages.
Testing
- New public classes/functions are tested to ensure they achieve the desired output.
- New public classes/functions are tested to ensure proper errors are thrown when invalid inputs are passed.
Issue Analytics
- State:
- Created 3 years ago
- Comments:20 (2 by maintainers)
Top Results From Across the Web
About pull requests - GitHub Docs
Once a pull request is opened, you can discuss and review the potential changes with collaborators and add follow-up commits before your changes...
Read more >Pull Request Guidelines - Creative Commons Open Source
Read and follow the contributing guidelines and code of conduct for the project ... You can create a draft pull request. Screenshot: How...
Read more >Pull Request Best Practices: Our Tips - LinearB
Pull requests often go wrong. Learn and adopt our list of pull request best practices so that doesn't happen to your team.
Read more >A complete guide to code reviews | Swarmia
Make sure the team understands the implications of fast reviews and agrees on a suitable maximum time for responding to a PR. The...
Read more >How to Pull Request. - Medium
Some guidelines I have collected over the years from a number of ... Create a draft PR and do a full review yourself...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found

This seems the most fair thing to me, personally.
Also added this
“Any major new features (like a new algorithm) are accompanied by a succinct tutorial notebook. Or, if it is agreed upon with the maintainers that this is out of scope for the current PR, a new issue has been created specifying that we need a tutorial notebook for this functionality.”