Package: kolibri-exercise-perseus-plugin
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. Seelearningequality.org/kolibrifor more info.Perseus is Khan Academy’s exercise question editor and renderer. Seegithub.com/Khan/perseusfor more info.This package is a wrapper around Perseus which allows it to be embedded and used within Kolibri.InstallationThis 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-pluginActivate the plugin:kolibri plugin enable kolibri_exercise_perseus_pluginRestart Kolibri.Getting started with developmentClone 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 enable kolibri_exercise_perseus_pluginWithin the perseus plugin repo directory, run the following command, again using your kolibri dev virtualenv:cd kolibri_exercise_perseus_plugin
yarn install
cd ..
make distUpdating translation stringsFollow the directions in ourKolibri i18n docs.Release process and versioningThe versioning and releasing of thiskolibri_exercise_perseus_pluginplugin 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 havegpgon your path. Some resources that might be helpful:https://help.github.com/articles/generating-a-new-gpg-key/https://keybase.io/https://www.gnupg.org/https://gpgtools.org/You’ll also need an account on PyPi with access to thekolibri-exercise-perseus-plugin packageNext, follow these steps carefully:Follow the instructions above to installing the plugin for development.Runpip install twine.Update the version number inkolibri_exercise_perseus_plugin/__init__.py. Commit it to the perseus release branch. Tag a new release usinggithub’s web UI.Check out the tagged commit and ensure that you have no local changes.Build the frontend assets and .whl file by running:make distCheck that there are CSS, JS, and JSON files when searching the wheel file forkolibri_exercise_perseus_plugin:unzip -vl dist/[GENERATED WHEEL FILE NAME] | grep exercise_perseus_render_moduleSign and publish to PyPi:make releaseKnown issuesDevelopment installation version not activeIf you ranmake distormake pexon Kolibri withkolibri-exercise-perseus-plugin==x.x.xpresent inkolibri/requirements/base.txt, Kolibri will generate ankolibri_exercise_perseus_plugininstance inside itskolibri/distfolder and bundle it for further distribution. That means manually installingkolibri_exercise_perseus_pluginfor development won’t take any effects. One way to fix this issue is to runmake cleanon Kolibri.How can I contribute?Thanks for your interest! Please see thecontributing sectionof ouronline developer documentation.