CanvasUtils
Utilities for interacting with Canvas using Python and the canvasapi.
Installation
pip install canvasutils
canvasutils
depends on the ipywidgets
packages. To make sure widgets render correctly in notebooks, you may need to enable the widgets extension in Jupyter following these instructions in the ipywidgets docs, in particular, follow these instructions if using Jupyter Lab.
Features
- Submit files to Canvas from within a Jupyter notebook with user-friendly widgets.
- Convert files to formats like
.html
from with canvas. - Create assignments (coming)
- Create assignment rubrics (coming)
Dependencies
See the file pyproject.toml, under the section [tool.poetry.dependencies]
.
Usage
Assignment Submission in Jupyter
The submit module is made to be used within a Jupyter notebook (.ipynb file). See the provided example.ipynb. There are two available submission interfaces, widget-based drop-down menus, or text-based entries.
Widget Submission
api_url = "https://canvas.instructure.com/"
course_code = 123456
from canvasutils.submit import submit
submit(course_code, api_url=api_url, token=False)
Text-based Submission
submit(course_code, api_url=api_url, token=False, no_widgets=True)
Notebook Conversion in Jupyter
Note that this command will convert the most recently saved version of a notebook. You should save your notebook before executing this command in a cell.
from canvasutils.submit import convert_notebook
convert_notebook('example.ipynb', to_format="html")
Notebook successfully converted!
Contributors
Contributions are welcomed and recognized. You can see a list of contributors in the contributors tab.
Credits
This package was originally based on this repository created by Emily Gubski and Steven Wolfram.