codegrade 16.1.47__tar.gz → 16.1.49__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 (571) hide show
  1. {codegrade-16.1.47 → codegrade-16.1.49}/PKG-INFO +1 -1
  2. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/__init__.py +1 -1
  3. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/client.py +2 -2
  4. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/__init__.py +7 -0
  5. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/all_site_settings.py +47 -0
  6. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course_perm_map.py +15 -0
  7. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course_permission.py +1 -0
  8. codegrade-16.1.49/codegrade/models/default_course_ta_role_setting.py +56 -0
  9. codegrade-16.1.49/codegrade/models/default_course_teacher_role_setting.py +58 -0
  10. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/frontend_site_settings.py +19 -0
  11. codegrade-16.1.49/codegrade/models/hide_empty_rubric_row_description_setting.py +57 -0
  12. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/site_setting_input.py +13 -0
  13. {codegrade-16.1.47 → codegrade-16.1.49}/pyproject.toml +1 -1
  14. {codegrade-16.1.47 → codegrade-16.1.49}/setup.py +1 -1
  15. {codegrade-16.1.47 → codegrade-16.1.49}/README.md +0 -0
  16. {codegrade-16.1.47 → codegrade-16.1.49}/cg_dt_utils/__init__.py +0 -0
  17. {codegrade-16.1.47 → codegrade-16.1.49}/cg_maybe/__init__.py +0 -0
  18. {codegrade-16.1.47 → codegrade-16.1.49}/cg_maybe/_just.py +0 -0
  19. {codegrade-16.1.47 → codegrade-16.1.49}/cg_maybe/_maybe.py +0 -0
  20. {codegrade-16.1.47 → codegrade-16.1.49}/cg_maybe/_nothing.py +0 -0
  21. {codegrade-16.1.47 → codegrade-16.1.49}/cg_maybe/_type_helpers.py +0 -0
  22. {codegrade-16.1.47 → codegrade-16.1.49}/cg_maybe/cg_maybe_plugin.py +0 -0
  23. {codegrade-16.1.47 → codegrade-16.1.49}/cg_maybe/utils.py +0 -0
  24. {codegrade-16.1.47 → codegrade-16.1.49}/cg_request_args/__init__.py +0 -0
  25. {codegrade-16.1.47 → codegrade-16.1.49}/cg_request_args/_any_value.py +0 -0
  26. {codegrade-16.1.47 → codegrade-16.1.49}/cg_request_args/_base.py +0 -0
  27. {codegrade-16.1.47 → codegrade-16.1.49}/cg_request_args/_convert.py +0 -0
  28. {codegrade-16.1.47 → codegrade-16.1.49}/cg_request_args/_enum.py +0 -0
  29. {codegrade-16.1.47 → codegrade-16.1.49}/cg_request_args/_form.py +0 -0
  30. {codegrade-16.1.47 → codegrade-16.1.49}/cg_request_args/_lazy.py +0 -0
  31. {codegrade-16.1.47 → codegrade-16.1.49}/cg_request_args/_list.py +0 -0
  32. {codegrade-16.1.47 → codegrade-16.1.49}/cg_request_args/_literal.py +0 -0
  33. {codegrade-16.1.47 → codegrade-16.1.49}/cg_request_args/_mapping.py +0 -0
  34. {codegrade-16.1.47 → codegrade-16.1.49}/cg_request_args/_multipart.py +0 -0
  35. {codegrade-16.1.47 → codegrade-16.1.49}/cg_request_args/_nullable.py +0 -0
  36. {codegrade-16.1.47 → codegrade-16.1.49}/cg_request_args/_parse_utils.py +0 -0
  37. {codegrade-16.1.47 → codegrade-16.1.49}/cg_request_args/_query.py +0 -0
  38. {codegrade-16.1.47 → codegrade-16.1.49}/cg_request_args/_rich_value.py +0 -0
  39. {codegrade-16.1.47 → codegrade-16.1.49}/cg_request_args/_swagger_utils.py +0 -0
  40. {codegrade-16.1.47 → codegrade-16.1.49}/cg_request_args/_swaggerize.py +0 -0
  41. {codegrade-16.1.47 → codegrade-16.1.49}/cg_request_args/_utils.py +0 -0
  42. {codegrade-16.1.47 → codegrade-16.1.49}/cg_request_args/exceptions.py +0 -0
  43. {codegrade-16.1.47 → codegrade-16.1.49}/cg_request_args/request_args_plugin.py +0 -0
  44. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/__init__.py +0 -0
  45. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/about.py +0 -0
  46. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/assignment.py +0 -0
  47. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/auto_test.py +0 -0
  48. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/comment.py +0 -0
  49. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/course.py +0 -0
  50. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/course_price.py +0 -0
  51. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/file.py +0 -0
  52. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/git_provider.py +0 -0
  53. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/group.py +0 -0
  54. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/group_set.py +0 -0
  55. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/login_link.py +0 -0
  56. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/lti.py +0 -0
  57. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/notification.py +0 -0
  58. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/oauth_provider.py +0 -0
  59. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/oauth_token.py +0 -0
  60. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/permission.py +0 -0
  61. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/plagiarism.py +0 -0
  62. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/role.py +0 -0
  63. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/section.py +0 -0
  64. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/site_settings.py +0 -0
  65. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/snippet.py +0 -0
  66. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/sso_provider.py +0 -0
  67. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/submission.py +0 -0
  68. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/task_result.py +0 -0
  69. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/tenant.py +0 -0
  70. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/transaction.py +0 -0
  71. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/user.py +0 -0
  72. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/user_setting.py +0 -0
  73. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/webhook.py +0 -0
  74. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/errors.py +0 -0
  75. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/_base_price.py +0 -0
  76. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/_saml_ui_logo_info.py +0 -0
  77. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/_submission_rubric_item_data_parser.py +0 -0
  78. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/about.py +0 -0
  79. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/abstract_role.py +0 -0
  80. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/add_users_section_data.py +0 -0
  81. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/all_auto_test_results.py +0 -0
  82. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/any_auto_test_step_as_json.py +0 -0
  83. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/any_error.py +0 -0
  84. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/any_non_redacted_auto_test_step_as_json.py +0 -0
  85. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/any_redacted_auto_test_step_as_json.py +0 -0
  86. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/api_codes.py +0 -0
  87. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment.py +0 -0
  88. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_anonymization_algo.py +0 -0
  89. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_default_grading_scale_points_setting.py +0 -0
  90. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_default_grading_scale_setting.py +0 -0
  91. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_description_enabled_setting.py +0 -0
  92. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_description_on_teachers_submissions_page_setting.py +0 -0
  93. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_done_type.py +0 -0
  94. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_export_column.py +0 -0
  95. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_feedback.py +0 -0
  96. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_grader.py +0 -0
  97. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_grading_scale_points_enabled_setting.py +0 -0
  98. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_kind.py +0 -0
  99. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_login_link.py +0 -0
  100. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_max_points_enabled_setting.py +0 -0
  101. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_peer_feedback_connection.py +0 -0
  102. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_peer_feedback_settings.py +0 -0
  103. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_percentage_decimals_setting.py +0 -0
  104. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_percentage_grading_settings.py +0 -0
  105. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_point_decimals_setting.py +0 -0
  106. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_points_grading_settings.py +0 -0
  107. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_section_timeframe.py +0 -0
  108. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_state_enum.py +0 -0
  109. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_submission_mode.py +0 -0
  110. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_template.py +0 -0
  111. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_timeframes.py +0 -0
  112. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/at_image_caching_enabled_setting.py +0 -0
  113. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test.py +0 -0
  114. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_capture_points_message_setting.py +0 -0
  115. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_checkpoint_message_setting.py +0 -0
  116. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_code_quality_message_setting.py +0 -0
  117. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_enabled_setting.py +0 -0
  118. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_fixture.py +0 -0
  119. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_global_setup_output.py +0 -0
  120. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_global_setup_script.py +0 -0
  121. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_heartbeat_interval_setting.py +0 -0
  122. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_heartbeat_max_missed_setting.py +0 -0
  123. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_io_test_message_setting.py +0 -0
  124. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_io_test_sub_message_setting.py +0 -0
  125. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_max_concurrent_batch_runs_setting.py +0 -0
  126. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_max_global_setup_time_setting.py +0 -0
  127. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_max_jobs_per_runner_setting.py +0 -0
  128. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_max_per_student_setup_time_setting.py +0 -0
  129. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_max_result_not_started_setting.py +0 -0
  130. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_max_time_command_setting.py +0 -0
  131. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_max_unit_test_metadata_length_setting.py +0 -0
  132. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_quality_comment.py +0 -0
  133. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_result.py +0 -0
  134. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_result_state.py +0 -0
  135. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_result_with_extra_data.py +0 -0
  136. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_run.py +0 -0
  137. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_run_program_message_setting.py +0 -0
  138. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_runner.py +0 -0
  139. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_runner_state.py +0 -0
  140. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_set.py +0 -0
  141. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_step_base.py +0 -0
  142. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_step_base_as_json.py +0 -0
  143. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_step_base_input_as_json.py +0 -0
  144. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_step_log_base.py +0 -0
  145. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_step_result.py +0 -0
  146. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_step_result_state.py +0 -0
  147. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_step_validation_exception.py +0 -0
  148. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_suite.py +0 -0
  149. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_unit_test_message_setting.py +0 -0
  150. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/automatic_lti1p3_assignment_import_setting.py +0 -0
  151. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/automatic_lti_role_enabled_setting.py +0 -0
  152. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/base_about.py +0 -0
  153. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/base_auto_test_quality_comment.py +0 -0
  154. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/base_comment_base.py +0 -0
  155. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/base_comment_base_with_extended_replies.py +0 -0
  156. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/base_comment_base_with_normal_replies.py +0 -0
  157. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/base_comment_reply.py +0 -0
  158. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/base_course_coupon.py +0 -0
  159. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/base_directory.py +0 -0
  160. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/base_error.py +0 -0
  161. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/base_file.py +0 -0
  162. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/base_lms_capabilities.py +0 -0
  163. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/base_lti1p1_provider.py +0 -0
  164. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/base_lti1p3_provider.py +0 -0
  165. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/base_lti_provider.py +0 -0
  166. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/base_notification.py +0 -0
  167. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/base_release_info.py +0 -0
  168. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/base_rubric_item.py +0 -0
  169. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/base_tenant_coupon.py +0 -0
  170. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/blackboard_zip_upload_enabled_setting.py +0 -0
  171. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/bulk_enroll_course_data.py +0 -0
  172. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/canvas_course_id_copying_enabled_setting.py +0 -0
  173. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/cg_ignore_version.py +0 -0
  174. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/change_user_role_course_data.py +0 -0
  175. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/check_points_as_json.py +0 -0
  176. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/check_points_data.py +0 -0
  177. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/check_points_extra.py +0 -0
  178. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/check_points_input_as_json.py +0 -0
  179. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/clone_result.py +0 -0
  180. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/code_editor_output_viewer_title_setting.py +0 -0
  181. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/code_quality_as_json.py +0 -0
  182. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/code_quality_base_data.py +0 -0
  183. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/code_quality_data.py +0 -0
  184. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/code_quality_extra.py +0 -0
  185. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/code_quality_input_as_json.py +0 -0
  186. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/code_quality_penalties.py +0 -0
  187. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/column_range.py +0 -0
  188. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/comment_base.py +0 -0
  189. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/comment_reply.py +0 -0
  190. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/comment_reply_edit.py +0 -0
  191. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/comment_reply_type.py +0 -0
  192. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/comment_type.py +0 -0
  193. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/community_library_publishing_setting.py +0 -0
  194. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/community_library_setting.py +0 -0
  195. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/connect_repository_git_provider_data.py +0 -0
  196. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/copy_auto_test_data.py +0 -0
  197. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/copy_rubric_assignment_data.py +0 -0
  198. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/coupon_data_parser.py +0 -0
  199. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/coupon_with_code.py +0 -0
  200. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/coupon_without_code.py +0 -0
  201. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course.py +0 -0
  202. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course_bulk_enroll_result.py +0 -0
  203. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course_bulk_register_enabled_setting.py +0 -0
  204. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course_coupon.py +0 -0
  205. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course_coupon_usage.py +0 -0
  206. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course_gradebook_enabled_setting.py +0 -0
  207. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course_gradebook_render_warning_size_setting.py +0 -0
  208. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course_of_course_price.py +0 -0
  209. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course_of_tenant_coupon_usage.py +0 -0
  210. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course_price.py +0 -0
  211. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course_register_enabled_setting.py +0 -0
  212. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course_register_response.py +0 -0
  213. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course_registration_link.py +0 -0
  214. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course_role.py +0 -0
  215. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course_role_as_json_with_perms.py +0 -0
  216. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course_section.py +0 -0
  217. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course_section_division.py +0 -0
  218. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course_section_division_connection.py +0 -0
  219. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course_section_division_user.py +0 -0
  220. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course_snippet.py +0 -0
  221. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course_state.py +0 -0
  222. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course_statistics_as_json.py +0 -0
  223. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/create_assignment_course_data.py +0 -0
  224. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/create_auto_test_data.py +0 -0
  225. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/create_comment_data.py +0 -0
  226. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/create_comment_reply_data.py +0 -0
  227. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/create_course_data.py +0 -0
  228. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/create_division_section_data.py +0 -0
  229. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/create_group_group_set_data.py +0 -0
  230. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/create_group_set_course_data.py +0 -0
  231. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/create_lti_data.py +0 -0
  232. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/create_output_html_proxy_auto_test_data.py +0 -0
  233. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/create_proxy_submission_data.py +0 -0
  234. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/create_repository_git_provider_data.py +0 -0
  235. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/create_role_course_data.py +0 -0
  236. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/create_section_course_data.py +0 -0
  237. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/create_snippet_course_data.py +0 -0
  238. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/create_snippet_data.py +0 -0
  239. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/create_sso_provider_data.py +0 -0
  240. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/create_tenant_data.py +0 -0
  241. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/csv_large_file_limit_setting.py +0 -0
  242. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/csv_too_many_errors_limit_setting.py +0 -0
  243. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/currency.py +0 -0
  244. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/custom_output_as_json.py +0 -0
  245. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/custom_output_data.py +0 -0
  246. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/custom_output_extra.py +0 -0
  247. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/custom_output_input_as_json.py +0 -0
  248. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/custom_output_log.py +0 -0
  249. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/custom_output_log_base.py +0 -0
  250. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/deleted_comment_reply.py +0 -0
  251. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/deletion_type.py +0 -0
  252. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/directory_with_children.py +0 -0
  253. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/disabled_setting_exception.py +0 -0
  254. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/editor_enabled_for_teachers_setting.py +0 -0
  255. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/editor_enabled_setting.py +0 -0
  256. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/email_notification_types.py +0 -0
  257. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/email_students_enabled_setting.py +0 -0
  258. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/email_users_course_data.py +0 -0
  259. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/exam_login_max_length_setting.py +0 -0
  260. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/export_assignment_csv_data.py +0 -0
  261. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/export_assignment_data.py +0 -0
  262. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/export_assignment_files_data.py +0 -0
  263. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/extended_auto_test_result.py +0 -0
  264. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/extended_auto_test_run.py +0 -0
  265. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/extended_course.py +0 -0
  266. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/extended_course_registration_link.py +0 -0
  267. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/extended_course_section.py +0 -0
  268. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/extended_group.py +0 -0
  269. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/extended_job.py +0 -0
  270. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/extended_non_deleted_comment_reply.py +0 -0
  271. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/extended_tenant.py +0 -0
  272. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/extended_transaction.py +0 -0
  273. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/extended_user.py +0 -0
  274. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/extended_work.py +0 -0
  275. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/extract_file_tree_directory.py +0 -0
  276. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/extract_file_tree_file.py +0 -0
  277. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/failed_to_send_email_exception.py +0 -0
  278. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/feedback_base.py +0 -0
  279. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/feedback_threads_initially_collapsed_setting.py +0 -0
  280. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/feedback_with_replies.py +0 -0
  281. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/feedback_without_replies.py +0 -0
  282. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/file_deletion.py +0 -0
  283. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/file_rule.py +0 -0
  284. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/file_rule_input_data.py +0 -0
  285. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/file_tree.py +0 -0
  286. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/file_type.py +0 -0
  287. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/finalized_lti1p1_provider.py +0 -0
  288. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/finalized_lti1p3_provider.py +0 -0
  289. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/first_phase_lti_launch_exception.py +0 -0
  290. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/fixed_availability.py +0 -0
  291. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/fixed_grade_availability.py +0 -0
  292. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/fixture_like.py +0 -0
  293. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/fraction.py +0 -0
  294. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/general_feedback_comment_base.py +0 -0
  295. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/general_feedback_comment_base_with_extended_replies.py +0 -0
  296. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/general_feedback_extra.py +0 -0
  297. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/git_repositories_page.py +0 -0
  298. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/git_repository_like.py +0 -0
  299. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/git_user_info.py +0 -0
  300. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/github_template_repo_enabled_setting.py +0 -0
  301. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/global_perm_map.py +0 -0
  302. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/global_permission.py +0 -0
  303. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/grade_history.py +0 -0
  304. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/grade_origin.py +0 -0
  305. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/grade_viewer_and_editor_on_submission_enabled_setting.py +0 -0
  306. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/grading_notifications_enabled_setting.py +0 -0
  307. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/group.py +0 -0
  308. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/group_not_ready_for_submission_exception.py +0 -0
  309. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/group_set.py +0 -0
  310. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/groups_enabled_setting.py +0 -0
  311. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/has_unread_notifcation_json.py +0 -0
  312. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/health_information.py +0 -0
  313. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/hide_code_editor_output_viewer_with_only_quiz_steps_setting.py +0 -0
  314. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/ignore_handling.py +0 -0
  315. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/ignored_files_exception.py +0 -0
  316. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/import_into_assignment_data.py +0 -0
  317. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/import_into_course_data.py +0 -0
  318. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/incremental_rubric_submission_enabled_setting.py +0 -0
  319. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/inline_feedback_comment_base.py +0 -0
  320. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/inline_feedback_comment_base_with_extended_replies.py +0 -0
  321. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/inline_feedback_extra.py +0 -0
  322. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/inline_rubric_viewer_enabled_setting.py +0 -0
  323. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/invalid_group_exception.py +0 -0
  324. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/invalid_io_cases_exception.py +0 -0
  325. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/invalid_options_exception.py +0 -0
  326. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/io_test_as_json.py +0 -0
  327. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/io_test_base_data.py +0 -0
  328. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/io_test_data.py +0 -0
  329. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/io_test_extra.py +0 -0
  330. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/io_test_input_as_json.py +0 -0
  331. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/io_test_input_case.py +0 -0
  332. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/io_test_log.py +0 -0
  333. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/io_test_option.py +0 -0
  334. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/io_test_step_log.py +0 -0
  335. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/io_test_step_log_base.py +0 -0
  336. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/is_admin_permission_enabled_setting.py +0 -0
  337. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/job.py +0 -0
  338. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/json_create_auto_test.py +0 -0
  339. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/json_create_tenant.py +0 -0
  340. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/json_patch_auto_test.py +0 -0
  341. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/json_patch_submit_types_assignment.py +0 -0
  342. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/junit_test_as_json.py +0 -0
  343. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/junit_test_base_data.py +0 -0
  344. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/junit_test_data.py +0 -0
  345. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/junit_test_extra.py +0 -0
  346. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/junit_test_input_as_json.py +0 -0
  347. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/junit_test_log.py +0 -0
  348. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/junit_test_log_base.py +0 -0
  349. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/jwt_access_token_expires_setting.py +0 -0
  350. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/legacy_features.py +0 -0
  351. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/line_range.py +0 -0
  352. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/linter_comment.py +0 -0
  353. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/linters_enabled_setting.py +0 -0
  354. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/lms_capabilities.py +0 -0
  355. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/login_token_before_time_setting.py +0 -0
  356. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/login_user_data.py +0 -0
  357. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/logout_response.py +0 -0
  358. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/logout_user_data.py +0 -0
  359. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/lti1p1_provider.py +0 -0
  360. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/lti1p1_provider_data.py +0 -0
  361. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/lti1p3_parse_most_privileged_role_setting.py +0 -0
  362. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/lti1p3_provider.py +0 -0
  363. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/lti1p3_provider_data.py +0 -0
  364. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/lti1p3_provider_presentation_as_json.py +0 -0
  365. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/lti1p3_system_role_from_context_role_setting.py +0 -0
  366. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/lti_enabled_setting.py +0 -0
  367. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/lti_first_launch_content_id_enabled_setting.py +0 -0
  368. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/lti_launch_data_logging_setting.py +0 -0
  369. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/lti_lock_date_copying_enabled_setting.py +0 -0
  370. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/lti_provider_base.py +0 -0
  371. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/lti_unset_deadline_lock_date_enabled_setting.py +0 -0
  372. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/max_document_update_size_setting.py +0 -0
  373. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/max_dynamo_file_size_setting.py +0 -0
  374. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/max_dynamo_submission_size_setting.py +0 -0
  375. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/max_file_size_setting.py +0 -0
  376. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/max_large_upload_size_setting.py +0 -0
  377. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/max_lines_setting.py +0 -0
  378. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/max_mirror_file_age_setting.py +0 -0
  379. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/max_normal_upload_size_setting.py +0 -0
  380. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/max_number_of_files_setting.py +0 -0
  381. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/max_plagiarism_matches_setting.py +0 -0
  382. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/max_user_setting_amount_setting.py +0 -0
  383. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/min_password_score_setting.py +0 -0
  384. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/mirror_file_result.py +0 -0
  385. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/missing_cookie_error.py +0 -0
  386. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/missing_file.py +0 -0
  387. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/new_auto_test_allowed_initial_build_ids_setting.py +0 -0
  388. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/new_auto_test_build_max_command_time_setting.py +0 -0
  389. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/new_auto_test_build_output_limit_setting.py +0 -0
  390. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/new_auto_test_copying_enabled_setting.py +0 -0
  391. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/new_auto_test_current_initial_build_ids_setting.py +0 -0
  392. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/new_auto_test_diff_viewer_enabled_setting.py +0 -0
  393. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/new_auto_test_enabled_setting.py +0 -0
  394. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/new_auto_test_initial_build_id_setting.py +0 -0
  395. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/new_auto_test_max_dynamodb_size_setting.py +0 -0
  396. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/new_auto_test_max_file_size_setting.py +0 -0
  397. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/new_auto_test_max_output_files_size_setting.py +0 -0
  398. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/new_auto_test_max_storage_size_setting.py +0 -0
  399. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/new_auto_test_old_submission_age_setting.py +0 -0
  400. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/new_auto_test_test_max_command_time_setting.py +0 -0
  401. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/new_auto_test_test_output_limit_setting.py +0 -0
  402. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/new_auto_test_uncollapsing_step_output_delay_setting.py +0 -0
  403. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/no_permissions.py +0 -0
  404. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/non_deleted_comment_reply.py +0 -0
  405. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/non_finalized_lti1p1_provider.py +0 -0
  406. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/non_finalized_lti1p3_provider.py +0 -0
  407. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/non_present_preference.py +0 -0
  408. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/notification.py +0 -0
  409. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/notification_comment_reply_notification_as_json.py +0 -0
  410. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/notification_general_feedback_reply_notification_as_json.py +0 -0
  411. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/notification_poll_time_setting.py +0 -0
  412. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/notification_reasons.py +0 -0
  413. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/notification_setting.py +0 -0
  414. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/notification_setting_option.py +0 -0
  415. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/notifications_json.py +0 -0
  416. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/oauth_provider.py +0 -0
  417. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/oauth_token.py +0 -0
  418. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/option.py +0 -0
  419. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/options_input_data.py +0 -0
  420. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/output_viewer_animation_limit_lines_count_setting.py +0 -0
  421. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/parse_api_exception.py +0 -0
  422. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch1_p1_provider_lti_data.py +0 -0
  423. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch1_p3_provider_lti_data.py +0 -0
  424. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_all_notification_data.py +0 -0
  425. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_assignment_data.py +0 -0
  426. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_auto_test_data.py +0 -0
  427. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_comment_reply_data.py +0 -0
  428. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_course_data.py +0 -0
  429. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_grader_submission_data.py +0 -0
  430. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_notification_data.py +0 -0
  431. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_notification_setting_user_setting_data.py +0 -0
  432. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_provider_lti_data.py +0 -0
  433. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_role_course_data.py +0 -0
  434. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_role_data.py +0 -0
  435. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_role_tenant_data.py +0 -0
  436. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_rubric_category_type_assignment_data.py +0 -0
  437. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_rubric_result_submission_data.py +0 -0
  438. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_section_data.py +0 -0
  439. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_settings_tenant_data.py +0 -0
  440. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_site_settings_data.py +0 -0
  441. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_snippet_course_data.py +0 -0
  442. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_snippet_data.py +0 -0
  443. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_submission_data.py +0 -0
  444. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_submit_types_assignment_data.py +0 -0
  445. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_tenant_data.py +0 -0
  446. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_ui_preference_user_setting_data.py +0 -0
  447. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_user_data.py +0 -0
  448. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/pay_with_coupon_course_price_data.py +0 -0
  449. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/pearson_templates_setting.py +0 -0
  450. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/peer_feedback_enabled_setting.py +0 -0
  451. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/permission_exception.py +0 -0
  452. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/plagiarism_bulk_export_enabled_setting.py +0 -0
  453. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/plagiarism_bulk_export_max_cases_setting.py +0 -0
  454. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/plagiarism_case.py +0 -0
  455. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/plagiarism_pdf_export_enabled_setting.py +0 -0
  456. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/plagiarism_run.py +0 -0
  457. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/plagiarism_run_plagiarism_assignment_as_json.py +0 -0
  458. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/plagiarism_run_plagiarism_course_as_json.py +0 -0
  459. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/plagiarism_state.py +0 -0
  460. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/post_oauth_token_data.py +0 -0
  461. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/present_preference.py +0 -0
  462. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/proxy.py +0 -0
  463. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/put_description_assignment_data.py +0 -0
  464. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/put_enroll_link_course_data.py +0 -0
  465. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/put_price_course_data.py +0 -0
  466. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/put_price_tenant_data.py +0 -0
  467. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/put_rubric_assignment_data.py +0 -0
  468. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/quality_comment_severity.py +0 -0
  469. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/quality_comments_in_code_editor_setting.py +0 -0
  470. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/quality_test_log.py +0 -0
  471. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/quality_test_log_base.py +0 -0
  472. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/register_enabled_setting.py +0 -0
  473. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/register_user_data.py +0 -0
  474. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/register_user_with_link_course_data.py +0 -0
  475. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/release_info.py +0 -0
  476. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/release_message_max_time_setting.py +0 -0
  477. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/rename_group_group_data.py +0 -0
  478. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/render_html_enabled_setting.py +0 -0
  479. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/repository_connection_limit_reached_exception.py +0 -0
  480. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/reset_token_time_setting.py +0 -0
  481. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/result_data_get_auto_test_get.py +0 -0
  482. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/result_data_get_task_result_get_all.py +0 -0
  483. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/result_data_post_login_link_login.py +0 -0
  484. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/result_data_post_section_create_division.py +0 -0
  485. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/result_data_post_user_login.py +0 -0
  486. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/result_data_post_user_register.py +0 -0
  487. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/role_as_json_with_perms.py +0 -0
  488. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/root_file_trees_json.py +0 -0
  489. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/rubric_description_type.py +0 -0
  490. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/rubric_enabled_for_teacher_on_submissions_page_setting.py +0 -0
  491. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/rubric_item.py +0 -0
  492. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/rubric_item_input_as_json.py +0 -0
  493. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/rubric_lock_reason.py +0 -0
  494. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/rubric_row_base.py +0 -0
  495. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/rubric_row_base_input_as_json.py +0 -0
  496. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/rubric_row_base_input_base_as_json.py +0 -0
  497. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/rubrics_enabled_setting.py +0 -0
  498. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/rule_type.py +0 -0
  499. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/run_program_as_json.py +0 -0
  500. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/run_program_data.py +0 -0
  501. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/run_program_extra.py +0 -0
  502. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/run_program_input_as_json.py +0 -0
  503. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/run_program_log.py +0 -0
  504. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/saml2_provider_json.py +0 -0
  505. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/saml_ui_info.py +0 -0
  506. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/sections_in_submission_list_enabled_setting.py +0 -0
  507. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/send_registration_email_setting.py +0 -0
  508. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/server_time_correction_enabled_setting.py +0 -0
  509. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/server_time_diff_tolerance_setting.py +0 -0
  510. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/server_time_sync_interval_setting.py +0 -0
  511. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/setting_token_time_setting.py +0 -0
  512. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/setup_oauth_result.py +0 -0
  513. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/simple_submission_mode_enabled_setting.py +0 -0
  514. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/simple_submission_navigate_to_latest_editor_session_setting.py +0 -0
  515. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/site_email_setting.py +0 -0
  516. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/snippet.py +0 -0
  517. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/sso_infer_global_staff_role_setting.py +0 -0
  518. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/sso_username_decollision_enabled_setting.py +0 -0
  519. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/staged_assignment_importer_enabled_setting.py +0 -0
  520. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/start_payment_course_price_close_tab_data.py +0 -0
  521. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/start_payment_course_price_data.py +0 -0
  522. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/start_payment_course_price_redirect_data.py +0 -0
  523. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/started_transaction.py +0 -0
  524. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/student_payment_enabled_setting.py +0 -0
  525. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/submission_validator_input_data.py +0 -0
  526. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/submissions_page_v2_enabled_setting.py +0 -0
  527. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/submissions_per_page_enabled_setting.py +0 -0
  528. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/task_result_state.py +0 -0
  529. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/tax_behavior.py +0 -0
  530. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/tenant.py +0 -0
  531. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/tenant_coupon.py +0 -0
  532. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/tenant_coupon_usage.py +0 -0
  533. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/tenant_coupon_with_code.py +0 -0
  534. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/tenant_coupon_without_code.py +0 -0
  535. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/tenant_course_statistics.py +0 -0
  536. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/tenant_of_tenant_price.py +0 -0
  537. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/tenant_permissions.py +0 -0
  538. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/tenant_price.py +0 -0
  539. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/tenant_role_as_json_with_perms.py +0 -0
  540. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/tenant_statistics.py +0 -0
  541. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/test_submission_copying_on_import_enabled_setting.py +0 -0
  542. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/timed_availability.py +0 -0
  543. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/timeframe_like.py +0 -0
  544. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/token_revoked_exception.py +0 -0
  545. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/transaction.py +0 -0
  546. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/transaction_state.py +0 -0
  547. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/types.py +0 -0
  548. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/update_peer_feedback_settings_assignment_data.py +0 -0
  549. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/update_set_auto_test_data.py +0 -0
  550. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/update_suite_auto_test_base_data.py +0 -0
  551. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/update_suite_auto_test_data.py +0 -0
  552. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/upgraded_lti_provider_exception.py +0 -0
  553. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/upload_submission_assignment_data.py +0 -0
  554. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/user.py +0 -0
  555. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/user_course.py +0 -0
  556. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/user_info_with_role.py +0 -0
  557. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/user_input.py +0 -0
  558. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/user_without_group.py +0 -0
  559. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/weak_password_exception.py +0 -0
  560. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/weak_password_feedback.py +0 -0
  561. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/webhook_base.py +0 -0
  562. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/webhook_configuration_disabled_as_json.py +0 -0
  563. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/webhook_configuration_enabled_as_json.py +0 -0
  564. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/work.py +0 -0
  565. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/work_origin.py +0 -0
  566. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/work_rubric_item.py +0 -0
  567. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/work_rubric_result_as_json.py +0 -0
  568. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/work_rubric_result_points_as_json.py +0 -0
  569. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/parsers.py +0 -0
  570. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/py.typed +0 -0
  571. {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: codegrade
3
- Version: 16.1.47
3
+ Version: 16.1.49
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
@@ -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.47"
10
+ __version__ = "16.1.49"
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.47",
529
+ "User-Agent": "CodeGradeAPI/16.1.49",
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.47",
549
+ "User-Agent": "CodeGradeAPI/16.1.49",
550
550
  },
