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:
Answering questions on Skyplane’s discussions page
Improving Skyplane’s documentation
Filing bug reports or reporting sharp edges via Github issues
Contributing to our codebase.
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:
Fork the Skyplane repository to create a copy of the project in your own account.
Set up a developer environment as described in the Development Guide.
Create a development branch (
git checkout -b feature_name
)Test your changes manually using
skyplane cp
and with the unit test suite:$ pytest tests/unit_nocloud/
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
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
Commit your changes using a descriptive commit message.
Create a pull request on the main Skyplane repo from your fork. Consult Github Help for more details.