e2xauthoring 0.3.2__tar.gz → 0.4.0__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 (234) hide show
  1. e2xauthoring-0.4.0/.github/workflows/frontend.yml +19 -0
  2. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/.gitignore +4 -4
  3. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/.pre-commit-config.yaml +4 -4
  4. e2xauthoring-0.4.0/MANIFEST.in +2 -0
  5. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/PKG-INFO +2 -2
  6. e2xauthoring-0.4.0/authoring-ui/.env.development +4 -0
  7. e2xauthoring-0.4.0/authoring-ui/.gitignore +2 -0
  8. e2xauthoring-0.4.0/authoring-ui/eslint.config.js +20 -0
  9. e2xauthoring-0.4.0/authoring-ui/package-lock.json +3398 -0
  10. e2xauthoring-0.4.0/authoring-ui/package.json +37 -0
  11. e2xauthoring-0.4.0/authoring-ui/src/App.tsx +37 -0
  12. e2xauthoring-0.4.0/authoring-ui/src/api/assignments.ts +27 -0
  13. e2xauthoring-0.4.0/authoring-ui/src/api/client.ts +125 -0
  14. e2xauthoring-0.4.0/authoring-ui/src/api/git.ts +24 -0
  15. e2xauthoring-0.4.0/authoring-ui/src/api/http.ts +21 -0
  16. e2xauthoring-0.4.0/authoring-ui/src/api/index.ts +10 -0
  17. e2xauthoring-0.4.0/authoring-ui/src/api/kernels.ts +9 -0
  18. e2xauthoring-0.4.0/authoring-ui/src/api/pools.ts +24 -0
  19. e2xauthoring-0.4.0/authoring-ui/src/api/tasks.ts +57 -0
  20. e2xauthoring-0.4.0/authoring-ui/src/api/templates.ts +25 -0
  21. e2xauthoring-0.4.0/authoring-ui/src/api/types.ts +103 -0
  22. e2xauthoring-0.4.0/authoring-ui/src/api/worksheets.ts +15 -0
  23. e2xauthoring-0.4.0/authoring-ui/src/components/assignments/AssignmentPage.tsx +157 -0
  24. e2xauthoring-0.4.0/authoring-ui/src/components/assignments/AssignmentsPage.tsx +161 -0
  25. e2xauthoring-0.4.0/authoring-ui/src/components/assignments/NewAssignmentDialog.tsx +122 -0
  26. e2xauthoring-0.4.0/authoring-ui/src/components/dialogs/NameDialog.tsx +120 -0
  27. e2xauthoring-0.4.0/authoring-ui/src/components/diff/FileDiffPage.tsx +58 -0
  28. e2xauthoring-0.4.0/authoring-ui/src/components/git/GitAuthorAlert.tsx +45 -0
  29. e2xauthoring-0.4.0/authoring-ui/src/components/git/GitAuthorDialog.tsx +126 -0
  30. e2xauthoring-0.4.0/authoring-ui/src/components/layout/AppLayout.tsx +37 -0
  31. e2xauthoring-0.4.0/authoring-ui/src/components/layout/NotebookFrame.tsx +17 -0
  32. e2xauthoring-0.4.0/authoring-ui/src/components/layout/OpenInJupyterLink.tsx +16 -0
  33. e2xauthoring-0.4.0/authoring-ui/src/components/layout/PageHeader.tsx +50 -0
  34. e2xauthoring-0.4.0/authoring-ui/src/components/pools/TaskPoolPage.tsx +281 -0
  35. e2xauthoring-0.4.0/authoring-ui/src/components/pools/TaskPoolsPage.tsx +268 -0
  36. e2xauthoring-0.4.0/authoring-ui/src/components/tasks/CommitTaskDialog.tsx +148 -0
  37. e2xauthoring-0.4.0/authoring-ui/src/components/tasks/KernelSelect.tsx +38 -0
  38. e2xauthoring-0.4.0/authoring-ui/src/components/tasks/TaskPage.tsx +28 -0
  39. e2xauthoring-0.4.0/authoring-ui/src/components/templates/TemplatePage.tsx +27 -0
  40. e2xauthoring-0.4.0/authoring-ui/src/components/templates/TemplatesPage.tsx +220 -0
  41. e2xauthoring-0.4.0/authoring-ui/src/components/ui/Alert.tsx +45 -0
  42. e2xauthoring-0.4.0/authoring-ui/src/components/ui/Badge.tsx +23 -0
  43. e2xauthoring-0.4.0/authoring-ui/src/components/ui/Button.tsx +37 -0
  44. e2xauthoring-0.4.0/authoring-ui/src/components/ui/Card.tsx +25 -0
  45. e2xauthoring-0.4.0/authoring-ui/src/components/ui/ConfirmDialog.tsx +100 -0
  46. e2xauthoring-0.4.0/authoring-ui/src/components/ui/DataTable.tsx +343 -0
  47. e2xauthoring-0.4.0/authoring-ui/src/components/ui/IconButton.tsx +40 -0
  48. e2xauthoring-0.4.0/authoring-ui/src/components/ui/Input.tsx +87 -0
  49. e2xauthoring-0.4.0/authoring-ui/src/components/ui/Modal.tsx +94 -0
  50. e2xauthoring-0.4.0/authoring-ui/src/components/ui/Switch.tsx +42 -0
  51. e2xauthoring-0.4.0/authoring-ui/src/components/ui/TabBar.tsx +39 -0
  52. e2xauthoring-0.4.0/authoring-ui/src/components/worksheets/AddTasksDialog.tsx +146 -0
  53. e2xauthoring-0.4.0/authoring-ui/src/components/worksheets/NewWorksheetPage.tsx +194 -0
  54. e2xauthoring-0.4.0/authoring-ui/src/components/worksheets/SelectTemplateStep.tsx +111 -0
  55. e2xauthoring-0.4.0/authoring-ui/src/components/worksheets/SelectedTasksTable.tsx +279 -0
  56. e2xauthoring-0.4.0/authoring-ui/src/components/worksheets/Stepper.tsx +46 -0
  57. e2xauthoring-0.4.0/authoring-ui/src/components/worksheets/taskOrder.ts +17 -0
  58. e2xauthoring-0.4.0/authoring-ui/src/config.ts +26 -0
  59. e2xauthoring-0.4.0/authoring-ui/src/domain/assignmentStatus.ts +26 -0
  60. e2xauthoring-0.4.0/authoring-ui/src/domain/gitStatus.ts +46 -0
  61. e2xauthoring-0.4.0/authoring-ui/src/domain/names.ts +15 -0
  62. e2xauthoring-0.4.0/authoring-ui/src/domain/texts.ts +26 -0
  63. e2xauthoring-0.4.0/authoring-ui/src/hooks/assignments/index.ts +3 -0
  64. e2xauthoring-0.4.0/authoring-ui/src/hooks/assignments/keys.ts +3 -0
  65. e2xauthoring-0.4.0/authoring-ui/src/hooks/assignments/mutations.ts +13 -0
  66. e2xauthoring-0.4.0/authoring-ui/src/hooks/assignments/queries.ts +13 -0
  67. e2xauthoring-0.4.0/authoring-ui/src/hooks/git/index.ts +3 -0
  68. e2xauthoring-0.4.0/authoring-ui/src/hooks/git/keys.ts +3 -0
  69. e2xauthoring-0.4.0/authoring-ui/src/hooks/git/mutations.ts +12 -0
  70. e2xauthoring-0.4.0/authoring-ui/src/hooks/git/queries.ts +10 -0
  71. e2xauthoring-0.4.0/authoring-ui/src/hooks/kernels/index.ts +2 -0
  72. e2xauthoring-0.4.0/authoring-ui/src/hooks/kernels/keys.ts +3 -0
  73. e2xauthoring-0.4.0/authoring-ui/src/hooks/kernels/queries.ts +23 -0
  74. e2xauthoring-0.4.0/authoring-ui/src/hooks/pools/index.ts +3 -0
  75. e2xauthoring-0.4.0/authoring-ui/src/hooks/pools/keys.ts +3 -0
  76. e2xauthoring-0.4.0/authoring-ui/src/hooks/pools/mutations.ts +71 -0
  77. e2xauthoring-0.4.0/authoring-ui/src/hooks/pools/queries.ts +13 -0
  78. e2xauthoring-0.4.0/authoring-ui/src/hooks/tasks/index.ts +3 -0
  79. e2xauthoring-0.4.0/authoring-ui/src/hooks/tasks/keys.ts +9 -0
  80. e2xauthoring-0.4.0/authoring-ui/src/hooks/tasks/mutations.ts +63 -0
  81. e2xauthoring-0.4.0/authoring-ui/src/hooks/tasks/queries.ts +29 -0
  82. e2xauthoring-0.4.0/authoring-ui/src/hooks/templates/index.ts +3 -0
  83. e2xauthoring-0.4.0/authoring-ui/src/hooks/templates/keys.ts +3 -0
  84. e2xauthoring-0.4.0/authoring-ui/src/hooks/templates/mutations.ts +40 -0
  85. e2xauthoring-0.4.0/authoring-ui/src/hooks/templates/queries.ts +13 -0
  86. e2xauthoring-0.4.0/authoring-ui/src/hooks/ui/index.ts +3 -0
  87. e2xauthoring-0.4.0/authoring-ui/src/hooks/ui/useBodyScrollLock.ts +13 -0
  88. e2xauthoring-0.4.0/authoring-ui/src/hooks/ui/useDocumentTitle.ts +10 -0
  89. e2xauthoring-0.4.0/authoring-ui/src/hooks/ui/useSelection.ts +46 -0
  90. e2xauthoring-0.4.0/authoring-ui/src/hooks/worksheets/index.ts +3 -0
  91. e2xauthoring-0.4.0/authoring-ui/src/hooks/worksheets/keys.ts +4 -0
  92. e2xauthoring-0.4.0/authoring-ui/src/hooks/worksheets/mutations.ts +32 -0
  93. e2xauthoring-0.4.0/authoring-ui/src/hooks/worksheets/queries.ts +14 -0
  94. e2xauthoring-0.4.0/authoring-ui/src/index.css +27 -0
  95. e2xauthoring-0.4.0/authoring-ui/src/lib/ansi.ts +8 -0
  96. e2xauthoring-0.4.0/authoring-ui/src/lib/dates.ts +22 -0
  97. e2xauthoring-0.4.0/authoring-ui/src/lib/errorMessage.ts +13 -0
  98. e2xauthoring-0.4.0/authoring-ui/src/lib/routes.ts +29 -0
  99. e2xauthoring-0.4.0/authoring-ui/src/main.tsx +19 -0
  100. e2xauthoring-0.4.0/authoring-ui/src/queryClient.ts +3 -0
  101. e2xauthoring-0.4.0/authoring-ui/tsconfig.app.json +34 -0
  102. e2xauthoring-0.4.0/authoring-ui/tsconfig.json +18 -0
  103. e2xauthoring-0.4.0/authoring-ui/tsconfig.node.json +23 -0
  104. e2xauthoring-0.4.0/authoring-ui/vite.config.ts +35 -0
  105. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/docs/source/conf.py +1 -1
  106. e2xauthoring-0.4.0/e2xauthoring/__version__.py +1 -0
  107. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/app/authoring.py +2 -1
  108. e2xauthoring-0.4.0/e2xauthoring/app/handlers/handlers.py +44 -0
  109. e2xauthoring-0.4.0/e2xauthoring/app/static/authoring-ui/assets/main.css +2 -0
  110. e2xauthoring-0.4.0/e2xauthoring/app/static/authoring-ui/favicon.ico +0 -0
  111. e2xauthoring-0.4.0/e2xauthoring/app/static/authoring-ui/main.js +13 -0
  112. e2xauthoring-0.4.0/e2xauthoring/app/static/authoring-ui/main.js.map +1 -0
  113. e2xauthoring-0.4.0/e2xauthoring/app/templates/authoring/index.html +19 -0
  114. e2xauthoring-0.4.0/e2xauthoring/git/__init__.py +13 -0
  115. e2xauthoring-0.4.0/e2xauthoring/git/gitrepo.py +159 -0
  116. e2xauthoring-0.4.0/e2xauthoring/git/status.py +206 -0
  117. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/managers/base.py +3 -1
  118. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/managers/taskmanager.py +1 -0
  119. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/managers/taskpoolmanager.py +3 -1
  120. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/managers/templatemanager.py +1 -0
  121. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/models/__init__.py +2 -0
  122. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/models/pool.py +55 -52
  123. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/models/poolcollection.py +9 -13
  124. e2xauthoring-0.4.0/e2xauthoring/models/resourcecollection.py +41 -0
  125. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/models/task.py +20 -59
  126. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/models/templatecollection.py +6 -5
  127. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/utils/pathutils.py +9 -14
  128. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/pyproject.toml +6 -12
  129. e2xauthoring-0.3.2/MANIFEST.in +0 -1
  130. e2xauthoring-0.3.2/e2xauthoring/__version__.py +0 -1
  131. e2xauthoring-0.3.2/e2xauthoring/app/handlers/handlers.py +0 -30
  132. e2xauthoring-0.3.2/e2xauthoring/app/templates/authoring/asset-manifest.json +0 -10
  133. e2xauthoring-0.3.2/e2xauthoring/app/templates/authoring/index.html +0 -1
  134. e2xauthoring-0.3.2/e2xauthoring/app/templates/authoring/static/js/main.2835591d.js +0 -3
  135. e2xauthoring-0.3.2/e2xauthoring/app/templates/authoring/static/js/main.2835591d.js.LICENSE.txt +0 -94
  136. e2xauthoring-0.3.2/e2xauthoring/app/templates/authoring/static/js/main.2835591d.js.map +0 -1
  137. e2xauthoring-0.3.2/e2xauthoring/git/__init__.py +0 -6
  138. e2xauthoring-0.3.2/e2xauthoring/git/base.py +0 -235
  139. e2xauthoring-0.3.2/e2xauthoring/git/factory.py +0 -34
  140. e2xauthoring-0.3.2/e2xauthoring/git/gitrepo.py +0 -65
  141. e2xauthoring-0.3.2/e2xauthoring/patterns/__init__.py +0 -3
  142. e2xauthoring-0.3.2/e2xauthoring/patterns/observer.py +0 -23
  143. e2xauthoring-0.3.2/lerna.json +0 -6
  144. e2xauthoring-0.3.2/package-lock.json +0 -42241
  145. e2xauthoring-0.3.2/package.json +0 -36
  146. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/.github/workflows/ruff.yml +0 -0
  147. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/.readthedocs.yaml +0 -0
  148. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/LICENSE +0 -0
  149. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/README.md +0 -0
  150. {e2xauthoring-0.3.2/e2xauthoring/app/templates/authoring/static → e2xauthoring-0.4.0/authoring-ui/public}/favicon.ico +0 -0
  151. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/docs/Makefile +0 -0
  152. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/docs/make.bat +0 -0
  153. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/docs/requirements.txt +0 -0
  154. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/docs/source/index.rst +0 -0
  155. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/docs/source/setup/index.rst +0 -0
  156. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/docs/source/setup/installation.rst +0 -0
  157. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/docs/source/user_docs/img/add_files.png +0 -0
  158. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/docs/source/user_docs/img/add_question.png +0 -0
  159. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/docs/source/user_docs/img/add_tasks.png +0 -0
  160. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/docs/source/user_docs/img/assignment_worksheets.drawio +0 -0
  161. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/docs/source/user_docs/img/assignment_worksheets.png +0 -0
  162. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/docs/source/user_docs/img/assignments.png +0 -0
  163. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/docs/source/user_docs/img/attachment_editor.png +0 -0
  164. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/docs/source/user_docs/img/autograded_code_question.png +0 -0
  165. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/docs/source/user_docs/img/choose_tasks_1.png +0 -0
  166. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/docs/source/user_docs/img/diagram_question.png +0 -0
  167. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/docs/source/user_docs/img/diagram_question_rendered.png +0 -0
  168. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/docs/source/user_docs/img/freetext_question.png +0 -0
  169. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/docs/source/user_docs/img/make_worksheet.drawio +0 -0
  170. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/docs/source/user_docs/img/make_worksheet.png +0 -0
  171. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/docs/source/user_docs/img/manual_code_question.png +0 -0
  172. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/docs/source/user_docs/img/multiple_choice_question.png +0 -0
  173. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/docs/source/user_docs/img/multiple_choice_question_rendered.png +0 -0
  174. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/docs/source/user_docs/img/new_task.png +0 -0
  175. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/docs/source/user_docs/img/sample_template.png +0 -0
  176. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/docs/source/user_docs/img/sample_template_variables.png +0 -0
  177. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/docs/source/user_docs/img/single_choice_question.png +0 -0
  178. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/docs/source/user_docs/img/single_choice_question_rendered.png +0 -0
  179. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/docs/source/user_docs/img/tasks.png +0 -0
  180. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/docs/source/user_docs/img/templates.png +0 -0
  181. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/docs/source/user_docs/img/upload_question_rendered.png +0 -0
  182. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/docs/source/user_docs/img/worksheet.png +0 -0
  183. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/docs/source/user_docs/img/worksheet_options.png +0 -0
  184. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/docs/source/user_docs/img/worksheets.drawio +0 -0
  185. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/docs/source/user_docs/img/worksheets.png +0 -0
  186. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/docs/source/user_docs/index.rst +0 -0
  187. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/docs/source/user_docs/pool.rst +0 -0
  188. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/docs/source/user_docs/questions.rst +0 -0
  189. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/docs/source/user_docs/task.rst +0 -0
  190. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/docs/source/user_docs/template.rst +0 -0
  191. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/docs/source/user_docs/worksheet.rst +0 -0
  192. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/__init__.py +0 -0
  193. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/app/__init__.py +0 -0
  194. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/app/handlers/apihandlers.py +0 -0
  195. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/app/handlers/base.py +0 -0
  196. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/assets/.gitignore +0 -0
  197. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/converters/__init__.py +0 -0
  198. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/converters/converter.py +0 -0
  199. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/converters/generateexercise.py +0 -0
  200. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/dataclasses/__init__.py +0 -0
  201. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/dataclasses/gitstatus.py +0 -0
  202. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/dataclasses/jsondataclass.py +0 -0
  203. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/dataclasses/messages.py +0 -0
  204. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/dataclasses/pool.py +0 -0
  205. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/dataclasses/task.py +0 -0
  206. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/dataclasses/template.py +0 -0
  207. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/git/utils.py +0 -0
  208. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/managers/__init__.py +0 -0
  209. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/managers/assignmentmanager.py +0 -0
  210. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/managers/presetmanager.py +0 -0
  211. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/managers/presets/questions/Code (Autograded).ipynb +0 -0
  212. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/managers/presets/questions/Code (Manual).ipynb +0 -0
  213. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/managers/presets/questions/Diagram.ipynb +0 -0
  214. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/managers/presets/questions/Freetext.ipynb +0 -0
  215. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/managers/presets/questions/Multiple Choice.ipynb +0 -0
  216. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/managers/presets/questions/Single Choice.ipynb +0 -0
  217. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/managers/presets/questions/Upload Files.ipynb +0 -0
  218. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/managers/presets/template/Footer.ipynb +0 -0
  219. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/managers/presets/template/Group Info.ipynb +0 -0
  220. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/managers/presets/template/Header.ipynb +0 -0
  221. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/managers/presets/template/Student Info.ipynb +0 -0
  222. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/managers/worksheetmanager.py +0 -0
  223. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/models/template.py +0 -0
  224. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/preprocessors/__init__.py +0 -0
  225. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/preprocessors/addtaskheader.py +0 -0
  226. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/preprocessors/copyfiles.py +0 -0
  227. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/preprocessors/copynotebooks.py +0 -0
  228. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/preprocessors/filltemplate.py +0 -0
  229. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/preprocessors/generatetaskids.py +0 -0
  230. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/preprocessors/makeexercise.py +0 -0
  231. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/preprocessors/preprocessor.py +0 -0
  232. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/preprocessors/removeexercise.py +0 -0
  233. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/utils/__init__.py +0 -0
  234. {e2xauthoring-0.3.2 → e2xauthoring-0.4.0}/e2xauthoring/utils/notebookvariableextractor.py +0 -0
