.. _checklist-for-contributors-and-reviewers-of-pull-requests: Checklist for Contributors and Reviewers of Pull Requests --------------------------------------------------------- The following is a guide to be used for contributors and reviewers of ``imap_processing`` pull requests. Note that this is only a guide; it should not be treated as a fully comprehensive, foolproof list that must be used in all situations, and parts of it are subjective. If the contributor/reviewer can answer "yes" to all the following questions, then conceivably the proposed changes are acceptable and the PR can be reviewed and merged. .. _Checklist-for-Contributors: Checklist for Contributors ^^^^^^^^^^^^^^^^^^^^^^^^^^ .. _Pertaining-to-the-code: Pertaining to the code: """"""""""""""""""""""" * Does the code conform to this style guide? * Is any of the code functionality not already available via native or third-party python libraries? * Does the code execute successfully? * Do all the tests pass in the existing test suite? * Does the newly added functionality run without errors? * Is the code documented and commented sufficiently such that it is easy to read and follow? * Are docstrings included for all new modules, classes, and functions? * Are in-line comments included to provide necessary context? * Are any documentation files in other locations updated? * Have all debugging/print statements been removed? * Does the code contain sufficient exception handling? * Does the code contain no deprecation warnings? * Does the code include all necessary unit tests? * Are any new dependencies correctly added to the ``pyproject.toml`` file? .. _pertaining-to-the-pull-request: Pertaining to the pull request: """"""""""""""""""""""""""""""" * Is the PR excessively long and/or covers multiple issues? If so, consider breaking it up into multiple PRs. * Does the PR have a concise, descriptive title? * Does the PR link to and close the relevant issue? * Does the PR have a sufficient description as to make it clear what the reasons for the changes are? * Is the PR merging into ``upstream/dev`` from ``/`` (in most cases)? * Are you listed as an assignee to the PR? * Does the PR have proper labels? * Do all the automated checks pass? .. _checklist-for-reviewers: Checklist for Reviewers ^^^^^^^^^^^^^^^^^^^^^^^ .. _pertaining-to-the-pull-request-review: Pertaining to the pull request: """"""""""""""""""""""""""""""" * Does the PR have a concise, descriptive title? * Does the PR have a sufficient description as to make it clear what the reasons for the changes are? * Is the PR merging into ``upstream/dev`` from ``/`` (in most cases)? * Does the PR have at least one assignee? * Does the PR have proper labels? * Is the PR no longer a work in progress? * Do all the automated checks pass? .. _pertaining-to-the-code-review: Pertaining to the code: """"""""""""""""""""""" * Does the code conform to this style guide? * Is the code documented and commented sufficiently such that it is easy to read and follow? * Does the code contain sufficient exception handling? * Does the code contain no sensitive data or information? * Does the code contain any necessary unit tests? * If there are new dependencies, are they all necessary? Are they correctly added to the ``pyproject.toml`` file?