551
551
  follow_redirects=True,
552
552
  )
@@ -255,6 +255,10 @@ from .custom_output_extra import CustomOutputExtra
255
255
  from .custom_output_input_as_json import CustomOutputInputAsJSON
256
256
  from .custom_output_log import CustomOutputLog
257
257
  from .custom_output_log_base import CustomOutputLogBase
258
+ from .default_course_ta_role_setting import DefaultCourseTaRoleSetting
259
+ from .default_course_teacher_role_setting import (
260
+ DefaultCourseTeacherRoleSetting,
261
+ )
258
262
  from .deleted_comment_reply import DeletedCommentReply
259
263
  from .deletion_type import DeletionType
260
264
  from .directory_with_children import DirectoryWithChildren
@@ -336,6 +340,9 @@ from .health_information import HealthInformation
336
340
  from .hide_code_editor_output_viewer_with_only_quiz_steps_setting import (
337
341
  HideCodeEditorOutputViewerWithOnlyQuizStepsSetting,
338
342
  )
343
+ from .hide_empty_rubric_row_description_setting import (
344
+ HideEmptyRubricRowDescriptionSetting,
345
+ )
339
346
  from .ignore_handling import IgnoreHandling
340
347
  from .ignored_files_exception import IgnoredFilesException
341
348
  from .import_into_assignment_data import ImportIntoAssignmentData
