codegrade 16.1.45__tar.gz → 16.1.47__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (569) hide show
  1. {codegrade-16.1.45 → codegrade-16.1.47}/PKG-INFO +1 -1
  2. {codegrade-16.1.45 → codegrade-16.1.47}/cg_dt_utils/__init__.py +6 -1
  3. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/__init__.py +1 -1
  4. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/client.py +2 -2
  5. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/__init__.py +6 -1
  6. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/all_site_settings.py +12 -3
  7. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/frontend_site_settings.py +59 -14
  8. codegrade-16.1.47/codegrade/models/grade_viewer_and_editor_on_submission_enabled_setting.py +59 -0
  9. codegrade-16.1.47/codegrade/models/simple_submission_navigate_to_latest_editor_session_setting.py +59 -0
  10. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/site_setting_input.py +10 -3
  11. {codegrade-16.1.45 → codegrade-16.1.47}/pyproject.toml +1 -1
  12. {codegrade-16.1.45 → codegrade-16.1.47}/setup.py +1 -1
  13. codegrade-16.1.45/codegrade/models/atv2_quizzes_setting.py +0 -56
  14. {codegrade-16.1.45 → codegrade-16.1.47}/README.md +0 -0
  15. {codegrade-16.1.45 → codegrade-16.1.47}/cg_maybe/__init__.py +0 -0
  16. {codegrade-16.1.45 → codegrade-16.1.47}/cg_maybe/_just.py +0 -0
  17. {codegrade-16.1.45 → codegrade-16.1.47}/cg_maybe/_maybe.py +0 -0
  18. {codegrade-16.1.45 → codegrade-16.1.47}/cg_maybe/_nothing.py +0 -0
  19. {codegrade-16.1.45 → codegrade-16.1.47}/cg_maybe/_type_helpers.py +0 -0
  20. {codegrade-16.1.45 → codegrade-16.1.47}/cg_maybe/cg_maybe_plugin.py +0 -0
  21. {codegrade-16.1.45 → codegrade-16.1.47}/cg_maybe/utils.py +0 -0
  22. {codegrade-16.1.45 → codegrade-16.1.47}/cg_request_args/__init__.py +0 -0
  23. {codegrade-16.1.45 → codegrade-16.1.47}/cg_request_args/_any_value.py +0 -0
  24. {codegrade-16.1.45 → codegrade-16.1.47}/cg_request_args/_base.py +0 -0
  25. {codegrade-16.1.45 → codegrade-16.1.47}/cg_request_args/_convert.py +0 -0
  26. {codegrade-16.1.45 → codegrade-16.1.47}/cg_request_args/_enum.py +0 -0
  27. {codegrade-16.1.45 → codegrade-16.1.47}/cg_request_args/_form.py +0 -0
  28. {codegrade-16.1.45 → codegrade-16.1.47}/cg_request_args/_lazy.py +0 -0
  29. {codegrade-16.1.45 → codegrade-16.1.47}/cg_request_args/_list.py +0 -0
  30. {codegrade-16.1.45 → codegrade-16.1.47}/cg_request_args/_literal.py +0 -0
  31. {codegrade-16.1.45 → codegrade-16.1.47}/cg_request_args/_mapping.py +0 -0
  32. {codegrade-16.1.45 → codegrade-16.1.47}/cg_request_args/_multipart.py +0 -0
  33. {codegrade-16.1.45 → codegrade-16.1.47}/cg_request_args/_nullable.py +0 -0
  34. {codegrade-16.1.45 → codegrade-16.1.47}/cg_request_args/_parse_utils.py +0 -0
  35. {codegrade-16.1.45 → codegrade-16.1.47}/cg_request_args/_query.py +0 -0
  36. {codegrade-16.1.45 → codegrade-16.1.47}/cg_request_args/_rich_value.py +0 -0
  37. {codegrade-16.1.45 → codegrade-16.1.47}/cg_request_args/_swagger_utils.py +0 -0
  38. {codegrade-16.1.45 → codegrade-16.1.47}/cg_request_args/_swaggerize.py +0 -0
  39. {codegrade-16.1.45 → codegrade-16.1.47}/cg_request_args/_utils.py +0 -0
  40. {codegrade-16.1.45 → codegrade-16.1.47}/cg_request_args/exceptions.py +0 -0
  41. {codegrade-16.1.45 → codegrade-16.1.47}/cg_request_args/request_args_plugin.py +0 -0
  42. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/_api/__init__.py +0 -0
  43. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/_api/about.py +0 -0
  44. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/_api/assignment.py +0 -0
  45. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/_api/auto_test.py +0 -0
  46. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/_api/comment.py +0 -0
  47. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/_api/course.py +0 -0
  48. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/_api/course_price.py +0 -0
  49. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/_api/file.py +0 -0
  50. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/_api/git_provider.py +0 -0
  51. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/_api/group.py +0 -0
  52. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/_api/group_set.py +0 -0
  53. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/_api/login_link.py +0 -0
  54. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/_api/lti.py +0 -0
  55. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/_api/notification.py +0 -0
  56. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/_api/oauth_provider.py +0 -0
  57. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/_api/oauth_token.py +0 -0
  58. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/_api/permission.py +0 -0
  59. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/_api/plagiarism.py +0 -0
  60. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/_api/role.py +0 -0
  61. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/_api/section.py +0 -0
  62. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/_api/site_settings.py +0 -0
  63. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/_api/snippet.py +0 -0
  64. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/_api/sso_provider.py +0 -0
  65. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/_api/submission.py +0 -0
  66. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/_api/task_result.py +0 -0
  67. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/_api/tenant.py +0 -0
  68. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/_api/transaction.py +0 -0
  69. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/_api/user.py +0 -0
  70. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/_api/user_setting.py +0 -0
  71. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/_api/webhook.py +0 -0
  72. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/errors.py +0 -0
  73. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/_base_price.py +0 -0
  74. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/_saml_ui_logo_info.py +0 -0
  75. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/_submission_rubric_item_data_parser.py +0 -0
  76. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/about.py +0 -0
  77. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/abstract_role.py +0 -0
  78. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/add_users_section_data.py +0 -0
  79. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/all_auto_test_results.py +0 -0
  80. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/any_auto_test_step_as_json.py +0 -0
  81. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/any_error.py +0 -0
  82. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/any_non_redacted_auto_test_step_as_json.py +0 -0
  83. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/any_redacted_auto_test_step_as_json.py +0 -0
  84. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/api_codes.py +0 -0
  85. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/assignment.py +0 -0
  86. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/assignment_anonymization_algo.py +0 -0
  87. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/assignment_default_grading_scale_points_setting.py +0 -0
  88. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/assignment_default_grading_scale_setting.py +0 -0
  89. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/assignment_description_enabled_setting.py +0 -0
  90. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/assignment_description_on_teachers_submissions_page_setting.py +0 -0
  91. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/assignment_done_type.py +0 -0
  92. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/assignment_export_column.py +0 -0
  93. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/assignment_feedback.py +0 -0
  94. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/assignment_grader.py +0 -0
  95. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/assignment_grading_scale_points_enabled_setting.py +0 -0
  96. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/assignment_kind.py +0 -0
  97. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/assignment_login_link.py +0 -0
  98. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/assignment_max_points_enabled_setting.py +0 -0
  99. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/assignment_peer_feedback_connection.py +0 -0
  100. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/assignment_peer_feedback_settings.py +0 -0
  101. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/assignment_percentage_decimals_setting.py +0 -0
  102. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/assignment_percentage_grading_settings.py +0 -0
  103. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/assignment_point_decimals_setting.py +0 -0
  104. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/assignment_points_grading_settings.py +0 -0
  105. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/assignment_section_timeframe.py +0 -0
  106. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/assignment_state_enum.py +0 -0
  107. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/assignment_submission_mode.py +0 -0
  108. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/assignment_template.py +0 -0
  109. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/assignment_timeframes.py +0 -0
  110. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/at_image_caching_enabled_setting.py +0 -0
  111. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/auto_test.py +0 -0
  112. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/auto_test_capture_points_message_setting.py +0 -0
  113. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/auto_test_checkpoint_message_setting.py +0 -0
  114. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/auto_test_code_quality_message_setting.py +0 -0
  115. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/auto_test_enabled_setting.py +0 -0
  116. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/auto_test_fixture.py +0 -0
  117. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/auto_test_global_setup_output.py +0 -0
  118. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/auto_test_global_setup_script.py +0 -0
  119. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/auto_test_heartbeat_interval_setting.py +0 -0
  120. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/auto_test_heartbeat_max_missed_setting.py +0 -0
  121. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/auto_test_io_test_message_setting.py +0 -0
  122. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/auto_test_io_test_sub_message_setting.py +0 -0
  123. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/auto_test_max_concurrent_batch_runs_setting.py +0 -0
  124. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/auto_test_max_global_setup_time_setting.py +0 -0
  125. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/auto_test_max_jobs_per_runner_setting.py +0 -0
  126. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/auto_test_max_per_student_setup_time_setting.py +0 -0
  127. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/auto_test_max_result_not_started_setting.py +0 -0
  128. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/auto_test_max_time_command_setting.py +0 -0
  129. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/auto_test_max_unit_test_metadata_length_setting.py +0 -0
  130. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/auto_test_quality_comment.py +0 -0
  131. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/auto_test_result.py +0 -0
  132. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/auto_test_result_state.py +0 -0
  133. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/auto_test_result_with_extra_data.py +0 -0
  134. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/auto_test_run.py +0 -0
  135. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/auto_test_run_program_message_setting.py +0 -0
  136. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/auto_test_runner.py +0 -0
  137. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/auto_test_runner_state.py +0 -0
  138. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/auto_test_set.py +0 -0
  139. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/auto_test_step_base.py +0 -0
  140. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/auto_test_step_base_as_json.py +0 -0
  141. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/auto_test_step_base_input_as_json.py +0 -0
  142. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/auto_test_step_log_base.py +0 -0
  143. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/auto_test_step_result.py +0 -0
  144. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/auto_test_step_result_state.py +0 -0
  145. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/auto_test_step_validation_exception.py +0 -0
  146. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/auto_test_suite.py +0 -0
  147. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/auto_test_unit_test_message_setting.py +0 -0
  148. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/automatic_lti1p3_assignment_import_setting.py +0 -0
  149. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/automatic_lti_role_enabled_setting.py +0 -0
  150. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/base_about.py +0 -0
  151. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/base_auto_test_quality_comment.py +0 -0
  152. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/base_comment_base.py +0 -0
  153. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/base_comment_base_with_extended_replies.py +0 -0
  154. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/base_comment_base_with_normal_replies.py +0 -0
  155. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/base_comment_reply.py +0 -0
  156. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/base_course_coupon.py +0 -0
  157. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/base_directory.py +0 -0
  158. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/base_error.py +0 -0
  159. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/base_file.py +0 -0
  160. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/base_lms_capabilities.py +0 -0
  161. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/base_lti1p1_provider.py +0 -0
  162. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/base_lti1p3_provider.py +0 -0
  163. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/base_lti_provider.py +0 -0
  164. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/base_notification.py +0 -0
  165. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/base_release_info.py +0 -0
  166. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/base_rubric_item.py +0 -0
  167. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/base_tenant_coupon.py +0 -0
  168. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/blackboard_zip_upload_enabled_setting.py +0 -0
  169. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/bulk_enroll_course_data.py +0 -0
  170. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/canvas_course_id_copying_enabled_setting.py +0 -0
  171. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/cg_ignore_version.py +0 -0
  172. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/change_user_role_course_data.py +0 -0
  173. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/check_points_as_json.py +0 -0
  174. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/check_points_data.py +0 -0
  175. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/check_points_extra.py +0 -0
  176. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/check_points_input_as_json.py +0 -0
  177. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/clone_result.py +0 -0
  178. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/code_editor_output_viewer_title_setting.py +0 -0
  179. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/code_quality_as_json.py +0 -0
  180. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/code_quality_base_data.py +0 -0
  181. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/code_quality_data.py +0 -0
  182. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/code_quality_extra.py +0 -0
  183. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/code_quality_input_as_json.py +0 -0
  184. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/code_quality_penalties.py +0 -0
  185. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/column_range.py +0 -0
  186. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/comment_base.py +0 -0
  187. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/comment_reply.py +0 -0
  188. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/comment_reply_edit.py +0 -0
  189. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/comment_reply_type.py +0 -0
  190. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/comment_type.py +0 -0
  191. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/community_library_publishing_setting.py +0 -0
  192. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/community_library_setting.py +0 -0
  193. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/connect_repository_git_provider_data.py +0 -0
  194. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/copy_auto_test_data.py +0 -0
  195. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/copy_rubric_assignment_data.py +0 -0
  196. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/coupon_data_parser.py +0 -0
  197. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/coupon_with_code.py +0 -0
  198. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/coupon_without_code.py +0 -0
  199. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/course.py +0 -0
  200. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/course_bulk_enroll_result.py +0 -0
  201. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/course_bulk_register_enabled_setting.py +0 -0
  202. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/course_coupon.py +0 -0
  203. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/course_coupon_usage.py +0 -0
  204. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/course_gradebook_enabled_setting.py +0 -0
  205. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/course_gradebook_render_warning_size_setting.py +0 -0
  206. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/course_of_course_price.py +0 -0
  207. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/course_of_tenant_coupon_usage.py +0 -0
  208. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/course_perm_map.py +0 -0
  209. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/course_permission.py +0 -0
  210. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/course_price.py +0 -0
  211. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/course_register_enabled_setting.py +0 -0
  212. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/course_register_response.py +0 -0
  213. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/course_registration_link.py +0 -0
  214. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/course_role.py +0 -0
  215. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/course_role_as_json_with_perms.py +0 -0
  216. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/course_section.py +0 -0
  217. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/course_section_division.py +0 -0
  218. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/course_section_division_connection.py +0 -0
  219. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/course_section_division_user.py +0 -0
  220. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/course_snippet.py +0 -0
  221. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/course_state.py +0 -0
  222. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/course_statistics_as_json.py +0 -0
  223. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/create_assignment_course_data.py +0 -0
  224. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/create_auto_test_data.py +0 -0
  225. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/create_comment_data.py +0 -0
  226. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/create_comment_reply_data.py +0 -0
  227. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/create_course_data.py +0 -0
  228. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/create_division_section_data.py +0 -0
  229. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/create_group_group_set_data.py +0 -0
  230. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/create_group_set_course_data.py +0 -0
  231. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/create_lti_data.py +0 -0
  232. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/create_output_html_proxy_auto_test_data.py +0 -0
  233. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/create_proxy_submission_data.py +0 -0
  234. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/create_repository_git_provider_data.py +0 -0
  235. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/create_role_course_data.py +0 -0
  236. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/create_section_course_data.py +0 -0
  237. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/create_snippet_course_data.py +0 -0
  238. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/create_snippet_data.py +0 -0
  239. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/create_sso_provider_data.py +0 -0
  240. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/create_tenant_data.py +0 -0
  241. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/csv_large_file_limit_setting.py +0 -0
  242. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/csv_too_many_errors_limit_setting.py +0 -0
  243. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/currency.py +0 -0
  244. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/custom_output_as_json.py +0 -0
  245. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/custom_output_data.py +0 -0
  246. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/custom_output_extra.py +0 -0
  247. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/custom_output_input_as_json.py +0 -0
  248. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/custom_output_log.py +0 -0
  249. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/custom_output_log_base.py +0 -0
  250. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/deleted_comment_reply.py +0 -0
  251. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/deletion_type.py +0 -0
  252. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/directory_with_children.py +0 -0
  253. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/disabled_setting_exception.py +0 -0
  254. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/editor_enabled_for_teachers_setting.py +0 -0
  255. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/editor_enabled_setting.py +0 -0
  256. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/email_notification_types.py +0 -0
  257. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/email_students_enabled_setting.py +0 -0
  258. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/email_users_course_data.py +0 -0
  259. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/exam_login_max_length_setting.py +0 -0
  260. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/export_assignment_csv_data.py +0 -0
  261. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/export_assignment_data.py +0 -0
  262. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/export_assignment_files_data.py +0 -0
  263. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/extended_auto_test_result.py +0 -0
  264. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/extended_auto_test_run.py +0 -0
  265. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/extended_course.py +0 -0
  266. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/extended_course_registration_link.py +0 -0
  267. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/extended_course_section.py +0 -0
  268. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/extended_group.py +0 -0
  269. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/extended_job.py +0 -0
  270. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/extended_non_deleted_comment_reply.py +0 -0
  271. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/extended_tenant.py +0 -0
  272. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/extended_transaction.py +0 -0
  273. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/extended_user.py +0 -0
  274. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/extended_work.py +0 -0
  275. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/extract_file_tree_directory.py +0 -0
  276. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/extract_file_tree_file.py +0 -0
  277. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/failed_to_send_email_exception.py +0 -0
  278. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/feedback_base.py +0 -0
  279. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/feedback_threads_initially_collapsed_setting.py +0 -0
  280. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/feedback_with_replies.py +0 -0
  281. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/feedback_without_replies.py +0 -0
  282. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/file_deletion.py +0 -0
  283. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/file_rule.py +0 -0
  284. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/file_rule_input_data.py +0 -0
  285. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/file_tree.py +0 -0
  286. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/file_type.py +0 -0
  287. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/finalized_lti1p1_provider.py +0 -0
  288. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/finalized_lti1p3_provider.py +0 -0
  289. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/first_phase_lti_launch_exception.py +0 -0
  290. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/fixed_availability.py +0 -0
  291. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/fixed_grade_availability.py +0 -0
  292. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/fixture_like.py +0 -0
  293. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/fraction.py +0 -0
  294. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/general_feedback_comment_base.py +0 -0
  295. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/general_feedback_comment_base_with_extended_replies.py +0 -0
  296. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/general_feedback_extra.py +0 -0
  297. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/git_repositories_page.py +0 -0
  298. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/git_repository_like.py +0 -0
  299. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/git_user_info.py +0 -0
  300. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/github_template_repo_enabled_setting.py +0 -0
  301. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/global_perm_map.py +0 -0
  302. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/global_permission.py +0 -0
  303. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/grade_history.py +0 -0
  304. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/grade_origin.py +0 -0
  305. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/grading_notifications_enabled_setting.py +0 -0
  306. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/group.py +0 -0
  307. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/group_not_ready_for_submission_exception.py +0 -0
  308. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/group_set.py +0 -0
  309. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/groups_enabled_setting.py +0 -0
  310. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/has_unread_notifcation_json.py +0 -0
  311. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/health_information.py +0 -0
  312. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/hide_code_editor_output_viewer_with_only_quiz_steps_setting.py +0 -0
  313. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/ignore_handling.py +0 -0
  314. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/ignored_files_exception.py +0 -0
  315. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/import_into_assignment_data.py +0 -0
  316. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/import_into_course_data.py +0 -0
  317. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/incremental_rubric_submission_enabled_setting.py +0 -0
  318. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/inline_feedback_comment_base.py +0 -0
  319. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/inline_feedback_comment_base_with_extended_replies.py +0 -0
  320. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/inline_feedback_extra.py +0 -0
  321. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/inline_rubric_viewer_enabled_setting.py +0 -0
  322. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/invalid_group_exception.py +0 -0
  323. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/invalid_io_cases_exception.py +0 -0
  324. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/invalid_options_exception.py +0 -0
  325. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/io_test_as_json.py +0 -0
  326. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/io_test_base_data.py +0 -0
  327. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/io_test_data.py +0 -0
  328. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/io_test_extra.py +0 -0
  329. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/io_test_input_as_json.py +0 -0
  330. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/io_test_input_case.py +0 -0
  331. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/io_test_log.py +0 -0
  332. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/io_test_option.py +0 -0
  333. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/io_test_step_log.py +0 -0
  334. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/io_test_step_log_base.py +0 -0
  335. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/is_admin_permission_enabled_setting.py +0 -0
  336. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/job.py +0 -0
  337. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/json_create_auto_test.py +0 -0
  338. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/json_create_tenant.py +0 -0
  339. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/json_patch_auto_test.py +0 -0
  340. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/json_patch_submit_types_assignment.py +0 -0
  341. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/junit_test_as_json.py +0 -0
  342. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/junit_test_base_data.py +0 -0
  343. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/junit_test_data.py +0 -0
  344. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/junit_test_extra.py +0 -0
  345. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/junit_test_input_as_json.py +0 -0
  346. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/junit_test_log.py +0 -0
  347. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/junit_test_log_base.py +0 -0
  348. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/jwt_access_token_expires_setting.py +0 -0
  349. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/legacy_features.py +0 -0
  350. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/line_range.py +0 -0
  351. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/linter_comment.py +0 -0
  352. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/linters_enabled_setting.py +0 -0
  353. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/lms_capabilities.py +0 -0
  354. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/login_token_before_time_setting.py +0 -0
  355. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/login_user_data.py +0 -0
  356. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/logout_response.py +0 -0
  357. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/logout_user_data.py +0 -0
  358. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/lti1p1_provider.py +0 -0
  359. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/lti1p1_provider_data.py +0 -0
  360. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/lti1p3_parse_most_privileged_role_setting.py +0 -0
  361. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/lti1p3_provider.py +0 -0
  362. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/lti1p3_provider_data.py +0 -0
  363. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/lti1p3_provider_presentation_as_json.py +0 -0
  364. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/lti1p3_system_role_from_context_role_setting.py +0 -0
  365. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/lti_enabled_setting.py +0 -0
  366. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/lti_first_launch_content_id_enabled_setting.py +0 -0
  367. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/lti_launch_data_logging_setting.py +0 -0
  368. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/lti_lock_date_copying_enabled_setting.py +0 -0
  369. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/lti_provider_base.py +0 -0
  370. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/lti_unset_deadline_lock_date_enabled_setting.py +0 -0
  371. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/max_document_update_size_setting.py +0 -0
  372. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/max_dynamo_file_size_setting.py +0 -0
  373. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/max_dynamo_submission_size_setting.py +0 -0
  374. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/max_file_size_setting.py +0 -0
  375. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/max_large_upload_size_setting.py +0 -0
  376. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/max_lines_setting.py +0 -0
  377. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/max_mirror_file_age_setting.py +0 -0
  378. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/max_normal_upload_size_setting.py +0 -0
  379. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/max_number_of_files_setting.py +0 -0
  380. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/max_plagiarism_matches_setting.py +0 -0
  381. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/max_user_setting_amount_setting.py +0 -0
  382. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/min_password_score_setting.py +0 -0
  383. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/mirror_file_result.py +0 -0
  384. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/missing_cookie_error.py +0 -0
  385. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/missing_file.py +0 -0
  386. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/new_auto_test_allowed_initial_build_ids_setting.py +0 -0
  387. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/new_auto_test_build_max_command_time_setting.py +0 -0
  388. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/new_auto_test_build_output_limit_setting.py +0 -0
  389. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/new_auto_test_copying_enabled_setting.py +0 -0
  390. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/new_auto_test_current_initial_build_ids_setting.py +0 -0
  391. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/new_auto_test_diff_viewer_enabled_setting.py +0 -0
  392. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/new_auto_test_enabled_setting.py +0 -0
  393. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/new_auto_test_initial_build_id_setting.py +0 -0
  394. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/new_auto_test_max_dynamodb_size_setting.py +0 -0
  395. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/new_auto_test_max_file_size_setting.py +0 -0
  396. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/new_auto_test_max_output_files_size_setting.py +0 -0
  397. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/new_auto_test_max_storage_size_setting.py +0 -0
  398. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/new_auto_test_old_submission_age_setting.py +0 -0
  399. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/new_auto_test_test_max_command_time_setting.py +0 -0
  400. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/new_auto_test_test_output_limit_setting.py +0 -0
  401. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/new_auto_test_uncollapsing_step_output_delay_setting.py +0 -0
  402. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/no_permissions.py +0 -0
  403. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/non_deleted_comment_reply.py +0 -0
  404. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/non_finalized_lti1p1_provider.py +0 -0
  405. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/non_finalized_lti1p3_provider.py +0 -0
  406. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/non_present_preference.py +0 -0
  407. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/notification.py +0 -0
  408. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/notification_comment_reply_notification_as_json.py +0 -0
  409. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/notification_general_feedback_reply_notification_as_json.py +0 -0
  410. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/notification_poll_time_setting.py +0 -0
  411. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/notification_reasons.py +0 -0
  412. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/notification_setting.py +0 -0
  413. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/notification_setting_option.py +0 -0
  414. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/notifications_json.py +0 -0
  415. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/oauth_provider.py +0 -0
  416. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/oauth_token.py +0 -0
  417. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/option.py +0 -0
  418. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/options_input_data.py +0 -0
  419. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/output_viewer_animation_limit_lines_count_setting.py +0 -0
  420. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/parse_api_exception.py +0 -0
  421. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/patch1_p1_provider_lti_data.py +0 -0
  422. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/patch1_p3_provider_lti_data.py +0 -0
  423. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/patch_all_notification_data.py +0 -0
  424. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/patch_assignment_data.py +0 -0
  425. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/patch_auto_test_data.py +0 -0
  426. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/patch_comment_reply_data.py +0 -0
  427. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/patch_course_data.py +0 -0
  428. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/patch_grader_submission_data.py +0 -0
  429. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/patch_notification_data.py +0 -0
  430. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/patch_notification_setting_user_setting_data.py +0 -0
  431. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/patch_provider_lti_data.py +0 -0
  432. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/patch_role_course_data.py +0 -0
  433. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/patch_role_data.py +0 -0
  434. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/patch_role_tenant_data.py +0 -0
  435. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/patch_rubric_category_type_assignment_data.py +0 -0
  436. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/patch_rubric_result_submission_data.py +0 -0
  437. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/patch_section_data.py +0 -0
  438. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/patch_settings_tenant_data.py +0 -0
  439. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/patch_site_settings_data.py +0 -0
  440. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/patch_snippet_course_data.py +0 -0
  441. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/patch_snippet_data.py +0 -0
  442. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/patch_submission_data.py +0 -0
  443. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/patch_submit_types_assignment_data.py +0 -0
  444. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/patch_tenant_data.py +0 -0
  445. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/patch_ui_preference_user_setting_data.py +0 -0
  446. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/patch_user_data.py +0 -0
  447. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/pay_with_coupon_course_price_data.py +0 -0
  448. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/pearson_templates_setting.py +0 -0
  449. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/peer_feedback_enabled_setting.py +0 -0
  450. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/permission_exception.py +0 -0
  451. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/plagiarism_bulk_export_enabled_setting.py +0 -0
  452. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/plagiarism_bulk_export_max_cases_setting.py +0 -0
  453. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/plagiarism_case.py +0 -0
  454. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/plagiarism_pdf_export_enabled_setting.py +0 -0
  455. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/plagiarism_run.py +0 -0
  456. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/plagiarism_run_plagiarism_assignment_as_json.py +0 -0
  457. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/plagiarism_run_plagiarism_course_as_json.py +0 -0
  458. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/plagiarism_state.py +0 -0
  459. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/post_oauth_token_data.py +0 -0
  460. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/present_preference.py +0 -0
  461. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/proxy.py +0 -0
  462. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/put_description_assignment_data.py +0 -0
  463. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/put_enroll_link_course_data.py +0 -0
  464. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/put_price_course_data.py +0 -0
  465. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/put_price_tenant_data.py +0 -0
  466. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/put_rubric_assignment_data.py +0 -0
  467. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/quality_comment_severity.py +0 -0
  468. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/quality_comments_in_code_editor_setting.py +0 -0
  469. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/quality_test_log.py +0 -0
  470. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/quality_test_log_base.py +0 -0
  471. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/register_enabled_setting.py +0 -0
  472. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/register_user_data.py +0 -0
  473. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/register_user_with_link_course_data.py +0 -0
  474. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/release_info.py +0 -0
  475. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/release_message_max_time_setting.py +0 -0
  476. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/rename_group_group_data.py +0 -0
  477. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/render_html_enabled_setting.py +0 -0
  478. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/repository_connection_limit_reached_exception.py +0 -0
  479. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/reset_token_time_setting.py +0 -0
  480. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/result_data_get_auto_test_get.py +0 -0
  481. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/result_data_get_task_result_get_all.py +0 -0
  482. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/result_data_post_login_link_login.py +0 -0
  483. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/result_data_post_section_create_division.py +0 -0
  484. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/result_data_post_user_login.py +0 -0
  485. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/result_data_post_user_register.py +0 -0
  486. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/role_as_json_with_perms.py +0 -0
  487. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/root_file_trees_json.py +0 -0
  488. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/rubric_description_type.py +0 -0
  489. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/rubric_enabled_for_teacher_on_submissions_page_setting.py +0 -0
  490. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/rubric_item.py +0 -0
  491. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/rubric_item_input_as_json.py +0 -0
  492. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/rubric_lock_reason.py +0 -0
  493. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/rubric_row_base.py +0 -0
  494. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/rubric_row_base_input_as_json.py +0 -0
  495. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/rubric_row_base_input_base_as_json.py +0 -0
  496. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/rubrics_enabled_setting.py +0 -0
  497. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/rule_type.py +0 -0
  498. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/run_program_as_json.py +0 -0
  499. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/run_program_data.py +0 -0
  500. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/run_program_extra.py +0 -0
  501. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/run_program_input_as_json.py +0 -0
  502. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/run_program_log.py +0 -0
  503. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/saml2_provider_json.py +0 -0
  504. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/saml_ui_info.py +0 -0
  505. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/sections_in_submission_list_enabled_setting.py +0 -0
  506. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/send_registration_email_setting.py +0 -0
  507. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/server_time_correction_enabled_setting.py +0 -0
  508. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/server_time_diff_tolerance_setting.py +0 -0
  509. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/server_time_sync_interval_setting.py +0 -0
  510. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/setting_token_time_setting.py +0 -0
  511. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/setup_oauth_result.py +0 -0
  512. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/simple_submission_mode_enabled_setting.py +0 -0
  513. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/site_email_setting.py +0 -0
  514. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/snippet.py +0 -0
  515. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/sso_infer_global_staff_role_setting.py +0 -0
  516. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/sso_username_decollision_enabled_setting.py +0 -0
  517. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/staged_assignment_importer_enabled_setting.py +0 -0
  518. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/start_payment_course_price_close_tab_data.py +0 -0
  519. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/start_payment_course_price_data.py +0 -0
  520. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/start_payment_course_price_redirect_data.py +0 -0
  521. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/started_transaction.py +0 -0
  522. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/student_payment_enabled_setting.py +0 -0
  523. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/submission_validator_input_data.py +0 -0
  524. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/submissions_page_v2_enabled_setting.py +0 -0
  525. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/submissions_per_page_enabled_setting.py +0 -0
  526. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/task_result_state.py +0 -0
  527. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/tax_behavior.py +0 -0
  528. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/tenant.py +0 -0
  529. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/tenant_coupon.py +0 -0
  530. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/tenant_coupon_usage.py +0 -0
  531. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/tenant_coupon_with_code.py +0 -0
  532. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/tenant_coupon_without_code.py +0 -0
  533. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/tenant_course_statistics.py +0 -0
  534. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/tenant_of_tenant_price.py +0 -0
  535. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/tenant_permissions.py +0 -0
  536. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/tenant_price.py +0 -0
  537. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/tenant_role_as_json_with_perms.py +0 -0
  538. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/tenant_statistics.py +0 -0
  539. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/test_submission_copying_on_import_enabled_setting.py +0 -0
  540. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/timed_availability.py +0 -0
  541. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/timeframe_like.py +0 -0
  542. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/token_revoked_exception.py +0 -0
  543. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/transaction.py +0 -0
  544. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/transaction_state.py +0 -0
  545. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/types.py +0 -0
  546. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/update_peer_feedback_settings_assignment_data.py +0 -0
  547. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/update_set_auto_test_data.py +0 -0
  548. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/update_suite_auto_test_base_data.py +0 -0
  549. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/update_suite_auto_test_data.py +0 -0
  550. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/upgraded_lti_provider_exception.py +0 -0
  551. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/upload_submission_assignment_data.py +0 -0
  552. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/user.py +0 -0
  553. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/user_course.py +0 -0
  554. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/user_info_with_role.py +0 -0
  555. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/user_input.py +0 -0
  556. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/user_without_group.py +0 -0
  557. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/weak_password_exception.py +0 -0
  558. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/weak_password_feedback.py +0 -0
  559. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/webhook_base.py +0 -0
  560. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/webhook_configuration_disabled_as_json.py +0 -0
  561. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/webhook_configuration_enabled_as_json.py +0 -0
  562. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/work.py +0 -0
  563. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/work_origin.py +0 -0
  564. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/work_rubric_item.py +0 -0
  565. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/work_rubric_result_as_json.py +0 -0
  566. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/models/work_rubric_result_points_as_json.py +0 -0
  567. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/parsers.py +0 -0
  568. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/py.typed +0 -0
  569. {codegrade-16.1.45 → codegrade-16.1.47}/codegrade/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: codegrade
