Skip to main content

An OpenEdx's tracking logs processor to feed your LRS

Project description

Ralph, a learning analytics processor to feed your LRS

Getting started with development

Core development

To start playing with ralph, you should build it using the bootstrap Make target:

$ make bootstrap

Now you can start playing the CLI:

$ bin/ralph --help

To lint your code, either use the lint meta target or one of the linting tools we use:

# Run all linters
$ make lint

# Run pylint
$ make lint-pylint

# List available linters
$ make help | grep lint-

To run tests on your code, either use the test Make target or the bin/pytest script to pass specific arguments to the test runner:

# Run all tests
$ make test

# Run pytest with options
$ bin/pytest -x -k mixins

Tray development

Ralph is distributed along with its tray (a deployable package for Kubernetes clusters using Arnold). If you intend to work on this tray, please refer to Arnold's documentation.

Local Swift Storage development

To make ralph work with a local instance of Swift:

  1. Setup environment variables for demo swift user in .env
RALPH_SWIFT_OS_USERNAME=demo
RALPH_SWIFT_OS_PASSWORD=demo
RALPH_SWIFT_OS_USER_DOMAIN_NAME=Default
RALPH_SWIFT_OS_PROJECT_DOMAIN_NAME=Default
RALPH_SWIFT_OS_AUTH_URL=http://swift:35357/v3/
RALPH_SWIFT_OS_IDENTITY_API_VERSION=3
RALPH_SWIFT_OS_REGION_NAME=RegionOne
RALPH_SWIFT_OS_TENANT_ID=cd238e84310a46e58af7f1d515887d88
RALPH_SWIFT_OS_TENANT_NAME=RegionOne
RALPH_SWIFT_OS_STORAGE_URL=http://swift:8080/v1/KEY_cd238e84310a46e58af7f1d515887d88/test_container
  1. Push a first object (forcefully) to create the test container
$ echo "some content" | ./bin/ralph push -b swift -f some_archive_name

Now ralph should be fully functional with the local Swift storage.

Contributing

This project is intended to be community-driven, so please, do not hesitate to get in touch if you have any question related to our implementation or design decisions.

We try to raise our code quality standards and expect contributors to follow the recommandations from our handbook.

License

This work is released under the MIT License (see LICENSE).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ralph-malph-1.1.0.tar.gz (16.7 kB view hashes)

Uploaded Source

Built Distribution

ralph_malph-1.1.0-py2.py3-none-any.whl (20.6 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page