Metadata-Version: 2.4
Name: zucchini
Version: 3.0.5
Summary: Zucchini is an automatic grader tool for use in grading programming assignments.
Keywords: zucchini,autograder,gradescope
Author: Zucchini Team
Author-email: Zucchini Team <team@zucc.io>
License-Expression: Apache-2.0
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Dist: cyclopts>=4.5.1
Requires-Dist: pydantic>=2.12.5
Requires-Dist: tomli>=2.4.0
Requires-Dist: typing-extensions>=4.15.0
Requires-Python: >=3.10
Project-URL: Repository, https://github.com/zucchini/zucchini
Project-URL: Documentation, https://zucchini.readthedocs.io
Description-Content-Type: text/markdown

# Zucchini

![Zucchini PyPI version](https://img.shields.io/pypi/v/zucchini.svg)
![Documentation Status](https://readthedocs.org/projects/zucchini/badge/?version=latest)
![Security Updates](https://pyup.io/repos/github/zucchini/zucchini/shield.svg)

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

- Free software: Apache Software License 2.0
- Documentation: <https://zucchini.readthedocs.io>.

## Installation

```sh
pip install --user zucchini
zucc --help
```

## Getting Started with Development

This package is built with [`uv`](https://docs.astral.sh/uv/).

You can use the Zucchini command-line interface in development mode with: `uv run 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 TOML 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

## 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
