{ "info": { "author": "Jeremy H.", "author_email": "jeremyh2@mail.ubc.ca", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Build Tools" ], "description": "# CAPICO-Library\nA helper library for Python 3 that provides a variety of helper functions for working with the Canvas API. Pagination is dealt with automatically for all relevant functions (so a returned pandas DataFrame will have **ALL** information).\n\n## To begin:\n```python\nfrom CC_API_jh2 import CAPICO\n```\n\n### Available Functions:\n#### User-level Functions:\n```python\n'''\nFunction gets page views for a user between start and end dates (UTC-8 DateTime objects).\nParameters:\n user (String): Canvas user ID in question\n token (String): Canvas token\n start (DateTime): UTC-8 DateTime object for start of time range\n end (DateTime): UTC-8 DateTime object for end of time range\nReturns:\n Pandas dataframe of all pages views for a user between start and end date\n'''\ndef get_user_page_views(user, token, url, start, end)\n```\n#### Course-level Functions:\n```python\n'''\nHelper function that gets Canvas course information.\nParameters:\n course_id (String): ID of Canvas course\n token (String): User-generated API token\n url (String): URL of Canvas instance\nReturns:\n Course object (JSON)\n'''\ndef get_course_info(course_id, token, url)\n\n'''\nGets all students in a course.\nParameters:\n url (String): URL of Canvas instance\n class_id (String): Canvas ID of course\n token (String): Canvas token\nReturns:\n Pandas DataFrame of students in a course\n''' \ndef get_student_list(url, class_id, token)\n\n'''\nGets all course modules\nParameters:\n url (String): URL of Canvas instance\n class_id(String): Canvas ID of course\n token (String): Canvas token\nReturns:\n Pandas DataFrame of modules in a course\n'''\ndef get_course_modules(url, class_id, token)\n\n'''\nGets all course pages\nParameters:\n url (String): URL of Canvas instance\n class_id(String): Canvas ID of course\n token (String): Canvas token\nReturns:\n Pandas DataFrame of pages in a course\n'''\ndef get_course_pages(url, class_id, token)\n\n'''\nGets all course files\nParameters:\n url (String): URL of Canvas instance\n class_id(String): Canvas ID of course\n token (String): Canvas token\nReturns:\n Pandas DataFrame of files in a course\n'''\ndef get_course_files(url, class_id, token)\n\n'''\nGets all users with as specified role in a course\nParameters:\n url_in (String): URL of Canvas instance\n token_in (String): Canvas token\n course_in (String): Canvas ID of course\n user_type (String): Specified role to look for (e.g. students)\nReturns:\n Pandas DataFrame of all users with a specified role in a course\n'''\ndef get_course_users(url_in, token_in, course_in, user_type)\n\n# allow_student_organized_groups, enable_offline_web_export\n'''\nChange settings for a course\nParameters:\n url_in (String): URL of Canvas instance\n token_in (String): Canvas token\n course_in (String): Canvas ID of course\n setting_name (String): Name of setting to change\n setting_value (int/Boolean): 1 is True, 0 is False\nReturns:\n None\n'''\ndef change_course_settings(url_in, token_in, course_in, setting_name, setting_value)\n```\n\n#### Course-quiz functions:\n```python\n'''\nGet all submissions for a specified quiz (Incomplete)\nParameters:\n url_in (String): URL of Canvas instance\n token_in (String): Canvas token\n course_in (String): Canvas ID of course\n quiz_in (String): Canvas ID of quiz\nReturns:\n JSON of all quiz submissions\n'''\ndef get_all_quiz_submissions(url_in, token_in, course_in, quiz_in)\n\n'''\nGives specified extra time to student\nParameters:\n url (String): URL of Canvas instance\n token (String): Canvas token\n class_id (String): Canvas ID of course\n quiz_id (String): Canvas ID of quiz\n student_id (String): Canvas ID of student\n extra_time (String): Extra time given to student in minutes\nReturns:\n Response body of API request\n'''\ndef extend_time(url, token, class_id, quiz_id, student_id, extra_time)\n\n'''\nGives specified extra time to all students in a course\nParameters:\n url (String): URL of Canvas instance\n token (String): Canvas token\n class_id (String): Canvas ID of course\n quiz_id (String): Canvas ID of quiz\n extra_time (String): Extra time given to student in minutes\nReturns:\n None\n'''\ndef extend_all(url, token, class_id, quiz_id, extra_time)\n```\n\n#### Blueprint-level functions:\n```python\n'''\nHelper function that gets a list of courses associated with a blueprint course (MAY CHANGE WHEN BLUEPRINT SYSTEM UPDATED)\nParameters:\n blue_id: Blueprint course ID on Canvas\n token: User-generated API token\n url: URL of Canvas instance\n'''\ndef get_associated_courses(blue_id, token, url)\n\n'''\nFunction adds and removes courses from blueprint associations\nParameters:\n blue_id (String): Canvas ID of blueprint course\n token (String): Canvas token\n url (String): Canvas URL\n to_remove (List[String]): List of courses to remove from blueprint association (if you do not wish to remove any, give an empty list)\n to_add (List[String]): List of courses to add from blueprint association (if you do not wish to add any, give an empty list)\nReturns:\n None\n'''\ndef update_associations(blue_id, token, url, to_remove, to_add)\n\n```\n\n#### Subaccount-level functions:\n```python\n'''\nFunction prints out the subaccount structure of a given node\nParameters:\n account_id (String): Canvas ID of node to find children for\n token (String): Canvas token\n url (String): Canvas URL\nReturns:\n None\n'''\ndef print_subaccount_tree(account_id, token, url)\n\n'''\nGets the info about a subaccount (Incomplete)\n'''\ndef get_account_info(url_in, token_in, subaccount_in)\n\n'''\nGets all courses under a subaccount (and all of its children accounts as well)\nParameters:\n url_in (String): URL of Canvas instance\n token_in (String): Canvas token\n subaccount_in (String, int): Canvas Subaccount ID\nReturns:\n Pandas DataFrame of all course under a subaccount\n'''\ndef get_account_courses(url_in, token_in, subaccount_in)\n\n# See change_course_settings\ndef change_course_settings_subaccount(url_in, token_in, subaccount_in, setting_names, setting_value)\n\n'''\nList all of the enrollment terms under a master account\nParameteres:\n url_in (String): URL of Canvas instance\n token_in (String): Canvas token\n subaccount_in (String): Canvas ID of master account\nReturns:\n Pandas DataFrame of all enrollment terms\n'''\ndef list_enrollment_terms(url_in, token_in, subaccount_in)\n\n```\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://github.com/ubccapico/CC-API-Collection/archive/v0.11.51.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ubccapico/CC-API-Collection", "keywords": "CAPICO,Canvas", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "CC-API-jh2", "package_url": "https://pypi.org/project/CC-API-jh2/", "platform": "", "project_url": "https://pypi.org/project/CC-API-jh2/", "project_urls": { "Download": "https://github.com/ubccapico/CC-API-Collection/archive/v0.11.51.tar.gz", "Homepage": "https://github.com/ubccapico/CC-API-Collection" }, "release_url": "https://pypi.org/project/CC-API-jh2/0.11.511/", "requires_dist": [ "requests", "pandas" ], "requires_python": "", "summary": "Canvas API helper functions for the CAPICO group.", "version": "0.11.511" }, "last_serial": 4428971, "releases": { "0.11.50": [ { "comment_text": "", "digests": { "md5": "e5d194bec5cf6ca4f36e309a549a066a", "sha256": "5e70a25623961f459acd4775f79b5128f43973059087113fed2bbfd75fb9406a" }, "downloads": -1, "filename": "CC_API_jh2-0.11.50-py3-none-any.whl", "has_sig": false, "md5_digest": "e5d194bec5cf6ca4f36e309a549a066a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7057, "upload_time": "2018-10-28T21:30:13", "url": "https://files.pythonhosted.org/packages/98/92/717d8d2040c7254bffc8babca29b090cda7b5c865d3188ee630855a1e0da/CC_API_jh2-0.11.50-py3-none-any.whl" } ], "0.11.51": [ { "comment_text": "", "digests": { "md5": "333e495e93dbda7add283cfccd07406e", "sha256": "884518b24a222b9db09c84945a7c8405a5b10d0dbd108ff8b0556c184fd7a3a4" }, "downloads": -1, "filename": "CC_API_jh2-0.11.51-py3-none-any.whl", "has_sig": false, "md5_digest": "333e495e93dbda7add283cfccd07406e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7063, "upload_time": "2018-10-29T19:18:15", "url": "https://files.pythonhosted.org/packages/d4/17/da4c2dbd83dd85ef767436e34e2d56c128e660fe9b1999cf4c076b2c56fa/CC_API_jh2-0.11.51-py3-none-any.whl" } ], "0.11.511": [ { "comment_text": "", "digests": { "md5": "f0ed553cb058417d6056568213c1be35", "sha256": "2bb21888f360e06b04d9bd16727c514a98013a9b441d60405ed79012dceae01e" }, "downloads": -1, "filename": "CC_API_jh2-0.11.511-py3-none-any.whl", "has_sig": false, "md5_digest": "f0ed553cb058417d6056568213c1be35", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8487, "upload_time": "2018-10-29T20:10:22", "url": "https://files.pythonhosted.org/packages/32/a3/0bf46750db848dfacc27f5b03ecab8e07415dc6b8efb787a715decc0dac6/CC_API_jh2-0.11.511-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f0ed553cb058417d6056568213c1be35", "sha256": "2bb21888f360e06b04d9bd16727c514a98013a9b441d60405ed79012dceae01e" }, "downloads": -1, "filename": "CC_API_jh2-0.11.511-py3-none-any.whl", "has_sig": false, "md5_digest": "f0ed553cb058417d6056568213c1be35", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8487, "upload_time": "2018-10-29T20:10:22", "url": "https://files.pythonhosted.org/packages/32/a3/0bf46750db848dfacc27f5b03ecab8e07415dc6b8efb787a715decc0dac6/CC_API_jh2-0.11.511-py3-none-any.whl" } ] }