Metadata-Version: 2.4
Name: PyBlackboard-LMS
Version: 0.1.1
Summary: Python and command-line interfaces for Blackboard LMS API.
Author-email: Alex Amo <hello@alejandroamo.eu>
License-Expression: MIT
Keywords: blackboard,blackboard-learn,cli,education,lms
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Education
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests<3,>=2.31
Requires-Dist: pandas<3,>=2.0
Requires-Dist: XlsxWriter<4,>=3.1
Provides-Extra: dev
Requires-Dist: black<27,>=24.0; extra == "dev"
Requires-Dist: build<2,>=1.2; extra == "dev"
Requires-Dist: check-wheel-contents<1,>=0.6; extra == "dev"
Requires-Dist: mypy<2,>=1.10; extra == "dev"
Requires-Dist: ruff<1,>=0.6; extra == "dev"
Requires-Dist: twine<7,>=5.1; extra == "dev"
Dynamic: license-file

# PyBlackboard-LMS

Python and command-line interfaces for Blackboard LMS API.

`blackboard_api` is a Python module that provides Blackboard LMS API interfaces. It features:

- Resilient HTTP transport and OAuth authentication.
- API quota tracking.
- A write lock that blocks mutating operations before they reach Blackboard.
- Transparent pagination for object collections.
- Iterators for consuming large result sets without accumulating every item in memory.
- An abstraction layer that provides human-oriented methods for doing the most common tasks.

`blackboard-cli` is a command-line tool that exposes the methods provided by
`blackboard_api` and can export data as JSON, CSV, or Microsoft Excel files. It is intended as a
data exploration and management tool for Blackboard administrators.

## Installation

PyBlackboard-LMS requires Python 3.10 or later.

```text
python -m pip install PyBlackboard-LMS
```

The package installs the `blackboard-cli` command and the `blackboard_api` module.

## API reference

See [the API reference](https://github.com/alejandro-amo/PyBlackboard-LMS/blob/master/docs/api_reference.md) for the public interface.

## CLI command reference

See [the CLI reference](https://github.com/alejandro-amo/PyBlackboard-LMS/blob/master/docs/cli_reference.md) for the complete command list.

Use `--command-help` to view every available command.

## Contact and collaboration requests

via email: [hello@alejandroamo.eu](mailto://hello@alejandroamo.eu)
