Skip to content

Utilities for interacting with Canvas using Python and the canvasapi.

License

Notifications You must be signed in to change notification settings

TomasBeuzen/canvasutils

Repository files navigation

CanvasUtils

PyPI version

Utilities for interacting with Canvas using Python and the canvasapi.

Installation

Pip

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.

Conda

I periodically make conda builds which can be viewed here. Install with:

conda install -c tomasbeuzen canvasutils

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

widget_gif

api_url = "https://canvas.instructure.com/"
course_code = 123456

from canvasutils.submit import submit
submit(course_code, api_url=api_url, token=False)  # token=False allows you to enter token interactively

Text-based Submission

text_gif

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.

About

Utilities for interacting with Canvas using Python and the canvasapi.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published