@@ -131,6 +131,16 @@ class AllSiteSettings(FrontendSiteSettings):
131
131
  lti_launch_data_logging: Maybe["bool"] = Nothing
132
132
  #: Whether or not pearson templates should be enabled.
133
133
  pearson_templates: Maybe["bool"] = Nothing
134
+ #: The teacher role to be used for teachers in new courses. Existing
135
+ #: courses will not be affected.
136
+ default_course_teacher_role: Maybe[
137
+ "t.Literal['Full Teacher', 'Non-Editing Teacher']"
138
+ ] = Nothing
139
+ #: The TA role to be used for TAs in new courses. Existing courses will not
140
+ #: be affected.
141
+ default_course_ta_role: Maybe[
142
+ "t.Literal['Full TA', 'Non-Editing TA']"
143
+ ] = Nothing
134
144
 
135
145
  raw_data: t.Optional[t.Dict[str, t.Any]] = field(init=False, repr=False)
136
146
 
@@ -447,6 +457,22 @@ class AllSiteSettings(FrontendSiteSettings):
447
457
  rqa.SimpleValue.bool,
448
458
  doc="Whether or not pearson templates should be enabled.",
449
459
  ),
460
+ rqa.OptionalArgument(
461
+ "DEFAULT_COURSE_TEACHER_ROLE",
462
+ rqa.StringEnum("Full Teacher", "Non-Editing Teacher"),
463
+ doc=(
464
+ "The teacher role to be used for teachers in new"
465
+ " courses. Existing courses will not be affected."
466
+ ),
467
+ ),
468
+ rqa.OptionalArgument(
469
+ "DEFAULT_COURSE_TA_ROLE",
470
+ rqa.StringEnum("Full TA", "Non-Editing TA"),
471
+ doc=(
472
+ "The TA role to be used for TAs in new courses."
473
+ " Existing courses will not be affected."
474
+ ),
475
+ ),
450
476
  )
