TitanRDM Python SDK Documentation

The TitanRDM Python SDK enables you to programmatically integrate your data platform with TitanRDM — upload reference data, download managed datasets, and automate sync workflows across Databricks, Snowflake, BigQuery, and any pandas-compatible environment.

TitanRDM SDK provides 4 methods of integration:

  1. Direct API Calls - Use the TitanRDMClient to interact with the TitanRDM API directly
  2. Convention Sync - Use the ConventionSync class for pandas-based platform-agnostic synchronisation
  3. Spark Sync - Use SparkSync with Spark/Catalogue-based platforms like Databricks and Microsoft Fabric
  4. Platform-Specific Sync - Use platform-specific sync classes with convention-based synchronisation

Table of Contents


Architecture Overview

┌─────────────────────────────────────────────────────────┐
│                    Your Data Platform                     │
│  (Databricks / Snowflake / BigQuery / Python scripts)    │
└────────────────────────────┬────────────────────────────┘
                             │
                    ┌────────▼────────┐
                    │  TitanRDM SDK   │
                    │                 │
                    │  ConventionSync │  ← Any platform
                    │  SparkSync      │  ← Databricks/Fabric etc
                    │  SnowparkSync   │  ← Snowflake
                    │  BigQuerySync   │  ← BigQuery
                    └────────┬────────┘
                             │
                    ┌────────▼────────┐
                    │   TitanRDM API  │
                    └─────────────────┘

Quick Example

from titan_rdm_sdk import TitanRDMClient
from titan_rdm_sdk.spark_sync import SparkSync

# Authenticate
client = TitanRDMClient(
    url="https://your-tenant.titanrdm.com",
    client_id="your_client_id",
    client_secret="your_client_secret",
)

# Download all tables in a domain to your Spark catalog
sync = SparkSync(client=client, spark=spark)
sync.download_sync_by_convention(
    branch_id=branch.id,
    target_catalog="dev",
    target_schema="rdmin",
    source_domain_name="Clinics",
)