QuizGenerator 0.9.0__py3-none-any.whl → 0.10.1__py3-none-any.whl

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 (37) hide show
  1. QuizGenerator/README.md +5 -0
  2. QuizGenerator/__init__.py +2 -1
  3. QuizGenerator/canvas/canvas_interface.py +9 -6
  4. QuizGenerator/canvas/classes.py +0 -1
  5. QuizGenerator/contentast.py +32 -10
  6. QuizGenerator/generate.py +57 -11
  7. QuizGenerator/logging.yaml +55 -0
  8. QuizGenerator/misc.py +0 -8
  9. QuizGenerator/premade_questions/cst334/memory_questions.py +2 -3
  10. QuizGenerator/premade_questions/cst334/process.py +0 -1
  11. QuizGenerator/premade_questions/cst463/gradient_descent/__init__.py +10 -1
  12. QuizGenerator/premade_questions/cst463/gradient_descent/gradient_calculation.py +0 -1
  13. QuizGenerator/premade_questions/cst463/gradient_descent/gradient_descent_questions.py +2 -4
  14. QuizGenerator/premade_questions/cst463/gradient_descent/loss_calculations.py +22 -20
  15. QuizGenerator/premade_questions/cst463/gradient_descent/misc.py +1 -1
  16. QuizGenerator/premade_questions/cst463/math_and_data/__init__.py +11 -1
  17. QuizGenerator/premade_questions/cst463/math_and_data/matrix_questions.py +0 -1
  18. QuizGenerator/premade_questions/cst463/math_and_data/vector_questions.py +0 -1
  19. QuizGenerator/premade_questions/cst463/models/attention.py +1 -5
  20. QuizGenerator/premade_questions/cst463/models/cnns.py +1 -5
  21. QuizGenerator/premade_questions/cst463/models/rnns.py +1 -5
  22. QuizGenerator/premade_questions/cst463/models/text.py +1 -5
  23. QuizGenerator/premade_questions/cst463/models/weight_counting.py +20 -3
  24. QuizGenerator/premade_questions/cst463/neural-network-basics/__init__.py +7 -0
  25. QuizGenerator/premade_questions/cst463/neural-network-basics/neural_network_questions.py +1 -9
  26. QuizGenerator/premade_questions/cst463/tensorflow-intro/__init__.py +7 -0
  27. QuizGenerator/premade_questions/cst463/tensorflow-intro/tensorflow_questions.py +0 -4
  28. QuizGenerator/qrcode_generator.py +116 -55
  29. QuizGenerator/question.py +30 -16
  30. QuizGenerator/quiz.py +1 -6
  31. QuizGenerator/regenerate.py +23 -9
  32. {quizgenerator-0.9.0.dist-info → quizgenerator-0.10.1.dist-info}/METADATA +26 -17
  33. quizgenerator-0.10.1.dist-info/RECORD +52 -0
  34. quizgenerator-0.9.0.dist-info/RECORD +0 -50
  35. {quizgenerator-0.9.0.dist-info → quizgenerator-0.10.1.dist-info}/WHEEL +0 -0
  36. {quizgenerator-0.9.0.dist-info → quizgenerator-0.10.1.dist-info}/entry_points.txt +0 -0
  37. {quizgenerator-0.9.0.dist-info → quizgenerator-0.10.1.dist-info}/licenses/LICENSE +0 -0
@@ -194,7 +194,9 @@ def regenerate_question_answer(
194
194
  }