451
477
  ).use_readable_describe(True)
452
478
  )
@@ -550,6 +576,12 @@ class AllSiteSettings(FrontendSiteSettings):
550
576
  self.lti_launch_data_logging
551
577
  )
552
578
  self.pearson_templates = maybe_from_nullable(self.pearson_templates)
579
+ self.default_course_teacher_role = maybe_from_nullable(
580
+ self.default_course_teacher_role
581
+ )
582
+ self.default_course_ta_role = maybe_from_nullable(
583
+ self.default_course_ta_role
584
+ )
553
585
 
554
586
  def to_dict(self) -> t.Dict[str, t.Any]:
555
587
  res: t.Dict[str, t.Any] = {}
@@ -877,6 +909,10 @@ class AllSiteSettings(FrontendSiteSettings):
877
909
  res["GRADE_VIEWER_AND_EDITOR_ON_SUBMISSION_ENABLED"] = to_dict(
878
910
  self.grade_viewer_and_editor_on_submission_enabled.value
879
911
  )
912
+ if self.hide_empty_rubric_row_description.is_just:
913
+ res["HIDE_EMPTY_RUBRIC_ROW_DESCRIPTION"] = to_dict(
914
+ self.hide_empty_rubric_row_description.value
915
+ )
880
916
  if self.auto_test_heartbeat_interval.is_just:
