{"id":21067175,"url":"https://github.com/idf/autogradesource","last_synced_at":"2026-04-28T09:01:33.371Z","repository":{"id":144911290,"uuid":"59258323","full_name":"idf/AutoGradeSource","owner":"idf","description":"Automate GradeSource","archived":false,"fork":false,"pushed_at":"2016-05-20T02:38:08.000Z","size":523,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-20T21:16:06.602Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/idf.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-05-20T02:25:34.000Z","updated_at":"2016-05-20T02:26:32.000Z","dependencies_parsed_at":null,"dependency_job_id":"ce80c9b2-270c-4b63-b904-729d10b956d2","html_url":"https://github.com/idf/AutoGradeSource","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/idf%2FAutoGradeSource","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/idf%2FAutoGradeSource/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/idf%2FAutoGradeSource/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/idf%2FAutoGradeSource/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/idf","download_url":"https://codeload.github.com/idf/AutoGradeSource/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243510126,"owners_count":20302294,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-19T18:04:52.550Z","updated_at":"2025-12-28T10:10:12.854Z","avatar_url":"https://github.com/idf.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AutoGradeSource\nAutomate the workflow on [GradeSource](http://gradesource.com/).\n## Original author:\nhttps://github.com/chushao/Gradesource-Uploader\n\nChu Shao (Jan 1, 2013)\n\n# Requirements\nPython 2.7.x. This will not work on Python3++ and is untested for anything besides Python 2.7.x\n\n# Usage\n\n## WARNING\nMAKE SURE THE CSV CONTAINS **EVERY** EMAIL FROM GRADESOURCE FOR THAT ACCOUNT.\nAN EASY WAY IS TO GENERATE THE CSV  DOCUMENT AND THEN REMOVE THE FIRST COLUMN AFTER DONE INPUTTING GRADES\n\nThis python script is used to mass import grades into Gradesource.\n\nIt has four functions: \n- Download student name and email into a CSV file (CSV format: Name, Email)\n- Download student name and PID (for iClicker usage) into a CSV file (CSV format: Last Name, First Name, Email)\n- Send a CSV file to Gradesource to update a certain score using PID (CSV format, PID, Score)\n- Send a CSV file to Gradesource to update a certain score using Email (CSV format: Email, score)\n\n\n## To find the course ID\n* Login to Gradesource.\n* Click on edit course.\n* In the URL it should be https://www.gradesource.com/editcourse.asp?id=XXXXX\n* the number after id= is your course ID\n\n## To find the assignment ID\n* Login to Gradesource.\n* Click on Scores.\n* Find the Assignment that you would like to modify.\n* In the URL it should be https://www.gradesource.com/editscores1.asp?id=XXXXXX\n* the number after id= is your assignment ID\n\n## To use\nTo download student name and email (don't forget to use quotes):\n```sh\npython -c 'import gradesourceuploader; gradesourceuploader.downloadEmail(login, courseID)'\n```\n\nEXAMPLE: \n```sh\npython -c 'import gradesourceuploader; gradesourceuploader.downloadEmail(\"cshao\", \"99999\")'\n```\n\nTo download student name and PID (don't forget to use quotes and mainly for iClicker)\n```sh\npython -c 'import, gradesourceuploader; gradeseourceuploader.downloadiClicker(login, courseID)'\n```\n\nEXAMPLE:\n```sh\npython -c 'import gradesourceuploader; gradesourceuploader.downloadiClicker(\"cshao\", \"99999\")'\n```\n\nThe overwrite feature is to overwrite 0s. If Overwrite is set to 1, then 0s will be treated as 0s and when sent to gradesource, they will overwrite\nthe previous score wit ha 0. If Overwrite is set to 0, then 0 will be treated as null and when sent to gradesource, they will not overwrite the previous score.\n\n\nTo upload scores from a CSV file using email:\n```sh\npython -c 'import gradesourceuploader; gradesourceuploader.updateScoresByEmail(login, courseID, assignmentID, CSVFile, overwrite)'\n```\n\nEXAMPLE:\n```sh\npython -c 'import gradesourceuploader; gradesourceuploader.updateScoresByEmail(\"cshao\", \"99999\", \"111111\", \"grades.csv\", \"0\")'\n```\n\nTo upload scores from a CSV file using PID:\n```sh\npython -c 'import gradesourceuploader; gradesourceuploader.updateScoresByPID(login, courseID, assignmentID, CSVFile, overwrite)'\n```\n\nEXAMPLE:\n```sh\npython -c 'import gradesourceuploader; gradesourceuploader.updateScoresByPID(\"cshao\", \"99999\", \"111111\",, \"grades.csv\", \"1\")'\n```\n\nthe CSV file should contain\n* email@email.com,score\n* score can be empty as well\n\nSee **sample.csv** for example of updateScores\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fidf%2Fautogradesource","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fidf%2Fautogradesource","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fidf%2Fautogradesource/lists"}