Kool is a microframework for educators to build an online classroom.
The current version supports extending users, quizzes, and courses. The default database is a small flatfile implementation.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
- Python3. See Python3 Tutorial
- Virtualenv. See Virtual Environments Tutorial
- Pip. See Quickstart to installing Python modules
To install Kool from PyPI, run:
$ python install kool
If you prefer to install from source, download the latest version from Releases. Thereafter, extract and run:
$ python setup.py install
On python interactive shell, start by extending class User to create a Student.
fromkool.contrib.authimportUser# Extending class UserclassStudent(User):
passstudent=Student(first_name='John', last_name='Doe', email='john@doe.com', password='secretpwd')
student.save()To insert another student record in an existing table
fromkool.db.modelsimporttable# Get Student table to perform CRUD operationsstudent=table(Student)
student.insert({'first_name': 'Mary', 'last_name': 'Doe', 'email': 'mary@doe.com', 'password': 'secretpwd2'})To query an existing table
fromkool.db.modelsimportwherestudent.filter(where('last_name') =='Doe')To perform complex queries
fromkool.db.flatfileimportQueryStudent=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 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
- Blackboard
- Canvas
- Chamilo
- Moodle
- OpenEDX
- OpenSWAD
- Privacy preserving data publishing
- Pygrades
- SparkEduAB
- List on Wikipedia
Read the latest project documentation at kool-docs
Kool is licensed under MIT License
