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.
- QuizGenerator/README.md +5 -0
- QuizGenerator/__init__.py +2 -1
- QuizGenerator/canvas/canvas_interface.py +9 -6
- QuizGenerator/canvas/classes.py +0 -1
- QuizGenerator/contentast.py +32 -10
- QuizGenerator/generate.py +57 -11
- QuizGenerator/logging.yaml +55 -0
- QuizGenerator/misc.py +0 -8
- QuizGenerator/premade_questions/cst334/memory_questions.py +2 -3
- QuizGenerator/premade_questions/cst334/process.py +0 -1
- QuizGenerator/premade_questions/cst463/gradient_descent/__init__.py +10 -1
- QuizGenerator/premade_questions/cst463/gradient_descent/gradient_calculation.py +0 -1
- QuizGenerator/premade_questions/cst463/gradient_descent/gradient_descent_questions.py +2 -4
- QuizGenerator/premade_questions/cst463/gradient_descent/loss_calculations.py +22 -20
- QuizGenerator/premade_questions/cst463/gradient_descent/misc.py +1 -1
- QuizGenerator/premade_questions/cst463/math_and_data/__init__.py +11 -1
- QuizGenerator/premade_questions/cst463/math_and_data/matrix_questions.py +0 -1
- QuizGenerator/premade_questions/cst463/math_and_data/vector_questions.py +0 -1
- QuizGenerator/premade_questions/cst463/models/attention.py +1 -5
- QuizGenerator/premade_questions/cst463/models/cnns.py +1 -5
- QuizGenerator/premade_questions/cst463/models/rnns.py +1 -5
- QuizGenerator/premade_questions/cst463/models/text.py +1 -5
- QuizGenerator/premade_questions/cst463/models/weight_counting.py +20 -3
- QuizGenerator/premade_questions/cst463/neural-network-basics/__init__.py +7 -0
- QuizGenerator/premade_questions/cst463/neural-network-basics/neural_network_questions.py +1 -9
- QuizGenerator/premade_questions/cst463/tensorflow-intro/__init__.py +7 -0
- QuizGenerator/premade_questions/cst463/tensorflow-intro/tensorflow_questions.py +0 -4
- QuizGenerator/qrcode_generator.py +116 -55
- QuizGenerator/question.py +30 -16
- QuizGenerator/quiz.py +1 -6
- QuizGenerator/regenerate.py +23 -9
- {quizgenerator-0.9.0.dist-info → quizgenerator-0.10.1.dist-info}/METADATA +26 -17
- quizgenerator-0.10.1.dist-info/RECORD +52 -0
- quizgenerator-0.9.0.dist-info/RECORD +0 -50
- {quizgenerator-0.9.0.dist-info → quizgenerator-0.10.1.dist-info}/WHEEL +0 -0
- {quizgenerator-0.9.0.dist-info → quizgenerator-0.10.1.dist-info}/entry_points.txt +0 -0
- {quizgenerator-0.9.0.dist-info → quizgenerator-0.10.1.dist-info}/licenses/LICENSE +0 -0
QuizGenerator/regenerate.py
CHANGED
|
@@ -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('
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
print(f"
|
|
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.
|
|
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
|
-
|
|
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
|
-
-
|
|
64
|
-
- Optional:
|
|
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
|
-
|
|
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
|
-
|
|
110
|
-
--
|
|
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)
|
|
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)
|
|
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
|
-
|
|
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
|
-
|
|
232
|
+
Typst is the default for faster compilation. Use `--latex` to force LaTeX:
|
|
227
233
|
|
|
228
234
|
```bash
|
|
229
|
-
|
|
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
|
-
|
|
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
|
-
└──
|
|
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,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|