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.13.tar.gz (10.1 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: canvas_parent_api-0.0.13.tar.gz
  • Upload date:
  • Size: 10.1 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.13.tar.gz
Algorithm Hash digest
SHA256 4c2ce25a314d07dd8dd5ec2a04519aa9e8d3e974817b2aca115d9806b9392c5b
MD5 91eaea31e06e999ff502f2bb6cba8290
BLAKE2b-256 99f31684110a41292dc8dffcf930e51b01c4590e394e9847b2240613c738d674

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for canvas_parent_api-0.0.13-py3-none-any.whl
Algorithm Hash digest
SHA256 15c926a61ebc36e296c72206f2a43a163d83d446d38504969a7313becd7e336b
MD5 438f6f1a459230546cc70d2b7d6303f4
BLAKE2b-256 f56cb227b588e0f5d93300c519c81c00ab0a078934b8adbbf48d97fe41b6ad23

See more details on using hashes here.

Supported by

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