<p align="center">
<a href="https://zmievsa.github.io/autograder/"><img src="https://raw.githubusercontent.com/zmievsa/autograder/main/docs/_media/logo_with_text.svg" alt="AutoGrader"></a>
</p>
<p align="center">
<b>A simple, secure, and versatile way to automatically grade programming assignments</b>
</p>
---
<p align="center">
<a href="https://github.com/zmievsa/autograder/actions?query=workflow%3ATests+event%3Apush+branch%3Amain" target="_blank">
<img src="https://github.com/zmievsa/autograder/actions/workflows/test.yaml/badge.svg?branch=main&event=push" alt="Test">
</a>
<a href="https://codecov.io/gh/zmievsa/autograder" target="_blank">
<img src="https://img.shields.io/codecov/c/github/zmievsa/autograder?color=%2334D058" alt="Coverage">
</a>
<a href="https://pypi.org/project/autograder/" target="_blank">
<img alt="PyPI" src="https://img.shields.io/pypi/v/autograder?color=%2334D058&label=pypi%20package" alt="Package version">
</a>
<a href="https://pypi.org/project/autograder/" target="_blank">
<img src="https://img.shields.io/pypi/pyversions/autograder?color=%2334D058" alt="Supported Python versions">
</a>
</p>
## Features
* Blazingly fast (can grade hundreads of submissions using dozens of testcases in a few minutes. Seconds if grading python)
* [Easy to grade](https://zmievsa.github.io/autograder/#/?id=usage)
* [Easy-to-write testcases](https://zmievsa.github.io/autograder/#/?id=writing-testcases)
* Testcase grade can be based on [student's stdout](https://zmievsa.github.io/autograder/#/?id=helper-functions)
* Can grade C, C++, Java, and Python code in regular mode
* Can grade any programming language in stdout-only mode
* A file with testcase grades and details can be generated for each student
* You can customize the total points for the assignment, maximum running time of student's program, file names to be considered for grading, formatters for checking student stdout, and [so much more](https://github.com/zmievsa/autograder/blob/master/autograder/default_config.toml).
* [Anti Cheating capabilities](https://zmievsa.github.io/autograder/#/?id=anti-cheating) that make it nearly impossible for students to cheat
* Grading submissions in multiple programming languages at once
* JSON result output supported if autograder needs to be integrated as a part of a larger utility
* Can check submissions for similarity (plagiarism)
* Can detect and report memory leaks in C/C++ code
## Installation
* Run `pip install autograder`
* To grade various programming languages, you'd need to install:
* `gcc`/`clang` for C/C++ support
* `Java JDK` for java support
* `make` for compiled stdout-only testcase support
* Any interpreter/compiler necessary to run stdout-only testcases. For example, testcases with ruby in their shebang lines will require the ruby interpreter
### Updates
`pip install -U --no-cache-dir autograder`
## Quickstart
* Run `autograder guide path/to/directory/you'd/like/to/grade`. The guide will create all of the necessary configurations and directories for grading and will explain how to grade.
* Read the [usage](https://zmievsa.github.io/autograder/#/?id=usage) section of the docs
## Supported Platforms
* Linux is fully supported
* OS X is fully supported
* Windows is partially supported:
* Stdout-testcases that require shebang lines are not and cannot be supported
## Supported Programming Languages
* Java
* C
* C++
* CPython (3.8-3.11)
* Any programming language if stdout-only grading is used
Raw data
{
"_id": null,
"home_page": "https://github.com/zmievsa/autograder",
"name": "autograder",
"maintainer": null,
"docs_url": null,
"requires_python": "<3.12,>=3.8",
"maintainer_email": null,
"keywords": null,
"author": "Stanislav Zmiev",
"author_email": "zmievsa@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/cf/82/25048eb89e7aca07acfb0b3398cf7a41f4d5338b51a9a072879f036e26b8/autograder-3.7.7.tar.gz",
"platform": null,
"description": "<p align=\"center\">\n <a href=\"https://zmievsa.github.io/autograder/\"><img src=\"https://raw.githubusercontent.com/zmievsa/autograder/main/docs/_media/logo_with_text.svg\" alt=\"AutoGrader\"></a>\n</p>\n<p align=\"center\">\n <b>A simple, secure, and versatile way to automatically grade programming assignments</b>\n</p>\n\n---\n\n<p align=\"center\">\n<a href=\"https://github.com/zmievsa/autograder/actions?query=workflow%3ATests+event%3Apush+branch%3Amain\" target=\"_blank\">\n <img src=\"https://github.com/zmievsa/autograder/actions/workflows/test.yaml/badge.svg?branch=main&event=push\" alt=\"Test\">\n</a>\n<a href=\"https://codecov.io/gh/zmievsa/autograder\" target=\"_blank\">\n <img src=\"https://img.shields.io/codecov/c/github/zmievsa/autograder?color=%2334D058\" alt=\"Coverage\">\n</a>\n<a href=\"https://pypi.org/project/autograder/\" target=\"_blank\">\n <img alt=\"PyPI\" src=\"https://img.shields.io/pypi/v/autograder?color=%2334D058&label=pypi%20package\" alt=\"Package version\">\n</a>\n<a href=\"https://pypi.org/project/autograder/\" target=\"_blank\">\n <img src=\"https://img.shields.io/pypi/pyversions/autograder?color=%2334D058\" alt=\"Supported Python versions\">\n</a>\n</p>\n\n## Features\n\n* Blazingly fast (can grade hundreads of submissions using dozens of testcases in a few minutes. Seconds if grading python)\n* [Easy to grade](https://zmievsa.github.io/autograder/#/?id=usage)\n* [Easy-to-write testcases](https://zmievsa.github.io/autograder/#/?id=writing-testcases) \n* Testcase grade can be based on [student's stdout](https://zmievsa.github.io/autograder/#/?id=helper-functions)\n* Can grade C, C++, Java, and Python code in regular mode\n* Can grade any programming language in stdout-only mode\n* A file with testcase grades and details can be generated for each student\n* You can customize the total points for the assignment, maximum running time of student's program, file names to be considered for grading, formatters for checking student stdout, and [so much more](https://github.com/zmievsa/autograder/blob/master/autograder/default_config.toml).\n* [Anti Cheating capabilities](https://zmievsa.github.io/autograder/#/?id=anti-cheating) that make it nearly impossible for students to cheat\n* Grading submissions in multiple programming languages at once\n* JSON result output supported if autograder needs to be integrated as a part of a larger utility\n* Can check submissions for similarity (plagiarism)\n* Can detect and report memory leaks in C/C++ code\n\n## Installation\n\n* Run `pip install autograder`\n* To grade various programming languages, you'd need to install:\n * `gcc`/`clang` for C/C++ support\n * `Java JDK` for java support\n * `make` for compiled stdout-only testcase support\n * Any interpreter/compiler necessary to run stdout-only testcases. For example, testcases with ruby in their shebang lines will require the ruby interpreter\n\n### Updates\n\n`pip install -U --no-cache-dir autograder`\n\n## Quickstart\n\n* Run `autograder guide path/to/directory/you'd/like/to/grade`. The guide will create all of the necessary configurations and directories for grading and will explain how to grade.\n* Read the [usage](https://zmievsa.github.io/autograder/#/?id=usage) section of the docs\n\n## Supported Platforms\n\n* Linux is fully supported\n* OS X is fully supported\n* Windows is partially supported:\n * Stdout-testcases that require shebang lines are not and cannot be supported\n\n## Supported Programming Languages\n\n* Java\n* C\n* C++\n* CPython (3.8-3.11)\n* Any programming language if stdout-only grading is used\n",
"bugtrack_url": null,
"license": "GPL-3.0",
"summary": "A simple, secure, and versatile way to automatically grade programming assignments",
"version": "3.7.7",
"project_urls": {
"Documentation": "https://zmievsa.github.io/autograder/",
"Homepage": "https://github.com/zmievsa/autograder",
"Repository": "https://github.com/zmievsa/autograder"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "c7ce163e3e631ec6a73e75b82f510459ee312ecdcc5de69790d6f349ab130a06",
"md5": "0088caf8892a81d25685fae09a27da76",
"sha256": "74c008f971bccad902166ad1b93a33e633588e7f9c16a54d295d00921f5d8873"
},
"downloads": -1,
"filename": "autograder-3.7.7-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0088caf8892a81d25685fae09a27da76",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.12,>=3.8",
"size": 1000426,
"upload_time": "2024-04-15T04:28:16",
"upload_time_iso_8601": "2024-04-15T04:28:16.933479Z",
"url": "https://files.pythonhosted.org/packages/c7/ce/163e3e631ec6a73e75b82f510459ee312ecdcc5de69790d6f349ab130a06/autograder-3.7.7-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "cf8225048eb89e7aca07acfb0b3398cf7a41f4d5338b51a9a072879f036e26b8",
"md5": "b33e8dc628d5478ce685945fb4d5b151",
"sha256": "c5b054ebb370c399caa5c27247849922a620ef9d765d1d59bddf33ac9651c711"
},
"downloads": -1,
"filename": "autograder-3.7.7.tar.gz",
"has_sig": false,
"md5_digest": "b33e8dc628d5478ce685945fb4d5b151",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.12,>=3.8",
"size": 1241980,
"upload_time": "2024-04-15T04:28:19",
"upload_time_iso_8601": "2024-04-15T04:28:19.401577Z",
"url": "https://files.pythonhosted.org/packages/cf/82/25048eb89e7aca07acfb0b3398cf7a41f4d5338b51a9a072879f036e26b8/autograder-3.7.7.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-15 04:28:19",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "zmievsa",
"github_project": "autograder",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "autograder"
}