PyKubeGrader 0.3.13__tar.gz → 0.3.15__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 (81) hide show
  1. {pykubegrader-0.3.13/src/PyKubeGrader.egg-info → pykubegrader-0.3.15}/PKG-INFO +1 -1
  2. {pykubegrader-0.3.13 → pykubegrader-0.3.15/src/PyKubeGrader.egg-info}/PKG-INFO +1 -1
  3. pykubegrader-0.3.15/src/pykubegrader/build/__init__.py +10 -0
  4. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/src/pykubegrader/build/api_notebook_builder.py +1 -1
  5. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/src/pykubegrader/build/build_folder.py +1 -1
  6. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/src/pykubegrader/grade_reports/grade_report.py +1 -2
  7. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/src/pykubegrader/grade_reports/grading_config.py +2 -1
  8. pykubegrader-0.3.13/src/pykubegrader/widgets_base/__init__.py +0 -1
  9. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/.coveragerc +0 -0
  10. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/.github/workflows/main.yml +0 -0
  11. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/.gitignore +0 -0
  12. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/.readthedocs.yml +0 -0
  13. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/AUTHORS.rst +0 -0
  14. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/CHANGELOG.rst +0 -0
  15. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/CONTRIBUTING.rst +0 -0
  16. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/LICENSE.txt +0 -0
  17. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/README.rst +0 -0
  18. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/docs/Makefile +0 -0
  19. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/docs/_static/Drexel_blue_Logo_square_Dark.png +0 -0
  20. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/docs/_static/Drexel_blue_Logo_square_Light.png +0 -0
  21. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/docs/_static/custom.css +0 -0
  22. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/docs/authors.rst +0 -0
  23. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/docs/changelog.rst +0 -0
  24. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/docs/conf.py +0 -0
  25. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/docs/contributing.rst +0 -0
  26. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/docs/index.rst +0 -0
  27. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/docs/license.rst +0 -0
  28. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/docs/readme.rst +0 -0
  29. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/docs/requirements.txt +0 -0
  30. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/examples/.responses.json +0 -0
  31. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/examples/true_false.ipynb +0 -0
  32. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/pyproject.toml +0 -0
  33. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/ruff.toml +0 -0
  34. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/setup.cfg +0 -0
  35. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/setup.py +0 -0
  36. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/src/PyKubeGrader.egg-info/SOURCES.txt +0 -0
  37. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/src/PyKubeGrader.egg-info/dependency_links.txt +0 -0
  38. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/src/PyKubeGrader.egg-info/entry_points.txt +0 -0
  39. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/src/PyKubeGrader.egg-info/not-zip-safe +0 -0
  40. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/src/PyKubeGrader.egg-info/requires.txt +0 -0
  41. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/src/PyKubeGrader.egg-info/top_level.txt +0 -0
  42. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/src/pykubegrader/__init__.py +0 -0
  43. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/src/pykubegrader/build/clean_folder.py +0 -0
  44. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/src/pykubegrader/build/collate.py +0 -0
  45. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/src/pykubegrader/build/markdown_questions.py +0 -0
  46. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/src/pykubegrader/grade_reports/__grade_reports.py +0 -0
  47. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/src/pykubegrader/grade_reports/assignments.py +0 -0
  48. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/src/pykubegrader/grade_reports/class_grade_report.py +0 -0
  49. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/src/pykubegrader/grade_reports/test.ipynb +0 -0
  50. {pykubegrader-0.3.13/src/pykubegrader/build → pykubegrader-0.3.15/src/pykubegrader/graders}/__init__.py +0 -0
  51. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/src/pykubegrader/graders/late_assignments.py +0 -0
  52. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/src/pykubegrader/grading_tester.ipynb +0 -0
  53. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/src/pykubegrader/initialize.py +0 -0
  54. {pykubegrader-0.3.13/src/pykubegrader/graders → pykubegrader-0.3.15/src/pykubegrader/log_parser}/__init__.py +0 -0
  55. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/src/pykubegrader/log_parser/parse.ipynb +0 -0
  56. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/src/pykubegrader/log_parser/parse.py +0 -0
  57. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/src/pykubegrader/submit/submit_assignment.py +0 -0
  58. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/src/pykubegrader/telemetry.py +0 -0
  59. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/src/pykubegrader/tokens/generator.py +0 -0
  60. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/src/pykubegrader/tokens/token_panel.py +0 -0
  61. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/src/pykubegrader/tokens/tokens.py +0 -0
  62. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/src/pykubegrader/tokens/validate_token.py +0 -0
  63. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/src/pykubegrader/utils.py +0 -0
  64. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/src/pykubegrader/validate.py +0 -0
  65. {pykubegrader-0.3.13/src/pykubegrader/log_parser → pykubegrader-0.3.15/src/pykubegrader/widgets}/__init__.py +0 -0
  66. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/src/pykubegrader/widgets/multiple_choice.py +0 -0
  67. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/src/pykubegrader/widgets/question_processor.py +0 -0
  68. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/src/pykubegrader/widgets/reading_question.py +0 -0
  69. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/src/pykubegrader/widgets/select_many.py +0 -0
  70. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/src/pykubegrader/widgets/student_info.py +0 -0
  71. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/src/pykubegrader/widgets/style.py +0 -0
  72. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/src/pykubegrader/widgets/true_false.py +0 -0
  73. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/src/pykubegrader/widgets/types_question.py +0 -0
  74. {pykubegrader-0.3.13/src/pykubegrader/widgets → pykubegrader-0.3.15/src/pykubegrader/widgets_base}/__init__.py +0 -0
  75. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/src/pykubegrader/widgets_base/multi_select.py +0 -0
  76. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/src/pykubegrader/widgets_base/reading.py +0 -0
  77. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/src/pykubegrader/widgets_base/select.py +0 -0
  78. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/test.ipynb +0 -0
  79. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/tests/conftest.py +0 -0
  80. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/tests/import_test.py +0 -0
  81. {pykubegrader-0.3.13 → pykubegrader-0.3.15}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: PyKubeGrader
