pydomo
The official Python3 Domo API SDK - Domo, Inc.
What it is and what it does
PyDomo is the official Python 3 SDK for the Domo API, providing a high-level interface to automate common Domo instance management tasks. It wraps the Domo REST API to streamline dataset creation and updates, user and group management, page administration, account (credential) management, and stream-based data uploads. The SDK handles authentication automatically and uses pandas DataFrames as the primary data exchange format, allowing you to fetch data from Domo, transform it locally, and push results back.
The package is designed for scenarios where you need to synchronize data sources, manage user directories (like LDAP/Active Directory sync), or automate repetitive Domo operations from Python scripts. It depends on pandas for data manipulation, requests for HTTP communication, and requests_toolbelt for multipart uploads. The SDK abstracts away authentication and API endpoint details, reducing boilerplate code significantly compared to direct API calls.
Use it for:
- Synchronize users and groups from LDAP or Active Directory into Domo automatically
- Download datasets, transform them with pandas, and upload results back to Domo in a single script
- Create and manage Personalized Data Policies (PDPs) to control data visibility across user groups
- Upload large or frequently-changing data via Domo Streams with parallel, chunked CSV/GZIP uploads
- Automate page and account management as part of a larger Domo infrastructure provisioning workflow
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Python SDK for automating Domo instance management via the Domo API, handling datasets, users, groups, pages, accounts, streams, and personalized data policies.
Yes. PyDomo is the official Domo SDK with active maintenance, no known vulnerabilities, low install friction, and a permissive license. Install it if you need to automate Domo operations from Python—it significantly reduces boilerplate compared to direct API calls. The main prerequisite is obtaining Domo API credentials and ensuring your environment runs Python 3.
Install
pydomo on PyPI
pip
pip install pydomouv
uv add pydomopoetry
poetry add pydomoInstalling pydomo
Before you install
Low install friction with a pure-Python wheel distribution. The package is actively maintained with a recent release (275 days ago) and an active repository with ongoing commits. Three lightweight runtime dependencies (pandas, requests, requests_toolbelt) are standard and widely available.
License in practice
MIT license is permissive, allowing commercial use, modification, and distribution with minimal restrictions. No licensing concerns for most use cases.
Quickstart
pip3 install pydomo
from pydomo import Domo
domo = Domo('client-id', 'secret', api_host='api.domo.com')
car_data = domo.ds_get('dataset-id')
car_summary = car_data.groupby(['make', 'model']).agg({'dollars': 'mean'}).reset_index()
car_ds = domo.ds_create(car_summary, 'Summary', 'Generated')
Requires Python 3 (not compatible with Python 2). You must create an API Client on the Domo Developer Portal to obtain client ID and secret for authentication.
Verify before relying
- Whether the package supports all current Domo API endpoints or if some newer features require direct API calls
- Performance characteristics when handling very large datasets or high-frequency stream uploads
- Whether pandas is a required dependency or optional for certain workflows
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — pandas, requests, requests_toolbelt |
| Maintenance | actively maintained — 275 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 520,104/month — #6,212 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pydomo-0.3.0.16-py3-none-any.whl
Keywords: domo, api, sdk
Tags
More WWW/HTTP packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
h11h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
httpxHTTPX is a fully featured HTTP client library…
permissive · top 100 on PyPI
httpcoreA minimal low-level HTTP client library that…
permissive · top 100 on PyPI
aiohttpaiohttp is an async HTTP client and server…
permissive · top 100 on PyPI
athina-clientA Python SDK for logging and interacting with…
permissive · top 15,000 on PyPI
lakefs-sdkProvides a Python client library for the lakeFS…
permissive · top 15,000 on PyPI
pydoOfficial Python client library for the…
permissive · top 15,000 on PyPI
django-organizationsAdds multi-user group and account management to…
permissive · top 15,000 on PyPI
heroku3Python wrapper for the Heroku API V3 that lets…
permissive · top 15,000 on PyPI
datarobotA Python client library for programmatically…
unclear · top 15,000 on PyPI
django-activity-streamDjango Activity Stream generates and displays…
permissive · top 15,000 on PyPI
pyatlanOfficial Python SDK for Atlan, providing…
permissive · top 15,000 on PyPI
c7n-orgRuns Cloud Custodian policies in parallel…
permissive · top 5,000 on PyPI
vonage-videoPython client library for Vonage's Video API,…
permissive · top 15,000 on PyPI