3
- Version: 16.1.45
3
+ Version: 16.1.47
4
4
  Summary: A client library for accessing CodeGrade
5
5
  License: AGPL-3.0-only OR BSD-3-Clause-Clear
6
6
  Requires-Python: >=3.8.0,<4.0
@@ -43,7 +43,12 @@ if t.TYPE_CHECKING: # pragma: no cover
43
43
  def __ge__(self, other: 'DatetimeWithTimezone') -> bool:
44
44
  ...
45
45
 
46
- def isoformat(self) -> str:
46
+ def isoformat(
47
+ self,
48
+ *,
49
+ timespec: t.Literal['auto', 'microseconds', 'milliseconds',
50
+ 'seconds'] = 'auto'
51
+ ) -> str:
47
52
  ...
48
53
 
49
54
  def timestamp(self) -> float:
@@ -7,7 +7,7 @@ from functools import wraps
7
7
  from .client import AuthenticatedClient, Client
8
8
 
9
9
  __all__ = ("login", "AuthenticatedClient", "Client", "login_from_cli")
10
- __version__ = "16.1.45"
10
+ __version__ = "16.1.47"
11
11
 
12
12
 
13
13
  @wraps(AuthenticatedClient.get)
@@ -526,7 +526,7 @@ class Client(_BaseClient):
526
526
  return httpx.Client(
527
527
  base_url=self.base_url,
528
528
  headers={
529
- "User-Agent": "CodeGradeAPI/16.1.45",
529
+ "User-Agent": "CodeGradeAPI/16.1.47",
530
530
  },
531
531
  follow_redirects=True,
532
532
  )
