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.1.tar.gz (16.8 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.1-py3-none-any.whl (19.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for chawk-0.1.8.1.tar.gz
Algorithm Hash digest
SHA256 9949a8ded3e8d6f181da29b547b5cb81514bdd839512d4be5844df8a41adb9f9
MD5 e185f347701475a994941f66454c02fc
BLAKE2b-256 a18c400fecac7a16a3492756ff2972cc248b3c922a813393bb92a4ae1dc54a11

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for chawk-0.1.8.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7eac959d742d646214a62af1914661ee040f11969e648c3f4cb7f544af2191ce
MD5 7e7e92c5d067d3faa4521607e38c1103
BLAKE2b-256 ad4260d123c37cd4a528310b85f0dd4f9a2166347b7a904c6066be2b72af981d

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