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.
- {codegrade-16.1.47 → codegrade-16.1.49}/PKG-INFO +1 -1
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/__init__.py +1 -1
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/client.py +2 -2
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/__init__.py +7 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/all_site_settings.py +47 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course_perm_map.py +15 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course_permission.py +1 -0
- codegrade-16.1.49/codegrade/models/default_course_ta_role_setting.py +56 -0
- codegrade-16.1.49/codegrade/models/default_course_teacher_role_setting.py +58 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/frontend_site_settings.py +19 -0
- codegrade-16.1.49/codegrade/models/hide_empty_rubric_row_description_setting.py +57 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/site_setting_input.py +13 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/pyproject.toml +1 -1
- {codegrade-16.1.47 → codegrade-16.1.49}/setup.py +1 -1
- {codegrade-16.1.47 → codegrade-16.1.49}/README.md +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/cg_dt_utils/__init__.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/cg_maybe/__init__.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/cg_maybe/_just.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/cg_maybe/_maybe.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/cg_maybe/_nothing.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/cg_maybe/_type_helpers.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/cg_maybe/cg_maybe_plugin.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/cg_maybe/utils.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/cg_request_args/__init__.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/cg_request_args/_any_value.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/cg_request_args/_base.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/cg_request_args/_convert.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/cg_request_args/_enum.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/cg_request_args/_form.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/cg_request_args/_lazy.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/cg_request_args/_list.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/cg_request_args/_literal.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/cg_request_args/_mapping.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/cg_request_args/_multipart.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/cg_request_args/_nullable.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/cg_request_args/_parse_utils.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/cg_request_args/_query.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/cg_request_args/_rich_value.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/cg_request_args/_swagger_utils.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/cg_request_args/_swaggerize.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/cg_request_args/_utils.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/cg_request_args/exceptions.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/cg_request_args/request_args_plugin.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/__init__.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/about.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/assignment.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/auto_test.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/comment.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/course.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/course_price.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/file.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/git_provider.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/group.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/group_set.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/login_link.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/lti.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/notification.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/oauth_provider.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/oauth_token.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/permission.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/plagiarism.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/role.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/section.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/site_settings.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/snippet.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/sso_provider.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/submission.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/task_result.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/tenant.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/transaction.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/user.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/user_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/_api/webhook.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/errors.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/_base_price.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/_saml_ui_logo_info.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/_submission_rubric_item_data_parser.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/about.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/abstract_role.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/add_users_section_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/all_auto_test_results.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/any_auto_test_step_as_json.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/any_error.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/any_non_redacted_auto_test_step_as_json.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/any_redacted_auto_test_step_as_json.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/api_codes.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_anonymization_algo.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_default_grading_scale_points_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_default_grading_scale_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_description_enabled_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_description_on_teachers_submissions_page_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_done_type.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_export_column.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_feedback.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_grader.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_grading_scale_points_enabled_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_kind.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_login_link.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_max_points_enabled_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_peer_feedback_connection.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_peer_feedback_settings.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_percentage_decimals_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_percentage_grading_settings.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_point_decimals_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_points_grading_settings.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_section_timeframe.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_state_enum.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_submission_mode.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_template.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/assignment_timeframes.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/at_image_caching_enabled_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_capture_points_message_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_checkpoint_message_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_code_quality_message_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_enabled_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_fixture.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_global_setup_output.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_global_setup_script.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_heartbeat_interval_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_heartbeat_max_missed_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_io_test_message_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_io_test_sub_message_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_max_concurrent_batch_runs_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_max_global_setup_time_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_max_jobs_per_runner_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_max_per_student_setup_time_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_max_result_not_started_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_max_time_command_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_max_unit_test_metadata_length_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_quality_comment.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_result.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_result_state.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_result_with_extra_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_run.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_run_program_message_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_runner.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_runner_state.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_set.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_step_base.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_step_base_as_json.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_step_base_input_as_json.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_step_log_base.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_step_result.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_step_result_state.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_step_validation_exception.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_suite.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/auto_test_unit_test_message_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/automatic_lti1p3_assignment_import_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/automatic_lti_role_enabled_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/base_about.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/base_auto_test_quality_comment.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/base_comment_base.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/base_comment_base_with_extended_replies.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/base_comment_base_with_normal_replies.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/base_comment_reply.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/base_course_coupon.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/base_directory.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/base_error.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/base_file.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/base_lms_capabilities.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/base_lti1p1_provider.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/base_lti1p3_provider.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/base_lti_provider.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/base_notification.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/base_release_info.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/base_rubric_item.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/base_tenant_coupon.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/blackboard_zip_upload_enabled_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/bulk_enroll_course_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/canvas_course_id_copying_enabled_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/cg_ignore_version.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/change_user_role_course_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/check_points_as_json.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/check_points_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/check_points_extra.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/check_points_input_as_json.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/clone_result.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/code_editor_output_viewer_title_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/code_quality_as_json.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/code_quality_base_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/code_quality_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/code_quality_extra.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/code_quality_input_as_json.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/code_quality_penalties.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/column_range.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/comment_base.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/comment_reply.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/comment_reply_edit.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/comment_reply_type.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/comment_type.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/community_library_publishing_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/community_library_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/connect_repository_git_provider_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/copy_auto_test_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/copy_rubric_assignment_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/coupon_data_parser.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/coupon_with_code.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/coupon_without_code.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course_bulk_enroll_result.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course_bulk_register_enabled_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course_coupon.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course_coupon_usage.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course_gradebook_enabled_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course_gradebook_render_warning_size_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course_of_course_price.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course_of_tenant_coupon_usage.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course_price.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course_register_enabled_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course_register_response.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course_registration_link.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course_role.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course_role_as_json_with_perms.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course_section.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course_section_division.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course_section_division_connection.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course_section_division_user.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course_snippet.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course_state.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/course_statistics_as_json.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/create_assignment_course_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/create_auto_test_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/create_comment_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/create_comment_reply_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/create_course_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/create_division_section_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/create_group_group_set_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/create_group_set_course_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/create_lti_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/create_output_html_proxy_auto_test_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/create_proxy_submission_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/create_repository_git_provider_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/create_role_course_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/create_section_course_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/create_snippet_course_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/create_snippet_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/create_sso_provider_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/create_tenant_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/csv_large_file_limit_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/csv_too_many_errors_limit_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/currency.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/custom_output_as_json.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/custom_output_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/custom_output_extra.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/custom_output_input_as_json.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/custom_output_log.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/custom_output_log_base.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/deleted_comment_reply.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/deletion_type.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/directory_with_children.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/disabled_setting_exception.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/editor_enabled_for_teachers_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/editor_enabled_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/email_notification_types.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/email_students_enabled_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/email_users_course_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/exam_login_max_length_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/export_assignment_csv_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/export_assignment_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/export_assignment_files_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/extended_auto_test_result.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/extended_auto_test_run.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/extended_course.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/extended_course_registration_link.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/extended_course_section.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/extended_group.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/extended_job.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/extended_non_deleted_comment_reply.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/extended_tenant.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/extended_transaction.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/extended_user.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/extended_work.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/extract_file_tree_directory.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/extract_file_tree_file.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/failed_to_send_email_exception.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/feedback_base.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/feedback_threads_initially_collapsed_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/feedback_with_replies.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/feedback_without_replies.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/file_deletion.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/file_rule.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/file_rule_input_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/file_tree.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/file_type.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/finalized_lti1p1_provider.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/finalized_lti1p3_provider.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/first_phase_lti_launch_exception.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/fixed_availability.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/fixed_grade_availability.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/fixture_like.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/fraction.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/general_feedback_comment_base.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/general_feedback_comment_base_with_extended_replies.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/general_feedback_extra.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/git_repositories_page.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/git_repository_like.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/git_user_info.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/github_template_repo_enabled_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/global_perm_map.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/global_permission.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/grade_history.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/grade_origin.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/grade_viewer_and_editor_on_submission_enabled_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/grading_notifications_enabled_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/group.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/group_not_ready_for_submission_exception.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/group_set.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/groups_enabled_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/has_unread_notifcation_json.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/health_information.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/hide_code_editor_output_viewer_with_only_quiz_steps_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/ignore_handling.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/ignored_files_exception.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/import_into_assignment_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/import_into_course_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/incremental_rubric_submission_enabled_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/inline_feedback_comment_base.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/inline_feedback_comment_base_with_extended_replies.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/inline_feedback_extra.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/inline_rubric_viewer_enabled_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/invalid_group_exception.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/invalid_io_cases_exception.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/invalid_options_exception.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/io_test_as_json.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/io_test_base_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/io_test_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/io_test_extra.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/io_test_input_as_json.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/io_test_input_case.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/io_test_log.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/io_test_option.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/io_test_step_log.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/io_test_step_log_base.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/is_admin_permission_enabled_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/job.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/json_create_auto_test.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/json_create_tenant.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/json_patch_auto_test.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/json_patch_submit_types_assignment.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/junit_test_as_json.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/junit_test_base_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/junit_test_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/junit_test_extra.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/junit_test_input_as_json.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/junit_test_log.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/junit_test_log_base.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/jwt_access_token_expires_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/legacy_features.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/line_range.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/linter_comment.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/linters_enabled_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/lms_capabilities.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/login_token_before_time_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/login_user_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/logout_response.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/logout_user_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/lti1p1_provider.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/lti1p1_provider_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/lti1p3_parse_most_privileged_role_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/lti1p3_provider.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/lti1p3_provider_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/lti1p3_provider_presentation_as_json.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/lti1p3_system_role_from_context_role_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/lti_enabled_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/lti_first_launch_content_id_enabled_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/lti_launch_data_logging_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/lti_lock_date_copying_enabled_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/lti_provider_base.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/lti_unset_deadline_lock_date_enabled_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/max_document_update_size_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/max_dynamo_file_size_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/max_dynamo_submission_size_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/max_file_size_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/max_large_upload_size_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/max_lines_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/max_mirror_file_age_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/max_normal_upload_size_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/max_number_of_files_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/max_plagiarism_matches_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/max_user_setting_amount_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/min_password_score_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/mirror_file_result.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/missing_cookie_error.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/missing_file.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/new_auto_test_allowed_initial_build_ids_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/new_auto_test_build_max_command_time_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/new_auto_test_build_output_limit_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/new_auto_test_copying_enabled_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/new_auto_test_current_initial_build_ids_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/new_auto_test_diff_viewer_enabled_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/new_auto_test_enabled_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/new_auto_test_initial_build_id_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/new_auto_test_max_dynamodb_size_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/new_auto_test_max_file_size_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/new_auto_test_max_output_files_size_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/new_auto_test_max_storage_size_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/new_auto_test_old_submission_age_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/new_auto_test_test_max_command_time_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/new_auto_test_test_output_limit_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/new_auto_test_uncollapsing_step_output_delay_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/no_permissions.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/non_deleted_comment_reply.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/non_finalized_lti1p1_provider.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/non_finalized_lti1p3_provider.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/non_present_preference.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/notification.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/notification_comment_reply_notification_as_json.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/notification_general_feedback_reply_notification_as_json.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/notification_poll_time_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/notification_reasons.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/notification_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/notification_setting_option.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/notifications_json.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/oauth_provider.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/oauth_token.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/option.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/options_input_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/output_viewer_animation_limit_lines_count_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/parse_api_exception.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch1_p1_provider_lti_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch1_p3_provider_lti_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_all_notification_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_assignment_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_auto_test_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_comment_reply_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_course_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_grader_submission_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_notification_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_notification_setting_user_setting_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_provider_lti_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_role_course_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_role_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_role_tenant_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_rubric_category_type_assignment_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_rubric_result_submission_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_section_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_settings_tenant_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_site_settings_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_snippet_course_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_snippet_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_submission_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_submit_types_assignment_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_tenant_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_ui_preference_user_setting_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/patch_user_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/pay_with_coupon_course_price_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/pearson_templates_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/peer_feedback_enabled_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/permission_exception.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/plagiarism_bulk_export_enabled_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/plagiarism_bulk_export_max_cases_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/plagiarism_case.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/plagiarism_pdf_export_enabled_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/plagiarism_run.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/plagiarism_run_plagiarism_assignment_as_json.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/plagiarism_run_plagiarism_course_as_json.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/plagiarism_state.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/post_oauth_token_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/present_preference.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/proxy.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/put_description_assignment_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/put_enroll_link_course_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/put_price_course_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/put_price_tenant_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/put_rubric_assignment_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/quality_comment_severity.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/quality_comments_in_code_editor_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/quality_test_log.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/quality_test_log_base.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/register_enabled_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/register_user_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/register_user_with_link_course_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/release_info.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/release_message_max_time_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/rename_group_group_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/render_html_enabled_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/repository_connection_limit_reached_exception.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/reset_token_time_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/result_data_get_auto_test_get.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/result_data_get_task_result_get_all.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/result_data_post_login_link_login.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/result_data_post_section_create_division.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/result_data_post_user_login.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/result_data_post_user_register.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/role_as_json_with_perms.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/root_file_trees_json.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/rubric_description_type.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/rubric_enabled_for_teacher_on_submissions_page_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/rubric_item.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/rubric_item_input_as_json.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/rubric_lock_reason.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/rubric_row_base.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/rubric_row_base_input_as_json.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/rubric_row_base_input_base_as_json.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/rubrics_enabled_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/rule_type.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/run_program_as_json.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/run_program_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/run_program_extra.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/run_program_input_as_json.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/run_program_log.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/saml2_provider_json.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/saml_ui_info.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/sections_in_submission_list_enabled_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/send_registration_email_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/server_time_correction_enabled_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/server_time_diff_tolerance_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/server_time_sync_interval_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/setting_token_time_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/setup_oauth_result.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/simple_submission_mode_enabled_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/simple_submission_navigate_to_latest_editor_session_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/site_email_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/snippet.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/sso_infer_global_staff_role_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/sso_username_decollision_enabled_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/staged_assignment_importer_enabled_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/start_payment_course_price_close_tab_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/start_payment_course_price_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/start_payment_course_price_redirect_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/started_transaction.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/student_payment_enabled_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/submission_validator_input_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/submissions_page_v2_enabled_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/submissions_per_page_enabled_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/task_result_state.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/tax_behavior.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/tenant.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/tenant_coupon.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/tenant_coupon_usage.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/tenant_coupon_with_code.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/tenant_coupon_without_code.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/tenant_course_statistics.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/tenant_of_tenant_price.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/tenant_permissions.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/tenant_price.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/tenant_role_as_json_with_perms.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/tenant_statistics.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/test_submission_copying_on_import_enabled_setting.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/timed_availability.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/timeframe_like.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/token_revoked_exception.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/transaction.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/transaction_state.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/types.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/update_peer_feedback_settings_assignment_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/update_set_auto_test_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/update_suite_auto_test_base_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/update_suite_auto_test_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/upgraded_lti_provider_exception.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/upload_submission_assignment_data.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/user.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/user_course.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/user_info_with_role.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/user_input.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/user_without_group.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/weak_password_exception.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/weak_password_feedback.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/webhook_base.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/webhook_configuration_disabled_as_json.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/webhook_configuration_enabled_as_json.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/work.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/work_origin.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/work_rubric_item.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/work_rubric_result_as_json.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/models/work_rubric_result_points_as_json.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/parsers.py +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/py.typed +0 -0
- {codegrade-16.1.47 → codegrade-16.1.49}/codegrade/utils.py +0 -0
|
@@ -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.
|
|
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.
|
|
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
|
)
|
|
@@ -21,7 +21,7 @@ install_requires = \
|
|
|
21
21
|
|
|
22
22
|
setup_kwargs = {
|
|
23
23
|
'name': 'codegrade',
|
|
24
|
-
'version': '16.1.
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|