--- | |
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.6+ only): <a href="https://pypi.python.org/pypi/apache-libcloud/3.5.1" target="_blank">3.5.1</a> (March 30th, 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.6+, PyPy 3.6+, 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> |