chawk


Namechawk JSON
Version 0.1.5 PyPI version JSON
download
home_pageNone
SummaryAn API wrapper library for the Blackboard LMS.
upload_time2025-08-30 16:06:59
maintainerNone
docs_urlNone
authorNone
requires_python>=3.11
licenseNone
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"
}
        
Elapsed time: 3.48783s