Getting started


These directions may be out of date! This page needs to be consolidated with the Getting Started page on our wiki.

Static vs. Dynamic version

Apart from Python itself, KA Lite depends on a couple of python applications, mainly from the Django ecosystem. These dependencies can be installed in two ways:

  • Dynamic: Means dependencies are automatically installed through PIP as a separate software package accessible to your whole system. This is recommended if you run KA Lite and have internet access while installing and updating.
  • Static: Static means that KA Lite is installed with all the external dependencies bundled in. Use this method if you need to have KA Lite installed from offline media or if KA Lite’s dependencies are in conflict with the system that you install upon.


You can install KA Lite in its very own separate environment that does not interfere with other Python software on your machine like this:

pip install virtualenv virtualenvwrapper
mkvirtualenv my-kalite-env
workon my-kalite-env
pip install ka-lite

Running tests

On Circle CI, we run Selenium 2.53.6 because it works in their environment. However, for more recent versions of Firefox, you need to upgrade Selenium:

pip install selenium\<3.5 --upgrade

To run all of the tests (this is slow):

kalite manage test

To skip BDD tests (because they are slow):

kalite manage test --no-bdd

To run a specific test (not a BDD test), add an argument <app>.<TestClass>:

kalite manage test updates.TestDownload --no-bdd

To run a specific item from Behavior-Driven Integration Tests, use <app>.<feature_module_name>:

kalite manage test distributed.content_rating --bdd-only