@@ -546,7 +546,7 @@ class AuthenticatedClient(_BaseClient):
546
546
  base_url=self.base_url,
547
547
  headers={
548
548
  "Authorization": f"Bearer {self.token}",
549
- "User-Agent": "CodeGradeAPI/16.1.45",
549
+ "User-Agent": "CodeGradeAPI/16.1.47",
550
550
  },
551
551
  follow_redirects=True,
552
552
  )
@@ -64,7 +64,6 @@ from .assignment_submission_mode import AssignmentSubmissionMode
64
64
  from .assignment_template import AssignmentTemplate
65
65
  from .assignment_timeframes import AssignmentTimeframes
66
66
  from .at_image_caching_enabled_setting import AtImageCachingEnabledSetting
67
- from .atv2_quizzes_setting import Atv2QuizzesSetting
68
67
  from .auto_test import AutoTest
69
68
  from .auto_test_capture_points_message_setting import (
70
69
  AutoTestCapturePointsMessageSetting,
@@ -320,6 +319,9 @@ from .global_perm_map import GlobalPermMap
320
319
  from .global_permission import GlobalPermission
321
320
  from .grade_history import GradeHistory
322
321
  from .grade_origin import GradeOrigin
322
+ from .grade_viewer_and_editor_on_submission_enabled_setting import (
323
+ GradeViewerAndEditorOnSubmissionEnabledSetting,
324
+ )
323
325
  from .grading_notifications_enabled_setting import (
324
326
  GradingNotificationsEnabledSetting,
325
327
  )
@@ -620,6 +622,9 @@ from .setup_oauth_result import SetupOAuthResult
620
622
  from .simple_submission_mode_enabled_setting import (
621
623
  SimpleSubmissionModeEnabledSetting,
622
624
  )
625
+ from .simple_submission_navigate_to_latest_editor_session_setting import (
626
+ SimpleSubmissionNavigateToLatestEditorSessionSetting,
627
+ )
623
628
  from .site_email_setting import SiteEmailSetting
624
629
  from .site_setting_input import SiteSettingInput
625
630
  from .snippet import Snippet
@@ -861,14 +861,22 @@ class AllSiteSettings(FrontendSiteSettings):
861
861
  res["SIMPLE_SUBMISSION_MODE_ENABLED"] = to_dict(
862
862
  self.simple_submission_mode_enabled.value
863
863
  )
864
- if self.atv2_quizzes.is_just:
865
- res["ATV2_QUIZZES"] = to_dict(self.atv2_quizzes.value)
866
864
  if self.hide_code_editor_output_viewer_with_only_quiz_steps.is_just:
867
865
  res[
868
866
  "HIDE_CODE_EDITOR_OUTPUT_VIEWER_WITH_ONLY_QUIZ_STEPS"
869
867
  ] = to_dict(
870
868
  self.hide_code_editor_output_viewer_with_only_quiz_steps.value
871
869
  )
870
+ if self.simple_submission_navigate_to_latest_editor_session.is_just:
871
+ res[
872
+ "SIMPLE_SUBMISSION_NAVIGATE_TO_LATEST_EDITOR_SESSION"
873
+ ] = to_dict(
874
+ self.simple_submission_navigate_to_latest_editor_session.value
875
+ )
876
+ if self.grade_viewer_and_editor_on_submission_enabled.is_just:
877
+ res["GRADE_VIEWER_AND_EDITOR_ON_SUBMISSION_ENABLED"] = to_dict(
878
+ self.grade_viewer_and_editor_on_submission_enabled.value
879
+ )
872
880
  if self.auto_test_heartbeat_interval.is_just:
873
881
  res["AUTO_TEST_HEARTBEAT_INTERVAL"] = to_dict(
874
882
  self.auto_test_heartbeat_interval.value
@@ -1092,8 +1100,9 @@ class AllSiteSettings(FrontendSiteSettings):
1092
1100
  inline_rubric_viewer_enabled=parsed.INLINE_RUBRIC_VIEWER_ENABLED,
1093
1101
  submissions_page_v2_enabled=parsed.SUBMISSIONS_PAGE_V2_ENABLED,
1094
1102
  simple_submission_mode_enabled=parsed.SIMPLE_SUBMISSION_MODE_ENABLED,
1095
- atv2_quizzes=parsed.ATV2_QUIZZES,
1096
1103
  hide_code_editor_output_viewer_with_only_quiz_steps=parsed.HIDE_CODE_EDITOR_OUTPUT_VIEWER_WITH_ONLY_QUIZ_STEPS,
1104
+ simple_submission_navigate_to_latest_editor_session=parsed.SIMPLE_SUBMISSION_NAVIGATE_TO_LATEST_EDITOR_SESSION,
1105
+ grade_viewer_and_editor_on_submission_enabled=parsed.GRADE_VIEWER_AND_EDITOR_ON_SUBMISSION_ENABLED,
1097
1106
  auto_test_heartbeat_interval=parsed.AUTO_TEST_HEARTBEAT_INTERVAL,
1098
1107
  auto_test_heartbeat_max_missed=parsed.AUTO_TEST_HEARTBEAT_MAX_MISSED,
1099
1108
  auto_test_max_jobs_per_runner=parsed.AUTO_TEST_MAX_JOBS_PER_RUNNER,
@@ -280,14 +280,25 @@ class FrontendSiteSettings:
280
280
  #: assignments, and hand in requirements are not available with the
281
281
  #: simplified submission mode enabled.
282
282
  simple_submission_mode_enabled: Maybe["bool"] = Nothing
283
- #: Whether it should be possible to create AutoTest v2 quiz and question
284
- #: blocks.
285
- atv2_quizzes: Maybe["bool"] = Nothing
286
283
  #: Whether we will hide all of the steps in the code editor sidebar output
287
284
  #: viewer if we have in a quiz-only atv2 config.
288
285
  hide_code_editor_output_viewer_with_only_quiz_steps: Maybe[
289
286
  "bool"
290
287
  ] = Nothing
288
+ #: Whether we update the simple submission mode navigation to check if we
289
+ #: have an editor session which is later than the submission when we launch
290
+ #: the assignment. This feature is only available when the simple
291
+ #: submission mode is enabled. Be mindful of turning this on when the
292
+ #: tenant uses deadlines.
293
+ simple_submission_navigate_to_latest_editor_session: Maybe[
294
+ "bool"
295
+ ] = Nothing
296
+ #: Whether we show the grade viewer or editor on the submission page, the
297
+ #: default behavior to inspect or edit the grade of a submission, we
298
+ #: disable this for special cases. This does still show the result of the
299
+ #: submission in the rubric if we have one, but only in readonly mode.
300
+ #: Teachers cannot editor the rubric.
301
+ grade_viewer_and_editor_on_submission_enabled: Maybe["bool"] = Nothing
291
302
 
292
303
  raw_data: t.Optional[t.Dict[str, t.Any]] = field(init=False, repr=False)
293
304
 
@@ -956,20 +967,36 @@ class FrontendSiteSettings:
956
967
  ),
957
968
  ),
