{"library":"pyobjc-framework-safetykit","title":"PyObjC Framework SafetyKit","description":"PyObjC Framework SafetyKit provides Python wrappers for the macOS SafetyKit framework, allowing Python applications to interact with Apple's APIs related to parental controls and screen time. It is part of the larger PyObjC project, which bridges Python and Objective-C. The current version is 12.1, and releases typically align with macOS SDK updates and PyObjC core library releases.","language":"python","status":"active","last_verified":"Sat May 16","install":{"commands":["pip install pyobjc-framework-safetykit"],"cli":null},"imports":["import SafetyKit"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import SafetyKit\nimport objc\n\n# SafetyKit provides APIs for parental controls and screen time.\n# Actual usage typically involves interacting with system services\n# and requires specific macOS versions and user permissions.\n\n# This quickstart demonstrates importing the framework and accessing a known class.\ntry:\n    # SNSafetyChecker is a primary class within the SafetyKit framework.\n    _ = SafetyKit.SNSafetyChecker\n    print(\"Successfully imported SafetyKit and accessed SNSafetyChecker class.\")\n    print(\"Refer to Apple's official SafetyKit documentation for detailed API usage.\")\n\n    # Example: To interact with a class, you would follow Apple's Objective-C API patterns.\n    # For instance, if SNSafetyChecker had a static method 'isSupported':\n    # if hasattr(SafetyKit.SNSafetyChecker, 'isSupported'):\n    #     print(f\"SNSafetyChecker.isSupported(): {SafetyKit.SNSafetyChecker.isSupported()}\")\n\nexcept AttributeError:\n    print(\"Could not find SNSafetyChecker in SafetyKit. \"\n          \"This might indicate an unsupported macOS version or an incorrect class name.\")\nexcept Exception as e:\n    print(f\"An unexpected error occurred during SafetyKit access: {e}\")\n\n","lang":"python","description":"Demonstrates how to import the `SafetyKit` framework and access a representative class like `SNSafetyChecker`. Actual interaction with SafetyKit APIs requires consulting Apple's official documentation for Objective-C, as PyObjC provides direct bindings.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-16","installed_version":null,"pypi_latest":"12.1","is_stale":null,"summary":{"python_range":"3.10–3.9","success_rate":0,"avg_install_s":null,"avg_import_s":null,"wheel_type":null},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"pyobjc-framework-safetykit","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-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"pyobjc-framework-safetykit","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":3,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"pyobjc-framework-safetykit","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-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"pyobjc-framework-safetykit","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":3,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"pyobjc-framework-safetykit","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-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"pyobjc-framework-safetykit","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":2.9,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"pyobjc-framework-safetykit","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-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"pyobjc-framework-safetykit","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":2.5,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"pyobjc-framework-safetykit","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-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"pyobjc-framework-safetykit","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":3.6,"import_time_s":null,"mem_mb":null,"disk_size":null}]}}