Progressista¶
Progressista streams tqdm progress bars to a lightweight FastAPI gateway so that long‑running jobs can be monitored from any browser. Replace local bars with a drop‑in subclass, or wrap existing scripts with a CLI helper that patches imports on the fly.
Features¶
- Remote-first
RemoteTqdmimplementation that mirrors the local bar while sending updates to a server - FastAPI backend with a live WebSocket dashboard for active, stale, and completed tasks
- Typer-powered CLI with
serve,demo, andrunentry points - Optional bearer-token authentication and configurable cleanup windows
- MkDocs documentation and GitHub Actions workflows ready for CI/CD
Quick start¶
pip install progressista
# Start the FastAPI gateway
progressista serve --host 0.0.0.0 --port 8000
# Send sample bars
progressista demo --bars 3 --total 80
Or retrofit existing scripts without code changes:
progressista run your_script.py -- --arg value
Development workflow¶
pip install -e .[dev]
make test # pytest suite
make docs # mkdocs build --strict
make version # show VCS-derived version
The release pipeline relies on scripts/get_version.py and scripts/sync_version.py to keep pyproject.toml and progressista/__init__.py in sync with Git tags.