Metadata-Version: 2.1
Name: gapper
Version: 1.4.0
Summary: Gradescope Autograder Packer
Home-page: https://github.com/FlickerSoul/gapper
License: MIT
Author: Heyuan Zeng
Author-email: hi@universe.observer
Requires-Python: >=3.12,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: beautifulsoup4 (>=4.12.2,<5.0.0)
Requires-Dist: dacite (>=1.8.1,<2.0.0)
Requires-Dist: dataclasses-json (>=0.6.1,<0.7.0)
Requires-Dist: dill (>=0.3.7,<0.4.0)
Requires-Dist: jinja2 (>=3.1.2,<4.0.0)
Requires-Dist: pytest (>=7.4.3,<8.0.0)
Requires-Dist: pyyaml (>=6.0.1,<7.0.0)
Requires-Dist: requests (>=2.31.0,<3.0.0)
Requires-Dist: requests-toolbelt (>=1.0.0,<2.0.0)
Requires-Dist: rich (>=13.6.0,<14.0.0)
Requires-Dist: textual (>=0.41.0,<0.42.0)
Requires-Dist: typer (>=0.9.0,<0.10.0)
Project-URL: Documentation, https://gapper.universe.observer
Project-URL: Repository, https://github.com/FlickerSoul/gapper
Description-Content-Type: text/markdown

# Gradescope Autograder Packer (gapper)

[<img src="https://img.shields.io/pypi/v/gapper">](https://pypi.org/project/gapper/)
[<img src="https://img.shields.io/pypi/pyversions/gapper">](https://pypi.org/project/gapper/)
![PyPI - License](https://img.shields.io/pypi/l/gapper)
[<img src="https://img.shields.io/github/actions/workflow/status/flickersoul/gapper/python-package.yml">](https://github.com/FlickerSoul/gapper/actions/workflows/python-package.yml)
[<img src="https://img.shields.io/codecov/c/github/FlickerSoul/gapper/main">](https://app.codecov.io/gh/FlickerSoul/gapper/)
[<img src="https://img.shields.io/badge/Wiki_and_API_Reference-blue?link=https%3A%2F%2Fgapper.universe.observer">](https://gapper.universe.observer)



## What's gapper? 

GAP is a tool that allows you to create a Gradescope autograder from a decorator so that you can ditch the cumbersome `gradescope-utils`. It's inspired by [aga](https://github.com/rileyshahar/aga) and reconstructed from the ground up to be easier to use and maintain. 

## Showcase 

[Generate and Upload Vimeo Video](https://vimeo.com/884058503)

[Upload with GUI Vimeo Video](https://vimeo.com/884058767)

[Upload with GUI 2 Vimeo Video](https://vimeo.com/884058863)


## Usage and Demonstration

### Installation

Install from PyPI
```bash
pip install gapper~=1.3.0
```

For detailed instruction, please read [the documentation page](https://gapper.universe.observer/Tutorials/Getting-Started/#workflow-brief)

### Usage 

Please refer to the [get started tutorial](https://gapper.universe.observer/Tutorials/Getting-Started/) and [detailed usage](https://gapper.universe.observer/Tutorials/Detailed-Usage/) for detailed usage.

The API reference can be found [here](https://gapper.universe.observer/API/problem/).

## Questions? Tips?

Please use the [Discussions](https://github.com/FlickerSoul/gapper/discussions) to post any questions or tips you found along the way! 