3
- Version: 0.3.13
3
+ Version: 0.3.15
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.13
3
+ Version: 0.3.15
4
4
  Summary: Add a short description here!
5
5
  Home-page: https://github.com/pyscaffold/pyscaffold/
6
6
  Author: jagar2
@@ -0,0 +1,10 @@
1
+ # Auto-generated __init__.py
2
+
3
+ from . import clean_folder
4
+ from . import api_notebook_builder
5
+ from . import collate
6
+ from . import build_folder
7
+ from . import passwords
8
+ from . import markdown_questions
9
+
10
+ __all__ = ['clean_folder', 'api_notebook_builder', 'collate', 'build_folder', 'passwords', 'markdown_questions']
@@ -204,7 +204,7 @@ class FastAPINotebookBuilder:
204
204
  max_question_points = self.get_max_question_points(cell_dict)
205
205
 
206
206
  # store the max points for the question
207
- self.max_question_points[f"{cell_dict["question"]}"] = max_question_points
207
+ self.max_question_points[f'{cell_dict["question"]}'] = max_question_points
208
208
 
209
209
  self.total_points += max_question_points
210
210
 
@@ -83,7 +83,7 @@ class NotebookProcessor:
83
83
  self.require_key = assignment.get("require_key", False)
84
84
  self.assignment_tag = assignment.get(
85
85
  "assignment_tag",
86
- f"week{assignment.get("week")}-{self.assignment_type}",
86
+ f'week{assignment.get("week")}-{self.assignment_type}',
87
87
  )
88
88
  else:
89
89
  self.assignment_type = self.assignment_tag.split("-")[0].lower()
@@ -13,6 +13,7 @@ from pykubegrader.grade_reports.grading_config import (
13
13
  duplicated_scores,
14
14
  )
15
15
 
16
+
16
17
  import pandas as pd
17
18
  from datetime import datetime
18
19
  from IPython.display import display
@@ -412,8 +413,6 @@ class GradeReport:
412
413
  dropped.append(valid_assignments[i+j])
413
414
  self.student_assignments_dropped.append(valid_assignments[i+j])
414
415
  i += 1
415
-
416
- self.calculate_grades()
417
416
 
418
417
  def duplicate_scores(self):
419
418
  """Duplicate scores from one assignment to another"""
@@ -22,7 +22,8 @@ custom_grade_adjustments = {
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
+ ("quiz", 7): lambda score: min(score, 100.0),
26
+ }
26
27
 
27
28
  # Exempted assignments, key is a tuple of assignment type and week
28
29
  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