- How to Install doctl
- cancel-event
- cancel-job-invocation
- console
- create
- create-deployment
- delete
- get
- get-deployment
- get-event
- get-job-invocation
- list
- list-alerts
- list-buildpacks
- list-deployments
- list-events
- list-instances
- list-job-invocations
- list-regions
- logs
- propose
- restart
- update
- update-alert-destinations
- upgrade-buildpack
- doctl version
- Manage Load Balancers with doctl
- 1-Click Applications
- Account
- Actions
- Add-Ons
- Apps
- Billing
- Block Storage
- Block Storage Actions
- BYOIP Prefixes
- CDN Endpoints
- Certificates
- Container Registries
- Container Registry
- Databases
- Dedicated Inference
- Domain Records
- Domains
- Droplet Actions
- Droplet Autoscale Pools
- Droplets
- Firewalls
- Floating IP Actions
- Floating IPs
- Functions
- GradientAI Platform
- Image Actions
- Images
- Kubernetes
- Load Balancers
- Monitoring
- NFS
- NFS Actions
- Organizations
- Partner Network Connect
- Project Resources
- Projects
- Regions
- Reserved IP Actions
- Reserved IPs
- Reserved IPv6
- Reserved IPv6 Actions
- Security
- Sizes
- Snapshots
- Spaces Keys
- SSH Keys
- Tags
- Uptime
- Vector Databases
- VPC NAT Gateways
- VPC Peerings
- VPCs
- Create an Access Token
- Manage Model Access Keys
- OAuth API
- Reference
- Configure Remote MCP
- Configure Local MCP
- Accounts
- App Platform
- Dedicated Inference
- DBaaS
- Evaluations
- Batch Inference
- GenAI Custom Models
- DOKS
- GenAI Inference Router
- Container Registry
- Droplets
- Functions
- Insights
- Knowledge Bases
- Model Catalog
- Marketplace
- Networking
- Network File Storage
- Spaces
- Documentation
- Volumes Block Storage
- Vector Database
- Prompting Guidelines
- API Keys
- Paperspace CLI private
- account_info
- actions_info
- app
- apps_info
- balance_info
- billing_history_info
- byoip_prefix
- byoip_prefixes_info
- cdn_endpoints
- cdn_endpoints_info
- certificate
- certificates_info
- container_registry
- container_registry_info
- database_backups_info
- database_cluster
- database_clusters_info
- database_config
- database_config_info
- database_connection_pool
- database_connection_pools_info
- database_db
- database_dbs_info
- database_firewall
- database_firewall_rules_info
- database_maintenance_window
- database_replica
- database_replicas_info
- database_user
- database_users_info
- domain
- domain_record
- domain_records_info
- domains_info
- droplet
- droplet_action_power
- droplet_action_resize
- droplet_action_snapshot
- droplet_autoscale_pool
- droplet_autoscale_pools_info
- droplet_backups_info
- droplet_kernels_info
- droplet_neighbors_info
- droplet_snapshots_info
- droplets_info
- firewall
- firewalls_info
- floating_ip
- floating_ip_action
- floating_ips_info
- function_namespace
- function_namespaces_info
- image
- image_action
- images_info
- invoice_items_info
- invoices_info
- kubernetes_cluster
- kubernetes_clusters_info
- kubernetes_node_pool
- kubernetes_node_pools_info
- load_balancer
- load_balancers_info
- monitoring_alert_policies_info
- monitoring_alert_policy
- nfs
- nfs_action
- nfs_info
- one_click
- one_clicks_info
- project
- project_resource
- project_resources
- project_resources_info
- projects_info
- regions_info
- reserved_ip
- reserved_ip_assign
- reserved_ips_info
- reserved_ipv6
- reserved_ipv6_action
- reserved_ipv6s_info
- sizes_info
- snapshot
- snapshots_info
- space
- spaces_info
- spaces_key
- spaces_keys_info
- ssh_key
- ssh_keys_info
- tag
- tags_info
- uptime_alert
- uptime_alerts_info
- uptime_check
- uptime_checks_info
- uptime_checks_state_info
- volume
- volume_action
- volume_snapshot
- volumes_info
- vpc
- vpc_nat_gateway
- vpc_nat_gateways_info
- vpc_peering
- vpc_peerings_info
- vpcs_info
- Configure Terraform
- digitalocean_app
- digitalocean_byoip_prefix
- digitalocean_cdn
- digitalocean_certificate
- digitalocean_container_registry
- digitalocean_container_registry_docker_credentials
- digitalocean_custom_image
- digitalocean_database_advanced_mysql_config
- digitalocean_database_advanced_postgresql_config
- digitalocean_database_cluster
- digitalocean_database_connection_pool
- digitalocean_database_db
- digitalocean_database_firewall
- digitalocean_database_kafka_config
- digitalocean_database_kafka_schema_registry
- digitalocean_database_kafka_topic
- digitalocean_database_logsink_opensearch
- digitalocean_database_logsink_rsyslog
- digitalocean_database_mongodb_config
- digitalocean_database_mysql_config
- digitalocean_database_online_migration
- digitalocean_database_opensearch_config
- digitalocean_database_postgresql_config
- digitalocean_database_redis_config
- digitalocean_database_replica
- digitalocean_database_user
- digitalocean_database_valkey_config
- digitalocean_dedicated_inference
- digitalocean_dedicated_inference_token
- digitalocean_domain
- digitalocean_droplet
- digitalocean_droplet_autoscale
- digitalocean_droplet_snapshot
- digitalocean_firewall
- digitalocean_floating_ip
- digitalocean_floating_ip_assignment
- digitalocean_genai_agent
- digitalocean_gradientai_agent
- digitalocean_kubernetes_cluster
- digitalocean_kubernetes_node_pool
- digitalocean_loadbalancer
- digitalocean_microdroplet
- digitalocean_microdroplet_image
- digitalocean_monitor_alert
- digitalocean_nfs
- digitalocean_nfs_access_point
- digitalocean_nfs_attachment
- digitalocean_nfs_snapshot
- digitalocean_partner_attachment
- digitalocean_project
- digitalocean_project_resources
- digitalocean_record
- digitalocean_reserved_ip
- digitalocean_reserved_ip_assignment
- digitalocean_reserved_ipv6
- digitalocean_reserved_ipv6_assignment
- digitalocean_spaces_bucket
- digitalocean_spaces_bucket_logging
- digitalocean_spaces_bucket_object
- digitalocean_spaces_bucket_policy
- digitalocean_spaces_cors_configuration
- digitalocean_spaces_key
- digitalocean_ssh_key
- digitalocean_tag
- digitalocean_uptime_alert
- digitalocean_uptime_check
- digitalocean_vector_database
- digitalocean_volume
- digitalocean_volume_attachment
- digitalocean_volume_snapshot
- digitalocean_vpc
- digitalocean_vpc_nat_gateway
- digitalocean_vpc_peering
- digitalocean_account
- digitalocean_app
- digitalocean_byoip_prefix
- digitalocean_byoip_prefix_resources
- digitalocean_certificate
- digitalocean_container_registry
- digitalocean_database_ca
- digitalocean_database_cluster
- digitalocean_database_connection_pool
- digitalocean_database_metrics_credentials
- digitalocean_database_replica
- digitalocean_database_user
- digitalocean_dedicated_inference
- digitalocean_dedicated_inference_accelerators
- digitalocean_dedicated_inference_gpu_model_config
- digitalocean_dedicated_inference_sizes
- digitalocean_dedicated_inference_tokens
- digitalocean_dedicated_inferences
- digitalocean_domain
- digitalocean_domains
- digitalocean_droplet
- digitalocean_droplet_autoscale
- digitalocean_droplet_snapshot
- digitalocean_droplets
- digitalocean_firewall
- digitalocean_floating_ip
- digitalocean_genai_agent
- digitalocean_gradientai_agent
- digitalocean_image
- digitalocean_images
- digitalocean_kubernetes_cluster
- digitalocean_kubernetes_versions
- digitalocean_loadbalancer
- digitalocean_microdroplet
- digitalocean_microdroplet_checkpoints
- digitalocean_microdroplet_image
- digitalocean_microdroplet_images
- digitalocean_microdroplets
- digitalocean_nfs
- digitalocean_nfs_access_point
- digitalocean_nfs_snapshot
- digitalocean_partner_attachment
- digitalocean_partner_attachment_service_key
- digitalocean_project
- digitalocean_projects
- digitalocean_record
- digitalocean_records
- digitalocean_region
- digitalocean_regions
- digitalocean_reserved_ip
- digitalocean_reserved_ipv6
- digitalocean_sizes
- digitalocean_spaces_bucket
- digitalocean_spaces_bucket_object
- digitalocean_spaces_bucket_objects
- digitalocean_spaces_buckets
- digitalocean_spaces_key
- digitalocean_ssh_key
- digitalocean_ssh_keys
- digitalocean_tag
- digitalocean_tags
- digitalocean_vector_database
- digitalocean_volume
- digitalocean_volume_snapshot
- digitalocean_vpc
- digitalocean_vpc_nat_gateway
- digitalocean_vpc_peering
- Deploy a Web App
- assign_alert_destinations()
- cancel_deployment()
- cancel_event()
- cancel_job_invocation()
- commit_rollback()
- create()
- create_deployment()
- create_rollback()
- delete()
- get()
- get_deployment()
- get_event()
- get_event_logs()
- get_exec()
- get_exec_active_deployment()
- get_health()
- get_instance_size()
- get_instances()
- get_job_invocation()
- get_job_invocation_logs()
- get_logs()
- get_logs_active_deployment()
- get_logs_active_deployment_aggregate()
- get_logs_aggregate()
- get_metrics_bandwidth_daily()
- list()
- list_alerts()
- list_deployments()
- list_events()
- list_instance_sizes()
- list_job_invocations()
- list_metrics_bandwidth_daily()
- list_regions()
- restart()
- revert_rollback()
- update()
- validate_app_spec()
- validate_rollback()
- add()
- add_connection_pool()
- add_user()
- create_cluster()
- create_kafka_schema()
- create_kafka_topic()
- create_logsink()
- create_replica()
- delete()
- delete_connection_pool()
- delete_kafka_schema()
- delete_kafka_topic()
- delete_logsink()
- delete_online_migration()
- delete_opensearch_index()
- delete_user()
- destroy_cluster()
- destroy_replica()
- get()
- get_autoscale()
- get_ca()
- get_cluster()
- get_cluster_metrics_credentials()
- get_config()
- get_connection_pool()
- get_do_settings()
- get_eviction_policy()
- get_kafka_schema()
- get_kafka_schema_config()
- get_kafka_schema_subject_config()
- get_kafka_schema_version()
- get_kafka_topic()
- get_logsink()
- get_migration_status()
- get_replica()
- get_sql_mode()
- get_user()
- install_update()
- list()
- list_backups()
- list_clusters()
- list_connection_pools()
- list_events_logs()
- list_firewall_rules()
- list_kafka_schemas()
- list_kafka_topics()
- list_logsink()
- list_opeasearch_indexes()
- list_options()
- list_replicas()
- list_users()
- patch_config()
- promote_replica()
- reset_auth()
- update_autoscale()
- update_cluster_metrics_credentials()
- update_cluster_size()
- update_connection_pool()
- update_do_settings()
- update_eviction_policy()
- update_firewall_rules()
- update_kafka_schema_config()
- update_kafka_schema_subject_config()
- update_kafka_topic()
- update_logsink()
- update_maintenance_window()
- update_major_version()
- update_online_migration()
- update_region()
- update_sql_mode()
- update_user()
- create()
- destroy()
- destroy_by_tag()
- destroy_retry_with_associated_resources()
- destroy_with_associated_resources_dangerous()
- destroy_with_associated_resources_selective()
- get()
- get_backup_policy()
- get_destroy_associated_resources_status()
- list()
- list_associated_resources()
- list_backup_policies()
- list_backups()
- list_firewalls()
- list_kernels()
- list_neighbors()
- list_neighbors_ids()
- list_snapshots()
- list_supported_backup_policies()
- attach_agent()
- attach_agent_function()
- attach_agent_guardrails()
- attach_knowledge_base()
- attach_knowledge_bases()
- cancel_indexing_job()
- cancel_model_evaluation_run()
- create_agent()
- create_agent_api_key()
- create_anthropic_api_key()
- create_custom_evaluation_metric()
- create_data_source_file_upload_presigned_urls()
- create_evaluation_dataset()
- create_evaluation_dataset_file_upload_presigned_urls()
- create_evaluation_test_case()
- create_indexing_job()
- create_knowledge_base()
- create_knowledge_base_data_source()
- create_model_api_key()
- create_model_eval_dataset_upload_presigned_urls()
- create_model_evaluation_run()
- create_model_router()
- create_oauth2_dropbox_tokens()
- create_openai_api_key()
- create_scheduled_indexing()
- create_workspace()
- delete_agent()
- delete_agent_api_key()
- delete_anthropic_api_key()
- delete_custom_evaluation_metric()
- delete_custom_model()
- delete_evaluation_dataset()
- delete_knowledge_base()
- delete_knowledge_base_data_source()
- delete_model_api_key()
- delete_model_evaluation_preset()
- delete_model_evaluation_run()
- delete_model_router()
- delete_openai_api_key()
- delete_scheduled_indexing()
- delete_workspace()
- detach_agent()
- detach_agent_function()
- detach_agent_guardrail()
- detach_knowledge_base()
- get_agent()
- get_agent_children()
- get_agent_usage()
- get_anthropic_api_key()
- get_custom_model()
- get_evaluation_dataset_download_url()
- get_evaluation_run()
- get_evaluation_run_prompt_results()
- get_evaluation_run_results()
- get_evaluation_test_case()
- get_indexing_job()
- get_indexing_job_details_signed_url()
- get_knowledge_base()
- get_model_catalog_card()
- get_model_evaluation_preset()
- get_model_evaluation_run()
- get_model_evaluation_run_results_download_url()
- get_model_router()
- get_oauth2_url()
- get_openai_api_key()
- get_scheduled_indexing()
- get_workspace()
- import_custom_model()
- list_agent_api_keys()
- list_agent_versions()
- list_agents()
- list_agents_by_anthropic_key()
- list_agents_by_openai_key()
- list_agents_by_workspace()
- list_anthropic_api_keys()
- list_custom_models()
- list_datacenter_regions()
- list_evaluation_datasets()
- list_evaluation_metrics()
- list_evaluation_runs_by_test_case()
- list_evaluation_test_cases()
- list_evaluation_test_cases_by_workspace()
- list_indexing_job_data_sources()
- list_indexing_jobs()
- list_indexing_jobs_by_knowledge_base()
- list_knowledge_base_data_sources()
- list_knowledge_bases()
- list_model_api_keys()
- list_model_catalog()
- list_model_evaluation_metrics()
- list_model_evaluation_presets()
- list_model_evaluation_runs()
- list_model_router_presets()
- list_model_router_task_presets()
- list_model_routers()
- list_models()
- list_openai_api_keys()
- list_workspaces()
- regenerate_agent_api_key()
- regenerate_model_api_key()
- rollback_to_agent_version()
- run_evaluation_test_case()
- update_agent()
- update_agent_api_key()
- update_agent_deployment_visibility()
- update_agent_function()
- update_agents_workspace()
- update_anthropic_api_key()
- update_attached_agent()
- update_custom_evaluation_metric()
- update_custom_model_metadata()
- update_evaluation_test_case()
- update_knowledge_base()
- update_knowledge_base_data_source()
- update_model_api_key()
- update_model_evaluation_run()
- update_model_router()
- update_openai_api_key()
- update_workspace()
- add_node_pool()
- add_registries()
- add_registry()
- create_cluster()
- delete_cluster()
- delete_node()
- delete_node_pool()
- destroy_associated_resources_dangerous()
- destroy_associated_resources_selective()
- get_available_upgrades()
- get_cluster()
- get_cluster_lint_results()
- get_cluster_user()
- get_credentials()
- get_kubeconfig()
- get_node_pool()
- get_status_messages()
- list_associated_resources()
- list_clusters()
- list_node_pools()
- list_options()
- recycle_node_pool()
- remove_registries()
- remove_registry()
- run_cluster_lint()
- update_cluster()
- update_node_pool()
- upgrade_cluster()
- create_alert_policy()
- create_destination()
- create_sink()
- delete_alert_policy()
- delete_destination()
- delete_sink()
- get_alert_policy()
- get_app_cpupercentage_metrics()
- get_app_memory_percentage_metrics()
- get_app_restart_count_metrics.yml()
- get_database_mysql_cpu_usage()
- get_database_mysql_disk_usage()
- get_database_mysql_index_vs_sequential_reads()
- get_database_mysql_load()
- get_database_mysql_memory_usage()
- get_database_mysql_op_rates()
- get_database_mysql_schema_latency()
- get_database_mysql_schema_throughput()
- get_database_mysql_threads_active()
- get_database_mysql_threads_connected()
- get_database_mysql_threads_created_rate()
- get_destination()
- get_droplet_autoscale_current_cpu_utilization.yml()
- get_droplet_autoscale_current_instances()
- get_droplet_autoscale_current_memory_utilization()
- get_droplet_autoscale_target_cpu_utilization()
- get_droplet_autoscale_target_instances()
- get_droplet_autoscale_target_memory_utilization()
- get_droplet_bandwidth_metrics()
- get_droplet_cpu_metrics()
- get_droplet_filesystem_free_metrics()
- get_droplet_filesystem_size_metrics()
- get_droplet_load15_metrics()
- get_droplet_load1_metrics()
- get_droplet_load5_metrics()
- get_droplet_memory_available_metrics()
- get_droplet_memory_cached_metrics()
- get_droplet_memory_free_metrics()
- get_droplet_memory_total_metrics()
- get_lb_droplets_connections()
- get_lb_droplets_downtime()
- get_lb_droplets_health_checks()
- get_lb_droplets_http_response_time_50p()
- get_lb_droplets_http_response_time_95p()
- get_lb_droplets_http_response_time_99p()
- get_lb_droplets_http_response_time_avg()
- get_lb_droplets_http_responses()
- get_lb_droplets_http_session_duration_50p()
- get_lb_droplets_http_session_duration_95p()
- get_lb_droplets_http_session_duration_avg()
- get_lb_droplets_queue_size()
- get_lb_frontend_connections_current()
- get_lb_frontend_connections_limit()
- get_lb_frontend_cpu_utilization()
- get_lb_frontend_firewall_dropped_bytes()
- get_lb_frontend_firewall_dropped_packets()
- get_lb_frontend_http_requests_per_second()
- get_lb_frontend_http_responses()
- get_lb_frontend_network_throughput_http()
- get_lb_frontend_network_throughput_tcp()
- get_lb_frontend_network_throughput_udp()
- get_lb_frontend_nlb_tcp_network_throughput()
- get_lb_frontend_nlb_udp_network_throughput()
- get_lb_frontend_tls_connections_current()
- get_lb_frontend_tls_connections_exceeding_rate_limit()
- get_lb_frontend_tls_connections_limit()
- get_sink()
- list_alert_policy()
- list_destinations()
- list_sinks()
- update_alert_policy()
- update_destination()
- create()
- delete()
- delete_repository()
- delete_repository_manifest()
- delete_repository_tag()
- get()
- get_docker_credentials()
- get_garbage_collection()
- get_options()
- get_subscription()
- list()
- list_garbage_collections()
- list_repositories_v2()
- list_repository_manifests()
- list_repository_tags()
- run_garbage_collection()
- update_garbage_collection()
- update_subscription()
- validate_name()
- create()
- delete()
- delete_repository_manifest()
- delete_repository_tag()
- get()
- get_docker_credentials()
- get_garbage_collection()
- get_options()
- get_subscription()
- list_garbage_collections()
- list_repositories()
- list_repositories_v2()
- list_repository_manifests()
- list_repository_tags()
- run_garbage_collection()
- update_garbage_collection()
- update_subscription()
- validate_name()
- create_scan()
- create_scan_rule()
- create_secret()
- create_suppression()
- delete_secret()
- delete_suppression()
- get_latest_scan()
- get_scan()
- get_secret()
- list_scan_finding_affected_resources()
- list_scans()
- list_secret_versions()
- list_secrets()
- list_settings()
- post_restore_secret()
- update_secret()
- update_settings_plan()
-
[libraries.f718f930c4f806c3d2f8548b78661d1b4e835959e441cd3499fb93dac044b021.svg]Libraries
-
[opensource.e3aaf41478fe88f6808cf399b9357d9d23fe3f04f3a9ed58f6cc7b261f2e04c3.svg]Open Source
- PyDo
For AI agents: The documentation index is at https://docs.digitalocean.com/llms.txt. Markdown versions of pages use the same URL with
index.html.mdin place of the HTML page (for example, appendindex.html.mdto the directory path instead of opening the HTML document).
PyDo
Last verified 30 Mar 2026
PyDo is DigitalOcean’s official Python client library based on DigitalOcean’s OpenAPIv3 specification.
Installation
To use PyDo, you need Python version 3.7.2 or higher.
You can install the latest stable release of PyDo from PyPi:
pip install pydoYou can alternatively install the most recent version of PyDo from the GitHub repository:
pip install git+https://github.com/digitalocean/pydo.gitYou can also install from source by cloning the repository and using make install.
Quickstart
You need to initialize PyDo with pydo.Client() and pass it a DigitalOcean API token:
import os
from pydo import Client
client = Client(token=os.getenv("DIGITALOCEAN_TOKEN"))Most endpoints in our API have a corresponding PyDo example, which you can view in the API spec and directly in the PyDo library reference.
More Information
The pydo GitHub repository.
PyDo is the official Python client library for the DigitalOcean API. It provides a Python abstraction layer on top of the raw HTTP API, wrapping a generated client based on the DigitalOcean OpenAPI Specification.
In this article...