skillfed

enlighten

Enlighten Progress Bar

enlighten v1.14.1 870.5K downloads/30d#4,848 on PyPI534
Copyleft license MPLv2.0 Active released

What it is and what it does

Enlighten is a console progress bar library for Python that renders progress bars, counters, and status bars directly in the terminal. It solves the problem of displaying progress feedback while still allowing normal print() and logging calls to stdout and stderr without requiring output redirection or special handling. The library depends on blessed for terminal control, prefixed for unit formatting, and backports.functools-lru-cache for compatibility.

The typical workflow is to create a manager via get_manager(), then call methods like counter() or status_bar() to create individual progress indicators. Multiple bars can run concurrently, and they automatically disable themselves when output is not attached to a TTY. The library supports color, multicolored bars to track multiple categories, and custom formatting of bar appearance.

Use it for:

  • Display progress during long-running batch jobs or data processing pipelines while logging intermediate results.
  • Show multiple concurrent progress bars for parallel tasks, such as downloading multiple files or processing multiple datasets.
  • Render status bars with dynamic variable updates to communicate application state changes in real time.
  • Add colored progress indicators to CLI tools to improve user feedback without cluttering output with print statements.
  • Track task completion in scripts that also write diagnostic logs, keeping both streams readable.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Enlighten is a console progress bar library that displays progress bars, counters, and status bars in the terminal while allowing normal stdout/stderr output without redirection.

Yes. Enlighten is actively maintained, has no known vulnerabilities, low install friction, and solves a real problem—displaying progress without disrupting normal output. The MPLv2.0 copyleft license is permissive for most use cases. Install it if you need terminal progress bars in a Python CLI or batch tool.

Install

enlighten on PyPI

pip

pip install enlighten

uv

uv add enlighten

poetry

poetry add enlighten

Installing enlighten

Before you install

Low install friction with a pure-wheel distribution. Actively maintained as of 2026-05-21 with 534 repository stars and no known security vulnerabilities.

License in practice

Licensed under MPLv2.0 (copyleft). You may use and modify the package freely, but derivative works and distributions must retain the license and disclose source changes.

Quickstart

pip install enlighten

import enlighten
import time

manager = enlighten.get_manager()
pbar = manager.counter(total=100, desc='Progress', unit='items')

for i in range(100):
    time.sleep(0.1)
    pbar.update()

Verify before relying

  • Jupyter Notebook support is described as 'experimental' but the fact sheet does not detail its maturity or limitations.
  • Whether the library handles edge cases like very narrow terminal widths or non-UTF-8 encodings gracefully.

Package facts

License MPLv2.0 (copyleft)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies 3 — blessed, prefixed, backports.functools-lru-cache
Maintenance actively maintained — 522 days since the last release
Last repo commit
First released
Downloads 870,463/month — #4,848 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: enlighten-1.14.1-py2.py3-none-any.whl

Keywords: progress, bar, progressbar, counter, status, statusbar

Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersLicense :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)Operating System :: Microsoft :: WindowsOperating System :: POSIXProgramming Language :: PythonProgramming Language :: Python :: 2.7Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Utilities

Tags

progress bar libraryterminal progress displayconsole counterstatus bar terminalpython progress trackingtty progress barmulti-bar progress
terminal-uiprogress-tracking

More Utilities packages