Python Domino API Client

2.1.0 · active · verified Fri Apr 17

The `dominodatalab` library provides official Python bindings for the Domino Data Lab API, enabling programmatic interaction with Domino projects, jobs, models, and environments. As of version 2.1.0, it supports advanced features like agentic workflow tracing and enhanced job control. The library maintains an active release cadence, with major updates and minor patches released regularly.

Common errors

Warnings

Install

Imports

Quickstart

Initializes the Domino client using environment variables for host, API key, project owner, and project name, then attempts to list projects as a basic connectivity test. This pattern is recommended for secure credential management.

import os
from domino import Domino

# Configure environment variables (replace with your actual values or ensure they are set)
# DOMINO_API_HOST: e.g., 'https://your.domino.url'
# DOMINO_USER_API_KEY: Your Domino API key
# DOMINO_PROJECT_OWNER: The username of the project owner
# DOMINO_PROJECT_NAME: The name of the project

domino = Domino(
    host=os.environ.get("DOMINO_API_HOST", ""),
    api_key=os.environ.get("DOMINO_USER_API_KEY", ""),
    project_owner=os.environ.get("DOMINO_PROJECT_OWNER", ""),
    project_name=os.environ.get("DOMINO_PROJECT_NAME", "")
)

# Example: List projects accessible by the user
try:
    # Ensure required environment variables are set
    if not all([domino.host, domino.api_key, domino.project_owner, domino.project_name]):
        raise ValueError("Missing one or more required environment variables for Domino API access.")

    print(f"Attempting to connect to Domino at {domino.host}...")
    projects = domino.projects_list()
    print(f"Successfully connected. Found {len(projects)} projects accessible by user: {domino.project_owner}.")
    if projects:
        print(f"First project: {projects[0].name}")
except Exception as e:
    print(f"Error connecting to Domino or listing projects: {e}")
    print("Please ensure DOMINO_API_HOST, DOMINO_USER_API_KEY, DOMINO_PROJECT_OWNER, DOMINO_PROJECT_NAME are correctly set.")

view raw JSON →