Skip to main content

A suite of CLI tools and Python library interfacing with Learning Management Systems (LMSs).

Project description

LMS Tools

A suite of tools and Python interface for different Learning Management Systems (LMSs).

This project is not affiliated with any LMS developer/provider.

Documentation Table of Contents:

Installation

The project (tools and API) can be installed from PyPi with:

pip install edq-lms-toolkit

Standard Python requirements are listed in pyproject.toml. The project and Python dependencies can be installed from source with:

pip3 install .

Cloning

This repository includes submodules. To fetch these submodules on clone, add the --recurse-submodules flag. For example:

git clone --recurse-submodules git@github.com:edulinq/lms-toolkit.git

To fetch the submodules after cloning, you can use:

git submodule update --init --recursive

Usage Notes

Name Resolution and Labels

The LMS Toolkit is able to resolve most objects that have a name, so you can refer to that object by name instead of by ID. Fields with this resolution will be referred to as "queries". The exact attributes that can be used as a query depend on the underlying object, for example users can use their name or email in a user query.

A "label" is a formatted field that the LMS Toolkit will use in certain cases that includes both the name and id in a single field: "name (id)".

For example, a user may be identified by any of the following:

Query Type Query
Email sslug@test.edulinq.org
Name Sammy Slug
ID 123
Label (Email) sslug@test.edulinq.org (123)
Label (Name) Sammy Slug (123)

Output Formats

Many commands can output data in three different formats:

  • Text (--format text) -- A human-readable format (usually the default).
  • Table (--format table) -- A tab-separated table.
  • JSON (--format json) -- A JSON object/list.

CLI Tools

All CLI tools can be invoked with -h / --help to see the full usage and all options.

List Course Users

Course users can be listed using the lms.cli.courses.users.list tool. For example:

python3 -m lms.cli.courses.users.list

Get Course Users

To fetch information about course users, use the lms.cli.courses.users.get tool. For example:

python3 -m lms.cli.courses.users.get sslug@test.edulinq.org

Any number of user queries may be specified.

List Assignments

Course assignments can be listed using the lms.cli.courses.assignments.list tool. For example:

python3 -m lms.cli.courses.assignments.list

Get Assignments

To fetch information about course assignments, use the lms.cli.courses.assignments.get tool. For example:

python3 -m lms.cli.courses.assignments.fetch 'Homework 1'

Any number of assignment queries may be specified.

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

edq_lms_toolkit-1.0.4.tar.gz (39.2 kB view details)

Uploaded Source

Built Distribution

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

edq_lms_toolkit-1.0.4-py3-none-any.whl (52.1 kB view details)

Uploaded Python 3

File details

Details for the file edq_lms_toolkit-1.0.4.tar.gz.

File metadata

  • Download URL: edq_lms_toolkit-1.0.4.tar.gz
  • Upload date:
  • Size: 39.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.13

File hashes

Hashes for edq_lms_toolkit-1.0.4.tar.gz
Algorithm Hash digest
SHA256 8783432b0e9b4747e9d7039fbf3eeec3620622fcd02b8b3661b2b2a532f0efd0
MD5 376e56d765ba273653ab47443b29f3e7
BLAKE2b-256 9bd34dcc4f633cf710d99483ec17b0deb99934a3ef66dd3d26eea82d93adcbca

See more details on using hashes here.

File details

Details for the file edq_lms_toolkit-1.0.4-py3-none-any.whl.

File metadata

File hashes

Hashes for edq_lms_toolkit-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 68cca7348a9ac6159e7e966999f2cb8fd56c49acc10e8bc4614bd65a328707e7
MD5 1bead188c3e5c0cf38be34d7e3d8351d
BLAKE2b-256 fe9f833b5ab2e58d8b891fea52ed81ff80cf6e3dec1246173c12678d9b3846e4

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