Skip to main content

Enlighten Progress Bar

Project description

Documentation Status GitHub Actions Status Coverage Status
Linux supported Windows supported MacOS supported BSD supported
PyPI Package latest release Supported versions Supported implementations
Latest Fedora Version Latest EPEL Version Latest Arch Linux Version Latest Debian Version Latest Ubuntu Version Latest Conda Forge Version


Enlighten Progress Bar is a console progress bar library for Python.

The main advantage of Enlighten is it allows writing to stdout and stderr without any redirection or additional code. Just print or log as you normally would.

Enlighten also includes experimental support for Jupyter Notebooks.

The code for this animation can be found in in examples.




$ pip install enlighten


Fedora and EL8 (RHEL/CentOS)

(EPEL repositories must be configured for EL8)

$ dnf install python3-enlighten


(EPEL repositories must be configured)

$ yum install python2-enlighten
$ yum install python36-enlighten


Arch Linux

$ pacman -S python-enlighten


Debian and Ubuntu

$ apt-get install python3-enlighten


$ conda install -c conda-forge enlighten



For a basic status bar, invoke the Counter class directly.

import time
import enlighten

pbar = enlighten.Counter(total=100, desc='Basic', unit='ticks')
for num in range(100):
    time.sleep(0.1)  # Simulate work


To maintain multiple progress bars simultaneously or write to the console, a manager is required.

Advanced output will only work when the output stream, sys.__stdout__ by default, is attached to a TTY. get_manager can be used to get a manager instance. It will return a disabled Manager instance if the stream is not attached to a TTY and an enabled instance if it is.

import time
import enlighten

manager = enlighten.get_manager()
ticks = manager.counter(total=100, desc='Ticks', unit='ticks')
tocks = manager.counter(total=20, desc='Tocks', unit='tocks')

for num in range(100):
    time.sleep(0.1)  # Simulate work
    if not num % 5:



The Counter class has two output formats, progress bar and counter.

The progress bar format is used when a total is not None and the count is less than the total. If neither of these conditions are met, the counter format is used:

import time
import enlighten

counter = enlighten.Counter(desc='Basic', unit='ticks')
for num in range(100):
    time.sleep(0.1)  # Simulate work

Additional Examples


Enlighten is highly configurable. For information on modifying the output, see the Series and Format sections of the Counter documentation.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

enlighten-1.11.1.tar.gz (61.1 kB view hashes)

Uploaded source

Built Distribution

enlighten-1.11.1-py2.py3-none-any.whl (53.7 kB view hashes)

Uploaded py2 py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page