Skip to content

Latest commit

 

History

History
55 lines (42 loc) · 1.99 KB

File metadata and controls

55 lines (42 loc) · 1.99 KB

Contributing to the Globus SDK

First off, thank you so much for taking the time to contribute! 👍

If you want to do local development, you can setup a development virtualenv in .venv by running make localdev.

Reporting Bugs & Requesting Features

  • Check if there’s a matching issue before opening a new issue or pull request

  • When possible, provide a code sample to reproduce bugs

Linting & Testing

  • All code is autoformatted with black and isort. You may run make autoformat to do this or configure these tools for use in your editor.

  • All code must pass make test, which runs linting and tests.

Note
black requires python3.6+

Expectations for Pull Requests

  • Make sure it merges cleanly. We may request that you rebase if your PR has merge conflicts.

  • List any issues closed by the pull request

  • Squash intermediate and fixup commits. We recommend running git rebase --interactive prior to submitting a pull request.

  • Add new work to the "Unreleased" section of the changelog

These are our guidelines for good commit messages:

  • No lines over 72 characters

  • No GitHub emoji — use your words

  • Reference issues and pull requests where appropriate

  • Present tense and imperative mood

Additional Recommendations

  • Try to use raw strings for docstrings — ensures that ReST won’t be confused by characters like \\

  • Use examples very liberally in documentation

  • Show where you imported from within the SDK. Start at least one example with from globus_sdk.modulename import ClassName on a page with docs for ClassName

  • Think very hard before adding a new dependency — keep the dependencies of globus_sdk as lightweight as possible