Best python bindings for Digital Ocean API?

February 12, 2015 1.3k views

I'm building a python plugin library that interfaces with DO's API.

I've tried the looked at the following python bindings:


and find that both have their drawbacks.


3 Answers

I personally use python-digitalocean and have contributed to it. I am also working on porting Apache libcloud's DigitalOcean driver to API v2. So I have some experience with both of them.

Currently libcloud is employing version 1 of the API and has less than full API coverage. I don't expect it to ever cover every endpoint. The main reason to use it is if you are working on a project that need to interact with multiple cloud providers. It attempts to abstract away the specifics of each API and provide a common way to work with them.

python-digitalocean on the other hand is focused on the DigitalOcean API. There are a few others, but I have found it to have the most complete API coverage. It is under active development, and the main author is very receptive to suggestions and contributions from others. It's what I suggest to anyone looking for a Python wrapper. I'd be interested to hear what you find lacking.

I'm going to follow your suggestion then. Even though we are supporting multiple cloud providers, we're plugin based, so can choose our bindings on a provider per provider basis. Sounds like the python-digitalocean bindings are more fully-featured.


We use DOsa for our infrastructure code. Very Pythonic.

Have another answer? Share your knowledge.