Skip to content
SPECIFICTION
Get listed

Ralph vs xh

Ralph

openfun.github.io

xh

github.com

Side by side

FigureRalphxh
Price fromFreeFree
Free planYesYes
Free trial——
Open source—Yes
Windows—Yes
macOS—Yes
LinuxYesYes
Android—Yes
APIYes—
Self-hostedYes—
Plans published11
Spec score · Learning Record Store Software7.5 (#14)8.2 (#5)
AuthenticationThe API server supports HTTP Basic authentication and OpenID Connect on top of OAuth 2.0, and either or both can be enabled.Basic, bearer and digest authentication are supported, along with .netrc credentials.
PurposeRalph is a learning analytics toolbox available as an LRS HTTP API server, a command-line interface, and a library.xh is a friendly, fast tool for sending HTTP requests, with a focus on improved performance.

Plans

Ralph

  • Open sourceFree

Ralph pricing →

xh

  • xhFree

xh pricing →

In their own words

Ralph

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.

Visit openfun.github.io

xh

xh is a free command-line tool for sending HTTP requests, with a focus on improved performance. It uses HTTPie's request-item syntax for setting headers, request bodies, and query strings. It supports JSON and form data, multipart requests, raw data, and request bodies read from standard input or a file. Responses can be pretty-printed, limited to headers or body output, and saved or downloaded to a file. Authentication options include basic, bearer, and digest. The README lists HTTP/2 support, while the current Cargo manifest has an optional HTTP/3 feature. The --curl flag translates a request into a curl command. Security options include TLS version selection, certificate verification settings, and client-side certificates. Prebuilt binaries are provided for Linux, macOS, and Windows, with package-manager installation instructions for those systems and Android. xh is distributed under the MIT License and has a free plan priced at free. It can use HTTPie compatibility mode when invoked as http or https, or when XH_HTTPIE_COMPAT_MODE is set. The README notes that some HTTPie features are not implemented, there is no plugin system, and its documentation is worse than HTTPie's.

Visit github.com