958
969
  rqa.OptionalArgument(
959
- "ATV2_QUIZZES",
970
+ "HIDE_CODE_EDITOR_OUTPUT_VIEWER_WITH_ONLY_QUIZ_STEPS",
960
971
  rqa.SimpleValue.bool,
961
972
  doc=(
962
- "Whether it should be possible to create AutoTest v2 quiz"
963
- " and question blocks."
973
+ "Whether we will hide all of the steps in the code editor"
974
+ " sidebar output viewer if we have in a quiz-only atv2"
975
+ " config."
964
976
  ),
965
977
  ),
966
978
  rqa.OptionalArgument(
967
- "HIDE_CODE_EDITOR_OUTPUT_VIEWER_WITH_ONLY_QUIZ_STEPS",
979
+ "SIMPLE_SUBMISSION_NAVIGATE_TO_LATEST_EDITOR_SESSION",
968
980
  rqa.SimpleValue.bool,
969
981
  doc=(
970
- "Whether we will hide all of the steps in the code editor"
971
- " sidebar output viewer if we have in a quiz-only atv2"
972
- " config."
982
+ "Whether we update the simple submission mode navigation"
983
+ " to check if we have an editor session which is later"
984
+ " than the submission when we launch the assignment. This"
985
+ " feature is only available when the simple submission"
986
+ " mode is enabled. Be mindful of turning this on when the"
987
+ " tenant uses deadlines."
988
+ ),
989
+ ),
990
+ rqa.OptionalArgument(
991
+ "GRADE_VIEWER_AND_EDITOR_ON_SUBMISSION_ENABLED",
992
+ rqa.SimpleValue.bool,
993
+ doc=(
994
+ "Whether we show the grade viewer or editor on the"
995
+ " submission page, the default behavior to inspect or edit"
996
+ " the grade of a submission, we disable this for special"
997
+ " cases. This does still show the result of the submission"
998
+ " in the rubric if we have one, but only in readonly mode."
999
+ " Teachers cannot editor the rubric."
973
1000
  ),
974
1001
  ),
