Contributing to libcloud
This pages explains how you can contribute to the libcloud project.
Keep in mind that all kind of contributions are welcome (ideas, code, tests, documentation, examples, ...).
- Start a discussion on the mailing list (this step is optional and only required if you want to implement big feature or a change)
- Open a new issue on the bug tracker (Jira)
- Fork libcloud github git repository* and make your changes
- Create a new branch for your changes:
git checkout -b jira_issue_id_change_name
- Make your changes
- Write tests for your modifications and make sure that all the tests still pass. For more informations about running the tests refer to the Testing page.
- Create a patch with your changes
- git (format-patch):
git format-patch --no-prefix --stdout trunk > patch_name.patch
- git (diff):
git diff --no-prefix trunk your_branch > patch_name.patch
svn diff > patch_name.patch
- Attach patch to the ticket you have created
- Wait for your patch to be reviewed and / or accepted
Things To Keep In Mind
- Any non-trivial change must contain tests
- All the functions and methods must contain pydoc docstrings which are used to generate API documentation. You can find a lot of examples of docstrings in the existing code e.g. -
Note: If you want you can also use SVN repository, but git and github make branching and contributing a bit easier.
- We follow PEP8 Python Style Guide
- Use 4 spaces for a tab
- Make sure edited file doesn't contain any trailing whitespace
- Docstrings need to follow the conventions described on the Docstring Convetions page
You can verify that your modifications don't break any rules by running the
pep8 script -