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: .. code-block:: bash

    $ pytest tests/unit_nocloud/

  5. Ensure your code is autoformatted and passes type checks: .. code-block:: bash

    $ pip install black pytype $ black -l 140 . $ pytype –config .pytype.cfg skyplane

  6. Commit your changes using a descriptive commit message.

  7. Create a pull request on the main Skyplane repo from your fork. Consult Github Help for more details.