| Name | chawk JSON |
| Version |
0.1.5
JSON |
| download |
| home_page | None |
| Summary | An API wrapper library for the Blackboard LMS. |
| upload_time | 2025-08-30 16:06:59 |
| maintainer | None |
| docs_url | None |
| author | None |
| requires_python | >=3.11 |
| license | None |
| keywords |
api
blackboard
lms
wrapper
|
| VCS |
 |
| bugtrack_url |
|
| requirements |
No requirements were recorded.
|
| Travis-CI |
No Travis.
|
| coveralls test coverage |
No coveralls.
|
# 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](https://developer.blackboard.com/).
# Example of using the library
```python
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
```python
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
```python
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
```markdown
```
## Gradebook
```python
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
```
Raw data
{
"_id": null,
"home_page": null,
"name": "chawk",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": null,
"keywords": "api, blackboard, lms, wrapper",
"author": null,
"author_email": "sugarvoid <author@example.com>",
"download_url": "https://files.pythonhosted.org/packages/98/c4/0857d93112613ef49a0edd076a5dbca475e0ac34ad390551b6740effc893/chawk-0.1.5.tar.gz",
"platform": null,
"description": "# Chawk \nA python wrapper of the blackboard api to simplify admin tasks such as managing courses. \n\n> [!WARNING] \n> This project is a work in progress. \n\n# Setup \nYou will need to create an application to get the needed keys. You can request access to the Blackboard REST APIs through the [Developer Portal](https://developer.blackboard.com/). \n\n\n# Example of using the library \n```python\n\nfrom chawk.blackboard_client import BlackboardClient\n\n\nbase_url = \"https://blackboard.xxxx.edu\"\nclient_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\nclient_secret = \"xxxxxxxxxxxxxxxxxxxxxxxxx\"\n\n# Create client\nclient = BlackboardClient(client_id, client_secret, base_url, \"example.log\")\n\n# Example usage\nprint(client.user.does_user_exist(\"00000_0\"))\nprint(client.course.does_course_exist(\"00000_1\"))\n\nclient.course.enroll_user(username=\"wilson1234\", course_id=\"math101213\", role=\"Student\")\n```\n\n# Current Functions \n\n## User\n```python\n create_user(username: str, f_name: str, l_name: str, email: str, password: str) -> None\n does_user_exist(username: str) -> bool\n update_email(username: str, email: str) -> None\n update_availability(username: str, availability: str) -> None\n update_data_source(username: str, data_source_id: str) -> None\n get_course_role(username: str, course_id: str) -> str\n add_institution_roles(username: str, roles: list) -> None\n get_enrollments(username: str) -> list[Course]\n\n```\n\n## Course\n```python\n add_child_course(course_id: str, child_id: str) -> None\n enroll_user(username: str, course_id: str, role: str = \"Student\") -> None\n does_course_exist(course_id: str) -> bool\n remove_user_from_course(username: str, course_id: str) -> None\n get_course_student_list(course_id: str) -> list\n create_empty_course(course_id: str, course_name: str) -> None\n copy_course_exact(master_id: str, copy_id: str) -> None\n delete_course(course_id: str) -> None\n change_user_availability(student_id: str, course_id: str, available: str = \"No\")\n update_course_title(course_id: str, new_name: str) -> None\n update_course_term(course_id: str, term_id: str) -> None\n update_course_availability(course_id: str, availability: str) -> None\n rename_course(course_id: str, new_name: str) -> None\n get_users_in_course_by_role(course_id: str, role: str = \"\") -> list[str]\n```\n\n## Discussion\n```markdown\n\n```\n\n## Gradebook\n```python\n update_grade(course_id: str, column_id: str, username: str, new_value: str) -> None\n update_column_due_date(course_id: str, column_id: str, due_date: str) -> None\n create_gradebook_column(course_id: str, column_name: str, description: str, score: int) -> None\n```\n",
"bugtrack_url": null,
"license": null,
"summary": "An API wrapper library for the Blackboard LMS.",
"version": "0.1.5",
"project_urls": {
"Homepage": "https://github.com/sugarvoid/chawk",
"Issues": "https://github.com/sugarvoid/chawk/issues"
},
"split_keywords": [
"api",
" blackboard",
" lms",
" wrapper"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "e151053d7214fb19ff7ec7eca621ecb47a1258544a30303cf41c4cb287dcf11a",
"md5": "f2f504a5082910f7b4be2e184a38de2d",
"sha256": "84c56d5e4ed65ae3fe2ac098eef2fe8067d7759e3f559b69c6198e9c8c8f66dd"
},
"downloads": -1,
"filename": "chawk-0.1.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f2f504a5082910f7b4be2e184a38de2d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11",
"size": 18823,
"upload_time": "2025-08-30T16:06:58",
"upload_time_iso_8601": "2025-08-30T16:06:58.258093Z",
"url": "https://files.pythonhosted.org/packages/e1/51/053d7214fb19ff7ec7eca621ecb47a1258544a30303cf41c4cb287dcf11a/chawk-0.1.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "98c40857d93112613ef49a0edd076a5dbca475e0ac34ad390551b6740effc893",
"md5": "f2fb7b4f60969bb1b3c6ae7654666ee9",
"sha256": "51570af5401215572d3a9ee6d011a9468088e6a732642d57ac33302a90b9ec56"
},
"downloads": -1,
"filename": "chawk-0.1.5.tar.gz",
"has_sig": false,
"md5_digest": "f2fb7b4f60969bb1b3c6ae7654666ee9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 16274,
"upload_time": "2025-08-30T16:06:59",
"upload_time_iso_8601": "2025-08-30T16:06:59.380151Z",
"url": "https://files.pythonhosted.org/packages/98/c4/0857d93112613ef49a0edd076a5dbca475e0ac34ad390551b6740effc893/chawk-0.1.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-30 16:06:59",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "sugarvoid",
"github_project": "chawk",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "chawk"
}