881
917
  res["AUTO_TEST_HEARTBEAT_INTERVAL"] = to_dict(
882
918
  self.auto_test_heartbeat_interval.value
@@ -1009,6 +1045,14 @@ class AllSiteSettings(FrontendSiteSettings):
1009
1045
  )
1010
1046
  if self.pearson_templates.is_just:
1011
1047
  res["PEARSON_TEMPLATES"] = to_dict(self.pearson_templates.value)
1048
+ if self.default_course_teacher_role.is_just:
1049
+ res["DEFAULT_COURSE_TEACHER_ROLE"] = to_dict(
1050
+ self.default_course_teacher_role.value
1051
+ )
1052
+ if self.default_course_ta_role.is_just:
1053
+ res["DEFAULT_COURSE_TA_ROLE"] = to_dict(
1054
+ self.default_course_ta_role.value
1055
+ )
1012
1056
  return res
1013
1057
 
1014
1058
  @classmethod
@@ -1103,6 +1147,7 @@ class AllSiteSettings(FrontendSiteSettings):
1103
1147
  hide_code_editor_output_viewer_with_only_quiz_steps=parsed.HIDE_CODE_EDITOR_OUTPUT_VIEWER_WITH_ONLY_QUIZ_STEPS,
1104
1148
  simple_submission_navigate_to_latest_editor_session=parsed.SIMPLE_SUBMISSION_NAVIGATE_TO_LATEST_EDITOR_SESSION,
