KA Lite Documentation¶
Welcome to the KA Lite Documentation page! Here, you will find all the information needed to set up the KA Lite software. Additionally, there’s information on how to manage KA Lite and how to perform role-specific tasks. If you have any questions that are not addressed by the documentation and you have access to the Internet, please be sure to check our FAQ or Forums!
KA Lite Installation Guides¶
Hello! If you know what OS you’re installing on then click ahead.
Windows Installation Guide¶
- Download the KA Lite Windows installer. You should see this pop-up on your screen.

- After downloading the .exe file, double click it. A window will appear and guide you through the process of installing KA Lite on the server. When you are finished you should see this image.

Mac Installation Guide¶
Macintosh installation uses the command line, but if you follow the instructions carefully, you should have no problem installing KA Lite. KA Lite uses the git program to distribute its software to developers and other users.
- Download and install Python 2.7.9 for Mac
Warning
Even if Python is already installed on your Mac by default, it is highly recommended that you ensure you are using the latest version. Using older versions of Python with KA Lite can result in errors.
- You need to open the Terminal app. There are many ways to do this. We suggest the following:
- Click the magnifier icon on the upper right corner and search “terminal”.
- Press ‘Enter’ with the “Terminal” app selected and it should open.
In the Terminal, enter Python -V and press ‘Enter’. The version number should reflect the Python version you just installed.
- Create the folder where you would like to install KA Lite.
- In the Terminal, type cd and then drag the folder you created into the Terminal.
- This will copy the path name into the Terminal window.
- Press ‘Enter’.
- Now you can copy and paste this command into the terminal and press ‘Enter’.
- git clone https://github.com/learningequality/ka-lite.git
Once it finishes downloading, enter cd ka-lite to move into the folder that was just downloaded.
To begin installation enter ./setup_mac.command
During installation, you will be prompted to make an Admin account. Go ahead and follow along with the instructions.
- To begin running the server.
- Enter ./bin/kalite start
- KA lite should be accessible from http://127.0.0.1:8008/
- Replace 127.0.0.1 with the computer’s external IP address or domain name to access it from another computer.
Linux Installation Guide¶
Note
You will need to make sure sudo is installed for both Debian and Ubuntu. These commands can then be used for both operating systems.
Note
Type the following commands in a terminal.
Check if Python is already installed with python -V.
- If not already installed or outdated, install Python v2.6 (sudo apt-get install python2.6) or v2.7 (sudo apt-get install python2.7).
- Or use your Distro’s Package Manager by searching for Python.
- If not already installed or if outdated, install Git with sudo apt-get install git-core.
- Or use your Distro’s Package Manager by searching for Git.
- (Recommended; essential on slower platforms like Raspberry Pi) Install M2Crypto with sudo apt-get install python-m2crypto.
- Or use your Distro’s Package Manager by searching for M2Crypto.
Switch to the directory in which you wish to install KA-Lite.
Enter git clone https://github.com/learningequality/ka-lite.git to download KA Lite.
Switch into the newly downloaded ka-lite directory with cd ka-lite
Run the install script with ./setup_unix.sh.
- IF you want the server to start automatically in the background when your system boots:
- Enter sudo ./runatboot.sh in the terminal from inside the ka-lite/scripts directory. Note that if this step does not succeed, you will not be able to start or stop the server using the two commands described below!
- To start the server the for the first time, run sudo service kalite start. Subsequently the server should start automatically at boot.
- Use sudo service kalite stop or sudo service kalite start to stop and start the server at any other time.
IF the automatic background option was not chosen or sudo ./runatboot.sh did not succeed, start and stop the server by running kalite start and kalite stop in the ka-lite/bin directory.
- KA Lite should be accessible from http://127.0.0.1:8008/
- Replace 127.0.0.1 with the computer’s external IP address or domain name to access it from another computer.
Raspberry Pi Installation Guide¶
Please follow steps 1-8 for normal Linux Installation Guide.
During installation you will be asked to optimize your installation for performance on the Raspberry Pi.
Say YES! Make sure you have a stable Internet connection during the process, as you will be downloading a number of 3rd party open source libraries.
Raspberry Pi Wi-Fi¶
Note
Two Wi-Fi USB modules have been tested with KA Lite on the Raspberry Pi
- Raspberry Pi WiPi adaptor
- Edimax EW-7811Un
In our tests, we found that the WiPi adaptor supported a higher number tablet connections.
Installation¶
Note
The Raspberry Pi may crash if the USB adaptor is inserted or removed while the computer is switched on.
- Make sure to shutdown and remove the power from the Raspberry Pi.
- Afterwards, insert the wireless USB adaptor.
- Lastly, switch the Raspberry Pi on.
- Make sure the Raspberry Pi operating system is up-to-date.
Login with the account used to install KA Lite
- Update the Raspberry Pi operating system by:
- sudo apt-get update
- sudo apt-get upgrade
- Get the installation scripts.
- cd /opt
- sudo git clone https://github.com/learningequality/ka-lite-pi-scripts.git
- Install and configure the access point.
- cd /opt/ka-lite-pi-scripts
- sudo ./configure.sh
Note
If using the Edimax EW-7811UN, ignore the “hostapdSegmentation fault” error.
- Install the USB adaptor software.
- If using the WiPi, run this command:
- cd /opt/ka-lite-pi-scripts
- sudo ./use_wipi.sh
- If using the Edimax EW-7811Un, run this command:
- cd /opt/ka-lite-pi-scripts
- sudo ./use_edimax.sh
- Complete the access point configuration
- sudo python ./configure_network_interfaces.py
- sudo insserv hostapd
- Finally
- sudo reboot
- A wireless network named “kalite” should be available.
- Connect to this network
- If the KA Lite server is started, browse to 1.1.1.1
Release Notes¶
0.13.0¶
General¶
Interacting with the system through kalite/manage.py
has now been deprecated. Please use the kalite executable under the bin/
folder. Run bin/kalite -h
for more details.
If you are pulling the source from git, you will need to run the setup command to complete the upgrade. From the base directory run:
/path/to/python/interpreter bin/kalite manage setup
On Windows, use the bin\windows\kalite.bat
in the cmd.exe prompt:
bin\windows\kalite.bat manage setup
When you are asked whether or not to delete your database, you should choose to keep your database! You will also be prompted to download an assessment items package, or to specify the location if you have already downloaded it. If you wish to download the package and specify the location during the setup process:
- Download the assessment items package here. Save it in the same folder as the setup script.
- During the setup process you will see the prompt “Do you wish to download the assessment items package now?”. Type “no” and press enter to continue.
- You will then see the prompt “Have you already downloaded the assessment items package?”. Type “yes” and press enter.
- Finally, you will see a prompt that begins with “Please enter the filename of the assessment items package you have downloaded”. A recommened file may appear in parentheses – if this is the file you downloaded, then press enter. Otherwise, enter the name of the file you downloaded. (Absolute paths are okay, as are paths relative to the directory you are running the setup script from.)
Windows¶
Warning
Internet Explorer 8 is no longer supported in this version. Please use a newer browser, or stick to version 0.12 to maintain compatibility.
Raspberry Pi¶
If you’re updating a current Raspberry Pi installation, make sure to put this in your local_settings.py
to avoid slow performance:
DO_NOT_RELOAD_CONTENT_CACHE_AT_STARTUP = True
Supported Browsers¶
KA Lite is currently not supported on Internet Explorer version 8 or lower. You must use IE9 or later.
User Manual¶
The user manual is organized by the different “user types” within KA Lite. If you know which user manual you’d like to see, click to jump to a specific manual:
Admininistrator User Manual¶
Who is an “administrator”?
- A person who :
- helps to plan and oversee a project using KA Lite
- installs and updates KA Lite
- can create coach logins, Learner logins, download videos and language packs
Administrator Glossary¶
For users that choose to register online, there are some important terms to familiarize yourself with so that you understand how the flow of data works between installations and the online data hub.
- Sharing Network
- A sharing network is a group of devices that share data between one another. Data can mean video content, access software applications, and certain files.
- Organization
- An organization is a group of people responsible for administering a set of Sharing Networks. An organization can have multiple administrators and manage multiple sharing networks.
- Facility
- A facility is the physical space in which a device is located (e.g. a school or a computer lab in a community center). Learner, coach, and admin accounts are associated with a particular facility.
- Device
- A device should be able to run a KA Lite server (most computers) and other devices to be used as clients. One common configuration is using a Raspberry Pi or other inexpensive computer as a server and relatively cheap tablets as client devices. Tablets can access the servers through an access point, such as a Wi-Fi dongle, or some other networking device such as a router.
- Web Browser
- A program that retrieves and presents information resources on the World Wide Web. Popular web browsers include Internet Explorer, Google Chrome, Mozilla Firefox, and Safari.
- Torrent
- A file or files sent using the BitTorrent protocol. It can be any type of file, such as a movie, song, game, or application. During the transmission, the file is incomplete and therefore referred to as a torrent. Torrent downloads that are incomplete cannot be opened as regular files, because they do not have all the necessary data.
- Seeder
- Seeders are users who have a complete version of the file you wish to download. If there are no seeders for a particular file, you will not be able to download the file. Seeders are extremely important, for they help distribute the file.
- Bandwidth
- The amount of data that an Internet connection can handle in a given time. An Internet connection with larger bandwidth can move a certain amount of data much faster than an Internet connection with a lower bandwidth.
Running the KA Lite Server¶
After a successful installation of KA Lite, the terminal should give you a command to copy. It will look something like the following:
/PATH/TO/KALITE/bin/kalite start
The first string will vary depending on which folder you installed KA Lite in. Simply copy and paste the provided string back into the command prompt, and hit enter on your keyboard. You will be asked whether or not you wish to run the KA Lite server in the background automatically every time you start up the computer. Once you answer yes or no, success! The KA Lite server is now running on your computer.
During the process, your operating system might prompt you to allow “Python.app” to accept incoming connections. The message dialogue may look like the following, depending on your operating system:

