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
| Feature | Description |
|---|---|
| HTTP stack | intapp-rest-client on HTTPX (replaces direct requests usage) |
| Typed Data | Pydantic models for type-safe operations |
| Streaming | Memory-efficient generators for large datasets |
| Delta Sync | Incremental data synchronization |
| Reference Caching | LRU cache for reference resolution |
| File Export | Bulk image/document export helpers |
| Full API Coverage | 94+ functions across 11 API categories |
| Schema Caching | Optional schema cache with TTL; refresh_schema() to force refresh |
| Publications | Event 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 featuresThe 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).