Piazzabox is an archiver for Piazza courses. Save posts and file attachments from Piazza and generate static sites for local viewing!
Built with Python and Alpine.js + Tailwind.
- Archives course info and posts to json files
- Downloads file attachments and user profile photos
- Generates an offline, searchable webpage for each archived course
- Webpages properly display both markdown and math notations (LaTeX)
- Anonymous usernames are correctly generated (matches what's shown on Piazza)
python3 -m venv venv
source ./venv/bin/activate
pip install -r requirements.txt- Run
python3 piazzabox.pyand enter your login credentials. - Choose Piazza courses to archive.
- Open the generated
index.htmlfile found in theoutfolder (alternatively, host this somewhere).
Optional: Rename the secrets.template.json file to secrets.json and fill
in your Piazza email and password to keep your login credentials saved.
If Piazzabox fails due to network errors or is otherwise interrupted while archiving, restart the program and it will pick up where it left off.
There is no need to install dev dependencies for the webpage unless you are making changes to it. Use the following to install dev dependencies:
cd web
npm install
# Important: Run after making changes to re-build tailwind css
# npm run build