Common interface across cloud providers (based on Apache LibCloud)
Author JuliaCloud
6 Stars
Updated Last
2 Years Ago
Started In
August 2016


Build Status Coverage Status

LibCloud is a Julia interface for Apache LibCloud.

Apache Libcloud is a Python library which hides differences between different cloud provider APIs and allows you to manage different cloud resources through a unified and easy to use API.


The apache-libcloud python library is needed for LibCloud to work.

If you have set up PyCall to use Conda.jl then LibCloud will automatically install apache-libcloud.

Alternatively, you can install it externally, e.g. pip install --user apache-libcloud.


LibCloud has its different functionalities organized as sub-modules. To start using any of them, type:

using LibCloud
using LibCloud.<submodule>
  • using LibCloud.Compute
    • manage cloud and virtual servers
    • run deployment scripts
    • manage key pairs
    • manage block storage
  • using LibCloud.Storage
    • manage object storage
    • simple CDN management functionality
  • using LibCloud.LB
    • manage Load Balancers as a service
  • using LibCloud.DNS
    • manage DNS as a service
  • using LibCloud.Container
    • manage container based virtualization platforms
    • works with both on-premises (e.g. Docker) and cloud based (e.g. ECS)
  • using LibCloud.Backup
    • manage backup as a service (e.g. EBS/GCE snapshots)

With each sub-module:

  • examine the list of available providers by enumerating <module>Provider
  • instantiate a driver (<module>Driver) configured with the appropriate provider
  • call features(driver) to examine the feaures the driver provides
  • execute appropriate actions by calling corresponding methods on the driver

The version of the underlying library is available as LibCloud.version.

API Documentation

Refer to LibCloud API Documentation.

Look at examples in the LibCloud/test subfolder for some common use cases.

Typing ?<type or method> on the Julia REPL would show appropriate help. The Julia help system is hooked to display documentation from the underlying python modules (LibCloud borrows the LazyHelp mechanism used in PyPlot).