{"id":26922,"library":"edx-ccx-keys","title":"edX CCX Keys","description":"Opaque key support for Custom Courses on edX (CCX). Provides key classes to identify CCX objects within the edX platform. Current version 2.0.2, release cadence is sporadic.","status":"active","version":"2.0.2","language":"python","source_language":"en","source_url":"https://github.com/openedx/ccx-keys","tags":["edx","ccx","opaque-keys","custom-courses"],"install":[{"cmd":"pip install edx-ccx-keys","lang":"bash","label":"Install from PyPI"}],"dependencies":[],"imports":[{"wrong":"from ccx_keys.locator import CcxLocator","symbol":"CcxLocator","correct":"from ccx_keys import CcxLocator"}],"quickstart":{"code":"from ccx_keys.locator import CcxLocator\n\n# Parse a CCX key string\nkey = CcxLocator.from_string('ccx-v1:org+course+ccx@ccx_id')\nprint(key)\n\n# Create a new CCX key\ncourse_key = CcxLocator('org', 'course', 'run', 'ccx_id')\nprint(course_key)","lang":"python","description":"Basic usage of CcxLocator: parsing and creating CCX keys."},"warnings":[{"fix":"Upgrade Python to 3.9+.","message":"Version 2.0.0 dropped support for Python 3.8. Python 3.9+ is required.","severity":"breaking","affected_versions":">=2.0.0"},{"fix":"Ensure the string matches exactly 'ccx-v1:...' or use the constructor directly.","message":"CcxLocator.from_string() expects a string in the format 'ccx-v1:org+course+ccx@ccx_id'. Incorrect formats will raise InvalidKeyError.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"search_vec":"'2.0.2':26 'cadenc':28 'ccx':2,12,18,32 'class':15 'cours':9,38 'current':24 'custom':8,37 'custom-cours':36 'edx':1,11,22,31 'identifi':17 'key':3,5,14,35 'object':19 'opaqu':4,34 'opaque-key':33 'platform':23 'provid':13 'releas':27 'sporad':30 'support':6 'version':25 'within':20","created_at":"2026-05-01T17:43:35.004271+00:00","updated_at":"2026-05-01T17:43:35.004271+00:00","problems":{"verify_error":"Traceback (most recent call last):\n  File \"<string>\", line 1, in <module>\nImportError: cannot import name 'CcxLocator' from 'ccx_keys' (/tmp/tmpwvpuqud4/venv/lib/python3.12/site-packages/ccx_keys/__init__.py)"},"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":"","cli_version":null,"type":"library","homepage":null,"github":"https://github.com/openedx/ccx-keys","docs":null,"changelog":null,"pypi":"https://pypi.org/project/edx-ccx-keys/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["type-stubs"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"import_fail","verified_at":"2026-07-03","last_verified":"2026-07-03","next_check":"2026-07-10","install_tag":null}}