CLI tool and WebUI that ingests LMS course exports and Echo360 transcripts into an AnythingLLM workspace for embedded course chatbots.
Project description
BotStash
A CLI tool and lightweight WebUI that ingests LMS course exports (Blackboard IMSCC / Canvas) and Echo360 VTT transcripts, uploads content to an AnythingLLM workspace, and returns embeddable chatbot code for pasting into a course page.
Features
- IMSCC ingestion — unzips and walks Blackboard/Canvas common cartridge exports
- Transcript ingestion — processes folders of Echo360 VTT files
- Multi-format extraction — PPTX, DOCX, PDF, VTT, QTI quizzes
- Auto-classification — heuristic tagging of content types (lecture, worksheet, assignment, etc.)
- AnythingLLM integration — uploads documents, manages workspaces, retrieves embed code
- WebUI — FastAPI + Jinja2 interface for non-terminal users
Installation
pip install botstash
Quick Start
# Full pipeline
botstash run course.zip transcripts/ \
--workspace ISYS2001 \
--url https://your-anythingllm.instance \
--key YOUR_API_KEY
# Two-step workflow (extract, review, embed)
botstash extract course.zip transcripts/ --output ./staging/
# ... review staging/tags.json ...
botstash embed ./staging/ --workspace ISYS2001
# Launch WebUI
botstash serve
Development
# Clone and install in dev mode
git clone https://github.com/michael-borck/botstash.git
cd botstash
uv sync --dev
# Run checks
uv run ruff check src/ tests/
uv run mypy src/
uv run pytest
License
MIT
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 botstash-0.1.1.tar.gz.
File metadata
- Download URL: botstash-0.1.1.tar.gz
- Upload date:
- Size: 114.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
806cb094856d0941ad9d6802e412cbef3ddfa1aef440cbbb00eb51657f2f93f2
|
|
| MD5 |
fccd14ae45c71f07c8fe277e3d5f8b5d
|
|
| BLAKE2b-256 |
35c8737d770b8bb244e3f73e726f6d91e5406a3093cf96111e69fb3aceb64eb7
|
File details
Details for the file botstash-0.1.1-py3-none-any.whl.
File metadata
- Download URL: botstash-0.1.1-py3-none-any.whl
- Upload date:
- Size: 29.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d82500486b6f13cec1c0d1454cfb6324ae05f80aee3c9c8fa4cba47d52af7c49
|
|
| MD5 |
dc7e06175492b2b333a6a53381462d5a
|
|
| BLAKE2b-256 |
4a4b7f27d81f0ae9ffb2b6d1a0fb843887f1311dd254b50091fddc968a88b584
|