LatePenalty


NameLatePenalty JSON
Version 0.0.5 PyPI version JSON
download
home_pagehttps://github.com/scott-yj-yang/LatePenalty
SummaryApply Late Penalty to Gradescope Submission to Canvas
upload_time2023-05-24 22:23:16
maintainer
docs_urlNone
authorScott Yang
requires_python>=3.7
licenseApache Software License 2.0
keywords nbdev jupyter notebook python
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Getting Started

<!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! -->

## Install

You can install via Pypi:

``` shell
pip install LatePenalty
```

Or alternatively, you can directly install from source

``` sh
pip install git+https://github.com/scott-yj-yang/LatePenalty.git
```

## How to use

View our tutorial:

### [Gradescope](./tutorial/gradescope%20late%20penalty%20tutorial.html)

### [nbgrader](./tutorial/nbgrader%20late%20penalty%20tutorial.html)

# FAQ

## Why do `LatePenalty` Exist?

This module supports both gradescope and nbgrader. Gradescope is an
interface where students can hand in their homework, programming
assignments, and even exams. Gradescope does accept late submission
after the official deadline, but it does not support well with the late
penalty of late submission, according to the course policy. In other
words, gradescope accepts late submission, but does nothing to
disincentive the late submissions. `LatePenalty` applies late penalty
for the late submissions when we publish grades from gradescope to
canvas, with custom messages for students about the allowance of the
penalty.

## Why not use `Post Grades to Canvas` on Gradescope?

- No Late Penalty

> Gradescope accepts late submissions from students, but the platform
> does not penalize late submissions. `Post Grades to Canvas` will post
> the raw score, shown on gradescope, to a specific assignment on
> canvas.

- No Support for Multiple Components of a Single Assignment

> Gradescope’s `Post Grades to Canvas` is a one-to-one mapping from
> gradescope’s assignment to canvas’ assignment. In certain cases, where
> an assignment has multiple components (auto-graded notebook and
> handwritten math work), gradescope cannot combine the score to a
> single assignment. For example, let’s say we have an assignment called
> `Assignment 1`, which has two components - `Assignment 1 - Autograder`
> and `Assignment 1 - Manual Grading` on gradescope. This package will
> combine two assignments into one and sync the canvas grade

## Late Policy

Some courses allow students to submit their work within a certain mercy
period of time, also called *slip days* or *slip hours*. Once

In this module, we the package `canvasapi` to

## How to set credentials

