alive-progress
alive-progress is a Python terminal progress bar library that displays real-time throughput, ETA, and animated spinners. It supports multi-threaded updates, pause/resume functionality, and integrates seamlessly with print and logging statements.
Key facts
Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.
| Field | Value |
|---|---|
| Repository | rsalmei/alive-progress |
| Owner | rsalmei |
| Primary language | Python |
| License | MIT — OSI-approved |
| Stars | 6.3k |
| Forks | 234 |
| Open issues | 17 |
| Latest release | Unknown |
| Last updated | 2026-05-24 |
| Source | https://github.com/rsalmei/alive-progress |
What alive-progress is
A multi-threaded progress bar implementation for Python (3.9+) with dynamic frame rate optimization (~60 FPS), ETA calculation via exponential smoothing, and thread-safe print/logging hooks. MIT-licensed, actively maintained, with customizable animation factories.
Get the alive-progress source
Clone the repository and explore it locally.
git clone https://github.com/rsalmei/alive-progress.gitcd alive-progress# follow the project's README for install & configurationNeed it deployed, integrated, or customized instead? DEV.co ships production installs.
Best use cases
Implementation considerations
- FPS calibration available to tune update frequency vs. CPU overhead; default ~60 FPS is suitable for most terminals but can be reduced for heavily constrained systems.
- Pause mechanism requires explicit context manager usage (`with alive_bar(...) as bar:`) and manual call to `bar.pause()` / resume loop; not automatic.
- Auto-iteration and manual modes (counter/percentage) have different semantics; choose based on whether iteration count is known upfront.
- Print/logging hooks with enriched output now thread-safe (v3.2+); safe to call `print()` from concurrent workers without queue or lock ceremony.
- Custom animations require understanding the frame/cycle abstraction and use of check() tool for preview; learning curve moderate.
When to avoid it — and what to weigh
- GUI or web-based progress visualization required — alive-progress is terminal-only; if you need browser dashboards, web APIs, or graphical UIs, this is not the right tool.
- Real-time metrics collection and analytics backend — No built-in integration with APM, Prometheus, or cloud monitoring services; final receipt is in-memory only and not exported.
- Minimal dependencies or heavily constrained environments — Depends on graphemeu for Unicode width calculations; adds ~50KB and a transitive dependency chain; may be overkill for simple scripts.
- Embedded systems or Python 3.8 or earlier — Requires Python 3.9+; no support for EOL versions; not suitable for IoT or legacy codebases still on 3.6/3.7.
License & commercial use
MIT License. Permissive open-source license allowing unrestricted commercial use, modification, and distribution with attribution and no warranty.
MIT is a permissive OSI-approved license. Commercial use in proprietary products is permitted, including closed-source applications. No licensing fees or restrictions apply. Attribution required but not onerous. Suitable for SaaS, enterprise software, and vendor-maintained products.
DEV.co evaluation signals
Editorial assessment — not user reviews. Directional, with an explicit confidence level.
| Signal | Assessment |
|---|---|
| Maintenance | Active |
| Documentation | Adequate |
| License clarity | Clear |
| Deployment complexity | Low |
| DEV.co fit | Good |
| Assessment confidence | High |
No known security audit published. Terminal-based I/O only, no network exposure. Graphemeu dependency is a third-party unmaintained fork (original grapheme library unmaintained); supply-chain risk present but library is small and stable. No authentication, encryption, or sensitive data handling in scope. Code review before use in security-critical paths recommended.
Alternatives to consider
tqdm
More widely adopted (~50k+ stars), simpler API, larger ecosystem. Lacks pause/resume and real-time throughput display. Better if you need minimal deps and broad platform compatibility.
rich.progress
Rich ecosystem, supports tables/syntax highlighting, more polished terminal UI. Requires Rich dependency. Lacks pause/resume. Better if you need broader UI primitives beyond progress bars.
progressbar33
Lightweight alternative with customizable widgets. Less actively maintained and smaller feature set. Better for minimal-dependency environments or Python 2 legacy code (though 2.7 EOL).
Build on alive-progress with DEV.co software developers
alive-progress delivers real-time visibility, ETA accuracy, and pause/resume for long-running tasks. Let's integrate it into your workflow or explore alternatives tailored to your requirements.
Talk to DEV.coRelated open-source tools
Surfaced by semantic similarity across the DEV.co open-source index.
Related on DEV.co
Explore the category and the services that help you build with it.
alive-progress FAQ
Can I use alive-progress in a web application (Flask, Django, FastAPI)?
Does alive-progress support Windows?
How do I export or log the final receipt to a file or remote service?
Is alive-progress suitable for long-running background tasks in production?
Software developers & web developers for hire
From first prototype to production, DEV.co delivers software development services around tools like alive-progress. Our software development agency staffs experienced software developers and web developers for custom software development, web development, integrations, and ongoing support across open-source observability and beyond.
Need a robust progress tracking solution for your Python CLI or batch system?
alive-progress delivers real-time visibility, ETA accuracy, and pause/resume for long-running tasks. Let's integrate it into your workflow or explore alternatives tailored to your requirements.