{"library":"splitio-client","title":"Split.io Python Client","type":"library","description":"Split.io Python Client (splitio-client) is the official Python SDK for the Split Feature Delivery Platform. It enables developers to implement feature flags, conduct controlled rollouts, and perform data-driven experiments to manage the customer experience. The library is actively maintained by Split (now part of Harness) with frequent updates that include bug fixes and new feature support, such as rule-based segments and feature flag prerequisites. It is compatible with Python 3.7 and higher.","language":"python","status":"active","last_verified":"Mon May 18","install":{"commands":["pip install splitio-client","pip install 'splitio-client[cpphash,asyncio]' "],"cli":null},"imports":["from splitio import get_factory","from splitio.exceptions import TimeoutException","from splitio import get_factory_async"],"auth":{"required":false,"env_vars":[]},"links":{"homepage":"https://www.split.io","github":"https://github.com/splitio/python-client","docs":null,"changelog":null,"pypi":"https://pypi.org/project/splitio-client/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null},"quickstart":{"code":"import os\nfrom splitio import get_factory\nfrom splitio.exceptions import TimeoutException\n\n# Get your SDK API key from environment variables for security\nSPLIT_API_KEY = os.environ.get('SPLIT_SDK_API_KEY', 'YOUR_SDK_TYPE_API_KEY')\nCUSTOMER_ID = 'test_user_123'\nFEATURE_FLAG_NAME = 'my_new_feature'\n\n# Initialize the Split factory\n# For production, ensure config is properly set up, e.g., for logging, storage, etc.\nfactory = get_factory(SPLIT_API_KEY)\n\ntry:\n    # Wait up to 5 seconds for the SDK to be ready and download definitions\n    factory.block_until_ready(5)\n    split_client = factory.client()\n\n    # Get treatment for the customer\n    treatment = split_client.get_treatment(CUSTOMER_ID, FEATURE_FLAG_NAME)\n\n    if treatment == 'on':\n        print(f\"Feature '{FEATURE_FLAG_NAME}' is ON for user '{CUSTOMER_ID}'.\")\n        # Code to show 'on' treatment\n    elif treatment == 'off':\n        print(f\"Feature '{FEATURE_FLAG_NAME}' is OFF for user '{CUSTOMER_ID}'.\")\n        # Code to show 'off' treatment\n    else:\n        # 'control' or any other undefined treatment\n        print(f\"Feature '{FEATURE_FLAG_NAME}' is in CONTROL for user '{CUSTOMER_ID}'.\")\n        # Code for default/control treatment\n\nexcept TimeoutException:\n    print(\"Split SDK timed out while initializing. Falling back to control.\")\n    # Handle timeout gracefully, e.g., log and proceed with default experience\nexcept Exception as e:\n    print(f\"An error occurred: {e}\")\nfinally:\n    # It's important to destroy the factory when the application shuts down\n    # to ensure all queued impressions/events are sent and resources are released.\n    factory.destroy()","lang":"python","description":"This quickstart demonstrates how to initialize the Split.io Python SDK, wait for it to be ready, and retrieve a treatment for a specific feature flag and user key. It also includes basic error handling for timeouts and ensures proper shutdown of the SDK factory.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-18","installed_version":"10.6.0","pypi_latest":"10.6.0","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":50,"avg_install_s":5.4,"avg_import_s":1.01,"wheel_type":"sdist"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"cpphash,asyncio","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"splitio-client","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.77,"mem_mb":15.3,"disk_size":"27.7M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"cpphash,asyncio","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":9.6,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"splitio-client","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":4.2,"import_time_s":0.59,"mem_mb":15.3,"disk_size":"29M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"cpphash,asyncio","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"splitio-client","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.16,"mem_mb":17.8,"disk_size":"31.2M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"cpphash,asyncio","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":7.5,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"splitio-client","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":4.2,"import_time_s":1.04,"mem_mb":17.8,"disk_size":"32M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"cpphash,asyncio","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"splitio-client","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.22,"mem_mb":17.6,"disk_size":"20.6M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"cpphash,asyncio","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":10.1,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"splitio-client","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":7.3,"import_time_s":1.24,"mem_mb":17.6,"disk_size":"22M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"cpphash,asyncio","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"splitio-client","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.3,"mem_mb":18.6,"disk_size":"20.4M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"cpphash,asyncio","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":9.1,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"splitio-client","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":6.3,"import_time_s":1.18,"mem_mb":18.6,"disk_size":"22M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"cpphash,asyncio","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"splitio-client","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.75,"mem_mb":14.9,"disk_size":"27.0M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"cpphash,asyncio","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":11.2,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"splitio-client","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":4.8,"import_time_s":0.8,"mem_mb":14.9,"disk_size":"28M"}]}}