This package uses [canvas API](https://canvas.instructure.com/doc/api/)
and its wrapper package
[canvasapi](https://github.com/ucfopen/canvasapi) to post grades and
comments to your target course’s assignment. To do that, you’ll have to
provide the canvas credentials.

In order to interact with this software, you’ll have to create a
`credentials.json` file that is in the following format:

    {'GitHub Token': 'token', 'Canvas Token': 'token'}

Whenever you create an object, you will need to authenticate via this
`credentials.json` file through providing the file path to the object
initializer. It will test whether the credential you provided is
authenticate or not.

## How to obtain credentials

1.  Login to Canvas
2.  On the left menu bar, click `Account` -\> `Profile`
3.  At the profile page, click `Settings`
4.  Scroll down, at `Approved Integrations`, click `+ New Access Token`
5.  Name it, set expire date, and copy to the `credentials.json`

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/scott-yj-yang/LatePenalty",
    "name": "LatePenalty",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "nbdev jupyter notebook python",
    "author": "Scott Yang",
    "author_email": "yuy004@ucsd.edu",
    "download_url": "https://files.pythonhosted.org/packages/8a/36/d9d9e1f198e0549e56ce49e49b4c6b9dc80002746f8e18f58dcd93614e9b/LatePenalty-0.0.5.tar.gz",
    "platform": null,
    "description": "# Getting Started\n\n<!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! -->\n\n## Install\n\nYou can install via Pypi:\n\n``` shell\npip install LatePenalty\n```\n\nOr alternatively, you can directly install from source\n\n``` sh\npip install git+https://github.com/scott-yj-yang/LatePenalty.git\n```\n\n## How to use\n\nView our tutorial:\n\n### [Gradescope](./tutorial/gradescope%20late%20penalty%20tutorial.html)\n\n### [nbgrader](./tutorial/nbgrader%20late%20penalty%20tutorial.html)\n\n# FAQ\n\n## Why do `LatePenalty` Exist?\n\nThis module supports both gradescope and nbgrader. Gradescope is an\ninterface where students can hand in their homework, programming\nassignments, and even exams. Gradescope does accept late submission\nafter the official deadline, but it does not support well with the late\npenalty of late submission, according to the course policy. In other\nwords, gradescope accepts late submission, but does nothing to\ndisincentive the late submissions. `LatePenalty` applies late penalty\nfor the late submissions when we publish grades from gradescope to\ncanvas, with custom messages for students about the allowance of the\npenalty.\n\n## Why not use `Post Grades to Canvas` on Gradescope?\n\n- No Late Penalty\n\n> Gradescope accepts late submissions from students, but the platform\n> does not penalize late submissions. `Post Grades to Canvas` will post\n> the raw score, shown on gradescope, to a specific assignment on\n> canvas.\n\n- No Support for Multiple Components of a Single Assignment\n\n> Gradescope\u2019s `Post Grades to Canvas` is a one-to-one mapping from\n> gradescope\u2019s assignment to canvas\u2019 assignment. In certain cases, where\n> an assignment has multiple components (auto-graded notebook and\n> handwritten math work), gradescope cannot combine the score to a\n> single assignment. For example, let\u2019s say we have an assignment called\n> `Assignment 1`, which has two components - `Assignment 1 - Autograder`\n> and `Assignment 1 - Manual Grading` on gradescope. This package will\n> combine two assignments into one and sync the canvas grade\n\n## Late Policy\n\nSome courses allow students to submit their work within a certain mercy\nperiod of time, also called *slip days* or *slip hours*. Once\n\nIn this module, we the package `canvasapi` to\n\n## How to set credentials\n\nThis package uses [canvas API](https://canvas.instructure.com/doc/api/)\nand its wrapper package\n[canvasapi](https://github.com/ucfopen/canvasapi) to post grades and\ncomments to your target course\u2019s assignment. To do that, you\u2019ll have to\nprovide the canvas credentials.\n\nIn order to interact with this software, you\u2019ll have to create a\n`credentials.json` file that is in the following format:\n\n    {'GitHub Token': 'token', 'Canvas Token': 'token'}\n\nWhenever you create an object, you will need to authenticate via this\n`credentials.json` file through providing the file path to the object\ninitializer. It will test whether the credential you provided is\nauthenticate or not.\n\n## How to obtain credentials\n\n1.  Login to Canvas\n2.  On the left menu bar, click `Account` -\\> `Profile`\n3.  At the profile page, click `Settings`\n4.  Scroll down, at `Approved Integrations`, click `+ New Access Token`\n5.  Name it, set expire date, and copy to the `credentials.json`\n",
    "bugtrack_url": null,
    "license": "Apache Software License 2.0",
    "summary": "Apply Late Penalty to Gradescope Submission to Canvas",
    "version": "0.0.5",
    "project_urls": {
        "Homepage": "https://github.com/scott-yj-yang/LatePenalty"
    },
    "split_keywords": [
        "nbdev",
        "jupyter",
        "notebook",
        "python"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "58892e429cc8d645711d4299ead57200f0afd09a200ccb8fef1a7da265480e0c",
                "md5": "aba6f0df740ad43efc9a12d5651e08f2",
                "sha256": "ae2012649cde24942c89ca26432a5998ff01fd588a5a740a9999e776f34616a6"
            },
            "downloads": -1,
            "filename": "LatePenalty-0.0.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "aba6f0df740ad43efc9a12d5651e08f2",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 15299,
            "upload_time": "2023-05-24T22:23:13",
            "upload_time_iso_8601": "2023-05-24T22:23:13.955015Z",
            "url": "https://files.pythonhosted.org/packages/58/89/2e429cc8d645711d4299ead57200f0afd09a200ccb8fef1a7da265480e0c/LatePenalty-0.0.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8a36d9d9e1f198e0549e56ce49e49b4c6b9dc80002746f8e18f58dcd93614e9b",
                "md5": "a9c47143a1ed030218fbdf7087f74c6f",
                "sha256": "901d78536c851357901ae809fbab07b8fccac0fbc8ffd55827a71ab3315b3833"
            },
            "downloads": -1,
            "filename": "LatePenalty-0.0.5.tar.gz",
            "has_sig": false,
            "md5_digest": "a9c47143a1ed030218fbdf7087f74c6f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 13687,
            "upload_time": "2023-05-24T22:23:16",
            "upload_time_iso_8601": "2023-05-24T22:23:16.019078Z",
            "url": "https://files.pythonhosted.org/packages/8a/36/d9d9e1f198e0549e56ce49e49b4c6b9dc80002746f8e18f58dcd93614e9b/LatePenalty-0.0.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-05-24 22:23:16",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "scott-yj-yang",
    "github_project": "LatePenalty",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "latepenalty"
}
        
Elapsed time: 0.06741s