PyKubeGrader 0.2.8__tar.gz → 0.2.9__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {pykubegrader-0.2.8/src/PyKubeGrader.egg-info → pykubegrader-0.2.9}/PKG-INFO +1 -1
- {pykubegrader-0.2.8 → pykubegrader-0.2.9/src/PyKubeGrader.egg-info}/PKG-INFO +1 -1
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/src/pykubegrader/submit/submit_assignment.py +12 -3
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/.coveragerc +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/.github/workflows/main.yml +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/.gitignore +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/.readthedocs.yml +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/AUTHORS.rst +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/CHANGELOG.rst +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/CONTRIBUTING.rst +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/LICENSE.txt +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/README.rst +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/docs/Makefile +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/docs/_static/Drexel_blue_Logo_square_Dark.png +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/docs/_static/Drexel_blue_Logo_square_Light.png +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/docs/_static/custom.css +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/docs/authors.rst +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/docs/changelog.rst +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/docs/conf.py +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/docs/contributing.rst +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/docs/index.rst +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/docs/license.rst +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/docs/readme.rst +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/docs/requirements.txt +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/examples/.responses.json +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/examples/true_false.ipynb +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/pyproject.toml +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/setup.cfg +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/setup.py +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/src/PyKubeGrader.egg-info/SOURCES.txt +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/src/PyKubeGrader.egg-info/dependency_links.txt +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/src/PyKubeGrader.egg-info/entry_points.txt +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/src/PyKubeGrader.egg-info/not-zip-safe +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/src/PyKubeGrader.egg-info/requires.txt +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/src/PyKubeGrader.egg-info/top_level.txt +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/src/pykubegrader/__init__.py +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/src/pykubegrader/build/__init__.py +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/src/pykubegrader/build/api_notebook_builder.py +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/src/pykubegrader/build/build_folder.py +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/src/pykubegrader/build/clean_folder.py +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/src/pykubegrader/graders/__init__.py +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/src/pykubegrader/graders/late_assignments.py +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/src/pykubegrader/initialize.py +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/src/pykubegrader/log_parser/__init__.py +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/src/pykubegrader/log_parser/parse.ipynb +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/src/pykubegrader/log_parser/parse.py +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/src/pykubegrader/telemetry.py +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/src/pykubegrader/utils.py +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/src/pykubegrader/validate.py +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/src/pykubegrader/widgets/__init__.py +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/src/pykubegrader/widgets/multiple_choice.py +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/src/pykubegrader/widgets/reading_question.py +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/src/pykubegrader/widgets/select_many.py +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/src/pykubegrader/widgets/student_info.py +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/src/pykubegrader/widgets/style.py +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/src/pykubegrader/widgets/true_false.py +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/src/pykubegrader/widgets/types_question.py +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/src/pykubegrader/widgets_base/__init__.py +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/src/pykubegrader/widgets_base/multi_select.py +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/src/pykubegrader/widgets_base/reading.py +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/src/pykubegrader/widgets_base/select.py +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/tests/conftest.py +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/tests/import_test.py +0 -0
- {pykubegrader-0.2.8 → pykubegrader-0.2.9}/tox.ini +0 -0
@@ -1,9 +1,9 @@
|
|
1
1
|
import os
|
2
2
|
import httpx
|
3
3
|
import asyncio
|
4
|
-
|
5
4
|
import nest_asyncio
|
6
5
|
|
6
|
+
# Apply nest_asyncio for environments like Jupyter
|
7
7
|
nest_asyncio.apply()
|
8
8
|
|
9
9
|
|
@@ -64,7 +64,6 @@ async def call_score_assignment(
|
|
64
64
|
raise RuntimeError(f"An unexpected error occurred: {e}")
|
65
65
|
|
66
66
|
|
67
|
-
# Importable function
|
68
67
|
def submit_assignment(
|
69
68
|
assignment_title: str, file_path: str = ".output_reduced.log"
|
70
69
|
) -> None:
|
@@ -75,7 +74,17 @@ def submit_assignment(
|
|
75
74
|
assignment_title (str): Title of the assignment.
|
76
75
|
file_path (str): Path to the log file to upload.
|
77
76
|
"""
|
78
|
-
|
77
|
+
# Get the current event loop or create one
|
78
|
+
try:
|
79
|
+
loop = asyncio.get_event_loop()
|
80
|
+
except RuntimeError:
|
81
|
+
loop = asyncio.new_event_loop()
|
82
|
+
asyncio.set_event_loop(loop)
|
83
|
+
|
84
|
+
# Run the async function in the event loop
|
85
|
+
response = loop.run_until_complete(
|
86
|
+
call_score_assignment(assignment_title, file_path)
|
87
|
+
)
|
79
88
|
print("Server Response:", response.get("message", "No message in response"))
|
80
89
|
|
81
90
|
|
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
|