PIE-QTI

Production-ready QTI 2.2/3.0 players and a PIE ↔ QTI 2.2 transformation framework.

QTI 2.2 compliant 21/21 interactions Accessibility tested TypeScript strict
Players
Ready
Item + assessment
Transforms
Active
QTI ↔ PIE
Evals
64
49 components + 15 assessment
qti.pie-framework.org/examples
QTI player examples

Try the item demo (all interactions) or the assessment demo (navigation, sections, scoring).

Quickstart

Load, inspect, and verify QTI content

Start with the examples app: paste a single item into the item demo, upload an IMS content package in the package browser, then use compatibility diagnostics to see the detected QTI version, interactions, response variables, asset references, and public certification coverage.

1. Render

`@pie-qti/item-player` parses the XML, maps QTI 2.x/3.0 names, extracts interactions, and renders through standard components.

2. Score

`@pie-qti/qti-processing` builds response, outcome, and template processing into a shared AST that runs in browser or server contexts.

3. Package

IMS content package helpers open ZIPs, resolve manifests, list tests/items/assets, and keep public workflows clean-room friendly.

Why this exists

Partners exchange assessment content in QTI; modern delivery and authoring often happens in PIE. PIE-QTI provides both: rendering and transformation.

QTI Players (2.2/3.0)

  • Item player: 21 interaction types, 45 operators, role-based rendering
  • Assessment player: sections, navigation rules, submission modes, scoring
  • Extensible: plugins + registries + custom operators
  • Themable: web components + CSS variable contract

Transforms

  • QTI → PIE: lossless when QTI originated from PIE, best-effort otherwise
  • PIE → QTI: rebuild QTI, generate IMS content packages
  • Tooling: CLI for batch upload/analyze/transform

Transform Libraries

Reusable QTI/PIE transform packages, CLI workflows, and reference examples.

Quick links

Develop

# Install dependencies
bun install

# Run checks
bun run check

# Preview GitHub Pages build
bun run build:pages
bun run preview:pages