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_name(username: str, f_name: str, l_name: str) -> None
    update_password(username: str, password: str) -> None
    update_institution_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.8.tar.gz (16.9 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.8-py3-none-any.whl (19.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: chawk-0.1.8.tar.gz
  • Upload date:
  • Size: 16.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for chawk-0.1.8.tar.gz
Algorithm Hash digest
SHA256 d29e544dac41b3904ef9b4078dc85ffb29d8edcbc7ae6e220025a7f4d33a839b
MD5 e9eafd96f654c353a18ef901ebc1ac0a
BLAKE2b-256 e1cc517ee480639611417ab4f2130133cfb9371c488fa64fecad9e8a651334f6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chawk-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 19.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for chawk-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 ede559e34ff37975b42200944ba05f6fa28c3e696fe8d78384bc34c2fe8cde07
MD5 dc6e325c1277263e872a08fc23b3b9e4
BLAKE2b-256 7729964f42dfbe7a8f08f61f0f2a4bb087db362bc664bacbe804de583dabc6e4

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