Skip to main content

A canvas langchain integration

Project description

Canvas langchain document loader

Features:

Indexes Canvas Modules, Pages, Announcements, Assignments and Files

The following file types are supported: md htm html docx xls xlsx pptx pdf rtf txt

(doc support would require libreoffice, so has not been implemented in this library)

Running locally (development)

You can build/run the provided Dockerfile, or install dependencies as described below

Docker

Edit canvas-test.py, fill in the correct api_url, api_key, and course_id.

Run (this also builds docker):

docker run -it $(docker build -q .)

Install Dependencies

pip install -r requirements.txt

Usage example:

from canvas_langchain.canvas import CanvasLoader

loader = CanvasLoader(
	api_url = "https://CANVAS_API_URL_GOES_HERE",
	course_id = CANVAS_ID_GOES_HERE,
	api_key = "API_KEY_GOES_HERE"
)

try:
	documents = loader.load()

	print("\nDocuments:\n")
	print(documents)

	print("\nInvalid files:\n")
	print(loader.invalid_files)
	print("")

	print("\nErrors:\n")
	print(loader.errors)
	print("")

	print("\nIndexed:\n")
	print(loader.indexed_items)
	print("")

	print("\nProgress:\n")
	print(loader.get_details('DEBUG'))
	print("")
except Exception:
	details = loader.get_details('DEBUG')

If errors are present, loader.errors will contain one list element per error. It will consist of an error message (key named message) and if the error pertains to a specific item within canvas, it will list the entity_type and the entity_id of the resource where the exception occurred.

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_langchain-0.9.15.tar.gz (20.4 kB view hashes)

Uploaded Source

Built Distribution

canvas_langchain-0.9.15-py3-none-any.whl (19.8 kB view hashes)

Uploaded Python 3

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