1105
1149
  grade_viewer_and_editor_on_submission_enabled=parsed.GRADE_VIEWER_AND_EDITOR_ON_SUBMISSION_ENABLED,
1150
+ hide_empty_rubric_row_description=parsed.HIDE_EMPTY_RUBRIC_ROW_DESCRIPTION,
1106
1151
  auto_test_heartbeat_interval=parsed.AUTO_TEST_HEARTBEAT_INTERVAL,
1107
1152
  auto_test_heartbeat_max_missed=parsed.AUTO_TEST_HEARTBEAT_MAX_MISSED,
1108
1153
  auto_test_max_jobs_per_runner=parsed.AUTO_TEST_MAX_JOBS_PER_RUNNER,
@@ -1138,6 +1183,8 @@ class AllSiteSettings(FrontendSiteSettings):
1138
1183
  lti_first_launch_content_id_enabled=parsed.LTI_FIRST_LAUNCH_CONTENT_ID_ENABLED,
1139
1184
  lti_launch_data_logging=parsed.LTI_LAUNCH_DATA_LOGGING,
1140
1185
  pearson_templates=parsed.PEARSON_TEMPLATES,
1186
+ default_course_teacher_role=parsed.DEFAULT_COURSE_TEACHER_ROLE,
1187
+ default_course_ta_role=parsed.DEFAULT_COURSE_TA_ROLE,
1141
1188
  )
