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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9949a8ded3e8d6f181da29b547b5cb81514bdd839512d4be5844df8a41adb9f9
|
|
| MD5 |
e185f347701475a994941f66454c02fc
|
|
| BLAKE2b-256 |
a18c400fecac7a16a3492756ff2972cc248b3c922a813393bb92a4ae1dc54a11
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7eac959d742d646214a62af1914661ee040f11969e648c3f4cb7f544af2191ce
|
|
| MD5 |
7e7e92c5d067d3faa4521607e38c1103
|
|
| BLAKE2b-256 |
ad4260d123c37cd4a528310b85f0dd4f9a2166347b7a904c6066be2b72af981d
|