QuestionBankToolkit¶
QuestionBankToolkit turns readable YAML question banks into QTI 1.2 packages that can be imported into Canvas. It can validate authored YAML, inspect generated QTI packages, and recover supported questions from QTI into YAML.
The current question model supports single-answer multiple-choice questions with plain text or authored HTML, grading points, feedback, assessment eligibility, and optional choice shuffling. You can use the command-line tool without understanding Python, XML, or the QTI specification.
Begin here¶
Follow the getting-started guide to install the package, create a complete question bank, validate it, build the Canvas archive, and review the generated files. Use the YAML schema when you need the exact field and validation rules.
python -m pip install QuestionBankToolkit
coursebanks validate questions.yaml
coursebanks build questions.yaml --out build
User guide
- Getting started
- Question-bank YAML schema (v1)
- Command reference and troubleshooting
- Importing the generated package into Canvas
- Importing QTI into YAML
- QTI 1.2 export and import contract
- 1. Purpose and scope
- 2. Normative standards and interoperability references
- 3. Supported feature matrix
- 4. ZIP package layout
- 5. Question representation
- 6. Choice shuffling
- 7. Import and round-trip boundaries
- 8. Validation levels
- 9. Development and release checklist
- 10. Deliberate exclusions and possible future work
- 11. Relevant code
Contributors