Skip to main content

A small async API wrapper for Canvas Parents.

Project description

Canvas Parent API

This is an async wrapper for the Canvas API from Instructure. There are a few types of objects this will retrieve based on the assumption that you are a parent with students enrolled with Canvas.

The types of objects that can be returned include:

  • Observees (Students)
  • Courses
  • Assignments
  • Submissions

This module is provided for use with the Home Assistant custom integration Canvas however it could be useful as a standalone module for your own projects as well.

Installing

To install the module use:

python3 -m pip install canvas-parent-api

Get API Token

If you are a parent, you will have a Canvas Parent account. To get an API token, you must sign into the Canvas Parent application from a web browser. This is typically using: https://.instructure.com/login/canvas

Once you have signed into your account, navigate to Account > Settings.

Under "Approved Integrations" click "+ New Access Token" to create a new API Token.

Enter a Purpose and Expiration date (blank for no expiration).

Be sure to save your API token, as you will have to generate a new token if this is lost.

Usage

Example usage to get students, printing names:

import asyncio
from canvas_parent_api import Canvas

base_url = "https://school.instructure.com"
api_token = "randomstringthatisntreallyatoken"

async def get_students():
	client = Canvas(f"{base_url}",f"{api_token}")
	return await client.observees()

students = asyncio.run(get_students())

for student in students:
	print(student.name)

Patch Notes

  • 0.0.12:

    • Added pagination support to automatically paginate to end of available requests
  • 0.0.9:

    • Added Submissions

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

canvas_parent_api-0.0.23.tar.gz (10.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

canvas_parent_api-0.0.23-py3-none-any.whl (11.7 kB view details)

Uploaded Python 3

File details

Details for the file canvas_parent_api-0.0.23.tar.gz.

File metadata

  • Download URL: canvas_parent_api-0.0.23.tar.gz
  • Upload date:
  • Size: 10.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.2

File hashes

Hashes for canvas_parent_api-0.0.23.tar.gz
Algorithm Hash digest
SHA256 ecda86a191ae7453fc0efcbe50da5214cc131d50799a4101021dcc0397dcc0b9
MD5 41d2d67585b95ef6c7474ae23356fab6
BLAKE2b-256 5128aebec4a78d2028f697539ff11df1afb19d195df6e56dbfd018cfd4851361

See more details on using hashes here.

File details

Details for the file canvas_parent_api-0.0.23-py3-none-any.whl.

File metadata

File hashes

Hashes for canvas_parent_api-0.0.23-py3-none-any.whl
Algorithm Hash digest
SHA256 169812003177e14e8029de80561939aee3978bdec776559ec10770a188ad79cc
MD5 4478ca68ef8acb8bc1815599b31c07b5
BLAKE2b-256 17c4bc0708116a7a7af447c652796e788ad9f39405387fb654f2a0bc1227c101

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page