975
1002
  ).use_readable_describe(True)
@@ -1207,12 +1234,21 @@ class FrontendSiteSettings:
1207
1234
  self.simple_submission_mode_enabled = maybe_from_nullable(
1208
1235
  self.simple_submission_mode_enabled
1209
1236
  )
1210
- self.atv2_quizzes = maybe_from_nullable(self.atv2_quizzes)
1211
1237
  self.hide_code_editor_output_viewer_with_only_quiz_steps = (
1212
1238
  maybe_from_nullable(
1213
1239
  self.hide_code_editor_output_viewer_with_only_quiz_steps
1214
1240
  )
1215
1241
  )
1242
+ self.simple_submission_navigate_to_latest_editor_session = (
1243
+ maybe_from_nullable(
1244
+ self.simple_submission_navigate_to_latest_editor_session
1245
+ )
1246
+ )
1247
+ self.grade_viewer_and_editor_on_submission_enabled = (
1248
+ maybe_from_nullable(
1249
+ self.grade_viewer_and_editor_on_submission_enabled
1250
+ )
1251
+ )
1216
1252
 
1217
1253
  def to_dict(self) -> t.Dict[str, t.Any]:
1218
1254
  res: t.Dict[str, t.Any] = {}
@@ -1524,14 +1560,22 @@ class FrontendSiteSettings:
1524
1560
  res["SIMPLE_SUBMISSION_MODE_ENABLED"] = to_dict(
1525
1561
  self.simple_submission_mode_enabled.value
1526
1562
  )