1142
1189
  res.raw_data = d
1143
1190
  return res
@@ -280,6 +280,9 @@ class CoursePermMap:
280
280
  #: Users with this permission can create test submissions in the
281
281
  #: assignments of this course.
282
282
  can_create_test_submissions: "bool"
283
+ #: Users with this permission are allowed to see the details of Pearson
284
+ #: templates in a course (context).
285
+ can_view_pearson_context_templates: "bool"
283
286
 
284
287
  raw_data: t.Optional[t.Dict[str, t.Any]] = field(init=False, repr=False)
285
288
 
@@ -1006,6 +1009,14 @@ class CoursePermMap:
1006
1009
  " the assignments of this course."
1007
1010
  ),
1008
1011
  ),
1012
+ rqa.RequiredArgument(
1013
+ "can_view_pearson_context_templates",
1014
+ rqa.SimpleValue.bool,
1015
+ doc=(
1016
+ "Users with this permission are allowed to see the details"
1017
+ " of Pearson templates in a course (context)."
1018
+ ),
1019
+ ),
1009
1020
  ).use_readable_describe(True)
1010
1021
  )
1011
1022
 
@@ -1174,6 +1185,9 @@ class CoursePermMap:
1174
1185
  "can_create_test_submissions": to_dict(
1175
1186
  self.can_create_test_submissions
1176
1187
  ),
1188
+ "can_view_pearson_context_templates": to_dict(
1189
+ self.can_view_pearson_context_templates
1190
+ ),
1177
1191
  }
1178
1192
  return res
1179
1193
 
@@ -1269,6 +1283,7 @@ class CoursePermMap:
1269
1283
  can_view_own_course_section_members=parsed.can_view_own_course_section_members,
1270
1284
  can_view_all_assignment_timeframes=parsed.can_view_all_assignment_timeframes,
1271
1285
  can_create_test_submissions=parsed.can_create_test_submissions,
1286
+ can_view_pearson_context_templates=parsed.can_view_pearson_context_templates,
1272
1287
  )
1273
1288
  res.raw_data = d
1274
1289
  return res
@@ -105,3 +105,4 @@ class CoursePermission(str, Enum):
105
105
  can_view_own_course_section_members = "can_view_own_course_section_members"
106
106
  can_view_all_assignment_timeframes = "can_view_all_assignment_timeframes"
107
107
  can_create_test_submissions = "can_create_test_submissions"
108
+ can_view_pearson_context_templates = "can_view_pearson_context_templates"
@@ -0,0 +1,56 @@
1
+ """The module that defines the ``DefaultCourseTaRoleSetting`` 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 DefaultCourseTaRoleSetting:
16
+ """ """
17
+
18
+ name: "t.Literal['DEFAULT_COURSE_TA_ROLE']"
19
+ value: "t.Optional[t.Literal['Full TA', 'Non-Editing TA']]"
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("DEFAULT_COURSE_TA_ROLE"),
28
+ doc="",
29
+ ),
30
+ rqa.RequiredArgument(
31
+ "value",
32
+ rqa.Nullable(rqa.StringEnum("Full TA", "Non-Editing TA")),
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["DefaultCourseTaRoleSetting"], d: t.Dict[str, t.Any]
48
+ ) -> "DefaultCourseTaRoleSetting":
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
@@ -0,0 +1,58 @@
1
+ """The module that defines the ``DefaultCourseTeacherRoleSetting`` 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 DefaultCourseTeacherRoleSetting:
16
+ """ """
17
+
18
+ name: "t.Literal['DEFAULT_COURSE_TEACHER_ROLE']"
19
+ value: "t.Optional[t.Literal['Full Teacher', 'Non-Editing Teacher']]"
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("DEFAULT_COURSE_TEACHER_ROLE"),
28
+ doc="",
29
+ ),
30
+ rqa.RequiredArgument(
31
+ "value",
32
+ rqa.Nullable(
33
+ rqa.StringEnum("Full Teacher", "Non-Editing Teacher")
34
+ ),
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["DefaultCourseTeacherRoleSetting"], d: t.Dict[str, t.Any]
50
+ ) -> "DefaultCourseTeacherRoleSetting":
51
+ parsed = cls.data_parser.try_parse(d)
52
+
53
+ res = cls(
54
+ name=parsed.name,
55
+ value=parsed.value,
56
+ )
57
+ res.raw_data = d
58
+ return res
@@ -299,6 +299,9 @@ class FrontendSiteSettings:
299
299
  #: submission in the rubric if we have one, but only in readonly mode.
300
300
  #: Teachers cannot editor the rubric.
301
301
  grade_viewer_and_editor_on_submission_enabled: Maybe["bool"] = Nothing
