Libcloud is a Python library for interacting with many of the popular cloud service providers using a unified API. It was created to make it easy for developers to build products that work between any of the services that it supports.

Resource you can manage with Libcloud are divided in the following categories:

  • Cloud Servers and Block Storage - services such as Amazon EC2 and Rackspace CloudServers
  • Cloud Object Storage and CDN - services such as Amazon S3 and Rackspace CloudFiles
  • Load Balancers as a Service - services such as Amazon Elastic Load Balancer and GoGrid LoadBalancers
  • DNS as a Service - services such as Amazon Route 53 and Zerigo
  • Containers as a Service - services such as Amazon Elastic Containers (ECS) and Google Container Engine (GKE)

For more information about the features and supported providers, please refer to the documentation.


Libcloud was originally developed and open-sourced in 2009 by folks at Cloudkick. It was developed to solve a problem of talking to multiple different cloud provider APIs.

Later that year, the project joined Apache Incubator. In May of 2011, the project graduated from the incubator to a top level project.

For a full timeline of the events and other important dates, please see the “Important Milestones and Dates” section bellow.

Supported Python Versions

Libcloud supports the following Python version:

  • Python 3.7 (since 2.5.0)
  • Python 3.8 (since 2.7.0)
  • Python 3.9 (since 3.3.0)
  • Python 3.10 (since 3.5.0)
  • Python 3.11 (since 3.6.0)
  • PyPy 3.7+

Support for Python 3.6 has been dropped in Libcloud 3.7.0.

Support for Python 3.5 has been dropped in Libcloud 3.6.0.

Support for Python 2.7 and Python 3.4 has been dropped in Libcloud 3.0.0.

First version which included Python 3 support was 0.7.1.

Support for Python 2.4 has been dropped in Libcloud 0.4.0, Python 2.5 in 2016 and Python 2.6 and 3.3 in Libcloud 2.3.0.

Release Schedule

We don’t follow a regular releases schedule as you might know it from other projects such as Ubuntu.

Here are the guidelines we follow when scheduling and preparing a release:

  1. Normal (stable) release - We prepare and get the release out as soon as enough changes accumulate in trunk.
  2. Bug fix release - It depends on the severity of a bug and how many users it affects. If it affects a lot of users or a big chunk of the code we try to prepare and get the release out as soon as possible.
  3. Security fix release - We prepare and get the release out as soon as possible.

Similar Libraries in Other Languages

As noted above, Libcloud is a Python library.

If you are looking for a similar library for a different language, you should have a look at some of the libraries listed bellow:

If you feel adventures, you should also have a look at Libcloud REST, a Google Summer of Code 2012 project which exposes most of the Libcloud functionality over HTTP.

Important Milestones and Dates