Skip to main content
Help us improve PyPI by participating in user testing. All experience levels needed!

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.

Prerequisites

Installing

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

On Windows, run:

kool-env\Scripts\activate.bat

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):
    pass

student = Student(first_name='John', last_name='Doe', email='john@doe.com', password='secretpwd')

student.save()

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': 'mary@doe.com', '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'))

Tests

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

Documentation

Read the latest project documentation at kool-docs

License

Kool is licensed under MIT License

Project details


Release history Release notifications

This version
History Node

0.0.2

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
Kool-0.0.2-py3-none-any.whl (33.8 kB) Copy SHA256 hash SHA256 Wheel py3 Sep 10, 2017
Kool-0.0.2.tar.gz (21.7 kB) Copy SHA256 hash SHA256 Source None Sep 10, 2017

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page