Kolibri plugin for rendering Khan Academy Perseus style exercises
Project description
What is this?
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. See learningequality.org/kolibri for more info.
Perseus is Khan Academy’s exercise question editor and renderer. See github.com/Khan/perseus for more info.
This package is a wrapper around Perseus which allows it to be embedded and used within Kolibri.
Installation
This plugin is bundled with Kolibri - it is unlikely that you need to install it.. If you are running a custom version, you can install it like this:
Inside your Kolibri virtual environment:
pip install kolibri-perseus-exercise-plugin
Activate the plugin:
kolibri plugin kolibri_exercise_perseus_plugin enable
Restart Kolibri.
Getting started with development
Clone this repo.
Open terminal in your Kolibri repo.
Run the following commands, with your Kolibri development virtual env enabled:
make clean pip install -e . pip install -e <KOLIBRI-PERSEUS-PLUGIN-LOCAL-PATH> kolibri plugin kolibri_exercise_perseus_plugin enable yarn install
Make sure that this message DID NOT appear in your logging output of yarn install:
WARNING assets/src/module.js not found for plugin exercise_perseus_render_module.
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
Follow the directions in our Kolibri i18n docs.
Release process and versioning
The versioning and releasing of this kolibri_exercise_perseus_plugin plugin is independent of both Kolibri and Perseus. We use semantic versioning, and create release branches for each minor release.
How to publish to PyPi?
When publishing, you’ll need a GPG key to sign the package and associate it with your identity. You’ll need to have gpg on your path. Some resources that might be helpful:
Follow the instructions above to installing the plugin for development.
Run pip install twine.
Update the version number in kolibri_exercise_perseus_plugin/__init__.py. Commit it to the perseus release branch. Tag a new release using github’s web UI.
From the Kolibri repo (NOT THE PERSEUS REPO) run the frontend build command:
make assets
Change directory to the perseus repo. Build the .whl file by running:
make dist
Check that there are CSS, JS, and JSON files when searching the wheel file for kolibri_exercise_perseus_plugin:
unzip -vl dist/kolibri_exercise_perseus_plugin-1.1.0-py2.py3-none-any.whl | grep exercise_perseus_render_module
Sign and publish to PyPi:
make release
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 kolibri_exercise_perseus_plugin instance inside its kolibri/dist folder and bundle it for further distribution. That means manually installing kolibri_exercise_perseus_plugin for development won’t take any effects. One way to fix this issue is to run make clean on Kolibri.
How can I contribute?
Thanks for your interest! Please see the contributing section of our online developer documentation.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for kolibri_exercise_perseus_plugin-1.1.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c0d224f36ff443091db95e51b4f24287870be70079118e68379ee0c54a60b477 |
|
MD5 | 0bfc601fabe1bb1c724bc1f265877f3e |
|
BLAKE2b-256 | c0b2c9eccfc20484bb063afdde1697a36c658cd71359205c9fcdd2e6487a9521 |