{"library":"pyobjc-framework-classkit","title":"PyObjC ClassKit Framework","description":"PyObjC-framework-ClassKit provides Python wrappers for the ClassKit framework on macOS, enabling Python applications to interact with educational data like assignments, activities, and progress. It is part of the broader PyObjC project, currently at version 12.1, and typically releases updates in sync with macOS SDK changes.","language":"python","status":"active","last_verified":"Sat May 16","install":{"commands":["pip install pyobjc-framework-classkit"],"cli":null},"imports":["import ClassKit","import ClassKit\ncontext = ClassKit.CLSContext.currentContext()"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import ClassKit\nfrom Cocoa import NSObject, NSLog # For basic logging or NSObject base\n\n# ClassKit operations must typically be run on the main thread and\n# within a macOS application context. This is a conceptual example.\n# In a real app, you would interact with CLSDataStore and CLSContext.\n\n# Get the current ClassKit context (requires user authorization and an active app)\ncurrent_context = ClassKit.CLSContext.currentContext()\n\nif current_context:\n    NSLog(f\"ClassKit context loaded: {current_context.title()}\")\n    # Example: Create a new activity for the current context\n    # This part requires proper setup of CLSActivity, CLSActivityItem etc.\n    # and permissions. This is a simplified example.\n    # activity = ClassKit.CLSActivity()\n    # activity.setTitle_(\"My Python Activity\")\n    # current_context.addActivity_(activity)\n    # ClassKit.CLSDataStore.shared().saveWithCompletion_(\n    #     lambda success, error: NSLog(f\"Activity save success: {success}, error: {error}\")\n    # )\nelse:\n    NSLog(\"ClassKit context not available. Ensure app is authorized and running on macOS.\")\n\n# In a real macOS app, you might also have a PyObjC application loop running.","lang":"python","description":"This quickstart demonstrates how to import the ClassKit framework and access the current ClassKit context. Note that ClassKit operations require an active macOS application context, appropriate entitlements, and user authorization to function correctly. This code is illustrative and would typically run within a larger PyObjC-based macOS application.","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-classkit","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-classkit","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-classkit","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-classkit","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-classkit","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-classkit","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-classkit","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-classkit","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-classkit","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-classkit","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":3.5,"import_time_s":null,"mem_mb":null,"disk_size":null}]}}