---
name: "tqdm"
section: "1"
platform: "linux"
package: "python3-tqdm"
version: "4.67.1-5"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/tqdm"
---

# tqdm(1)

fast, extensible progress bar for Python and CLI

## NAME

tqdm - fast, extensible progress bar for Python and CLI

## SYNOPSIS

tqdm \[*options*\]

## DESCRIPTION

See \<https://github.com/tqdm/tqdm\>. Can be used as a pipe:

-

  ```
  $ # count lines of code
  $ cat *.py | tqdm | wc -l
  327it [00:00, 981773.38it/s]
  327
  $ # find all files
  $ find . -name "*.py" | tqdm | wc -l
  432it [00:00, 833842.30it/s]
  432
  # ... and more info
  $ find . -name '*.py' -exec wc -l \{} \; \
    | tqdm --total 432 --unit files --desc counting \
    | awk '{ sum += $1 }; END { print sum }'
  counting: 100%|█████████| 432/432 [00:00<00:00, 794361.83files/s]
  131998
  ```

## OPTIONS

- **-h, --help**

  Print this help and exit.

- **-v, --version**

  Print version and exit.

- **--desc=*desc***

  str, optional. Prefix for the progressbar.

- **--total=*total***

  int or float, optional. The number of expected iterations. If unspecified, len(iterable) is used if possible. If float("inf") or as a last resort, only basic progress statistics are displayed (no ETA, no progressbar). If `gui` is True and this parameter needs subsequent updating, specify an initial arbitrary large positive number, e.g. 9e9.

- **--leave**

  bool, optional. If \[default: True\], keeps all traces of the progressbar upon termination of iteration. If `None`, will leave only if `position` is `0`.

- **--ncols=*ncols***

  int, optional. The width of the entire output message. If specified, dynamically resizes the progressbar to stay within this bound. If unspecified, attempts to use environment width. The fallback is a meter width of 10 and no limit for the counter and statistics. If 0, will not print any meter (only stats).

- **--mininterval=*mininterval***

  float, optional. Minimum progress display update interval \[default: 0.1\] seconds.

- **--maxinterval=*maxinterval***

  float, optional. Maximum progress display update interval \[default: 10\] seconds. Automatically adjusts `miniters` to correspond to `mininterval` after long display update lag. Only works if `dynamic_miniters` or monitor thread is enabled.

- **--miniters=*miniters***

  int or float, optional. Minimum progress display update interval, in iterations. If 0 and `dynamic_miniters`, will automatically adjust to equal `mininterval` (more CPU efficient, good for tight loops). If \> 0, will skip display of specified number of iterations. Tweak this and `mininterval` to get very efficient loops. If your progress is erratic with both fast and slow iterations (network, skipping items, etc) you should set miniters=1.

- **--ascii=*ascii***

  bool or str, optional. If unspecified or False, use unicode (smooth blocks) to fill the meter. The fallback is to use ASCII characters " 123456789#".

- **--disable**

  bool, optional. Whether to disable the entire progressbar wrapper \[default: False\]. If set to None, disable on non-TTY.

- **--unit=*unit***

  str, optional. String that will be used to define the unit of each iteration \[default: it\].

- **--unit-scale=*unit\_scale***

  bool or int or float, optional. If 1 or True, the number of iterations will be reduced/scaled automatically and a metric prefix following the International System of Units standard will be added (kilo, mega, etc.) \[default: False\]. If any other non-zero number, will scale `total` and `n`.

- **--dynamic-ncols**

  bool, optional. If set, constantly alters `ncols` and `nrows` to the environment (allowing for window resizes) \[default: False\].

- **--smoothing=*smoothing***

  float, optional. Exponential moving average smoothing factor for speed estimates (ignored in GUI mode). Ranges from 0 (average speed) to 1 (current/instantaneous speed) \[default: 0.3\].

- **--bar-format=*bar\_format***

  str, optional. Specify a custom bar string formatting. May impact performance. \[default: '{l\_bar}{bar}{r\_bar}'\], where l\_bar='{desc}: {percentage:3.0f}%\|' and r\_bar='\| {n\_fmt}/{total\_fmt} \[{elapsed}\<{remaining}, ' '{rate\_fmt}{postfix}\]' Possible vars: l\_bar, bar, r\_bar, n, n\_fmt, total, total\_fmt, percentage, elapsed, elapsed\_s, ncols, nrows, desc, unit, rate, rate\_fmt, rate\_noinv, rate\_noinv\_fmt, rate\_inv, rate\_inv\_fmt, postfix, unit\_divisor, remaining, remaining\_s, eta. Note that a trailing ": " is automatically removed after {desc} if the latter is empty.

- **--initial=*initial***

  int or float, optional. The initial counter value. Useful when restarting a progress bar \[default: 0\]. If using float, consider specifying `{n:.3f}` or similar in `bar_format`, or specifying `unit_scale`.

- **--position=*position***

  int, optional. Specify the line offset to print this bar (starting from 0) Automatic if unspecified. Useful to manage multiple bars at once (eg, from threads).

- **--postfix=*postfix***

  dict or \*, optional. Specify additional stats to display at the end of the bar. Calls `set_postfix(**postfix)` if possible (dict).

- **--unit-divisor=*unit\_divisor***

  float, optional. \[default: 1000\], ignored unless `unit_scale` is True.

- **--write-bytes**

  bool, optional. Whether to write bytes. If (default: False) will write unicode.

- **--lock-args=*lock\_args***

  tuple, optional. Passed to `refresh` for intermediate output (initialisation, iterating, and updating).

- **--nrows=*nrows***

  int, optional. The screen height. If specified, hides nested bars outside this bound. If unspecified, attempts to use environment height. The fallback is 20.

- **--colour=*colour***

  str, optional. Bar colour (e.g. 'green', '#00ff00').

- **--delay=*delay***

  float, optional. Don't display until \[default: 0\] seconds have elapsed.

- **--delim=*delim***

  chr, optional. Delimiting character \[default: '\\n'\]. Use '\\0' for null. N.B.: on Windows systems, Python converts '\\n' to '\\r\\n'.

- **--buf-size=*buf\_size***

  int, optional. String buffer size in bytes \[default: 256\] used when `delim` is specified.

- **--bytes**

  bool, optional. If true, will count bytes, ignore `delim`, and default `unit_scale` to True, `unit_divisor` to 1024, and `unit` to 'B'.

- **--tee**

  bool, optional. If true, passes `stdin` to both `stderr` and `stdout`.

- **--update**

  bool, optional. If true, will treat input as newly elapsed iterations, i.e. numbers to pass to `update()`. Note that this is slow (~2e5 it/s) since every input must be decoded as a number.

- **--update-to**

  bool, optional. If true, will treat input as total elapsed iterations, i.e. numbers to assign to `self.n`. Note that this is slow (~2e5 it/s) since every input must be decoded as a number.

- **--null**

  bool, optional. If true, will discard input (no stdout).

- **--manpath=*manpath***

  str, optional. Directory in which to install tqdm man pages.

- **--comppath=*comppath***

  str, optional. Directory in which to place tqdm completion.

- **--log=*log***

  str, optional. CRITICAL\|FATAL\|ERROR\|WARN(ING)\|\[default: 'INFO'\]\|DEBUG\|NOTSET.

## AUTHORS

tqdm developers \<https://github.com/tqdm\>.