1527
- if self.atv2_quizzes.is_just:
1528
- res["ATV2_QUIZZES"] = to_dict(self.atv2_quizzes.value)
1529
1563
  if self.hide_code_editor_output_viewer_with_only_quiz_steps.is_just:
1530
1564
  res[
1531
1565
  "HIDE_CODE_EDITOR_OUTPUT_VIEWER_WITH_ONLY_QUIZ_STEPS"
1532
1566
  ] = to_dict(
1533
1567
  self.hide_code_editor_output_viewer_with_only_quiz_steps.value
1534
1568
  )
1569
+ if self.simple_submission_navigate_to_latest_editor_session.is_just:
1570
+ res[
1571
+ "SIMPLE_SUBMISSION_NAVIGATE_TO_LATEST_EDITOR_SESSION"
1572
+ ] = to_dict(
1573
+ self.simple_submission_navigate_to_latest_editor_session.value
1574
+ )
1575
+ if self.grade_viewer_and_editor_on_submission_enabled.is_just:
1576
+ res["GRADE_VIEWER_AND_EDITOR_ON_SUBMISSION_ENABLED"] = to_dict(
1577
+ self.grade_viewer_and_editor_on_submission_enabled.value
1578
+ )
1535
1579
  return res
1536
1580
 
1537
1581
  @classmethod