195
195
  """
196
196
  question_num = qr_data.get('q')
197
- points = qr_data.get('pts')
197
+ points = qr_data.get('p')
198
+ if points is None:
199
+ points = qr_data.get('pts')
198
200
 
199
201
  if question_num is None or points is None:
200
202
  log.error("QR code missing required fields 'q' or 'pts'")
@@ -219,8 +221,9 @@ def regenerate_question_answer(
219
221
 
220
222
  question_type = regen_data['question_type']
221
223
  seed = regen_data['seed']
222
- version = regen_data['version']
224
+ version = regen_data.get('version')
223
225
  config = regen_data.get('config', {})
226
+ context_extras = regen_data.get('context', {})
224
227
 
225
228
  result['question_type'] = question_type
226
229
  result['seed'] = seed
@@ -228,7 +231,10 @@ def regenerate_question_answer(
228
231
  if config:
229
232
  result['config'] = config
230
233
 
231
- log.info(f"Question {question_num}: {question_type} (seed={seed}, version={version})")
234
+ if version:
235
+ log.info(f"Question {question_num}: {question_type} (seed={seed}, version={version})")
236
+ else:
237
+ log.info(f"Question {question_num}: {question_type} (seed={seed})")
232
238
  if config:
233
239
  log.debug(f" Config params: {config}")
234
240
 
@@ -241,7 +247,7 @@ def regenerate_question_answer(
241
247
  )
242
248
 
243
249
  # Generate question with the specific seed
244
- instance = question.instantiate(rng_seed=seed)
250
+ instance = question.instantiate(rng_seed=seed, **context_extras)
245
251
  question_ast = question._build_question_ast(instance)
246
252
 
247
253
  # Extract answers
@@ -477,14 +483,22 @@ def display_answer_summary(question_data: Dict[str, Any]) -> None:
477
483
  if 'question_type' in question_data:
478
484
  print(f"Type: {question_data['question_type']}")
479
485
  print(f"Seed: {question_data['seed']}")
480
- print(f"Version: {question_data['version']}")
486
+ if question_data.get('version') is not None:
487
+ print(f"Version: {question_data['version']}")
481
488
 
482
489
  if 'answer_objects' in question_data:
483
490
  print("\nANSWERS:")
484
- for key, answer_obj in question_data['answer_objects'].items():
485
- print(f" {key}: {answer_obj.value}")
486
- if hasattr(answer_obj, 'tolerance') and answer_obj.tolerance:
487
- print(f" (tolerance: ±{answer_obj.tolerance})")
491
+ answer_objects = question_data['answer_objects']
492
+ if isinstance(answer_objects, dict):
493
+ for key, answer_obj in answer_objects.items():
494
+ print(f" {key}: {answer_obj.value}")
495
+ if hasattr(answer_obj, 'tolerance') and answer_obj.tolerance:
496
+ print(f" (tolerance: ±{answer_obj.tolerance})")
497
+ else:
498
+ for i, answer_obj in enumerate(answer_objects, start=1):
499
+ print(f" {i}: {answer_obj.value}")
500
+ if hasattr(answer_obj, 'tolerance') and answer_obj.tolerance:
501
+ print(f" (tolerance: ±{answer_obj.tolerance})")
488
502
  elif 'answers' in question_data:
489
503
  print("\nANSWERS (raw Canvas format):")
490
504
  print(f" Type: {question_data['answers']['kind']}")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: QuizGenerator
3
- Version: 0.9.0
3
+ Version: 0.10.1
4
4
  Summary: Generate randomized quiz questions for Canvas LMS and PDF exams
5
5
  Project-URL: Homepage, https://github.com/OtterDen-Lab/QuizGenerator
6
6
  Project-URL: Documentation, https://github.com/OtterDen-Lab/QuizGenerator/tree/main/documentation
@@ -19,9 +19,7 @@ Classifier: Topic :: Education :: Testing
19
19
  Requires-Python: >=3.12
20
20
  Requires-Dist: canvasapi==3.2.0
21
21
  Requires-Dist: cryptography>=41.0.0
22
- Requires-Dist: graphviz>=0.21
23
22
  Requires-Dist: jinja2==3.1.3
24
- Requires-Dist: keras>=3.12.0
25
23
  Requires-Dist: markdown>=3.9
26
24
  Requires-Dist: matplotlib
27
25
  Requires-Dist: pylatex>=1.4.2
@@ -32,7 +30,10 @@ Requires-Dist: pyyaml==6.0.1
32
30
  Requires-Dist: requests==2.32.2
33
31
  Requires-Dist: segno>=1.6.0
34
32
  Requires-Dist: sympy>=1.14.0
35
- Requires-Dist: tensorflow>=2.20.0
33
+ Provides-Extra: cst463
34
+ Requires-Dist: graphviz>=0.21; extra == 'cst463'
35
+ Requires-Dist: keras>=3.12.0; extra == 'cst463'
36
+ Requires-Dist: tensorflow>=2.20.0; extra == 'cst463'
36
37
  Provides-Extra: grading
37
38
  Requires-Dist: pillow>=10.0.0; extra == 'grading'
38
39
  Requires-Dist: pyzbar>=0.1.9; extra == 'grading'
@@ -60,18 +61,24 @@ pip install QuizGenerator
60
61
  ### System Requirements
61
62
 
62
63
  - Python 3.12+
63
- - LaTeX distribution with `latexmk` (for PDF generation)
64
- - Optional: [Typst](https://typst.app/) (alternative to LaTeX)
64
+ - [Typst](https://typst.app/) (default PDF renderer)
65
+ - Optional: LaTeX distribution with `latexmk` (if using `--latex`)
66
+ - Recommended: [Pandoc](https://pandoc.org/) (for markdown conversion)
65
67
 
66
68
  ### Optional Dependencies
67
69
 
68
70
  ```bash
69
71
  # For QR code grading support
70
72
  pip install QuizGenerator[grading]
73
+
74
+ # For CST463 machine learning questions
75
+ pip install QuizGenerator[cst463]
71
76
  ```
72
77
 
73
78
  ## Quick Start
74
79
 
80
+ Need a 2‑minute setup? See `documentation/quickstart.md`.
81
+
75
82
  ### 1. Create a quiz configuration (YAML)
76
83
 
77
84
  ```yaml
@@ -94,7 +101,7 @@ questions:
94
101
  ### 2. Generate PDFs
95
102
 
96
103
  ```bash
97
- python -m generate_quiz --quiz_yaml my_quiz.yaml --num_pdfs 3
104
+ quizgen --yaml my_quiz.yaml --num_pdfs 3
98
105
  ```
99
106
 
100
107
  PDFs will be created in the `out/` directory.
@@ -106,8 +113,8 @@ PDFs will be created in the `out/` directory.
106
113
  # CANVAS_API_URL=https://canvas.instructure.com
107
114
  # CANVAS_API_KEY=your_api_key_here
108
115
 
109
- python -m generate_quiz \
110
- --quiz_yaml my_quiz.yaml \
116
+ quizgen \
117
+ --yaml my_quiz.yaml \
111
118
  --num_canvas 5 \
112
119
  --course_id 12345
113
120
  ```
@@ -194,10 +201,9 @@ Notes:
194
201
 
195
202
  ## Documentation
196
203
 
197
- - [Getting Started Guide](documentation/getting_started.md) (coming soon)
204
+ - [Getting Started Guide](documentation/getting_started.md)
198
205
  - [Custom Questions Guide](documentation/custom_questions.md)
199
- - [YAML Configuration Reference](documentation/yaml_config_guide.md) (coming soon)
200
- - [PyPI Release Plan](documentation/pypi_release_plan.md)
206
+ - [YAML Configuration Reference](documentation/yaml_config_guide.md)
201
207
 
202
208
  ## Canvas Setup
203
209
 
@@ -216,25 +222,28 @@ CANVAS_API_KEY_prod=your_prod_api_key
216
222
  2. Use `--prod` flag for production Canvas instance:
217
223
 
218
224
  ```bash
219
- python -m generate_quiz --prod --num_canvas 5 --course_id 12345
225
+ quizgen --prod --num_canvas 5 --course_id 12345
220
226
  ```
221
227
 
222
228
  ## Advanced Features
223
229
 
224
230
  ### Typst Support
225
231
 
226
- Use Typst instead of LaTeX for faster compilation:
232
+ Typst is the default for faster compilation. Use `--latex` to force LaTeX:
227
233
 
228
234
  ```bash
229
- python -m generate_quiz --typst --num_pdfs 3
235
+ quizgen --latex --num_pdfs 3
230
236
  ```
231
237
 
238
+ Experimental: `--typst_measurement` uses Typst to measure question height for tighter layout.
239
+ It can change pagination and ordering, so use with care on finalized exams.
240
+
232
241
  ### Deterministic Generation
233
242
 
234
243
  Use seeds for reproducible quizzes:
235
244
 
236
245
  ```bash
237
- python -m generate_quiz --seed 42 --num_pdfs 3
246
+ quizgen --seed 42 --num_pdfs 3
238
247
  ```
239
248
 
240
249
  ### QR Code Regeneration
@@ -258,7 +267,7 @@ QuizGenerator/
258
267
  │ └── canvas/ # Canvas LMS integration
259
268
  ├── example_files/ # Example quiz configurations
260
269
  ├── documentation/ # User guides
261
- └── generate_quiz.py # CLI entry point
270
+ └── quizgen # CLI entry point
262
271
  ```
263
272
 
264
273
  ## Contributing
@@ -0,0 +1,52 @@
1
+ QuizGenerator/README.md,sha256=4n16gKyhIAKRBX4VKlpfcK0pyUYJ6Ht08MUsnwgxrZo,145
2
+ QuizGenerator/__init__.py,sha256=jXz4y_PFbjJlz-f7r-2_PicyNnocFo7hIQcT7itaFmI,899
3
+ QuizGenerator/__main__.py,sha256=Dd9w4R0Unm3RiXztvR4Y_g9-lkWp6FHg-4VN50JbKxU,151
4
+ QuizGenerator/constants.py,sha256=AO-UWwsWPLb1k2JW6KP8rl9fxTcdT0rW-6XC6zfnDOs,4386
5
+ QuizGenerator/contentast.py,sha256=NY6Y9gWbdinXaVGdgwN61UBF2nz_L2urqr-IPfR6tV0,88475
6
+ QuizGenerator/generate.py,sha256=sIbu3RAV9vDT4GeS3NwseiUt9OlRCAhMteEa8yWyL-k,17715
7
+ QuizGenerator/logging.yaml,sha256=4igWpXaRbTJiRL_It9NkmVQT4KtQ_jxiGgFXDn8siQU,1133
8
+ QuizGenerator/misc.py,sha256=L9TiTFD9KppLoRzrmdAqCD_u8QIQk5XGO2pbwsh00eE,282
9
+ QuizGenerator/mixins.py,sha256=zXj2U94qNbIEusbwTnzRM1Z_zSybpvozWhveq-t5q2Q,15771
10
+ QuizGenerator/performance.py,sha256=CM3zLarJXN5Hfrl4-6JRBqD03j4BU1B2QW699HAr1Ds,7002
11
+ QuizGenerator/qrcode_generator.py,sha256=Re7Hjp2Vx9hPpkNNuwKjbdWyeTQ27CxhvnCgcUpjuRc,13363
12
+ QuizGenerator/question.py,sha256=OrGfmTfIbGPKUNyScXhmfTjld1urh6fFMiP_g7z69fs,38009
13
+ QuizGenerator/quiz.py,sha256=kNHkjVCmLgXKpxrsCjGtK_tnhu1i1ToV7_eysMQOWX4,21525
14
+ QuizGenerator/regenerate.py,sha256=cDYZ9LwOSkX9P7W72O0c6RI8ORzS-DFnYhAdC5-7UrI,20375
15
+ QuizGenerator/typst_utils.py,sha256=JGQn_u5bEHd8HAtjAHuZoVJwLkx-Rd4ZCBWffwFZa3o,3136
16
+ QuizGenerator/canvas/__init__.py,sha256=TwFP_zgxPIlWtkvIqQ6mcvBNTL9swIH_rJl7DGKcvkQ,286
17
+ QuizGenerator/canvas/canvas_interface.py,sha256=07k28kZkPn-I_M84JAqlw6bQQnUbPlw6KwUytWl16gE,24678
18
+ QuizGenerator/canvas/classes.py,sha256=wopGDHl5Wqr02TqATuT99MwV2aJXj01Mg9w73Cq74-A,7584
19
+ QuizGenerator/premade_questions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
+ QuizGenerator/premade_questions/basic.py,sha256=u6Viv__5HYWjLOknYt_jsBJTej5-cPd9FM1xsuwUQcQ,4613
21
+ QuizGenerator/premade_questions/cst334/__init__.py,sha256=BTz-Os1XbwIRKqAilf2UIva2NlY0DbA_XbSIggO2Tdk,36
22
+ QuizGenerator/premade_questions/cst334/languages.py,sha256=ctemEAMkI8C6ASMIf59EHAW1ndFWi7hXzdEt-zOByUE,14114
23
+ QuizGenerator/premade_questions/cst334/math_questions.py,sha256=aUYbQxneL5MXE7Xo3tZX9-xcg71CXwvG3rrxcoh0l7A,8638
24
+ QuizGenerator/premade_questions/cst334/memory_questions.py,sha256=hPaFvcwh0DAPG-mbKaakitWq4e_xNb9wG4mwM_2bqGs,50980
25
+ QuizGenerator/premade_questions/cst334/ostep13_vsfs.py,sha256=d9jjrynEw44vupAH_wKl57UoHooCNEJXaC5DoNYualk,16163
26
+ QuizGenerator/premade_questions/cst334/persistence_questions.py,sha256=9mgsX-3oWDQgm_n2YwmFSil0QPyzsruHzuqB-hfGMuA,16220
27
+ QuizGenerator/premade_questions/cst334/process.py,sha256=sTFrTbXNNp9JeyOdkYht1HBajpWUibcI0DugHclyrmo,37210
28
+ QuizGenerator/premade_questions/cst463/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
+ QuizGenerator/premade_questions/cst463/gradient_descent/__init__.py,sha256=j8OGeRggbfGK-a99WC-6xi7NkI1Cya7bOxYIsC4AQig,419
30
+ QuizGenerator/premade_questions/cst463/gradient_descent/gradient_calculation.py,sha256=N1u6t62HOp0NbSfqagq3HXFCS7aMycVkSb3pu9oKlos,13795
31
+ QuizGenerator/premade_questions/cst463/gradient_descent/gradient_descent_questions.py,sha256=7F8dkHxVowPUjMhKhkB_9RtMvOwuooQC-0TcFIB97u4,11454
32
+ QuizGenerator/premade_questions/cst463/gradient_descent/loss_calculations.py,sha256=glP5f5jUG1qWR7Y_3b3bDRlx7-sLlLGcTPSt9PlrLGU,24246
33
+ QuizGenerator/premade_questions/cst463/gradient_descent/misc.py,sha256=wmqQ9kfFYyIbOC7lIvW0k8PG0ropbG9YQXQwBOS7vTs,2633
34
+ QuizGenerator/premade_questions/cst463/math_and_data/__init__.py,sha256=44fUtAVCe4wS9UPuy7kMlcrUVmh28PTETrCCcDbe_ss,391
35
+ QuizGenerator/premade_questions/cst463/math_and_data/matrix_questions.py,sha256=lJW9lpdW40BFbdASNQLaRto2oK3iCf5s9vhw9L7B6s4,15554
36
+ QuizGenerator/premade_questions/cst463/math_and_data/vector_questions.py,sha256=tqcKlsa5kQtvXau0c3FXZUKkoiosrTQDAjrNzgGcmdY,12644
37
+ QuizGenerator/premade_questions/cst463/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
38
+ QuizGenerator/premade_questions/cst463/models/attention.py,sha256=b4kD-HR7xDnBILpycXoxvxDX1NnwIkyiaJNMf63wKXI,5350
39
+ QuizGenerator/premade_questions/cst463/models/cnns.py,sha256=XmZa6Cfsf8rRiO5Gtsf_tFgHcWEvBt-FGJjLRoY-Vr0,5937
40
+ QuizGenerator/premade_questions/cst463/models/matrices.py,sha256=21eNXUcIjFNZTGH18oH-x3MbCa4buNGQGer3a5yL85c,1938
41
+ QuizGenerator/premade_questions/cst463/models/rnns.py,sha256=geGi3UExkgEh9ZjwUuLlV11c3TnAJ7KQyB71GiJVgUU,6580
42
+ QuizGenerator/premade_questions/cst463/models/text.py,sha256=XIePl8V6fCXI0rVjenzhxY7adKWsheZNEy9ndNASSD8,6512
43
+ QuizGenerator/premade_questions/cst463/models/weight_counting.py,sha256=dvhtNXrwL3d9hRcqQLskq9508-Jymy6U9_-LHzCY6CA,7343
44
+ QuizGenerator/premade_questions/cst463/neural-network-basics/__init__.py,sha256=apDpyovepTXVFqvdPMfp9GL9N6O16XPvhCP3xNReC_E,280
45
+ QuizGenerator/premade_questions/cst463/neural-network-basics/neural_network_questions.py,sha256=ys4xozliPZzUNSHzdppaA6M6uqZeimXxtUjPSjRMe7A,42669
46
+ QuizGenerator/premade_questions/cst463/tensorflow-intro/__init__.py,sha256=qA4bTge41K2txGESt8ZWm-oqq5e0s7cC7OzgHcKuas4,332
47
+ QuizGenerator/premade_questions/cst463/tensorflow-intro/tensorflow_questions.py,sha256=grKgpJvUXQMw2T_YRRcb4SbYM11dT1znlt4q84RrGaA,31252
48
+ quizgenerator-0.10.1.dist-info/METADATA,sha256=cMuNUFvOTWGEie7nfrhLTnNqEaLkGvMKl3f1248NK1M,8483
49
+ quizgenerator-0.10.1.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
50
+ quizgenerator-0.10.1.dist-info/entry_points.txt,sha256=aOIdRdw26xY8HkxOoKHBnUPe2mwGv5Ti3U1zojb6zxQ,98
51
+ quizgenerator-0.10.1.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
52
+ quizgenerator-0.10.1.dist-info/RECORD,,
@@ -1,50 +0,0 @@
1
- QuizGenerator/__init__.py,sha256=8EV-k90A3PNC8Cm2-ZquwNyVyvnwW1gs6u-nGictyhs,840
2
- QuizGenerator/__main__.py,sha256=Dd9w4R0Unm3RiXztvR4Y_g9-lkWp6FHg-4VN50JbKxU,151
3
- QuizGenerator/constants.py,sha256=AO-UWwsWPLb1k2JW6KP8rl9fxTcdT0rW-6XC6zfnDOs,4386
4
- QuizGenerator/contentast.py,sha256=LEjr-J79ooge0sAlZMuJcyz5Xfj2wRHlAJ_7jAULhBY,87614
5
- QuizGenerator/generate.py,sha256=qXLJ3WfOo_poIWoAZvEK7epNlVNSWxpOomMVt2MDExA,15816
6
- QuizGenerator/misc.py,sha256=MXrguUhhdrWSV4Hqdl4G21ktowODu1AcKy6-5mvy3aI,454
7
- QuizGenerator/mixins.py,sha256=zXj2U94qNbIEusbwTnzRM1Z_zSybpvozWhveq-t5q2Q,15771
8
- QuizGenerator/performance.py,sha256=CM3zLarJXN5Hfrl4-6JRBqD03j4BU1B2QW699HAr1Ds,7002
9
- QuizGenerator/qrcode_generator.py,sha256=S3mzZDk2UiHiw6ipSCpWPMhbKvSRR1P5ordZJUTo6ug,10776
10
- QuizGenerator/question.py,sha256=PKpQ6ZsHkyNw3yJBXlU3akS9Dqhmprq0dLu7wjRzg9A,37240
11
- QuizGenerator/quiz.py,sha256=CEWy7FB7BZiK33s_wYs6MqGKDetc6htUaqvP3--2HzI,21621
12
- QuizGenerator/regenerate.py,sha256=ZAs1mtERmO8JXza2tBqJpd-uJs9V7gS1jJ9A9gSb8jo,19764
13
- QuizGenerator/typst_utils.py,sha256=JGQn_u5bEHd8HAtjAHuZoVJwLkx-Rd4ZCBWffwFZa3o,3136
14
- QuizGenerator/canvas/__init__.py,sha256=TwFP_zgxPIlWtkvIqQ6mcvBNTL9swIH_rJl7DGKcvkQ,286
15
- QuizGenerator/canvas/canvas_interface.py,sha256=StMcdXgLvTA1EayQ44m_le2GXGQpDQnduYXVeUYsqW0,24618
16
- QuizGenerator/canvas/classes.py,sha256=v_tQ8t_JJplU9sv2p4YctX45Fwed1nQ2HC1oC9BnDNw,7594
17
- QuizGenerator/premade_questions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
- QuizGenerator/premade_questions/basic.py,sha256=u6Viv__5HYWjLOknYt_jsBJTej5-cPd9FM1xsuwUQcQ,4613
19
- QuizGenerator/premade_questions/cst334/__init__.py,sha256=BTz-Os1XbwIRKqAilf2UIva2NlY0DbA_XbSIggO2Tdk,36
20
- QuizGenerator/premade_questions/cst334/languages.py,sha256=ctemEAMkI8C6ASMIf59EHAW1ndFWi7hXzdEt-zOByUE,14114
21
- QuizGenerator/premade_questions/cst334/math_questions.py,sha256=aUYbQxneL5MXE7Xo3tZX9-xcg71CXwvG3rrxcoh0l7A,8638
22
- QuizGenerator/premade_questions/cst334/memory_questions.py,sha256=g0EFJ2HUogYnOYMWYyn-z4lEv15Pfv5IdSvj0xGoKbI,51050
23
- QuizGenerator/premade_questions/cst334/ostep13_vsfs.py,sha256=d9jjrynEw44vupAH_wKl57UoHooCNEJXaC5DoNYualk,16163
24
- QuizGenerator/premade_questions/cst334/persistence_questions.py,sha256=9mgsX-3oWDQgm_n2YwmFSil0QPyzsruHzuqB-hfGMuA,16220
25
- QuizGenerator/premade_questions/cst334/process.py,sha256=0SqXkvdxaEJZXJA8fBqheh7F0PL8I6xgO5a8u2s2po4,37238
26
- QuizGenerator/premade_questions/cst463/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
- QuizGenerator/premade_questions/cst463/gradient_descent/__init__.py,sha256=sH2CUV6zK9FT3jWTn453ys6_JTrUKRtZnU8hK6RmImU,240
28
- QuizGenerator/premade_questions/cst463/gradient_descent/gradient_calculation.py,sha256=y_R26wUt7AIZVUoe3e_qpzkPdwMyo3mZjxLI504-YQw,13840
29
- QuizGenerator/premade_questions/cst463/gradient_descent/gradient_descent_questions.py,sha256=OssybIkHx4l8ryHGT9rqHUecta9qpItK4QYVHuuQLeo,11525
30
- QuizGenerator/premade_questions/cst463/gradient_descent/loss_calculations.py,sha256=slNXfEeLRRM8IDhn3TSQdUWjAimDIfbgUSEmb48zCuU,24156
31
- QuizGenerator/premade_questions/cst463/gradient_descent/misc.py,sha256=0R-nFeD3zsqJyde5CXWrF6Npjmpx6_HbzfCbThLi3os,2657
32
- QuizGenerator/premade_questions/cst463/math_and_data/__init__.py,sha256=EbIaUrx7_aK9j3Gd8Mk08h9GocTq_0OoNu2trfNwaU8,202
33
- QuizGenerator/premade_questions/cst463/math_and_data/matrix_questions.py,sha256=4DLdo_8XDS_xtPA8R-wH4K0cKnMn4r5727Vszz8keTc,15565
34
- QuizGenerator/premade_questions/cst463/math_and_data/vector_questions.py,sha256=VXQCLQEeNKxRDPn_fGW5nAPX-0betrZ8mURh0ElbNz0,12668
35
- QuizGenerator/premade_questions/cst463/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
36
- QuizGenerator/premade_questions/cst463/models/attention.py,sha256=iECxOoR0LEJAH_d7ZE3MoLOkdYVbGOKo4Dwf8Pww0tM,5443
37
- QuizGenerator/premade_questions/cst463/models/cnns.py,sha256=_HSjgClNBBid5t52CDQfPUMdKOHFOXjy7VQ3sW-zW-Y,6030
38
- QuizGenerator/premade_questions/cst463/models/matrices.py,sha256=21eNXUcIjFNZTGH18oH-x3MbCa4buNGQGer3a5yL85c,1938
39
- QuizGenerator/premade_questions/cst463/models/rnns.py,sha256=5fKQuWnpSAoznZVJuCY4nICQ5KzB04Cz17hpccYiiVc,6673
40
- QuizGenerator/premade_questions/cst463/models/text.py,sha256=BnW6qIB8pnQiFRyXxtX9cdsIfmjw99p6TI0WqI0AQzk,6605
41
- QuizGenerator/premade_questions/cst463/models/weight_counting.py,sha256=sFnEvSs7ZwR4RZPltiMEElKJgoxHTaY427_g8Abi2uk,6912
42
- QuizGenerator/premade_questions/cst463/neural-network-basics/__init__.py,sha256=pmyCezO-20AFEQC6MR7KnAsaU9TcgZYsGQOMVkRZ-U8,149
43
- QuizGenerator/premade_questions/cst463/neural-network-basics/neural_network_questions.py,sha256=j2f5LFmme-2rSgJzcb8nZJ1_hnZaL-S4lXSnIbpoH_E,43010
44
- QuizGenerator/premade_questions/cst463/tensorflow-intro/__init__.py,sha256=G1gEHtG4KakYgi8ZXSYYhX6bQRtnm2tZVGx36d63Nmo,173
45
- QuizGenerator/premade_questions/cst463/tensorflow-intro/tensorflow_questions.py,sha256=t0ghv6o8AsZaIwVHFu07Ozebwuv6Rf18D3g_-Jz4O74,31309
46
- quizgenerator-0.9.0.dist-info/METADATA,sha256=84oI93hpRcDQO03t5qMjloNUWcCQo9MgOZmkMe9YrbY,8177
47
- quizgenerator-0.9.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
48
- quizgenerator-0.9.0.dist-info/entry_points.txt,sha256=aOIdRdw26xY8HkxOoKHBnUPe2mwGv5Ti3U1zojb6zxQ,98
49
- quizgenerator-0.9.0.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
50
- quizgenerator-0.9.0.dist-info/RECORD,,