{"library":"streamsets","title":"StreamSets Python SDK","type":"library","description":"The StreamSets Python SDK enables developers to programmatically interact with StreamSets DataOps Platform components, including Control Hub, Data Collector, and Transformer. It facilitates automation of data pipeline creation, management, monitoring, and deployment workflows. The library is currently at version 6.6.2 and receives regular updates to support new platform features and provide bug fixes.","language":"python","status":"active","last_verified":"Sat May 16","install":{"commands":["pip install streamsets"],"cli":null},"imports":["from streamsets.sdk import ControlHub","from streamsets.sdk import DataCollector","from streamsets.sdk.sch_models import Topology"],"auth":{"required":false,"env_vars":[]},"links":{"homepage":"https://streamsets.com","github":null,"docs":null,"changelog":null,"pypi":"https://pypi.org/project/streamsets/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null},"quickstart":{"code":"import os\nfrom streamsets.sdk import ControlHub\n\n# Ensure CRED_ID and CRED_TOKEN are set as environment variables\n# Example: export CRED_ID='your_credential_id'\n# Example: export CRED_TOKEN='your_credential_token'\n\ncred_id = os.environ.get('CRED_ID', 'YOUR_CRED_ID')\ncred_token = os.environ.get('CRED_TOKEN', 'YOUR_CRED_TOKEN')\nsch_url = os.environ.get('SCH_URL', 'https://cloud.streamsets.com') # Or your on-prem Control Hub URL\n\n# Connect to Control Hub\ntry:\n    control_hub = ControlHub(sch_url=sch_url, credential_id=cred_id, credential_token=cred_token)\n    print(f\"Successfully connected to Control Hub at {sch_url}\")\n\n    # Example: List available Data Collectors\n    data_collectors = control_hub.get_data_collectors()\n    if data_collectors:\n        print(\"Available Data Collectors:\")\n        for dc in data_collectors:\n            print(f\" - {dc.name} (ID: {dc.id})\")\n    else:\n        print(\"No Data Collectors found.\")\n\n    # Example: Create a simple pipeline (requires a Data Collector if deployed)\n    # This example demonstrates creating a pipeline in memory, but not deploying it.\n    # For deployment, you'd typically use PipelineBuilder and then control_hub.publish_pipeline()\n    # or control_hub.create_job() if managing via Control Hub.\n    print(\"\\nExample: Creating a simple in-memory pipeline builder (not yet deployed to Control Hub).\")\n    pipeline_builder = control_hub.get_pipeline_builder()\n    dev_data_generator = pipeline_builder.add_stage('Dev Data Generator')\n    trash = pipeline_builder.add_stage('Trash')\n    dev_data_generator >> trash # Connect stages\n    \n    my_pipeline = pipeline_builder.build('My First SDK Pipeline')\n    print(f\"Created pipeline builder object: {my_pipeline.name}\")\n    # To deploy this pipeline, you would use control_hub.publish_pipeline(my_pipeline)\n\nexcept Exception as e:\n    print(f\"Error connecting to Control Hub or performing operations: {e}\")","lang":"python","description":"This quickstart demonstrates how to connect to StreamSets Control Hub using API credentials and list available Data Collectors. It also includes an example of how to initialize a `PipelineBuilder` to create an in-memory pipeline definition. Remember that creating an object in code does not automatically deploy it to StreamSets; explicit `publish` or `add` calls are required.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-16","installed_version":"6.6.2","pypi_latest":"7.0.1","is_stale":true,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":3.4,"avg_import_s":0.7,"wheel_type":"sdist"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"streamsets","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.66,"mem_mb":14.8,"disk_size":"28.2M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"streamsets","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":3,"import_time_s":0.42,"mem_mb":14.8,"disk_size":"29M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"streamsets","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.94,"mem_mb":16.8,"disk_size":"31.8M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"streamsets","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":3,"import_time_s":0.77,"mem_mb":16.8,"disk_size":"33M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"streamsets","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.75,"mem_mb":16.3,"disk_size":"21.5M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"streamsets","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":3.8,"import_time_s":0.77,"mem_mb":16.4,"disk_size":"23M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"streamsets","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.75,"mem_mb":17.1,"disk_size":"21.2M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"streamsets","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":3.6,"import_time_s":0.72,"mem_mb":17.1,"disk_size":"22M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"streamsets","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.68,"mem_mb":15,"disk_size":"27.4M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"streamsets","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":3.4,"import_time_s":0.59,"mem_mb":15,"disk_size":"29M"}]}}