Skip to content

Learning Records Converter

Python API that maps SCORM 2004, IMS Caliper and Matomo traces into xAPI

Maintained Last commit Checked · 24 Aug 2026

The facts

Licence
GPL-3.0
Pricing
Open source
Deployment
Self-hosted
Platforms
Library · Command line · Web
Vendor
Inokufu
Headquarters
France

Standards support

Every line says where the claim came from. We do not test conformance ourselves and we issue no badge of our own.

Standards support for Learning Records Converter, with the source of each claim and the date it was last confirmed.
Standard Supported Provenance Checked Note
SCORM 1.2 No editor-checked · 24 Aug 2026The trace-format enumeration lists only SCORM_2004; there is no 1.2 data model or mapper.
SCORM 2004 Yes editor-checked · 24 Aug 2026— source, opens in a new tabA SCORM_2004 input format with a Pydantic data model and a YAML mapper translating completion_status, entry, exit, learner identity, progress_measure, score.scaled, session_time and success_status to xAPI verbs and results. This converts runtime records, not packages, and no specific 2004 edition is distinguished. Read in source, August 2026.
xAPI Yes editor-checked · 24 Aug 2026— source, opens in a new tabxAPI is the only output format, and a profile enricher validates and annotates statements against the DASES JSON-LD profiles. Read in source, August 2026.
cmi5 No editor-checked · 24 Aug 2026The README states cmi5 is treated as an xAPI profile rather than a separate input format, and there is no cmi5 mapper in the repository.
AICC Not stated
LTI Not stated
Claimed
— the vendor states it. We have not confirmed it.
Checked
— an editor confirmed it on the date shown.
Verified
— an official registry lists it, and we link to the entry.

Editor's notes

The Learning Records Converter comes out of Prometheus-X, the EU-funded data-space initiative for education and skills, and was built by Inokufu. Its purpose is normalisation: an institution holding tracking data in several formats cannot combine it, so everything is translated into xAPI and then conformed to the DASES profiles for LMS, forum and assessment activity.

The architecture is the interesting part. Input formats are declared as Pydantic models, and the actual translation lives in YAML mapping files — mapping_scorm2004_to_xapi.yml, mapping_imscaliper_1_1_to_xapi.yml, mapping_matomo_to_xapi.yml — where each rule names input fields and a switch of lambda conditions producing xAPI output. That makes adding a proprietary format a data exercise rather than a code one, and it makes the existing mappings auditable, which matters when the output is going into a shared data space.

Be clear about scope before adopting it. Only SCORM 2004 is covered, not 1.2; the output is always xAPI; and it operates on records, not packages. It is a FastAPI service with Docker Compose, so it is deployed rather than imported.

Four stars, last pushed August 2025, and the mappers still carry a French-language TODO about completion thresholds. That is the honest state: a funded project's deliverable, useful as a starting point for a migration and as a well-designed example of declarative record mapping, rather than a finished product with a community behind it.

Listed on scorm-tools.com

Maintainers and vendors are welcome to show the listing badge in a README or on a product page. It is free, it does not require a claim, and there is nothing to buy.

Get the embed code