Skip to main content

The official Python3 Domo API SDK - Domo, Inc.

Project description

<div align="center">
<img src="domo.png" width="400" height="400"/>

# Python3 - Domo API SDK (pydomo)

Current Release: 0.2.3

### Notice - Python 3 Compatibility

* PyDomo is written for Python3, and is not compatible with Python2
* Execute scripts via 'python3', and updates via 'pip3'

### About

* The Domo API SDK is the simplest way to automate your Domo instance
* The SDK streamlines the API programming experience, allowing you to significantly reduce your written code
* This SDK was written for Python3, and is not compatible with Python2
* PyDomo has been published to [PyPI]( The SDK can be easily installed via `pip3 install pydomo`, and can be updated via `pip3 install pydomo --upgrade`

### Features:
- DataSet and Personalized Data Policy (PDP) Management
- Use DataSets for fairly static data sources that only require occasional updates via data replacement
- Add Personalized Data Policies (PDPs) to DataSets (hide sensitive data from groups of users)
- Docs:
- Stream Management
- A Domo Stream is a specialized upload pipeline pointing to a single Domo DataSet
- Use Streams for massive, constantly changing, or rapidly growing data sources
- Streams support accelerated uploading via parallel data uploads
- Docs:
- User Management
- Create, update, and remove users
- Major use case: LDAP/Active Directory synchronization
- Docs:
- Group Management
- Create, update, and remove groups of users
- Docs:
- Page Management
- Create, update, and delete pages
- Docs:

### Setup
* Install Python3:
* Linux: 'apt-get install python3'
* MacOS: 'brew install python3'
* Windows: direct download, or use Bash on Windows 10
* Install PyDomo and its dependencies via `pip3 install pydomo`

### Updates
* Update your PyDomo package via `pip3 install pydomo --upgrade`
* View the [changelog](

### Usage
* See []( for full usage
* To run this file, copy/paste its contents, enter your ID and Secret (, and execute "python3"
* Create an API Client on the [Domo Developer Portal](
* Use your API Client id/secret to instantiate pydomo 'Domo()'
* Multiple API Clients can be used by instantiating multiple 'Domo()' clients
* Authentication with the Domo API is handled automatically by the SDK
* If you encounter a 'Not Allowed' error, this is a permissions issue. Please speak with your Domo Administrator.
import logging
from pydomo import Domo

# Build an SDK configuration
client_id = 'MY_CLIENT_ID'
client_secret = 'MY_CLIENT_SECRET'
api_host = ''

# Configure the logger
handler = logging.StreamHandler()
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')

# Create an instance of the SDK Client
domo = Domo(client_id, client_secret, logger_name='foo', log_level=logging.INFO, api_host=api_host)

# Manage DataSets

# Manage Streams

# Manage Users

# Manage User Groups

# Manage Pages

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pydomo, version 0.2.3
Filename, size File type Python version Upload date Hashes
Filename, size pydomo-0.2.3-py3-none-any.whl (18.2 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size pydomo-0.2.3.tar.gz (14.3 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page