Python SDK (Beta) v1.X

BETA - DealCloud SDK - Python (Release 1.X)

This version of the SDK is in BETA only. If you would like to be included in the beta, please contact Brian Michael brian.michael@intapp.com

Expected GA Release 2610.

The DealCloud Python SDK is a comprehensive wrapper around the DealCloud API, designed to help clients and partners build integrations quickly and efficiently. Documentation targets dealcloud-sdk 1.x. Install from PyPI (opens in a new tab): pip install dealcloud-sdk.

⚠️

Major rewrite: dealcloud-sdk 1.x replaces the legacy SDK and uses HTTPX via intapp-rest-client (not requests directly). See the Migration Guide before upgrading from earlier versions.

What's New in Release 2610

FeatureDescription
HTTP stackintapp-rest-client on HTTPX (replaces direct requests usage)
Typed DataPydantic models for type-safe operations
StreamingMemory-efficient generators for large datasets
Delta SyncIncremental data synchronization
Reference CachingLRU cache for reference resolution
File ExportBulk image/document export helpers
Full API Coverage94+ functions across 11 API categories
Schema CachingOptional schema cache with TTL; refresh_schema() to force refresh
PublicationsEvent streaming: get_topics, poll_events, acknowledge_topic_offsets, subscribe, subscribe_async

Features

  • Ease of Development: Pythonic interface wrapping the DealCloud API. Focus on requirements, not HTTP requests.
  • Best Practices: Built by Intapp with production-tested patterns for retry, pagination, and error handling.
  • High Performance: Automatic pagination, parallel requests, and streaming for large datasets.
  • Type Safety: Optional Pydantic integration for IDE assistance and runtime validation.
  • Pandas Integration: Native DataFrame support for data analysis workflows.
  • Polars Integration: High-performance DataFrame support for large datasets (10-100x faster than pandas).

Reference

Installation

pip install dealcloud-sdk
pip install dealcloud-sdk[polars]  # Polars DataFrames (10-100x faster)
pip install dealcloud-sdk[yaml]   # YAML config files
pip install dealcloud-sdk[all]    # All optional features

The base package includes pandas. Use the polars extra for Polars DataFrames; use yaml for YAML config files.

Quick Example

Reading Data

from dealcloud_sdk import DealCloud, DealCloudConfig
 
config = DealCloudConfig(
    siteUrl="yoursite.dealcloud.com",
    clientId=12345,
    clientSecret="your-secret",
)
dc = DealCloud.from_config_object(config)
 
# Read data (output format now required)
companies = dc.read_data("Company", output="pandas")
 
# Filter and export
active = companies[companies["Status"] == "Active"]
active.to_csv("active_companies.csv")

Writing Data

from dealcloud_sdk import DealCloud, DealCloudConfig
 
config = DealCloudConfig(
    siteUrl="yoursite.dealcloud.com",
    clientId=12345,
    clientSecret="your-secret",
)
dc = DealCloud.from_config_object(config)
 
# Create a company
company = [
    {
        "CompanyName": "Intapp Inc.",
        "BusinessDescription": "Intelligence, Applied.",
        "Industry": 12345,  # Choice field ID
    }
]
 
# Insert and get result with EntryIds
result = dc.insert_data("Company", company)
print(f"Created company with ID: {result[0]['EntryId']}")

Typed Data with Pydantic

from dealcloud_sdk import DealCloud, DealCloudConfig
from pydantic import BaseModel
from typing import Optional
 
class Company(BaseModel):
    EntryId: int
    CompanyName: str
    Industry: Optional[str] = None
 
config = DealCloudConfig(
    siteUrl="yoursite.dealcloud.com",
    clientId=12345,
    clientSecret="your-secret",
)
dc = DealCloud.from_config_object(config)
 
# Read as typed models
companies = dc.typed_read_data(Company, object_id="Company")
 
for company in companies:
    print(f"{company.CompanyName}: {company.Industry}")  # Full autocomplete!

API Categories

Support

For issues and feature requests, contact your Intapp representative or visit the API Documentation (opens in a new tab).