Skip to main content

A package to create, manage, and convert QTI packages for quizzes and assessments in Canvas, Blackboard, Moodle, and LibreTexts ADAPT.

Project description

QTI Package Maker

Converts question banks between learning-management-system formats, so instructors can move assessments between Blackboard, Canvas, and Moodle without rebuilding them. Embedded images are now bundled into the exported packages.

The tool reads a question bank in one format and writes it out to many others. Supported targets include Blackboard (Original and Ultra), Canvas, Moodle Aiken, text2qti, a human-readable text export, a standalone HTML self-test page, and a print-oriented exam YAML. Seven question types are supported: multiple choice, multiple answer, matching, numerical entry, fill-in-the-blank, multi-part fill-in-the-blank, and ordered list.

Image support is now end to end: a Blackboard question-upload text file with <img> tags converts into Canvas and Blackboard packages with the images bundled inside, so figures survive the move between systems.

Self-test page with multiple choice, multiple answer, and numeric entry questions and an embedded bar chart figure

Multiple choice question graded as correct, showing the embedded figure and the green CORRECT feedback pill

The standalone HTML self-test export renders varied question types with bundled images and instant self-grading feedback.

Documentation

Getting started:

Formats and engines:

Internals:

Quick start

python3 -m venv .venv
source .venv/bin/activate
pip install -r pip_requirements.txt
pip install -e .
python3 tools/bbq_converter.py -i bbq-mycourse-questions.txt --all

Substitute your own Blackboard question-upload text file, named per the bbq-<name>-questions.txt pattern, for bbq-mycourse-questions.txt. Pick specific output engines with -f, for example -f canvas_qti_v1_2 -f human_readable. For the BBQ input format, the full engine list, and more examples, see docs/USAGE.md.

License

Code is licensed under LGPLv3. See LICENSE.LGPL_v3.

Author

Neil Voss, bsky.app/profile/neilvosslab.bsky.social.

Support and links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qti_package_maker-26.7.tar.gz (206.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

qti_package_maker-26.7-py3-none-any.whl (219.5 kB view details)

Uploaded Python 3

File details

Details for the file qti_package_maker-26.7.tar.gz.

File metadata

  • Download URL: qti_package_maker-26.7.tar.gz
  • Upload date:
  • Size: 206.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for qti_package_maker-26.7.tar.gz
Algorithm Hash digest
SHA256 c93d5bc8d410afbd9a7ea114d987088424e927bfa0702d9efd8b27e095578f84
MD5 2a7060c879c59bcae52dcd3cae9d1bdb
BLAKE2b-256 d1257fcdd0697010549d20b54409ee73a125176505343bc2cfc9c5d7cb720bff

See more details on using hashes here.

File details

Details for the file qti_package_maker-26.7-py3-none-any.whl.

File metadata

File hashes

Hashes for qti_package_maker-26.7-py3-none-any.whl
Algorithm Hash digest
SHA256 10cf395b9bcc72bcdc6d391d2419555df2425661018e1ab2d2347c117227b055
MD5 b593ba33e384cf56cbfeec72b6c86754
BLAKE2b-256 0e405047229df90e422eb49435570f45e19c76111864661080f8a36dce6cdef1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page