Skip to main content

An API wrapper library for the Blackboard LMS.

Project description

Chawk

A python wrapper of the blackboard api to simplify admin tasks such as managing courses.

[!WARNING]
This project is a work in progress.

Setup

You will need to create an application to get the needed keys. You can request access to the Blackboard REST APIs through the Developer Portal.

Example of using the library

from chawk.blackboard_client import BlackboardClient


base_url = "https://blackboard.xxxx.edu"
client_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
client_secret = "xxxxxxxxxxxxxxxxxxxxxxxxx"

# Create client
client = BlackboardClient(client_id, client_secret, base_url, "example.log")

# Example usage
print(client.user.does_user_exist("00000_0"))
print(client.course.does_course_exist("00000_1"))

client.course.enroll_user(username="wilson1234", course_id="math101213", role="Student")

Current Functions

User

    create_user(username: str, f_name: str, l_name: str, email: str, password: str) -> None
    does_user_exist(username: str) -> bool
    update_email(username: str, email: str) -> None
    update_availability(username: str, availability: str) -> None
    update_data_source(username: str, data_source_id: str) -> None
    get_course_role(username: str, course_id: str) -> str
    add_institution_roles(username: str, roles: list) -> None
    get_enrollments(username: str) -> list[Course]

Course

    add_child_course(course_id: str, child_id: str) -> None
    enroll_user(username: str, course_id: str, role: str = "Student") -> None
    does_course_exist(course_id: str) -> bool
    remove_user_from_course(username: str, course_id: str) -> None
    get_course_student_list(course_id: str) -> list
    create_empty_course(course_id: str, course_name: str) -> None
    copy_course_exact(master_id: str, copy_id: str) -> None
    delete_course(course_id: str) -> None
    change_user_availability(student_id: str, course_id: str, available: str = "No")
    update_course_title(course_id: str, new_name: str) -> None
    update_course_term(course_id: str, term_id: str) -> None
    update_course_availability(course_id: str, availability: str) -> None
    rename_course(course_id: str, new_name: str) -> None
    get_users_in_course_by_role(course_id: str, role: str = "") -> list[str]

Discussion


Gradebook

    update_grade(course_id: str, column_id: str, username: str, new_value: str) -> None
    update_column_due_date(course_id: str, column_id: str, due_date: str) -> None
    create_gradebook_column(course_id: str, column_name: str, description: str, score: int) -> None

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

chawk-0.1.4.tar.gz (16.3 kB view details)

Uploaded Source

Built Distribution

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

chawk-0.1.4-py3-none-any.whl (19.0 kB view details)

Uploaded Python 3

File details

Details for the file chawk-0.1.4.tar.gz.

File metadata

  • Download URL: chawk-0.1.4.tar.gz
  • Upload date:
  • Size: 16.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.13

File hashes

Hashes for chawk-0.1.4.tar.gz
Algorithm Hash digest
SHA256 ffee6734d8a56fb17d69ee3c55a11c439b3ebda817393a9130bc4b04aea9cc49
MD5 2a9cd6cb7da13f4a496cdffb7ac4c36a
BLAKE2b-256 ae958767af309df38a65c9c67c9c8f1155015461904196544fb77648a2388cd0

See more details on using hashes here.

File details

Details for the file chawk-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: chawk-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 19.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.13

File hashes

Hashes for chawk-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 96b1c1c26ac358ff4218942ca399a795e6adfaeac859a7ad9f0ed93b8cbeea20
MD5 6ddc7a156c73ca6a09dedb2028a41f18
BLAKE2b-256 3bdd439cd5971d850ed79929f0cb8c4b46dc9df1d21fc9a94cf7820cd0a765b1

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