Skip to content

Latest commit

History

History
57 lines (38 loc) 路 2.68 KB

CONTRIBUTING.rst

File metadata and controls

57 lines (38 loc) 路 2.68 KB

Contributing to Skyplane

Welcome to Skyplane! Everyone is welcome to contribute to Skyplane. We are always looking for new features and improvements and we value everyone's input.

Ways to Contribute

There are many ways to contribute to Skyplane:

Code Contributions

We welcome pull requests, in particular for those issues marked with good first issue.

For other proposals or larger features, we ask that you open a new GitHub Issue or Discussion. We especially encourage external contributions to support additional cloud providers and object store endpoints.

To see more on how to setup a development environment, see the Development Guide.

Submitting pull requests

Before you submit a pull request, make sure to complete the following steps:

  1. Fork the Skyplane repository to create a copy of the project in your own account.
  2. Set up a developer environment as described in the Development Guide.
  3. Create a development branch (git checkout -b feature_name)
  4. Test your changes manually using skyplane cp and with the unit test suite:

    $ pytest tests/unit_nocloud/
  5. Ensure your code is autoformatted and passes type checks:

    $ pip install -r requirements-dev.txt
    $ black -l 140 .
    $ pytype --config .pytype.cfg skyplane
    $ autoflake --in-place --remove-all-unused-imports --remove-unused-variables --recursive skyplane
  6. If you updated documentation, test the docs:

    $ pip install sphinx-autobuild
    $ cd docs
    $ pip install -r requirements.txt
    $ sphinx-autobuild -b html . /tmp/docs_build
  7. Commit your changes using a descriptive commit message.
  8. Create a pull request on the main Skyplane repo from your fork. Consult Github Help for more details.