Skip to main content

GradeFast-2019

'Gradefast Logo'

Gradefast is a framework whose intention is to make eYRC evaluations faster and bring a standardization across task evaluations. Most important benefit is that the test scripts can then be extended and be reused in other themes having similar tasks. Primary thought behind making GradeFast is to take care of all the boundary tasks that happen in theme evaluations and also make utility scripts that take care of other common tasks so that a lot of time is saved. Some of these tasks are downloading new submissions, iterating over each of the submission folders, easily finding files to test, comments based on criterias, uploading marks and plagiarism checking. The framework is also easy to use causing less to no cognitive load on a theme developer using it.

Installing gradefast

Installing from pip

$ pip install gradefast

OR

Installing from sources

  1. $ git clone https://github.com/eyantra-eysip/GradeFast-2019
  2. $ cd GradeFast-2019
  3. $ git checkout develop
  4. $ pip install .

Creating a gradefast project

Do this once [sudo permissions may be required]

  1. npm install -g yo
  2. npm install -g generator-gradefast

Then generate your new project like this

yo gradefast

Features

  1. Submission downloading
  2. Plagiarism checking
  3. Primarily built for python but can support evaluation of any other tasks
  4. Aggregate results
  5. Upload marks
  6. Add comments

Also includes

  1. Detailed error logging
  2. Timing and static code analysis of scripts
  3. Resume tasks from where they are stopped
  4. Checking test conventions
  5. Boilerplate code generation

Running tests

  1. For unit tests: python -m unittest discover -s tests/unit/
  2. For integration tests: python -m unittest discover -s tests/unit/

Checking coverage

  1. Install coverage.py: pip install coverage
  2. Run coverage run --source=gradefast/ -m unittest discover -s tests/unit/ or coverage run --source=gradefast/ -m unittest discover -s tests/integration/
  3. Generate static html coverage html
  4. cd htmlcov and run http server with live-server or python3 -m http.server

Building and running documentation

Installing required packages

  1. $ pip install sphinx_ustack_theme and pip install sphinx_rtd_theme.
  2. $ pip install --upgrade sphinx

Building docs

  1. $ cd docs
  2. $ make html

Running web server to host documentation

  1. $ cd docs/_build/html

  2. Start a web server in this directory. You can use either the python 3 HTTP server or live-server.

    $ python3 -m http.server

Future work

  • Statistics and analysis of results
  • Sandboxed environments
  • Multi-programming
  • Refactoring
  • Plugins API

Metadata

Release files for gradefast 0.1.18

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gradefast 0.1.18
File Size Uploaded Provenance
gradefast-0.1.18.tar.gz 34.8 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for gradefast 0.1.18
File Interpreter ABI Platform
gradefast-0.1.18-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 74.3 kB

Release files / gradefast-0.1.18.tar.gz

Download URL gradefast-0.1.18.tar.gz
Size 34.8 kB
Tags Source
SHA-256 checksum
How to use checksums
b6abeb16c5aff367c2ca4b92fd313a09c17cc4280c07d1e99182f365c2824121
BLAKE2b-256 checksum
How to use checksums
c0e23ad02eb014c4dcdcc241a9172c2efb0462720f92097a4e0a49ee24347aa6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/50.3.1 requests-toolbelt/0.9.1 tqdm/4.33.0 CPython/3.5.6

Release files / gradefast-0.1.18-py2.py3-none-any.whl

Download URL gradefast-0.1.18-py2.py3-none-any.whl
Size 39.5 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
2401226b0d44a631c388ac2db143b2c1f8592cc14ea746f5244f721d8ad42897
BLAKE2b-256 checksum
How to use checksums
47be94efa3a008ae4893e3c99ce765c995114c341b316410bd8cbc1f73fab279
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/50.3.1 requests-toolbelt/0.9.1 tqdm/4.33.0 CPython/3.5.6

Security for gradefast 0.1.18

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page