Skip to main content

Zucchini is an automatic grader tool for use in grading programming assignments.

Project description

Zucchini

https://img.shields.io/pypi/v/zucchini.svg https://travis-ci.com/zucchini/zucchini.svg?branch=master Documentation Status Updates

Zucchini is an automatic grader tool for use in grading programming assignments.

Installation

$ pip install --user zucchini
$ zucc --help

Getting Started with Development

After cloning this repo and installing virtualenv, run

$ virtualenv -p python3 venv
$ . venv/bin/activate
$ pip install -r requirements.txt
$ pip install -r requirements_dev.txt
$ zucc --help

Features

  • Unified grading infrastructure: eliminates maintenance load of ad-hoc per-assignment graders

  • Separates test results from computed grades: graders provide test results which are stored on disk, and then zucchini calculates grade based on the weight of each test. That is, graders do not perform grade calculation; they only gather information about students’ work

  • Simple configuration: update one YAML file and store your graders in git repositories for all your TAs

  • Relative weighting: no more twiddling with weights to get them to add up to 100

  • Import submissions from Gradescope, Canvas Assignments, or Canvas Quizzes

  • No more copy-and-pasting grades and commments: automated upload of Canvas grades and gradelogs

  • Flatten (extract) archived submissions

  • Gradescope integration: generate a Gradescope autograder tarball for an assignment with one command

Credits

  • Austin Adams (@ausbin) for creating lc3grade, which eventually became zucchini

  • Cem Gokmen (@skyman) for suggesting converting lc3grade into a generalized autograder for more than just C and LC-3 homeworks, and creating the initial structure of zucchini

  • Patrick Tam (@pjztam) for implementing a bunch of graders, gradelogs, and gradelog upload

  • Kexin Zhang (@kexin-zhang) for exploring Canvas bulk submission downloads and for creating the demo downloader, which changed our lives

  • Travis Adams (@travis-adams) for nothing

History

0.1.0 (2017-12-17)

  • First release on PyPI.

Project details


Download files

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

Source Distribution

zucchini-2.1.7.tar.gz (72.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

zucchini-2.1.7-py2.py3-none-any.whl (70.4 kB view details)

Uploaded Python 2Python 3

File details

Details for the file zucchini-2.1.7.tar.gz.

File metadata

  • Download URL: zucchini-2.1.7.tar.gz
  • Upload date:
  • Size: 72.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for zucchini-2.1.7.tar.gz
Algorithm Hash digest
SHA256 7b003e5ad2a7dfa3cd9c6f271617f165020b2d2279fe45a23ada08f63c9a85ca
MD5 d7a0aae0db0f842a7b77339d6709af6c
BLAKE2b-256 a0e6dab86713e762879a2004df1f1b740bd04082afbee14b1b16c0a339077eae

See more details on using hashes here.

File details

Details for the file zucchini-2.1.7-py2.py3-none-any.whl.

File metadata

  • Download URL: zucchini-2.1.7-py2.py3-none-any.whl
  • Upload date:
  • Size: 70.4 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for zucchini-2.1.7-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 d8c23876ef8ab6f2844923f105966ed14e9cd86da28f345ab708a17df599eaa7
MD5 63e0bc0c79052edebe50d8ca725d56ee
BLAKE2b-256 fa221cebe8c0e023ea13e5f7c76d26ca4b5fdfafcc7a03dc60428a7b2e7b23ec

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page