Skip to content
SPECIFICTION
Get listed

Ralph

openfun.github.io

Free plan LinuxAPISelf-hosted

What it is

Ralph is an open-source learning analytics toolbox delivered as an LRS HTTP API server, command-line interface, and library. It runs through an API, on Linux, or as a self-hosted deployment. Ralph follows xAPI specification 1.0.3, but xAPI 2.0 is not supported. Its LRS stores data in Elasticsearch, MongoDB, or ClickHouse. The library documents connections to OVH Log Data Platform, OpenStack Swift, Amazon S3, filesystems, other LRS systems, and WebSockets. The API server supports HTTP Basic authentication and OpenID Connect over OAuth 2.0, either separately or together. Statement access can be restricted by authority, and user scopes can limit endpoints or functions; both controls are off by default. Received xAPI statements can be forwarded to other LRS servers with configurable retries and timeouts. Sentry monitors the LRS server and CLI. The CLI converts selected OpenEdX events to xAPI statements. Ralph is distributed as a Python package and Docker image under the MIT License.

Spec sheet

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

Plans and prices

Open source Free MIT licensed · Python package and Docker image Read 4 Oct 2026 · openfun.github.io

Every Ralph plan and price →

Strong points and limits

Strong points

  • Open-source MIT License distribution
  • Supports Elasticsearch, MongoDB, and ClickHouse
  • HTTP Basic and OpenID Connect authentication
  • Configurable statement forwarding retries and timeouts
  • Available as Python package and Docker image

Limits

  • Does not support xAPI 2.0
  • Access controls disabled by default
  • Some API filters and responses unimplemented
  • OpenEdX conversion covers only selected events

Who it suits

Ralph suits teams building or hosting learning-record infrastructure that need xAPI 1.0.3, configurable storage, forwarding, and API access. It also fits contributors interested in a community-driven project.

Verdict

Ralph provides a self-hosted LRS, CLI, and library with several storage and integration choices. Check its xAPI version and documented API gaps against your requirements before adopting it.

Where Specifiction places it

Alternatives to RalphAll alternatives →