Table of Contents
- tqdm/tqdm Releases
- v4.67.0 (2024-11-06)
- v4.66.6 (2024-10-28)
- v4.66.5 (2024-08-03)
- v4.66.4 (2024-05-02)
- v4.66.3 (2024-05-02)
- v4.66.2 (2024-02-10)
- v4.66.1 (2023-08-10)
- v4.66.0 (2023-08-09)
- v4.65.2 (2023-08-08)
- v4.65.1 (2023-08-08)
- v4.65.0 (2023-03-03)
- v4.64.1 (2022-09-03)
- v4.64.0 (2022-04-04)
- v4.63.2 (2022-04-04)
- v4.63.1 (2022-03-23)
- v4.63.0 (2022-02-28)
- v4.62.3 (2021-09-20)
- v4.62.2 (2021-08-23)
- v4.62.1 (2021-08-14)
- v4.62.0 (2021-07-30)
- v4.61.2 (2021-07-16)
- v4.61.1 (2021-06-12)
- v4.61.0 (2021-05-24)
- v4.60.0 (2021-04-06)
- v4.59.0 (2021-03-05)
- v4.58.0 (2021-02-25)
- v4.57.0 (2021-02-18)
- v4.56.2 (2021-02-10)
- v4.56.1 (2021-02-09)
- v4.56.0 (2021-01-11)
- v4.55.2 (2021-01-09)
- v4.55.1 (2021-01-02)
- v4.55.0 (2020-12-25)
- v4.54.1 (2020-12-05)
- v4.54.0 (2020-11-27)
- v4.53.0 (2020-11-21)
- v4.52.0 (2020-11-16)
- v4.51.0 (2020-10-25)
- v4.50.2 (2020-10-08)
- v4.50.1 (2020-10-07)
- v4.50.0 (2020-09-28)
- v4.49.0 (2020-09-12)
- v4.48.2 (2020-08-03)
- v4.48.1 (2020-08-03)
- v4.48.0 (2020-07-16)
- v4.47.0 (2020-06-28)
- v4.46.1 (2020-06-03)
- v4.46.0 (2020-05-03)
- v4.45.0 (2020-04-02)
- v4.44.1 (2020-03-29)
- v4.44.0 (2020-03-28)
- v4.43.0 (2020-02-19)
- v4.42.1 (2020-02-03)
- v4.42.0 (2020-01-25)
- v4.41.1 (2020-01-05)
- v4.41.0 (2019-12-20)
- v4.40.2 (2019-12-11)
- v4.40.1 (2019-12-11)
- v4.40.0 (2019-12-01)
- v4.39.0 (2019-11-22)
- v4.38.0 (2019-11-09)
- v4.37.0 (2019-10-31)
- v4.36.1 (2019-09-20)
- v4.36.0 (2019-09-17)
- v4.35.0 (2019-08-24)
- v4.34.0 (2019-08-18)
- v4.33.0 (2019-08-08)
- v4.32.2 (2019-06-18)
- v4.32.1 (2019-05-13)
- v4.32.0 (2019-05-13)
- v4.31.1 (2019-02-10)
- v4.31.0 (2019-02-09)
- v4.30.0 (2019-01-26)
- v4.29.1 (2019-01-11)
- v4.29.0 (2019-01-06)
- v4.28.1 (2018-10-21)
- v4.28.0 (2018-10-20)
- v4.27.0 (2018-10-15)
- v4.26.0 (2018-09-11)
- v4.25.0 (2018-08-20)
- v4.24.0 (2018-07-26)
- v4.23.4 (2018-05-22)
- v4.23.3 (2018-05-22)
- v4.23.2 (2018-05-02)
- v4.23.1 (2018-04-25)
- v4.23.0 (2018-04-15)
- v4.22.0 (2018-04-11)
- v4.21.0 (2018-04-08)
- v4.20.0 (2018-04-03)
- v4.19.9 (2018-03-27)
- v4.19.8 (2018-03-27)
- v4.19.6 (2018-02-27)
- v4.19.5 (2017-12-10)
- v4.19.4 (2017-10-15)
- v4.19.2 (2017-10-08)
- v4.19.1 (2017-10-03)
- v4.18.0 (2017-09-30)
- v4.17.1 (2017-09-26)
- v4.17.0 (2017-09-20)
- v4.16.0 (2017-09-20)
- v4.15.0 (2017-07-29)
- v4.14.0 (2017-07-29)
- v4.13.0 (2017-05-29)
- v4.12.0 (2017-05-29)
- v4.11.2 (2017-01-24)
- v4.11.1 (2017-01-23)
- v4.11.0 (2017-01-12)
- v4.10.0 (2016-11-12)
- v4.9.0 (2016-10-31)
- v4.8.4 (2016-08-17)
- v4.8.1 (2016-07-25)
- v4.8.0 (2016-07-25)
- v4.7.6 (2016-06-30)
- v4.7.4 (2016-06-04)
- v4.7.0 (2016-05-15)
- v4.6.2 (2016-05-15)
- v4.6.1 (2016-05-15)
- v4.5.0 (2016-04-25)
- v4.4.3 (2016-04-24)
- v4.4.1 (2016-04-22)
- v4.2.0 (2016-04-22)
- v4.0.0 (2016-02-04)
- v3.8.0 (2016-01-31)
- v3.7.1 (2016-01-13)
- v3.6.0 (2015-12-31)
- v3.5.0 (2015-12-31)
- v3.3.0 (2015-12-31)
- v3.1.4 (2015-11-28)
- v2.2.4 (2015-11-08)
- v2.0.0 (2015-10-11)
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
tqdm/tqdm Releases
v4.67.0 (2024-11-06)
- 🔨
contrib.discord
: replacedisco-py
withrequests
(#1536)
v4.66.6 (2024-10-28)
- ⛑ cli: zip-safe
--manpath
,--comppath
(#1627) - 🛠 misc framework updates (#1627)
- fix
pytest
DeprecationWarning
- fix
snapcraft
build - fix
nbval
DeprecationWarning
- update & tidy workflows
- bump pre-commit
- docs: update URLs
- fix
v4.66.5 (2024-08-03)
- 🎉 support
ncols
auto-detection on FreeBSD (#1602 <- casperdcl/git-fame#98) - 🧯 fix Python 3.13 CLI (#1594 <- #1585)
- 🧯 fix Python 3.13 tests (#1595 <- python/cpython#117536#issuecomment-2036883124)
- 🛠 misc framework updates (#1602)
- add official Python 3.12 support
- bump deps (NiklasRosenstein/pydoc-markdown#329, tikitu/jsmin#44)
v4.66.4 (2024-05-02)
v4.66.3 (2024-05-02)
- 🧯
cli
:eval
safety (fixes CVE-2024-34062, GHSA-g7vv-2v7x-gj9p)
v4.66.2 (2024-02-10)
- 🎉
pandas
: addDataFrame.progress_map
(#1549) - 🧯
notebook
: fix HTML padding (#1506) - 🧯
keras
: fix resuming training whenverbose>=2
(#1508) - 🧯 fix
format_num
negative fractions missing leading zero (#1548) - 🧯 fix Python 3.12
DeprecationWarning
onimport
(#1519) - 🧹 linting: use f-strings (#1549)
- 🔍 update tests (#1549)
- fix
pandas
warnings - fix
asv
(airspeed-velocity/asv#1323) - fix macos
notebook
docstring indentation
- fix
- 🛠 CI: bump actions (#1549)
v4.66.1 (2023-08-10)
- 🧯 fix
utils.envwrap
types (#1493 <- #1491, #1320 <- #966, #1319)- e.g. cloudwatch & kubernetes workaround:
export TQDM_POSITION=-1
- e.g. cloudwatch & kubernetes workaround:
- ⚠️ drop mentions of unsupported Python versions
v4.66.0 (2023-08-09)
- 🔨 environment variables to override defaults (
TQDM_*
) (#1491 <- #1061, #950 <- #614, #1318, #619, #612, #370)- e.g. in CI jobs,
export TQDM_MININTERVAL=5
to avoid log spam - add tests & docs for
tqdm.utils.envwrap
- e.g. in CI jobs,
- 🧯 fix & update CLI completion
- 🧯 fix & update API docs
- 🧹 minor code tidy: replace
os.path
=>pathlib.Path
- 🧯 fix docs image hosting
- 🛠 release with CI bot account again (cli/cli#6680)
v4.65.2 (2023-08-08)
- 📘 exclude
examples
from distributed wheel (#1492)
v4.65.1 (2023-08-08)
- 🔨 migrate
setup.{cfg,py}
=>pyproject.toml
(#1490)- fix
asv
benchmarks - update docs
- fix
- 🧯 fix snap build (#1490)
- 🧯 fix & update tests (#1490)
- fix flaky notebook tests
- bump
pre-commit
- bump workflow actions
v4.65.0 (2023-03-03)
- ⚠️ add Python 3.11 and drop Python 3.6 support (#1439, #1419, #502 <- #720, #620)
- 🧹 misc code & docs tidy
- 🧯 fix & update CI workflows & tests
v4.64.1 (2022-09-03)
- 🎉 support
ipywidgets>=8
(#1366, #1361 <- #1310, #1359, #1360, #1364)- fix jupyter lab display
- update notebook tests
v4.64.0 (2022-04-04)
- 🎉 add
contrib.slack
(#1313)
v4.63.2 (2022-04-04)
- 🎉
rich
: exposeoptions
kwargs (#1282) - 🔨
autonotebook
: re-enable VSCode (#1309) - 📘 misc docs typos (#1301, #1299)
- 🔨 update dev dependencies (#1311)
v4.63.1 (2022-03-23)
v4.63.0 (2022-02-28)
- 🎉 add
__reversed__()
- 🎉 add efficient
__contains__()
- ⚡ improve CLI startup time (replace
pkg_resources
=>importlib
) - ⚠️
tqdm.autonotebook
warning &std
fallback on missingipywidgets
(#1218 <- #1082, #1217) - ⚠️ warn on positional CLI arguments
- 🛠 misc build/test framework updates
- enable
py3.10
tests - add
conda
dependencies - update pre-commit hooks
- fix
pytest
config (nbval
,asyncio
) - fix dependencies & tests
- fix site deployment
- enable
v4.62.3 (2021-09-20)
- 🧯 fix minor typo (#1246)
- 🧯 minor example fix (#1246)
- ⚒ misc tidying & refactoring
- 🛠 misc build/dev framework updates
- update dependencies
- update linters
- update docs deployment branches
- 🛠 misc test/ci updates
- test forks
- tidy OS & Python version tests
- bump primary python version 3.7 => 3.8
- beta py3.10 testing
- fix py2.7 tests
- better timeout handling
v4.62.2 (2021-08-23)
v4.62.1 (2021-08-14)
- 🛠
contrib.logging
: inherit existing handler output stream (#1191) - 🧯 fix
PermissionError
by usingweakref
inDisableOnWriteError
(#1207) - 🧯 fix
contrib.telegram
creation rate limit handling (#1223, #1221 <- #1220, #1076) - 🧯 tests: fix py27
keras
dependencies (#1222) - 🧹 misc tidy: use relative imports (#1222)
- 📘 minor documentation updates (#1222)
v4.62.0 (2021-07-30)
- 🔨
asyncio.gather
API consistency with stdlib (#1212) - 🧯 fix shutdown exception (#1209 <- #1198)
- 🛠 misc build framework updates (#1209)
- ⚡ add GH Sponsors & merch links
v4.61.2 (2021-07-16)
- 🔨 install
colorama
on Windows (#1139, #454) - 🎉 add telegram support for
leave=False
(#1189) - 🎉 support
pandas==1.3.0
(#1199) - 🧯 fix
keras
potentialAttributeError
(#1184 <- #1183) - 🧯 fix py3.10
asyncio
tests (#1176) - 🔨 flush
stdout
/err
before first render (#1177) - 🛠 misc minor build & test framework updates (#1180)
v4.61.1 (2021-06-12)
- 🧯 fix
utils._screen_shape_linux()
sometimes raisingValueError
(#1174) - 🛠 minor build/CI framework updates (#1175)
- 📘 minor documentation updates
v4.61.0 (2021-05-24)
- 🎉
keras
support forinitial_epoch
(#1150 <- #1138) - 📘 misc documentation updates
- 🧯 fix & update tests (#1163)
- 🛠 minor framework updates (#1163)
v4.60.0 (2021-04-06)
- 🛠 add
contrib.logging
helpers for redirecting totqdm.write()
(#1155 <- #786) - 🎉 support
delay
innotebook
(#1142) - 🧯 fix
contrib.tmap
,tzip
not usingtqdm_class
(#1148) - 🔍 add
notebook
tests (#1143) - 🧯 updates & misc minor fixes for documentation
v4.59.0 (2021-03-05)
- 🎉 add
tqdm.dask.TqdmCallback
(#1079, #279 <- #278) - 🎉 add
asyncio.gather()
(#1136) - 🎉 add basic support for
length_hint
(#1068) - 🔍 add & update tests
- 📘 misc documentation updates (#1132)
- update contributing guide
- update URLs
- bash completion: add missing
--delay
- 🧹 misc code tidy
- add
[notebook]
extra (#1135)
- add
v4.58.0 (2021-02-25)
- 🎉 add start
delay
in seconds (#836 <- #1069, #704) - 🔍 add tests
- 🧹 misc code tidy (#1130)
- 📘 misc documentation updates
v4.57.0 (2021-02-18)
- 🎉 add line buffering for
DummyTqdmFile
(#960) - 🧯 fix & update demo notebook (#1127)
- 🧯 fix py3 urllib examples (#1127)
- ⚠️ suppress deprecated
pandas
warnings (#824, #1094) - 🛠 misc framework updates
- 🔍 misc tests updates
- 🧹 misc code tidy
v4.56.2 (2021-02-10)
v4.56.1 (2021-02-09)
- 🧯 fix
repr()
&format_dict
when disabled (#1113 <- #624) - 🔨 rename
__repr__()
=>__str__()
- 📘 minor documentation updates (#1113)
- fix Binder demo notebook (#1119)
- remove explicit Dockerfile
- move some images to external repo
- 🔍 add & update tests
v4.56.0 (2021-01-11)
- 🎉 add
tqdm.tk
(#1006) - 🎉 add
tqdm.rich
- 🎉 minor formatting improvements for
tqdm.gui
- 🧯 fix
display()
inheritance/override - 🔍 add tests
- 📘 add documentation
v4.55.2 (2021-01-09)
- 🔍 update tests (#1108)
- 📘 update contributing guidelines (#1108)
- fix formatting
- test dependencies (#1109)
- 🔨 update
.gitignore
- 🧯 fix (auto & manual) formatting
- 🧯 fix minor detected bugs
- 🛠 misc build/CI framework upgrades
v4.55.1 (2021-01-02)
- 🧯 fix
(Rolling|Expanding).progress_apply()
onpandas==1.2.0
(#1106) - 📘 minor documentation updates
v4.55.0 (2020-12-25)
- 🧯 fix ASCII notebook export (#937, #1035, #1098)
- 🧯 fix notebook gui-mode extra spaces (#433, #479, #550, #935)
- 🎉 better ETA for early iterations (#1101)
- 🎉 better ETA for wildly varying iteration rates (#1102)
- 🔨 update submodule inheritance
tqdm.gui
tqdm.notebook
tqdm.contrib.telegram
tqdm.contrib.discord
- 📘 documentation updates
- ⚡ misc code optimisations
- 🔍 add tests
- 🛠 framework updates
- build
- CI & test
- 🧹 misc code linting/formatting
v4.54.1 (2020-12-05)
- ⚠️ drop
py3.4
(no longer tested) (#1091) - 🛠 misc CI updates (#1091)
- update
snap
build & deploy method - bot releases
- update
v4.54.0 (2020-11-27)
v4.53.0 (2020-11-21)
- 🎉 provide
get_new()
helper for mixed subclasses in nested mode (#509) - 🧯 fix nested
asyncio
(#1074)- document async
break
hazard
- document async
- 🔍 add tests
- ⚠️ drop py2.6/3.2/3.3 and distutils (no longer tested)
- 🛠 CI framework overhaul
- drop appveyor (Windows already tested by GHA)
- skip
devel
PRs - automate linting comments on failure
- 🔨 use
setuptools_scm
(#722)- fix & update tests
- fix & upgrade snap build
- update CONTRIBUTING docs
v4.52.0 (2020-11-16)
- 🔨 allow delaying
display()
to a different notebook cell (#1059 <- #909, #954) - 🛠 add CI on windows (#507)
- 🛠 enable CI on OSX
- 🛠 migrate CI Travis => GHA
- add tests for MacOS & Windows
- add tests for py3.9 (#1073)
- update documentation
- 🔨 minify docker build
- 🔍 update tests
- 🧹 misc tidy
v4.51.0 (2020-10-25)
- 🎉 add
{eta}
datetimebar_format
argument (#1055 <- #1051)- e.g.
bar_format='{l_bar}{bar}| {n_fmt}/{total_fmt} [{rate_fmt} ETA:{eta:%y-%m-%d %H:%M}{postfix}]'
- e.g.
- 🧯 fix py3 CLI
--update
&--update_to
- 🔨 replace
nosetests
withpytest
(#1052, #1045) - 🔍 add & update tests
v4.50.2 (2020-10-08)
- 🧯 fixed
platform.system()
causingfork()
warnings (#691) - 🧯 fixed
contrib.concurrent.process_map
pickling error withthreading.RLock
(#920) - 📘 updated documentation & examples
- 🛠 updated CI framework
- 🔍 updated tests
- 🧹 misc code tidy
v4.50.1 (2020-10-07)
- 🧯 fix multiprocessing lock creation leak (#982, #936, #759)
- fixes #617 which introduced this bug (v4.29.0, released 2019-01-06, undiagnosed until now) where multiple threads could concurrently create and append process locks to a global list, then try to release them without first acquiring 👿
- ⚡ major test overhaul: fix, update, and speed up
- 🛠 misc CI framework updates
- 🧹 code linting
- 🧹 minor documentation tidy
v4.50.0 (2020-09-28)
- 🎉 add bar
colour
option (#1040 <- #450)- for
notebook
as well asstd
/CLI - plain text as well as hex (e.g. 'green' or '#00ff00')
- for
- 🎉
notebook
improvements (#1032 <- #1031)- split bar description into separate widget
- improve
reset()
(handle width and colour)
- 🧯 fix exceptions when
file
is closed (#1041, #1036 <- #1033) - 🔍 add & update tests
- 📘 minor documentation updates
- 🔨 move and configure issue/pr templates
v4.49.0 (2020-09-12)
- 🎉 CLI: add
--tee
(#1014 <- #1013) - 🎉 CLI: add
--update
and--update_to
(#996 <- #975) - 🎉 CLI: add
--null
(#996) - 🔨 CLI: accept
-
instead of_
in options (e.g.--update-to
) - 🔨 make
update()
returnTrue
ondisplay
to ease efficient use of custom callbacks (#845) - 🧯 fix
py>=3
CLI--delim
encoding error - 🧯 fix
py>=3.5
version detection intqdm.auto
(#1029 <- #1028) - 🧯 fix final ETA when using
initial
(#1021 <- #689) - 📘 update documentation
- add & update custom callback examples
- improve help formatting of boolean CLI options
- 🔍 add & update tests
v4.48.2 (2020-08-03)
- 🧯 fix
notebook
formatting
v4.48.1 (2020-08-03)
- 🧯 fix ANSI escape codes breaking
tqdm.write
(#692, #777) - 🧯 fix long-lived strongref (#1007, https://bugs.python.org/issue39093)
- 🧯 fix cli
--version
crash on missinggit/refs/heads
(#635) - 🧯 fix
contrib.tenumerate
ignoringtotal
(#1017) - 🧯 fix potential deep => shallow
kwargs
copy issues - 🎉 improve
notebook
display for unknowntotal
(#1015) - 🔨 make
asyncio
inherit fromstd
rather thanauto
- 🔨 make
auto
multi-inherit fromautonotebook
,asyncio
on Python3.5+ - 📘 misc documentation & examples updates
- mention
docker-compose
requirements (#771)
- mention
- 🧹 misc linting & tidy
- 🛠 misc minor testing framework updates
v4.48.0 (2020-07-16)
- 🎉 add
tqdm.asyncio
(#1004, #772, #91 <- #65)- supports async iterables (
async for row in tqdm(iterable)
) - supports iterables
- supports
coroutine.send
(tqdm(coroutine).send
) - add
as_completed
wrapper (for f in tqdm.as_completed(fs)
)
- supports async iterables (
- 🛠 reduce
contrib.discord
logging verbosity - 🧯 fix potential
pandas()
modifying**kwargs
bug - 📘 update documentation
- add missing inline docstrings
- update contributing notes
- update readme
- add to
examples/
folder- async_coroutines
- coroutine_pipe
- standardise variable naming
- 🔍 add tests
- add benchmark tests against popular alternative libraries
- test new functionality
- more thorough
miniters
test (#1003)
- 🛠 misc framework updates
- tidy changelog helper
- add helper bots
- comment-bot
/tag
- post-release-bot
- wiki updater
- website updater
- benchmark regressions
- full/thorough test on schedule & release
- quick test on PR
- comment-bot
v4.47.0 (2020-06-28)
- 🎉 add
contrib.discord
(similar tocontrib.telegram
) (#976) - 🎉 add
contrib.bells
to auto-enable all extras - 🎉 add
contrib.utils_worker
for common slow tasks (e.g. web I/O)- fix lazy large memory usage & discard unsent messages (unprocessed tasks)
- 🧯 fix slow notebook imports (#955 <- #709)
- 🧯 fix
gui
TypeError
on unknownlen()
(#971) - 📘 misc documentation/error message updates
- 🛠 misc framework updates
- add official
py3.8
support (#986) - fix
snap
builds
- add official
v4.46.1 (2020-06-03)
- 🧯 fix missing
sys.setcheckinterval
in py3.9 (#978) - 🧯 fix
keras.TqdmCallback
compatibility withtensorflow==2.2.0
(#979) - 📘 update documentation
- 🧹 minor linting
v4.46.0 (2020-05-03)
- 🎉 add
contrib.telegram
#949 <- #948 - 🎉 add
bash
tab completion and--comppath
#946, #947 <- #858 - 🧯 fix exception safety in
external_write_mode
#940 - 📘 add
requests
examples (#242) - 📘 update documentation
v4.45.0 (2020-04-02)
- 🔨 propagate and
close()
on exceptions (#926 <- #548) - 🧯 fix nested
clear()
- ⚒ rework nested
close()
(#930 <- #924 <- #918, #677)- reduces screen flicker/blank space at the cost of ordering
- 📘 update all documentation & demos
- 🔍 add and update tests
- 🛠 dev framework: add pre-commit helper
v4.44.1 (2020-03-29)
v4.44.0 (2020-03-28)
- 🎉 add automatic
nrows
and expose for manual override (#918 -> #924) - ⚠️ expose and warn about small
chunksize
intqdm.contrib.concurrent.process_map
(#912) - 🧯 fix py2 file stream comparison (#727 -> #730)
- ⚠️ deprecate
utils._environ_cols_wrapper
- 🔍 add and update tests
- 📘 add documentation
v4.43.0 (2020-02-19)
- 🧯 fix
notebook
exceptions (#669 <- #650)set_description()
whendisable=True
- 🔨
contrib.concurrent
: avoid unnecessarylen(iterable)
(#893) - 📘 update documentation
- 🔍 update tests
- 🧯 fix CI tests for PRs
v4.42.1 (2020-02-03)
v4.42.0 (2020-01-25)
- 🔨
notebook
: updatedisable=None
behaviour (#880) - 🎉
tqdm.keras
: supporttensorflow.keras
as well askeras
(#885) - 🎉 add
contrib
(#882) - 🔍 add & update tests
- 📘 add & update documentation
- 🛠 update CI framework
v4.41.1 (2020-01-05)
- 🧯
keras
module tidy and fixes- fix
batch_size=None
(#869) - add missing
pop('size')
- fix
v4.41.0 (2019-12-20)
- 🔨 trim on
ncols
overflow with ANSI handling (#850, #716 <- #690) - 🎉 add
notebook.reset()
(#864) - 🎉 add
keras.TqdmCallback
(#867 <- #835) - 📘 documentation updates
- document newly added features (above)
- notebook
ncols
percentage/pixels (#276)
- 🔍 test updates
- test newly added features (above)
- add CI for
win
andosx
(#841) py2
threading
v4.40.2 (2019-12-11)
v4.40.1 (2019-12-11)
- 🧯 fix floating point imprecision raising errors (#859)
- 🧯 fix auto gh releases (travis-ci/dpl#914)
- 📘 update CONTRIBUTING (#84 (comment))
v4.40.0 (2019-12-01)
- 🎉 officially support
float
forn
andtotal
(#802) - 🧯 fix unicode bar format arguments (#803 -> #851)
- 🎉 add
contrib
submodule (#815) - 🎉 add
wrapattr
,utils.CallbackIOWrapper
,contrib.DummyTqdmFile
(#84 -> #844) - 🔍 update tests
- 📘 update documentation
- 🧹 tidy automatic
snap
deployments - 📘 minor doc update (#854)
v4.39.0 (2019-11-22)
- 🎉 add
pandas
builtin operations check (#843 <- #697) - 🔨 avoid unnecessary
dedent
(#837) - 🧹 remove unneeded bar logic
- 🧹 misc code tidy
- 📘 update documentation
- 🛠 update framework
v4.38.0 (2019-11-09)
- 🎉 support
lock_args
for e.g. non-blocking intermediate writes (#838 -> #839)- use
self.refresh()
in more places - add and update performance tests
- support args for
TqdmDefaultWriteLock.acquire()
- use
- 🧯 fix colorama on win (#678, #764)
- 🛠 framework updates
- CI cleanup
- move to stages (check/test/deploy)
- auto deploy notes
- deploy only on parent repo
- separate docker deploy
- update documentation sync/generation
- CI cleanup
- 📘 update examples
- 📘 update documentation
- 🔍 add and update tests
- 🧹 misc tidy and linting
v4.37.0 (2019-10-31)
- 🧯 potential future pandas fix (#824)
- 🎉 better unicode widechar support (#803 -> #410, #805)
- 🧯 fix example/tqdm_wget unknown total (#826)
- 🎉 add
stacklevel=2
to warnings (#821) - 🛠 misc framework updates
- snapcraft version fix
- update issue/pr templates (#830)
- update unit tests
- 📘 misc documentation updates
- update parallel (multiprocessing, ThreadPoolExecutor) example (#407)
- add slides, video images
- add CII Best Practices badge
- add repology badge
- update badge icons
v4.36.1 (2019-09-20)
- 🧯 fix CLI entrypoint
v4.36.0 (2019-09-17)
- 🎉 expose more custom format params
- 🧯 potential thread safety fix (#548)
- ⚒ update submodule architecture (#198 -> #800)
- 🎉 support custom
bar_format
with unknowntotal
- 🧯 fix
tqdm_notebook
red block on explicitfile=None
(#791) - 🎉 update notebook to fully support custom
bar_format
(#594, #649) - 🧹 misc tidy
- warnings
- linting
- update submodule contribution guide (#252)
- parallel
(py)make test
- fix Zenodo metadata
- 📘 update documentation
v4.35.0 (2019-08-24)
- 🎉 add
{bar}
format specifier (#623 -> #799)[width][type]
- 📘 add tests and documentation
- ⚡ update performance tests
v4.34.0 (2019-08-18)
- 🎉 add
leave=None
convenience option forleave = position == 0
- 🔨 ensure nested completed bars respect
leave=True
(#230) - 🔨 ensure nested bars are cleared before being moved up (#795)
- 🎉 support both
=
syntax for CLI options (#761 -> #774) - 📘 misc documentation updates (#778, #782)
- 🧯 fix/update tests
- 🛠 update GitHub docker package deployment
v4.33.0 (2019-08-08)
- 🧯 fix
pandas==0.25
API change (#780) - 📘 add contributor badges (
sourcerer
) - 🧯 fix py26 travis CI
- 🧯 metadata fixes
.zenodo.json
CODEOWNERS
- 🛠 GitHub package registry docker deployment
- 🧹 minor linting
- 📘 documentation updates (#773)
v4.32.2 (2019-06-18)
- 🧯 fix 'Set changed size during iteration' (#481 -> #700, #754)
- 🎉 add
tqdm.autonotebook
check for$VSCODE_PID
(#747 -> #751) - 🧯 fix missing
multiprocessing
in Jython (#698) - 🔨 make
bool(tqdm(iter))
consistent withbool(iter)
(#353 -> #694) - 🔍 add and update unit tests
- 🛠 add and update documentation & framework
v4.32.1 (2019-05-13)
- 🧯 fix
notebook
with unknowntotal
(#743)
v4.32.0 (2019-05-13)
- 🎉 support
unit_scale
innotebook
- 🎉 support negative update (#432, #545)
- 🎉 add
reset()
function (#547, #545) - 🎉 add
[python setup.py] make run
- 📘 add and update documentation
- example of dynamic usage (#735, #545, #547, #432, #374)
- note writing issues (#737)
- update badges
- add PyData2019 slides link
- add JOSS paper
- update manpages
- add docker install
- add snapcraft install
- notebooks: add binder, rename RMOTR => notebooks.ai (#679)
- prettify and unify contributors/maintainers/authors
- 🛠 CI and release framework updates
v4.31.1 (2019-02-10)
- 🧯 fix
file.encoding==None
caused by #598 (#673 -> #676)- add tests
- 🧹 tidy code, update authors and tests
- add
setup.py
test to CI
- add
v4.31.0 (2019-02-09)
- 🔨 Write bytes to
stdout
/stderr
in py2 (https://bugs.python.org/issue21363, #589 -> #598)- Add
write_bytes
parameter for py2/3 default override
- Add
- 🎉 support custom bar characters vias
ascii
parameter (#223 -> #227)- implement, document and test custom bar spinners
- 🎉 support custom
bar_format
with unknowntotal
(#282 -> #284) - 🧯 fix
TypeError
whenunit_scale
and unknowntotal
- 📘 document
format_dict
- 🎉 expose
elapsed_s
,remaining_s
tobar_format
- 🎉 add
unit
option tobar_format
(#368) - 🛠 auto
README.rst
generation framework- add notes in
CONTRIBUTING.md
- add notes in
- 🔍 update tests
- 📘 update documentation
- 🧹 misc code tidy
v4.30.0 (2019-01-26)
- 🔨 avoid moving when
leave=False
- 🔍 generalise nested bar tests
- 🎉 add
display()
helper function - 🎉 add and expose
format_dict
(#562, #482, #494, #656) - 🧹 add and tidy developer documentation
- 🧯 fix py3 CLI pipe decoding error (#663)
- 🛠 framework overhaul (developing, testing, Travis CI updates)
- 🧹 tidy code and style (flake8)
- ⚒
setup.py
refactorsetup.py make
- add support for multi-line commands
- tidy and efficiency
- replace
setup.py
's built-inmake
->py-make>=0.1.9
(#290) - add
requirements-dev.txt
andextras_require[dev]
- 🧹 add, update and tidy tests
- 📘 include interactive Jupyter demonstration (#652 -> #659)
- 📘 update documentation
- add FAQ about py2 pipes (#359)
- add badges
- update examples
- update authors
v4.29.1 (2019-01-11)
v4.29.0 (2019-01-06)
- 🔨 Avoid global multiprocessing locks (#611 -> #617)
- 🎉 Add support for infinite iterables (#651)
- 🧯 Fix missing attr pos when used in multi-threaded environment (#573)
- 🔨 Do not join
TMonitor
if it is the current thread (#613 -> #641) - 🎉 Add OpenBSD NIX support (#638)
- 🧯 Unit tests, general documentation fixes and tidying (e.g. #642)
- 🛠 CI travis improvements
py37-dev
->py37
(#622)- fix
py26
v4.28.1 (2018-10-21)
- 🧯 fix
--manpath
file not found - 🎉 expose
main():argv
- 🔍 add unit tests
- 🧹 release framework tidy
- update .
gitattributes
- remove deprecated
make
/dist
options
- update .
v4.28.0 (2018-10-20)
- 🧹 remove installation of man pages by default (#460, #628)
- 🎉 CLI:add
--manpath
option (#629) - 🧯 documentation additions and fixes
v4.27.0 (2018-10-15)
- 🧯 fix
str.isnumeric
#605 - 🧯 fix
WeakSet
KeyError
#548, #553, #596 -> #607 - 🔨 stop
tqdm_notebook
description truncation #582 -> #599 - 🔨 include
unit_scale
forrate
#608 - 🎉 add
auto
-> nowarningautonotebook
- 🎉 add better postfix numeric formatting #621
- ⚒ minor refactoring #609 -> #616
- 📘 update documentation
- 🔍 add unit tests
- 🧯 fix py26 CI
v4.26.0 (2018-09-11)
- 🧯 fix
smoothing
(#566 -> #601) - 🔨
pandas
updates - 📘 minor documentation updates (#597, #600, #606)
- developer notes
v4.25.0 (2018-08-20)
- 🔨 stop monitor on shutdown (#571, #572)
- 🧯 fix
find_packages()
for submodules (#593) - 🔨 ignore ANSI escape codes in the bar length calculation (#450, #591 -> #592)
- 📘 update documentation (#243)
v4.24.0 (2018-07-26)
- 🔨
autonotebook
submodule for automatic selection of notebook/CLI bar (#443, #508)- update/add
pandas()
example documentation (#474)
- update/add
- 🔨
NameError:IntProgress
changed to a more helpfulImportError
(#187, #451, #558) - 🎉 support
bool()
cast whendisable=True
(#574) - 🧯 fix
format_sizeof
hundreds rounding (#579 -> #581) - 📘 ensure URLs in documentation are secure (
https
)
v4.23.4 (2018-05-22)
- 🎉 Support pandas 0.23.0
core.groupby
module layout (#555 -> #554) - 🎉 Add python_requires to help pip (#557)
- 🛠 minor maintenance updates
- CI updates: drop travis py33 due to
tox
(tox-dev/tox#648) - minor code tidy
- CI updates: drop travis py33 due to
v4.23.3 (2018-05-22)
- ⚠️ suppress 10 second warning (refix #323)
v4.23.2 (2018-05-02)
- 🧯 minor import syntax fix #496
- 🧯 re-fix nested overlaps #477
- 📘 update documentation and examples
- 🧹 code tidy and abstraction
v4.23.1 (2018-04-25)
- 🧯 fix
AttributeError
s (#546) - 🧯 fix py34 CI
- 📘 update documentation
v4.23.0 (2018-04-15)
- 🧯 Fix
disable=True
whereiterable
has nolen()
and is notNone
(#539) - 🎉 Add
ncols
to specifytqdm_notebook
bar width (#276 -> #292) - 🔨 allow custom
pandas
total
(#364 -> #535) - 🎉 Add
progress_apply
forpandas.(Series|DataFrame).(rolling|expanding)
(#530 -> #537) - 🧹 unit tests, pep8 tidy
- 📘
postfix
non-dict
documentation note
v4.22.0 (2018-04-11)
- 🔨 allow direct non-string assignment to
postfix
member (lists, dicts, etc) (#382 -> #534) - 📘 documentation updates
- 🔍 unit tests
v4.21.0 (2018-04-08)
- 🧯 fix #532
write()
with manualposition
- more robust free position finding
- 🎉 add
TqdmWarning
base class - 🧯 fix GUI
__del__()
- add
TqdmExperimentalWarning
- add
- 🧯 add, tidy & fix unit tests
- 📘 documentation
- wiki release notes
- update contributors
- fix
7zx
example
v4.20.0 (2018-04-03)
- 🧹
pandas
wrapper: remove*args
and add bettertotal
handling (#244, #299, #322, #366 -> #524) - 📘 document windows unicode know issues (#454)
- 🔨 suppress
RuntimeError: Set changed size during iteration
->TqdmSynchronisationWarning
(#481)
v4.19.9 (2018-03-27)
- 🧯 fix monitor thread termination and update tests (#527)
v4.19.8 (2018-03-27)
- 🧯 fix monitoring thread issues
- 🔨 these release notes (#529)
v4.19.6 (2018-02-27)
- 🎉 CLI improvements
- 🧯 synchronisation: fix for
sem_open
onaarch64
(#513) - 🛠 framework update
- CI/tests, year 2018, py37, badges, documentation
v4.19.5 (2017-12-10)
- 🧯 multiprocess/lock fixes (#457)
- 🔨
set_description
in notebook (#345 -> #475) - 🧹 minor tidy (#476)
- 📘 documentation updates
v4.19.4 (2017-10-15)
- 🧯 fix
Lock:NotImplementedError
on certain systems (#466 -> #468) - 🔨 use recursive locks (#469 -> #468)
- fix deadlocks
- 🧹 tidy (#448)
- 🔨
flush()
onmoveto()
(#398 -> #399, #420, #467) - 🔍 update tests and benchmarks
v4.19.2 (2017-10-08)
- 🔨
flush()
onrefresh()
(#459 from #317) - 🔨 status printer updates (#331)
- use
sp()
inrefresh()
- remove redundant
clear():nomove=False
- use
- 📘 misc minor documentation updates
- 🔍 unit tests
v4.19.1 (2017-10-03)
- 🔨
rate_(no)inv(_fmt)
(#72,b228bc3
) - 🧹
__repr__()
tidy (#389) - 🧯 fix
write()
before initialisationAttributeError: _lock
(#457) - 📘
man
pages - 📘 documentation updates
v4.18.0 (2017-09-30)
- ⛑ Thread safety! (#285 -> #291 -> #329, #407, #417)
- 🔨 Ease redirection of
sys.stdout
/stderr
(#422) - 🧯 Minor internal stream bugfix (#439)
- 🧯
AttributeError
fixes (#323, #324, #418)
Related to:
- 🔨 Misc bugs (#334)
- 🔨
concurrent.futures
(#97) - 🔨 Multi-
tqdm
(#143) - 🔨
flush()
andrefresh()
(#331) - 🔨 Newline on
refresh()
(#361) - 🔨 Nested trees (#384)
- 🔨 Manually positioned nested bars clearing (#385)
v4.17.1 (2017-09-26)
- 🔨 initialise
n
even when disabled (#438) - 🎉 better unicode detection (#437)
- 🧯
__repr__()
bugfix (#441)
v4.17.0 (2017-09-20)
- 🔨 easier redirect of
stdout
(#426 -> #431)cls.external_write_mode() @contextmanager
- 🔨
refresh=True
forset_description
/update
(_str
) (#317 -> #377)
v4.16.0 (2017-09-20)
- 🔨 more formatting control (#347 -> #362)
- 🎉 better CLI support (e.g. hyphenated paths) (#421 #423 -> #424)
- 🔍 more unit tests (#411)
- upgrade to pypy2/3-5.8.0
- add py37-dev
- 📘 doc updates
v4.15.0 (2017-07-29)
- 🧯 minor fixes (#395)
- 📘 minor documentation updates (#400, #401, #412)
- 🎉 better
pandas
support (#351 -> #409) - 🧯 Jupyter notebook fix (#352, #369 -> #373, #405)
- ⚡ optimise
setcheckinterval
/setswitchinterval
(#376) - 🎉 add
unit_scale
(#273, #295 -> #378)
v4.14.0 (2017-07-29)
v4.13.0 (2017-05-29)
- 🎉 support unknown systems warner/magic-wormhole#158, #76, #344 -> #390
- 🎉 support nested/multi-bars better #384, #285, #329 -> #385
- 🔨 ease redirection of output (default:
sys.stderr
->None
) xonsh/xonsh#2058, #329, #275 -> #293 - 📘 minor documentation updates
v4.12.0 (2017-05-29)
v4.11.2 (2017-01-24)
- ⛑ thread safety #332
- 🔨 address
DeprecationWarning
#319 -> #326 - 🔨 version extra #328 -> #330
- security fix (CVE-2016-10075)
- add non-master branch name
- ⛑ minor safety
- 📘 minor documentation and comments
v4.11.1 (2017-01-23)
Officially support Python 3.6, addressing #333
v4.11.0 (2017-01-12)
- 🎉
postfix
argument added #266->#270 - 🧯 fix tests for
- 📘
7z
extraction example script - 📘 new logo #315
- 📘 hit counter with logo colours and stats
- 📘 documentation updates
- ⛑ safer
setup.py
Makefile
emulation - 📘 better github contributions integrations and Code of Conduct #310
v4.10.0 (2016-11-12)
- 🧯 fix maxinterval to adjust miniters to mininterval #249
- 🧯 minor bugfixes (eg #288)
- ⚡ misc optimisations, unit tests, and benchmarks (eg #298)
- 📘 documentation updates
v4.9.0 (2016-10-31)
- 🔨 monitoring thread to automatically to adjust
miniters
and avoid exceedingmaxinterval
- test race conditions
- kill on KeyboardInterrupt + instant refresh
- low performance overhead, option to disable
- 🎉 new CLI argument:
--bytes
to count chars - 🔨 disable automatically on non-TTY (#281)
- 🧯 fixed
refresh()
andclear()
if disabled (#286) - 🧯 misc fixes
- 📘 documentation
- 🔍 unit tests
- ⚡ optimisations, style fixes
- 📘 codacy badge
- ⚠️ safety and warning suppression
- 🔨 ignore coverall failures (#283)
- 🧯 fix broken link in README (#262)
- ⚡ Fix
time()
inrefresh()
+ avoidwrite()
races (#264) - 🧯 Fix
__repr__()
#269 - 🧯 Fix
update(0)
causingZeroDivisionError
(on first call) #268 - 🔍 Faster simple bar for perf test (#257)
- 🔨 cleaner
tqdm_notebook
exit when not run in a notebook (#267) - 🔨 Disable coveralls because of duplicate comments on github (#263)
- 🔨 Migrate codecov config -> codecov.yml
v4.8.4 (2016-08-17)
- ⚡ 14% overhead reduction
- 🧯 fix exception when closing
tqdm_notebook
without atotal
- 🎉 support more pandas modules
- pandas.Series.progress_map
- pandas.DataFrame.progress_applymap
- Panel.progress_apply
- PanelGroupBy.progress_apply
- GroupBy.progress_aggregate
- GroupBy.progress_transform
- 🛠 faster CI builds
- 📘 misc documentation update and link to wiki
v4.8.1 (2016-07-25)
- ⚠️ custom tqdm warning/exceptions
- 🔍 tests now multiprocessed and include pandas
v4.8.0 (2016-07-25)
- ⚠️
tqdm.pandas
classmethod replacestqdm_pandas
function (deprecated) - 🧯
ipython
aliased imports fixes - 🔨
write
without any instances - 📘 readme update
- 📘 examples update
- 🧯 test fixes and updates
v4.7.6 (2016-06-30)
- 🎉 support for pandas series
- 🎉 support for numpy arrays
- 🧹 tidy & coverage
v4.7.4 (2016-06-04)
- 🎉
pandas.DataFrame.apply
support - 🔨
tqdm_notebook.write()
- 🔨
tqdm_gui.write()
- 🧯 misc notebook fixes
- ⚡ delay notebook imports (>80% reduction in import time when unused)
- 🔨 optional
colorama
only on windows - 🧹 documentation tidy
- 🔍 more & faster tests
v4.7.0 (2016-05-15)
- 🎉 CLI custom delimiter support
- 🔨 More robust CLI argument parsing
- either one or two
-
preceding kwargs (eg-ascii
or--ascii
) - no positional args (so no need to quote multi-word
-desc
for example) bool
kwargs with implicit value=True
still supported- optional
=
sign after kwargs
- either one or two
- 🔍 tests
- 📘 doc updates, badges
- pyversions, doi, licence, github
v4.6.2 (2016-05-15)
- 🧯 Fix warnings due to IPython/Jupyter widget
v4.6.1 (2016-05-15)
- 🎉 add IPython/Jupyter support
- 🧯 fix
{bar}
length breaking display when using custombar_format
- 🎉 add a no inversion rate formatting for
bar_format
(i.e., always showit/s
and nevers/it
)
v4.5.0 (2016-04-25)
- 🔨 print messages within (nested) loops using
tqdm.write(...)
v4.4.3 (2016-04-24)
- 🧹 remove
docopt
dependency for CLI - 🎉 re-added
update(0)
ability to trigger refresh - 🧯 minor fixes
- re-added (OSI approved) licence to source
- dev versioning auto-fallback
- ⚡ slight speed optimisation
- 🔍 tests
- 📘 documentation
v4.4.1 (2016-04-22)
- 🔨 Module execution in CLI pipes!
tqdm
executable- documentation
- tests
- 🔨 MSYS aded to supported envs
- 🎉 better VTE support
- 🔨 dev versioning
- 🔍 tests
v4.2.0 (2016-04-22)
- 📘 MPL licence!
- 📘 slightly updated logo
- 📘 update examples
- 🔨
update(0)
allowed - 🎉 better VTE support
- ascii fallback when unicode not available
v4.0.0 (2016-02-04)
- 🔨 automate
nested
- deprecate
nested
- add manual override control with
position
- deprecate
- 📘 documentation and example updates, coverage and tests
- 🔨 make
leave==True
by default (wasFalse
)
v3.8.0 (2016-01-31)
- 🔨 update(n<1) raises error
- 📘 sanitise and update examples and README
- 🧯 fix setup.py encoding error
- 🧹 remove py32 from Travis
- 📘 changelog more accessible from README
v3.7.1 (2016-01-13)
- 🎉 Added more OS support (FreeBSD, Solaris/SunOS)
- 🔍 Added Python3.5 support and tests
- 🎉 Added IronPython2.7 support
- 🧯 Fix Makefile management for Python3
- 🔍 Added relative timing for tests
- 🔨 More stable smoothed ETA
- ⚒ Refactoring everything into one big
tqdm
class for even more subclassing fun
v3.6.0 (2015-12-31)
Added support for "restarting" a progressbar after a long pause without making the iteration rate go haywire. Simply call the unpause()
method on the tqdm
instance that is about to be restarted. Can also start tqdm
skipping a number of steps specified by initial
(without bias-ing ETA).
v3.5.0 (2015-12-31)
- 🔨 Fully customisable output format using the
bar_format
keyword argument.- Valid strings: bar, n, n_fmt, total, total_fmt, percentage, rate, rate_fmt, elapsed, remaining, l_bar, r_bar, desc
- Example:
bar_format='{desc}{bar}{rate:03.3d}'
- Default: '{l_bar}{bar}{r_bar}', where l_bar is '{desc}{percentage:3.0f}%|' and r_bar is '| {n_fmt}/{total_fmt} [{elapsed_str}<{remaining_str}, {rate_fmt}]'.
- 🎉 Solaris, FreeBSD support mentioned
- 🔨 Link redirects circumvented
v3.3.0 (2015-12-31)
- 🎉 Support added for pandas
apply
=>progress_apply
- 🔨 80-char width when running interactive
help()
- 📘 update examples using
with
syntax
v3.1.4 (2015-11-28)
Added smoothing
and maxinterval
features for smooth progress bar and rate for unconstant, variable changes in update times, and abstracted gui to its own class and file.
Also added a performance test to prevent performance regressions.
v2.2.4 (2015-11-08)
Added the dynamic management of the bar on window resize, plus a better internal testing/build workflow using python setup.py make [alias]
.
v2.0.0 (2015-10-11)
First public release of the next generation of tqdm, with lots of new features, more speed, more unit testing, more coverage (100% yeah!), more beer and coffee.
This release can also be downloaded on PyPi here.