302
+ #: Whether we hide the rubric row description space in the rubric viewer if
303
+ #: the description is empty.
304
+ hide_empty_rubric_row_description: Maybe["bool"] = Nothing
302
305
 
303
306
  raw_data: t.Optional[t.Dict[str, t.Any]] = field(init=False, repr=False)
304
307
 
@@ -999,6 +1002,14 @@ class FrontendSiteSettings:
999
1002
  " Teachers cannot editor the rubric."
1000
1003
  ),
1001
1004
  ),
1005
+ rqa.OptionalArgument(
1006
+ "HIDE_EMPTY_RUBRIC_ROW_DESCRIPTION",
1007
+ rqa.SimpleValue.bool,
1008
+ doc=(
1009
+ "Whether we hide the rubric row description space in the"
1010
+ " rubric viewer if the description is empty."
1011
+ ),
1012
+ ),
1002
1013
  ).use_readable_describe(True)
1003
1014
  )
1004
1015
 
@@ -1249,6 +1260,9 @@ class FrontendSiteSettings:
1249
1260
  self.grade_viewer_and_editor_on_submission_enabled
1250
1261
  )
1251
1262
  )
1263
+ self.hide_empty_rubric_row_description = maybe_from_nullable(
1264
+ self.hide_empty_rubric_row_description
1265
+ )
1252
1266
 
1253
1267
  def to_dict(self) -> t.Dict[str, t.Any]:
1254
1268
  res: t.Dict[str, t.Any] = {}
@@ -1576,6 +1590,10 @@ class FrontendSiteSettings:
1576
1590
  res["GRADE_VIEWER_AND_EDITOR_ON_SUBMISSION_ENABLED"] = to_dict(
1577
1591
  self.grade_viewer_and_editor_on_submission_enabled.value
1578
1592
  )
1593
+ if self.hide_empty_rubric_row_description.is_just:
1594
+ res["HIDE_EMPTY_RUBRIC_ROW_DESCRIPTION"] = to_dict(
1595
+ self.hide_empty_rubric_row_description.value
1596
+ )
1579
1597
  return res
1580
1598
 
1581
1599
  @classmethod
@@ -1670,6 +1688,7 @@ class FrontendSiteSettings:
1670
1688
  hide_code_editor_output_viewer_with_only_quiz_steps=parsed.HIDE_CODE_EDITOR_OUTPUT_VIEWER_WITH_ONLY_QUIZ_STEPS,
1671
1689
  simple_submission_navigate_to_latest_editor_session=parsed.SIMPLE_SUBMISSION_NAVIGATE_TO_LATEST_EDITOR_SESSION,
1672
1690
  grade_viewer_and_editor_on_submission_enabled=parsed.GRADE_VIEWER_AND_EDITOR_ON_SUBMISSION_ENABLED,
1691
+ hide_empty_rubric_row_description=parsed.HIDE_EMPTY_RUBRIC_ROW_DESCRIPTION,
1673
1692
  )
1674
1693
  res.raw_data = d
1675
1694
  return res
@@ -0,0 +1,57 @@
1
+ """The module that defines the ``HideEmptyRubricRowDescriptionSetting`` 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 HideEmptyRubricRowDescriptionSetting:
16
+ """ """
17
+
18
+ name: "t.Literal['HIDE_EMPTY_RUBRIC_ROW_DESCRIPTION']"
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("HIDE_EMPTY_RUBRIC_ROW_DESCRIPTION"),
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["HideEmptyRubricRowDescriptionSetting"],
48
+ d: t.Dict[str, t.Any],
49
+ ) -> "HideEmptyRubricRowDescriptionSetting":
50
+ parsed = cls.data_parser.try_parse(d)
51
+
52
+ res = cls(
53
+ name=parsed.name,
54
+ value=parsed.value,
55
+ )
56
+ res.raw_data = d
57
+ return res
@@ -103,6 +103,10 @@ from .course_gradebook_render_warning_size_setting import (
103
103
  from .course_register_enabled_setting import CourseRegisterEnabledSetting
104
104
  from .csv_large_file_limit_setting import CsvLargeFileLimitSetting
105
105
  from .csv_too_many_errors_limit_setting import CsvTooManyErrorsLimitSetting
106
+ from .default_course_ta_role_setting import DefaultCourseTaRoleSetting
107
+ from .default_course_teacher_role_setting import (
108
+ DefaultCourseTeacherRoleSetting,
109
+ )
106
110
  from .editor_enabled_for_teachers_setting import (
107
111
  EditorEnabledForTeachersSetting,
108
112
  )
@@ -125,6 +129,9 @@ from .groups_enabled_setting import GroupsEnabledSetting
125
129
  from .hide_code_editor_output_viewer_with_only_quiz_steps_setting import (
126
130
  HideCodeEditorOutputViewerWithOnlyQuizStepsSetting,
127
131
  )
132
+ from .hide_empty_rubric_row_description_setting import (
133
+ HideEmptyRubricRowDescriptionSetting,
134
+ )
128
135
  from .incremental_rubric_submission_enabled_setting import (
129
136
  IncrementalRubricSubmissionEnabledSetting,
130
137
  )
@@ -392,6 +399,9 @@ SiteSettingInput = t.Union[
392
399
  PearsonTemplatesSetting,
393
400
  SimpleSubmissionNavigateToLatestEditorSessionSetting,
394
401
  GradeViewerAndEditorOnSubmissionEnabledSetting,
402
+ HideEmptyRubricRowDescriptionSetting,
403
+ DefaultCourseTeacherRoleSetting,
404
+ DefaultCourseTaRoleSetting,
395
405
  ]
396
406
  SiteSettingInputParser = rqa.Lazy(
397
407
  lambda: make_union(
@@ -515,5 +525,8 @@ SiteSettingInputParser = rqa.Lazy(
515
525
  ParserFor.make(PearsonTemplatesSetting),
516
526
  ParserFor.make(SimpleSubmissionNavigateToLatestEditorSessionSetting),
517
527
  ParserFor.make(GradeViewerAndEditorOnSubmissionEnabledSetting),
528
+ ParserFor.make(HideEmptyRubricRowDescriptionSetting),
529
+ ParserFor.make(DefaultCourseTeacherRoleSetting),
530
+ ParserFor.make(DefaultCourseTaRoleSetting),
518
531
  ),
519
532
  )
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "codegrade"
3
- version = "16.1.47"
3
+ version = "16.1.49"
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.47',
24
+ 'version': '16.1.49',
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',
File without changes