Ralph
A Python xAPI LRS, CLI and data-pipeline toolbox from France Universite Numerique
The facts
- Licence
- MIT — OSI approved
- Pricing
- Open source
- Deployment
- Self-hosted
- Platforms
- Web · Command line · Library · Linux
- Vendor
- France Universite Numerique
- Headquarters
- France
- Documentation
- openfun.github.io/ralph/ — opens in a new tab
- Source code
- github.com/openfun/ralph — opens in a new tab
Standards support
Every line says where the claim came from. We do not test conformance ourselves and we issue no badge of our own.
| Standard | Supported | Provenance | Checked | Note |
|---|---|---|---|---|
| SCORM 1.2 | No | editor-checked · 24 Aug 2026 | — | |
| SCORM 2004 | No | editor-checked · 24 Aug 2026 | — | |
| xAPI | Yes | editor-checked · 24 Aug 2026— source, opens in a new tab | An xAPI 1.0.3 LRS built on FastAPI — the statements resource with the documented filters, plus Pydantic models for a wide set of xAPI profiles. The LRS data backend sends X-Experience-API-Version 1.0.3. | |
| cmi5 | No | editor-checked · 24 Aug 2026 | Ralph's xAPI models reference the cmi5 profile's session-id context extension, but there is no cmi5 launch or auth-token implementation. It can store what a cmi5 course sends; it cannot launch one. | |
| 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
Ralph is three things sharing a codebase: an xAPI 1.0.3 LRS served over FastAPI, a command-line tool for moving learning records between backends, and a Python library of Pydantic models for xAPI statements and Open edX tracking events. France Universite Numerique built it to run their own analytics, and it shows in the shape of the project — pluggable storage (Elasticsearch, MongoDB, ClickHouse), Basic and OIDC authentication, a Helm chart and published Docker images.
The model library is the undervalued part. Typed, validated Pydantic representations of xAPI statements — including profiles for virtual classroom, video and LMS activity — turn "we receive statements" into something you can test against.
It is not a product for a non-technical team. There is no dashboard, no report builder, no persona reconciliation; you get an API and the expectation that you will point your own analytics stack at the store. Nor is it a cmi5 LMS, despite being an LRS — the launch side of cmi5 is not implemented.
On maintenance, this is the healthier of the two open-source LRSs in this directory. Version 5.0.1, commits through August 2026, a public changelog and an active issue tracker. It is also small — forty-nine stars, one primary institutional sponsor — so the risk is not abandonment so much as a narrow community: expect to read source rather than find a Stack Overflow answer, and expect the roadmap to follow FUN's needs.
Alternatives to Ralph
Chosen by hand because they solve the same problem, not because they share a keyword.
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