
This is essentially a repeat of content from the recently updated README. We simply duplicate it rather than using complicated includes because $effort. Change-Id: If41a6b2d43d00e5bd78f6b2bd5bf33fa4a5d38d5 Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
3.0 KiB
Contributing to the OpenStack SDK
This section of documentation pertains to those who wish to contribute to the development of this SDK. If you're looking for documentation on how to use the SDK to build applications, refer to the user section.
About the Project
The OpenStack SDK is a OpenStack project aimed at providing a complete software development kit for the programs which make up the OpenStack community. It is a Python library with corresponding documentation, examples, and tools released under the Apache 2 license.
history
Contribution Mechanics
contributing
Contacting the Developers
IRC
The developers of this project are available in the #openstack-sdks channel on Freenode. This channel includes conversation on SDKs and tools within the general OpenStack community, including OpenStackClient as well as occasional talk about SDKs created for languages outside of Python.
The openstack-discuss
mailing list fields questions of all types on OpenStack. Using the
[sdk]
filter to begin your email subject will ensure that
the message gets to SDK developers.
Coding Standards
We are a bit stricter than usual in the coding standards department.
It's a good idea to read through the coding <coding>
section.
coding
Development Environment
The first step towards contributing code and documentation is to
setup your development environment. We use a pretty standard setup, but
it is fully documented in our setup <setup>
section.
setup
Testing
The project contains three test packages, one for unit tests, one for
functional tests and one for examples tests. The
openstack.tests.unit
package tests the SDK's features in
isolation. The openstack.tests.functional
and
openstack.tests.examples
packages test the SDK's features
and examples against an OpenStack cloud.
testing
Project Layout
The project contains a top-level openstack
package,
which houses several modules that form the foundation upon which each
service's API is built on. Under the openstack
package are
packages for each of those services, such as
openstack.compute
.
layout
Adding Features
Does this SDK not do what you need it to do? Is it missing a service? Are you a developer on another project who wants to add their service? You're in the right place. Below are examples of how to add new features to the OpenStack SDK.
create/resource