Best python bindings for Digital Ocean API?

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

This textbox defaults to using Markdown to format your answer.

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

Sign In or Sign Up to Answer

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.

Want to learn more? Join the DigitalOcean Community!

Join our DigitalOcean community of over a million developers for free! Get help and share knowledge in Q&A, subscribe to topics of interest, and get courses and tools that will help you grow as a developer and scale your project or business.

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.