Skip to main content

Kool

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

Metadata

Release files for Kool 0.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for Kool 0.0.2
File Size Uploaded
Kool-0.0.2.tar.gz 21.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for Kool 0.0.2
File Interpreter ABI Platform
Kool-0.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 55.5 kB

Release files / Kool-0.0.2.tar.gz

Download URL Kool-0.0.2.tar.gz
Size 21.7 kB
Tags Source
SHA-256 checksum
How to use checksums
0c2ad1b128e8d8efdb93cbea6a1677adfcb351692b837be901d778714f1d6510
BLAKE2b-256 checksum
How to use checksums
b9b336b4b9e1e1e6dc670e1568306f6bb34aa9a0e2c7b813d6ef5952aea14723
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / Kool-0.0.2-py3-none-any.whl

Download URL Kool-0.0.2-py3-none-any.whl
Size 33.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9e1c7b8ea6fa92ab57a01a47d347bd92a1065a52b13087de9e7a72715c0dda0d
BLAKE2b-256 checksum
How to use checksums
705419679f5dffcbe49782b220037e9ccbff811f13f2cd38f18b88da28a25e56
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.0.2 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page