@@ -0,0 +1,19 @@
1
+ name: Frontend
2
+ on: [push, pull_request]
3
+ jobs:
4
+ frontend:
5
+ runs-on: ubuntu-latest
6
+ defaults:
7
+ run:
8
+ working-directory: authoring-ui
9
+ steps:
10
+ - uses: actions/checkout@v7
11
+ - uses: actions/setup-node@v7
12
+ with:
13
+ node-version: 24
14
+ cache: npm
15
+ cache-dependency-path: authoring-ui/package-lock.json
16
+ - run: npm ci
17
+ - run: npm run lint
18
+ - run: npx prettier --check src
19
+ - run: npm run build
@@ -1,5 +1,5 @@
1
- # Dynamic files
2
- e2xauthoring/app/templates
1
+ # Frontend build output (authoring-ui/)
2
+ e2xauthoring/app/static/authoring-ui
3
3
 
4
4
  # Byte-compiled / optimized / DLL files
5
5
  __pycache__/
@@ -17,8 +17,8 @@ dist/
17
17
  downloads/
18
18
  eggs/
19
19
  .eggs/
20
- lib/
21
- lib64/
20
+ /lib/
21
+ /lib64/
22
22
  parts/
23
23
  sdist/
24
24
  var/
@@ -20,7 +20,7 @@ repos:
20
20
  hooks:
21
21
  - id: prettier
22
22
  name: prettier
23
- entry: 'npm run prettier:files'
24
- language: node
25
- types_or: [json, markdown, ts, tsx, javascript, jsx, css]
26
- exclude_types: [jupyter]
23
+ entry: authoring-ui/node_modules/.bin/prettier --write --ignore-unknown
24
+ language: system
25
+ files: ^authoring-ui/
26
+ types_or: [json, ts, tsx, javascript, css]
@@ -0,0 +1,2 @@
1
+ recursive-include e2xauthoring/app/templates *
2
+ recursive-include e2xauthoring/app/static *
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: e2xauthoring
3
- Version: 0.3.2
3
+ Version: 0.4.0
4
4
  Summary: Authoring app for e2xgrader
5
5
  Project-URL: Source, https://github.com/Digiklausur/e2xauthoring
6
6
  Project-URL: Documentation, https://e2xauthoring.readthedocs.io/en/latest/
@@ -15,7 +15,7 @@ Classifier: Programming Language :: Python :: 3.7
15
15
  Classifier: Programming Language :: Python :: 3.8
16
16
  Classifier: Programming Language :: Python :: 3.9
17
17
  Requires-Python: >=3.7
18
- Requires-Dist: e2xcore>=0.0.5
18
+ Requires-Dist: e2xcore<0.2,>=0.1.0
19
19
  Requires-Dist: gitpython