@@ -1623,8 +1667,9 @@ class FrontendSiteSettings:
1623
1667
  inline_rubric_viewer_enabled=parsed.INLINE_RUBRIC_VIEWER_ENABLED,
1624
1668
  submissions_page_v2_enabled=parsed.SUBMISSIONS_PAGE_V2_ENABLED,
1625
1669
  simple_submission_mode_enabled=parsed.SIMPLE_SUBMISSION_MODE_ENABLED,
1626
- atv2_quizzes=parsed.ATV2_QUIZZES,
1627
1670
  hide_code_editor_output_viewer_with_only_quiz_steps=parsed.HIDE_CODE_EDITOR_OUTPUT_VIEWER_WITH_ONLY_QUIZ_STEPS,
1671
+ simple_submission_navigate_to_latest_editor_session=parsed.SIMPLE_SUBMISSION_NAVIGATE_TO_LATEST_EDITOR_SESSION,
1672
+ grade_viewer_and_editor_on_submission_enabled=parsed.GRADE_VIEWER_AND_EDITOR_ON_SUBMISSION_ENABLED,
1628
1673
  )
1629
1674
  res.raw_data = d
1630
1675
  return res
@@ -0,0 +1,59 @@
1
+ """The module that defines the ``GradeViewerAndEditorOnSubmissionEnabledSetting`` model.
2
+
3
+ SPDX-License-Identifier: AGPL-3.0-only OR BSD-3-Clause-Clear
4
+ """
5
+
6
+ import typing as t
7
+ from dataclasses import dataclass, field
8
+
9
+ import cg_request_args as rqa
10
+
11
+ from ..utils import to_dict
12
+
13
+
14
+ @dataclass
15
+ class GradeViewerAndEditorOnSubmissionEnabledSetting:
16
+ """ """
17
+
18
+ name: "t.Literal['GRADE_VIEWER_AND_EDITOR_ON_SUBMISSION_ENABLED']"
19
+ value: "t.Optional[bool]"
20
+
21
+ raw_data: t.Optional[t.Dict[str, t.Any]] = field(init=False, repr=False)
22
+
23
+ data_parser: t.ClassVar = rqa.Lazy(
24
+ lambda: rqa.FixedMapping(
25
+ rqa.RequiredArgument(
26
+ "name",
27
+ rqa.StringEnum(
28
+ "GRADE_VIEWER_AND_EDITOR_ON_SUBMISSION_ENABLED"
29
+ ),
30
+ doc="",
31
+ ),
32
+ rqa.RequiredArgument(
33
+ "value",
34
+ rqa.Nullable(rqa.SimpleValue.bool),
35
+ doc="",
36
+ ),
37
+ ).use_readable_describe(True)
38
+ )
39
+
40
+ def to_dict(self) -> t.Dict[str, t.Any]:
41
+ res: t.Dict[str, t.Any] = {
42
+ "name": to_dict(self.name),
43
+ "value": to_dict(self.value),
44
+ }
45
+ return res
46
+
47
+ @classmethod
48
+ def from_dict(
49
+ cls: t.Type["GradeViewerAndEditorOnSubmissionEnabledSetting"],
50
+ d: t.Dict[str, t.Any],
51
+ ) -> "GradeViewerAndEditorOnSubmissionEnabledSetting":
52
+ parsed = cls.data_parser.try_parse(d)
53
+
54
+ res = cls(
55
+ name=parsed.name,
56
+ value=parsed.value,
57
+ )
58
+ res.raw_data = d
59
+ return res
@@ -0,0 +1,59 @@
1
+ """The module that defines the ``SimpleSubmissionNavigateToLatestEditorSessionSetting`` model.
2
+
3
+ SPDX-License-Identifier: AGPL-3.0-only OR BSD-3-Clause-Clear
4
+ """
5
+
6
+ import typing as t
7
+ from dataclasses import dataclass, field
8
+
9
+ import cg_request_args as rqa
10
+
11
+ from ..utils import to_dict
12
+
13
+
14
+ @dataclass
15
+ class SimpleSubmissionNavigateToLatestEditorSessionSetting:
16
+ """ """
17
+
18
+ name: "t.Literal['SIMPLE_SUBMISSION_NAVIGATE_TO_LATEST_EDITOR_SESSION']"
19
+ value: "t.Optional[bool]"
20
+
21
+ raw_data: t.Optional[t.Dict[str, t.Any]] = field(init=False, repr=False)
22
+
23
+ data_parser: t.ClassVar = rqa.Lazy(
24
+ lambda: rqa.FixedMapping(
25
+ rqa.RequiredArgument(
26
+ "name",
27
+ rqa.StringEnum(
28
+ "SIMPLE_SUBMISSION_NAVIGATE_TO_LATEST_EDITOR_SESSION"
29
+ ),
30
+ doc="",
31
+ ),
32
+ rqa.RequiredArgument(
33
+ "value",
34
+ rqa.Nullable(rqa.SimpleValue.bool),
35
+ doc="",
36
+ ),
37
+ ).use_readable_describe(True)
38
+ )
39
+
40
+ def to_dict(self) -> t.Dict[str, t.Any]:
41
+ res: t.Dict[str, t.Any] = {
42
+ "name": to_dict(self.name),
43
+ "value": to_dict(self.value),
44
+ }
45
+ return res
46
+
47
+ @classmethod
48
+ def from_dict(
49
+ cls: t.Type["SimpleSubmissionNavigateToLatestEditorSessionSetting"],
50
+ d: t.Dict[str, t.Any],
51
+ ) -> "SimpleSubmissionNavigateToLatestEditorSessionSetting":
52
+ parsed = cls.data_parser.try_parse(d)
53
+
54
+ res = cls(
55
+ name=parsed.name,
56
+ value=parsed.value,
57
+ )
58
+ res.raw_data = d
59
+ return res
@@ -33,7 +33,6 @@ from .assignment_percentage_decimals_setting import (
33
33
  )
