Skip to main content

Kolibri plugin for rendering Khan Academy Perseus style exercises

Project description

What is Kolibri?

Kolibri is a Learning Management System / Learning App designed to run on low-power devices, targeting the needs of learners and teachers in contexts with limited infrastructure. A user can install Kolibri and serve the app on a local network, without an internet connection. Kolibri installations can be linked to one another, so that user data and content can be shared. Users can create content for Kolibri and share it when there is network access to another Kolibri installation or the internet.

See learningequality.org for more info.

What is Perseus?

Khan Academy’s exercise question editor and renderer.

See https://github.com/Khan/perseus for more info.

What is this plugin?

A Perseus renderer wrapper for Kolibri that can track learning progress and save to the database.

Installation

This plugin is bundled with Kolibri. If you are running a custom version, you can install it like this:

  1. Inside your Kolibri virtual environment:

    pip install kolibri-perseus-exercise-plugin
  2. Activate the plugin:

    kolibri plugin exercise_perseus_renderer enable
  3. Restart Kolibri.

Development guide

  1. Clone this repo.

  2. Open terminal in your Kolibri repo.

  3. Run the following commands, with your Kolibri development virtual env enabled:

    pip install -e <KOLIBRI-PERSEUS-PLUGIN-LOCAL-PATH>
    
    kolibri plugin kolibri_exercise_perseus_plugin enable
  4. Then run the commands to install frontend packages in Kolibri, this plugin will have its dependencies recursively installed:

    yarn install

    Make sure that this message DOES NOT appear in your logging output of yarn install, it means that you are not using the development version:

    WARNING  assets/src/module.js not found for plugin exercise_perseus_render_module.
  5. After cloning for the first time, or if you made any changes to the project, you need to rebuild it:

    make assets

Updating translation strings

This is currently broken, download files manually from CrowdIn

To download the latest translation strings for this plugin, make a crowdinSecrets.js file from the template in the repo root, and put your kolibri project API key in there. The KA API key can be set to null. Then execute the following commands:

cd kolibri_exercise_perseus_plugin
yarn run download-translations

Updating Perseus

In case you update Perseus (bundled in this repo), please run this command afterwards:

make assets

Release plan and version scheme

The versioning of this plugin does not follow Kolibri’s release plan. We plan to make it possible to upgrade and distribute this plugin independently from Kolibri, as with all other plugins.

That means that the versioning and releasing of kolibri_exercise_perseus_plugin is unrelated to both Kolibri and Perseus.

Known issues

Development installation version not active

If you ran make dist or make pex on Kolibri with kolibri-exercise-perseus-plugin==x.x.x present in kolibri/requirements/base.txt, Kolibri will generate an exercise_perseus_renderer instance inside its kolibri/dist folder and bundle it for further distribution. That means manually installing exercise_perseus_renderer for development won’t take any effects. One way to fix this issue is to run make clean on Kolibri.

How to publish to PyPi?

  1. Follow the instructions above to installing the plugin for development.

  2. From the Kolibri directory run the frontend build command.

  3. Update setup.py to a newer version.

  4. Terminal move to the root level of repo dir and run the following command to publish to PyPi:

    make release

How can I contribute?

Project details


Release history Release notifications | RSS feed

This version

1.0.6

Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

kolibri_exercise_perseus_plugin-1.0.6-py2.py3-none-any.whl (7.1 MB view details)

Uploaded Python 2 Python 3

File details

Details for the file kolibri_exercise_perseus_plugin-1.0.6-py2.py3-none-any.whl.

File metadata

  • Download URL: kolibri_exercise_perseus_plugin-1.0.6-py2.py3-none-any.whl
  • Upload date:
  • Size: 7.1 MB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/39.1.0 requests-toolbelt/0.8.0 tqdm/4.23.2 CPython/2.7.14

File hashes

Hashes for kolibri_exercise_perseus_plugin-1.0.6-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 0312e1f5db96a39edd92f845677b8e162a8e3c197faf13723c094e3d2226e47f
MD5 f630641a0c4f5e8b10de7b1437db27ce
BLAKE2b-256 8d78084f7a859bd75207781c14721e11c10979771e4c4f37404b9ee90ae2cb00

See more details on using hashes here.

Provenance

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