Skip to content

Grader Service offers lecturers and students a well integrated teaching environment for data science, machine learning and programming classes.

License

Notifications You must be signed in to change notification settings

TU-Wien-dataLAB/grader-service

Repository files navigation

banner

General

Documentation Status BSD-3-Clause GitHub commit activity

Grader Service

PyPI PyPI - Python Version

Grader Labextension

PyPI PyPI - Python Version npm

Disclaimer: Grader Service is still in the early development stages. You may encounter issues while using the service.

Grader Service offers lecturers and students a well integrated teaching environment for data science, machine learning and programming classes.

Try out GraderService: .. TODO: update binder

binder

Read the official documentation.

./docs/source/_static/assets/gifs/labextension_update.gif

Requirements

JupyterHub, JupyterLab, Python >= 3.8, pip, Node.js>=12, npm

Installation

This repository contains the packages for the jupyter extensions and the grader service itself.

The grader service has only been tested on Unix/macOS operating systems.

This repository contains all the necessary packages for a full installation of the grader service.

  • grader-service: Manages students and instructors, files, grading and multiple lectures. It can be run as a standalone containerized service and can utilize a kubernetes cluster for grading assignments. This package also contains grader-convert, a tool for converting notebooks to different formats (e.g. removing solution code, executing, etc.). It can be used as a command line tool but will mainly be called by the service. The conversion logic is based on nbgrader.
pip install grader-service
  • grader-labextension: The JupyterLab plugin for interacting with the service. Provides the UI for instructors and students and manages the local git repositories for the assignments and so on. The package is located in its own repo.
pip install grader-labextension

Installation from Source

To install this package from source, clone into the repository or download the zip file.

Local installation

In the grader directory run:

pip install -r ./grader_labextension/requirements.txt
pip install ./grader_labextension

pip install -r ./grader_service/requirements.txt
pip install ./grader_service

Then, navigate to the grader_labextension-directory and follow the instructions in the README file.

Development Environment

Alternatively you can run the installation scripts in examples/dev_environment. Follow the documentation there. The directory also contains the config files for a local installation.

Configuration

Check out the examples/dev_environment directory which contains configuration details or the (Administrator Guide)[https://grader-service.readthedocs.io/en/latest/admin/administrator.html].