20
20
  Provides-Extra: dev
21
21
  Requires-Dist: build; extra == 'dev'
@@ -0,0 +1,4 @@
1
+ VITE_BASE_URL=/e2x/authoring/app
2
+ VITE_API_URL=http://localhost:8888/e2x/authoring/api
3
+ VITE_FORMGRADER_API_URL=http://localhost:8888/formgrader/api
4
+ VITE_NOTEBOOK_URL=http://localhost:8888/nbclassic/notebooks
@@ -0,0 +1,2 @@
1
+ node_modules
2
+ dist
@@ -0,0 +1,20 @@
1
+ import js from "@eslint/js";
2
+ import globals from "globals";
3
+ import reactHooks from "eslint-plugin-react-hooks";
4
+ import reactRefresh from "eslint-plugin-react-refresh";
5
+ import tseslint from "typescript-eslint";
6
+ import { defineConfig, globalIgnores } from "eslint/config";
7
+
8
+ export default defineConfig([
9
+ globalIgnores(["dist"]),
10
+ {
11
+ files: ["**/*.{ts,tsx}"],
12
+ extends: [
13
+ js.configs.recommended,
14
+ tseslint.configs.recommended,
15
+ reactHooks.configs.flat.recommended,
16
+ reactRefresh.configs.vite,
17
+ ],
18
+ languageOptions: { ecmaVersion: 2020, globals: globals.browser },
19
+ },
20
+ ]);