GradeFast-2019
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
$ git clone https://github.com/eyantra-eysip/GradeFast-2019$ cd GradeFast-2019$ git checkout develop$ pip install .
Creating a gradefast project
Do this once [sudo permissions may be required]
npm install -g yonpm install -g generator-gradefast
Then generate your new project like this
yo gradefast
Features
- Submission downloading
- Plagiarism checking
- Primarily built for python but can support evaluation of any other tasks
- Aggregate results
- Upload marks
- Add comments
Also includes
- Detailed error logging
- Timing and static code analysis of scripts
- Resume tasks from where they are stopped
- Checking test conventions
- Boilerplate code generation
Running tests
- For unit tests:
python -m unittest discover -s tests/unit/ - For integration tests:
python -m unittest discover -s tests/unit/
Checking coverage
- Install coverage.py:
pip install coverage - Run
coverage run --source=gradefast/ -m unittest discover -s tests/unit/orcoverage run --source=gradefast/ -m unittest discover -s tests/integration/ - Generate static html
coverage html cd htmlcovand run http server withlive-serverorpython3 -m http.server
Building and running documentation
Installing required packages
$ pip install sphinx_ustack_themeandpip install sphinx_rtd_theme.$ pip install --upgrade sphinx
Building docs
$ cd docs$ make html
Running web server to host documentation
-
$ cd docs/_build/html -
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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| gradefast-0.1.18.tar.gz | 34.8 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.