{"library":"sift","title":"Sift Science Python API Client","description":"The `sift` library provides Python bindings for interacting with the Sift Science API, which offers real-time fraud prevention and risk assessment. It enables developers to send event data, retrieve scores and decisions, and manage labels. The library is actively maintained, with version 6.0.0 as the current release, and follows a regular release cadence to support new Python versions and API features.","language":"python","status":"active","last_verified":"Mon May 18","install":{"commands":["pip install sift"],"cli":null},"imports":["import sift\nclient = sift.Client(api_key='YOUR_API_KEY', account_id='YOUR_ACCOUNT_ID')"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import os\nimport sift\n\n# Ensure API_KEY and ACCOUNT_ID are set as environment variables\napi_key = os.environ.get('SIFT_API_KEY', 'YOUR_API_KEY')\naccount_id = os.environ.get('SIFT_ACCOUNT_ID', 'YOUR_ACCOUNT_ID')\n\nif api_key == 'YOUR_API_KEY' or account_id == 'YOUR_ACCOUNT_ID':\n    print(\"WARNING: Please set SIFT_API_KEY and SIFT_ACCOUNT_ID environment variables or replace placeholders.\")\n\nclient = sift.Client(api_key=api_key, account_id=account_id)\n\n# Example: Send a $login event\ntry:\n    response = client.track(\n        event={\n            '$type': '$login',\n            '$user_id': 'billy_jones_301',\n            '$session_id': 'gigtleqlbrcssi8tghzz2w4w2',\n            '$login_status': '$success',\n            '$user_email': 'billy_jones@example.com',\n            '$ip': '128.148.1.10'\n        }\n    )\n    print(\"Login event sent successfully:\", response)\nexcept sift.client.ApiException as e:\n    print(f\"Error sending login event: {e}\")\n\n# Example: Get decisions for a user\ntry:\n    user_decisions = client.get_user_decisions('billy_jones_301')\n    print(\"User decisions:\", user_decisions)\nexcept sift.client.ApiException as e:\n    print(f\"Error fetching user decisions: {e}\")","lang":"python","description":"Initialize the Sift client using your API key and Account ID, then demonstrate sending a `$login` event and fetching user decisions. Authentication details are expected via environment variables for security.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-18","installed_version":"6.0.0","pypi_latest":"6.0.0","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":3.8,"avg_import_s":0.62,"wheel_type":"sdist"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"sift","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.55,"mem_mb":10,"disk_size":"21.3M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"sift","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":3.9,"import_time_s":0.41,"mem_mb":10,"disk_size":"22M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"sift","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.74,"mem_mb":11,"disk_size":"23.4M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"sift","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":3.8,"import_time_s":0.66,"mem_mb":11,"disk_size":"24M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"sift","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.71,"mem_mb":11.5,"disk_size":"15.2M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"sift","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":3.5,"import_time_s":0.72,"mem_mb":11.5,"disk_size":"16M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"sift","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.68,"mem_mb":11.8,"disk_size":"14.9M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"sift","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":3.3,"import_time_s":0.62,"mem_mb":11.8,"disk_size":"15M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"sift","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.53,"mem_mb":9.6,"disk_size":"20.6M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"sift","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":4.4,"import_time_s":0.54,"mem_mb":9.6,"disk_size":"21M"}]}}