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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 2Python 3

File details

Details for the file ralph-malph-1.1.0.tar.gz.

File metadata

  • Download URL: ralph-malph-1.1.0.tar.gz
  • Upload date:
  • Size: 16.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1

File hashes

Hashes for ralph-malph-1.1.0.tar.gz
Algorithm Hash digest
SHA256 d134e123d7260d39a4aad9a80cfa07b961635cac688cd16f7554c9b230df2a56
MD5 f6e9d0361644f292596ccf41fd6e4c5f
BLAKE2b-256 063cdf675e8bc71ec47bf99b5b91ec88a032670b6b8e55e7e7469ba268cc4175

See more details on using hashes here.

File details

Details for the file ralph_malph-1.1.0-py2.py3-none-any.whl.

File metadata

  • Download URL: ralph_malph-1.1.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 20.6 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1

File hashes

Hashes for ralph_malph-1.1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 f46e1de3917fd4a564a82c1e34d08beb50fd6d4bd5e23cc667cf9e6fefc3bbe3
MD5 b83eadc0187551725f2351ba99ecc48e
BLAKE2b-256 8f6ff71caae8aca82e909d49e042837657a41e2c1f31d4cd0f59d7695a5329b8

See more details on using hashes here.

Supported by

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