Best python bindings for Digital Ocean API?

  • Posted February 12, 2015

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

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

apache-libcloud python-digitalocean

and find that both have their drawbacks.



Submit an answer
You can type!ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

We use DOsa for our infrastructure code. Very Pythonic.

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.


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.