blob: e43fd33b88116ccff69867847bb5b60a704c50f9 [file] [log] [blame]
---
layout: default
title: Apache Libcloud is a standard Python library that abstracts away differences among multiple cloud provider APIs
description: Python library for interacting with many of the popular cloud service providers using a unified API.
javascript_files:
- _assets/js/code-examples.js
---
<div class="row section">
<div class="col-lg-12">
<div class="main-content text-center">
<h1>One Interface To Rule Them All</h1>
<h2 class="tagline">Python library for interacting with many of the popular
cloud service providers using a unified API.</h2>
<p>Supports <a href="https://libcloud.readthedocs.org/en/stable/supported_providers.html" target="_blank">more than 50</a> providers such as</p>
<div id="carousel-provider-logos" class="carousel slide" data-ride="carousel" data-interval="3500">
<!-- Wrapper for slides -->
<div class="carousel-inner">
<div class="item active">
<a href="https://libcloud.readthedocs.org/en/stable/compute/drivers/rackspace.html" target="_blank">
<img src="/images/provider-logos/rackspace.png" class="provider-logo" /></a>
<a href="https://libcloud.readthedocs.org/en/stable/compute/drivers/ec2.html" target="_blank">
<img src="/images/provider-logos/aws.png" class="provider-logo" /></a>
<a href="https://libcloud.readthedocs.org/en/stable/compute/drivers/cloudstack.html" target="_blank">
<img src="/images/provider-logos/cloudstack.png" class="provider-logo" /></a>
</div>
<div class="item">
<a href="https://libcloud.readthedocs.org/en/stable/compute/drivers/openstack.html" target="_blank">
<img src="/images/provider-logos/openstack.png" class="provider-logo" /></a>
<a href="https://libcloud.readthedocs.org/en/stable/compute/drivers/digital_ocean.html" target="_blank">
<img src="/images/provider-logos/digitalocean.png" class="provider-logo" /></a>
<img src="/images/provider-logos/eucalyptus.png" class="provider-logo" />
</div>
<div class="item">
<img src="/images/provider-logos/joyent.png" class="provider-logo" />
<img src="/images/provider-logos/linode.png" class="provider-logo" />
<a href="https://libcloud.readthedocs.org/en/stable/compute/drivers/exoscale.html" target="_blank">
<img src="/images/provider-logos/exoscale.png" class="provider-logo" /></a>
</div>
<div class="item">
<img src="/images/provider-logos/nephoscale.png" class="provider-logo" />
<a href="https://libcloud.readthedocs.org/en/stable/compute/drivers/gce.html" target="_blank">
<img src="/images/provider-logos/gcp.png" class="provider-logo" /></a>
<img src="/images/provider-logos/zerigo.png" class="provider-logo" />
</div>
<div class="item">
<a href="https://libcloud.readthedocs.org/en/stable/compute/drivers/cloudsigma.html" target="_blank">
<img src="/images/provider-logos/cloudsigma.png" class="provider-logo" />
</a>
<a href="https://libcloud.readthedocs.org/en/stable/compute/drivers/ikoula.html" target="_blank">
<img src="/images/provider-logos/ikoula.png" class="provider-logo" />
</a>
<a href="https://libcloud.readthedocs.org/en/stable/compute/drivers/libvirt.html" target="_blank">
<img src="/images/provider-logos/libvirt.png" class="provider-logo" />
</a>
</div>
<div class="item">
<a href="https://libcloud.readthedocs.org/en/stable/compute/drivers/dimensiondata.html" target="_blank">
<img src="/images/provider-logos/dimensiondata.png" class="provider-logo" />
</a>
<a href="https://libcloud.readthedocs.org/en/stable/dns/drivers/cloudflare.html" target="_blank">
<img src="/images/provider-logos/cloudflare.png" class="provider-logo" />
</a>
<a href="https://libcloud.readthedocs.org/en/stable/storage/drivers/backblaze_b2.html" target="_blank">
<img src="/images/provider-logos/backblaze.png" class="provider-logo" />
</a>
</div>
</div>
<!-- Controls -->
<a class="left carousel-control" href="#carousel-provider-logos" data-slide="prev">
<span class="glyphicon glyphicon-chevron-left"></span>
</a>
<a class="right carousel-control" href="#carousel-provider-logos" data-slide="next">
<span class="glyphicon glyphicon-chevron-right"></span>
</a>
</div>
</div>
<div class="row section row-2">
<div class="col-md-6">
<h3>Installation</h3>
<p>Latest stable version (Python 3.5+ only): <a href="https://pypi.python.org/pypi/apache-libcloud/3.5.0" target="_blank">3.5.0</a> (March 11th, 2022)</p>
<p>Latest bug-fix only version (Python 3.5+ only): <a href="https://pypi.python.org/pypi/apache-libcloud/3.4.1" target="_blank">3.4.1</a> (November 11th, 2021)</p>
<p>Latest bug-fix only version (Python 2 and Python 3): <a href="https://pypi.python.org/pypi/apache-libcloud/2.8.3" target="_blank">2.8.3</a> (June 12th, 2020)</p>
<p><code>pip install apache-libcloud</code></p>
<p>Or <a href="downloads.html">download it from our servers</a> and install it manually.</p>
</div>
<div class="col-md-6">
<h3>Features</h3>
<ul>
<li>Avoid vendor lock-in</li>
<li>Use the same API to talk to many different providers</li>
<li>More than <a href="https://libcloud.readthedocs.org/en/stable/supported_providers.html">
30 supported providers</a> total</li>
<li>Six main APIs:
<a href="https://libcloud.readthedocs.org/en/stable/compute/index.html">Compute</a>,
<a href="https://libcloud.readthedocs.org/en/stable/storage/index.html">Storage</a>,
<a href="https://libcloud.readthedocs.org/en/stable/loadbalancer/index.html">Load Balancers</a>,
<a href="https://libcloud.readthedocs.org/en/stable/dns/index.html">DNS</a>,
<a href="https://libcloud.readthedocs.org/en/stable/container/index.html">Container</a>,
<a href="https://libcloud.readthedocs.org/en/stable/backup/index.html">Backup</a></li>
<li>Supports <a href="/about.html#supported-python-versions">Python 3, PyPy (3.x and 2.x) and Python 2.7 (v2.8.x release series)</a></li>
</ul>
</div>
</div>
<div class="row section row-3">
<div class="col-md-6 example" data-example="compute-1">
<h3>Compute Example - Create a node</h3>
{% highlight python linedivs %}
from libcloud.compute.types import Provider
from libcloud.compute.providers import get_driver
cls = get_driver(Provider.RACKSPACE)
driver = cls('username', 'api key', region='iad')
sizes = driver.list_sizes()
images = driver.list_images()
size = [s for s in sizes if s.id == 'performance1-1'][0]
image = [i for i in images if 'Ubuntu 18.04' in i.name][0]
node = driver.create_node(name='libcloud', size=size, image=image)
print(node)
{% endhighlight %}
<p>For information on what the code does, click or hover over the line.</p>
<p>For more compute examples, see <a href="https://libcloud.readthedocs.org/en/stable/compute/examples.html">documentation</a>.</p>
</div>
<div class="col-md-6 example" data-example="dns-1">
<h3>DNS Example - Create a DNS record</h3>
{% highlight python linedivs %}
from libcloud.dns.types import Provider, RecordType
from libcloud.dns.providers import get_driver
cls = get_driver(Provider.ZERIGO)
driver = cls('email', 'api key')
zones = driver.list_zones()
zone = [zone for zone in zones if zone.domain == 'mydomain.com'][0]
record = zone.create_record(name='www', type=RecordType.A, data='127.0.0.1')
print(record)
{% endhighlight %}
<p>For information on what the code does, click or hover over the line.</p>
<p>For more DNS examples, see <a href="https://libcloud.readthedocs.org/en/stable/dns/examples.html">documentation</a>.</p>
</div>
</div>
<div class="row section row-4">
<div class="col-md-4">
<h3>Latest Blog Posts</h3>
{% for post in site.posts limit:4 %}
{% unless post.exclude_from_index %}
<p><a href="{{ post.url }}">{{ post.title }}</a>
{% endunless %}
{% endfor %}
<p>You can also subscribe and stay up to date using our
<a href="/blog/atom.xml">RSS / Atom feed.</a></p>
</div>
<div class="col-md-4">
<h3>Whois using Libcloud?</h3>
<div class="whos-using text-center">
<a href="http://www.saltstack.com/community/" alt="SaltStack" title="SaltStack - Central system and configuration manager" rel="tooltip" "target="_blank"><img src="/images/whois-using/saltstack.png" class="logo" /></a>
<a href="https://www.cloudcontrol.com" alt="CloudControl" title="cloudControl - Rock-solid European Platform as a Service" rel="tooltip" target="_blank"><img src="/images/whois-using/cloudcontrol.png" class="logo" /></a>
<a href="https://mist.io" alt="mist.io" title="mist.io - Cloud management in your pocket" rel="tooltip" target="_blank"><img src="/images/whois-using/mistio.png" class="logo" /></a>
</div>
<div class="whos-using text-center">
<a href="http://www.scalr.com" alt="Scalr" title="Scalr - Enterprise Cloud Management Platform" rel="tooltip" target="_blank"><img src="/images/whois-using/scalr.png" class="logo" /></a>
<a href="http://www.rackspace.com" alt="Rackspace" title="Rackspace - The Open Cloud Company" rel="tooltip" target="_blank"><img src="/images/whois-using/rackspace.png" class="logo" /></a>
<a href="http://www.divvycloud.com/" alt="DivvyCloud" title="DivvyCloud - Hybrid Cloud Management" rel="tooltip" target="_blank"><img src="/images/whois-using/divvycloud.png" class="logo" /></a>
</div>
<p>See <a href="/whois-using.html">more projects and companies</a> using Libcloud.</p>
</div>
<div class="col-md-4">
<h3>Get in Touch, Follow Us</h3>
<p>Users mailing list: <a href="mailto:users-subscribe@libcloud.apache.org">users@libcloud.apache.org</a></p>
<p>Developers mailing list: <a href="mailto:dev-subscribe@libcloud.apache.org">dev@libcloud.apache.org</a></p>
<p>IRC channel: <a href="https://web.libera.chat/?channel=#libcloud">#libcloud on Libera.Chat</a></p>
<div style="margin-top: 20px">
<a href="https://github.com/apache/libcloud" title="Libcloud on Github" rel="tooltip" target="_blank"><img src="/images/social-icons/github.jpg" alt="Libcloud on Github" class="social-icon" /></a>
<a href="https://twitter.com/libcloud" title="Libcloud on Twitter" rel="tooltip" target="_blank"><img src="/images/social-icons/twitter.png" alt="Libcloud on Twitter" class="social-icon" /></a>
<a href="https://www.openhub.net/p/libcloud/" title="Libcloud on Open Hub" rel="tooltip" target="_blank"><img src="/images/social-icons/openhub.png" alt="Libcloud on Open Hub" class="social-icon" /></a>
<a href="https://sourcegraph.com/github.com/apache/libcloud" title="Libcloud on SourceGraph" rel="tooltip" target="_blank"><img src="/images/social-icons/sourcegraph.png" alt="Libcloud on SourceGraph" class="social-icon" /></a>
</div>
</div>
</div>
<!--<div class="row section row-4">
<div class="col-md-12">
<h3>Events, Other</h3>
<div class="col-md-4">
<a href="http://events.linuxfoundation.org/events/apachecon-europe" target="_blank"><img src="/images/events/apachecon_europe_2014.png" class="img-inline"></a>
</div>
</div>
</div>-->
</div>
</div>