{ "info": { "author": "Luc Cary", "author_email": "luc.cary@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "Programming Language :: Python :: 3" ], "description": "Canvas LMS API Client Library\n=============================\n\n[Overview](#overview) \n[Testing](#testing) \n[Documentation](#documentation) \n[Installation](#installation) \n[Usage](#usage) \n[Contributing](#contributing) \n[References](#references) \n\nOverview\n--------\n\nThis is a library for making requests to a Canvas LMS API.\n\nTesting\n-------\n\nThis project is tested with [tox](https://tox.readthedocs.io/en/latest/).\n\nRun the tox command to run checks and unit tests:\n```\n$ tox\n```\n\nBy default, this project's tox runs:\n\n * [flake8](http://flake8.pycqa.org/en/latest/)\n * [mypy](https://github.com/python/mypy)\n * [pytest](https://docs.pytest.org/en/latest/)\n\nTo create test coverage reports:\n```\n$ tox -e cov\n```\n\nDeployment\n----------\n\nDeployment to pypi is done with tox:\n```\n$ tox -e deploy\n```\nMake sure to bump the version in setup.py before deploying.\n\nDocumentation\n-------------\n\nThis project has Sphinx documentation at the following url: \nhttps://lcary.github.io/canvas-lms-tools/\n\nThe public Canvas LMS API documentation is also very useful: \nhttps://canvas.instructure.com/doc/api/index.html\n\nInstallation\n------------\n\nTo install, use pip:\n\n pip install canvas_api_client\n\nOr clone the repo:\n\n git clone https://github.com/lcary/canvas-lms-tools.git\n cd canvas-lms-tools/canvas_api_client\n python setup.py install\n\nUsage\n-----\n\nAdding the client as a dependency in your project's `requirements.txt`\nfile is the intended way to use the client.\n\n#### REPL Example\n\n```\n$ python\n>>> from canvas_api_client.v1_client import CanvasAPIv1\n>>> url = 'https://my.canvas.instance.com/api/v1/'\n>>> token = '1396~xxxxxxxxxxxxxxxxxxxTHISxISxNOTxAxREALxTOKENxxxxxxxxxxxxxxxxxxxxx'\n>>> api = CanvasAPIv1(url, token)\n>>> l = api.get_account_blueprint_courses('1234')\n>>> for r in l.json():\n... print(r['id'], r['name'])\n...\n49400 Course_9000_Blueprint\n57600 Spring_2018_Blueprint\n```\n\n#### Script Example\n\nThis very simple example requires a few environment variables. The\nAPI URL and token should be something like:\n```\nCANVAS_API_URL=https://my.canvas.instance.com/api/v1/\nCANVAS_API_TOKEN=1396~xxxxxxxxxxxxxxxxxxxTHISxISxNOTxAxREALxTOKENxxxxxxxxxxxxxxxxxxxxx\n```\n\nThe recommended approach is to use a config file with limited read\npermissions instead of environment variables, but bear with me here.\n\nOnce installed in your project via pip, use as follows:\n\n```python\nfrom os import environ\nfrom pprint import pprint\n\nfrom canvas_api_client.v1_client import CanvasAPIv1 \n\nurl = environ.get('CANVAS_API_URL')\ntoken = environ.get('CANVAS_API_TOKEN')\n\napi = CanvasAPIv1(url, token)\nparams = {\"override_sis_stickiness\": \"true\"}\nresponse = api.import_sis_data('1', './courses.csv', params=params)\n\nprint('SIS Import Response:')\npprint(response.json())\n```\n\n#### CanvasAPIv1\n\nThis library is meant to be imported into your code. The `CanvasAPIv1` client\nobject requires a `api_url` argument and a `api_token` argument. The `api_url`\nshould likely be defined in a configuration file, and should be the full API\nURL without the endpoint, e.g. `https://canvas.com/api/v1/`. The `api_token`\nshould similarly be defined in a config file, and is the token generated in\nthe Canvas settings page.\n\nThere are a few helper functions that assist in sharing code between methods\nin `CanvasAPIv1` which are worth pointing out. For example, there is a method\nfor each request type, such as `._get()` for GET requests, etc. Each one of\nthese request type methods invokes `self._send_request()` which takes a\nnumber of parameters and returns a\n[`requests.Response`](http://docs.python-requests.org/en/master/api/#requests.Response)\nobject by default. Most of the public methods of the api client thus return\na `Response` object, so the caller will have access to the typical response\nmethods, such as `response.json()`.\n\nI say \"by default\", because it is possible to pass in your own requests\nlibrary. This is not necessarily recommended; this capability only exists for\nthe sake of easy dependency injection in unit testing as well as compatibility\nwith libraries such as requests-oauthlib.\n\nRefer to the client interface [documentation](#documentation) for more information.\n\nContributing\n------------\n\n#### Building Wheels\n\nBuilding the wheel:\n\n python setup.py bdist_wheel\n\n#### Installing Wheels\n\nHow to install the client for testing:\n\n pip uninstall canvas_api_client || echo \"Already uninstalled.\"\n pip install --no-index --find-links=dist canvas_api_client\n\nAlternatively, install by specifying the full or relative path to the `.whl` file:\n\n pip install --no-index /path/to/canvas-lms-tools/canvas_api_client/dist/canvas_api_client--py2.py3-none-any.whl\n\n(You may need to `pip install wheel` first if you are installing from another \nproject. Consult [stack overflow](https://stackoverflow.com/questions/28002897/wheel-file-installation)\nfor more help.)\n\n#### Sphinx Docs\n\nCreating the docs:\n\n cd docs\n pip install -r requirements.txt\n pip install canvas_api_client\n make html\n open build/html/index.html\n\nDeploying the docs to GitHub pages:\n\n git checkout master\n git pull\n git branch -D gh-pages\n git checkout -b gh-pages\n rm -rf ./*\n touch .nojekyll\n git checkout master canvas_api_client/docs/\n < build the docs as above > \n mv canvas_api_client/docs/build/html/* ./\n rm -rf canvas_api_client\n git add -A\n git commit\n git push -f origin gh-pages\n\nFor more info see the [GitHub Pages documentation](https://pages.github.com/),\nthe [Sphinx docs](http://www.sphinx-doc.org/en/master/contents.html),\nor the following [script docs](http://www.willmcginnis.com/2016/02/29/automating-documentation-workflow-with-sphinx-and-github-pages/).\n\nReferences\n----------\n\nThis project was originally created with the following \"cookiecutter\" tool: \nhttps://github.com/wdm0006/cookiecutter-pipproject\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "https://github.com/lcary/canvas-lms-tools/archive/0.2.11", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/lcary/canvas-lms-tools", "keywords": "", "license": "Apache", "maintainer": "", "maintainer_email": "", "name": "canvas-api-client", "package_url": "https://pypi.org/project/canvas-api-client/", "platform": "", "project_url": "https://pypi.org/project/canvas-api-client/", "project_urls": { "Download": "https://github.com/lcary/canvas-lms-tools/archive/0.2.11", "Homepage": "https://github.com/lcary/canvas-lms-tools" }, "release_url": "https://pypi.org/project/canvas-api-client/0.2.11/", "requires_dist": [ "requests (==2.18.1)" ], "requires_python": "", "summary": "This is a library for making requests to a Canvas LMS API.", "version": "0.2.11" }, "last_serial": 3865826, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "9c164724043501a07469798b47a7084f", "sha256": "e428f5ce4850e5ad0f35775e66e831ce039252830c7bb35e280c87c79ea3417d" }, "downloads": -1, "filename": "canvas_api_client-0.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9c164724043501a07469798b47a7084f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6743, "upload_time": "2018-01-24T00:11:17", "url": "https://files.pythonhosted.org/packages/c4/95/894e8f65d20542c5171bd09fc69e1dc48e7132437571c595066875cda5ad/canvas_api_client-0.0.1-py2.py3-none-any.whl" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "1f56b8f3e9403641456874eedbc4c70c", "sha256": "e2dbb2e23846739c2965901840c5f0381524a7e6a270f21fbbc95fff0fbd7c2b" }, "downloads": -1, "filename": "canvas_api_client-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1f56b8f3e9403641456874eedbc4c70c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7158, "upload_time": "2018-01-30T14:39:20", "url": "https://files.pythonhosted.org/packages/f2/c7/1ab5fd8d564fe4e25da6fdd47ea2d1fc525991dc1b95290cc03e5740bfb9/canvas_api_client-0.1.0-py2.py3-none-any.whl" } ], "0.1.0.dev0": [ { "comment_text": "", "digests": { "md5": "eba83ca7566772e12b4f15193a4cc6e7", "sha256": "bdf64d7f1128cddfab2af09d2f51040bf62d9bd3d38a1c615a5f1950ac5423b2" }, "downloads": -1, "filename": "canvas_api_client-0.1.0.dev0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "eba83ca7566772e12b4f15193a4cc6e7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7203, "upload_time": "2018-01-25T16:10:44", "url": "https://files.pythonhosted.org/packages/48/6a/122ff509be24d19989b8f80d210332db88c6494f8c90e5752a74b82148b1/canvas_api_client-0.1.0.dev0-py2.py3-none-any.whl" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "27f4e570403983fefd3898c0e2a428a5", "sha256": "dcf130c262dd79f795d828d0ff5a70d5c555bd6eeef271a552ec38a1d66ab51b" }, "downloads": -1, "filename": "canvas_api_client-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "27f4e570403983fefd3898c0e2a428a5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7745, "upload_time": "2018-02-12T21:39:59", "url": "https://files.pythonhosted.org/packages/03/0b/4b3a4aa4e15ec8d30a56c19834852b427f8364ee5c2a97c8177a0e88953d/canvas_api_client-0.2.0-py2.py3-none-any.whl" } ], "0.2.0.dev0": [ { "comment_text": "", "digests": { "md5": "7b37f8df34f09432b8ee87e991395405", "sha256": "02e2ee4491a1d9e28a74f32767ad40f8696cf4e85c18c2e6be7475df7ac9b8e0" }, "downloads": -1, "filename": "canvas_api_client-0.2.0.dev0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7b37f8df34f09432b8ee87e991395405", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7468, "upload_time": "2018-02-02T21:20:11", "url": "https://files.pythonhosted.org/packages/c7/9a/b9397b417e66c2f08bc3b5bee790e45422799beb879bb07b21fb95b40cf4/canvas_api_client-0.2.0.dev0-py2.py3-none-any.whl" } ], "0.2.0.dev1": [ { "comment_text": "", "digests": { "md5": "73b7ae1e7cfa21161f8fc4452666b1ae", "sha256": "55d6e7a4ca3d2f3cfc472eddeb4db9d9c464a6a497979162a38c24e5560cecd6" }, "downloads": -1, "filename": "canvas_api_client-0.2.0.dev1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "73b7ae1e7cfa21161f8fc4452666b1ae", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7843, "upload_time": "2018-02-05T19:35:04", "url": "https://files.pythonhosted.org/packages/3c/97/17e9988e8712430e294530d835df4ad01e4527c60fdec778dca62b3af90a/canvas_api_client-0.2.0.dev1-py2.py3-none-any.whl" } ], "0.2.0.dev2": [ { "comment_text": "", "digests": { "md5": "0cc17cf911622526b9c0d030f0b01f74", "sha256": "4ae23b5200fb88bd84bfeacc0a9251accefd185ffa24c1c8b39d9c09616c91a0" }, "downloads": -1, "filename": "canvas_api_client-0.2.0.dev2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0cc17cf911622526b9c0d030f0b01f74", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7807, "upload_time": "2018-02-05T21:37:33", "url": "https://files.pythonhosted.org/packages/6e/5d/069529a7c8df9bf770300d7fdddad53bc45b79b235058a8a46970f35efc6/canvas_api_client-0.2.0.dev2-py2.py3-none-any.whl" } ], "0.2.0.dev3": [ { "comment_text": "", "digests": { "md5": "85e78d81ccbaeab30f087757b01c82e7", "sha256": "0013dd68b316763b1b814353f4070d8b68932baeac41352fec04b2593e260b23" }, "downloads": -1, "filename": "canvas_api_client-0.2.0.dev3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "85e78d81ccbaeab30f087757b01c82e7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7810, "upload_time": "2018-02-05T22:27:09", "url": "https://files.pythonhosted.org/packages/85/a4/10f31aadc54875d0c3b70e14bd5bf7d02d6d4bf66814d9d53e33835d212a/canvas_api_client-0.2.0.dev3-py2.py3-none-any.whl" } ], "0.2.0.dev4": [ { "comment_text": "", "digests": { "md5": "b657d4bcd09548faed40e95fcd1fcf5f", "sha256": "ca6677b093503a2f6dd75806dfb81ac64f38c02d03c80af98f8c68a71c4f4d6a" }, "downloads": -1, "filename": "canvas_api_client-0.2.0.dev4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b657d4bcd09548faed40e95fcd1fcf5f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7839, "upload_time": "2018-02-05T23:19:20", "url": "https://files.pythonhosted.org/packages/3e/69/acb08247bca3668b7b3181d6a1b275c2b0330969bd195804e04536bbbcce/canvas_api_client-0.2.0.dev4-py2.py3-none-any.whl" } ], "0.2.0.dev5": [ { "comment_text": "", "digests": { "md5": "141d012bd5f9bb65fc3f4ec6c9fd7f67", "sha256": "6deabd26d0d94d727b4cb3091136952e197364619d9eb19c48a32adbb43a7d8b" }, "downloads": -1, "filename": "canvas_api_client-0.2.0.dev5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "141d012bd5f9bb65fc3f4ec6c9fd7f67", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7836, "upload_time": "2018-02-05T23:20:43", "url": "https://files.pythonhosted.org/packages/d3/8c/62d539d1151f13b5f1380383614c816a293ae5191ca49f924014d630c1e5/canvas_api_client-0.2.0.dev5-py2.py3-none-any.whl" } ], "0.2.0.dev6": [ { "comment_text": "", "digests": { "md5": "dd91e9e3463e4f30f8a950219458530a", "sha256": "e111d3a4919ccc03b550b08d9f76b2a1c6cd547fcd282f89b44f2638e71253be" }, "downloads": -1, "filename": "canvas_api_client-0.2.0.dev6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "dd91e9e3463e4f30f8a950219458530a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7834, "upload_time": "2018-02-05T23:23:13", "url": "https://files.pythonhosted.org/packages/0f/f6/01521c6eab060d2e383fb7c58e8b65f75dc41e7ef708b36ae4e1944ff880/canvas_api_client-0.2.0.dev6-py2.py3-none-any.whl" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "714d8d449f3a0209ea8acdfce1a1e350", "sha256": "3b8861789b91f3772481f2a0345e624cb6936b08798bdffc42f9b83d4b2f623b" }, "downloads": -1, "filename": "canvas_api_client-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "714d8d449f3a0209ea8acdfce1a1e350", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7884, "upload_time": "2018-02-26T20:27:44", "url": "https://files.pythonhosted.org/packages/65/a7/ad11d73036fb027ed298e488d80f46eec0ba9f94722fc6be04de96658300/canvas_api_client-0.2.1-py2.py3-none-any.whl" } ], "0.2.1.dev0": [ { "comment_text": "", "digests": { "md5": "0e2eb53bd32c9e0c667c00af2566ea19", "sha256": "1f0ed8f60a83e4f1524738beae8db3189a2d4e32e038782f58b3314d9e5d793d" }, "downloads": -1, "filename": "canvas_api_client-0.2.1.dev0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0e2eb53bd32c9e0c667c00af2566ea19", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7971, "upload_time": "2018-02-13T23:43:14", "url": "https://files.pythonhosted.org/packages/c2/4e/a8e2d455ef2e3424fe8e1d17fd13ce9c0d3164c1557cbdc6afa65be98462/canvas_api_client-0.2.1.dev0-py2.py3-none-any.whl" } ], "0.2.1.dev1": [ { "comment_text": "", "digests": { "md5": "444c2c0e2435b9c997b3ee5b95f95d5f", "sha256": "f986668b115a5e29596aea7bea097836318f82ca3f88496e024b88ba628d8c5c" }, "downloads": -1, "filename": "canvas_api_client-0.2.1.dev1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "444c2c0e2435b9c997b3ee5b95f95d5f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7970, "upload_time": "2018-02-14T14:29:26", "url": "https://files.pythonhosted.org/packages/a4/45/0b83c8ad816b4f8fd0f261ced2a678d0595a2e76df73eccffb46446ca02c/canvas_api_client-0.2.1.dev1-py2.py3-none-any.whl" } ], "0.2.10": [ { "comment_text": "", "digests": { "md5": "4a7f843a58144a6d46d8b31b02b5dd27", "sha256": "c50b79ddfa4f979778aff90d55e0fc2fe6d060b6f9297af223dca98a6cd585f7" }, "downloads": -1, "filename": "canvas_api_client-0.2.10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4a7f843a58144a6d46d8b31b02b5dd27", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8638, "upload_time": "2018-05-14T14:02:58", "url": "https://files.pythonhosted.org/packages/08/cd/548bf6412747f55d6b6add475be3809e4c73c042f170e643f93f1eba896e/canvas_api_client-0.2.10-py2.py3-none-any.whl" } ], "0.2.11": [ { "comment_text": "", "digests": { "md5": "bd295d395fc0334206c18877f2e8a266", "sha256": "fa115b0e99a4b1bdeebfbc1a8530e2b9d2f11d14eb28e9241155b395fc16caea" }, "downloads": -1, "filename": "canvas_api_client-0.2.11-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bd295d395fc0334206c18877f2e8a266", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8701, "upload_time": "2018-05-15T19:09:43", "url": "https://files.pythonhosted.org/packages/3f/8e/b237f37d9db106e8e12215786ba11ef2fa9c78a270e232aa281584ec49ef/canvas_api_client-0.2.11-py2.py3-none-any.whl" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "3bfa53046addc6fdba3b16f8c660ac63", "sha256": "0b43ac2ea32c00c101392ecd3e16f3fcf6235d837a5dc705ea03a80d37baf0e9" }, "downloads": -1, "filename": "canvas_api_client-0.2.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3bfa53046addc6fdba3b16f8c660ac63", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10498, "upload_time": "2018-03-01T15:52:34", "url": "https://files.pythonhosted.org/packages/31/af/0e2d536f91111743a96b6a8b62fc6e5653dd7f6158a92f103ce389e96774/canvas_api_client-0.2.3-py2.py3-none-any.whl" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "3e6eb10e034501bd52bd8952fb5826f8", "sha256": "baef40a1629cb494737fbfaa3ba607a123d0aecee2234c56baec3e5b693e232a" }, "downloads": -1, "filename": "canvas_api_client-0.2.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3e6eb10e034501bd52bd8952fb5826f8", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11347, "upload_time": "2018-03-27T22:49:34", "url": "https://files.pythonhosted.org/packages/e2/1b/3ada934501ebf00e32e0ceb1cc19347b86e4bc21c99bd9efb548695b1205/canvas_api_client-0.2.4-py2.py3-none-any.whl" } ], "0.2.4.dev0": [ { "comment_text": "", "digests": { "md5": "43e975cefdecdb60b07b71a706336366", "sha256": "5c8fb04c968e8aa3a1a94fe0839f7e58bedd01d249c13415696425f074098249" }, "downloads": -1, "filename": "canvas_api_client-0.2.4.dev0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "43e975cefdecdb60b07b71a706336366", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11435, "upload_time": "2018-03-27T14:44:40", "url": "https://files.pythonhosted.org/packages/b8/1d/2250c2b2539c75a508c73783a255d572cc7b8740f68f12b8c83d71e634bf/canvas_api_client-0.2.4.dev0-py2.py3-none-any.whl" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "8a00ed2dd407213f7b905fe7eda8bc57", "sha256": "1b0a97fe030494f0529ea92d7c25a2fa97734d1f31c4fdec65b39c917b4923aa" }, "downloads": -1, "filename": "canvas_api_client-0.2.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8a00ed2dd407213f7b905fe7eda8bc57", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8342, "upload_time": "2018-05-11T18:08:02", "url": "https://files.pythonhosted.org/packages/e2/8a/ce0305f81bb0056f8baff793dbdd6fac640577fc318e24ae9587e0db1f59/canvas_api_client-0.2.5-py2.py3-none-any.whl" } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "e9f1888217258737817bc457949a5029", "sha256": "bac593858489187d5a70590a21759728778a238a21bbc2934f75576b616fa05c" }, "downloads": -1, "filename": "canvas_api_client-0.2.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e9f1888217258737817bc457949a5029", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8456, "upload_time": "2018-05-11T18:10:53", "url": "https://files.pythonhosted.org/packages/67/b3/9980ace2a93e3532b7cfdc2dd7099914619edd2baecc05181625e42f7ad7/canvas_api_client-0.2.7-py2.py3-none-any.whl" } ], "0.2.8": [ { "comment_text": "", "digests": { "md5": "db041fb4e9c59077e413cace226a9294", "sha256": "02f045b1085e4aee65423c51446d613e4e17106582b8eb1a4a20505b000cd0f0" }, "downloads": -1, "filename": "canvas_api_client-0.2.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "db041fb4e9c59077e413cace226a9294", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8481, "upload_time": "2018-05-11T19:39:45", "url": "https://files.pythonhosted.org/packages/4b/f4/fa4925fef388a7b1cda9439d9d98703bdeec6a702f130d6ea5bbe456dbfb/canvas_api_client-0.2.8-py2.py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "bd295d395fc0334206c18877f2e8a266", "sha256": "fa115b0e99a4b1bdeebfbc1a8530e2b9d2f11d14eb28e9241155b395fc16caea" }, "downloads": -1, "filename": "canvas_api_client-0.2.11-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bd295d395fc0334206c18877f2e8a266", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8701, "upload_time": "2018-05-15T19:09:43", "url": "https://files.pythonhosted.org/packages/3f/8e/b237f37d9db106e8e12215786ba11ef2fa9c78a270e232aa281584ec49ef/canvas_api_client-0.2.11-py2.py3-none-any.whl" } ] }