Serdar Yegulalp
Senior Writer

Apache Libcloud: One Python library for all clouds

analysis
Feb 10, 20142 mins

Open source library also supports block and object storage, key management, load balancing, and CDN features

Sometimes too much choice isn’t a good thing. Case in point: the proliferation of cloud environments, with Amazon as a de facto standard, and a legion of contenders trailing after with their own ideas about how it should all work. Where’s the consistency?

Apache Libcloud might have an answer. Originally booted up in 2009 at the now-defunct Cloudkick, it’s an open source project bearing a single, consistent Python interface to more than 30 cloud providers and their major services. Python 2.5, 2.6, 2.7, and 3.0.7.1 and above are all supported, along with the PyPy just-in-time compiler.

The 0.14 release of Libcloud, produced in late January, is a mostly incremental update, but the latest changes indicate the project’s development is geared toward making it easier to work with fine-grained features common to many cloud providers. For example, not only does Libcloud all you to work with instances in multiple geographic regions (for providers that support it), the API has been reconfigured to ease access. Load-balancing support is also included for many cloud providers, and Google Compute Engine is one of the most recent additions.

Another issue exposed by Libcloud: Most cloud providers still fall short on their API sets in ways that aren’t immediately obvious. For starters, many of them don’t offer an automated way to determine pricing data for instances or usage. Libcloud has its own repository of pricing data, scraped manually from multiple providers, that can be accessed through its API. However, the documentation insists it shouldn’t be used as a substitute for actual pricing statements from a cloud provider.

One possible downside of Apache Libcloud is the lack of a consistent release schedule, like another Apache-governed project, OpenOffice. New Libcloud releases are produced “as soon as enough changes are accumulated in trunk,” although what constitutes “enough” seems arbitrary. Still, the project’s general level of maturity at this point is more than solid, and anything that introduces a little sanity into a cloud developer’s life is likely worth a look.

This article, “Apache Libcloud: One Python library for all clouds,” was originally published at InfoWorld.com. Get the first word on what the important tech news really means with the InfoWorld Tech Watch blog. For the latest business technology news, follow InfoWorld.com on Twitter.

Serdar Yegulalp

Serdar Yegulalp is a senior writer at InfoWorld. A veteran technology journalist, Serdar has been writing about computers, operating systems, databases, programming, and other information technology topics for 30 years. Before joining InfoWorld in 2013, Serdar wrote for Windows Magazine, InformationWeek, Byte, and a slew of other publications. At InfoWorld, Serdar has covered software development, devops, containerization, machine learning, and artificial intelligence, winning several B2B journalism awards including a 2024 Neal Award and a 2025 Azbee Award for best instructional content and best how-to article, respectively. He currently focuses on software development tools and technologies and major programming languages including Python, Rust, Go, Zig, and Wasm. Tune into his weekly Dev with Serdar videos for programming tips and techniques and close looks at programming libraries and tools.

More from this author