Saturday, October 24, 2026 4,350 lists 78,096 records on file
List your app or device

  1. Home
  2. Learning Record Store Software
  3. Ralph

Ralph

What it is

Ralph is a learning analytics toolbox available as an LRS HTTP API server, a command-line interface and a library. It follows xAPI specification version 1.0.3 and does not currently support xAPI 2.0. The LRS works with Elasticsearch, MongoDB and ClickHouse; the library documents additional connections, including Amazon S3, filesystems, other LRS systems and WebSockets. The API server can use HTTP Basic authentication, OpenID Connect on OAuth 2.0, or both. Statement access can be restricted by authority, and user scopes can limit endpoints or functions, though both controls are disabled by default. Ralph can forward received xAPI statements to other LRS servers with configurable retries and timeouts, and Sentry integration is available for monitoring the server and CLI. Its CLI converts some OpenEdX events into xAPI statements, but only a supported set. Ralph is distributed as a Python package and Docker image under the MIT License, and supports self-hosted deployment. The project describes itself as community-driven and invites questions, design feedback, issues and code contributions.

For and against

For

  • Available as an API server, CLI and library.
  • Supports Elasticsearch, MongoDB and ClickHouse.
  • Authentication can use Basic or OpenID Connect.
  • Statement forwarding has configurable retries and timeouts.
  • Distributed under the MIT License.

Against

  • Does not currently support xAPI 2.0.
  • Access restrictions are disabled by default.
  • OpenEdX conversion covers only a supported event set.
  • Some API attachments, filters and response formats are unimplemented.

The verdict

Ralph provides several components for working with xAPI learning activity data, including an LRS, CLI and library. Its documentation also identifies version, conversion and API implementation limits to consider.

Who it suits

Ralph may suit developers and organizations building learning analytics systems around xAPI data, especially those seeking a self-hosted toolbox. Its community also invites participation from people with questions, feedback, issues or code changes.

Plans and prices

Open source

Free

MIT licensed · Python package and Docker image

Every plan, in full

On the record

Access controls
Ralph can restrict statement access by authority and limit endpoints or functionality with user scopes; both controls are disabled by default.openfun.github.io · read 4 Oct 2026
Authentication
The API server supports HTTP Basic authentication and OpenID Connect on top of OAuth 2.0, and either or both can be enabled.openfun.github.io · read 4 Oct 2026
Data backends
Ralph LRS supports Elasticsearch, MongoDB, and ClickHouse databases.openfun.github.io · read 4 Oct 2026
Data conversion
The CLI can convert OpenEdX events to xAPI statements, but conversion is supported only for a set of OpenEdX events.openfun.github.io · read 4 Oct 2026
Distribution and license
Ralph is distributed as a Python package and Docker image and is released under the MIT License.openfun.github.io · read 4 Oct 2026
Intended audience
The project describes itself as community-driven and invites people to contribute questions, design feedback, issues, and code changes.github.com · read 4 Oct 2026
Known API gaps
The API documentation marks statement attachments, several filters, and some response formats as not implemented.openfun.github.io · read 4 Oct 2026
Monitoring
Ralph provides Sentry integration to monitor its LRS server and CLI.openfun.github.io · read 4 Oct 2026
Other integrations
The library documents backends for OVH Log Data Platform, OpenStack Swift, Amazon S3, filesystems, other LRS systems, and WebSockets.openfun.github.io · read 4 Oct 2026
Purpose
Ralph is a learning analytics toolbox available as an LRS HTTP API server, a command-line interface, and a library.openfun.github.io · read 4 Oct 2026
Statement forwarding
The LRS can forward received xAPI statements to other LRS servers, with configurable retries and timeouts.openfun.github.io · read 4 Oct 2026
xAPI support
Ralph follows xAPI specification version 1.0.3 and does not currently support xAPI 2.0.openfun.github.io · read 4 Oct 2026

Alternatives to Ralph

Every alternative, ranked