pydo
The official client for interacting with the DigitalOcean API
What it is and what it does
PyDo is the official Python client for DigitalOcean's API, generated from the DigitalOcean OpenAPI Specification to ensure compliance with the API contract. It provides a single Client interface for both infrastructure management (droplets, SSH keys, volumes, Kubernetes, etc.) and AI inference (chat completions, image generation, audio, batch inference) on DigitalOcean's Gradient platform. The library supports Python 3.8 and later, with both synchronous and asynchronous usage patterns.
Developers initialize the client with a DigitalOcean API token and then call methods organized by resource type—for example, `client.ssh_keys.list()` or `client.chat.completions.create()`. The client handles authentication, request serialization, and response parsing. It supports pagination for large result sets and streaming for inference endpoints like chat completions.
Use it for:
- Automate DigitalOcean infrastructure provisioning and management (droplets, volumes, SSH keys) from Python scripts or applications.
- Build chat applications using DigitalOcean's Gradient AI models with streaming support for real-time responses.
- Generate images programmatically via DigitalOcean's inference API without managing separate AI service credentials.
- Enumerate and list available AI models on the Gradient platform to discover capabilities at runtime.
- Implement batch inference workflows for processing multiple requests to AI models in parallel.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Official Python client library for the DigitalOcean API, wrapping OpenAPI-generated code to provide access to infrastructure management and AI inference endpoints through a single Client interface.
Yes. PyDo is the official, actively maintained client for DigitalOcean's API with low install friction, permissive licensing, and no known vulnerabilities. Install it if you need to manage DigitalOcean infrastructure or access Gradient AI services from Python—it's the canonical way to do so. The recent release and active repository indicate ongoing support.
Install
pydo on PyPI
pip
pip install pydouv
uv add pydopoetry
poetry add pydoInstalling pydo
Before you install
Low install friction with a pure-wheel distribution. Active maintenance with a release 11 days ago and recent commits. Depends on azure-core, azure-identity, isodate, msrest, and typing-extensions—all standard, well-maintained packages.
License in practice
Apache-2.0 permissive license allows commercial and private use with minimal restrictions; suitable for most projects.
Quickstart
pip install pydo
import os
from pydo import Client
client = Client(token=os.getenv("DIGITALOCEAN_TOKEN"))
ssh_keys_resp = client.ssh_keys.list()
for k in ssh_keys_resp["ssh_keys"]:
print(f"ID: {k['id']}, NAME: {k['name']}")
Requires a DigitalOcean API token (PAT) with appropriate scope; inference APIs require full-access scope or a Gradient Model Access Key.
Verify before relying
- Whether all DigitalOcean API endpoints are fully supported or if some remain unimplemented.
- Performance characteristics and rate-limiting behavior under high-volume usage.
- Stability of the async interface (aio) relative to the synchronous client.
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (<4.0.0,>=3.8.0) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 5 — azure-core, azure-identity, isodate, msrest, typing-extensions |
| Maintenance | actively maintained — 11 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 267,132/month — #8,296 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pydo-0.40.0-py3-none-any.whl
Keywords: digitalocean, api, client
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
python-digitaloceanProvides Python bindings to the DigitalOcean…
copyleft · top 15,000 on PyPI
clarifaiOfficial Python client for Clarifai's AI…
permissive · top 15,000 on PyPI
pydomoPython SDK for automating Domo instance…
permissive · top 15,000 on PyPI
zhipuaiOfficial Python SDK for ZhipuAI's large model…
unclear · top 15,000 on PyPI
zai-sdkOfficial Python SDK for Z.ai's large model…
unclear · top 15,000 on PyPI
cloudbridgeCloudBridge provides a unified Python API that…
permissive · top 15,000 on PyPI
cerebras-cloud-sdkProvides a Python client library for accessing…
permissive · top 5,000 on PyPI
mistralaiPython client SDK for the Mistral AI API,…
unclear · top 1,000 on PyPI
azure-storage-file-datalakeProvides Python client library for Azure Data…
permissive · top 1,000 on PyPI
ai21Python SDK for accessing AI21 Labs' language…
unclear · top 15,000 on PyPI