{"id":26926,"library":"edx-submissions","title":"edx-submissions","description":"An API for creating submissions and scores, part of the Open edX platform. Version 4.0.0 is current. Release cadence is irregular, tied to Open edX named releases.","status":"active","version":"4.0.0","language":"python","source_language":"en","source_url":"https://github.com/openedx/edx-submissions","tags":["edx","openedx","submissions","scoring","lms"],"install":[{"cmd":"pip install edx-submissions","lang":"bash","label":"Install via pip"}],"dependencies":[],"imports":[{"note":"Direct model imports are discouraged; use the public API.","wrong":"from submissions.models import Submission","symbol":"Submission","correct":"from submissions import api as sub_api"},{"note":"The API module should be imported as a namespace, not individual functions.","wrong":"from submissions.api import create_submission","symbol":"create_submission","correct":"from submissions import api as sub_api; sub_api.create_submission(...)"}],"quickstart":{"code":"from submissions import api as sub_api\n\n# Config (assumes django setup is done)\nstudent_id = \"user123\"\ncourse_id = \"course-v1:org+course+run\"\nitem_id = \"block-v1:org+course+run+type@problem+block@abc\"\nsubmission_data = {\"answer\": \"42\"}\n\nsubmission = sub_api.create_submission(\n    {\"student_id\": student_id, \"course_id\": course_id, \"item_id\": item_id},\n    submission_data\n)\nprint(f\"Created submission: {submission['uuid']}\")","lang":"python","description":"Create a submission using the public API."},"warnings":[{"fix":"Upgrade to Python 3.8+ and Django 2.2+.","message":"Version 4.0.0 dropped support for Python 2.7 and Django <2.2.","severity":"breaking","affected_versions":"<4.0.0"},{"fix":"Use `sub_api.get_submissions(submission_uuid=uuid)`.","message":"The method `sub_api.get_submission()` is deprecated in favor of `sub_api.get_submissions()` (note plural).","severity":"deprecated","affected_versions":">=3.0.0"},{"fix":"Always pass a dictionary (or JSON-serializable dict) as the submission data.","message":"The API expects a dict-like `submission_data` object; passing a string or int will cause errors.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Run `pip install edx-submissions` and ensure your environment is activated.","cause":"Library not installed or running in wrong virtual environment.","error":"ImportError: No module named submissions"},{"fix":"Call `sub_api.create_submission(student_item_dict, submission_data_dict)`.","cause":"Missing the second argument to `create_submission`.","error":"TypeError: create_submission() missing 1 required positional argument: 'submission_data'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}