PyKubeGrader 0.3.10__tar.gz → 0.3.11__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 (80) hide show
  1. {pykubegrader-0.3.10/src/PyKubeGrader.egg-info → pykubegrader-0.3.11}/PKG-INFO +1 -1
  2. {pykubegrader-0.3.10 → pykubegrader-0.3.11/src/PyKubeGrader.egg-info}/PKG-INFO +1 -1
  3. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/src/pykubegrader/grade_reports/grade_report.py +6 -10
  4. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/src/pykubegrader/grade_reports/grading_config.py +2 -1
  5. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/.coveragerc +0 -0
  6. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/.github/workflows/main.yml +0 -0
  7. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/.gitignore +0 -0
  8. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/.readthedocs.yml +0 -0
  9. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/AUTHORS.rst +0 -0
  10. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/CHANGELOG.rst +0 -0
  11. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/CONTRIBUTING.rst +0 -0
  12. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/LICENSE.txt +0 -0
  13. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/README.rst +0 -0
  14. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/docs/Makefile +0 -0
  15. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/docs/_static/Drexel_blue_Logo_square_Dark.png +0 -0
  16. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/docs/_static/Drexel_blue_Logo_square_Light.png +0 -0
  17. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/docs/_static/custom.css +0 -0
  18. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/docs/authors.rst +0 -0
  19. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/docs/changelog.rst +0 -0
  20. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/docs/conf.py +0 -0
  21. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/docs/contributing.rst +0 -0
  22. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/docs/index.rst +0 -0
  23. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/docs/license.rst +0 -0
  24. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/docs/readme.rst +0 -0
  25. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/docs/requirements.txt +0 -0
  26. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/examples/.responses.json +0 -0
  27. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/examples/true_false.ipynb +0 -0
  28. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/pyproject.toml +0 -0
  29. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/ruff.toml +0 -0
  30. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/setup.cfg +0 -0
  31. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/setup.py +0 -0
  32. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/src/PyKubeGrader.egg-info/SOURCES.txt +0 -0
  33. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/src/PyKubeGrader.egg-info/dependency_links.txt +0 -0
  34. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/src/PyKubeGrader.egg-info/entry_points.txt +0 -0
  35. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/src/PyKubeGrader.egg-info/not-zip-safe +0 -0
  36. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/src/PyKubeGrader.egg-info/requires.txt +0 -0
  37. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/src/PyKubeGrader.egg-info/top_level.txt +0 -0
  38. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/src/pykubegrader/__init__.py +0 -0
  39. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/src/pykubegrader/build/__init__.py +0 -0
  40. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/src/pykubegrader/build/api_notebook_builder.py +0 -0
  41. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/src/pykubegrader/build/build_folder.py +0 -0
  42. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/src/pykubegrader/build/clean_folder.py +0 -0
  43. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/src/pykubegrader/build/collate.py +0 -0
  44. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/src/pykubegrader/build/markdown_questions.py +0 -0
  45. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/src/pykubegrader/grade_reports/__grade_reports.py +0 -0
  46. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/src/pykubegrader/grade_reports/assignments.py +0 -0
  47. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/src/pykubegrader/grade_reports/class_grade_report.py +0 -0
  48. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/src/pykubegrader/grade_reports/test.ipynb +0 -0
  49. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/src/pykubegrader/graders/__init__.py +0 -0
  50. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/src/pykubegrader/graders/late_assignments.py +0 -0
  51. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/src/pykubegrader/grading_tester.ipynb +0 -0
  52. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/src/pykubegrader/initialize.py +0 -0
  53. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/src/pykubegrader/log_parser/__init__.py +0 -0
  54. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/src/pykubegrader/log_parser/parse.ipynb +0 -0
  55. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/src/pykubegrader/log_parser/parse.py +0 -0
  56. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/src/pykubegrader/submit/submit_assignment.py +0 -0
  57. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/src/pykubegrader/telemetry.py +0 -0
  58. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/src/pykubegrader/tokens/generator.py +0 -0
  59. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/src/pykubegrader/tokens/token_panel.py +0 -0
  60. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/src/pykubegrader/tokens/tokens.py +0 -0
  61. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/src/pykubegrader/tokens/validate_token.py +0 -0
  62. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/src/pykubegrader/utils.py +0 -0
  63. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/src/pykubegrader/validate.py +0 -0
  64. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/src/pykubegrader/widgets/__init__.py +0 -0
  65. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/src/pykubegrader/widgets/multiple_choice.py +0 -0
  66. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/src/pykubegrader/widgets/question_processor.py +0 -0
  67. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/src/pykubegrader/widgets/reading_question.py +0 -0
  68. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/src/pykubegrader/widgets/select_many.py +0 -0
  69. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/src/pykubegrader/widgets/student_info.py +0 -0
  70. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/src/pykubegrader/widgets/style.py +0 -0
  71. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/src/pykubegrader/widgets/true_false.py +0 -0
  72. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/src/pykubegrader/widgets/types_question.py +0 -0
  73. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/src/pykubegrader/widgets_base/__init__.py +0 -0
  74. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/src/pykubegrader/widgets_base/multi_select.py +0 -0
  75. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/src/pykubegrader/widgets_base/reading.py +0 -0
  76. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/src/pykubegrader/widgets_base/select.py +0 -0
  77. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/test.ipynb +0 -0
  78. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/tests/conftest.py +0 -0
  79. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/tests/import_test.py +0 -0
  80. {pykubegrader-0.3.10 → pykubegrader-0.3.11}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: PyKubeGrader
3
- Version: 0.3.10
3
+ Version: 0.3.11
4
4
  Summary: Add a short description here!
5
5
  Home-page: https://github.com/pyscaffold/pyscaffold/
6
6
  Author: jagar2
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: PyKubeGrader
3
- Version: 0.3.10
3
+ Version: 0.3.11
4
4
  Summary: Add a short description here!
5
5
  Home-page: https://github.com/pyscaffold/pyscaffold/
6
6
  Author: jagar2
@@ -337,17 +337,13 @@ class GradeReport:
337
337
 
338
338
  # Exempt the lowest `n` assignments
339
339
  dropped = []
340
- for i in range(min(n, len(valid_assignments))):
340
+ i = -1
341
+ while i < n:
342
+ i += 1
341
343
  valid_assignments[i].exempted = True
344
+ if valid_assignments[i].week in self.optional_drop_week:
345
+ continue
342
346
  dropped.append(valid_assignments[i])
343
347
  self.student_assignments_dropped.append(valid_assignments[i])
344
-
345
- # Check if the lowest dropped assignment is from week 1
346
- if dropped and any(a.week in self.optional_drop_week for a in dropped):
347
- # Find the next lowest non-exempted assignment and drop it
348
- for a in valid_assignments:
349
- if not a.exempted:
350
- a.exempted = True
351
- break
352
-
348
+
353
349
  self.calculate_grades()
@@ -21,7 +21,8 @@ custom_grade_adjustments = {
21
21
  ("lecture", 3): lambda score: 100.0 if score > 0 else 0.0,
22
22
  ("lecture", 4): lambda score: 100.0 if score > 0 else 0.0,
23
23
  ("lecture", 5): lambda score: 100.0 if score > 0 else 0.0,
24
- }
24
+ ("lecture", 7): lambda score: 100.0,
25
+ }
25
26
 
26
27
  # Exempted assignments, key is a tuple of assignment type and week
27
28
  globally_exempted_assignments = [
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