Skip to content

Latest commit

 

History

History
69 lines (52 loc) · 3 KB

CONTRIBUTING.rst

File metadata and controls

69 lines (52 loc) · 3 KB

Guidelines for Contributing to github3.py

  1. Read the README

  2. Please do not use the issue tracker for questions.

  3. Please use GitHub's search feature to look for already reported issues before reporting your own.

  4. Regardless of the magnitude your pull request (a couple lines to a couple hundred lines), please add your name to the AUTHORS.rst file under the heading Contributors.

  5. There is a label for issues that should be minor and should be a good way to become acquainted with the project. The easy label is the over-arching way to determine which issues you can dig into without a great deal of prior knowledge. Most of these issues have a Pair with Ian label which means that if you would like, I (@sigmavirus24) will happily pair program with you to solve the issue.

  6. If you're fixing a bug, please write a regression test. All the tests are structured like so:

    tests/
    - test_<module_name>.py
        + Test<ClassName>
          - def test_function_or_attribute
    

    Please do not add your regression test to an existing test, but create a new one. You can use the form test_issue_<number>. In a docstring add the link and a short description of the regression issue. For example, if you found a bug in the class Issue, write your test in the file test_issues.py in the class TestIssue. You can place the new test in any order, e.g., below all the existing tests, near a related one, &c.

  7. If you're adding a new section of the API that does not already exist, please also add tests to the test suite.

  8. If you're adding additional functionality beyond what the API covers, please open an issue request first and of course add tests to cover the functionality in the event it is accepted.

    Also, please be certain to add docstrings to these functions. Follow the example of other docstrings.

  9. In case you haven't caught on, for anything you add, write tests.

  10. Be cordial. Seriously, anyone who isn't cordial will be sent packing, regardless of the value of their contributions. I will not tolerate some contributors creating a hostile environment for others.

  11. Rebase your fork/branch if needed and possible before submitting a pull request. This makes my life easier. If you honestly have no idea what I'm talking about, don't worry, I'll take care of it.

  12. Please follow pep-0008. Feel free to also use flake8 to help.

  13. Import modules, not class or functions