Contributing to Libcloud
========================

We welcome contributions of any kind (ideas, code, tests, documentation,
examples, ...).

For more information on how to contribute and the guidelines you should follow,
please see the links listed bellow:

* Contributing to Libcloud - https://libcloud.readthedocs.org/en/latest/development.html#general-guidelines
* General Guidelines - https://libcloud.readthedocs.org/en/latest/development.html#general-guidelines
* Style Guide - https://libcloud.readthedocs.org/en/latest/development.html#style-guide
* Code Conventions - https://libcloud.readthedocs.org/en/latest/development.html#code-conventions
* Docstring Conventions - https://libcloud.readthedocs.org/en/latest/development.html#docstring-conventions
