duplocloud-client
Command line Client for interacting with Duplocloud portals.
What it is and what it does
duplocloud-client is a command-line tool and Python library for interacting with DuploCloud infrastructure platforms. It abstracts DuploCloud's API into a unified interface for managing cloud resources—services, tenants, databases, storage, compute, and Kubernetes objects—across multiple environments. The package works both as a standalone CLI (with commands like `duploctl service list`, `duploctl tenant find`) and as an importable Python module for scripting and CI/CD integration.
The tool emphasizes operational flexibility: it supports multiple output formats (JSON, YAML, CSV, environment variables, plain strings), JMESPath queries for filtering and transforming results, browser-based OAuth login with token caching, and optional Pydantic validation of inputs against DuploCloud SDK schemas. Its plugin architecture allows resources to be discovered and extended via Python entry points. Dependencies are lightweight and standard (requests, cachetools, jmespath, pyyaml, jsonpatch, pyjwt, jsonpointer), and it requires Python 3.10 or later.
Use it for:
- Automate infrastructure provisioning and updates in CI/CD pipelines (GitHub Actions, GitLab CI, CircleCI, Bitbucket Pipelines).
- Query and manage multi-tenant cloud resources from the command line without leaving the terminal.
- Script infrastructure operations in Python—create services, update images, manage secrets and configs programmatically.
- Obtain just-in-time AWS credentials and Kubernetes configs for temporary elevated access.
- Filter and reshape cloud resource output with JMESPath queries for reporting or downstream processing.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
CLI and Python SDK for managing DuploCloud infrastructure, supporting 30+ resource types including tenants, services, RDS, S3, Lambda, and Kubernetes resources with multiple output formats and JMESPath filtering.
Yes. The package is actively maintained, has low install friction, carries a permissive MIT license, and solves a clear operational need for DuploCloud users. It works both as a CLI and Python library, integrates with major CI/CD platforms, and has no known security vulnerabilities. Install it if you manage DuploCloud infrastructure or need to automate DuploCloud operations in scripts or pipelines.
Install
duplocloud-client on PyPI
pip
pip install duplocloud-clientuv
uv add duplocloud-clientpoetry
poetry add duplocloud-clientInstalling duplocloud-client
Before you install
Low install friction with a pure-wheel distribution and common dependencies. Active maintenance with a release 25 days ago and ongoing commits; the project shows steady engagement with 57 repository stars.
License in practice
MIT license (permissive) allows use in commercial and private projects with minimal restrictions, requiring only attribution and inclusion of the license notice.
Quickstart
# Install
pip install duplocloud-client
# Set credentials
export DUPLO_HOST=https://example.duplocloud.net
export DUPLO_TOKEN=AQAAA...
export DUPLO_TENANT=dev01
# CLI usage
duploctl service list
# Python SDK usage
from duplocloud.controller import DuploCtl
duplo, args = DuploCtl.from_env()
services = duplo("service", "list")
Requires Python 3.10 or later. DuploCloud host URL and authentication token (or interactive login capability) are required to connect.
Verify before relying
- Whether the 30+ resource types claim covers all major DuploCloud services or if some require additional plugins or configuration.
- Performance characteristics when managing large numbers of resources or querying across many tenants.
- Whether the plugin architecture supports custom resource types and the effort required to extend it.
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.10.0) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 7 — requests, cachetools, jmespath, pyyaml, jsonpatch, pyjwt, jsonpointer |
| Maintenance | actively maintained — 25 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 233,055/month — #9,049 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: duplocloud_client-0.4.5-py3-none-any.whl
Keywords: duplocloud, duplo, duploctl, duplo-client
Tags
More Utilities packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
charset-normalizerDetects and normalizes text encoding from…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
PygmentsPygments is a syntax highlighter that colorizes…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pulumi-aws-nativePulumi AWS Cloud Control Provider enables…
permissive · top 15,000 on PyPI
oci-cliCommand-line interface for managing Oracle…
permissive · top 5,000 on PyPI
django-tenantsEnables Django applications to serve multiple…
permissive · top 5,000 on PyPI
hatchHatch is a modern Python project manager that…
permissive · top 1,000 on PyPI
kr8sA Python client library for Kubernetes that…
permissive · top 5,000 on PyPI
azure-cliAzure CLI is a command-line tool for managing…
permissive · top 5,000 on PyPI
ddadda is a command-line tool for developing on…
permissive · top 15,000 on PyPI
tccliCommand-line interface for managing Tencent…
permissive · top 15,000 on PyPI
python-magnumclientPython bindings and command-line tool for the…
permissive · top 15,000 on PyPI
azure-mgmt-resourceProvides Python bindings to manage Azure…
permissive · top 1,000 on PyPI