Skip to main content

Kool is an open source platform for online classroom management.

Project description

CircleCI codecov Documentation Status

Kool is an open source platform for online classroom management.

The aim is to create a minimalist framework that educationist can extend when building an online classroom management system.

The current version supports extending class User, Course, and Quiz. The database is a small CSV flatfile implementation.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.



  1. Fetch the latest copy of the project from github
git clone
  1. Setup a virtual environment
python3 -m venv kool-env

On Windows, run:


On Unix or MacOS, run:

source kool-env/bin/activate
  1. Install requirements
pip install -U pip
pip install -r requirements.txt

Code Examples

On python interactive shell, start by extending class User to create a Student.

from kool.contrib.auth import User

# Extending class User
class Student(User):

student = Student(first_name='John', last_name='Doe', email='', password='secretpwd')

To insert another student record in an existing table

from kool.db.models import table

# Get Student table to perform CRUD operations
student = table(Student)

student.insert({'first_name': 'Mary', 'last_name': 'Doe', 'email': '', 'password': 'secretpwd2'})

To query an existing table

from kool.db.models import where

student.filter(where('last_name') == 'Doe')

To perform complex queries

from kool.db.flatfile import Query

Student = Query()

student.filter((Student.first_name == 'John') | (Student.first_name == 'Mary'))


Written tests are inside the tests/ directory. They are implemented using the pytest module.

On a terminal, run:

pytest tests/

Test Coverage

Test coverage is covered by coverage and pytest-cov tools. Local test reports are built in html format inside the htmlcov/ directory that is automatically generated when pytest is run. However, online test reports are built by CircleCI


Read the latest project documentation at kool-docs


Kool is licensed under MIT License

Project details

Download files

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

Files for Kool, version 0.0.2
Filename, size File type Python version Upload date Hashes
Filename, size Kool-0.0.2-py3-none-any.whl (33.8 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size Kool-0.0.2.tar.gz (21.7 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page