34
34
  from .assignment_point_decimals_setting import AssignmentPointDecimalsSetting
35
35
  from .at_image_caching_enabled_setting import AtImageCachingEnabledSetting
36
- from .atv2_quizzes_setting import Atv2QuizzesSetting
37
36
  from .auto_test_capture_points_message_setting import (
38
37
  AutoTestCapturePointsMessageSetting,
39
38
  )
@@ -116,6 +115,9 @@ from .feedback_threads_initially_collapsed_setting import (
116
115
  from .github_template_repo_enabled_setting import (
117
116
  GithubTemplateRepoEnabledSetting,
118
117
  )
118
+ from .grade_viewer_and_editor_on_submission_enabled_setting import (
119
+ GradeViewerAndEditorOnSubmissionEnabledSetting,
120
+ )
119
121
  from .grading_notifications_enabled_setting import (
120
122
  GradingNotificationsEnabledSetting,
121
123
  )
@@ -247,6 +249,9 @@ from .setting_token_time_setting import SettingTokenTimeSetting
247
249
  from .simple_submission_mode_enabled_setting import (
248
250
  SimpleSubmissionModeEnabledSetting,
249
251
  )
252
+ from .simple_submission_navigate_to_latest_editor_session_setting import (
253
+ SimpleSubmissionNavigateToLatestEditorSessionSetting,
254
+ )
250
255
  from .site_email_setting import SiteEmailSetting
251
256
  from .sso_infer_global_staff_role_setting import SsoInferGlobalStaffRoleSetting
252
257
  from .sso_username_decollision_enabled_setting import (
@@ -383,9 +388,10 @@ SiteSettingInput = t.Union[
383
388
  SubmissionsPageV2EnabledSetting,
384
389
  SimpleSubmissionModeEnabledSetting,
385
390
  LtiLaunchDataLoggingSetting,
386
- Atv2QuizzesSetting,
387
391
  HideCodeEditorOutputViewerWithOnlyQuizStepsSetting,
388
392
  PearsonTemplatesSetting,
393
+ SimpleSubmissionNavigateToLatestEditorSessionSetting,
394
+ GradeViewerAndEditorOnSubmissionEnabledSetting,
389
395
  ]
390
396
  SiteSettingInputParser = rqa.Lazy(
391
397
  lambda: make_union(
@@ -505,8 +511,9 @@ SiteSettingInputParser = rqa.Lazy(
505
511
  ParserFor.make(SubmissionsPageV2EnabledSetting),
506
512
  ParserFor.make(SimpleSubmissionModeEnabledSetting),
507
513
  ParserFor.make(LtiLaunchDataLoggingSetting),
508
- ParserFor.make(Atv2QuizzesSetting),
509
514
  ParserFor.make(HideCodeEditorOutputViewerWithOnlyQuizStepsSetting),
510
515
  ParserFor.make(PearsonTemplatesSetting),
516
+ ParserFor.make(SimpleSubmissionNavigateToLatestEditorSessionSetting),
517
+ ParserFor.make(GradeViewerAndEditorOnSubmissionEnabledSetting),
511
518
  ),
512
519
  )
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "codegrade"
3
- version = "16.1.45"
3
+ version = "16.1.47"
4
4
  description = "A client library for accessing CodeGrade"
5
5
  license = "AGPL-3.0-only OR BSD-3-Clause-Clear"
6
6
  authors = []
@@ -21,7 +21,7 @@ install_requires = \
21
21
 
22
22
  setup_kwargs = {
23
23
  'name': 'codegrade',
24
- 'version': '16.1.45',
24
+ 'version': '16.1.47',
25
25
  'description': 'A client library for accessing CodeGrade',
26
26
  'long_description': '# CodeGrade API\n\nThis library makes it easier to use the CodeGrade API. Its API allows you to\nautomate your usage of CodeGrade. We are currently still busy documenting the\nentire API, but everything that is possible in the UI of CodeGrade is also\npossible through the API.\n## Installation\nYou can install the library through [pypi](https://pypi.org/), simply run\n`python3 -m pip install codegrade`. If you want to get a dev version with support\nfor the latest features, simply email [support@codegrade.com](mailto:support@codegrade.com)\nand we\'ll provide you with a dev version.\n## Usage\nFirst, create a client:\n\n```python\nimport codegrade\n\n# Don\'t store your password in your code!\nwith codegrade.login(\n username=\'my-username\',\n password=os.getenv(\'CG_PASSWORD\'),\n tenant=\'My University\',\n) as client:\n pass\n\n# Or supply information interactively.\nwith codegrade.login_from_cli() as client:\n pass\n```\n\nNow call your endpoint and use your models:\n\n```python\nfrom codegrade.models import PatchCourseData\n\ncourses = client.course.get_all()\nfor course in courses:\n client.course.patch(\n PatchCourseData(name=course.name + \' (NEW)\'),\n course_id=course.id,\n )\n\n# Or, simply use dictionaries.\nfor course in courses:\n client.course.patch(\n {"name": course.name + \' (NEW)\'},\n course_id=course.id,\n )\n```\n\nFor the complete documentation go to\nhttps://python.api.codegrade.com.\n## Backwards compatibility\nCodeGrade is constantly upgrading its API, but we try to minimize backwards\nincompatible changes. We\'ll announce every backwards incompatible change in the\n[changelog](http://codegrade.com/changelog). A new version of the API\nclient is released with every release of CodeGrade, which is approximately every\nmonth. To upgrade simply run `pip install --upgrade codegrade`.\n## Supported python versions\nWe support python 3.6 and above, `pypy` is currently not tested but should work\njust fine.\n## License\nThe library is licensed under AGPL-3.0-only or BSD-3-Clause-Clear.',
27
27
  'author': 'None',
@@ -1,56 +0,0 @@
1
- """The module that defines the ``Atv2QuizzesSetting`` model.
2
-
3
- SPDX-License-Identifier: AGPL-3.0-only OR BSD-3-Clause-Clear
4
- """
5
-
6
- import typing as t
7
- from dataclasses import dataclass, field
8
-
9
- import cg_request_args as rqa
10
-
11
- from ..utils import to_dict
12
-
13
-
14
- @dataclass
15
- class Atv2QuizzesSetting:
16
- """ """
17
-
18
- name: "t.Literal['ATV2_QUIZZES']"
19
- value: "t.Optional[bool]"
20
-
21
- raw_data: t.Optional[t.Dict[str, t.Any]] = field(init=False, repr=False)
22
-
23
- data_parser: t.ClassVar = rqa.Lazy(
24
- lambda: rqa.FixedMapping(
25
- rqa.RequiredArgument(
26
- "name",
27
- rqa.StringEnum("ATV2_QUIZZES"),
28
- doc="",
29
- ),
30
- rqa.RequiredArgument(
31
- "value",
32
- rqa.Nullable(rqa.SimpleValue.bool),
33
- doc="",
34
- ),
35
- ).use_readable_describe(True)
36
- )
37
-
38
- def to_dict(self) -> t.Dict[str, t.Any]:
39
- res: t.Dict[str, t.Any] = {
40
- "name": to_dict(self.name),
41
- "value": to_dict(self.value),
42
- }
43
- return res
44
-
45
- @classmethod
46
- def from_dict(
47
- cls: t.Type["Atv2QuizzesSetting"], d: t.Dict[str, t.Any]
48
- ) -> "Atv2QuizzesSetting":
49
- parsed = cls.data_parser.try_parse(d)
50
-
51
- res = cls(
52
- name=parsed.name,
53
- value=parsed.value,
54
- )
55
- res.raw_data = d
56
- return res
File without changes