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, ...).

Process

  1. Start a discussion on the mailing list (this step is optional and only required if you want to implement big feature or a change)
  2. Open a new issue on the bug tracker (Jira)
  3. Fork libcloud github git repository* and make your changes
  4. Create a new branch for your changes:git checkout -b jira_issue_id_change_name
  5. Make your changes
  6. 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.
  7. Create a patch with your changes
  8. git (format-patch): git format-patch --no-prefix --stdout trunk > patch_name.patch
  9. git (diff): git diff --no-prefix trunk your_branch > patch_name.patch
  10. svn: svn diff > patch_name.patch
  11. Attach patch to the ticket you have created
  12. Wait for your patch to be reviewed and / or accepted

Things To Keep In Mind

Note: If you want you can also use SVN repository, but git and github make branching and contributing a bit easier.

Style Guide

  1. We follow PEP8 Python Style Guide
  2. Use 4 spaces for a tab
  3. Make sure edited file doesn't contain any trailing whitespace
  4. 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 - pep8 libcloud/edited_file.py.