Please allow the app to run. This will make it possible for the KA Lite application to be accessible.
Accessing KA Lite¶
Once the server has been started, you will be given a few IP addresses. You can use these addresses to access KA Lite by copying and pasting them into a web browser of your choice.
In order to access KA Lite from another machine, please enter the IP address that does not start with http://127.0.0.1:8008 into the web browser on that machine.
Setting up KA Lite¶
Once you have successfully installed KA Lite, the installation script should give you a URL (http://127.0.0.1:8008/) to visit so that you can open KA Lite and login for the first time.
Copy and paste the URL into a web browser. The KA Lite application should show up. Then, login to KA Lite using the username and password you created during the installation process.

- If you have forgotten the username/password combination, simply run
bin/kalite manage createsuperuser
from the kalite directory and then follow the instructions. If it is critical that you are able to login with your credentials, Contact Us and we can help you manually reset your login information.
Once you’ve logged in, the next step in the setup process is registering your device with the KA Lite Hub.
Registering Your Device with the Hub¶
By registering your device with FLE, you can sync data back with our central data hub. This is useful for many reasons:
- a project administrator can manage user accounts and view usage data from afar, without needing to physically visit the offline device.
- usage data syncing back can inform the FLE team of multiple users in a certain geographic region, and we can connect people that might be able to help one another
- it helps FLE and our partners understand where and how the software is being used, so we can keep adding features that support you!
You will have two options:
- One click registration. This is the perfect option for individual users who just want to get KA Lite up and running fast, and don’t need online access to data. This allows you to get the registration process over in one-click without worrying about creating a login that you’re never going to use. Caution: if you choose to one-click register, you will unable to register with online access to data later. (If you chose this option by accident and would like to start over, you can rerun the setup command by navigating to the folder KA Lite is in and rerunning the setup command).
![]()
- Register with online access to data. Choose this option if you’re an administrator of larger projects. This option allows you to access your uploaded data and connect multiple installations to the same account.
How to register your device with online access to data¶
Note
You will need Internet access in order to perform these steps.
- Log into KA Lite with the username and password that you set during set-up.
- If you have not already registered your device, you will be redirected to a page that shows you your options. Click the “Register with an online account now!” button to get started with the registration process.

If you do not see this page, click on the “Manage” tab. At the top of this page, you should see a link to register your device. It should like like the following:

You will be prompted to log in with your central server login credentials. Please note that these credentials are different from your login credentials created during set-up. Click on the “Sign up here” link, and you will be redirected to a page that prompts you to create an account on the central server.

Once you have filled out the form and submitted it, you will be sent an activation link via the email address you supplied.
Post Registration Setup¶
Now that you have registered successfully, it’s time to configure your local KA Lite installation to suit your needs. If any terms like ‘facility’ or ‘device’ become confusing, feel free to reference the Administrator Glossary for a quick reminder.
Create a Facility¶
KA Lite assumes that you are going to be using the software primarily in one place. This could be a school, a home, a community center, etc. We call this place a “facility”, and use it to help differentiate users who are syncing back data with our central data hub. In order to create a facility, follow the steps below.
- Log in to KA Lite.
- Click the “Manage” tab at the top of the page.

- Make sure that the “Facilities” tab is selected.
- Under the Facilities section, click on “Add a new facility...”

- Fill in the information for all the fields you find below the map
- Click the “Save facility” button when you are finished.

- Once the information has been saved, you will be redirected back to the “Facilities” page, where you will see a message indicating that you have successfully saved your new facility.
Delete a Facility¶
- Log in to KA Lite.
- Click the “Manage” tab at the top of the page.
- Make sure that the “Facilities” tab is selected.

- Find the facility you would like to delete, and click the trash can icon to delete the facility.
- You will be prompted to type in the name of the facility you wish to delete for confirmation.
- If your delete is successful, you will be redirected back to the “Facilities” page, where you will see a message indicating that you have successfully deleted the facility.
User Management¶
Coaches and learners are the other types of users that KA Lite supports. In order for them to be able to login, you need to create accounts for them.
Adding Learners¶
- Log in to KA Lite.
- Click on the “Manage” tab at the top of the page.
- Make sure that the “Facilities” tab is selected.
- Select the facility that the learner will belong to.

- Under the “Learners” header, click on “Add a new Learner”.

- You will be redirected to a page that says “Add a new Learner”. Fill in all the information. The facility dropdown defaults to the facility you selected in the previous steps.
- Click “Create user”. You should be redirected to the “Facilities” page, where you will see a message indicating that you have successfully created a Learner user.

Permanently Deleting Learners¶
- Log in to KA Lite.
- Click on the “Manage” tab at the top of the page.
- Make sure that the “Facilities” tab is selected.
- Under the “Facilities” header, select the facility the Learner belongs to.
- Under the “Learners” header, mark the box to the left of the Learner account you would like to delete.

- Press the “Delete Learners” button.

- You will be prompted with a confirmation of your deletion. Press “OK” to proceed with the deletion.
Adding Coaches¶
- Log in to KA Lite.
- Click on the “Manage” tab at the top of the page.
- Make sure that the “Facilities” tab is selected.
- Select the facility that the coach will belong to.
- Under the “Coaches” header, click on “Add a new coach”.

- You will be redirected to a page that says “Add a new coach”. Fill in all the information. The facility dropdown defaults to the facility you selected in the previous steps.
- Click the “Create User” button.

- If the user was successfully created, the page will reload with a message indicating that you have created the user.
Permanently Deleting Coaches¶
- Log in to KA Lite.
- Click on the “Manage” tab at the top of the page.
- Make sure that the “Facilities” tab is selected.
- Under the “Facilities” header, select the facility the coach belongs to.
- Under the “Coaches” header, mark the box to the left of the coach account you would like to delete.

- Press the “Delete Coaches” button.

- You will be prompted with a confirmation of your deletion. Press “OK” to proceed with the deletion.
Adding a Group¶
You can create groups within a facility. Each group can represent a classroom, a study group, or any other way you would like to group Learners. To create a group, follow the instructions below:
- Log in to KA Lite.
- Click on the “Manage” tab at the top of the page.
- Make sure that the “Facilities” tab is selected.
- Select the facility that the group will belong to.
- Under the “Learner Groups” header, click on “Add a new group”.

- Fill out the name of the group, and provide a description.
- Click “create group”.

- You should be redirected back to the page for the facility. If the group was successfully created, you will see it listed under the “Learner Groups” section.
Deleting a Group¶
- Log in to KA Lite.
- Click on the “Manage” tab at the top of the page.
- Make sure that the “Facilities” tab is selected.
- Select the facility that the group you would like to delete belongs to.
- Mark the box to the left of the group you would like to delete.
- Press the “Delete Groups” button under the “Learner Groups” header.

- You will be prompted with a confirmation of your deletion. Press “OK” to proceed with the deletion.
Moving a User to a New Group¶
- Navigate to the page for the facility the user belongs to.
- Under the “Learners” header, select the Learner you would like to move by clicking in the checkbox to the left of the Learner name.

- In the dropbox, select the group you would like to move the user to.

- Click the “Change Learner Groups” button.

- The page will refresh, with a message at the top indicating a successful move.
Removing Users from a Group¶
If you’d like to remove a user from a group without permanently deleting the user, please follow the instructions below:
- Follow the same instructions as for “Moving a User to a New Group”, but select “Ungrouped” from the dropdown menu.
Group Summary Statistics¶
For each group, you should be able to view some statistics.
- Navigate to the Learner Groups section of the facility you wish to look at.
- Click on the group that you wish to view.

- The statistics for the group should be displayed at the top of the page.
Edit User Information¶
- Navigate to the page for the facility that the user belongs in.
- Find the user you would like to edit.
- Click the blue pencil
icon next to the name of the user that you would like to edit.
- Make all necessary changes on the edit user page, and click “Update user”.
- You will be redirected to the previous page, with a message at the top indicating that your changes have been saved.
Allowing Other Users to Connect¶
In order for other users to be able to connect to the KA Lite server with a different machine, you will need to give them an IP address with which to access the software. This should be different from the IP address given to you during setup (127.0.0.1:8008).
Downloading Videos¶
Now that you’ve created a facility and user accounts, it’s time to add video content to your local KA Lite installation! Since the videos can take up a large amount of space, you can choose to download only the videos that you need. If your device has enough space and you wish to download all of the videos, we recommend skipping to Downloading Videos in Bulk .
Downloading Individual Videos¶
After registering your device: 1. Click the “Manage” tab at the top of the page. 2. Click on the “Videos” tab.

- View subtopics by clicking on the ‘+’ symbol to the left of a subject of your choice. You can close them by clicking on the ‘-‘ symbol.
- Mark the content you wish to download by clicking the checkbox to the left of the content name.
- Click the green “Download” button in the top left box of the page. The button should also show you the total number of videos you have selected to download, as well as the total size of the content.
- Once the download is completed, video content will be ready for Learners to watch!
Downloading Videos in Bulk¶
If you want to download videos in bulk, your best option is to download the KA Lite videos through the BitTorrent Sync client. This will be a much faster process than using the KA Lite app to download all of the videos.
We have made the full set of KA videos (in the format needed by KA Lite) available via BitTorrent Sync (btsync). Note that this is different from BitTorrent; btsync allows us to add new videos or fix problems without issuing a whole new torrent file, and then having seeders split between the old and new torrent files. Here are the steps to set this up:
- Download and install BitTorrent Sync.
- Run btsync. On some platforms, this will bring up a graphical interface. On Linux, you will need to type http://127.0.0.1:8888/ into the address bar of your browser to get the interface.
- Click the “Enter a key or link” button, and enter BT7AOITNAIP3X3CSLE2EPQJFXJXMXVGQI
- Select the “content” folder inside your KA Lite installation as the “location” (unless you want the videos to be located elsewhere).
- Allow the videos to sync in there from your peers! It may take a while for now, as we don’t yet have many seeders on it. On that note – please help seed by keeping it running even after you’ve got all the videos, if you have bandwidth to spare! This will make it easier for others to download the content as well.
These are resized videos. All in all, this will take around 23 GB of space.
Warning
If you chose to download them to somewhere other than the content folder inside the ka-lite folder as recommended above, you need to tell KA Lite where to find them. If this is the case, follow the steps below:
Make sure all video files are located in a single directory, with .mp4 extensions (KA Lite expects this!)
If it doesn’t already exist, create a file named local_settings.py in the ka-lite/kalite folder (the one containing settings.py)
- Add the line
CONTENT_ROOT="[full path to your videos directory]"
, making SURE to include an OS-specific slash at the end (see examples) and encapsulate it in quotes. For example, on Windows:
CONTENT_ROOT="C:\\torrented_videos_location\\"
For example, on Linux:
CONTENT_ROOT="/home/me/torrented_videos_location/"
- Add the line
Restart your server. If you are unsure on how to do this, please see Restarting Your Server .
Language Packs¶
KA Lite supports internationalization. You can download language packs for your language if it is available. A language pack comes with all the available subtitles and user interface translations for that language. When it is installed, KA Lite will give you the option to download individual dubbed videos from the language’s Khan Academy YouTube channel.
Download Language Packs¶
To download language packs:
- From the “Manage” page, click on the “Language” tab.
- Select the language pack you wish to download by selecting from the drop-down menu.

- Click the “Get Language Pack” button.

- Once the download finishes, you can see your language pack in the list of installed packs. Learners and coaches will now be able to switch their language to any of the installed language packs. Their default will be the default that you set by clicking on “Set as default”.
Delete Language Packs¶
To delete language packs:
- Log in as the administrator.
- Click the “Languages” link in the navigation bar
- In the Installed Languages section, there is a button for deletion of each language.

Restarting Your Server¶
If you have made some configuration changes (such as changing the filepath to your video content to your liking), or if you feel the need to reboot your KA Lite system, you may want to restart your server. Please note that this will cause KA Lite to become inaccessible to any users. However, this will not delete any user accounts or information that you have configured during set up.
This process varies, depending on which OS you are running the KA Lite Server on.
Restarting Your Server: Windows¶
In the system tray, right click on the KA Lite icon. Click the “Stop Server” item in the context menu. Right click on the KA Lite icon in the system tray again, and click “Start Server”. If the option is not clickable, wait a while and try again or restart your computer.
Restarting Your Server: Linux¶
- Open up your terminal. For most Linux distributions, you can do this by going to Menu -> Accessories -> Terminal or Applications menu -> System -> Terminal.
- Navigate to the folder that you downloaded KA Lite in. You can do this by typing
cd <PATH/TO/KALITE/FOLDER>
. Change the path to the path name of the KA Lite folder on your machine. - Type in
bin/kalite restart
. This should stop the server, then attempt to restart it again. The process may take up to a few minutes. - Once you see the script that begins with
To access KA Lite from another connected computer, try the following address(es):
.... you will know that your KA Lite server has been successfully restarted.
Restarting Your Server: Mac¶
- Open up your terminal. You may do this by navigating to the magnifying glass
at the top right corner of your screen, and typing in “Terminal”, then hitting “Enter” on your keyboard.

- Your terminal should be opened up. It should look a little something like the following:

- Navigate to the folder that you downloaded KA Lite in. You can do this by typing
cd <PATH/TO/KALITE/FOLDER>
. Change the path to the path name of the KA Lite folder on your machine. - Type in
bin/kalite restart
. This should stop the server, then attempt to restart it again. The process may take up to a few minutes. - Once you see the script that begins with
To access KA Lite from another connected computer, try the following address(es):
.... you will know that your KA Lite server has been successfully restarted.
Updating KA Lite¶
If a new version of KA Lite comes out, you can update to the latest version by following the instructions below.
Updating on Mac OS and Linux¶
At this time, the only supported way to update is to grab the source and run the setup management command.
Follow the instructions in the installation guide
to ensure you’re using the latest version.
Updating on Windows¶
To update on Windows, simply use our Windows installer. You will have the option to update from a prior version.
See the Windows installation guide
.
Configuration Settings¶
Once you have deployed KA Lite to a computer, there are a number of ways you can customize the behavior of your installation. Below, you will find a list of these possible customizations with instructions or descriptions on how to do it.
Warning
Please follow these instructions carefully! Customizing the server incorrectly can break your installation. It can be very hard to find and undo the error.
A more advanced way to customize your installation’s behavior is by adding a file called local_settings.py in the kalite folder (the same folder that has version.py). Below is a list of options that you can set in local_settings.py, and what they mean. As of version 0.9.3 (Dec, 2012):
- CONTENT_ROOT = “<path to desired content folder>” (default=ka-lite/content) This is the path that KA Lite will use to look for KA Lite video files to play. Change the path to another local directory to get video files from that directory.
- TIME_ZONE = <desired time zone> (default = “America/Los_Angeles”) You can set this to be the local time zone for your installation. Choices can be found here.
- LANGUAGE_CODE = “<desired ISO 639-1 Language Code>” (default = “en-us”) You can set this to the desired language code for this installation (All choices can be found here). If there are translations available, our web server will show them in KA Lite. Soon, we hope to provide support for internationalized content inside the KA Lite interface.
- USE_I18N = <True or False> (default = True) If you set this to False, our web server will make some optimizations so as to avoid loading internationalization tools. Things might run a little faster, but you won’t have support for translated content.
- USE_L10N = True By default, this is set to False. If you set this to True, Django will format dates, numbers and calendars according to the current locale. For example, January 5, 2000 would be 1/5/2000 if locale = “en-us” and 5/1/2000 if locale = “en-gb”
New in version 0.10.0 (August 26, 2013):
- PRODUCTION_PORT = <desired port number> (default=8008) This is the port that KA Lite will run on when started. Here is a list of available ports.
- USER_LOG_MAX_RECORDS = <desired maxium for user log records> (default = 0) When this is set to any non-zero number, we will record (and sync for online tracking) user login activity, summarized for every month (which is configurable, see below). Default is set to 0, for efficiency purposes–but if you want to record this, setting to 1 is enough! The # of records kept are not “summary” records, but raw records of every login. These “raw” data are not synced, but are kept on your local machine only–there’s too many of them. Currently, we have no specific report to view these data (though we may have for v0.10.1)
- USER_LOG_SUMMARY_FREQUENCY = <desired frequency in the following format (number, amount of time)> (default = (1, “months”) This determines the granularity of how we summarize and store user log data. One database row is kept for each student, on each KA Lite installation, for the defined time period. Acceptable values are: (1, “months”), (2, “months”), (3, “months”), (6, “months”) - separate logged data for every month, 2 months, 3 months, or 6 months, respectively (1, “weeks”) - separate logged data for every week ** NOTE THIS MAY PRODUCE A LOT OF DATA **
- SYNC_SESSIONS_MAX_RECORDS = <desired max records of sync sessions> (default = 10) Every time your installation syncs data, we record the time of the sync, the # of successful logs that were uploaded and downloaded, and any failures. This setting is how many such records we keep on your local server, for display. When you log in to our online server, you will see a full history of these records.
- CRONSERVER_FREQUENCY = <desired frequency of cronserver to run in seconds> (default = 10 minutes) This is how frequently KA Lite tries to synchronize user data with other Devices on your Zone. This can be changed to sync data more often (use a smaller #), or if you’re never online (can be set to a large number)
- CACHE_TIME = <desired length of cache time, in seconds> (default = 5*365*24*60*60) (that’s 5 years!) Our basic topic pages, video pages, and exercise pages rarely change–only when you download new videos (changes made by user logins are made in a different way). Therefore, we can “cache” copies of these pages, to avoid constantly regenerating them, and speed up KA Lite. We have logic to delete the cached copies, and therefore generate new copies, if you download new videos or delete old videos through our interface. If you would like to disable caching, set CACHE_TIME = 0 . Read a little more about caching on Wikipedia.
- CACHE_LOCATION = ‘<path to cache directory>’ (default= dir named kalite_web_cache in the OS temporary dir) Some operating systems will clear the temporary directories when the system is rebooted. To retain the cache between reboots, an alternative location can be specified. (for example on Linix, “/var/tmp/kalite_web_cache”)
- CHERRYPY_THREAD_COUNT = <number of threads> (default=50) The CherryPy Webserver can handle multiple page requests simultaneously. The default is 50, but for slow or single CPU servers, performance will be improved if the number of threads is reduced. Minimum number of threads is 10, optimum setting for Raspberry Pi is 18.
- USE_MPLAYER = <True or False> (default = False) With this setting, if the browser is run from the same computer as the KA Lite server, then instead of playing the video in the browser, the video will be launched outside of the browser and played in mplayer - a light-weight video player that is included with the KA Lite software. This is intended for use only on the Raspberry Pi, where no other video player is available.
New in version 0.11.1 (March 12, 2014):
- LOCKDOWN = <True or False> (default = False) With this setting, users must be logged in order to access videos & exercises
- CONFIG_PACKAGE = “<Desired Config Package>” Allows enabling of different config packages to enable commonly requested custom behaviors. “UserRestricted” - Doesn’t allow users to sign up themselves
Finally, if you examine the various settings.py files in the app (there is more than one such file) you will frequently see variables set with the following syntax:
DEBUG = getattr(local_settings, "DEBUG", False)
This is essentially checking first to see if DEBUG is set in local_settings. If it is, use that, if not, set it to False. Any variable set with this syntax in settings.py can be overwritten in local_settings.py. Again, don’t change anything on a live installation that you aren’t sure about, but for testing purposes, feel free to experiment!
Coach User Manual¶
Who is a “coach”?
- A person who :
- adds, manages, and tracks the progress of groups of students.
- has access to student progress data in the form of coach reports
- provides instructions to students
Coach Reports¶
Coach reports are visualizations of the data generated by your learners. The goal of the coach reports is to put the data into an easy to understand format, so you can understand how learners are progressing and where they need the most help.
The Report Page displays three types of reports. Coach may change groups and facilities anytime in order to track different sections.

Tabular Report¶
A tabular report is a grid that can show how students are doing in specific subjects at a high level. As a coach, you can select which group of students you’d like to check progress for, and which subset of videos or exercises you’d like to see reports on. This allows you to easily identify which areas learners are struggling in, as well as which learners are doing well.
Progress By Topic¶
- Select the “Teach” tab at the top of the page.
- Select the appropriate facility from the drop down menu to view reports for a specific facility.
- Select content you would like to see reports for from the drop down menu (videos or exercises).
- Select a topic you would like to see the reports for from the drop down menu.
- A table should be generated with the data requested.
The color of the rectangles in the table indicate how that student is doing on a particular exercise. The following key explains the color code of the table cells (this information will also be available on the Coach Report page):
![]() |
Not Attempted: The student has not attempted the subtopic. |
![]() |
In Progress: The student has completed a few questions, |
Scatter Report¶
The scatter plot report allows coaches to plot various metrics, like learner effort against other metrics, like learner mastery. This helps coaches view data, and identify high-level trends in learner progress.
Effort Versus Achievement¶
- Make sure you are on the Coach Reports page by selecting the “Teach” tab at the top of the page.
- Select “Scatter Report” from the drop down menu.

- Select the facility and/or group that you’d like to view the report for from the drop down menus.
- Select the range of time that you’d like to view data for.
- A graph will be generated, where each black dot represents a student’s effort vs achievement. (This may take a few moments to load.)
- Each individual dot can be cliked to show the student’s details.
Scatter Report¶
The timeline report allows coaches to track individual learners’ mastery of subjects over time. This is a helpful way to view learner progress, and helps with identifying struggling learners relative to their peers.
Mastery Over Time¶
- Make sure you are on the Coach Reports page by selecting the “Teach” tab at the top of the page.
- Select “Timeline Report” from the drop down menu.
- Click the “Go” button to view a timeline of students’ mastery over time. (The report may take some time to load.)
Learner User Manual¶
Who is a “learner”?
Anyone who uses KA Lite primarily for learning. Learner accounts will track individual progress through videos and exercises, and learners will only be allowed to view their own data.
Accessing KA Lite¶
There are two ways KA Lite can be used:
- Set up on a network with one main server, having machines connect to this server. If this is the setup chosen, installation is not necessary on a learner’s computer, as it can be accessible through a web browser with the IP address of the server. Simply copy and paste the server’s IP address into your web browser any time you’d like to access KA Lite. If you are unsure what the address is, please contact your administrator.
- Installed for single user, on one machine. If you are not accessing KA Lite through a network or wish to run KA Lite on your own computer, please follow the KA Lite Installation Guides first before proceeding with this user manual. Once you have done so, copy and paste the URL given during the installation process into a web browser to access KA Lite (it should be http://127.0.0.1:8008).
How to Sign Up¶
Learners may receive their account information from their Coaches or Administrators if their account has been preconfigured. However, it is possible for learners to create their own account. To create an account, please follow the instructions below:
- Open KA Lite.
- Click “Sign Up” at the top right of your screen.
- If you are redirected to a page that asks you to select a facility, please select the facility to which you belong. If you are unsure which facility you belong to, please contact your administrator or coach. Skip this step if you do not see this page.
- Fill out the information.
- Click the “Create user” button when you are finished.
How to Log In¶
- Open KA lite.
- Click on the “Log In” tab.
- Enter your username and password, and then click the “Log in” button.
How to Practice Exercises¶
First, please log into KA Lite. Then, navigate to the topic that you’d like to practice exercises for.
To answer a question, enter the answer in the box on the top right of the module, or select the bubble next to the answer choice in the exercise panel. Once you have decided on your answer, click “Check Answer”.
After answering a question, the exercise module will not advance to the next question until you click the “Next Question...” button on the right hand side of the module.
The bar on the top right will display your progress as you go through the exercises. After 8 correct answers out of the last 10 answered, your points for the exercise will be added to our total and you will have mastered the exercise. If you get an answer wrong or ask for a hint, you will be unable to earn points from that question until it is presented again.
Hint
If you are stuck on a problem, you can ask for a hint by clickin on the “Show hints” button! Use your hints wisely, for there are a limited number of them for every section.
Saved Progress¶
If at any point during an exercise you wish to watch a video to refresh your memory, feel free to navigate to the video by expanding the green tab which will bring up the content menu. Your progress for that exercise will be saved and you will not lose your work.
How to View Your Progress¶
At any point in time, you should be able to view your progress on any topic. In order to do this,
- Log into KA Lite.
- Then, click on your name in the top right of the page.
- It will then show a drop-down menu, from which you can click on “My Progress”.
On the progress page, you will be able to view your progress on each topic. There will be two bars for each topic. The top bar represents your progress on the videos for that topic, and the bottom bar will represent your progress on the exercises for that topic.
This guide assumes that you have already downloaded and installed the KA Lite software on your computer. If you have not yet completed these steps, please see the KA Lite Installation Guides.
Introduction¶
KA Lite is a lightweight web application software that allows users without Internet access to engage with Khan Academy videos and exercises in completely offline settings. It brings the flipped classroom model to some of the most remote areas in the world. Users can track their progress through videos and exercises, and coaches can log in to check students’ progress, identifying which areas the students need the most help in. If KA Lite ever reaches an Internet connection, it can sync this usage data with the KA Lite Hub – an online data repository that allows project administrators to view data and manage accounts remotely of offline deployments.
What are the goals of KA Lite?¶
Learning is fundamental to human flourishing, and at Foundation for Learning Equality, we strive to support learning opportunities on every front. That’s why we created KA Lite, with the goal of making high-quality educational resources and tools provided by Khan Academy accessible to the estimated 65% of the world that don’t have access to Internet.
How KA Lite works¶
KA Lite can be used in two different ways, depending on your needs:
- KA Lite can be installed on one local computer which acts as a server, with client devices connecting to this local server to watch the Khan Academy videos, and to work on practice problems. A coach/teacher can then check on each student’s progress. This method is typically used by schools and other educational institutions.
- KA Lite can be installed on the client device itself, and be used to download Khan Academy videos for offline viewing. In this way, KA Lite is almost like a piece of software that you’d install on your computer, except it runs in the Internet browser.
Who can use KA Lite?¶
Reaching offline or low-bandwidth communities with KA Lite is a team effort, and we find that a wide variety of people come together to make that happen. In a typical KA Lite deployment, there are 3 types of people involved with the project, which are organized into user types:
- Administrators
Administrators plan out the deployment and logistics, procure the devices and installs KA Lite, and oversee their delivery and integration into the classroom or community. They can also update the software, add content, customize configuration settings, and manage user accounts.
- Coaches
Coaches (also referred to as ‘facilitators’ or ‘teachers’) are users who add, manage, and track the progress of groups of students. They have access to student progress data in the form of coach reports, and can step in and provide individualized instruction when the student needs it.
- Learners
Learners (also referred to as ‘students’) are users who use KA Lite primarily for learning. They earn points for watching videos and answering exercises correctly, and their progress is tracked by the system.
Frequently Asked Questions¶
How do I install KA Lite?¶
Information on how to install KA Lite is available via our user guides.
How much does KA Lite cost to install?¶
It is FREE – both free as in “free speech” and free as in “free beer”! To learn more about free software, see this Free Software Foundation article
How do I report a problem?¶
Please follow the instructions on our Github Wiki for reporting bugs.
How do I change KA Lite’s content folder?¶
If you want to change your installation’s content folder from the default (say, to point to a shared folder across installations), here are the steps you need to do:
If it doesn’t already exist, create a file named local_settings.py in the ka-lite/kalite folder (the one containing settings.py)
- Add the line
CONTENT_ROOT="[full path to your videos directory]"
, making SURE to include an OS-specific slash at the end (see examples) and encapsulate it in quotes. For example, on Windows:
CONTENT_ROOT="C:\\videos_location\\"
For example, on Linux:
CONTENT_ROOT="/home/me/videos_location/"
- Add the line
Restart your server. If you are unsure on how to do this, please see Restarting Your Server.
Is there somewhere I can find Spanish language content organized by topic?¶
Yes! Thanks to the efforts of an awesome volunteer deploying KA Lite and other OER in the Sacred Valley in Peru, you can download blocks of Spanish Lanugage content from his public Google Drive folder. You can also follow his deployment at http://www.huacamayu.org/.
I would like to download the videos for KA Lite via BitTorrent, is this possible?¶
We have made the full set of KA videos (in the format needed by KA Lite) available via BitTorrent Sync (btsync) (note that this is different from BitTorrent; btsync allows us to add new videos or fix problems without issuing a whole new torrent file and then having seeders split between the old and new torrent files) Here are the steps to set this up:
Download and install BitTorrent Sync
Run btsync. On some platforms, this will bring up a graphical interface. On Linux, you will need to load http://127.0.0.1:8888/ to get the interface.
Click the “Enter a key or link” button, and enter
BT7AOITNAIP3X3CSLE2EPQJFXJXMXVGQI
Then select the “content” folder inside your KA Lite installation as the “location” (unless you want the videos going somewhere else).
Allow the videos to sync in there from your peers! It may take a while for now, as we don’t yet have many seeders on it. On that note – please help seed by keeping it running even after you’ve got all the videos , if you have the bandwidth to spare! This to will make it easier for others to download the content as well.
Please note that these are resized videos. All in all, this will take around 23GB of space.
Once you have the videos, you need to tell KA Lite where to find them by following the instructions in the user guide for your version.
Do I need the internet to run KA Lite?¶
No. The only time you need an internet connection is for the initial download of the content (either to the target device, or to a USB stick that can then be carried or mailed). After installation, you can serve the content from a local server or use it directly on the server device without an internet connection.
Is KA Lite involved in getting devices into the hands of students, families, and communities?¶
Currently, KA Lite does not distribute any devices. We are working with partner organizations who do directly distribute devices to local students and communities, and KA Lite is open to any organization who would like to help in this regard. If your organization wants to help KA Lite distribute devices, you can contact us at info@learningequality.org.
How do you operate in the field?¶
The FLE team primarily works in our San Diego offices, building software and shaping our roadmap based on our interactions with our partners around the world. We work with individual humanitarians and NGOs of all sizes to help them distribute KA Lite to offline communities around the world.
What are the typical deployment scenarios?¶
A typical school deployment varies depending on whether or not a school already has a computer lab.
School with an existing computer lab: In this case, KA Lite would be deployed as a server on one of the existing computers. Students would connect using client devices over the local intranet.
School with no existing computer lab: For schools that do not have an existing computer lab, a KA Lite deployment would involve obtaining a device that can run as a KA Lite server (most computers) and other devices to be used as clients. One common configuration is using a Raspberry Pi or other inexpensive computer as a server and relatively cheap tablets as client devices.
What are some possible hardware configurations for deploying KA Lite?¶
You will need:
- A computer that is running the KA Lite software (e.g. a desktop computer, laptop, or Raspberry Pi).
- One or more client devices that have web browsers (laptops, tablets, desktop computers, etc)
Note that for a single-user deployment (1) and (2) can be the same computer, with the browser connecting to the locally running KA Lite server software. To make the software accessible to multiple client devices, you will need to put them on the same local network as the KA Lite device (1), e.g. through a router.
What sort of processing power is required for KA Lite?¶
KA Lite has very low processing requirements, and can be run as a server on devices with processors as low-powered as the $35 Raspberry Pi, using about 100MB of RAM. There is also low processing power required for client devices as well, and any browser that supports HTML5 video with h264 encoding or Flash Player should be able to function as a client device.
What are the operating system (OS) and software requirements for running KA Lite?¶
KA Lite can run on almost any major operating system: Windows, Linux, and Mac/OSX. The only software dependency is the Python 2.7 runtime.
What is data syncing?¶
KA Lite is capable to share your student progress data with a central data repository when you are online. This enables the system to have an online backup of your data, allows you to view your student progress online, and to share your data across multiple KA Lite installations.
Does KA Lite support peer to peer synchronization?¶
Not yet. Peer to peer sync is a priority for KA Lite in the near future, but is not available yet.
Who maintains the KA Lite project?¶
KA Lite is created, maintained, and operated by the Foundation for Learning Equality, Inc, a California-based nonprofit organization.
What is KA Lite’s affiliation with Khan Academy?¶
KA Lite is an independent, open-source project maintained by a distributed team of volunteers, and is not officially affiliated with Khan Academy, although they are (unofficially) very supportive of the KA Lite project.
How can local curriculum be generated?¶
Local content creation is something that KA Lite intends to pursue in the future. This feature is not available at this time, but steps are being taken, as you can read about here. If you would like to be notified when it is available, subscribe for updates on our home page, or if you would like to fund this project, please click here.
How is it possible to compress the content into KA Lite?¶
First, users are able to select the amount of videos and exercises they wish to download on the user-interface, allowing the users to customize the size of the files. Also, we have resized much of the content, and approximately 4,000 videos are around 25 GB if downloaded via BitTorrent and around 70 GB via the user-interface.
What languages is KA Lite available in?¶
KA Lite was released with internationalization support on 2014/03/07, including support for a translated interface, dubbed videos, subtitles, and translated exercises. Currently we have varying levels of support Portuguese, Danish, French, Polish, Spanish. Please visit our blog for the latest information about language support.
Can I contribute to KA Lite as a developer?¶
Yes! KA Lite is an open source project, and developers are encouraged to contribute! If you are interested in developing for KA Lite, check out the instructions for getting started.
Can I contribute to KA Lite as a translator?¶
Yes, absolutely! If you would like to contribute to KA Lite as a translator, you can get started over on our translations and internationalization page on our GitHub Wiki!
Can I contribute even if I don’t know how to code?¶
Yes! There are many ways!
How do I find out more?¶
To stay up-to-date on all our activities, follow our blog, Twitter, and Facebook!
What can be done with progress tracking during offline usage?¶
KA Lite’s built-in coach reports are meant to provide teachers and administrators access to progress tracking offline. When a student connects back up to the server that they sync with, all of their progress data will be uploaded for teachers and administrators to evaluate.
How does FLE measure the impact of KA Lite?¶
Because KA Lite is freely available and designed to run offline, we are not in contact with many of our deployments, and collecting impact data can be challenging.
KA Lite is capable to synchronize data with our central data repository when an online connection exists.
For the deployments in which we do have direct involvement, we receive updates from the administrator’s with quantitative data from the built-in coach reports and attain qualitative data from our on-site visits. For example, we know that 20 out of 20 students in the Idaho Department of Corrections deployment have passed their GED using KA Lite.
We are also developing RCTs to start in June for a deployment in India.
Backing up data: is there any easy way to do it locally?¶
Yes! Just copy the file:
ka-lite/kalite/database/data.sqlite
to a secure location. To restore, simply copy the backup data file to the same location. If you have changed versions, please run:
python kalite/manage.py migrate --merge
to guarantee your database is compatible with the current version of KA Lite you have installed! Note that online data back-ups occur if you “register” your KA Lite installation with an online account on our website.
Contributing and Development¶
Want to contribute? You can check us out on github, or browse the link(s) below.
How can I contribute to...¶
How to contribute to documentation¶
You can propose changes to the docs directly on Github (instructions below) or email your recommendations to info@learningequality.org.
To propose changes directly, you’ll need to create an account on github and open a pull request. This document assumes you are somewhat familiar with that process, and will not explain all the steps in detail. For full instructions on how to make a pull request, see Github’s help section.
Documentation development¶
Work from the develop branch.
From the base directory, the documentation can be found in the
docs/
subdirectory. Specific pages of the docs are each associated with a different .rst file, potentially in a subdirectory ofdocs/
.The documentation is written in ReStructured Text format, so please see the primer!
After making your changes, try to build the docs to review them. This process can take some time, as an instance of the server and a browser may need to be started. To build the docs:
pip install -r requirements_sphinx.txt # To install software for building docs cd docs make html
You can view the docs in a browser by opening docs/_build/html/index.html.
After you are satisfied with your changes push them to your fork of the ka-lite project, and then open a PR.
Screenshots¶
Screenshots are made automatically following the screenshots directives. They
are stored in a folder docs/_static/
, which is also sync’ed to Github
(TODO: This is a temporary procedure).
To grab new screenshots, you have to have Firefox installed and run:
cd docs/
SPHINX_SS_USE_PVD=true make SPHINXOPTS="-D screenshots_create=1" html
You can also refer to docs/SCREENSHOT_USAGE.MD
for more info about the
screenshot RST directive.