Registry / observability / alive-progress

alive-progress

JSON →
library3.3.0pypypi✓ verified 23d ago

alive-progress is a versatile and highly customizable Python library for creating animated progress bars in the terminal. It provides visual feedback for long-running tasks with real-time throughput, Estimated Time of Arrival (ETA), and a variety of cool animations. Currently at version 3.3.0, the library maintains an active development and release cadence, offering robust features for CLI applications.

pip install alive-progress
INSTALL
IMPORT
SIG · ALIVE-PROGRESS
A
alive-progress
observabilitypythonv3.3.0
Install
1.7s avg
Import
36ms
Disk
17MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v3.3.0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.95 runs
installs and imports cleanly · install 0.0s · import 0.038s · 18.6MB
glibc
py 3.103.95 runs
installs and imports cleanly · install 1.7s · import 0.034s · 19MB
17MB installed
● package 17MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

alive_bar
from alive_progress import alive_bar
alive_it
from alive_progress import alive_it
A convenient wrapper for iterables, automatically handling bar updates.

This quickstart demonstrates the most common usage pattern for `alive-progress` using the `alive_bar` context manager. It initializes a progress bar with a total count and updates it in each iteration of a loop.

import time from alive_progress import alive_bar TOTAL_ITEMS = 100 with alive_bar(TOTAL_ITEMS, title='Processing items') as bar: for i in range(TOTAL_ITEMS): # Simulate a task time.sleep(0.05) bar() # Update the progress bar print("Task completed!")
Debug
Known issues
gotchaWhen running in non-interactive environments like PyCharm consoles, Jupyter notebooks, or shell pipelines, alive-progress might automatically detect a non-TTY environment and only print the final receipt. To force the progress bar display, use the `force_tty=True` argument.
fix
Use `with alive_bar(total, force_tty=True) as bar:` to explicitly enable the display in such environments.
affects: All versions
breakingThe method for setting inline messages within the progress bar changed in earlier major versions. Older versions used `bar('message')` to set text while incrementing. Current versions (3.x) use `bar(text='message')` for this purpose. Calling `bar('message')` without the `text=` keyword in 3.x will likely result in an error or unexpected behavior as it would try to interpret 'message' as an increment count.
fix
Always use the `text='your message'` keyword argument when setting an inline message: `bar(text='current status')`. The `bar()` call without arguments increments the bar.
affects: Likely 2.x to 3.x transitions, 3.x and newer
gotchaWhen `alive_bar` is initialized with a `total`, calling `bar()` without arguments increments an internal counter. To manually set the progress by a percentage (e.g., 15%), you must pass the fractional value to `bar()`: `bar(0.15)`. Mixing these approaches or passing a raw count when percentage is expected (or vice-versa) without understanding the mode can lead to incorrect progress display.
fix
If `total` is provided, `bar()` increments. To set a specific percentage, call `bar(fractional_value)` (e.g., `bar(i / total)`). If no `total` is given, it operates in 'unknown' mode with no ETA, and `bar()` simply updates the spinner.
affects: All versions
deprecatedSupport for older Python versions has been dropped. The library officially supports Python >=3.9.
fix
Ensure your project uses Python 3.9 or newer.
affects: <3.9
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'alive_progress'
The 'alive-progress' package is not installed in the Python environment.
fix
Install the package using pip: 'pip install alive-progress'.
ImportError: cannot import name 'alive_bar' from 'alive_progress'
The 'alive-progress' package is not installed or the import statement is incorrect.
fix
Ensure the package is installed and use the correct import statement: 'from alive_progress import alive_bar'.
AttributeError: 'FloatProgress' object has no attribute 'style'
The 'alive-progress' bar is not displaying correctly in Jupyter Notebook due to compatibility issues.
fix
Enable notebook mode by adding 'from alive_progress.notebook import set_notebook' and 'set_notebook()' before using 'alive_bar'.
alive_progress bar not working on PyCharm
The progress bar does not display correctly in PyCharm's console due to its default settings.
fix
Force TTY mode by setting 'force_tty=True' in 'alive_bar': 'with alive_bar(100, force_tty=True) as bar:'.
TypeError: unhashable type: 'types.SimpleNamespace'
Older versions of 'alive-progress' (prior to v3.0) had issues with its print/logging hooks when multiple instances or complex threading/multiprocessing environments tried to concurrently manage terminal output.
fix
Upgrade alive-progress to version 3.0 or newer: `pip install --upgrade alive-progress`
Upgrade
Version history
3.3.0latest on PyPI · released Jul 20, 2025
Audit
Dependencies

No dependency data recorded yet.

Agent activity
66 hits · last 30 days
node
56
OpenAI (training)
1
Resources
alive-progress — pip install alive-progress · libregistry