Skip to content

Latest commit

 

History

History
71 lines (45 loc) · 1.86 KB

CONTRIBUTING.adoc

File metadata and controls

71 lines (45 loc) · 1.86 KB

Contributing to the Globus SDK

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

Bugs & Feature Requests

Should be reported as GitHub Issues

For a good bug report:

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

  • Provide a code sample to reproduce bugs

Linting & Testing

Testing the SDK requires tox.

Run tests with

tox

And linting with

tox -e lint

For the best development experience, we recommend setting up linting and autofixing integrations with your editor and git.

The Globus SDK uses pre-commit to automatically run linters and fixers. Install pre-commit and then run

$ pre-commit install

to setup the hooks.

The configured linters and fixers can be seen in .pre-commit-config.yaml.

Contributing Documentation

Documentation for the SDK is built with Sphinx and docs are written as reStructuredText in the docs/ directory.

If you want to look at local documentation, run tox -e docs and the output will be in docs/_build/dirhtml/.

Code Guidelines

These are recommendations for contributors:

  • Include tests for any new or changed functionality

  • Use type annotations liberally

  • New features should be documented via Sphinx

Code Style

Style guidance which doesn’t get handled by linters and fixers:

  • When using typing, always import from typing, as in from typing import ...

  • If a docstring contains special characters like \\, consider using a raw string to ensure it renders correctly